From 1e8b5c4646f263a87bd6653be354e9b5171db7fc Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 13 May 2026 09:49:47 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../consumer/prescription/order_list.vue | 34 ++++- .../lists/tcm/PrescriptionOrderLists.php | 116 ++++++++++++++++++ server/app/command/ExpressAutoUpdate.php | 2 +- .../app/command/GancaoSyncLogisticsRoute.php | 2 +- .../common/service/ExpressTrackingService.php | 88 ++++++++++--- 5 files changed, 220 insertions(+), 22 deletions(-) diff --git a/admin/src/views/consumer/prescription/order_list.vue b/admin/src/views/consumer/prescription/order_list.vue index 76e2ea4d..a408d6ea 100644 --- a/admin/src/views/consumer/prescription/order_list.vue +++ b/admin/src/views/consumer/prescription/order_list.vue @@ -426,7 +426,37 @@ - + + + + +
+

{{ props.exportHint }}

预计导出{{ exportData.count }}条数据, 共{{ exportData.sum_page }}页,每页{{ @@ -79,6 +80,11 @@ const props = defineProps({ fetchFun: { type: Function, required: true + }, + /** 可选:导出弹窗内提示文案(如说明与列表筛选一致) */ + exportHint: { + type: String, + default: '' } }) const popupRef = shallowRef>() diff --git a/admin/src/views/consumer/prescription/guahao.vue b/admin/src/views/consumer/prescription/guahao.vue new file mode 100644 index 00000000..3fda27f4 --- /dev/null +++ b/admin/src/views/consumer/prescription/guahao.vue @@ -0,0 +1,397 @@ + + + diff --git a/admin/src/views/consumer/prescription/order_list.vue b/admin/src/views/consumer/prescription/order_list.vue index a408d6ea..4abc7a76 100644 --- a/admin/src/views/consumer/prescription/order_list.vue +++ b/admin/src/views/consumer/prescription/order_list.vue @@ -266,6 +266,14 @@ 查询 重置 + @@ -2505,6 +2513,7 @@ import { prescriptionOrderDetail, prescriptionOrderEdit, prescriptionOrderLists, + prescriptionOrderExport, prescriptionOrderPaidPayOrders, prescriptionOrderWithdraw, prescriptionOrderLogisticsTrace, @@ -2853,21 +2862,35 @@ function handleFocusBoardSearch(key: 'pendingRx' | 'pendingPay' | 'pendingShip' resetPage() } -async function fetchLists(params: Record) { +function normalizePrescriptionOrderListQuery(params: Record): Record { const p: Record = { ...params } if (p.prescription_id === '' || p.prescription_id === undefined) { delete p.prescription_id } else { p.prescription_id = Number(p.prescription_id) } - if (p.fulfillment_status === '' || p.fulfillment_status === undefined) { + if (p.fulfillment_status === '' || p.fulfillment_status === undefined || p.fulfillment_status === null) { delete p.fulfillment_status + } else { + p.fulfillment_status = Number(p.fulfillment_status) } - if (p.prescription_audit_status === '' || p.prescription_audit_status === undefined) { + if ( + p.prescription_audit_status === '' || + p.prescription_audit_status === undefined || + p.prescription_audit_status === null + ) { delete p.prescription_audit_status + } else { + p.prescription_audit_status = Number(p.prescription_audit_status) } - if (p.payment_slip_audit_status === '' || p.payment_slip_audit_status === undefined) { + if ( + p.payment_slip_audit_status === '' || + p.payment_slip_audit_status === undefined || + p.payment_slip_audit_status === null + ) { delete p.payment_slip_audit_status + } else { + p.payment_slip_audit_status = Number(p.payment_slip_audit_status) } if (!p.supply_mode || p.supply_mode === '') { delete p.supply_mode @@ -2896,7 +2919,6 @@ async function fetchLists(params: Record) { delete p.start_time delete p.end_time } else { - // 当前页面按“日”筛选:请求接口时展开为整天区间,避免结束日只落在 00:00:00。 const st = String(p.start_time || '').trim() const et = String(p.end_time || '').trim() if (/^\d{4}-\d{2}-\d{2}$/.test(st) && /^\d{4}-\d{2}-\d{2}$/.test(et)) { @@ -2904,9 +2926,16 @@ async function fetchLists(params: Record) { p.end_time = `${et} 23:59:59` } } + return p +} + +async function fetchLists(params: Record) { + const p = normalizePrescriptionOrderListQuery({ ...params }) return prescriptionOrderLists(p) } +const prescriptionOrderExportParams = computed(() => normalizePrescriptionOrderListQuery({ ...queryParams })) + const { pager, getLists, resetPage, resetParams } = usePaging({ fetchFun: fetchLists, params: queryParams @@ -4435,6 +4464,61 @@ async function testGancaoPreviewFromDetail() { if (d && d.success) { gancaoPreviewData.value = d gancaoPreviewDrawerVisible.value = true + + // 将价格信息「总计」(药材成本 + 制作费 + 物流费) 写入 internal_cost(需财务字段权限,与后台 canViewInternalCost 一致) + if (canViewFinanceFields() && d.fee) { + const internalTotal = calculateTotalFee(d.fee) + try { + const resDetail: any = await prescriptionOrderDetail({ id: detailData.value.id }) + const od = resDetail?.data ?? resDetail + if (od?.id) { + const pkgRaw = od.service_package + const servicePackageStr = Array.isArray(pkgRaw) + ? pkgRaw.join(',') + : String(pkgRaw || '') + await prescriptionOrderEdit({ + id: od.id, + recipient_name: od.recipient_name || '', + recipient_phone: od.recipient_phone || '', + shipping_province: od.shipping_province || '', + shipping_city: od.shipping_city || '', + shipping_district: od.shipping_district || '', + shipping_address: od.shipping_address || '', + is_follow_up: od.is_follow_up ? 1 : 0, + medication_days: + od.medication_days != null && String(od.medication_days).trim() !== '' + ? od.medication_days + : '', + dose_unit: od.dose_unit || '剂', + dose_count: od.dose_count > 0 ? od.dose_count : 1, + prev_staff: od.prev_staff || '', + service_channel: od.service_channel || '', + service_package: servicePackageStr, + express_company: od.express_company || 'auto', + tracking_number: od.tracking_number || '', + fee_type: Number(od.fee_type) || 3, + amount: Number(od.amount) || 0, + remark_extra: od.remark_extra || '', + remark_assistant: od.remark_assistant || '', + internal_cost: internalTotal, + pay_order_ids: Array.isArray(od.pay_order_ids) ? od.pay_order_ids : [] + }) + feedback.msgSuccess('内部成本已按预报价总计更新') + getLists() + if (detailVisible.value && Number(detailData.value?.id) === Number(od.id)) { + try { + const r: any = await prescriptionOrderDetail({ id: od.id }) + const nd = r?.data ?? r ?? null + if (nd) detailData.value = nd + } catch { + detailData.value = { ...detailData.value, internal_cost: internalTotal } + } + } + } + } catch { + /* 拦截器已提示;仍保留抽屉中的预报价结果 */ + } + } //feedback.msgSuccess('预下单测试成功') } else { // feedback.msgError(d?.error || '预下单失败') diff --git a/admin/src/views/tcm/diagnosis/appointment.vue b/admin/src/views/tcm/diagnosis/appointment.vue index 9d354c1e..2f245d51 100644 --- a/admin/src/views/tcm/diagnosis/appointment.vue +++ b/admin/src/views/tcm/diagnosis/appointment.vue @@ -53,7 +53,7 @@ > @@ -470,7 +470,11 @@ const loadChannelOptions = async () => { if (ds !== 0) return ds return Number(b?.id ?? 0) - Number(a?.id ?? 0) }) - channelOptions.value = rows + // 统一为字符串,避免字典 value 为数字时 el-select 与表单校验不一致导致看似选了但实际未绑定 + channelOptions.value = rows.map((row: any) => ({ + ...row, + value: row?.value != null && row.value !== '' ? String(row.value) : '' + })) } catch (e) { console.error('加载渠道来源失败:', e) channelOptions.value = [] @@ -693,7 +697,7 @@ const handleConfirm = async () => { appointment_time: form.appointmentTime, appointment_type: form.appointmentType, remark: form.remark, - channel_source: form.channel_source, + channel_source: String(form.channel_source ?? ''), channel_source_detail: form.channel_source_detail.trim() } diff --git a/server/app/adminapi/controller/doctor/AppointmentController.php b/server/app/adminapi/controller/doctor/AppointmentController.php index a7b4abbe..8d0790a7 100644 --- a/server/app/adminapi/controller/doctor/AppointmentController.php +++ b/server/app/adminapi/controller/doctor/AppointmentController.php @@ -64,6 +64,24 @@ class AppointmentController extends BaseAdminController return $this->dataLists(new AppointmentLists()); } + /** + * 后台编辑挂号记录(消费者处方-挂号列表等,perms: doctor.appointment/edit) + */ + public function edit() + { + $params = (new AppointmentValidate())->post()->goCheck('adminEdit'); + $post = $this->request->post(); + if (array_key_exists('assistant_id', $post)) { + $params['assistant_id'] = $post['assistant_id']; + } + $result = AppointmentLogic::adminEdit($params, $this->adminId, $this->adminInfo); + if ($result === false) { + return $this->fail(AppointmentLogic::getError()); + } + + return $this->success('保存成功'); + } + /** * @notes 预约详情 * @return \think\response\Json diff --git a/server/app/adminapi/controller/tcm/PrescriptionOrderController.php b/server/app/adminapi/controller/tcm/PrescriptionOrderController.php index c833475b..9c8c7b6d 100644 --- a/server/app/adminapi/controller/tcm/PrescriptionOrderController.php +++ b/server/app/adminapi/controller/tcm/PrescriptionOrderController.php @@ -20,6 +20,14 @@ class PrescriptionOrderController extends BaseAdminController return $this->dataLists(new PrescriptionOrderLists()); } + /** + * 处方业务订单导出(与 lists 相同筛选条件,Excel;参数 export=1 预估 export=2 下载) + */ + public function export() + { + return $this->dataLists(new PrescriptionOrderLists()); + } + /** * 指定诊单下可关联的支付单(待支付/已支付,创建/编辑业务订单时多选关联) */ diff --git a/server/app/adminapi/lists/BaseAdminDataLists.php b/server/app/adminapi/lists/BaseAdminDataLists.php index bf5b1b05..1363380c 100644 --- a/server/app/adminapi/lists/BaseAdminDataLists.php +++ b/server/app/adminapi/lists/BaseAdminDataLists.php @@ -28,12 +28,9 @@ abstract class BaseAdminDataLists extends BaseDataLists protected array $adminInfo; protected int $adminId; - public function __construct() + protected function initAdminIdentity(): void { - parent::__construct(); $this->adminInfo = $this->request->adminInfo; $this->adminId = $this->request->adminId; } - - } \ No newline at end of file diff --git a/server/app/adminapi/lists/doctor/AppointmentLists.php b/server/app/adminapi/lists/doctor/AppointmentLists.php index e2e561bd..924318ae 100644 --- a/server/app/adminapi/lists/doctor/AppointmentLists.php +++ b/server/app/adminapi/lists/doctor/AppointmentLists.php @@ -7,6 +7,7 @@ use app\common\model\DiagnosisViewRecord; use app\common\model\doctor\Appointment; use app\common\model\tcm\Prescription; use app\common\model\auth\AdminRole; +use app\common\model\dict\DictData; use app\common\lists\ListsExtendInterface; use app\common\lists\ListsSearchInterface; use app\common\lists\Traits\HasDataScopeFilter; @@ -122,7 +123,7 @@ class AppointmentLists extends BaseAdminDataLists implements ListsSearchInterfac ->leftJoin('tcm_diagnosis u', 'a.patient_id = u.id') ->leftJoin('admin ad', 'a.doctor_id = ad.id') ->leftJoin('admin asst', 'u.assistant_id = asst.id') - ->field('a.*, u.patient_name as patient_name, u.phone as patient_phone, u.gender as gender, u.age as age, u.weight as weight, u.height as height, u.assistant_id as assistant_id, ad.name as doctor_name, asst.name as assistant_name, u.id as diagnosis_id'); + ->field('a.*, u.patient_name as patient_name, u.phone as patient_phone, u.gender as gender, u.age as age, u.weight as weight, u.height as height, u.assistant_id as assistant_id, ad.name as doctor_name, asst.name as assistant_name, u.id as diagnosis_id, a.assistant_id as appointment_assistant_id'); if ($this->searchWhere !== []) { $query->where($this->searchWhere); } @@ -212,6 +213,9 @@ class AppointmentLists extends BaseAdminDataLists implements ListsSearchInterfac } } } + + $channelNameByValue = DictData::where('type_value', 'channels')->column('name', 'value'); + foreach ($lists as &$item) { $statusMap = [ 1 => '已预约', @@ -228,6 +232,24 @@ class AppointmentLists extends BaseAdminDataLists implements ListsSearchInterfac ]; $item['appointment_type_desc'] = $typeMap[$item['appointment_type']] ?? '未知'; + $periodRaw = (string) ($item['period'] ?? ($item['type'] ?? '')); + $periodMap = [ + 'morning' => '上午', + 'afternoon' => '下午', + 'all' => '全天', + ]; + $item['period_desc'] = $periodMap[$periodRaw] ?? ($periodRaw !== '' ? $periodRaw : '—'); + + $srcKey = trim((string) ($item['channel_source'] ?? '')); + if ($srcKey === '' && isset($item['channels']) && $item['channels'] !== '' && $item['channels'] !== null) { + $srcKey = trim((string) $item['channels']); + } + if ($srcKey !== '') { + $item['channel_source_desc'] = (string) ($channelNameByValue[$srcKey] ?? $channelNameByValue[(string) (int) $srcKey] ?? $srcKey); + } else { + $item['channel_source_desc'] = '—'; + } + $item['diagnosis_confirmed'] = isset($confirmedMap[$item['diagnosis_id'] ?? 0]) ? 1 : 0; $item['has_prescription'] = isset($prescribedDiagnosisIds[$item['diagnosis_id'] ?? 0]) ? 1 : 0; diff --git a/server/app/adminapi/lists/tcm/PrescriptionOrderLists.php b/server/app/adminapi/lists/tcm/PrescriptionOrderLists.php index f340764f..280ae4d3 100644 --- a/server/app/adminapi/lists/tcm/PrescriptionOrderLists.php +++ b/server/app/adminapi/lists/tcm/PrescriptionOrderLists.php @@ -8,6 +8,8 @@ use app\adminapi\lists\BaseAdminDataLists; use app\adminapi\logic\dept\DeptLogic; use app\adminapi\logic\stats\YejiStatsLogic; use app\adminapi\logic\tcm\PrescriptionOrderLogic; +use app\common\enum\ExportEnum; +use app\common\lists\ListsExcelInterface; use app\common\lists\ListsExtendInterface; use app\common\lists\ListsSearchInterface; use app\common\lists\Traits\HasDataScopeFilter; @@ -23,7 +25,7 @@ use think\facade\Config; use think\facade\Db; use think\db\Query; -class PrescriptionOrderLists extends BaseAdminDataLists implements ListsSearchInterface, ListsExtendInterface +class PrescriptionOrderLists extends BaseAdminDataLists implements ListsSearchInterface, ListsExtendInterface, ListsExcelInterface { use HasDataScopeFilter; @@ -558,6 +560,10 @@ class PrescriptionOrderLists extends BaseAdminDataLists implements ListsSearchIn PrescriptionOrderLogic::appendLinkedAppointmentsToListRows($lists, $this->params); } + if ((int) $this->export === ExportEnum::EXPORT) { + PrescriptionOrderLogic::appendPrescriptionOrderListExportRows($lists, $this->adminInfo); + } + return $lists; } @@ -601,6 +607,39 @@ class PrescriptionOrderLists extends BaseAdminDataLists implements ListsSearchIn return $base; } + public function setFileName(): string + { + return '处方业务订单'; + } + + public function setExcelFields(): array + { + return [ + 'export_fulfillment_status_text' => '履约状态', + 'export_order_time' => '创建时间', + 'doctor_name' => '医生姓名', + 'export_patient_name' => '患者姓名', + 'export_patient_gender' => '性别', + 'export_patient_age' => '年龄', + 'export_patient_phone' => '手机号', + 'assistant_name' => '医助名字', + 'export_center_label' => '一中心还是二中心', + 'export_assistant_dept' => '医助部门', + 'export_channel' => '渠道', + 'export_medication_form' => '药品形态', + 'export_medication_days' => '天数', + 'export_amount' => '总金额', + 'export_paid_amount' => '已付金额', + 'export_agency_collect' => '代收金额', + 'export_tracking_number' => '快递单号', + 'export_supply_mode' => '甘草还是自营', + 'export_gancao_prescription_cost' => '处方成本', + 'export_first_visit_assistant' => '初诊医助', + 'export_rx_audit_time' => '审核时间', + 'export_rx_auditor' => '审核人', + ]; + } + /** * 业绩看板侧栏专用:约诊/接诊条数,与 YejiStatsLogic::applyConsultFiltersAlignedWithAppointmentLists 同口径 * (doctor_appointment.status=3,appointment_date 落入区间,有效医助 COALESCE(挂号.assistant_id,诊单.assistant_id))。 diff --git a/server/app/adminapi/logic/doctor/AppointmentLogic.php b/server/app/adminapi/logic/doctor/AppointmentLogic.php index f7219d95..9de7e49b 100644 --- a/server/app/adminapi/logic/doctor/AppointmentLogic.php +++ b/server/app/adminapi/logic/doctor/AppointmentLogic.php @@ -9,6 +9,8 @@ use app\common\service\doctor\RosterSegmentService; use app\common\model\tcm\Diagnosis; use app\common\model\tcm\DiagnosisGuahaoLog; use app\common\model\auth\Admin; +use app\common\model\auth\AdminRole; +use app\common\service\DataScope\DataScopeService; use app\api\logic\ChatNotifyLogic; use app\adminapi\logic\tcm\PrescriptionLogic; use app\adminapi\logic\tcm\DiagnosisLogic; @@ -42,6 +44,61 @@ class AppointmentLogic extends BaseLogic return in_array($name, self::CHANNEL_NAMES_REQUIRING_SOURCE_DETAIL, true); } + /** + * @param array $cols Db::name('doctor_appointment')->getTableFields() + */ + private static function assertAppointmentChannelWritable(array $cols, string $chSrc): ?string + { + $hasChannelSource = in_array('channel_source', $cols, true); + $hasChannels = in_array('channels', $cols, true); + if (!$hasChannelSource && !$hasChannels) { + return '挂号表缺少渠道字段(channel_source 或 channels),无法保存渠道来源'; + } + if (!$hasChannelSource && $hasChannels && $chSrc !== '' && !is_numeric($chSrc)) { + return '当前挂号表仅有数值型渠道字段 channels,无法写入该渠道;请在数据库增加 channel_source 列'; + } + + return null; + } + + /** + * @param array $row + * @param array $cols + */ + private static function mergeAppointmentChannelIntoRow(array &$row, array $cols, string $chSrc, string $chDetail): void + { + $hasChannelSource = in_array('channel_source', $cols, true); + $hasChannelDetail = in_array('channel_source_detail', $cols, true); + $hasChannels = in_array('channels', $cols, true); + if ($hasChannelSource) { + $row['channel_source'] = $chSrc; + } + if ($hasChannelDetail) { + $row['channel_source_detail'] = $chDetail; + } + if ($hasChannels && is_numeric($chSrc)) { + $row['channels'] = (int) $chSrc; + } + } + + /** + * @param array $row + * @param array $cols + * + * @return array + */ + private static function filterAppointmentRowByExistingColumns(array $row, array $cols): array + { + $out = []; + foreach ($row as $k => $v) { + if (in_array((string) $k, $cols, true)) { + $out[$k] = $v; + } + } + + return $out; + } + /** * @notes 获取可用时间段 * @param array $params @@ -262,25 +319,49 @@ class AppointmentLogic extends BaseLogic } } - $data = [ - 'patient_id' => $params['patient_id'], - 'assistant_id'=>$params['assistant_id'], - 'doctor_id' => $params['doctor_id'], - 'roster_id' => 0, // 不再关联排班表 + $cols = Db::name('doctor_appointment')->getTableFields(); + $cols = is_array($cols) ? $cols : []; + $channelErr = self::assertAppointmentChannelWritable($cols, $chSrc); + if ($channelErr !== null) { + self::setError($channelErr); + Db::rollback(); + + return false; + } + + $insert = [ + 'patient_id' => (int) $params['patient_id'], + 'doctor_id' => (int) $params['doctor_id'], 'appointment_date' => $params['appointment_date'], - 'period' => $params['period'] ?? 'all', 'appointment_time' => $appointmentTime, 'appointment_type' => $params['appointment_type'] ?? 'video', 'remark' => $params['remark'] ?? '', - // 表字段为 channel_source(与字典 type_value=channels 的 value 一致);勿再写入不存在的 channels 列 - 'channel_source' => $chSrc, - 'channel_source_detail' => $chDetail, 'status' => 1, 'create_time' => time(), 'update_time' => time(), ]; + if (in_array('roster_id', $cols, true)) { + $insert['roster_id'] = 0; + } + if (in_array('assistant_id', $cols, true)) { + $insert['assistant_id'] = (int) ($params['assistant_id'] ?? 0); + } + $periodVal = $params['period'] ?? 'all'; + if (in_array('period', $cols, true)) { + $insert['period'] = $periodVal; + } elseif (in_array('type', $cols, true)) { + $insert['type'] = $periodVal; + } + self::mergeAppointmentChannelIntoRow($insert, $cols, $chSrc, $chDetail); - $appointment = Appointment::create($data); + $insert = self::filterAppointmentRowByExistingColumns($insert, $cols); + $newId = (int) Db::name('doctor_appointment')->insertGetId($insert); + if ($newId <= 0) { + self::setError('预约创建失败'); + Db::rollback(); + + return false; + } Db::commit(); @@ -288,21 +369,21 @@ class AppointmentLogic extends BaseLogic $hm = substr((string) $appointmentTime, 0, 5); $summary = sprintf( '挂号 #%d:医生「%s」,%s %s', - (int) $appointment->id, + $newId, $doctorName !== '' ? $doctorName : ('ID:' . (int) $params['doctor_id']), (string) $params['appointment_date'], $hm ); self::appendDiagnosisGuahaoLog( (int) $params['patient_id'], - (int) $appointment->id, + $newId, $operatorAdminId, $operatorAdminInfo, 'create', $summary ); - return ['id' => $appointment->id]; + return ['id' => $newId]; } catch (\Exception $e) { Db::rollback(); self::setError($e->getMessage()); @@ -787,6 +868,244 @@ class AppointmentLogic extends BaseLogic } } + /** + * 与 AppointmentLists 一致的可见性(不含 progress_board / diag_scope_relax) + */ + private static function appointmentRowManageableByAdmin( + Appointment $appointment, + ?Diagnosis $diag, + int $adminId, + array $adminInfo + ): bool { + $roleIds = array_map('intval', AdminRole::where('admin_id', $adminId)->column('role_id')); + + if (in_array(1, $roleIds, true) && (int) $appointment->doctor_id !== $adminId) { + return false; + } + if (in_array(2, $roleIds, true)) { + $asst = $diag ? (int) $diag->assistant_id : 0; + if ($asst !== $adminId) { + return false; + } + } + + if (!DataScopeService::isEnabled()) { + return true; + } + $ids = DataScopeService::getVisibleAdminIds($adminId, $adminInfo); + if ($ids === []) { + return false; + } + if ($ids === null) { + return true; + } + $docId = (int) $appointment->doctor_id; + $asstId = $diag ? (int) $diag->assistant_id : 0; + + return in_array($docId, $ids, true) + || ($asstId > 0 && in_array($asstId, $ids, true)); + } + + /** + * 后台编辑挂号(预约日期/时段/类型/状态/备注/医助) + * + * @param array $params + */ + public static function adminEdit(array $params, int $adminId, array $adminInfo): bool + { + try { + $id = (int) ($params['id'] ?? 0); + if ($id <= 0) { + self::setError('参数错误'); + + return false; + } + + $appointment = Appointment::findOrEmpty($id); + if ($appointment->isEmpty()) { + self::setError('预约记录不存在'); + + return false; + } + + $diag = Diagnosis::where('id', (int) $appointment->patient_id)->whereNull('delete_time')->find(); + + if (!self::appointmentRowManageableByAdmin($appointment, $diag ?: null, $adminId, $adminInfo)) { + self::setError('无权限编辑'); + + return false; + } + + $period = trim((string) ($params['period'] ?? '')); + if (!in_array($period, ['morning', 'afternoon', 'all'], true)) { + self::setError('时段无效'); + + return false; + } + + $appointmentDate = trim((string) ($params['appointment_date'] ?? '')); + if ($appointmentDate === '') { + self::setError('预约日期不能为空'); + + return false; + } + + $rawTime = trim((string) ($params['appointment_time'] ?? '')); + if ($rawTime === '') { + self::setError('预约时间不能为空'); + + return false; + } + $appointmentTime = strlen($rawTime) === 5 ? $rawTime . ':00' : $rawTime; + + $status = (int) ($params['status'] ?? 0); + if ($status < 1 || $status > 4) { + self::setError('状态无效'); + + return false; + } + + $appointmentType = trim((string) ($params['appointment_type'] ?? '')); + if (!in_array($appointmentType, ['video', 'text', 'phone'], true)) { + self::setError('预约类型无效'); + + return false; + } + + $remark = isset($params['remark']) ? trim((string) $params['remark']) : ''; + if (mb_strlen($remark) > 500) { + self::setError('备注过长'); + + return false; + } + + $chSrc = trim((string) ($params['channel_source'] ?? '')); + if ($chSrc === '') { + self::setError('请选择渠道来源'); + + return false; + } + $chDetail = trim((string) ($params['channel_source_detail'] ?? '')); + $channelDictName = trim((string) (DictData::where('type_value', 'channels') + ->where('value', $chSrc) + ->value('name') ?? '')); + if ($channelDictName !== '' && self::channelDictNameRequiresSourceDetail($channelDictName)) { + if ($chDetail === '') { + self::setError('请填写自媒体渠道补充信息'); + + return false; + } + } + if (mb_strlen($chDetail) > 128) { + self::setError('渠道补充说明过长'); + + return false; + } + + $postAssistant = array_key_exists('assistant_id', $params); + $assistantId = null; + if ($postAssistant) { + $assistantRaw = $params['assistant_id']; + if ($assistantRaw !== null && $assistantRaw !== '') { + $aid = (int) $assistantRaw; + $assistantId = $aid > 0 ? $aid : null; + } + } + + $patientId = (int) $appointment->patient_id; + $doctorId = (int) $appointment->doctor_id; + + if (in_array($status, [1, 4], true)) { + $patientDup = Appointment::where('patient_id', $patientId) + ->where('appointment_date', $appointmentDate) + ->whereIn('status', [1, 4]) + ->where('id', '<>', $id) + ->find(); + if ($patientDup) { + self::setError('该诊单在所选日期已有其他有效挂号(已预约/已过号)'); + + return false; + } + } + + if ($status === 1) { + $slotDup = Appointment::where('doctor_id', $doctorId) + ->where('appointment_date', $appointmentDate) + ->where('appointment_time', $appointmentTime) + ->where('status', 1) + ->where('id', '<>', $id) + ->find(); + if ($slotDup) { + self::setError('该医生在所选时段已被占用'); + + return false; + } + } + + $beforeDate = (string) ($appointment->appointment_date ?? ''); + $beforeTimeRaw = (string) ($appointment->appointment_time ?? ''); + $beforeHm = strlen($beforeTimeRaw) >= 5 ? substr($beforeTimeRaw, 0, 5) : $beforeTimeRaw; + $snap = $appointment->toArray(); + $beforePeriod = (string) ($snap['period'] ?? $snap['type'] ?? ''); + $beforeStatus = (int) $appointment->status; + + $tblFields = Db::name('doctor_appointment')->getTableFields(); + $cols = is_array($tblFields) ? $tblFields : []; + $channelErr = self::assertAppointmentChannelWritable($cols, $chSrc); + if ($channelErr !== null) { + self::setError($channelErr); + + return false; + } + + Db::startTrans(); + + $saveData = [ + 'appointment_date' => $appointmentDate, + 'appointment_time' => $appointmentTime, + 'appointment_type' => $appointmentType, + 'status' => $status, + 'remark' => $remark, + 'update_time' => time(), + ]; + if (in_array('assistant_id', $cols, true) && $postAssistant) { + $saveData['assistant_id'] = $assistantId; + } + if (in_array('period', $cols, true)) { + $saveData['period'] = $period; + } elseif (in_array('type', $cols, true)) { + $saveData['type'] = $period; + } + self::mergeAppointmentChannelIntoRow($saveData, $cols, $chSrc, $chDetail); + + Db::name('doctor_appointment')->where('id', $id)->update($saveData); + + Db::commit(); + + $hm = substr($appointmentTime, 0, 5); + $summary = sprintf( + '后台修改挂号 #%d:日期 %s %s→%s %s,时段 %s→%s,状态 %d→%d', + $id, + $beforeDate, + $beforeHm, + $appointmentDate, + $hm, + $beforePeriod !== '' ? $beforePeriod : '—', + $period, + $beforeStatus, + $status + ); + self::appendDiagnosisGuahaoLog($patientId, $id, $adminId, $adminInfo, 'admin_edit', $summary); + + return true; + } catch (\Throwable $e) { + Db::rollback(); + self::setError($e->getMessage()); + + return false; + } + } + /** * 诊单列表维度:记录谁在后台发起挂号 / 取消挂号(写入失败不影响主流程) */ diff --git a/server/app/adminapi/logic/tcm/PrescriptionOrderLogic.php b/server/app/adminapi/logic/tcm/PrescriptionOrderLogic.php index bc43ed9d..3a52c1a5 100644 --- a/server/app/adminapi/logic/tcm/PrescriptionOrderLogic.php +++ b/server/app/adminapi/logic/tcm/PrescriptionOrderLogic.php @@ -2424,7 +2424,7 @@ class PrescriptionOrderLogic return $out; } - private static function fulfillmentStatusLabel(int $fs): string + public static function fulfillmentStatusLabel(int $fs): string { $m = [ 1 => '待双审通过', @@ -2444,6 +2444,209 @@ class PrescriptionOrderLogic return $m[$fs] ?? ('状态' . (string) $fs); } + /** + * 导出用:诊单医助在 admin_dept 中的部门路径(多部门「;」、路径内「 / 」) + */ + public static function formatAssistantDeptPathForExport(int $assistantAdminId): string + { + if ($assistantAdminId <= 0) { + return ''; + } + $deptIds = Db::name('admin_dept')->where('admin_id', $assistantAdminId)->column('dept_id'); + $pathSegments = []; + foreach ($deptIds as $did) { + $p = self::buildDeptPath((int) $did); + if ($p !== '') { + $pathSegments[] = $p; + } + } + $pathSegments = array_values(array_unique($pathSegments)); + + return $pathSegments === [] ? '' : implode(';', $pathSegments); + } + + /** + * 导出用:药品形态(丸剂 / 饮片+代煎|自煎等) + * + * @param array $rx + */ + public static function formatMedicationFormForExport(array $rx): string + { + $type = trim((string) ($rx['prescription_type'] ?? '')); + if ($type === '') { + return ''; + } + if ($type === '饮片') { + $nd = (int) ($rx['need_decoction'] ?? 0); + + return $type . ($nd === 1 ? '(代煎)' : '(自煎)'); + } + + return $type; + } + + /** + * 业务订单列表导出:写入与 PrescriptionOrderLists::setExcelFields 对应的字段(export=2 时由列表类调用) + * + * @param array> $lists + */ + public static function appendPrescriptionOrderListExportRows(array &$lists, array $adminInfo): void + { + if ($lists === []) { + return; + } + $diagIds = []; + $rxIds = []; + $poIds = []; + foreach ($lists as $row) { + $poIds[] = (int) ($row['id'] ?? 0); + $d = (int) ($row['diagnosis_id'] ?? 0); + if ($d > 0) { + $diagIds[$d] = true; + } + $r = (int) ($row['prescription_id'] ?? 0); + if ($r > 0) { + $rxIds[$r] = true; + } + } + $poIds = array_values(array_filter(array_unique($poIds), static fn (int $id): bool => $id > 0)); + $diagIdList = array_keys($diagIds); + $rxIdList = array_keys($rxIds); + + $diagById = []; + if ($diagIdList !== []) { + $diagRows = Diagnosis::whereIn('id', $diagIdList)->whereNull('delete_time') + ->field(['id', 'patient_name', 'gender', 'age', 'phone', 'assistant_id']) + ->select() + ->toArray(); + foreach ($diagRows as $dr) { + $diagById[(int) $dr['id']] = $dr; + } + } + + $rxById = []; + if ($rxIdList !== []) { + $rxRows = Prescription::whereIn('id', $rxIdList)->whereNull('delete_time') + ->field(['id', 'prescription_type', 'need_decoction', 'dose_unit']) + ->select() + ->toArray(); + foreach ($rxRows as $xr) { + $rxById[(int) $xr['id']] = $xr; + } + } + + $logRows = PrescriptionOrderLog::whereIn('prescription_order_id', $poIds) + ->whereIn('action', ['audit_rx_approve', 'audit_rx_reject', 'revoke_rx_audit']) + ->field(['prescription_order_id', 'id', 'action', 'admin_name', 'create_time']) + ->order('id', 'asc') + ->select() + ->toArray(); + $auditEffectiveByPo = []; + foreach ($logRows as $lg) { + $pid = (int) ($lg['prescription_order_id'] ?? 0); + if ($pid <= 0) { + continue; + } + $act = (string) ($lg['action'] ?? ''); + if ($act === 'revoke_rx_audit') { + $auditEffectiveByPo[$pid] = null; + continue; + } + if ($act === 'audit_rx_approve' || $act === 'audit_rx_reject') { + $auditEffectiveByPo[$pid] = $lg; + } + } + + $assistantDeptCache = []; + + foreach ($lists as &$item) { + $poId = (int) ($item['id'] ?? 0); + $fs = (int) ($item['fulfillment_status'] ?? 0); + $item['export_fulfillment_status_text'] = self::fulfillmentStatusLabel($fs); + $ct = (int) ($item['create_time'] ?? 0); + $item['export_order_time'] = $ct > 0 ? date('Y-m-d H:i:s', $ct) : ''; + + $diagId = (int) ($item['diagnosis_id'] ?? 0); + $dg = $diagById[$diagId] ?? null; + $item['export_patient_name'] = \is_array($dg) ? (string) ($dg['patient_name'] ?? '') : ''; + if (\is_array($dg)) { + $g = (int) ($dg['gender'] ?? 0); + $item['export_patient_gender'] = $g === 1 ? '男' : '女'; + $item['export_patient_age'] = (string) ($dg['age'] ?? ''); + $item['export_patient_phone'] = (string) ($dg['phone'] ?? ''); + $astId = (int) ($dg['assistant_id'] ?? 0); + if ($astId > 0) { + if (!isset($assistantDeptCache[$astId])) { + $assistantDeptCache[$astId] = self::formatAssistantDeptPathForExport($astId); + } + $item['export_assistant_dept'] = $assistantDeptCache[$astId]; + } else { + $item['export_assistant_dept'] = ''; + } + } else { + $item['export_patient_gender'] = ''; + $item['export_patient_age'] = ''; + $item['export_patient_phone'] = ''; + $item['export_assistant_dept'] = ''; + } + + $rxId = (int) ($item['prescription_id'] ?? 0); + $rx = $rxById[$rxId] ?? []; + $item['export_medication_form'] = self::formatMedicationFormForExport(\is_array($rx) ? $rx : []); + + $item['export_channel'] = (string) ($item['service_channel'] ?? ''); + $md = $item['medication_days'] ?? null; + $item['export_medication_days'] = $md !== null && $md !== '' ? (string) $md : ''; + + $amt = round((float) ($item['amount'] ?? 0), 2); + $paid = round((float) ($item['linked_pay_paid_total'] ?? 0), 2); + $item['export_amount'] = number_format($amt, 2, '.', ''); + $item['export_paid_amount'] = number_format($paid, 2, '.', ''); + $item['export_agency_collect'] = number_format(round($amt - $paid, 2), 2, '.', ''); + + $item['export_tracking_number'] = (string) ($item['tracking_number'] ?? ''); + $isGc = trim((string) ($item['gancao_reciperl_order_no'] ?? '')) !== ''; + $item['export_supply_mode'] = $isGc ? '甘草' : '自营'; + // 「处方成本」列:与列表/详情一致,取订单 internal_cost(含「测试价格」预报价写入;甘草/自营均导出) + if (self::canViewInternalCost($adminInfo)) { + $rawCost = $item['internal_cost'] ?? null; + $item['export_gancao_prescription_cost'] = $rawCost !== null && $rawCost !== '' + ? number_format(round((float) $rawCost, 2), 2, '.', '') + : ''; + } else { + $item['export_gancao_prescription_cost'] = ''; + } + + $isFu = (int) ($item['is_follow_up'] ?? 0) === 1; + $item['export_first_visit_assistant'] = $isFu ? (string) ($item['prev_staff'] ?? '') : ''; + + $hit = (int) ($item['po_assign_snapshot_hit'] ?? 0); + $rel = (int) ($item['po_assign_is_release'] ?? 0); + $er = (int) ($item['po_assign_to_er_center'] ?? 0); + if ($hit !== 1) { + $item['export_center_label'] = '—'; + } elseif ($rel === 1) { + $item['export_center_label'] = '已释放'; + } elseif ($er === 1) { + $item['export_center_label'] = '二中心'; + } else { + $item['export_center_label'] = '一中心'; + } + + $paSt = (int) ($item['prescription_audit_status'] ?? 0); + $aud = $auditEffectiveByPo[$poId] ?? null; + if (($paSt === 1 || $paSt === 2) && \is_array($aud)) { + $at = (int) ($aud['create_time'] ?? 0); + $item['export_rx_audit_time'] = $at > 0 ? date('Y-m-d H:i:s', $at) : ''; + $item['export_rx_auditor'] = (string) ($aud['admin_name'] ?? ''); + } else { + $item['export_rx_audit_time'] = ''; + $item['export_rx_auditor'] = ''; + } + } + unset($item); + } + /** * 完成订单时把关联诊单的 assistant_id 清空,让患者回到「待分配」状态 * 仅当该患者没有其它进行中的处方订单且无指派日志时才清空,避免误覆盖 diff --git a/server/app/adminapi/validate/doctor/AppointmentValidate.php b/server/app/adminapi/validate/doctor/AppointmentValidate.php index f6db790a..db8c74f2 100644 --- a/server/app/adminapi/validate/doctor/AppointmentValidate.php +++ b/server/app/adminapi/validate/doctor/AppointmentValidate.php @@ -21,9 +21,11 @@ class AppointmentValidate extends BaseValidate 'doctor_id' => 'require|integer', 'diagnosis_id' => 'require|integer', 'appointment_date' => 'require|date', - 'period' => 'in:morning,afternoon,all', 'appointment_time' => 'require', - 'appointment_type' => 'in:video,text,phone', + 'period' => 'in:morning,afternoon,all', + 'appointment_type' => 'require|in:video,text,phone', + 'status' => 'require|integer|between:1,4', + 'remark' => 'max:500', 'channel_source' => 'require', 'channel_source_detail' => 'max:128', 'note_id' => 'require|integer', @@ -41,9 +43,12 @@ class AppointmentValidate extends BaseValidate 'doctor_id' => '医生ID', 'diagnosis_id' => '诊单ID', 'appointment_date' => '预约日期', - 'period' => '时段', 'appointment_time' => '预约时间', + 'period' => '时段', 'appointment_type' => '预约类型', + 'status' => '状态', + 'remark' => '备注', + 'assistant_id' => '医助', 'channel_source' => '渠道来源', 'channel_source_detail' => '渠道补充说明', ]; @@ -125,4 +130,22 @@ class AppointmentValidate extends BaseValidate { return $this->only(['note_id', 'image_type', 'image_path']); } + + /** + * 后台挂号编辑(消费者处方-挂号列表等) + */ + public function sceneAdminEdit() + { + return $this->only([ + 'id', + 'appointment_date', + 'appointment_time', + 'period', + 'appointment_type', + 'status', + 'remark', + 'channel_source', + 'channel_source_detail', + ]); + } } diff --git a/server/app/command/TcmBackfillPrescriptionOrderInternalCost.php b/server/app/command/TcmBackfillPrescriptionOrderInternalCost.php new file mode 100644 index 00000000..f1dfe81c --- /dev/null +++ b/server/app/command/TcmBackfillPrescriptionOrderInternalCost.php @@ -0,0 +1,279 @@ +setName('tcm:backfill-internal-cost') + ->setDescription('批量用甘草预报价回填处方业务订单 internal_cost') + ->addOption('dry-run', null, Option::VALUE_NONE, '只演练不写库') + ->addOption('limit', 'l', Option::VALUE_OPTIONAL, '最多处理条数', 100) + ->addOption('order-id', null, Option::VALUE_OPTIONAL, '仅处理指定 prescription_order.id', null) + ->addOption('force', 'f', Option::VALUE_NONE, '覆盖已有 internal_cost(默认只填 NULL)') + ->addOption('null-or-zero', null, Option::VALUE_NONE, '与默认一致且同时处理 internal_cost=0 的行(仍可用 --force 覆盖任意值)') + ->addOption('min-id', null, Option::VALUE_OPTIONAL, '仅 id>=该值', null) + ->addOption('max-id', null, Option::VALUE_OPTIONAL, '仅 id<=该值', null) + ->addOption( + 'fulfillment-status', + null, + Option::VALUE_OPTIONAL, + '仅处理指定履约状态,逗号分隔数字,如 5,6,3=已发货/已签收/已完成;不传则不限', + null + ) + ->addOption('sleep-ms', null, Option::VALUE_OPTIONAL, '每条成功调用后休眠毫秒,减轻开放平台压力', 250) + ->addOption('detail', 'd', Option::VALUE_NONE, '打印每条明细'); + } + + /** + * @return array{admin_id:int, root:int, name:string, role_id:int[]} + */ + private static function cliAdminInfo(): array + { + return [ + 'admin_id' => 0, + 'root' => 1, + 'name' => 'CLI-internal-cost', + 'role_id' => [], + ]; + } + + /** + * @param array $fee + */ + private static function totalFeeFromPreview(array $fee): float + { + $m = (float) ($fee['m_cost'] ?? 0); + $p = (float) ($fee['proces_cost'] ?? 0); + $l = (float) ($fee['lis_cost'] ?? 0); + + return round($m + $p + $l, 2); + } + + /** + * 解析 CLI 传入的履约状态列表(1–12,与 PrescriptionOrderLogic::fulfillmentStatusLabel 一致) + * + * @return int[] 去重后的状态码;$raw 非空但解析不到合法值时返回 null 表示调用方应报错 + */ + private static function parseFulfillmentStatusOption(?string $raw): ?array + { + if ($raw === null) { + return []; + } + $raw = trim($raw); + if ($raw === '') { + return []; + } + $seen = []; + foreach (explode(',', $raw) as $part) { + $n = (int) trim($part); + if ($n >= 1 && $n <= 12) { + $seen[$n] = true; + } + } + $ids = array_keys($seen); + sort($ids); + + return $ids !== [] ? $ids : null; + } + + protected function execute(Input $input, Output $output): int + { + $dryRun = (bool) $input->getOption('dry-run'); + $verbose = (bool) $input->getOption('detail'); + $force = (bool) $input->getOption('force'); + $nullOrZero = (bool) $input->getOption('null-or-zero'); + $limit = max(1, (int) $input->getOption('limit')); + $sleepMs = max(0, (int) $input->getOption('sleep-ms')); + $onlyOrderId = $input->getOption('order-id'); + $onlyOrderId = $onlyOrderId !== null && $onlyOrderId !== '' ? (int) $onlyOrderId : null; + $minId = $input->getOption('min-id'); + $minId = $minId !== null && $minId !== '' ? (int) $minId : null; + $maxId = $input->getOption('max-id'); + $maxId = $maxId !== null && $maxId !== '' ? (int) $maxId : null; + $fsRaw = $input->getOption('fulfillment-status'); + $fsRaw = $fsRaw !== null ? (string) $fsRaw : null; + $fulfillmentStatuses = self::parseFulfillmentStatusOption($fsRaw); + if ($fulfillmentStatuses === null) { + $output->error('--fulfillment-status 格式无效,请传入 1–12 的数字,英文逗号分隔,例如:5,6,3'); + + return 1; + } + + $adminInfo = self::cliAdminInfo(); + $adminId = 0; + + $output->writeln('========================================'); + $output->writeln('批量回填 internal_cost(甘草 CTM_PREVIEW)'); + $output->writeln('========================================'); + + if (!GancaoScmRecipelService::isConfigured()) { + $output->error('甘草 SCM 未配置:' . GancaoScmRecipelService::whyNotConfigured()); + + return 1; + } + + $q = PrescriptionOrder::whereNull('delete_time')->where('prescription_id', '>', 0)->order('id', 'asc'); + + if ($fulfillmentStatuses !== []) { + $q->whereIn('fulfillment_status', $fulfillmentStatuses); + } + + if ($onlyOrderId !== null && $onlyOrderId > 0) { + $q->where('id', $onlyOrderId); + } else { + if (!$force) { + if ($nullOrZero) { + $q->whereRaw('(internal_cost IS NULL OR internal_cost = 0)'); + } else { + $q->whereNull('internal_cost'); + } + } + if ($minId !== null && $minId > 0) { + $q->where('id', '>=', $minId); + } + if ($maxId !== null && $maxId > 0) { + $q->where('id', '<=', $maxId); + } + $q->limit($limit); + } + + $rows = $q->field(['id', 'order_no', 'dose_count', 'medication_days', 'internal_cost', 'fulfillment_status'])->select()->toArray(); + if ($rows === []) { + $output->warning('没有符合条件的订单。'); + + return 0; + } + + $fsLabel = ''; + if ($fulfillmentStatuses !== []) { + $parts = []; + foreach ($fulfillmentStatuses as $code) { + $parts[] = (string) $code . '=' . PrescriptionOrderLogic::fulfillmentStatusLabel((int) $code); + } + $fsLabel = ' fulfillment-status=[' . implode(',', $parts) . ']'; + } + + $output->writeln(sprintf( + '待处理 %d 条(dry-run=%s force=%s sleep-ms=%d%s)', + count($rows), + $dryRun ? 'yes' : 'no', + $force ? 'yes' : 'no', + $sleepMs, + $fsLabel + )); + + $ok = 0; + $fail = 0; + $skipped = 0; + $reasons = []; + + foreach ($rows as $row) { + $id = (int) ($row['id'] ?? 0); + if ($id <= 0) { + continue; + } + + if (!$force && !$nullOrZero && $row['internal_cost'] !== null && $row['internal_cost'] !== '') { + $skipped++; + continue; + } + + $params = []; + $dc = (int) ($row['dose_count'] ?? 0); + if ($dc > 0) { + $params['dose_count'] = $dc; + } + $md = $row['medication_days'] ?? null; + if ($md !== null && $md !== '' && (int) $md > 0) { + $params['medication_days'] = (int) $md; + } + + $ret = PrescriptionOrderLogic::previewGancaoRecipel($id, $adminId, $adminInfo, $params); + if ($ret === false) { + $fail++; + $err = PrescriptionOrderLogic::getError(); + $reasons[$err] = ($reasons[$err] ?? 0) + 1; + if ($verbose) { + $output->writeln("#{$id} 失败:{$err}"); + } + + continue; + } + + $fee = is_array($ret['fee'] ?? null) ? $ret['fee'] : []; + $total = self::totalFeeFromPreview($fee); + + if ($verbose) { + $ono = (string) ($row['order_no'] ?? ''); + $fs = (int) ($row['fulfillment_status'] ?? 0); + $fst = PrescriptionOrderLogic::fulfillmentStatusLabel($fs); + $output->writeln(sprintf('#%d %s [%s] → internal_cost=%.2f', $id, $ono, $fst, $total)); + } + + if (!$dryRun) { + PrescriptionOrder::where('id', $id)->whereNull('delete_time')->update([ + 'internal_cost' => $total, + ]); + + $log = new PrescriptionOrderLog(); + $log->prescription_order_id = $id; + $log->admin_id = 0; + $log->admin_name = 'CLI'; + $log->action = 'cli_backfill_internal_cost'; + $log->summary = mb_substr(sprintf('甘草预报价回填 internal_cost=%.2f', $total), 0, 500); + $log->create_time = time(); + try { + $log->save(); + } catch (\Throwable $e) { + // 忽略 + } + } + + $ok++; + if ($sleepMs > 0 && !$dryRun) { + usleep($sleepMs * 1000); + } + } + + $output->writeln(''); + $output->writeln(sprintf('完成:成功 %d,失败 %d,跳过 %d', $ok, $fail, $skipped)); + if ($reasons !== []) { + $output->writeln('失败原因统计:'); + foreach ($reasons as $msg => $cnt) { + $output->writeln(' [' . $cnt . 'x] ' . $msg); + } + } + + return $fail > 0 ? 2 : 0; + } +} diff --git a/server/app/common/lists/BaseDataLists.php b/server/app/common/lists/BaseDataLists.php index 3417a32d..4d93ac85 100644 --- a/server/app/common/lists/BaseDataLists.php +++ b/server/app/common/lists/BaseDataLists.php @@ -58,6 +58,12 @@ abstract class BaseDataLists implements ListsInterface public string $export; + /** + * 管理端列表:在 request 就绪后写入 adminId/adminInfo(见 BaseAdminDataLists) + */ + protected function initAdminIdentity(): void + { + } public function __construct() { @@ -66,6 +72,8 @@ abstract class BaseDataLists implements ListsInterface //请求参数设置 $this->request = request(); + // admin 列表子类在 initExport 中可能触发 count/lists,须先于 initPage/initExport 写入身份 + $this->initAdminIdentity(); $this->params = $this->request->param(); //分页初始化 diff --git a/server/app/common/service/JsonService.php b/server/app/common/service/JsonService.php index f15ff542..38a72e0c 100644 --- a/server/app/common/service/JsonService.php +++ b/server/app/common/service/JsonService.php @@ -21,6 +21,7 @@ use app\common\enum\ExportEnum; use app\common\lists\BaseDataLists; use app\common\lists\ListsExcelInterface; use app\common\lists\ListsExtendInterface; +use think\facade\Config; use think\Response; use think\response\Json; use think\exception\HttpResponseException; @@ -120,12 +121,16 @@ class JsonService { //获取导出信息 if ($lists->export == ExportEnum::INFO && $lists instanceof ListsExcelInterface) { + self::relaxLimitsForExcelExport(); + return self::data($lists->excelInfo()); } //获取导出文件的下载链接 if ($lists->export == ExportEnum::EXPORT && $lists instanceof ListsExcelInterface) { + self::relaxLimitsForExcelExport(); $exportDownloadUrl = $lists->createExcel($lists->setExcelFields(), $lists->lists()); + return self::success('', ['url' => $exportDownloadUrl], 2); } @@ -141,4 +146,21 @@ class JsonService } return self::success('', $data, 1, 0); } + + /** + * Excel 导出:拉数 + PhpSpreadsheet 易超过默认 max_execution_time=30 + */ + private static function relaxLimitsForExcelExport(): void + { + @set_time_limit(0); + $max = Config::get('project.lists.export_max_execution_time', 600); + $max = is_numeric($max) ? (int) $max : 600; + if ($max > 0) { + @ini_set('max_execution_time', (string) $max); + } + $mem = Config::get('project.lists.export_memory_limit', '512M'); + if (is_string($mem) && $mem !== '') { + @ini_set('memory_limit', $mem); + } + } } \ No newline at end of file diff --git a/server/config/console.php b/server/config/console.php index c37e4ac1..8c1f7e4e 100644 --- a/server/config/console.php +++ b/server/config/console.php @@ -32,6 +32,8 @@ return [ 'qywx:sync-msg-archive' => 'app\\command\\QywxSyncMsgArchive', // 甘草订单物流路由同步(GET_TASK_ROUTE_LIST) 'gancao:sync-logistics' => 'app\\command\\GancaoSyncLogisticsRoute', + // 历史 internal_cost:批量甘草预报价回填(CTM_PREVIEW) + 'tcm:backfill-internal-cost' => 'app\\command\\TcmBackfillPrescriptionOrderInternalCost', // 迁移诊单图片到医生备注表 'migrate:images-to-doctor-note' => 'app\\command\\MigrateImagesToDoctorNote', // 诊单待办事项:扫描到点的待执行项并向创建人发送企业微信消息 diff --git a/server/config/project.php b/server/config/project.php index 47f9449a..cde2b3f0 100644 --- a/server/config/project.php +++ b/server/config/project.php @@ -47,6 +47,9 @@ return [ 'lists' => [ 'page_size_max' => 25000,//列表页查询数量限制(列表页每页数量、导出每页数量) 'page_size' => 25, //默认每页数量 + /** Excel 导出:接口内放宽 PHP 限制(JsonService::relaxLimitsForExcelExport) */ + 'export_max_execution_time' => 600, + 'export_memory_limit' => '512M', ], // 各种默认图片 diff --git a/server/public/admin/assets/403-BQYUcr_f.js b/server/public/admin/assets/403-s-2fq8XB.js similarity index 88% rename from server/public/admin/assets/403-BQYUcr_f.js rename to server/public/admin/assets/403-s-2fq8XB.js index 84784a3a..65596d58 100644 --- a/server/public/admin/assets/403-BQYUcr_f.js +++ b/server/public/admin/assets/403-s-2fq8XB.js @@ -1 +1 @@ -import r from"./error-BJHvk5qu.js";import{f as p,ak as i,I as m,a as e,aN as s,J as o}from"./@vue/runtime-core-C6bnekPw.js";import"./element-plus-0wC3naml.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./vue-router-QlpZ4wdW.js";import"./index-E47--KT7.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const a="/admin/assets/no_perms-jDxcYpYC.png",n={class:"error404"},W=p({__name:"403",setup(c){return(_,t)=>(i(),m("div",n,[e(r,{code:"403",title:"您的账号权限不足,请联系管理员添加权限!","show-btn":!1},{content:s(()=>[...t[0]||(t[0]=[o("div",{class:"flex justify-center"},[o("img",{class:"w-[150px] h-[150px]",src:a,alt:""})],-1)])]),_:1})]))}});export{W as default}; +import r from"./error-CyjCcUCY.js";import{f as p,ak as i,I as m,a as e,aN as s,J as o}from"./@vue/runtime-core-C6bnekPw.js";import"./element-plus-DFTWCWyi.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./vue-router-QlpZ4wdW.js";import"./index-DBREMm_z.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const a="/admin/assets/no_perms-jDxcYpYC.png",n={class:"error404"},W=p({__name:"403",setup(c){return(_,t)=>(i(),m("div",n,[e(r,{code:"403",title:"您的账号权限不足,请联系管理员添加权限!","show-btn":!1},{content:s(()=>[...t[0]||(t[0]=[o("div",{class:"flex justify-center"},[o("img",{class:"w-[150px] h-[150px]",src:a,alt:""})],-1)])]),_:1})]))}});export{W as default}; diff --git a/server/public/admin/assets/404-hpF_YYxd.js b/server/public/admin/assets/404-CYPI5auS.js similarity index 87% rename from server/public/admin/assets/404-hpF_YYxd.js rename to server/public/admin/assets/404-CYPI5auS.js index aeb03a3e..15153daf 100644 --- a/server/public/admin/assets/404-hpF_YYxd.js +++ b/server/public/admin/assets/404-CYPI5auS.js @@ -1 +1 @@ -import o from"./error-BJHvk5qu.js";import{f as r,ak as t,I as m,a as p}from"./@vue/runtime-core-C6bnekPw.js";import"./element-plus-0wC3naml.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./vue-router-QlpZ4wdW.js";import"./index-E47--KT7.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const i={class:"error404"},T=r({__name:"404",setup(e){return(a,s)=>(t(),m("div",i,[p(o,{code:"404",title:"哎呀,出错了!您访问的页面不存在…"})]))}});export{T as default}; +import o from"./error-CyjCcUCY.js";import{f as r,ak as t,I as m,a as p}from"./@vue/runtime-core-C6bnekPw.js";import"./element-plus-DFTWCWyi.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./vue-router-QlpZ4wdW.js";import"./index-DBREMm_z.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const i={class:"error404"},T=r({__name:"404",setup(e){return(a,s)=>(t(),m("div",i,[p(o,{code:"404",title:"哎呀,出错了!您访问的页面不存在…"})]))}});export{T as default}; diff --git a/server/public/admin/assets/AppointmentRecordPanel-BZnhzLjC.js b/server/public/admin/assets/AppointmentRecordPanel-DH84Bquy.js similarity index 96% rename from server/public/admin/assets/AppointmentRecordPanel-BZnhzLjC.js rename to server/public/admin/assets/AppointmentRecordPanel-DH84Bquy.js index 5410437a..a279a8d9 100644 --- a/server/public/admin/assets/AppointmentRecordPanel-BZnhzLjC.js +++ b/server/public/admin/assets/AppointmentRecordPanel-DH84Bquy.js @@ -1 +1 @@ -import{M as T,N as z,T as C,L as D}from"./element-plus-0wC3naml.js";import{c as B}from"./doctor-6V0qM7Ks.js";import{m as E,_ as L}from"./index-E47--KT7.js";import{f as P,w as R,ak as m,I as V,aP as A,G as d,aN as n,a as s,O as r,J as c}from"./@vue/runtime-core-C6bnekPw.js";import{Q as l}from"./@vue/shared-mAAVTE9n.js";import{n as w}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const M={class:"appointment-record-panel"},$={class:"cell-stack"},G={class:"font-medium"},J={class:"text-gray-500 text-sm"},O={class:"cell-stack"},Q={class:"text-gray-500 text-sm"},j=P({__name:"AppointmentRecordPanel",props:{diagnosisId:{}},setup(y,{expose:b}){const u=y,_=w(!1),g=w([]),h=w({});function x(t){return t?String(t).length>=8?String(t).slice(0,5):t:""}function k(t){return t==="morning"?"上午":t==="afternoon"?"下午":t==="all"?"全天":t||"—"}function S(t){const o=t.channel_source??t.channels??"";if(o===""||o===null||o===void 0)return"—";const a=String(o),i=h.value[a]||a,p=String(t.channel_source_detail??"").trim();return p!==""?`${i}(${p})`:i}function I(t){return[...t].sort((o,a)=>{const i=String(o.appointment_date||""),p=String(a.appointment_date||"");if(i!==p)return p.localeCompare(i);const f=String(o.appointment_time||""),e=String(a.appointment_time||"");return f!==e?e.localeCompare(f):Number(a.id||0)-Number(o.id||0)})}const N=async()=>{try{const t=await E({type:"channels"}),o=((t==null?void 0:t.channels)||[]).filter(i=>i.status!==0),a={};for(const i of o)i.value!=null&&(a[String(i.value)]=i.name||String(i.value));h.value=a}catch{h.value={}}},v=async()=>{if(u.diagnosisId){_.value=!0;try{await N();const t=await B({patient_id:u.diagnosisId,diag_scope_relax:1,page_no:1,page_size:500}),o=(t==null?void 0:t.lists)||[];g.value=I(o)}catch(t){console.error(t),g.value=[]}finally{_.value=!1}}};return R(()=>u.diagnosisId,()=>{v()},{immediate:!0}),b({refresh:v}),(t,o)=>{const a=z,i=C,p=T,f=D;return m(),V("div",M,[A((m(),d(p,{data:g.value,border:"",stripe:"","empty-text":"暂无挂号记录"},{default:n(()=>[s(a,{label:"ID",prop:"id",width:"72",align:"center"}),s(a,{label:"状态",width:"100",align:"center"},{default:n(({row:e})=>[s(i,{type:e.status===1?"success":e.status===2?"info":e.status===3?"primary":"danger",size:"small",effect:"light"},{default:n(()=>[r(l(e.status_desc||"—"),1)]),_:2},1032,["type"])]),_:1}),s(a,{label:"患者(挂号人)","min-width":"150"},{default:n(({row:e})=>[c("div",$,[c("span",G,l(e.patient_name||"—"),1),c("span",J,l(e.patient_phone||""),1)])]),_:1}),s(a,{label:"挂号医生",prop:"doctor_name",width:"110","show-overflow-tooltip":""}),s(a,{label:"挂号助理",width:"110","show-overflow-tooltip":""},{default:n(({row:e})=>[r(l(e.assistant_name||"—"),1)]),_:1}),s(a,{label:"预约时间","min-width":"130"},{default:n(({row:e})=>[c("div",O,[c("span",null,l(e.appointment_date||"—"),1),c("span",Q,l(x(e.appointment_time)),1)])]),_:1}),s(a,{label:"时段",width:"80",align:"center"},{default:n(({row:e})=>[r(l(k(e.period)),1)]),_:1}),s(a,{label:"类型",width:"100","show-overflow-tooltip":""},{default:n(({row:e})=>[r(l(e.appointment_type_desc||"—"),1)]),_:1}),s(a,{label:"渠道",width:"110","show-overflow-tooltip":""},{default:n(({row:e})=>[r(l(S(e)),1)]),_:1}),s(a,{label:"确认诊单",width:"92",align:"center"},{default:n(({row:e})=>[e.diagnosis_confirmed?(m(),d(i,{key:0,type:"success",size:"small",effect:"plain"},{default:n(()=>[...o[0]||(o[0]=[r("已确认",-1)])]),_:1})):(m(),d(i,{key:1,type:"warning",size:"small",effect:"plain"},{default:n(()=>[...o[1]||(o[1]=[r("未确认",-1)])]),_:1}))]),_:1}),s(a,{label:"开方",width:"80",align:"center"},{default:n(({row:e})=>[e.has_prescription?(m(),d(i,{key:0,type:"success",size:"small",effect:"plain"},{default:n(()=>[...o[2]||(o[2]=[r("已开方",-1)])]),_:1})):(m(),d(i,{key:1,type:"info",size:"small",effect:"plain"},{default:n(()=>[...o[3]||(o[3]=[r("未开方",-1)])]),_:1}))]),_:1}),s(a,{label:"备注",prop:"remark","min-width":"100","show-overflow-tooltip":""}),s(a,{label:"创建时间",width:"165",prop:"create_time"})]),_:1},8,["data"])),[[f,_.value]])])}}}),Ct=L(j,[["__scopeId","data-v-4de87dfa"]]);export{Ct as default}; +import{M as T,N as z,T as C,L as D}from"./element-plus-DFTWCWyi.js";import{a as B}from"./doctor-ul0r578d.js";import{m as E,_ as L}from"./index-DBREMm_z.js";import{f as P,w as R,ak as m,I as V,aP as A,G as d,aN as n,a as s,O as r,J as c}from"./@vue/runtime-core-C6bnekPw.js";import{Q as l}from"./@vue/shared-mAAVTE9n.js";import{n as w}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const M={class:"appointment-record-panel"},$={class:"cell-stack"},G={class:"font-medium"},J={class:"text-gray-500 text-sm"},O={class:"cell-stack"},Q={class:"text-gray-500 text-sm"},j=P({__name:"AppointmentRecordPanel",props:{diagnosisId:{}},setup(y,{expose:b}){const u=y,_=w(!1),g=w([]),h=w({});function x(t){return t?String(t).length>=8?String(t).slice(0,5):t:""}function k(t){return t==="morning"?"上午":t==="afternoon"?"下午":t==="all"?"全天":t||"—"}function S(t){const o=t.channel_source??t.channels??"";if(o===""||o===null||o===void 0)return"—";const a=String(o),i=h.value[a]||a,p=String(t.channel_source_detail??"").trim();return p!==""?`${i}(${p})`:i}function I(t){return[...t].sort((o,a)=>{const i=String(o.appointment_date||""),p=String(a.appointment_date||"");if(i!==p)return p.localeCompare(i);const f=String(o.appointment_time||""),e=String(a.appointment_time||"");return f!==e?e.localeCompare(f):Number(a.id||0)-Number(o.id||0)})}const N=async()=>{try{const t=await E({type:"channels"}),o=((t==null?void 0:t.channels)||[]).filter(i=>i.status!==0),a={};for(const i of o)i.value!=null&&(a[String(i.value)]=i.name||String(i.value));h.value=a}catch{h.value={}}},v=async()=>{if(u.diagnosisId){_.value=!0;try{await N();const t=await B({patient_id:u.diagnosisId,diag_scope_relax:1,page_no:1,page_size:500}),o=(t==null?void 0:t.lists)||[];g.value=I(o)}catch(t){console.error(t),g.value=[]}finally{_.value=!1}}};return R(()=>u.diagnosisId,()=>{v()},{immediate:!0}),b({refresh:v}),(t,o)=>{const a=z,i=C,p=T,f=D;return m(),V("div",M,[A((m(),d(p,{data:g.value,border:"",stripe:"","empty-text":"暂无挂号记录"},{default:n(()=>[s(a,{label:"ID",prop:"id",width:"72",align:"center"}),s(a,{label:"状态",width:"100",align:"center"},{default:n(({row:e})=>[s(i,{type:e.status===1?"success":e.status===2?"info":e.status===3?"primary":"danger",size:"small",effect:"light"},{default:n(()=>[r(l(e.status_desc||"—"),1)]),_:2},1032,["type"])]),_:1}),s(a,{label:"患者(挂号人)","min-width":"150"},{default:n(({row:e})=>[c("div",$,[c("span",G,l(e.patient_name||"—"),1),c("span",J,l(e.patient_phone||""),1)])]),_:1}),s(a,{label:"挂号医生",prop:"doctor_name",width:"110","show-overflow-tooltip":""}),s(a,{label:"挂号助理",width:"110","show-overflow-tooltip":""},{default:n(({row:e})=>[r(l(e.assistant_name||"—"),1)]),_:1}),s(a,{label:"预约时间","min-width":"130"},{default:n(({row:e})=>[c("div",O,[c("span",null,l(e.appointment_date||"—"),1),c("span",Q,l(x(e.appointment_time)),1)])]),_:1}),s(a,{label:"时段",width:"80",align:"center"},{default:n(({row:e})=>[r(l(k(e.period)),1)]),_:1}),s(a,{label:"类型",width:"100","show-overflow-tooltip":""},{default:n(({row:e})=>[r(l(e.appointment_type_desc||"—"),1)]),_:1}),s(a,{label:"渠道",width:"110","show-overflow-tooltip":""},{default:n(({row:e})=>[r(l(S(e)),1)]),_:1}),s(a,{label:"确认诊单",width:"92",align:"center"},{default:n(({row:e})=>[e.diagnosis_confirmed?(m(),d(i,{key:0,type:"success",size:"small",effect:"plain"},{default:n(()=>[...o[0]||(o[0]=[r("已确认",-1)])]),_:1})):(m(),d(i,{key:1,type:"warning",size:"small",effect:"plain"},{default:n(()=>[...o[1]||(o[1]=[r("未确认",-1)])]),_:1}))]),_:1}),s(a,{label:"开方",width:"80",align:"center"},{default:n(({row:e})=>[e.has_prescription?(m(),d(i,{key:0,type:"success",size:"small",effect:"plain"},{default:n(()=>[...o[2]||(o[2]=[r("已开方",-1)])]),_:1})):(m(),d(i,{key:1,type:"info",size:"small",effect:"plain"},{default:n(()=>[...o[3]||(o[3]=[r("未开方",-1)])]),_:1}))]),_:1}),s(a,{label:"备注",prop:"remark","min-width":"100","show-overflow-tooltip":""}),s(a,{label:"创建时间",width:"165",prop:"create_time"})]),_:1},8,["data"])),[[f,_.value]])])}}}),Ct=L(j,[["__scopeId","data-v-4de87dfa"]]);export{Ct as default}; diff --git a/server/public/admin/assets/AssignLogPanel-B0ohl4pV.js b/server/public/admin/assets/AssignLogPanel-B0ohl4pV.js deleted file mode 100644 index 16623f07..00000000 --- a/server/public/admin/assets/AssignLogPanel-B0ohl4pV.js +++ /dev/null @@ -1 +0,0 @@ -import{M as x,N as y,r as I,d as $,L as C}from"./element-plus-0wC3naml.js";import{W as D}from"./@element-plus/icons-vue-HOEUG8sr.js";import{$ as L}from"./tcm-SLIwsL8z.js";import{f as T,w as P,ak as g,I as A,aP as E,G as k,aN as n,a,O as m,J as B}from"./@vue/runtime-core-C6bnekPw.js";import{Q as p}from"./@vue/shared-mAAVTE9n.js";import{y as F,n as b}from"./@vue/reactivity-DiY1c2vO.js";import{_ as M}from"./index-E47--KT7.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const V={class:"assign-log-panel"},K=T({__name:"AssignLogPanel",props:{diagnosisId:{}},setup(h,{expose:w}){const c=h,d=b(!1),_=b([]);function v(o){const e=o.related_po_creator_name;if(e!=null&&String(e).trim()!=="")return String(e);const t=Number(o.related_po_creator_id);return Number.isFinite(t)&&t>0?`ID:${t}`:"—"}function N(o){const e=o.related_po_create_time_text;if(e!=null&&String(e).trim()!=="")return String(e);const t=Number(o.related_po_create_time);if(!Number.isFinite(t)||t<=0)return"—";const i=new Date(t*1e3);if(Number.isNaN(i.getTime()))return"—";const r=s=>String(s).padStart(2,"0");return`${i.getFullYear()}-${r(i.getMonth()+1)}-${r(i.getDate())} ${r(i.getHours())}:${r(i.getMinutes())}:${r(i.getSeconds())}`}function u(o,e){const t=e==="from"?"from_assistant_name":"to_assistant_name",i=e==="from"?"from_assistant_id":"to_assistant_id",r=o[t];if(r!=null&&String(r).trim()!==""&&String(r)!=="—")return String(r);const s=Number(o[i]);return Number.isFinite(s)&&s>0?`ID:${s}`:"—"}const f=async()=>{if(c.diagnosisId){d.value=!0;try{const o=await L({id:c.diagnosisId}),e=Array.isArray(o)?o:[];_.value=e}catch(o){console.error(o),_.value=[]}finally{d.value=!1}}};return P(()=>c.diagnosisId,()=>{f()},{immediate:!0}),w({refresh:f}),(o,e)=>{const t=y,i=$,r=I,s=x,S=C;return g(),A("div",V,[E((g(),k(s,{data:_.value,border:"",stripe:"","empty-text":"暂无指派记录"},{default:n(()=>[a(t,{label:"操作时间",width:"175",prop:"create_time_text"}),a(t,{label:"原医助","min-width":"120"},{default:n(({row:l})=>[m(p(u(l,"from")),1)]),_:1}),a(t,{label:"新医助","min-width":"120"},{default:n(({row:l})=>[m(p(u(l,"to")),1)]),_:1}),a(t,{label:"快照·业务单创建人","min-width":"130","show-overflow-tooltip":""},{default:n(({row:l})=>[m(p(v(l)),1)]),_:1}),a(t,{label:"快照·业务单创建时间",width:"190"},{header:n(()=>[e[0]||(e[0]=B("span",null,"快照·业务单创建时间",-1)),a(r,{placement:"top",content:"related_po_create_time:触发本次操作的处方业务订单 create_time;与原文助一致时表示医助创建订单时间"},{default:n(()=>[a(i,{class:"assign-log-col-hint"},{default:n(()=>[a(F(D))]),_:1})]),_:1})]),default:n(({row:l})=>[m(p(N(l)),1)]),_:1}),a(t,{label:"操作人",width:"110",prop:"operator_name"}),a(t,{label:"操作账号",width:"120",prop:"operator_account","show-overflow-tooltip":""}),a(t,{label:"IP",width:"130",prop:"ip","show-overflow-tooltip":""})]),_:1},8,["data"])),[[S,d.value]])])}}}),yt=M(K,[["__scopeId","data-v-5465d5eb"]]);export{yt as default}; diff --git a/server/public/admin/assets/AssignLogPanel-B1RENXkE.js b/server/public/admin/assets/AssignLogPanel-B1RENXkE.js new file mode 100644 index 00000000..b72091d9 --- /dev/null +++ b/server/public/admin/assets/AssignLogPanel-B1RENXkE.js @@ -0,0 +1 @@ +import{M as x,N as y,r as I,d as C,L as $}from"./element-plus-DFTWCWyi.js";import{W as D}from"./@element-plus/icons-vue-HOEUG8sr.js";import{a0 as L}from"./tcm-BcqaE0lo.js";import{f as T,w as P,ak as g,I as A,aP as E,G as k,aN as n,a,O as m,J as B}from"./@vue/runtime-core-C6bnekPw.js";import{Q as p}from"./@vue/shared-mAAVTE9n.js";import{y as F,n as b}from"./@vue/reactivity-DiY1c2vO.js";import{_ as M}from"./index-DBREMm_z.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const V={class:"assign-log-panel"},K=T({__name:"AssignLogPanel",props:{diagnosisId:{}},setup(h,{expose:w}){const c=h,d=b(!1),_=b([]);function v(o){const e=o.related_po_creator_name;if(e!=null&&String(e).trim()!=="")return String(e);const t=Number(o.related_po_creator_id);return Number.isFinite(t)&&t>0?`ID:${t}`:"—"}function N(o){const e=o.related_po_create_time_text;if(e!=null&&String(e).trim()!=="")return String(e);const t=Number(o.related_po_create_time);if(!Number.isFinite(t)||t<=0)return"—";const i=new Date(t*1e3);if(Number.isNaN(i.getTime()))return"—";const r=s=>String(s).padStart(2,"0");return`${i.getFullYear()}-${r(i.getMonth()+1)}-${r(i.getDate())} ${r(i.getHours())}:${r(i.getMinutes())}:${r(i.getSeconds())}`}function u(o,e){const t=e==="from"?"from_assistant_name":"to_assistant_name",i=e==="from"?"from_assistant_id":"to_assistant_id",r=o[t];if(r!=null&&String(r).trim()!==""&&String(r)!=="—")return String(r);const s=Number(o[i]);return Number.isFinite(s)&&s>0?`ID:${s}`:"—"}const f=async()=>{if(c.diagnosisId){d.value=!0;try{const o=await L({id:c.diagnosisId}),e=Array.isArray(o)?o:[];_.value=e}catch(o){console.error(o),_.value=[]}finally{d.value=!1}}};return P(()=>c.diagnosisId,()=>{f()},{immediate:!0}),w({refresh:f}),(o,e)=>{const t=y,i=C,r=I,s=x,S=$;return g(),A("div",V,[E((g(),k(s,{data:_.value,border:"",stripe:"","empty-text":"暂无指派记录"},{default:n(()=>[a(t,{label:"操作时间",width:"175",prop:"create_time_text"}),a(t,{label:"原医助","min-width":"120"},{default:n(({row:l})=>[m(p(u(l,"from")),1)]),_:1}),a(t,{label:"新医助","min-width":"120"},{default:n(({row:l})=>[m(p(u(l,"to")),1)]),_:1}),a(t,{label:"快照·业务单创建人","min-width":"130","show-overflow-tooltip":""},{default:n(({row:l})=>[m(p(v(l)),1)]),_:1}),a(t,{label:"快照·业务单创建时间",width:"190"},{header:n(()=>[e[0]||(e[0]=B("span",null,"快照·业务单创建时间",-1)),a(r,{placement:"top",content:"related_po_create_time:触发本次操作的处方业务订单 create_time;与原文助一致时表示医助创建订单时间"},{default:n(()=>[a(i,{class:"assign-log-col-hint"},{default:n(()=>[a(F(D))]),_:1})]),_:1})]),default:n(({row:l})=>[m(p(N(l)),1)]),_:1}),a(t,{label:"操作人",width:"110",prop:"operator_name"}),a(t,{label:"操作账号",width:"120",prop:"operator_account","show-overflow-tooltip":""}),a(t,{label:"IP",width:"130",prop:"ip","show-overflow-tooltip":""})]),_:1},8,["data"])),[[S,d.value]])])}}}),yt=M(K,[["__scopeId","data-v-5465d5eb"]]);export{yt as default}; diff --git a/server/public/admin/assets/AssistantWatchCallDialog-LeKEiefN.js b/server/public/admin/assets/AssistantWatchCallDialog-BRyYQCK0.js similarity index 94% rename from server/public/admin/assets/AssistantWatchCallDialog-LeKEiefN.js rename to server/public/admin/assets/AssistantWatchCallDialog-BRyYQCK0.js index 74f76402..9d0ecb6e 100644 --- a/server/public/admin/assets/AssistantWatchCallDialog-LeKEiefN.js +++ b/server/public/admin/assets/AssistantWatchCallDialog-BRyYQCK0.js @@ -1 +1 @@ -import{i as b,V as D}from"./element-plus-0wC3naml.js";import{q as O}from"./@vue/runtime-dom-DDAG46FW.js";import{T as d}from"./trtc-sdk-v5-D4DbeRqz.js";import{a0 as S}from"./tcm-SLIwsL8z.js";import{f as x,w as W,ak as y,G as P,aN as E,I as _,H as U,aP as $,J as h,a as j,O as H,A as Y}from"./@vue/runtime-core-C6bnekPw.js";import{Q as q}from"./@vue/shared-mAAVTE9n.js";import{n as v}from"./@vue/reactivity-DiY1c2vO.js";import{_ as G}from"./index-E47--KT7.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const J={key:0,class:"watch-state"},K={key:1,class:"watch-state watch-error"},Q=x({__name:"AssistantWatchCallDialog",props:{modelValue:{type:Boolean},diagnosisId:{}},emits:["update:modelValue","closed"],setup(A,{emit:R}){const c=A,w=R,I=Y({get:()=>c.modelValue,set:e=>w("update:modelValue",e)}),s=v(null),l=v(!1),i=v(""),p=v("旁观视频通话"),n=new Map;let o=null,f=0;function g(e,t){return`${e}\0${String(t)}`}function N(e){return e.startsWith("patient_")?"患者":e.startsWith("doctor_")?"医护":e}async function V(e){if(!o||!s.value||e.streamType!==d.TYPE.STREAM_TYPE_MAIN)return;const t=g(e.userId,e.streamType);if(n.has(t))return;const a=document.createElement("div");a.className="watch-tile";const r=document.createElement("div");r.className="watch-tile-cap",r.textContent=N(e.userId);const m=document.createElement("div");m.className="watch-tile-view",a.appendChild(r),a.appendChild(m),s.value.appendChild(a),n.set(t,{wrap:a,userId:e.userId,streamType:e.streamType});try{await o.startRemoteVideo({userId:e.userId,streamType:e.streamType,view:m})}catch(M){console.warn("[AssistantWatchCall] startRemoteVideo",M)}}async function T(e){if(!o)return;const t=g(e.userId,e.streamType),a=n.get(t);if(a){try{await o.stopRemoteVideo({userId:e.userId,streamType:e.streamType})}catch{}a.wrap.remove(),n.delete(t)}}function C(){o&&(o.on(d.EVENT.REMOTE_VIDEO_AVAILABLE,V),o.on(d.EVENT.REMOTE_VIDEO_UNAVAILABLE,T))}function k(){o&&(o.off(d.EVENT.REMOTE_VIDEO_AVAILABLE,V),o.off(d.EVENT.REMOTE_VIDEO_UNAVAILABLE,T))}async function u(){if(k(),o){for(const[,e]of n){try{await o.stopRemoteVideo({userId:e.userId,streamType:e.streamType})}catch{}e.wrap.remove()}n.clear(),s.value&&(s.value.innerHTML="");try{await o.exitRoom()}catch{}try{o.destroy()}catch{}o=null}else n.clear(),s.value&&(s.value.innerHTML="")}async function L(){const e=++f;if(await u(),!c.diagnosisId){i.value="诊单无效";return}l.value=!0,i.value="",p.value="旁观视频通话";try{const t=await S({diagnosis_id:c.diagnosisId});if(e!==f)return;t.patientName&&(p.value=`旁观视频通话 · ${t.patientName}`),o=d.create(),C();const a={sdkAppId:t.sdkAppId,userId:t.userId,userSig:t.userSig,autoReceiveAudio:!0,autoReceiveVideo:!0,...t.roomId!=null&&t.roomId>0?{roomId:t.roomId}:{strRoomId:t.strRoomId}};if(!(t.roomId!=null&&t.roomId>0)&&!t.strRoomId)throw new Error("缺少房间号");if(await o.enterRoom(a),e!==f){await u();return}l.value=!1}catch(t){l.value=!1;let a="进入房间失败";if(typeof t=="string")a=t;else if(t&&typeof t=="object"){const r=t;r.msg?a=String(r.msg):r.message&&(a=String(r.message))}i.value=a,await u()}}function B(){u(),l.value=!1,i.value="",p.value="旁观视频通话",w("closed")}return W(()=>[c.modelValue,c.diagnosisId],([e,t])=>{if(!e){f++,u();return}t>0&&L()}),(e,t)=>{const a=b,r=D;return y(),P(r,{modelValue:I.value,"onUpdate:modelValue":t[1]||(t[1]=m=>I.value=m),title:p.value,width:"760px","destroy-on-close":"","append-to-body":"","close-on-click-modal":!1,class:"assistant-watch-call-dialog",onClosed:B},{footer:E(()=>[t[3]||(t[3]=h("span",{class:"watch-hint"},"仅观看,不会开启摄像头与麦克风",-1)),j(a,{type:"primary",onClick:t[0]||(t[0]=m=>I.value=!1)},{default:E(()=>[...t[2]||(t[2]=[H("离开",-1)])]),_:1})]),default:E(()=>[l.value?(y(),_("div",J,"正在连接房间…")):i.value?(y(),_("div",K,q(i.value),1)):U("",!0),$(h("div",{ref_key:"gridRef",ref:s,class:"watch-grid"},null,512),[[O,!l.value&&!i.value]])]),_:1},8,["modelValue","title"])}}}),Ot=G(Q,[["__scopeId","data-v-7aff665d"]]);export{Ot as default}; +import{i as b,V as D}from"./element-plus-DFTWCWyi.js";import{q as O}from"./@vue/runtime-dom-DDAG46FW.js";import{T as d}from"./trtc-sdk-v5-D4DbeRqz.js";import{a1 as S}from"./tcm-BcqaE0lo.js";import{f as x,w as W,ak as y,G as P,aN as E,I as _,H as U,aP as $,J as h,a as j,O as H,A as Y}from"./@vue/runtime-core-C6bnekPw.js";import{Q as q}from"./@vue/shared-mAAVTE9n.js";import{n as v}from"./@vue/reactivity-DiY1c2vO.js";import{_ as G}from"./index-DBREMm_z.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const J={key:0,class:"watch-state"},K={key:1,class:"watch-state watch-error"},Q=x({__name:"AssistantWatchCallDialog",props:{modelValue:{type:Boolean},diagnosisId:{}},emits:["update:modelValue","closed"],setup(A,{emit:R}){const c=A,w=R,I=Y({get:()=>c.modelValue,set:e=>w("update:modelValue",e)}),s=v(null),l=v(!1),i=v(""),p=v("旁观视频通话"),n=new Map;let o=null,f=0;function g(e,t){return`${e}\0${String(t)}`}function N(e){return e.startsWith("patient_")?"患者":e.startsWith("doctor_")?"医护":e}async function V(e){if(!o||!s.value||e.streamType!==d.TYPE.STREAM_TYPE_MAIN)return;const t=g(e.userId,e.streamType);if(n.has(t))return;const a=document.createElement("div");a.className="watch-tile";const r=document.createElement("div");r.className="watch-tile-cap",r.textContent=N(e.userId);const m=document.createElement("div");m.className="watch-tile-view",a.appendChild(r),a.appendChild(m),s.value.appendChild(a),n.set(t,{wrap:a,userId:e.userId,streamType:e.streamType});try{await o.startRemoteVideo({userId:e.userId,streamType:e.streamType,view:m})}catch(M){console.warn("[AssistantWatchCall] startRemoteVideo",M)}}async function T(e){if(!o)return;const t=g(e.userId,e.streamType),a=n.get(t);if(a){try{await o.stopRemoteVideo({userId:e.userId,streamType:e.streamType})}catch{}a.wrap.remove(),n.delete(t)}}function C(){o&&(o.on(d.EVENT.REMOTE_VIDEO_AVAILABLE,V),o.on(d.EVENT.REMOTE_VIDEO_UNAVAILABLE,T))}function k(){o&&(o.off(d.EVENT.REMOTE_VIDEO_AVAILABLE,V),o.off(d.EVENT.REMOTE_VIDEO_UNAVAILABLE,T))}async function u(){if(k(),o){for(const[,e]of n){try{await o.stopRemoteVideo({userId:e.userId,streamType:e.streamType})}catch{}e.wrap.remove()}n.clear(),s.value&&(s.value.innerHTML="");try{await o.exitRoom()}catch{}try{o.destroy()}catch{}o=null}else n.clear(),s.value&&(s.value.innerHTML="")}async function L(){const e=++f;if(await u(),!c.diagnosisId){i.value="诊单无效";return}l.value=!0,i.value="",p.value="旁观视频通话";try{const t=await S({diagnosis_id:c.diagnosisId});if(e!==f)return;t.patientName&&(p.value=`旁观视频通话 · ${t.patientName}`),o=d.create(),C();const a={sdkAppId:t.sdkAppId,userId:t.userId,userSig:t.userSig,autoReceiveAudio:!0,autoReceiveVideo:!0,...t.roomId!=null&&t.roomId>0?{roomId:t.roomId}:{strRoomId:t.strRoomId}};if(!(t.roomId!=null&&t.roomId>0)&&!t.strRoomId)throw new Error("缺少房间号");if(await o.enterRoom(a),e!==f){await u();return}l.value=!1}catch(t){l.value=!1;let a="进入房间失败";if(typeof t=="string")a=t;else if(t&&typeof t=="object"){const r=t;r.msg?a=String(r.msg):r.message&&(a=String(r.message))}i.value=a,await u()}}function B(){u(),l.value=!1,i.value="",p.value="旁观视频通话",w("closed")}return W(()=>[c.modelValue,c.diagnosisId],([e,t])=>{if(!e){f++,u();return}t>0&&L()}),(e,t)=>{const a=b,r=D;return y(),P(r,{modelValue:I.value,"onUpdate:modelValue":t[1]||(t[1]=m=>I.value=m),title:p.value,width:"760px","destroy-on-close":"","append-to-body":"","close-on-click-modal":!1,class:"assistant-watch-call-dialog",onClosed:B},{footer:E(()=>[t[3]||(t[3]=h("span",{class:"watch-hint"},"仅观看,不会开启摄像头与麦克风",-1)),j(a,{type:"primary",onClick:t[0]||(t[0]=m=>I.value=!1)},{default:E(()=>[...t[2]||(t[2]=[H("离开",-1)])]),_:1})]),default:E(()=>[l.value?(y(),_("div",J,"正在连接房间…")):i.value?(y(),_("div",K,q(i.value),1)):U("",!0),$(h("div",{ref_key:"gridRef",ref:s,class:"watch-grid"},null,512),[[O,!l.value&&!i.value]])]),_:1},8,["modelValue","title"])}}}),Ot=G(Q,[["__scopeId","data-v-7aff665d"]]);export{Ot as default}; diff --git a/server/public/admin/assets/BloodRecordList-D6MglPEn.js b/server/public/admin/assets/BloodRecordList-C0paVrWv.js similarity index 89% rename from server/public/admin/assets/BloodRecordList-D6MglPEn.js rename to server/public/admin/assets/BloodRecordList-C0paVrWv.js index 7c554505..49787796 100644 --- a/server/public/admin/assets/BloodRecordList-D6MglPEn.js +++ b/server/public/admin/assets/BloodRecordList-C0paVrWv.js @@ -1 +1 @@ -import{i as ee,Q as le,P as te,a2 as oe,J as ae,N as se,M as re,D as ne,B as de,ai as ie,h as ue,C as me,V as pe}from"./element-plus-0wC3naml.js";import{a1 as _e,a2 as ce,a3 as fe,K as ge,L as be}from"./tcm-SLIwsL8z.js";import{i as k,_ as ye}from"./index-E47--KT7.js";import{i as ve}from"./echarts-CNLwa9wG.js";import{f as Ve,b as he,d as ke,w as Y,ak as V,I as M,J as u,G as F,aN as r,O as p,H as O,a as l,A as we,n as Ie}from"./@vue/runtime-core-C6bnekPw.js";import{n as _,a as A,y as s}from"./@vue/reactivity-DiY1c2vO.js";import{Q as w}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";const xe={class:"blood-record-list"},Ce={class:"mb-4"},Ee={class:"mb-4"},De={key:0},Te={key:1},Ne=5,Ue=Ve({__name:"BloodRecordList",props:{diagnosisId:{type:Number,default:0},patientId:{type:Number,default:0},readOnly:{type:Boolean,default:!1}},setup(T){const n=T,P=_([]),c=_(!1),N=_(!1),$=we(()=>a.value.id?"编辑记录":"添加记录"),f=_(7),g=_(null),m=_({dates:[],fasting:[],postprandial_2h:[],other:[]}),U=_();let b=null,R=0;const a=_({id:"",diagnosis_id:n.diagnosisId,patient_id:n.patientId,record_date:"",record_time:"",fasting_blood_sugar:0,postprandial_blood_sugar:0,other_blood_sugar:0,systolic_pressure:0,diastolic_pressure:0,western_medicine:"",insulin:"",remark:""});function B(o){if(o==null||o==="")return"-";const e=Number(String(o).trim());return!Number.isFinite(e)||e===0?"-":String(e.toFixed(2).replace(/\.?0+$/,""))}const h=async()=>{if(!(!n.diagnosisId&&!n.patientId))try{const o={diagnosis_id:n.diagnosisId,patient_id:n.patientId};f.value===0&&g.value?(o.start_date=Math.floor(g.value[0].getTime()/1e3),o.end_date=Math.floor(g.value[1].getTime()/1e3)):o.days=f.value;const e=await _e(o);m.value=e,L()}catch(o){console.error("获取趋势图数据失败:",o)}},G=()=>{f.value!==0&&(g.value=null),h()},L=()=>{Ie(()=>{setTimeout(()=>{if(!U.value)return;const o=U.value;if(o.clientWidth===0||o.clientHeight===0){RL(),100));return}R=0,b&&b.dispose(),b=ve(o);const e=(H,i)=>{const C=new Map;return H.forEach(d=>{C.set(d.date,d.value)}),i.map(d=>C.get(d)||null)},y=e(m.value.fasting,m.value.dates),v=e(m.value.postprandial_2h,m.value.dates),S=e(m.value.other,m.value.dates),x={tooltip:{trigger:"axis",axisPointer:{type:"cross"}},legend:{data:["空腹血糖","餐后2小时血糖","其他血糖"]},grid:{left:"3%",right:"4%",bottom:"3%",containLabel:!0},xAxis:{type:"category",boundaryGap:!1,data:m.value.dates},yAxis:{type:"value",name:"血糖值 (mmol/L)"},series:[{name:"空腹血糖",type:"line",data:y,smooth:!0,connectNulls:!0},{name:"餐后2小时血糖",type:"line",data:v,smooth:!0,connectNulls:!0},{name:"其他血糖",type:"line",data:S,smooth:!0,connectNulls:!0}]};b.setOption(x),b.resize()},100)})},I=async()=>{if(!(!n.diagnosisId&&!n.patientId))try{const o=await ce({diagnosis_id:n.diagnosisId,patient_id:n.patientId});P.value=o}catch(o){console.error("获取记录失败:",o)}},J=()=>{a.value={id:"",diagnosis_id:n.diagnosisId,patient_id:n.patientId,record_date:"",record_time:"",fasting_blood_sugar:0,postprandial_blood_sugar:0,other_blood_sugar:0,systolic_pressure:0,diastolic_pressure:0,western_medicine:"",insulin:"",remark:""},c.value=!0},Q=o=>{a.value={...o,fasting_blood_sugar:parseFloat(o.fasting_blood_sugar)||0,postprandial_blood_sugar:parseFloat(o.postprandial_blood_sugar)||0,other_blood_sugar:parseFloat(o.other_blood_sugar)||0,systolic_pressure:parseInt(o.systolic_pressure)||0,diastolic_pressure:parseInt(o.diastolic_pressure)||0},c.value=!0},W=o=>{a.value.other_blood_sugar=o.replace(/[^\d.]/g,"")},q=async o=>{await k.confirm("确定要删除这条记录吗?");try{await fe({id:o.id}),k.msgSuccess("删除成功"),I()}catch(e){console.error("删除失败:",e)}},z=async()=>{if(!a.value.record_date){k.msgWarning("请选择记录日期");return}N.value=!0;try{a.value.id?(await ge(a.value),k.msgSuccess("编辑成功")):(await be(a.value),k.msgSuccess("添加成功")),c.value=!1,I(),h()}catch(o){console.error("提交失败:",o)}finally{N.value=!1}};return he(()=>{setTimeout(()=>{I(),h()},500)}),ke(()=>{b&&b.dispose()}),Y(()=>[n.diagnosisId,n.patientId],()=>{I(),h()}),Y(()=>n.diagnosisId,o=>{o&&setTimeout(()=>{L()},500)}),(o,e)=>{const y=ee,v=le,S=te,x=oe,H=ae,i=se,C=re,d=de,K=ie,E=ue,D=me,X=ne,j=pe;return V(),M("div",xe,[u("div",Ce,[T.readOnly?O("",!0):(V(),F(y,{key:0,type:"primary",onClick:J},{default:r(()=>[...e[14]||(e[14]=[p("添加记录",-1)])]),_:1})),l(S,{modelValue:s(f),"onUpdate:modelValue":e[0]||(e[0]=t=>A(f)?f.value=t:null),onChange:G,class:"ml-2",style:{width:"150px"}},{default:r(()=>[l(v,{label:"最近7天",value:7}),l(v,{label:"最近30天",value:30}),l(v,{label:"最近90天",value:90}),l(v,{label:"最近一年",value:365}),l(v,{label:"自定义",value:0})]),_:1},8,["modelValue"]),s(f)===0?(V(),F(x,{key:1,modelValue:s(g),"onUpdate:modelValue":e[1]||(e[1]=t=>A(g)?g.value=t:null),type:"daterange","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期",onChange:h,class:"ml-2",style:{width:"300px"}},null,8,["modelValue"])):O("",!0)]),u("div",Ee,[l(H,null,{header:r(()=>[...e[15]||(e[15]=[u("div",{class:"card-header"},[u("span",null,"血糖趋势图")],-1)])]),default:r(()=>[u("div",{ref_key:"chartRef",ref:U,style:{width:"100%",height:"400px"}},null,512)]),_:1})]),l(C,{data:s(P),border:"",style:{width:"100%"}},{default:r(()=>[l(i,{prop:"record_date",label:"记录日期",width:"120"}),l(i,{prop:"record_time",label:"记录时间",width:"100"}),l(i,{label:"空腹血糖(mmol/L)",width:"120"},{default:r(({row:t})=>[p(w(B(t.fasting_blood_sugar)),1)]),_:1}),l(i,{label:"餐后2小时血糖(mmol/L)",width:"150"},{default:r(({row:t})=>[p(w(B(t.postprandial_blood_sugar)),1)]),_:1}),l(i,{label:"其他血糖(mmol/L)",width:"120"},{default:r(({row:t})=>[p(w(B(t.other_blood_sugar)),1)]),_:1}),l(i,{label:"血压(mmHg)",width:"150"},{default:r(({row:t})=>[t.systolic_pressure&&t.diastolic_pressure?(V(),M("span",De,w(t.systolic_pressure)+"/"+w(t.diastolic_pressure),1)):(V(),M("span",Te,"-"))]),_:1}),l(i,{prop:"western_medicine",label:"西药","show-overflow-tooltip":""}),l(i,{prop:"insulin",label:"胰岛素","show-overflow-tooltip":""}),l(i,{prop:"remark",label:"备注","show-overflow-tooltip":""}),T.readOnly?O("",!0):(V(),F(i,{key:0,label:"操作",width:"150",fixed:"right"},{default:r(({row:t})=>[l(y,{link:"",type:"primary",onClick:Z=>Q(t)},{default:r(()=>[...e[16]||(e[16]=[p("编辑",-1)])]),_:1},8,["onClick"]),l(y,{link:"",type:"danger",onClick:Z=>q(t)},{default:r(()=>[...e[17]||(e[17]=[p("删除",-1)])]),_:1},8,["onClick"])]),_:1}))]),_:1},8,["data"]),l(j,{modelValue:s(c),"onUpdate:modelValue":e[13]||(e[13]=t=>A(c)?c.value=t:null),title:s($),width:"600px"},{footer:r(()=>[l(y,{onClick:e[12]||(e[12]=t=>c.value=!1)},{default:r(()=>[...e[23]||(e[23]=[p("取消",-1)])]),_:1}),l(y,{type:"primary",onClick:z,loading:s(N)},{default:r(()=>[...e[24]||(e[24]=[p("确定",-1)])]),_:1},8,["loading"])]),default:r(()=>[l(X,{model:s(a),"label-width":"120px"},{default:r(()=>[l(d,{label:"记录日期",required:""},{default:r(()=>[l(x,{modelValue:s(a).record_date,"onUpdate:modelValue":e[2]||(e[2]=t=>s(a).record_date=t),type:"date",placeholder:"选择日期","value-format":"YYYY-MM-DD",class:"w-full"},null,8,["modelValue"])]),_:1}),l(d,{label:"记录时间"},{default:r(()=>[l(K,{modelValue:s(a).record_time,"onUpdate:modelValue":e[3]||(e[3]=t=>s(a).record_time=t),placeholder:"选择时间",format:"HH:mm","value-format":"HH:mm",class:"w-full"},null,8,["modelValue"])]),_:1}),l(d,{label:"空腹血糖"},{default:r(()=>[l(E,{modelValue:s(a).fasting_blood_sugar,"onUpdate:modelValue":e[4]||(e[4]=t=>s(a).fasting_blood_sugar=t),precision:2,step:.1,min:0,max:50,placeholder:"请输入空腹血糖"},null,8,["modelValue"]),e[18]||(e[18]=u("span",{class:"ml-2"},"mmol/L",-1))]),_:1}),l(d,{label:"餐后2小时血糖"},{default:r(()=>[l(E,{modelValue:s(a).postprandial_blood_sugar,"onUpdate:modelValue":e[5]||(e[5]=t=>s(a).postprandial_blood_sugar=t),precision:2,step:.1,min:0,max:50,placeholder:"请输入餐后2小时血糖"},null,8,["modelValue"]),e[19]||(e[19]=u("span",{class:"ml-2"},"mmol/L",-1))]),_:1}),l(d,{label:"其他血糖"},{default:r(()=>[l(D,{modelValue:s(a).other_blood_sugar,"onUpdate:modelValue":e[6]||(e[6]=t=>s(a).other_blood_sugar=t),placeholder:"请输入其他血糖",type:"number",maxlength:"10",onInput:W,style:{width:"200px"}},null,8,["modelValue"]),e[20]||(e[20]=u("span",{class:"ml-2"},"mmol/L",-1))]),_:1}),l(d,{label:"收缩压(高压)"},{default:r(()=>[l(E,{modelValue:s(a).systolic_pressure,"onUpdate:modelValue":e[7]||(e[7]=t=>s(a).systolic_pressure=t),min:0,max:300,placeholder:"请输入收缩压"},null,8,["modelValue"]),e[21]||(e[21]=u("span",{class:"ml-2"},"mmHg",-1))]),_:1}),l(d,{label:"舒张压(低压)"},{default:r(()=>[l(E,{modelValue:s(a).diastolic_pressure,"onUpdate:modelValue":e[8]||(e[8]=t=>s(a).diastolic_pressure=t),min:0,max:200,placeholder:"请输入舒张压"},null,8,["modelValue"]),e[22]||(e[22]=u("span",{class:"ml-2"},"mmHg",-1))]),_:1}),l(d,{label:"西药"},{default:r(()=>[l(D,{modelValue:s(a).western_medicine,"onUpdate:modelValue":e[9]||(e[9]=t=>s(a).western_medicine=t),placeholder:"请输入西药"},null,8,["modelValue"])]),_:1}),l(d,{label:"胰岛素"},{default:r(()=>[l(D,{modelValue:s(a).insulin,"onUpdate:modelValue":e[10]||(e[10]=t=>s(a).insulin=t),placeholder:"请输入胰岛素"},null,8,["modelValue"])]),_:1}),l(d,{label:"备注"},{default:r(()=>[l(D,{modelValue:s(a).remark,"onUpdate:modelValue":e[11]||(e[11]=t=>s(a).remark=t),type:"textarea",rows:3,placeholder:"请输入备注"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}}),gl=ye(Ue,[["__scopeId","data-v-3a187401"]]);export{gl as default}; +import{i as ee,Q as le,P as te,a2 as oe,J as ae,N as se,M as re,D as ne,B as de,a3 as ie,h as ue,C as me,V as pe}from"./element-plus-DFTWCWyi.js";import{a2 as _e,a3 as ce,a4 as fe,L as ge,M as be}from"./tcm-BcqaE0lo.js";import{i as k,_ as ye}from"./index-DBREMm_z.js";import{i as ve}from"./echarts-CNLwa9wG.js";import{f as Ve,b as he,d as ke,w as Y,ak as V,I as H,J as u,G as F,aN as r,O as p,H as O,a as l,A as we,n as Ie}from"./@vue/runtime-core-C6bnekPw.js";import{n as _,a as A,y as s}from"./@vue/reactivity-DiY1c2vO.js";import{Q as w}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";const xe={class:"blood-record-list"},Ce={class:"mb-4"},Ee={class:"mb-4"},De={key:0},Te={key:1},Ne=5,Ue=Ve({__name:"BloodRecordList",props:{diagnosisId:{type:Number,default:0},patientId:{type:Number,default:0},readOnly:{type:Boolean,default:!1}},setup(T){const n=T,P=_([]),c=_(!1),N=_(!1),$=we(()=>a.value.id?"编辑记录":"添加记录"),f=_(7),g=_(null),m=_({dates:[],fasting:[],postprandial_2h:[],other:[]}),U=_();let b=null,R=0;const a=_({id:"",diagnosis_id:n.diagnosisId,patient_id:n.patientId,record_date:"",record_time:"",fasting_blood_sugar:0,postprandial_blood_sugar:0,other_blood_sugar:0,systolic_pressure:0,diastolic_pressure:0,western_medicine:"",insulin:"",remark:""});function B(o){if(o==null||o==="")return"-";const e=Number(String(o).trim());return!Number.isFinite(e)||e===0?"-":String(e.toFixed(2).replace(/\.?0+$/,""))}const h=async()=>{if(!(!n.diagnosisId&&!n.patientId))try{const o={diagnosis_id:n.diagnosisId,patient_id:n.patientId};f.value===0&&g.value?(o.start_date=Math.floor(g.value[0].getTime()/1e3),o.end_date=Math.floor(g.value[1].getTime()/1e3)):o.days=f.value;const e=await _e(o);m.value=e,L()}catch(o){console.error("获取趋势图数据失败:",o)}},G=()=>{f.value!==0&&(g.value=null),h()},L=()=>{Ie(()=>{setTimeout(()=>{if(!U.value)return;const o=U.value;if(o.clientWidth===0||o.clientHeight===0){RL(),100));return}R=0,b&&b.dispose(),b=ve(o);const e=(S,i)=>{const C=new Map;return S.forEach(d=>{C.set(d.date,d.value)}),i.map(d=>C.get(d)||null)},y=e(m.value.fasting,m.value.dates),v=e(m.value.postprandial_2h,m.value.dates),M=e(m.value.other,m.value.dates),x={tooltip:{trigger:"axis",axisPointer:{type:"cross"}},legend:{data:["空腹血糖","餐后2小时血糖","其他血糖"]},grid:{left:"3%",right:"4%",bottom:"3%",containLabel:!0},xAxis:{type:"category",boundaryGap:!1,data:m.value.dates},yAxis:{type:"value",name:"血糖值 (mmol/L)"},series:[{name:"空腹血糖",type:"line",data:y,smooth:!0,connectNulls:!0},{name:"餐后2小时血糖",type:"line",data:v,smooth:!0,connectNulls:!0},{name:"其他血糖",type:"line",data:M,smooth:!0,connectNulls:!0}]};b.setOption(x),b.resize()},100)})},I=async()=>{if(!(!n.diagnosisId&&!n.patientId))try{const o=await ce({diagnosis_id:n.diagnosisId,patient_id:n.patientId});P.value=o}catch(o){console.error("获取记录失败:",o)}},J=()=>{a.value={id:"",diagnosis_id:n.diagnosisId,patient_id:n.patientId,record_date:"",record_time:"",fasting_blood_sugar:0,postprandial_blood_sugar:0,other_blood_sugar:0,systolic_pressure:0,diastolic_pressure:0,western_medicine:"",insulin:"",remark:""},c.value=!0},Q=o=>{a.value={...o,fasting_blood_sugar:parseFloat(o.fasting_blood_sugar)||0,postprandial_blood_sugar:parseFloat(o.postprandial_blood_sugar)||0,other_blood_sugar:parseFloat(o.other_blood_sugar)||0,systolic_pressure:parseInt(o.systolic_pressure)||0,diastolic_pressure:parseInt(o.diastolic_pressure)||0},c.value=!0},W=o=>{a.value.other_blood_sugar=o.replace(/[^\d.]/g,"")},q=async o=>{await k.confirm("确定要删除这条记录吗?");try{await fe({id:o.id}),k.msgSuccess("删除成功"),I()}catch(e){console.error("删除失败:",e)}},z=async()=>{if(!a.value.record_date){k.msgWarning("请选择记录日期");return}N.value=!0;try{a.value.id?(await ge(a.value),k.msgSuccess("编辑成功")):(await be(a.value),k.msgSuccess("添加成功")),c.value=!1,I(),h()}catch(o){console.error("提交失败:",o)}finally{N.value=!1}};return he(()=>{setTimeout(()=>{I(),h()},500)}),ke(()=>{b&&b.dispose()}),Y(()=>[n.diagnosisId,n.patientId],()=>{I(),h()}),Y(()=>n.diagnosisId,o=>{o&&setTimeout(()=>{L()},500)}),(o,e)=>{const y=ee,v=le,M=te,x=oe,S=ae,i=se,C=re,d=de,X=ie,E=ue,D=me,j=ne,K=pe;return V(),H("div",xe,[u("div",Ce,[T.readOnly?O("",!0):(V(),F(y,{key:0,type:"primary",onClick:J},{default:r(()=>[...e[14]||(e[14]=[p("添加记录",-1)])]),_:1})),l(M,{modelValue:s(f),"onUpdate:modelValue":e[0]||(e[0]=t=>A(f)?f.value=t:null),onChange:G,class:"ml-2",style:{width:"150px"}},{default:r(()=>[l(v,{label:"最近7天",value:7}),l(v,{label:"最近30天",value:30}),l(v,{label:"最近90天",value:90}),l(v,{label:"最近一年",value:365}),l(v,{label:"自定义",value:0})]),_:1},8,["modelValue"]),s(f)===0?(V(),F(x,{key:1,modelValue:s(g),"onUpdate:modelValue":e[1]||(e[1]=t=>A(g)?g.value=t:null),type:"daterange","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期",onChange:h,class:"ml-2",style:{width:"300px"}},null,8,["modelValue"])):O("",!0)]),u("div",Ee,[l(S,null,{header:r(()=>[...e[15]||(e[15]=[u("div",{class:"card-header"},[u("span",null,"血糖趋势图")],-1)])]),default:r(()=>[u("div",{ref_key:"chartRef",ref:U,style:{width:"100%",height:"400px"}},null,512)]),_:1})]),l(C,{data:s(P),border:"",style:{width:"100%"}},{default:r(()=>[l(i,{prop:"record_date",label:"记录日期",width:"120"}),l(i,{prop:"record_time",label:"记录时间",width:"100"}),l(i,{label:"空腹血糖(mmol/L)",width:"120"},{default:r(({row:t})=>[p(w(B(t.fasting_blood_sugar)),1)]),_:1}),l(i,{label:"餐后2小时血糖(mmol/L)",width:"150"},{default:r(({row:t})=>[p(w(B(t.postprandial_blood_sugar)),1)]),_:1}),l(i,{label:"其他血糖(mmol/L)",width:"120"},{default:r(({row:t})=>[p(w(B(t.other_blood_sugar)),1)]),_:1}),l(i,{label:"血压(mmHg)",width:"150"},{default:r(({row:t})=>[t.systolic_pressure&&t.diastolic_pressure?(V(),H("span",De,w(t.systolic_pressure)+"/"+w(t.diastolic_pressure),1)):(V(),H("span",Te,"-"))]),_:1}),l(i,{prop:"western_medicine",label:"西药","show-overflow-tooltip":""}),l(i,{prop:"insulin",label:"胰岛素","show-overflow-tooltip":""}),l(i,{prop:"remark",label:"备注","show-overflow-tooltip":""}),T.readOnly?O("",!0):(V(),F(i,{key:0,label:"操作",width:"150",fixed:"right"},{default:r(({row:t})=>[l(y,{link:"",type:"primary",onClick:Z=>Q(t)},{default:r(()=>[...e[16]||(e[16]=[p("编辑",-1)])]),_:1},8,["onClick"]),l(y,{link:"",type:"danger",onClick:Z=>q(t)},{default:r(()=>[...e[17]||(e[17]=[p("删除",-1)])]),_:1},8,["onClick"])]),_:1}))]),_:1},8,["data"]),l(K,{modelValue:s(c),"onUpdate:modelValue":e[13]||(e[13]=t=>A(c)?c.value=t:null),title:s($),width:"600px"},{footer:r(()=>[l(y,{onClick:e[12]||(e[12]=t=>c.value=!1)},{default:r(()=>[...e[23]||(e[23]=[p("取消",-1)])]),_:1}),l(y,{type:"primary",onClick:z,loading:s(N)},{default:r(()=>[...e[24]||(e[24]=[p("确定",-1)])]),_:1},8,["loading"])]),default:r(()=>[l(j,{model:s(a),"label-width":"120px"},{default:r(()=>[l(d,{label:"记录日期",required:""},{default:r(()=>[l(x,{modelValue:s(a).record_date,"onUpdate:modelValue":e[2]||(e[2]=t=>s(a).record_date=t),type:"date",placeholder:"选择日期","value-format":"YYYY-MM-DD",class:"w-full"},null,8,["modelValue"])]),_:1}),l(d,{label:"记录时间"},{default:r(()=>[l(X,{modelValue:s(a).record_time,"onUpdate:modelValue":e[3]||(e[3]=t=>s(a).record_time=t),placeholder:"选择时间",format:"HH:mm","value-format":"HH:mm",class:"w-full"},null,8,["modelValue"])]),_:1}),l(d,{label:"空腹血糖"},{default:r(()=>[l(E,{modelValue:s(a).fasting_blood_sugar,"onUpdate:modelValue":e[4]||(e[4]=t=>s(a).fasting_blood_sugar=t),precision:2,step:.1,min:0,max:50,placeholder:"请输入空腹血糖"},null,8,["modelValue"]),e[18]||(e[18]=u("span",{class:"ml-2"},"mmol/L",-1))]),_:1}),l(d,{label:"餐后2小时血糖"},{default:r(()=>[l(E,{modelValue:s(a).postprandial_blood_sugar,"onUpdate:modelValue":e[5]||(e[5]=t=>s(a).postprandial_blood_sugar=t),precision:2,step:.1,min:0,max:50,placeholder:"请输入餐后2小时血糖"},null,8,["modelValue"]),e[19]||(e[19]=u("span",{class:"ml-2"},"mmol/L",-1))]),_:1}),l(d,{label:"其他血糖"},{default:r(()=>[l(D,{modelValue:s(a).other_blood_sugar,"onUpdate:modelValue":e[6]||(e[6]=t=>s(a).other_blood_sugar=t),placeholder:"请输入其他血糖",type:"number",maxlength:"10",onInput:W,style:{width:"200px"}},null,8,["modelValue"]),e[20]||(e[20]=u("span",{class:"ml-2"},"mmol/L",-1))]),_:1}),l(d,{label:"收缩压(高压)"},{default:r(()=>[l(E,{modelValue:s(a).systolic_pressure,"onUpdate:modelValue":e[7]||(e[7]=t=>s(a).systolic_pressure=t),min:0,max:300,placeholder:"请输入收缩压"},null,8,["modelValue"]),e[21]||(e[21]=u("span",{class:"ml-2"},"mmHg",-1))]),_:1}),l(d,{label:"舒张压(低压)"},{default:r(()=>[l(E,{modelValue:s(a).diastolic_pressure,"onUpdate:modelValue":e[8]||(e[8]=t=>s(a).diastolic_pressure=t),min:0,max:200,placeholder:"请输入舒张压"},null,8,["modelValue"]),e[22]||(e[22]=u("span",{class:"ml-2"},"mmHg",-1))]),_:1}),l(d,{label:"西药"},{default:r(()=>[l(D,{modelValue:s(a).western_medicine,"onUpdate:modelValue":e[9]||(e[9]=t=>s(a).western_medicine=t),placeholder:"请输入西药"},null,8,["modelValue"])]),_:1}),l(d,{label:"胰岛素"},{default:r(()=>[l(D,{modelValue:s(a).insulin,"onUpdate:modelValue":e[10]||(e[10]=t=>s(a).insulin=t),placeholder:"请输入胰岛素"},null,8,["modelValue"])]),_:1}),l(d,{label:"备注"},{default:r(()=>[l(D,{modelValue:s(a).remark,"onUpdate:modelValue":e[11]||(e[11]=t=>s(a).remark=t),type:"textarea",rows:3,placeholder:"请输入备注"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}}),gl=ye(Ue,[["__scopeId","data-v-3a187401"]]);export{gl as default}; diff --git a/server/public/admin/assets/CallRecordPanel-CLexkvxf.js b/server/public/admin/assets/CallRecordPanel-D709DmJk.js similarity index 91% rename from server/public/admin/assets/CallRecordPanel-CLexkvxf.js rename to server/public/admin/assets/CallRecordPanel-D709DmJk.js index 770c714a..5130fedc 100644 --- a/server/public/admin/assets/CallRecordPanel-CLexkvxf.js +++ b/server/public/admin/assets/CallRecordPanel-D709DmJk.js @@ -1 +1 @@ -import{i as T,M as O,N as P,L as V}from"./element-plus-0wC3naml.js";import L from"./RecordingPlaybackBlock-z0PPBYke.js";import{U as h}from"./index-Ci4dcEQh.js";import{i as d,_ as z}from"./index-E47--KT7.js";import{a4 as D,a5 as w,a6 as G}from"./tcm-SLIwsL8z.js";import{f as M,aG as H,w as J,ak as c,I as _,a as r,aN as l,O as m,H as v,aP as Q,G as x,J as y}from"./@vue/runtime-core-C6bnekPw.js";import{Q as n}from"./@vue/shared-mAAVTE9n.js";import{n as k}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./RecordingVideoPlayer-DWV7klHs.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-DoYUJmkp.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const j={class:"call-record-panel"},q={key:0,class:"call-record-toolbar"},A={class:"call-record-empty"},F={class:"call-record-empty__desc"},K={key:0,class:"text-primary"},W={key:1,class:"text-gray-400"},X=M({__name:"CallRecordPanel",props:{diagnosisId:{},readOnly:{type:Boolean,default:!1}},setup(p,{expose:R}){const s=p,f=k(!1),g=k([]),U=H("toolbarUploadRef"),u=async()=>{if(s.diagnosisId){f.value=!0;try{g.value=await D({diagnosis_id:s.diagnosisId})||[]}catch(a){console.error(a),g.value=[]}finally{f.value=!1}}};J(()=>s.diagnosisId,()=>{u()},{immediate:!0}),R({refresh:u});function C(a){return{1:"进行中",2:"已结束",3:"未接听",4:"已取消"}[a]??"—"}async function I(a){const e=b(a);if(!e){d.msgError("上传成功但未返回视频地址");return}try{const t=await G({diagnosis_id:s.diagnosisId});await w({diagnosis_id:s.diagnosisId,call_record_id:Number((t==null?void 0:t.id)||0),file_url:e}),d.msgSuccess("视频回放上传成功"),await u()}catch(t){d.msgError((t==null?void 0:t.message)||"写入回放失败")}}async function S(a,e){const t=b(e);if(!t){d.msgError("上传成功但未返回视频地址");return}try{await w({diagnosis_id:s.diagnosisId,call_record_id:Number(a.id||0),file_url:t}),d.msgSuccess("视频回放上传成功"),await u()}catch(o){d.msgError((o==null?void 0:o.message)||"写入回放失败")}}function b(a){var e,t;return String(((e=a==null?void 0:a.data)==null?void 0:e.uri)||((t=a==null?void 0:a.data)==null?void 0:t.url)||"").trim()}return(a,e)=>{const t=T,o=P,E=O,N=V;return c(),_("div",j,[p.readOnly?v("",!0):(c(),_("div",q,[r(h,{ref_key:"toolbarUploadRef",ref:U,type:"video",direct:"",multiple:!1,limit:1,"show-progress":!0,onSuccess:I},{default:l(()=>[r(t,{type:"primary"},{default:l(()=>[...e[0]||(e[0]=[m("上传视频",-1)])]),_:1})]),_:1},512)])),Q((c(),x(E,{data:g.value,border:"",stripe:""},{empty:l(()=>[y("div",A,[e[1]||(e[1]=y("div",{class:"call-record-empty__title"},"暂无通话记录",-1)),y("div",F,n(p.readOnly?"暂无录制回放数据。":"现在可以直接点击上方“上传视频”。系统会自动生成一条默认通话记录来承载回放。"),1)])]),default:l(()=>[r(o,{label:"录制回放","min-width":"320"},{default:l(({row:i})=>[r(L,{"record-id":i.id,urls:i.recording_urls_list},null,8,["record-id","urls"])]),_:1}),r(o,{label:"开始时间",width:"170",prop:"start_time_text"}),r(o,{label:"结束时间",width:"170",prop:"end_time_text"}),r(o,{label:"通话类型",width:"100"},{default:l(({row:i})=>[m(n(i.call_type===1?"语音":"视频"),1)]),_:1}),r(o,{label:"房间号",width:"180"},{default:l(({row:i})=>[i.room_id?(c(),_("span",K,n(i.room_id),1)):(c(),_("span",W,"—"))]),_:1}),r(o,{label:"时长",width:"110",prop:"duration_text"}),r(o,{label:"状态",width:"90"},{default:l(({row:i})=>[m(n(C(i.status)),1)]),_:1}),r(o,{label:"录制",width:"100"},{default:l(({row:i})=>[m(n(i.recording_status_text||"—"),1)]),_:1}),p.readOnly?v("",!0):(c(),x(o,{key:0,label:"上传回放",width:"180"},{default:l(({row:i})=>[r(h,{type:"video",direct:"",multiple:!1,limit:1,"show-progress":!0,onSuccess:B=>S(i,B)},{default:l(()=>[r(t,{type:"primary",plain:"",size:"small"},{default:l(()=>[...e[2]||(e[2]=[m("上传视频",-1)])]),_:1})]),_:1},8,["onSuccess"])]),_:1}))]),_:1},8,["data"])),[[N,f.value]])])}}}),Mt=z(X,[["__scopeId","data-v-78d5c9e4"]]);export{Mt as default}; +import{i as T,M as O,N as P,L as V}from"./element-plus-DFTWCWyi.js";import L from"./RecordingPlaybackBlock-COxLgEiR.js";import{U as h}from"./index-CRoZWY-W.js";import{i as d,_ as z}from"./index-DBREMm_z.js";import{a5 as D,a6 as w,a7 as G}from"./tcm-BcqaE0lo.js";import{f as M,aG as H,w as J,ak as c,I as _,a as r,aN as l,O as m,H as v,aP as Q,G as x,J as y}from"./@vue/runtime-core-C6bnekPw.js";import{Q as n}from"./@vue/shared-mAAVTE9n.js";import{n as k}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./RecordingVideoPlayer-DJ_BP9x7.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-BimpIRb_.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const j={class:"call-record-panel"},q={key:0,class:"call-record-toolbar"},A={class:"call-record-empty"},F={class:"call-record-empty__desc"},K={key:0,class:"text-primary"},W={key:1,class:"text-gray-400"},X=M({__name:"CallRecordPanel",props:{diagnosisId:{},readOnly:{type:Boolean,default:!1}},setup(p,{expose:R}){const s=p,f=k(!1),g=k([]),U=H("toolbarUploadRef"),u=async()=>{if(s.diagnosisId){f.value=!0;try{g.value=await D({diagnosis_id:s.diagnosisId})||[]}catch(a){console.error(a),g.value=[]}finally{f.value=!1}}};J(()=>s.diagnosisId,()=>{u()},{immediate:!0}),R({refresh:u});function C(a){return{1:"进行中",2:"已结束",3:"未接听",4:"已取消"}[a]??"—"}async function I(a){const e=b(a);if(!e){d.msgError("上传成功但未返回视频地址");return}try{const t=await G({diagnosis_id:s.diagnosisId});await w({diagnosis_id:s.diagnosisId,call_record_id:Number((t==null?void 0:t.id)||0),file_url:e}),d.msgSuccess("视频回放上传成功"),await u()}catch(t){d.msgError((t==null?void 0:t.message)||"写入回放失败")}}async function S(a,e){const t=b(e);if(!t){d.msgError("上传成功但未返回视频地址");return}try{await w({diagnosis_id:s.diagnosisId,call_record_id:Number(a.id||0),file_url:t}),d.msgSuccess("视频回放上传成功"),await u()}catch(o){d.msgError((o==null?void 0:o.message)||"写入回放失败")}}function b(a){var e,t;return String(((e=a==null?void 0:a.data)==null?void 0:e.uri)||((t=a==null?void 0:a.data)==null?void 0:t.url)||"").trim()}return(a,e)=>{const t=T,o=P,E=O,N=V;return c(),_("div",j,[p.readOnly?v("",!0):(c(),_("div",q,[r(h,{ref_key:"toolbarUploadRef",ref:U,type:"video",direct:"",multiple:!1,limit:1,"show-progress":!0,onSuccess:I},{default:l(()=>[r(t,{type:"primary"},{default:l(()=>[...e[0]||(e[0]=[m("上传视频",-1)])]),_:1})]),_:1},512)])),Q((c(),x(E,{data:g.value,border:"",stripe:""},{empty:l(()=>[y("div",A,[e[1]||(e[1]=y("div",{class:"call-record-empty__title"},"暂无通话记录",-1)),y("div",F,n(p.readOnly?"暂无录制回放数据。":"现在可以直接点击上方“上传视频”。系统会自动生成一条默认通话记录来承载回放。"),1)])]),default:l(()=>[r(o,{label:"录制回放","min-width":"320"},{default:l(({row:i})=>[r(L,{"record-id":i.id,urls:i.recording_urls_list},null,8,["record-id","urls"])]),_:1}),r(o,{label:"开始时间",width:"170",prop:"start_time_text"}),r(o,{label:"结束时间",width:"170",prop:"end_time_text"}),r(o,{label:"通话类型",width:"100"},{default:l(({row:i})=>[m(n(i.call_type===1?"语音":"视频"),1)]),_:1}),r(o,{label:"房间号",width:"180"},{default:l(({row:i})=>[i.room_id?(c(),_("span",K,n(i.room_id),1)):(c(),_("span",W,"—"))]),_:1}),r(o,{label:"时长",width:"110",prop:"duration_text"}),r(o,{label:"状态",width:"90"},{default:l(({row:i})=>[m(n(C(i.status)),1)]),_:1}),r(o,{label:"录制",width:"100"},{default:l(({row:i})=>[m(n(i.recording_status_text||"—"),1)]),_:1}),p.readOnly?v("",!0):(c(),x(o,{key:0,label:"上传回放",width:"180"},{default:l(({row:i})=>[r(h,{type:"video",direct:"",multiple:!1,limit:1,"show-progress":!0,onSuccess:B=>S(i,B)},{default:l(()=>[r(t,{type:"primary",plain:"",size:"small"},{default:l(()=>[...e[2]||(e[2]=[m("上传视频",-1)])]),_:1})]),_:1},8,["onSuccess"])]),_:1}))]),_:1},8,["data"])),[[N,f.value]])])}}}),Mt=z(X,[["__scopeId","data-v-78d5c9e4"]]);export{Mt as default}; diff --git a/server/public/admin/assets/CaseRecordList-CsyYkwG-.js b/server/public/admin/assets/CaseRecordList-X66GZZcg.js similarity index 96% rename from server/public/admin/assets/CaseRecordList-CsyYkwG-.js rename to server/public/admin/assets/CaseRecordList-X66GZZcg.js index d8207c88..10c9a555 100644 --- a/server/public/admin/assets/CaseRecordList-CsyYkwG-.js +++ b/server/public/admin/assets/CaseRecordList-X66GZZcg.js @@ -1 +1 @@ -import{i as L,L as T,N as V,T as D,M as z,R as M}from"./element-plus-0wC3naml.js";import{a7 as O}from"./tcm-SLIwsL8z.js";import{f as P,b as F,w as R,ak as a,I as n,a as i,aN as s,O as m,H as w,aP as j,G as g,F as A,J as H}from"./@vue/runtime-core-C6bnekPw.js";import{y as d,n as k}from"./@vue/reactivity-DiY1c2vO.js";import{Q as c}from"./@vue/shared-mAAVTE9n.js";import{_ as G}from"./index-E47--KT7.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const J={class:"case-record-list"},Q={key:0,class:"mb-3 flex justify-end"},Y={key:0},q={key:1,class:"text-gray-400"},K={class:"void-detail text-xs text-gray-500 mt-1"},U=P({__name:"CaseRecordList",props:{diagnosisId:{type:Number,default:0},readOnly:{type:Boolean,default:!1}},emits:["view","openPrescription"],setup(y,{expose:x,emit:C}){const _=y,h=C,l=k([]),p=k(!1),u=async()=>{if(_.diagnosisId){p.value=!0;try{const e=await O({diagnosis_id:_.diagnosisId});l.value=Array.isArray(e)?e:[]}catch(e){console.error("获取病历记录失败:",e),l.value=[]}finally{p.value=!1}}},S=e=>{if(!e)return"";const t=new Date(e*1e3);return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")} ${String(t.getHours()).padStart(2,"0")}:${String(t.getMinutes()).padStart(2,"0")}`},$=e=>{h("view",e)},B=()=>{h("openPrescription")};return F(()=>{u()}),R(()=>_.diagnosisId,()=>{u()}),x({refresh:u}),(e,t)=>{const b=L,r=V,v=D,E=z,N=M,I=T;return a(),n("div",J,[y.readOnly?w("",!0):(a(),n("div",Q,[i(b,{type:"primary",size:"small",onClick:B},{default:s(()=>[...t[0]||(t[0]=[m("开方",-1)])]),_:1})])),j((a(),g(E,{data:d(l),border:""},{default:s(()=>[i(r,{prop:"prescription_date",label:"就诊日期",width:"120"}),i(r,{prop:"visit_no",label:"门诊号",width:"120"}),i(r,{prop:"clinical_diagnosis",label:"临床诊断","min-width":"160","show-overflow-tooltip":""}),i(r,{label:"处方摘要","min-width":"180"},{default:s(({row:o})=>[o.herbs&&o.herbs.length?(a(),n("span",Y,c(o.herbs.slice(0,3).map(f=>`${f.name}${f.dosage}克`).join("、"))+c(o.herbs.length>3?"...":""),1)):(a(),n("span",q,"—"))]),_:1}),i(r,{prop:"doctor_name",label:"医师",width:"90","show-overflow-tooltip":""}),i(r,{label:"状态",width:"140",align:"center"},{default:s(({row:o})=>[o.void_status===1?(a(),n(A,{key:0},[i(v,{type:"danger",size:"small"},{default:s(()=>[...t[1]||(t[1]=[m("已作废",-1)])]),_:1}),H("div",K,c(o.void_by_name||"—")+" "+c(S(o.void_time)),1)],64)):(a(),g(v,{key:1,type:"success",size:"small"},{default:s(()=>[...t[2]||(t[2]=[m("正常",-1)])]),_:1}))]),_:1}),i(r,{label:"操作",width:"120",fixed:"right"},{default:s(({row:o})=>[i(b,{link:"",type:"primary",size:"small",onClick:f=>$(o)},{default:s(()=>[...t[3]||(t[3]=[m(" 查看 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[I,d(p)]]),!d(p)&&d(l).length===0?(a(),g(N,{key:1,description:"暂无病历记录,开方后会自动显示",class:"mt-4"})):w("",!0)])}}}),zt=G(U,[["__scopeId","data-v-043d2738"]]);export{zt as default}; +import{i as L,L as T,N as V,T as D,M as z,R as M}from"./element-plus-DFTWCWyi.js";import{a8 as O}from"./tcm-BcqaE0lo.js";import{f as P,b as F,w as R,ak as a,I as n,a as i,aN as s,O as m,H as w,aP as j,G as g,F as A,J as H}from"./@vue/runtime-core-C6bnekPw.js";import{y as d,n as k}from"./@vue/reactivity-DiY1c2vO.js";import{Q as c}from"./@vue/shared-mAAVTE9n.js";import{_ as G}from"./index-DBREMm_z.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const J={class:"case-record-list"},Q={key:0,class:"mb-3 flex justify-end"},Y={key:0},q={key:1,class:"text-gray-400"},K={class:"void-detail text-xs text-gray-500 mt-1"},U=P({__name:"CaseRecordList",props:{diagnosisId:{type:Number,default:0},readOnly:{type:Boolean,default:!1}},emits:["view","openPrescription"],setup(y,{expose:x,emit:C}){const _=y,h=C,l=k([]),p=k(!1),u=async()=>{if(_.diagnosisId){p.value=!0;try{const e=await O({diagnosis_id:_.diagnosisId});l.value=Array.isArray(e)?e:[]}catch(e){console.error("获取病历记录失败:",e),l.value=[]}finally{p.value=!1}}},S=e=>{if(!e)return"";const t=new Date(e*1e3);return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")} ${String(t.getHours()).padStart(2,"0")}:${String(t.getMinutes()).padStart(2,"0")}`},$=e=>{h("view",e)},B=()=>{h("openPrescription")};return F(()=>{u()}),R(()=>_.diagnosisId,()=>{u()}),x({refresh:u}),(e,t)=>{const b=L,r=V,v=D,E=z,N=M,I=T;return a(),n("div",J,[y.readOnly?w("",!0):(a(),n("div",Q,[i(b,{type:"primary",size:"small",onClick:B},{default:s(()=>[...t[0]||(t[0]=[m("开方",-1)])]),_:1})])),j((a(),g(E,{data:d(l),border:""},{default:s(()=>[i(r,{prop:"prescription_date",label:"就诊日期",width:"120"}),i(r,{prop:"visit_no",label:"门诊号",width:"120"}),i(r,{prop:"clinical_diagnosis",label:"临床诊断","min-width":"160","show-overflow-tooltip":""}),i(r,{label:"处方摘要","min-width":"180"},{default:s(({row:o})=>[o.herbs&&o.herbs.length?(a(),n("span",Y,c(o.herbs.slice(0,3).map(f=>`${f.name}${f.dosage}克`).join("、"))+c(o.herbs.length>3?"...":""),1)):(a(),n("span",q,"—"))]),_:1}),i(r,{prop:"doctor_name",label:"医师",width:"90","show-overflow-tooltip":""}),i(r,{label:"状态",width:"140",align:"center"},{default:s(({row:o})=>[o.void_status===1?(a(),n(A,{key:0},[i(v,{type:"danger",size:"small"},{default:s(()=>[...t[1]||(t[1]=[m("已作废",-1)])]),_:1}),H("div",K,c(o.void_by_name||"—")+" "+c(S(o.void_time)),1)],64)):(a(),g(v,{key:1,type:"success",size:"small"},{default:s(()=>[...t[2]||(t[2]=[m("正常",-1)])]),_:1}))]),_:1}),i(r,{label:"操作",width:"120",fixed:"right"},{default:s(({row:o})=>[i(b,{link:"",type:"primary",size:"small",onClick:f=>$(o)},{default:s(()=>[...t[3]||(t[3]=[m(" 查看 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[I,d(p)]]),!d(p)&&d(l).length===0?(a(),g(N,{key:1,description:"暂无病历记录,开方后会自动显示",class:"mt-4"})):w("",!0)])}}}),zt=G(U,[["__scopeId","data-v-043d2738"]]);export{zt as default}; diff --git a/server/public/admin/assets/DailyMatrix-0DiBlpfB.js b/server/public/admin/assets/DailyMatrix-CZKqLaUg.js similarity index 96% rename from server/public/admin/assets/DailyMatrix-0DiBlpfB.js rename to server/public/admin/assets/DailyMatrix-CZKqLaUg.js index d3351045..87d9ff9b 100644 --- a/server/public/admin/assets/DailyMatrix-0DiBlpfB.js +++ b/server/public/admin/assets/DailyMatrix-CZKqLaUg.js @@ -1,2 +1,2 @@ -import{G as ul,F as dl,i as ml,M as pl,N as fl,r as vl,V as gl,D as _l,B as cl,a2 as bl,ai as yl,h as kl,C as Vl,U as xl,P as wl,Q as Dl,L as Rl,R as Cl}from"./element-plus-0wC3naml.js";import{_ as Sl}from"./picker-DlbAZkDm.js";import{H as Ul}from"./vue-echarts-BNtg2q_G.js";import Tl from"./DiagnosisTodoList-DC7uqd6f.js";import{h as El}from"./perm-YIJpPBOg.js";import{I as Hl,J as Ml,K as Yl,L as Nl,M as Bl,N as Wl,O as hl,P as $l,Q as Al}from"./tcm-SLIwsL8z.js";import{c as Ll,f as Fl,d as Il,e as ql,b as Pl}from"./blood-thresholds-CJ1fqMjh.js";import{i as C,_ as Ol}from"./index-E47--KT7.js";import{f as zl,w as Gl,n as _e,b as Ql,d as Jl,aP as Kl,ak as _,I as y,J as c,a,aN as i,O as v,G as T,H as F,F as I,ap as ce,A as d}from"./@vue/runtime-core-C6bnekPw.js";import{n as g,y as jl}from"./@vue/reactivity-DiY1c2vO.js";import{o as Xl,Q as ie}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-nymJKQXP.js";import"./index-B56X8bEB.js";import"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import"./index-BHTgr4Ka.js";import"./index-Ci4dcEQh.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-DoYUJmkp.js";import"./index.vue_vue_type_script_setup_true_lang-Bl0f8aX8.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./usePaging-VsbTxSU0.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./resize-detector-G6vbKCU7.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Zl={class:"daily-matrix"},ea={class:"daily-matrix__toolbar"},la={class:"daily-matrix__toolbar-left"},aa={key:0,class:"daily-matrix__toolbar-right"},ta={key:1,class:"daily-matrix__toolbar-right"},oa=["onClick"],na={class:"daily-matrix__tracking-tooltip"},ia={class:"daily-matrix__tracking-preview"},ra={key:0,class:"daily-matrix__cell-up"},sa={class:"daily-matrix__chart"},ua={key:0,class:"daily-matrix__todo"},da={class:"daily-matrix__tracking-existing"},ma=120,pa=zl({__name:"DailyMatrix",props:{diagnosisId:{},patientId:{},age:{default:void 0},readOnly:{type:Boolean,default:!1},patientName:{default:""}},setup(Ye,{expose:Ne}){const Be=["tcm.diagnosis/dailyRecord"],D=Ye,R=d(()=>Number(D.diagnosisId||0)),q=d(()=>Number(D.patientId||0)),re=d(()=>!!D.readOnly),We=d(()=>D.patientName||""),be=d(()=>El(Be)),S=d(()=>be.value&&!re.value),he=d(()=>be.value),se=g(!1),U=g("7"),B=g(null),P=g([]),O=g([]),z=g([]),G=g([]),E=g(!1),H=g(!1),M=g(!1),Y=g(!1),ue=g(!1),de=g(!1),me=g(!1),pe=g(!1),s=g(K()),m=g(j()),p=g(X()),b=g({note_date:"",existing_content:"",content:""}),$e=d(()=>s.value.id?"编辑血糖血压记录":"新增血糖血压记录"),Ae=d(()=>m.value.id?"编辑饮食记录":"新增饮食记录"),Le=d(()=>p.value.id?"编辑运动记录":"新增运动记录"),Q=d(()=>W(new Date)),N=d(()=>!re.value&&b.value.note_date===Q.value),Fe=d(()=>N.value?"新增/追加跟踪备注":"查看跟踪备注"),ye=g(null),ke=g(0),Ie=[{key:"fasting",label:"空腹血糖"},{key:"postprandial",label:"餐后2h血糖"},{key:"other",label:"其他血糖"},{key:"bp",label:"血压"},{key:"western",label:"西药"},{key:"insulin",label:"胰岛素"},{key:"breakfast",label:"早餐"},{key:"lunch",label:"午餐"},{key:"dinner",label:"晚餐"},{key:"exercise",label:"运动"},{key:"tracking",label:"跟踪备注"}],qe=d(()=>[...Ie]),Pe=d(()=>{const t=$.value.length;if(t<=0||t>7)return 100;const e=Math.max(ke.value-ma-2,0),l=e>0?Math.floor(e/t):100;return Math.max(100,l)});let J=0;function W(t){return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")}`}function Ve(t){return new Date(`${t}T00:00:00`)}function h(){var t;ke.value=((t=ye.value)==null?void 0:t.clientWidth)||0}function K(t=""){return{id:"",diagnosis_id:R.value,patient_id:q.value,record_date:t,record_time:"",fasting_blood_sugar:0,postprandial_blood_sugar:0,other_blood_sugar:"",systolic_pressure:0,diastolic_pressure:0,western_medicine:"",insulin:"",remark:""}}function j(t=""){return{id:"",diagnosis_id:R.value,patient_id:q.value,record_date:t,breakfast_foods:"",breakfast_images:[],lunch_foods:"",lunch_images:[],dinner_foods:"",dinner_images:[],note:""}}function X(t=""){return{id:"",diagnosis_id:R.value,patient_id:q.value,record_date:t,exercise_type:"",duration:0,intensity:1,images:[],note:""}}function Oe(t){return t.getTime()>Date.now()}function xe(t){if(t==="custom"){const[f,r]=B.value||["",""];return{start:f||"",end:r||""}}const e=t==="7"?7:30,l=new Date;l.setHours(0,0,0,0);const n=new Date(l);return n.setDate(n.getDate()-(e-1)),{start:W(n),end:W(l)}}const we=d(()=>xe(U.value)),$=d(()=>{const{start:t,end:e}=we.value;if(!t||!e)return[];const l=[],n=Ve(e),f=Ve(t).getTime();for(;n.getTime()>=f;)l.push(W(n)),n.setDate(n.getDate()-1);return l}),fe=d(()=>{const t=new Map;for(const e of P.value){const l=String(e.record_date||"");if(!l)continue;t.has(l)||t.set(l,{id:e.id,diagnosis_id:e.diagnosis_id,patient_id:e.patient_id,record_date:l,record_time:e.record_time||"",record_date_ts:e.record_date_ts});const n=t.get(l),f=["fasting_blood_sugar","postprandial_blood_sugar","other_blood_sugar","systolic_pressure","diastolic_pressure","western_medicine","insulin","remark"];for(const r of f)(n[r]===void 0||n[r]===null||n[r]==="")&&e[r]!==void 0&&e[r]!==null&&e[r]!==""&&(n[r]=e[r])}return t}),De=d(()=>{const t=new Map;for(const e of O.value){const l=String(e.record_date||"");!l||t.has(l)||t.set(l,e)}return t}),Re=d(()=>{const t=new Map;for(const e of z.value){const l=String(e.record_date||"");!l||t.has(l)||t.set(l,e)}return t}),Z=d(()=>{const t=new Map;for(const e of G.value){const l=String(e.note_date||"");!l||t.has(l)||t.set(l,e)}return t}),Ce=d(()=>[...$.value].reverse()),ee=d(()=>Ce.value.reduce((t,e)=>{const l=fe.value.get(e);return t.fasting.push(Ue(l==null?void 0:l.fasting_blood_sugar)),t.postprandial.push(Ue(l==null?void 0:l.postprandial_blood_sugar)),t},{fasting:[],postprandial:[]})),ze=d(()=>[...ee.value.fasting,...ee.value.postprandial].some(t=>t!=null)),Ge=d(()=>({tooltip:{trigger:"axis"},legend:{top:0,data:["空腹血糖","餐后血糖"]},grid:{left:24,right:24,top:52,bottom:20,containLabel:!0},xAxis:{type:"category",boundaryGap:!1,data:Ce.value.map(t=>Se(t))},yAxis:{type:"value",name:"mmol/L",splitLine:{lineStyle:{color:"#e5e7eb"}}},series:[{name:"空腹血糖",type:"line",smooth:!0,connectNulls:!1,data:ee.value.fasting,symbolSize:7,itemStyle:{color:"#2563eb"},lineStyle:{width:3,color:"#2563eb"}},{name:"餐后血糖",type:"line",smooth:!0,connectNulls:!1,data:ee.value.postprandial,symbolSize:7,itemStyle:{color:"#f97316"},lineStyle:{width:3,color:"#f97316"}}]}));function Se(t){return t.slice(5)}function Ue(t){if(t===""||t==null)return null;const e=Number(t);return Number.isFinite(e)?e:null}function A(t,e){const l=fe.value.get(e),n=De.value.get(e),f=Re.value.get(e),r=Z.value.get(e);switch(t){case"fasting":return{value:(l==null?void 0:l.fasting_blood_sugar)!=null&&l.fasting_blood_sugar!==""?String(l.fasting_blood_sugar):"",isHigh:Pl(l==null?void 0:l.fasting_blood_sugar,D.age),hasRecord:!!l&&l.fasting_blood_sugar!=null&&l.fasting_blood_sugar!==""};case"postprandial":return{value:(l==null?void 0:l.postprandial_blood_sugar)!=null&&l.postprandial_blood_sugar!==""?String(l.postprandial_blood_sugar):"",isHigh:ql(l==null?void 0:l.postprandial_blood_sugar,D.age),hasRecord:!!l&&l.postprandial_blood_sugar!=null&&l.postprandial_blood_sugar!==""};case"other":return{value:(l==null?void 0:l.other_blood_sugar)!=null&&l.other_blood_sugar!==""?String(l.other_blood_sugar):"",isHigh:Il(l==null?void 0:l.other_blood_sugar,D.age),hasRecord:!!l&&l.other_blood_sugar!=null&&l.other_blood_sugar!==""};case"bp":return{value:l&&(l.systolic_pressure||l.diastolic_pressure)?Fl(l):"",isHigh:Ll(l),hasRecord:!!l&&!!(l.systolic_pressure||l.diastolic_pressure)};case"western":return{value:(l==null?void 0:l.western_medicine)||"",isHigh:!1,hasRecord:!!(l!=null&&l.western_medicine)};case"insulin":return{value:(l==null?void 0:l.insulin)||"",isHigh:!1,hasRecord:!!(l!=null&&l.insulin)};case"breakfast":return{value:n!=null&&n.breakfast||n!=null&&n.breakfast_foods?"✓":"",isHigh:!1,hasRecord:!!(n!=null&&n.breakfast||n!=null&&n.breakfast_foods)};case"lunch":return{value:n!=null&&n.lunch||n!=null&&n.lunch_foods?"✓":"",isHigh:!1,hasRecord:!!(n!=null&&n.lunch||n!=null&&n.lunch_foods)};case"dinner":return{value:n!=null&&n.dinner||n!=null&&n.dinner_foods?"✓":"",isHigh:!1,hasRecord:!!(n!=null&&n.dinner||n!=null&&n.dinner_foods)};case"exercise":return{value:f!=null&&f.duration?`${f.duration}min`:"",isHigh:!1,hasRecord:!!(f!=null&&f.id)};case"tracking":return{value:r!=null&&r.content?Te(r.content):"",isHigh:!1,hasRecord:!!(r!=null&&r.content)};default:return{value:"",isHigh:!1,hasRecord:!1}}}async function k(){if(!R.value){P.value=[],O.value=[],z.value=[],G.value=[];return}const{start:t,end:e}=we.value;if(U.value==="custom"&&(!t||!e))return;const l=++J;se.value=!0;try{const n=await Hl({id:R.value,start_date:t,end_date:e}),f=await Ml({diagnosis_id:R.value});if(l!==J)return;P.value=Array.isArray(n==null?void 0:n.blood_records)?n.blood_records:[],O.value=Array.isArray(n==null?void 0:n.diet_records)?n.diet_records:[],z.value=Array.isArray(n==null?void 0:n.exercise_records)?n.exercise_records:[],G.value=Array.isArray(f)?f.filter(r=>$.value.includes(String((r==null?void 0:r.note_date)||""))):[]}catch{l===J&&(P.value=[],O.value=[],z.value=[],G.value=[])}finally{l===J&&(se.value=!1)}}function Qe(){if(U.value==="custom"&&!B.value){const t=xe("7");B.value=[t.start,t.end]}k(),_e(h)}function Je(){U.value==="custom"&&k()}function le(t){if(!S.value)return;const e=$.value[0]||W(new Date);if(t==="blood"){s.value=K(e),E.value=!0;return}if(t==="diet"){m.value=j(e),H.value=!0;return}if(t==="tracking"){const l=Q.value,n=Z.value.get(l);b.value={note_date:l,existing_content:String((n==null?void 0:n.content)||""),content:""},Y.value=!0;return}p.value=X(e),M.value=!0}function Ke(t,e){if(!S.value)return;if(["fasting","postprandial","other","bp","western","insulin"].includes(t)){const n=fe.value.get(e);s.value=n?{...K(e),...n}:K(e),E.value=!0;return}if(["breakfast","lunch","dinner"].includes(t)){const n=De.value.get(e);m.value=n?{...j(e),...n}:j(e),H.value=!0;return}if(t==="tracking"){const n=Z.value.get(e);if(!n&&e!==Q.value)return;b.value={note_date:e,existing_content:String((n==null?void 0:n.content)||""),content:""},Y.value=!0;return}const l=Re.value.get(e);p.value=l?{...X(e),...l}:X(e),M.value=!0}async function je(){if(!s.value.record_date){C.msgWarning("请选择记录日期");return}ue.value=!0;try{s.value.id?await Yl(s.value):await Nl(s.value),E.value=!1,await k()}finally{ue.value=!1}}async function Xe(){if(!m.value.record_date){C.msgWarning("请选择记录日期");return}de.value=!0;try{m.value.id?await Bl(m.value):await Wl(m.value),H.value=!1,await k()}finally{de.value=!1}}async function Ze(){if(!p.value.record_date){C.msgWarning("请选择记录日期");return}if(!p.value.exercise_type){C.msgWarning("请选择运动类型");return}if(!p.value.duration){C.msgWarning("请输入运动时长");return}me.value=!0;try{p.value.id?await hl(p.value):await $l(p.value),M.value=!1,await k()}finally{me.value=!1}}async function el(){if(!b.value.note_date){C.msgWarning("请选择记录日期");return}if(!N.value){C.msgWarning("仅支持给今天追加跟踪备注");return}const t=b.value.content.trim();if(!t){C.msgWarning("请输入跟踪备注");return}pe.value=!0;try{await Al({diagnosis_id:R.value,tracking_content:t}),Y.value=!1,await k()}finally{pe.value=!1}}function Te(t){return ve(t)[0]||""}function ve(t){return t.split(` +import{G as ul,F as dl,i as ml,M as pl,N as fl,r as vl,V as gl,D as _l,B as cl,a2 as bl,a3 as yl,h as kl,C as Vl,U as xl,P as wl,Q as Dl,L as Rl,R as Cl}from"./element-plus-DFTWCWyi.js";import{_ as Sl}from"./picker-BCRrEZaA.js";import{H as Ul}from"./vue-echarts-BNtg2q_G.js";import Tl from"./DiagnosisTodoList-CgT2M9eR.js";import{h as El}from"./perm-Bo9eM8XD.js";import{J as Hl,K as Ml,L as Yl,M as Nl,N as Bl,O as Wl,P as hl,Q as $l,R as Al}from"./tcm-BcqaE0lo.js";import{c as Ll,f as Fl,d as Il,e as ql,b as Pl}from"./blood-thresholds-CJ1fqMjh.js";import{i as C,_ as Ol}from"./index-DBREMm_z.js";import{f as zl,w as Gl,n as _e,b as Ql,d as Jl,aP as Kl,ak as _,I as y,J as c,a,aN as i,O as v,G as T,H as F,F as I,ap as ce,A as d}from"./@vue/runtime-core-C6bnekPw.js";import{n as g,y as jl}from"./@vue/reactivity-DiY1c2vO.js";import{o as Xl,Q as ie}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-BwF7vczx.js";import"./index-BiPYXDtP.js";import"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import"./index-CbfZXeGu.js";import"./index-CRoZWY-W.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-BimpIRb_.js";import"./index.vue_vue_type_script_setup_true_lang-x0oL2ShL.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./usePaging-VsbTxSU0.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./resize-detector-G6vbKCU7.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Zl={class:"daily-matrix"},ea={class:"daily-matrix__toolbar"},la={class:"daily-matrix__toolbar-left"},aa={key:0,class:"daily-matrix__toolbar-right"},ta={key:1,class:"daily-matrix__toolbar-right"},oa=["onClick"],na={class:"daily-matrix__tracking-tooltip"},ia={class:"daily-matrix__tracking-preview"},ra={key:0,class:"daily-matrix__cell-up"},sa={class:"daily-matrix__chart"},ua={key:0,class:"daily-matrix__todo"},da={class:"daily-matrix__tracking-existing"},ma=120,pa=zl({__name:"DailyMatrix",props:{diagnosisId:{},patientId:{},age:{default:void 0},readOnly:{type:Boolean,default:!1},patientName:{default:""}},setup(Ye,{expose:Ne}){const Be=["tcm.diagnosis/dailyRecord"],D=Ye,R=d(()=>Number(D.diagnosisId||0)),q=d(()=>Number(D.patientId||0)),re=d(()=>!!D.readOnly),We=d(()=>D.patientName||""),be=d(()=>El(Be)),S=d(()=>be.value&&!re.value),he=d(()=>be.value),se=g(!1),U=g("7"),B=g(null),P=g([]),O=g([]),z=g([]),G=g([]),E=g(!1),H=g(!1),M=g(!1),Y=g(!1),ue=g(!1),de=g(!1),me=g(!1),pe=g(!1),s=g(K()),m=g(j()),p=g(X()),b=g({note_date:"",existing_content:"",content:""}),$e=d(()=>s.value.id?"编辑血糖血压记录":"新增血糖血压记录"),Ae=d(()=>m.value.id?"编辑饮食记录":"新增饮食记录"),Le=d(()=>p.value.id?"编辑运动记录":"新增运动记录"),Q=d(()=>W(new Date)),N=d(()=>!re.value&&b.value.note_date===Q.value),Fe=d(()=>N.value?"新增/追加跟踪备注":"查看跟踪备注"),ye=g(null),ke=g(0),Ie=[{key:"fasting",label:"空腹血糖"},{key:"postprandial",label:"餐后2h血糖"},{key:"other",label:"其他血糖"},{key:"bp",label:"血压"},{key:"western",label:"西药"},{key:"insulin",label:"胰岛素"},{key:"breakfast",label:"早餐"},{key:"lunch",label:"午餐"},{key:"dinner",label:"晚餐"},{key:"exercise",label:"运动"},{key:"tracking",label:"跟踪备注"}],qe=d(()=>[...Ie]),Pe=d(()=>{const t=$.value.length;if(t<=0||t>7)return 100;const e=Math.max(ke.value-ma-2,0),l=e>0?Math.floor(e/t):100;return Math.max(100,l)});let J=0;function W(t){return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")}`}function Ve(t){return new Date(`${t}T00:00:00`)}function h(){var t;ke.value=((t=ye.value)==null?void 0:t.clientWidth)||0}function K(t=""){return{id:"",diagnosis_id:R.value,patient_id:q.value,record_date:t,record_time:"",fasting_blood_sugar:0,postprandial_blood_sugar:0,other_blood_sugar:"",systolic_pressure:0,diastolic_pressure:0,western_medicine:"",insulin:"",remark:""}}function j(t=""){return{id:"",diagnosis_id:R.value,patient_id:q.value,record_date:t,breakfast_foods:"",breakfast_images:[],lunch_foods:"",lunch_images:[],dinner_foods:"",dinner_images:[],note:""}}function X(t=""){return{id:"",diagnosis_id:R.value,patient_id:q.value,record_date:t,exercise_type:"",duration:0,intensity:1,images:[],note:""}}function Oe(t){return t.getTime()>Date.now()}function xe(t){if(t==="custom"){const[f,r]=B.value||["",""];return{start:f||"",end:r||""}}const e=t==="7"?7:30,l=new Date;l.setHours(0,0,0,0);const n=new Date(l);return n.setDate(n.getDate()-(e-1)),{start:W(n),end:W(l)}}const we=d(()=>xe(U.value)),$=d(()=>{const{start:t,end:e}=we.value;if(!t||!e)return[];const l=[],n=Ve(e),f=Ve(t).getTime();for(;n.getTime()>=f;)l.push(W(n)),n.setDate(n.getDate()-1);return l}),fe=d(()=>{const t=new Map;for(const e of P.value){const l=String(e.record_date||"");if(!l)continue;t.has(l)||t.set(l,{id:e.id,diagnosis_id:e.diagnosis_id,patient_id:e.patient_id,record_date:l,record_time:e.record_time||"",record_date_ts:e.record_date_ts});const n=t.get(l),f=["fasting_blood_sugar","postprandial_blood_sugar","other_blood_sugar","systolic_pressure","diastolic_pressure","western_medicine","insulin","remark"];for(const r of f)(n[r]===void 0||n[r]===null||n[r]==="")&&e[r]!==void 0&&e[r]!==null&&e[r]!==""&&(n[r]=e[r])}return t}),De=d(()=>{const t=new Map;for(const e of O.value){const l=String(e.record_date||"");!l||t.has(l)||t.set(l,e)}return t}),Re=d(()=>{const t=new Map;for(const e of z.value){const l=String(e.record_date||"");!l||t.has(l)||t.set(l,e)}return t}),Z=d(()=>{const t=new Map;for(const e of G.value){const l=String(e.note_date||"");!l||t.has(l)||t.set(l,e)}return t}),Ce=d(()=>[...$.value].reverse()),ee=d(()=>Ce.value.reduce((t,e)=>{const l=fe.value.get(e);return t.fasting.push(Ue(l==null?void 0:l.fasting_blood_sugar)),t.postprandial.push(Ue(l==null?void 0:l.postprandial_blood_sugar)),t},{fasting:[],postprandial:[]})),ze=d(()=>[...ee.value.fasting,...ee.value.postprandial].some(t=>t!=null)),Ge=d(()=>({tooltip:{trigger:"axis"},legend:{top:0,data:["空腹血糖","餐后血糖"]},grid:{left:24,right:24,top:52,bottom:20,containLabel:!0},xAxis:{type:"category",boundaryGap:!1,data:Ce.value.map(t=>Se(t))},yAxis:{type:"value",name:"mmol/L",splitLine:{lineStyle:{color:"#e5e7eb"}}},series:[{name:"空腹血糖",type:"line",smooth:!0,connectNulls:!1,data:ee.value.fasting,symbolSize:7,itemStyle:{color:"#2563eb"},lineStyle:{width:3,color:"#2563eb"}},{name:"餐后血糖",type:"line",smooth:!0,connectNulls:!1,data:ee.value.postprandial,symbolSize:7,itemStyle:{color:"#f97316"},lineStyle:{width:3,color:"#f97316"}}]}));function Se(t){return t.slice(5)}function Ue(t){if(t===""||t==null)return null;const e=Number(t);return Number.isFinite(e)?e:null}function A(t,e){const l=fe.value.get(e),n=De.value.get(e),f=Re.value.get(e),r=Z.value.get(e);switch(t){case"fasting":return{value:(l==null?void 0:l.fasting_blood_sugar)!=null&&l.fasting_blood_sugar!==""?String(l.fasting_blood_sugar):"",isHigh:Pl(l==null?void 0:l.fasting_blood_sugar,D.age),hasRecord:!!l&&l.fasting_blood_sugar!=null&&l.fasting_blood_sugar!==""};case"postprandial":return{value:(l==null?void 0:l.postprandial_blood_sugar)!=null&&l.postprandial_blood_sugar!==""?String(l.postprandial_blood_sugar):"",isHigh:ql(l==null?void 0:l.postprandial_blood_sugar,D.age),hasRecord:!!l&&l.postprandial_blood_sugar!=null&&l.postprandial_blood_sugar!==""};case"other":return{value:(l==null?void 0:l.other_blood_sugar)!=null&&l.other_blood_sugar!==""?String(l.other_blood_sugar):"",isHigh:Il(l==null?void 0:l.other_blood_sugar,D.age),hasRecord:!!l&&l.other_blood_sugar!=null&&l.other_blood_sugar!==""};case"bp":return{value:l&&(l.systolic_pressure||l.diastolic_pressure)?Fl(l):"",isHigh:Ll(l),hasRecord:!!l&&!!(l.systolic_pressure||l.diastolic_pressure)};case"western":return{value:(l==null?void 0:l.western_medicine)||"",isHigh:!1,hasRecord:!!(l!=null&&l.western_medicine)};case"insulin":return{value:(l==null?void 0:l.insulin)||"",isHigh:!1,hasRecord:!!(l!=null&&l.insulin)};case"breakfast":return{value:n!=null&&n.breakfast||n!=null&&n.breakfast_foods?"✓":"",isHigh:!1,hasRecord:!!(n!=null&&n.breakfast||n!=null&&n.breakfast_foods)};case"lunch":return{value:n!=null&&n.lunch||n!=null&&n.lunch_foods?"✓":"",isHigh:!1,hasRecord:!!(n!=null&&n.lunch||n!=null&&n.lunch_foods)};case"dinner":return{value:n!=null&&n.dinner||n!=null&&n.dinner_foods?"✓":"",isHigh:!1,hasRecord:!!(n!=null&&n.dinner||n!=null&&n.dinner_foods)};case"exercise":return{value:f!=null&&f.duration?`${f.duration}min`:"",isHigh:!1,hasRecord:!!(f!=null&&f.id)};case"tracking":return{value:r!=null&&r.content?Te(r.content):"",isHigh:!1,hasRecord:!!(r!=null&&r.content)};default:return{value:"",isHigh:!1,hasRecord:!1}}}async function k(){if(!R.value){P.value=[],O.value=[],z.value=[],G.value=[];return}const{start:t,end:e}=we.value;if(U.value==="custom"&&(!t||!e))return;const l=++J;se.value=!0;try{const n=await Hl({id:R.value,start_date:t,end_date:e}),f=await Ml({diagnosis_id:R.value});if(l!==J)return;P.value=Array.isArray(n==null?void 0:n.blood_records)?n.blood_records:[],O.value=Array.isArray(n==null?void 0:n.diet_records)?n.diet_records:[],z.value=Array.isArray(n==null?void 0:n.exercise_records)?n.exercise_records:[],G.value=Array.isArray(f)?f.filter(r=>$.value.includes(String((r==null?void 0:r.note_date)||""))):[]}catch{l===J&&(P.value=[],O.value=[],z.value=[],G.value=[])}finally{l===J&&(se.value=!1)}}function Qe(){if(U.value==="custom"&&!B.value){const t=xe("7");B.value=[t.start,t.end]}k(),_e(h)}function Je(){U.value==="custom"&&k()}function le(t){if(!S.value)return;const e=$.value[0]||W(new Date);if(t==="blood"){s.value=K(e),E.value=!0;return}if(t==="diet"){m.value=j(e),H.value=!0;return}if(t==="tracking"){const l=Q.value,n=Z.value.get(l);b.value={note_date:l,existing_content:String((n==null?void 0:n.content)||""),content:""},Y.value=!0;return}p.value=X(e),M.value=!0}function Ke(t,e){if(!S.value)return;if(["fasting","postprandial","other","bp","western","insulin"].includes(t)){const n=fe.value.get(e);s.value=n?{...K(e),...n}:K(e),E.value=!0;return}if(["breakfast","lunch","dinner"].includes(t)){const n=De.value.get(e);m.value=n?{...j(e),...n}:j(e),H.value=!0;return}if(t==="tracking"){const n=Z.value.get(e);if(!n&&e!==Q.value)return;b.value={note_date:e,existing_content:String((n==null?void 0:n.content)||""),content:""},Y.value=!0;return}const l=Re.value.get(e);p.value=l?{...X(e),...l}:X(e),M.value=!0}async function je(){if(!s.value.record_date){C.msgWarning("请选择记录日期");return}ue.value=!0;try{s.value.id?await Yl(s.value):await Nl(s.value),E.value=!1,await k()}finally{ue.value=!1}}async function Xe(){if(!m.value.record_date){C.msgWarning("请选择记录日期");return}de.value=!0;try{m.value.id?await Bl(m.value):await Wl(m.value),H.value=!1,await k()}finally{de.value=!1}}async function Ze(){if(!p.value.record_date){C.msgWarning("请选择记录日期");return}if(!p.value.exercise_type){C.msgWarning("请选择运动类型");return}if(!p.value.duration){C.msgWarning("请输入运动时长");return}me.value=!0;try{p.value.id?await hl(p.value):await $l(p.value),M.value=!1,await k()}finally{me.value=!1}}async function el(){if(!b.value.note_date){C.msgWarning("请选择记录日期");return}if(!N.value){C.msgWarning("仅支持给今天追加跟踪备注");return}const t=b.value.content.trim();if(!t){C.msgWarning("请输入跟踪备注");return}pe.value=!0;try{await Al({diagnosis_id:R.value,tracking_content:t}),Y.value=!1,await k()}finally{pe.value=!1}}function Te(t){return ve(t)[0]||""}function ve(t){return t.split(` `).map(e=>e.trim()).filter(Boolean)}function ae(t){var e;return String(((e=Z.value.get(t))==null?void 0:e.content)||"")}function ll(t){return Te(t)}function al(t,e){return S.value?t!=="tracking"?!0:e===Q.value||!!ae(e):!1}return Gl(()=>D.diagnosisId,t=>{t&&k(),_e(h)}),Ql(()=>{D.diagnosisId&&k(),_e(h),window.addEventListener("resize",h)}),Jl(()=>{window.removeEventListener("resize",h)}),Ne({refresh:k}),(t,e)=>{const l=dl,n=ul,f=bl,r=ml,Ee=fl,tl=vl,ol=pl,nl=Cl,u=cl,il=yl,L=kl,V=Vl,te=_l,oe=gl,ge=xl,ne=Sl,x=Dl,He=wl,rl=Rl;return Kl((_(),y("div",Zl,[c("div",ea,[c("div",la,[a(n,{modelValue:U.value,"onUpdate:modelValue":e[0]||(e[0]=o=>U.value=o),onChange:Qe},{default:i(()=>[a(l,{value:"7"},{default:i(()=>[...e[40]||(e[40]=[v("最近7天",-1)])]),_:1}),a(l,{value:"30"},{default:i(()=>[...e[41]||(e[41]=[v("最近30天",-1)])]),_:1}),a(l,{value:"custom"},{default:i(()=>[...e[42]||(e[42]=[v("自定义",-1)])]),_:1})]),_:1},8,["modelValue"]),U.value==="custom"?(_(),T(f,{key:0,modelValue:B.value,"onUpdate:modelValue":e[1]||(e[1]=o=>B.value=o),type:"daterange","value-format":"YYYY-MM-DD","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期",clearable:!1,"disabled-date":Oe,onChange:Je},null,8,["modelValue"])):F("",!0)]),S.value?(_(),y("div",aa,[a(r,{type:"primary",onClick:e[2]||(e[2]=o=>le("blood"))},{default:i(()=>[...e[43]||(e[43]=[v("+血糖",-1)])]),_:1}),a(r,{onClick:e[3]||(e[3]=o=>le("diet"))},{default:i(()=>[...e[44]||(e[44]=[v("+饮食",-1)])]),_:1}),a(r,{onClick:e[4]||(e[4]=o=>le("exercise"))},{default:i(()=>[...e[45]||(e[45]=[v("+运动",-1)])]),_:1}),a(r,{onClick:e[5]||(e[5]=o=>le("tracking"))},{default:i(()=>[...e[46]||(e[46]=[v("+备注",-1)])]),_:1}),a(r,{onClick:k},{default:i(()=>[...e[47]||(e[47]=[v("刷新",-1)])]),_:1})])):(_(),y("div",ta,[a(r,{onClick:k},{default:i(()=>[...e[48]||(e[48]=[v("刷新",-1)])]),_:1})]))]),c("div",{ref_key:"tableWrapRef",ref:ye,class:"daily-matrix__table-wrap"},[a(ol,{data:qe.value,border:"",stripe:"","row-key":"key",class:"daily-matrix__table","empty-text":"暂无记录"},{default:i(()=>[a(Ee,{prop:"label",label:"指标",fixed:"left",width:"120"}),(_(!0),y(I,null,ce($.value,o=>(_(),T(Ee,{key:o,label:Se(o),"min-width":Pe.value,align:"center"},{default:i(({row:w})=>[c("div",{class:Xl(["daily-matrix__cell",{"is-clickable":al(w.key,o),"is-empty":!A(w.key,o).hasRecord,"is-high":A(w.key,o).isHigh}]),onClick:Me=>Ke(w.key,o)},[w.key==="tracking"&&ae(o)?(_(),T(tl,{key:0,placement:"top",effect:"light","show-after":150},{content:i(()=>[c("div",na,[(_(!0),y(I,null,ce(ve(ae(o)),(Me,sl)=>(_(),y("div",{key:`${o}-${sl}`,class:"daily-matrix__tracking-tooltip-line"},ie(Me),1))),128))])]),default:i(()=>[c("div",ia,ie(ll(ae(o))),1)]),_:2},1024)):A(w.key,o).value?(_(),y(I,{key:1},[c("span",null,ie(A(w.key,o).value),1),A(w.key,o).isHigh?(_(),y("span",ra,"↑")):F("",!0)],64)):(_(),y(I,{key:2},[v("—")],64))],10,oa)]),_:2},1032,["label","min-width"]))),128))]),_:1},8,["data"])],512),c("div",sa,[e[49]||(e[49]=c("div",{class:"daily-matrix__section-title"},"血糖趋势",-1)),ze.value?(_(),T(jl(Ul),{key:0,class:"daily-matrix__chart-canvas",option:Ge.value,autoresize:""},null,8,["option"])):(_(),T(nl,{key:1,description:"当前时间范围暂无血糖数据","image-size":84}))]),he.value?(_(),y("div",ua,[e[50]||(e[50]=c("div",{class:"daily-matrix__section-title"},"待办事项",-1)),a(Tl,{"diagnosis-id":R.value,"patient-id":q.value,"patient-name":We.value,"read-only":re.value},null,8,["diagnosis-id","patient-id","patient-name","read-only"])])):F("",!0),a(oe,{modelValue:E.value,"onUpdate:modelValue":e[17]||(e[17]=o=>E.value=o),title:$e.value,width:"600px","close-on-click-modal":!1},{footer:i(()=>[a(r,{onClick:e[16]||(e[16]=o=>E.value=!1)},{default:i(()=>[...e[56]||(e[56]=[v("取消",-1)])]),_:1}),a(r,{type:"primary",loading:ue.value,disabled:!S.value,onClick:je},{default:i(()=>[...e[57]||(e[57]=[v("确定",-1)])]),_:1},8,["loading","disabled"])]),default:i(()=>[a(te,{model:s.value,"label-width":"120px"},{default:i(()=>[a(u,{label:"记录日期",required:""},{default:i(()=>[a(f,{modelValue:s.value.record_date,"onUpdate:modelValue":e[6]||(e[6]=o=>s.value.record_date=o),type:"date",placeholder:"选择日期","value-format":"YYYY-MM-DD",class:"w-full"},null,8,["modelValue"])]),_:1}),a(u,{label:"记录时间"},{default:i(()=>[a(il,{modelValue:s.value.record_time,"onUpdate:modelValue":e[7]||(e[7]=o=>s.value.record_time=o),placeholder:"选择时间",format:"HH:mm","value-format":"HH:mm",class:"w-full"},null,8,["modelValue"])]),_:1}),a(u,{label:"空腹血糖"},{default:i(()=>[a(L,{modelValue:s.value.fasting_blood_sugar,"onUpdate:modelValue":e[8]||(e[8]=o=>s.value.fasting_blood_sugar=o),precision:2,step:.1,min:0,max:50},null,8,["modelValue"]),e[51]||(e[51]=c("span",{class:"ml-2"},"mmol/L",-1))]),_:1}),a(u,{label:"餐后2小时血糖"},{default:i(()=>[a(L,{modelValue:s.value.postprandial_blood_sugar,"onUpdate:modelValue":e[9]||(e[9]=o=>s.value.postprandial_blood_sugar=o),precision:2,step:.1,min:0,max:50},null,8,["modelValue"]),e[52]||(e[52]=c("span",{class:"ml-2"},"mmol/L",-1))]),_:1}),a(u,{label:"其他血糖"},{default:i(()=>[a(V,{modelValue:s.value.other_blood_sugar,"onUpdate:modelValue":e[10]||(e[10]=o=>s.value.other_blood_sugar=o),type:"number",style:{width:"200px"}},null,8,["modelValue"]),e[53]||(e[53]=c("span",{class:"ml-2"},"mmol/L",-1))]),_:1}),a(u,{label:"收缩压(高压)"},{default:i(()=>[a(L,{modelValue:s.value.systolic_pressure,"onUpdate:modelValue":e[11]||(e[11]=o=>s.value.systolic_pressure=o),min:0,max:300},null,8,["modelValue"]),e[54]||(e[54]=c("span",{class:"ml-2"},"mmHg",-1))]),_:1}),a(u,{label:"舒张压(低压)"},{default:i(()=>[a(L,{modelValue:s.value.diastolic_pressure,"onUpdate:modelValue":e[12]||(e[12]=o=>s.value.diastolic_pressure=o),min:0,max:200},null,8,["modelValue"]),e[55]||(e[55]=c("span",{class:"ml-2"},"mmHg",-1))]),_:1}),a(u,{label:"西药"},{default:i(()=>[a(V,{modelValue:s.value.western_medicine,"onUpdate:modelValue":e[13]||(e[13]=o=>s.value.western_medicine=o)},null,8,["modelValue"])]),_:1}),a(u,{label:"胰岛素"},{default:i(()=>[a(V,{modelValue:s.value.insulin,"onUpdate:modelValue":e[14]||(e[14]=o=>s.value.insulin=o)},null,8,["modelValue"])]),_:1}),a(u,{label:"备注"},{default:i(()=>[a(V,{modelValue:s.value.remark,"onUpdate:modelValue":e[15]||(e[15]=o=>s.value.remark=o),type:"textarea",rows:3},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"]),a(oe,{modelValue:H.value,"onUpdate:modelValue":e[27]||(e[27]=o=>H.value=o),title:Ae.value,width:"800px","close-on-click-modal":!1},{footer:i(()=>[a(r,{onClick:e[26]||(e[26]=o=>H.value=!1)},{default:i(()=>[...e[61]||(e[61]=[v("取消",-1)])]),_:1}),a(r,{type:"primary",loading:de.value,disabled:!S.value,onClick:Xe},{default:i(()=>[...e[62]||(e[62]=[v("确定",-1)])]),_:1},8,["loading","disabled"])]),default:i(()=>[a(te,{model:m.value,"label-width":"100px"},{default:i(()=>[a(u,{label:"记录日期",required:""},{default:i(()=>[a(f,{modelValue:m.value.record_date,"onUpdate:modelValue":e[18]||(e[18]=o=>m.value.record_date=o),type:"date",placeholder:"选择日期","value-format":"YYYY-MM-DD",class:"w-full"},null,8,["modelValue"])]),_:1}),a(ge,{"content-position":"left"},{default:i(()=>[...e[58]||(e[58]=[v("早餐",-1)])]),_:1}),a(u,{label:"食物描述"},{default:i(()=>[a(V,{modelValue:m.value.breakfast_foods,"onUpdate:modelValue":e[19]||(e[19]=o=>m.value.breakfast_foods=o),type:"textarea",rows:2,placeholder:"请输入早餐食物"},null,8,["modelValue"])]),_:1}),a(u,{label:"图片"},{default:i(()=>[a(ne,{modelValue:m.value.breakfast_images,"onUpdate:modelValue":e[20]||(e[20]=o=>m.value.breakfast_images=o),limit:3,type:"image"},null,8,["modelValue"])]),_:1}),a(ge,{"content-position":"left"},{default:i(()=>[...e[59]||(e[59]=[v("午餐",-1)])]),_:1}),a(u,{label:"食物描述"},{default:i(()=>[a(V,{modelValue:m.value.lunch_foods,"onUpdate:modelValue":e[21]||(e[21]=o=>m.value.lunch_foods=o),type:"textarea",rows:2,placeholder:"请输入午餐食物"},null,8,["modelValue"])]),_:1}),a(u,{label:"图片"},{default:i(()=>[a(ne,{modelValue:m.value.lunch_images,"onUpdate:modelValue":e[22]||(e[22]=o=>m.value.lunch_images=o),limit:3,type:"image"},null,8,["modelValue"])]),_:1}),a(ge,{"content-position":"left"},{default:i(()=>[...e[60]||(e[60]=[v("晚餐",-1)])]),_:1}),a(u,{label:"食物描述"},{default:i(()=>[a(V,{modelValue:m.value.dinner_foods,"onUpdate:modelValue":e[23]||(e[23]=o=>m.value.dinner_foods=o),type:"textarea",rows:2,placeholder:"请输入晚餐食物"},null,8,["modelValue"])]),_:1}),a(u,{label:"图片"},{default:i(()=>[a(ne,{modelValue:m.value.dinner_images,"onUpdate:modelValue":e[24]||(e[24]=o=>m.value.dinner_images=o),limit:3,type:"image"},null,8,["modelValue"])]),_:1}),a(u,{label:"备注"},{default:i(()=>[a(V,{modelValue:m.value.note,"onUpdate:modelValue":e[25]||(e[25]=o=>m.value.note=o),type:"textarea",rows:3,placeholder:"请输入备注"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"]),a(oe,{modelValue:M.value,"onUpdate:modelValue":e[35]||(e[35]=o=>M.value=o),title:Le.value,width:"600px","close-on-click-modal":!1},{footer:i(()=>[a(r,{onClick:e[34]||(e[34]=o=>M.value=!1)},{default:i(()=>[...e[63]||(e[63]=[v("取消",-1)])]),_:1}),a(r,{type:"primary",loading:me.value,disabled:!S.value,onClick:Ze},{default:i(()=>[...e[64]||(e[64]=[v("确定",-1)])]),_:1},8,["loading","disabled"])]),default:i(()=>[a(te,{model:p.value,"label-width":"120px"},{default:i(()=>[a(u,{label:"记录日期",required:""},{default:i(()=>[a(f,{modelValue:p.value.record_date,"onUpdate:modelValue":e[28]||(e[28]=o=>p.value.record_date=o),type:"date",placeholder:"选择日期","value-format":"YYYY-MM-DD",class:"w-full"},null,8,["modelValue"])]),_:1}),a(u,{label:"运动类型",required:""},{default:i(()=>[a(He,{modelValue:p.value.exercise_type,"onUpdate:modelValue":e[29]||(e[29]=o=>p.value.exercise_type=o),placeholder:"请选择运动类型",class:"w-full"},{default:i(()=>[a(x,{label:"散步",value:"散步"}),a(x,{label:"慢跑",value:"慢跑"}),a(x,{label:"游泳",value:"游泳"}),a(x,{label:"瑜伽",value:"瑜伽"}),a(x,{label:"骑自行车",value:"骑自行车"}),a(x,{label:"打太极拳",value:"打太极拳"}),a(x,{label:"其他",value:"其他"})]),_:1},8,["modelValue"])]),_:1}),a(u,{label:"运动时长(分钟)",required:""},{default:i(()=>[a(L,{modelValue:p.value.duration,"onUpdate:modelValue":e[30]||(e[30]=o=>p.value.duration=o),min:0,max:300},null,8,["modelValue"])]),_:1}),a(u,{label:"运动强度",required:""},{default:i(()=>[a(He,{modelValue:p.value.intensity,"onUpdate:modelValue":e[31]||(e[31]=o=>p.value.intensity=o),placeholder:"请选择运动强度",class:"w-full"},{default:i(()=>[a(x,{label:"低强度",value:1}),a(x,{label:"中强度",value:2}),a(x,{label:"高强度",value:3})]),_:1},8,["modelValue"])]),_:1}),a(u,{label:"运动图片"},{default:i(()=>[a(ne,{modelValue:p.value.images,"onUpdate:modelValue":e[32]||(e[32]=o=>p.value.images=o),limit:3,type:"image"},null,8,["modelValue"])]),_:1}),a(u,{label:"备注"},{default:i(()=>[a(V,{modelValue:p.value.note,"onUpdate:modelValue":e[33]||(e[33]=o=>p.value.note=o),type:"textarea",rows:3},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"]),a(oe,{modelValue:Y.value,"onUpdate:modelValue":e[39]||(e[39]=o=>Y.value=o),title:Fe.value,width:"600px","close-on-click-modal":!1},{footer:i(()=>[a(r,{onClick:e[38]||(e[38]=o=>Y.value=!1)},{default:i(()=>[...e[65]||(e[65]=[v("取消",-1)])]),_:1}),N.value?(_(),T(r,{key:0,type:"primary",loading:pe.value,onClick:el},{default:i(()=>[...e[66]||(e[66]=[v("确定",-1)])]),_:1},8,["loading"])):F("",!0)]),default:i(()=>[a(te,{model:b.value,"label-width":"100px"},{default:i(()=>[a(u,{label:"记录日期",required:""},{default:i(()=>[a(f,{modelValue:b.value.note_date,"onUpdate:modelValue":e[36]||(e[36]=o=>b.value.note_date=o),type:"date",placeholder:"选择日期","value-format":"YYYY-MM-DD",class:"w-full",disabled:!0},null,8,["modelValue"])]),_:1}),b.value.existing_content?(_(),T(u,{key:0,label:"已有备注"},{default:i(()=>[c("div",da,[(_(!0),y(I,null,ce(ve(b.value.existing_content),(o,w)=>(_(),y("div",{key:`${b.value.note_date}-${w}`,class:"daily-matrix__tracking-line"},ie(o),1))),128))])]),_:1})):F("",!0),a(u,{label:N.value?"追加备注":"备注内容",required:""},{default:i(()=>[a(V,{modelValue:b.value.content,"onUpdate:modelValue":e[37]||(e[37]=o=>b.value.content=o),type:"textarea",rows:5,maxlength:"1000","show-word-limit":"",disabled:!N.value,placeholder:N.value?"请输入跟踪备注":"历史跟踪备注仅支持查看"},null,8,["modelValue","disabled","placeholder"])]),_:1},8,["label"])]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])),[[rl,se.value]])}}}),ct=Ol(pa,[["__scopeId","data-v-8849b23d"]]);export{ct as default}; diff --git a/server/public/admin/assets/DiagnosisTodoList-DC7uqd6f.js b/server/public/admin/assets/DiagnosisTodoList-CgT2M9eR.js similarity index 92% rename from server/public/admin/assets/DiagnosisTodoList-DC7uqd6f.js rename to server/public/admin/assets/DiagnosisTodoList-CgT2M9eR.js index d9ef6c93..0fc5c611 100644 --- a/server/public/admin/assets/DiagnosisTodoList-DC7uqd6f.js +++ b/server/public/admin/assets/DiagnosisTodoList-CgT2M9eR.js @@ -1 +1 @@ -import{G as K,F as X,i as Z,N as tt,T as et,L as at,V as ot,D as it,B as st,a2 as lt,C as nt,M as rt}from"./element-plus-0wC3naml.js";import{_ as dt}from"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import{R as mt,S as ut,T as pt}from"./tcm-SLIwsL8z.js";import{h as ct}from"./perm-YIJpPBOg.js";import{i as y,_ as ft}from"./index-E47--KT7.js";import{f as _t,w as gt,as as vt,ak as p,I as w,J as T,aP as N,G as h,aN as o,O as l,a as e,A as bt,n as yt}from"./@vue/runtime-core-C6bnekPw.js";import{a as A,y as n,r as I,n as k}from"./@vue/reactivity-DiY1c2vO.js";import{Q as V}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const wt={class:"diagnosis-todo-list"},kt={class:"toolbar"},Vt={key:0,class:"text-danger"},xt={key:1},Dt={key:1,class:"text-muted"},Ct={class:"pagination-wrap"},Tt=_t({__name:"DiagnosisTodoList",props:{diagnosisId:{},patientId:{},patientName:{},readOnly:{type:Boolean}},setup(R,{expose:B}){const x=["tcm.diagnosis/dailyRecord"],r=R,v=bt(()=>ct(x)),s=I({page:1,size:15,count:0,loading:!1,lists:[]}),c=k(""),m=async()=>{if(!r.diagnosisId||Number(r.diagnosisId)<=0||!v.value){s.lists=[],s.count=0;return}s.loading=!0;try{const i={page_no:s.page,page_size:s.size,diagnosis_id:Number(r.diagnosisId)};c.value!==""&&c.value!==void 0&&(i.status=Number(c.value));const t=await mt(i);s.count=Number((t==null?void 0:t.count)??0),s.lists=Array.isArray(t==null?void 0:t.lists)?t.lists:[]}catch{s.lists=[],s.count=0}finally{s.loading=!1}};gt(()=>r.diagnosisId,()=>{s.page=1,m()},{immediate:!0});const F=()=>{s.page=1,m()},L=i=>{switch(Number(i)){case 0:return"info";case 1:return"success";case 2:return"warning";case 3:return"danger";default:return"info"}},f=k(!1),D=k(!1),b=k(),d=I({remindAt:"",content:""}),S={remindAt:[{required:!0,message:"请选择提醒时间",trigger:"change"}],content:[{required:!0,message:"请输入提醒内容",trigger:"blur"},{max:500,message:"内容最多 500 字",trigger:"blur"}]},M=i=>{const t=new Date;return t.setHours(0,0,0,0),i.getTime(){if(!r.diagnosisId||!v.value){y.msgWarning("诊单未保存,无法添加待办");return}d.remindAt="",d.content="",f.value=!0,yt(()=>{var i;return(i=b.value)==null?void 0:i.clearValidate()})},O=async()=>{if(!b.value||!await b.value.validate().catch(()=>!1))return;const t=Number(d.remindAt);if(!Number.isFinite(t)||t<=Date.now()+30*1e3){y.msgWarning("提醒时间必须晚于当前时间至少 30 秒");return}D.value=!0;try{await ut({diagnosis_id:Number(r.diagnosisId),content:d.content.trim(),remind_time:Math.floor(t/1e3)}),f.value=!1,m()}catch{}finally{D.value=!1}},U=async i=>{if(!(!v.value||r.readOnly)){try{await y.confirm(`确认取消「${i.remind_time_text} · ${Y(i.content,30)}」吗?`)}catch{return}try{await pt({id:Number(i.id)}),y.msgSuccess("已取消"),m()}catch{}}},Y=(i,t)=>i?i.length>t?i.slice(0,t)+"...":i:"";return B({refresh:m}),(i,t)=>{const _=Z,g=X,$=K,u=tt,z=et,G=rt,H=dt,q=lt,C=st,W=nt,J=it,Q=ot,E=vt("perms"),j=at;return p(),w("div",wt,[T("div",kt,[N((p(),h(_,{type:"primary",disabled:!r.diagnosisId||!v.value,onClick:P},{default:o(()=>[...t[6]||(t[6]=[l(" + 新增待办 ",-1)])]),_:1},8,["disabled"])),[[E,x]]),e($,{modelValue:n(c),"onUpdate:modelValue":t[0]||(t[0]=a=>A(c)?c.value=a:null),class:"ml-3",onChange:F},{default:o(()=>[e(g,{value:""},{default:o(()=>[...t[7]||(t[7]=[l("全部",-1)])]),_:1}),e(g,{value:0},{default:o(()=>[...t[8]||(t[8]=[l("待执行",-1)])]),_:1}),e(g,{value:1},{default:o(()=>[...t[9]||(t[9]=[l("已发送",-1)])]),_:1}),e(g,{value:3},{default:o(()=>[...t[10]||(t[10]=[l("失败",-1)])]),_:1}),e(g,{value:2},{default:o(()=>[...t[11]||(t[11]=[l("已取消",-1)])]),_:1})]),_:1},8,["modelValue"]),e(_,{class:"ml-3",onClick:m},{default:o(()=>[...t[12]||(t[12]=[l("刷新",-1)])]),_:1})]),N((p(),h(G,{data:n(s).lists,border:"",class:"todo-table","empty-text":"暂无待办","row-key":"id"},{default:o(()=>[e(u,{label:"提醒时间",prop:"remind_time_text",width:"160"}),e(u,{label:"内容",prop:"content","min-width":"240","show-overflow-tooltip":""}),e(u,{label:"状态",width:"110",align:"center"},{default:o(({row:a})=>[e(z,{type:L(a.status),effect:"light",size:"small"},{default:o(()=>[l(V(a.status_text),1)]),_:2},1032,["type"])]),_:1}),e(u,{label:"创建人",prop:"creator_name",width:"120"},{default:o(({row:a})=>[l(V(a.creator_name||"-"),1)]),_:1}),e(u,{label:"推送时间",prop:"notified_at_text",width:"160"},{default:o(({row:a})=>[l(V(a.notified_at_text||"-"),1)]),_:1}),e(u,{label:"失败原因",prop:"error","min-width":"200","show-overflow-tooltip":""},{default:o(({row:a})=>[a.status===3?(p(),w("span",Vt,V(a.error||"未知错误"),1)):(p(),w("span",xt,"-"))]),_:1}),e(u,{label:"操作",width:"120",fixed:"right",align:"center"},{default:o(({row:a})=>[!r.readOnly&&a.status===0&&a.can_cancel?N((p(),h(_,{key:0,link:"",type:"danger",onClick:Nt=>U(a)},{default:o(()=>[...t[13]||(t[13]=[l(" 取消 ",-1)])]),_:1},8,["onClick"])),[[E,x]]):(p(),w("span",Dt,"-"))]),_:1})]),_:1},8,["data"])),[[j,n(s).loading]]),T("div",Ct,[e(H,{modelValue:n(s),"onUpdate:modelValue":t[1]||(t[1]=a=>A(s)?s.value=a:null),onChange:m},null,8,["modelValue"])]),e(Q,{modelValue:n(f),"onUpdate:modelValue":t[5]||(t[5]=a=>A(f)?f.value=a:null),title:"新增待办",width:"520px","close-on-click-modal":!1},{footer:o(()=>[e(_,{onClick:t[4]||(t[4]=a=>f.value=!1)},{default:o(()=>[...t[15]||(t[15]=[l("取消",-1)])]),_:1}),e(_,{type:"primary",loading:n(D),onClick:O},{default:o(()=>[...t[16]||(t[16]=[l(" 提交 ",-1)])]),_:1},8,["loading"])]),default:o(()=>[e(J,{ref_key:"addFormRef",ref:b,model:n(d),rules:S,"label-width":"100px"},{default:o(()=>[e(C,{label:"提醒时间",prop:"remindAt"},{default:o(()=>[e(q,{modelValue:n(d).remindAt,"onUpdate:modelValue":t[2]||(t[2]=a=>n(d).remindAt=a),type:"datetime",placeholder:"选择提醒时间",format:"YYYY-MM-DD HH:mm","value-format":"x","disabled-date":M,class:"w-full"},null,8,["modelValue"])]),_:1}),e(C,{label:"提醒内容",prop:"content"},{default:o(()=>[e(W,{modelValue:n(d).content,"onUpdate:modelValue":t[3]||(t[3]=a=>n(d).content=a),type:"textarea",rows:4,maxlength:500,"show-word-limit":"",placeholder:"例:3 天后回访患者复测餐后血糖"},null,8,["modelValue"])]),_:1}),e(C,{label:"提醒人"},{default:o(()=>[...t[14]||(t[14]=[T("span",{class:"text-muted"},"企微推送给当前登录账号(创建人本人)",-1)])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"])])}}}),fe=ft(Tt,[["__scopeId","data-v-c136d72f"]]);export{fe as default}; +import{G as K,F as X,i as Z,N as tt,T as et,L as at,V as ot,D as it,B as st,a2 as lt,C as nt,M as rt}from"./element-plus-DFTWCWyi.js";import{_ as dt}from"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import{S as mt,T as ut,U as pt}from"./tcm-BcqaE0lo.js";import{h as ct}from"./perm-Bo9eM8XD.js";import{i as y,_ as ft}from"./index-DBREMm_z.js";import{f as _t,w as gt,as as vt,ak as p,I as w,J as T,aP as N,G as h,aN as o,O as l,a as e,A as bt,n as yt}from"./@vue/runtime-core-C6bnekPw.js";import{a as A,y as n,r as I,n as k}from"./@vue/reactivity-DiY1c2vO.js";import{Q as V}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const wt={class:"diagnosis-todo-list"},kt={class:"toolbar"},Vt={key:0,class:"text-danger"},xt={key:1},Dt={key:1,class:"text-muted"},Ct={class:"pagination-wrap"},Tt=_t({__name:"DiagnosisTodoList",props:{diagnosisId:{},patientId:{},patientName:{},readOnly:{type:Boolean}},setup(R,{expose:B}){const x=["tcm.diagnosis/dailyRecord"],r=R,v=bt(()=>ct(x)),s=I({page:1,size:15,count:0,loading:!1,lists:[]}),c=k(""),m=async()=>{if(!r.diagnosisId||Number(r.diagnosisId)<=0||!v.value){s.lists=[],s.count=0;return}s.loading=!0;try{const i={page_no:s.page,page_size:s.size,diagnosis_id:Number(r.diagnosisId)};c.value!==""&&c.value!==void 0&&(i.status=Number(c.value));const t=await mt(i);s.count=Number((t==null?void 0:t.count)??0),s.lists=Array.isArray(t==null?void 0:t.lists)?t.lists:[]}catch{s.lists=[],s.count=0}finally{s.loading=!1}};gt(()=>r.diagnosisId,()=>{s.page=1,m()},{immediate:!0});const F=()=>{s.page=1,m()},L=i=>{switch(Number(i)){case 0:return"info";case 1:return"success";case 2:return"warning";case 3:return"danger";default:return"info"}},f=k(!1),D=k(!1),b=k(),d=I({remindAt:"",content:""}),S={remindAt:[{required:!0,message:"请选择提醒时间",trigger:"change"}],content:[{required:!0,message:"请输入提醒内容",trigger:"blur"},{max:500,message:"内容最多 500 字",trigger:"blur"}]},M=i=>{const t=new Date;return t.setHours(0,0,0,0),i.getTime(){if(!r.diagnosisId||!v.value){y.msgWarning("诊单未保存,无法添加待办");return}d.remindAt="",d.content="",f.value=!0,yt(()=>{var i;return(i=b.value)==null?void 0:i.clearValidate()})},U=async()=>{if(!b.value||!await b.value.validate().catch(()=>!1))return;const t=Number(d.remindAt);if(!Number.isFinite(t)||t<=Date.now()+30*1e3){y.msgWarning("提醒时间必须晚于当前时间至少 30 秒");return}D.value=!0;try{await ut({diagnosis_id:Number(r.diagnosisId),content:d.content.trim(),remind_time:Math.floor(t/1e3)}),f.value=!1,m()}catch{}finally{D.value=!1}},O=async i=>{if(!(!v.value||r.readOnly)){try{await y.confirm(`确认取消「${i.remind_time_text} · ${Y(i.content,30)}」吗?`)}catch{return}try{await pt({id:Number(i.id)}),y.msgSuccess("已取消"),m()}catch{}}},Y=(i,t)=>i?i.length>t?i.slice(0,t)+"...":i:"";return B({refresh:m}),(i,t)=>{const _=Z,g=X,$=K,u=tt,z=et,G=rt,H=dt,q=lt,C=st,W=nt,J=it,Q=ot,E=vt("perms"),j=at;return p(),w("div",wt,[T("div",kt,[N((p(),h(_,{type:"primary",disabled:!r.diagnosisId||!v.value,onClick:P},{default:o(()=>[...t[6]||(t[6]=[l(" + 新增待办 ",-1)])]),_:1},8,["disabled"])),[[E,x]]),e($,{modelValue:n(c),"onUpdate:modelValue":t[0]||(t[0]=a=>A(c)?c.value=a:null),class:"ml-3",onChange:F},{default:o(()=>[e(g,{value:""},{default:o(()=>[...t[7]||(t[7]=[l("全部",-1)])]),_:1}),e(g,{value:0},{default:o(()=>[...t[8]||(t[8]=[l("待执行",-1)])]),_:1}),e(g,{value:1},{default:o(()=>[...t[9]||(t[9]=[l("已发送",-1)])]),_:1}),e(g,{value:3},{default:o(()=>[...t[10]||(t[10]=[l("失败",-1)])]),_:1}),e(g,{value:2},{default:o(()=>[...t[11]||(t[11]=[l("已取消",-1)])]),_:1})]),_:1},8,["modelValue"]),e(_,{class:"ml-3",onClick:m},{default:o(()=>[...t[12]||(t[12]=[l("刷新",-1)])]),_:1})]),N((p(),h(G,{data:n(s).lists,border:"",class:"todo-table","empty-text":"暂无待办","row-key":"id"},{default:o(()=>[e(u,{label:"提醒时间",prop:"remind_time_text",width:"160"}),e(u,{label:"内容",prop:"content","min-width":"240","show-overflow-tooltip":""}),e(u,{label:"状态",width:"110",align:"center"},{default:o(({row:a})=>[e(z,{type:L(a.status),effect:"light",size:"small"},{default:o(()=>[l(V(a.status_text),1)]),_:2},1032,["type"])]),_:1}),e(u,{label:"创建人",prop:"creator_name",width:"120"},{default:o(({row:a})=>[l(V(a.creator_name||"-"),1)]),_:1}),e(u,{label:"推送时间",prop:"notified_at_text",width:"160"},{default:o(({row:a})=>[l(V(a.notified_at_text||"-"),1)]),_:1}),e(u,{label:"失败原因",prop:"error","min-width":"200","show-overflow-tooltip":""},{default:o(({row:a})=>[a.status===3?(p(),w("span",Vt,V(a.error||"未知错误"),1)):(p(),w("span",xt,"-"))]),_:1}),e(u,{label:"操作",width:"120",fixed:"right",align:"center"},{default:o(({row:a})=>[!r.readOnly&&a.status===0&&a.can_cancel?N((p(),h(_,{key:0,link:"",type:"danger",onClick:Nt=>O(a)},{default:o(()=>[...t[13]||(t[13]=[l(" 取消 ",-1)])]),_:1},8,["onClick"])),[[E,x]]):(p(),w("span",Dt,"-"))]),_:1})]),_:1},8,["data"])),[[j,n(s).loading]]),T("div",Ct,[e(H,{modelValue:n(s),"onUpdate:modelValue":t[1]||(t[1]=a=>A(s)?s.value=a:null),onChange:m},null,8,["modelValue"])]),e(Q,{modelValue:n(f),"onUpdate:modelValue":t[5]||(t[5]=a=>A(f)?f.value=a:null),title:"新增待办",width:"520px","close-on-click-modal":!1},{footer:o(()=>[e(_,{onClick:t[4]||(t[4]=a=>f.value=!1)},{default:o(()=>[...t[15]||(t[15]=[l("取消",-1)])]),_:1}),e(_,{type:"primary",loading:n(D),onClick:U},{default:o(()=>[...t[16]||(t[16]=[l(" 提交 ",-1)])]),_:1},8,["loading"])]),default:o(()=>[e(J,{ref_key:"addFormRef",ref:b,model:n(d),rules:S,"label-width":"100px"},{default:o(()=>[e(C,{label:"提醒时间",prop:"remindAt"},{default:o(()=>[e(q,{modelValue:n(d).remindAt,"onUpdate:modelValue":t[2]||(t[2]=a=>n(d).remindAt=a),type:"datetime",placeholder:"选择提醒时间",format:"YYYY-MM-DD HH:mm","value-format":"x","disabled-date":M,class:"w-full"},null,8,["modelValue"])]),_:1}),e(C,{label:"提醒内容",prop:"content"},{default:o(()=>[e(W,{modelValue:n(d).content,"onUpdate:modelValue":t[3]||(t[3]=a=>n(d).content=a),type:"textarea",rows:4,maxlength:500,"show-word-limit":"",placeholder:"例:3 天后回访患者复测餐后血糖"},null,8,["modelValue"])]),_:1}),e(C,{label:"提醒人"},{default:o(()=>[...t[14]||(t[14]=[T("span",{class:"text-muted"},"企微推送给当前登录账号(创建人本人)",-1)])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"])])}}}),fe=ft(Tt,[["__scopeId","data-v-c136d72f"]]);export{fe as default}; diff --git a/server/public/admin/assets/DietRecordList-k5hMEz1n.js b/server/public/admin/assets/DietRecordList-CS8Yg4vf.js similarity index 89% rename from server/public/admin/assets/DietRecordList-k5hMEz1n.js rename to server/public/admin/assets/DietRecordList-CS8Yg4vf.js index ff5c1581..e4b08fab 100644 --- a/server/public/admin/assets/DietRecordList-k5hMEz1n.js +++ b/server/public/admin/assets/DietRecordList-CS8Yg4vf.js @@ -1 +1 @@ -import{i as T,N as Y,M as A,D as F,B as L,a2 as $,U as P,C as q,V as G}from"./element-plus-0wC3naml.js";import{_ as H}from"./picker-DlbAZkDm.js";import{a8 as Q,a9 as W,M as j,N as z}from"./tcm-SLIwsL8z.js";import{i as c,_ as J}from"./index-E47--KT7.js";import{f as K,b as X,w as Z,ak as r,I as m,a as t,aN as a,O as p,H as C,G as ee,A as te}from"./@vue/runtime-core-C6bnekPw.js";import{n as y,y as i,a as oe}from"./@vue/reactivity-DiY1c2vO.js";import{Q as I}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-nymJKQXP.js";import"./index-B56X8bEB.js";import"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import"./index-BHTgr4Ka.js";import"./index-Ci4dcEQh.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-DoYUJmkp.js";import"./index.vue_vue_type_script_setup_true_lang-Bl0f8aX8.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./usePaging-VsbTxSU0.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const le={class:"diet-record-list"},ae={key:0,class:"mb-4"},ie={key:0},de={key:1},ne={key:0},re={key:1},se={key:0},me={key:1},pe=K({__name:"DietRecordList",props:{diagnosisId:{type:Number,default:0},patientId:{type:Number,default:0},readOnly:{type:Boolean,default:!1}},setup(k){const d=k,x=y([]),u=y(!1),V=y(!1),D=te(()=>l.value.id?"编辑记录":"添加记录"),l=y({id:"",diagnosis_id:d.diagnosisId,patient_id:d.patientId,record_date:"",breakfast_foods:"",breakfast_images:[],lunch_foods:"",lunch_images:[],dinner_foods:"",dinner_images:[],note:""}),g=async()=>{if(!(!d.diagnosisId&&!d.patientId))try{const n=await Q({diagnosis_id:d.diagnosisId,patient_id:d.patientId});x.value=n}catch(n){console.error("获取记录失败:",n)}},E=()=>{l.value={id:"",diagnosis_id:d.diagnosisId,patient_id:d.patientId,record_date:"",breakfast_foods:"",breakfast_images:[],lunch_foods:"",lunch_images:[],dinner_foods:"",dinner_images:[],note:""},u.value=!0},U=n=>{l.value={...n},u.value=!0},N=async n=>{await c.confirm("确定要删除这条记录吗?");try{await W({id:n.id}),c.msgSuccess("删除成功"),g()}catch(e){console.error("删除失败:",e)}},R=async()=>{if(!l.value.record_date){c.msgWarning("请选择记录日期");return}V.value=!0;try{l.value.id?(await j(l.value),c.msgSuccess("编辑成功")):(await z(l.value),c.msgSuccess("添加成功")),u.value=!1,g()}catch(n){console.error("提交失败:",n)}finally{V.value=!1}};return X(()=>{g()}),Z(()=>[d.diagnosisId,d.patientId],()=>{g()}),(n,e)=>{const _=T,f=Y,B=A,h=$,s=L,v=P,b=q,w=H,M=F,S=G;return r(),m("div",le,[k.readOnly?C("",!0):(r(),m("div",ae,[t(_,{type:"primary",onClick:E},{default:a(()=>[...e[10]||(e[10]=[p("添加记录",-1)])]),_:1})])),t(B,{data:i(x),border:""},{default:a(()=>[t(f,{prop:"record_date",label:"记录日期",width:"120"}),t(f,{label:"早餐","min-width":"200"},{default:a(({row:o})=>[o.breakfast_foods?(r(),m("div",ie,I(o.breakfast_foods),1)):(r(),m("span",de,"-"))]),_:1}),t(f,{label:"午餐","min-width":"200"},{default:a(({row:o})=>[o.lunch_foods?(r(),m("div",ne,I(o.lunch_foods),1)):(r(),m("span",re,"-"))]),_:1}),t(f,{label:"晚餐","min-width":"200"},{default:a(({row:o})=>[o.dinner_foods?(r(),m("div",se,I(o.dinner_foods),1)):(r(),m("span",me,"-"))]),_:1}),t(f,{prop:"note",label:"备注","show-overflow-tooltip":""}),k.readOnly?C("",!0):(r(),ee(f,{key:0,label:"操作",width:"150",fixed:"right"},{default:a(({row:o})=>[t(_,{link:"",type:"primary",onClick:O=>U(o)},{default:a(()=>[...e[11]||(e[11]=[p("编辑",-1)])]),_:1},8,["onClick"]),t(_,{link:"",type:"danger",onClick:O=>N(o)},{default:a(()=>[...e[12]||(e[12]=[p("删除",-1)])]),_:1},8,["onClick"])]),_:1}))]),_:1},8,["data"]),t(S,{modelValue:i(u),"onUpdate:modelValue":e[9]||(e[9]=o=>oe(u)?u.value=o:null),title:i(D),width:"800px"},{footer:a(()=>[t(_,{onClick:e[8]||(e[8]=o=>u.value=!1)},{default:a(()=>[...e[16]||(e[16]=[p("取消",-1)])]),_:1}),t(_,{type:"primary",onClick:R,loading:i(V)},{default:a(()=>[...e[17]||(e[17]=[p("确定",-1)])]),_:1},8,["loading"])]),default:a(()=>[t(M,{model:i(l),"label-width":"100px"},{default:a(()=>[t(s,{label:"记录日期",required:""},{default:a(()=>[t(h,{modelValue:i(l).record_date,"onUpdate:modelValue":e[0]||(e[0]=o=>i(l).record_date=o),type:"date",placeholder:"选择日期","value-format":"YYYY-MM-DD",class:"w-full"},null,8,["modelValue"])]),_:1}),t(v,{"content-position":"left"},{default:a(()=>[...e[13]||(e[13]=[p("早餐",-1)])]),_:1}),t(s,{label:"食物描述"},{default:a(()=>[t(b,{modelValue:i(l).breakfast_foods,"onUpdate:modelValue":e[1]||(e[1]=o=>i(l).breakfast_foods=o),type:"textarea",rows:2,placeholder:"请输入早餐食物"},null,8,["modelValue"])]),_:1}),t(s,{label:"图片"},{default:a(()=>[t(w,{modelValue:i(l).breakfast_images,"onUpdate:modelValue":e[2]||(e[2]=o=>i(l).breakfast_images=o),limit:3,type:"image"},null,8,["modelValue"])]),_:1}),t(v,{"content-position":"left"},{default:a(()=>[...e[14]||(e[14]=[p("午餐",-1)])]),_:1}),t(s,{label:"食物描述"},{default:a(()=>[t(b,{modelValue:i(l).lunch_foods,"onUpdate:modelValue":e[3]||(e[3]=o=>i(l).lunch_foods=o),type:"textarea",rows:2,placeholder:"请输入午餐食物"},null,8,["modelValue"])]),_:1}),t(s,{label:"图片"},{default:a(()=>[t(w,{modelValue:i(l).lunch_images,"onUpdate:modelValue":e[4]||(e[4]=o=>i(l).lunch_images=o),limit:3,type:"image"},null,8,["modelValue"])]),_:1}),t(v,{"content-position":"left"},{default:a(()=>[...e[15]||(e[15]=[p("晚餐",-1)])]),_:1}),t(s,{label:"食物描述"},{default:a(()=>[t(b,{modelValue:i(l).dinner_foods,"onUpdate:modelValue":e[5]||(e[5]=o=>i(l).dinner_foods=o),type:"textarea",rows:2,placeholder:"请输入晚餐食物"},null,8,["modelValue"])]),_:1}),t(s,{label:"图片"},{default:a(()=>[t(w,{modelValue:i(l).dinner_images,"onUpdate:modelValue":e[6]||(e[6]=o=>i(l).dinner_images=o),limit:3,type:"image"},null,8,["modelValue"])]),_:1}),t(s,{label:"备注"},{default:a(()=>[t(b,{modelValue:i(l).note,"onUpdate:modelValue":e[7]||(e[7]=o=>i(l).note=o),type:"textarea",rows:3,placeholder:"请输入备注"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}}),pt=J(pe,[["__scopeId","data-v-7c66f363"]]);export{pt as default}; +import{i as T,N as Y,M as A,D as F,B as L,a2 as $,U as P,C as q,V as G}from"./element-plus-DFTWCWyi.js";import{_ as H}from"./picker-BCRrEZaA.js";import{a9 as Q,aa as W,N as j,O as z}from"./tcm-BcqaE0lo.js";import{i as c,_ as J}from"./index-DBREMm_z.js";import{f as K,b as X,w as Z,ak as r,I as m,a as t,aN as a,O as p,H as C,G as ee,A as te}from"./@vue/runtime-core-C6bnekPw.js";import{n as y,y as i,a as oe}from"./@vue/reactivity-DiY1c2vO.js";import{Q as I}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-BwF7vczx.js";import"./index-BiPYXDtP.js";import"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import"./index-CbfZXeGu.js";import"./index-CRoZWY-W.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-BimpIRb_.js";import"./index.vue_vue_type_script_setup_true_lang-x0oL2ShL.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./usePaging-VsbTxSU0.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const le={class:"diet-record-list"},ae={key:0,class:"mb-4"},ie={key:0},de={key:1},ne={key:0},re={key:1},se={key:0},me={key:1},pe=K({__name:"DietRecordList",props:{diagnosisId:{type:Number,default:0},patientId:{type:Number,default:0},readOnly:{type:Boolean,default:!1}},setup(k){const d=k,x=y([]),u=y(!1),V=y(!1),D=te(()=>l.value.id?"编辑记录":"添加记录"),l=y({id:"",diagnosis_id:d.diagnosisId,patient_id:d.patientId,record_date:"",breakfast_foods:"",breakfast_images:[],lunch_foods:"",lunch_images:[],dinner_foods:"",dinner_images:[],note:""}),g=async()=>{if(!(!d.diagnosisId&&!d.patientId))try{const n=await Q({diagnosis_id:d.diagnosisId,patient_id:d.patientId});x.value=n}catch(n){console.error("获取记录失败:",n)}},E=()=>{l.value={id:"",diagnosis_id:d.diagnosisId,patient_id:d.patientId,record_date:"",breakfast_foods:"",breakfast_images:[],lunch_foods:"",lunch_images:[],dinner_foods:"",dinner_images:[],note:""},u.value=!0},U=n=>{l.value={...n},u.value=!0},N=async n=>{await c.confirm("确定要删除这条记录吗?");try{await W({id:n.id}),c.msgSuccess("删除成功"),g()}catch(e){console.error("删除失败:",e)}},R=async()=>{if(!l.value.record_date){c.msgWarning("请选择记录日期");return}V.value=!0;try{l.value.id?(await j(l.value),c.msgSuccess("编辑成功")):(await z(l.value),c.msgSuccess("添加成功")),u.value=!1,g()}catch(n){console.error("提交失败:",n)}finally{V.value=!1}};return X(()=>{g()}),Z(()=>[d.diagnosisId,d.patientId],()=>{g()}),(n,e)=>{const _=T,f=Y,B=A,h=$,s=L,v=P,b=q,w=H,O=F,S=G;return r(),m("div",le,[k.readOnly?C("",!0):(r(),m("div",ae,[t(_,{type:"primary",onClick:E},{default:a(()=>[...e[10]||(e[10]=[p("添加记录",-1)])]),_:1})])),t(B,{data:i(x),border:""},{default:a(()=>[t(f,{prop:"record_date",label:"记录日期",width:"120"}),t(f,{label:"早餐","min-width":"200"},{default:a(({row:o})=>[o.breakfast_foods?(r(),m("div",ie,I(o.breakfast_foods),1)):(r(),m("span",de,"-"))]),_:1}),t(f,{label:"午餐","min-width":"200"},{default:a(({row:o})=>[o.lunch_foods?(r(),m("div",ne,I(o.lunch_foods),1)):(r(),m("span",re,"-"))]),_:1}),t(f,{label:"晚餐","min-width":"200"},{default:a(({row:o})=>[o.dinner_foods?(r(),m("div",se,I(o.dinner_foods),1)):(r(),m("span",me,"-"))]),_:1}),t(f,{prop:"note",label:"备注","show-overflow-tooltip":""}),k.readOnly?C("",!0):(r(),ee(f,{key:0,label:"操作",width:"150",fixed:"right"},{default:a(({row:o})=>[t(_,{link:"",type:"primary",onClick:M=>U(o)},{default:a(()=>[...e[11]||(e[11]=[p("编辑",-1)])]),_:1},8,["onClick"]),t(_,{link:"",type:"danger",onClick:M=>N(o)},{default:a(()=>[...e[12]||(e[12]=[p("删除",-1)])]),_:1},8,["onClick"])]),_:1}))]),_:1},8,["data"]),t(S,{modelValue:i(u),"onUpdate:modelValue":e[9]||(e[9]=o=>oe(u)?u.value=o:null),title:i(D),width:"800px"},{footer:a(()=>[t(_,{onClick:e[8]||(e[8]=o=>u.value=!1)},{default:a(()=>[...e[16]||(e[16]=[p("取消",-1)])]),_:1}),t(_,{type:"primary",onClick:R,loading:i(V)},{default:a(()=>[...e[17]||(e[17]=[p("确定",-1)])]),_:1},8,["loading"])]),default:a(()=>[t(O,{model:i(l),"label-width":"100px"},{default:a(()=>[t(s,{label:"记录日期",required:""},{default:a(()=>[t(h,{modelValue:i(l).record_date,"onUpdate:modelValue":e[0]||(e[0]=o=>i(l).record_date=o),type:"date",placeholder:"选择日期","value-format":"YYYY-MM-DD",class:"w-full"},null,8,["modelValue"])]),_:1}),t(v,{"content-position":"left"},{default:a(()=>[...e[13]||(e[13]=[p("早餐",-1)])]),_:1}),t(s,{label:"食物描述"},{default:a(()=>[t(b,{modelValue:i(l).breakfast_foods,"onUpdate:modelValue":e[1]||(e[1]=o=>i(l).breakfast_foods=o),type:"textarea",rows:2,placeholder:"请输入早餐食物"},null,8,["modelValue"])]),_:1}),t(s,{label:"图片"},{default:a(()=>[t(w,{modelValue:i(l).breakfast_images,"onUpdate:modelValue":e[2]||(e[2]=o=>i(l).breakfast_images=o),limit:3,type:"image"},null,8,["modelValue"])]),_:1}),t(v,{"content-position":"left"},{default:a(()=>[...e[14]||(e[14]=[p("午餐",-1)])]),_:1}),t(s,{label:"食物描述"},{default:a(()=>[t(b,{modelValue:i(l).lunch_foods,"onUpdate:modelValue":e[3]||(e[3]=o=>i(l).lunch_foods=o),type:"textarea",rows:2,placeholder:"请输入午餐食物"},null,8,["modelValue"])]),_:1}),t(s,{label:"图片"},{default:a(()=>[t(w,{modelValue:i(l).lunch_images,"onUpdate:modelValue":e[4]||(e[4]=o=>i(l).lunch_images=o),limit:3,type:"image"},null,8,["modelValue"])]),_:1}),t(v,{"content-position":"left"},{default:a(()=>[...e[15]||(e[15]=[p("晚餐",-1)])]),_:1}),t(s,{label:"食物描述"},{default:a(()=>[t(b,{modelValue:i(l).dinner_foods,"onUpdate:modelValue":e[5]||(e[5]=o=>i(l).dinner_foods=o),type:"textarea",rows:2,placeholder:"请输入晚餐食物"},null,8,["modelValue"])]),_:1}),t(s,{label:"图片"},{default:a(()=>[t(w,{modelValue:i(l).dinner_images,"onUpdate:modelValue":e[6]||(e[6]=o=>i(l).dinner_images=o),limit:3,type:"image"},null,8,["modelValue"])]),_:1}),t(s,{label:"备注"},{default:a(()=>[t(b,{modelValue:i(l).note,"onUpdate:modelValue":e[7]||(e[7]=o=>i(l).note=o),type:"textarea",rows:3,placeholder:"请输入备注"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}}),pt=J(pe,[["__scopeId","data-v-7c66f363"]]);export{pt as default}; diff --git a/server/public/admin/assets/ExerciseRecordList-B5U5W1JH.js b/server/public/admin/assets/ExerciseRecordList-D_Lyt-5M.js similarity index 86% rename from server/public/admin/assets/ExerciseRecordList-B5U5W1JH.js rename to server/public/admin/assets/ExerciseRecordList-D_Lyt-5M.js index e9ac5217..9646cc85 100644 --- a/server/public/admin/assets/ExerciseRecordList-B5U5W1JH.js +++ b/server/public/admin/assets/ExerciseRecordList-D_Lyt-5M.js @@ -1 +1 @@ -import{i as F,N as L,M as W,D as $,B as h,a2 as Q,P as G,Q as H,h as j,C as z,V as J}from"./element-plus-0wC3naml.js";import{_ as K}from"./picker-DlbAZkDm.js";import{aa as X,ab as Z,O as ee,P as te}from"./tcm-SLIwsL8z.js";import{i as p,_ as le}from"./index-E47--KT7.js";import{f as oe,b as ae,w as ie,ak as g,I as w,a as e,aN as a,O as u,H as k,G as re,A as ne}from"./@vue/runtime-core-C6bnekPw.js";import{n as b,y as i,a as de}from"./@vue/reactivity-DiY1c2vO.js";import{Q as I}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-nymJKQXP.js";import"./index-B56X8bEB.js";import"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import"./index-BHTgr4Ka.js";import"./index-Ci4dcEQh.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-DoYUJmkp.js";import"./index.vue_vue_type_script_setup_true_lang-Bl0f8aX8.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./usePaging-VsbTxSU0.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const se={class:"exercise-record-list"},me={key:0,class:"mb-4"},pe=oe({__name:"ExerciseRecordList",props:{diagnosisId:{type:Number,default:0},patientId:{type:Number,default:0},readOnly:{type:Boolean,default:!1}},setup(y){const n=y,V=b([]),s=b(!1),v=b(!1),E=ne(()=>l.value.id?"编辑记录":"添加记录"),l=b({id:"",diagnosis_id:n.diagnosisId,patient_id:n.patientId,record_date:"",exercise_type:"",duration:0,intensity:1,images:[],note:""}),C=[{label:"低强度",value:1},{label:"中强度",value:2},{label:"高强度",value:3}],D=r=>{const t=C.find(m=>m.value===r);return t?t.label:"未知"},f=async()=>{if(!(!n.diagnosisId&&!n.patientId))try{const r=await X({diagnosis_id:n.diagnosisId,patient_id:n.patientId});V.value=r}catch(r){console.error("获取记录失败:",r)}},N=()=>{l.value={id:"",diagnosis_id:n.diagnosisId,patient_id:n.patientId,record_date:"",exercise_type:"",duration:0,intensity:1,images:[],note:""},s.value=!0},R=r=>{l.value={...r},s.value=!0},B=async r=>{await p.confirm("确定要删除这条记录吗?");try{await Z({id:r.id}),p.msgSuccess("删除成功"),f()}catch(t){console.error("删除失败:",t)}},O=async()=>{if(!l.value.record_date){p.msgWarning("请选择记录日期");return}if(!l.value.exercise_type){p.msgWarning("请选择运动类型");return}if(!l.value.duration){p.msgWarning("请输入运动时长");return}v.value=!0;try{l.value.id?(await ee(l.value),p.msgSuccess("编辑成功")):(await te(l.value),p.msgSuccess("添加成功")),s.value=!1,f()}catch(r){console.error("提交失败:",r)}finally{v.value=!1}};return ae(()=>{f()}),ie(()=>[n.diagnosisId,n.patientId],()=>{f()}),(r,t)=>{const m=F,c=L,U=W,S=Q,_=h,d=H,x=G,T=j,q=K,M=z,P=$,Y=J;return g(),w("div",se,[y.readOnly?k("",!0):(g(),w("div",me,[e(m,{type:"primary",onClick:N},{default:a(()=>[...t[8]||(t[8]=[u("添加记录",-1)])]),_:1})])),e(U,{data:i(V),border:"",style:{width:"100%"}},{default:a(()=>[e(c,{prop:"record_date",label:"记录日期",width:"120"}),e(c,{prop:"exercise_type",label:"运动类型",width:"150"}),e(c,{prop:"duration",label:"运动时长",width:"100"},{default:a(({row:o})=>[u(I(o.duration)+" 分钟 ",1)]),_:1}),e(c,{label:"运动强度",width:"100"},{default:a(({row:o})=>[u(I(D(o.intensity)),1)]),_:1}),e(c,{prop:"note",label:"备注","show-overflow-tooltip":""}),y.readOnly?k("",!0):(g(),re(c,{key:0,label:"操作",width:"150",fixed:"right"},{default:a(({row:o})=>[e(m,{link:"",type:"primary",onClick:A=>R(o)},{default:a(()=>[...t[9]||(t[9]=[u("编辑",-1)])]),_:1},8,["onClick"]),e(m,{link:"",type:"danger",onClick:A=>B(o)},{default:a(()=>[...t[10]||(t[10]=[u("删除",-1)])]),_:1},8,["onClick"])]),_:1}))]),_:1},8,["data"]),e(Y,{modelValue:i(s),"onUpdate:modelValue":t[7]||(t[7]=o=>de(s)?s.value=o:null),title:i(E),width:"600px"},{footer:a(()=>[e(m,{onClick:t[6]||(t[6]=o=>s.value=!1)},{default:a(()=>[...t[11]||(t[11]=[u("取消",-1)])]),_:1}),e(m,{type:"primary",onClick:O,loading:i(v)},{default:a(()=>[...t[12]||(t[12]=[u("确定",-1)])]),_:1},8,["loading"])]),default:a(()=>[e(P,{model:i(l),"label-width":"120px"},{default:a(()=>[e(_,{label:"记录日期",required:""},{default:a(()=>[e(S,{modelValue:i(l).record_date,"onUpdate:modelValue":t[0]||(t[0]=o=>i(l).record_date=o),type:"date",placeholder:"选择日期","value-format":"YYYY-MM-DD",class:"w-full"},null,8,["modelValue"])]),_:1}),e(_,{label:"运动类型",required:""},{default:a(()=>[e(x,{modelValue:i(l).exercise_type,"onUpdate:modelValue":t[1]||(t[1]=o=>i(l).exercise_type=o),placeholder:"请选择运动类型",class:"w-full"},{default:a(()=>[e(d,{label:"散步",value:"散步"}),e(d,{label:"慢跑",value:"慢跑"}),e(d,{label:"游泳",value:"游泳"}),e(d,{label:"瑜伽",value:"瑜伽"}),e(d,{label:"骑自行车",value:"骑自行车"}),e(d,{label:"打太极拳",value:"打太极拳"}),e(d,{label:"其他",value:"其他"})]),_:1},8,["modelValue"])]),_:1}),e(_,{label:"运动时长(分钟)",required:""},{default:a(()=>[e(T,{modelValue:i(l).duration,"onUpdate:modelValue":t[2]||(t[2]=o=>i(l).duration=o),min:0,max:300,placeholder:"请输入运动时长"},null,8,["modelValue"])]),_:1}),e(_,{label:"运动强度",required:""},{default:a(()=>[e(x,{modelValue:i(l).intensity,"onUpdate:modelValue":t[3]||(t[3]=o=>i(l).intensity=o),placeholder:"请选择运动强度",class:"w-full"},{default:a(()=>[e(d,{label:"低强度",value:1}),e(d,{label:"中强度",value:2}),e(d,{label:"高强度",value:3})]),_:1},8,["modelValue"])]),_:1}),e(_,{label:"运动图片"},{default:a(()=>[e(q,{modelValue:i(l).images,"onUpdate:modelValue":t[4]||(t[4]=o=>i(l).images=o),limit:3,type:"image"},null,8,["modelValue"])]),_:1}),e(_,{label:"备注"},{default:a(()=>[e(M,{modelValue:i(l).note,"onUpdate:modelValue":t[5]||(t[5]=o=>i(l).note=o),type:"textarea",rows:3,placeholder:"请输入备注"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}}),pt=le(pe,[["__scopeId","data-v-ab6f0ec7"]]);export{pt as default}; +import{i as F,N as L,M as Q,D as W,B as $,a2 as h,P as G,Q as H,h as j,C as z,V as J}from"./element-plus-DFTWCWyi.js";import{_ as K}from"./picker-BCRrEZaA.js";import{ab as X,ac as Z,P as ee,Q as te}from"./tcm-BcqaE0lo.js";import{i as p,_ as le}from"./index-DBREMm_z.js";import{f as oe,b as ae,w as ie,ak as g,I as w,a as e,aN as a,O as u,H as k,G as re,A as ne}from"./@vue/runtime-core-C6bnekPw.js";import{n as b,y as i,a as de}from"./@vue/reactivity-DiY1c2vO.js";import{Q as I}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-BwF7vczx.js";import"./index-BiPYXDtP.js";import"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import"./index-CbfZXeGu.js";import"./index-CRoZWY-W.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-BimpIRb_.js";import"./index.vue_vue_type_script_setup_true_lang-x0oL2ShL.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./usePaging-VsbTxSU0.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const se={class:"exercise-record-list"},me={key:0,class:"mb-4"},pe=oe({__name:"ExerciseRecordList",props:{diagnosisId:{type:Number,default:0},patientId:{type:Number,default:0},readOnly:{type:Boolean,default:!1}},setup(y){const n=y,V=b([]),s=b(!1),v=b(!1),E=ne(()=>l.value.id?"编辑记录":"添加记录"),l=b({id:"",diagnosis_id:n.diagnosisId,patient_id:n.patientId,record_date:"",exercise_type:"",duration:0,intensity:1,images:[],note:""}),C=[{label:"低强度",value:1},{label:"中强度",value:2},{label:"高强度",value:3}],D=r=>{const t=C.find(m=>m.value===r);return t?t.label:"未知"},f=async()=>{if(!(!n.diagnosisId&&!n.patientId))try{const r=await X({diagnosis_id:n.diagnosisId,patient_id:n.patientId});V.value=r}catch(r){console.error("获取记录失败:",r)}},N=()=>{l.value={id:"",diagnosis_id:n.diagnosisId,patient_id:n.patientId,record_date:"",exercise_type:"",duration:0,intensity:1,images:[],note:""},s.value=!0},R=r=>{l.value={...r},s.value=!0},B=async r=>{await p.confirm("确定要删除这条记录吗?");try{await Z({id:r.id}),p.msgSuccess("删除成功"),f()}catch(t){console.error("删除失败:",t)}},U=async()=>{if(!l.value.record_date){p.msgWarning("请选择记录日期");return}if(!l.value.exercise_type){p.msgWarning("请选择运动类型");return}if(!l.value.duration){p.msgWarning("请输入运动时长");return}v.value=!0;try{l.value.id?(await ee(l.value),p.msgSuccess("编辑成功")):(await te(l.value),p.msgSuccess("添加成功")),s.value=!1,f()}catch(r){console.error("提交失败:",r)}finally{v.value=!1}};return ae(()=>{f()}),ie(()=>[n.diagnosisId,n.patientId],()=>{f()}),(r,t)=>{const m=F,c=L,O=Q,S=h,_=$,d=H,x=G,T=j,q=K,M=z,P=W,Y=J;return g(),w("div",se,[y.readOnly?k("",!0):(g(),w("div",me,[e(m,{type:"primary",onClick:N},{default:a(()=>[...t[8]||(t[8]=[u("添加记录",-1)])]),_:1})])),e(O,{data:i(V),border:"",style:{width:"100%"}},{default:a(()=>[e(c,{prop:"record_date",label:"记录日期",width:"120"}),e(c,{prop:"exercise_type",label:"运动类型",width:"150"}),e(c,{prop:"duration",label:"运动时长",width:"100"},{default:a(({row:o})=>[u(I(o.duration)+" 分钟 ",1)]),_:1}),e(c,{label:"运动强度",width:"100"},{default:a(({row:o})=>[u(I(D(o.intensity)),1)]),_:1}),e(c,{prop:"note",label:"备注","show-overflow-tooltip":""}),y.readOnly?k("",!0):(g(),re(c,{key:0,label:"操作",width:"150",fixed:"right"},{default:a(({row:o})=>[e(m,{link:"",type:"primary",onClick:A=>R(o)},{default:a(()=>[...t[9]||(t[9]=[u("编辑",-1)])]),_:1},8,["onClick"]),e(m,{link:"",type:"danger",onClick:A=>B(o)},{default:a(()=>[...t[10]||(t[10]=[u("删除",-1)])]),_:1},8,["onClick"])]),_:1}))]),_:1},8,["data"]),e(Y,{modelValue:i(s),"onUpdate:modelValue":t[7]||(t[7]=o=>de(s)?s.value=o:null),title:i(E),width:"600px"},{footer:a(()=>[e(m,{onClick:t[6]||(t[6]=o=>s.value=!1)},{default:a(()=>[...t[11]||(t[11]=[u("取消",-1)])]),_:1}),e(m,{type:"primary",onClick:U,loading:i(v)},{default:a(()=>[...t[12]||(t[12]=[u("确定",-1)])]),_:1},8,["loading"])]),default:a(()=>[e(P,{model:i(l),"label-width":"120px"},{default:a(()=>[e(_,{label:"记录日期",required:""},{default:a(()=>[e(S,{modelValue:i(l).record_date,"onUpdate:modelValue":t[0]||(t[0]=o=>i(l).record_date=o),type:"date",placeholder:"选择日期","value-format":"YYYY-MM-DD",class:"w-full"},null,8,["modelValue"])]),_:1}),e(_,{label:"运动类型",required:""},{default:a(()=>[e(x,{modelValue:i(l).exercise_type,"onUpdate:modelValue":t[1]||(t[1]=o=>i(l).exercise_type=o),placeholder:"请选择运动类型",class:"w-full"},{default:a(()=>[e(d,{label:"散步",value:"散步"}),e(d,{label:"慢跑",value:"慢跑"}),e(d,{label:"游泳",value:"游泳"}),e(d,{label:"瑜伽",value:"瑜伽"}),e(d,{label:"骑自行车",value:"骑自行车"}),e(d,{label:"打太极拳",value:"打太极拳"}),e(d,{label:"其他",value:"其他"})]),_:1},8,["modelValue"])]),_:1}),e(_,{label:"运动时长(分钟)",required:""},{default:a(()=>[e(T,{modelValue:i(l).duration,"onUpdate:modelValue":t[2]||(t[2]=o=>i(l).duration=o),min:0,max:300,placeholder:"请输入运动时长"},null,8,["modelValue"])]),_:1}),e(_,{label:"运动强度",required:""},{default:a(()=>[e(x,{modelValue:i(l).intensity,"onUpdate:modelValue":t[3]||(t[3]=o=>i(l).intensity=o),placeholder:"请选择运动强度",class:"w-full"},{default:a(()=>[e(d,{label:"低强度",value:1}),e(d,{label:"中强度",value:2}),e(d,{label:"高强度",value:3})]),_:1},8,["modelValue"])]),_:1}),e(_,{label:"运动图片"},{default:a(()=>[e(q,{modelValue:i(l).images,"onUpdate:modelValue":t[4]||(t[4]=o=>i(l).images=o),limit:3,type:"image"},null,8,["modelValue"])]),_:1}),e(_,{label:"备注"},{default:a(()=>[e(M,{modelValue:i(l).note,"onUpdate:modelValue":t[5]||(t[5]=o=>i(l).note=o),type:"textarea",rows:3,placeholder:"请输入备注"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}}),pt=le(pe,[["__scopeId","data-v-ab6f0ec7"]]);export{pt as default}; diff --git a/server/public/admin/assets/ImChatRecordPanel-DiuuXcLT.js b/server/public/admin/assets/ImChatRecordPanel-C40Ue1e_.js similarity index 96% rename from server/public/admin/assets/ImChatRecordPanel-DiuuXcLT.js rename to server/public/admin/assets/ImChatRecordPanel-C40Ue1e_.js index 6f365884..bb31890b 100644 --- a/server/public/admin/assets/ImChatRecordPanel-DiuuXcLT.js +++ b/server/public/admin/assets/ImChatRecordPanel-C40Ue1e_.js @@ -1 +1 @@ -import{K as F,d as H,i as G,R as J,L as $,T as j,v as q,_ as K,E as x}from"./element-plus-0wC3naml.js";import{d as O}from"./dayjs-DG77mNTn.js";import{a9 as Q,L as W}from"./@element-plus/icons-vue-HOEUG8sr.js";import{ac as U,ad as X}from"./tcm-SLIwsL8z.js";import{p as Z}from"./im-business-message-parse-QKjFLn3X.js";import{f as tt,w as et,ak as s,I as o,a as l,aN as c,J as r,O as d,aP as at,F as E,ap as st,G as _,H as v,A as ot}from"./@vue/runtime-core-C6bnekPw.js";import{y as C,n as u,q as rt}from"./@vue/reactivity-DiY1c2vO.js";import{o as nt,Q as n}from"./@vue/shared-mAAVTE9n.js";import{_ as it}from"./index-E47--KT7.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const lt={class:"im-chat-record-panel"},ct={class:"toolbar mb-3"},mt={class:"chat-wrap"},dt={key:0,class:"chat-list"},pt={class:"meta"},_t={class:"name"},ut={class:"time"},ft={class:"bubble"},yt={key:0,class:"friendly-text"},gt={class:"friendly-main"},vt={key:0,class:"friendly-sub"},ht={key:1,class:"text-content"},wt={key:2,class:"text-content"},kt={key:3,class:"muted"},It=tt({__name:"ImChatRecordPanel",props:{diagnosisId:{}},setup(L,{expose:B}){const p=L,m=u(!1),f=u(!1),y=rt([]),M=u(""),g=u(""),N={text:"",image:"图片",file:"文件",sound:"语音",video:"视频",location:"位置",custom:"自定义",face:"表情",other:""},h=ot(()=>y.value.map(t=>{const a=P(t);let i="";return a!=null&&a.tag?i=a.tag:i=N[t.msg_type]||(t.msg_type!=="other"?t.msg_type:""),{raw:t,friendly:a,tag:i}}));function D(t){if(t==null||!t)return"—";const a=t>1e12?Math.floor(t/1e3):t;return O.unix(a).format("YYYY-MM-DD HH:mm:ss")}function P(t){const a=(t.text||"").trim();if(!a)return null;const i=a.startsWith("{")&&(/\bbusinessID\b/.test(a)||/\bcmd\b/.test(a));return t.msg_type==="custom"||i?Z(a):null}function R(t){return t.is_from_doctor?t.from_staff_name?`医生(${t.from_staff_name})`:"医生/员工":g.value?`患者(${g.value})`:"患者"}async function w(){if(p.diagnosisId){m.value=!0;try{const t=await U({diagnosis_id:p.diagnosisId,only_archived:1});y.value=(t==null?void 0:t.lists)||[],M.value=(t==null?void 0:t.patient_im_id)||"",g.value=(t==null?void 0:t.patient_name)||""}catch(t){console.error(t),y.value=[]}finally{m.value=!1}}}function k(){w()}async function S(){if(p.diagnosisId){f.value=!0;try{await X({diagnosis_id:p.diagnosisId}),x.success('已发起后台同步,几秒后请点击"重新加载已归档"查看新消息')}catch(t){console.error(t),x.error("发起同步失败")}finally{f.value=!1}}}return et(()=>p.diagnosisId,()=>{w()},{immediate:!0}),B({refresh:k}),(t,a)=>{const i=F,I=H,b=G,T=j,Y=q,A=K,V=J,z=$;return s(),o("div",lt,[l(i,{type:"info","show-icon":"",closable:!1,class:"mb-4",title:"说明"},{default:c(()=>[...a[0]||(a[0]=[r("p",{class:"panel-tip"},[d(" 展示单聊记录:已合并患者 与 "),r("strong",null,"所有医生 / 医助账号"),d("分别产生的会话,按时间排序。 数据由后台定时任务从腾讯云 IM 漫游消息同步至本地归档;点击下方按钮可立即触发后台同步。 ")],-1)])]),_:1}),r("div",ct,[l(b,{type:"primary",link:"",loading:f.value,onClick:S},{default:c(()=>[l(I,{class:"mr-1"},{default:c(()=>[l(C(Q))]),_:1}),a[1]||(a[1]=d(" 同步最新(后台异步) ",-1))]),_:1},8,["loading"]),l(b,{type:"primary",link:"",loading:m.value,onClick:k},{default:c(()=>[l(I,{class:"mr-1"},{default:c(()=>[l(C(W))]),_:1}),a[2]||(a[2]=d(" 重新加载已归档 ",-1))]),_:1},8,["loading"])]),at((s(),o("div",mt,[!m.value&&h.value.length?(s(),o("div",dt,[(s(!0),o(E,null,st(h.value,e=>(s(),o("div",{key:e.raw.msg_id,class:nt(["chat-row",e.raw.is_from_doctor?"from-doctor":"from-patient"])},[r("div",pt,[r("span",_t,n(R(e.raw)),1),r("span",ut,n(D(e.raw.time)),1),e.tag?(s(),_(T,{key:0,size:"small",type:"info",class:"ml-2"},{default:c(()=>[d(n(e.tag),1)]),_:2},1024)):v("",!0)]),r("div",ft,[e.raw.msg_type==="image"&&e.raw.image_url?(s(),_(Y,{key:0,src:e.raw.image_url,"preview-src-list":[e.raw.image_url],fit:"contain",class:"chat-img"},null,8,["src","preview-src-list"])):(e.raw.msg_type==="file"||e.raw.msg_type==="sound"||e.raw.msg_type==="video")&&e.raw.file_url?(s(),_(A,{key:1,href:e.raw.file_url,target:"_blank",type:"primary"},{default:c(()=>[d(n(e.raw.file_name||"打开文件"),1)]),_:2},1032,["href"])):(s(),o(E,{key:2},[e.friendly?(s(),o("div",yt,[r("div",gt,n(e.friendly.main),1),e.friendly.sub?(s(),o("div",vt,n(e.friendly.sub),1)):v("",!0)])):e.raw.msg_type==="text"&&e.raw.text?(s(),o("div",ht,n(e.raw.text),1)):e.raw.text?(s(),o("div",wt,n(e.raw.text),1)):(s(),o("span",kt,"(无法展示该消息类型)"))],64))])],2))),128))])):m.value?v("",!0):(s(),_(V,{key:1,description:"暂无 IM 聊天记录"}))])),[[z,m.value]])])}}}),le=it(It,[["__scopeId","data-v-58b699dd"]]);export{le as default}; +import{K as F,d as H,i as G,R as J,L as $,T as j,v as q,_ as K,E as x}from"./element-plus-DFTWCWyi.js";import{d as O}from"./dayjs-DG77mNTn.js";import{a9 as Q,L as W}from"./@element-plus/icons-vue-HOEUG8sr.js";import{ad as U,ae as X}from"./tcm-BcqaE0lo.js";import{p as Z}from"./im-business-message-parse-QKjFLn3X.js";import{f as tt,w as et,ak as s,I as o,a as l,aN as c,J as r,O as d,aP as at,F as E,ap as st,G as _,H as v,A as ot}from"./@vue/runtime-core-C6bnekPw.js";import{y as C,n as u,q as rt}from"./@vue/reactivity-DiY1c2vO.js";import{o as nt,Q as n}from"./@vue/shared-mAAVTE9n.js";import{_ as it}from"./index-DBREMm_z.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const lt={class:"im-chat-record-panel"},ct={class:"toolbar mb-3"},mt={class:"chat-wrap"},dt={key:0,class:"chat-list"},pt={class:"meta"},_t={class:"name"},ut={class:"time"},ft={class:"bubble"},yt={key:0,class:"friendly-text"},gt={class:"friendly-main"},vt={key:0,class:"friendly-sub"},ht={key:1,class:"text-content"},wt={key:2,class:"text-content"},kt={key:3,class:"muted"},It=tt({__name:"ImChatRecordPanel",props:{diagnosisId:{}},setup(L,{expose:B}){const p=L,m=u(!1),f=u(!1),y=rt([]),M=u(""),g=u(""),N={text:"",image:"图片",file:"文件",sound:"语音",video:"视频",location:"位置",custom:"自定义",face:"表情",other:""},h=ot(()=>y.value.map(t=>{const a=P(t);let i="";return a!=null&&a.tag?i=a.tag:i=N[t.msg_type]||(t.msg_type!=="other"?t.msg_type:""),{raw:t,friendly:a,tag:i}}));function D(t){if(t==null||!t)return"—";const a=t>1e12?Math.floor(t/1e3):t;return O.unix(a).format("YYYY-MM-DD HH:mm:ss")}function P(t){const a=(t.text||"").trim();if(!a)return null;const i=a.startsWith("{")&&(/\bbusinessID\b/.test(a)||/\bcmd\b/.test(a));return t.msg_type==="custom"||i?Z(a):null}function R(t){return t.is_from_doctor?t.from_staff_name?`医生(${t.from_staff_name})`:"医生/员工":g.value?`患者(${g.value})`:"患者"}async function w(){if(p.diagnosisId){m.value=!0;try{const t=await U({diagnosis_id:p.diagnosisId,only_archived:1});y.value=(t==null?void 0:t.lists)||[],M.value=(t==null?void 0:t.patient_im_id)||"",g.value=(t==null?void 0:t.patient_name)||""}catch(t){console.error(t),y.value=[]}finally{m.value=!1}}}function k(){w()}async function S(){if(p.diagnosisId){f.value=!0;try{await X({diagnosis_id:p.diagnosisId}),x.success('已发起后台同步,几秒后请点击"重新加载已归档"查看新消息')}catch(t){console.error(t),x.error("发起同步失败")}finally{f.value=!1}}}return et(()=>p.diagnosisId,()=>{w()},{immediate:!0}),B({refresh:k}),(t,a)=>{const i=F,I=H,b=G,T=j,Y=q,A=K,V=J,z=$;return s(),o("div",lt,[l(i,{type:"info","show-icon":"",closable:!1,class:"mb-4",title:"说明"},{default:c(()=>[...a[0]||(a[0]=[r("p",{class:"panel-tip"},[d(" 展示单聊记录:已合并患者 与 "),r("strong",null,"所有医生 / 医助账号"),d("分别产生的会话,按时间排序。 数据由后台定时任务从腾讯云 IM 漫游消息同步至本地归档;点击下方按钮可立即触发后台同步。 ")],-1)])]),_:1}),r("div",ct,[l(b,{type:"primary",link:"",loading:f.value,onClick:S},{default:c(()=>[l(I,{class:"mr-1"},{default:c(()=>[l(C(Q))]),_:1}),a[1]||(a[1]=d(" 同步最新(后台异步) ",-1))]),_:1},8,["loading"]),l(b,{type:"primary",link:"",loading:m.value,onClick:k},{default:c(()=>[l(I,{class:"mr-1"},{default:c(()=>[l(C(W))]),_:1}),a[2]||(a[2]=d(" 重新加载已归档 ",-1))]),_:1},8,["loading"])]),at((s(),o("div",mt,[!m.value&&h.value.length?(s(),o("div",dt,[(s(!0),o(E,null,st(h.value,e=>(s(),o("div",{key:e.raw.msg_id,class:nt(["chat-row",e.raw.is_from_doctor?"from-doctor":"from-patient"])},[r("div",pt,[r("span",_t,n(R(e.raw)),1),r("span",ut,n(D(e.raw.time)),1),e.tag?(s(),_(T,{key:0,size:"small",type:"info",class:"ml-2"},{default:c(()=>[d(n(e.tag),1)]),_:2},1024)):v("",!0)]),r("div",ft,[e.raw.msg_type==="image"&&e.raw.image_url?(s(),_(Y,{key:0,src:e.raw.image_url,"preview-src-list":[e.raw.image_url],fit:"contain",class:"chat-img"},null,8,["src","preview-src-list"])):(e.raw.msg_type==="file"||e.raw.msg_type==="sound"||e.raw.msg_type==="video")&&e.raw.file_url?(s(),_(A,{key:1,href:e.raw.file_url,target:"_blank",type:"primary"},{default:c(()=>[d(n(e.raw.file_name||"打开文件"),1)]),_:2},1032,["href"])):(s(),o(E,{key:2},[e.friendly?(s(),o("div",yt,[r("div",gt,n(e.friendly.main),1),e.friendly.sub?(s(),o("div",vt,n(e.friendly.sub),1)):v("",!0)])):e.raw.msg_type==="text"&&e.raw.text?(s(),o("div",ht,n(e.raw.text),1)):e.raw.text?(s(),o("div",wt,n(e.raw.text),1)):(s(),o("span",kt,"(无法展示该消息类型)"))],64))])],2))),128))])):m.value?v("",!0):(s(),_(V,{key:1,description:"暂无 IM 聊天记录"}))])),[[z,m.value]])])}}}),le=it(It,[["__scopeId","data-v-58b699dd"]]);export{le as default}; diff --git a/server/public/admin/assets/MessageBubble-c6JPgo9w.js b/server/public/admin/assets/MessageBubble-joJCVvzv.js similarity index 95% rename from server/public/admin/assets/MessageBubble-c6JPgo9w.js rename to server/public/admin/assets/MessageBubble-joJCVvzv.js index d9e3b7f9..ca7c0e53 100644 --- a/server/public/admin/assets/MessageBubble-c6JPgo9w.js +++ b/server/public/admin/assets/MessageBubble-joJCVvzv.js @@ -1 +1 @@ -import{q as G,T as S,v as A,d as O,i as Q}from"./element-plus-0wC3naml.js";import{O as q,P as D,Q as H,G as J}from"./@element-plus/icons-vue-HOEUG8sr.js";import{t as K,_ as L}from"./index-E47--KT7.js";import{f as P,ak as a,I as o,a as r,aN as c,O as d,J as i,G as g,H as x,F as U,A as u}from"./@vue/runtime-core-C6bnekPw.js";import{o as B,Q as n}from"./@vue/shared-mAAVTE9n.js";import{y as p}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const j={class:"msg-body"},R={class:"msg-meta"},W={class:"msg-sender"},X={class:"msg-time"},Y={key:0,class:"content-text"},Z={key:2,class:"content-pending"},ee=["src"],te={key:4,class:"content-pending"},se=["src"],ae={key:6,class:"content-pending"},ie={key:7,class:"content-file"},oe={class:"file-meta"},ne=["title"],le={class:"file-info"},me={key:8,class:"content-fallback"},re={class:"fallback-title"},ce={class:"fallback-desc"},ue=P({__name:"MessageBubble",props:{message:{}},setup(t){const l=t,w=u(()=>l.message.from_is_staff),m=u(()=>(l.message.media||[]).find(s=>s.status===1)??null),v=u(()=>{const e=l.message.from_profile;return e&&e.name||l.message.from_user}),z=u(()=>{const e=l.message.from_profile;return(e==null?void 0:e.avatar)||""}),F=u(()=>(v.value||"").slice(-2)||"?"),N=u(()=>{const e=l.message.msgtype;return e==="image"||e==="video"||e==="voice"?"bubble-media":e==="file"?"bubble-file":"bubble-text"}),C=u(()=>{switch(l.message.msgtype){case"link":return"[链接]";case"weapp":return"[小程序]";case"chatrecord":return"[聊天记录]";case"location":return"[位置]";case"card":return"[名片]";case"meeting":return"[会议]";case"docmsg":return"[文档]";case"mixed":return"[混合消息]";case"emotion":return"[表情]";default:return`[${l.message.msgtype}]`}});function E(e){return e?K(e*1e3,"mm-dd hh:MM"):""}function M(e){return e?e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:e<1024*1024*1024?`${(e/1024/1024).toFixed(2)} MB`:`${(e/1024/1024/1024).toFixed(2)} GB`:""}function $(e){window.open(e,"_blank","noopener")}return(e,s)=>{var k,y,b,h;const I=G,_=S,T=A,f=O,V=Q;return a(),o("div",{class:B(["msg-bubble",{"is-staff":w.value}])},[r(I,{class:"msg-avatar",size:36,src:z.value},{default:c(()=>[d(n(F.value),1)]),_:1},8,["src"]),i("div",j,[i("div",R,[i("span",W,n(v.value),1),i("span",X,n(E(t.message.send_time)),1),t.message.action==="recall"?(a(),g(_,{key:0,size:"small",type:"info"},{default:c(()=>[...s[1]||(s[1]=[d(" 已撤回 ",-1)])]),_:1})):x("",!0)]),i("div",{class:B(["msg-content",N.value])},[t.message.msgtype==="text"||t.message.msgtype==="markdown"?(a(),o("div",Y,n(t.message.content),1)):t.message.msgtype==="image"&&((k=m.value)!=null&&k.file_url)?(a(),g(T,{key:1,src:m.value.file_url,"preview-src-list":[m.value.file_url],fit:"contain",class:"content-image","hide-on-click-modal":""},null,8,["src","preview-src-list"])):t.message.msgtype==="image"?(a(),o("div",Z,[r(f,null,{default:c(()=>[r(p(q))]),_:1}),s[2]||(s[2]=i("span",null,"图片下载中…",-1))])):t.message.msgtype==="video"&&((y=m.value)!=null&&y.file_url)?(a(),o("video",{key:3,src:m.value.file_url,controls:"",class:"content-video"},null,8,ee)):t.message.msgtype==="video"?(a(),o("div",te,[r(f,null,{default:c(()=>[r(p(D))]),_:1}),s[3]||(s[3]=i("span",null,"视频下载中…",-1))])):t.message.msgtype==="voice"&&((b=m.value)!=null&&b.file_url)?(a(),o("audio",{key:5,src:m.value.file_url,controls:"",class:"content-audio"},null,8,se)):t.message.msgtype==="voice"?(a(),o("div",ae,[r(f,null,{default:c(()=>[r(p(H))]),_:1}),i("span",null,"语音下载中…("+n(t.message.play_length)+"s)",1)])):t.message.msgtype==="file"?(a(),o("div",ie,[r(f,{size:24},{default:c(()=>[r(p(J))]),_:1}),i("div",oe,[i("div",{class:"file-name",title:t.message.file_name},n(t.message.file_name||"未命名文件"),9,ne),i("div",le,[d(n(M(t.message.file_size))+" ",1),t.message.file_ext?(a(),o(U,{key:0},[d("· "+n(t.message.file_ext),1)],64)):x("",!0)])]),(h=m.value)!=null&&h.file_url?(a(),g(V,{key:0,size:"small",type:"primary",link:"",onClick:s[0]||(s[0]=de=>$(m.value.file_url))},{default:c(()=>[...s[4]||(s[4]=[d(" 下载 ",-1)])]),_:1})):(a(),g(_,{key:1,size:"small",type:"info"},{default:c(()=>[...s[5]||(s[5]=[d("下载中…",-1)])]),_:1}))])):(a(),o("div",me,[i("div",re,n(C.value),1),i("div",ce,n(t.message.content),1)]))],2)])],2)}}}),We=L(ue,[["__scopeId","data-v-b5ff1168"]]);export{We as default}; +import{q as G,T as S,v as A,d as O,i as Q}from"./element-plus-DFTWCWyi.js";import{O as q,P as D,Q as H,G as J}from"./@element-plus/icons-vue-HOEUG8sr.js";import{t as K,_ as L}from"./index-DBREMm_z.js";import{f as P,ak as a,I as o,a as r,aN as c,O as d,J as i,G as g,H as x,F as U,A as u}from"./@vue/runtime-core-C6bnekPw.js";import{o as B,Q as n}from"./@vue/shared-mAAVTE9n.js";import{y as p}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const j={class:"msg-body"},R={class:"msg-meta"},W={class:"msg-sender"},X={class:"msg-time"},Y={key:0,class:"content-text"},Z={key:2,class:"content-pending"},ee=["src"],te={key:4,class:"content-pending"},se=["src"],ae={key:6,class:"content-pending"},ie={key:7,class:"content-file"},oe={class:"file-meta"},ne=["title"],le={class:"file-info"},me={key:8,class:"content-fallback"},re={class:"fallback-title"},ce={class:"fallback-desc"},ue=P({__name:"MessageBubble",props:{message:{}},setup(t){const l=t,w=u(()=>l.message.from_is_staff),m=u(()=>(l.message.media||[]).find(s=>s.status===1)??null),v=u(()=>{const e=l.message.from_profile;return e&&e.name||l.message.from_user}),z=u(()=>{const e=l.message.from_profile;return(e==null?void 0:e.avatar)||""}),F=u(()=>(v.value||"").slice(-2)||"?"),N=u(()=>{const e=l.message.msgtype;return e==="image"||e==="video"||e==="voice"?"bubble-media":e==="file"?"bubble-file":"bubble-text"}),C=u(()=>{switch(l.message.msgtype){case"link":return"[链接]";case"weapp":return"[小程序]";case"chatrecord":return"[聊天记录]";case"location":return"[位置]";case"card":return"[名片]";case"meeting":return"[会议]";case"docmsg":return"[文档]";case"mixed":return"[混合消息]";case"emotion":return"[表情]";default:return`[${l.message.msgtype}]`}});function E(e){return e?K(e*1e3,"mm-dd hh:MM"):""}function M(e){return e?e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:e<1024*1024*1024?`${(e/1024/1024).toFixed(2)} MB`:`${(e/1024/1024/1024).toFixed(2)} GB`:""}function $(e){window.open(e,"_blank","noopener")}return(e,s)=>{var k,y,b,h;const I=G,_=S,T=A,f=O,V=Q;return a(),o("div",{class:B(["msg-bubble",{"is-staff":w.value}])},[r(I,{class:"msg-avatar",size:36,src:z.value},{default:c(()=>[d(n(F.value),1)]),_:1},8,["src"]),i("div",j,[i("div",R,[i("span",W,n(v.value),1),i("span",X,n(E(t.message.send_time)),1),t.message.action==="recall"?(a(),g(_,{key:0,size:"small",type:"info"},{default:c(()=>[...s[1]||(s[1]=[d(" 已撤回 ",-1)])]),_:1})):x("",!0)]),i("div",{class:B(["msg-content",N.value])},[t.message.msgtype==="text"||t.message.msgtype==="markdown"?(a(),o("div",Y,n(t.message.content),1)):t.message.msgtype==="image"&&((k=m.value)!=null&&k.file_url)?(a(),g(T,{key:1,src:m.value.file_url,"preview-src-list":[m.value.file_url],fit:"contain",class:"content-image","hide-on-click-modal":""},null,8,["src","preview-src-list"])):t.message.msgtype==="image"?(a(),o("div",Z,[r(f,null,{default:c(()=>[r(p(q))]),_:1}),s[2]||(s[2]=i("span",null,"图片下载中…",-1))])):t.message.msgtype==="video"&&((y=m.value)!=null&&y.file_url)?(a(),o("video",{key:3,src:m.value.file_url,controls:"",class:"content-video"},null,8,ee)):t.message.msgtype==="video"?(a(),o("div",te,[r(f,null,{default:c(()=>[r(p(D))]),_:1}),s[3]||(s[3]=i("span",null,"视频下载中…",-1))])):t.message.msgtype==="voice"&&((b=m.value)!=null&&b.file_url)?(a(),o("audio",{key:5,src:m.value.file_url,controls:"",class:"content-audio"},null,8,se)):t.message.msgtype==="voice"?(a(),o("div",ae,[r(f,null,{default:c(()=>[r(p(H))]),_:1}),i("span",null,"语音下载中…("+n(t.message.play_length)+"s)",1)])):t.message.msgtype==="file"?(a(),o("div",ie,[r(f,{size:24},{default:c(()=>[r(p(J))]),_:1}),i("div",oe,[i("div",{class:"file-name",title:t.message.file_name},n(t.message.file_name||"未命名文件"),9,ne),i("div",le,[d(n(M(t.message.file_size))+" ",1),t.message.file_ext?(a(),o(U,{key:0},[d("· "+n(t.message.file_ext),1)],64)):x("",!0)])]),(h=m.value)!=null&&h.file_url?(a(),g(V,{key:0,size:"small",type:"primary",link:"",onClick:s[0]||(s[0]=de=>$(m.value.file_url))},{default:c(()=>[...s[4]||(s[4]=[d(" 下载 ",-1)])]),_:1})):(a(),g(_,{key:1,size:"small",type:"info"},{default:c(()=>[...s[5]||(s[5]=[d("下载中…",-1)])]),_:1}))])):(a(),o("div",me,[i("div",re,n(C.value),1),i("div",ce,n(t.message.content),1)]))],2)])],2)}}}),We=L(ue,[["__scopeId","data-v-b5ff1168"]]);export{We as default}; diff --git a/server/public/admin/assets/NoteTimeline-CDNv1DMC.js b/server/public/admin/assets/NoteTimeline-BzPD6QHw.js similarity index 90% rename from server/public/admin/assets/NoteTimeline-CDNv1DMC.js rename to server/public/admin/assets/NoteTimeline-BzPD6QHw.js index 08173d4a..3c71b5f9 100644 --- a/server/public/admin/assets/NoteTimeline-CDNv1DMC.js +++ b/server/public/admin/assets/NoteTimeline-BzPD6QHw.js @@ -1,2 +1,2 @@ -import{R as W,v as Z,d as q,a as K}from"./element-plus-0wC3naml.js";import{_ as Y}from"./picker-DlbAZkDm.js";import{e as ee,c as te,i as S,_ as ie}from"./index-E47--KT7.js";import{s as A}from"./@vue/runtime-dom-DDAG46FW.js";import{b as B,G as se}from"./@element-plus/icons-vue-HOEUG8sr.js";import{d as oe,a as R}from"./patient-DKQ1nUyC.js";import{f as ne,w as re,ak as i,I as n,a as l,aN as c,J as a,H as d,F as v,ap as k,G as I}from"./@vue/runtime-core-C6bnekPw.js";import{n as w,y as C}from"./@vue/reactivity-DiY1c2vO.js";import{Q as z}from"./@vue/shared-mAAVTE9n.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-nymJKQXP.js";import"./index-B56X8bEB.js";import"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import"./index-BHTgr4Ka.js";import"./index-Ci4dcEQh.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-DoYUJmkp.js";import"./index.vue_vue_type_script_setup_true_lang-Bl0f8aX8.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./usePaging-VsbTxSU0.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const le={class:"note-timeline-wrap"},ae={key:0,class:"timeline-actions"},me={class:"upload-trigger"},de={class:"upload-trigger"},pe={key:1,class:"note-timeline"},ce={class:"timeline-date"},ue={class:"timeline-body"},ge={key:0,class:"timeline-content"},_e={key:1,class:"timeline-images"},fe={key:2,class:"timeline-images"},ve={key:0,class:"thumb-wrap"},he={key:1,class:"file-wrap"},ye=["href","title"],ke={class:"file-name"},T=8e3,Ie=ne({__name:"NoteTimeline",props:{notes:{},diagnosisId:{},readonly:{type:Boolean}},emits:["refresh"],setup(m,{emit:G}){const u=m,b=G,L=ee(),g=t=>L.getImageUrl(t),x=w([]),E=w([]),_=w(0),f=w(0),$=["jpg","jpeg","png","gif","bmp","webp","svg"],N=t=>{var s;const e=((s=t.split(".").pop())==null?void 0:s.toLowerCase().split("?")[0])||"";return $.includes(e)},M=t=>{var s;const e=t.split("/");return decodeURIComponent(((s=e[e.length-1])==null?void 0:s.split("?")[0])||"文件")},j=t=>t.filter(N).map(g),O=(t,e)=>{const s=t.filter(N),h=t[e];return s.indexOf(h)},X=t=>t?t.split(` +import{R as W,v as Z,d as q,a as K}from"./element-plus-DFTWCWyi.js";import{_ as Y}from"./picker-BCRrEZaA.js";import{e as ee,c as te,i as S,_ as ie}from"./index-DBREMm_z.js";import{s as A}from"./@vue/runtime-dom-DDAG46FW.js";import{b as B,G as se}from"./@element-plus/icons-vue-HOEUG8sr.js";import{d as oe,a as R}from"./patient-DdWkVUZB.js";import{f as ne,w as re,ak as i,I as n,a as l,aN as c,J as a,H as d,F as v,ap as k,G as I}from"./@vue/runtime-core-C6bnekPw.js";import{n as w,y as C}from"./@vue/reactivity-DiY1c2vO.js";import{Q as z}from"./@vue/shared-mAAVTE9n.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-BwF7vczx.js";import"./index-BiPYXDtP.js";import"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import"./index-CbfZXeGu.js";import"./index-CRoZWY-W.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-BimpIRb_.js";import"./index.vue_vue_type_script_setup_true_lang-x0oL2ShL.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./usePaging-VsbTxSU0.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const le={class:"note-timeline-wrap"},ae={key:0,class:"timeline-actions"},me={class:"upload-trigger"},de={class:"upload-trigger"},pe={key:1,class:"note-timeline"},ce={class:"timeline-date"},ue={class:"timeline-body"},ge={key:0,class:"timeline-content"},_e={key:1,class:"timeline-images"},fe={key:2,class:"timeline-images"},ve={key:0,class:"thumb-wrap"},he={key:1,class:"file-wrap"},ye=["href","title"],ke={class:"file-name"},T=8e3,Ie=ne({__name:"NoteTimeline",props:{notes:{},diagnosisId:{},readonly:{type:Boolean}},emits:["refresh"],setup(m,{emit:G}){const u=m,b=G,L=ee(),g=t=>L.getImageUrl(t),x=w([]),E=w([]),_=w(0),f=w(0),$=["jpg","jpeg","png","gif","bmp","webp","svg"],N=t=>{var s;const e=((s=t.split(".").pop())==null?void 0:s.toLowerCase().split("?")[0])||"";return $.includes(e)},M=t=>{var s;const e=t.split("/");return decodeURIComponent(((s=e[e.length-1])==null?void 0:s.split("?")[0])||"文件")},j=t=>t.filter(N).map(g),O=(t,e)=>{const s=t.filter(N),h=t[e];return s.indexOf(h)},X=t=>t?t.split(` `).filter(Boolean):[],H=t=>{if(!u.diagnosisId)return;const e=Array.isArray(t)?t:[t];if(e.length<=_.value){_.value=e.length;return}const s=e.slice(_.value);_.value=e.length,s.length>0&&R({diagnosis_id:u.diagnosisId,tongue_images:s}).then(()=>{S.msgSuccess("舌苔照片已添加"),b("refresh")})},J=t=>{if(!u.diagnosisId)return;const e=Array.isArray(t)?t:[t];if(e.length<=f.value){f.value=e.length;return}const s=e.slice(f.value);f.value=e.length,s.length>0&&R({diagnosis_id:u.diagnosisId,report_files:s}).then(()=>{S.msgSuccess("检查报告已添加"),b("refresh")})};re(()=>u.notes,()=>{x.value=[],E.value=[],_.value=0,f.value=0});const V=async(t,e,s)=>{try{await K.confirm("确认删除?","提示",{type:"warning"})}catch{return}await oe({note_id:t,image_type:e,image_path:s}),S.msgSuccess("已删除"),b("refresh")};return(t,e)=>{const s=te,h=Y,U=Z,y=q,Q=W;return i(),n("div",le,[!m.readonly&&m.diagnosisId?(i(),n("div",ae,[l(h,{modelValue:x.value,"onUpdate:modelValue":e[0]||(e[0]=o=>x.value=o),limit:99,type:"image","exclude-domain":!0,onChange:H},{upload:c(()=>[a("div",me,[l(s,{size:20,name:"el-icon-Plus"}),e[2]||(e[2]=a("span",null,"舌苔照片",-1))])]),_:1},8,["modelValue"]),l(h,{modelValue:E.value,"onUpdate:modelValue":e[1]||(e[1]=o=>E.value=o),limit:99,type:"file","exclude-domain":!0,onChange:J},{upload:c(()=>[a("div",de,[l(s,{size:20,name:"el-icon-Plus"}),e[3]||(e[3]=a("span",null,"检查报告",-1))])]),_:1},8,["modelValue"])])):d("",!0),m.notes.length?(i(),n("div",pe,[(i(!0),n(v,null,k(m.notes,o=>{var D,F;return i(),n("div",{key:o.id,class:"timeline-node"},[e[6]||(e[6]=a("div",{class:"timeline-dot"},null,-1)),a("div",ce,z(o.note_date),1),a("div",ue,[o.content?(i(),n("div",ge,[(i(!0),n(v,null,k(X(o.content),(r,p)=>(i(),n("div",{key:p,class:"content-line"},z(r),1))),128))])):d("",!0),(D=o.tongue_images)!=null&&D.length?(i(),n("div",_e,[e[4]||(e[4]=a("span",{class:"images-label"},"舌苔照片",-1)),(i(!0),n(v,null,k(o.tongue_images,(r,p)=>(i(),n("div",{key:p,class:"thumb-wrap"},[l(U,{src:g(r),"preview-src-list":o.tongue_images.map(g),"initial-index":p,"z-index":T,fit:"cover",class:"timeline-thumb","preview-teleported":""},null,8,["src","preview-src-list","initial-index"]),m.readonly?d("",!0):(i(),I(y,{key:0,class:"thumb-delete",onClick:A(P=>V(o.id,"tongue_images",r),["stop"])},{default:c(()=>[l(C(B))]),_:1},8,["onClick"]))]))),128))])):d("",!0),(F=o.report_files)!=null&&F.length?(i(),n("div",fe,[e[5]||(e[5]=a("span",{class:"images-label"},"检查报告",-1)),(i(!0),n(v,null,k(o.report_files,(r,p)=>(i(),n(v,{key:p},[N(r)?(i(),n("div",ve,[l(U,{src:g(r),"preview-src-list":j(o.report_files),"initial-index":O(o.report_files,p),"z-index":T,fit:"cover",class:"timeline-thumb","preview-teleported":""},null,8,["src","preview-src-list","initial-index"]),m.readonly?d("",!0):(i(),I(y,{key:0,class:"thumb-delete",onClick:A(P=>V(o.id,"report_files",r),["stop"])},{default:c(()=>[l(C(B))]),_:1},8,["onClick"]))])):(i(),n("div",he,[a("a",{href:g(r),target:"_blank",class:"file-link",title:M(r)},[l(y,{size:20},{default:c(()=>[l(C(se))]),_:1}),a("span",ke,z(M(r)),1)],8,ye),m.readonly?d("",!0):(i(),I(y,{key:0,class:"file-delete",onClick:A(P=>V(o.id,"report_files",r),["stop"])},{default:c(()=>[l(C(B))]),_:1},8,["onClick"]))]))],64))),128))])):d("",!0)])])}),128))])):d("",!0),!m.notes.length&&m.readonly?(i(),I(Q,{key:2,description:"暂无备注","image-size":48})):d("",!0)])}}}),It=ie(Ie,[["__scopeId","data-v-f77bb3f4"]]);export{It as default}; diff --git a/server/public/admin/assets/PatientCaseCard-Dkbl8NTI.js b/server/public/admin/assets/PatientCaseCard-8RzolaE2.js similarity index 98% rename from server/public/admin/assets/PatientCaseCard-Dkbl8NTI.js rename to server/public/admin/assets/PatientCaseCard-8RzolaE2.js index 2b23fc90..81d0cc4d 100644 --- a/server/public/admin/assets/PatientCaseCard-Dkbl8NTI.js +++ b/server/public/admin/assets/PatientCaseCard-8RzolaE2.js @@ -1 +1 @@ -import{i as Q,a as q,b as z}from"./blood-thresholds-CJ1fqMjh.js";import{m as G,j as R,b as U}from"./diag-display-DCz_VAqj.js";import{f as E}from"./diabetes-discovery-display-B_wmGXQJ.js";import{f as W,ak as F,I as J,J as s,O as X,a as l,H as Y,A as Z,i as d}from"./@vue/runtime-core-C6bnekPw.js";import{Q as r}from"./@vue/shared-mAAVTE9n.js";import{y as i}from"./@vue/reactivity-DiY1c2vO.js";import{_ as P}from"./index-E47--KT7.js";import"./lodash-D3kF6u-c.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./element-plus-0wC3naml.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const ll={class:"card case-card"},al={class:"card-title"},el={class:"case-sub"},il={class:"grid-block"},tl={class:"kv-grid four"},sl={class:"grid-block"},ul={class:"kv-grid four"},nl={class:"grid-block"},dl={class:"kv-grid four"},ol={class:"grid-block"},vl={class:"kv-grid three"},rl={class:"grid-block"},gl={class:"kv-grid three"},cl={class:"grid-block"},ml={class:"kv-grid three"},bl={key:0,class:"grid-block"},hl={class:"kv-grid one"},yl={class:"grid-block"},fl={class:"rx-note"},pl=W({__name:"PatientCaseCard",props:{apt:{default:()=>({})},diag:{default:()=>({})}},setup(e){const g=e,M=Z(()=>(g.diag||{}).consultation_type==="follow_up"?"复诊":"初诊"),u=U(()=>g.diag||{}),a=n=>{const t=n.value,o=t==null||t===""||Array.isArray(t)&&t.length===0;return d("div",{class:["kv-item",n.multiline?"multiline":"",o?"empty":""],style:n.span?`grid-column: span ${n.span}`:""},[d("span",{class:"kv-label"},n.label),d("span",{class:"kv-value"},o?"—":String(t))])},v=n=>{const t=n.value===void 0||n.value===null||n.value==="";return d("div",{class:["kv-item","metric-kv-item",t?"empty":""],style:n.span?`grid-column: span ${n.span}`:""},[d("span",{class:"kv-label"},n.label),d("span",{class:["kv-value","metric-kv-value",n.high?"high":""]},t?"—":[`${n.value}${n.unit||""}`,n.high?d("span",{class:"metric-up"},"↑"):null])])};return(n,t)=>{var o,c,m,b,h,y,f,p,k,_,x,w,C,D,H,V,I,A,B,N,S,$,O,T,j,K,L;return F(),J("div",ll,[s("div",al,[t[0]||(t[0]=X(" 患者病例 ",-1)),s("span",el,r(M.value)+" · 诊断日期 "+r(((o=e.diag)==null?void 0:o.diagnosis_date)||((c=e.apt)==null?void 0:c.appointment_date)||"—"),1)]),s("div",il,[t[1]||(t[1]=s("div",{class:"grid-title"},"基本信息",-1)),s("div",tl,[l(a,{label:"诊单ID",value:(m=e.diag)==null?void 0:m.patient_id},null,8,["value"]),l(a,{label:"姓名",value:(b=e.diag)==null?void 0:b.patient_name},null,8,["value"]),l(a,{label:"身份证号",value:(h=e.diag)==null?void 0:h.id_card},null,8,["value"]),l(a,{label:"手机号",value:i(G)(((y=e.diag)==null?void 0:y.phone)||((f=e.apt)==null?void 0:f.patient_phone))},null,8,["value"]),l(a,{label:"性别",value:i(u)("gender")},null,8,["value"]),l(a,{label:"年龄",value:((p=e.diag)==null?void 0:p.age)!=null?e.diag.age+"岁":""},null,8,["value"]),l(a,{label:"婚姻状态",value:i(u)("marital_status")},null,8,["value"]),l(a,{label:"地区",value:(k=e.diag)==null?void 0:k.region},null,8,["value"])])]),s("div",sl,[t[2]||(t[2]=s("div",{class:"grid-title"},"生命体征",-1)),s("div",ul,[l(a,{label:"身高",value:(_=e.diag)!=null&&_.height?e.diag.height+" cm":""},null,8,["value"]),l(a,{label:"体重",value:(x=e.diag)!=null&&x.weight?e.diag.weight+" kg":""},null,8,["value"]),l(v,{label:"高压",value:(w=e.diag)==null?void 0:w.systolic_pressure,unit:" mmHg",high:i(Q)((C=e.diag)==null?void 0:C.systolic_pressure)},null,8,["value","high"]),l(v,{label:"低压",value:(D=e.diag)==null?void 0:D.diastolic_pressure,unit:" mmHg",high:i(q)((H=e.diag)==null?void 0:H.diastolic_pressure)},null,8,["value","high"]),l(a,{label:"诊断类型",value:i(u)("diagnosis_type")},null,8,["value"]),l(v,{label:"空腹血糖",value:(V=e.diag)==null?void 0:V.fasting_blood_sugar,unit:" mmol/L",high:i(z)((I=e.diag)==null?void 0:I.fasting_blood_sugar,(A=e.diag)==null?void 0:A.age)},null,8,["value","high"]),l(a,{label:"在用药物",value:(B=e.diag)==null?void 0:B.current_medications,multiline:""},null,8,["value"])])]),s("div",nl,[t[3]||(t[3]=s("div",{class:"grid-title"},"主诉",-1)),s("div",dl,[l(a,{label:"当地医院诊断日期",value:(N=e.diag)==null?void 0:N.diagnosis_date},null,8,["value"]),l(a,{label:"发现糖尿病病史",value:i(E)?i(E)((S=e.diag)==null?void 0:S.diabetes_discovery_year):($=e.diag)==null?void 0:$.diabetes_discovery_year},null,8,["value"]),l(a,{label:"当地就诊医院",value:(O=e.diag)==null?void 0:O.local_hospital_name},null,8,["value"]),l(a,{label:"当地医院诊断结果",value:i(R)((T=e.diag)==null?void 0:T.local_hospital_diagnosis)},null,8,["value"])])]),s("div",ol,[t[4]||(t[4]=s("div",{class:"grid-title"},"现病史",-1)),s("div",vl,[l(a,{label:"口腔感觉",value:i(u)("appetite")},null,8,["value"]),l(a,{label:"每日饮水量",value:i(u)("water_intake")},null,8,["value"]),l(a,{label:"近月体重变化",value:i(u)("weight_change")},null,8,["value"]),l(a,{label:"脂肪肝程度",value:i(u)("fatty_liver_degree")},null,8,["value"]),l(a,{label:"饮食情况",value:i(u)("diet_condition"),span:"2"},null,8,["value"]),l(a,{label:"肢体感觉",value:i(u)("body_feeling")},null,8,["value"]),l(a,{label:"睡眠情况",value:i(u)("sleep_condition")},null,8,["value"]),l(a,{label:"眼睛情况",value:i(u)("eye_condition")},null,8,["value"]),l(a,{label:"头部感觉",value:i(u)("head_feeling")},null,8,["value"]),l(a,{label:"出汗情况",value:i(u)("sweat_condition")},null,8,["value"]),l(a,{label:"皮肤情况",value:i(u)("skin_condition")},null,8,["value"]),l(a,{label:"小便情况",value:i(u)("urine_condition")},null,8,["value"]),l(a,{label:"大便情况",value:i(u)("stool_condition")},null,8,["value"]),l(a,{label:"腰肾情况",value:i(u)("kidney_condition")},null,8,["value"]),l(a,{label:"其他补充",value:(j=e.diag)==null?void 0:j.symptoms,span:"3",multiline:""},null,8,["value"])])]),s("div",rl,[t[5]||(t[5]=s("div",{class:"grid-title"},"既往史",-1)),s("div",gl,[l(a,{label:"既往病史",value:i(u)("past_history"),span:"3"},null,8,["value"])])]),s("div",cl,[t[6]||(t[6]=s("div",{class:"grid-title"},"其他病史",-1)),s("div",ml,[l(a,{label:"外伤史",value:i(u)("trauma_history")},null,8,["value"]),l(a,{label:"手术史",value:i(u)("surgery_history")},null,8,["value"]),l(a,{label:"过敏史",value:i(u)("allergy_history")},null,8,["value"]),l(a,{label:"家族病史",value:i(u)("family_history")},null,8,["value"]),l(a,{label:"妊娠哺乳史",value:i(u)("pregnancy_history")},null,8,["value"])])]),(K=e.diag)!=null&&K.remark?(F(),J("div",bl,[t[7]||(t[7]=s("div",{class:"grid-title"},"病史补充",-1)),s("div",hl,[l(a,{label:"",value:e.diag.remark,multiline:""},null,8,["value"])])])):Y("",!0),s("div",yl,[t[8]||(t[8]=s("div",{class:"grid-title"},"处方意见",-1)),s("div",fl,r((L=e.apt)!=null&&L.has_prescription?"已开方。":"当前未开方。"),1)])])}}}),ua=P(pl,[["__scopeId","data-v-5de08f8e"]]);export{ua as default}; +import{i as Q,a as q,b as z}from"./blood-thresholds-CJ1fqMjh.js";import{m as G,j as R,b as U}from"./diag-display-DCz_VAqj.js";import{f as E}from"./diabetes-discovery-display-B_wmGXQJ.js";import{f as W,ak as F,I as J,J as s,O as X,a as l,H as Y,A as Z,i as d}from"./@vue/runtime-core-C6bnekPw.js";import{Q as r}from"./@vue/shared-mAAVTE9n.js";import{y as i}from"./@vue/reactivity-DiY1c2vO.js";import{_ as P}from"./index-DBREMm_z.js";import"./lodash-D3kF6u-c.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./element-plus-DFTWCWyi.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const ll={class:"card case-card"},al={class:"card-title"},el={class:"case-sub"},il={class:"grid-block"},tl={class:"kv-grid four"},sl={class:"grid-block"},ul={class:"kv-grid four"},nl={class:"grid-block"},dl={class:"kv-grid four"},ol={class:"grid-block"},vl={class:"kv-grid three"},rl={class:"grid-block"},gl={class:"kv-grid three"},cl={class:"grid-block"},ml={class:"kv-grid three"},bl={key:0,class:"grid-block"},hl={class:"kv-grid one"},yl={class:"grid-block"},fl={class:"rx-note"},pl=W({__name:"PatientCaseCard",props:{apt:{default:()=>({})},diag:{default:()=>({})}},setup(e){const g=e,M=Z(()=>(g.diag||{}).consultation_type==="follow_up"?"复诊":"初诊"),u=U(()=>g.diag||{}),a=n=>{const t=n.value,o=t==null||t===""||Array.isArray(t)&&t.length===0;return d("div",{class:["kv-item",n.multiline?"multiline":"",o?"empty":""],style:n.span?`grid-column: span ${n.span}`:""},[d("span",{class:"kv-label"},n.label),d("span",{class:"kv-value"},o?"—":String(t))])},v=n=>{const t=n.value===void 0||n.value===null||n.value==="";return d("div",{class:["kv-item","metric-kv-item",t?"empty":""],style:n.span?`grid-column: span ${n.span}`:""},[d("span",{class:"kv-label"},n.label),d("span",{class:["kv-value","metric-kv-value",n.high?"high":""]},t?"—":[`${n.value}${n.unit||""}`,n.high?d("span",{class:"metric-up"},"↑"):null])])};return(n,t)=>{var o,c,m,b,h,y,f,p,k,_,x,w,C,D,H,V,I,A,B,N,S,$,O,T,j,K,L;return F(),J("div",ll,[s("div",al,[t[0]||(t[0]=X(" 患者病例 ",-1)),s("span",el,r(M.value)+" · 诊断日期 "+r(((o=e.diag)==null?void 0:o.diagnosis_date)||((c=e.apt)==null?void 0:c.appointment_date)||"—"),1)]),s("div",il,[t[1]||(t[1]=s("div",{class:"grid-title"},"基本信息",-1)),s("div",tl,[l(a,{label:"诊单ID",value:(m=e.diag)==null?void 0:m.patient_id},null,8,["value"]),l(a,{label:"姓名",value:(b=e.diag)==null?void 0:b.patient_name},null,8,["value"]),l(a,{label:"身份证号",value:(h=e.diag)==null?void 0:h.id_card},null,8,["value"]),l(a,{label:"手机号",value:i(G)(((y=e.diag)==null?void 0:y.phone)||((f=e.apt)==null?void 0:f.patient_phone))},null,8,["value"]),l(a,{label:"性别",value:i(u)("gender")},null,8,["value"]),l(a,{label:"年龄",value:((p=e.diag)==null?void 0:p.age)!=null?e.diag.age+"岁":""},null,8,["value"]),l(a,{label:"婚姻状态",value:i(u)("marital_status")},null,8,["value"]),l(a,{label:"地区",value:(k=e.diag)==null?void 0:k.region},null,8,["value"])])]),s("div",sl,[t[2]||(t[2]=s("div",{class:"grid-title"},"生命体征",-1)),s("div",ul,[l(a,{label:"身高",value:(_=e.diag)!=null&&_.height?e.diag.height+" cm":""},null,8,["value"]),l(a,{label:"体重",value:(x=e.diag)!=null&&x.weight?e.diag.weight+" kg":""},null,8,["value"]),l(v,{label:"高压",value:(w=e.diag)==null?void 0:w.systolic_pressure,unit:" mmHg",high:i(Q)((C=e.diag)==null?void 0:C.systolic_pressure)},null,8,["value","high"]),l(v,{label:"低压",value:(D=e.diag)==null?void 0:D.diastolic_pressure,unit:" mmHg",high:i(q)((H=e.diag)==null?void 0:H.diastolic_pressure)},null,8,["value","high"]),l(a,{label:"诊断类型",value:i(u)("diagnosis_type")},null,8,["value"]),l(v,{label:"空腹血糖",value:(V=e.diag)==null?void 0:V.fasting_blood_sugar,unit:" mmol/L",high:i(z)((I=e.diag)==null?void 0:I.fasting_blood_sugar,(A=e.diag)==null?void 0:A.age)},null,8,["value","high"]),l(a,{label:"在用药物",value:(B=e.diag)==null?void 0:B.current_medications,multiline:""},null,8,["value"])])]),s("div",nl,[t[3]||(t[3]=s("div",{class:"grid-title"},"主诉",-1)),s("div",dl,[l(a,{label:"当地医院诊断日期",value:(N=e.diag)==null?void 0:N.diagnosis_date},null,8,["value"]),l(a,{label:"发现糖尿病病史",value:i(E)?i(E)((S=e.diag)==null?void 0:S.diabetes_discovery_year):($=e.diag)==null?void 0:$.diabetes_discovery_year},null,8,["value"]),l(a,{label:"当地就诊医院",value:(O=e.diag)==null?void 0:O.local_hospital_name},null,8,["value"]),l(a,{label:"当地医院诊断结果",value:i(R)((T=e.diag)==null?void 0:T.local_hospital_diagnosis)},null,8,["value"])])]),s("div",ol,[t[4]||(t[4]=s("div",{class:"grid-title"},"现病史",-1)),s("div",vl,[l(a,{label:"口腔感觉",value:i(u)("appetite")},null,8,["value"]),l(a,{label:"每日饮水量",value:i(u)("water_intake")},null,8,["value"]),l(a,{label:"近月体重变化",value:i(u)("weight_change")},null,8,["value"]),l(a,{label:"脂肪肝程度",value:i(u)("fatty_liver_degree")},null,8,["value"]),l(a,{label:"饮食情况",value:i(u)("diet_condition"),span:"2"},null,8,["value"]),l(a,{label:"肢体感觉",value:i(u)("body_feeling")},null,8,["value"]),l(a,{label:"睡眠情况",value:i(u)("sleep_condition")},null,8,["value"]),l(a,{label:"眼睛情况",value:i(u)("eye_condition")},null,8,["value"]),l(a,{label:"头部感觉",value:i(u)("head_feeling")},null,8,["value"]),l(a,{label:"出汗情况",value:i(u)("sweat_condition")},null,8,["value"]),l(a,{label:"皮肤情况",value:i(u)("skin_condition")},null,8,["value"]),l(a,{label:"小便情况",value:i(u)("urine_condition")},null,8,["value"]),l(a,{label:"大便情况",value:i(u)("stool_condition")},null,8,["value"]),l(a,{label:"腰肾情况",value:i(u)("kidney_condition")},null,8,["value"]),l(a,{label:"其他补充",value:(j=e.diag)==null?void 0:j.symptoms,span:"3",multiline:""},null,8,["value"])])]),s("div",rl,[t[5]||(t[5]=s("div",{class:"grid-title"},"既往史",-1)),s("div",gl,[l(a,{label:"既往病史",value:i(u)("past_history"),span:"3"},null,8,["value"])])]),s("div",cl,[t[6]||(t[6]=s("div",{class:"grid-title"},"其他病史",-1)),s("div",ml,[l(a,{label:"外伤史",value:i(u)("trauma_history")},null,8,["value"]),l(a,{label:"手术史",value:i(u)("surgery_history")},null,8,["value"]),l(a,{label:"过敏史",value:i(u)("allergy_history")},null,8,["value"]),l(a,{label:"家族病史",value:i(u)("family_history")},null,8,["value"]),l(a,{label:"妊娠哺乳史",value:i(u)("pregnancy_history")},null,8,["value"])])]),(K=e.diag)!=null&&K.remark?(F(),J("div",bl,[t[7]||(t[7]=s("div",{class:"grid-title"},"病史补充",-1)),s("div",hl,[l(a,{label:"",value:e.diag.remark,multiline:""},null,8,["value"])])])):Y("",!0),s("div",yl,[t[8]||(t[8]=s("div",{class:"grid-title"},"处方意见",-1)),s("div",fl,r((L=e.apt)!=null&&L.has_prescription?"已开方。":"当前未开方。"),1)])])}}}),ua=P(pl,[["__scopeId","data-v-5de08f8e"]]);export{ua as default}; diff --git a/server/public/admin/assets/PatientInfoCard-BuXf4C8w.js b/server/public/admin/assets/PatientInfoCard-pcwXrrnQ.js similarity index 95% rename from server/public/admin/assets/PatientInfoCard-BuXf4C8w.js rename to server/public/admin/assets/PatientInfoCard-pcwXrrnQ.js index 6919b8b0..45185273 100644 --- a/server/public/admin/assets/PatientInfoCard-BuXf4C8w.js +++ b/server/public/admin/assets/PatientInfoCard-pcwXrrnQ.js @@ -1 +1 @@ -import{m as x,f as y,a as B}from"./diag-display-DCz_VAqj.js";import{f as w,ak as I,I as P,J as a,H as N}from"./@vue/runtime-core-C6bnekPw.js";import{Q as i}from"./@vue/shared-mAAVTE9n.js";import{y as e}from"./@vue/reactivity-DiY1c2vO.js";import{_ as V}from"./index-E47--KT7.js";import"./lodash-D3kF6u-c.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./element-plus-0wC3naml.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const D={class:"card patient-card"},E={class:"patient-hero"},G={class:"patient-name"},H={class:"patient-meta"},J={key:0},Q=w({__name:"PatientInfoCard",props:{apt:{default:()=>({})},diag:{default:()=>({})}},setup(t){return(S,o)=>{var m,r,n,d,p,s,c,l,g,f,u,h,v,k,C;return I(),P("div",D,[o[0]||(o[0]=a("div",{class:"card-title"},"患者信息",-1)),a("div",E,[a("div",G,i(((m=t.apt)==null?void 0:m.patient_name)||"—"),1),a("div",H,[a("div",null,i(e(x)((r=t.apt)==null?void 0:r.patient_phone))+" · "+i(e(y)((n=t.diag)==null?void 0:n.gender))+" · "+i(((d=t.diag)==null?void 0:d.age)!=null?t.diag.age+"岁":"—"),1),a("div",null,i((p=t.diag)!=null&&p.height?t.diag.height+"cm":"—")+" / "+i((s=t.diag)!=null&&s.weight?t.diag.weight+"kg":"—")+" · "+i(((c=t.diag)==null?void 0:c.region)||"—"),1),a("div",null," 预约:"+i((l=t.apt)==null?void 0:l.appointment_date)+" "+i((g=t.apt)==null?void 0:g.appointment_time)+" · "+i(e(B)((f=t.apt)==null?void 0:f.period)),1),a("div",null,"医生:"+i(((u=t.apt)==null?void 0:u.doctor_name)||"—")+" 医助:"+i(((h=t.apt)==null?void 0:h.assistant_name)||"—"),1),a("div",null," 状态:"+i(((v=t.apt)==null?void 0:v.status_desc)||"—")+" · "+i((k=t.apt)!=null&&k.has_prescription?"已开方":"未开方"),1),(C=t.apt)!=null&&C.remark?(I(),P("div",J,"备注:"+i(t.apt.remark),1)):N("",!0)])])])}}}),Ct=V(Q,[["__scopeId","data-v-e3476da5"]]);export{Ct as default}; +import{m as x,f as y,a as B}from"./diag-display-DCz_VAqj.js";import{f as w,ak as I,I as P,J as a,H as N}from"./@vue/runtime-core-C6bnekPw.js";import{Q as i}from"./@vue/shared-mAAVTE9n.js";import{y as e}from"./@vue/reactivity-DiY1c2vO.js";import{_ as V}from"./index-DBREMm_z.js";import"./lodash-D3kF6u-c.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./element-plus-DFTWCWyi.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const D={class:"card patient-card"},E={class:"patient-hero"},G={class:"patient-name"},H={class:"patient-meta"},J={key:0},Q=w({__name:"PatientInfoCard",props:{apt:{default:()=>({})},diag:{default:()=>({})}},setup(t){return(S,o)=>{var m,r,n,d,p,s,c,l,g,f,u,h,v,k,C;return I(),P("div",D,[o[0]||(o[0]=a("div",{class:"card-title"},"患者信息",-1)),a("div",E,[a("div",G,i(((m=t.apt)==null?void 0:m.patient_name)||"—"),1),a("div",H,[a("div",null,i(e(x)((r=t.apt)==null?void 0:r.patient_phone))+" · "+i(e(y)((n=t.diag)==null?void 0:n.gender))+" · "+i(((d=t.diag)==null?void 0:d.age)!=null?t.diag.age+"岁":"—"),1),a("div",null,i((p=t.diag)!=null&&p.height?t.diag.height+"cm":"—")+" / "+i((s=t.diag)!=null&&s.weight?t.diag.weight+"kg":"—")+" · "+i(((c=t.diag)==null?void 0:c.region)||"—"),1),a("div",null," 预约:"+i((l=t.apt)==null?void 0:l.appointment_date)+" "+i((g=t.apt)==null?void 0:g.appointment_time)+" · "+i(e(B)((f=t.apt)==null?void 0:f.period)),1),a("div",null,"医生:"+i(((u=t.apt)==null?void 0:u.doctor_name)||"—")+" 医助:"+i(((h=t.apt)==null?void 0:h.assistant_name)||"—"),1),a("div",null," 状态:"+i(((v=t.apt)==null?void 0:v.status_desc)||"—")+" · "+i((k=t.apt)!=null&&k.has_prescription?"已开方":"未开方"),1),(C=t.apt)!=null&&C.remark?(I(),P("div",J,"备注:"+i(t.apt.remark),1)):N("",!0)])])])}}}),Ct=V(Q,[["__scopeId","data-v-e3476da5"]]);export{Ct as default}; diff --git a/server/public/admin/assets/PatientOrderList-DQ7QxnQw.js b/server/public/admin/assets/PatientOrderList-Vzhj0FzC.js similarity index 83% rename from server/public/admin/assets/PatientOrderList-DQ7QxnQw.js rename to server/public/admin/assets/PatientOrderList-Vzhj0FzC.js index 3faeedfa..e4db3146 100644 --- a/server/public/admin/assets/PatientOrderList-DQ7QxnQw.js +++ b/server/public/admin/assets/PatientOrderList-Vzhj0FzC.js @@ -1 +1 @@ -import{R as Ae,M as Be,N as Fe,T as $e,i as Re,L as Me,a8 as Ue,a3 as He,a4 as Je,J as Ke,a9 as Qe,aa as qe,k as Ge,j as Ye,C as We,P as Xe,Q as Ze,ab as et,ac as tt,e as at}from"./element-plus-0wC3naml.js";import{_ as st}from"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import{w as lt}from"./@vue/runtime-dom-DDAG46FW.js";import{u as rt}from"./usePaging-VsbTxSU0.js";import{j as it,o as nt,s as ot,p as dt,F as ut}from"./tcm-SLIwsL8z.js";import{u as pt,i as ct,_ as mt}from"./index-E47--KT7.js";import{f as _t,w as ft,as as vt,ak as n,I as f,a as s,F as w,aP as P,G as v,aN as a,J as i,O as d,H as g,ap as M,A as h}from"./@vue/runtime-core-C6bnekPw.js";import{y as U,a as gt,n as k,r as yt}from"./@vue/reactivity-DiY1c2vO.js";import{Q as l,o as j}from"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const bt={class:"patient-order-list"},xt={key:0,class:"po-empty-tip"},ht={class:"text-red-500 font-semibold"},kt={class:"flex justify-end mt-3"},wt={class:"flex items-center"},Tt={key:1,class:"px-6 pb-6 overflow-y-auto"},Nt={class:"text-red-500 font-bold text-xl"},zt={class:"text-green-600 font-bold text-xl"},Et={class:"text-primary font-bold text-xl"},Ot={class:"grid grid-cols-1 md:grid-cols-2 gap-4 mb-4"},St={key:0,class:"audit-stamp stamp-pass"},Lt={key:1,class:"audit-stamp stamp-reject"},Dt={class:"flex items-center justify-between"},Pt={class:"flex items-center gap-3"},jt={key:0,class:"text-xs text-gray-500"},Ct={class:"text-primary font-medium"},It={class:"text-xs text-gray-400"},Vt={class:"text-red-500 font-medium"},At={key:1,class:"ml-2 text-gray-500"},Bt={class:"flex flex-col gap-1.5 text-sm leading-relaxed"},Ft={class:"flex flex-col gap-4 h-full"},$t={class:"text-red-500"},Rt={key:0,class:"audit-stamp stamp-pass"},Mt={key:1,class:"audit-stamp stamp-reject"},Ut={class:"flex items-center gap-3"},Ht={key:0,class:"text-xs text-gray-500"},Jt={class:"text-primary font-medium"},Kt={class:"text-red-500"},Qt={class:"font-mono"},qt={key:0,class:"text-[13px] space-y-1"},Gt={class:"font-medium text-gray-900"},Yt={key:0,class:"text-gray-600 text-xs"},Wt={key:1,class:"text-gray-400"},Xt={key:0,class:"space-y-1.5"},Zt={class:"text-gray-800"},ea={key:1,class:"text-gray-400"},ta={class:"flex flex-wrap items-center gap-3 mb-4"},aa={key:0,class:"py-6 text-center text-sm text-gray-500"},sa={key:1,class:"bg-gray-50/50 p-4 rounded-md"},la={key:0,class:"text-sm mb-4 font-medium flex items-center gap-2"},ra={class:"text-gray-800"},ia={class:"flex items-center gap-2 mb-1"},na={class:"font-medium text-[13px]"},oa=_t({__name:"PatientOrderList",props:{diagnosisId:{},patientId:{}},setup(oe,{expose:de}){const ue=pt(),C=oe,H=h(()=>{const t=Number(C.patientId);return Number.isFinite(t)&&t>0?t:0}),J=h(()=>H.value>0),N=yt({}),{pager:T,getLists:Y,resetPage:pe}=rt({fetchFun:it,params:N,size:10}),ce=()=>{Object.keys(N).forEach(t=>delete N[t]),C.diagnosisId>0&&(N.context_diagnosis_id=C.diagnosisId),J.value&&(N.patient_id=H.value),N.scene="diagnosis_edit"},I=k(!1),K=k(!1),o=k(null),z=k([]),E=k([]),c=h(()=>{var e;const t=(e=o.value)==null?void 0:e.prescription;return t&&typeof t=="object"?t:null}),Q=h(()=>{var e;const t=(e=o.value)==null?void 0:e.linked_pay_orders;return Array.isArray(t)?t:[]}),W=h(()=>{const t=o.value;if(!t)return 0;const e=Number(t.amount)||0,p=Number(t.linked_pay_paid_total)||0;return Math.round((e-p)*100)/100}),V=h(()=>{var p,u;const t=te((p=c.value)==null?void 0:p.phone),e=te((u=o.value)==null?void 0:u.recipient_phone);return!t||!e?!1:t!==e}),me=h(()=>{const t=o.value;if(!t)return"—";const e=[];return t.shipping_province&&e.push(t.shipping_province),t.shipping_city&&e.push(t.shipping_city),t.shipping_district&&e.push(t.shipping_district),t.shipping_address&&e.push(t.shipping_address),e.length>0?e.join(" "):"—"}),X=h(()=>{const t=o.value;if(!t)return"";const e=String(t.creator_account??"").trim(),p=String(t.creator_mobile??"").trim(),u=[];return e&&u.push(`登录账号:${e}`),p&&u.push(`手机:${p}`),u.join(" · ")}),Z=h(()=>{var e,p;const t=String(((e=o.value)==null?void 0:e.order_creator_dept_path)??((p=o.value)==null?void 0:p.diagnosis_creator_dept_path)??"").trim();return t?t.split(";").map(u=>u.trim()).filter(Boolean).map(u=>u.includes(" / ")?u.split(" / ").map(_=>_.trim()).filter(Boolean):u.split("/").map(_=>_.trim()).filter(Boolean)).filter(u=>u.length>0):[]}),O=k("auto"),A=k(!1),b=k(null),S=k(""),ee=h(()=>{const t=b.value;return!t||!Array.isArray(t.traces)?[]:t.traces});async function q(){var e;const t=Number((e=o.value)==null?void 0:e.id);if(t){A.value=!0;try{const p=String(S.value||"").replace(/\D/g,""),u={id:t,express_company:O.value};p.length>=4&&(u.phone_tail=p);const _=await nt(u);b.value=(_==null?void 0:_.data)??_}catch{b.value=null}finally{A.value=!1}}}async function _e(t){o.value=null,E.value=[],b.value=null,O.value="auto",S.value="",z.value=[],I.value=!0,K.value=!0;try{const e=await ot({id:t}),p=(e==null?void 0:e.data)??e??null;if(o.value=p,p){O.value=String(p.express_company||"auto")||"auto";const u=String(p.recipient_phone||"").replace(/\D/g,"");S.value=u.length>=4?u:"",String(p.tracking_number||"").trim()&&q(),ge(t),p.diagnosis_id&&fe(p.diagnosis_id,t,p.pay_order_ids||[])}}catch(e){ct.msgError((e==null?void 0:e.message)||"加载详情失败"),I.value=!1}finally{K.value=!1}}async function fe(t,e,p){var u;if(!t){E.value=[];return}try{const _=await dt({diagnosis_id:t,prescription_order_id:e}),L=(_==null?void 0:_.lists)??((u=_==null?void 0:_.data)==null?void 0:u.lists)??[];E.value=Array.isArray(L)?L.filter(D=>!p.includes(D.id)):[]}catch{E.value=[]}}function ve(){const t=ue.perms||[];return t.includes("*")||t.includes("tcm.prescriptionOrder/logs")}async function ge(t){if(!ve()){z.value=[];return}try{const e=await ut({id:t});z.value=(e==null?void 0:e.data)??e??[]}catch{z.value=[]}}function te(t){return t==null?"":String(t).replace(/\s/g,"").trim()}const ye=t=>{const e=Number(t);return Number.isFinite(e)?e.toFixed(2):"0.00"};function be(t){const e=Number(t);return Number.isFinite(e)?e.toFixed(2):"0.00"}const B=t=>{if(t==null||t==="")return"—";if(typeof t=="number"&&t>1e9&&t<1e11){const e=new Date(t*1e3),p=u=>String(u).padStart(2,"0");return`${e.getFullYear()}-${p(e.getMonth()+1)}-${p(e.getDate())} ${p(e.getHours())}:${p(e.getMinutes())}:${p(e.getSeconds())}`}return String(t)};function ae(t){return t==null||t===""?"—":typeof t=="string"&&String(t).includes("-")?String(t):B(t)}function G(t){return{1:"药费",2:"诊费",3:"药费+诊费",4:"其他"}[Number(t)]??"—"}function xe(t){const e=String(t||"").toLowerCase();return e==="sf"?"顺丰速运":e==="jd"?"京东快递":e==="jt"||e==="jtexpress"?"极兔速递":"自动识别"}function he(t){const e=Number(t);return e===1?"已通过":e===2?"已驳回":"待审核"}function ke(t){const e=Number(t);return e===1?"success":e===2?"danger":"warning"}function se(t){const e=Number(t);return e===2?"success":e===1?"warning":"info"}function le(t){return{0:"待支付",1:"待支付",2:"已支付",3:"已取消"}[Number(t)]??"—"}const we=t=>({1:"待双审通过",2:"待发货",3:"已完成",4:"已取消",5:"已发货",6:"已签收",7:"进行中",8:"暂不制药",9:"拒收",10:"退款",11:"保留药方",12:"制药缓发"})[Number(t)]??"—",Te=t=>{const e=Number(t);return e===3||e===6?"success":e===5?"primary":e===4||e===9||e===10?"danger":e===2||e===7?"warning":"info"};function Ne(t){return{create:"创建",edit:"编辑",audit_rx_approve:"处方审核",audit_rx_reject:"处方审核",audit_pay_approve:"支付审核",audit_pay_reject:"支付审核",fill_tracking:"填快递单",ship:"确认发货",withdraw:"撤销",link_pay_order:"关联支付单",revoke_rx_audit:"撤回处方审核",revoke_pay_audit:"撤回支付审核",gancao_submit:"甘草下单",patch_rx_patient:"处方患者信息",update_amount:"修改订单金额",complete:"完成订单"}[t]||t}return ft(()=>[C.diagnosisId,H.value],()=>{if(!J.value){T.lists=[],T.count=0;return}ce(),pe()},{immediate:!0}),de({refresh:()=>Y()}),(t,e)=>{const p=Ae,u=Fe,_=$e,L=Re,D=Be,ze=st,Ee=Ue,x=Ke,F=Je,Oe=He,m=qe,re=Qe,Se=Ye,Le=Ge,De=We,$=Ze,Pe=Xe,ie=tt,ne=et,je=at,R=vt("perms"),Ce=Me;return n(),f("div",bt,[J.value?(n(),f(w,{key:1},[P((n(),v(D,{data:U(T).lists,border:"",stripe:"","empty-text":"暂无业务订单"},{default:a(()=>[s(u,{label:"订单编号",prop:"order_no","min-width":"200","show-overflow-tooltip":""}),s(u,{label:"金额",width:"120",align:"right"},{default:a(({row:r})=>[i("span",ht,"¥"+l(ye(r.amount)),1)]),_:1}),s(u,{label:"医生",prop:"doctor_name",width:"110","show-overflow-tooltip":""},{default:a(({row:r})=>[d(l(r.doctor_name||"—"),1)]),_:1}),s(u,{label:"医助",prop:"assistant_name",width:"110","show-overflow-tooltip":""},{default:a(({row:r})=>[d(l(r.assistant_name||"—"),1)]),_:1}),s(u,{label:"履约状态",width:"110"},{default:a(({row:r})=>[s(_,{type:Te(r.fulfillment_status),size:"small",effect:"light"},{default:a(()=>[d(l(we(r.fulfillment_status)),1)]),_:2},1032,["type"])]),_:1}),s(u,{label:"创建时间","min-width":"170"},{default:a(({row:r})=>[d(l(B(r.create_time)),1)]),_:1}),s(u,{label:"操作",width:"100",fixed:"right"},{default:a(({row:r})=>[P((n(),v(L,{type:"primary",link:"",onClick:y=>_e(r.id)},{default:a(()=>[...e[4]||(e[4]=[d("查看详情",-1)])]),_:1},8,["onClick"])),[[R,["tcm.prescriptionOrder/detail"]]])]),_:1})]),_:1},8,["data"])),[[Ce,U(T).loading]]),i("div",kt,[s(ze,{modelValue:U(T),"onUpdate:modelValue":e[0]||(e[0]=r=>gt(T)?T.value=r:null),onChange:U(Y)},null,8,["modelValue","onChange"])])],64)):(n(),f("div",xt,[s(p,{description:"当前诊单未携带患者ID,无法列出业务订单"})])),s(je,{modelValue:I.value,"onUpdate:modelValue":e[3]||(e[3]=r=>I.value=r),size:"80%","destroy-on-close":"","close-on-click-modal":!1,"append-to-body":""},{header:a(()=>{var r,y;return[i("div",wt,[e[5]||(e[5]=i("span",{class:"font-semibold text-lg"},"业务订单详情",-1)),(r=o.value)!=null&&r.order_no?(n(),v(_,{key:0,type:"primary",effect:"plain",round:"",class:"ml-3"},{default:a(()=>[d(l(o.value.order_no),1)]),_:1})):g("",!0),(y=o.value)!=null&&y.gancao_reciperl_order_no?(n(),v(_,{key:1,type:"success",effect:"plain",round:"",class:"ml-2"},{default:a(()=>[d("甘草 "+l(o.value.gancao_reciperl_order_no),1)]),_:1})):g("",!0)])]}),default:a(()=>[K.value?(n(),v(Ee,{key:0,rows:12,animated:"",class:"px-6 py-4"})):o.value?(n(),f("div",Tt,[s(Oe,{gutter:16,class:"mb-5"},{default:a(()=>[s(F,{xs:12,sm:6},{default:a(()=>[s(x,{shadow:"never",class:"border border-gray-100 bg-gray-50/50"},{default:a(()=>[e[6]||(e[6]=i("div",{class:"text-gray-500 text-xs mb-1"},"总金额",-1)),i("div",Nt,"¥"+l(o.value.amount),1)]),_:1})]),_:1}),s(F,{xs:12,sm:6},{default:a(()=>[s(x,{shadow:"never",class:"border border-gray-100 bg-gray-50/50"},{default:a(()=>[e[7]||(e[7]=i("div",{class:"text-gray-500 text-xs mb-1"},"已付总额",-1)),i("div",zt,"¥"+l(o.value.linked_pay_paid_total||0),1)]),_:1})]),_:1}),s(F,{xs:12,sm:6},{default:a(()=>[s(x,{shadow:"never",class:"border border-gray-100 bg-gray-50/50"},{default:a(()=>[e[8]||(e[8]=i("div",{class:"text-gray-500 text-xs mb-1"},"需代收",-1)),i("div",{class:j(["font-bold text-xl",W.value>0?"text-amber-600":"text-gray-500"])},"¥"+l(be(W.value)),3)]),_:1})]),_:1}),s(F,{xs:12,sm:6},{default:a(()=>[s(x,{shadow:"never",class:"border border-gray-100 bg-gray-50/50"},{default:a(()=>[e[9]||(e[9]=i("div",{class:"text-gray-500 text-xs mb-1"},"已付笔数",-1)),i("div",Et,l(Q.value.length)+" 笔",1)]),_:1})]),_:1})]),_:1}),i("div",Ot,[s(x,{shadow:"never",class:"border-gray-100 h-full relative overflow-hidden"},{header:a(()=>[i("div",Dt,[i("div",Pt,[e[13]||(e[13]=i("span",{class:"font-medium text-[15px]"},"处方详情",-1)),o.value.doctor_name?(n(),f("span",jt,[e[12]||(e[12]=d(" 开方人:",-1)),i("span",Ct,l(o.value.doctor_name),1)])):g("",!0)]),i("span",It,"ID: "+l(o.value.prescription_id||"—"),1)])]),default:a(()=>[o.value.prescription_audit_status===1?(n(),f("div",St,[...e[10]||(e[10]=[i("div",{class:"stamp-inner"},"审核通过",-1)])])):g("",!0),o.value.prescription_audit_status===2?(n(),f("div",Lt,[...e[11]||(e[11]=[i("div",{class:"stamp-inner"},"已驳回",-1)])])):g("",!0),c.value?(n(),v(re,{key:2,column:2,border:"",size:"small",class:"bg-white"},{default:a(()=>[s(m,{label:"处方编号",span:2},{default:a(()=>[d(l(c.value.sn||"—"),1)]),_:1}),s(m,{label:"患者"},{default:a(()=>[d(l(c.value.patient_name||"—"),1)]),_:1}),s(m,{label:"性别 / 年龄"},{default:a(()=>[d(l(c.value.gender_desc||"—")+" · "+l(c.value.age??"—")+"岁",1)]),_:1}),s(m,{label:"手机"},{default:a(()=>[i("span",{class:j(V.value?"text-red-600 font-bold":"")},l(c.value.phone||"—"),3),V.value?(n(),v(_,{key:0,type:"danger",size:"small",effect:"dark",class:"ml-2"},{default:a(()=>[...e[14]||(e[14]=[d("与订单手机不一致",-1)])]),_:1})):g("",!0)]),_:1}),s(m,{label:"处方日期"},{default:a(()=>[d(l(c.value.prescription_date||"—"),1)]),_:1}),s(m,{label:"医师"},{default:a(()=>[d(l(c.value.doctor_name||"—"),1)]),_:1}),s(m,{label:"类型"},{default:a(()=>[d(l(c.value.prescription_type||"—"),1)]),_:1}),s(m,{label:"临床诊断",span:2},{default:a(()=>[d(l(c.value.clinical_diagnosis||"—"),1)]),_:1}),s(m,{label:"剂数 / 用法",span:2},{default:a(()=>[d(l(o.value.dose_count??c.value.dose_count??"—")+" "+l(o.value.dose_unit||"剂")+" · "+l(c.value.usage_instruction||c.value.usage_method||"—"),1)]),_:1}),s(m,{label:"处方金额"},{default:a(()=>[i("span",Vt,"¥"+l(c.value.amount??"—"),1)]),_:1}),s(m,{label:"消费者审核"},{default:a(()=>[s(_,{type:ke(c.value.audit_status),size:"small"},{default:a(()=>[d(l(he(c.value.audit_status)),1)]),_:1},8,["type"])]),_:1}),s(m,{label:"用量"},{default:a(()=>[c.value.dosage_amount?(n(),f(w,{key:0},[d(l(c.value.dosage_amount)+l(c.value.dosage_unit||"g")+" ",1),c.value.prescription_type==="浓缩水丸"?(n(),f(w,{key:0},[d(" · "+l(Number(c.value.dosage_bag_count)>0?Number(c.value.dosage_bag_count):1)+"袋 ",1)],64)):g("",!0),c.value.prescription_type==="饮片"&&c.value.need_decoction!==null?(n(),f("span",At," ("+l(c.value.need_decoction?"代煎":"不代煎")+") ",1)):g("",!0)],64)):(n(),f(w,{key:1},[d("—")],64))]),_:1}),s(m,{label:"服用方式"},{default:a(()=>[i("div",Bt,[i("div",null,[e[15]||(e[15]=i("span",{class:"text-gray-500"},"每天次数:",-1)),d(" "+l(c.value.times_per_day?c.value.times_per_day+" 次":"—"),1)]),i("div",null,[e[16]||(e[16]=i("span",{class:"text-gray-500"},"处方开立:",-1)),d(" "+l(c.value.usage_days!=null&&c.value.usage_days!==""?c.value.usage_days+" 天":"—"),1)]),i("div",null,[e[17]||(e[17]=i("span",{class:"text-gray-500"},"订单设置:",-1)),d(" "+l(o.value.medication_days!=null&&String(o.value.medication_days).trim()!==""?o.value.medication_days+" 天":"—"),1)])])]),_:1}),s(m,{label:"状态",span:2},{default:a(()=>[s(_,{type:Number(c.value.void_status)===1?"danger":"success",size:"small"},{default:a(()=>[d(l(Number(c.value.void_status)===1?"已作废":"正常"),1)]),_:1},8,["type"])]),_:1})]),_:1})):(n(),v(p,{key:3,description:"无处方数据","image-size":72}))]),_:1}),i("div",Ft,[s(x,{shadow:"never",class:"border-gray-100"},{header:a(()=>[...e[18]||(e[18]=[i("div",{class:"flex items-center justify-between"},[i("span",{class:"font-medium text-[15px]"},"未关联的收款记录"),i("span",{class:"text-xs text-gray-400"},"本诊单下未被占用的支付单")],-1)])]),default:a(()=>[E.value.length?(n(),v(D,{key:0,data:E.value,size:"small",border:"",stripe:"","max-height":"280"},{default:a(()=>[s(u,{prop:"id",label:"ID",width:"70"}),s(u,{prop:"order_no",label:"单号","min-width":"135","show-overflow-tooltip":""}),s(u,{label:"类型",width:"90"},{default:a(({row:r})=>[d(l(r.order_type_desc||G(r.order_type)),1)]),_:1}),s(u,{label:"金额",width:"86",align:"right"},{default:a(({row:r})=>[i("span",$t,"¥"+l(r.amount),1)]),_:1}),s(u,{label:"状态",width:"82",align:"center"},{default:a(({row:r})=>[s(_,{type:se(r.status),size:"small"},{default:a(()=>[d(l(r.status_desc||le(r.status)),1)]),_:2},1032,["type"])]),_:1}),s(u,{prop:"creator_name",label:"创建人",width:"80","show-overflow-tooltip":""}),s(u,{label:"创建时间","min-width":"136"},{default:a(({row:r})=>[d(l(ae(r.create_time)),1)]),_:1})]),_:1},8,["data"])):(n(),v(p,{key:1,description:"无未关联的收款单","image-size":60}))]),_:1}),s(x,{shadow:"never",class:"border-gray-100 relative overflow-hidden"},{header:a(()=>[i("div",Ut,[e[22]||(e[22]=i("span",{class:"font-medium text-[15px]"},"关联收款记录",-1)),o.value.creator_name?(n(),f("span",Ht,[e[21]||(e[21]=d("创建人:",-1)),i("span",Jt,l(o.value.creator_name),1)])):g("",!0)])]),default:a(()=>[o.value.payment_slip_audit_status===1?(n(),f("div",Rt,[...e[19]||(e[19]=[i("div",{class:"stamp-inner"},"审核通过",-1)])])):g("",!0),o.value.payment_slip_audit_status===2?(n(),f("div",Mt,[...e[20]||(e[20]=[i("div",{class:"stamp-inner"},"已驳回",-1)])])):g("",!0),Q.value.length?(n(),v(D,{key:2,data:Q.value,size:"small",border:"",stripe:"","max-height":"280"},{default:a(()=>[s(u,{prop:"id",label:"ID",width:"70"}),s(u,{prop:"order_no",label:"单号","min-width":"135","show-overflow-tooltip":""}),s(u,{label:"类型",width:"90"},{default:a(({row:r})=>[d(l(r.order_type_desc||G(r.order_type)),1)]),_:1}),s(u,{label:"金额",width:"86",align:"right"},{default:a(({row:r})=>[i("span",Kt,"¥"+l(r.amount),1)]),_:1}),s(u,{label:"状态",width:"82",align:"center"},{default:a(({row:r})=>[s(_,{type:se(r.status),size:"small"},{default:a(()=>[d(l(r.status_desc||le(r.status)),1)]),_:2},1032,["type"])]),_:1}),s(u,{prop:"creator_name",label:"创建人",width:"80","show-overflow-tooltip":""}),s(u,{label:"创建时间","min-width":"136"},{default:a(({row:r})=>[d(l(ae(r.create_time)),1)]),_:1})]),_:1},8,["data"])):(n(),v(p,{key:3,description:"未关联收款单","image-size":60}))]),_:1})])]),s(x,{shadow:"never",class:"border-gray-100 mb-4"},{header:a(()=>[...e[23]||(e[23]=[i("span",{class:"font-medium text-[15px]"},"履约与收货信息",-1)])]),default:a(()=>[s(re,{column:3,border:"",size:"small"},{default:a(()=>[s(m,{label:"诊单ID",span:3},{default:a(()=>[i("span",Qt,l(o.value.diagnosis_id),1)]),_:1}),s(m,{label:"创建时间"},{default:a(()=>[d(l(B(o.value.create_time)),1)]),_:1}),s(m,{label:"业务订单创建人",span:2},{default:a(()=>[o.value.creator_name?(n(),f("div",qt,[i("div",null,[i("span",Gt,l(o.value.creator_name||"—"),1)]),X.value?(n(),f("div",Yt,l(X.value),1)):g("",!0)])):(n(),f("span",Wt,"—"))]),_:1}),s(m,{label:"创建人所属部门",span:3},{default:a(()=>[Z.value.length?(n(),f("div",Xt,[(n(!0),f(w,null,M(Z.value,(r,y)=>(n(),f("div",{key:y},[r.length?(n(),v(Le,{key:0,class:"text-[13px]",separator:"/"},{default:a(()=>[(n(!0),f(w,null,M(r,(Ie,Ve)=>(n(),v(Se,{key:Ve},{default:a(()=>[i("span",Zt,l(Ie),1)]),_:2},1024))),128))]),_:2},1024)):g("",!0)]))),128))])):(n(),f("span",ea,"—"))]),_:1}),s(m,{label:"收货人"},{default:a(()=>[d(l(o.value.recipient_name),1)]),_:1}),s(m,{label:"收货手机"},{default:a(()=>[i("span",{class:j(V.value?"text-red-600 font-bold font-mono":"font-mono")},l(o.value.recipient_phone||"—"),3),V.value?(n(),v(_,{key:0,type:"danger",size:"small",effect:"dark",class:"ml-2"},{default:a(()=>[...e[24]||(e[24]=[d("与处方手机不一致",-1)])]),_:1})):g("",!0)]),_:1}),s(m,{label:"收货地址"},{default:a(()=>[d(l(me.value),1)]),_:1}),s(m,{label:"复诊"},{default:a(()=>[d(l(o.value.is_follow_up?"是":"否"),1)]),_:1}),s(m,{label:"用药疗程"},{default:a(()=>[d(l(o.value.medication_days?o.value.medication_days+" 天":"—"),1)]),_:1}),s(m,{label:"上次医护"},{default:a(()=>[d(l(o.value.prev_staff||"—"),1)]),_:1}),s(m,{label:"服务渠道"},{default:a(()=>[d(l(o.value.service_channel||"—"),1)]),_:1}),s(m,{label:"费用类别"},{default:a(()=>[d(l(G(o.value.fee_type)),1)]),_:1}),s(m,{label:"快递单号"},{default:a(()=>[d(l(o.value.tracking_number||"—"),1)]),_:1}),s(m,{label:"快递公司"},{default:a(()=>[d(l(xe(o.value.express_company)),1)]),_:1}),P((n(),v(m,{label:"药房备注",span:3},{default:a(()=>[d(l(o.value.remark_extra||"—"),1)]),_:1})),[[R,["tcm.prescriptionOrder/editRemarkExtra"]]]),s(m,{label:"医助备注",span:3},{default:a(()=>[d(l(o.value.remark_assistant||"—"),1)]),_:1}),s(m,{label:"处方审核意见",span:3},{default:a(()=>[d(l(o.value.prescription_audit_remark||"—"),1)]),_:1}),s(m,{label:"支付审核意见",span:3},{default:a(()=>[d(l(o.value.payment_slip_audit_remark||"—"),1)]),_:1})]),_:1})]),_:1}),String(o.value.tracking_number||"").trim()?(n(),v(x,{key:0,shadow:"never",class:"border-gray-100 mb-4"},{header:a(()=>[...e[25]||(e[25]=[i("span",{class:"font-medium text-[15px]"},"物流轨迹",-1)])]),default:a(()=>[i("div",ta,[s(De,{modelValue:S.value,"onUpdate:modelValue":e[1]||(e[1]=r=>S.value=r),clearable:"",maxlength:"20",placeholder:"收件手机",class:"w-[180px]",onKeyup:lt(q,["enter"])},null,8,["modelValue"]),s(Pe,{modelValue:O.value,"onUpdate:modelValue":e[2]||(e[2]=r=>O.value=r),placeholder:"承运商",style:{width:"140px"}},{default:a(()=>[s($,{label:"自动识别",value:"auto"}),s($,{label:"顺丰速运",value:"sf"}),s($,{label:"京东快递",value:"jd"}),s($,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"]),P((n(),v(L,{type:"primary",plain:"",size:"default",loading:A.value,onClick:q},{default:a(()=>[...e[26]||(e[26]=[d("刷新轨迹",-1)])]),_:1},8,["loading"])),[[R,["tcm.prescriptionOrder/logisticsTrace"]]])]),A.value&&!b.value?(n(),f("div",aa,"正在加载物流轨迹...")):b.value?(n(),f("div",sa,[b.value.state_text?(n(),f("div",la,[i("span",ra,"状态:"+l(b.value.state_text),1),b.value.carrier_label?(n(),v(_,{key:0,size:"small",type:"info"},{default:a(()=>[d(l(b.value.carrier_label),1)]),_:1})):g("",!0)])):g("",!0),ee.value.length?(n(),v(ne,{key:1,class:"mt-2 pl-2"},{default:a(()=>[(n(!0),f(w,null,M(ee.value,(r,y)=>(n(),v(ie,{key:y,type:y===0?"primary":"info",hollow:y!==0,timestamp:r.time,placement:"top"},{default:a(()=>[i("span",{class:j(y===0?"text-gray-800 font-medium":"text-gray-500")},l(r.context),3)]),_:2},1032,["type","hollow","timestamp"]))),128))]),_:1})):(n(),v(p,{key:2,description:"暂无轨迹节点记录","image-size":64}))])):g("",!0)]),_:1})):g("",!0),P((n(),v(x,{shadow:"never",class:"border-gray-100"},{header:a(()=>[...e[27]||(e[27]=[i("span",{class:"font-medium text-[15px]"},"操作日志",-1)])]),default:a(()=>[z.value.length?(n(),v(ne,{key:0,class:"mt-2 pl-2"},{default:a(()=>[(n(!0),f(w,null,M(z.value,(r,y)=>(n(),v(ie,{key:r.id,type:y===0?"primary":"info",hollow:y!==0,timestamp:B(r.create_time),placement:"top"},{default:a(()=>[i("div",ia,[i("span",na,l(r.admin_name),1),s(_,{size:"small",type:"info"},{default:a(()=>[d(l(Ne(r.action)),1)]),_:2},1024)]),i("span",{class:j(y===0?"text-gray-800 font-medium":"text-gray-500")},l(r.summary),3)]),_:2},1032,["type","hollow","timestamp"]))),128))]),_:1})):(n(),v(p,{key:1,description:"暂无操作日志","image-size":64}))]),_:1})),[[R,["tcm.prescriptionOrder/logs"]]])])):g("",!0)]),_:1},8,["modelValue"])])}}}),Ga=mt(oa,[["__scopeId","data-v-b8d83d0c"]]);export{Ga as default}; +import{R as Ae,M as Be,N as Fe,T as $e,i as Re,L as Me,a9 as Ue,a4 as qe,a5 as Ge,J as He,aa as Je,ab as Ke,k as Qe,j as Ye,C as We,P as Xe,Q as Ze,ac as et,ad as tt,e as at}from"./element-plus-DFTWCWyi.js";import{_ as st}from"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import{w as lt}from"./@vue/runtime-dom-DDAG46FW.js";import{u as rt}from"./usePaging-VsbTxSU0.js";import{k as it,q as nt,t as ot,p as dt,G as ut}from"./tcm-BcqaE0lo.js";import{u as pt,i as ct,_ as mt}from"./index-DBREMm_z.js";import{f as _t,w as ft,as as vt,ak as n,I as f,a as s,F as w,aP as P,G as v,aN as a,J as i,O as d,H as g,ap as M,A as h}from"./@vue/runtime-core-C6bnekPw.js";import{y as U,a as gt,n as k,r as yt}from"./@vue/reactivity-DiY1c2vO.js";import{Q as l,o as C}from"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const bt={class:"patient-order-list"},xt={key:0,class:"po-empty-tip"},ht={class:"text-red-500 font-semibold"},kt={class:"flex justify-end mt-3"},wt={class:"flex items-center"},Tt={key:1,class:"px-6 pb-6 overflow-y-auto"},Nt={class:"text-red-500 font-bold text-xl"},zt={class:"text-green-600 font-bold text-xl"},Et={class:"text-primary font-bold text-xl"},Ot={class:"grid grid-cols-1 md:grid-cols-2 gap-4 mb-4"},St={key:0,class:"audit-stamp stamp-pass"},Lt={key:1,class:"audit-stamp stamp-reject"},Dt={class:"flex items-center justify-between"},Pt={class:"flex items-center gap-3"},Ct={key:0,class:"text-xs text-gray-500"},It={class:"text-primary font-medium"},Vt={class:"text-xs text-gray-400"},jt={class:"text-red-500 font-medium"},At={key:1,class:"ml-2 text-gray-500"},Bt={class:"flex flex-col gap-1.5 text-sm leading-relaxed"},Ft={class:"flex flex-col gap-4 h-full"},$t={class:"text-red-500"},Rt={key:0,class:"audit-stamp stamp-pass"},Mt={key:1,class:"audit-stamp stamp-reject"},Ut={class:"flex items-center gap-3"},qt={key:0,class:"text-xs text-gray-500"},Gt={class:"text-primary font-medium"},Ht={class:"text-red-500"},Jt={class:"font-mono"},Kt={key:0,class:"text-[13px] space-y-1"},Qt={class:"font-medium text-gray-900"},Yt={key:0,class:"text-gray-600 text-xs"},Wt={key:1,class:"text-gray-400"},Xt={key:0,class:"space-y-1.5"},Zt={class:"text-gray-800"},ea={key:1,class:"text-gray-400"},ta={class:"flex flex-wrap items-center gap-3 mb-4"},aa={key:0,class:"py-6 text-center text-sm text-gray-500"},sa={key:1,class:"bg-gray-50/50 p-4 rounded-md"},la={key:0,class:"text-sm mb-4 font-medium flex items-center gap-2"},ra={class:"text-gray-800"},ia={class:"flex items-center gap-2 mb-1"},na={class:"font-medium text-[13px]"},oa=_t({__name:"PatientOrderList",props:{diagnosisId:{},patientId:{}},setup(oe,{expose:de}){const ue=pt(),I=oe,q=h(()=>{const t=Number(I.patientId);return Number.isFinite(t)&&t>0?t:0}),G=h(()=>q.value>0),N=yt({}),{pager:T,getLists:Y,resetPage:pe}=rt({fetchFun:it,params:N,size:10}),ce=()=>{Object.keys(N).forEach(t=>delete N[t]),I.diagnosisId>0&&(N.context_diagnosis_id=I.diagnosisId),G.value&&(N.patient_id=q.value),N.scene="diagnosis_edit"},V=k(!1),H=k(!1),o=k(null),z=k([]),E=k([]),c=h(()=>{var e;const t=(e=o.value)==null?void 0:e.prescription;return t&&typeof t=="object"?t:null}),J=h(()=>{var e;const t=(e=o.value)==null?void 0:e.linked_pay_orders;return Array.isArray(t)?t:[]}),W=h(()=>{const t=o.value;if(!t)return 0;const e=Number(t.amount)||0,p=Number(t.linked_pay_paid_total)||0;return Math.round((e-p)*100)/100}),j=h(()=>{var p,u;const t=te((p=c.value)==null?void 0:p.phone),e=te((u=o.value)==null?void 0:u.recipient_phone);return!t||!e?!1:t!==e}),me=h(()=>{const t=o.value;if(!t)return"—";const e=[];return t.shipping_province&&e.push(t.shipping_province),t.shipping_city&&e.push(t.shipping_city),t.shipping_district&&e.push(t.shipping_district),t.shipping_address&&e.push(t.shipping_address),e.length>0?e.join(" "):"—"}),X=h(()=>{const t=o.value;if(!t)return"";const e=String(t.creator_account??"").trim(),p=String(t.creator_mobile??"").trim(),u=[];return e&&u.push(`登录账号:${e}`),p&&u.push(`手机:${p}`),u.join(" · ")}),Z=h(()=>{var e,p;const t=String(((e=o.value)==null?void 0:e.order_creator_dept_path)??((p=o.value)==null?void 0:p.diagnosis_creator_dept_path)??"").trim();return t?t.split(";").map(u=>u.trim()).filter(Boolean).map(u=>u.includes(" / ")?u.split(" / ").map(_=>_.trim()).filter(Boolean):u.split("/").map(_=>_.trim()).filter(Boolean)).filter(u=>u.length>0):[]}),O=k("auto"),A=k(!1),b=k(null),S=k(""),ee=h(()=>{const t=b.value;return!t||!Array.isArray(t.traces)?[]:t.traces});async function K(){var e;const t=Number((e=o.value)==null?void 0:e.id);if(t){A.value=!0;try{const p=String(S.value||"").replace(/\D/g,""),u={id:t,express_company:O.value};p.length>=4&&(u.phone_tail=p);const _=await nt(u);b.value=(_==null?void 0:_.data)??_}catch{b.value=null}finally{A.value=!1}}}async function _e(t){o.value=null,E.value=[],b.value=null,O.value="auto",S.value="",z.value=[],V.value=!0,H.value=!0;try{const e=await ot({id:t}),p=(e==null?void 0:e.data)??e??null;if(o.value=p,p){O.value=String(p.express_company||"auto")||"auto";const u=String(p.recipient_phone||"").replace(/\D/g,"");S.value=u.length>=4?u:"",String(p.tracking_number||"").trim()&&K(),ge(t),p.diagnosis_id&&fe(p.diagnosis_id,t,p.pay_order_ids||[])}}catch(e){ct.msgError((e==null?void 0:e.message)||"加载详情失败"),V.value=!1}finally{H.value=!1}}async function fe(t,e,p){var u;if(!t){E.value=[];return}try{const _=await dt({diagnosis_id:t,prescription_order_id:e}),L=(_==null?void 0:_.lists)??((u=_==null?void 0:_.data)==null?void 0:u.lists)??[];E.value=Array.isArray(L)?L.filter(D=>!p.includes(D.id)):[]}catch{E.value=[]}}function ve(){const t=ue.perms||[];return t.includes("*")||t.includes("tcm.prescriptionOrder/logs")}async function ge(t){if(!ve()){z.value=[];return}try{const e=await ut({id:t});z.value=(e==null?void 0:e.data)??e??[]}catch{z.value=[]}}function te(t){return t==null?"":String(t).replace(/\s/g,"").trim()}const ye=t=>{const e=Number(t);return Number.isFinite(e)?e.toFixed(2):"0.00"};function be(t){const e=Number(t);return Number.isFinite(e)?e.toFixed(2):"0.00"}const B=t=>{if(t==null||t==="")return"—";if(typeof t=="number"&&t>1e9&&t<1e11){const e=new Date(t*1e3),p=u=>String(u).padStart(2,"0");return`${e.getFullYear()}-${p(e.getMonth()+1)}-${p(e.getDate())} ${p(e.getHours())}:${p(e.getMinutes())}:${p(e.getSeconds())}`}return String(t)};function ae(t){return t==null||t===""?"—":typeof t=="string"&&String(t).includes("-")?String(t):B(t)}function Q(t){return{1:"药费",2:"诊费",3:"药费+诊费",4:"其他"}[Number(t)]??"—"}function xe(t){const e=String(t||"").toLowerCase();return e==="sf"?"顺丰速运":e==="jd"?"京东快递":e==="jt"||e==="jtexpress"?"极兔速递":"自动识别"}function he(t){const e=Number(t);return e===1?"已通过":e===2?"已驳回":"待审核"}function ke(t){const e=Number(t);return e===1?"success":e===2?"danger":"warning"}function se(t){const e=Number(t);return e===2?"success":e===1?"warning":"info"}function le(t){return{0:"待支付",1:"待支付",2:"已支付",3:"已取消"}[Number(t)]??"—"}const we=t=>({1:"待双审通过",2:"待发货",3:"已完成",4:"已取消",5:"已发货",6:"已签收",7:"进行中",8:"暂不制药",9:"拒收",10:"退款",11:"保留药方",12:"制药缓发"})[Number(t)]??"—",Te=t=>{const e=Number(t);return e===3||e===6?"success":e===5?"primary":e===4||e===9||e===10?"danger":e===2||e===7?"warning":"info"};function Ne(t){return{create:"创建",edit:"编辑",audit_rx_approve:"处方审核",audit_rx_reject:"处方审核",audit_pay_approve:"支付审核",audit_pay_reject:"支付审核",fill_tracking:"填快递单",ship:"确认发货",withdraw:"撤销",link_pay_order:"关联支付单",revoke_rx_audit:"撤回处方审核",revoke_pay_audit:"撤回支付审核",gancao_submit:"甘草下单",patch_rx_patient:"处方患者信息",update_amount:"修改订单金额",complete:"完成订单"}[t]||t}return ft(()=>[I.diagnosisId,q.value],()=>{if(!G.value){T.lists=[],T.count=0;return}ce(),pe()},{immediate:!0}),de({refresh:()=>Y()}),(t,e)=>{const p=Ae,u=Fe,_=$e,L=Re,D=Be,ze=st,Ee=Ue,x=He,F=Ge,Oe=qe,m=Ke,re=Je,Se=Ye,Le=Qe,De=We,$=Ze,Pe=Xe,ie=tt,ne=et,Ce=at,R=vt("perms"),Ie=Me;return n(),f("div",bt,[G.value?(n(),f(w,{key:1},[P((n(),v(D,{data:U(T).lists,border:"",stripe:"","empty-text":"暂无业务订单"},{default:a(()=>[s(u,{label:"订单编号",prop:"order_no","min-width":"200","show-overflow-tooltip":""}),s(u,{label:"金额",width:"120",align:"right"},{default:a(({row:r})=>[i("span",ht,"¥"+l(ye(r.amount)),1)]),_:1}),s(u,{label:"医生",prop:"doctor_name",width:"110","show-overflow-tooltip":""},{default:a(({row:r})=>[d(l(r.doctor_name||"—"),1)]),_:1}),s(u,{label:"医助",prop:"assistant_name",width:"110","show-overflow-tooltip":""},{default:a(({row:r})=>[d(l(r.assistant_name||"—"),1)]),_:1}),s(u,{label:"履约状态",width:"110"},{default:a(({row:r})=>[s(_,{type:Te(r.fulfillment_status),size:"small",effect:"light"},{default:a(()=>[d(l(we(r.fulfillment_status)),1)]),_:2},1032,["type"])]),_:1}),s(u,{label:"创建时间","min-width":"170"},{default:a(({row:r})=>[d(l(B(r.create_time)),1)]),_:1}),s(u,{label:"操作",width:"100",fixed:"right"},{default:a(({row:r})=>[P((n(),v(L,{type:"primary",link:"",onClick:y=>_e(r.id)},{default:a(()=>[...e[4]||(e[4]=[d("查看详情",-1)])]),_:1},8,["onClick"])),[[R,["tcm.prescriptionOrder/detail"]]])]),_:1})]),_:1},8,["data"])),[[Ie,U(T).loading]]),i("div",kt,[s(ze,{modelValue:U(T),"onUpdate:modelValue":e[0]||(e[0]=r=>gt(T)?T.value=r:null),onChange:U(Y)},null,8,["modelValue","onChange"])])],64)):(n(),f("div",xt,[s(p,{description:"当前诊单未携带患者ID,无法列出业务订单"})])),s(Ce,{modelValue:V.value,"onUpdate:modelValue":e[3]||(e[3]=r=>V.value=r),size:"80%","destroy-on-close":"","close-on-click-modal":!1,"append-to-body":""},{header:a(()=>{var r,y;return[i("div",wt,[e[5]||(e[5]=i("span",{class:"font-semibold text-lg"},"业务订单详情",-1)),(r=o.value)!=null&&r.order_no?(n(),v(_,{key:0,type:"primary",effect:"plain",round:"",class:"ml-3"},{default:a(()=>[d(l(o.value.order_no),1)]),_:1})):g("",!0),(y=o.value)!=null&&y.gancao_reciperl_order_no?(n(),v(_,{key:1,type:"success",effect:"plain",round:"",class:"ml-2"},{default:a(()=>[d("甘草 "+l(o.value.gancao_reciperl_order_no),1)]),_:1})):g("",!0)])]}),default:a(()=>[H.value?(n(),v(Ee,{key:0,rows:12,animated:"",class:"px-6 py-4"})):o.value?(n(),f("div",Tt,[s(Oe,{gutter:16,class:"mb-5"},{default:a(()=>[s(F,{xs:12,sm:6},{default:a(()=>[s(x,{shadow:"never",class:"border border-gray-100 bg-gray-50/50"},{default:a(()=>[e[6]||(e[6]=i("div",{class:"text-gray-500 text-xs mb-1"},"总金额",-1)),i("div",Nt,"¥"+l(o.value.amount),1)]),_:1})]),_:1}),s(F,{xs:12,sm:6},{default:a(()=>[s(x,{shadow:"never",class:"border border-gray-100 bg-gray-50/50"},{default:a(()=>[e[7]||(e[7]=i("div",{class:"text-gray-500 text-xs mb-1"},"已付总额",-1)),i("div",zt,"¥"+l(o.value.linked_pay_paid_total||0),1)]),_:1})]),_:1}),s(F,{xs:12,sm:6},{default:a(()=>[s(x,{shadow:"never",class:"border border-gray-100 bg-gray-50/50"},{default:a(()=>[e[8]||(e[8]=i("div",{class:"text-gray-500 text-xs mb-1"},"需代收",-1)),i("div",{class:C(["font-bold text-xl",W.value>0?"text-amber-600":"text-gray-500"])},"¥"+l(be(W.value)),3)]),_:1})]),_:1}),s(F,{xs:12,sm:6},{default:a(()=>[s(x,{shadow:"never",class:"border border-gray-100 bg-gray-50/50"},{default:a(()=>[e[9]||(e[9]=i("div",{class:"text-gray-500 text-xs mb-1"},"已付笔数",-1)),i("div",Et,l(J.value.length)+" 笔",1)]),_:1})]),_:1})]),_:1}),i("div",Ot,[s(x,{shadow:"never",class:"border-gray-100 h-full relative overflow-hidden"},{header:a(()=>[i("div",Dt,[i("div",Pt,[e[13]||(e[13]=i("span",{class:"font-medium text-[15px]"},"处方详情",-1)),o.value.doctor_name?(n(),f("span",Ct,[e[12]||(e[12]=d(" 开方人:",-1)),i("span",It,l(o.value.doctor_name),1)])):g("",!0)]),i("span",Vt,"ID: "+l(o.value.prescription_id||"—"),1)])]),default:a(()=>[o.value.prescription_audit_status===1?(n(),f("div",St,[...e[10]||(e[10]=[i("div",{class:"stamp-inner"},"审核通过",-1)])])):g("",!0),o.value.prescription_audit_status===2?(n(),f("div",Lt,[...e[11]||(e[11]=[i("div",{class:"stamp-inner"},"已驳回",-1)])])):g("",!0),c.value?(n(),v(re,{key:2,column:2,border:"",size:"small",class:"bg-white"},{default:a(()=>[s(m,{label:"处方编号",span:2},{default:a(()=>[d(l(c.value.sn||"—"),1)]),_:1}),s(m,{label:"患者"},{default:a(()=>[d(l(c.value.patient_name||"—"),1)]),_:1}),s(m,{label:"性别 / 年龄"},{default:a(()=>[d(l(c.value.gender_desc||"—")+" · "+l(c.value.age??"—")+"岁",1)]),_:1}),s(m,{label:"手机"},{default:a(()=>[i("span",{class:C(j.value?"text-red-600 font-bold":"")},l(c.value.phone||"—"),3),j.value?(n(),v(_,{key:0,type:"danger",size:"small",effect:"dark",class:"ml-2"},{default:a(()=>[...e[14]||(e[14]=[d("与订单手机不一致",-1)])]),_:1})):g("",!0)]),_:1}),s(m,{label:"处方日期"},{default:a(()=>[d(l(c.value.prescription_date||"—"),1)]),_:1}),s(m,{label:"医师"},{default:a(()=>[d(l(c.value.doctor_name||"—"),1)]),_:1}),s(m,{label:"类型"},{default:a(()=>[d(l(c.value.prescription_type||"—"),1)]),_:1}),s(m,{label:"临床诊断",span:2},{default:a(()=>[d(l(c.value.clinical_diagnosis||"—"),1)]),_:1}),s(m,{label:"剂数 / 用法",span:2},{default:a(()=>[d(l(o.value.dose_count??c.value.dose_count??"—")+" "+l(o.value.dose_unit||"剂")+" · "+l(c.value.usage_instruction||c.value.usage_method||"—"),1)]),_:1}),s(m,{label:"处方金额"},{default:a(()=>[i("span",jt,"¥"+l(c.value.amount??"—"),1)]),_:1}),s(m,{label:"消费者审核"},{default:a(()=>[s(_,{type:ke(c.value.audit_status),size:"small"},{default:a(()=>[d(l(he(c.value.audit_status)),1)]),_:1},8,["type"])]),_:1}),s(m,{label:"用量"},{default:a(()=>[c.value.dosage_amount?(n(),f(w,{key:0},[d(l(c.value.dosage_amount)+l(c.value.dosage_unit||"g")+" ",1),c.value.prescription_type==="浓缩水丸"?(n(),f(w,{key:0},[d(" · "+l(Number(c.value.dosage_bag_count)>0?Number(c.value.dosage_bag_count):1)+"袋 ",1)],64)):g("",!0),c.value.prescription_type==="饮片"&&c.value.need_decoction!==null?(n(),f("span",At," ("+l(c.value.need_decoction?"代煎":"不代煎")+") ",1)):g("",!0)],64)):(n(),f(w,{key:1},[d("—")],64))]),_:1}),s(m,{label:"服用方式"},{default:a(()=>[i("div",Bt,[i("div",null,[e[15]||(e[15]=i("span",{class:"text-gray-500"},"每天次数:",-1)),d(" "+l(c.value.times_per_day?c.value.times_per_day+" 次":"—"),1)]),i("div",null,[e[16]||(e[16]=i("span",{class:"text-gray-500"},"处方开立:",-1)),d(" "+l(c.value.usage_days!=null&&c.value.usage_days!==""?c.value.usage_days+" 天":"—"),1)]),i("div",null,[e[17]||(e[17]=i("span",{class:"text-gray-500"},"订单设置:",-1)),d(" "+l(o.value.medication_days!=null&&String(o.value.medication_days).trim()!==""?o.value.medication_days+" 天":"—"),1)])])]),_:1}),s(m,{label:"状态",span:2},{default:a(()=>[s(_,{type:Number(c.value.void_status)===1?"danger":"success",size:"small"},{default:a(()=>[d(l(Number(c.value.void_status)===1?"已作废":"正常"),1)]),_:1},8,["type"])]),_:1})]),_:1})):(n(),v(p,{key:3,description:"无处方数据","image-size":72}))]),_:1}),i("div",Ft,[s(x,{shadow:"never",class:"border-gray-100"},{header:a(()=>[...e[18]||(e[18]=[i("div",{class:"flex items-center justify-between"},[i("span",{class:"font-medium text-[15px]"},"未关联的收款记录"),i("span",{class:"text-xs text-gray-400"},"本诊单下未被占用的支付单")],-1)])]),default:a(()=>[E.value.length?(n(),v(D,{key:0,data:E.value,size:"small",border:"",stripe:"","max-height":"280"},{default:a(()=>[s(u,{prop:"id",label:"ID",width:"70"}),s(u,{prop:"order_no",label:"单号","min-width":"135","show-overflow-tooltip":""}),s(u,{label:"类型",width:"90"},{default:a(({row:r})=>[d(l(r.order_type_desc||Q(r.order_type)),1)]),_:1}),s(u,{label:"金额",width:"86",align:"right"},{default:a(({row:r})=>[i("span",$t,"¥"+l(r.amount),1)]),_:1}),s(u,{label:"状态",width:"82",align:"center"},{default:a(({row:r})=>[s(_,{type:se(r.status),size:"small"},{default:a(()=>[d(l(r.status_desc||le(r.status)),1)]),_:2},1032,["type"])]),_:1}),s(u,{prop:"creator_name",label:"创建人",width:"80","show-overflow-tooltip":""}),s(u,{label:"创建时间","min-width":"136"},{default:a(({row:r})=>[d(l(ae(r.create_time)),1)]),_:1})]),_:1},8,["data"])):(n(),v(p,{key:1,description:"无未关联的收款单","image-size":60}))]),_:1}),s(x,{shadow:"never",class:"border-gray-100 relative overflow-hidden"},{header:a(()=>[i("div",Ut,[e[22]||(e[22]=i("span",{class:"font-medium text-[15px]"},"关联收款记录",-1)),o.value.creator_name?(n(),f("span",qt,[e[21]||(e[21]=d("创建人:",-1)),i("span",Gt,l(o.value.creator_name),1)])):g("",!0)])]),default:a(()=>[o.value.payment_slip_audit_status===1?(n(),f("div",Rt,[...e[19]||(e[19]=[i("div",{class:"stamp-inner"},"审核通过",-1)])])):g("",!0),o.value.payment_slip_audit_status===2?(n(),f("div",Mt,[...e[20]||(e[20]=[i("div",{class:"stamp-inner"},"已驳回",-1)])])):g("",!0),J.value.length?(n(),v(D,{key:2,data:J.value,size:"small",border:"",stripe:"","max-height":"280"},{default:a(()=>[s(u,{prop:"id",label:"ID",width:"70"}),s(u,{prop:"order_no",label:"单号","min-width":"135","show-overflow-tooltip":""}),s(u,{label:"类型",width:"90"},{default:a(({row:r})=>[d(l(r.order_type_desc||Q(r.order_type)),1)]),_:1}),s(u,{label:"金额",width:"86",align:"right"},{default:a(({row:r})=>[i("span",Ht,"¥"+l(r.amount),1)]),_:1}),s(u,{label:"状态",width:"82",align:"center"},{default:a(({row:r})=>[s(_,{type:se(r.status),size:"small"},{default:a(()=>[d(l(r.status_desc||le(r.status)),1)]),_:2},1032,["type"])]),_:1}),s(u,{prop:"creator_name",label:"创建人",width:"80","show-overflow-tooltip":""}),s(u,{label:"创建时间","min-width":"136"},{default:a(({row:r})=>[d(l(ae(r.create_time)),1)]),_:1})]),_:1},8,["data"])):(n(),v(p,{key:3,description:"未关联收款单","image-size":60}))]),_:1})])]),s(x,{shadow:"never",class:"border-gray-100 mb-4"},{header:a(()=>[...e[23]||(e[23]=[i("span",{class:"font-medium text-[15px]"},"履约与收货信息",-1)])]),default:a(()=>[s(re,{column:3,border:"",size:"small"},{default:a(()=>[s(m,{label:"诊单ID",span:3},{default:a(()=>[i("span",Jt,l(o.value.diagnosis_id),1)]),_:1}),s(m,{label:"创建时间"},{default:a(()=>[d(l(B(o.value.create_time)),1)]),_:1}),s(m,{label:"业务订单创建人",span:2},{default:a(()=>[o.value.creator_name?(n(),f("div",Kt,[i("div",null,[i("span",Qt,l(o.value.creator_name||"—"),1)]),X.value?(n(),f("div",Yt,l(X.value),1)):g("",!0)])):(n(),f("span",Wt,"—"))]),_:1}),s(m,{label:"创建人所属部门",span:3},{default:a(()=>[Z.value.length?(n(),f("div",Xt,[(n(!0),f(w,null,M(Z.value,(r,y)=>(n(),f("div",{key:y},[r.length?(n(),v(Le,{key:0,class:"text-[13px]",separator:"/"},{default:a(()=>[(n(!0),f(w,null,M(r,(Ve,je)=>(n(),v(Se,{key:je},{default:a(()=>[i("span",Zt,l(Ve),1)]),_:2},1024))),128))]),_:2},1024)):g("",!0)]))),128))])):(n(),f("span",ea,"—"))]),_:1}),s(m,{label:"收货人"},{default:a(()=>[d(l(o.value.recipient_name),1)]),_:1}),s(m,{label:"收货手机"},{default:a(()=>[i("span",{class:C(j.value?"text-red-600 font-bold font-mono":"font-mono")},l(o.value.recipient_phone||"—"),3),j.value?(n(),v(_,{key:0,type:"danger",size:"small",effect:"dark",class:"ml-2"},{default:a(()=>[...e[24]||(e[24]=[d("与处方手机不一致",-1)])]),_:1})):g("",!0)]),_:1}),s(m,{label:"收货地址"},{default:a(()=>[d(l(me.value),1)]),_:1}),s(m,{label:"复诊"},{default:a(()=>[d(l(o.value.is_follow_up?"是":"否"),1)]),_:1}),s(m,{label:"用药疗程"},{default:a(()=>[d(l(o.value.medication_days?o.value.medication_days+" 天":"—"),1)]),_:1}),s(m,{label:"上次医护"},{default:a(()=>[d(l(o.value.prev_staff||"—"),1)]),_:1}),s(m,{label:"服务渠道"},{default:a(()=>[d(l(o.value.service_channel||"—"),1)]),_:1}),s(m,{label:"费用类别"},{default:a(()=>[d(l(Q(o.value.fee_type)),1)]),_:1}),s(m,{label:"快递单号"},{default:a(()=>[d(l(o.value.tracking_number||"—"),1)]),_:1}),s(m,{label:"快递公司"},{default:a(()=>[d(l(xe(o.value.express_company)),1)]),_:1}),P((n(),v(m,{label:"药房备注",span:3},{default:a(()=>[d(l(o.value.remark_extra||"—"),1)]),_:1})),[[R,["tcm.prescriptionOrder/editRemarkExtra"]]]),s(m,{label:"医助备注",span:3},{default:a(()=>[d(l(o.value.remark_assistant||"—"),1)]),_:1}),s(m,{label:"处方审核意见",span:3},{default:a(()=>[d(l(o.value.prescription_audit_remark||"—"),1)]),_:1}),s(m,{label:"支付审核意见",span:3},{default:a(()=>[d(l(o.value.payment_slip_audit_remark||"—"),1)]),_:1})]),_:1})]),_:1}),String(o.value.tracking_number||"").trim()?(n(),v(x,{key:0,shadow:"never",class:"border-gray-100 mb-4"},{header:a(()=>[...e[25]||(e[25]=[i("span",{class:"font-medium text-[15px]"},"物流轨迹",-1)])]),default:a(()=>[i("div",ta,[s(De,{modelValue:S.value,"onUpdate:modelValue":e[1]||(e[1]=r=>S.value=r),clearable:"",maxlength:"20",placeholder:"收件手机",class:"w-[180px]",onKeyup:lt(K,["enter"])},null,8,["modelValue"]),s(Pe,{modelValue:O.value,"onUpdate:modelValue":e[2]||(e[2]=r=>O.value=r),placeholder:"承运商",style:{width:"140px"}},{default:a(()=>[s($,{label:"自动识别",value:"auto"}),s($,{label:"顺丰速运",value:"sf"}),s($,{label:"京东快递",value:"jd"}),s($,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"]),P((n(),v(L,{type:"primary",plain:"",size:"default",loading:A.value,onClick:K},{default:a(()=>[...e[26]||(e[26]=[d("刷新轨迹",-1)])]),_:1},8,["loading"])),[[R,["tcm.prescriptionOrder/logisticsTrace"]]])]),A.value&&!b.value?(n(),f("div",aa,"正在加载物流轨迹...")):b.value?(n(),f("div",sa,[b.value.state_text?(n(),f("div",la,[i("span",ra,"状态:"+l(b.value.state_text),1),b.value.carrier_label?(n(),v(_,{key:0,size:"small",type:"info"},{default:a(()=>[d(l(b.value.carrier_label),1)]),_:1})):g("",!0)])):g("",!0),ee.value.length?(n(),v(ne,{key:1,class:"mt-2 pl-2"},{default:a(()=>[(n(!0),f(w,null,M(ee.value,(r,y)=>(n(),v(ie,{key:y,type:y===0?"primary":"info",hollow:y!==0,timestamp:r.time,placement:"top"},{default:a(()=>[i("span",{class:C(y===0?"text-gray-800 font-medium":"text-gray-500")},l(r.context),3)]),_:2},1032,["type","hollow","timestamp"]))),128))]),_:1})):(n(),v(p,{key:2,description:"暂无轨迹节点记录","image-size":64}))])):g("",!0)]),_:1})):g("",!0),P((n(),v(x,{shadow:"never",class:"border-gray-100"},{header:a(()=>[...e[27]||(e[27]=[i("span",{class:"font-medium text-[15px]"},"操作日志",-1)])]),default:a(()=>[z.value.length?(n(),v(ne,{key:0,class:"mt-2 pl-2"},{default:a(()=>[(n(!0),f(w,null,M(z.value,(r,y)=>(n(),v(ie,{key:r.id,type:y===0?"primary":"info",hollow:y!==0,timestamp:B(r.create_time),placement:"top"},{default:a(()=>[i("div",ia,[i("span",na,l(r.admin_name),1),s(_,{size:"small",type:"info"},{default:a(()=>[d(l(Ne(r.action)),1)]),_:2},1024)]),i("span",{class:C(y===0?"text-gray-800 font-medium":"text-gray-500")},l(r.summary),3)]),_:2},1032,["type","hollow","timestamp"]))),128))]),_:1})):(n(),v(p,{key:1,description:"暂无操作日志","image-size":64}))]),_:1})),[[R,["tcm.prescriptionOrder/logs"]]])])):g("",!0)]),_:1},8,["modelValue"])])}}}),Qa=mt(oa,[["__scopeId","data-v-b8d83d0c"]]);export{Qa as default}; diff --git a/server/public/admin/assets/RecordingPlaybackBlock-z0PPBYke.js b/server/public/admin/assets/RecordingPlaybackBlock-COxLgEiR.js similarity index 94% rename from server/public/admin/assets/RecordingPlaybackBlock-z0PPBYke.js rename to server/public/admin/assets/RecordingPlaybackBlock-COxLgEiR.js index ec884e13..02a12a5f 100644 --- a/server/public/admin/assets/RecordingPlaybackBlock-z0PPBYke.js +++ b/server/public/admin/assets/RecordingPlaybackBlock-COxLgEiR.js @@ -1 +1 @@ -import{_ as L}from"./element-plus-0wC3naml.js";import B from"./RecordingVideoPlayer-DWV7klHs.js";import{e as H,_ as I}from"./index-E47--KT7.js";import{f as w,ak as n,I as m,J as p,F as _,G as u,aN as v,O as k,H as y,ap as R,A as d}from"./@vue/runtime-core-C6bnekPw.js";import{Q as q}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const C={key:0,class:"recording-list"},N={class:"recording-item"},P={key:1,class:"recording-alternates"},V={class:"recording-alternates__links"},A={key:1,class:"text-gray-400"},E=w({__name:"RecordingPlaybackBlock",props:{recordId:{},urls:{}},setup(c){const $=c,h=H(),l=d(()=>{const e=$.urls||[],t=new Set,r=[];for(const s of e){const o=String(s??"").trim();!o||t.has(o)||(t.add(o),r.push(o))}return r}),a=d(()=>{const e=l.value;if(!e.length)return null;const t=e.find(i=>/\.mp4(\?|#|$)/i.test(i));if(t)return t;const r=e.find(i=>/\.m3u8(\?|#|$)/i.test(i)&&/vod-qcloud\.com/i.test(i));if(r)return r;const s=e.find(i=>/\.m3u8(\?|#|$)/i.test(i)&&/\.cos\.[^/]+\.myqcloud\.com/i.test(i));if(s)return s;const o=e.find(i=>/\.m3u8(\?|#|$)/i.test(i));return o||e[0]}),f=d(()=>{const e=l.value,t=a.value;return t?e.filter(r=>r!==t):e.slice(1)});function b(e){if(!e||typeof e!="string")return!1;const t=e.trim();return/^https?:\/\//i.test(t)?/\.(mp4|webm|ogg|mov|mkv|m4v|m3u8)(\?|#|$)/i.test(t):/\.(mp4|webm|ogg|mov|mkv|m4v|m3u8)(\?|#|$)/i.test(t)||t.startsWith("/uploads/")}function g(e){return h.getImageUrl(String(e||"").trim())}function S(e,t){const r=e.trim();return/\.mp4(\?|#|$)/i.test(r)?`MP4 ${t+1}`:/vod-qcloud\.com/i.test(r)&&/\.m3u8/i.test(r)?`点播 ${t+1}`:/\.cos\.[^/]+\.myqcloud\.com/i.test(r)&&/\.m3u8/i.test(r)?`COS HLS ${t+1}`:/\.m3u8/i.test(r)?`HLS ${t+1}`:`链接 ${t+1}`}return(e,t)=>{const r=L;return l.value.length?(n(),m("div",C,[p("div",N,[a.value?(n(),m(_,{key:0},[b(a.value)?(n(),u(B,{key:`${c.recordId}-${a.value}`,src:a.value},null,8,["src"])):(n(),u(r,{key:1,href:g(a.value),target:"_blank",type:"primary"},{default:v(()=>[...t[0]||(t[0]=[k(" 打开回放 ",-1)])]),_:1},8,["href"]))],64)):y("",!0),f.value.length?(n(),m("div",P,[t[1]||(t[1]=p("span",{class:"recording-alternates__label"},"备用地址",-1)),p("div",V,[(n(!0),m(_,null,R(f.value,(s,o)=>(n(),u(r,{key:`${c.recordId}-alt-${o}-${s.slice(-32)}`,href:g(s),target:"_blank",type:"primary",class:"recording-alternates__link"},{default:v(()=>[k(q(S(s,o)),1)]),_:2},1032,["href"]))),128))])])):y("",!0)])])):(n(),m("span",A,"暂无"))}}}),ht=I(E,[["__scopeId","data-v-d67b2e91"]]);export{ht as default}; +import{_ as L}from"./element-plus-DFTWCWyi.js";import B from"./RecordingVideoPlayer-DJ_BP9x7.js";import{e as H,_ as I}from"./index-DBREMm_z.js";import{f as w,ak as n,I as m,J as p,F as _,G as u,aN as v,O as k,H as y,ap as R,A as d}from"./@vue/runtime-core-C6bnekPw.js";import{Q as q}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const C={key:0,class:"recording-list"},N={class:"recording-item"},P={key:1,class:"recording-alternates"},V={class:"recording-alternates__links"},A={key:1,class:"text-gray-400"},E=w({__name:"RecordingPlaybackBlock",props:{recordId:{},urls:{}},setup(c){const $=c,h=H(),l=d(()=>{const e=$.urls||[],t=new Set,r=[];for(const s of e){const o=String(s??"").trim();!o||t.has(o)||(t.add(o),r.push(o))}return r}),a=d(()=>{const e=l.value;if(!e.length)return null;const t=e.find(i=>/\.mp4(\?|#|$)/i.test(i));if(t)return t;const r=e.find(i=>/\.m3u8(\?|#|$)/i.test(i)&&/vod-qcloud\.com/i.test(i));if(r)return r;const s=e.find(i=>/\.m3u8(\?|#|$)/i.test(i)&&/\.cos\.[^/]+\.myqcloud\.com/i.test(i));if(s)return s;const o=e.find(i=>/\.m3u8(\?|#|$)/i.test(i));return o||e[0]}),f=d(()=>{const e=l.value,t=a.value;return t?e.filter(r=>r!==t):e.slice(1)});function b(e){if(!e||typeof e!="string")return!1;const t=e.trim();return/^https?:\/\//i.test(t)?/\.(mp4|webm|ogg|mov|mkv|m4v|m3u8)(\?|#|$)/i.test(t):/\.(mp4|webm|ogg|mov|mkv|m4v|m3u8)(\?|#|$)/i.test(t)||t.startsWith("/uploads/")}function g(e){return h.getImageUrl(String(e||"").trim())}function S(e,t){const r=e.trim();return/\.mp4(\?|#|$)/i.test(r)?`MP4 ${t+1}`:/vod-qcloud\.com/i.test(r)&&/\.m3u8/i.test(r)?`点播 ${t+1}`:/\.cos\.[^/]+\.myqcloud\.com/i.test(r)&&/\.m3u8/i.test(r)?`COS HLS ${t+1}`:/\.m3u8/i.test(r)?`HLS ${t+1}`:`链接 ${t+1}`}return(e,t)=>{const r=L;return l.value.length?(n(),m("div",C,[p("div",N,[a.value?(n(),m(_,{key:0},[b(a.value)?(n(),u(B,{key:`${c.recordId}-${a.value}`,src:a.value},null,8,["src"])):(n(),u(r,{key:1,href:g(a.value),target:"_blank",type:"primary"},{default:v(()=>[...t[0]||(t[0]=[k(" 打开回放 ",-1)])]),_:1},8,["href"]))],64)):y("",!0),f.value.length?(n(),m("div",P,[t[1]||(t[1]=p("span",{class:"recording-alternates__label"},"备用地址",-1)),p("div",V,[(n(!0),m(_,null,R(f.value,(s,o)=>(n(),u(r,{key:`${c.recordId}-alt-${o}-${s.slice(-32)}`,href:g(s),target:"_blank",type:"primary",class:"recording-alternates__link"},{default:v(()=>[k(q(S(s,o)),1)]),_:2},1032,["href"]))),128))])])):y("",!0)])])):(n(),m("span",A,"暂无"))}}}),ht=I(E,[["__scopeId","data-v-d67b2e91"]]);export{ht as default}; diff --git a/server/public/admin/assets/RecordingVideoPlayer-DWV7klHs.js b/server/public/admin/assets/RecordingVideoPlayer-DJ_BP9x7.js similarity index 96% rename from server/public/admin/assets/RecordingVideoPlayer-DWV7klHs.js rename to server/public/admin/assets/RecordingVideoPlayer-DJ_BP9x7.js index ab202a6d..9f4b9999 100644 --- a/server/public/admin/assets/RecordingVideoPlayer-DWV7klHs.js +++ b/server/public/admin/assets/RecordingVideoPlayer-DJ_BP9x7.js @@ -1 +1 @@ -import{_ as F}from"./jspdf-BsthCvR5.js";import{d as H,_ as K}from"./element-plus-0wC3naml.js";import{q as z,w as O,s as G}from"./@vue/runtime-dom-DDAG46FW.js";import{l as J}from"./@element-plus/icons-vue-HOEUG8sr.js";import{e as W,_ as $}from"./index-E47--KT7.js";import{f as j,b as Q,n as I,w as X,d as Y,ak as p,I as m,J as f,aP as Z,F as w,a as h,aN as S,H as M,O as ee,A as E}from"./@vue/runtime-core-C6bnekPw.js";import{y as te,n as v}from"./@vue/reactivity-DiY1c2vO.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const re={class:"recording-playback__shell"},oe=["preload"],ae=["onKeydown"],ne=j({__name:"RecordingVideoPlayer",props:{src:{}},setup(P){const A=P,B=W(),b=v(null),_=v(null),c=v(!1),i=v(!1),o=v(!1);let d=null,a=null,l=0,s=null;function u(){s!==null&&(clearTimeout(s),s=null)}const y=E(()=>{const e=String(A.src||"").trim();return e?N(B.getImageUrl(e)):""}),V=E(()=>{if(!i.value)return"none";const e=y.value;return e&&!L(e)?"metadata":"none"}),D=E(()=>!i.value||o.value);function N(e){if(!e||!/^https?:\/\//i.test(e))return e;try{const t=new URL(e),r=t.hostname.toLowerCase();if(r.includes("myqcloud.com")||r.includes("vod-qcloud.com")||r.includes("vod-qcloud"))return t.pathname.includes("+")&&(t.pathname=t.pathname.replace(/\+/g,"%2B")),t.href}catch{}return e}function L(e){return/\.m3u8(\?|#|$)/i.test(e)}function U(){var r;o.value=!1,u();const e=_.value,t=(r=e==null?void 0:e.error)==null?void 0:r.code;t===MediaError.MEDIA_ERR_ABORTED||t===1||(c.value=!0)}function k(){d&&(d.destroy(),d=null);const e=_.value;e&&(e.pause(),e.removeAttribute("src"),e.load())}function R(e,t){let r=!1;const n=()=>{r||t!==l||(r=!0,u(),o.value=!1)};e.addEventListener("loadedmetadata",()=>n(),{once:!0}),e.addEventListener("loadeddata",()=>n(),{once:!0}),e.addEventListener("canplay",()=>n(),{once:!0}),e.addEventListener("playing",()=>n(),{once:!0}),e.addEventListener("progress",()=>{try{e.buffered.length>0&&e.buffered.end(0)>0&&n("progress-buffered")}catch{}},{passive:!0})}async function g(){if(!i.value)return;await I();const e=_.value,t=y.value;if(!e)return;if(!t){o.value=!1,u();return}const r=++l;if(o.value=!0,u(),k(),c.value=!1,L(t)){try{const n=await F(()=>import("./hls.js-Cxumxs-1.js"),[]),x=n.default;if(x.isSupported()){d=new x({enableWorker:!0,lowLatencyMode:!1,maxBufferLength:20,maxMaxBufferLength:120}),d.on(n.Events.MANIFEST_PARSED,()=>{r===l&&(o.value=!1,u())}),d.on(n.Events.ERROR,(le,q)=>{if(q.fatal){if(r!==l)return;o.value=!1,u(),c.value=!0,k()}}),d.loadSource(t),d.attachMedia(e),s=setTimeout(()=>{s=null,r===l&&o.value&&(o.value=!1)},45e3);return}if(e.canPlayType("application/vnd.apple.mpegurl")){R(e,r),e.src=t,s=setTimeout(()=>{s=null,r===l&&o.value&&(o.value=!1)},45e3);return}}catch{if(r!==l)return;o.value=!1,u(),c.value=!0;return}if(r!==l)return;o.value=!1,u(),c.value=!0;return}R(e,r),e.src=t,s=setTimeout(()=>{s=null,r===l&&o.value&&(o.value=!1)},25e3)}function C(){const e=b.value;if(!e||typeof IntersectionObserver>"u"){i.value=!0,g();return}a=new IntersectionObserver(t=>{for(const r of t)if(r.isIntersecting){a==null||a.disconnect(),a=null,i.value=!0,g();break}},{root:null,rootMargin:"240px 0px",threshold:0}),a.observe(e)}function T(){a==null||a.disconnect(),a=null,i.value||(i.value=!0),g()}return Q(()=>{I(()=>{C()})}),X(y,()=>{i.value&&g()}),Y(()=>{a==null||a.disconnect(),a=null,u(),l++,k()}),(e,t)=>{const r=H,n=K;return p(),m("div",{ref_key:"wrapRef",ref:b,class:"recording-playback"},[f("div",re,[Z(f("video",{ref_key:"videoRef",ref:_,class:"recording-video",controls:"",playsinline:"","webkit-playsinline":"",preload:V.value,onError:U},null,40,oe),[[z,!c.value]]),!c.value&&D.value?(p(),m("div",{key:0,class:"recording-playback__overlay",role:"button",tabindex:"0",onClick:T,onKeydown:O(G(T,["prevent"]),["enter"])},[i.value?(p(),m(w,{key:1},[h(r,{class:"recording-playback__spin"},{default:S(()=>[h(te(J))]),_:1}),t[2]||(t[2]=f("span",null,"正在加载…",-1))],64)):(p(),m(w,{key:0},[t[0]||(t[0]=f("span",{class:"recording-playback__overlay-title"},"预览待加载",-1)),t[1]||(t[1]=f("span",{class:"recording-playback__overlay-desc"},"滚动至此处将自动加载(减轻并发卡顿),也可点击立即加载",-1))],64))],40,ae)):M("",!0)]),c.value?(p(),m(w,{key:0},[h(n,{href:y.value||"#",target:"_blank",type:"primary"},{default:S(()=>[...t[3]||(t[3]=[ee("在新窗口打开",-1)])]),_:1},8,["href"]),t[4]||(t[4]=f("div",{class:"recording-playback__hint"}," 内嵌播放失败(编码不支持、跨域或私有存储等)时可尝试在新窗口打开。 ",-1))],64)):M("",!0)],512)}}}),Oe=$(ne,[["__scopeId","data-v-749b0199"]]);export{Oe as default}; +import{_ as F}from"./jspdf-BsthCvR5.js";import{d as H,_ as K}from"./element-plus-DFTWCWyi.js";import{q as z,w as O,s as G}from"./@vue/runtime-dom-DDAG46FW.js";import{l as J}from"./@element-plus/icons-vue-HOEUG8sr.js";import{e as W,_ as $}from"./index-DBREMm_z.js";import{f as j,b as Q,n as I,w as X,d as Y,ak as p,I as m,J as f,aP as Z,F as w,a as h,aN as S,H as M,O as ee,A as E}from"./@vue/runtime-core-C6bnekPw.js";import{y as te,n as v}from"./@vue/reactivity-DiY1c2vO.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const re={class:"recording-playback__shell"},oe=["preload"],ae=["onKeydown"],ne=j({__name:"RecordingVideoPlayer",props:{src:{}},setup(P){const A=P,B=W(),b=v(null),_=v(null),c=v(!1),i=v(!1),o=v(!1);let d=null,a=null,l=0,s=null;function u(){s!==null&&(clearTimeout(s),s=null)}const y=E(()=>{const e=String(A.src||"").trim();return e?N(B.getImageUrl(e)):""}),V=E(()=>{if(!i.value)return"none";const e=y.value;return e&&!L(e)?"metadata":"none"}),D=E(()=>!i.value||o.value);function N(e){if(!e||!/^https?:\/\//i.test(e))return e;try{const t=new URL(e),r=t.hostname.toLowerCase();if(r.includes("myqcloud.com")||r.includes("vod-qcloud.com")||r.includes("vod-qcloud"))return t.pathname.includes("+")&&(t.pathname=t.pathname.replace(/\+/g,"%2B")),t.href}catch{}return e}function L(e){return/\.m3u8(\?|#|$)/i.test(e)}function U(){var r;o.value=!1,u();const e=_.value,t=(r=e==null?void 0:e.error)==null?void 0:r.code;t===MediaError.MEDIA_ERR_ABORTED||t===1||(c.value=!0)}function k(){d&&(d.destroy(),d=null);const e=_.value;e&&(e.pause(),e.removeAttribute("src"),e.load())}function R(e,t){let r=!1;const n=()=>{r||t!==l||(r=!0,u(),o.value=!1)};e.addEventListener("loadedmetadata",()=>n(),{once:!0}),e.addEventListener("loadeddata",()=>n(),{once:!0}),e.addEventListener("canplay",()=>n(),{once:!0}),e.addEventListener("playing",()=>n(),{once:!0}),e.addEventListener("progress",()=>{try{e.buffered.length>0&&e.buffered.end(0)>0&&n("progress-buffered")}catch{}},{passive:!0})}async function g(){if(!i.value)return;await I();const e=_.value,t=y.value;if(!e)return;if(!t){o.value=!1,u();return}const r=++l;if(o.value=!0,u(),k(),c.value=!1,L(t)){try{const n=await F(()=>import("./hls.js-Cxumxs-1.js"),[]),x=n.default;if(x.isSupported()){d=new x({enableWorker:!0,lowLatencyMode:!1,maxBufferLength:20,maxMaxBufferLength:120}),d.on(n.Events.MANIFEST_PARSED,()=>{r===l&&(o.value=!1,u())}),d.on(n.Events.ERROR,(le,q)=>{if(q.fatal){if(r!==l)return;o.value=!1,u(),c.value=!0,k()}}),d.loadSource(t),d.attachMedia(e),s=setTimeout(()=>{s=null,r===l&&o.value&&(o.value=!1)},45e3);return}if(e.canPlayType("application/vnd.apple.mpegurl")){R(e,r),e.src=t,s=setTimeout(()=>{s=null,r===l&&o.value&&(o.value=!1)},45e3);return}}catch{if(r!==l)return;o.value=!1,u(),c.value=!0;return}if(r!==l)return;o.value=!1,u(),c.value=!0;return}R(e,r),e.src=t,s=setTimeout(()=>{s=null,r===l&&o.value&&(o.value=!1)},25e3)}function C(){const e=b.value;if(!e||typeof IntersectionObserver>"u"){i.value=!0,g();return}a=new IntersectionObserver(t=>{for(const r of t)if(r.isIntersecting){a==null||a.disconnect(),a=null,i.value=!0,g();break}},{root:null,rootMargin:"240px 0px",threshold:0}),a.observe(e)}function T(){a==null||a.disconnect(),a=null,i.value||(i.value=!0),g()}return Q(()=>{I(()=>{C()})}),X(y,()=>{i.value&&g()}),Y(()=>{a==null||a.disconnect(),a=null,u(),l++,k()}),(e,t)=>{const r=H,n=K;return p(),m("div",{ref_key:"wrapRef",ref:b,class:"recording-playback"},[f("div",re,[Z(f("video",{ref_key:"videoRef",ref:_,class:"recording-video",controls:"",playsinline:"","webkit-playsinline":"",preload:V.value,onError:U},null,40,oe),[[z,!c.value]]),!c.value&&D.value?(p(),m("div",{key:0,class:"recording-playback__overlay",role:"button",tabindex:"0",onClick:T,onKeydown:O(G(T,["prevent"]),["enter"])},[i.value?(p(),m(w,{key:1},[h(r,{class:"recording-playback__spin"},{default:S(()=>[h(te(J))]),_:1}),t[2]||(t[2]=f("span",null,"正在加载…",-1))],64)):(p(),m(w,{key:0},[t[0]||(t[0]=f("span",{class:"recording-playback__overlay-title"},"预览待加载",-1)),t[1]||(t[1]=f("span",{class:"recording-playback__overlay-desc"},"滚动至此处将自动加载(减轻并发卡顿),也可点击立即加载",-1))],64))],40,ae)):M("",!0)]),c.value?(p(),m(w,{key:0},[h(n,{href:y.value||"#",target:"_blank",type:"primary"},{default:S(()=>[...t[3]||(t[3]=[ee("在新窗口打开",-1)])]),_:1},8,["href"]),t[4]||(t[4]=f("div",{class:"recording-playback__hint"}," 内嵌播放失败(编码不支持、跨域或私有存储等)时可尝试在新窗口打开。 ",-1))],64)):M("",!0)],512)}}}),Oe=$(ne,[["__scopeId","data-v-749b0199"]]);export{Oe as default}; diff --git a/server/public/admin/assets/SendPanel-2lfWsLed.js b/server/public/admin/assets/SendPanel-CSQRMLER.js similarity index 98% rename from server/public/admin/assets/SendPanel-2lfWsLed.js rename to server/public/admin/assets/SendPanel-CSQRMLER.js index 876193bb..bc926fd9 100644 --- a/server/public/admin/assets/SendPanel-2lfWsLed.js +++ b/server/public/admin/assets/SendPanel-CSQRMLER.js @@ -1 +1 @@ -import{v as te,d as ae,i as ie,C as ne,r as se,V as oe,D as ue,B as re}from"./element-plus-0wC3naml.js";import{w as de,s as me}from"./@vue/runtime-dom-DDAG46FW.js";import{G as j,R as N,S as K,c as pe,O as fe,P as ce}from"./@element-plus/icons-vue-HOEUG8sr.js";import{r as y,i as _,_ as ve}from"./index-E47--KT7.js";import{u as G}from"./file-DoYUJmkp.js";import{f as ge,ak as v,I as w,F as I,ap as _e,G as $,a as l,aN as t,J as x,H as B,O as q,A as ye}from"./@vue/runtime-core-C6bnekPw.js";import{o as ke,Q as R}from"./@vue/shared-mAAVTE9n.js";import{y as V,n as b}from"./@vue/reactivity-DiY1c2vO.js";function We(r){return y.get({url:"/qywx.message/session_list",params:r})}function Pe(r){return y.get({url:"/qywx.message/archive_list",params:r})}function je(r){return y.post({url:"/qywx.message/mark_read",params:{session_id:r}})}function Ne(r){return y.post({url:"/qywx.message/send",params:r})}function Ke(r){return y.get({url:"/qywx.message/send_task_list",params:r})}function Ge(r,h=""){return y.get({url:"/qywx.message/send_task_detail",params:{task_id:r,cursor:h}})}function He(r=""){return y.get({url:"/qywx.message/staff_list",params:{keyword:r}})}function Je(){return y.get({url:"/qywx.message/archive_status"})}function Qe(r=5,h=!1){return y.post({url:"/qywx.message/pull_archive",params:{max_batches:r,download:h}})}async function H(r,h){const S=new FormData;return S.append("file",r),S.append("type",h),y.post({url:"/qywx.message/upload_to_qywx",data:S,headers:{"Content-Type":"multipart/form-data"}})}const we={class:"send-panel"},xe={key:0,class:"attachment-list"},Ve=["src"],be={class:"attachment-filename"},he={class:"attachment-filename"},Ce={class:"attachment-filename"},qe={class:"send-toolbar"},Se={class:"toolbar-left"},Me={class:"toolbar-right"},Ue={class:"link-picurl-row"},Ee={key:0,class:"mini-preview"},Le=ge({__name:"SendPanel",props:{canSendMessage:{type:Boolean}},emits:["send"],setup(r,{emit:h}){const S=r,J=h,M=b(""),d=b([]),L=b(!1),f=b(null),z=b("image"),U=b(!1),c=b({title:"",url:"",picurl:"",desc:""}),E=b(!1),m=b({title:"",appid:"",page:"",pic_media_id:"",preview:""}),T=ye(()=>{if(!S.canSendMessage||L.value)return!1;const o=M.value.trim().length>0,e=d.value.some(s=>!s.uploading);return o||e});function F(o){if(d.value.length>=9){_.msgWarning("最多添加 9 个附件");return}z.value=o;const e=o==="image"?"image/*":o==="video"?"video/*":"*/*";f.value&&(f.value.accept=e,f.value.value="",f.value.click())}function Q(){z.value="link-cover",f.value&&(f.value.accept="image/*",f.value.value="",f.value.click())}function X(){z.value="mini-cover",f.value&&(f.value.accept="image/*",f.value.value="",f.value.click())}async function Y(o){var g;const s=(g=o.target.files)==null?void 0:g[0];if(!s)return;const i=z.value;if(i==="link-cover"){try{const u=await G(s,s.name);c.value.picurl=u.uri||u.url,_.msgSuccess("封面上传成功")}catch(u){_.msgError((u==null?void 0:u.message)||"封面上传失败")}return}if(i==="mini-cover"){try{const u=await H(s,"image");m.value.pic_media_id=u.media_id;const k=await G(s,s.name);m.value.preview=k.uri||k.url,_.msgSuccess("小程序封面上传成功")}catch(u){_.msgError((u==null?void 0:u.message)||"封面上传失败")}return}const n=i==="file"?"":URL.createObjectURL(s),p={msgtype:i,uploading:!0,preview:n,file_name:s.name};d.value.push(p);const C=d.value.length-1;try{const k=(await H(s,i)).media_id;i==="image"?p.image={media_id:k}:i==="video"?p.video={media_id:k}:p.file={media_id:k},p.uploading=!1}catch(u){_.msgError((u==null?void 0:u.message)||"上传失败"),d.value.splice(C,1)}}function Z(o){const e=d.value[o];e!=null&&e.preview&&e.preview.startsWith("blob:")&&URL.revokeObjectURL(e.preview),d.value.splice(o,1)}function ee(){const{title:o,url:e,picurl:s,desc:i}=c.value;if(!o.trim()||!e.trim()||!s.trim()){_.msgWarning("请完整填写标题、链接地址与封面图");return}if(d.value.length>=9){_.msgWarning("最多添加 9 个附件");return}d.value.push({msgtype:"link",link:{title:o,url:e,picurl:s,desc:i}}),U.value=!1,c.value={title:"",url:"",picurl:"",desc:""}}function le(){const{title:o,appid:e,page:s,pic_media_id:i}=m.value;if(!o.trim()||!e.trim()||!s.trim()||!i){_.msgWarning("请完整填写小程序信息");return}if(d.value.length>=9){_.msgWarning("最多添加 9 个附件");return}d.value.push({msgtype:"miniprogram",miniprogram:{title:o,appid:e,page:s,pic_media_id:i}}),E.value=!1,m.value={title:"",appid:"",page:"",pic_media_id:"",preview:""}}async function A(){if(!T.value)return;const o=d.value.filter(i=>!i.uploading).map(i=>{const n={msgtype:i.msgtype};return i.image&&(n.image=i.image),i.video&&(n.video=i.video),i.file&&(n.file=i.file),i.link&&(n.link=i.link),i.miniprogram&&(n.miniprogram=i.miniprogram),n}),e={},s=M.value.trim();s&&(e.text={content:s}),o.length&&(e.attachments=o),L.value=!0;try{await J("send",e),M.value="",d.value.forEach(i=>{var n;(n=i.preview)!=null&&n.startsWith("blob:")&&URL.revokeObjectURL(i.preview)}),d.value=[]}finally{L.value=!1}}return(o,e)=>{const s=te,i=ae,n=ie,p=ne,C=se,g=re,u=ue,k=oe;return v(),w("div",we,[d.value.length?(v(),w("div",xe,[(v(!0),w(I,null,_e(d.value,(a,D)=>{var O,W,P;return v(),w("div",{key:D,class:ke(["attachment-item","attachment-"+a.msgtype])},[a.msgtype==="image"?(v(),$(s,{key:0,src:a.preview||"",fit:"cover",class:"attachment-preview"},null,8,["src"])):a.msgtype==="video"?(v(),w("video",{key:1,src:a.preview||"",class:"attachment-preview",muted:""},null,8,Ve)):a.msgtype==="file"?(v(),w(I,{key:2},[l(i,{size:20},{default:t(()=>[l(V(j))]),_:1}),x("span",be,R(a.file_name),1)],64)):a.msgtype==="link"?(v(),w(I,{key:3},[l(i,{size:20},{default:t(()=>[l(V(N))]),_:1}),x("span",he,R(((O=a.link)==null?void 0:O.title)||((W=a.link)==null?void 0:W.url)),1)],64)):a.msgtype==="miniprogram"?(v(),w(I,{key:4},[l(i,{size:20},{default:t(()=>[l(V(K))]),_:1}),x("span",Ce,R((P=a.miniprogram)==null?void 0:P.title),1)],64)):B("",!0),a.uploading?(v(),$(n,{key:5,type:"primary",link:"",loading:"",size:"small"})):(v(),$(n,{key:6,class:"attachment-remove",type:"danger",link:"",onClick:Ie=>Z(D)},{default:t(()=>[l(i,null,{default:t(()=>[l(V(pe))]),_:1})]),_:1},8,["onClick"]))],2)}),128))])):B("",!0),l(p,{modelValue:M.value,"onUpdate:modelValue":e[0]||(e[0]=a=>M.value=a),type:"textarea",rows:3,placeholder:"在此输入消息,Ctrl+Enter 发送。该消息以代发员工身份发给客户,员工手机端确认后送达。",resize:"none",onKeydown:de(me(A,["ctrl"]),["enter"])},null,8,["modelValue","onKeydown"]),x("div",qe,[x("div",Se,[l(C,{content:"图片",placement:"top"},{default:t(()=>[l(n,{link:"",onClick:e[1]||(e[1]=a=>F("image"))},{default:t(()=>[l(i,{size:18},{default:t(()=>[l(V(fe))]),_:1})]),_:1})]),_:1}),l(C,{content:"视频",placement:"top"},{default:t(()=>[l(n,{link:"",onClick:e[2]||(e[2]=a=>F("video"))},{default:t(()=>[l(i,{size:18},{default:t(()=>[l(V(ce))]),_:1})]),_:1})]),_:1}),l(C,{content:"文件",placement:"top"},{default:t(()=>[l(n,{link:"",onClick:e[3]||(e[3]=a=>F("file"))},{default:t(()=>[l(i,{size:18},{default:t(()=>[l(V(j))]),_:1})]),_:1})]),_:1}),l(C,{content:"链接",placement:"top"},{default:t(()=>[l(n,{link:"",onClick:e[4]||(e[4]=a=>U.value=!0)},{default:t(()=>[l(i,{size:18},{default:t(()=>[l(V(N))]),_:1})]),_:1})]),_:1}),l(C,{content:"小程序",placement:"top"},{default:t(()=>[l(n,{link:"",onClick:e[5]||(e[5]=a=>E.value=!0)},{default:t(()=>[l(i,{size:18},{default:t(()=>[l(V(K))]),_:1})]),_:1})]),_:1})]),x("div",Me,[e[18]||(e[18]=x("span",{class:"send-hint"}," 员工手机端确认后送达客户 · Ctrl+Enter 快速发送 ",-1)),l(n,{type:"primary",disabled:!T.value,loading:L.value,onClick:A},{default:t(()=>[...e[17]||(e[17]=[q(" 发送 ",-1)])]),_:1},8,["disabled","loading"])])]),x("input",{ref_key:"fileInputRef",ref:f,type:"file",hidden:"",onChange:Y},null,544),l(k,{modelValue:U.value,"onUpdate:modelValue":e[11]||(e[11]=a=>U.value=a),title:"添加链接",width:"480px"},{footer:t(()=>[l(n,{onClick:e[10]||(e[10]=a=>U.value=!1)},{default:t(()=>[...e[20]||(e[20]=[q("取消",-1)])]),_:1}),l(n,{type:"primary",onClick:ee},{default:t(()=>[...e[21]||(e[21]=[q("确定",-1)])]),_:1})]),default:t(()=>[l(u,{"label-width":"80px",model:c.value},{default:t(()=>[l(g,{label:"标题"},{default:t(()=>[l(p,{modelValue:c.value.title,"onUpdate:modelValue":e[6]||(e[6]=a=>c.value.title=a),maxlength:"128"},null,8,["modelValue"])]),_:1}),l(g,{label:"链接地址"},{default:t(()=>[l(p,{modelValue:c.value.url,"onUpdate:modelValue":e[7]||(e[7]=a=>c.value.url=a),placeholder:"https://..."},null,8,["modelValue"])]),_:1}),l(g,{label:"封面图"},{default:t(()=>[x("div",Ue,[l(p,{modelValue:c.value.picurl,"onUpdate:modelValue":e[8]||(e[8]=a=>c.value.picurl=a),placeholder:"https://..."},null,8,["modelValue"]),l(n,{onClick:Q},{default:t(()=>[...e[19]||(e[19]=[q("本地上传",-1)])]),_:1})])]),_:1}),l(g,{label:"描述"},{default:t(()=>[l(p,{modelValue:c.value.desc,"onUpdate:modelValue":e[9]||(e[9]=a=>c.value.desc=a),type:"textarea",rows:2,maxlength:"512"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),l(k,{modelValue:E.value,"onUpdate:modelValue":e[16]||(e[16]=a=>E.value=a),title:"添加小程序",width:"480px"},{footer:t(()=>[l(n,{onClick:e[15]||(e[15]=a=>E.value=!1)},{default:t(()=>[...e[22]||(e[22]=[q("取消",-1)])]),_:1}),l(n,{type:"primary",disabled:!m.value.pic_media_id||!m.value.appid,onClick:le},{default:t(()=>[...e[23]||(e[23]=[q(" 确定 ",-1)])]),_:1},8,["disabled"])]),default:t(()=>[l(u,{"label-width":"100px",model:m.value},{default:t(()=>[l(g,{label:"标题"},{default:t(()=>[l(p,{modelValue:m.value.title,"onUpdate:modelValue":e[12]||(e[12]=a=>m.value.title=a)},null,8,["modelValue"])]),_:1}),l(g,{label:"appid"},{default:t(()=>[l(p,{modelValue:m.value.appid,"onUpdate:modelValue":e[13]||(e[13]=a=>m.value.appid=a),placeholder:"wx..."},null,8,["modelValue"])]),_:1}),l(g,{label:"页面路径"},{default:t(()=>[l(p,{modelValue:m.value.page,"onUpdate:modelValue":e[14]||(e[14]=a=>m.value.page=a),placeholder:"/pages/index/index"},null,8,["modelValue"])]),_:1}),l(g,{label:"封面图"},{default:t(()=>[l(n,{onClick:X},{default:t(()=>[q(R(m.value.pic_media_id?"已选择 · 重新选择":"上传封面(必填)"),1)]),_:1}),m.value.preview?(v(),w("div",Ee,[l(s,{src:m.value.preview,fit:"cover"},null,8,["src"])])):B("",!0)]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"])])}}}),ze=ve(Le,[["__scopeId","data-v-afee3bd0"]]),Xe=Object.freeze(Object.defineProperty({__proto__:null,default:ze},Symbol.toStringTag,{value:"Module"}));export{ze as S,Je as a,Qe as b,He as c,je as d,Pe as e,Ne as f,Ke as g,Ge as h,Xe as i,We as q}; +import{v as te,d as ae,i as ie,C as ne,r as se,V as oe,D as ue,B as re}from"./element-plus-DFTWCWyi.js";import{w as de,s as me}from"./@vue/runtime-dom-DDAG46FW.js";import{G as j,R as N,S as K,c as pe,O as fe,P as ce}from"./@element-plus/icons-vue-HOEUG8sr.js";import{r as y,i as _,_ as ve}from"./index-DBREMm_z.js";import{u as G}from"./file-BimpIRb_.js";import{f as ge,ak as v,I as w,F as I,ap as _e,G as $,a as l,aN as t,J as x,H as B,O as q,A as ye}from"./@vue/runtime-core-C6bnekPw.js";import{o as ke,Q as R}from"./@vue/shared-mAAVTE9n.js";import{y as V,n as b}from"./@vue/reactivity-DiY1c2vO.js";function We(r){return y.get({url:"/qywx.message/session_list",params:r})}function Pe(r){return y.get({url:"/qywx.message/archive_list",params:r})}function je(r){return y.post({url:"/qywx.message/mark_read",params:{session_id:r}})}function Ne(r){return y.post({url:"/qywx.message/send",params:r})}function Ke(r){return y.get({url:"/qywx.message/send_task_list",params:r})}function Ge(r,h=""){return y.get({url:"/qywx.message/send_task_detail",params:{task_id:r,cursor:h}})}function He(r=""){return y.get({url:"/qywx.message/staff_list",params:{keyword:r}})}function Je(){return y.get({url:"/qywx.message/archive_status"})}function Qe(r=5,h=!1){return y.post({url:"/qywx.message/pull_archive",params:{max_batches:r,download:h}})}async function H(r,h){const S=new FormData;return S.append("file",r),S.append("type",h),y.post({url:"/qywx.message/upload_to_qywx",data:S,headers:{"Content-Type":"multipart/form-data"}})}const we={class:"send-panel"},xe={key:0,class:"attachment-list"},Ve=["src"],be={class:"attachment-filename"},he={class:"attachment-filename"},Ce={class:"attachment-filename"},qe={class:"send-toolbar"},Se={class:"toolbar-left"},Me={class:"toolbar-right"},Ue={class:"link-picurl-row"},Ee={key:0,class:"mini-preview"},Le=ge({__name:"SendPanel",props:{canSendMessage:{type:Boolean}},emits:["send"],setup(r,{emit:h}){const S=r,J=h,M=b(""),d=b([]),L=b(!1),f=b(null),z=b("image"),U=b(!1),c=b({title:"",url:"",picurl:"",desc:""}),E=b(!1),m=b({title:"",appid:"",page:"",pic_media_id:"",preview:""}),T=ye(()=>{if(!S.canSendMessage||L.value)return!1;const o=M.value.trim().length>0,e=d.value.some(s=>!s.uploading);return o||e});function F(o){if(d.value.length>=9){_.msgWarning("最多添加 9 个附件");return}z.value=o;const e=o==="image"?"image/*":o==="video"?"video/*":"*/*";f.value&&(f.value.accept=e,f.value.value="",f.value.click())}function Q(){z.value="link-cover",f.value&&(f.value.accept="image/*",f.value.value="",f.value.click())}function X(){z.value="mini-cover",f.value&&(f.value.accept="image/*",f.value.value="",f.value.click())}async function Y(o){var g;const s=(g=o.target.files)==null?void 0:g[0];if(!s)return;const i=z.value;if(i==="link-cover"){try{const u=await G(s,s.name);c.value.picurl=u.uri||u.url,_.msgSuccess("封面上传成功")}catch(u){_.msgError((u==null?void 0:u.message)||"封面上传失败")}return}if(i==="mini-cover"){try{const u=await H(s,"image");m.value.pic_media_id=u.media_id;const k=await G(s,s.name);m.value.preview=k.uri||k.url,_.msgSuccess("小程序封面上传成功")}catch(u){_.msgError((u==null?void 0:u.message)||"封面上传失败")}return}const n=i==="file"?"":URL.createObjectURL(s),p={msgtype:i,uploading:!0,preview:n,file_name:s.name};d.value.push(p);const C=d.value.length-1;try{const k=(await H(s,i)).media_id;i==="image"?p.image={media_id:k}:i==="video"?p.video={media_id:k}:p.file={media_id:k},p.uploading=!1}catch(u){_.msgError((u==null?void 0:u.message)||"上传失败"),d.value.splice(C,1)}}function Z(o){const e=d.value[o];e!=null&&e.preview&&e.preview.startsWith("blob:")&&URL.revokeObjectURL(e.preview),d.value.splice(o,1)}function ee(){const{title:o,url:e,picurl:s,desc:i}=c.value;if(!o.trim()||!e.trim()||!s.trim()){_.msgWarning("请完整填写标题、链接地址与封面图");return}if(d.value.length>=9){_.msgWarning("最多添加 9 个附件");return}d.value.push({msgtype:"link",link:{title:o,url:e,picurl:s,desc:i}}),U.value=!1,c.value={title:"",url:"",picurl:"",desc:""}}function le(){const{title:o,appid:e,page:s,pic_media_id:i}=m.value;if(!o.trim()||!e.trim()||!s.trim()||!i){_.msgWarning("请完整填写小程序信息");return}if(d.value.length>=9){_.msgWarning("最多添加 9 个附件");return}d.value.push({msgtype:"miniprogram",miniprogram:{title:o,appid:e,page:s,pic_media_id:i}}),E.value=!1,m.value={title:"",appid:"",page:"",pic_media_id:"",preview:""}}async function A(){if(!T.value)return;const o=d.value.filter(i=>!i.uploading).map(i=>{const n={msgtype:i.msgtype};return i.image&&(n.image=i.image),i.video&&(n.video=i.video),i.file&&(n.file=i.file),i.link&&(n.link=i.link),i.miniprogram&&(n.miniprogram=i.miniprogram),n}),e={},s=M.value.trim();s&&(e.text={content:s}),o.length&&(e.attachments=o),L.value=!0;try{await J("send",e),M.value="",d.value.forEach(i=>{var n;(n=i.preview)!=null&&n.startsWith("blob:")&&URL.revokeObjectURL(i.preview)}),d.value=[]}finally{L.value=!1}}return(o,e)=>{const s=te,i=ae,n=ie,p=ne,C=se,g=re,u=ue,k=oe;return v(),w("div",we,[d.value.length?(v(),w("div",xe,[(v(!0),w(I,null,_e(d.value,(a,D)=>{var O,W,P;return v(),w("div",{key:D,class:ke(["attachment-item","attachment-"+a.msgtype])},[a.msgtype==="image"?(v(),$(s,{key:0,src:a.preview||"",fit:"cover",class:"attachment-preview"},null,8,["src"])):a.msgtype==="video"?(v(),w("video",{key:1,src:a.preview||"",class:"attachment-preview",muted:""},null,8,Ve)):a.msgtype==="file"?(v(),w(I,{key:2},[l(i,{size:20},{default:t(()=>[l(V(j))]),_:1}),x("span",be,R(a.file_name),1)],64)):a.msgtype==="link"?(v(),w(I,{key:3},[l(i,{size:20},{default:t(()=>[l(V(N))]),_:1}),x("span",he,R(((O=a.link)==null?void 0:O.title)||((W=a.link)==null?void 0:W.url)),1)],64)):a.msgtype==="miniprogram"?(v(),w(I,{key:4},[l(i,{size:20},{default:t(()=>[l(V(K))]),_:1}),x("span",Ce,R((P=a.miniprogram)==null?void 0:P.title),1)],64)):B("",!0),a.uploading?(v(),$(n,{key:5,type:"primary",link:"",loading:"",size:"small"})):(v(),$(n,{key:6,class:"attachment-remove",type:"danger",link:"",onClick:Ie=>Z(D)},{default:t(()=>[l(i,null,{default:t(()=>[l(V(pe))]),_:1})]),_:1},8,["onClick"]))],2)}),128))])):B("",!0),l(p,{modelValue:M.value,"onUpdate:modelValue":e[0]||(e[0]=a=>M.value=a),type:"textarea",rows:3,placeholder:"在此输入消息,Ctrl+Enter 发送。该消息以代发员工身份发给客户,员工手机端确认后送达。",resize:"none",onKeydown:de(me(A,["ctrl"]),["enter"])},null,8,["modelValue","onKeydown"]),x("div",qe,[x("div",Se,[l(C,{content:"图片",placement:"top"},{default:t(()=>[l(n,{link:"",onClick:e[1]||(e[1]=a=>F("image"))},{default:t(()=>[l(i,{size:18},{default:t(()=>[l(V(fe))]),_:1})]),_:1})]),_:1}),l(C,{content:"视频",placement:"top"},{default:t(()=>[l(n,{link:"",onClick:e[2]||(e[2]=a=>F("video"))},{default:t(()=>[l(i,{size:18},{default:t(()=>[l(V(ce))]),_:1})]),_:1})]),_:1}),l(C,{content:"文件",placement:"top"},{default:t(()=>[l(n,{link:"",onClick:e[3]||(e[3]=a=>F("file"))},{default:t(()=>[l(i,{size:18},{default:t(()=>[l(V(j))]),_:1})]),_:1})]),_:1}),l(C,{content:"链接",placement:"top"},{default:t(()=>[l(n,{link:"",onClick:e[4]||(e[4]=a=>U.value=!0)},{default:t(()=>[l(i,{size:18},{default:t(()=>[l(V(N))]),_:1})]),_:1})]),_:1}),l(C,{content:"小程序",placement:"top"},{default:t(()=>[l(n,{link:"",onClick:e[5]||(e[5]=a=>E.value=!0)},{default:t(()=>[l(i,{size:18},{default:t(()=>[l(V(K))]),_:1})]),_:1})]),_:1})]),x("div",Me,[e[18]||(e[18]=x("span",{class:"send-hint"}," 员工手机端确认后送达客户 · Ctrl+Enter 快速发送 ",-1)),l(n,{type:"primary",disabled:!T.value,loading:L.value,onClick:A},{default:t(()=>[...e[17]||(e[17]=[q(" 发送 ",-1)])]),_:1},8,["disabled","loading"])])]),x("input",{ref_key:"fileInputRef",ref:f,type:"file",hidden:"",onChange:Y},null,544),l(k,{modelValue:U.value,"onUpdate:modelValue":e[11]||(e[11]=a=>U.value=a),title:"添加链接",width:"480px"},{footer:t(()=>[l(n,{onClick:e[10]||(e[10]=a=>U.value=!1)},{default:t(()=>[...e[20]||(e[20]=[q("取消",-1)])]),_:1}),l(n,{type:"primary",onClick:ee},{default:t(()=>[...e[21]||(e[21]=[q("确定",-1)])]),_:1})]),default:t(()=>[l(u,{"label-width":"80px",model:c.value},{default:t(()=>[l(g,{label:"标题"},{default:t(()=>[l(p,{modelValue:c.value.title,"onUpdate:modelValue":e[6]||(e[6]=a=>c.value.title=a),maxlength:"128"},null,8,["modelValue"])]),_:1}),l(g,{label:"链接地址"},{default:t(()=>[l(p,{modelValue:c.value.url,"onUpdate:modelValue":e[7]||(e[7]=a=>c.value.url=a),placeholder:"https://..."},null,8,["modelValue"])]),_:1}),l(g,{label:"封面图"},{default:t(()=>[x("div",Ue,[l(p,{modelValue:c.value.picurl,"onUpdate:modelValue":e[8]||(e[8]=a=>c.value.picurl=a),placeholder:"https://..."},null,8,["modelValue"]),l(n,{onClick:Q},{default:t(()=>[...e[19]||(e[19]=[q("本地上传",-1)])]),_:1})])]),_:1}),l(g,{label:"描述"},{default:t(()=>[l(p,{modelValue:c.value.desc,"onUpdate:modelValue":e[9]||(e[9]=a=>c.value.desc=a),type:"textarea",rows:2,maxlength:"512"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),l(k,{modelValue:E.value,"onUpdate:modelValue":e[16]||(e[16]=a=>E.value=a),title:"添加小程序",width:"480px"},{footer:t(()=>[l(n,{onClick:e[15]||(e[15]=a=>E.value=!1)},{default:t(()=>[...e[22]||(e[22]=[q("取消",-1)])]),_:1}),l(n,{type:"primary",disabled:!m.value.pic_media_id||!m.value.appid,onClick:le},{default:t(()=>[...e[23]||(e[23]=[q(" 确定 ",-1)])]),_:1},8,["disabled"])]),default:t(()=>[l(u,{"label-width":"100px",model:m.value},{default:t(()=>[l(g,{label:"标题"},{default:t(()=>[l(p,{modelValue:m.value.title,"onUpdate:modelValue":e[12]||(e[12]=a=>m.value.title=a)},null,8,["modelValue"])]),_:1}),l(g,{label:"appid"},{default:t(()=>[l(p,{modelValue:m.value.appid,"onUpdate:modelValue":e[13]||(e[13]=a=>m.value.appid=a),placeholder:"wx..."},null,8,["modelValue"])]),_:1}),l(g,{label:"页面路径"},{default:t(()=>[l(p,{modelValue:m.value.page,"onUpdate:modelValue":e[14]||(e[14]=a=>m.value.page=a),placeholder:"/pages/index/index"},null,8,["modelValue"])]),_:1}),l(g,{label:"封面图"},{default:t(()=>[l(n,{onClick:X},{default:t(()=>[q(R(m.value.pic_media_id?"已选择 · 重新选择":"上传封面(必填)"),1)]),_:1}),m.value.preview?(v(),w("div",Ee,[l(s,{src:m.value.preview,fit:"cover"},null,8,["src"])])):B("",!0)]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"])])}}}),ze=ve(Le,[["__scopeId","data-v-afee3bd0"]]),Xe=Object.freeze(Object.defineProperty({__proto__:null,default:ze},Symbol.toStringTag,{value:"Module"}));export{ze as S,Je as a,Qe as b,He as c,je as d,Pe as e,Ne as f,Ke as g,Ge as h,Xe as i,We as q}; diff --git a/server/public/admin/assets/TrackingMatrix-6AXA1QSn.js b/server/public/admin/assets/TrackingMatrix-DXSAP7vt.js similarity index 82% rename from server/public/admin/assets/TrackingMatrix-6AXA1QSn.js rename to server/public/admin/assets/TrackingMatrix-DXSAP7vt.js index bcf4d2f5..b6339480 100644 --- a/server/public/admin/assets/TrackingMatrix-6AXA1QSn.js +++ b/server/public/admin/assets/TrackingMatrix-DXSAP7vt.js @@ -1 +1 @@ -import{L as G,F as O,G as U,a2 as J,R as Q,N as W,r as j,M as K}from"./element-plus-0wC3naml.js";import{f as X,c as Z,d as ee,e as te,b as se}from"./blood-thresholds-CJ1fqMjh.js";import{I as ae}from"./tcm-SLIwsL8z.js";import{f as ne,w as oe,b as ie,aP as le,ak as n,I as i,J as r,a as p,aN as d,O as g,G as M,H as f,A as B}from"./@vue/runtime-core-C6bnekPw.js";import{o as I,Q as c}from"./@vue/shared-mAAVTE9n.js";import{n as y}from"./@vue/reactivity-DiY1c2vO.js";import{_ as re}from"./index-E47--KT7.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const de={class:"tracking-matrix"},ce={class:"toolbar"},ue={key:0,class:"cell-blood"},pe={class:"value"},me={key:0,class:"cell-up"},_e={class:"value"},ge={key:0,class:"cell-up"},fe={class:"value"},he={key:0,class:"cell-up"},ve={key:1,class:"cell-empty"},ye={key:0,class:"cell-up"},ke={key:1,class:"cell-empty"},xe={key:0},be={key:1,class:"cell-empty"},He={key:0},De={key:1,class:"cell-empty"},Se={class:"diet-tip"},Me={key:1,class:"cell-empty"},Be={class:"exercise-tip"},Te={key:0},Ce={class:"cell-checked"},Ie={key:0,class:"meta"},Re={key:1,class:"meta"},Ve={key:1,class:"cell-empty"},Ee=ne({__name:"TrackingMatrix",props:{diagnosisId:{},age:{default:null}},setup(L,{expose:Y}){const _=L,h=y("30"),k=y(null),T=y(!1),x=y([]),b=y([]),H=y([]);let C=0;const V=s=>`${s.getFullYear()}-${String(s.getMonth()+1).padStart(2,"0")}-${String(s.getDate()).padStart(2,"0")}`,E=s=>{if(s==="custom"){const[m,l]=k.value||["",""];return{start:m||"",end:l||""}}const e=s==="7"?7:30,t=new Date;t.setHours(0,0,0,0);const o=new Date(t);return o.setDate(o.getDate()-(e-1)),{start:V(o),end:V(t)}},w=s=>s.getTime()>Date.now(),D=async()=>{if(!_.diagnosisId||_.diagnosisId<=0){x.value=[],b.value=[],H.value=[];return}const s=E(h.value);if(h.value==="custom"&&(!s.start||!s.end))return;const e=++C;T.value=!0;try{const t=await ae({id:_.diagnosisId,start_date:s.start,end_date:s.end});if(e!==C)return;x.value=(t==null?void 0:t.blood_records)||[],b.value=(t==null?void 0:t.diet_records)||[],H.value=(t==null?void 0:t.exercise_records)||[]}catch{e===C&&(x.value=[],b.value=[],H.value=[])}finally{e===C&&(T.value=!1)}},A=()=>{if(h.value==="custom"&&!k.value){const s=E("30");k.value=[s.start,s.end]}D()},F=()=>{h.value==="custom"&&D()};oe(()=>_.diagnosisId,s=>{s&&s>0&&D()}),ie(()=>{_.diagnosisId&&_.diagnosisId>0&&D()});const P=B(()=>{const s=new Map;for(const e of x.value){const t=String(e.record_date||"");if(!t)continue;s.has(t)||s.set(t,{record_date:t,record_date_ts:e.record_date_ts});const o=s.get(t),m=["fasting_blood_sugar","postprandial_blood_sugar","other_blood_sugar","systolic_pressure","diastolic_pressure","western_medicine","insulin"];for(const l of m)(o[l]===void 0||o[l]===null||o[l]==="")&&e[l]!==void 0&&e[l]!==null&&e[l]!==""&&(o[l]=e[l])}return s}),$=B(()=>{const s=new Map;for(const e of b.value){const t=String(e.record_date||"");t&&(s.has(t)||s.set(t,e))}return s}),q=B(()=>{const s=new Map;for(const e of H.value){const t=String(e.record_date||"");t&&(s.has(t)||s.set(t,e))}return s}),N=B(()=>{const s=new Set;for(const t of x.value)t.record_date&&s.add(String(t.record_date));for(const t of b.value)t.record_date&&s.add(String(t.record_date));for(const t of H.value)t.record_date&&s.add(String(t.record_date));const e=Array.from(s).filter(t=>t.length===10);return e.sort((t,o)=>to?-1:0),e}),z=B(()=>N.value.map(s=>{const e=P.value.get(s),t=$.value.get(s),o=q.value.get(s),m=(e==null?void 0:e.fasting_blood_sugar)??null,l=(e==null?void 0:e.postprandial_blood_sugar)??null,u=(e==null?void 0:e.other_blood_sugar)??null,v=(e==null?void 0:e.systolic_pressure)??null,S=(e==null?void 0:e.diastolic_pressure)??null,R=m!==null&&m!==""||l!==null&&l!==""||u!==null&&u!=="",a=v||S?X({systolic_pressure:v,diastolic_pressure:S}):"";return{date:s,dateLabel:`${s}`,bloodAny:R,fasting:m??"—",postprandial:l??"—",other:u??"—",fastingHigh:se(m,_.age),postprandialHigh:te(l,_.age),otherHigh:ee(u,_.age),bp:a,bpHigh:Z({systolic_pressure:v,diastolic_pressure:S}),westernMedicine:(e==null?void 0:e.western_medicine)||"",insulin:(e==null?void 0:e.insulin)||"",diet:t?{breakfast:t.breakfast||"",lunch:t.lunch||"",dinner:t.dinner||""}:null,exercise:o?{duration:o.duration||0,intensityText:o.intensity_text||"",remark:o.remark||""}:null}}));return Y({refresh:D}),(s,e)=>{const t=O,o=U,m=J,l=Q,u=W,v=j,S=K,R=G;return le((n(),i("div",de,[r("div",ce,[p(o,{modelValue:h.value,"onUpdate:modelValue":e[0]||(e[0]=a=>h.value=a),onChange:A},{default:d(()=>[p(t,{value:"7"},{default:d(()=>[...e[2]||(e[2]=[g("最近 7 天",-1)])]),_:1}),p(t,{value:"30"},{default:d(()=>[...e[3]||(e[3]=[g("最近 30 天",-1)])]),_:1}),p(t,{value:"custom"},{default:d(()=>[...e[4]||(e[4]=[g("自定义",-1)])]),_:1})]),_:1},8,["modelValue"]),h.value==="custom"?(n(),M(m,{key:0,modelValue:k.value,"onUpdate:modelValue":e[1]||(e[1]=a=>k.value=a),type:"daterange","value-format":"YYYY-MM-DD","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期",clearable:!1,size:"default","disabled-date":w,onChange:F},null,8,["modelValue"])):f("",!0),e[5]||(e[5]=r("span",{class:"hint"}," 超阈值红字↑(年龄分段:<50:空7/餐9,≥50:空8/餐10) ",-1))]),!T.value&&N.value.length===0?(n(),M(l,{key:0,description:"所选区间内无任何打卡记录","image-size":80})):(n(),M(S,{key:1,data:z.value,border:"",stripe:"",class:"matrix-table","empty-text":"暂无数据","row-key":"date","max-height":"640"},{default:d(()=>[p(u,{prop:"dateLabel",label:"日期",width:"120",fixed:"left"}),p(u,{label:"血糖 (mmol/L)","min-width":"180"},{default:d(({row:a})=>[a.bloodAny?(n(),i("div",ue,[r("span",{class:I({"cell-high":a.fastingHigh})},[e[6]||(e[6]=g(" 空 ",-1)),r("span",pe,c(a.fasting??"—"),1),a.fastingHigh?(n(),i("span",me,"↑")):f("",!0)],2),r("span",{class:I({"cell-high":a.postprandialHigh})},[e[7]||(e[7]=g(" 餐 ",-1)),r("span",_e,c(a.postprandial??"—"),1),a.postprandialHigh?(n(),i("span",ge,"↑")):f("",!0)],2),r("span",{class:I({"cell-high":a.otherHigh})},[e[8]||(e[8]=g(" 其他 ",-1)),r("span",fe,c(a.other??"—"),1),a.otherHigh?(n(),i("span",he,"↑")):f("",!0)],2)])):(n(),i("span",ve,"—"))]),_:1}),p(u,{label:"血压 (mmHg)",width:"120",align:"center"},{default:d(({row:a})=>[a.bp?(n(),i("span",{key:0,class:I({"cell-high":a.bpHigh})},[g(c(a.bp)+" ",1),a.bpHigh?(n(),i("span",ye,"↑")):f("",!0)],2)):(n(),i("span",ke,"—"))]),_:1}),p(u,{label:"西药","min-width":"120","show-overflow-tooltip":""},{default:d(({row:a})=>[a.westernMedicine?(n(),i("span",xe,c(a.westernMedicine),1)):(n(),i("span",be,"—"))]),_:1}),p(u,{label:"胰岛素","min-width":"120","show-overflow-tooltip":""},{default:d(({row:a})=>[a.insulin?(n(),i("span",He,c(a.insulin),1)):(n(),i("span",De,"—"))]),_:1}),p(u,{label:"饮食打卡",width:"110",align:"center"},{default:d(({row:a})=>[a.diet?(n(),M(v,{key:0,placement:"top",disabled:!a.diet,effect:"light"},{content:d(()=>[r("div",Se,[r("div",null,"早:"+c(a.diet.breakfast||"—"),1),r("div",null,"午:"+c(a.diet.lunch||"—"),1),r("div",null,"晚:"+c(a.diet.dinner||"—"),1)])]),default:d(()=>[e[9]||(e[9]=r("span",{class:"cell-checked"},"已打卡",-1))]),_:2},1032,["disabled"])):(n(),i("span",Me,"—"))]),_:1}),p(u,{label:"运动打卡","min-width":"160",align:"center"},{default:d(({row:a})=>[a.exercise?(n(),M(v,{key:0,placement:"top",effect:"light"},{content:d(()=>[r("div",Be,[r("div",null,"强度:"+c(a.exercise.intensityText||"—"),1),r("div",null,"时长:"+c(a.exercise.duration?a.exercise.duration+" min":"—"),1),a.exercise.remark?(n(),i("div",Te,"备注:"+c(a.exercise.remark),1)):f("",!0)])]),default:d(()=>[r("span",Ce,[e[10]||(e[10]=g(" 已打卡 ",-1)),a.exercise.duration?(n(),i("span",Ie,"· "+c(a.exercise.duration)+"min",1)):f("",!0),a.exercise.intensityText?(n(),i("span",Re,"· "+c(a.exercise.intensityText),1)):f("",!0)])]),_:2},1024)):(n(),i("span",Ve,"—"))]),_:1})]),_:1},8,["data"]))])),[[R,T.value]])}}}),yt=re(Ee,[["__scopeId","data-v-87978983"]]);export{yt as default}; +import{L as G,F as J,G as O,a2 as U,R as Q,N as W,r as j,M as K}from"./element-plus-DFTWCWyi.js";import{f as X,c as Z,d as ee,e as te,b as se}from"./blood-thresholds-CJ1fqMjh.js";import{J as ae}from"./tcm-BcqaE0lo.js";import{f as ne,w as oe,b as ie,aP as le,ak as n,I as i,J as r,a as p,aN as d,O as g,G as M,H as f,A as B}from"./@vue/runtime-core-C6bnekPw.js";import{o as R,Q as c}from"./@vue/shared-mAAVTE9n.js";import{n as y}from"./@vue/reactivity-DiY1c2vO.js";import{_ as re}from"./index-DBREMm_z.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const de={class:"tracking-matrix"},ce={class:"toolbar"},ue={key:0,class:"cell-blood"},pe={class:"value"},me={key:0,class:"cell-up"},_e={class:"value"},ge={key:0,class:"cell-up"},fe={class:"value"},he={key:0,class:"cell-up"},ve={key:1,class:"cell-empty"},ye={key:0,class:"cell-up"},ke={key:1,class:"cell-empty"},xe={key:0},be={key:1,class:"cell-empty"},He={key:0},De={key:1,class:"cell-empty"},Se={class:"diet-tip"},Me={key:1,class:"cell-empty"},Be={class:"exercise-tip"},Te={key:0},Ce={class:"cell-checked"},Re={key:0,class:"meta"},Ve={key:1,class:"meta"},Ee={key:1,class:"cell-empty"},Ie=ne({__name:"TrackingMatrix",props:{diagnosisId:{},age:{default:null}},setup(L,{expose:Y}){const _=L,h=y("30"),k=y(null),T=y(!1),x=y([]),b=y([]),H=y([]);let C=0;const E=s=>`${s.getFullYear()}-${String(s.getMonth()+1).padStart(2,"0")}-${String(s.getDate()).padStart(2,"0")}`,I=s=>{if(s==="custom"){const[m,l]=k.value||["",""];return{start:m||"",end:l||""}}const e=s==="7"?7:30,t=new Date;t.setHours(0,0,0,0);const o=new Date(t);return o.setDate(o.getDate()-(e-1)),{start:E(o),end:E(t)}},w=s=>s.getTime()>Date.now(),D=async()=>{if(!_.diagnosisId||_.diagnosisId<=0){x.value=[],b.value=[],H.value=[];return}const s=I(h.value);if(h.value==="custom"&&(!s.start||!s.end))return;const e=++C;T.value=!0;try{const t=await ae({id:_.diagnosisId,start_date:s.start,end_date:s.end});if(e!==C)return;x.value=(t==null?void 0:t.blood_records)||[],b.value=(t==null?void 0:t.diet_records)||[],H.value=(t==null?void 0:t.exercise_records)||[]}catch{e===C&&(x.value=[],b.value=[],H.value=[])}finally{e===C&&(T.value=!1)}},A=()=>{if(h.value==="custom"&&!k.value){const s=I("30");k.value=[s.start,s.end]}D()},F=()=>{h.value==="custom"&&D()};oe(()=>_.diagnosisId,s=>{s&&s>0&&D()}),ie(()=>{_.diagnosisId&&_.diagnosisId>0&&D()});const P=B(()=>{const s=new Map;for(const e of x.value){const t=String(e.record_date||"");if(!t)continue;s.has(t)||s.set(t,{record_date:t,record_date_ts:e.record_date_ts});const o=s.get(t),m=["fasting_blood_sugar","postprandial_blood_sugar","other_blood_sugar","systolic_pressure","diastolic_pressure","western_medicine","insulin"];for(const l of m)(o[l]===void 0||o[l]===null||o[l]==="")&&e[l]!==void 0&&e[l]!==null&&e[l]!==""&&(o[l]=e[l])}return s}),$=B(()=>{const s=new Map;for(const e of b.value){const t=String(e.record_date||"");t&&(s.has(t)||s.set(t,e))}return s}),q=B(()=>{const s=new Map;for(const e of H.value){const t=String(e.record_date||"");t&&(s.has(t)||s.set(t,e))}return s}),N=B(()=>{const s=new Set;for(const t of x.value)t.record_date&&s.add(String(t.record_date));for(const t of b.value)t.record_date&&s.add(String(t.record_date));for(const t of H.value)t.record_date&&s.add(String(t.record_date));const e=Array.from(s).filter(t=>t.length===10);return e.sort((t,o)=>to?-1:0),e}),z=B(()=>N.value.map(s=>{const e=P.value.get(s),t=$.value.get(s),o=q.value.get(s),m=(e==null?void 0:e.fasting_blood_sugar)??null,l=(e==null?void 0:e.postprandial_blood_sugar)??null,u=(e==null?void 0:e.other_blood_sugar)??null,v=(e==null?void 0:e.systolic_pressure)??null,S=(e==null?void 0:e.diastolic_pressure)??null,V=m!==null&&m!==""||l!==null&&l!==""||u!==null&&u!=="",a=v||S?X({systolic_pressure:v,diastolic_pressure:S}):"";return{date:s,dateLabel:`${s}`,bloodAny:V,fasting:m??"—",postprandial:l??"—",other:u??"—",fastingHigh:se(m,_.age),postprandialHigh:te(l,_.age),otherHigh:ee(u,_.age),bp:a,bpHigh:Z({systolic_pressure:v,diastolic_pressure:S}),westernMedicine:(e==null?void 0:e.western_medicine)||"",insulin:(e==null?void 0:e.insulin)||"",diet:t?{breakfast:t.breakfast||"",lunch:t.lunch||"",dinner:t.dinner||""}:null,exercise:o?{duration:o.duration||0,intensityText:o.intensity_text||"",remark:o.remark||""}:null}}));return Y({refresh:D}),(s,e)=>{const t=J,o=O,m=U,l=Q,u=W,v=j,S=K,V=G;return le((n(),i("div",de,[r("div",ce,[p(o,{modelValue:h.value,"onUpdate:modelValue":e[0]||(e[0]=a=>h.value=a),onChange:A},{default:d(()=>[p(t,{value:"7"},{default:d(()=>[...e[2]||(e[2]=[g("最近 7 天",-1)])]),_:1}),p(t,{value:"30"},{default:d(()=>[...e[3]||(e[3]=[g("最近 30 天",-1)])]),_:1}),p(t,{value:"custom"},{default:d(()=>[...e[4]||(e[4]=[g("自定义",-1)])]),_:1})]),_:1},8,["modelValue"]),h.value==="custom"?(n(),M(m,{key:0,modelValue:k.value,"onUpdate:modelValue":e[1]||(e[1]=a=>k.value=a),type:"daterange","value-format":"YYYY-MM-DD","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期",clearable:!1,size:"default","disabled-date":w,onChange:F},null,8,["modelValue"])):f("",!0),e[5]||(e[5]=r("span",{class:"hint"}," 超阈值红字↑(年龄分段:<50:空7/餐9,≥50:空8/餐10) ",-1))]),!T.value&&N.value.length===0?(n(),M(l,{key:0,description:"所选区间内无任何打卡记录","image-size":80})):(n(),M(S,{key:1,data:z.value,border:"",stripe:"",class:"matrix-table","empty-text":"暂无数据","row-key":"date","max-height":"640"},{default:d(()=>[p(u,{prop:"dateLabel",label:"日期",width:"120",fixed:"left"}),p(u,{label:"血糖 (mmol/L)","min-width":"180"},{default:d(({row:a})=>[a.bloodAny?(n(),i("div",ue,[r("span",{class:R({"cell-high":a.fastingHigh})},[e[6]||(e[6]=g(" 空 ",-1)),r("span",pe,c(a.fasting??"—"),1),a.fastingHigh?(n(),i("span",me,"↑")):f("",!0)],2),r("span",{class:R({"cell-high":a.postprandialHigh})},[e[7]||(e[7]=g(" 餐 ",-1)),r("span",_e,c(a.postprandial??"—"),1),a.postprandialHigh?(n(),i("span",ge,"↑")):f("",!0)],2),r("span",{class:R({"cell-high":a.otherHigh})},[e[8]||(e[8]=g(" 其他 ",-1)),r("span",fe,c(a.other??"—"),1),a.otherHigh?(n(),i("span",he,"↑")):f("",!0)],2)])):(n(),i("span",ve,"—"))]),_:1}),p(u,{label:"血压 (mmHg)",width:"120",align:"center"},{default:d(({row:a})=>[a.bp?(n(),i("span",{key:0,class:R({"cell-high":a.bpHigh})},[g(c(a.bp)+" ",1),a.bpHigh?(n(),i("span",ye,"↑")):f("",!0)],2)):(n(),i("span",ke,"—"))]),_:1}),p(u,{label:"西药","min-width":"120","show-overflow-tooltip":""},{default:d(({row:a})=>[a.westernMedicine?(n(),i("span",xe,c(a.westernMedicine),1)):(n(),i("span",be,"—"))]),_:1}),p(u,{label:"胰岛素","min-width":"120","show-overflow-tooltip":""},{default:d(({row:a})=>[a.insulin?(n(),i("span",He,c(a.insulin),1)):(n(),i("span",De,"—"))]),_:1}),p(u,{label:"饮食打卡",width:"110",align:"center"},{default:d(({row:a})=>[a.diet?(n(),M(v,{key:0,placement:"top",disabled:!a.diet,effect:"light"},{content:d(()=>[r("div",Se,[r("div",null,"早:"+c(a.diet.breakfast||"—"),1),r("div",null,"午:"+c(a.diet.lunch||"—"),1),r("div",null,"晚:"+c(a.diet.dinner||"—"),1)])]),default:d(()=>[e[9]||(e[9]=r("span",{class:"cell-checked"},"已打卡",-1))]),_:2},1032,["disabled"])):(n(),i("span",Me,"—"))]),_:1}),p(u,{label:"运动打卡","min-width":"160",align:"center"},{default:d(({row:a})=>[a.exercise?(n(),M(v,{key:0,placement:"top",effect:"light"},{content:d(()=>[r("div",Be,[r("div",null,"强度:"+c(a.exercise.intensityText||"—"),1),r("div",null,"时长:"+c(a.exercise.duration?a.exercise.duration+" min":"—"),1),a.exercise.remark?(n(),i("div",Te,"备注:"+c(a.exercise.remark),1)):f("",!0)])]),default:d(()=>[r("span",Ce,[e[10]||(e[10]=g(" 已打卡 ",-1)),a.exercise.duration?(n(),i("span",Re,"· "+c(a.exercise.duration)+"min",1)):f("",!0),a.exercise.intensityText?(n(),i("span",Ve,"· "+c(a.exercise.intensityText),1)):f("",!0)])]),_:2},1024)):(n(),i("span",Ee,"—"))]),_:1})]),_:1},8,["data"]))])),[[V,T.value]])}}}),yt=re(Ie,[["__scopeId","data-v-87978983"]]);export{yt as default}; diff --git a/server/public/admin/assets/TrackingNoteTimeline-qSUYMPQm.js b/server/public/admin/assets/TrackingNoteTimeline-DmUVTWFb.js similarity index 90% rename from server/public/admin/assets/TrackingNoteTimeline-qSUYMPQm.js rename to server/public/admin/assets/TrackingNoteTimeline-DmUVTWFb.js index 9b379dba..832dbb9e 100644 --- a/server/public/admin/assets/TrackingNoteTimeline-qSUYMPQm.js +++ b/server/public/admin/assets/TrackingNoteTimeline-DmUVTWFb.js @@ -1,2 +1,2 @@ -import{C as I,i as V,R as w}from"./element-plus-0wC3naml.js";import{Q as T}from"./tcm-SLIwsL8z.js";import{i as C,_ as E}from"./index-E47--KT7.js";import{f as z,ak as t,I as e,a as p,J as l,aN as H,O as S,H as m,F as c,ap as u,G as F}from"./@vue/runtime-core-C6bnekPw.js";import{Q as f}from"./@vue/shared-mAAVTE9n.js";import{n as g}from"./@vue/reactivity-DiY1c2vO.js";/* empty css */import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const L={class:"tracking-timeline-wrap"},M={key:0,class:"timeline-input"},Q={class:"input-actions"},A={key:1,class:"tracking-timeline"},D={class:"timeline-date"},G={class:"timeline-body"},J={key:0,class:"timeline-content"},O=z({__name:"TrackingNoteTimeline",props:{notes:{},diagnosisId:{},readonly:{type:Boolean}},emits:["refresh"],setup(i,{emit:v}){const d=i,y=v,r=g(""),a=g(!1),_=o=>o?o.split(` -`).filter(Boolean):[],k=async()=>{if(!d.diagnosisId)return;const o=r.value.trim();if(o){a.value=!0;try{await T({diagnosis_id:d.diagnosisId,tracking_content:o}),C.msgSuccess("已添加"),r.value="",y("refresh")}finally{a.value=!1}}};return(o,n)=>{const h=I,b=V,N=w;return t(),e("div",L,[!i.readonly&&i.diagnosisId?(t(),e("div",M,[p(h,{modelValue:r.value,"onUpdate:modelValue":n[0]||(n[0]=s=>r.value=s),type:"textarea",rows:2,placeholder:"输入跟踪备注,回车换行;保存后将以「[HH:MM] 内容」追加到当天记录",maxlength:"1000","show-word-limit":"",resize:"none",disabled:a.value},null,8,["modelValue","disabled"]),l("div",Q,[p(b,{type:"primary",size:"small",loading:a.value,disabled:!r.value.trim(),onClick:k},{default:H(()=>[...n[1]||(n[1]=[S(" 添加 ",-1)])]),_:1},8,["loading","disabled"])])])):m("",!0),i.notes.length?(t(),e("div",A,[(t(!0),e(c,null,u(i.notes,s=>(t(),e("div",{key:s.id,class:"timeline-node"},[n[2]||(n[2]=l("div",{class:"timeline-dot"},null,-1)),l("div",D,f(s.note_date),1),l("div",G,[s.content?(t(),e("div",J,[(t(!0),e(c,null,u(_(s.content),(x,B)=>(t(),e("div",{key:B,class:"content-line"},f(x),1))),128))])):m("",!0)])]))),128))])):m("",!0),!i.notes.length&&i.readonly?(t(),F(N,{key:2,description:"暂无跟踪备注","image-size":48})):m("",!0)])}}}),Tt=E(O,[["__scopeId","data-v-82b635bd"]]);export{Tt as default}; +import{C as I,i as V,R as w}from"./element-plus-DFTWCWyi.js";import{R as T}from"./tcm-BcqaE0lo.js";import{i as C,_ as E}from"./index-DBREMm_z.js";import{f as z,ak as t,I as e,a as p,J as l,aN as H,O as S,H as m,F as c,ap as u,G as F}from"./@vue/runtime-core-C6bnekPw.js";import{Q as f}from"./@vue/shared-mAAVTE9n.js";import{n as g}from"./@vue/reactivity-DiY1c2vO.js";/* empty css */import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const L={class:"tracking-timeline-wrap"},M={key:0,class:"timeline-input"},R={class:"input-actions"},A={key:1,class:"tracking-timeline"},D={class:"timeline-date"},G={class:"timeline-body"},J={key:0,class:"timeline-content"},O=z({__name:"TrackingNoteTimeline",props:{notes:{},diagnosisId:{},readonly:{type:Boolean}},emits:["refresh"],setup(i,{emit:v}){const d=i,y=v,r=g(""),a=g(!1),_=o=>o?o.split(` +`).filter(Boolean):[],k=async()=>{if(!d.diagnosisId)return;const o=r.value.trim();if(o){a.value=!0;try{await T({diagnosis_id:d.diagnosisId,tracking_content:o}),C.msgSuccess("已添加"),r.value="",y("refresh")}finally{a.value=!1}}};return(o,n)=>{const h=I,b=V,N=w;return t(),e("div",L,[!i.readonly&&i.diagnosisId?(t(),e("div",M,[p(h,{modelValue:r.value,"onUpdate:modelValue":n[0]||(n[0]=s=>r.value=s),type:"textarea",rows:2,placeholder:"输入跟踪备注,回车换行;保存后将以「[HH:MM] 内容」追加到当天记录",maxlength:"1000","show-word-limit":"",resize:"none",disabled:a.value},null,8,["modelValue","disabled"]),l("div",R,[p(b,{type:"primary",size:"small",loading:a.value,disabled:!r.value.trim(),onClick:k},{default:H(()=>[...n[1]||(n[1]=[S(" 添加 ",-1)])]),_:1},8,["loading","disabled"])])])):m("",!0),i.notes.length?(t(),e("div",A,[(t(!0),e(c,null,u(i.notes,s=>(t(),e("div",{key:s.id,class:"timeline-node"},[n[2]||(n[2]=l("div",{class:"timeline-dot"},null,-1)),l("div",D,f(s.note_date),1),l("div",G,[s.content?(t(),e("div",J,[(t(!0),e(c,null,u(_(s.content),(x,B)=>(t(),e("div",{key:B,class:"content-line"},f(x),1))),128))])):m("",!0)])]))),128))])):m("",!0),!i.notes.length&&i.readonly?(t(),F(N,{key:2,description:"暂无跟踪备注","image-size":48})):m("",!0)])}}}),Tt=E(O,[["__scopeId","data-v-82b635bd"]]);export{Tt as default}; diff --git a/server/public/admin/assets/account-adjust-Dqh1AEa3.js b/server/public/admin/assets/account-adjust-fW1njHts.js similarity index 86% rename from server/public/admin/assets/account-adjust-Dqh1AEa3.js rename to server/public/admin/assets/account-adjust-fW1njHts.js index 652419e0..335d1dce 100644 --- a/server/public/admin/assets/account-adjust-Dqh1AEa3.js +++ b/server/public/admin/assets/account-adjust-fW1njHts.js @@ -1 +1 @@ -import{_ as o}from"./account-adjust.vue_vue_type_script_setup_true_lang-Bsqxx3M3.js";import"./element-plus-0wC3naml.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-nymJKQXP.js";import"./index-E47--KT7.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";export{o as default}; +import{_ as o}from"./account-adjust.vue_vue_type_script_setup_true_lang-DxyP7JSE.js";import"./element-plus-DFTWCWyi.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-BwF7vczx.js";import"./index-DBREMm_z.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";export{o as default}; diff --git a/server/public/admin/assets/account-adjust.vue_vue_type_script_setup_true_lang-Bsqxx3M3.js b/server/public/admin/assets/account-adjust.vue_vue_type_script_setup_true_lang-DxyP7JSE.js similarity index 91% rename from server/public/admin/assets/account-adjust.vue_vue_type_script_setup_true_lang-Bsqxx3M3.js rename to server/public/admin/assets/account-adjust.vue_vue_type_script_setup_true_lang-DxyP7JSE.js index eaa55ab0..3c20b1c3 100644 --- a/server/public/admin/assets/account-adjust.vue_vue_type_script_setup_true_lang-Bsqxx3M3.js +++ b/server/public/admin/assets/account-adjust.vue_vue_type_script_setup_true_lang-DxyP7JSE.js @@ -1 +1 @@ -import{D as h,B as q,G as B,I,C as D}from"./element-plus-0wC3naml.js";import{_ as F}from"./index-nymJKQXP.js";import{i as b}from"./index-E47--KT7.js";import{f as G,w,ak as j,G as S,aN as r,J as U,a,O as u,A}from"./@vue/runtime-core-C6bnekPw.js";import{y as n,q as y,r as J}from"./@vue/reactivity-DiY1c2vO.js";import{Q as k}from"./@vue/shared-mAAVTE9n.js";const M={class:"pr-8"},L=G({__name:"account-adjust",props:{show:{type:Boolean,required:!0},value:{type:[Number,String],required:!0}},emits:["update:show","confirm"],setup(d,{emit:V}){const s=y(),i=d,f=V,o=J({action:1,num:"",remark:""}),m=y(),c=A(()=>Number(i.value)+Number(o.num)*(o.action==1?1:-1)),R={num:[{required:!0,message:"请输入调整的金额"}]},g=e=>{if(e.includes("-"))return b.msgError("请输入正整数");o.num=e},x=async()=>{var e;await((e=s.value)==null?void 0:e.validate()),f("confirm",o)},C=()=>{var e;f("update:show",!1),(e=s.value)==null||e.resetFields()};return w(()=>i.show,e=>{var t,l;e?(t=m.value)==null||t.open():(l=m.value)==null||l.close()}),w(c,e=>{e<0&&(b.msgError("调整后余额需大于0"),o.num="")}),(e,t)=>{const l=q,_=I,E=B,v=D,N=h;return j(),S(F,{ref_key:"popupRef",ref:m,title:"余额调整",width:"500px",onConfirm:x,async:!0,onClose:C},{default:r(()=>[U("div",M,[a(N,{ref_key:"formRef",ref:s,model:n(o),"label-width":"120px",rules:R},{default:r(()=>[a(l,{label:"当前余额"},{default:r(()=>[u("¥ "+k(d.value),1)]),_:1}),a(l,{label:"余额增减",required:"",prop:"action"},{default:r(()=>[a(E,{modelValue:n(o).action,"onUpdate:modelValue":t[0]||(t[0]=p=>n(o).action=p)},{default:r(()=>[a(_,{value:1},{default:r(()=>[...t[2]||(t[2]=[u("增加余额",-1)])]),_:1}),a(_,{value:2},{default:r(()=>[...t[3]||(t[3]=[u("扣减余额",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(l,{label:"调整余额",prop:"num"},{default:r(()=>[a(v,{"model-value":n(o).num,placeholder:"请输入调整的金额",type:"number",onInput:g},null,8,["model-value"])]),_:1}),a(l,{label:"调整后余额"},{default:r(()=>[u(" ¥ "+k(n(c)),1)]),_:1}),a(l,{label:"备注",prop:"remark"},{default:r(()=>[a(v,{modelValue:n(o).remark,"onUpdate:modelValue":t[1]||(t[1]=p=>n(o).remark=p),type:"textarea",rows:4},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])])]),_:1},512)}}});export{L as _}; +import{D as h,B as q,G as B,I,C as D}from"./element-plus-DFTWCWyi.js";import{_ as F}from"./index-BwF7vczx.js";import{i as b}from"./index-DBREMm_z.js";import{f as G,w,ak as j,G as S,aN as r,J as U,a,O as u,A}from"./@vue/runtime-core-C6bnekPw.js";import{y as n,q as y,r as J}from"./@vue/reactivity-DiY1c2vO.js";import{Q as k}from"./@vue/shared-mAAVTE9n.js";const M={class:"pr-8"},L=G({__name:"account-adjust",props:{show:{type:Boolean,required:!0},value:{type:[Number,String],required:!0}},emits:["update:show","confirm"],setup(d,{emit:V}){const s=y(),i=d,f=V,o=J({action:1,num:"",remark:""}),m=y(),c=A(()=>Number(i.value)+Number(o.num)*(o.action==1?1:-1)),R={num:[{required:!0,message:"请输入调整的金额"}]},g=e=>{if(e.includes("-"))return b.msgError("请输入正整数");o.num=e},x=async()=>{var e;await((e=s.value)==null?void 0:e.validate()),f("confirm",o)},C=()=>{var e;f("update:show",!1),(e=s.value)==null||e.resetFields()};return w(()=>i.show,e=>{var t,l;e?(t=m.value)==null||t.open():(l=m.value)==null||l.close()}),w(c,e=>{e<0&&(b.msgError("调整后余额需大于0"),o.num="")}),(e,t)=>{const l=q,_=I,E=B,v=D,N=h;return j(),S(F,{ref_key:"popupRef",ref:m,title:"余额调整",width:"500px",onConfirm:x,async:!0,onClose:C},{default:r(()=>[U("div",M,[a(N,{ref_key:"formRef",ref:s,model:n(o),"label-width":"120px",rules:R},{default:r(()=>[a(l,{label:"当前余额"},{default:r(()=>[u("¥ "+k(d.value),1)]),_:1}),a(l,{label:"余额增减",required:"",prop:"action"},{default:r(()=>[a(E,{modelValue:n(o).action,"onUpdate:modelValue":t[0]||(t[0]=p=>n(o).action=p)},{default:r(()=>[a(_,{value:1},{default:r(()=>[...t[2]||(t[2]=[u("增加余额",-1)])]),_:1}),a(_,{value:2},{default:r(()=>[...t[3]||(t[3]=[u("扣减余额",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(l,{label:"调整余额",prop:"num"},{default:r(()=>[a(v,{"model-value":n(o).num,placeholder:"请输入调整的金额",type:"number",onInput:g},null,8,["model-value"])]),_:1}),a(l,{label:"调整后余额"},{default:r(()=>[u(" ¥ "+k(n(c)),1)]),_:1}),a(l,{label:"备注",prop:"remark"},{default:r(()=>[a(v,{modelValue:n(o).remark,"onUpdate:modelValue":t[1]||(t[1]=p=>n(o).remark=p),type:"textarea",rows:4},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])])]),_:1},512)}}});export{L as _}; diff --git a/server/public/admin/assets/add-DDFfGjpS.js b/server/public/admin/assets/add-BbPxW38e.js similarity index 90% rename from server/public/admin/assets/add-DDFfGjpS.js rename to server/public/admin/assets/add-BbPxW38e.js index c87ffb08..62961f6a 100644 --- a/server/public/admin/assets/add-DDFfGjpS.js +++ b/server/public/admin/assets/add-BbPxW38e.js @@ -1 +1 @@ -import{d as pe,i as me,B as _e,C as fe,G as ye,I as ge,h as be,a2 as Ve,P as ve,Q as ce,ae as ke,al as we,F as Ue,D as xe,E as le}from"./element-plus-0wC3naml.js";import{W as ae,X as Ee,Y as Oe,Z as qe,_ as Be}from"./tcm-SLIwsL8z.js";import{m as b,i as oe,_ as De}from"./index-E47--KT7.js";import{a as Ce,u as Ie}from"./vue-router-QlpZ4wdW.js";import{o as Se}from"./@element-plus/icons-vue-HOEUG8sr.js";import{f as Re,b as Pe,ae as Ne,ak as u,I as f,J as _,a,aN as t,O as s,F as V,ap as v,G as c,A as Fe}from"./@vue/runtime-core-C6bnekPw.js";import{y as o,n as p}from"./@vue/reactivity-DiY1c2vO.js";import{Q as w}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Ye={class:"diagnosis-page"},Ge={class:"page-header"},Le={class:"page-title"},Me={class:"page-content"},$e={class:"form-section"},Te={class:"form-section"},Xe={class:"form-section"},Ae={class:"form-section"},He={class:"form-section"},Qe={class:"form-section"},Je={class:"form-section"},We={class:"form-section"},Ze={class:"page-footer"},he=Re({__name:"add",setup(je){const P=Ce(),te=Ie(),N=p(),I=p("add"),S=p(!1),de=Fe(()=>I.value==="add"?"新增诊单":"编辑诊单"),d=p({id:"",patient_id:"",patient_name:"",id_card:"",phone:"",gender:1,age:void 0,diagnosis_date:"",diagnosis_type:"",syndrome_type:"",diabetes_type:"",diabetes_discovery_year:"",local_hospital_diagnosis:[],local_hospital_name:"",marital_status:void 0,height:void 0,weight:void 0,region:"",systolic_pressure:void 0,diastolic_pressure:void 0,fasting_blood_sugar:"",appetite:"",water_intake:"",diet_condition:[],weight_change:"",body_feeling:[],sleep_condition:[],eye_condition:[],head_feeling:[],sweat_condition:[],skin_condition:[],urine_condition:[],stool_condition:[],kidney_condition:[],fatty_liver_degree:"",past_history:[],trauma_history:0,surgery_history:0,allergy_history:0,family_history:0,pregnancy_history:0,symptoms:"",tongue_coating:"",pulse:"",treatment_principle:"",prescription:"",doctor_advice:"",remark:"",current_medications:"",status:1}),ne={patient_name:[{required:!0,message:"请输入患者姓名",trigger:"blur"}],id_card:[{validator:(r,e,i)=>{if(e&&!/^[1-9]\d{5}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dXx]$/.test(e)){i(new Error("身份证号格式不正确"));return}i()},trigger:"blur"}],phone:[{required:!0,validator:(r,e,i)=>{if(!e){i(new Error("请输入手机号"));return}if(!/^1[3-9]\d{9}$/.test(e)){i(new Error("手机号格式不正确"));return}i()},trigger:"blur"}],gender:[{required:!0,message:"请选择性别",trigger:"change"}],age:[{required:!0,message:"请输入年龄",trigger:"blur"}],diagnosis_type:[{required:!0,message:"请选择诊断类型",trigger:"change"}],syndrome_type:[{required:!0,message:"请选择证型",trigger:"change"}],diabetes_type:[{required:!0,message:"请选择糖尿病期数",trigger:"change"}],diabetes_discovery_year:[{max:50,message:"最多50个字符",trigger:"blur"}]},F=p([]),Y=p([]),G=p([]),L=p([]),M=p([]),$=p([]),T=p([]),X=p([]),A=p([]),H=p([]),Q=p([]),J=p([]),W=p([]),Z=p([]),h=p([]),j=p([]),z=p([]),K=p([]),ue=async()=>{try{const[r,e,i,x,m,n,y,U,O,D,E,q,g,k,B,C,l,R]=await Promise.all([b({type:"diagnosis_type"}),b({type:"syndrome_type"}),b({type:"diabetes_type"}),b({type:"past_history"}),b({type:"appetite"}),b({type:"water_intake"}),b({type:"diet_condition"}),b({type:"weight_change"}),b({type:"body_feeling"}),b({type:"sleep_condition"}),b({type:"eye_condition"}),b({type:"head_feeling"}),b({type:"sweat_condition"}),b({type:"skin_condition"}),b({type:"urine_condition"}),b({type:"stool_condition"}),b({type:"kidney_condition"}),b({type:"fatty_liver_degree"})]);F.value=(r==null?void 0:r.diagnosis_type)||[],Y.value=(e==null?void 0:e.syndrome_type)||[],G.value=(i==null?void 0:i.diabetes_type)||[],L.value=(x==null?void 0:x.past_history)||[],M.value=(m==null?void 0:m.appetite)||[],$.value=(n==null?void 0:n.water_intake)||[],T.value=(y==null?void 0:y.diet_condition)||[],X.value=(U==null?void 0:U.weight_change)||[],A.value=(O==null?void 0:O.body_feeling)||[],H.value=(D==null?void 0:D.sleep_condition)||[],Q.value=(E==null?void 0:E.eye_condition)||[],J.value=(q==null?void 0:q.head_feeling)||[],W.value=(g==null?void 0:g.sweat_condition)||[],Z.value=(k==null?void 0:k.skin_condition)||[],h.value=(B==null?void 0:B.urine_condition)||[],j.value=(C==null?void 0:C.stool_condition)||[],z.value=(l==null?void 0:l.kidney_condition)||[],K.value=(R==null?void 0:R.fatty_liver_degree)||[]}catch(r){console.error("获取字典数据失败:",r)}},se=async()=>{if(!(!d.value.phone||!/^1[3-9]\d{9}$/.test(d.value.phone)))try{const r=await Ee({phone:d.value.phone,id:d.value.id||""});r.exists&&le.warning(r.message)}catch(r){console.error("检查手机号失败:",r)}},re=async()=>{if(!(!d.value.id_card||!/^[1-9]\d{5}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dXx]$/.test(d.value.id_card)))try{const r=await Oe({id_card:d.value.id_card,id:d.value.id||""});r.exists&&le.warning(r.message)}catch(r){console.error("检查身份证号失败:",r)}},ie=async()=>{var r;await((r=N.value)==null?void 0:r.validate()),S.value=!0;try{if(I.value==="add"){const e=await qe(d.value);if(oe.msgSuccess("新增成功"),e&&e.id){I.value="edit",d.value.id=e.id;try{const i=await ae({id:e.id});d.value.patient_id=i.patient_id}catch(i){console.error("获取详情失败:",i)}P.replace({query:{id:e.id}})}}else await Be(d.value),oe.msgSuccess("编辑成功")}catch(e){console.error("提交失败:",e)}finally{S.value=!1}},ee=()=>{P.back()};return Pe(async()=>{await ue(),setTimeout(()=>{const e=document.querySelector(".el-aside");e&&(e.style.display="none");const i=document.querySelector(".el-main");i&&(i.style.width="100%"(i).style.marginLeft="0");const x=document.querySelector(".el-container");x&&(x.style.width="100%")},100);const r=te.query.id;if(r){I.value="edit";const e=await ae({id:Number(r)});d.value=e}}),Ne(()=>{const r=document.querySelector(".el-aside");r&&(r.style.display="");const e=document.querySelector(".el-main");e&&(e.style.width=""(e).style.marginLeft="");const i=document.querySelector(".el-container");i&&(i.style.width="")}),(r,e)=>{const i=pe,x=me,m=fe,n=_e,y=ge,U=ye,O=be,D=Ve,E=ce,q=ve,g=we,k=ke,B=Ue,C=xe;return u(),f("div",Ye,[_("div",Ge,[a(x,{link:"",onClick:ee,class:"back-btn"},{default:t(()=>[a(i,null,{default:t(()=>[a(o(Se))]),_:1}),e[49]||(e[49]=s(" 返回 ",-1))]),_:1}),_("h1",Le,w(o(de)),1)]),_("div",Me,[a(C,{ref_key:"formRef",ref:N,model:o(d),rules:ne,"label-width":"auto",class:"diagnosis-form"},{default:t(()=>[_("div",$e,[e[52]||(e[52]=_("div",{class:"section-title"},"基本信息",-1)),a(n,{label:"患者ID"},{default:t(()=>[a(m,{modelValue:o(d).patient_id,"onUpdate:modelValue":e[0]||(e[0]=l=>o(d).patient_id=l),disabled:"",placeholder:"系统自动生成"},null,8,["modelValue"])]),_:1}),a(n,{label:"患者姓名",prop:"patient_name"},{default:t(()=>[a(m,{modelValue:o(d).patient_name,"onUpdate:modelValue":e[1]||(e[1]=l=>o(d).patient_name=l),placeholder:"请输入患者姓名"},null,8,["modelValue"])]),_:1}),a(n,{label:"身份证号",prop:"id_card"},{default:t(()=>[a(m,{modelValue:o(d).id_card,"onUpdate:modelValue":e[2]||(e[2]=l=>o(d).id_card=l),placeholder:"请输入身份证号",maxlength:"18",onBlur:re},null,8,["modelValue"])]),_:1}),a(n,{label:"手机号",prop:"phone"},{default:t(()=>[a(m,{modelValue:o(d).phone,"onUpdate:modelValue":e[3]||(e[3]=l=>o(d).phone=l),placeholder:"请输入手机号",maxlength:"11",onBlur:se},null,8,["modelValue"])]),_:1}),a(n,{label:"性别",prop:"gender"},{default:t(()=>[a(U,{modelValue:o(d).gender,"onUpdate:modelValue":e[4]||(e[4]=l=>o(d).gender=l)},{default:t(()=>[a(y,{label:1},{default:t(()=>[...e[50]||(e[50]=[s("男",-1)])]),_:1}),a(y,{label:0},{default:t(()=>[...e[51]||(e[51]=[s("女",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"年龄",prop:"age"},{default:t(()=>[a(O,{modelValue:o(d).age,"onUpdate:modelValue":e[5]||(e[5]=l=>o(d).age=l),min:0,max:150,placeholder:"请输入年龄",class:"w-full"},null,8,["modelValue"])]),_:1}),a(n,{label:"诊断日期",prop:"diagnosis_date"},{default:t(()=>[a(D,{modelValue:o(d).diagnosis_date,"onUpdate:modelValue":e[6]||(e[6]=l=>o(d).diagnosis_date=l),type:"date",placeholder:"请选择诊断日期","value-format":"YYYY-MM-DD",class:"w-full"},null,8,["modelValue"])]),_:1})]),_("div",Te,[e[53]||(e[53]=_("div",{class:"section-title"},"生命体征",-1)),a(n,{label:"婚姻状态",prop:"marital_status"},{default:t(()=>[a(q,{modelValue:o(d).marital_status,"onUpdate:modelValue":e[7]||(e[7]=l=>o(d).marital_status=l),placeholder:"请选择婚姻状态",class:"w-full"},{default:t(()=>[a(E,{label:"未婚",value:0}),a(E,{label:"已婚",value:1}),a(E,{label:"离异",value:2})]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"身高(cm)",prop:"height"},{default:t(()=>[a(O,{modelValue:o(d).height,"onUpdate:modelValue":e[8]||(e[8]=l=>o(d).height=l),min:0,max:300,placeholder:"请输入身高",class:"w-full"},null,8,["modelValue"])]),_:1}),a(n,{label:"体重(kg)",prop:"weight"},{default:t(()=>[a(O,{modelValue:o(d).weight,"onUpdate:modelValue":e[9]||(e[9]=l=>o(d).weight=l),min:0,max:500,step:.1,placeholder:"请输入体重",class:"w-full"},null,8,["modelValue"])]),_:1}),a(n,{label:"地区",prop:"region"},{default:t(()=>[a(m,{modelValue:o(d).region,"onUpdate:modelValue":e[10]||(e[10]=l=>o(d).region=l),placeholder:"请输入地区"},null,8,["modelValue"])]),_:1}),a(n,{label:"收缩压(mmHg)",prop:"systolic_pressure"},{default:t(()=>[a(O,{modelValue:o(d).systolic_pressure,"onUpdate:modelValue":e[11]||(e[11]=l=>o(d).systolic_pressure=l),min:0,max:250,placeholder:"请输入收缩压",class:"w-full"},null,8,["modelValue"])]),_:1}),a(n,{label:"舒张压(mmHg)",prop:"diastolic_pressure"},{default:t(()=>[a(O,{modelValue:o(d).diastolic_pressure,"onUpdate:modelValue":e[12]||(e[12]=l=>o(d).diastolic_pressure=l),min:0,max:150,placeholder:"请输入舒张压",class:"w-full"},null,8,["modelValue"])]),_:1}),a(n,{label:"空腹血糖(mmol/L)",prop:"fasting_blood_sugar"},{default:t(()=>[a(m,{modelValue:o(d).fasting_blood_sugar,"onUpdate:modelValue":e[13]||(e[13]=l=>o(d).fasting_blood_sugar=l),placeholder:"请输入空腹血糖,如:8.5 或 8-9",maxlength:"20",class:"w-full"},null,8,["modelValue"])]),_:1})]),_("div",Xe,[e[56]||(e[56]=_("div",{class:"section-title"},"诊断信息",-1)),a(n,{label:"诊断类型",prop:"diagnosis_type"},{default:t(()=>[a(q,{modelValue:o(d).diagnosis_type,"onUpdate:modelValue":e[14]||(e[14]=l=>o(d).diagnosis_type=l),placeholder:"请选择诊断类型",class:"w-full"},{default:t(()=>[(u(!0),f(V,null,v(o(F),l=>(u(),c(E,{key:l.value,label:l.name,value:l.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"证型",prop:"syndrome_type"},{default:t(()=>[a(q,{modelValue:o(d).syndrome_type,"onUpdate:modelValue":e[15]||(e[15]=l=>o(d).syndrome_type=l),placeholder:"请选择证型",class:"w-full"},{default:t(()=>[(u(!0),f(V,null,v(o(Y),l=>(u(),c(E,{key:l.value,label:l.name,value:l.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"糖尿病期数",prop:"diabetes_type"},{default:t(()=>[a(q,{modelValue:o(d).diabetes_type,"onUpdate:modelValue":e[16]||(e[16]=l=>o(d).diabetes_type=l),placeholder:"请选择糖尿病期数",class:"w-full"},{default:t(()=>[(u(!0),f(V,null,v(o(G),l=>(u(),c(E,{key:l.value,label:l.name+(l.remark?" ("+l.remark+")":""),value:l.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"状态",prop:"status"},{default:t(()=>[a(U,{modelValue:o(d).status,"onUpdate:modelValue":e[17]||(e[17]=l=>o(d).status=l)},{default:t(()=>[a(y,{label:1},{default:t(()=>[...e[54]||(e[54]=[s("启用",-1)])]),_:1}),a(y,{label:0},{default:t(()=>[...e[55]||(e[55]=[s("禁用",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"在用药物",prop:"current_medications"},{default:t(()=>[a(m,{modelValue:o(d).current_medications,"onUpdate:modelValue":e[18]||(e[18]=l=>o(d).current_medications=l),type:"textarea",rows:3,placeholder:"请填写患者当前正在使用的药物(如降压药、降糖药等),多种请换行或顿号分隔",maxlength:"2000","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_("div",Ae,[e[60]||(e[60]=_("div",{class:"section-title"},"主诉",-1)),a(n,{label:"发现糖尿病就患病史",prop:"diabetes_discovery_year"},{default:t(()=>[a(m,{modelValue:o(d).diabetes_discovery_year,"onUpdate:modelValue":e[19]||(e[19]=l=>o(d).diabetes_discovery_year=l),clearable:"",maxlength:"50","show-word-limit":"",placeholder:"可填数字或文字,如:5、1年、半年",class:"w-full"},null,8,["modelValue"])]),_:1}),a(n,{label:"当地医院诊断结果"},{default:t(()=>[a(k,{modelValue:o(d).local_hospital_diagnosis,"onUpdate:modelValue":e[20]||(e[20]=l=>o(d).local_hospital_diagnosis=l),class:"checkbox-group"},{default:t(()=>[a(g,{label:"糖尿病"},{default:t(()=>[...e[57]||(e[57]=[s("糖尿病",-1)])]),_:1}),a(g,{label:"高血压"},{default:t(()=>[...e[58]||(e[58]=[s("高血压",-1)])]),_:1}),a(g,{label:"糖尿病高血压"},{default:t(()=>[...e[59]||(e[59]=[s("糖尿病高血压",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"当地就诊医院名称",prop:"local_hospital_name"},{default:t(()=>[a(m,{modelValue:o(d).local_hospital_name,"onUpdate:modelValue":e[21]||(e[21]=l=>o(d).local_hospital_name=l),placeholder:"请输入当地就诊医院名称(不能填写当地、本地、互联网等关键词)"},null,8,["modelValue"])]),_:1})]),_("div",He,[e[61]||(e[61]=_("div",{class:"section-title"},"现病史",-1)),a(n,{label:"口腔感觉"},{default:t(()=>[a(U,{modelValue:o(d).appetite,"onUpdate:modelValue":e[22]||(e[22]=l=>o(d).appetite=l),class:"radio-group"},{default:t(()=>[(u(!0),f(V,null,v(o(M),l=>(u(),c(B,{key:l.value,label:l.value},{default:t(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"每日饮水量"},{default:t(()=>[a(U,{modelValue:o(d).water_intake,"onUpdate:modelValue":e[23]||(e[23]=l=>o(d).water_intake=l),class:"radio-group"},{default:t(()=>[(u(!0),f(V,null,v(o($),l=>(u(),c(B,{key:l.value,label:l.value},{default:t(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"近一个月体重变化"},{default:t(()=>[a(U,{modelValue:o(d).weight_change,"onUpdate:modelValue":e[24]||(e[24]=l=>o(d).weight_change=l),class:"radio-group"},{default:t(()=>[(u(!0),f(V,null,v(o(X),l=>(u(),c(B,{key:l.value,label:l.value},{default:t(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"脂肪肝程度"},{default:t(()=>[a(U,{modelValue:o(d).fatty_liver_degree,"onUpdate:modelValue":e[25]||(e[25]=l=>o(d).fatty_liver_degree=l),class:"radio-group"},{default:t(()=>[(u(!0),f(V,null,v(o(K),l=>(u(),c(B,{key:l.value,label:l.value},{default:t(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"饮食情况"},{default:t(()=>[a(k,{modelValue:o(d).diet_condition,"onUpdate:modelValue":e[26]||(e[26]=l=>o(d).diet_condition=l),class:"checkbox-group"},{default:t(()=>[(u(!0),f(V,null,v(o(T),l=>(u(),c(g,{key:l.value,label:l.value},{default:t(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"肢体感觉"},{default:t(()=>[a(k,{modelValue:o(d).body_feeling,"onUpdate:modelValue":e[27]||(e[27]=l=>o(d).body_feeling=l),class:"checkbox-group"},{default:t(()=>[(u(!0),f(V,null,v(o(A),l=>(u(),c(g,{key:l.value,label:l.value},{default:t(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"睡眠情况"},{default:t(()=>[a(k,{modelValue:o(d).sleep_condition,"onUpdate:modelValue":e[28]||(e[28]=l=>o(d).sleep_condition=l),class:"checkbox-group"},{default:t(()=>[(u(!0),f(V,null,v(o(H),l=>(u(),c(g,{key:l.value,label:l.value},{default:t(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"眼睛情况"},{default:t(()=>[a(k,{modelValue:o(d).eye_condition,"onUpdate:modelValue":e[29]||(e[29]=l=>o(d).eye_condition=l),class:"checkbox-group"},{default:t(()=>[(u(!0),f(V,null,v(o(Q),l=>(u(),c(g,{key:l.value,label:l.value},{default:t(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"头部感觉"},{default:t(()=>[a(k,{modelValue:o(d).head_feeling,"onUpdate:modelValue":e[30]||(e[30]=l=>o(d).head_feeling=l),class:"checkbox-group"},{default:t(()=>[(u(!0),f(V,null,v(o(J),l=>(u(),c(g,{key:l.value,label:l.value},{default:t(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"出汗情况"},{default:t(()=>[a(k,{modelValue:o(d).sweat_condition,"onUpdate:modelValue":e[31]||(e[31]=l=>o(d).sweat_condition=l),class:"checkbox-group"},{default:t(()=>[(u(!0),f(V,null,v(o(W),l=>(u(),c(g,{key:l.value,label:l.value},{default:t(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"皮肤情况"},{default:t(()=>[a(k,{modelValue:o(d).skin_condition,"onUpdate:modelValue":e[32]||(e[32]=l=>o(d).skin_condition=l),class:"checkbox-group"},{default:t(()=>[(u(!0),f(V,null,v(o(Z),l=>(u(),c(g,{key:l.value,label:l.value},{default:t(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"小便情况"},{default:t(()=>[a(k,{modelValue:o(d).urine_condition,"onUpdate:modelValue":e[33]||(e[33]=l=>o(d).urine_condition=l),class:"checkbox-group"},{default:t(()=>[(u(!0),f(V,null,v(o(h),l=>(u(),c(g,{key:l.value,label:l.value},{default:t(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"大便情况"},{default:t(()=>[a(k,{modelValue:o(d).stool_condition,"onUpdate:modelValue":e[34]||(e[34]=l=>o(d).stool_condition=l),class:"checkbox-group"},{default:t(()=>[(u(!0),f(V,null,v(o(j),l=>(u(),c(g,{key:l.value,label:l.value},{default:t(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"腰肾情况"},{default:t(()=>[a(k,{modelValue:o(d).kidney_condition,"onUpdate:modelValue":e[35]||(e[35]=l=>o(d).kidney_condition=l),class:"checkbox-group"},{default:t(()=>[(u(!0),f(V,null,v(o(z),l=>(u(),c(g,{key:l.value,label:l.value},{default:t(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"病情补充",prop:"symptoms"},{default:t(()=>[a(m,{modelValue:o(d).symptoms,"onUpdate:modelValue":e[36]||(e[36]=l=>o(d).symptoms=l),type:"textarea",rows:3,placeholder:"请输入症状"},null,8,["modelValue"])]),_:1})]),_("div",Qe,[e[62]||(e[62]=_("div",{class:"section-title"},"既往史",-1)),a(n,{label:""},{default:t(()=>[a(k,{modelValue:o(d).past_history,"onUpdate:modelValue":e[37]||(e[37]=l=>o(d).past_history=l),class:"checkbox-group"},{default:t(()=>[(u(!0),f(V,null,v(o(L),l=>(u(),c(g,{key:l.value,label:l.value},{default:t(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_("div",Je,[e[73]||(e[73]=_("div",{class:"section-title"},"其他病史",-1)),a(n,{label:"外伤史"},{default:t(()=>[a(U,{modelValue:o(d).trauma_history,"onUpdate:modelValue":e[38]||(e[38]=l=>o(d).trauma_history=l)},{default:t(()=>[a(y,{label:1},{default:t(()=>[...e[63]||(e[63]=[s("有",-1)])]),_:1}),a(y,{label:0},{default:t(()=>[...e[64]||(e[64]=[s("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"手术史"},{default:t(()=>[a(U,{modelValue:o(d).surgery_history,"onUpdate:modelValue":e[39]||(e[39]=l=>o(d).surgery_history=l)},{default:t(()=>[a(y,{label:1},{default:t(()=>[...e[65]||(e[65]=[s("有",-1)])]),_:1}),a(y,{label:0},{default:t(()=>[...e[66]||(e[66]=[s("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"过敏史"},{default:t(()=>[a(U,{modelValue:o(d).allergy_history,"onUpdate:modelValue":e[40]||(e[40]=l=>o(d).allergy_history=l)},{default:t(()=>[a(y,{label:1},{default:t(()=>[...e[67]||(e[67]=[s("有",-1)])]),_:1}),a(y,{label:0},{default:t(()=>[...e[68]||(e[68]=[s("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"家族病史"},{default:t(()=>[a(U,{modelValue:o(d).family_history,"onUpdate:modelValue":e[41]||(e[41]=l=>o(d).family_history=l)},{default:t(()=>[a(y,{label:1},{default:t(()=>[...e[69]||(e[69]=[s("有",-1)])]),_:1}),a(y,{label:0},{default:t(()=>[...e[70]||(e[70]=[s("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"妊娠哺乳史"},{default:t(()=>[a(U,{modelValue:o(d).pregnancy_history,"onUpdate:modelValue":e[42]||(e[42]=l=>o(d).pregnancy_history=l)},{default:t(()=>[a(y,{label:1},{default:t(()=>[...e[71]||(e[71]=[s("有",-1)])]),_:1}),a(y,{label:0},{default:t(()=>[...e[72]||(e[72]=[s("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_("div",We,[e[74]||(e[74]=_("div",{class:"section-title"},"诊断详情",-1)),a(n,{label:"舌苔",prop:"tongue_coating"},{default:t(()=>[a(m,{modelValue:o(d).tongue_coating,"onUpdate:modelValue":e[43]||(e[43]=l=>o(d).tongue_coating=l),placeholder:"请输入舌苔情况"},null,8,["modelValue"])]),_:1}),a(n,{label:"脉象",prop:"pulse"},{default:t(()=>[a(m,{modelValue:o(d).pulse,"onUpdate:modelValue":e[44]||(e[44]=l=>o(d).pulse=l),placeholder:"请输入脉象"},null,8,["modelValue"])]),_:1}),a(n,{label:"治则",prop:"treatment_principle"},{default:t(()=>[a(m,{modelValue:o(d).treatment_principle,"onUpdate:modelValue":e[45]||(e[45]=l=>o(d).treatment_principle=l),type:"textarea",rows:3,placeholder:"请输入治则"},null,8,["modelValue"])]),_:1}),a(n,{label:"处方",prop:"prescription"},{default:t(()=>[a(m,{modelValue:o(d).prescription,"onUpdate:modelValue":e[46]||(e[46]=l=>o(d).prescription=l),type:"textarea",rows:3,placeholder:"请输入处方"},null,8,["modelValue"])]),_:1}),a(n,{label:"医嘱",prop:"doctor_advice"},{default:t(()=>[a(m,{modelValue:o(d).doctor_advice,"onUpdate:modelValue":e[47]||(e[47]=l=>o(d).doctor_advice=l),type:"textarea",rows:3,placeholder:"请输入医嘱"},null,8,["modelValue"])]),_:1}),a(n,{label:"备注",prop:"remark"},{default:t(()=>[a(m,{modelValue:o(d).remark,"onUpdate:modelValue":e[48]||(e[48]=l=>o(d).remark=l),type:"textarea",rows:2,placeholder:"请输入备注"},null,8,["modelValue"])]),_:1})])]),_:1},8,["model"])]),_("div",Ze,[a(x,{onClick:ee,class:"btn-cancel"},{default:t(()=>[...e[75]||(e[75]=[s("取消",-1)])]),_:1}),a(x,{type:"primary",onClick:ie,loading:o(S),class:"btn-submit"},{default:t(()=>[...e[76]||(e[76]=[s(" 保存 ",-1)])]),_:1},8,["loading"])])])}}}),Gl=De(he,[["__scopeId","data-v-6538749f"]]);export{Gl as default}; +import{d as pe,i as me,B as _e,C as fe,G as ye,I as ge,h as be,a2 as Ve,P as ve,Q as ce,af as ke,al as we,F as Ue,D as xe,E as le}from"./element-plus-DFTWCWyi.js";import{X as ae,Y as Ee,Z as Oe,_ as qe,$ as Be}from"./tcm-BcqaE0lo.js";import{m as b,i as oe,_ as De}from"./index-DBREMm_z.js";import{a as Ce,u as Ie}from"./vue-router-QlpZ4wdW.js";import{o as Se}from"./@element-plus/icons-vue-HOEUG8sr.js";import{f as Re,b as Pe,ae as Ne,ak as u,I as f,J as _,a,aN as t,O as s,F as V,ap as v,G as c,A as Fe}from"./@vue/runtime-core-C6bnekPw.js";import{y as o,n as p}from"./@vue/reactivity-DiY1c2vO.js";import{Q as w}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Ye={class:"diagnosis-page"},$e={class:"page-header"},Ge={class:"page-title"},Le={class:"page-content"},Me={class:"form-section"},Te={class:"form-section"},Xe={class:"form-section"},Ae={class:"form-section"},He={class:"form-section"},Qe={class:"form-section"},Je={class:"form-section"},Ze={class:"form-section"},he={class:"page-footer"},je=Re({__name:"add",setup(ze){const P=Ce(),te=Ie(),N=p(),I=p("add"),S=p(!1),de=Fe(()=>I.value==="add"?"新增诊单":"编辑诊单"),d=p({id:"",patient_id:"",patient_name:"",id_card:"",phone:"",gender:1,age:void 0,diagnosis_date:"",diagnosis_type:"",syndrome_type:"",diabetes_type:"",diabetes_discovery_year:"",local_hospital_diagnosis:[],local_hospital_name:"",marital_status:void 0,height:void 0,weight:void 0,region:"",systolic_pressure:void 0,diastolic_pressure:void 0,fasting_blood_sugar:"",appetite:"",water_intake:"",diet_condition:[],weight_change:"",body_feeling:[],sleep_condition:[],eye_condition:[],head_feeling:[],sweat_condition:[],skin_condition:[],urine_condition:[],stool_condition:[],kidney_condition:[],fatty_liver_degree:"",past_history:[],trauma_history:0,surgery_history:0,allergy_history:0,family_history:0,pregnancy_history:0,symptoms:"",tongue_coating:"",pulse:"",treatment_principle:"",prescription:"",doctor_advice:"",remark:"",current_medications:"",status:1}),ne={patient_name:[{required:!0,message:"请输入患者姓名",trigger:"blur"}],id_card:[{validator:(r,e,i)=>{if(e&&!/^[1-9]\d{5}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dXx]$/.test(e)){i(new Error("身份证号格式不正确"));return}i()},trigger:"blur"}],phone:[{required:!0,validator:(r,e,i)=>{if(!e){i(new Error("请输入手机号"));return}if(!/^1[3-9]\d{9}$/.test(e)){i(new Error("手机号格式不正确"));return}i()},trigger:"blur"}],gender:[{required:!0,message:"请选择性别",trigger:"change"}],age:[{required:!0,message:"请输入年龄",trigger:"blur"}],diagnosis_type:[{required:!0,message:"请选择诊断类型",trigger:"change"}],syndrome_type:[{required:!0,message:"请选择证型",trigger:"change"}],diabetes_type:[{required:!0,message:"请选择糖尿病期数",trigger:"change"}],diabetes_discovery_year:[{max:50,message:"最多50个字符",trigger:"blur"}]},F=p([]),Y=p([]),$=p([]),G=p([]),L=p([]),M=p([]),T=p([]),X=p([]),A=p([]),H=p([]),Q=p([]),J=p([]),Z=p([]),h=p([]),j=p([]),z=p([]),K=p([]),W=p([]),ue=async()=>{try{const[r,e,i,x,m,n,y,U,O,D,E,q,g,k,B,C,l,R]=await Promise.all([b({type:"diagnosis_type"}),b({type:"syndrome_type"}),b({type:"diabetes_type"}),b({type:"past_history"}),b({type:"appetite"}),b({type:"water_intake"}),b({type:"diet_condition"}),b({type:"weight_change"}),b({type:"body_feeling"}),b({type:"sleep_condition"}),b({type:"eye_condition"}),b({type:"head_feeling"}),b({type:"sweat_condition"}),b({type:"skin_condition"}),b({type:"urine_condition"}),b({type:"stool_condition"}),b({type:"kidney_condition"}),b({type:"fatty_liver_degree"})]);F.value=(r==null?void 0:r.diagnosis_type)||[],Y.value=(e==null?void 0:e.syndrome_type)||[],$.value=(i==null?void 0:i.diabetes_type)||[],G.value=(x==null?void 0:x.past_history)||[],L.value=(m==null?void 0:m.appetite)||[],M.value=(n==null?void 0:n.water_intake)||[],T.value=(y==null?void 0:y.diet_condition)||[],X.value=(U==null?void 0:U.weight_change)||[],A.value=(O==null?void 0:O.body_feeling)||[],H.value=(D==null?void 0:D.sleep_condition)||[],Q.value=(E==null?void 0:E.eye_condition)||[],J.value=(q==null?void 0:q.head_feeling)||[],Z.value=(g==null?void 0:g.sweat_condition)||[],h.value=(k==null?void 0:k.skin_condition)||[],j.value=(B==null?void 0:B.urine_condition)||[],z.value=(C==null?void 0:C.stool_condition)||[],K.value=(l==null?void 0:l.kidney_condition)||[],W.value=(R==null?void 0:R.fatty_liver_degree)||[]}catch(r){console.error("获取字典数据失败:",r)}},se=async()=>{if(!(!d.value.phone||!/^1[3-9]\d{9}$/.test(d.value.phone)))try{const r=await Ee({phone:d.value.phone,id:d.value.id||""});r.exists&&le.warning(r.message)}catch(r){console.error("检查手机号失败:",r)}},re=async()=>{if(!(!d.value.id_card||!/^[1-9]\d{5}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dXx]$/.test(d.value.id_card)))try{const r=await Oe({id_card:d.value.id_card,id:d.value.id||""});r.exists&&le.warning(r.message)}catch(r){console.error("检查身份证号失败:",r)}},ie=async()=>{var r;await((r=N.value)==null?void 0:r.validate()),S.value=!0;try{if(I.value==="add"){const e=await qe(d.value);if(oe.msgSuccess("新增成功"),e&&e.id){I.value="edit",d.value.id=e.id;try{const i=await ae({id:e.id});d.value.patient_id=i.patient_id}catch(i){console.error("获取详情失败:",i)}P.replace({query:{id:e.id}})}}else await Be(d.value),oe.msgSuccess("编辑成功")}catch(e){console.error("提交失败:",e)}finally{S.value=!1}},ee=()=>{P.back()};return Pe(async()=>{await ue(),setTimeout(()=>{const e=document.querySelector(".el-aside");e&&(e.style.display="none");const i=document.querySelector(".el-main");i&&(i.style.width="100%"(i).style.marginLeft="0");const x=document.querySelector(".el-container");x&&(x.style.width="100%")},100);const r=te.query.id;if(r){I.value="edit";const e=await ae({id:Number(r)});d.value=e}}),Ne(()=>{const r=document.querySelector(".el-aside");r&&(r.style.display="");const e=document.querySelector(".el-main");e&&(e.style.width=""(e).style.marginLeft="");const i=document.querySelector(".el-container");i&&(i.style.width="")}),(r,e)=>{const i=pe,x=me,m=fe,n=_e,y=ge,U=ye,O=be,D=Ve,E=ce,q=ve,g=we,k=ke,B=Ue,C=xe;return u(),f("div",Ye,[_("div",$e,[a(x,{link:"",onClick:ee,class:"back-btn"},{default:t(()=>[a(i,null,{default:t(()=>[a(o(Se))]),_:1}),e[49]||(e[49]=s(" 返回 ",-1))]),_:1}),_("h1",Ge,w(o(de)),1)]),_("div",Le,[a(C,{ref_key:"formRef",ref:N,model:o(d),rules:ne,"label-width":"auto",class:"diagnosis-form"},{default:t(()=>[_("div",Me,[e[52]||(e[52]=_("div",{class:"section-title"},"基本信息",-1)),a(n,{label:"患者ID"},{default:t(()=>[a(m,{modelValue:o(d).patient_id,"onUpdate:modelValue":e[0]||(e[0]=l=>o(d).patient_id=l),disabled:"",placeholder:"系统自动生成"},null,8,["modelValue"])]),_:1}),a(n,{label:"患者姓名",prop:"patient_name"},{default:t(()=>[a(m,{modelValue:o(d).patient_name,"onUpdate:modelValue":e[1]||(e[1]=l=>o(d).patient_name=l),placeholder:"请输入患者姓名"},null,8,["modelValue"])]),_:1}),a(n,{label:"身份证号",prop:"id_card"},{default:t(()=>[a(m,{modelValue:o(d).id_card,"onUpdate:modelValue":e[2]||(e[2]=l=>o(d).id_card=l),placeholder:"请输入身份证号",maxlength:"18",onBlur:re},null,8,["modelValue"])]),_:1}),a(n,{label:"手机号",prop:"phone"},{default:t(()=>[a(m,{modelValue:o(d).phone,"onUpdate:modelValue":e[3]||(e[3]=l=>o(d).phone=l),placeholder:"请输入手机号",maxlength:"11",onBlur:se},null,8,["modelValue"])]),_:1}),a(n,{label:"性别",prop:"gender"},{default:t(()=>[a(U,{modelValue:o(d).gender,"onUpdate:modelValue":e[4]||(e[4]=l=>o(d).gender=l)},{default:t(()=>[a(y,{label:1},{default:t(()=>[...e[50]||(e[50]=[s("男",-1)])]),_:1}),a(y,{label:0},{default:t(()=>[...e[51]||(e[51]=[s("女",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"年龄",prop:"age"},{default:t(()=>[a(O,{modelValue:o(d).age,"onUpdate:modelValue":e[5]||(e[5]=l=>o(d).age=l),min:0,max:150,placeholder:"请输入年龄",class:"w-full"},null,8,["modelValue"])]),_:1}),a(n,{label:"诊断日期",prop:"diagnosis_date"},{default:t(()=>[a(D,{modelValue:o(d).diagnosis_date,"onUpdate:modelValue":e[6]||(e[6]=l=>o(d).diagnosis_date=l),type:"date",placeholder:"请选择诊断日期","value-format":"YYYY-MM-DD",class:"w-full"},null,8,["modelValue"])]),_:1})]),_("div",Te,[e[53]||(e[53]=_("div",{class:"section-title"},"生命体征",-1)),a(n,{label:"婚姻状态",prop:"marital_status"},{default:t(()=>[a(q,{modelValue:o(d).marital_status,"onUpdate:modelValue":e[7]||(e[7]=l=>o(d).marital_status=l),placeholder:"请选择婚姻状态",class:"w-full"},{default:t(()=>[a(E,{label:"未婚",value:0}),a(E,{label:"已婚",value:1}),a(E,{label:"离异",value:2})]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"身高(cm)",prop:"height"},{default:t(()=>[a(O,{modelValue:o(d).height,"onUpdate:modelValue":e[8]||(e[8]=l=>o(d).height=l),min:0,max:300,placeholder:"请输入身高",class:"w-full"},null,8,["modelValue"])]),_:1}),a(n,{label:"体重(kg)",prop:"weight"},{default:t(()=>[a(O,{modelValue:o(d).weight,"onUpdate:modelValue":e[9]||(e[9]=l=>o(d).weight=l),min:0,max:500,step:.1,placeholder:"请输入体重",class:"w-full"},null,8,["modelValue"])]),_:1}),a(n,{label:"地区",prop:"region"},{default:t(()=>[a(m,{modelValue:o(d).region,"onUpdate:modelValue":e[10]||(e[10]=l=>o(d).region=l),placeholder:"请输入地区"},null,8,["modelValue"])]),_:1}),a(n,{label:"收缩压(mmHg)",prop:"systolic_pressure"},{default:t(()=>[a(O,{modelValue:o(d).systolic_pressure,"onUpdate:modelValue":e[11]||(e[11]=l=>o(d).systolic_pressure=l),min:0,max:250,placeholder:"请输入收缩压",class:"w-full"},null,8,["modelValue"])]),_:1}),a(n,{label:"舒张压(mmHg)",prop:"diastolic_pressure"},{default:t(()=>[a(O,{modelValue:o(d).diastolic_pressure,"onUpdate:modelValue":e[12]||(e[12]=l=>o(d).diastolic_pressure=l),min:0,max:150,placeholder:"请输入舒张压",class:"w-full"},null,8,["modelValue"])]),_:1}),a(n,{label:"空腹血糖(mmol/L)",prop:"fasting_blood_sugar"},{default:t(()=>[a(m,{modelValue:o(d).fasting_blood_sugar,"onUpdate:modelValue":e[13]||(e[13]=l=>o(d).fasting_blood_sugar=l),placeholder:"请输入空腹血糖,如:8.5 或 8-9",maxlength:"20",class:"w-full"},null,8,["modelValue"])]),_:1})]),_("div",Xe,[e[56]||(e[56]=_("div",{class:"section-title"},"诊断信息",-1)),a(n,{label:"诊断类型",prop:"diagnosis_type"},{default:t(()=>[a(q,{modelValue:o(d).diagnosis_type,"onUpdate:modelValue":e[14]||(e[14]=l=>o(d).diagnosis_type=l),placeholder:"请选择诊断类型",class:"w-full"},{default:t(()=>[(u(!0),f(V,null,v(o(F),l=>(u(),c(E,{key:l.value,label:l.name,value:l.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"证型",prop:"syndrome_type"},{default:t(()=>[a(q,{modelValue:o(d).syndrome_type,"onUpdate:modelValue":e[15]||(e[15]=l=>o(d).syndrome_type=l),placeholder:"请选择证型",class:"w-full"},{default:t(()=>[(u(!0),f(V,null,v(o(Y),l=>(u(),c(E,{key:l.value,label:l.name,value:l.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"糖尿病期数",prop:"diabetes_type"},{default:t(()=>[a(q,{modelValue:o(d).diabetes_type,"onUpdate:modelValue":e[16]||(e[16]=l=>o(d).diabetes_type=l),placeholder:"请选择糖尿病期数",class:"w-full"},{default:t(()=>[(u(!0),f(V,null,v(o($),l=>(u(),c(E,{key:l.value,label:l.name+(l.remark?" ("+l.remark+")":""),value:l.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"状态",prop:"status"},{default:t(()=>[a(U,{modelValue:o(d).status,"onUpdate:modelValue":e[17]||(e[17]=l=>o(d).status=l)},{default:t(()=>[a(y,{label:1},{default:t(()=>[...e[54]||(e[54]=[s("启用",-1)])]),_:1}),a(y,{label:0},{default:t(()=>[...e[55]||(e[55]=[s("禁用",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"在用药物",prop:"current_medications"},{default:t(()=>[a(m,{modelValue:o(d).current_medications,"onUpdate:modelValue":e[18]||(e[18]=l=>o(d).current_medications=l),type:"textarea",rows:3,placeholder:"请填写患者当前正在使用的药物(如降压药、降糖药等),多种请换行或顿号分隔",maxlength:"2000","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_("div",Ae,[e[60]||(e[60]=_("div",{class:"section-title"},"主诉",-1)),a(n,{label:"发现糖尿病就患病史",prop:"diabetes_discovery_year"},{default:t(()=>[a(m,{modelValue:o(d).diabetes_discovery_year,"onUpdate:modelValue":e[19]||(e[19]=l=>o(d).diabetes_discovery_year=l),clearable:"",maxlength:"50","show-word-limit":"",placeholder:"可填数字或文字,如:5、1年、半年",class:"w-full"},null,8,["modelValue"])]),_:1}),a(n,{label:"当地医院诊断结果"},{default:t(()=>[a(k,{modelValue:o(d).local_hospital_diagnosis,"onUpdate:modelValue":e[20]||(e[20]=l=>o(d).local_hospital_diagnosis=l),class:"checkbox-group"},{default:t(()=>[a(g,{label:"糖尿病"},{default:t(()=>[...e[57]||(e[57]=[s("糖尿病",-1)])]),_:1}),a(g,{label:"高血压"},{default:t(()=>[...e[58]||(e[58]=[s("高血压",-1)])]),_:1}),a(g,{label:"糖尿病高血压"},{default:t(()=>[...e[59]||(e[59]=[s("糖尿病高血压",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"当地就诊医院名称",prop:"local_hospital_name"},{default:t(()=>[a(m,{modelValue:o(d).local_hospital_name,"onUpdate:modelValue":e[21]||(e[21]=l=>o(d).local_hospital_name=l),placeholder:"请输入当地就诊医院名称(不能填写当地、本地、互联网等关键词)"},null,8,["modelValue"])]),_:1})]),_("div",He,[e[61]||(e[61]=_("div",{class:"section-title"},"现病史",-1)),a(n,{label:"口腔感觉"},{default:t(()=>[a(U,{modelValue:o(d).appetite,"onUpdate:modelValue":e[22]||(e[22]=l=>o(d).appetite=l),class:"radio-group"},{default:t(()=>[(u(!0),f(V,null,v(o(L),l=>(u(),c(B,{key:l.value,label:l.value},{default:t(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"每日饮水量"},{default:t(()=>[a(U,{modelValue:o(d).water_intake,"onUpdate:modelValue":e[23]||(e[23]=l=>o(d).water_intake=l),class:"radio-group"},{default:t(()=>[(u(!0),f(V,null,v(o(M),l=>(u(),c(B,{key:l.value,label:l.value},{default:t(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"近一个月体重变化"},{default:t(()=>[a(U,{modelValue:o(d).weight_change,"onUpdate:modelValue":e[24]||(e[24]=l=>o(d).weight_change=l),class:"radio-group"},{default:t(()=>[(u(!0),f(V,null,v(o(X),l=>(u(),c(B,{key:l.value,label:l.value},{default:t(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"脂肪肝程度"},{default:t(()=>[a(U,{modelValue:o(d).fatty_liver_degree,"onUpdate:modelValue":e[25]||(e[25]=l=>o(d).fatty_liver_degree=l),class:"radio-group"},{default:t(()=>[(u(!0),f(V,null,v(o(W),l=>(u(),c(B,{key:l.value,label:l.value},{default:t(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"饮食情况"},{default:t(()=>[a(k,{modelValue:o(d).diet_condition,"onUpdate:modelValue":e[26]||(e[26]=l=>o(d).diet_condition=l),class:"checkbox-group"},{default:t(()=>[(u(!0),f(V,null,v(o(T),l=>(u(),c(g,{key:l.value,label:l.value},{default:t(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"肢体感觉"},{default:t(()=>[a(k,{modelValue:o(d).body_feeling,"onUpdate:modelValue":e[27]||(e[27]=l=>o(d).body_feeling=l),class:"checkbox-group"},{default:t(()=>[(u(!0),f(V,null,v(o(A),l=>(u(),c(g,{key:l.value,label:l.value},{default:t(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"睡眠情况"},{default:t(()=>[a(k,{modelValue:o(d).sleep_condition,"onUpdate:modelValue":e[28]||(e[28]=l=>o(d).sleep_condition=l),class:"checkbox-group"},{default:t(()=>[(u(!0),f(V,null,v(o(H),l=>(u(),c(g,{key:l.value,label:l.value},{default:t(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"眼睛情况"},{default:t(()=>[a(k,{modelValue:o(d).eye_condition,"onUpdate:modelValue":e[29]||(e[29]=l=>o(d).eye_condition=l),class:"checkbox-group"},{default:t(()=>[(u(!0),f(V,null,v(o(Q),l=>(u(),c(g,{key:l.value,label:l.value},{default:t(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"头部感觉"},{default:t(()=>[a(k,{modelValue:o(d).head_feeling,"onUpdate:modelValue":e[30]||(e[30]=l=>o(d).head_feeling=l),class:"checkbox-group"},{default:t(()=>[(u(!0),f(V,null,v(o(J),l=>(u(),c(g,{key:l.value,label:l.value},{default:t(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"出汗情况"},{default:t(()=>[a(k,{modelValue:o(d).sweat_condition,"onUpdate:modelValue":e[31]||(e[31]=l=>o(d).sweat_condition=l),class:"checkbox-group"},{default:t(()=>[(u(!0),f(V,null,v(o(Z),l=>(u(),c(g,{key:l.value,label:l.value},{default:t(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"皮肤情况"},{default:t(()=>[a(k,{modelValue:o(d).skin_condition,"onUpdate:modelValue":e[32]||(e[32]=l=>o(d).skin_condition=l),class:"checkbox-group"},{default:t(()=>[(u(!0),f(V,null,v(o(h),l=>(u(),c(g,{key:l.value,label:l.value},{default:t(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"小便情况"},{default:t(()=>[a(k,{modelValue:o(d).urine_condition,"onUpdate:modelValue":e[33]||(e[33]=l=>o(d).urine_condition=l),class:"checkbox-group"},{default:t(()=>[(u(!0),f(V,null,v(o(j),l=>(u(),c(g,{key:l.value,label:l.value},{default:t(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"大便情况"},{default:t(()=>[a(k,{modelValue:o(d).stool_condition,"onUpdate:modelValue":e[34]||(e[34]=l=>o(d).stool_condition=l),class:"checkbox-group"},{default:t(()=>[(u(!0),f(V,null,v(o(z),l=>(u(),c(g,{key:l.value,label:l.value},{default:t(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"腰肾情况"},{default:t(()=>[a(k,{modelValue:o(d).kidney_condition,"onUpdate:modelValue":e[35]||(e[35]=l=>o(d).kidney_condition=l),class:"checkbox-group"},{default:t(()=>[(u(!0),f(V,null,v(o(K),l=>(u(),c(g,{key:l.value,label:l.value},{default:t(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"病情补充",prop:"symptoms"},{default:t(()=>[a(m,{modelValue:o(d).symptoms,"onUpdate:modelValue":e[36]||(e[36]=l=>o(d).symptoms=l),type:"textarea",rows:3,placeholder:"请输入症状"},null,8,["modelValue"])]),_:1})]),_("div",Qe,[e[62]||(e[62]=_("div",{class:"section-title"},"既往史",-1)),a(n,{label:""},{default:t(()=>[a(k,{modelValue:o(d).past_history,"onUpdate:modelValue":e[37]||(e[37]=l=>o(d).past_history=l),class:"checkbox-group"},{default:t(()=>[(u(!0),f(V,null,v(o(G),l=>(u(),c(g,{key:l.value,label:l.value},{default:t(()=>[s(w(l.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_("div",Je,[e[73]||(e[73]=_("div",{class:"section-title"},"其他病史",-1)),a(n,{label:"外伤史"},{default:t(()=>[a(U,{modelValue:o(d).trauma_history,"onUpdate:modelValue":e[38]||(e[38]=l=>o(d).trauma_history=l)},{default:t(()=>[a(y,{label:1},{default:t(()=>[...e[63]||(e[63]=[s("有",-1)])]),_:1}),a(y,{label:0},{default:t(()=>[...e[64]||(e[64]=[s("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"手术史"},{default:t(()=>[a(U,{modelValue:o(d).surgery_history,"onUpdate:modelValue":e[39]||(e[39]=l=>o(d).surgery_history=l)},{default:t(()=>[a(y,{label:1},{default:t(()=>[...e[65]||(e[65]=[s("有",-1)])]),_:1}),a(y,{label:0},{default:t(()=>[...e[66]||(e[66]=[s("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"过敏史"},{default:t(()=>[a(U,{modelValue:o(d).allergy_history,"onUpdate:modelValue":e[40]||(e[40]=l=>o(d).allergy_history=l)},{default:t(()=>[a(y,{label:1},{default:t(()=>[...e[67]||(e[67]=[s("有",-1)])]),_:1}),a(y,{label:0},{default:t(()=>[...e[68]||(e[68]=[s("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"家族病史"},{default:t(()=>[a(U,{modelValue:o(d).family_history,"onUpdate:modelValue":e[41]||(e[41]=l=>o(d).family_history=l)},{default:t(()=>[a(y,{label:1},{default:t(()=>[...e[69]||(e[69]=[s("有",-1)])]),_:1}),a(y,{label:0},{default:t(()=>[...e[70]||(e[70]=[s("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"妊娠哺乳史"},{default:t(()=>[a(U,{modelValue:o(d).pregnancy_history,"onUpdate:modelValue":e[42]||(e[42]=l=>o(d).pregnancy_history=l)},{default:t(()=>[a(y,{label:1},{default:t(()=>[...e[71]||(e[71]=[s("有",-1)])]),_:1}),a(y,{label:0},{default:t(()=>[...e[72]||(e[72]=[s("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_("div",Ze,[e[74]||(e[74]=_("div",{class:"section-title"},"诊断详情",-1)),a(n,{label:"舌苔",prop:"tongue_coating"},{default:t(()=>[a(m,{modelValue:o(d).tongue_coating,"onUpdate:modelValue":e[43]||(e[43]=l=>o(d).tongue_coating=l),placeholder:"请输入舌苔情况"},null,8,["modelValue"])]),_:1}),a(n,{label:"脉象",prop:"pulse"},{default:t(()=>[a(m,{modelValue:o(d).pulse,"onUpdate:modelValue":e[44]||(e[44]=l=>o(d).pulse=l),placeholder:"请输入脉象"},null,8,["modelValue"])]),_:1}),a(n,{label:"治则",prop:"treatment_principle"},{default:t(()=>[a(m,{modelValue:o(d).treatment_principle,"onUpdate:modelValue":e[45]||(e[45]=l=>o(d).treatment_principle=l),type:"textarea",rows:3,placeholder:"请输入治则"},null,8,["modelValue"])]),_:1}),a(n,{label:"处方",prop:"prescription"},{default:t(()=>[a(m,{modelValue:o(d).prescription,"onUpdate:modelValue":e[46]||(e[46]=l=>o(d).prescription=l),type:"textarea",rows:3,placeholder:"请输入处方"},null,8,["modelValue"])]),_:1}),a(n,{label:"医嘱",prop:"doctor_advice"},{default:t(()=>[a(m,{modelValue:o(d).doctor_advice,"onUpdate:modelValue":e[47]||(e[47]=l=>o(d).doctor_advice=l),type:"textarea",rows:3,placeholder:"请输入医嘱"},null,8,["modelValue"])]),_:1}),a(n,{label:"备注",prop:"remark"},{default:t(()=>[a(m,{modelValue:o(d).remark,"onUpdate:modelValue":e[48]||(e[48]=l=>o(d).remark=l),type:"textarea",rows:2,placeholder:"请输入备注"},null,8,["modelValue"])]),_:1})])]),_:1},8,["model"])]),_("div",he,[a(x,{onClick:ee,class:"btn-cancel"},{default:t(()=>[...e[75]||(e[75]=[s("取消",-1)])]),_:1}),a(x,{type:"primary",onClick:ie,loading:o(S),class:"btn-submit"},{default:t(()=>[...e[76]||(e[76]=[s(" 保存 ",-1)])]),_:1},8,["loading"])])])}}}),$l=De(je,[["__scopeId","data-v-6538749f"]]);export{$l as default}; diff --git a/server/public/admin/assets/add-nav-BP84JTbJ.js b/server/public/admin/assets/add-nav-DLGX-0mX.js similarity index 67% rename from server/public/admin/assets/add-nav-BP84JTbJ.js rename to server/public/admin/assets/add-nav-DLGX-0mX.js index 831acc3b..0851f3e2 100644 --- a/server/public/admin/assets/add-nav-BP84JTbJ.js +++ b/server/public/admin/assets/add-nav-DLGX-0mX.js @@ -1 +1 @@ -import{_ as o}from"./add-nav.vue_vue_type_script_setup_true_lang-DqZ_o5sa.js";import"./element-plus-0wC3naml.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-BHTgr4Ka.js";import"./index-E47--KT7.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./picker-B9b8bj5N.js";import"./index-nymJKQXP.js";import"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import"./article-DJnP6RZd.js";import"./usePaging-VsbTxSU0.js";import"./picker-DlbAZkDm.js";import"./index-B56X8bEB.js";import"./index-Ci4dcEQh.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-DoYUJmkp.js";import"./index.vue_vue_type_script_setup_true_lang-Bl0f8aX8.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";export{o as default}; +import{_ as o}from"./add-nav.vue_vue_type_script_setup_true_lang-BN-blUPj.js";import"./element-plus-DFTWCWyi.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-CbfZXeGu.js";import"./index-DBREMm_z.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./picker-DPnqJ8Gk.js";import"./index-BwF7vczx.js";import"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import"./article-BnVIxFkr.js";import"./usePaging-VsbTxSU0.js";import"./picker-BCRrEZaA.js";import"./index-BiPYXDtP.js";import"./index-CRoZWY-W.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-BimpIRb_.js";import"./index.vue_vue_type_script_setup_true_lang-x0oL2ShL.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";export{o as default}; diff --git a/server/public/admin/assets/add-nav.vue_vue_type_script_setup_true_lang-DqZ_o5sa.js b/server/public/admin/assets/add-nav.vue_vue_type_script_setup_true_lang-BN-blUPj.js similarity index 90% rename from server/public/admin/assets/add-nav.vue_vue_type_script_setup_true_lang-DqZ_o5sa.js rename to server/public/admin/assets/add-nav.vue_vue_type_script_setup_true_lang-BN-blUPj.js index f564bd94..469244e9 100644 --- a/server/public/admin/assets/add-nav.vue_vue_type_script_setup_true_lang-DqZ_o5sa.js +++ b/server/public/admin/assets/add-nav.vue_vue_type_script_setup_true_lang-BN-blUPj.js @@ -1 +1 @@ -import{C as E,B,g as C,i as N}from"./element-plus-0wC3naml.js";import{_ as $}from"./index-BHTgr4Ka.js";import{_ as z}from"./picker-B9b8bj5N.js";import{_ as A}from"./picker-DlbAZkDm.js";import{c as D,i as r}from"./index-E47--KT7.js";import{D as I}from"./vuedraggable-5bKFmC7X.js";import{f as R,ak as p,I as F,J as l,a,aN as d,G,O as J,A as L}from"./@vue/runtime-core-C6bnekPw.js";import{y as c,a as O}from"./@vue/reactivity-DiY1c2vO.js";const P={class:"bg-fill-light flex items-center w-full p-4 mb-4"},S={class:"upload-btn w-[60px] h-[60px]"},T={class:"ml-3 flex-1"},j={class:"flex items-center"},q={class:"flex items-center mt-[18px]"},H={class:"flex-1 flex items-center"},K={class:"drag-move cursor-move ml-auto"},oe=R({__name:"add-nav",props:{modelValue:{type:Array,default:()=>[]},max:{type:Number,default:100},min:{type:Number,default:1}},emits:["update:modelValue"],setup(_,{emit:f}){const t=_,V=f,m=L({get(){return t.modelValue},set(s){V("update:modelValue",s)}}),x=()=>{var s;((s=t.modelValue)==null?void 0:s.length){var e;if(((e=t.modelValue)==null?void 0:e.length)<=t.min)return r.msgError(`最少保留${t.min}个`);m.value.splice(s,1)};return(s,e)=>{const i=D,v=A,h=E,k=z,b=C,w=B,y=$,U=N;return p(),F("div",null,[l("div",null,[a(c(I),{class:"draggable",modelValue:c(m),"onUpdate:modelValue":e[0]||(e[0]=o=>O(m)?m.value=o:null),animation:"300",handle:".drag-move","item-key":"index"},{item:d(({element:o,index:u})=>[(p(),G(y,{class:"w-[467px]",key:u,onClose:n=>g(u)},{default:d(()=>[l("div",P,[a(v,{modelValue:o.image,"onUpdate:modelValue":n=>o.image=n,"upload-class":"bg-body",size:"60px","exclude-domain":""},{upload:d(()=>[l("div",S,[a(i,{name:"el-icon-Plus",size:20})])]),_:1},8,["modelValue","onUpdate:modelValue"]),l("div",T,[l("div",j,[e[1]||(e[1]=l("span",{class:"text-tx-regular flex-none mr-3"},"名称",-1)),a(h,{modelValue:o.name,"onUpdate:modelValue":n=>o.name=n,placeholder:"请输入名称"},null,8,["modelValue","onUpdate:modelValue"])]),l("div",q,[e[2]||(e[2]=l("span",{class:"text-tx-regular flex-none mr-3"},"链接",-1)),a(k,{modelValue:o.link,"onUpdate:modelValue":n=>o.link=n},null,8,["modelValue","onUpdate:modelValue"])]),a(w,{label:"是否显示",class:"mt-[18px]"},{default:d(()=>[l("div",H,[a(b,{modelValue:o.is_show,"onUpdate:modelValue":n=>o.is_show=n,"active-value":"1","inactive-value":"0"},null,8,["modelValue","onUpdate:modelValue"]),l("div",K,[a(i,{name:"el-icon-Rank",size:"18"})])])]),_:2},1024)])])]),_:2},1032,["onClose"]))]),_:1},8,["modelValue"])]),l("div",null,[a(U,{type:"primary",onClick:x},{default:d(()=>[...e[3]||(e[3]=[J("添加",-1)])]),_:1})])])}}});export{oe as _}; +import{C as E,B,g as C,i as N}from"./element-plus-DFTWCWyi.js";import{_ as $}from"./index-CbfZXeGu.js";import{_ as z}from"./picker-DPnqJ8Gk.js";import{_ as A}from"./picker-BCRrEZaA.js";import{c as D,i as r}from"./index-DBREMm_z.js";import{D as I}from"./vuedraggable-5bKFmC7X.js";import{f as R,ak as p,I as F,J as l,a,aN as d,G,O as J,A as L}from"./@vue/runtime-core-C6bnekPw.js";import{y as c,a as O}from"./@vue/reactivity-DiY1c2vO.js";const P={class:"bg-fill-light flex items-center w-full p-4 mb-4"},S={class:"upload-btn w-[60px] h-[60px]"},T={class:"ml-3 flex-1"},j={class:"flex items-center"},q={class:"flex items-center mt-[18px]"},H={class:"flex-1 flex items-center"},K={class:"drag-move cursor-move ml-auto"},oe=R({__name:"add-nav",props:{modelValue:{type:Array,default:()=>[]},max:{type:Number,default:100},min:{type:Number,default:1}},emits:["update:modelValue"],setup(_,{emit:f}){const t=_,V=f,m=L({get(){return t.modelValue},set(s){V("update:modelValue",s)}}),x=()=>{var s;((s=t.modelValue)==null?void 0:s.length){var e;if(((e=t.modelValue)==null?void 0:e.length)<=t.min)return r.msgError(`最少保留${t.min}个`);m.value.splice(s,1)};return(s,e)=>{const i=D,v=A,h=E,k=z,b=C,w=B,y=$,U=N;return p(),F("div",null,[l("div",null,[a(c(I),{class:"draggable",modelValue:c(m),"onUpdate:modelValue":e[0]||(e[0]=o=>O(m)?m.value=o:null),animation:"300",handle:".drag-move","item-key":"index"},{item:d(({element:o,index:u})=>[(p(),G(y,{class:"w-[467px]",key:u,onClose:n=>g(u)},{default:d(()=>[l("div",P,[a(v,{modelValue:o.image,"onUpdate:modelValue":n=>o.image=n,"upload-class":"bg-body",size:"60px","exclude-domain":""},{upload:d(()=>[l("div",S,[a(i,{name:"el-icon-Plus",size:20})])]),_:1},8,["modelValue","onUpdate:modelValue"]),l("div",T,[l("div",j,[e[1]||(e[1]=l("span",{class:"text-tx-regular flex-none mr-3"},"名称",-1)),a(h,{modelValue:o.name,"onUpdate:modelValue":n=>o.name=n,placeholder:"请输入名称"},null,8,["modelValue","onUpdate:modelValue"])]),l("div",q,[e[2]||(e[2]=l("span",{class:"text-tx-regular flex-none mr-3"},"链接",-1)),a(k,{modelValue:o.link,"onUpdate:modelValue":n=>o.link=n},null,8,["modelValue","onUpdate:modelValue"])]),a(w,{label:"是否显示",class:"mt-[18px]"},{default:d(()=>[l("div",H,[a(b,{modelValue:o.is_show,"onUpdate:modelValue":n=>o.is_show=n,"active-value":"1","inactive-value":"0"},null,8,["modelValue","onUpdate:modelValue"]),l("div",K,[a(i,{name:"el-icon-Rank",size:"18"})])])]),_:2},1024)])])]),_:2},1032,["onClose"]))]),_:1},8,["modelValue"])]),l("div",null,[a(U,{type:"primary",onClick:x},{default:d(()=>[...e[3]||(e[3]=[J("添加",-1)])]),_:1})])])}}});export{oe as _}; diff --git a/server/public/admin/assets/admin-DO1zWq80.js b/server/public/admin/assets/admin-DVVxI3fN.js similarity index 84% rename from server/public/admin/assets/admin-DO1zWq80.js rename to server/public/admin/assets/admin-DVVxI3fN.js index 6bf1405c..68c13fa9 100644 --- a/server/public/admin/assets/admin-DO1zWq80.js +++ b/server/public/admin/assets/admin-DVVxI3fN.js @@ -1 +1 @@ -import{r as n}from"./index-E47--KT7.js";function e(t){return n.get({url:"/auth.admin/lists",params:t},{ignoreCancelToken:!0})}function i(t){return n.post({url:"/auth.admin/add",params:t})}function r(t){return n.post({url:"/auth.admin/edit",params:t})}function u(t){return n.post({url:"/auth.admin/delete",params:t})}function d(t){return n.get({url:"/auth.admin/detail",params:t})}export{e as a,r as b,u as c,i as d,d as e}; +import{r as n}from"./index-DBREMm_z.js";function e(t){return n.get({url:"/auth.admin/lists",params:t},{ignoreCancelToken:!0})}function i(t){return n.post({url:"/auth.admin/add",params:t})}function r(t){return n.post({url:"/auth.admin/edit",params:t})}function u(t){return n.post({url:"/auth.admin/delete",params:t})}function d(t){return n.get({url:"/auth.admin/detail",params:t})}export{e as a,r as b,u as c,i as d,d as e}; diff --git a/server/public/admin/assets/appointment-C9G6EGwx.css b/server/public/admin/assets/appointment-C9G6EGwx.css deleted file mode 100644 index 195bcf4f..00000000 --- a/server/public/admin/assets/appointment-C9G6EGwx.css +++ /dev/null @@ -1 +0,0 @@ -.today-block-alert[data-v-0586cc07]{margin-bottom:16px}.appointment-form[data-v-0586cc07] .el-form-item__label{font-weight:500}.appointment-form .channel-source-select[data-v-0586cc07]{width:100%;max-width:360px}.doctor-list[data-v-0586cc07]{display:flex;flex-wrap:wrap;gap:12px}.doctor-list .doctor-radio[data-v-0586cc07]{margin-right:0}.doctor-list .doctor-radio[data-v-0586cc07] .el-radio__label{display:flex;align-items:center}.appointment-time-container[data-v-0586cc07]{width:100%}.date-selector[data-v-0586cc07]{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.date-selector .date-button[data-v-0586cc07]{min-width:130px;height:40px;font-size:14px;border-radius:8px;transition:all .2s}.date-selector .date-button[data-v-0586cc07]:hover{transform:translateY(-2px);box-shadow:0 2px 8px #0000001a}.time-slots-container[data-v-0586cc07]{background-color:#f8f9fa;border-radius:8px;padding:16px}.time-slots-header[data-v-0586cc07]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.time-slots-header .header-title[data-v-0586cc07]{font-size:15px;font-weight:600;color:#303133}.time-slots-grid[data-v-0586cc07]{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;max-height:450px;overflow-y:auto;padding:2px}.time-slots-grid[data-v-0586cc07]::-webkit-scrollbar{width:6px}.time-slots-grid[data-v-0586cc07]::-webkit-scrollbar-thumb{background-color:#dcdfe6;border-radius:3px}.time-slots-grid[data-v-0586cc07]::-webkit-scrollbar-thumb:hover{background-color:#c0c4cc}.time-slots-grid .time-slot-item[data-v-0586cc07]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 8px;border:2px solid #e4e7ed;border-radius:8px;cursor:pointer;transition:all .2s;background-color:#fff;min-height:70px}.time-slots-grid .time-slot-item .slot-time[data-v-0586cc07]{font-size:15px;font-weight:600;color:#303133;margin-bottom:6px}.time-slots-grid .time-slot-item .slot-status[data-v-0586cc07]{font-size:12px;color:#909399;padding:0 8px;border-radius:4px;background-color:#f4f4f5}.time-slots-grid .time-slot-item .slot-status.status-available[data-v-0586cc07]{color:#67c23a;background-color:#f0f9ff}.time-slots-grid .time-slot-item.available[data-v-0586cc07]{border-color:#e4e7ed}.time-slots-grid .time-slot-item.available[data-v-0586cc07]:hover{border-color:#409eff;background-color:#ecf5ff;transform:translateY(-2px);box-shadow:0 4px 12px #409eff26}.time-slots-grid .time-slot-item.unavailable[data-v-0586cc07]{background-color:#f5f7fa;border-color:#e4e7ed;cursor:not-allowed;opacity:.6}.time-slots-grid .time-slot-item.unavailable .slot-time[data-v-0586cc07]{color:#c0c4cc}.time-slots-grid .time-slot-item.unavailable .slot-status[data-v-0586cc07]{color:#c0c4cc;background-color:#f5f7fa}.time-slots-grid .time-slot-item.unavailable[data-v-0586cc07]:hover{transform:none;box-shadow:none}.time-slots-grid .time-slot-item.selected[data-v-0586cc07]{border-color:#409eff;background:linear-gradient(135deg,#409eff,#66b1ff);box-shadow:0 4px 12px #409eff4d}.time-slots-grid .time-slot-item.selected .slot-time[data-v-0586cc07]{color:#fff}.time-slots-grid .time-slot-item.selected .slot-status[data-v-0586cc07]{color:#fff;background-color:#fff3}[data-v-0586cc07] .el-radio-group{display:flex;flex-wrap:wrap;gap:12px}[data-v-0586cc07] .el-radio{margin-right:0}.drawer-footer[data-v-0586cc07]{display:flex;justify-content:flex-end;gap:12px;padding:12px 0} diff --git a/server/public/admin/assets/appointment-CgztbjDp.js b/server/public/admin/assets/appointment-CgztbjDp.js new file mode 100644 index 00000000..bf9e4722 --- /dev/null +++ b/server/public/admin/assets/appointment-CgztbjDp.js @@ -0,0 +1 @@ +import{K as ke,D as De,B as Se,G as Te,I as Ve,P as we,Q as Ye,C as Ce,R as Ee,i as Me,L as Ne,e as xe}from"./element-plus-DFTWCWyi.js";import{L as Ie}from"./@element-plus/icons-vue-HOEUG8sr.js";import{d as p,g as Be}from"./dayjs-DG77mNTn.js";import{g as Ae}from"./tcm-BcqaE0lo.js";import{m as Le,i as m,_ as Re}from"./index-DBREMm_z.js";import{a as q,r as Ue,g as We,m as $e}from"./doctor-ul0r578d.js";import{f as ze,ak as d,G as b,aN as s,aP as He,I as k,H as R,a as i,J as y,O as D,F as N,ap as x,A as S,n as Fe}from"./@vue/runtime-core-C6bnekPw.js";import{Q as w,o as G}from"./@vue/shared-mAAVTE9n.js";import{y as Qe,n as v,r as O}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const qe={class:"text-gray-500"},Ge={class:"doctor-list"},Oe={key:2,class:"appointment-time-container"},Pe={class:"date-selector"},je={key:0,class:"time-slots-container"},Je={class:"time-slots-header"},Ke={class:"time-slots-grid"},Xe=["onClick"],Ze={class:"slot-time"},et={class:"drawer-footer"},tt=ze({__name:"appointment",emits:["success"],setup(at,{expose:P,emit:j}){p.extend(Be);const Y=v(!1),T=v(!1),I=v(!1),B=v(!1),U=v([]),f=v([]),E=v(""),u=v(0),c=v([]),C=v([]),V=v(!1),_=O({id:0,name:"",gender:"",age:0}),a=O({appointmentMethod:"time",appointmentType:"video",patientId:0,date:"",appointmentTime:"",remark:"",channel_source:"",channel_source_detail:""}),J=new Set(["自媒体4H","自媒体3Q","自媒体3H","自媒体2H","自媒体2Q"]);function W(e){return J.has(String(e??"").trim())}const K=S(()=>{const e=a.channel_source;if(e===""||e==null)return"";const t=C.value.find(l=>String(l.value)===String(e));return t?String(t.name??"").trim():""}),A=S(()=>W(K.value)),X=e=>{const t=C.value.find(o=>String(o.value)===String(e)),l=t?String(t.name??"").trim():"";W(l)||(a.channel_source_detail="")},Z=S(()=>{if(!u.value||c.value.length===0)return[];const e=[],t=["日","一","二","三","四","五","六"],l=p().startOf("day");for(const o of c.value){const r=p(o);if(r.isBefore(l))continue;const g=`${r.format("MM月DD日")} (${t[r.day()]})`;e.push({date:o,label:g})}return e}),ee=S(()=>{if(!a.date||f.value.length===0)return[];const e=p().format("YYYY-MM-DD");if(!(a.date===e))return f.value;const l=p();return f.value.map(o=>{const r=p(`${a.date} ${o.time}`);return r.isBefore(l)||r.isSame(l,"minute")?{...o,available:!1}:o})}),te=()=>p().format("YYYY-MM-DD"),L=S(()=>a.date===te()),ae=S(()=>V.value?L.value?"该患者今日已有挂号(已预约或已过号),不能重复预约今天,请改选其他日期。":"该患者今日已有挂号记录;可为患者预约其他日期的时段。":""),$=S(()=>V.value&&L.value),le=S(()=>!$.value&&u.value&&a.date&&a.appointmentTime&&!!a.channel_source&&(!A.value||a.channel_source_detail.trim()!=="")),ne=j,oe=async e=>{Y.value=!0,_.id=e.patient_id||e.id,_.name=e.patient_name||e.name,_.gender=e.gender_desc||e.gender,_.age=e.age||0,a.appointmentMethod="time",a.appointmentType="video",a.patientId=_.id,u.value=0,a.date="",a.appointmentTime="",a.remark="",a.channel_source="",a.channel_source_detail="",f.value=[],c.value=[],E.value="",V.value=!1,await re(),await ue(),await ie(),await se()},se=async()=>{V.value=!1;const e=_.id;if(!e)return;const t=p().format("YYYY-MM-DD");try{const l=await q({patient_id:e,start_date:t,end_date:t,page_no:1,page_size:50}),r=((l==null?void 0:l.lists)||[]).find(g=>{const h=Number(g.status);return h===1||h===4});V.value=!!r}catch(l){console.error("检查今日挂号状态失败:",l)}},ie=async()=>{try{const e=await q({patient_id:_.id,status:3,page_no:1,page_size:1});if(e!=null&&e.lists&&e.lists.length>0){const t=e.lists[0];t.appointment_date&&t.appointment_time?E.value=`${t.appointment_date} ${t.appointment_time}`:t.appointment_date&&(E.value=t.appointment_date)}}catch(e){console.error("加载就诊记录失败:",e)}},re=async()=>{try{const e=await Le({type:"channels"}),t=((e==null?void 0:e.channels)||[]).filter(l=>l.status!==0);t.sort((l,o)=>{const r=Number((o==null?void 0:o.sort)??0)-Number((l==null?void 0:l.sort)??0);return r!==0?r:Number((o==null?void 0:o.id)??0)-Number((l==null?void 0:l.id)??0)}),C.value=t.map(l=>({...l,value:(l==null?void 0:l.value)!=null&&l.value!==""?String(l.value):""}))}catch(e){console.error("加载渠道来源失败:",e),C.value=[]}},ue=async()=>{try{T.value=!0;const e=await Ae();U.value=e||[]}catch(e){console.error("加载医生列表失败:",e),m.msgError("加载医生列表失败")}finally{T.value=!1}},de=()=>{u.value=0,a.date="",a.appointmentTime="",f.value=[]},me=async()=>{a.appointmentTime="",a.date="",f.value=[],c.value=[],u.value&&await ce()},ce=async()=>{if(u.value)try{T.value=!0;const e=p().format("YYYY-MM-DD"),t=p().add(6,"day").format("YYYY-MM-DD"),l=await Ue({doctor_id:u.value,start_date:e,end_date:t,status:1});if(l!=null&&l.lists&&l.lists.length>0){if(c.value=[...new Set(l.lists.map(o=>o.date))],c.value.sort(),await Fe(),c.value.length>0){const o=p().format("YYYY-MM-DD");let r=c.value.includes(o)?o:c.value[0];V.value&&r===o&&(r=c.value.find(h=>h>o)??c.value.find(h=>h!==o)??r),z(r)}}else c.value=[],m.msgWarning("该医生暂无排班")}catch(e){console.error("加载医生排班失败:",e),m.msgError("加载医生排班失败"),c.value=[]}finally{T.value=!1}},z=e=>{a.date=e,a.appointmentTime="",u.value&&H()},H=async()=>{if(!(!u.value||!a.date))try{T.value=!0;const e=await We({doctor_id:u.value,appointment_date:a.date,period:"all"});console.log("时间段数据:",e),f.value=((e==null?void 0:e.slots)||[]).map(t=>({time:t.time,available:t.available,quota:t.available?1:0})),console.log("处理后的时间段:",f.value)}catch(e){console.error("加载时间段失败:",e),m.msgError("加载时间段失败"),f.value=[]}finally{T.value=!1}},pe=e=>{if(!e.available){m.msgWarning("该时间段不可预约");return}a.appointmentTime=e.time},ve=async()=>{if(!(!u.value||!a.date))try{B.value=!0;const e=a.appointmentTime;if(a.appointmentTime="",await H(),e){const t=f.value.find(l=>l.time===e);t&&t.available&&(a.appointmentTime=e)}m.msgSuccess("刷新成功")}catch(e){console.error("刷新失败:",e),m.msgError("刷新失败,请重试")}finally{B.value=!1}},fe=async()=>{if(!u.value){m.msgWarning("请选择医生");return}if(!a.date){m.msgWarning("请选择日期");return}if(!a.appointmentTime){m.msgWarning("请选择预约时间");return}if(!a.channel_source){m.msgWarning("请选择渠道来源");return}if(A.value&&!a.channel_source_detail.trim()){m.msgWarning("请填写自媒体渠道补充信息");return}if($.value){m.msgWarning("该患者今日已有挂号(已预约或已过号),不能重复预约今天,请改选其他日期。");return}try{I.value=!0;const e={patient_id:_.id,doctor_id:u.value,appointment_date:a.date,period:"all",appointment_time:a.appointmentTime,appointment_type:a.appointmentType,remark:a.remark,channel_source:String(a.channel_source??""),channel_source_detail:a.channel_source_detail.trim()};console.log("提交预约参数:",e),await $e(e),m.msgSuccess("预约成功"),Y.value=!1,ne("success")}catch(e){console.error("预约失败:",e),m.msgError("预约失败")}finally{I.value=!1}};return P({open:oe}),(e,t)=>{const l=ke,o=Se,r=Ve,g=Te,h=Ye,_e=we,F=Ce,Q=Ee,M=Me,ge=De,ye=xe,he=Ne;return d(),b(ye,{modelValue:Y.value,"onUpdate:modelValue":t[8]||(t[8]=n=>Y.value=n),title:"预约问诊",direction:"rtl",size:"60%","close-on-click-modal":!1,"z-index":2e3},{footer:s(()=>[y("div",et,[i(M,{onClick:t[7]||(t[7]=n=>Y.value=!1)},{default:s(()=>[...t[13]||(t[13]=[D("取消",-1)])]),_:1}),i(M,{type:"primary",onClick:fe,loading:I.value,disabled:!le.value},{default:s(()=>[...t[14]||(t[14]=[D(" 确定 ",-1)])]),_:1},8,["loading","disabled"])])]),default:s(()=>[He((d(),k("div",null,[V.value?(d(),b(l,{key:0,type:L.value?"warning":"info",closable:!1,"show-icon":"",class:"today-block-alert",title:ae.value},null,8,["type","title"])):R("",!0),i(ge,{model:a,"label-width":"100px",class:"appointment-form"},{default:s(()=>[i(o,{label:"上次就诊:"},{default:s(()=>[y("span",qe,w(E.value||"无就诊记录"),1)]),_:1}),i(o,{label:"预约方式:"},{default:s(()=>[i(g,{modelValue:a.appointmentMethod,"onUpdate:modelValue":t[0]||(t[0]=n=>a.appointmentMethod=n),onChange:de},{default:s(()=>[i(r,{value:"time"},{default:s(()=>[...t[9]||(t[9]=[D("选择时段预约有专医生",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),i(o,{label:"预约类型:"},{default:s(()=>[i(g,{modelValue:a.appointmentType,"onUpdate:modelValue":t[1]||(t[1]=n=>a.appointmentType=n)},{default:s(()=>[i(r,{value:"video"},{default:s(()=>[...t[10]||(t[10]=[D("视频问诊",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),i(o,{label:"选择患者:"},{default:s(()=>[i(g,{modelValue:a.patientId,"onUpdate:modelValue":t[2]||(t[2]=n=>a.patientId=n)},{default:s(()=>[i(r,{value:_.id},{default:s(()=>[D(w(_.name),1)]),_:1},8,["value"])]),_:1},8,["modelValue"])]),_:1}),i(o,{label:"渠道来源:",required:""},{default:s(()=>[i(_e,{modelValue:a.channel_source,"onUpdate:modelValue":t[3]||(t[3]=n=>a.channel_source=n),placeholder:"请选择渠道来源",class:"channel-source-select",onChange:X},{default:s(()=>[(d(!0),k(N,null,x(C.value,n=>(d(),b(h,{key:String(n.value),label:n.name,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),A.value?(d(),b(o,{key:0,label:"自媒体补充:",required:""},{default:s(()=>[i(F,{modelValue:a.channel_source_detail,"onUpdate:modelValue":t[4]||(t[4]=n=>a.channel_source_detail=n),clearable:"",maxlength:"128","show-word-limit":"",placeholder:"请输入自媒体相关补充内容",class:"channel-source-select"},null,8,["modelValue"])]),_:1})):R("",!0),i(o,{label:"预约医生:"},{default:s(()=>[y("div",Ge,[i(g,{modelValue:u.value,"onUpdate:modelValue":t[5]||(t[5]=n=>u.value=n),onChange:me},{default:s(()=>[(d(!0),k(N,null,x(U.value,n=>(d(),b(r,{key:n.id,value:n.id,class:"doctor-radio"},{default:s(()=>[D(w(n.name),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"])])]),_:1}),i(o,{label:"预约时间:"},{default:s(()=>[u.value?u.value&&c.value.length===0?(d(),b(Q,{key:1,description:"该医生暂无排班","image-size":80})):(d(),k("div",Oe,[y("div",Pe,[(d(!0),k(N,null,x(Z.value,n=>(d(),b(M,{key:n.date,type:a.date===n.date?"primary":"",onClick:be=>z(n.date),class:"date-button"},{default:s(()=>[D(w(n.label),1)]),_:2},1032,["type","onClick"]))),128))]),a.date?(d(),k("div",je,[y("div",Je,[t[12]||(t[12]=y("span",{class:"header-title"},"可预约时段",-1)),i(M,{text:"",type:"primary",size:"small",loading:B.value,onClick:ve},{icon:s(()=>[i(Qe(Ie))]),default:s(()=>[t[11]||(t[11]=D(" 刷新 ",-1))]),_:1},8,["loading"])]),y("div",Ke,[(d(!0),k(N,null,x(ee.value,n=>(d(),k("div",{key:n.time,class:G(["time-slot-item",{available:n.available,unavailable:!n.available,selected:a.appointmentTime===n.time}]),onClick:be=>pe(n)},[y("div",Ze,w(n.time),1),y("div",{class:G(["slot-status",{"status-available":n.available}])},w(n.available?"可约":"已约"),3)],10,Xe))),128))])])):R("",!0)])):(d(),b(Q,{key:0,description:"请先选择医生","image-size":80}))]),_:1}),i(o,{label:"备注:"},{default:s(()=>[i(F,{modelValue:a.remark,"onUpdate:modelValue":t[6]||(t[6]=n=>a.remark=n),type:"textarea",rows:2,placeholder:"请输入备注信息"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])])),[[he,T.value]])]),_:1},8,["modelValue"])}}}),Ht=Re(tt,[["__scopeId","data-v-8ad36a51"]]);export{Ht as default}; diff --git a/server/public/admin/assets/appointment-D0hEffVf.js b/server/public/admin/assets/appointment-D0hEffVf.js deleted file mode 100644 index 77b4d72c..00000000 --- a/server/public/admin/assets/appointment-D0hEffVf.js +++ /dev/null @@ -1 +0,0 @@ -import{K as ke,D as De,B as we,G as Te,I as Ve,P as Se,Q as Ye,C as Ce,R as Ee,i as Me,L as Ne,e as xe}from"./element-plus-0wC3naml.js";import{L as Ie}from"./@element-plus/icons-vue-HOEUG8sr.js";import{d as p,g as Be}from"./dayjs-DG77mNTn.js";import{g as Ae}from"./tcm-SLIwsL8z.js";import{m as Le,i as m,_ as Re}from"./index-E47--KT7.js";import{c as q,r as Ue,g as We,l as $e}from"./doctor-6V0qM7Ks.js";import{f as ze,ak as d,G as b,aN as s,aP as He,I as k,H as R,a as i,J as y,O as D,F as N,ap as x,A as w,n as Fe}from"./@vue/runtime-core-C6bnekPw.js";import{Q as S,o as G}from"./@vue/shared-mAAVTE9n.js";import{y as Qe,n as v,r as O}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const qe={class:"text-gray-500"},Ge={class:"doctor-list"},Oe={key:2,class:"appointment-time-container"},Pe={class:"date-selector"},je={key:0,class:"time-slots-container"},Je={class:"time-slots-header"},Ke={class:"time-slots-grid"},Xe=["onClick"],Ze={class:"slot-time"},et={class:"drawer-footer"},tt=ze({__name:"appointment",emits:["success"],setup(at,{expose:P,emit:j}){p.extend(Be);const Y=v(!1),T=v(!1),I=v(!1),B=v(!1),U=v([]),f=v([]),E=v(""),u=v(0),c=v([]),C=v([]),V=v(!1),_=O({id:0,name:"",gender:"",age:0}),a=O({appointmentMethod:"time",appointmentType:"video",patientId:0,date:"",appointmentTime:"",remark:"",channel_source:"",channel_source_detail:""}),J=new Set(["自媒体4H","自媒体3Q","自媒体3H","自媒体2H","自媒体2Q"]);function W(e){return J.has(String(e??"").trim())}const K=w(()=>{const e=a.channel_source;if(e===""||e==null)return"";const t=C.value.find(n=>String(n.value)===String(e));return t?String(t.name??"").trim():""}),A=w(()=>W(K.value)),X=e=>{const t=C.value.find(l=>String(l.value)===String(e)),n=t?String(t.name??"").trim():"";W(n)||(a.channel_source_detail="")},Z=w(()=>{if(!u.value||c.value.length===0)return[];const e=[],t=["日","一","二","三","四","五","六"],n=p().startOf("day");for(const l of c.value){const r=p(l);if(r.isBefore(n))continue;const g=`${r.format("MM月DD日")} (${t[r.day()]})`;e.push({date:l,label:g})}return e}),ee=w(()=>{if(!a.date||f.value.length===0)return[];const e=p().format("YYYY-MM-DD");if(!(a.date===e))return f.value;const n=p();return f.value.map(l=>{const r=p(`${a.date} ${l.time}`);return r.isBefore(n)||r.isSame(n,"minute")?{...l,available:!1}:l})}),te=()=>p().format("YYYY-MM-DD"),L=w(()=>a.date===te()),ae=w(()=>V.value?L.value?"该患者今日已有挂号(已预约或已过号),不能重复预约今天,请改选其他日期。":"该患者今日已有挂号记录;可为患者预约其他日期的时段。":""),$=w(()=>V.value&&L.value),oe=w(()=>!$.value&&u.value&&a.date&&a.appointmentTime&&!!a.channel_source&&(!A.value||a.channel_source_detail.trim()!=="")),le=j,ne=async e=>{Y.value=!0,_.id=e.patient_id||e.id,_.name=e.patient_name||e.name,_.gender=e.gender_desc||e.gender,_.age=e.age||0,a.appointmentMethod="time",a.appointmentType="video",a.patientId=_.id,u.value=0,a.date="",a.appointmentTime="",a.remark="",a.channel_source="",a.channel_source_detail="",f.value=[],c.value=[],E.value="",V.value=!1,await re(),await ue(),await ie(),await se()},se=async()=>{V.value=!1;const e=_.id;if(!e)return;const t=p().format("YYYY-MM-DD");try{const n=await q({patient_id:e,start_date:t,end_date:t,page_no:1,page_size:50}),r=((n==null?void 0:n.lists)||[]).find(g=>{const h=Number(g.status);return h===1||h===4});V.value=!!r}catch(n){console.error("检查今日挂号状态失败:",n)}},ie=async()=>{try{const e=await q({patient_id:_.id,status:3,page_no:1,page_size:1});if(e!=null&&e.lists&&e.lists.length>0){const t=e.lists[0];t.appointment_date&&t.appointment_time?E.value=`${t.appointment_date} ${t.appointment_time}`:t.appointment_date&&(E.value=t.appointment_date)}}catch(e){console.error("加载就诊记录失败:",e)}},re=async()=>{try{const e=await Le({type:"channels"}),t=((e==null?void 0:e.channels)||[]).filter(n=>n.status!==0);t.sort((n,l)=>{const r=Number((l==null?void 0:l.sort)??0)-Number((n==null?void 0:n.sort)??0);return r!==0?r:Number((l==null?void 0:l.id)??0)-Number((n==null?void 0:n.id)??0)}),C.value=t}catch(e){console.error("加载渠道来源失败:",e),C.value=[]}},ue=async()=>{try{T.value=!0;const e=await Ae();U.value=e||[]}catch(e){console.error("加载医生列表失败:",e),m.msgError("加载医生列表失败")}finally{T.value=!1}},de=()=>{u.value=0,a.date="",a.appointmentTime="",f.value=[]},me=async()=>{a.appointmentTime="",a.date="",f.value=[],c.value=[],u.value&&await ce()},ce=async()=>{if(u.value)try{T.value=!0;const e=p().format("YYYY-MM-DD"),t=p().add(6,"day").format("YYYY-MM-DD"),n=await Ue({doctor_id:u.value,start_date:e,end_date:t,status:1});if(n!=null&&n.lists&&n.lists.length>0){if(c.value=[...new Set(n.lists.map(l=>l.date))],c.value.sort(),await Fe(),c.value.length>0){const l=p().format("YYYY-MM-DD");let r=c.value.includes(l)?l:c.value[0];V.value&&r===l&&(r=c.value.find(h=>h>l)??c.value.find(h=>h!==l)??r),z(r)}}else c.value=[],m.msgWarning("该医生暂无排班")}catch(e){console.error("加载医生排班失败:",e),m.msgError("加载医生排班失败"),c.value=[]}finally{T.value=!1}},z=e=>{a.date=e,a.appointmentTime="",u.value&&H()},H=async()=>{if(!(!u.value||!a.date))try{T.value=!0;const e=await We({doctor_id:u.value,appointment_date:a.date,period:"all"});console.log("时间段数据:",e),f.value=((e==null?void 0:e.slots)||[]).map(t=>({time:t.time,available:t.available,quota:t.available?1:0})),console.log("处理后的时间段:",f.value)}catch(e){console.error("加载时间段失败:",e),m.msgError("加载时间段失败"),f.value=[]}finally{T.value=!1}},pe=e=>{if(!e.available){m.msgWarning("该时间段不可预约");return}a.appointmentTime=e.time},ve=async()=>{if(!(!u.value||!a.date))try{B.value=!0;const e=a.appointmentTime;if(a.appointmentTime="",await H(),e){const t=f.value.find(n=>n.time===e);t&&t.available&&(a.appointmentTime=e)}m.msgSuccess("刷新成功")}catch(e){console.error("刷新失败:",e),m.msgError("刷新失败,请重试")}finally{B.value=!1}},fe=async()=>{if(!u.value){m.msgWarning("请选择医生");return}if(!a.date){m.msgWarning("请选择日期");return}if(!a.appointmentTime){m.msgWarning("请选择预约时间");return}if(!a.channel_source){m.msgWarning("请选择渠道来源");return}if(A.value&&!a.channel_source_detail.trim()){m.msgWarning("请填写自媒体渠道补充信息");return}if($.value){m.msgWarning("该患者今日已有挂号(已预约或已过号),不能重复预约今天,请改选其他日期。");return}try{I.value=!0;const e={patient_id:_.id,doctor_id:u.value,appointment_date:a.date,period:"all",appointment_time:a.appointmentTime,appointment_type:a.appointmentType,remark:a.remark,channel_source:a.channel_source,channel_source_detail:a.channel_source_detail.trim()};console.log("提交预约参数:",e),await $e(e),m.msgSuccess("预约成功"),Y.value=!1,le("success")}catch(e){console.error("预约失败:",e),m.msgError("预约失败")}finally{I.value=!1}};return P({open:ne}),(e,t)=>{const n=ke,l=we,r=Ve,g=Te,h=Ye,_e=Se,F=Ce,Q=Ee,M=Me,ge=De,ye=xe,he=Ne;return d(),b(ye,{modelValue:Y.value,"onUpdate:modelValue":t[8]||(t[8]=o=>Y.value=o),title:"预约问诊",direction:"rtl",size:"60%","close-on-click-modal":!1,"z-index":2e3},{footer:s(()=>[y("div",et,[i(M,{onClick:t[7]||(t[7]=o=>Y.value=!1)},{default:s(()=>[...t[13]||(t[13]=[D("取消",-1)])]),_:1}),i(M,{type:"primary",onClick:fe,loading:I.value,disabled:!oe.value},{default:s(()=>[...t[14]||(t[14]=[D(" 确定 ",-1)])]),_:1},8,["loading","disabled"])])]),default:s(()=>[He((d(),k("div",null,[V.value?(d(),b(n,{key:0,type:L.value?"warning":"info",closable:!1,"show-icon":"",class:"today-block-alert",title:ae.value},null,8,["type","title"])):R("",!0),i(ge,{model:a,"label-width":"100px",class:"appointment-form"},{default:s(()=>[i(l,{label:"上次就诊:"},{default:s(()=>[y("span",qe,S(E.value||"无就诊记录"),1)]),_:1}),i(l,{label:"预约方式:"},{default:s(()=>[i(g,{modelValue:a.appointmentMethod,"onUpdate:modelValue":t[0]||(t[0]=o=>a.appointmentMethod=o),onChange:de},{default:s(()=>[i(r,{value:"time"},{default:s(()=>[...t[9]||(t[9]=[D("选择时段预约有专医生",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),i(l,{label:"预约类型:"},{default:s(()=>[i(g,{modelValue:a.appointmentType,"onUpdate:modelValue":t[1]||(t[1]=o=>a.appointmentType=o)},{default:s(()=>[i(r,{value:"video"},{default:s(()=>[...t[10]||(t[10]=[D("视频问诊",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),i(l,{label:"选择患者:"},{default:s(()=>[i(g,{modelValue:a.patientId,"onUpdate:modelValue":t[2]||(t[2]=o=>a.patientId=o)},{default:s(()=>[i(r,{value:_.id},{default:s(()=>[D(S(_.name),1)]),_:1},8,["value"])]),_:1},8,["modelValue"])]),_:1}),i(l,{label:"渠道来源:",required:""},{default:s(()=>[i(_e,{modelValue:a.channel_source,"onUpdate:modelValue":t[3]||(t[3]=o=>a.channel_source=o),placeholder:"请选择渠道来源",class:"channel-source-select",onChange:X},{default:s(()=>[(d(!0),k(N,null,x(C.value,o=>(d(),b(h,{key:o.value,label:o.name,value:o.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),A.value?(d(),b(l,{key:0,label:"自媒体补充:",required:""},{default:s(()=>[i(F,{modelValue:a.channel_source_detail,"onUpdate:modelValue":t[4]||(t[4]=o=>a.channel_source_detail=o),clearable:"",maxlength:"128","show-word-limit":"",placeholder:"请输入自媒体相关补充内容",class:"channel-source-select"},null,8,["modelValue"])]),_:1})):R("",!0),i(l,{label:"预约医生:"},{default:s(()=>[y("div",Ge,[i(g,{modelValue:u.value,"onUpdate:modelValue":t[5]||(t[5]=o=>u.value=o),onChange:me},{default:s(()=>[(d(!0),k(N,null,x(U.value,o=>(d(),b(r,{key:o.id,value:o.id,class:"doctor-radio"},{default:s(()=>[D(S(o.name),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"])])]),_:1}),i(l,{label:"预约时间:"},{default:s(()=>[u.value?u.value&&c.value.length===0?(d(),b(Q,{key:1,description:"该医生暂无排班","image-size":80})):(d(),k("div",Oe,[y("div",Pe,[(d(!0),k(N,null,x(Z.value,o=>(d(),b(M,{key:o.date,type:a.date===o.date?"primary":"",onClick:be=>z(o.date),class:"date-button"},{default:s(()=>[D(S(o.label),1)]),_:2},1032,["type","onClick"]))),128))]),a.date?(d(),k("div",je,[y("div",Je,[t[12]||(t[12]=y("span",{class:"header-title"},"可预约时段",-1)),i(M,{text:"",type:"primary",size:"small",loading:B.value,onClick:ve},{icon:s(()=>[i(Qe(Ie))]),default:s(()=>[t[11]||(t[11]=D(" 刷新 ",-1))]),_:1},8,["loading"])]),y("div",Ke,[(d(!0),k(N,null,x(ee.value,o=>(d(),k("div",{key:o.time,class:G(["time-slot-item",{available:o.available,unavailable:!o.available,selected:a.appointmentTime===o.time}]),onClick:be=>pe(o)},[y("div",Ze,S(o.time),1),y("div",{class:G(["slot-status",{"status-available":o.available}])},S(o.available?"可约":"已约"),3)],10,Xe))),128))])])):R("",!0)])):(d(),b(Q,{key:0,description:"请先选择医生","image-size":80}))]),_:1}),i(l,{label:"备注:"},{default:s(()=>[i(F,{modelValue:a.remark,"onUpdate:modelValue":t[6]||(t[6]=o=>a.remark=o),type:"textarea",rows:2,placeholder:"请输入备注信息"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])])),[[he,T.value]])]),_:1},8,["modelValue"])}}}),Ht=Re(tt,[["__scopeId","data-v-0586cc07"]]);export{Ht as default}; diff --git a/server/public/admin/assets/appointment-DHf6UVnR.css b/server/public/admin/assets/appointment-DHf6UVnR.css new file mode 100644 index 00000000..156d4a98 --- /dev/null +++ b/server/public/admin/assets/appointment-DHf6UVnR.css @@ -0,0 +1 @@ +.today-block-alert[data-v-8ad36a51]{margin-bottom:16px}.appointment-form[data-v-8ad36a51] .el-form-item__label{font-weight:500}.appointment-form .channel-source-select[data-v-8ad36a51]{width:100%;max-width:360px}.doctor-list[data-v-8ad36a51]{display:flex;flex-wrap:wrap;gap:12px}.doctor-list .doctor-radio[data-v-8ad36a51]{margin-right:0}.doctor-list .doctor-radio[data-v-8ad36a51] .el-radio__label{display:flex;align-items:center}.appointment-time-container[data-v-8ad36a51]{width:100%}.date-selector[data-v-8ad36a51]{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.date-selector .date-button[data-v-8ad36a51]{min-width:130px;height:40px;font-size:14px;border-radius:8px;transition:all .2s}.date-selector .date-button[data-v-8ad36a51]:hover{transform:translateY(-2px);box-shadow:0 2px 8px #0000001a}.time-slots-container[data-v-8ad36a51]{background-color:#f8f9fa;border-radius:8px;padding:16px}.time-slots-header[data-v-8ad36a51]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.time-slots-header .header-title[data-v-8ad36a51]{font-size:15px;font-weight:600;color:#303133}.time-slots-grid[data-v-8ad36a51]{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;max-height:450px;overflow-y:auto;padding:2px}.time-slots-grid[data-v-8ad36a51]::-webkit-scrollbar{width:6px}.time-slots-grid[data-v-8ad36a51]::-webkit-scrollbar-thumb{background-color:#dcdfe6;border-radius:3px}.time-slots-grid[data-v-8ad36a51]::-webkit-scrollbar-thumb:hover{background-color:#c0c4cc}.time-slots-grid .time-slot-item[data-v-8ad36a51]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 8px;border:2px solid #e4e7ed;border-radius:8px;cursor:pointer;transition:all .2s;background-color:#fff;min-height:70px}.time-slots-grid .time-slot-item .slot-time[data-v-8ad36a51]{font-size:15px;font-weight:600;color:#303133;margin-bottom:6px}.time-slots-grid .time-slot-item .slot-status[data-v-8ad36a51]{font-size:12px;color:#909399;padding:0 8px;border-radius:4px;background-color:#f4f4f5}.time-slots-grid .time-slot-item .slot-status.status-available[data-v-8ad36a51]{color:#67c23a;background-color:#f0f9ff}.time-slots-grid .time-slot-item.available[data-v-8ad36a51]{border-color:#e4e7ed}.time-slots-grid .time-slot-item.available[data-v-8ad36a51]:hover{border-color:#409eff;background-color:#ecf5ff;transform:translateY(-2px);box-shadow:0 4px 12px #409eff26}.time-slots-grid .time-slot-item.unavailable[data-v-8ad36a51]{background-color:#f5f7fa;border-color:#e4e7ed;cursor:not-allowed;opacity:.6}.time-slots-grid .time-slot-item.unavailable .slot-time[data-v-8ad36a51]{color:#c0c4cc}.time-slots-grid .time-slot-item.unavailable .slot-status[data-v-8ad36a51]{color:#c0c4cc;background-color:#f5f7fa}.time-slots-grid .time-slot-item.unavailable[data-v-8ad36a51]:hover{transform:none;box-shadow:none}.time-slots-grid .time-slot-item.selected[data-v-8ad36a51]{border-color:#409eff;background:linear-gradient(135deg,#409eff,#66b1ff);box-shadow:0 4px 12px #409eff4d}.time-slots-grid .time-slot-item.selected .slot-time[data-v-8ad36a51]{color:#fff}.time-slots-grid .time-slot-item.selected .slot-status[data-v-8ad36a51]{color:#fff;background-color:#fff3}[data-v-8ad36a51] .el-radio-group{display:flex;flex-wrap:wrap;gap:12px}[data-v-8ad36a51] .el-radio{margin-right:0}.drawer-footer[data-v-8ad36a51]{display:flex;justify-content:flex-end;gap:12px;padding:12px 0} diff --git a/server/public/admin/assets/article-DJnP6RZd.js b/server/public/admin/assets/article-BnVIxFkr.js similarity index 93% rename from server/public/admin/assets/article-DJnP6RZd.js rename to server/public/admin/assets/article-BnVIxFkr.js index 02bd037f..aeed1305 100644 --- a/server/public/admin/assets/article-DJnP6RZd.js +++ b/server/public/admin/assets/article-BnVIxFkr.js @@ -1 +1 @@ -import{r as e}from"./index-E47--KT7.js";function a(t){return e.get({url:"/article.articleCate/lists",params:t})}function l(t){return e.get({url:"/article.articleCate/all",params:t})}function i(t){return e.post({url:"/article.articleCate/add",params:t})}function c(t){return e.post({url:"/article.articleCate/edit",params:t})}function u(t){return e.post({url:"/article.articleCate/delete",params:t})}function n(t){return e.get({url:"/article.articleCate/detail",params:t})}function s(t){return e.post({url:"/article.articleCate/updateStatus",params:t})}function o(t){return e.get({url:"/article.article/lists",params:t})}function d(t){return e.post({url:"/article.article/add",params:t})}function f(t){return e.post({url:"/article.article/edit",params:t})}function C(t){return e.post({url:"/article.article/delete",params:t})}function p(t){return e.get({url:"/article.article/detail",params:t})}function g(t){return e.post({url:"/article.article/updateStatus",params:t})}export{a,u as b,s as c,c as d,i as e,n as f,p as g,f as h,d as i,l as j,o as k,g as l,C as m}; +import{r as e}from"./index-DBREMm_z.js";function a(t){return e.get({url:"/article.articleCate/lists",params:t})}function l(t){return e.get({url:"/article.articleCate/all",params:t})}function i(t){return e.post({url:"/article.articleCate/add",params:t})}function c(t){return e.post({url:"/article.articleCate/edit",params:t})}function u(t){return e.post({url:"/article.articleCate/delete",params:t})}function n(t){return e.get({url:"/article.articleCate/detail",params:t})}function s(t){return e.post({url:"/article.articleCate/updateStatus",params:t})}function o(t){return e.get({url:"/article.article/lists",params:t})}function d(t){return e.post({url:"/article.article/add",params:t})}function f(t){return e.post({url:"/article.article/edit",params:t})}function C(t){return e.post({url:"/article.article/delete",params:t})}function p(t){return e.get({url:"/article.article/detail",params:t})}function g(t){return e.post({url:"/article.article/updateStatus",params:t})}export{a,u as b,s as c,c as d,i as e,n as f,p as g,f as h,d as i,l as j,o as k,g as l,C as m}; diff --git a/server/public/admin/assets/attr-DPrxRs4q.js b/server/public/admin/assets/attr-BGQKZVLO.js similarity index 63% rename from server/public/admin/assets/attr-DPrxRs4q.js rename to server/public/admin/assets/attr-BGQKZVLO.js index 1bbeb855..9e24c9b5 100644 --- a/server/public/admin/assets/attr-DPrxRs4q.js +++ b/server/public/admin/assets/attr-BGQKZVLO.js @@ -1 +1 @@ -import{_ as o}from"./attr.vue_vue_type_script_setup_true_lang-A0LOU1hn.js";import"./element-plus-0wC3naml.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-BHTgr4Ka.js";import"./index-E47--KT7.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./picker-B9b8bj5N.js";import"./index-nymJKQXP.js";import"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import"./article-DJnP6RZd.js";import"./usePaging-VsbTxSU0.js";import"./picker-DlbAZkDm.js";import"./index-B56X8bEB.js";import"./index-Ci4dcEQh.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-DoYUJmkp.js";import"./index.vue_vue_type_script_setup_true_lang-Bl0f8aX8.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";export{o as default}; +import{_ as o}from"./attr.vue_vue_type_script_setup_true_lang-mOGAGDW2.js";import"./element-plus-DFTWCWyi.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-CbfZXeGu.js";import"./index-DBREMm_z.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./picker-DPnqJ8Gk.js";import"./index-BwF7vczx.js";import"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import"./article-BnVIxFkr.js";import"./usePaging-VsbTxSU0.js";import"./picker-BCRrEZaA.js";import"./index-BiPYXDtP.js";import"./index-CRoZWY-W.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-BimpIRb_.js";import"./index.vue_vue_type_script_setup_true_lang-x0oL2ShL.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";export{o as default}; diff --git a/server/public/admin/assets/attr-Dta0v7QA.js b/server/public/admin/assets/attr-BPRvWNmc.js similarity index 73% rename from server/public/admin/assets/attr-Dta0v7QA.js rename to server/public/admin/assets/attr-BPRvWNmc.js index 485804eb..28d6ddd3 100644 --- a/server/public/admin/assets/attr-Dta0v7QA.js +++ b/server/public/admin/assets/attr-BPRvWNmc.js @@ -1 +1 @@ -import{m as b,l as c,D as V}from"./element-plus-0wC3naml.js";import{_ as l}from"./menu-set.vue_vue_type_script_setup_true_lang-ZzWuHRXB.js";import{f as v,ak as x,I as k,J as E,a as o,aN as e,F as g,A as w}from"./@vue/runtime-core-C6bnekPw.js";import{y as r}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-BHTgr4Ka.js";import"./index-E47--KT7.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./picker-B9b8bj5N.js";import"./index-nymJKQXP.js";import"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import"./article-DJnP6RZd.js";import"./usePaging-VsbTxSU0.js";import"./picker-DlbAZkDm.js";import"./index-B56X8bEB.js";import"./index-Ci4dcEQh.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-DoYUJmkp.js";import"./index.vue_vue_type_script_setup_true_lang-Bl0f8aX8.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";const Bt=v({__name:"attr",props:{modelValue:{type:Object,default:()=>({nav:[],menu:{}})}},emits:["update:modelValue"],setup(n,{emit:s}){const u=n,d=s,m=w({get(){return u.modelValue},set(i){d("update:modelValue",i)}});return(i,t)=>{const a=c,f=b,_=V;return x(),k(g,null,[t[2]||(t[2]=E("div",{class:"title flex items-center before:w-[3px] before:h-[14px] before:block before:bg-primary before:mr-2"}," pc导航设置 ",-1)),o(_,{class:"mt-4","label-width":"70px"},{default:e(()=>[o(f,{"model-value":"nav"},{default:e(()=>[o(a,{label:"主导航设置",name:"nav"},{default:e(()=>[o(l,{modelValue:r(m).nav,"onUpdate:modelValue":t[0]||(t[0]=p=>r(m).nav=p)},null,8,["modelValue"])]),_:1}),o(a,{label:"菜单设置",name:"menu"},{default:e(()=>[o(l,{modelValue:r(m).menu,"onUpdate:modelValue":t[1]||(t[1]=p=>r(m).menu=p)},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})],64)}}});export{Bt as default}; +import{m as b,l as c,D as V}from"./element-plus-DFTWCWyi.js";import{_ as l}from"./menu-set.vue_vue_type_script_setup_true_lang-DE6tDAas.js";import{f as v,ak as x,I as k,J as E,a as o,aN as e,F as g,A as w}from"./@vue/runtime-core-C6bnekPw.js";import{y as r}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-CbfZXeGu.js";import"./index-DBREMm_z.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./picker-DPnqJ8Gk.js";import"./index-BwF7vczx.js";import"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import"./article-BnVIxFkr.js";import"./usePaging-VsbTxSU0.js";import"./picker-BCRrEZaA.js";import"./index-BiPYXDtP.js";import"./index-CRoZWY-W.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-BimpIRb_.js";import"./index.vue_vue_type_script_setup_true_lang-x0oL2ShL.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";const Bt=v({__name:"attr",props:{modelValue:{type:Object,default:()=>({nav:[],menu:{}})}},emits:["update:modelValue"],setup(n,{emit:s}){const u=n,d=s,m=w({get(){return u.modelValue},set(i){d("update:modelValue",i)}});return(i,t)=>{const a=c,f=b,_=V;return x(),k(g,null,[t[2]||(t[2]=E("div",{class:"title flex items-center before:w-[3px] before:h-[14px] before:block before:bg-primary before:mr-2"}," pc导航设置 ",-1)),o(_,{class:"mt-4","label-width":"70px"},{default:e(()=>[o(f,{"model-value":"nav"},{default:e(()=>[o(a,{label:"主导航设置",name:"nav"},{default:e(()=>[o(l,{modelValue:r(m).nav,"onUpdate:modelValue":t[0]||(t[0]=p=>r(m).nav=p)},null,8,["modelValue"])]),_:1}),o(a,{label:"菜单设置",name:"menu"},{default:e(()=>[o(l,{modelValue:r(m).menu,"onUpdate:modelValue":t[1]||(t[1]=p=>r(m).menu=p)},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})],64)}}});export{Bt as default}; diff --git a/server/public/admin/assets/attr-8ElsMl3U.js b/server/public/admin/assets/attr-BjTmZ7w3.js similarity index 69% rename from server/public/admin/assets/attr-8ElsMl3U.js rename to server/public/admin/assets/attr-BjTmZ7w3.js index eca75a6c..963e9790 100644 --- a/server/public/admin/assets/attr-8ElsMl3U.js +++ b/server/public/admin/assets/attr-BjTmZ7w3.js @@ -1 +1 @@ -import{_ as o}from"./attr.vue_vue_type_script_setup_true_lang-BN--zfly.js";import"./element-plus-0wC3naml.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./picker-DlbAZkDm.js";import"./index-nymJKQXP.js";import"./index-E47--KT7.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-B56X8bEB.js";import"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import"./index-BHTgr4Ka.js";import"./index-Ci4dcEQh.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-DoYUJmkp.js";import"./index.vue_vue_type_script_setup_true_lang-Bl0f8aX8.js";import"./usePaging-VsbTxSU0.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";export{o as default}; +import{_ as o}from"./attr.vue_vue_type_script_setup_true_lang-c_YeWJqI.js";import"./element-plus-DFTWCWyi.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./picker-BCRrEZaA.js";import"./index-BwF7vczx.js";import"./index-DBREMm_z.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-BiPYXDtP.js";import"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import"./index-CbfZXeGu.js";import"./index-CRoZWY-W.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-BimpIRb_.js";import"./index.vue_vue_type_script_setup_true_lang-x0oL2ShL.js";import"./usePaging-VsbTxSU0.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";export{o as default}; diff --git a/server/public/admin/assets/attr-CLlbMhxO.js b/server/public/admin/assets/attr-BsXOKCNj.js similarity index 90% rename from server/public/admin/assets/attr-CLlbMhxO.js rename to server/public/admin/assets/attr-BsXOKCNj.js index c18e2125..73ad0caf 100644 --- a/server/public/admin/assets/attr-CLlbMhxO.js +++ b/server/public/admin/assets/attr-BsXOKCNj.js @@ -1 +1 @@ -import{J as O,G as R,I as A,B as J,C as S,g as H,i as T,D as q}from"./element-plus-0wC3naml.js";import{_ as K}from"./index-BHTgr4Ka.js";import{c as L,i as E,_ as M}from"./index-E47--KT7.js";import{_ as P}from"./picker-B9b8bj5N.js";import{_ as Q}from"./picker-DlbAZkDm.js";import{D as W}from"./vuedraggable-5bKFmC7X.js";import{k as h}from"./lodash-es-C2A-Pj28.js";import{f as X,ak as s,G as p,aN as t,a as o,J as l,O as _,H as x,I as b,F as Y,A as Z}from"./@vue/runtime-core-C6bnekPw.js";import{y as r}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-nymJKQXP.js";import"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import"./article-DJnP6RZd.js";import"./usePaging-VsbTxSU0.js";import"./index-B56X8bEB.js";import"./index-Ci4dcEQh.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-DoYUJmkp.js";import"./index.vue_vue_type_script_setup_true_lang-Bl0f8aX8.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";const ee={class:"flex items-end"},te={key:0,class:"text-xs text-tx-secondary ml-2"},oe={key:1,class:"text-xs text-tx-secondary ml-2"},le={class:"flex-1"},ae={class:"bg-fill-light w-full p-4 mt-4"},ne={class:"flex justify-center w-[467px]"},se={class:"flex-1"},de={class:"flex-1 flex items-center"},me={class:"drag-move cursor-move ml-auto"},ie={key:0,class:"mt-4"},v=5,pe=X({__name:"attr",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})},type:{type:String,default:"mobile"}},emits:["update:content"],setup(d,{emit:C}){const g=C,f=d,u=Z({get:()=>f.content,set:m=>{g("update:content",m)}}),B=()=>{var m;if(((m=f.content.data)==null?void 0:m.length){var i;if(((i=f.content.data)==null?void 0:i.length)<=1)return E.msgError("最少保留一张图片");const e=h(f.content);e.data.splice(m,1),g("update:content",e)};return(m,e)=>{const i=A,k=R,V=O,y=Q,I=P,N=S,w=J,F=H,$=L,j=K,z=T,G=q;return s(),p(G,{"label-width":"70px"},{default:t(()=>[o(V,{shadow:"never",class:"!border-none flex mt-2"},{default:t(()=>[e[5]||(e[5]=l("div",{class:"flex items-end mb-4"},[l("div",{class:"text-base dark:text-[#ffffff] text-[#101010] font-medium"},"展示样式")],-1)),o(k,{modelValue:r(u).style,"onUpdate:modelValue":e[0]||(e[0]=c=>r(u).style=c)},{default:t(()=>[o(i,{value:1},{default:t(()=>[...e[3]||(e[3]=[_("常规",-1)])]),_:1}),o(i,{value:2},{default:t(()=>[...e[4]||(e[4]=[_("大屏",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),d.content.style==1?(s(),p(V,{key:0,shadow:"never",class:"!border-none flex mt-2"},{default:t(()=>[e[8]||(e[8]=l("div",{class:"flex items-end mb-4"},[l("div",{class:"text-base text-[#101010] dark:text-[#ffffff] font-medium"},"背景联动")],-1)),o(k,{modelValue:r(u).bg_style,"onUpdate:modelValue":e[1]||(e[1]=c=>r(u).bg_style=c)},{default:t(()=>[o(i,{value:1},{default:t(()=>[...e[6]||(e[6]=[_("开启",-1)])]),_:1}),o(i,{value:0},{default:t(()=>[...e[7]||(e[7]=[_("关闭",-1)])]),_:1})]),_:1},8,["modelValue"]),e[9]||(e[9]=l("div",{class:"p-[15px] rounded-[8px] bg-[#f3f8ff] text-[#136bdf] mt-2"}," 开启背景联动后,需为轮播图设置背景图,轮播图切换时,背景图也跟随切换,此时该页面自身的“页面背景“设置将失效。 ",-1))]),_:1})):x("",!0),o(V,{shadow:"never",class:"!border-none flex-1 mt-2"},{default:t(()=>{var c;return[l("div",ee,[e[10]||(e[10]=l("div",{class:"text-base text-[#101010] dark:text-[#ffffff] font-medium"},"轮播图片",-1)),d.content.style==1?(s(),b("div",te," 最多添加5张,建议图片尺寸:750px*340px ")):(s(),b("div",oe," 最多添加5张,建议图片尺寸:750px*1100px "))]),l("div",le,[o(r(W),{class:"draggable",modelValue:r(u).data,"onUpdate:modelValue":e[2]||(e[2]=a=>r(u).data=a),animation:"300",handle:".drag-move","item-key":"index"},{item:t(({element:a,index:U})=>[(s(),p(j,{key:U,onClose:n=>D(U),class:"w-full"},{default:t(()=>[l("div",ae,[l("div",ne,[d.content.style==1?(s(),b(Y,{key:0},[o(y,{size:"122px",modelValue:a.image,"onUpdate:modelValue":n=>a.image=n,"upload-class":"bg-body","exclude-domain":""},{upload:t(()=>[...e[11]||(e[11]=[l("div",{class:"w-[122px] h-[122px] banner-upload-btn"}," 轮播图 ",-1)])]),_:1},8,["modelValue","onUpdate:modelValue"]),d.content.style==1||d.content.bg_style==1?(s(),p(y,{key:0,class:"ml-[40px]",size:"122px",modelValue:a.bg,"onUpdate:modelValue":n=>a.bg=n,"upload-class":"bg-body","exclude-domain":""},{upload:t(()=>[...e[12]||(e[12]=[l("div",{class:"w-[122px] h-[122px] banner-upload-btn"}," 背景图 ",-1)])]),_:1},8,["modelValue","onUpdate:modelValue"])):x("",!0)],64)):(s(),p(y,{key:1,width:"396px",height:"196px",modelValue:a.image,"onUpdate:modelValue":n=>a.image=n,"upload-class":"bg-body","exclude-domain":""},null,8,["modelValue","onUpdate:modelValue"]))]),l("div",se,[o(w,{class:"mt-[18px]",label:"图片链接"},{default:t(()=>[d.type=="mobile"?(s(),p(I,{key:0,modelValue:a.link,"onUpdate:modelValue":n=>a.link=n},null,8,["modelValue","onUpdate:modelValue"])):x("",!0),d.type=="pc"?(s(),p(N,{key:1,placeholder:"请输入链接",modelValue:a.link.path,"onUpdate:modelValue":n=>a.link.path=n},null,8,["modelValue","onUpdate:modelValue"])):x("",!0)]),_:2},1024),o(w,{label:"是否显示",class:"mt-[18px] !mb-0"},{default:t(()=>[l("div",de,[o(F,{modelValue:a.is_show,"onUpdate:modelValue":n=>a.is_show=n,"active-value":"1","inactive-value":"0"},null,8,["modelValue","onUpdate:modelValue"]),l("div",me,[o($,{name:"el-icon-Rank",size:"18"})])])]),_:2},1024)])])]),_:2},1032,["onClose"]))]),_:1},8,["modelValue"])]),((c=d.content.data)==null?void 0:c.length)[...e[13]||(e[13]=[_("添加图片",-1)])]),_:1})])):x("",!0)]}),_:1})]),_:1})}}}),rt=M(pe,[["__scopeId","data-v-f10c74d9"]]);export{rt as default}; +import{J as O,G as R,I as A,B as J,C as S,g as H,i as T,D as q}from"./element-plus-DFTWCWyi.js";import{_ as K}from"./index-CbfZXeGu.js";import{c as L,i as E,_ as M}from"./index-DBREMm_z.js";import{_ as P}from"./picker-DPnqJ8Gk.js";import{_ as Q}from"./picker-BCRrEZaA.js";import{D as W}from"./vuedraggable-5bKFmC7X.js";import{k as h}from"./lodash-es-C2A-Pj28.js";import{f as X,ak as s,G as p,aN as t,a as o,J as l,O as _,H as x,I as b,F as Y,A as Z}from"./@vue/runtime-core-C6bnekPw.js";import{y as r}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-BwF7vczx.js";import"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import"./article-BnVIxFkr.js";import"./usePaging-VsbTxSU0.js";import"./index-BiPYXDtP.js";import"./index-CRoZWY-W.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-BimpIRb_.js";import"./index.vue_vue_type_script_setup_true_lang-x0oL2ShL.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";const ee={class:"flex items-end"},te={key:0,class:"text-xs text-tx-secondary ml-2"},oe={key:1,class:"text-xs text-tx-secondary ml-2"},le={class:"flex-1"},ae={class:"bg-fill-light w-full p-4 mt-4"},ne={class:"flex justify-center w-[467px]"},se={class:"flex-1"},de={class:"flex-1 flex items-center"},me={class:"drag-move cursor-move ml-auto"},ie={key:0,class:"mt-4"},v=5,pe=X({__name:"attr",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})},type:{type:String,default:"mobile"}},emits:["update:content"],setup(d,{emit:C}){const g=C,f=d,u=Z({get:()=>f.content,set:m=>{g("update:content",m)}}),B=()=>{var m;if(((m=f.content.data)==null?void 0:m.length){var i;if(((i=f.content.data)==null?void 0:i.length)<=1)return E.msgError("最少保留一张图片");const e=h(f.content);e.data.splice(m,1),g("update:content",e)};return(m,e)=>{const i=A,k=R,V=O,y=Q,I=P,N=S,w=J,F=H,$=L,j=K,z=T,G=q;return s(),p(G,{"label-width":"70px"},{default:t(()=>[o(V,{shadow:"never",class:"!border-none flex mt-2"},{default:t(()=>[e[5]||(e[5]=l("div",{class:"flex items-end mb-4"},[l("div",{class:"text-base dark:text-[#ffffff] text-[#101010] font-medium"},"展示样式")],-1)),o(k,{modelValue:r(u).style,"onUpdate:modelValue":e[0]||(e[0]=c=>r(u).style=c)},{default:t(()=>[o(i,{value:1},{default:t(()=>[...e[3]||(e[3]=[_("常规",-1)])]),_:1}),o(i,{value:2},{default:t(()=>[...e[4]||(e[4]=[_("大屏",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),d.content.style==1?(s(),p(V,{key:0,shadow:"never",class:"!border-none flex mt-2"},{default:t(()=>[e[8]||(e[8]=l("div",{class:"flex items-end mb-4"},[l("div",{class:"text-base text-[#101010] dark:text-[#ffffff] font-medium"},"背景联动")],-1)),o(k,{modelValue:r(u).bg_style,"onUpdate:modelValue":e[1]||(e[1]=c=>r(u).bg_style=c)},{default:t(()=>[o(i,{value:1},{default:t(()=>[...e[6]||(e[6]=[_("开启",-1)])]),_:1}),o(i,{value:0},{default:t(()=>[...e[7]||(e[7]=[_("关闭",-1)])]),_:1})]),_:1},8,["modelValue"]),e[9]||(e[9]=l("div",{class:"p-[15px] rounded-[8px] bg-[#f3f8ff] text-[#136bdf] mt-2"}," 开启背景联动后,需为轮播图设置背景图,轮播图切换时,背景图也跟随切换,此时该页面自身的“页面背景“设置将失效。 ",-1))]),_:1})):x("",!0),o(V,{shadow:"never",class:"!border-none flex-1 mt-2"},{default:t(()=>{var c;return[l("div",ee,[e[10]||(e[10]=l("div",{class:"text-base text-[#101010] dark:text-[#ffffff] font-medium"},"轮播图片",-1)),d.content.style==1?(s(),b("div",te," 最多添加5张,建议图片尺寸:750px*340px ")):(s(),b("div",oe," 最多添加5张,建议图片尺寸:750px*1100px "))]),l("div",le,[o(r(W),{class:"draggable",modelValue:r(u).data,"onUpdate:modelValue":e[2]||(e[2]=a=>r(u).data=a),animation:"300",handle:".drag-move","item-key":"index"},{item:t(({element:a,index:U})=>[(s(),p(j,{key:U,onClose:n=>D(U),class:"w-full"},{default:t(()=>[l("div",ae,[l("div",ne,[d.content.style==1?(s(),b(Y,{key:0},[o(y,{size:"122px",modelValue:a.image,"onUpdate:modelValue":n=>a.image=n,"upload-class":"bg-body","exclude-domain":""},{upload:t(()=>[...e[11]||(e[11]=[l("div",{class:"w-[122px] h-[122px] banner-upload-btn"}," 轮播图 ",-1)])]),_:1},8,["modelValue","onUpdate:modelValue"]),d.content.style==1||d.content.bg_style==1?(s(),p(y,{key:0,class:"ml-[40px]",size:"122px",modelValue:a.bg,"onUpdate:modelValue":n=>a.bg=n,"upload-class":"bg-body","exclude-domain":""},{upload:t(()=>[...e[12]||(e[12]=[l("div",{class:"w-[122px] h-[122px] banner-upload-btn"}," 背景图 ",-1)])]),_:1},8,["modelValue","onUpdate:modelValue"])):x("",!0)],64)):(s(),p(y,{key:1,width:"396px",height:"196px",modelValue:a.image,"onUpdate:modelValue":n=>a.image=n,"upload-class":"bg-body","exclude-domain":""},null,8,["modelValue","onUpdate:modelValue"]))]),l("div",se,[o(w,{class:"mt-[18px]",label:"图片链接"},{default:t(()=>[d.type=="mobile"?(s(),p(I,{key:0,modelValue:a.link,"onUpdate:modelValue":n=>a.link=n},null,8,["modelValue","onUpdate:modelValue"])):x("",!0),d.type=="pc"?(s(),p(N,{key:1,placeholder:"请输入链接",modelValue:a.link.path,"onUpdate:modelValue":n=>a.link.path=n},null,8,["modelValue","onUpdate:modelValue"])):x("",!0)]),_:2},1024),o(w,{label:"是否显示",class:"mt-[18px] !mb-0"},{default:t(()=>[l("div",de,[o(F,{modelValue:a.is_show,"onUpdate:modelValue":n=>a.is_show=n,"active-value":"1","inactive-value":"0"},null,8,["modelValue","onUpdate:modelValue"]),l("div",me,[o($,{name:"el-icon-Rank",size:"18"})])])]),_:2},1024)])])]),_:2},1032,["onClose"]))]),_:1},8,["modelValue"])]),((c=d.content.data)==null?void 0:c.length)[...e[13]||(e[13]=[_("添加图片",-1)])]),_:1})])):x("",!0)]}),_:1})]),_:1})}}}),rt=M(pe,[["__scopeId","data-v-f10c74d9"]]);export{rt as default}; diff --git a/server/public/admin/assets/attr-CtBO5Z_O.js b/server/public/admin/assets/attr-CNNqdFK4.js similarity index 63% rename from server/public/admin/assets/attr-CtBO5Z_O.js rename to server/public/admin/assets/attr-CNNqdFK4.js index 1a2ca620..27c5ec70 100644 --- a/server/public/admin/assets/attr-CtBO5Z_O.js +++ b/server/public/admin/assets/attr-CNNqdFK4.js @@ -1 +1 @@ -import{_ as o}from"./attr.vue_vue_type_script_setup_true_lang-BIDjj2ZQ.js";import"./element-plus-0wC3naml.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-BHTgr4Ka.js";import"./index-E47--KT7.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./picker-B9b8bj5N.js";import"./index-nymJKQXP.js";import"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import"./article-DJnP6RZd.js";import"./usePaging-VsbTxSU0.js";import"./picker-DlbAZkDm.js";import"./index-B56X8bEB.js";import"./index-Ci4dcEQh.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-DoYUJmkp.js";import"./index.vue_vue_type_script_setup_true_lang-Bl0f8aX8.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";export{o as default}; +import{_ as o}from"./attr.vue_vue_type_script_setup_true_lang-Dy891kIt.js";import"./element-plus-DFTWCWyi.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-CbfZXeGu.js";import"./index-DBREMm_z.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./picker-DPnqJ8Gk.js";import"./index-BwF7vczx.js";import"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import"./article-BnVIxFkr.js";import"./usePaging-VsbTxSU0.js";import"./picker-BCRrEZaA.js";import"./index-BiPYXDtP.js";import"./index-CRoZWY-W.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-BimpIRb_.js";import"./index.vue_vue_type_script_setup_true_lang-x0oL2ShL.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";export{o as default}; diff --git a/server/public/admin/assets/attr-B35dGV5K.js b/server/public/admin/assets/attr-CSIKeGUb.js similarity index 65% rename from server/public/admin/assets/attr-B35dGV5K.js rename to server/public/admin/assets/attr-CSIKeGUb.js index 1a371894..a67594a3 100644 --- a/server/public/admin/assets/attr-B35dGV5K.js +++ b/server/public/admin/assets/attr-CSIKeGUb.js @@ -1 +1 @@ -import{_ as o}from"./attr.vue_vue_type_script_setup_true_lang-CVwolQf4.js";import"./element-plus-0wC3naml.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./add-nav.vue_vue_type_script_setup_true_lang-DqZ_o5sa.js";import"./index-BHTgr4Ka.js";import"./index-E47--KT7.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./picker-B9b8bj5N.js";import"./index-nymJKQXP.js";import"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import"./article-DJnP6RZd.js";import"./usePaging-VsbTxSU0.js";import"./picker-DlbAZkDm.js";import"./index-B56X8bEB.js";import"./index-Ci4dcEQh.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-DoYUJmkp.js";import"./index.vue_vue_type_script_setup_true_lang-Bl0f8aX8.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";export{o as default}; +import{_ as o}from"./attr.vue_vue_type_script_setup_true_lang-6A60mJbu.js";import"./element-plus-DFTWCWyi.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./add-nav.vue_vue_type_script_setup_true_lang-BN-blUPj.js";import"./index-CbfZXeGu.js";import"./index-DBREMm_z.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./picker-DPnqJ8Gk.js";import"./index-BwF7vczx.js";import"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import"./article-BnVIxFkr.js";import"./usePaging-VsbTxSU0.js";import"./picker-BCRrEZaA.js";import"./index-BiPYXDtP.js";import"./index-CRoZWY-W.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-BimpIRb_.js";import"./index.vue_vue_type_script_setup_true_lang-x0oL2ShL.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";export{o as default}; diff --git a/server/public/admin/assets/attr-BH86F3a-.js b/server/public/admin/assets/attr-DCpF99zs.js similarity index 60% rename from server/public/admin/assets/attr-BH86F3a-.js rename to server/public/admin/assets/attr-DCpF99zs.js index 89c113ca..e0365260 100644 --- a/server/public/admin/assets/attr-BH86F3a-.js +++ b/server/public/admin/assets/attr-DCpF99zs.js @@ -1 +1 @@ -import{_ as o}from"./attr.vue_vue_type_script_setup_true_lang-BO_riRgF.js";import"./element-plus-0wC3naml.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-BHTgr4Ka.js";import"./index-E47--KT7.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./picker-B9b8bj5N.js";import"./index-nymJKQXP.js";import"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import"./article-DJnP6RZd.js";import"./usePaging-VsbTxSU0.js";import"./picker-DlbAZkDm.js";import"./index-B56X8bEB.js";import"./index-Ci4dcEQh.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-DoYUJmkp.js";import"./index.vue_vue_type_script_setup_true_lang-Bl0f8aX8.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./index.vue_vue_type_script_setup_true_lang-C384XBPz.js";export{o as default}; +import{_ as o}from"./attr.vue_vue_type_script_setup_true_lang-MNr7rU8G.js";import"./element-plus-DFTWCWyi.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-CbfZXeGu.js";import"./index-DBREMm_z.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./picker-DPnqJ8Gk.js";import"./index-BwF7vczx.js";import"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import"./article-BnVIxFkr.js";import"./usePaging-VsbTxSU0.js";import"./picker-BCRrEZaA.js";import"./index-BiPYXDtP.js";import"./index-CRoZWY-W.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-BimpIRb_.js";import"./index.vue_vue_type_script_setup_true_lang-x0oL2ShL.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./index.vue_vue_type_script_setup_true_lang-3vCdLVB9.js";export{o as default}; diff --git a/server/public/admin/assets/attr-BkmkxePz.js b/server/public/admin/assets/attr-DbcwTpUD.js similarity index 65% rename from server/public/admin/assets/attr-BkmkxePz.js rename to server/public/admin/assets/attr-DbcwTpUD.js index e1a1ee64..8d4d65f8 100644 --- a/server/public/admin/assets/attr-BkmkxePz.js +++ b/server/public/admin/assets/attr-DbcwTpUD.js @@ -1 +1 @@ -import{_ as o}from"./attr.vue_vue_type_script_setup_true_lang-BVV-rQuy.js";import"./element-plus-0wC3naml.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./add-nav.vue_vue_type_script_setup_true_lang-DqZ_o5sa.js";import"./index-BHTgr4Ka.js";import"./index-E47--KT7.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./picker-B9b8bj5N.js";import"./index-nymJKQXP.js";import"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import"./article-DJnP6RZd.js";import"./usePaging-VsbTxSU0.js";import"./picker-DlbAZkDm.js";import"./index-B56X8bEB.js";import"./index-Ci4dcEQh.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-DoYUJmkp.js";import"./index.vue_vue_type_script_setup_true_lang-Bl0f8aX8.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";export{o as default}; +import{_ as o}from"./attr.vue_vue_type_script_setup_true_lang-Ca7p7CQy.js";import"./element-plus-DFTWCWyi.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./add-nav.vue_vue_type_script_setup_true_lang-BN-blUPj.js";import"./index-CbfZXeGu.js";import"./index-DBREMm_z.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./picker-DPnqJ8Gk.js";import"./index-BwF7vczx.js";import"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import"./article-BnVIxFkr.js";import"./usePaging-VsbTxSU0.js";import"./picker-BCRrEZaA.js";import"./index-BiPYXDtP.js";import"./index-CRoZWY-W.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-BimpIRb_.js";import"./index.vue_vue_type_script_setup_true_lang-x0oL2ShL.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";export{o as default}; diff --git a/server/public/admin/assets/attr-CNph-R0s.js b/server/public/admin/assets/attr-Vhqry8Wo.js similarity index 67% rename from server/public/admin/assets/attr-CNph-R0s.js rename to server/public/admin/assets/attr-Vhqry8Wo.js index c625c282..0b4cb4b3 100644 --- a/server/public/admin/assets/attr-CNph-R0s.js +++ b/server/public/admin/assets/attr-Vhqry8Wo.js @@ -1 +1 @@ -import{_ as o}from"./attr.vue_vue_type_script_setup_true_lang-CTVcHVd7.js";import"./element-plus-0wC3naml.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index.vue_vue_type_script_setup_true_lang-C384XBPz.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./picker-DlbAZkDm.js";import"./index-nymJKQXP.js";import"./index-E47--KT7.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-B56X8bEB.js";import"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import"./index-BHTgr4Ka.js";import"./index-Ci4dcEQh.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-DoYUJmkp.js";import"./index.vue_vue_type_script_setup_true_lang-Bl0f8aX8.js";import"./usePaging-VsbTxSU0.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";export{o as default}; +import{_ as o}from"./attr.vue_vue_type_script_setup_true_lang-BnCnHgo6.js";import"./element-plus-DFTWCWyi.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index.vue_vue_type_script_setup_true_lang-3vCdLVB9.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./picker-BCRrEZaA.js";import"./index-BwF7vczx.js";import"./index-DBREMm_z.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-BiPYXDtP.js";import"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import"./index-CbfZXeGu.js";import"./index-CRoZWY-W.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-BimpIRb_.js";import"./index.vue_vue_type_script_setup_true_lang-x0oL2ShL.js";import"./usePaging-VsbTxSU0.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";export{o as default}; diff --git a/server/public/admin/assets/attr-setting-BQ-x4ArE.js b/server/public/admin/assets/attr-setting-BQ-x4ArE.js deleted file mode 100644 index 3cab5a74..00000000 --- a/server/public/admin/assets/attr-setting-BQ-x4ArE.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o}from"./attr-setting.vue_vue_type_script_setup_true_lang-Rx2Z7krO.js";import"./element-plus-0wC3naml.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-OPSjrJvJ.js";import"./attr-CLlbMhxO.js";import"./index-BHTgr4Ka.js";import"./index-E47--KT7.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./picker-B9b8bj5N.js";import"./index-nymJKQXP.js";import"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import"./article-DJnP6RZd.js";import"./usePaging-VsbTxSU0.js";import"./picker-DlbAZkDm.js";import"./index-B56X8bEB.js";import"./index-Ci4dcEQh.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-DoYUJmkp.js";import"./index.vue_vue_type_script_setup_true_lang-Bl0f8aX8.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./content.vue_vue_type_script_setup_true_lang-B9VzIZnv.js";import"./decoration-img-CZl9mrsf.js";import"./attr.vue_vue_type_script_setup_true_lang-BN--zfly.js";import"./content-B6YfxEbd.js";import"./attr.vue_vue_type_script_setup_true_lang-BIDjj2ZQ.js";import"./content.vue_vue_type_script_setup_true_lang-C4EWc4Ny.js";import"./attr.vue_vue_type_script_setup_true_lang-CVwolQf4.js";import"./add-nav.vue_vue_type_script_setup_true_lang-DqZ_o5sa.js";import"./content-Cj4lK4l8.js";import"./attr.vue_vue_type_script_setup_true_lang-BVV-rQuy.js";import"./content.vue_vue_type_script_setup_true_lang-CuEc-gLQ.js";import"./attr.vue_vue_type_script_setup_true_lang-DnkDutJb.js";import"./content-Dyh_0iwA.js";import"./decoration-ChND9qat.js";import"./attr.vue_vue_type_script_setup_true_lang-CTVcHVd7.js";import"./index.vue_vue_type_script_setup_true_lang-C384XBPz.js";import"./content-B1b0mSAw.js";import"./content.vue_vue_type_script_setup_true_lang-hItYL1wr.js";import"./attr.vue_vue_type_script_setup_true_lang-ChKJn1wI.js";import"./content-B7VEJItb.js";import"./attr.vue_vue_type_script_setup_true_lang-A0LOU1hn.js";import"./content.vue_vue_type_script_setup_true_lang-zA2x9af7.js";import"./attr.vue_vue_type_script_setup_true_lang-9MDVGbdQ.js";import"./content-CgQTA2IB.js";export{o as default}; diff --git a/server/public/admin/assets/attr-setting-D8C9Ndmf.js b/server/public/admin/assets/attr-setting-D8C9Ndmf.js new file mode 100644 index 00000000..7e9c9e01 --- /dev/null +++ b/server/public/admin/assets/attr-setting-D8C9Ndmf.js @@ -0,0 +1 @@ +import{_ as o}from"./attr-setting.vue_vue_type_script_setup_true_lang-fvUxwXKi.js";import"./element-plus-DFTWCWyi.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-BHHQOM-n.js";import"./attr-BsXOKCNj.js";import"./index-CbfZXeGu.js";import"./index-DBREMm_z.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./picker-DPnqJ8Gk.js";import"./index-BwF7vczx.js";import"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import"./article-BnVIxFkr.js";import"./usePaging-VsbTxSU0.js";import"./picker-BCRrEZaA.js";import"./index-BiPYXDtP.js";import"./index-CRoZWY-W.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-BimpIRb_.js";import"./index.vue_vue_type_script_setup_true_lang-x0oL2ShL.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./content.vue_vue_type_script_setup_true_lang-u1kTovEN.js";import"./decoration-img-CZLpkXPN.js";import"./attr.vue_vue_type_script_setup_true_lang-c_YeWJqI.js";import"./content-Dyki4H78.js";import"./attr.vue_vue_type_script_setup_true_lang-Dy891kIt.js";import"./content.vue_vue_type_script_setup_true_lang-uukcy-Ti.js";import"./attr.vue_vue_type_script_setup_true_lang-6A60mJbu.js";import"./add-nav.vue_vue_type_script_setup_true_lang-BN-blUPj.js";import"./content-Sf3nxxVG.js";import"./attr.vue_vue_type_script_setup_true_lang-Ca7p7CQy.js";import"./content.vue_vue_type_script_setup_true_lang-B-SEL-YW.js";import"./attr.vue_vue_type_script_setup_true_lang-DnkDutJb.js";import"./content-DblaaeJD.js";import"./decoration-C799ML-U.js";import"./attr.vue_vue_type_script_setup_true_lang-BnCnHgo6.js";import"./index.vue_vue_type_script_setup_true_lang-3vCdLVB9.js";import"./content-PkioGtTh.js";import"./content.vue_vue_type_script_setup_true_lang-BK6uSq1e.js";import"./attr.vue_vue_type_script_setup_true_lang-ChKJn1wI.js";import"./content-BeOu4XYf.js";import"./attr.vue_vue_type_script_setup_true_lang-mOGAGDW2.js";import"./content.vue_vue_type_script_setup_true_lang-DtEQqPIi.js";import"./attr.vue_vue_type_script_setup_true_lang-9MDVGbdQ.js";import"./content-C_MRybMI.js";export{o as default}; diff --git a/server/public/admin/assets/attr-setting.vue_vue_type_script_setup_true_lang-Rx2Z7krO.js b/server/public/admin/assets/attr-setting.vue_vue_type_script_setup_true_lang-fvUxwXKi.js similarity index 89% rename from server/public/admin/assets/attr-setting.vue_vue_type_script_setup_true_lang-Rx2Z7krO.js rename to server/public/admin/assets/attr-setting.vue_vue_type_script_setup_true_lang-fvUxwXKi.js index b7f91d1a..d7764002 100644 --- a/server/public/admin/assets/attr-setting.vue_vue_type_script_setup_true_lang-Rx2Z7krO.js +++ b/server/public/admin/assets/attr-setting.vue_vue_type_script_setup_true_lang-fvUxwXKi.js @@ -1 +1 @@ -import{J as y,s as g}from"./element-plus-0wC3naml.js";import{e as b}from"./index-OPSjrJvJ.js";import{f as x,ak as o,I as _,a as r,aN as c,J as h,G as i,K as w,at as k}from"./@vue/runtime-core-C6bnekPw.js";import{Q as v}from"./@vue/shared-mAAVTE9n.js";import{y as C}from"./@vue/reactivity-DiY1c2vO.js";const B={class:"pages-setting"},E={class:"title flex items-center before:w-[3px] before:h-[14px] before:block before:bg-primary before:mr-2 text-xl font-medium"},V=x({__name:"attr-setting",props:{widget:{type:Object,default:()=>({})},type:{type:String,default:"mobile"}},emits:["update:content"],setup(e,{emit:m}){const d=m,p=a=>{d("update:content",a)};return(a,N)=>{const f=y,u=g;return o(),_("div",B,[r(f,{shadow:"never",class:"!border-none flex"},{default:c(()=>{var t;return[h("div",E,v((t=e.widget)==null?void 0:t.title),1)]}),_:1}),r(u,{class:"w-full",style:{height:"calc(100% - 60px)"}},{default:c(()=>{var t,n,s,l;return[(o(),i(w,null,[(o(),i(k((n=C(b)[(t=e.widget)==null?void 0:t.name])==null?void 0:n.attr),{content:(s=e.widget)==null?void 0:s.content,styles:(l=e.widget)==null?void 0:l.styles,type:e.type,"onUpdate:content":p},null,40,["content","styles","type"]))],1024))]}),_:1})])}}});export{V as _}; +import{J as y,s as g}from"./element-plus-DFTWCWyi.js";import{e as b}from"./index-BHHQOM-n.js";import{f as x,ak as o,I as _,a as r,aN as c,J as h,G as i,K as w,at as k}from"./@vue/runtime-core-C6bnekPw.js";import{Q as v}from"./@vue/shared-mAAVTE9n.js";import{y as C}from"./@vue/reactivity-DiY1c2vO.js";const B={class:"pages-setting"},E={class:"title flex items-center before:w-[3px] before:h-[14px] before:block before:bg-primary before:mr-2 text-xl font-medium"},V=x({__name:"attr-setting",props:{widget:{type:Object,default:()=>({})},type:{type:String,default:"mobile"}},emits:["update:content"],setup(e,{emit:m}){const d=m,p=a=>{d("update:content",a)};return(a,N)=>{const f=y,u=g;return o(),_("div",B,[r(f,{shadow:"never",class:"!border-none flex"},{default:c(()=>{var t;return[h("div",E,v((t=e.widget)==null?void 0:t.title),1)]}),_:1}),r(u,{class:"w-full",style:{height:"calc(100% - 60px)"}},{default:c(()=>{var t,n,s,l;return[(o(),i(w,null,[(o(),i(k((n=C(b)[(t=e.widget)==null?void 0:t.name])==null?void 0:n.attr),{content:(s=e.widget)==null?void 0:s.content,styles:(l=e.widget)==null?void 0:l.styles,type:e.type,"onUpdate:content":p},null,40,["content","styles","type"]))],1024))]}),_:1})])}}});export{V as _}; diff --git a/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-CVwolQf4.js b/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-6A60mJbu.js similarity index 92% rename from server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-CVwolQf4.js rename to server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-6A60mJbu.js index 61f50b35..022f9713 100644 --- a/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-CVwolQf4.js +++ b/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-6A60mJbu.js @@ -1 +1 @@ -import{J as b,B as y,C as E,G as w,I as B,D as C}from"./element-plus-0wC3naml.js";import{_ as I}from"./add-nav.vue_vue_type_script_setup_true_lang-DqZ_o5sa.js";import{f as N,ak as k,I as O,a as t,aN as o,J as a,O as u,A as U}from"./@vue/runtime-core-C6bnekPw.js";import{y as s}from"./@vue/reactivity-DiY1c2vO.js";const g={class:"flex-1"},J=N({__name:"attr",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},emits:["update:content"],setup(p,{emit:i}){const f=i,_=p,l=U({get:()=>_.content,set:m=>{f("update:content",m)}});return(m,e)=>{const x=E,c=y,d=b,r=B,v=w,V=C;return k(),O("div",null,[t(V,{"label-width":"70px"},{default:o(()=>[t(d,{shadow:"never",class:"!border-none flex mt-2"},{default:o(()=>[t(c,{label:"标题"},{default:o(()=>[t(x,{class:"w-[396px]",modelValue:s(l).title,"onUpdate:modelValue":e[0]||(e[0]=n=>s(l).title=n)},null,8,["modelValue"])]),_:1})]),_:1}),t(d,{shadow:"never",class:"!border-none flex mt-2"},{default:o(()=>[e[5]||(e[5]=a("div",{class:"flex items-end mb-4"},[a("div",{class:"text-base text-[#101010] font-medium"},"展示样式")],-1)),t(v,{modelValue:s(l).style,"onUpdate:modelValue":e[1]||(e[1]=n=>s(l).style=n)},{default:o(()=>[t(r,{value:1},{default:o(()=>[...e[3]||(e[3]=[u("横排",-1)])]),_:1}),t(r,{value:2},{default:o(()=>[...e[4]||(e[4]=[u("竖排",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),t(d,{shadow:"never",class:"!border-none flex mt-2"},{default:o(()=>[e[6]||(e[6]=a("div",{class:"flex items-end mb-4"},[a("div",{class:"text-base text-[#101010] font-medium"},"菜单"),a("div",{class:"text-xs text-tx-secondary ml-2"},"建议图片尺寸:100px*100px")],-1)),a("div",g,[t(I,{modelValue:s(l).data,"onUpdate:modelValue":e[2]||(e[2]=n=>s(l).data=n)},null,8,["modelValue"])])]),_:1})]),_:1})])}}});export{J as _}; +import{J as b,B as y,C as E,G as w,I as B,D as C}from"./element-plus-DFTWCWyi.js";import{_ as I}from"./add-nav.vue_vue_type_script_setup_true_lang-BN-blUPj.js";import{f as N,ak as k,I as O,a as t,aN as o,J as a,O as u,A as U}from"./@vue/runtime-core-C6bnekPw.js";import{y as s}from"./@vue/reactivity-DiY1c2vO.js";const g={class:"flex-1"},J=N({__name:"attr",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},emits:["update:content"],setup(p,{emit:i}){const f=i,_=p,l=U({get:()=>_.content,set:m=>{f("update:content",m)}});return(m,e)=>{const x=E,c=y,d=b,r=B,v=w,V=C;return k(),O("div",null,[t(V,{"label-width":"70px"},{default:o(()=>[t(d,{shadow:"never",class:"!border-none flex mt-2"},{default:o(()=>[t(c,{label:"标题"},{default:o(()=>[t(x,{class:"w-[396px]",modelValue:s(l).title,"onUpdate:modelValue":e[0]||(e[0]=n=>s(l).title=n)},null,8,["modelValue"])]),_:1})]),_:1}),t(d,{shadow:"never",class:"!border-none flex mt-2"},{default:o(()=>[e[5]||(e[5]=a("div",{class:"flex items-end mb-4"},[a("div",{class:"text-base text-[#101010] font-medium"},"展示样式")],-1)),t(v,{modelValue:s(l).style,"onUpdate:modelValue":e[1]||(e[1]=n=>s(l).style=n)},{default:o(()=>[t(r,{value:1},{default:o(()=>[...e[3]||(e[3]=[u("横排",-1)])]),_:1}),t(r,{value:2},{default:o(()=>[...e[4]||(e[4]=[u("竖排",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),t(d,{shadow:"never",class:"!border-none flex mt-2"},{default:o(()=>[e[6]||(e[6]=a("div",{class:"flex items-end mb-4"},[a("div",{class:"text-base text-[#101010] font-medium"},"菜单"),a("div",{class:"text-xs text-tx-secondary ml-2"},"建议图片尺寸:100px*100px")],-1)),a("div",g,[t(I,{modelValue:s(l).data,"onUpdate:modelValue":e[2]||(e[2]=n=>s(l).data=n)},null,8,["modelValue"])])]),_:1})]),_:1})])}}});export{J as _}; diff --git a/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-CTVcHVd7.js b/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-BnCnHgo6.js similarity index 93% rename from server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-CTVcHVd7.js rename to server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-BnCnHgo6.js index d0bdf3d4..33f36237 100644 --- a/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-CTVcHVd7.js +++ b/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-BnCnHgo6.js @@ -1 +1 @@ -import{J as E,B as C,G as F,I as N,C as B,D as z}from"./element-plus-0wC3naml.js";import{_ as G}from"./index.vue_vue_type_script_setup_true_lang-C384XBPz.js";import{_ as I}from"./picker-DlbAZkDm.js";import{f as O,ak as r,G as s,aN as t,a as l,O as p,H as i,J as y,A as j}from"./@vue/runtime-core-C6bnekPw.js";import{y as a}from"./@vue/reactivity-DiY1c2vO.js";const T=O({__name:"attr",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},emits:["update:content"],setup(m,{emit:g}){const b=g,x=m,o=j({get:()=>x.content,set:_=>{b("update:content",_)}});return(_,e)=>{const u=N,f=F,d=C,k=B,V=I,v=G,U=E,w=z;return r(),s(w,{ref:"form","label-width":"80px",size:"large"},{default:t(()=>[l(U,{shadow:"never",class:"!border-none flex mt-2"},{default:t(()=>[l(d,{label:"页面标题"},{default:t(()=>[l(f,{modelValue:a(o).title_type,"onUpdate:modelValue":e[0]||(e[0]=n=>a(o).title_type=n)},{default:t(()=>[l(u,{value:"1"},{default:t(()=>[...e[7]||(e[7]=[p("文字",-1)])]),_:1}),l(u,{value:"2"},{default:t(()=>[...e[8]||(e[8]=[p("图片",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),m.content.title_type==1?(r(),s(d,{key:0},{default:t(()=>[l(k,{modelValue:a(o).title,"onUpdate:modelValue":e[1]||(e[1]=n=>a(o).title=n),maxlength:"8","show-word-limit":"",class:"w-[300px]",placeholder:"请输入页面标题"},null,8,["modelValue"])]),_:1})):i("",!0),m.content.title_type==2?(r(),s(d,{key:1},{default:t(()=>[l(V,{modelValue:a(o).title_img,"onUpdate:modelValue":e[2]||(e[2]=n=>a(o).title_img=n),limit:1,size:"100px"},null,8,["modelValue"]),e[9]||(e[9]=y("div",{class:"form-tips"},"建议图片尺寸:300px*40px",-1))]),_:1})):i("",!0),m.content.title_type==1?(r(),s(d,{key:2,label:"文字颜色"},{default:t(()=>[l(f,{modelValue:a(o).text_color,"onUpdate:modelValue":e[3]||(e[3]=n=>a(o).text_color=n)},{default:t(()=>[l(u,{value:"1"},{default:t(()=>[...e[10]||(e[10]=[p("白色",-1)])]),_:1}),l(u,{value:"2"},{default:t(()=>[...e[11]||(e[11]=[p("黑色",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})):i("",!0),l(d,{label:"页面背景"},{default:t(()=>[l(f,{modelValue:a(o).bg_type,"onUpdate:modelValue":e[4]||(e[4]=n=>a(o).bg_type=n)},{default:t(()=>[l(u,{value:"1"},{default:t(()=>[...e[12]||(e[12]=[p("背景颜色",-1)])]),_:1}),l(u,{value:"2"},{default:t(()=>[...e[13]||(e[13]=[p("背景图片",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),m.content.bg_type==1?(r(),s(d,{key:3},{default:t(()=>[l(v,{modelValue:a(o).bg_color,"onUpdate:modelValue":e[5]||(e[5]=n=>a(o).bg_color=n),"reset-color":"#F5F5F5"},null,8,["modelValue"])]),_:1})):i("",!0),m.content.bg_type==2?(r(),s(d,{key:4},{default:t(()=>[l(V,{modelValue:a(o).bg_image,"onUpdate:modelValue":e[6]||(e[6]=n=>a(o).bg_image=n),limit:1,size:"100px"},null,8,["modelValue"]),e[14]||(e[14]=y("div",{class:"form-tips"},"建议图片尺寸:750px*高度不限",-1))]),_:1})):i("",!0)]),_:1})]),_:1},512)}}});export{T as _}; +import{J as E,B as C,G as F,I as N,C as B,D as z}from"./element-plus-DFTWCWyi.js";import{_ as G}from"./index.vue_vue_type_script_setup_true_lang-3vCdLVB9.js";import{_ as I}from"./picker-BCRrEZaA.js";import{f as O,ak as r,G as s,aN as t,a as l,O as p,H as i,J as y,A as j}from"./@vue/runtime-core-C6bnekPw.js";import{y as a}from"./@vue/reactivity-DiY1c2vO.js";const T=O({__name:"attr",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},emits:["update:content"],setup(m,{emit:g}){const b=g,x=m,o=j({get:()=>x.content,set:_=>{b("update:content",_)}});return(_,e)=>{const u=N,f=F,d=C,k=B,V=I,v=G,U=E,w=z;return r(),s(w,{ref:"form","label-width":"80px",size:"large"},{default:t(()=>[l(U,{shadow:"never",class:"!border-none flex mt-2"},{default:t(()=>[l(d,{label:"页面标题"},{default:t(()=>[l(f,{modelValue:a(o).title_type,"onUpdate:modelValue":e[0]||(e[0]=n=>a(o).title_type=n)},{default:t(()=>[l(u,{value:"1"},{default:t(()=>[...e[7]||(e[7]=[p("文字",-1)])]),_:1}),l(u,{value:"2"},{default:t(()=>[...e[8]||(e[8]=[p("图片",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),m.content.title_type==1?(r(),s(d,{key:0},{default:t(()=>[l(k,{modelValue:a(o).title,"onUpdate:modelValue":e[1]||(e[1]=n=>a(o).title=n),maxlength:"8","show-word-limit":"",class:"w-[300px]",placeholder:"请输入页面标题"},null,8,["modelValue"])]),_:1})):i("",!0),m.content.title_type==2?(r(),s(d,{key:1},{default:t(()=>[l(V,{modelValue:a(o).title_img,"onUpdate:modelValue":e[2]||(e[2]=n=>a(o).title_img=n),limit:1,size:"100px"},null,8,["modelValue"]),e[9]||(e[9]=y("div",{class:"form-tips"},"建议图片尺寸:300px*40px",-1))]),_:1})):i("",!0),m.content.title_type==1?(r(),s(d,{key:2,label:"文字颜色"},{default:t(()=>[l(f,{modelValue:a(o).text_color,"onUpdate:modelValue":e[3]||(e[3]=n=>a(o).text_color=n)},{default:t(()=>[l(u,{value:"1"},{default:t(()=>[...e[10]||(e[10]=[p("白色",-1)])]),_:1}),l(u,{value:"2"},{default:t(()=>[...e[11]||(e[11]=[p("黑色",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})):i("",!0),l(d,{label:"页面背景"},{default:t(()=>[l(f,{modelValue:a(o).bg_type,"onUpdate:modelValue":e[4]||(e[4]=n=>a(o).bg_type=n)},{default:t(()=>[l(u,{value:"1"},{default:t(()=>[...e[12]||(e[12]=[p("背景颜色",-1)])]),_:1}),l(u,{value:"2"},{default:t(()=>[...e[13]||(e[13]=[p("背景图片",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),m.content.bg_type==1?(r(),s(d,{key:3},{default:t(()=>[l(v,{modelValue:a(o).bg_color,"onUpdate:modelValue":e[5]||(e[5]=n=>a(o).bg_color=n),"reset-color":"#F5F5F5"},null,8,["modelValue"])]),_:1})):i("",!0),m.content.bg_type==2?(r(),s(d,{key:4},{default:t(()=>[l(V,{modelValue:a(o).bg_image,"onUpdate:modelValue":e[6]||(e[6]=n=>a(o).bg_image=n),limit:1,size:"100px"},null,8,["modelValue"]),e[14]||(e[14]=y("div",{class:"form-tips"},"建议图片尺寸:750px*高度不限",-1))]),_:1})):i("",!0)]),_:1})]),_:1},512)}}});export{T as _}; diff --git a/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-BVV-rQuy.js b/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-Ca7p7CQy.js similarity index 94% rename from server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-BVV-rQuy.js rename to server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-Ca7p7CQy.js index 1018b652..57a0de7c 100644 --- a/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-BVV-rQuy.js +++ b/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-Ca7p7CQy.js @@ -1 +1 @@ -import{J as B,G as F,I as N,B as O,P as U,Q as g,D as C}from"./element-plus-0wC3naml.js";import{_ as I}from"./add-nav.vue_vue_type_script_setup_true_lang-DqZ_o5sa.js";import{f as j,ak as d,I as m,a as l,aN as o,J as s,O as x,F as c,ap as v,A as D}from"./@vue/runtime-core-C6bnekPw.js";import{y as n}from"./@vue/reactivity-DiY1c2vO.js";const G={class:"flex-1 mt-4"},P=j({__name:"attr",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},emits:["update:content"],setup(V,{emit:b}){const y=b,w=V,a=D({get:()=>w.content,set:u=>{y("update:content",u)}});return(u,e)=>{const r=N,E=F,p=g,i=U,_=O,f=B,k=C;return d(),m("div",null,[l(k,{"label-width":"70px"},{default:o(()=>[l(f,{shadow:"never",class:"!border-none flex mt-2"},{default:o(()=>[e[6]||(e[6]=s("div",{class:"flex items-end mb-4"},[s("div",{class:"text-base text-[#101010] font-medium"},"展示样式")],-1)),l(E,{modelValue:n(a).style,"onUpdate:modelValue":e[0]||(e[0]=t=>n(a).style=t)},{default:o(()=>[l(r,{value:1},{default:o(()=>[...e[4]||(e[4]=[x("固定显示",-1)])]),_:1}),l(r,{value:2},{default:o(()=>[...e[5]||(e[5]=[x("分页滑动",-1)])]),_:1})]),_:1},8,["modelValue"]),l(_,{label:"每行数量",class:"mt-4"},{default:o(()=>[l(i,{modelValue:n(a).per_line,"onUpdate:modelValue":e[1]||(e[1]=t=>n(a).per_line=t),style:{width:"300px"}},{default:o(()=>[(d(),m(c,null,v(5,t=>l(p,{key:t,label:t+"个",value:t},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),_:1}),l(_,{label:"显示行数"},{default:o(()=>[l(i,{modelValue:n(a).show_line,"onUpdate:modelValue":e[2]||(e[2]=t=>n(a).show_line=t),style:{width:"300px"}},{default:o(()=>[(d(),m(c,null,v(2,t=>l(p,{key:t,label:t+"行",value:t},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),_:1})]),_:1}),l(f,{shadow:"never",class:"!border-none flex mt-2"},{default:o(()=>[e[7]||(e[7]=s("div",{class:"flex items-end"},[s("div",{class:"text-base text-[#101010] font-medium"},"菜单设置"),s("div",{class:"text-xs text-tx-secondary ml-2"},"建议图片尺寸:100px*100px")],-1)),s("div",G,[l(I,{modelValue:n(a).data,"onUpdate:modelValue":e[3]||(e[3]=t=>n(a).data=t)},null,8,["modelValue"])])]),_:1})]),_:1})])}}});export{P as _}; +import{J as B,G as F,I as N,B as O,P as U,Q as g,D as C}from"./element-plus-DFTWCWyi.js";import{_ as I}from"./add-nav.vue_vue_type_script_setup_true_lang-BN-blUPj.js";import{f as j,ak as d,I as m,a as l,aN as o,J as s,O as x,F as c,ap as v,A as D}from"./@vue/runtime-core-C6bnekPw.js";import{y as n}from"./@vue/reactivity-DiY1c2vO.js";const G={class:"flex-1 mt-4"},P=j({__name:"attr",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},emits:["update:content"],setup(V,{emit:b}){const y=b,w=V,a=D({get:()=>w.content,set:u=>{y("update:content",u)}});return(u,e)=>{const r=N,E=F,p=g,i=U,_=O,f=B,k=C;return d(),m("div",null,[l(k,{"label-width":"70px"},{default:o(()=>[l(f,{shadow:"never",class:"!border-none flex mt-2"},{default:o(()=>[e[6]||(e[6]=s("div",{class:"flex items-end mb-4"},[s("div",{class:"text-base text-[#101010] font-medium"},"展示样式")],-1)),l(E,{modelValue:n(a).style,"onUpdate:modelValue":e[0]||(e[0]=t=>n(a).style=t)},{default:o(()=>[l(r,{value:1},{default:o(()=>[...e[4]||(e[4]=[x("固定显示",-1)])]),_:1}),l(r,{value:2},{default:o(()=>[...e[5]||(e[5]=[x("分页滑动",-1)])]),_:1})]),_:1},8,["modelValue"]),l(_,{label:"每行数量",class:"mt-4"},{default:o(()=>[l(i,{modelValue:n(a).per_line,"onUpdate:modelValue":e[1]||(e[1]=t=>n(a).per_line=t),style:{width:"300px"}},{default:o(()=>[(d(),m(c,null,v(5,t=>l(p,{key:t,label:t+"个",value:t},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),_:1}),l(_,{label:"显示行数"},{default:o(()=>[l(i,{modelValue:n(a).show_line,"onUpdate:modelValue":e[2]||(e[2]=t=>n(a).show_line=t),style:{width:"300px"}},{default:o(()=>[(d(),m(c,null,v(2,t=>l(p,{key:t,label:t+"行",value:t},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),_:1})]),_:1}),l(f,{shadow:"never",class:"!border-none flex mt-2"},{default:o(()=>[e[7]||(e[7]=s("div",{class:"flex items-end"},[s("div",{class:"text-base text-[#101010] font-medium"},"菜单设置"),s("div",{class:"text-xs text-tx-secondary ml-2"},"建议图片尺寸:100px*100px")],-1)),s("div",G,[l(I,{modelValue:n(a).data,"onUpdate:modelValue":e[3]||(e[3]=t=>n(a).data=t)},null,8,["modelValue"])])]),_:1})]),_:1})])}}});export{P as _}; diff --git a/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-BIDjj2ZQ.js b/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-Dy891kIt.js similarity index 93% rename from server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-BIDjj2ZQ.js rename to server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-Dy891kIt.js index d6b7555e..af3fb348 100644 --- a/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-BIDjj2ZQ.js +++ b/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-Dy891kIt.js @@ -1 +1 @@ -import{J as j,B as A,C as F,g as J,i as S,D as z}from"./element-plus-0wC3naml.js";import{_ as G}from"./index-BHTgr4Ka.js";import{c as H,i as k}from"./index-E47--KT7.js";import{_ as R}from"./picker-B9b8bj5N.js";import{_ as T}from"./picker-DlbAZkDm.js";import{D as q}from"./vuedraggable-5bKFmC7X.js";import{k as v}from"./lodash-es-C2A-Pj28.js";import{f as K,ak as d,I as b,a as o,aN as s,J as n,G as u,H as r,O as L,A as M}from"./@vue/runtime-core-C6bnekPw.js";import{y as _}from"./@vue/reactivity-DiY1c2vO.js";const P={class:"flex-1"},Q={class:"bg-fill-light w-full p-4 mt-4"},W={class:"flex-1"},X={class:"flex-1 flex items-center"},Y={class:"drag-move cursor-move ml-auto"},Z={key:0,class:"mt-4"},f=5,me=K({__name:"attr",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})},type:{type:String,default:"mobile"}},emits:["update:content"],setup(m,{emit:y}){const p=y,c=m,g=M({get:()=>c.content,set:a=>{p("update:content",a)}}),w=()=>{var a;if(((a=c.content.data)==null?void 0:a.length){var i;if(((i=c.content.data)==null?void 0:i.length)<=1)return k.msgError("最少保留一张图片");const e=v(c.content);e.data.splice(a,1),p("update:content",e)};return(a,e)=>{const i=T,U=R,C=F,h=A,B=J,D=H,N=G,$=S,I=j,O=z;return d(),b("div",null,[o(O,{"label-width":"70px"},{default:s(()=>[o(I,{shadow:"never",class:"!border-none flex mt-2"},{default:s(()=>{var x;return[e[2]||(e[2]=n("div",{class:"flex items-end"},[n("div",{class:"text-base text-[#101010] font-medium"},"图片设置"),n("div",{class:"text-xs text-tx-secondary ml-2"}," 最多添加5张,建议图片尺寸:750px*200px ")],-1)),n("div",P,[o(_(q),{class:"draggable",modelValue:_(g).data,"onUpdate:modelValue":e[0]||(e[0]=t=>_(g).data=t),animation:"300",handle:".drag-move"},{item:s(({element:t,index:V})=>[(d(),u(N,{key:V,onClose:l=>E(V),class:"w-full"},{default:s(()=>[n("div",Q,[o(i,{width:"396px",height:"196px",modelValue:t.image,"onUpdate:modelValue":l=>t.image=l,"upload-class":"bg-body","exclude-domain":""},null,8,["modelValue","onUpdate:modelValue"]),n("div",W,[o(h,{class:"mt-[18px]",label:"图片链接"},{default:s(()=>[m.type=="mobile"?(d(),u(U,{key:0,modelValue:t.link,"onUpdate:modelValue":l=>t.link=l},null,8,["modelValue","onUpdate:modelValue"])):r("",!0),m.type=="pc"?(d(),u(C,{key:1,placeholder:"请输入链接",modelValue:t.link.path,"onUpdate:modelValue":l=>t.link.path=l},null,8,["modelValue","onUpdate:modelValue"])):r("",!0)]),_:2},1024),o(h,{label:"是否显示",class:"mt-[18px] !mb-0"},{default:s(()=>[n("div",X,[o(B,{modelValue:t.is_show,"onUpdate:modelValue":l=>t.is_show=l,"active-value":"1","inactive-value":"0"},null,8,["modelValue","onUpdate:modelValue"]),n("div",Y,[o(D,{name:"el-icon-Rank",size:"18"})])])]),_:2},1024)])])]),_:2},1032,["onClose"]))]),_:1},8,["modelValue"])]),((x=m.content.data)==null?void 0:x.length)[...e[1]||(e[1]=[L("添加图片",-1)])]),_:1})])):r("",!0)]}),_:1})]),_:1})])}}});export{me as _}; +import{J as j,B as A,C as F,g as J,i as S,D as z}from"./element-plus-DFTWCWyi.js";import{_ as G}from"./index-CbfZXeGu.js";import{c as H,i as k}from"./index-DBREMm_z.js";import{_ as R}from"./picker-DPnqJ8Gk.js";import{_ as T}from"./picker-BCRrEZaA.js";import{D as q}from"./vuedraggable-5bKFmC7X.js";import{k as v}from"./lodash-es-C2A-Pj28.js";import{f as K,ak as d,I as b,a as o,aN as s,J as n,G as u,H as r,O as L,A as M}from"./@vue/runtime-core-C6bnekPw.js";import{y as _}from"./@vue/reactivity-DiY1c2vO.js";const P={class:"flex-1"},Q={class:"bg-fill-light w-full p-4 mt-4"},W={class:"flex-1"},X={class:"flex-1 flex items-center"},Y={class:"drag-move cursor-move ml-auto"},Z={key:0,class:"mt-4"},f=5,me=K({__name:"attr",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})},type:{type:String,default:"mobile"}},emits:["update:content"],setup(m,{emit:y}){const p=y,c=m,g=M({get:()=>c.content,set:a=>{p("update:content",a)}}),w=()=>{var a;if(((a=c.content.data)==null?void 0:a.length){var i;if(((i=c.content.data)==null?void 0:i.length)<=1)return k.msgError("最少保留一张图片");const e=v(c.content);e.data.splice(a,1),p("update:content",e)};return(a,e)=>{const i=T,U=R,C=F,h=A,B=J,D=H,N=G,$=S,I=j,O=z;return d(),b("div",null,[o(O,{"label-width":"70px"},{default:s(()=>[o(I,{shadow:"never",class:"!border-none flex mt-2"},{default:s(()=>{var x;return[e[2]||(e[2]=n("div",{class:"flex items-end"},[n("div",{class:"text-base text-[#101010] font-medium"},"图片设置"),n("div",{class:"text-xs text-tx-secondary ml-2"}," 最多添加5张,建议图片尺寸:750px*200px ")],-1)),n("div",P,[o(_(q),{class:"draggable",modelValue:_(g).data,"onUpdate:modelValue":e[0]||(e[0]=t=>_(g).data=t),animation:"300",handle:".drag-move"},{item:s(({element:t,index:V})=>[(d(),u(N,{key:V,onClose:l=>E(V),class:"w-full"},{default:s(()=>[n("div",Q,[o(i,{width:"396px",height:"196px",modelValue:t.image,"onUpdate:modelValue":l=>t.image=l,"upload-class":"bg-body","exclude-domain":""},null,8,["modelValue","onUpdate:modelValue"]),n("div",W,[o(h,{class:"mt-[18px]",label:"图片链接"},{default:s(()=>[m.type=="mobile"?(d(),u(U,{key:0,modelValue:t.link,"onUpdate:modelValue":l=>t.link=l},null,8,["modelValue","onUpdate:modelValue"])):r("",!0),m.type=="pc"?(d(),u(C,{key:1,placeholder:"请输入链接",modelValue:t.link.path,"onUpdate:modelValue":l=>t.link.path=l},null,8,["modelValue","onUpdate:modelValue"])):r("",!0)]),_:2},1024),o(h,{label:"是否显示",class:"mt-[18px] !mb-0"},{default:s(()=>[n("div",X,[o(B,{modelValue:t.is_show,"onUpdate:modelValue":l=>t.is_show=l,"active-value":"1","inactive-value":"0"},null,8,["modelValue","onUpdate:modelValue"]),n("div",Y,[o(D,{name:"el-icon-Rank",size:"18"})])])]),_:2},1024)])])]),_:2},1032,["onClose"]))]),_:1},8,["modelValue"])]),((x=m.content.data)==null?void 0:x.length)[...e[1]||(e[1]=[L("添加图片",-1)])]),_:1})])):r("",!0)]}),_:1})]),_:1})])}}});export{me as _}; diff --git a/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-BO_riRgF.js b/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-MNr7rU8G.js similarity index 93% rename from server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-BO_riRgF.js rename to server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-MNr7rU8G.js index a602fba4..7ceb64b2 100644 --- a/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-BO_riRgF.js +++ b/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-MNr7rU8G.js @@ -1 +1 @@ -import{J as P,B as T,C as j,g as H,i as L,D as M}from"./element-plus-0wC3naml.js";import{_ as Q}from"./index-BHTgr4Ka.js";import{_ as R}from"./picker-B9b8bj5N.js";import{_ as q}from"./picker-DlbAZkDm.js";import{c as G,i as x}from"./index-E47--KT7.js";import{_ as K}from"./index.vue_vue_type_script_setup_true_lang-C384XBPz.js";import{D as W}from"./vuedraggable-5bKFmC7X.js";import{f as X,ak as V,I as v,a as e,aN as t,J as a,O as h,H as Y,F as Z,A as w}from"./@vue/runtime-core-C6bnekPw.js";import{y as m}from"./@vue/reactivity-DiY1c2vO.js";import{o as ee,Q as y}from"./@vue/shared-mAAVTE9n.js";const le={class:"mb-[18px] max-w-[400px]"},oe={class:"bg-fill-light w-full p-4 mt-4"},te={class:"upload-btn w-[60px] h-[60px]"},ae={class:"upload-btn w-[60px] h-[60px]"},se={class:"flex-1 flex items-center"},ne={class:"drag-move cursor-move ml-auto"},de={key:0,class:"mt-4"},c=5,p=2,ge=X({__name:"attr",props:{modelValue:{type:Object,default:()=>({list:[],style:{}})}},emits:["update:modelValue"],setup(k,{emit:C}){const U=k,E=C,n=w({get(){return U.modelValue},set(s){E("update:modelValue",s)}}),$=w(()=>{var s;return((s=n.value.list)==null?void 0:s.filter(l=>l.is_show=="1"))||[]}),z=()=>{var s;((s=n.value.list)==null?void 0:s.length){var l;if(((l=n.value.list)==null?void 0:l.length)<=p)return x.msgError(`最少保留${p}个`);n.value.list.splice(s,1)},D=s=>s.relatedContext.index!=0,N=s=>{if($.value.length{const _=P,b=K,i=T,f=G,g=q,F=j,I=R,S=H,A=Q,J=L,O=M;return V(),v(Z,null,[e(_,{shadow:"never",class:"!border-none flex"},{default:t(()=>[...l[3]||(l[3]=[a("div",{class:"title flex items-center before:w-[3px] before:h-[14px] before:block before:bg-primary before:mr-2 text-xl font-medium"},[h(" 底部导航设置 "),a("span",{class:"form-tips ml-[10px] !mt-0"}," 至少添加2个导航,最多添加5个导航 ")],-1)])]),_:1}),e(O,{"label-width":"70px"},{default:t(()=>[e(_,{shadow:"never",class:"!border-none flex mt-2"},{default:t(()=>[l[4]||(l[4]=a("div",{class:"flex items-end mb-4"},[a("div",{class:"text-base text-[#101010] font-medium"},"展示样式")],-1)),e(i,{label:"默认颜色"},{default:t(()=>[e(b,{class:"max-w-[400px]",modelValue:m(n).style.default_color,"onUpdate:modelValue":l[0]||(l[0]=r=>m(n).style.default_color=r),"default-color":"#999999"},null,8,["modelValue"])]),_:1}),e(i,{label:"选中颜色",style:{"margin-bottom":"0"}},{default:t(()=>[e(b,{class:"max-w-[400px]",modelValue:m(n).style.selected_color,"onUpdate:modelValue":l[1]||(l[1]=r=>m(n).style.selected_color=r),"default-color":"#4173ff"},null,8,["modelValue"])]),_:1})]),_:1}),e(_,{shadow:"never",class:"!border-none flex mt-2"},{default:t(()=>{var r;return[l[7]||(l[7]=a("div",{class:"flex items-end mb-4"},[a("div",{class:"text-base text-[#101010] font-medium"},"菜单设置"),a("div",{class:"text-xs text-tx-secondary ml-2"},"建议图片尺寸:100px*100px")],-1)),a("div",le,[e(m(W),{class:"draggable",modelValue:m(n).list,"onUpdate:modelValue":l[2]||(l[2]=o=>m(n).list=o),animation:"300",draggable:".draggable",handle:".drag-move",move:D,"item-key":"index"},{item:t(({element:o,index:u})=>[e(A,{onClose:d=>B(u),class:ee(["max-w-[400px]",{draggable:u!=0}]),"show-close":u!==0},{default:t(()=>[a("div",oe,[e(i,{label:"导航图标"},{default:t(()=>[e(g,{modelValue:o.unselected,"onUpdate:modelValue":d=>o.unselected=d,"upload-class":"bg-body","exclude-domain":"",size:"60px"},{upload:t(()=>[a("div",te,[e(f,{name:"el-icon-Plus",size:16}),l[5]||(l[5]=a("span",{class:"text-xs leading-5"}," 未选中 ",-1))])]),_:1},8,["modelValue","onUpdate:modelValue"]),e(g,{modelValue:o.selected,"onUpdate:modelValue":d=>o.selected=d,"exclude-domain":"","upload-class":"bg-body",size:"60px"},{upload:t(()=>[a("div",ae,[e(f,{name:"el-icon-Plus",size:16}),l[6]||(l[6]=a("span",{class:"text-xs leading-5"}," 选中 ",-1))])]),_:1},8,["modelValue","onUpdate:modelValue"])]),_:2},1024),e(i,{label:"导航名称"},{default:t(()=>[e(F,{modelValue:o.name,"onUpdate:modelValue":d=>o.name=d,placeholder:"请输入名称"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024),e(i,{label:"链接地址"},{default:t(()=>[e(I,{"is-tab":!0,disabled:u===0,modelValue:o.link,"onUpdate:modelValue":d=>o.link=d},null,8,["disabled","modelValue","onUpdate:modelValue"])]),_:2},1024),e(i,{label:"是否显示"},{default:t(()=>[a("div",se,[e(S,{disabled:u==0,modelValue:o.is_show,"onUpdate:modelValue":d=>o.is_show=d,"active-value":1,"inactive-value":0,onChange:d=>N(o)},null,8,["disabled","modelValue","onUpdate:modelValue","onChange"]),a("div",ne,[e(f,{name:"el-icon-Rank",size:"18"})])])]),_:2},1024)])]),_:2},1032,["onClose","show-close","class"])]),_:1},8,["modelValue"])]),((r=m(n).list)==null?void 0:r.length){var o;return[h(" 添加导航 "+y((o=m(n).list)==null?void 0:o.length)+" / "+y(c),1)]}),_:1})])):Y("",!0)]}),_:1})]),_:1})],64)}}});export{ge as _}; +import{J as P,B as T,C as j,g as H,i as L,D as M}from"./element-plus-DFTWCWyi.js";import{_ as Q}from"./index-CbfZXeGu.js";import{_ as R}from"./picker-DPnqJ8Gk.js";import{_ as q}from"./picker-BCRrEZaA.js";import{c as G,i as x}from"./index-DBREMm_z.js";import{_ as K}from"./index.vue_vue_type_script_setup_true_lang-3vCdLVB9.js";import{D as W}from"./vuedraggable-5bKFmC7X.js";import{f as X,ak as V,I as v,a as e,aN as t,J as a,O as h,H as Y,F as Z,A as w}from"./@vue/runtime-core-C6bnekPw.js";import{y as m}from"./@vue/reactivity-DiY1c2vO.js";import{o as ee,Q as y}from"./@vue/shared-mAAVTE9n.js";const le={class:"mb-[18px] max-w-[400px]"},oe={class:"bg-fill-light w-full p-4 mt-4"},te={class:"upload-btn w-[60px] h-[60px]"},ae={class:"upload-btn w-[60px] h-[60px]"},se={class:"flex-1 flex items-center"},ne={class:"drag-move cursor-move ml-auto"},de={key:0,class:"mt-4"},c=5,p=2,ge=X({__name:"attr",props:{modelValue:{type:Object,default:()=>({list:[],style:{}})}},emits:["update:modelValue"],setup(k,{emit:C}){const U=k,E=C,n=w({get(){return U.modelValue},set(s){E("update:modelValue",s)}}),$=w(()=>{var s;return((s=n.value.list)==null?void 0:s.filter(l=>l.is_show=="1"))||[]}),z=()=>{var s;((s=n.value.list)==null?void 0:s.length){var l;if(((l=n.value.list)==null?void 0:l.length)<=p)return x.msgError(`最少保留${p}个`);n.value.list.splice(s,1)},D=s=>s.relatedContext.index!=0,N=s=>{if($.value.length{const _=P,b=K,i=T,f=G,g=q,F=j,I=R,S=H,A=Q,J=L,O=M;return V(),v(Z,null,[e(_,{shadow:"never",class:"!border-none flex"},{default:t(()=>[...l[3]||(l[3]=[a("div",{class:"title flex items-center before:w-[3px] before:h-[14px] before:block before:bg-primary before:mr-2 text-xl font-medium"},[h(" 底部导航设置 "),a("span",{class:"form-tips ml-[10px] !mt-0"}," 至少添加2个导航,最多添加5个导航 ")],-1)])]),_:1}),e(O,{"label-width":"70px"},{default:t(()=>[e(_,{shadow:"never",class:"!border-none flex mt-2"},{default:t(()=>[l[4]||(l[4]=a("div",{class:"flex items-end mb-4"},[a("div",{class:"text-base text-[#101010] font-medium"},"展示样式")],-1)),e(i,{label:"默认颜色"},{default:t(()=>[e(b,{class:"max-w-[400px]",modelValue:m(n).style.default_color,"onUpdate:modelValue":l[0]||(l[0]=r=>m(n).style.default_color=r),"default-color":"#999999"},null,8,["modelValue"])]),_:1}),e(i,{label:"选中颜色",style:{"margin-bottom":"0"}},{default:t(()=>[e(b,{class:"max-w-[400px]",modelValue:m(n).style.selected_color,"onUpdate:modelValue":l[1]||(l[1]=r=>m(n).style.selected_color=r),"default-color":"#4173ff"},null,8,["modelValue"])]),_:1})]),_:1}),e(_,{shadow:"never",class:"!border-none flex mt-2"},{default:t(()=>{var r;return[l[7]||(l[7]=a("div",{class:"flex items-end mb-4"},[a("div",{class:"text-base text-[#101010] font-medium"},"菜单设置"),a("div",{class:"text-xs text-tx-secondary ml-2"},"建议图片尺寸:100px*100px")],-1)),a("div",le,[e(m(W),{class:"draggable",modelValue:m(n).list,"onUpdate:modelValue":l[2]||(l[2]=o=>m(n).list=o),animation:"300",draggable:".draggable",handle:".drag-move",move:D,"item-key":"index"},{item:t(({element:o,index:u})=>[e(A,{onClose:d=>B(u),class:ee(["max-w-[400px]",{draggable:u!=0}]),"show-close":u!==0},{default:t(()=>[a("div",oe,[e(i,{label:"导航图标"},{default:t(()=>[e(g,{modelValue:o.unselected,"onUpdate:modelValue":d=>o.unselected=d,"upload-class":"bg-body","exclude-domain":"",size:"60px"},{upload:t(()=>[a("div",te,[e(f,{name:"el-icon-Plus",size:16}),l[5]||(l[5]=a("span",{class:"text-xs leading-5"}," 未选中 ",-1))])]),_:1},8,["modelValue","onUpdate:modelValue"]),e(g,{modelValue:o.selected,"onUpdate:modelValue":d=>o.selected=d,"exclude-domain":"","upload-class":"bg-body",size:"60px"},{upload:t(()=>[a("div",ae,[e(f,{name:"el-icon-Plus",size:16}),l[6]||(l[6]=a("span",{class:"text-xs leading-5"}," 选中 ",-1))])]),_:1},8,["modelValue","onUpdate:modelValue"])]),_:2},1024),e(i,{label:"导航名称"},{default:t(()=>[e(F,{modelValue:o.name,"onUpdate:modelValue":d=>o.name=d,placeholder:"请输入名称"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024),e(i,{label:"链接地址"},{default:t(()=>[e(I,{"is-tab":!0,disabled:u===0,modelValue:o.link,"onUpdate:modelValue":d=>o.link=d},null,8,["disabled","modelValue","onUpdate:modelValue"])]),_:2},1024),e(i,{label:"是否显示"},{default:t(()=>[a("div",se,[e(S,{disabled:u==0,modelValue:o.is_show,"onUpdate:modelValue":d=>o.is_show=d,"active-value":1,"inactive-value":0,onChange:d=>N(o)},null,8,["disabled","modelValue","onUpdate:modelValue","onChange"]),a("div",ne,[e(f,{name:"el-icon-Rank",size:"18"})])])]),_:2},1024)])]),_:2},1032,["onClose","show-close","class"])]),_:1},8,["modelValue"])]),((r=m(n).list)==null?void 0:r.length){var o;return[h(" 添加导航 "+y((o=m(n).list)==null?void 0:o.length)+" / "+y(c),1)]}),_:1})])):Y("",!0)]}),_:1})]),_:1})],64)}}});export{ge as _}; diff --git a/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-BN--zfly.js b/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-c_YeWJqI.js similarity index 92% rename from server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-BN--zfly.js rename to server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-c_YeWJqI.js index dfe246b0..80bed9da 100644 --- a/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-BN--zfly.js +++ b/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-c_YeWJqI.js @@ -1 +1 @@ -import{J as V,B as w,C as x,D as b}from"./element-plus-0wC3naml.js";import{_ as g}from"./picker-DlbAZkDm.js";import{f as k,ak as E,I as U,a as e,aN as n,J as y,A as B}from"./@vue/runtime-core-C6bnekPw.js";import{y as o}from"./@vue/reactivity-DiY1c2vO.js";const j=k({__name:"attr",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},emits:["update:content"],setup(u,{emit:r}){const p=r,i=u,l=B({get:()=>i.content,set:d=>{p("update:content",d)}});return(d,t)=>{const s=x,m=w,_=g,c=V,f=b;return E(),U("div",null,[e(f,{"label-width":"90px",size:"large","label-position":"top"},{default:n(()=>[e(c,{shadow:"never",class:"!border-none flex mt-2"},{default:n(()=>[e(m,{label:"平台名称"},{default:n(()=>[e(s,{class:"w-[400px]","show-word-limit":"",maxlength:"20",modelValue:o(l).title,"onUpdate:modelValue":t[0]||(t[0]=a=>o(l).title=a)},null,8,["modelValue"])]),_:1}),e(m,{label:"客服二维码"},{default:n(()=>[y("div",null,[e(_,{modelValue:o(l).qrcode,"onUpdate:modelValue":t[1]||(t[1]=a=>o(l).qrcode=a),"exclude-domain":""},null,8,["modelValue"])])]),_:1}),e(m,{label:"备注"},{default:n(()=>[e(s,{class:"w-[400px]","show-word-limit":"",maxlength:"20",modelValue:o(l).remark,"onUpdate:modelValue":t[2]||(t[2]=a=>o(l).remark=a)},null,8,["modelValue"])]),_:1}),e(m,{label:"联系电话"},{default:n(()=>[e(s,{class:"w-[400px]",modelValue:o(l).mobile,"onUpdate:modelValue":t[3]||(t[3]=a=>o(l).mobile=a)},null,8,["modelValue"])]),_:1}),e(m,{label:"服务时间"},{default:n(()=>[e(s,{class:"w-[400px]","show-word-limit":"",maxlength:"20",modelValue:o(l).time,"onUpdate:modelValue":t[4]||(t[4]=a=>o(l).time=a)},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})])}}});export{j as _}; +import{J as V,B as w,C as x,D as b}from"./element-plus-DFTWCWyi.js";import{_ as g}from"./picker-BCRrEZaA.js";import{f as k,ak as E,I as U,a as e,aN as n,J as y,A as B}from"./@vue/runtime-core-C6bnekPw.js";import{y as o}from"./@vue/reactivity-DiY1c2vO.js";const j=k({__name:"attr",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},emits:["update:content"],setup(u,{emit:r}){const p=r,i=u,l=B({get:()=>i.content,set:d=>{p("update:content",d)}});return(d,t)=>{const s=x,m=w,_=g,c=V,f=b;return E(),U("div",null,[e(f,{"label-width":"90px",size:"large","label-position":"top"},{default:n(()=>[e(c,{shadow:"never",class:"!border-none flex mt-2"},{default:n(()=>[e(m,{label:"平台名称"},{default:n(()=>[e(s,{class:"w-[400px]","show-word-limit":"",maxlength:"20",modelValue:o(l).title,"onUpdate:modelValue":t[0]||(t[0]=a=>o(l).title=a)},null,8,["modelValue"])]),_:1}),e(m,{label:"客服二维码"},{default:n(()=>[y("div",null,[e(_,{modelValue:o(l).qrcode,"onUpdate:modelValue":t[1]||(t[1]=a=>o(l).qrcode=a),"exclude-domain":""},null,8,["modelValue"])])]),_:1}),e(m,{label:"备注"},{default:n(()=>[e(s,{class:"w-[400px]","show-word-limit":"",maxlength:"20",modelValue:o(l).remark,"onUpdate:modelValue":t[2]||(t[2]=a=>o(l).remark=a)},null,8,["modelValue"])]),_:1}),e(m,{label:"联系电话"},{default:n(()=>[e(s,{class:"w-[400px]",modelValue:o(l).mobile,"onUpdate:modelValue":t[3]||(t[3]=a=>o(l).mobile=a)},null,8,["modelValue"])]),_:1}),e(m,{label:"服务时间"},{default:n(()=>[e(s,{class:"w-[400px]","show-word-limit":"",maxlength:"20",modelValue:o(l).time,"onUpdate:modelValue":t[4]||(t[4]=a=>o(l).time=a)},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})])}}});export{j as _}; diff --git a/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-A0LOU1hn.js b/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-mOGAGDW2.js similarity index 93% rename from server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-A0LOU1hn.js rename to server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-mOGAGDW2.js index e0008096..1d6a21b6 100644 --- a/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-A0LOU1hn.js +++ b/server/public/admin/assets/attr.vue_vue_type_script_setup_true_lang-mOGAGDW2.js @@ -1 +1 @@ -import{J as I,B as O,C as j,g as A,i as F,D as J}from"./element-plus-0wC3naml.js";import{_ as z}from"./index-BHTgr4Ka.js";import{c as G,i as g}from"./index-E47--KT7.js";import{_ as H}from"./picker-B9b8bj5N.js";import{_ as R}from"./picker-DlbAZkDm.js";import{D as S}from"./vuedraggable-5bKFmC7X.js";import{k as v}from"./lodash-es-C2A-Pj28.js";import{f as T,ak as _,I as h,a as t,aN as a,J as s,G as q,O as K,H as L,A as M}from"./@vue/runtime-core-C6bnekPw.js";import{y as p}from"./@vue/reactivity-DiY1c2vO.js";const P={class:"bg-fill-light flex items-center w-full p-4 mt-4"},Q={class:"ml-3 flex-1"},W={class:"flex-1 flex items-center"},X={class:"drag-move cursor-move ml-auto"},Y={key:0,class:"mt-4"},r=5,ce=T({__name:"attr",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},emits:["update:content"],setup(u,{emit:k}){const d=k,m=u,f=M({get:()=>m.content,set:l=>{d("update:content",l)}}),b=()=>{var l;if(((l=m.content.data)==null?void 0:l.length){var c;if(((c=m.content.data)==null?void 0:c.length)<=1)return g.msgError("最少保留一张图片");const e=v(m.content);e.data.splice(l,1),d("update:content",e)};return(l,e)=>{const c=R,y=j,i=O,E=H,U=A,C=G,B=z,D=F,N=I,$=J;return _(),h("div",null,[t($,{"label-width":"70px"},{default:a(()=>[t(N,{shadow:"never",class:"!border-none flex mt-2"},{default:a(()=>{var x;return[e[2]||(e[2]=s("div",{class:"flex items-end mb-4"},[s("div",{class:"text-base text-[#101010] font-medium"},"菜单"),s("div",{class:"text-xs text-tx-secondary ml-2"}," 最多添加5张,建议图片尺寸:750px*200px ")],-1)),t(p(S),{class:"draggable",modelValue:p(f).data,"onUpdate:modelValue":e[0]||(e[0]=o=>p(f).data=o),animation:"300",handle:".drag-move","item-key":"index"},{item:a(({element:o,index:V})=>[(_(),q(B,{key:V,onClose:n=>w(V),class:"w-[467px]"},{default:a(()=>[s("div",P,[t(c,{modelValue:o.image,"onUpdate:modelValue":n=>o.image=n,"upload-class":"bg-body","exclude-domain":""},null,8,["modelValue","onUpdate:modelValue"]),s("div",Q,[t(i,{label:"图片名称"},{default:a(()=>[t(y,{modelValue:o.name,"onUpdate:modelValue":n=>o.name=n,placeholder:"请输入名称"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024),t(i,{class:"mt-[18px]",label:"图片链接"},{default:a(()=>[t(E,{modelValue:o.link,"onUpdate:modelValue":n=>o.link=n},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024),t(i,{label:"是否显示",class:"mt-[18px]"},{default:a(()=>[s("div",W,[t(U,{modelValue:o.is_show,"onUpdate:modelValue":n=>o.is_show=n,"active-value":"1","inactive-value":"0"},null,8,["modelValue","onUpdate:modelValue"]),s("div",X,[t(C,{name:"el-icon-Rank",size:"18"})])])]),_:2},1024)])])]),_:2},1032,["onClose"]))]),_:1},8,["modelValue"]),((x=u.content.data)==null?void 0:x.length)[...e[1]||(e[1]=[K("添加图片",-1)])]),_:1})])):L("",!0)]}),_:1})]),_:1})])}}});export{ce as _}; +import{J as I,B as O,C as j,g as A,i as F,D as J}from"./element-plus-DFTWCWyi.js";import{_ as z}from"./index-CbfZXeGu.js";import{c as G,i as g}from"./index-DBREMm_z.js";import{_ as H}from"./picker-DPnqJ8Gk.js";import{_ as R}from"./picker-BCRrEZaA.js";import{D as S}from"./vuedraggable-5bKFmC7X.js";import{k as v}from"./lodash-es-C2A-Pj28.js";import{f as T,ak as _,I as h,a as t,aN as a,J as s,G as q,O as K,H as L,A as M}from"./@vue/runtime-core-C6bnekPw.js";import{y as p}from"./@vue/reactivity-DiY1c2vO.js";const P={class:"bg-fill-light flex items-center w-full p-4 mt-4"},Q={class:"ml-3 flex-1"},W={class:"flex-1 flex items-center"},X={class:"drag-move cursor-move ml-auto"},Y={key:0,class:"mt-4"},r=5,ce=T({__name:"attr",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},emits:["update:content"],setup(u,{emit:k}){const d=k,m=u,f=M({get:()=>m.content,set:l=>{d("update:content",l)}}),b=()=>{var l;if(((l=m.content.data)==null?void 0:l.length){var c;if(((c=m.content.data)==null?void 0:c.length)<=1)return g.msgError("最少保留一张图片");const e=v(m.content);e.data.splice(l,1),d("update:content",e)};return(l,e)=>{const c=R,y=j,i=O,E=H,U=A,C=G,B=z,D=F,N=I,$=J;return _(),h("div",null,[t($,{"label-width":"70px"},{default:a(()=>[t(N,{shadow:"never",class:"!border-none flex mt-2"},{default:a(()=>{var x;return[e[2]||(e[2]=s("div",{class:"flex items-end mb-4"},[s("div",{class:"text-base text-[#101010] font-medium"},"菜单"),s("div",{class:"text-xs text-tx-secondary ml-2"}," 最多添加5张,建议图片尺寸:750px*200px ")],-1)),t(p(S),{class:"draggable",modelValue:p(f).data,"onUpdate:modelValue":e[0]||(e[0]=o=>p(f).data=o),animation:"300",handle:".drag-move","item-key":"index"},{item:a(({element:o,index:V})=>[(_(),q(B,{key:V,onClose:n=>w(V),class:"w-[467px]"},{default:a(()=>[s("div",P,[t(c,{modelValue:o.image,"onUpdate:modelValue":n=>o.image=n,"upload-class":"bg-body","exclude-domain":""},null,8,["modelValue","onUpdate:modelValue"]),s("div",Q,[t(i,{label:"图片名称"},{default:a(()=>[t(y,{modelValue:o.name,"onUpdate:modelValue":n=>o.name=n,placeholder:"请输入名称"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024),t(i,{class:"mt-[18px]",label:"图片链接"},{default:a(()=>[t(E,{modelValue:o.link,"onUpdate:modelValue":n=>o.link=n},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024),t(i,{label:"是否显示",class:"mt-[18px]"},{default:a(()=>[s("div",W,[t(U,{modelValue:o.is_show,"onUpdate:modelValue":n=>o.is_show=n,"active-value":"1","inactive-value":"0"},null,8,["modelValue","onUpdate:modelValue"]),s("div",X,[t(C,{name:"el-icon-Rank",size:"18"})])])]),_:2},1024)])])]),_:2},1032,["onClose"]))]),_:1},8,["modelValue"]),((x=u.content.data)==null?void 0:x.length)[...e[1]||(e[1]=[K("添加图片",-1)])]),_:1})])):L("",!0)]}),_:1})]),_:1})])}}});export{ce as _}; diff --git a/server/public/admin/assets/auth-CnJ8rnDs.js b/server/public/admin/assets/auth-DSRMKMRZ.js similarity index 75% rename from server/public/admin/assets/auth-CnJ8rnDs.js rename to server/public/admin/assets/auth-DSRMKMRZ.js index fa702a8b..7394c0d0 100644 --- a/server/public/admin/assets/auth-CnJ8rnDs.js +++ b/server/public/admin/assets/auth-DSRMKMRZ.js @@ -1 +1 @@ -import{_ as o}from"./auth.vue_vue_type_script_setup_true_lang-Cd0iTg-I.js";import"./element-plus-0wC3naml.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./menu-CJerAkpY.js";import"./index-E47--KT7.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./role-DPqAO58h.js";import"./index-nymJKQXP.js";export{o as default}; +import{_ as o}from"./auth.vue_vue_type_script_setup_true_lang-D4rvURhD.js";import"./element-plus-DFTWCWyi.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./menu-CvPcniJ1.js";import"./index-DBREMm_z.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./role-DTNlgcHU.js";import"./index-BwF7vczx.js";export{o as default}; diff --git a/server/public/admin/assets/auth.vue_vue_type_script_setup_true_lang-Cd0iTg-I.js b/server/public/admin/assets/auth.vue_vue_type_script_setup_true_lang-D4rvURhD.js similarity index 92% rename from server/public/admin/assets/auth.vue_vue_type_script_setup_true_lang-Cd0iTg-I.js rename to server/public/admin/assets/auth.vue_vue_type_script_setup_true_lang-D4rvURhD.js index 8ecfb3b1..b4709e34 100644 --- a/server/public/admin/assets/auth.vue_vue_type_script_setup_true_lang-Cd0iTg-I.js +++ b/server/public/admin/assets/auth.vue_vue_type_script_setup_true_lang-D4rvURhD.js @@ -1 +1 @@ -import{D as I,s as G,B as J,H as M,Z as O,L as P}from"./element-plus-0wC3naml.js";import{m as U}from"./menu-CJerAkpY.js";import{a as Z}from"./role-DPqAO58h.js";import{_ as j}from"./index-nymJKQXP.js";import{x as z}from"./index-E47--KT7.js";import{f as Q,ak as k,I as W,a as l,aN as d,aP as X,G as Y,J as y,n as x}from"./@vue/runtime-core-C6bnekPw.js";import{y as c,a as $,q as f,n as r,r as ee}from"./@vue/reactivity-DiY1c2vO.js";const te={class:"edit-popup"},de=Q({__name:"auth",emits:["success","close"],setup(ae,{expose:C,emit:g}){const _=g,o=f(),h=f(),u=f(),b=r(!1),i=r(!0),m=r(!1),v=r([]),p=r([]),s=ee({id:"",name:"",desc:"",sort:0,data_scope:1,menu_id:[]}),E={name:[{required:!0,message:"请输入名称",trigger:["blur"]}]},w=()=>{m.value=!0,U().then(e=>{p.value=e,v.value=z(e),x(()=>{A()}),m.value=!1})},R=()=>{var a,n;const e=(a=o.value)==null?void 0:a.getCheckedKeys(),t=(n=o.value)==null?void 0:n.getHalfCheckedKeys();return e==null||e.unshift.apply(e,t),e},A=()=>{s.menu_id.forEach(e=>{x(()=>{var t;(t=o.value)==null||t.setChecked(e,!0,!1)})})},D=e=>{const t=p.value;for(let a=0;a{var t,a;e?(t=o.value)==null||t.setCheckedKeys(v.value.map(n=>n.id)):(a=o.value)==null||a.setCheckedKeys([])},B=async()=>{var e,t;await((e=h.value)==null?void 0:e.validate()),s.menu_id=R(),await Z(s),(t=u.value)==null||t.close(),_("success")},V=()=>{_("close")},S=()=>{var e;(e=u.value)==null||e.open()},T=async e=>{for(const t in s)e[t]!=null&&e[t]!=null&&(s[t]=e[t])};return w(),C({open:S,setFormData:T}),(e,t)=>{const a=M,n=O,F=J,L=G,N=I,q=P;return k(),W("div",te,[l(j,{ref_key:"popupRef",ref:u,title:"分配权限",async:!0,width:"550px",onConfirm:B,onClose:V},{default:d(()=>[X((k(),Y(N,{class:"ls-form",ref_key:"formRef",ref:h,rules:E,model:c(s),"label-width":"60px"},{default:d(()=>[l(L,{class:"h-[400px] sm:h-[600px]"},{default:d(()=>[l(F,{label:"权限",prop:"menu_id"},{default:d(()=>[y("div",null,[l(a,{label:"展开/折叠",onChange:D}),l(a,{label:"全选/不全选",onChange:K}),l(a,{modelValue:c(i),"onUpdate:modelValue":t[0]||(t[0]=H=>$(i)?i.value=H:null),label:"父子联动"},null,8,["modelValue"]),y("div",null,[l(n,{ref_key:"treeRef",ref:o,data:c(p),props:{label:"name",children:"children"},"check-strictly":!c(i),"node-key":"id","default-expand-all":c(b),"show-checkbox":""},null,8,["data","check-strictly","default-expand-all"])])])]),_:1})]),_:1})]),_:1},8,["model"])),[[q,c(m)]])]),_:1},512)])}}});export{de as _}; +import{D as I,s as G,B as J,H as M,Z as O,L as P}from"./element-plus-DFTWCWyi.js";import{m as U}from"./menu-CvPcniJ1.js";import{a as Z}from"./role-DTNlgcHU.js";import{_ as j}from"./index-BwF7vczx.js";import{x as z}from"./index-DBREMm_z.js";import{f as Q,ak as k,I as W,a as l,aN as d,aP as X,G as Y,J as y,n as x}from"./@vue/runtime-core-C6bnekPw.js";import{y as c,a as $,q as f,n as r,r as ee}from"./@vue/reactivity-DiY1c2vO.js";const te={class:"edit-popup"},de=Q({__name:"auth",emits:["success","close"],setup(ae,{expose:C,emit:g}){const _=g,o=f(),h=f(),u=f(),b=r(!1),i=r(!0),m=r(!1),v=r([]),p=r([]),s=ee({id:"",name:"",desc:"",sort:0,data_scope:1,menu_id:[]}),E={name:[{required:!0,message:"请输入名称",trigger:["blur"]}]},w=()=>{m.value=!0,U().then(e=>{p.value=e,v.value=z(e),x(()=>{A()}),m.value=!1})},R=()=>{var a,n;const e=(a=o.value)==null?void 0:a.getCheckedKeys(),t=(n=o.value)==null?void 0:n.getHalfCheckedKeys();return e==null||e.unshift.apply(e,t),e},A=()=>{s.menu_id.forEach(e=>{x(()=>{var t;(t=o.value)==null||t.setChecked(e,!0,!1)})})},D=e=>{const t=p.value;for(let a=0;a{var t,a;e?(t=o.value)==null||t.setCheckedKeys(v.value.map(n=>n.id)):(a=o.value)==null||a.setCheckedKeys([])},B=async()=>{var e,t;await((e=h.value)==null?void 0:e.validate()),s.menu_id=R(),await Z(s),(t=u.value)==null||t.close(),_("success")},V=()=>{_("close")},S=()=>{var e;(e=u.value)==null||e.open()},T=async e=>{for(const t in s)e[t]!=null&&e[t]!=null&&(s[t]=e[t])};return w(),C({open:S,setFormData:T}),(e,t)=>{const a=M,n=O,F=J,L=G,N=I,q=P;return k(),W("div",te,[l(j,{ref_key:"popupRef",ref:u,title:"分配权限",async:!0,width:"550px",onConfirm:B,onClose:V},{default:d(()=>[X((k(),Y(N,{class:"ls-form",ref_key:"formRef",ref:h,rules:E,model:c(s),"label-width":"60px"},{default:d(()=>[l(L,{class:"h-[400px] sm:h-[600px]"},{default:d(()=>[l(F,{label:"权限",prop:"menu_id"},{default:d(()=>[y("div",null,[l(a,{label:"展开/折叠",onChange:D}),l(a,{label:"全选/不全选",onChange:K}),l(a,{modelValue:c(i),"onUpdate:modelValue":t[0]||(t[0]=H=>$(i)?i.value=H:null),label:"父子联动"},null,8,["modelValue"]),y("div",null,[l(n,{ref_key:"treeRef",ref:o,data:c(p),props:{label:"name",children:"children"},"check-strictly":!c(i),"node-key":"id","default-expand-all":c(b),"show-checkbox":""},null,8,["data","check-strictly","default-expand-all"])])])]),_:1})]),_:1})]),_:1},8,["model"])),[[q,c(m)]])]),_:1},512)])}}});export{de as _}; diff --git a/server/public/admin/assets/balance_details-CuLNXHHw.js b/server/public/admin/assets/balance_details-DPuAKDSi.js similarity index 91% rename from server/public/admin/assets/balance_details-CuLNXHHw.js rename to server/public/admin/assets/balance_details-DPuAKDSi.js index 4b308fd8..a6aa88e0 100644 --- a/server/public/admin/assets/balance_details-CuLNXHHw.js +++ b/server/public/admin/assets/balance_details-DPuAKDSi.js @@ -1 +1 @@ -import{K as L,D as N,B as K,C as I,P as O,Q as z,i as J,J as Q,M as R,N as S,L as $}from"./element-plus-0wC3naml.js";import{_ as j}from"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import{h as q}from"./index-E47--KT7.js";import{_ as A}from"./index.vue_vue_type_script_setup_true_lang-DBEwrTRf.js";import{w as G}from"./@vue/runtime-dom-DDAG46FW.js";import{g as M,h as H}from"./finance-C48kuhTG.js";import{u as W}from"./useDictOptions-CypOxw17.js";import{u as X}from"./usePaging-VsbTxSU0.js";import{f as v,ak as s,I as h,a as e,aN as n,F as Y,ap as Z,G as w,O as p,aP as ee,J as _}from"./@vue/runtime-core-C6bnekPw.js";import{y as o,a as te,r as oe}from"./@vue/reactivity-DiY1c2vO.js";import{Q as y,o as ae}from"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const ne={class:"flex items-center"},le={class:"flex justify-end mt-4"},ie=v({name:"balanceDetail"}),Xe=v({...ie,setup(re){const l=oe({user_info:"",change_type:"",start_time:"",end_time:""}),{pager:r,getLists:d,resetPage:c,resetParams:C}=X({fetchFun:M,params:l}),{optionsData:x}=W({change_type:{api:H}});return d(),(me,a)=>{const V=L,E=I,m=K,u=z,T=O,k=A,f=J,B=N,g=Q,i=S,D=q,P=R,U=j,F=$;return s(),h("div",null,[e(g,{class:"!border-none",shadow:"never"},{default:n(()=>[e(V,{type:"warning",title:"温馨提示:用户账户变动记录",closable:!1,"show-icon":""}),e(B,{ref:"formRef",class:"mb-[-16px] mt-[16px]",model:o(l),inline:!0},{default:n(()=>[e(m,{class:"w-[280px]",label:"用户信息"},{default:n(()=>[e(E,{modelValue:o(l).user_info,"onUpdate:modelValue":a[0]||(a[0]=t=>o(l).user_info=t),placeholder:"请输入用户账号/昵称/手机号",clearable:"",onKeyup:G(o(c),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(m,{class:"w-[280px]",label:"变动类型"},{default:n(()=>[e(T,{modelValue:o(l).change_type,"onUpdate:modelValue":a[1]||(a[1]=t=>o(l).change_type=t)},{default:n(()=>[e(u,{label:"全部",value:""}),(s(!0),h(Y,null,Z(o(x).change_type,(t,b)=>(s(),w(u,{key:b,label:t,value:b},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),e(m,{label:"记录时间"},{default:n(()=>[e(k,{startTime:o(l).start_time,"onUpdate:startTime":a[2]||(a[2]=t=>o(l).start_time=t),endTime:o(l).end_time,"onUpdate:endTime":a[3]||(a[3]=t=>o(l).end_time=t)},null,8,["startTime","endTime"])]),_:1}),e(m,null,{default:n(()=>[e(f,{type:"primary",onClick:o(c)},{default:n(()=>[...a[5]||(a[5]=[p("查询",-1)])]),_:1},8,["onClick"]),e(f,{onClick:o(C)},{default:n(()=>[...a[6]||(a[6]=[p("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),e(g,{class:"!border-none mt-4",shadow:"never"},{default:n(()=>[ee((s(),w(P,{size:"large",data:o(r).lists},{default:n(()=>[e(i,{label:"用户账号",prop:"account","min-width":"100"}),e(i,{label:"用户昵称","min-width":"160"},{default:n(({row:t})=>[_("div",ne,[e(D,{class:"flex-none mr-2",src:t.avatar,width:40,height:40,"preview-teleported":"",fit:"contain"},null,8,["src"]),p(" "+y(t.nickname),1)])]),_:1}),e(i,{label:"手机号码",prop:"mobile","min-width":"100"}),e(i,{label:"变动金额",prop:"change_amount","min-width":"100"},{default:n(({row:t})=>[_("span",{class:ae({"text-error":t.action==2})},y(t.change_amount),3)]),_:1}),e(i,{label:"剩余金额",prop:"left_amount","min-width":"100"}),e(i,{label:"变动类型",prop:"change_type_desc","min-width":"120"}),e(i,{label:"来源单号",prop:"source_sn","min-width":"100"}),e(i,{label:"记录时间",prop:"create_time","min-width":"120"})]),_:1},8,["data"])),[[F,o(r).loading]]),_("div",le,[e(U,{modelValue:o(r),"onUpdate:modelValue":a[4]||(a[4]=t=>te(r)?r.value=t:null),onChange:o(d)},null,8,["modelValue","onChange"])])]),_:1})])}}});export{Xe as default}; +import{K as L,D as N,B as K,C as I,P as O,Q as z,i as J,J as Q,M as R,N as S,L as $}from"./element-plus-DFTWCWyi.js";import{_ as j}from"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import{h as q}from"./index-DBREMm_z.js";import{_ as A}from"./index.vue_vue_type_script_setup_true_lang-DPC_NOWM.js";import{w as G}from"./@vue/runtime-dom-DDAG46FW.js";import{g as M,h as H}from"./finance-YaEgIEMc.js";import{u as W}from"./useDictOptions-Dl6xXBty.js";import{u as X}from"./usePaging-VsbTxSU0.js";import{f as v,ak as s,I as h,a as e,aN as n,F as Y,ap as Z,G as w,O as p,aP as ee,J as _}from"./@vue/runtime-core-C6bnekPw.js";import{y as o,a as te,r as oe}from"./@vue/reactivity-DiY1c2vO.js";import{Q as y,o as ae}from"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const ne={class:"flex items-center"},le={class:"flex justify-end mt-4"},ie=v({name:"balanceDetail"}),Xe=v({...ie,setup(re){const l=oe({user_info:"",change_type:"",start_time:"",end_time:""}),{pager:r,getLists:d,resetPage:c,resetParams:C}=X({fetchFun:M,params:l}),{optionsData:x}=W({change_type:{api:H}});return d(),(me,a)=>{const V=L,E=I,m=K,u=z,T=O,k=A,f=J,B=N,g=Q,i=S,D=q,P=R,U=j,F=$;return s(),h("div",null,[e(g,{class:"!border-none",shadow:"never"},{default:n(()=>[e(V,{type:"warning",title:"温馨提示:用户账户变动记录",closable:!1,"show-icon":""}),e(B,{ref:"formRef",class:"mb-[-16px] mt-[16px]",model:o(l),inline:!0},{default:n(()=>[e(m,{class:"w-[280px]",label:"用户信息"},{default:n(()=>[e(E,{modelValue:o(l).user_info,"onUpdate:modelValue":a[0]||(a[0]=t=>o(l).user_info=t),placeholder:"请输入用户账号/昵称/手机号",clearable:"",onKeyup:G(o(c),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(m,{class:"w-[280px]",label:"变动类型"},{default:n(()=>[e(T,{modelValue:o(l).change_type,"onUpdate:modelValue":a[1]||(a[1]=t=>o(l).change_type=t)},{default:n(()=>[e(u,{label:"全部",value:""}),(s(!0),h(Y,null,Z(o(x).change_type,(t,b)=>(s(),w(u,{key:b,label:t,value:b},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),e(m,{label:"记录时间"},{default:n(()=>[e(k,{startTime:o(l).start_time,"onUpdate:startTime":a[2]||(a[2]=t=>o(l).start_time=t),endTime:o(l).end_time,"onUpdate:endTime":a[3]||(a[3]=t=>o(l).end_time=t)},null,8,["startTime","endTime"])]),_:1}),e(m,null,{default:n(()=>[e(f,{type:"primary",onClick:o(c)},{default:n(()=>[...a[5]||(a[5]=[p("查询",-1)])]),_:1},8,["onClick"]),e(f,{onClick:o(C)},{default:n(()=>[...a[6]||(a[6]=[p("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),e(g,{class:"!border-none mt-4",shadow:"never"},{default:n(()=>[ee((s(),w(P,{size:"large",data:o(r).lists},{default:n(()=>[e(i,{label:"用户账号",prop:"account","min-width":"100"}),e(i,{label:"用户昵称","min-width":"160"},{default:n(({row:t})=>[_("div",ne,[e(D,{class:"flex-none mr-2",src:t.avatar,width:40,height:40,"preview-teleported":"",fit:"contain"},null,8,["src"]),p(" "+y(t.nickname),1)])]),_:1}),e(i,{label:"手机号码",prop:"mobile","min-width":"100"}),e(i,{label:"变动金额",prop:"change_amount","min-width":"100"},{default:n(({row:t})=>[_("span",{class:ae({"text-error":t.action==2})},y(t.change_amount),3)]),_:1}),e(i,{label:"剩余金额",prop:"left_amount","min-width":"100"}),e(i,{label:"变动类型",prop:"change_type_desc","min-width":"120"}),e(i,{label:"来源单号",prop:"source_sn","min-width":"100"}),e(i,{label:"记录时间",prop:"create_time","min-width":"120"})]),_:1},8,["data"])),[[F,o(r).loading]]),_("div",le,[e(U,{modelValue:o(r),"onUpdate:modelValue":a[4]||(a[4]=t=>te(r)?r.value=t:null),onChange:o(d)},null,8,["modelValue","onChange"])])]),_:1})])}}});export{Xe as default}; diff --git a/server/public/admin/assets/bind-work-wechat-srD3ph6p.js b/server/public/admin/assets/bind-work-wechat-CWkTPdoN.js similarity index 96% rename from server/public/admin/assets/bind-work-wechat-srD3ph6p.js rename to server/public/admin/assets/bind-work-wechat-CWkTPdoN.js index 9a20e0c8..53ebd1bf 100644 --- a/server/public/admin/assets/bind-work-wechat-srD3ph6p.js +++ b/server/public/admin/assets/bind-work-wechat-CWkTPdoN.js @@ -1 +1 @@ -import{E as _,d as T,i as $}from"./element-plus-0wC3naml.js";import{l as S}from"./@element-plus/icons-vue-HOEUG8sr.js";import{_ as j}from"./footer.vue_vue_type_script_setup_true_lang-DHdwl9ND.js";import{u as z,g as A,P as I,a as D,b as F,_ as M}from"./index-E47--KT7.js";import{a as Q}from"./wecomOauthPostMessage-C_e6VGrO.js";import{a as V}from"./vue-router-QlpZ4wdW.js";import{f as X,b as J,d as K,ak as d,I as l,J as a,a as c,aN as y,F as G,O as H,n as C}from"./@vue/runtime-core-C6bnekPw.js";import{y as U,n as k}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Y={class:"bind-wx flex flex-col"},Z={class:"flex-1 flex items-center justify-center"},tt={class:"bind-wx-card bg-body rounded-md px-10 py-10 w-[480px]"},et={key:0,class:"text-center py-10"},ot={key:0,class:"text-center py-10"},rt={key:1,id:"wxwork_bind_qrcode_container",class:"wxwork-qrcode mx-auto"},it={class:"mt-8 flex justify-center gap-4"},m="bind_wxwork",g="like_admin_wx_bind_oauth",nt=X({__name:"bind-work-wechat",setup(at){const p=V(),f=z(),x=k(!1),w=k(!1),u=k({corp_id:"",agent_id:""}),L=()=>/wxwork/i.test(navigator.userAgent),v=()=>window.location.origin+window.location.pathname+"?bind_wxwork=1";function W(){const o=new URLSearchParams(window.location.search),t=window.location.hash||"",e=t.includes("?")?t.split("?").slice(1).join("?"):"";return e&&new URLSearchParams(e).forEach((r,s)=>{o.has(s)||o.set(s,r)}),o}const E=()=>{f.logout()},B=async()=>{try{await f.getUserInfo()}catch{}if(f.isPaw===0){p.replace("/change-password");return}p.replace(I.INDEX)},b=async o=>{w.value=!0;try{await F({code:o}),window.history.replaceState({},"",window.location.pathname),await B()}catch(t){console.error(t),_.error((t==null?void 0:t.msg)||(t==null?void 0:t.message)||"绑定失败"),w.value=!1}};let n=null;const P=async()=>{if(!u.value.corp_id)return;x.value=!0,window.WwLogin||await new Promise((t,e)=>{const r=document.createElement("script");r.src="https://wwcdn.weixin.qq.com/node/wework/wwopen/js/wwLogin-1.2.7.js",r.onload=()=>t(),r.onerror=()=>e(new Error("加载企业微信 JS 失败")),document.head.appendChild(r)}),await C(),x.value=!1,await C();const o=encodeURIComponent(v());new window.WwLogin({id:"wxwork_bind_qrcode_container",appid:u.value.corp_id,agentid:u.value.agent_id,redirect_uri:o,lang:"zh",state:m,href:"",self_redirect:!1})};return J(async()=>{let o="";try{o=(new URLSearchParams(window.location.search).get("code")||"").trim()}catch{o=""}if(!A()){_.error("请先登录"),p.push(I.LOGIN);return}const t=W(),e=o||(t.get("code")||"").trim(),r=t.get("state"),s=r!=null?String(r).trim():"",R=s===m||s==="admin_bind_wx"||s.toLowerCase()===m.toLowerCase(),N=t.get("bind_wxwork")==="1",O=!!e&&s===""&&p.currentRoute.value.path==="/bind-work-wechat";if(e&&(R||N||O)){if(sessionStorage.getItem(g)===e)return;sessionStorage.setItem(g,e);try{await b(e)}finally{sessionStorage.removeItem(g)}return}try{const i=await D();if(!(i!=null&&i.enabled)||!i.corp_id){_.error("企业微信未配置,请联系管理员");return}if(u.value={corp_id:i.corp_id,agent_id:i.agent_id},L()){w.value=!0;const h=encodeURIComponent(v()),q=`https://open.weixin.qq.com/connect/oauth2/authorize?appid=${i.corp_id}&redirect_uri=${h}&response_type=code&scope=snsapi_privateinfo&agentid=${i.agent_id}&state=${m}#wechat_redirect`;window.location.href=q;return}n==null||n(),n=Q({pathIncludes:"bind-work-wechat",lockKey:g,wxBindState:m,onCode:h=>b(h)}),await P()}catch(i){console.error(i),_.error("获取企业微信配置失败")}}),K(()=>{n==null||n(),n=null}),(o,t)=>{const e=T,r=$;return d(),l("div",Y,[a("div",Z,[a("div",tt,[t[4]||(t[4]=a("div",{class:"text-center text-2xl font-medium mb-2"},"绑定企业微信",-1)),t[5]||(t[5]=a("div",{class:"text-center text-gray-500 text-sm mb-8"}," 根据安全策略,需绑定企业微信账号后方可使用管理后台 ",-1)),w.value?(d(),l("div",et,[c(e,{class:"is-loading mb-4",size:40,color:"var(--el-color-primary)"},{default:y(()=>[c(U(S))]),_:1}),t[0]||(t[0]=a("div",{class:"text-gray-500"},"企业微信授权中...",-1))])):(d(),l(G,{key:1},[x.value?(d(),l("div",ot,[c(e,{class:"is-loading",size:32,color:"var(--el-color-primary)"},{default:y(()=>[c(U(S))]),_:1}),t[1]||(t[1]=a("div",{class:"mt-2 text-gray-400 text-sm"},"加载扫码...",-1))])):(d(),l("div",rt)),t[2]||(t[2]=a("div",{class:"text-center text-sm text-gray-400 mt-4"}," 请使用企业微信扫描二维码完成绑定 ",-1))],64)),a("div",it,[c(r,{onClick:E},{default:y(()=>[...t[3]||(t[3]=[H("退出登录",-1)])]),_:1})])])]),c(j)])}}}),Xt=M(nt,[["__scopeId","data-v-d4a61522"]]);export{Xt as default}; +import{E as _,d as T,i as $}from"./element-plus-DFTWCWyi.js";import{l as S}from"./@element-plus/icons-vue-HOEUG8sr.js";import{_ as j}from"./footer.vue_vue_type_script_setup_true_lang-CGxuEXz5.js";import{u as z,g as A,P as I,a as D,b as F,_ as M}from"./index-DBREMm_z.js";import{a as Q}from"./wecomOauthPostMessage-C_e6VGrO.js";import{a as V}from"./vue-router-QlpZ4wdW.js";import{f as X,b as J,d as K,ak as d,I as l,J as a,a as c,aN as y,F as G,O as H,n as C}from"./@vue/runtime-core-C6bnekPw.js";import{y as U,n as k}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Y={class:"bind-wx flex flex-col"},Z={class:"flex-1 flex items-center justify-center"},tt={class:"bind-wx-card bg-body rounded-md px-10 py-10 w-[480px]"},et={key:0,class:"text-center py-10"},ot={key:0,class:"text-center py-10"},rt={key:1,id:"wxwork_bind_qrcode_container",class:"wxwork-qrcode mx-auto"},it={class:"mt-8 flex justify-center gap-4"},m="bind_wxwork",g="like_admin_wx_bind_oauth",nt=X({__name:"bind-work-wechat",setup(at){const p=V(),f=z(),x=k(!1),w=k(!1),u=k({corp_id:"",agent_id:""}),L=()=>/wxwork/i.test(navigator.userAgent),v=()=>window.location.origin+window.location.pathname+"?bind_wxwork=1";function W(){const o=new URLSearchParams(window.location.search),t=window.location.hash||"",e=t.includes("?")?t.split("?").slice(1).join("?"):"";return e&&new URLSearchParams(e).forEach((r,s)=>{o.has(s)||o.set(s,r)}),o}const E=()=>{f.logout()},B=async()=>{try{await f.getUserInfo()}catch{}if(f.isPaw===0){p.replace("/change-password");return}p.replace(I.INDEX)},b=async o=>{w.value=!0;try{await F({code:o}),window.history.replaceState({},"",window.location.pathname),await B()}catch(t){console.error(t),_.error((t==null?void 0:t.msg)||(t==null?void 0:t.message)||"绑定失败"),w.value=!1}};let n=null;const P=async()=>{if(!u.value.corp_id)return;x.value=!0,window.WwLogin||await new Promise((t,e)=>{const r=document.createElement("script");r.src="https://wwcdn.weixin.qq.com/node/wework/wwopen/js/wwLogin-1.2.7.js",r.onload=()=>t(),r.onerror=()=>e(new Error("加载企业微信 JS 失败")),document.head.appendChild(r)}),await C(),x.value=!1,await C();const o=encodeURIComponent(v());new window.WwLogin({id:"wxwork_bind_qrcode_container",appid:u.value.corp_id,agentid:u.value.agent_id,redirect_uri:o,lang:"zh",state:m,href:"",self_redirect:!1})};return J(async()=>{let o="";try{o=(new URLSearchParams(window.location.search).get("code")||"").trim()}catch{o=""}if(!A()){_.error("请先登录"),p.push(I.LOGIN);return}const t=W(),e=o||(t.get("code")||"").trim(),r=t.get("state"),s=r!=null?String(r).trim():"",R=s===m||s==="admin_bind_wx"||s.toLowerCase()===m.toLowerCase(),N=t.get("bind_wxwork")==="1",O=!!e&&s===""&&p.currentRoute.value.path==="/bind-work-wechat";if(e&&(R||N||O)){if(sessionStorage.getItem(g)===e)return;sessionStorage.setItem(g,e);try{await b(e)}finally{sessionStorage.removeItem(g)}return}try{const i=await D();if(!(i!=null&&i.enabled)||!i.corp_id){_.error("企业微信未配置,请联系管理员");return}if(u.value={corp_id:i.corp_id,agent_id:i.agent_id},L()){w.value=!0;const h=encodeURIComponent(v()),q=`https://open.weixin.qq.com/connect/oauth2/authorize?appid=${i.corp_id}&redirect_uri=${h}&response_type=code&scope=snsapi_privateinfo&agentid=${i.agent_id}&state=${m}#wechat_redirect`;window.location.href=q;return}n==null||n(),n=Q({pathIncludes:"bind-work-wechat",lockKey:g,wxBindState:m,onCode:h=>b(h)}),await P()}catch(i){console.error(i),_.error("获取企业微信配置失败")}}),K(()=>{n==null||n(),n=null}),(o,t)=>{const e=T,r=$;return d(),l("div",Y,[a("div",Z,[a("div",tt,[t[4]||(t[4]=a("div",{class:"text-center text-2xl font-medium mb-2"},"绑定企业微信",-1)),t[5]||(t[5]=a("div",{class:"text-center text-gray-500 text-sm mb-8"}," 根据安全策略,需绑定企业微信账号后方可使用管理后台 ",-1)),w.value?(d(),l("div",et,[c(e,{class:"is-loading mb-4",size:40,color:"var(--el-color-primary)"},{default:y(()=>[c(U(S))]),_:1}),t[0]||(t[0]=a("div",{class:"text-gray-500"},"企业微信授权中...",-1))])):(d(),l(G,{key:1},[x.value?(d(),l("div",ot,[c(e,{class:"is-loading",size:32,color:"var(--el-color-primary)"},{default:y(()=>[c(U(S))]),_:1}),t[1]||(t[1]=a("div",{class:"mt-2 text-gray-400 text-sm"},"加载扫码...",-1))])):(d(),l("div",rt)),t[2]||(t[2]=a("div",{class:"text-center text-sm text-gray-400 mt-4"}," 请使用企业微信扫描二维码完成绑定 ",-1))],64)),a("div",it,[c(r,{onClick:E},{default:y(()=>[...t[3]||(t[3]=[H("退出登录",-1)])]),_:1})])])]),c(j)])}}}),Xt=M(nt,[["__scopeId","data-v-d4a61522"]]);export{Xt as default}; diff --git a/server/public/admin/assets/cache-k4QSZNlp.js b/server/public/admin/assets/cache-DxTWDONP.js similarity index 94% rename from server/public/admin/assets/cache-k4QSZNlp.js rename to server/public/admin/assets/cache-DxTWDONP.js index 8678dd83..6bd05a65 100644 --- a/server/public/admin/assets/cache-k4QSZNlp.js +++ b/server/public/admin/assets/cache-DxTWDONP.js @@ -1 +1 @@ -import{K as c,J as _,M as d,N as f,i as u}from"./element-plus-0wC3naml.js";import{i as h,B as b}from"./index-E47--KT7.js";import{f as i,ak as w,I as C,a as t,aN as o,O as k}from"./@vue/runtime-core-C6bnekPw.js";import{y,n as E}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const x={class:"cache"},B=i({name:"cache"}),st=i({...B,setup(N){const m=E([{content:"系统缓存",desc:"系统运行过程中产生的各类缓存数据"}]),n=async()=>{await h.confirm("确认清除系统缓存?"),await b(),window.location.reload()};return(g,r)=>{const p=c,a=_,e=f,l=u,s=d;return w(),C("div",x,[t(a,{class:"!border-none",shadow:"never"},{default:o(()=>[t(p,{type:"warning",title:"温馨提示:管理系统运行过程中产生的缓存",closable:!1,"show-icon":""})]),_:1}),t(a,{class:"!border-none mt-4",shadow:"never"},{default:o(()=>[t(s,{data:y(m),size:"large"},{default:o(()=>[t(e,{label:"管理内容",prop:"content","min-width":"130"}),t(e,{label:"内容说明",prop:"desc","min-width":"180"}),t(e,{label:"操作",width:"130",fixed:"right"},{default:o(()=>[t(l,{type:"primary",link:"",onClick:n},{default:o(()=>[...r[0]||(r[0]=[k("清除系统缓存",-1)])]),_:1})]),_:1})]),_:1},8,["data"])]),_:1})])}}});export{st as default}; +import{K as c,J as _,M as d,N as f,i as u}from"./element-plus-DFTWCWyi.js";import{i as h,B as b}from"./index-DBREMm_z.js";import{f as i,ak as w,I as C,a as t,aN as o,O as k}from"./@vue/runtime-core-C6bnekPw.js";import{y,n as E}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const x={class:"cache"},B=i({name:"cache"}),st=i({...B,setup(N){const m=E([{content:"系统缓存",desc:"系统运行过程中产生的各类缓存数据"}]),n=async()=>{await h.confirm("确认清除系统缓存?"),await b(),window.location.reload()};return(g,r)=>{const p=c,a=_,e=f,l=u,s=d;return w(),C("div",x,[t(a,{class:"!border-none",shadow:"never"},{default:o(()=>[t(p,{type:"warning",title:"温馨提示:管理系统运行过程中产生的缓存",closable:!1,"show-icon":""})]),_:1}),t(a,{class:"!border-none mt-4",shadow:"never"},{default:o(()=>[t(s,{data:y(m),size:"large"},{default:o(()=>[t(e,{label:"管理内容",prop:"content","min-width":"130"}),t(e,{label:"内容说明",prop:"desc","min-width":"180"}),t(e,{label:"操作",width:"130",fixed:"right"},{default:o(()=>[t(l,{type:"primary",link:"",onClick:n},{default:o(()=>[...r[0]||(r[0]=[k("清除系统缓存",-1)])]),_:1})]),_:1})]),_:1},8,["data"])]),_:1})])}}});export{st as default}; diff --git a/server/public/admin/assets/change-password-CX-eiL2A.js b/server/public/admin/assets/change-password-CSbxsbOa.js similarity index 93% rename from server/public/admin/assets/change-password-CX-eiL2A.js rename to server/public/admin/assets/change-password-CSbxsbOa.js index 82cdcc6e..a9f99c36 100644 --- a/server/public/admin/assets/change-password-CX-eiL2A.js +++ b/server/public/admin/assets/change-password-CSbxsbOa.js @@ -1 +1 @@ -import{E as p,B as b,C as v,D as E,i as h}from"./element-plus-0wC3naml.js";import{u as V,g as C,P,c as B,d as F,_ as I}from"./index-E47--KT7.js";import{w as L}from"./@vue/runtime-dom-DDAG46FW.js";import{u as N}from"./useLockFn-X4Qce5KO.js";import{_ as z}from"./footer.vue_vue_type_script_setup_true_lang-DHdwl9ND.js";import{a as R}from"./vue-router-QlpZ4wdW.js";import{f as S,b as q,ak as U,I as D,J as i,a as s,aN as t,O as K}from"./@vue/runtime-core-C6bnekPw.js";import{y as u,q as M,r as O}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const T={class:"change-password flex flex-col"},$={class:"flex-1 flex items-center justify-center"},j={class:"change-password-card bg-body rounded-md px-10 py-10 w-[480px]"},G=S({__name:"change-password",setup(J){const n=M(),_=R(),d=V();q(()=>{C()||(p.error("请先登录"),_.push(P.LOGIN))});const e=O({password:"",password_confirm:""}),w={password:[{required:!0,message:"请输入新密码",trigger:"blur"},{min:6,message:"密码长度不能少于6位",trigger:"blur"}],password_confirm:[{required:!0,validator:(a,o,r)=>{o===""?r(new Error("请再次输入密码")):o!==e.password?r(new Error("两次输入的密码不一致")):r()},trigger:"blur"}]},l=async()=>{var a;await((a=n.value)==null?void 0:a.validate());try{await F({password:e.password,password_confirm:e.password_confirm}),p.success("密码修改成功,请重新登录"),d.isPaw=1,await d.logout()}catch(o){p.error((o==null?void 0:o.msg)||(o==null?void 0:o.message)||"密码修改失败")}},{isLock:g,lockFn:x}=N(l);return(a,o)=>{const r=B,c=v,f=b,y=E,k=h;return U(),D("div",T,[i("div",$,[i("div",j,[o[3]||(o[3]=i("div",{class:"text-center text-2xl font-medium mb-2"},"首次登录",-1)),o[4]||(o[4]=i("div",{class:"text-center text-gray-500 text-sm mb-8"},"为了您的账号安全,请修改初始密码",-1)),s(y,{ref_key:"formRef",ref:n,model:e,size:"large",rules:w},{default:t(()=>[s(f,{prop:"password"},{default:t(()=>[s(c,{modelValue:e.password,"onUpdate:modelValue":o[0]||(o[0]=m=>e.password=m),type:"password","show-password":"",placeholder:"请输入新密码"},{prepend:t(()=>[s(r,{name:"el-icon-Lock",size:"16"})]),_:1},8,["modelValue"])]),_:1}),s(f,{prop:"password_confirm"},{default:t(()=>[s(c,{modelValue:e.password_confirm,"onUpdate:modelValue":o[1]||(o[1]=m=>e.password_confirm=m),type:"password","show-password":"",placeholder:"请再次输入新密码",onKeyup:L(l,["enter"])},{prepend:t(()=>[s(r,{name:"el-icon-Lock",size:"16"})]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["model"]),s(k,{type:"primary",size:"large",loading:u(g),onClick:u(x),class:"w-full"},{default:t(()=>[...o[2]||(o[2]=[K(" 确认修改 ",-1)])]),_:1},8,["loading","onClick"])])]),s(z)])}}}),Ro=I(G,[["__scopeId","data-v-bbd4ab41"]]);export{Ro as default}; +import{E as p,B as b,C as v,D as E,i as h}from"./element-plus-DFTWCWyi.js";import{u as V,g as C,P,c as B,d as F,_ as I}from"./index-DBREMm_z.js";import{w as L}from"./@vue/runtime-dom-DDAG46FW.js";import{u as N}from"./useLockFn-X4Qce5KO.js";import{_ as z}from"./footer.vue_vue_type_script_setup_true_lang-CGxuEXz5.js";import{a as R}from"./vue-router-QlpZ4wdW.js";import{f as S,b as q,ak as U,I as D,J as i,a as s,aN as t,O as K}from"./@vue/runtime-core-C6bnekPw.js";import{y as u,q as M,r as O}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const T={class:"change-password flex flex-col"},$={class:"flex-1 flex items-center justify-center"},j={class:"change-password-card bg-body rounded-md px-10 py-10 w-[480px]"},G=S({__name:"change-password",setup(J){const n=M(),_=R(),d=V();q(()=>{C()||(p.error("请先登录"),_.push(P.LOGIN))});const e=O({password:"",password_confirm:""}),w={password:[{required:!0,message:"请输入新密码",trigger:"blur"},{min:6,message:"密码长度不能少于6位",trigger:"blur"}],password_confirm:[{required:!0,validator:(a,o,r)=>{o===""?r(new Error("请再次输入密码")):o!==e.password?r(new Error("两次输入的密码不一致")):r()},trigger:"blur"}]},l=async()=>{var a;await((a=n.value)==null?void 0:a.validate());try{await F({password:e.password,password_confirm:e.password_confirm}),p.success("密码修改成功,请重新登录"),d.isPaw=1,await d.logout()}catch(o){p.error((o==null?void 0:o.msg)||(o==null?void 0:o.message)||"密码修改失败")}},{isLock:g,lockFn:x}=N(l);return(a,o)=>{const r=B,c=v,f=b,y=E,k=h;return U(),D("div",T,[i("div",$,[i("div",j,[o[3]||(o[3]=i("div",{class:"text-center text-2xl font-medium mb-2"},"首次登录",-1)),o[4]||(o[4]=i("div",{class:"text-center text-gray-500 text-sm mb-8"},"为了您的账号安全,请修改初始密码",-1)),s(y,{ref_key:"formRef",ref:n,model:e,size:"large",rules:w},{default:t(()=>[s(f,{prop:"password"},{default:t(()=>[s(c,{modelValue:e.password,"onUpdate:modelValue":o[0]||(o[0]=m=>e.password=m),type:"password","show-password":"",placeholder:"请输入新密码"},{prepend:t(()=>[s(r,{name:"el-icon-Lock",size:"16"})]),_:1},8,["modelValue"])]),_:1}),s(f,{prop:"password_confirm"},{default:t(()=>[s(c,{modelValue:e.password_confirm,"onUpdate:modelValue":o[1]||(o[1]=m=>e.password_confirm=m),type:"password","show-password":"",placeholder:"请再次输入新密码",onKeyup:L(l,["enter"])},{prepend:t(()=>[s(r,{name:"el-icon-Lock",size:"16"})]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["model"]),s(k,{type:"primary",size:"large",loading:u(g),onClick:u(x),class:"w-full"},{default:t(()=>[...o[2]||(o[2]=[K(" 确认修改 ",-1)])]),_:1},8,["loading","onClick"])])]),s(z)])}}}),Ro=I(G,[["__scopeId","data-v-bbd4ab41"]]);export{Ro as default}; diff --git a/server/public/admin/assets/code-DY1HVNqE.js b/server/public/admin/assets/code-UKo2HpQE.js similarity index 92% rename from server/public/admin/assets/code-DY1HVNqE.js rename to server/public/admin/assets/code-UKo2HpQE.js index c1c068dc..b10f81a1 100644 --- a/server/public/admin/assets/code-DY1HVNqE.js +++ b/server/public/admin/assets/code-UKo2HpQE.js @@ -1 +1 @@ -import{r as t}from"./index-E47--KT7.js";function o(e){return t.get({url:"/tools.generator/generateTable",params:e})}function n(e){return t.get({url:"/tools.generator/dataTable",params:e})}function a(e){return t.post({url:"/tools.generator/selectTable",params:e})}function l(e){return t.get({url:"/tools.generator/detail",params:e})}function s(e){return t.post({url:"/tools.generator/syncColumn",params:e})}function u(e){return t.post({url:"/tools.generator/delete",params:e})}function g(e){return t.post({url:"/tools.generator/edit",params:e})}function i(e){return t.post({url:"/tools.generator/preview",params:e})}function c(e){return t.post({url:"/tools.generator/generate",params:e})}function f(){return t.get({url:"/tools.generator/getModels"})}export{f as a,o as b,u as c,i as d,c as e,n as f,g,a as h,s,l as t}; +import{r as t}from"./index-DBREMm_z.js";function o(e){return t.get({url:"/tools.generator/generateTable",params:e})}function n(e){return t.get({url:"/tools.generator/dataTable",params:e})}function a(e){return t.post({url:"/tools.generator/selectTable",params:e})}function l(e){return t.get({url:"/tools.generator/detail",params:e})}function s(e){return t.post({url:"/tools.generator/syncColumn",params:e})}function u(e){return t.post({url:"/tools.generator/delete",params:e})}function g(e){return t.post({url:"/tools.generator/edit",params:e})}function i(e){return t.post({url:"/tools.generator/preview",params:e})}function c(e){return t.post({url:"/tools.generator/generate",params:e})}function f(){return t.get({url:"/tools.generator/getModels"})}export{f as a,o as b,u as c,i as d,c as e,n as f,g,a as h,s,l as t}; diff --git a/server/public/admin/assets/code-preview-C6qDIvgm.js b/server/public/admin/assets/code-preview-K7YJDJFP.js similarity index 85% rename from server/public/admin/assets/code-preview-C6qDIvgm.js rename to server/public/admin/assets/code-preview-K7YJDJFP.js index 1763b2a8..8ce36d68 100644 --- a/server/public/admin/assets/code-preview-C6qDIvgm.js +++ b/server/public/admin/assets/code-preview-K7YJDJFP.js @@ -1 +1 @@ -import{_ as o}from"./code-preview.vue_vue_type_script_setup_true_lang-C8dEJDd2.js";import"./element-plus-0wC3naml.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-E47--KT7.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";export{o as default}; +import{_ as o}from"./code-preview.vue_vue_type_script_setup_true_lang-BZ5QuyM7.js";import"./element-plus-DFTWCWyi.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-DBREMm_z.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";export{o as default}; diff --git a/server/public/admin/assets/code-preview.vue_vue_type_script_setup_true_lang-C8dEJDd2.js b/server/public/admin/assets/code-preview.vue_vue_type_script_setup_true_lang-BZ5QuyM7.js similarity index 91% rename from server/public/admin/assets/code-preview.vue_vue_type_script_setup_true_lang-C8dEJDd2.js rename to server/public/admin/assets/code-preview.vue_vue_type_script_setup_true_lang-BZ5QuyM7.js index 3fbb9248..685d01f1 100644 --- a/server/public/admin/assets/code-preview.vue_vue_type_script_setup_true_lang-C8dEJDd2.js +++ b/server/public/admin/assets/code-preview.vue_vue_type_script_setup_true_lang-BZ5QuyM7.js @@ -1 +1 @@ -import{m as B,l as N,s as T,i as $,V as j}from"./element-plus-0wC3naml.js";import{c as D,i as d}from"./index-E47--KT7.js";import{u as F}from"./vue-clipboard3-DByT_rEQ.js";import{f as S,ar as U,ak as c,I as i,a as t,aN as a,F as A,ap as G,G as I,J as u,O as J,A as L}from"./@vue/runtime-core-C6bnekPw.js";import{a as p,y as _,n as O}from"./@vue/reactivity-DiY1c2vO.js";const P={class:"code-preview"},R={class:"flex",style:{height:"50vh"}},W=S({__name:"code-preview",props:{modelValue:{type:Boolean},code:{}},emits:["update:modelValue"],setup(r,{emit:f}){const V=r,b=f,{toClipboard:g}=F(),n=O("index0"),h=async l=>{try{await g(l),d.msgSuccess("复制成功")}catch{d.msgError("复制失败")}},s=L({get(){return V.modelValue},set(l){b("update:modelValue",l)}});return(l,e)=>{const v=U("highlightjs"),y=T,k=D,C=$,x=N,E=B,w=j;return c(),i("div",P,[t(w,{modelValue:_(s),"onUpdate:modelValue":e[1]||(e[1]=o=>p(s)?s.value=o:null),width:"900px",title:"代码预览"},{default:a(()=>[t(E,{modelValue:_(n),"onUpdate:modelValue":e[0]||(e[0]=o=>p(n)?n.value=o:null)},{default:a(()=>[(c(!0),i(A,null,G(r.code,(o,m)=>(c(),I(x,{label:o.name,name:`index${m}`,key:m},{default:a(()=>[u("div",R,[t(y,{class:"flex-1"},{default:a(()=>[t(v,{autodetect:"",code:o.content},null,8,["code"])]),_:2},1024),u("div",null,[t(C,{onClick:q=>h(o.content),type:"primary",link:""},{icon:a(()=>[t(k,{name:"el-icon-CopyDocument"})]),default:a(()=>[e[2]||(e[2]=J(" 复制 ",-1))]),_:1},8,["onClick"])])])]),_:2},1032,["label","name"]))),128))]),_:1},8,["modelValue"])]),_:1},8,["modelValue"])])}}});export{W as _}; +import{m as B,l as N,s as T,i as $,V as j}from"./element-plus-DFTWCWyi.js";import{c as D,i as d}from"./index-DBREMm_z.js";import{u as F}from"./vue-clipboard3-DByT_rEQ.js";import{f as S,ar as U,ak as c,I as i,a as t,aN as a,F as A,ap as G,G as I,J as u,O as J,A as L}from"./@vue/runtime-core-C6bnekPw.js";import{a as p,y as _,n as O}from"./@vue/reactivity-DiY1c2vO.js";const P={class:"code-preview"},R={class:"flex",style:{height:"50vh"}},W=S({__name:"code-preview",props:{modelValue:{type:Boolean},code:{}},emits:["update:modelValue"],setup(r,{emit:f}){const V=r,b=f,{toClipboard:g}=F(),n=O("index0"),h=async l=>{try{await g(l),d.msgSuccess("复制成功")}catch{d.msgError("复制失败")}},s=L({get(){return V.modelValue},set(l){b("update:modelValue",l)}});return(l,e)=>{const v=U("highlightjs"),y=T,k=D,C=$,x=N,E=B,w=j;return c(),i("div",P,[t(w,{modelValue:_(s),"onUpdate:modelValue":e[1]||(e[1]=o=>p(s)?s.value=o:null),width:"900px",title:"代码预览"},{default:a(()=>[t(E,{modelValue:_(n),"onUpdate:modelValue":e[0]||(e[0]=o=>p(n)?n.value=o:null)},{default:a(()=>[(c(!0),i(A,null,G(r.code,(o,m)=>(c(),I(x,{label:o.name,name:`index${m}`,key:m},{default:a(()=>[u("div",R,[t(y,{class:"flex-1"},{default:a(()=>[t(v,{autodetect:"",code:o.content},null,8,["code"])]),_:2},1024),u("div",null,[t(C,{onClick:q=>h(o.content),type:"primary",link:""},{icon:a(()=>[t(k,{name:"el-icon-CopyDocument"})]),default:a(()=>[e[2]||(e[2]=J(" 复制 ",-1))]),_:1},8,["onClick"])])])]),_:2},1032,["label","name"]))),128))]),_:1},8,["modelValue"])]),_:1},8,["modelValue"])])}}});export{W as _}; diff --git a/server/public/admin/assets/commission-settlement-B3R3uSwd.js b/server/public/admin/assets/commission-settlement-Cjunto85.js similarity index 99% rename from server/public/admin/assets/commission-settlement-B3R3uSwd.js rename to server/public/admin/assets/commission-settlement-Cjunto85.js index d1081582..bd94530c 100644 --- a/server/public/admin/assets/commission-settlement-B3R3uSwd.js +++ b/server/public/admin/assets/commission-settlement-Cjunto85.js @@ -1 +1 @@ -import{a2 as gt,H as ht,P as bt,Q as wt,af as yt,W as kt,L as xt,i as Ct,d as St,J as Vt,K as Ot,T as Nt,C as Et,m as Dt,l as zt,M as Mt,N as $t,_ as Tt,G as Rt,F as Ft,X as Lt,V as Bt,E as b,a as Ie}from"./element-plus-0wC3naml.js";import{s as Ue}from"./@vue/runtime-dom-DDAG46FW.js";import{N as It,x as Ut,m as Pt,g as Yt,a0 as qt}from"./@element-plus/icons-vue-HOEUG8sr.js";import{c as Pe,a as Gt,b as Ht,d as At,e as Wt,f as Qt,g as jt}from"./stats-DxFb49QX.js";import{f as Jt,w as Xt,b as Zt,ak as u,I as f,J as r,N as Kt,H as x,a as n,aN as o,O as s,F as L,ap as Ye,G as h,aP as Q,A as $}from"./@vue/runtime-core-C6bnekPw.js";import{n as p,y as B,r as el}from"./@vue/reactivity-DiY1c2vO.js";import{Q as _,o as qe}from"./@vue/shared-mAAVTE9n.js";import{_ as tl}from"./index-E47--KT7.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const ll={class:"cs-page"},al={class:"cs-masthead"},nl={class:"cs-masthead__inner"},ol={key:0,class:"cs-masthead__stats"},sl={class:"cs-stat"},rl={class:"cs-stat__value"},il={key:0,class:"cs-stat"},dl={class:"cs-stat__value cs-stat__value--xs"},ul={key:1,class:"cs-stat"},_l={class:"cs-stat__value cs-stat__value--xs"},cl={class:"filter-surface"},pl={class:"filter-row filter-row--top"},ml={class:"filter-field"},fl={class:"filter-field filter-field--rangewrap"},vl={class:"filter-field"},gl={class:"filter-field filter-field--wide"},hl={class:"filter-select filter-select--dept filter-dept-tree-wrap"},bl={class:"filter-actions"},wl={class:"cs-alert__body"},yl={key:0},kl={key:1},xl={key:2,class:"cs-alert__meta"},Cl={class:"cs-reconcile"},Sl={class:"cs-reconcile__head"},Vl={class:"cs-reconcile__tags"},Ol={key:3,class:"cs-reconcile__meta"},Nl={key:4,class:"cs-reconcile__meta"},El={class:"cs-reconcile__toolbar"},Dl={key:0,class:"cs-reconcile__carry"},zl={class:"cs-table-head"},Ml={class:"cs-table-head__row"},$l={key:0,class:"cs-drill-state"},Tl={class:"cs-dept-link__text"},Rl={key:1,class:"cs-muted"},Fl={class:"cs-dialog__bar"},Ll={key:0},Bl={key:1,class:"cs-muted"},Il={key:0,class:"cs-muted"},Ul={key:1,class:"cs-muted"},Pl={class:"cs-dialog__pager"},Yl={class:"cs-dialog__bar cs-dialog__bar--split"},ql={class:"cs-dialog__hint"},Gl={key:0},Hl={key:1,class:"cs-muted"},Al={key:0,class:"cs-muted"},Wl={key:1,class:"cs-muted"},Ql={class:"cs-dialog__pager"},jl=Jt({__name:"commission-settlement",setup(Jl){const Ge={value:"id",label:"name",children:"children"};function He(t){if(!t.length)return[];const e=new Map;for(const m of t)e.set(m.id,{...m,children:[]});const i=[];for(const m of t){const v=e.get(m.id),w=Number(m.pid);w>0&&e.has(w)?e.get(w).children.push(v):i.push(v)}const l=m=>{var v;(v=m.children)!=null&&v.length?m.children.forEach(l):delete m.children};i.forEach(l);const k=m=>{var v;m.sort((w,E)=>{const C=w.name.includes("中心")?-1:1,D=E.name.includes("中心")?-1:1;return C!==D?C-D:w.id-E.id});for(const w of m)(v=w.children)!=null&&v.length&&k(w.children)};return k(i),i}function ke(){const t=new Date,e=t.getFullYear(),i=String(t.getMonth()+1).padStart(2,"0");return`${e}-${i}`}function j(t){return String(t).padStart(2,"0")}function xe(t){return`${t.getFullYear()}-${j(t.getMonth()+1)}-${j(t.getDate())} ${j(t.getHours())}:${j(t.getMinutes())}:${j(t.getSeconds())}`}function re(t){const e=/^(\d{4})-(\d{2})$/.exec(t),i=e?parseInt(e[1],10):new Date().getFullYear(),l=e?parseInt(e[2],10):new Date().getMonth()+1,k=new Date(i,l-2,1,0,0,0),m=new Date(i,l-1,0,23,59,59);return[xe(k),xe(m)]}const g=p(ke()),I=p(re(g.value)),ae=p(!1),T=p(!1),ne=p([]),ie=p(!1),Ae=$(()=>He(ne.value)),V=p([]),Ce=p([]),de=p(!1),R=p(""),ue=p([]),Se=p([]),Ve=p([]),oe=p([]),se=p([]),Oe=p("dept"),U=p({}),c=el({settlement_month:"",order_month:"",order_start_time:"",order_end_time:"",fulfillment_status:3,explicit_order_time_window:!1,cutoff_end:"",rule_note:"",channel_name:"",require_system_auto_prescription:!1}),O=p(null),J=p(""),_e=p(!1),ce=p(!1),pe=p(!1),F=$(()=>{var t;return Number((t=O.value)==null?void 0:t.status)===1}),me=p(!1),fe=p(!1),P=p("all"),ve=p([]),ge=p(0),Ne=p(1),Ee=p(20),X=p(!1),Y=p(null),M=p("all"),q=p([]),G=p(0),Z=p(1),De=p(20),he=p(!1),We=$(()=>{const t=Y.value;return t?t.mode==="dept"?`已完成业绩订单 · ${t.dept_name}`:t.title:"已完成业绩订单"}),K=$(()=>c.order_start_time&&c.order_end_time?`${c.order_start_time}~${c.order_end_time}`:c.order_month||"—"),Qe=$(()=>{const t=new Map;for(const e of ne.value){const i=Number(e.pid),l=t.get(i)??[];l.push(e.id),t.set(i,l)}return t}),be=$(()=>{const t=new Map;for(const e of ne.value)t.set(e.id,e);return t}),ee=$(()=>{if(V.value.length!==1)return null;const t=V.value[0];return be.value.get(t)??null}),je=$(()=>{const t=ee.value;if(!t)return"返回顶层";const e=Number(t.pid),i=e>0?be.value.get(e):null;return!i||Number(i.pid)<=0?"返回顶层":`返回上级 · ${i.name}`});function ze(t){if(!t||t<=0)return!1;const e=Qe.value.get(t);return!!(e&&e.length>0)}function Je(t){if(!(!t||!t.dept_id||t.dept_id<=0)){if(ze(t.dept_id)){V.value=[t.dept_id],N();return}Ze(t.dept_id,t.dept_name)}}function Xe(){const t=ee.value;if(!t){V.value=[],N();return}const e=Number(t.pid),i=e>0?be.value.get(e):null;!i||Number(i.pid)<=0?V.value=[]:V.value=[e],N()}function Ze(t,e){if(!g.value){b.warning("请选择结算月");return}Y.value={mode:"dept",dept_id:t,dept_name:e},M.value="all",Z.value=1,q.value=[],G.value=0,X.value=!0,te(1)}function Ke(t){if(!g.value){b.warning("请选择结算月");return}Y.value={mode:"channel",title:`业务订单 · ${t.appt_channel_name} · 医助 ${t.assistant_name}`,assistant_id:t.assistant_id,appt_channel_value:Number(t.appt_channel_value??0)},M.value="all",Z.value=1,q.value=[],G.value=0,X.value=!0,te(1)}function et(t){if(!g.value){b.warning("请选择结算月");return}Y.value={mode:"channel",title:`业务订单 · ${t.appt_channel_name} · 医生 ${t.doctor_name}`,doctor_id:t.doctor_id,appt_channel_value:Number(t.appt_channel_value??0)},M.value="all",Z.value=1,q.value=[],G.value=0,X.value=!0,te(1)}async function te(t){if(!(!g.value||!Y.value)){he.value=!0,Z.value=t;try{const e=Y.value,i={settlement_month:g.value,page:t,page_size:De.value};e.mode==="dept"?(i.dept_ids=String(e.dept_id),R.value&&(i.channel_code=R.value)):(Object.assign(i,H()),i.appt_channel_value=e.appt_channel_value,e.assistant_id!=null&&(i.assistant_id=e.assistant_id),e.doctor_id!=null&&(i.doctor_id=e.doctor_id)),M.value&&M.value!=="all"&&(i.bucket=M.value);const l=await Pe(i);q.value=(l==null?void 0:l.list)||[],G.value=Number((l==null?void 0:l.count)??0)}catch(e){b.error((e==null?void 0:e.msg)||(e==null?void 0:e.message)||"加载明细失败"),q.value=[],G.value=0}finally{he.value=!1}}}function y(t){return t==null||!Number.isFinite(Number(t))?"—":`¥ ${Number(t).toLocaleString("zh-CN",{minimumFractionDigits:2,maximumFractionDigits:2})}`}async function tt(){ie.value=!0;try{const t=await Gt();ne.value=(t||[]).sort((e,i)=>{const l=e.name.includes("中心")?-1:1,k=i.name.includes("中心")?-1:1;return l!==k?l-k:e.id-i.id})}catch{}finally{ie.value=!1}}async function lt(){de.value=!0;try{const t=await Ht();Ce.value=(t==null?void 0:t.groups)||[]}catch{}finally{de.value=!1}}async function N(){var i;const t=g.value;if(!t){b.warning("请选择结算月");return}const e=I.value;if(!e||!e[0]||!e[1]){b.warning("请设置订单创建时间范围");return}T.value=!0;try{const l=await At(H());ue.value=(l==null?void 0:l.rows)||[],Se.value=(l==null?void 0:l.assistant_rows)||[],Ve.value=(l==null?void 0:l.doctor_rows)||[],oe.value=(l==null?void 0:l.assistant_channel_rows)||[],se.value=(l==null?void 0:l.doctor_channel_rows)||[],U.value=(l==null?void 0:l.total)||{},c.settlement_month=(l==null?void 0:l.settlement_month)||t,c.order_month=(l==null?void 0:l.order_month)||"",c.order_start_time=l!=null&&l.order_start_time?String(l.order_start_time):"",c.order_end_time=l!=null&&l.order_end_time?String(l.order_end_time):"",c.fulfillment_status=(l==null?void 0:l.fulfillment_status)!=null?Number(l.fulfillment_status):3,c.explicit_order_time_window=typeof(l==null?void 0:l.explicit_order_time_window)=="boolean"?l.explicit_order_time_window:!!(c.order_start_time&&c.order_end_time),c.cutoff_end=(l==null?void 0:l.cutoff_end)||"",c.rule_note=(l==null?void 0:l.rule_note)||"",c.channel_name=(l==null?void 0:l.channel_name)||"",c.require_system_auto_prescription=typeof(l==null?void 0:l.require_system_auto_prescription)=="boolean"?l.require_system_auto_prescription:!1,O.value=(l==null?void 0:l.confirm)??null,J.value=((i=l==null?void 0:l.confirm)==null?void 0:i.reconcile_note)!=null?String(l.confirm.reconcile_note):""}catch(l){b.error((l==null?void 0:l.msg)||(l==null?void 0:l.message)||"加载失败"),ue.value=[],Se.value=[],Ve.value=[],oe.value=[],se.value=[],U.value={},O.value=null}finally{T.value=!1}}function H(){const e={settlement_month:g.value,fulfillment_status:3},i=I.value;return i&&i[0]&&i[1]&&(e.start_time=i[0],e.end_time=i[1]),ae.value&&(e.require_system_auto_prescription=1),V.value.length>0&&(e.dept_ids=V.value.join(",")),R.value&&(e.channel_code=R.value),e}function at(){if(!g.value){b.warning("请选择结算月");return}me.value=!0}function nt(){P.value="all",we(1)}async function we(t){if(g.value){fe.value=!0,Ne.value=t;try{const e={...H(),page:t,page_size:Ee.value};P.value&&P.value!=="all"&&(e.bucket=P.value);const i=await Pe(e);ve.value=(i==null?void 0:i.list)||[],ge.value=Number((i==null?void 0:i.count)??0)}catch(e){b.error((e==null?void 0:e.msg)||(e==null?void 0:e.message)||"加载明细失败"),ve.value=[],ge.value=0}finally{fe.value=!1}}}async function ot(){if(!g.value){b.warning("请选择结算月");return}if(F.value){b.warning("已确定业绩不可修改备注;请先撤回确定");return}_e.value=!0;try{await Wt({...H(),reconcile_note:J.value}),b.success("已保存核对备注"),await N()}catch(t){b.error((t==null?void 0:t.msg)||(t==null?void 0:t.message)||"保存失败")}finally{_e.value=!1}}async function st(){if(!g.value){b.warning("请选择结算月");return}try{await Ie.confirm("确定后将为「顺延下期」订单写入结转记录,下一结算月在相同渠道与部门筛选下自动并入统计。确定后仍可「撤回确定」以清除结转并重新核对(与财务对齐后再操作)。","确定本期业绩",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"})}catch{return}ce.value=!0;try{const t=await Qt({...H(),reconcile_note:J.value});b.success(`已确定本期业绩;结转 ${Number((t==null?void 0:t.deferred_carry_count)??0)} 单至 ${String((t==null?void 0:t.next_settlement_month)??"下期")}`),await N()}catch(t){b.error((t==null?void 0:t.msg)||(t==null?void 0:t.message)||"提交失败")}finally{ce.value=!1}}async function rt(){if(!g.value){b.warning("请选择结算月");return}try{await Ie.confirm("将撤回本次「确定业绩」状态,并删除已写入的顺延结转记录(下期将不再汇入这些单)。确定后继续?","撤回确定业绩",{confirmButtonText:"撤回",cancelButtonText:"取消",type:"warning"})}catch{return}pe.value=!0;try{await jt(H()),b.success("已撤回确定;可重新保存备注并再次确定本期业绩"),await N()}catch(t){b.error((t==null?void 0:t.msg)||(t==null?void 0:t.message)||"撤回失败")}finally{pe.value=!1}}function it(){g.value=ke(),I.value=re(g.value),ae.value=!1,V.value=[],R.value="",N()}function Me(t){const{columns:e}=t,i=U.value,l=[];return e.forEach((k,m)=>{if(m===0){l[m]="合计";return}const v=k.property;if(!i||!v){l[m]="";return}if(v==="primary_dept_name"||v==="appt_channel_name"){l[m]="";return}if(v==="carry_in_order_count"){l[m]=String(i.carry_in_order_count??0);return}const w={completed_order_count:String(i.completed_order_count??0),completed_order_amount:y(i.completed_order_amount),current_period_count:String(i.current_period_count??0),current_period_amount:y(i.current_period_amount),deferred_period_count:String(i.deferred_period_count??0),deferred_period_amount:y(i.deferred_period_amount)};l[m]=w[String(v)]??""}),l}function $e(t,e){return i=>{const{rowIndex:l,columnIndex:k}=i;if(k>1)return;const m=t.value;if(!m||m.length===0)return;const v=m[l];if(!v)return;const w=v[e],E=l>0?m[l-1]:null;if(E&&E[e]===w)return{rowspan:0,colspan:0};let C=1;for(let D=l+1;D{if(m===0){l[m]="合计";return}const v=k.property;if(!i||!v){l[m]="";return}const w={completed_order_count:String(i.completed_order_count??0),completed_order_amount:y(i.completed_order_amount),current_period_count:String(i.current_period_count??0),current_period_amount:y(i.current_period_amount),deferred_period_count:String(i.deferred_period_count??0),deferred_period_amount:y(i.deferred_period_amount)};l[m]=w[String(v)]??""}),l}return Xt(g,t=>{t&&(I.value=re(t))}),Zt(async()=>{await Promise.all([tt(),lt()]),await N()}),(t,e)=>{const i=gt,l=ht,k=wt,m=yt,v=bt,w=kt,E=St,C=Ct,D=Vt,ct=Ot,S=Nt,pt=Et,mt=Tt,d=$t,le=Mt,ye=zt,ft=Dt,A=Ft,Re=Rt,Fe=Lt,Le=Bt,W=xt;return u(),f("div",ll,[r("header",al,[r("div",nl,[e[16]||(e[16]=Kt('
财务结算 · 业绩台账

提成结算业绩

订单池默认与处方订单列表同源:创建时间 start_time~end_time + fulfillment_status(默认完成态 3),账号列表可见性/数据域一并生效。 选结算月仍可套用「物流签收尾款支付均须在结算月 7 日 24 点前」拆分「本期提成 / 顺延下期」 (仅有签收在范围内、尾款晚于截止仍会顺延); 展示部门/渠道下拉与列表不同,勾选后会与列表计数不同

',1)),c.settlement_month||c.cutoff_end?(u(),f("dl",ol,[r("div",sl,[e[13]||(e[13]=r("dt",{class:"cs-stat__label"},"结算月",-1)),r("dd",rl,_(c.settlement_month||g.value),1)]),c.order_month||c.order_start_time?(u(),f("div",il,[e[14]||(e[14]=r("dt",{class:"cs-stat__label"},"订单时间窗",-1)),r("dd",dl,_(K.value),1)])):x("",!0),c.cutoff_end?(u(),f("div",ul,[e[15]||(e[15]=r("dt",{class:"cs-stat__label"},"截止时刻",-1)),r("dd",_l,_(c.cutoff_end),1)])):x("",!0)])):x("",!0)])]),n(D,{class:"cs-panel filter-card",shadow:"never"},{default:o(()=>[r("div",cl,[r("div",pl,[r("div",ml,[e[17]||(e[17]=r("span",{class:"lbl"},"结算月",-1)),n(i,{modelValue:g.value,"onUpdate:modelValue":e[0]||(e[0]=a=>g.value=a),type:"month","value-format":"YYYY-MM",placeholder:"选择结算月",class:"filter-month"},null,8,["modelValue"])]),r("div",fl,[e[19]||(e[19]=r("span",{class:"lbl"},"订单创建",-1)),n(i,{modelValue:I.value,"onUpdate:modelValue":e[1]||(e[1]=a=>I.value=a),type:"datetimerange","value-format":"YYYY-MM-DD HH:mm:ss","range-separator":"至","start-placeholder":"列表 start_time","end-placeholder":"列表 end_time",class:"filter-datetimerange"},null,8,["modelValue"]),n(l,{modelValue:ae.value,"onUpdate:modelValue":e[2]||(e[2]=a=>ae.value=a),class:"filter-sa-check"},{default:o(()=>[...e[18]||(e[18]=[s(" 仅系统代开处方 ",-1)])]),_:1},8,["modelValue"])]),r("div",vl,[e[20]||(e[20]=r("span",{class:"lbl"},"渠道来源",-1)),n(v,{modelValue:R.value,"onUpdate:modelValue":e[3]||(e[3]=a=>R.value=a),filterable:"",clearable:"",placeholder:"全部",class:"filter-select filter-select--channel",loading:de.value,onChange:N},{default:o(()=>[n(k,{label:"全部",value:""}),(u(!0),f(L,null,Ye(Ce.value,a=>(u(),h(m,{key:a.group_name,label:a.group_name},{default:o(()=>[(u(!0),f(L,null,Ye(a.channels,z=>(u(),h(k,{key:z.channel_code,label:z.channel_name,value:z.channel_code},null,8,["label","value"]))),128))]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue","loading"])]),r("div",gl,[e[21]||(e[21]=r("span",{class:"lbl"},"展示部门",-1)),Q((u(),f("div",hl,[n(w,{modelValue:V.value,"onUpdate:modelValue":e[4]||(e[4]=a=>V.value=a),data:Ae.value,multiple:"","collapse-tags":"","collapse-tags-tooltip":"",filterable:"","check-strictly":"","render-after-expand":!1,"default-expand-all":!0,placeholder:"默认:所有「中心」部门",class:"filter-dept-tree-select","node-key":"id",props:Ge},null,8,["modelValue","data"])])),[[W,ie.value]])]),r("div",bl,[n(C,{type:"primary",class:"filter-btn filter-btn--query",loading:T.value,onClick:N},{default:o(()=>[n(E,{class:"filter-btn__icon"},{default:o(()=>[n(B(It))]),_:1}),e[22]||(e[22]=s(" 查询 ",-1))]),_:1},8,["loading"]),n(C,{class:"filter-btn filter-btn--reset",disabled:T.value,onClick:it},{default:o(()=>[n(E,{class:"filter-btn__icon"},{default:o(()=>[n(B(Ut))]),_:1}),e[23]||(e[23]=s(" 重置 ",-1))]),_:1},8,["disabled"])])])])]),_:1}),n(ct,{type:"info",closable:!1,"show-icon":"",class:"cs-alert"},{title:o(()=>[...e[24]||(e[24]=[r("span",{class:"cs-alert__title"},"统计口径",-1)])]),default:o(()=>[r("div",wl,[c.rule_note?(u(),f("p",yl,_(c.rule_note),1)):(u(),f("p",kl,[...e[25]||(e[25]=[s(" 请选择结算月并设置",-1),r("strong",null,"订单创建时间范围",-1),s("(与处方订单列表 URL 参数 ",-1),r("code",null,"start_time",-1),s("/",-1),r("code",null,"end_time",-1),s("/",-1),r("code",null,"fulfillment_status",-1),s(" 一致);切换结算月会自动带出",-1),r("strong",null,"上一自然月整段",-1),s("作为默认时段,可按业务修改(例如 2026-04-02~04-30)。 「仅系统代开处方」勾选后与列表在未限制开方类型时的条数会不一致。 ",-1)])])),c.cutoff_end?(u(),f("p",xl,[e[30]||(e[30]=s(" 当前结算月:",-1)),r("strong",null,_(c.settlement_month),1),e[31]||(e[31]=s(" · 订单时间:",-1)),r("strong",null,_(K.value),1),e[32]||(e[32]=s(" · 履约状态:",-1)),r("strong",null,_(c.fulfillment_status??3),1),e[33]||(e[33]=s(" · 截止时刻:",-1)),r("strong",null,_(c.cutoff_end),1),c.channel_name?(u(),f(L,{key:0},[e[26]||(e[26]=s(" · 渠道:",-1)),r("strong",null,_(c.channel_name),1)],64)):x("",!0),c.settlement_month?(u(),f(L,{key:1},[e[29]||(e[29]=s(" · 处方池:",-1)),r("strong",null,_(c.require_system_auto_prescription?"仅系统代开":"含手动与系统"),1),c.explicit_order_time_window?(u(),f(L,{key:0},[e[27]||(e[27]=s(" · 列表对齐:",-1)),e[28]||(e[28]=r("strong",null,"是",-1))],64)):x("",!0)],64)):x("",!0)])):x("",!0)])]),_:1}),n(D,{class:"cs-panel cs-reconcile-card",shadow:"never"},{default:o(()=>{var a,z,Be;return[r("div",Cl,[r("div",Sl,[r("div",Vl,[F.value?(u(),h(S,{key:0,type:"success",effect:"dark"},{default:o(()=>[...e[34]||(e[34]=[s("已确定业绩",-1)])]),_:1})):((a=O.value)==null?void 0:a.status)===2?(u(),h(S,{key:1,type:"warning",effect:"plain"},{default:o(()=>[...e[35]||(e[35]=[s("已撤回确定",-1)])]),_:1})):(u(),h(S,{key:2,type:"info",effect:"plain"},{default:o(()=>[...e[36]||(e[36]=[s("待确定业绩",-1)])]),_:1})),F.value&&((z=O.value)!=null&&z.confirmed_at_text)?(u(),f("span",Ol,_(O.value.confirmed_admin_name||"—")+" · "+_(O.value.confirmed_at_text),1)):((Be=O.value)==null?void 0:Be.status)===2&&O.value.revoked_at_text?(u(),f("span",Nl," 撤回:"+_(O.value.revoked_admin_name||"—")+" · "+_(O.value.revoked_at_text),1)):x("",!0)]),r("div",El,[n(C,{type:"primary",plain:"",onClick:at},{default:o(()=>[...e[37]||(e[37]=[s("业绩明细核对",-1)])]),_:1}),n(C,{disabled:F.value||_e.value,onClick:ot},{default:o(()=>[...e[38]||(e[38]=[s(" 保存核对备注 ",-1)])]),_:1},8,["disabled"]),n(C,{type:"warning",disabled:F.value||ce.value,onClick:st},{default:o(()=>[...e[39]||(e[39]=[s(" 确定本期业绩 ",-1)])]),_:1},8,["disabled"]),F.value?(u(),h(C,{key:0,type:"danger",plain:"",loading:pe.value,onClick:rt},{default:o(()=>[...e[40]||(e[40]=[s(" 撤回确定 ",-1)])]),_:1},8,["loading"])):x("",!0)])]),n(pt,{modelValue:J.value,"onUpdate:modelValue":e[5]||(e[5]=vt=>J.value=vt),type:"textarea",rows:2,maxlength:"500","show-word-limit":"",placeholder:"核对备注(可与财务线下对齐后填写;确定业绩前可反复保存)",disabled:F.value,class:"cs-reconcile__note"},null,8,["modelValue","disabled"]),Number(U.value.carry_in_order_count)>0?(u(),f("p",Dl,[e[41]||(e[41]=s(" 上期顺延汇入本期:",-1)),r("strong",null,_(U.value.carry_in_order_count),1),e[42]||(e[42]=s(" 单(已并入当前汇总) ",-1))])):x("",!0)])]}),_:1}),n(D,{class:"cs-panel cs-summary-card",shadow:"never"},{default:o(()=>[n(ft,{modelValue:Oe.value,"onUpdate:modelValue":e[6]||(e[6]=a=>Oe.value=a),class:"cs-summary-tabs"},{default:o(()=>[n(ye,{label:"部门汇总",name:"dept"},{default:o(()=>[r("div",zl,[r("div",Ml,[e[43]||(e[43]=r("span",{class:"cs-table-head__title"},"部门汇总",-1)),ee.value?(u(),f("div",$l,[n(S,{size:"small",type:"info",effect:"plain",class:"cs-drill-state__tag"},{default:o(()=>[s(" 当前下钻:"+_(ee.value.path||ee.value.name),1)]),_:1}),n(C,{link:"",type:"primary",class:"cs-drill-state__back",onClick:Xe},{default:o(()=>[n(E,null,{default:o(()=>[n(B(Pt))]),_:1}),s(" "+_(je.value),1)]),_:1})])):x("",!0)]),e[44]||(e[44]=r("span",{class:"cs-table-head__hint"},[s(" 金额单位:元;与业绩看板相同的部门摊列规则(业绩归属医助 → 展示「中心」)。 "),r("strong",null,"点击部门"),s(":若有子部门则下钻一层;末级部门弹出「已完成业绩订单」明细。 ")],-1))]),Q((u(),h(le,{data:ue.value,border:"",stripe:"",size:"small",class:"cs-table cs-table--clickable","show-summary":"","summary-method":_t},{default:o(()=>[n(d,{prop:"dept_name",label:"部门","min-width":"220",fixed:""},{default:o(({row:a})=>[a.dept_id>0?(u(),h(mt,{key:0,type:"primary",underline:!1,class:"cs-dept-link",onClick:z=>Je(a)},{default:o(()=>[r("span",Tl,_(a.dept_name),1),n(E,{class:"cs-dept-link__icon"},{default:o(()=>[ze(a.dept_id)?(u(),h(B(Yt),{key:0})):(u(),h(B(qt),{key:1}))]),_:2},1024)]),_:2},1032,["onClick"])):(u(),f("span",Rl,_(a.dept_name),1))]),_:1}),n(d,{prop:"completed_order_count",label:"已完成单数","min-width":"104",align:"right"}),n(d,{prop:"completed_order_amount",label:"已完成金额","min-width":"112",align:"right"},{default:o(({row:a})=>[s(_(y(a.completed_order_amount)),1)]),_:1}),n(d,{prop:"current_period_count",label:"本期提成单数","min-width":"118",align:"right"}),n(d,{prop:"current_period_amount",label:"本期提成金额","min-width":"118",align:"right"},{default:o(({row:a})=>[s(_(y(a.current_period_amount)),1)]),_:1}),n(d,{prop:"deferred_period_count",label:"顺延下期单数","min-width":"118",align:"right"}),n(d,{prop:"deferred_period_amount",label:"顺延下期金额","min-width":"118",align:"right"},{default:o(({row:a})=>[s(_(y(a.deferred_period_amount)),1)]),_:1})]),_:1},8,["data"])),[[W,T.value]])]),_:1}),n(ye,{label:"按医助下发",name:"assistant"},{default:o(()=>[e[45]||(e[45]=r("div",{class:"cs-table-head"},[r("span",{class:"cs-table-head__title"},"业绩归属医助 × 挂号渠道"),r("span",{class:"cs-table-head__hint"},[s(" 按诊单业绩归属医助 "),r("strong",null,"×"),s(" 挂号渠道(doctor_appointment.channels)拆分到行; "),r("strong",null,"「复诊2」「复诊3」「自媒体1」等保持各自独立"),s(",未关联挂号统一归到「未匹配挂号渠道」。 同一医助多行"),r("strong",null,"自动合并「医助 / 归属中心」单元格"),s(",「顺延汇入」为上期结转进入本期订单池的单数。 "),r("strong",null,"展示部门"),s("有勾选时,本表仅列出"),r("strong",null,"可归入该部门上下文"),s("的业绩医助(与人事部门落在所选部门范围内的账号一致)。 "),r("strong",null,"点击挂号渠道"),s(":查看该行对应的业务订单明细(与上方部门筛选一致)。 ")])],-1)),Q((u(),h(le,{data:oe.value,border:"",stripe:"",size:"small",class:"cs-table cs-table--grouped","show-summary":"","summary-method":Me,"span-method":B(dt)},{default:o(()=>[n(d,{prop:"assistant_name",label:"医助","min-width":"120",fixed:"","show-overflow-tooltip":""}),n(d,{prop:"primary_dept_name",label:"归属中心","min-width":"120","show-overflow-tooltip":""}),n(d,{prop:"appt_channel_name",label:"挂号渠道","min-width":"120","show-overflow-tooltip":""},{default:o(({row:a})=>[n(S,{size:"small",class:qe(["cs-channel-tag cs-channel-tag--clickable",Te(a.appt_channel_name)]),effect:"plain",onClick:Ue(z=>Ke(a),["stop"])},{default:o(()=>[s(_(a.appt_channel_name),1)]),_:2},1032,["class","onClick"])]),_:1}),n(d,{prop:"carry_in_order_count",label:"顺延汇入单数","min-width":"112",align:"right"}),n(d,{prop:"completed_order_count",label:"已完成单数","min-width":"104",align:"right"}),n(d,{prop:"completed_order_amount",label:"已完成金额","min-width":"112",align:"right"},{default:o(({row:a})=>[s(_(y(a.completed_order_amount)),1)]),_:1}),n(d,{prop:"current_period_count",label:"本期提成单数","min-width":"118",align:"right"}),n(d,{prop:"current_period_amount",label:"本期提成金额","min-width":"118",align:"right"},{default:o(({row:a})=>[s(_(y(a.current_period_amount)),1)]),_:1}),n(d,{prop:"deferred_period_count",label:"顺延下期单数","min-width":"118",align:"right"}),n(d,{prop:"deferred_period_amount",label:"顺延下期金额","min-width":"118",align:"right"},{default:o(({row:a})=>[s(_(y(a.deferred_period_amount)),1)]),_:1})]),_:1},8,["data","span-method"])),[[W,T.value]])]),_:1}),n(ye,{label:"按医生下发",name:"doctor"},{default:o(()=>[e[46]||(e[46]=r("div",{class:"cs-table-head"},[r("span",{class:"cs-table-head__title"},"处方开方医生 × 挂号渠道"),r("span",{class:"cs-table-head__hint"},[s(" 按处方创建账号(开方人) "),r("strong",null,"×"),s(" 挂号渠道拆分; 可与医助维度交叉核对;同一医生多行自动合并「医生 / 归属中心」单元格。 "),r("strong",null,"展示部门"),s("有勾选时,与医助表相同,仅统计"),r("strong",null,"该部门上下文内"),s("订单对应的开方医生。 "),r("strong",null,"点击挂号渠道"),s(":查看该行对应的业务订单明细。 ")])],-1)),Q((u(),h(le,{data:se.value,border:"",stripe:"",size:"small",class:"cs-table cs-table--grouped","show-summary":"","summary-method":Me,"span-method":B(ut)},{default:o(()=>[n(d,{prop:"doctor_name",label:"医生","min-width":"120",fixed:"","show-overflow-tooltip":""}),n(d,{prop:"primary_dept_name",label:"归属中心","min-width":"120","show-overflow-tooltip":""}),n(d,{prop:"appt_channel_name",label:"挂号渠道","min-width":"120","show-overflow-tooltip":""},{default:o(({row:a})=>[n(S,{size:"small",class:qe(["cs-channel-tag cs-channel-tag--clickable",Te(a.appt_channel_name)]),effect:"plain",onClick:Ue(z=>et(a),["stop"])},{default:o(()=>[s(_(a.appt_channel_name),1)]),_:2},1032,["class","onClick"])]),_:1}),n(d,{prop:"carry_in_order_count",label:"顺延汇入单数","min-width":"112",align:"right"}),n(d,{prop:"completed_order_count",label:"已完成单数","min-width":"104",align:"right"}),n(d,{prop:"completed_order_amount",label:"已完成金额","min-width":"112",align:"right"},{default:o(({row:a})=>[s(_(y(a.completed_order_amount)),1)]),_:1}),n(d,{prop:"current_period_count",label:"本期提成单数","min-width":"118",align:"right"}),n(d,{prop:"current_period_amount",label:"本期提成金额","min-width":"118",align:"right"},{default:o(({row:a})=>[s(_(y(a.current_period_amount)),1)]),_:1}),n(d,{prop:"deferred_period_count",label:"顺延下期单数","min-width":"118",align:"right"}),n(d,{prop:"deferred_period_amount",label:"顺延下期金额","min-width":"118",align:"right"},{default:o(({row:a})=>[s(_(y(a.deferred_period_amount)),1)]),_:1})]),_:1},8,["data","span-method"])),[[W,T.value]])]),_:1})]),_:1},8,["modelValue"])]),_:1}),n(Le,{modelValue:me.value,"onUpdate:modelValue":e[9]||(e[9]=a=>me.value=a),title:"业绩明细核对",width:"1280px","destroy-on-close":"",class:"cs-dialog",onOpen:nt},{default:o(()=>[r("div",Fl,[n(Re,{modelValue:P.value,"onUpdate:modelValue":e[7]||(e[7]=a=>P.value=a),size:"small",onChange:e[8]||(e[8]=a=>we(1))},{default:o(()=>[n(A,{label:"all"},{default:o(()=>[...e[47]||(e[47]=[s("全部",-1)])]),_:1}),n(A,{label:"current"},{default:o(()=>[...e[48]||(e[48]=[s("本期提成",-1)])]),_:1}),n(A,{label:"deferred"},{default:o(()=>[...e[49]||(e[49]=[s("顺延下期",-1)])]),_:1})]),_:1},8,["modelValue"])]),Q((u(),h(le,{data:ve.value,border:"",stripe:"",size:"small","max-height":"440"},{default:o(()=>[n(d,{prop:"order_no",label:"业务订单号","min-width":"128","show-overflow-tooltip":""}),n(d,{label:"快递单号","min-width":"132","show-overflow-tooltip":""},{default:o(({row:a})=>[s(_(a.tracking_number||"—"),1)]),_:1}),n(d,{label:"挂号日期","min-width":"124","show-overflow-tooltip":""},{default:o(({row:a})=>[r("span",null,_(a.appointment_date_text||"—"),1),a.appointment_status&&Number(a.appointment_status)!==3?(u(),h(S,{key:0,class:"cs-tag-appt-muted",type:"info",size:"small",effect:"plain"},{default:o(()=>[...e[50]||(e[50]=[s("未完结挂号",-1)])]),_:1})):x("",!0)]),_:1}),n(d,{label:"挂号渠道","min-width":"124","show-overflow-tooltip":""},{default:o(({row:a})=>[s(_(a.appt_channel_name||"—"),1)]),_:1}),n(d,{prop:"assistant_name",label:"业绩医助","min-width":"100","show-overflow-tooltip":""}),n(d,{prop:"doctor_name",label:"开方医生","min-width":"100","show-overflow-tooltip":""}),n(d,{prop:"primary_dept_name",label:"归属部门","min-width":"100","show-overflow-tooltip":""}),n(d,{prop:"amount",label:"金额",width:"108",align:"right"},{default:o(({row:a})=>[s(_(y(a.amount)),1)]),_:1}),n(d,{label:"分段",width:"88",align:"center"},{default:o(({row:a})=>[a.bucket==="current"?(u(),h(S,{key:0,type:"success",size:"small"},{default:o(()=>[...e[51]||(e[51]=[s("本期",-1)])]),_:1})):(u(),h(S,{key:1,type:"warning",size:"small"},{default:o(()=>[...e[52]||(e[52]=[s("顺延",-1)])]),_:1}))]),_:1}),n(d,{label:"结转",width:"72",align:"center"},{default:o(({row:a})=>[a.is_carry_in?(u(),f("span",Ll,"是")):(u(),f("span",Bl,"—"))]),_:1}),n(d,{label:"顺延说明","min-width":"200","show-overflow-tooltip":""},{default:o(({row:a})=>[a.bucket==="deferred"&&a.bucket_defer_text?(u(),f("span",Il,_(a.bucket_defer_text),1)):(u(),f("span",Ul,"—"))]),_:1}),n(d,{label:"物流签收","min-width":"152","show-overflow-tooltip":""},{default:o(({row:a})=>[s(_(a.sign_time_text||"—"),1)]),_:1}),n(d,{prop:"pay_time_text",label:"尾款支付","min-width":"152","show-overflow-tooltip":""},{default:o(({row:a})=>[s(_(a.pay_time_text||"—"),1)]),_:1}),n(d,{prop:"create_time_text",label:"订单创建",width:"152"})]),_:1},8,["data"])),[[W,fe.value]]),r("div",Pl,[n(Fe,{layout:"total, prev, pager, next",total:ge.value,"page-size":Ee.value,"current-page":Ne.value,onCurrentChange:we},null,8,["total","page-size","current-page"])])]),_:1},8,["modelValue"]),n(Le,{modelValue:X.value,"onUpdate:modelValue":e[12]||(e[12]=a=>X.value=a),title:We.value,width:"1280px","destroy-on-close":"",class:"cs-dialog"},{default:o(()=>[r("div",Yl,[n(Re,{modelValue:M.value,"onUpdate:modelValue":e[10]||(e[10]=a=>M.value=a),size:"small",onChange:e[11]||(e[11]=a=>te(1))},{default:o(()=>[n(A,{label:"all"},{default:o(()=>[...e[53]||(e[53]=[s("全部已完成",-1)])]),_:1}),n(A,{label:"current"},{default:o(()=>[...e[54]||(e[54]=[s("本期提成",-1)])]),_:1}),n(A,{label:"deferred"},{default:o(()=>[...e[55]||(e[55]=[s("顺延下期",-1)])]),_:1})]),_:1},8,["modelValue"]),r("span",ql,[e[58]||(e[58]=s(" 结算月:",-1)),r("strong",null,_(c.settlement_month||g.value),1),K.value&&K.value!=="—"?(u(),f(L,{key:0},[e[56]||(e[56]=s(" · 订单创建:",-1)),r("strong",null,_(K.value),1)],64)):x("",!0),c.channel_name?(u(),f(L,{key:1},[e[57]||(e[57]=s(" · 渠道:",-1)),r("strong",null,_(c.channel_name),1)],64)):x("",!0)])]),Q((u(),h(le,{data:q.value,border:"",stripe:"",size:"small","max-height":"440"},{default:o(()=>[n(d,{prop:"order_no",label:"业务订单号","min-width":"128","show-overflow-tooltip":""}),n(d,{label:"快递单号","min-width":"132","show-overflow-tooltip":""},{default:o(({row:a})=>[s(_(a.tracking_number||"—"),1)]),_:1}),n(d,{label:"挂号日期","min-width":"124","show-overflow-tooltip":""},{default:o(({row:a})=>[r("span",null,_(a.appointment_date_text||"—"),1),a.appointment_status&&Number(a.appointment_status)!==3?(u(),h(S,{key:0,class:"cs-tag-appt-muted",type:"info",size:"small",effect:"plain"},{default:o(()=>[...e[59]||(e[59]=[s("未完结挂号",-1)])]),_:1})):x("",!0)]),_:1}),n(d,{label:"挂号渠道","min-width":"124","show-overflow-tooltip":""},{default:o(({row:a})=>[s(_(a.appt_channel_name||"—"),1)]),_:1}),n(d,{prop:"assistant_name",label:"业绩医助","min-width":"100","show-overflow-tooltip":""}),n(d,{prop:"doctor_name",label:"开方医生","min-width":"100","show-overflow-tooltip":""}),n(d,{prop:"primary_dept_name",label:"归属部门","min-width":"120","show-overflow-tooltip":""}),n(d,{prop:"amount",label:"金额",width:"108",align:"right"},{default:o(({row:a})=>[s(_(y(a.amount)),1)]),_:1}),n(d,{label:"分段",width:"88",align:"center"},{default:o(({row:a})=>[a.bucket==="current"?(u(),h(S,{key:0,type:"success",size:"small"},{default:o(()=>[...e[60]||(e[60]=[s("本期",-1)])]),_:1})):(u(),h(S,{key:1,type:"warning",size:"small"},{default:o(()=>[...e[61]||(e[61]=[s("顺延",-1)])]),_:1}))]),_:1}),n(d,{label:"结转",width:"72",align:"center"},{default:o(({row:a})=>[a.is_carry_in?(u(),f("span",Gl,"是")):(u(),f("span",Hl,"—"))]),_:1}),n(d,{label:"顺延说明","min-width":"200","show-overflow-tooltip":""},{default:o(({row:a})=>[a.bucket==="deferred"&&a.bucket_defer_text?(u(),f("span",Al,_(a.bucket_defer_text),1)):(u(),f("span",Wl,"—"))]),_:1}),n(d,{label:"物流签收","min-width":"152","show-overflow-tooltip":""},{default:o(({row:a})=>[s(_(a.sign_time_text||"—"),1)]),_:1}),n(d,{prop:"pay_time_text",label:"尾款支付","min-width":"152","show-overflow-tooltip":""},{default:o(({row:a})=>[s(_(a.pay_time_text||"—"),1)]),_:1}),n(d,{prop:"create_time_text",label:"订单创建",width:"152"})]),_:1},8,["data"])),[[W,he.value]]),r("div",Ql,[n(Fe,{layout:"total, prev, pager, next",total:G.value,"page-size":De.value,"current-page":Z.value,onCurrentChange:te},null,8,["total","page-size","current-page"])])]),_:1},8,["modelValue","title"])])}}}),Ra=tl(jl,[["__scopeId","data-v-71fdf5ef"]]);export{Ra as default}; +import{a2 as gt,H as ht,P as bt,Q as wt,ag as yt,W as kt,L as xt,i as Ct,d as St,J as Vt,K as Ot,T as Nt,C as Et,m as Dt,l as zt,M as Mt,N as $t,_ as Tt,G as Rt,F as Ft,X as Lt,V as Bt,E as b,a as Ie}from"./element-plus-DFTWCWyi.js";import{s as Ue}from"./@vue/runtime-dom-DDAG46FW.js";import{N as It,x as Ut,m as Pt,g as Yt,a0 as qt}from"./@element-plus/icons-vue-HOEUG8sr.js";import{c as Pe,a as Gt,b as Ht,d as At,e as Wt,f as Qt,g as jt}from"./stats-5gQHPT0U.js";import{f as Jt,w as Xt,b as Zt,ak as u,I as f,J as r,N as Kt,H as x,a as n,aN as o,O as s,F as L,ap as Ye,G as h,aP as Q,A as $}from"./@vue/runtime-core-C6bnekPw.js";import{n as p,y as B,r as el}from"./@vue/reactivity-DiY1c2vO.js";import{Q as _,o as qe}from"./@vue/shared-mAAVTE9n.js";import{_ as tl}from"./index-DBREMm_z.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const ll={class:"cs-page"},al={class:"cs-masthead"},nl={class:"cs-masthead__inner"},ol={key:0,class:"cs-masthead__stats"},sl={class:"cs-stat"},rl={class:"cs-stat__value"},il={key:0,class:"cs-stat"},dl={class:"cs-stat__value cs-stat__value--xs"},ul={key:1,class:"cs-stat"},_l={class:"cs-stat__value cs-stat__value--xs"},cl={class:"filter-surface"},pl={class:"filter-row filter-row--top"},ml={class:"filter-field"},fl={class:"filter-field filter-field--rangewrap"},vl={class:"filter-field"},gl={class:"filter-field filter-field--wide"},hl={class:"filter-select filter-select--dept filter-dept-tree-wrap"},bl={class:"filter-actions"},wl={class:"cs-alert__body"},yl={key:0},kl={key:1},xl={key:2,class:"cs-alert__meta"},Cl={class:"cs-reconcile"},Sl={class:"cs-reconcile__head"},Vl={class:"cs-reconcile__tags"},Ol={key:3,class:"cs-reconcile__meta"},Nl={key:4,class:"cs-reconcile__meta"},El={class:"cs-reconcile__toolbar"},Dl={key:0,class:"cs-reconcile__carry"},zl={class:"cs-table-head"},Ml={class:"cs-table-head__row"},$l={key:0,class:"cs-drill-state"},Tl={class:"cs-dept-link__text"},Rl={key:1,class:"cs-muted"},Fl={class:"cs-dialog__bar"},Ll={key:0},Bl={key:1,class:"cs-muted"},Il={key:0,class:"cs-muted"},Ul={key:1,class:"cs-muted"},Pl={class:"cs-dialog__pager"},Yl={class:"cs-dialog__bar cs-dialog__bar--split"},ql={class:"cs-dialog__hint"},Gl={key:0},Hl={key:1,class:"cs-muted"},Al={key:0,class:"cs-muted"},Wl={key:1,class:"cs-muted"},Ql={class:"cs-dialog__pager"},jl=Jt({__name:"commission-settlement",setup(Jl){const Ge={value:"id",label:"name",children:"children"};function He(t){if(!t.length)return[];const e=new Map;for(const m of t)e.set(m.id,{...m,children:[]});const i=[];for(const m of t){const v=e.get(m.id),w=Number(m.pid);w>0&&e.has(w)?e.get(w).children.push(v):i.push(v)}const l=m=>{var v;(v=m.children)!=null&&v.length?m.children.forEach(l):delete m.children};i.forEach(l);const k=m=>{var v;m.sort((w,E)=>{const C=w.name.includes("中心")?-1:1,D=E.name.includes("中心")?-1:1;return C!==D?C-D:w.id-E.id});for(const w of m)(v=w.children)!=null&&v.length&&k(w.children)};return k(i),i}function ke(){const t=new Date,e=t.getFullYear(),i=String(t.getMonth()+1).padStart(2,"0");return`${e}-${i}`}function j(t){return String(t).padStart(2,"0")}function xe(t){return`${t.getFullYear()}-${j(t.getMonth()+1)}-${j(t.getDate())} ${j(t.getHours())}:${j(t.getMinutes())}:${j(t.getSeconds())}`}function re(t){const e=/^(\d{4})-(\d{2})$/.exec(t),i=e?parseInt(e[1],10):new Date().getFullYear(),l=e?parseInt(e[2],10):new Date().getMonth()+1,k=new Date(i,l-2,1,0,0,0),m=new Date(i,l-1,0,23,59,59);return[xe(k),xe(m)]}const g=p(ke()),I=p(re(g.value)),ae=p(!1),T=p(!1),ne=p([]),ie=p(!1),Ae=$(()=>He(ne.value)),V=p([]),Ce=p([]),de=p(!1),R=p(""),ue=p([]),Se=p([]),Ve=p([]),oe=p([]),se=p([]),Oe=p("dept"),U=p({}),c=el({settlement_month:"",order_month:"",order_start_time:"",order_end_time:"",fulfillment_status:3,explicit_order_time_window:!1,cutoff_end:"",rule_note:"",channel_name:"",require_system_auto_prescription:!1}),O=p(null),J=p(""),_e=p(!1),ce=p(!1),pe=p(!1),F=$(()=>{var t;return Number((t=O.value)==null?void 0:t.status)===1}),me=p(!1),fe=p(!1),P=p("all"),ve=p([]),ge=p(0),Ne=p(1),Ee=p(20),X=p(!1),Y=p(null),M=p("all"),q=p([]),G=p(0),Z=p(1),De=p(20),he=p(!1),We=$(()=>{const t=Y.value;return t?t.mode==="dept"?`已完成业绩订单 · ${t.dept_name}`:t.title:"已完成业绩订单"}),K=$(()=>c.order_start_time&&c.order_end_time?`${c.order_start_time}~${c.order_end_time}`:c.order_month||"—"),Qe=$(()=>{const t=new Map;for(const e of ne.value){const i=Number(e.pid),l=t.get(i)??[];l.push(e.id),t.set(i,l)}return t}),be=$(()=>{const t=new Map;for(const e of ne.value)t.set(e.id,e);return t}),ee=$(()=>{if(V.value.length!==1)return null;const t=V.value[0];return be.value.get(t)??null}),je=$(()=>{const t=ee.value;if(!t)return"返回顶层";const e=Number(t.pid),i=e>0?be.value.get(e):null;return!i||Number(i.pid)<=0?"返回顶层":`返回上级 · ${i.name}`});function ze(t){if(!t||t<=0)return!1;const e=Qe.value.get(t);return!!(e&&e.length>0)}function Je(t){if(!(!t||!t.dept_id||t.dept_id<=0)){if(ze(t.dept_id)){V.value=[t.dept_id],N();return}Ze(t.dept_id,t.dept_name)}}function Xe(){const t=ee.value;if(!t){V.value=[],N();return}const e=Number(t.pid),i=e>0?be.value.get(e):null;!i||Number(i.pid)<=0?V.value=[]:V.value=[e],N()}function Ze(t,e){if(!g.value){b.warning("请选择结算月");return}Y.value={mode:"dept",dept_id:t,dept_name:e},M.value="all",Z.value=1,q.value=[],G.value=0,X.value=!0,te(1)}function Ke(t){if(!g.value){b.warning("请选择结算月");return}Y.value={mode:"channel",title:`业务订单 · ${t.appt_channel_name} · 医助 ${t.assistant_name}`,assistant_id:t.assistant_id,appt_channel_value:Number(t.appt_channel_value??0)},M.value="all",Z.value=1,q.value=[],G.value=0,X.value=!0,te(1)}function et(t){if(!g.value){b.warning("请选择结算月");return}Y.value={mode:"channel",title:`业务订单 · ${t.appt_channel_name} · 医生 ${t.doctor_name}`,doctor_id:t.doctor_id,appt_channel_value:Number(t.appt_channel_value??0)},M.value="all",Z.value=1,q.value=[],G.value=0,X.value=!0,te(1)}async function te(t){if(!(!g.value||!Y.value)){he.value=!0,Z.value=t;try{const e=Y.value,i={settlement_month:g.value,page:t,page_size:De.value};e.mode==="dept"?(i.dept_ids=String(e.dept_id),R.value&&(i.channel_code=R.value)):(Object.assign(i,H()),i.appt_channel_value=e.appt_channel_value,e.assistant_id!=null&&(i.assistant_id=e.assistant_id),e.doctor_id!=null&&(i.doctor_id=e.doctor_id)),M.value&&M.value!=="all"&&(i.bucket=M.value);const l=await Pe(i);q.value=(l==null?void 0:l.list)||[],G.value=Number((l==null?void 0:l.count)??0)}catch(e){b.error((e==null?void 0:e.msg)||(e==null?void 0:e.message)||"加载明细失败"),q.value=[],G.value=0}finally{he.value=!1}}}function y(t){return t==null||!Number.isFinite(Number(t))?"—":`¥ ${Number(t).toLocaleString("zh-CN",{minimumFractionDigits:2,maximumFractionDigits:2})}`}async function tt(){ie.value=!0;try{const t=await Gt();ne.value=(t||[]).sort((e,i)=>{const l=e.name.includes("中心")?-1:1,k=i.name.includes("中心")?-1:1;return l!==k?l-k:e.id-i.id})}catch{}finally{ie.value=!1}}async function lt(){de.value=!0;try{const t=await Ht();Ce.value=(t==null?void 0:t.groups)||[]}catch{}finally{de.value=!1}}async function N(){var i;const t=g.value;if(!t){b.warning("请选择结算月");return}const e=I.value;if(!e||!e[0]||!e[1]){b.warning("请设置订单创建时间范围");return}T.value=!0;try{const l=await At(H());ue.value=(l==null?void 0:l.rows)||[],Se.value=(l==null?void 0:l.assistant_rows)||[],Ve.value=(l==null?void 0:l.doctor_rows)||[],oe.value=(l==null?void 0:l.assistant_channel_rows)||[],se.value=(l==null?void 0:l.doctor_channel_rows)||[],U.value=(l==null?void 0:l.total)||{},c.settlement_month=(l==null?void 0:l.settlement_month)||t,c.order_month=(l==null?void 0:l.order_month)||"",c.order_start_time=l!=null&&l.order_start_time?String(l.order_start_time):"",c.order_end_time=l!=null&&l.order_end_time?String(l.order_end_time):"",c.fulfillment_status=(l==null?void 0:l.fulfillment_status)!=null?Number(l.fulfillment_status):3,c.explicit_order_time_window=typeof(l==null?void 0:l.explicit_order_time_window)=="boolean"?l.explicit_order_time_window:!!(c.order_start_time&&c.order_end_time),c.cutoff_end=(l==null?void 0:l.cutoff_end)||"",c.rule_note=(l==null?void 0:l.rule_note)||"",c.channel_name=(l==null?void 0:l.channel_name)||"",c.require_system_auto_prescription=typeof(l==null?void 0:l.require_system_auto_prescription)=="boolean"?l.require_system_auto_prescription:!1,O.value=(l==null?void 0:l.confirm)??null,J.value=((i=l==null?void 0:l.confirm)==null?void 0:i.reconcile_note)!=null?String(l.confirm.reconcile_note):""}catch(l){b.error((l==null?void 0:l.msg)||(l==null?void 0:l.message)||"加载失败"),ue.value=[],Se.value=[],Ve.value=[],oe.value=[],se.value=[],U.value={},O.value=null}finally{T.value=!1}}function H(){const e={settlement_month:g.value,fulfillment_status:3},i=I.value;return i&&i[0]&&i[1]&&(e.start_time=i[0],e.end_time=i[1]),ae.value&&(e.require_system_auto_prescription=1),V.value.length>0&&(e.dept_ids=V.value.join(",")),R.value&&(e.channel_code=R.value),e}function at(){if(!g.value){b.warning("请选择结算月");return}me.value=!0}function nt(){P.value="all",we(1)}async function we(t){if(g.value){fe.value=!0,Ne.value=t;try{const e={...H(),page:t,page_size:Ee.value};P.value&&P.value!=="all"&&(e.bucket=P.value);const i=await Pe(e);ve.value=(i==null?void 0:i.list)||[],ge.value=Number((i==null?void 0:i.count)??0)}catch(e){b.error((e==null?void 0:e.msg)||(e==null?void 0:e.message)||"加载明细失败"),ve.value=[],ge.value=0}finally{fe.value=!1}}}async function ot(){if(!g.value){b.warning("请选择结算月");return}if(F.value){b.warning("已确定业绩不可修改备注;请先撤回确定");return}_e.value=!0;try{await Wt({...H(),reconcile_note:J.value}),b.success("已保存核对备注"),await N()}catch(t){b.error((t==null?void 0:t.msg)||(t==null?void 0:t.message)||"保存失败")}finally{_e.value=!1}}async function st(){if(!g.value){b.warning("请选择结算月");return}try{await Ie.confirm("确定后将为「顺延下期」订单写入结转记录,下一结算月在相同渠道与部门筛选下自动并入统计。确定后仍可「撤回确定」以清除结转并重新核对(与财务对齐后再操作)。","确定本期业绩",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"})}catch{return}ce.value=!0;try{const t=await Qt({...H(),reconcile_note:J.value});b.success(`已确定本期业绩;结转 ${Number((t==null?void 0:t.deferred_carry_count)??0)} 单至 ${String((t==null?void 0:t.next_settlement_month)??"下期")}`),await N()}catch(t){b.error((t==null?void 0:t.msg)||(t==null?void 0:t.message)||"提交失败")}finally{ce.value=!1}}async function rt(){if(!g.value){b.warning("请选择结算月");return}try{await Ie.confirm("将撤回本次「确定业绩」状态,并删除已写入的顺延结转记录(下期将不再汇入这些单)。确定后继续?","撤回确定业绩",{confirmButtonText:"撤回",cancelButtonText:"取消",type:"warning"})}catch{return}pe.value=!0;try{await jt(H()),b.success("已撤回确定;可重新保存备注并再次确定本期业绩"),await N()}catch(t){b.error((t==null?void 0:t.msg)||(t==null?void 0:t.message)||"撤回失败")}finally{pe.value=!1}}function it(){g.value=ke(),I.value=re(g.value),ae.value=!1,V.value=[],R.value="",N()}function Me(t){const{columns:e}=t,i=U.value,l=[];return e.forEach((k,m)=>{if(m===0){l[m]="合计";return}const v=k.property;if(!i||!v){l[m]="";return}if(v==="primary_dept_name"||v==="appt_channel_name"){l[m]="";return}if(v==="carry_in_order_count"){l[m]=String(i.carry_in_order_count??0);return}const w={completed_order_count:String(i.completed_order_count??0),completed_order_amount:y(i.completed_order_amount),current_period_count:String(i.current_period_count??0),current_period_amount:y(i.current_period_amount),deferred_period_count:String(i.deferred_period_count??0),deferred_period_amount:y(i.deferred_period_amount)};l[m]=w[String(v)]??""}),l}function $e(t,e){return i=>{const{rowIndex:l,columnIndex:k}=i;if(k>1)return;const m=t.value;if(!m||m.length===0)return;const v=m[l];if(!v)return;const w=v[e],E=l>0?m[l-1]:null;if(E&&E[e]===w)return{rowspan:0,colspan:0};let C=1;for(let D=l+1;D{if(m===0){l[m]="合计";return}const v=k.property;if(!i||!v){l[m]="";return}const w={completed_order_count:String(i.completed_order_count??0),completed_order_amount:y(i.completed_order_amount),current_period_count:String(i.current_period_count??0),current_period_amount:y(i.current_period_amount),deferred_period_count:String(i.deferred_period_count??0),deferred_period_amount:y(i.deferred_period_amount)};l[m]=w[String(v)]??""}),l}return Xt(g,t=>{t&&(I.value=re(t))}),Zt(async()=>{await Promise.all([tt(),lt()]),await N()}),(t,e)=>{const i=gt,l=ht,k=wt,m=yt,v=bt,w=kt,E=St,C=Ct,D=Vt,ct=Ot,S=Nt,pt=Et,mt=Tt,d=$t,le=Mt,ye=zt,ft=Dt,A=Ft,Re=Rt,Fe=Lt,Le=Bt,W=xt;return u(),f("div",ll,[r("header",al,[r("div",nl,[e[16]||(e[16]=Kt('
财务结算 · 业绩台账

提成结算业绩

订单池默认与处方订单列表同源:创建时间 start_time~end_time + fulfillment_status(默认完成态 3),账号列表可见性/数据域一并生效。 选结算月仍可套用「物流签收尾款支付均须在结算月 7 日 24 点前」拆分「本期提成 / 顺延下期」 (仅有签收在范围内、尾款晚于截止仍会顺延); 展示部门/渠道下拉与列表不同,勾选后会与列表计数不同

',1)),c.settlement_month||c.cutoff_end?(u(),f("dl",ol,[r("div",sl,[e[13]||(e[13]=r("dt",{class:"cs-stat__label"},"结算月",-1)),r("dd",rl,_(c.settlement_month||g.value),1)]),c.order_month||c.order_start_time?(u(),f("div",il,[e[14]||(e[14]=r("dt",{class:"cs-stat__label"},"订单时间窗",-1)),r("dd",dl,_(K.value),1)])):x("",!0),c.cutoff_end?(u(),f("div",ul,[e[15]||(e[15]=r("dt",{class:"cs-stat__label"},"截止时刻",-1)),r("dd",_l,_(c.cutoff_end),1)])):x("",!0)])):x("",!0)])]),n(D,{class:"cs-panel filter-card",shadow:"never"},{default:o(()=>[r("div",cl,[r("div",pl,[r("div",ml,[e[17]||(e[17]=r("span",{class:"lbl"},"结算月",-1)),n(i,{modelValue:g.value,"onUpdate:modelValue":e[0]||(e[0]=a=>g.value=a),type:"month","value-format":"YYYY-MM",placeholder:"选择结算月",class:"filter-month"},null,8,["modelValue"])]),r("div",fl,[e[19]||(e[19]=r("span",{class:"lbl"},"订单创建",-1)),n(i,{modelValue:I.value,"onUpdate:modelValue":e[1]||(e[1]=a=>I.value=a),type:"datetimerange","value-format":"YYYY-MM-DD HH:mm:ss","range-separator":"至","start-placeholder":"列表 start_time","end-placeholder":"列表 end_time",class:"filter-datetimerange"},null,8,["modelValue"]),n(l,{modelValue:ae.value,"onUpdate:modelValue":e[2]||(e[2]=a=>ae.value=a),class:"filter-sa-check"},{default:o(()=>[...e[18]||(e[18]=[s(" 仅系统代开处方 ",-1)])]),_:1},8,["modelValue"])]),r("div",vl,[e[20]||(e[20]=r("span",{class:"lbl"},"渠道来源",-1)),n(v,{modelValue:R.value,"onUpdate:modelValue":e[3]||(e[3]=a=>R.value=a),filterable:"",clearable:"",placeholder:"全部",class:"filter-select filter-select--channel",loading:de.value,onChange:N},{default:o(()=>[n(k,{label:"全部",value:""}),(u(!0),f(L,null,Ye(Ce.value,a=>(u(),h(m,{key:a.group_name,label:a.group_name},{default:o(()=>[(u(!0),f(L,null,Ye(a.channels,z=>(u(),h(k,{key:z.channel_code,label:z.channel_name,value:z.channel_code},null,8,["label","value"]))),128))]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue","loading"])]),r("div",gl,[e[21]||(e[21]=r("span",{class:"lbl"},"展示部门",-1)),Q((u(),f("div",hl,[n(w,{modelValue:V.value,"onUpdate:modelValue":e[4]||(e[4]=a=>V.value=a),data:Ae.value,multiple:"","collapse-tags":"","collapse-tags-tooltip":"",filterable:"","check-strictly":"","render-after-expand":!1,"default-expand-all":!0,placeholder:"默认:所有「中心」部门",class:"filter-dept-tree-select","node-key":"id",props:Ge},null,8,["modelValue","data"])])),[[W,ie.value]])]),r("div",bl,[n(C,{type:"primary",class:"filter-btn filter-btn--query",loading:T.value,onClick:N},{default:o(()=>[n(E,{class:"filter-btn__icon"},{default:o(()=>[n(B(It))]),_:1}),e[22]||(e[22]=s(" 查询 ",-1))]),_:1},8,["loading"]),n(C,{class:"filter-btn filter-btn--reset",disabled:T.value,onClick:it},{default:o(()=>[n(E,{class:"filter-btn__icon"},{default:o(()=>[n(B(Ut))]),_:1}),e[23]||(e[23]=s(" 重置 ",-1))]),_:1},8,["disabled"])])])])]),_:1}),n(ct,{type:"info",closable:!1,"show-icon":"",class:"cs-alert"},{title:o(()=>[...e[24]||(e[24]=[r("span",{class:"cs-alert__title"},"统计口径",-1)])]),default:o(()=>[r("div",wl,[c.rule_note?(u(),f("p",yl,_(c.rule_note),1)):(u(),f("p",kl,[...e[25]||(e[25]=[s(" 请选择结算月并设置",-1),r("strong",null,"订单创建时间范围",-1),s("(与处方订单列表 URL 参数 ",-1),r("code",null,"start_time",-1),s("/",-1),r("code",null,"end_time",-1),s("/",-1),r("code",null,"fulfillment_status",-1),s(" 一致);切换结算月会自动带出",-1),r("strong",null,"上一自然月整段",-1),s("作为默认时段,可按业务修改(例如 2026-04-02~04-30)。 「仅系统代开处方」勾选后与列表在未限制开方类型时的条数会不一致。 ",-1)])])),c.cutoff_end?(u(),f("p",xl,[e[30]||(e[30]=s(" 当前结算月:",-1)),r("strong",null,_(c.settlement_month),1),e[31]||(e[31]=s(" · 订单时间:",-1)),r("strong",null,_(K.value),1),e[32]||(e[32]=s(" · 履约状态:",-1)),r("strong",null,_(c.fulfillment_status??3),1),e[33]||(e[33]=s(" · 截止时刻:",-1)),r("strong",null,_(c.cutoff_end),1),c.channel_name?(u(),f(L,{key:0},[e[26]||(e[26]=s(" · 渠道:",-1)),r("strong",null,_(c.channel_name),1)],64)):x("",!0),c.settlement_month?(u(),f(L,{key:1},[e[29]||(e[29]=s(" · 处方池:",-1)),r("strong",null,_(c.require_system_auto_prescription?"仅系统代开":"含手动与系统"),1),c.explicit_order_time_window?(u(),f(L,{key:0},[e[27]||(e[27]=s(" · 列表对齐:",-1)),e[28]||(e[28]=r("strong",null,"是",-1))],64)):x("",!0)],64)):x("",!0)])):x("",!0)])]),_:1}),n(D,{class:"cs-panel cs-reconcile-card",shadow:"never"},{default:o(()=>{var a,z,Be;return[r("div",Cl,[r("div",Sl,[r("div",Vl,[F.value?(u(),h(S,{key:0,type:"success",effect:"dark"},{default:o(()=>[...e[34]||(e[34]=[s("已确定业绩",-1)])]),_:1})):((a=O.value)==null?void 0:a.status)===2?(u(),h(S,{key:1,type:"warning",effect:"plain"},{default:o(()=>[...e[35]||(e[35]=[s("已撤回确定",-1)])]),_:1})):(u(),h(S,{key:2,type:"info",effect:"plain"},{default:o(()=>[...e[36]||(e[36]=[s("待确定业绩",-1)])]),_:1})),F.value&&((z=O.value)!=null&&z.confirmed_at_text)?(u(),f("span",Ol,_(O.value.confirmed_admin_name||"—")+" · "+_(O.value.confirmed_at_text),1)):((Be=O.value)==null?void 0:Be.status)===2&&O.value.revoked_at_text?(u(),f("span",Nl," 撤回:"+_(O.value.revoked_admin_name||"—")+" · "+_(O.value.revoked_at_text),1)):x("",!0)]),r("div",El,[n(C,{type:"primary",plain:"",onClick:at},{default:o(()=>[...e[37]||(e[37]=[s("业绩明细核对",-1)])]),_:1}),n(C,{disabled:F.value||_e.value,onClick:ot},{default:o(()=>[...e[38]||(e[38]=[s(" 保存核对备注 ",-1)])]),_:1},8,["disabled"]),n(C,{type:"warning",disabled:F.value||ce.value,onClick:st},{default:o(()=>[...e[39]||(e[39]=[s(" 确定本期业绩 ",-1)])]),_:1},8,["disabled"]),F.value?(u(),h(C,{key:0,type:"danger",plain:"",loading:pe.value,onClick:rt},{default:o(()=>[...e[40]||(e[40]=[s(" 撤回确定 ",-1)])]),_:1},8,["loading"])):x("",!0)])]),n(pt,{modelValue:J.value,"onUpdate:modelValue":e[5]||(e[5]=vt=>J.value=vt),type:"textarea",rows:2,maxlength:"500","show-word-limit":"",placeholder:"核对备注(可与财务线下对齐后填写;确定业绩前可反复保存)",disabled:F.value,class:"cs-reconcile__note"},null,8,["modelValue","disabled"]),Number(U.value.carry_in_order_count)>0?(u(),f("p",Dl,[e[41]||(e[41]=s(" 上期顺延汇入本期:",-1)),r("strong",null,_(U.value.carry_in_order_count),1),e[42]||(e[42]=s(" 单(已并入当前汇总) ",-1))])):x("",!0)])]}),_:1}),n(D,{class:"cs-panel cs-summary-card",shadow:"never"},{default:o(()=>[n(ft,{modelValue:Oe.value,"onUpdate:modelValue":e[6]||(e[6]=a=>Oe.value=a),class:"cs-summary-tabs"},{default:o(()=>[n(ye,{label:"部门汇总",name:"dept"},{default:o(()=>[r("div",zl,[r("div",Ml,[e[43]||(e[43]=r("span",{class:"cs-table-head__title"},"部门汇总",-1)),ee.value?(u(),f("div",$l,[n(S,{size:"small",type:"info",effect:"plain",class:"cs-drill-state__tag"},{default:o(()=>[s(" 当前下钻:"+_(ee.value.path||ee.value.name),1)]),_:1}),n(C,{link:"",type:"primary",class:"cs-drill-state__back",onClick:Xe},{default:o(()=>[n(E,null,{default:o(()=>[n(B(Pt))]),_:1}),s(" "+_(je.value),1)]),_:1})])):x("",!0)]),e[44]||(e[44]=r("span",{class:"cs-table-head__hint"},[s(" 金额单位:元;与业绩看板相同的部门摊列规则(业绩归属医助 → 展示「中心」)。 "),r("strong",null,"点击部门"),s(":若有子部门则下钻一层;末级部门弹出「已完成业绩订单」明细。 ")],-1))]),Q((u(),h(le,{data:ue.value,border:"",stripe:"",size:"small",class:"cs-table cs-table--clickable","show-summary":"","summary-method":_t},{default:o(()=>[n(d,{prop:"dept_name",label:"部门","min-width":"220",fixed:""},{default:o(({row:a})=>[a.dept_id>0?(u(),h(mt,{key:0,type:"primary",underline:!1,class:"cs-dept-link",onClick:z=>Je(a)},{default:o(()=>[r("span",Tl,_(a.dept_name),1),n(E,{class:"cs-dept-link__icon"},{default:o(()=>[ze(a.dept_id)?(u(),h(B(Yt),{key:0})):(u(),h(B(qt),{key:1}))]),_:2},1024)]),_:2},1032,["onClick"])):(u(),f("span",Rl,_(a.dept_name),1))]),_:1}),n(d,{prop:"completed_order_count",label:"已完成单数","min-width":"104",align:"right"}),n(d,{prop:"completed_order_amount",label:"已完成金额","min-width":"112",align:"right"},{default:o(({row:a})=>[s(_(y(a.completed_order_amount)),1)]),_:1}),n(d,{prop:"current_period_count",label:"本期提成单数","min-width":"118",align:"right"}),n(d,{prop:"current_period_amount",label:"本期提成金额","min-width":"118",align:"right"},{default:o(({row:a})=>[s(_(y(a.current_period_amount)),1)]),_:1}),n(d,{prop:"deferred_period_count",label:"顺延下期单数","min-width":"118",align:"right"}),n(d,{prop:"deferred_period_amount",label:"顺延下期金额","min-width":"118",align:"right"},{default:o(({row:a})=>[s(_(y(a.deferred_period_amount)),1)]),_:1})]),_:1},8,["data"])),[[W,T.value]])]),_:1}),n(ye,{label:"按医助下发",name:"assistant"},{default:o(()=>[e[45]||(e[45]=r("div",{class:"cs-table-head"},[r("span",{class:"cs-table-head__title"},"业绩归属医助 × 挂号渠道"),r("span",{class:"cs-table-head__hint"},[s(" 按诊单业绩归属医助 "),r("strong",null,"×"),s(" 挂号渠道(doctor_appointment.channels)拆分到行; "),r("strong",null,"「复诊2」「复诊3」「自媒体1」等保持各自独立"),s(",未关联挂号统一归到「未匹配挂号渠道」。 同一医助多行"),r("strong",null,"自动合并「医助 / 归属中心」单元格"),s(",「顺延汇入」为上期结转进入本期订单池的单数。 "),r("strong",null,"展示部门"),s("有勾选时,本表仅列出"),r("strong",null,"可归入该部门上下文"),s("的业绩医助(与人事部门落在所选部门范围内的账号一致)。 "),r("strong",null,"点击挂号渠道"),s(":查看该行对应的业务订单明细(与上方部门筛选一致)。 ")])],-1)),Q((u(),h(le,{data:oe.value,border:"",stripe:"",size:"small",class:"cs-table cs-table--grouped","show-summary":"","summary-method":Me,"span-method":B(dt)},{default:o(()=>[n(d,{prop:"assistant_name",label:"医助","min-width":"120",fixed:"","show-overflow-tooltip":""}),n(d,{prop:"primary_dept_name",label:"归属中心","min-width":"120","show-overflow-tooltip":""}),n(d,{prop:"appt_channel_name",label:"挂号渠道","min-width":"120","show-overflow-tooltip":""},{default:o(({row:a})=>[n(S,{size:"small",class:qe(["cs-channel-tag cs-channel-tag--clickable",Te(a.appt_channel_name)]),effect:"plain",onClick:Ue(z=>Ke(a),["stop"])},{default:o(()=>[s(_(a.appt_channel_name),1)]),_:2},1032,["class","onClick"])]),_:1}),n(d,{prop:"carry_in_order_count",label:"顺延汇入单数","min-width":"112",align:"right"}),n(d,{prop:"completed_order_count",label:"已完成单数","min-width":"104",align:"right"}),n(d,{prop:"completed_order_amount",label:"已完成金额","min-width":"112",align:"right"},{default:o(({row:a})=>[s(_(y(a.completed_order_amount)),1)]),_:1}),n(d,{prop:"current_period_count",label:"本期提成单数","min-width":"118",align:"right"}),n(d,{prop:"current_period_amount",label:"本期提成金额","min-width":"118",align:"right"},{default:o(({row:a})=>[s(_(y(a.current_period_amount)),1)]),_:1}),n(d,{prop:"deferred_period_count",label:"顺延下期单数","min-width":"118",align:"right"}),n(d,{prop:"deferred_period_amount",label:"顺延下期金额","min-width":"118",align:"right"},{default:o(({row:a})=>[s(_(y(a.deferred_period_amount)),1)]),_:1})]),_:1},8,["data","span-method"])),[[W,T.value]])]),_:1}),n(ye,{label:"按医生下发",name:"doctor"},{default:o(()=>[e[46]||(e[46]=r("div",{class:"cs-table-head"},[r("span",{class:"cs-table-head__title"},"处方开方医生 × 挂号渠道"),r("span",{class:"cs-table-head__hint"},[s(" 按处方创建账号(开方人) "),r("strong",null,"×"),s(" 挂号渠道拆分; 可与医助维度交叉核对;同一医生多行自动合并「医生 / 归属中心」单元格。 "),r("strong",null,"展示部门"),s("有勾选时,与医助表相同,仅统计"),r("strong",null,"该部门上下文内"),s("订单对应的开方医生。 "),r("strong",null,"点击挂号渠道"),s(":查看该行对应的业务订单明细。 ")])],-1)),Q((u(),h(le,{data:se.value,border:"",stripe:"",size:"small",class:"cs-table cs-table--grouped","show-summary":"","summary-method":Me,"span-method":B(ut)},{default:o(()=>[n(d,{prop:"doctor_name",label:"医生","min-width":"120",fixed:"","show-overflow-tooltip":""}),n(d,{prop:"primary_dept_name",label:"归属中心","min-width":"120","show-overflow-tooltip":""}),n(d,{prop:"appt_channel_name",label:"挂号渠道","min-width":"120","show-overflow-tooltip":""},{default:o(({row:a})=>[n(S,{size:"small",class:qe(["cs-channel-tag cs-channel-tag--clickable",Te(a.appt_channel_name)]),effect:"plain",onClick:Ue(z=>et(a),["stop"])},{default:o(()=>[s(_(a.appt_channel_name),1)]),_:2},1032,["class","onClick"])]),_:1}),n(d,{prop:"carry_in_order_count",label:"顺延汇入单数","min-width":"112",align:"right"}),n(d,{prop:"completed_order_count",label:"已完成单数","min-width":"104",align:"right"}),n(d,{prop:"completed_order_amount",label:"已完成金额","min-width":"112",align:"right"},{default:o(({row:a})=>[s(_(y(a.completed_order_amount)),1)]),_:1}),n(d,{prop:"current_period_count",label:"本期提成单数","min-width":"118",align:"right"}),n(d,{prop:"current_period_amount",label:"本期提成金额","min-width":"118",align:"right"},{default:o(({row:a})=>[s(_(y(a.current_period_amount)),1)]),_:1}),n(d,{prop:"deferred_period_count",label:"顺延下期单数","min-width":"118",align:"right"}),n(d,{prop:"deferred_period_amount",label:"顺延下期金额","min-width":"118",align:"right"},{default:o(({row:a})=>[s(_(y(a.deferred_period_amount)),1)]),_:1})]),_:1},8,["data","span-method"])),[[W,T.value]])]),_:1})]),_:1},8,["modelValue"])]),_:1}),n(Le,{modelValue:me.value,"onUpdate:modelValue":e[9]||(e[9]=a=>me.value=a),title:"业绩明细核对",width:"1280px","destroy-on-close":"",class:"cs-dialog",onOpen:nt},{default:o(()=>[r("div",Fl,[n(Re,{modelValue:P.value,"onUpdate:modelValue":e[7]||(e[7]=a=>P.value=a),size:"small",onChange:e[8]||(e[8]=a=>we(1))},{default:o(()=>[n(A,{label:"all"},{default:o(()=>[...e[47]||(e[47]=[s("全部",-1)])]),_:1}),n(A,{label:"current"},{default:o(()=>[...e[48]||(e[48]=[s("本期提成",-1)])]),_:1}),n(A,{label:"deferred"},{default:o(()=>[...e[49]||(e[49]=[s("顺延下期",-1)])]),_:1})]),_:1},8,["modelValue"])]),Q((u(),h(le,{data:ve.value,border:"",stripe:"",size:"small","max-height":"440"},{default:o(()=>[n(d,{prop:"order_no",label:"业务订单号","min-width":"128","show-overflow-tooltip":""}),n(d,{label:"快递单号","min-width":"132","show-overflow-tooltip":""},{default:o(({row:a})=>[s(_(a.tracking_number||"—"),1)]),_:1}),n(d,{label:"挂号日期","min-width":"124","show-overflow-tooltip":""},{default:o(({row:a})=>[r("span",null,_(a.appointment_date_text||"—"),1),a.appointment_status&&Number(a.appointment_status)!==3?(u(),h(S,{key:0,class:"cs-tag-appt-muted",type:"info",size:"small",effect:"plain"},{default:o(()=>[...e[50]||(e[50]=[s("未完结挂号",-1)])]),_:1})):x("",!0)]),_:1}),n(d,{label:"挂号渠道","min-width":"124","show-overflow-tooltip":""},{default:o(({row:a})=>[s(_(a.appt_channel_name||"—"),1)]),_:1}),n(d,{prop:"assistant_name",label:"业绩医助","min-width":"100","show-overflow-tooltip":""}),n(d,{prop:"doctor_name",label:"开方医生","min-width":"100","show-overflow-tooltip":""}),n(d,{prop:"primary_dept_name",label:"归属部门","min-width":"100","show-overflow-tooltip":""}),n(d,{prop:"amount",label:"金额",width:"108",align:"right"},{default:o(({row:a})=>[s(_(y(a.amount)),1)]),_:1}),n(d,{label:"分段",width:"88",align:"center"},{default:o(({row:a})=>[a.bucket==="current"?(u(),h(S,{key:0,type:"success",size:"small"},{default:o(()=>[...e[51]||(e[51]=[s("本期",-1)])]),_:1})):(u(),h(S,{key:1,type:"warning",size:"small"},{default:o(()=>[...e[52]||(e[52]=[s("顺延",-1)])]),_:1}))]),_:1}),n(d,{label:"结转",width:"72",align:"center"},{default:o(({row:a})=>[a.is_carry_in?(u(),f("span",Ll,"是")):(u(),f("span",Bl,"—"))]),_:1}),n(d,{label:"顺延说明","min-width":"200","show-overflow-tooltip":""},{default:o(({row:a})=>[a.bucket==="deferred"&&a.bucket_defer_text?(u(),f("span",Il,_(a.bucket_defer_text),1)):(u(),f("span",Ul,"—"))]),_:1}),n(d,{label:"物流签收","min-width":"152","show-overflow-tooltip":""},{default:o(({row:a})=>[s(_(a.sign_time_text||"—"),1)]),_:1}),n(d,{prop:"pay_time_text",label:"尾款支付","min-width":"152","show-overflow-tooltip":""},{default:o(({row:a})=>[s(_(a.pay_time_text||"—"),1)]),_:1}),n(d,{prop:"create_time_text",label:"订单创建",width:"152"})]),_:1},8,["data"])),[[W,fe.value]]),r("div",Pl,[n(Fe,{layout:"total, prev, pager, next",total:ge.value,"page-size":Ee.value,"current-page":Ne.value,onCurrentChange:we},null,8,["total","page-size","current-page"])])]),_:1},8,["modelValue"]),n(Le,{modelValue:X.value,"onUpdate:modelValue":e[12]||(e[12]=a=>X.value=a),title:We.value,width:"1280px","destroy-on-close":"",class:"cs-dialog"},{default:o(()=>[r("div",Yl,[n(Re,{modelValue:M.value,"onUpdate:modelValue":e[10]||(e[10]=a=>M.value=a),size:"small",onChange:e[11]||(e[11]=a=>te(1))},{default:o(()=>[n(A,{label:"all"},{default:o(()=>[...e[53]||(e[53]=[s("全部已完成",-1)])]),_:1}),n(A,{label:"current"},{default:o(()=>[...e[54]||(e[54]=[s("本期提成",-1)])]),_:1}),n(A,{label:"deferred"},{default:o(()=>[...e[55]||(e[55]=[s("顺延下期",-1)])]),_:1})]),_:1},8,["modelValue"]),r("span",ql,[e[58]||(e[58]=s(" 结算月:",-1)),r("strong",null,_(c.settlement_month||g.value),1),K.value&&K.value!=="—"?(u(),f(L,{key:0},[e[56]||(e[56]=s(" · 订单创建:",-1)),r("strong",null,_(K.value),1)],64)):x("",!0),c.channel_name?(u(),f(L,{key:1},[e[57]||(e[57]=s(" · 渠道:",-1)),r("strong",null,_(c.channel_name),1)],64)):x("",!0)])]),Q((u(),h(le,{data:q.value,border:"",stripe:"",size:"small","max-height":"440"},{default:o(()=>[n(d,{prop:"order_no",label:"业务订单号","min-width":"128","show-overflow-tooltip":""}),n(d,{label:"快递单号","min-width":"132","show-overflow-tooltip":""},{default:o(({row:a})=>[s(_(a.tracking_number||"—"),1)]),_:1}),n(d,{label:"挂号日期","min-width":"124","show-overflow-tooltip":""},{default:o(({row:a})=>[r("span",null,_(a.appointment_date_text||"—"),1),a.appointment_status&&Number(a.appointment_status)!==3?(u(),h(S,{key:0,class:"cs-tag-appt-muted",type:"info",size:"small",effect:"plain"},{default:o(()=>[...e[59]||(e[59]=[s("未完结挂号",-1)])]),_:1})):x("",!0)]),_:1}),n(d,{label:"挂号渠道","min-width":"124","show-overflow-tooltip":""},{default:o(({row:a})=>[s(_(a.appt_channel_name||"—"),1)]),_:1}),n(d,{prop:"assistant_name",label:"业绩医助","min-width":"100","show-overflow-tooltip":""}),n(d,{prop:"doctor_name",label:"开方医生","min-width":"100","show-overflow-tooltip":""}),n(d,{prop:"primary_dept_name",label:"归属部门","min-width":"120","show-overflow-tooltip":""}),n(d,{prop:"amount",label:"金额",width:"108",align:"right"},{default:o(({row:a})=>[s(_(y(a.amount)),1)]),_:1}),n(d,{label:"分段",width:"88",align:"center"},{default:o(({row:a})=>[a.bucket==="current"?(u(),h(S,{key:0,type:"success",size:"small"},{default:o(()=>[...e[60]||(e[60]=[s("本期",-1)])]),_:1})):(u(),h(S,{key:1,type:"warning",size:"small"},{default:o(()=>[...e[61]||(e[61]=[s("顺延",-1)])]),_:1}))]),_:1}),n(d,{label:"结转",width:"72",align:"center"},{default:o(({row:a})=>[a.is_carry_in?(u(),f("span",Gl,"是")):(u(),f("span",Hl,"—"))]),_:1}),n(d,{label:"顺延说明","min-width":"200","show-overflow-tooltip":""},{default:o(({row:a})=>[a.bucket==="deferred"&&a.bucket_defer_text?(u(),f("span",Al,_(a.bucket_defer_text),1)):(u(),f("span",Wl,"—"))]),_:1}),n(d,{label:"物流签收","min-width":"152","show-overflow-tooltip":""},{default:o(({row:a})=>[s(_(a.sign_time_text||"—"),1)]),_:1}),n(d,{prop:"pay_time_text",label:"尾款支付","min-width":"152","show-overflow-tooltip":""},{default:o(({row:a})=>[s(_(a.pay_time_text||"—"),1)]),_:1}),n(d,{prop:"create_time_text",label:"订单创建",width:"152"})]),_:1},8,["data"])),[[W,he.value]]),r("div",Ql,[n(Fe,{layout:"total, prev, pager, next",total:G.value,"page-size":De.value,"current-page":Z.value,onCurrentChange:te},null,8,["total","page-size","current-page"])])]),_:1},8,["modelValue","title"])])}}}),Ra=tl(jl,[["__scopeId","data-v-71fdf5ef"]]);export{Ra as default}; diff --git a/server/public/admin/assets/config-CYCTw4Fc.js b/server/public/admin/assets/config-BTlTjBYC.js similarity index 93% rename from server/public/admin/assets/config-CYCTw4Fc.js rename to server/public/admin/assets/config-BTlTjBYC.js index 9ce2de59..0bbb0f04 100644 --- a/server/public/admin/assets/config-CYCTw4Fc.js +++ b/server/public/admin/assets/config-BTlTjBYC.js @@ -1 +1 @@ -import{_ as q}from"./index-9zND60WT.js";import{K as R,J as j,B,C as T,i as J,G as N,I as O,D as G}from"./element-plus-0wC3naml.js";import{_ as K}from"./picker-DlbAZkDm.js";import{g as F,s as L}from"./wx_oa-CMZpCm8a.js";import{e as z}from"./index-E47--KT7.js";import{f as x,as as c,ak as m,I as M,a as o,aN as i,J as l,aP as f,G as v,O as r}from"./@vue/runtime-core-C6bnekPw.js";import{y as s,r as P,q as Z}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-nymJKQXP.js";import"./index-B56X8bEB.js";import"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import"./index-BHTgr4Ka.js";import"./index-Ci4dcEQh.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-DoYUJmkp.js";import"./index.vue_vue_type_script_setup_true_lang-Bl0f8aX8.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./usePaging-VsbTxSU0.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const H={class:"w-80"},Q={class:"w-80"},W={class:"w-80"},X={class:"w-80"},Y={class:"flex-1 min-w-0"},$={class:"sm:flex"},h={class:"mr-4 sm:w-80 flex"},ee={class:"flex-1 min-w-0"},oe={class:"w-80"},le={class:"flex-1 min-w-0"},te={class:"w-80"},se={class:"flex-1 min-w-0"},ie={class:"flex-1 min-w-0"},de={class:"sm:flex"},ne={class:"mr-4 sm:w-80 flex"},ae={class:"flex-1 min-w-0"},re={class:"sm:flex"},me={class:"mr-4 sm:w-80 flex"},pe={class:"flex-1 min-w-0"},ue={class:"sm:flex"},_e={class:"mr-4 sm:w-80 flex"},fe=x({name:"wxOaConfig"}),Vo=x({...fe,setup(ve){const y=z(),t=P({name:"",original_id:" ",qr_code:"",app_id:"",app_secret:"",url:"",token:"",encoding_aes_key:"",encryption_type:1,business_domain:"",js_secure_domain:"",web_auth_domain:""}),w=Z(),k={app_id:[{required:!0,message:"请输入AppID",trigger:["blur","change"]}],app_secret:[{required:!0,message:"请输入AppSecret",trigger:["blur","change"]}]},g=async()=>{const p=await F();for(const e in t)t[e]=p[e]},U=async()=>{var p;await((p=w.value)==null?void 0:p.validate()),await L(t),g()};return g(),(p,e)=>{const A=R,u=j,a=T,n=B,E=K,_=J,V=O,D=N,I=G,S=q,b=c("copy"),C=c("perms");return m(),M("div",null,[o(u,{class:"!border-none",shadow:"never"},{default:i(()=>[o(A,{type:"warning",title:"温馨提示:填写微信公众号开发配置,请前往微信公众平台申请服务号并完成认证",closable:!1,"show-icon":""})]),_:1}),o(I,{ref_key:"formRef",ref:w,model:s(t),rules:k,"label-width":s(y).isMobile?"80px":"160px"},{default:i(()=>[o(u,{class:"!border-none mt-4",shadow:"never"},{default:i(()=>[e[13]||(e[13]=l("div",{class:"font-medium mb-7"},"微信公众号",-1)),o(n,{label:"公众号名称",prop:"name"},{default:i(()=>[l("div",H,[o(a,{modelValue:s(t).name,"onUpdate:modelValue":e[0]||(e[0]=d=>s(t).name=d),placeholder:"请输入公众号名称"},null,8,["modelValue"])])]),_:1}),o(n,{label:"原始ID",prop:"original_id"},{default:i(()=>[l("div",Q,[o(a,{modelValue:s(t).original_id,"onUpdate:modelValue":e[1]||(e[1]=d=>s(t).original_id=d),placeholder:"请输入原始ID"},null,8,["modelValue"])])]),_:1}),o(n,{label:"公众号二维码",prop:"qr_code"},{default:i(()=>[l("div",null,[l("div",null,[o(E,{modelValue:s(t).qr_code,"onUpdate:modelValue":e[2]||(e[2]=d=>s(t).qr_code=d),limit:1},null,8,["modelValue"])]),e[12]||(e[12]=l("div",{class:"form-tips"},"建议尺寸:宽400px*高400px。jpg,jpeg,png格式",-1))])]),_:1})]),_:1}),o(u,{class:"!border-none mt-4",shadow:"never"},{default:i(()=>[e[15]||(e[15]=l("div",{class:"font-medium mb-7"},"公众号开发者信息",-1)),o(n,{label:"AppID",prop:"app_id"},{default:i(()=>[l("div",W,[o(a,{modelValue:s(t).app_id,"onUpdate:modelValue":e[3]||(e[3]=d=>s(t).app_id=d),placeholder:"请输入AppID"},null,8,["modelValue"])])]),_:1}),o(n,{label:"AppSecret",prop:"app_secret"},{default:i(()=>[l("div",X,[o(a,{modelValue:s(t).app_secret,"onUpdate:modelValue":e[4]||(e[4]=d=>s(t).app_secret=d),placeholder:"请输入AppSecret"},null,8,["modelValue"])])]),_:1}),o(n,null,{default:i(()=>[...e[14]||(e[14]=[l("div",{class:"form-tips"}," 小程序账号登录微信公众平台,点击开发>开发设置->开发者ID,设置AppID和AppSecret ",-1)])]),_:1})]),_:1}),o(u,{class:"!border-none mt-4",shadow:"never"},{default:i(()=>[e[23]||(e[23]=l("div",{class:"font-medium mb-7"},"服务器配置",-1)),o(n,{label:"URL"},{default:i(()=>[l("div",Y,[l("div",$,[l("div",h,[o(a,{modelValue:s(t).url,"onUpdate:modelValue":e[5]||(e[5]=d=>s(t).url=d),disabled:""},null,8,["modelValue"])]),f((m(),v(_,null,{default:i(()=>[...e[16]||(e[16]=[r("复制",-1)])]),_:1})),[[b,s(t).url]])]),e[17]||(e[17]=l("div",{class:"form-tips"}," 登录微信公众平台,点击开发>基本配置>服务器配置,填写服务器地址(URL) ",-1))])]),_:1}),o(n,{label:"Token",prop:"Token"},{default:i(()=>[l("div",ee,[l("div",oe,[o(a,{modelValue:s(t).token,"onUpdate:modelValue":e[6]||(e[6]=d=>s(t).token=d),placeholder:"请输入Token"},null,8,["modelValue"])]),e[18]||(e[18]=l("div",{class:"form-tips"}," 登录微信公众平台,点击开发>基本配置>服务器配置,设置令牌Token。不填默认为“likeshop” ",-1))])]),_:1}),o(n,{label:"EncodingAESKey",prop:"encoding_aes_key"},{default:i(()=>[l("div",le,[l("div",te,[o(a,{modelValue:s(t).encoding_aes_key,"onUpdate:modelValue":e[7]||(e[7]=d=>s(t).encoding_aes_key=d),placeholder:"请输入EncodingAESKey"},null,8,["modelValue"])]),e[19]||(e[19]=l("div",{class:"form-tips"}," 消息加密密钥由43位字符组成,字符范围为A-Z,a-z,0-9 ",-1))])]),_:1}),o(n,{label:"消息加密方式",required:"",prop:"encryption_type"},{default:i(()=>[l("div",se,[o(D,{class:"flex-col !items-start min-w-0",modelValue:s(t).encryption_type,"onUpdate:modelValue":e[8]||(e[8]=d=>s(t).encryption_type=d)},{default:i(()=>[o(V,{value:1},{default:i(()=>[...e[20]||(e[20]=[r(" 明文模式 (不使用消息体加解密功能,安全系数较低) ",-1)])]),_:1}),o(V,{value:2},{default:i(()=>[...e[21]||(e[21]=[r(" 兼容模式 (明文、密文将共存,方便开发者调试和维护) ",-1)])]),_:1}),o(V,{value:3},{default:i(()=>[...e[22]||(e[22]=[r(" 安全模式(推荐) (消息包为纯密文,需要开发者加密和解密,安全系数高) ",-1)])]),_:1})]),_:1},8,["modelValue"])])]),_:1})]),_:1}),o(u,{class:"!border-none mt-4",shadow:"never"},{default:i(()=>[e[30]||(e[30]=l("div",{class:"font-medium mb-7"},"功能设置",-1)),o(n,{label:"业务域名"},{default:i(()=>[l("div",ie,[l("div",de,[l("div",ne,[o(a,{modelValue:s(t).business_domain,"onUpdate:modelValue":e[9]||(e[9]=d=>s(t).business_domain=d),disabled:""},null,8,["modelValue"])]),f((m(),v(_,null,{default:i(()=>[...e[24]||(e[24]=[r("复制",-1)])]),_:1})),[[b,s(t).business_domain]])]),e[25]||(e[25]=l("div",{class:"form-tips"}," 登录微信公众平台,点击设置>公众号设置>功能设置,填写业务域名 ",-1))])]),_:1}),o(n,{label:"JS接口安全域名"},{default:i(()=>[l("div",ae,[l("div",re,[l("div",me,[o(a,{modelValue:s(t).js_secure_domain,"onUpdate:modelValue":e[10]||(e[10]=d=>s(t).js_secure_domain=d),disabled:""},null,8,["modelValue"])]),f((m(),v(_,null,{default:i(()=>[...e[26]||(e[26]=[r("复制",-1)])]),_:1})),[[b,s(t).js_secure_domain]])]),e[27]||(e[27]=l("div",{class:"form-tips"}," 登录微信公众平台,点击设置>公众号设置>功能设置,填写JS接口安全域名 ",-1))])]),_:1}),o(n,{label:"网页授权域名"},{default:i(()=>[l("div",pe,[l("div",ue,[l("div",_e,[o(a,{modelValue:s(t).web_auth_domain,"onUpdate:modelValue":e[11]||(e[11]=d=>s(t).web_auth_domain=d),disabled:""},null,8,["modelValue"])]),f((m(),v(_,null,{default:i(()=>[...e[28]||(e[28]=[r("复制",-1)])]),_:1})),[[b,s(t).web_auth_domain]])]),e[29]||(e[29]=l("div",{class:"form-tips"}," 登录微信公众平台,点击设置>公众号设置>功能设置,填写网页授权域名 ",-1))])]),_:1})]),_:1})]),_:1},8,["model","label-width"]),f((m(),v(S,null,{default:i(()=>[o(_,{type:"primary",onClick:U},{default:i(()=>[...e[31]||(e[31]=[r("保存",-1)])]),_:1})]),_:1})),[[C,["channel.official_account_setting/setConfig"]]])])}}});export{Vo as default}; +import{_ as q}from"./index-x1zzA0a7.js";import{K as R,J as j,B,C as T,i as J,G as N,I as O,D as G}from"./element-plus-DFTWCWyi.js";import{_ as K}from"./picker-BCRrEZaA.js";import{g as F,s as L}from"./wx_oa-sVQft6O9.js";import{e as z}from"./index-DBREMm_z.js";import{f as x,as as c,ak as m,I as M,a as o,aN as i,J as l,aP as f,G as v,O as r}from"./@vue/runtime-core-C6bnekPw.js";import{y as s,r as P,q as Z}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-BwF7vczx.js";import"./index-BiPYXDtP.js";import"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import"./index-CbfZXeGu.js";import"./index-CRoZWY-W.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-BimpIRb_.js";import"./index.vue_vue_type_script_setup_true_lang-x0oL2ShL.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./usePaging-VsbTxSU0.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const H={class:"w-80"},Q={class:"w-80"},W={class:"w-80"},X={class:"w-80"},Y={class:"flex-1 min-w-0"},$={class:"sm:flex"},h={class:"mr-4 sm:w-80 flex"},ee={class:"flex-1 min-w-0"},oe={class:"w-80"},le={class:"flex-1 min-w-0"},te={class:"w-80"},se={class:"flex-1 min-w-0"},ie={class:"flex-1 min-w-0"},de={class:"sm:flex"},ne={class:"mr-4 sm:w-80 flex"},ae={class:"flex-1 min-w-0"},re={class:"sm:flex"},me={class:"mr-4 sm:w-80 flex"},pe={class:"flex-1 min-w-0"},ue={class:"sm:flex"},_e={class:"mr-4 sm:w-80 flex"},fe=x({name:"wxOaConfig"}),Vo=x({...fe,setup(ve){const y=z(),t=P({name:"",original_id:" ",qr_code:"",app_id:"",app_secret:"",url:"",token:"",encoding_aes_key:"",encryption_type:1,business_domain:"",js_secure_domain:"",web_auth_domain:""}),w=Z(),k={app_id:[{required:!0,message:"请输入AppID",trigger:["blur","change"]}],app_secret:[{required:!0,message:"请输入AppSecret",trigger:["blur","change"]}]},g=async()=>{const p=await F();for(const e in t)t[e]=p[e]},U=async()=>{var p;await((p=w.value)==null?void 0:p.validate()),await L(t),g()};return g(),(p,e)=>{const A=R,u=j,a=T,n=B,E=K,_=J,V=O,D=N,I=G,S=q,b=c("copy"),C=c("perms");return m(),M("div",null,[o(u,{class:"!border-none",shadow:"never"},{default:i(()=>[o(A,{type:"warning",title:"温馨提示:填写微信公众号开发配置,请前往微信公众平台申请服务号并完成认证",closable:!1,"show-icon":""})]),_:1}),o(I,{ref_key:"formRef",ref:w,model:s(t),rules:k,"label-width":s(y).isMobile?"80px":"160px"},{default:i(()=>[o(u,{class:"!border-none mt-4",shadow:"never"},{default:i(()=>[e[13]||(e[13]=l("div",{class:"font-medium mb-7"},"微信公众号",-1)),o(n,{label:"公众号名称",prop:"name"},{default:i(()=>[l("div",H,[o(a,{modelValue:s(t).name,"onUpdate:modelValue":e[0]||(e[0]=d=>s(t).name=d),placeholder:"请输入公众号名称"},null,8,["modelValue"])])]),_:1}),o(n,{label:"原始ID",prop:"original_id"},{default:i(()=>[l("div",Q,[o(a,{modelValue:s(t).original_id,"onUpdate:modelValue":e[1]||(e[1]=d=>s(t).original_id=d),placeholder:"请输入原始ID"},null,8,["modelValue"])])]),_:1}),o(n,{label:"公众号二维码",prop:"qr_code"},{default:i(()=>[l("div",null,[l("div",null,[o(E,{modelValue:s(t).qr_code,"onUpdate:modelValue":e[2]||(e[2]=d=>s(t).qr_code=d),limit:1},null,8,["modelValue"])]),e[12]||(e[12]=l("div",{class:"form-tips"},"建议尺寸:宽400px*高400px。jpg,jpeg,png格式",-1))])]),_:1})]),_:1}),o(u,{class:"!border-none mt-4",shadow:"never"},{default:i(()=>[e[15]||(e[15]=l("div",{class:"font-medium mb-7"},"公众号开发者信息",-1)),o(n,{label:"AppID",prop:"app_id"},{default:i(()=>[l("div",W,[o(a,{modelValue:s(t).app_id,"onUpdate:modelValue":e[3]||(e[3]=d=>s(t).app_id=d),placeholder:"请输入AppID"},null,8,["modelValue"])])]),_:1}),o(n,{label:"AppSecret",prop:"app_secret"},{default:i(()=>[l("div",X,[o(a,{modelValue:s(t).app_secret,"onUpdate:modelValue":e[4]||(e[4]=d=>s(t).app_secret=d),placeholder:"请输入AppSecret"},null,8,["modelValue"])])]),_:1}),o(n,null,{default:i(()=>[...e[14]||(e[14]=[l("div",{class:"form-tips"}," 小程序账号登录微信公众平台,点击开发>开发设置->开发者ID,设置AppID和AppSecret ",-1)])]),_:1})]),_:1}),o(u,{class:"!border-none mt-4",shadow:"never"},{default:i(()=>[e[23]||(e[23]=l("div",{class:"font-medium mb-7"},"服务器配置",-1)),o(n,{label:"URL"},{default:i(()=>[l("div",Y,[l("div",$,[l("div",h,[o(a,{modelValue:s(t).url,"onUpdate:modelValue":e[5]||(e[5]=d=>s(t).url=d),disabled:""},null,8,["modelValue"])]),f((m(),v(_,null,{default:i(()=>[...e[16]||(e[16]=[r("复制",-1)])]),_:1})),[[b,s(t).url]])]),e[17]||(e[17]=l("div",{class:"form-tips"}," 登录微信公众平台,点击开发>基本配置>服务器配置,填写服务器地址(URL) ",-1))])]),_:1}),o(n,{label:"Token",prop:"Token"},{default:i(()=>[l("div",ee,[l("div",oe,[o(a,{modelValue:s(t).token,"onUpdate:modelValue":e[6]||(e[6]=d=>s(t).token=d),placeholder:"请输入Token"},null,8,["modelValue"])]),e[18]||(e[18]=l("div",{class:"form-tips"}," 登录微信公众平台,点击开发>基本配置>服务器配置,设置令牌Token。不填默认为“likeshop” ",-1))])]),_:1}),o(n,{label:"EncodingAESKey",prop:"encoding_aes_key"},{default:i(()=>[l("div",le,[l("div",te,[o(a,{modelValue:s(t).encoding_aes_key,"onUpdate:modelValue":e[7]||(e[7]=d=>s(t).encoding_aes_key=d),placeholder:"请输入EncodingAESKey"},null,8,["modelValue"])]),e[19]||(e[19]=l("div",{class:"form-tips"}," 消息加密密钥由43位字符组成,字符范围为A-Z,a-z,0-9 ",-1))])]),_:1}),o(n,{label:"消息加密方式",required:"",prop:"encryption_type"},{default:i(()=>[l("div",se,[o(D,{class:"flex-col !items-start min-w-0",modelValue:s(t).encryption_type,"onUpdate:modelValue":e[8]||(e[8]=d=>s(t).encryption_type=d)},{default:i(()=>[o(V,{value:1},{default:i(()=>[...e[20]||(e[20]=[r(" 明文模式 (不使用消息体加解密功能,安全系数较低) ",-1)])]),_:1}),o(V,{value:2},{default:i(()=>[...e[21]||(e[21]=[r(" 兼容模式 (明文、密文将共存,方便开发者调试和维护) ",-1)])]),_:1}),o(V,{value:3},{default:i(()=>[...e[22]||(e[22]=[r(" 安全模式(推荐) (消息包为纯密文,需要开发者加密和解密,安全系数高) ",-1)])]),_:1})]),_:1},8,["modelValue"])])]),_:1})]),_:1}),o(u,{class:"!border-none mt-4",shadow:"never"},{default:i(()=>[e[30]||(e[30]=l("div",{class:"font-medium mb-7"},"功能设置",-1)),o(n,{label:"业务域名"},{default:i(()=>[l("div",ie,[l("div",de,[l("div",ne,[o(a,{modelValue:s(t).business_domain,"onUpdate:modelValue":e[9]||(e[9]=d=>s(t).business_domain=d),disabled:""},null,8,["modelValue"])]),f((m(),v(_,null,{default:i(()=>[...e[24]||(e[24]=[r("复制",-1)])]),_:1})),[[b,s(t).business_domain]])]),e[25]||(e[25]=l("div",{class:"form-tips"}," 登录微信公众平台,点击设置>公众号设置>功能设置,填写业务域名 ",-1))])]),_:1}),o(n,{label:"JS接口安全域名"},{default:i(()=>[l("div",ae,[l("div",re,[l("div",me,[o(a,{modelValue:s(t).js_secure_domain,"onUpdate:modelValue":e[10]||(e[10]=d=>s(t).js_secure_domain=d),disabled:""},null,8,["modelValue"])]),f((m(),v(_,null,{default:i(()=>[...e[26]||(e[26]=[r("复制",-1)])]),_:1})),[[b,s(t).js_secure_domain]])]),e[27]||(e[27]=l("div",{class:"form-tips"}," 登录微信公众平台,点击设置>公众号设置>功能设置,填写JS接口安全域名 ",-1))])]),_:1}),o(n,{label:"网页授权域名"},{default:i(()=>[l("div",pe,[l("div",ue,[l("div",_e,[o(a,{modelValue:s(t).web_auth_domain,"onUpdate:modelValue":e[11]||(e[11]=d=>s(t).web_auth_domain=d),disabled:""},null,8,["modelValue"])]),f((m(),v(_,null,{default:i(()=>[...e[28]||(e[28]=[r("复制",-1)])]),_:1})),[[b,s(t).web_auth_domain]])]),e[29]||(e[29]=l("div",{class:"form-tips"}," 登录微信公众平台,点击设置>公众号设置>功能设置,填写网页授权域名 ",-1))])]),_:1})]),_:1})]),_:1},8,["model","label-width"]),f((m(),v(S,null,{default:i(()=>[o(_,{type:"primary",onClick:U},{default:i(()=>[...e[31]||(e[31]=[r("保存",-1)])]),_:1})]),_:1})),[[C,["channel.official_account_setting/setConfig"]]])])}}});export{Vo as default}; diff --git a/server/public/admin/assets/consumer-C-hGL7Bd.js b/server/public/admin/assets/consumer-BHPpijRv.js similarity index 81% rename from server/public/admin/assets/consumer-C-hGL7Bd.js rename to server/public/admin/assets/consumer-BHPpijRv.js index dbd1371d..b56e259e 100644 --- a/server/public/admin/assets/consumer-C-hGL7Bd.js +++ b/server/public/admin/assets/consumer-BHPpijRv.js @@ -1 +1 @@ -import{r}from"./index-E47--KT7.js";function u(e){return r.get({url:"/user.user/lists",params:e},{ignoreCancelToken:!0})}function s(e){return r.get({url:"/user.user/detail",params:e})}function n(e){return r.post({url:"/user.user/edit",params:e})}function o(e){return r.post({url:"/user.user/adjustMoney",params:e})}export{o as a,u as b,s as g,n as u}; +import{r}from"./index-DBREMm_z.js";function u(e){return r.get({url:"/user.user/lists",params:e},{ignoreCancelToken:!0})}function s(e){return r.get({url:"/user.user/detail",params:e})}function n(e){return r.post({url:"/user.user/edit",params:e})}function o(e){return r.post({url:"/user.user/adjustMoney",params:e})}export{o as a,u as b,s as g,n as u}; diff --git a/server/public/admin/assets/content-DP2jpo2x.js b/server/public/admin/assets/content-BXP6L3kv.js similarity index 86% rename from server/public/admin/assets/content-DP2jpo2x.js rename to server/public/admin/assets/content-BXP6L3kv.js index 6c0fee8a..b36f8ea6 100644 --- a/server/public/admin/assets/content-DP2jpo2x.js +++ b/server/public/admin/assets/content-BXP6L3kv.js @@ -1 +1 @@ -import{_ as o}from"./content.vue_vue_type_script_setup_true_lang-B9VzIZnv.js";import"./decoration-img-CZl9mrsf.js";import"./element-plus-0wC3naml.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-E47--KT7.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";export{o as default}; +import{_ as o}from"./content.vue_vue_type_script_setup_true_lang-B-SEL-YW.js";import"./decoration-img-CZLpkXPN.js";import"./element-plus-DFTWCWyi.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-DBREMm_z.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";export{o as default}; diff --git a/server/public/admin/assets/content-B7VEJItb.js b/server/public/admin/assets/content-BeOu4XYf.js similarity index 92% rename from server/public/admin/assets/content-B7VEJItb.js rename to server/public/admin/assets/content-BeOu4XYf.js index fae630db..286cf475 100644 --- a/server/public/admin/assets/content-B7VEJItb.js +++ b/server/public/admin/assets/content-BeOu4XYf.js @@ -1 +1 @@ -import{_ as i,c as m}from"./index-E47--KT7.js";import{ak as p,I as e,J as t,a as s}from"./@vue/runtime-core-C6bnekPw.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./element-plus-0wC3naml.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const c={},a={class:"search"},n={class:"search-con flex items-center px-[15px]"};function _(d,o){const r=m;return p(),e("div",a,[t("div",n,[s(r,{name:"el-icon-Search",size:17}),o[0]||(o[0]=t("span",{class:"ml-[5px]"},"请输入关键词搜索",-1))])])}const W=i(c,[["render",_],["__scopeId","data-v-3514bdd8"]]);export{W as default}; +import{_ as i,c as m}from"./index-DBREMm_z.js";import{ak as p,I as e,J as t,a as s}from"./@vue/runtime-core-C6bnekPw.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./element-plus-DFTWCWyi.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const c={},a={class:"search"},n={class:"search-con flex items-center px-[15px]"};function _(d,o){const r=m;return p(),e("div",a,[t("div",n,[s(r,{name:"el-icon-Search",size:17}),o[0]||(o[0]=t("span",{class:"ml-[5px]"},"请输入关键词搜索",-1))])])}const W=i(c,[["render",_],["__scopeId","data-v-3514bdd8"]]);export{W as default}; diff --git a/server/public/admin/assets/content-CtN1fP4w.js b/server/public/admin/assets/content-C1yNkqxj.js similarity index 92% rename from server/public/admin/assets/content-CtN1fP4w.js rename to server/public/admin/assets/content-C1yNkqxj.js index ac93dab0..66764883 100644 --- a/server/public/admin/assets/content-CtN1fP4w.js +++ b/server/public/admin/assets/content-C1yNkqxj.js @@ -1 +1 @@ -import{s as _}from"./element-plus-0wC3naml.js";import l from"./decoration-img-CZl9mrsf.js";import{f,ak as r,I as e,a as p,aN as a,J as t,F as m,ap as c,H as v}from"./@vue/runtime-core-C6bnekPw.js";import{o as h,Q as d}from"./@vue/shared-mAAVTE9n.js";import{_ as x}from"./index-E47--KT7.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const y={class:"pc-aside absolute top-0 bottom-0 left-0 w-[150px]"},k={class:"h-full px-[10px] flex flex-col"},b={class:"mb-auto"},g={class:"nav"},w=["to"],C={class:"ml-[10px]"},N={class:"menu"},B={class:"ml-[6px] line-clamp-1"},E=f({__name:"content",props:{nav:{type:Array,default:()=>[]},menu:{type:Array,default:()=>[]}},setup(n){return(I,i)=>{const u=_;return r(),e("div",y,[p(u,null,{default:a(()=>[t("div",k,[t("div",b,[t("div",g,[(r(!0),e(m,null,c(n.nav,(o,s)=>(r(),e(m,{key:s},[o.is_show=="1"?(r(),e("div",{key:0,to:o.link.path,class:h(["nav-item",{active:s==0}])},[p(l,{width:"18px",height:"18px",src:s==0?o.selected:o.unselected,fit:"cover"},{error:a(()=>[...i[0]||(i[0]=[t("span",null,null,-1)])]),_:1},8,["src"]),t("div",C,d(o.name),1)],10,w)):v("",!0)],64))),128))])]),t("div",null,[t("div",N,[(r(!0),e(m,null,c(n.menu,(o,s)=>(r(),e("div",{class:"menu-item",key:s},[p(l,{width:"16px",height:"16px",src:o.unselected,fit:"cover"},{error:a(()=>[...i[1]||(i[1]=[t("span",null,null,-1)])]),_:1},8,["src"]),t("span",B,d(o.name),1)]))),128))])])])]),_:1})])}}}),ut=x(E,[["__scopeId","data-v-35c14957"]]);export{ut as default}; +import{s as _}from"./element-plus-DFTWCWyi.js";import l from"./decoration-img-CZLpkXPN.js";import{f,ak as r,I as e,a as p,aN as a,J as t,F as m,ap as c,H as v}from"./@vue/runtime-core-C6bnekPw.js";import{o as h,Q as d}from"./@vue/shared-mAAVTE9n.js";import{_ as x}from"./index-DBREMm_z.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const y={class:"pc-aside absolute top-0 bottom-0 left-0 w-[150px]"},k={class:"h-full px-[10px] flex flex-col"},b={class:"mb-auto"},g={class:"nav"},w=["to"],C={class:"ml-[10px]"},N={class:"menu"},B={class:"ml-[6px] line-clamp-1"},E=f({__name:"content",props:{nav:{type:Array,default:()=>[]},menu:{type:Array,default:()=>[]}},setup(n){return(I,i)=>{const u=_;return r(),e("div",y,[p(u,null,{default:a(()=>[t("div",k,[t("div",b,[t("div",g,[(r(!0),e(m,null,c(n.nav,(o,s)=>(r(),e(m,{key:s},[o.is_show=="1"?(r(),e("div",{key:0,to:o.link.path,class:h(["nav-item",{active:s==0}])},[p(l,{width:"18px",height:"18px",src:s==0?o.selected:o.unselected,fit:"cover"},{error:a(()=>[...i[0]||(i[0]=[t("span",null,null,-1)])]),_:1},8,["src"]),t("div",C,d(o.name),1)],10,w)):v("",!0)],64))),128))])]),t("div",null,[t("div",N,[(r(!0),e(m,null,c(n.menu,(o,s)=>(r(),e("div",{class:"menu-item",key:s},[p(l,{width:"16px",height:"16px",src:o.unselected,fit:"cover"},{error:a(()=>[...i[1]||(i[1]=[t("span",null,null,-1)])]),_:1},8,["src"]),t("span",B,d(o.name),1)]))),128))])])])]),_:1})])}}}),ut=x(E,[["__scopeId","data-v-35c14957"]]);export{ut as default}; diff --git a/server/public/admin/assets/content-CgQTA2IB.js b/server/public/admin/assets/content-C_MRybMI.js similarity index 92% rename from server/public/admin/assets/content-CgQTA2IB.js rename to server/public/admin/assets/content-C_MRybMI.js index d177d5c4..ae53cc37 100644 --- a/server/public/admin/assets/content-CgQTA2IB.js +++ b/server/public/admin/assets/content-C_MRybMI.js @@ -1 +1 @@ -import{_ as r}from"./index-E47--KT7.js";import{ak as p,I as i,J as o}from"./@vue/runtime-core-C6bnekPw.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./element-plus-0wC3naml.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const m="/admin/assets/default_avatar-C6VB7PGm.png",e={},s={class:"user-info flex items-center px-[25px]"};function a(n,t){return p(),i("div",s,[...t[0]||(t[0]=[o("img",{src:m,class:"w-[60px] h-[60px]",alt:""},null,-1),o("div",{class:"text-white text-[18px] ml-[10px]"},"未登录",-1)])])}const T=r(e,[["render",a],["__scopeId","data-v-4b1b613f"]]);export{T as default}; +import{_ as r}from"./index-DBREMm_z.js";import{ak as p,I as i,J as o}from"./@vue/runtime-core-C6bnekPw.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./element-plus-DFTWCWyi.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const m="/admin/assets/default_avatar-C6VB7PGm.png",e={},s={class:"user-info flex items-center px-[25px]"};function a(n,t){return p(),i("div",s,[...t[0]||(t[0]=[o("img",{src:m,class:"w-[60px] h-[60px]",alt:""},null,-1),o("div",{class:"text-white text-[18px] ml-[10px]"},"未登录",-1)])])}const T=r(e,[["render",a],["__scopeId","data-v-4b1b613f"]]);export{T as default}; diff --git a/server/public/admin/assets/content-Ba9eVUWZ.js b/server/public/admin/assets/content-Cko7KRov.js similarity index 86% rename from server/public/admin/assets/content-Ba9eVUWZ.js rename to server/public/admin/assets/content-Cko7KRov.js index e40c9a59..1f321aae 100644 --- a/server/public/admin/assets/content-Ba9eVUWZ.js +++ b/server/public/admin/assets/content-Cko7KRov.js @@ -1 +1 @@ -import{_ as o}from"./content.vue_vue_type_script_setup_true_lang-C4EWc4Ny.js";import"./decoration-img-CZl9mrsf.js";import"./element-plus-0wC3naml.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-E47--KT7.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";export{o as default}; +import{_ as o}from"./content.vue_vue_type_script_setup_true_lang-u1kTovEN.js";import"./decoration-img-CZLpkXPN.js";import"./element-plus-DFTWCWyi.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-DBREMm_z.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";export{o as default}; diff --git a/server/public/admin/assets/content-BcVLO4Yk.js b/server/public/admin/assets/content-D083YTRY.js similarity index 86% rename from server/public/admin/assets/content-BcVLO4Yk.js rename to server/public/admin/assets/content-D083YTRY.js index 5e3b9860..3f5756f0 100644 --- a/server/public/admin/assets/content-BcVLO4Yk.js +++ b/server/public/admin/assets/content-D083YTRY.js @@ -1 +1 @@ -import{_ as o}from"./content.vue_vue_type_script_setup_true_lang-CuEc-gLQ.js";import"./decoration-img-CZl9mrsf.js";import"./element-plus-0wC3naml.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-E47--KT7.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";export{o as default}; +import{_ as o}from"./content.vue_vue_type_script_setup_true_lang-DtEQqPIi.js";import"./decoration-img-CZLpkXPN.js";import"./element-plus-DFTWCWyi.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-DBREMm_z.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";export{o as default}; diff --git a/server/public/admin/assets/content-DoO11RHs.js b/server/public/admin/assets/content-DXKcrTu3.js similarity index 67% rename from server/public/admin/assets/content-DoO11RHs.js rename to server/public/admin/assets/content-DXKcrTu3.js index 5fc7f954..44b8fc87 100644 --- a/server/public/admin/assets/content-DoO11RHs.js +++ b/server/public/admin/assets/content-DXKcrTu3.js @@ -1 +1 @@ -import{_ as o}from"./content.vue_vue_type_script_setup_true_lang-hItYL1wr.js";import"./element-plus-0wC3naml.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-BHTgr4Ka.js";import"./index-E47--KT7.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./picker-B9b8bj5N.js";import"./index-nymJKQXP.js";import"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import"./article-DJnP6RZd.js";import"./usePaging-VsbTxSU0.js";import"./picker-DlbAZkDm.js";import"./index-B56X8bEB.js";import"./index-Ci4dcEQh.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-DoYUJmkp.js";import"./index.vue_vue_type_script_setup_true_lang-Bl0f8aX8.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";export{o as default}; +import{_ as o}from"./content.vue_vue_type_script_setup_true_lang-BK6uSq1e.js";import"./element-plus-DFTWCWyi.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-CbfZXeGu.js";import"./index-DBREMm_z.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./picker-DPnqJ8Gk.js";import"./index-BwF7vczx.js";import"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import"./article-BnVIxFkr.js";import"./usePaging-VsbTxSU0.js";import"./picker-BCRrEZaA.js";import"./index-BiPYXDtP.js";import"./index-CRoZWY-W.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-BimpIRb_.js";import"./index.vue_vue_type_script_setup_true_lang-x0oL2ShL.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";export{o as default}; diff --git a/server/public/admin/assets/content-Dyh_0iwA.js b/server/public/admin/assets/content-DblaaeJD.js similarity index 92% rename from server/public/admin/assets/content-Dyh_0iwA.js rename to server/public/admin/assets/content-DblaaeJD.js index f2313184..478fe4fd 100644 --- a/server/public/admin/assets/content-Dyh_0iwA.js +++ b/server/public/admin/assets/content-DblaaeJD.js @@ -1 +1 @@ -import{c,_ as n}from"./index-E47--KT7.js";import{g as l}from"./decoration-ChND9qat.js";import{f as d,ak as o,I as s,J as t,F as _,ap as x,H as f,a as u}from"./@vue/runtime-core-C6bnekPw.js";import{Q as i}from"./@vue/shared-mAAVTE9n.js";import{y as v,n as y}from"./@vue/reactivity-DiY1c2vO.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./lodash-D3kF6u-c.js";import"./element-plus-0wC3naml.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const w={class:"news"},b={key:0,class:"mr-[10px]"},g=["src"],h={class:"flex flex-col justify-between flex-1"},k={class:"text-[15px] font-medium line-clamp-2"},j={class:"line-clamp-1 text-sm mt-[8px]"},D={class:"text-[#999] text-xs w-full flex justify-between mt-[8px]"},V={class:"flex items-center"},B={class:"ml-[5px]"},N=d({__name:"content",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},setup(C){const r=y([]);return(async()=>{const p=await l({limit:10});r.value=p})(),(p,m)=>{const a=c;return o(),s("div",w,[m[0]||(m[0]=t("div",{class:"flex items-center news-title mx-[10px] my-[15px] text-[17px] font-medium"}," 最新资讯 ",-1)),(o(!0),s(_,null,x(v(r),e=>(o(),s("div",{key:e.id,class:"news-card flex bg-white px-[10px] py-[16px] text-[#333] border-[#f2f2f2] border-b"},[e.image?(o(),s("div",b,[t("img",{src:e.image,class:"w-[120px] h-[90px] object-contain"},null,8,g)])):f("",!0),t("div",h,[t("div",k,i(e.title),1),t("div",j,i(e.desc),1),t("div",D,[t("div",null,i(e.create_time),1),t("div",V,[u(a,{name:"el-icon-View"}),t("div",B,i(e.click),1)])])])]))),128))])}}}),ft=n(N,[["__scopeId","data-v-dba98882"]]);export{ft as default}; +import{c,_ as n}from"./index-DBREMm_z.js";import{g as l}from"./decoration-C799ML-U.js";import{f as d,ak as o,I as s,J as t,F as _,ap as x,H as f,a as u}from"./@vue/runtime-core-C6bnekPw.js";import{Q as i}from"./@vue/shared-mAAVTE9n.js";import{y as v,n as y}from"./@vue/reactivity-DiY1c2vO.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./lodash-D3kF6u-c.js";import"./element-plus-DFTWCWyi.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const w={class:"news"},b={key:0,class:"mr-[10px]"},g=["src"],h={class:"flex flex-col justify-between flex-1"},k={class:"text-[15px] font-medium line-clamp-2"},j={class:"line-clamp-1 text-sm mt-[8px]"},D={class:"text-[#999] text-xs w-full flex justify-between mt-[8px]"},V={class:"flex items-center"},B={class:"ml-[5px]"},N=d({__name:"content",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},setup(C){const r=y([]);return(async()=>{const p=await l({limit:10});r.value=p})(),(p,m)=>{const a=c;return o(),s("div",w,[m[0]||(m[0]=t("div",{class:"flex items-center news-title mx-[10px] my-[15px] text-[17px] font-medium"}," 最新资讯 ",-1)),(o(!0),s(_,null,x(v(r),e=>(o(),s("div",{key:e.id,class:"news-card flex bg-white px-[10px] py-[16px] text-[#333] border-[#f2f2f2] border-b"},[e.image?(o(),s("div",b,[t("img",{src:e.image,class:"w-[120px] h-[90px] object-contain"},null,8,g)])):f("",!0),t("div",h,[t("div",k,i(e.title),1),t("div",j,i(e.desc),1),t("div",D,[t("div",null,i(e.create_time),1),t("div",V,[u(a,{name:"el-icon-View"}),t("div",B,i(e.click),1)])])])]))),128))])}}}),ft=n(N,[["__scopeId","data-v-dba98882"]]);export{ft as default}; diff --git a/server/public/admin/assets/content-B6YfxEbd.js b/server/public/admin/assets/content-Dyki4H78.js similarity index 92% rename from server/public/admin/assets/content-B6YfxEbd.js rename to server/public/admin/assets/content-Dyki4H78.js index eb9eaa28..9b2ec4d2 100644 --- a/server/public/admin/assets/content-B6YfxEbd.js +++ b/server/public/admin/assets/content-Dyki4H78.js @@ -1 +1 @@ -import s from"./decoration-img-CZl9mrsf.js";import{f as p,ak as r,I as m,J as e,a as c,H as n,O as a,F as l}from"./@vue/runtime-core-C6bnekPw.js";import{Q as i}from"./@vue/shared-mAAVTE9n.js";import{_ as x}from"./index-E47--KT7.js";import"./element-plus-0wC3naml.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const d={class:"customer-service bg-white flex flex-col justify-center items-center mx-[18px] mt-[15px] rounded-[10px] px-[10px] pb-[50px]"},f={class:"w-full border-solid border-0 border-b border-[#f5f5f5] p-[15px] text-center text-[#101010] text-base font-medium"},u={class:"mt-[30px]"},b={key:0,class:"text-sm mt-[20px] font-medium"},h={key:1,class:"text-sm mt-[12px] flex flex-wrap"},w=["href"],v={key:2,class:"text-muted text-sm mt-[15px]"},y=p({__name:"content",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},setup(t){return(k,o)=>(r(),m(l,null,[o[0]||(o[0]=e("view",{class:"bg-white p-[15px] flex text-[#101010] font-medium text-lg"}," 联系我们 ",-1)),e("view",d,[e("view",f,i(t.content.title),1),e("view",u,[c(s,{width:"100px",height:"100px",src:t.content.qrcode,alt:""},null,8,["src"])]),t.content.remark?(r(),m("view",b,i(t.content.remark),1)):n("",!0),t.content.mobile?(r(),m("view",h,[e("a",{class:"ml-[5px] phone text-primary underline",href:"tel:"+t.content.mobile},i(t.content.mobile),9,w)])):n("",!0),t.content.time?(r(),m("view",v," 服务时间:"+i(t.content.time),1)):n("",!0)]),o[1]||(o[1]=a(" Î ",-1))],64))}}),nt=x(y,[["__scopeId","data-v-ed28524a"]]);export{nt as default}; +import s from"./decoration-img-CZLpkXPN.js";import{f as p,ak as r,I as m,J as e,a as c,H as n,O as a,F as l}from"./@vue/runtime-core-C6bnekPw.js";import{Q as i}from"./@vue/shared-mAAVTE9n.js";import{_ as x}from"./index-DBREMm_z.js";import"./element-plus-DFTWCWyi.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const d={class:"customer-service bg-white flex flex-col justify-center items-center mx-[18px] mt-[15px] rounded-[10px] px-[10px] pb-[50px]"},f={class:"w-full border-solid border-0 border-b border-[#f5f5f5] p-[15px] text-center text-[#101010] text-base font-medium"},u={class:"mt-[30px]"},b={key:0,class:"text-sm mt-[20px] font-medium"},h={key:1,class:"text-sm mt-[12px] flex flex-wrap"},w=["href"],v={key:2,class:"text-muted text-sm mt-[15px]"},y=p({__name:"content",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},setup(t){return(k,o)=>(r(),m(l,null,[o[0]||(o[0]=e("view",{class:"bg-white p-[15px] flex text-[#101010] font-medium text-lg"}," 联系我们 ",-1)),e("view",d,[e("view",f,i(t.content.title),1),e("view",u,[c(s,{width:"100px",height:"100px",src:t.content.qrcode,alt:""},null,8,["src"])]),t.content.remark?(r(),m("view",b,i(t.content.remark),1)):n("",!0),t.content.mobile?(r(),m("view",h,[e("a",{class:"ml-[5px] phone text-primary underline",href:"tel:"+t.content.mobile},i(t.content.mobile),9,w)])):n("",!0),t.content.time?(r(),m("view",v," 服务时间:"+i(t.content.time),1)):n("",!0)]),o[1]||(o[1]=a(" Î ",-1))],64))}}),nt=x(y,[["__scopeId","data-v-ed28524a"]]);export{nt as default}; diff --git a/server/public/admin/assets/content-B1b0mSAw.js b/server/public/admin/assets/content-PkioGtTh.js similarity index 90% rename from server/public/admin/assets/content-B1b0mSAw.js rename to server/public/admin/assets/content-PkioGtTh.js index 7ea2556a..88f994d3 100644 --- a/server/public/admin/assets/content-B1b0mSAw.js +++ b/server/public/admin/assets/content-PkioGtTh.js @@ -1 +1 @@ -import{_ as t}from"./index-E47--KT7.js";import{ak as o,I as r}from"./@vue/runtime-core-C6bnekPw.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./element-plus-0wC3naml.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const m={},i={class:"page-mate"};function p(e,c){return o(),r("div",i)}const S=t(m,[["render",p]]);export{S as default}; +import{_ as t}from"./index-DBREMm_z.js";import{ak as o,I as r}from"./@vue/runtime-core-C6bnekPw.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./element-plus-DFTWCWyi.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const m={},i={class:"page-mate"};function p(e,c){return o(),r("div",i)}const S=t(m,[["render",p]]);export{S as default}; diff --git a/server/public/admin/assets/content-Cj4lK4l8.js b/server/public/admin/assets/content-Sf3nxxVG.js similarity index 92% rename from server/public/admin/assets/content-Cj4lK4l8.js rename to server/public/admin/assets/content-Sf3nxxVG.js index 910895f1..6a857534 100644 --- a/server/public/admin/assets/content-Cj4lK4l8.js +++ b/server/public/admin/assets/content-Sf3nxxVG.js @@ -1 +1 @@ -import{c as y,_ as v}from"./index-E47--KT7.js";import d from"./decoration-img-CZl9mrsf.js";import{f as b,ak as t,I as e,J as i,H as m,F as x,ap as f,a as n,A as g}from"./@vue/runtime-core-C6bnekPw.js";import{Q as c}from"./@vue/shared-mAAVTE9n.js";import{y as u}from"./@vue/reactivity-DiY1c2vO.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./lodash-D3kF6u-c.js";import"./element-plus-0wC3naml.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const k={class:"my-service"},w={key:0,class:"title px-[15px] py-[10px]"},B={key:1,class:"flex flex-wrap pt-[20px] pb-[10px]"},I={class:"mt-[7px]"},N={key:2},V={class:"ml-[10px] flex-1"},j=b({__name:"content",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},setup(o){const _=o,a=g(()=>{var s;return((s=_.content.data)==null?void 0:s.filter(l=>l.is_show=="1"))||[]});return(s,l)=>{const h=y;return t(),e("div",k,[o.content.title?(t(),e("div",w,[i("div",null,c(o.content.title),1)])):m("",!0),o.content.style==1?(t(),e("div",B,[(t(!0),e(x,null,f(u(a),(r,p)=>(t(),e("div",{key:p,class:"flex flex-col items-center w-1/4 mb-[15px]"},[n(d,{width:"26px",height:"26px",src:r.image,alt:""},null,8,["src"]),i("div",I,c(r.name),1)]))),128))])):m("",!0),o.content.style==2?(t(),e("div",N,[(t(!0),e(x,null,f(u(a),(r,p)=>(t(),e("div",{key:p,class:"flex items-center border-b border-[#e5e5e5] h-[50px] px-[12px]"},[n(d,{width:"24px",height:"24px",src:r.image,alt:""},null,8,["src"]),i("div",V,c(r.name),1),i("div",null,[n(h,{name:"el-icon-ArrowRight"})])]))),128))])):m("",!0)])}}}),xt=v(j,[["__scopeId","data-v-2f09c27b"]]);export{xt as default}; +import{c as y,_ as v}from"./index-DBREMm_z.js";import d from"./decoration-img-CZLpkXPN.js";import{f as b,ak as t,I as e,J as i,H as m,F as x,ap as f,a as n,A as g}from"./@vue/runtime-core-C6bnekPw.js";import{Q as c}from"./@vue/shared-mAAVTE9n.js";import{y as u}from"./@vue/reactivity-DiY1c2vO.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./lodash-D3kF6u-c.js";import"./element-plus-DFTWCWyi.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const k={class:"my-service"},w={key:0,class:"title px-[15px] py-[10px]"},B={key:1,class:"flex flex-wrap pt-[20px] pb-[10px]"},I={class:"mt-[7px]"},N={key:2},V={class:"ml-[10px] flex-1"},j=b({__name:"content",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},setup(o){const _=o,a=g(()=>{var s;return((s=_.content.data)==null?void 0:s.filter(l=>l.is_show=="1"))||[]});return(s,l)=>{const h=y;return t(),e("div",k,[o.content.title?(t(),e("div",w,[i("div",null,c(o.content.title),1)])):m("",!0),o.content.style==1?(t(),e("div",B,[(t(!0),e(x,null,f(u(a),(r,p)=>(t(),e("div",{key:p,class:"flex flex-col items-center w-1/4 mb-[15px]"},[n(d,{width:"26px",height:"26px",src:r.image,alt:""},null,8,["src"]),i("div",I,c(r.name),1)]))),128))])):m("",!0),o.content.style==2?(t(),e("div",N,[(t(!0),e(x,null,f(u(a),(r,p)=>(t(),e("div",{key:p,class:"flex items-center border-b border-[#e5e5e5] h-[50px] px-[12px]"},[n(d,{width:"24px",height:"24px",src:r.image,alt:""},null,8,["src"]),i("div",V,c(r.name),1),i("div",null,[n(h,{name:"el-icon-ArrowRight"})])]))),128))])):m("",!0)])}}}),xt=v(j,[["__scopeId","data-v-2f09c27b"]]);export{xt as default}; diff --git a/server/public/admin/assets/content-Dt4NHJyv.js b/server/public/admin/assets/content-cVLu-KHW.js similarity index 93% rename from server/public/admin/assets/content-Dt4NHJyv.js rename to server/public/admin/assets/content-cVLu-KHW.js index f1fff9f4..a87a8f10 100644 --- a/server/public/admin/assets/content-Dt4NHJyv.js +++ b/server/public/admin/assets/content-cVLu-KHW.js @@ -1 +1 @@ -import c from"./decoration-img-CZl9mrsf.js";import{f as n,ak as r,I as o,F as l,ap as f,a as d,J as u,A as _}from"./@vue/runtime-core-C6bnekPw.js";import{p as x,Q as y}from"./@vue/shared-mAAVTE9n.js";import{y as b}from"./@vue/reactivity-DiY1c2vO.js";import{_ as h}from"./index-E47--KT7.js";import"./element-plus-0wC3naml.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const g={class:"tabbar flex"},v={class:"leading-3 text-[12px] mt-[4px]"},k=n({__name:"content",props:{style:{type:Object,default:()=>({})},list:{type:Array,default:()=>[]}},setup(e){const m=e,s=_(()=>{var t;return((t=m.list)==null?void 0:t.filter(i=>i.is_show==1))||[]});return(t,i)=>(r(),o("div",g,[(r(!0),o(l,null,f(b(s),(p,a)=>(r(),o("div",{key:a,class:"tabbar-item flex flex-col justify-center items-center flex-1",style:x({color:e.style.default_color})},[d(c,{width:"22px",height:"22px",src:p.unselected,fit:"cover"},null,8,["src"]),u("div",v,y(p.name),1)],4))),128))]))}}),st=h(k,[["__scopeId","data-v-0405bccb"]]);export{st as default}; +import c from"./decoration-img-CZLpkXPN.js";import{f as n,ak as r,I as o,F as l,ap as f,a as d,J as u,A as _}from"./@vue/runtime-core-C6bnekPw.js";import{p as x,Q as y}from"./@vue/shared-mAAVTE9n.js";import{y as b}from"./@vue/reactivity-DiY1c2vO.js";import{_ as h}from"./index-DBREMm_z.js";import"./element-plus-DFTWCWyi.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const g={class:"tabbar flex"},v={class:"leading-3 text-[12px] mt-[4px]"},k=n({__name:"content",props:{style:{type:Object,default:()=>({})},list:{type:Array,default:()=>[]}},setup(e){const m=e,s=_(()=>{var t;return((t=m.list)==null?void 0:t.filter(i=>i.is_show==1))||[]});return(t,i)=>(r(),o("div",g,[(r(!0),o(l,null,f(b(s),(p,a)=>(r(),o("div",{key:a,class:"tabbar-item flex flex-col justify-center items-center flex-1",style:x({color:e.style.default_color})},[d(c,{width:"22px",height:"22px",src:p.unselected,fit:"cover"},null,8,["src"]),u("div",v,y(p.name),1)],4))),128))]))}}),st=h(k,[["__scopeId","data-v-0405bccb"]]);export{st as default}; diff --git a/server/public/admin/assets/content-CfP4zJwT.js b/server/public/admin/assets/content-cljmXW2f.js similarity index 86% rename from server/public/admin/assets/content-CfP4zJwT.js rename to server/public/admin/assets/content-cljmXW2f.js index 2356b03f..0fac6d6a 100644 --- a/server/public/admin/assets/content-CfP4zJwT.js +++ b/server/public/admin/assets/content-cljmXW2f.js @@ -1 +1 @@ -import{_ as o}from"./content.vue_vue_type_script_setup_true_lang-zA2x9af7.js";import"./decoration-img-CZl9mrsf.js";import"./element-plus-0wC3naml.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-E47--KT7.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";export{o as default}; +import{_ as o}from"./content.vue_vue_type_script_setup_true_lang-uukcy-Ti.js";import"./decoration-img-CZLpkXPN.js";import"./element-plus-DFTWCWyi.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-DBREMm_z.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";export{o as default}; diff --git a/server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-CuEc-gLQ.js b/server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-B-SEL-YW.js similarity index 93% rename from server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-CuEc-gLQ.js rename to server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-B-SEL-YW.js index 06153333..014d9e3e 100644 --- a/server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-CuEc-gLQ.js +++ b/server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-B-SEL-YW.js @@ -1 +1 @@ -import p from"./decoration-img-CZl9mrsf.js";import{f as m,ak as a,I as n,J as r,F as d,ap as f,a as u,A as _}from"./@vue/runtime-core-C6bnekPw.js";import{Q as g,p as h}from"./@vue/shared-mAAVTE9n.js";import{y as x}from"./@vue/reactivity-DiY1c2vO.js";const y={class:"nav bg-white pt-[15px] pb-[8px]"},w={class:"mt-[7px]"},j=m({__name:"content",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},setup(o){const t=o,c=_(()=>{var s;return(((s=t.content.data)==null?void 0:s.filter(e=>e.is_show=="1"))||[]).slice(0,t.content.show_line*t.content.per_line)});return(i,s)=>(a(),n("div",y,[r("div",{class:"grid grid-rows-auto gap-y-3 w-full",style:h({"grid-template-columns":`repeat(${o.content.per_line}, 1fr)`})},[(a(!0),n(d,null,f(x(c),(e,l)=>(a(),n("div",{key:l,class:"flex flex-col items-center"},[u(p,{width:"41px",height:"41px",src:e.image,alt:""},null,8,["src"]),r("div",w,g(e.name),1)]))),128))],4)]))}});export{j as _}; +import p from"./decoration-img-CZLpkXPN.js";import{f as m,ak as a,I as n,J as r,F as d,ap as f,a as u,A as _}from"./@vue/runtime-core-C6bnekPw.js";import{Q as g,p as h}from"./@vue/shared-mAAVTE9n.js";import{y as x}from"./@vue/reactivity-DiY1c2vO.js";const y={class:"nav bg-white pt-[15px] pb-[8px]"},w={class:"mt-[7px]"},j=m({__name:"content",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},setup(o){const t=o,c=_(()=>{var s;return(((s=t.content.data)==null?void 0:s.filter(e=>e.is_show=="1"))||[]).slice(0,t.content.show_line*t.content.per_line)});return(i,s)=>(a(),n("div",y,[r("div",{class:"grid grid-rows-auto gap-y-3 w-full",style:h({"grid-template-columns":`repeat(${o.content.per_line}, 1fr)`})},[(a(!0),n(d,null,f(x(c),(e,l)=>(a(),n("div",{key:l,class:"flex flex-col items-center"},[u(p,{width:"41px",height:"41px",src:e.image,alt:""},null,8,["src"]),r("div",w,g(e.name),1)]))),128))],4)]))}});export{j as _}; diff --git a/server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-hItYL1wr.js b/server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-BK6uSq1e.js similarity index 86% rename from server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-hItYL1wr.js rename to server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-BK6uSq1e.js index 00d8dc9b..9db6ec80 100644 --- a/server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-hItYL1wr.js +++ b/server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-BK6uSq1e.js @@ -1 +1 @@ -import{K as U,s as j,i as O}from"./element-plus-0wC3naml.js";import{_ as R}from"./index-BHTgr4Ka.js";import{_ as S}from"./picker-B9b8bj5N.js";import{_ as $}from"./picker-DlbAZkDm.js";import{_ as A}from"./index-nymJKQXP.js";import{i as u}from"./index-E47--KT7.js";import{k as f}from"./lodash-es-C2A-Pj28.js";import{f as D,ak as r,G as g,aN as o,a as n,J as l,I as h,F,ap as q,O as G}from"./@vue/runtime-core-C6bnekPw.js";import{q as I}from"./@vue/reactivity-DiY1c2vO.js";const J={class:"flex flex-wrap p-4"},K={class:"bg-fill-light w-full p-4"},L={class:"flex items-center"},T={class:"mt-4 ml-4"},ee=D({__name:"content",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})},height:{type:String,default:"170px"}},emits:["update:content"],setup(d,{expose:x,emit:k}){const _=k,i=I(),a=d,y=()=>{var e;(e=i.value)==null||e.open()},b=()=>{var e;(e=i.value)==null||e.close()},w=()=>{var e;if(((e=a.content.data)==null?void 0:e.length)<10){const t=f(a.content);t.data.push({image:"",name:"",link:{}}),_("update:content",t)}else u.msgError("最多添加10张图片")},V=e=>{var s;if(((s=a.content.data)==null?void 0:s.length)<=1)return u.msgError("最少保留一个轮播图");const t=f(a.content);t.data.splice(e,1),_("update:content",t)};return x({open:y}),(e,t)=>{const s=U,v=$,C=S,E=R,B=O,N=j;return r(),g(A,{ref_key:"popupRef",ref:i,title:"轮播图设置",async:!0,width:"980px",onConfirm:b},{default:o(()=>[n(s,{title:"最多可添加10张,建议图片尺寸750px*440px",type:"warning"}),n(N,{height:"400px",class:"mt-4"},{default:o(()=>[l("div",J,[(r(!0),h(F,null,q(d.content.data,(p,m)=>(r(),h("div",{key:m,class:"w-[400px] mr-4 mb-4"},[(r(),g(E,{key:m,onClose:c=>V(m),class:"w-full"},{default:o(()=>[l("div",K,[l("div",L,[n(v,{width:"122px",height:"122px",modelValue:p.image,"onUpdate:modelValue":c=>p.image=c,"upload-class":"bg-body","exclude-domain":""},{upload:o(()=>[...t[0]||(t[0]=[l("div",{class:"w-[122px] h-[122px] flex justify-center items-center"}," 轮播图 ",-1)])]),_:1},8,["modelValue","onUpdate:modelValue"]),n(C,{modelValue:p.link,"onUpdate:modelValue":c=>p.link=c},null,8,["modelValue","onUpdate:modelValue"])])])]),_:2},1032,["onClose"]))]))),128))]),l("div",T,[n(B,{link:"",type:"primary",onClick:w},{default:o(()=>[...t[1]||(t[1]=[G("+ 添加轮播图",-1)])]),_:1})])]),_:1})]),_:1},512)}}});export{ee as _}; +import{K as U,s as j,i as O}from"./element-plus-DFTWCWyi.js";import{_ as R}from"./index-CbfZXeGu.js";import{_ as S}from"./picker-DPnqJ8Gk.js";import{_ as $}from"./picker-BCRrEZaA.js";import{_ as A}from"./index-BwF7vczx.js";import{i as u}from"./index-DBREMm_z.js";import{k as f}from"./lodash-es-C2A-Pj28.js";import{f as D,ak as r,G as g,aN as o,a as n,J as l,I as h,F,ap as q,O as G}from"./@vue/runtime-core-C6bnekPw.js";import{q as I}from"./@vue/reactivity-DiY1c2vO.js";const J={class:"flex flex-wrap p-4"},K={class:"bg-fill-light w-full p-4"},L={class:"flex items-center"},T={class:"mt-4 ml-4"},ee=D({__name:"content",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})},height:{type:String,default:"170px"}},emits:["update:content"],setup(d,{expose:x,emit:k}){const _=k,i=I(),a=d,y=()=>{var e;(e=i.value)==null||e.open()},b=()=>{var e;(e=i.value)==null||e.close()},w=()=>{var e;if(((e=a.content.data)==null?void 0:e.length)<10){const t=f(a.content);t.data.push({image:"",name:"",link:{}}),_("update:content",t)}else u.msgError("最多添加10张图片")},V=e=>{var s;if(((s=a.content.data)==null?void 0:s.length)<=1)return u.msgError("最少保留一个轮播图");const t=f(a.content);t.data.splice(e,1),_("update:content",t)};return x({open:y}),(e,t)=>{const s=U,v=$,C=S,E=R,B=O,N=j;return r(),g(A,{ref_key:"popupRef",ref:i,title:"轮播图设置",async:!0,width:"980px",onConfirm:b},{default:o(()=>[n(s,{title:"最多可添加10张,建议图片尺寸750px*440px",type:"warning"}),n(N,{height:"400px",class:"mt-4"},{default:o(()=>[l("div",J,[(r(!0),h(F,null,q(d.content.data,(p,m)=>(r(),h("div",{key:m,class:"w-[400px] mr-4 mb-4"},[(r(),g(E,{key:m,onClose:c=>V(m),class:"w-full"},{default:o(()=>[l("div",K,[l("div",L,[n(v,{width:"122px",height:"122px",modelValue:p.image,"onUpdate:modelValue":c=>p.image=c,"upload-class":"bg-body","exclude-domain":""},{upload:o(()=>[...t[0]||(t[0]=[l("div",{class:"w-[122px] h-[122px] flex justify-center items-center"}," 轮播图 ",-1)])]),_:1},8,["modelValue","onUpdate:modelValue"]),n(C,{modelValue:p.link,"onUpdate:modelValue":c=>p.link=c},null,8,["modelValue","onUpdate:modelValue"])])])]),_:2},1032,["onClose"]))]))),128))]),l("div",T,[n(B,{link:"",type:"primary",onClick:w},{default:o(()=>[...t[1]||(t[1]=[G("+ 添加轮播图",-1)])]),_:1})])]),_:1})]),_:1},512)}}});export{ee as _}; diff --git a/server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-zA2x9af7.js b/server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-DtEQqPIi.js similarity index 90% rename from server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-zA2x9af7.js rename to server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-DtEQqPIi.js index 7c441ca9..178e94c7 100644 --- a/server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-zA2x9af7.js +++ b/server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-DtEQqPIi.js @@ -1 +1 @@ -import c from"./decoration-img-CZl9mrsf.js";import{f as i,ak as m,I as p,J as l,a as u,A as s}from"./@vue/runtime-core-C6bnekPw.js";import{y as d}from"./@vue/reactivity-DiY1c2vO.js";const f={class:"banner mx-[10px] mt-[10px]"},_={class:"banner-image"},y=i({__name:"content",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},setup(n){const o=n,e=s(()=>{var t;return((t=o.content.data)==null?void 0:t.filter(a=>a.is_show=="1"))||[]}),r=s(()=>Array.isArray(e.value)&&e.value[0]?e.value[0].image:"");return(t,a)=>(m(),p("div",f,[l("div",_,[u(c,{width:"100%",height:"100px",src:d(r),fit:"contain"},null,8,["src"])])]))}});export{y as _}; +import c from"./decoration-img-CZLpkXPN.js";import{f as i,ak as m,I as p,J as l,a as u,A as s}from"./@vue/runtime-core-C6bnekPw.js";import{y as d}from"./@vue/reactivity-DiY1c2vO.js";const f={class:"banner mx-[10px] mt-[10px]"},_={class:"banner-image"},y=i({__name:"content",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})}},setup(n){const o=n,e=s(()=>{var t;return((t=o.content.data)==null?void 0:t.filter(a=>a.is_show=="1"))||[]}),r=s(()=>Array.isArray(e.value)&&e.value[0]?e.value[0].image:"");return(t,a)=>(m(),p("div",f,[l("div",_,[u(c,{width:"100%",height:"100px",src:d(r),fit:"contain"},null,8,["src"])])]))}});export{y as _}; diff --git a/server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-B9VzIZnv.js b/server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-u1kTovEN.js similarity index 91% rename from server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-B9VzIZnv.js rename to server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-u1kTovEN.js index 44368ded..10850af8 100644 --- a/server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-B9VzIZnv.js +++ b/server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-u1kTovEN.js @@ -1 +1 @@ -import c from"./decoration-img-CZl9mrsf.js";import{f as i,ak as l,I as m,J as u,a as f,A as r}from"./@vue/runtime-core-C6bnekPw.js";import{y as h}from"./@vue/reactivity-DiY1c2vO.js";import{p}from"./@vue/shared-mAAVTE9n.js";const d={class:"banner-image w-full h-full"},w=i({__name:"content",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})},height:{type:String,default:"170px"}},setup(e){const s=e,t=r(()=>{var a;return((a=s.content.data)==null?void 0:a.filter(n=>n.is_show=="1"))||[]}),o=r(()=>Array.isArray(t.value)&&t.value[0]?t.value[0].image:"");return(a,n)=>(l(),m("div",{class:"banner",style:p(e.styles)},[u("div",d,[f(c,{width:"100%",height:e.content.style==1?e.height:"550px",src:h(o),fit:"contain"},null,8,["height","src"])])],4))}});export{w as _}; +import c from"./decoration-img-CZLpkXPN.js";import{f as i,ak as l,I as m,J as u,a as f,A as r}from"./@vue/runtime-core-C6bnekPw.js";import{y as h}from"./@vue/reactivity-DiY1c2vO.js";import{p}from"./@vue/shared-mAAVTE9n.js";const d={class:"banner-image w-full h-full"},w=i({__name:"content",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})},height:{type:String,default:"170px"}},setup(e){const s=e,t=r(()=>{var a;return((a=s.content.data)==null?void 0:a.filter(n=>n.is_show=="1"))||[]}),o=r(()=>Array.isArray(t.value)&&t.value[0]?t.value[0].image:"");return(a,n)=>(l(),m("div",{class:"banner",style:p(e.styles)},[u("div",d,[f(c,{width:"100%",height:e.content.style==1?e.height:"550px",src:h(o),fit:"contain"},null,8,["height","src"])])],4))}});export{w as _}; diff --git a/server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-C4EWc4Ny.js b/server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-uukcy-Ti.js similarity index 91% rename from server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-C4EWc4Ny.js rename to server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-uukcy-Ti.js index b6889103..1790a6ed 100644 --- a/server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-C4EWc4Ny.js +++ b/server/public/admin/assets/content.vue_vue_type_script_setup_true_lang-uukcy-Ti.js @@ -1 +1 @@ -import i from"./decoration-img-CZl9mrsf.js";import{f as c,ak as l,I as m,J as u,a as f,A as n}from"./@vue/runtime-core-C6bnekPw.js";import{y as h}from"./@vue/reactivity-DiY1c2vO.js";import{p as d}from"./@vue/shared-mAAVTE9n.js";const p={class:"banner-image w-full h-full"},w=c({__name:"content",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})},height:{type:String,default:"96px"}},setup(e){const r=e,t=n(()=>{var a;return((a=r.content.data)==null?void 0:a.filter(s=>s.is_show=="1"))||[]}),o=n(()=>Array.isArray(t.value)&&t.value[0]?t.value[0].image:"");return(a,s)=>(l(),m("div",{class:"banner",style:d(e.styles)},[u("div",p,[f(i,{width:"100%",height:e.styles.height||e.height,src:h(o),fit:"contain"},null,8,["height","src"])])],4))}});export{w as _}; +import i from"./decoration-img-CZLpkXPN.js";import{f as c,ak as l,I as m,J as u,a as f,A as n}from"./@vue/runtime-core-C6bnekPw.js";import{y as h}from"./@vue/reactivity-DiY1c2vO.js";import{p as d}from"./@vue/shared-mAAVTE9n.js";const p={class:"banner-image w-full h-full"},w=c({__name:"content",props:{content:{type:Object,default:()=>({})},styles:{type:Object,default:()=>({})},height:{type:String,default:"96px"}},setup(e){const r=e,t=n(()=>{var a;return((a=r.content.data)==null?void 0:a.filter(s=>s.is_show=="1"))||[]}),o=n(()=>Array.isArray(t.value)&&t.value[0]?t.value[0].image:"");return(a,s)=>(l(),m("div",{class:"banner",style:d(e.styles)},[u("div",p,[f(i,{width:"100%",height:e.styles.height||e.height,src:h(o),fit:"contain"},null,8,["height","src"])])],4))}});export{w as _}; diff --git a/server/public/admin/assets/data-table-Bk1rmEww.js b/server/public/admin/assets/data-table-CRN3dt_k.js similarity index 83% rename from server/public/admin/assets/data-table-Bk1rmEww.js rename to server/public/admin/assets/data-table-CRN3dt_k.js index 6d8306b0..17a79951 100644 --- a/server/public/admin/assets/data-table-Bk1rmEww.js +++ b/server/public/admin/assets/data-table-CRN3dt_k.js @@ -1 +1 @@ -import{_ as o}from"./data-table.vue_vue_type_script_setup_true_lang-Bt3AQScq.js";import"./element-plus-0wC3naml.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./code-DY1HVNqE.js";import"./index-E47--KT7.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import"./index-nymJKQXP.js";import"./usePaging-VsbTxSU0.js";export{o as default}; +import{_ as o}from"./data-table.vue_vue_type_script_setup_true_lang-CfariYw3.js";import"./element-plus-DFTWCWyi.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./code-UKo2HpQE.js";import"./index-DBREMm_z.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import"./index-BwF7vczx.js";import"./usePaging-VsbTxSU0.js";export{o as default}; diff --git a/server/public/admin/assets/data-table.vue_vue_type_script_setup_true_lang-Bt3AQScq.js b/server/public/admin/assets/data-table.vue_vue_type_script_setup_true_lang-CfariYw3.js similarity index 87% rename from server/public/admin/assets/data-table.vue_vue_type_script_setup_true_lang-Bt3AQScq.js rename to server/public/admin/assets/data-table.vue_vue_type_script_setup_true_lang-CfariYw3.js index 35ffd550..584e3fb1 100644 --- a/server/public/admin/assets/data-table.vue_vue_type_script_setup_true_lang-Bt3AQScq.js +++ b/server/public/admin/assets/data-table.vue_vue_type_script_setup_true_lang-CfariYw3.js @@ -1 +1 @@ -import{D as K,B as N,C as T,i as D,M as P,N as R,L as F}from"./element-plus-0wC3naml.js";import{w as b}from"./@vue/runtime-dom-DDAG46FW.js";import{f as I,h as L}from"./code-DY1HVNqE.js";import{_ as S}from"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import{_ as U}from"./index-nymJKQXP.js";import{u as q}from"./usePaging-VsbTxSU0.js";import{i as z}from"./index-E47--KT7.js";import{f as M,w as $,ak as g,I as h,a as e,aN as l,O as w,aP as j,J,aq as O}from"./@vue/runtime-core-C6bnekPw.js";import{y as a,a as A,q as G,r as H,n as Q}from"./@vue/reactivity-DiY1c2vO.js";const W={class:"data-table"},X={class:"m-4"},Y={class:"flex justify-end mt-4"},re=M({__name:"data-table",emits:["success"],setup(Z,{emit:C}){const v=C,u=G(),n=H({name:"",comment:""}),{pager:s,getLists:f,resetParams:y,resetPage:c}=q({fetchFun:I,params:n,size:10}),d=Q([]),V=o=>{d.value=o.map(({name:t,comment:i})=>({name:t,comment:i}))},k=async()=>{var o;if(!d.value.length)return z.msgError("请选择数据表");await L({table:d.value}),(o=u.value)==null||o.close(),v("success")};return $(()=>{var o;return(o=u.value)==null?void 0:o.visible},o=>{o&&f()}),(o,t)=>{const i=T,p=N,_=D,E=K,r=R,x=P,B=F;return g(),h("div",W,[e(U,{ref_key:"popupRef",ref:u,clickModalClose:!1,title:"选择表",width:"900px",async:!0,onConfirm:k},{trigger:l(()=>[O(o.$slots,"default")]),default:l(()=>[e(E,{class:"ls-form",model:a(n),inline:""},{default:l(()=>[e(p,{class:"w-[280px]",label:"表名称"},{default:l(()=>[e(i,{modelValue:a(n).name,"onUpdate:modelValue":t[0]||(t[0]=m=>a(n).name=m),clearable:"",onKeyup:b(a(c),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(p,{class:"w-[280px]",label:"表描述"},{default:l(()=>[e(i,{modelValue:a(n).comment,"onUpdate:modelValue":t[1]||(t[1]=m=>a(n).comment=m),clearable:"",onKeyup:b(a(c),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(p,null,{default:l(()=>[e(_,{type:"primary",onClick:a(c)},{default:l(()=>[...t[3]||(t[3]=[w("查询",-1)])]),_:1},8,["onClick"]),e(_,{onClick:a(y)},{default:l(()=>[...t[4]||(t[4]=[w("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"]),j((g(),h("div",X,[e(x,{height:"400",size:"large",data:a(s).lists,onSelectionChange:V},{default:l(()=>[e(r,{type:"selection",width:"55"}),e(r,{label:"表名称",prop:"name","min-width":"150"}),e(r,{label:"表描述",prop:"comment","min-width":"160"}),e(r,{label:"创建时间",prop:"create_time","min-width":"180"})]),_:1},8,["data"])])),[[B,a(s).loading]]),J("div",Y,[e(S,{modelValue:a(s),"onUpdate:modelValue":t[2]||(t[2]=m=>A(s)?s.value=m:null),onChange:a(f)},null,8,["modelValue","onChange"])])]),_:3},512)])}}});export{re as _}; +import{D as K,B as N,C as T,i as D,M as P,N as R,L as F}from"./element-plus-DFTWCWyi.js";import{w as b}from"./@vue/runtime-dom-DDAG46FW.js";import{f as I,h as L}from"./code-UKo2HpQE.js";import{_ as S}from"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import{_ as U}from"./index-BwF7vczx.js";import{u as q}from"./usePaging-VsbTxSU0.js";import{i as z}from"./index-DBREMm_z.js";import{f as M,w as $,ak as g,I as h,a as e,aN as l,O as w,aP as j,J,aq as O}from"./@vue/runtime-core-C6bnekPw.js";import{y as a,a as A,q as G,r as H,n as Q}from"./@vue/reactivity-DiY1c2vO.js";const W={class:"data-table"},X={class:"m-4"},Y={class:"flex justify-end mt-4"},re=M({__name:"data-table",emits:["success"],setup(Z,{emit:C}){const v=C,u=G(),n=H({name:"",comment:""}),{pager:s,getLists:f,resetParams:y,resetPage:c}=q({fetchFun:I,params:n,size:10}),d=Q([]),V=o=>{d.value=o.map(({name:t,comment:i})=>({name:t,comment:i}))},k=async()=>{var o;if(!d.value.length)return z.msgError("请选择数据表");await L({table:d.value}),(o=u.value)==null||o.close(),v("success")};return $(()=>{var o;return(o=u.value)==null?void 0:o.visible},o=>{o&&f()}),(o,t)=>{const i=T,p=N,_=D,E=K,r=R,x=P,B=F;return g(),h("div",W,[e(U,{ref_key:"popupRef",ref:u,clickModalClose:!1,title:"选择表",width:"900px",async:!0,onConfirm:k},{trigger:l(()=>[O(o.$slots,"default")]),default:l(()=>[e(E,{class:"ls-form",model:a(n),inline:""},{default:l(()=>[e(p,{class:"w-[280px]",label:"表名称"},{default:l(()=>[e(i,{modelValue:a(n).name,"onUpdate:modelValue":t[0]||(t[0]=m=>a(n).name=m),clearable:"",onKeyup:b(a(c),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(p,{class:"w-[280px]",label:"表描述"},{default:l(()=>[e(i,{modelValue:a(n).comment,"onUpdate:modelValue":t[1]||(t[1]=m=>a(n).comment=m),clearable:"",onKeyup:b(a(c),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(p,null,{default:l(()=>[e(_,{type:"primary",onClick:a(c)},{default:l(()=>[...t[3]||(t[3]=[w("查询",-1)])]),_:1},8,["onClick"]),e(_,{onClick:a(y)},{default:l(()=>[...t[4]||(t[4]=[w("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"]),j((g(),h("div",X,[e(x,{height:"400",size:"large",data:a(s).lists,onSelectionChange:V},{default:l(()=>[e(r,{type:"selection",width:"55"}),e(r,{label:"表名称",prop:"name","min-width":"150"}),e(r,{label:"表描述",prop:"comment","min-width":"160"}),e(r,{label:"创建时间",prop:"create_time","min-width":"180"})]),_:1},8,["data"])])),[[B,a(s).loading]]),J("div",Y,[e(S,{modelValue:a(s),"onUpdate:modelValue":t[2]||(t[2]=m=>A(s)?s.value=m:null),onChange:a(f)},null,8,["modelValue","onChange"])])]),_:3},512)])}}});export{re as _}; diff --git a/server/public/admin/assets/decoration-ChND9qat.js b/server/public/admin/assets/decoration-C799ML-U.js similarity index 87% rename from server/public/admin/assets/decoration-ChND9qat.js rename to server/public/admin/assets/decoration-C799ML-U.js index 8f932349..b0e151eb 100644 --- a/server/public/admin/assets/decoration-ChND9qat.js +++ b/server/public/admin/assets/decoration-C799ML-U.js @@ -1 +1 @@ -import{r as t}from"./index-E47--KT7.js";function a(e){return t.get({url:"/decorate.page/detail",params:e},{ignoreCancelToken:!0})}function o(e){return t.post({url:"/decorate.page/save",params:e})}function c(e){return t.get({url:"/decorate.data/article",params:e})}function n(e){return t.get({url:"/decorate.tabbar/detail",params:e})}function u(e){return t.post({url:"/decorate.tabbar/save",params:e})}function s(){return t.get({url:"/decorate.data/pc"})}export{a,s as b,n as c,u as d,c as g,o as s}; +import{r as t}from"./index-DBREMm_z.js";function a(e){return t.get({url:"/decorate.page/detail",params:e},{ignoreCancelToken:!0})}function o(e){return t.post({url:"/decorate.page/save",params:e})}function c(e){return t.get({url:"/decorate.data/article",params:e})}function n(e){return t.get({url:"/decorate.tabbar/detail",params:e})}function u(e){return t.post({url:"/decorate.tabbar/save",params:e})}function s(){return t.get({url:"/decorate.data/pc"})}export{a,s as b,n as c,u as d,c as g,o as s}; diff --git a/server/public/admin/assets/decoration-img-CZl9mrsf.js b/server/public/admin/assets/decoration-img-CZLpkXPN.js similarity index 93% rename from server/public/admin/assets/decoration-img-CZl9mrsf.js rename to server/public/admin/assets/decoration-img-CZLpkXPN.js index 12bd2781..1783f114 100644 --- a/server/public/admin/assets/decoration-img-CZl9mrsf.js +++ b/server/public/admin/assets/decoration-img-CZLpkXPN.js @@ -1 +1 @@ -import{t as d,v as l}from"./element-plus-0wC3naml.js";import{e as u,c as _,o,_ as g}from"./index-E47--KT7.js";import{f,ak as h,G as y,aN as i,J as e,a as N,ab as b,A as v}from"./@vue/runtime-core-C6bnekPw.js";import{y as w}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const I={class:"image-slot"},S=f({__name:"decoration-img",props:{width:{type:[String,Number],default:"auto"},height:{type:[String,Number],default:"auto"},radius:{type:[String,Number],default:0},...d},setup(m){const t=m,{getImageUrl:p}=u(),s=v(()=>({width:o(t.width),height:o(t.height),borderRadius:o(t.radius)}));return(a,r)=>{const n=_,c=l;return h(),y(c,b({style:s.value},t,{src:w(p)(a.src)}),{placeholder:i(()=>[...r[0]||(r[0]=[e("div",{class:"image-slot"},null,-1)])]),error:i(()=>[e("div",I,[N(n,{name:"el-icon-Picture",size:30})])]),_:1},16,["style","src"])}}}),at=g(S,[["__scopeId","data-v-5e0890d2"]]);export{at as default}; +import{t as d,v as l}from"./element-plus-DFTWCWyi.js";import{e as u,c as _,o,_ as g}from"./index-DBREMm_z.js";import{f,ak as h,G as y,aN as i,J as e,a as N,ab as b,A as v}from"./@vue/runtime-core-C6bnekPw.js";import{y as w}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const I={class:"image-slot"},S=f({__name:"decoration-img",props:{width:{type:[String,Number],default:"auto"},height:{type:[String,Number],default:"auto"},radius:{type:[String,Number],default:0},...d},setup(m){const t=m,{getImageUrl:p}=u(),s=v(()=>({width:o(t.width),height:o(t.height),borderRadius:o(t.radius)}));return(a,r)=>{const n=_,c=l;return h(),y(c,b({style:s.value},t,{src:w(p)(a.src)}),{placeholder:i(()=>[...r[0]||(r[0]=[e("div",{class:"image-slot"},null,-1)])]),error:i(()=>[e("div",I,[N(n,{name:"el-icon-Picture",size:30})])]),_:1},16,["style","src"])}}}),at=g(S,[["__scopeId","data-v-5e0890d2"]]);export{at as default}; diff --git a/server/public/admin/assets/default_reply-BLLS8q8G.js b/server/public/admin/assets/default_reply-Dl6lTkU1.js similarity index 90% rename from server/public/admin/assets/default_reply-BLLS8q8G.js rename to server/public/admin/assets/default_reply-Dl6lTkU1.js index f63774b8..07ebc8a5 100644 --- a/server/public/admin/assets/default_reply-BLLS8q8G.js +++ b/server/public/admin/assets/default_reply-Dl6lTkU1.js @@ -1 +1 @@ -import{K as B,J as D,i as T,M as L,N as A,g as O,L as P}from"./element-plus-0wC3naml.js";import{_ as U}from"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import{c as J,i as v}from"./index-E47--KT7.js";import{d as j,o as q,e as z}from"./wx_oa-CMZpCm8a.js";import{u as F}from"./usePaging-VsbTxSU0.js";import{_ as G}from"./edit.vue_vue_type_script_setup_true_lang-BsajSW9y.js";import{f as H,ak as f,I,a as e,aN as n,J as y,O as u,aP as K,G as w,H as M,A as Q,n as h}from"./@vue/runtime-core-C6bnekPw.js";import{y as i,a as W,q as X,n as Y}from"./@vue/reactivity-DiY1c2vO.js";import{Q as Z}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-nymJKQXP.js";const tt={class:"flex justify-end mt-4"},Gt=H({__name:"default_reply",setup(et){const m=X(),p=Y(!1),b=Q(()=>a=>{switch(a){case 1:return"文本"}}),{pager:r,getLists:l}=F({fetchFun:j,params:{reply_type:3}}),C=async()=>{var a;p.value=!0,await h(),(a=m.value)==null||a.open("add",3)},k=async a=>{var t,d;p.value=!0,await h(),(t=m.value)==null||t.open("edit",3),(d=m.value)==null||d.getDetail(a)},V=async a=>{await v.confirm("确定要删除?"),await q({id:a}),v.msgSuccess("删除成功"),l()},E=async a=>{try{await z({id:a}),l()}catch{l()}};return l(),(a,t)=>{const d=B,g=D,$=J,_=T,s=A,x=O,R=L,S=U,N=P;return f(),I("div",null,[e(g,{class:"!border-none",shadow:"never"},{default:n(()=>[e(d,{type:"warning",title:"温馨提示:1.粉丝在公众号发送内容时,系统无法匹配情况下发送启用的默认文本回复;2.同时只能启用一个默认回复。",closable:!1,"show-icon":""})]),_:1}),e(g,{class:"!border-none mt-4",shadow:"never"},{default:n(()=>[y("div",null,[e(_,{class:"mb-4",type:"primary",onClick:t[0]||(t[0]=o=>C())},{icon:n(()=>[e($,{name:"el-icon-Plus"})]),default:n(()=>[t[3]||(t[3]=u(" 新增 ",-1))]),_:1})]),K((f(),w(R,{size:"large",data:i(r).lists},{default:n(()=>[e(s,{label:"规则名称",prop:"name","min-width":"120"}),e(s,{label:"回复类型","min-width":"120"},{default:n(({row:o})=>[u(Z(i(b)(o.content_type)),1)]),_:1}),e(s,{label:"回复内容",prop:"content","min-width":"120"}),e(s,{label:"状态","min-width":"120"},{default:n(({row:o})=>[e(x,{modelValue:o.status,"onUpdate:modelValue":c=>o.status=c,"active-value":1,"inactive-value":0,onChange:c=>E(o.id)},null,8,["modelValue","onUpdate:modelValue","onChange"])]),_:1}),e(s,{label:"排序",prop:"sort","min-width":"120"}),e(s,{label:"操作",width:"120",fixed:"right"},{default:n(({row:o})=>[e(_,{type:"primary",link:"",onClick:c=>k(o)},{default:n(()=>[...t[4]||(t[4]=[u(" 编辑 ",-1)])]),_:1},8,["onClick"]),e(_,{type:"danger",link:"",onClick:c=>V(o.id)},{default:n(()=>[...t[5]||(t[5]=[u(" 删除 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[N,i(r).loading]]),y("div",tt,[e(S,{modelValue:i(r),"onUpdate:modelValue":t[1]||(t[1]=o=>W(r)?r.value=o:null),onChange:i(l)},null,8,["modelValue","onChange"])])]),_:1}),i(p)?(f(),w(G,{key:0,ref_key:"editRef",ref:m,onSuccess:i(l),onClose:t[2]||(t[2]=o=>p.value=!1)},null,8,["onSuccess"])):M("",!0)])}}});export{Gt as default}; +import{K as B,J as D,i as T,M as L,N as A,g as O,L as P}from"./element-plus-DFTWCWyi.js";import{_ as U}from"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import{c as J,i as v}from"./index-DBREMm_z.js";import{d as j,o as q,e as z}from"./wx_oa-sVQft6O9.js";import{u as F}from"./usePaging-VsbTxSU0.js";import{_ as G}from"./edit.vue_vue_type_script_setup_true_lang-W1DUlHN3.js";import{f as H,ak as f,I,a as e,aN as n,J as y,O as u,aP as K,G as w,H as M,A as Q,n as h}from"./@vue/runtime-core-C6bnekPw.js";import{y as i,a as W,q as X,n as Y}from"./@vue/reactivity-DiY1c2vO.js";import{Q as Z}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-BwF7vczx.js";const tt={class:"flex justify-end mt-4"},Gt=H({__name:"default_reply",setup(et){const m=X(),p=Y(!1),b=Q(()=>a=>{switch(a){case 1:return"文本"}}),{pager:r,getLists:l}=F({fetchFun:j,params:{reply_type:3}}),C=async()=>{var a;p.value=!0,await h(),(a=m.value)==null||a.open("add",3)},k=async a=>{var t,d;p.value=!0,await h(),(t=m.value)==null||t.open("edit",3),(d=m.value)==null||d.getDetail(a)},V=async a=>{await v.confirm("确定要删除?"),await q({id:a}),v.msgSuccess("删除成功"),l()},E=async a=>{try{await z({id:a}),l()}catch{l()}};return l(),(a,t)=>{const d=B,g=D,$=J,_=T,s=A,x=O,R=L,S=U,N=P;return f(),I("div",null,[e(g,{class:"!border-none",shadow:"never"},{default:n(()=>[e(d,{type:"warning",title:"温馨提示:1.粉丝在公众号发送内容时,系统无法匹配情况下发送启用的默认文本回复;2.同时只能启用一个默认回复。",closable:!1,"show-icon":""})]),_:1}),e(g,{class:"!border-none mt-4",shadow:"never"},{default:n(()=>[y("div",null,[e(_,{class:"mb-4",type:"primary",onClick:t[0]||(t[0]=o=>C())},{icon:n(()=>[e($,{name:"el-icon-Plus"})]),default:n(()=>[t[3]||(t[3]=u(" 新增 ",-1))]),_:1})]),K((f(),w(R,{size:"large",data:i(r).lists},{default:n(()=>[e(s,{label:"规则名称",prop:"name","min-width":"120"}),e(s,{label:"回复类型","min-width":"120"},{default:n(({row:o})=>[u(Z(i(b)(o.content_type)),1)]),_:1}),e(s,{label:"回复内容",prop:"content","min-width":"120"}),e(s,{label:"状态","min-width":"120"},{default:n(({row:o})=>[e(x,{modelValue:o.status,"onUpdate:modelValue":c=>o.status=c,"active-value":1,"inactive-value":0,onChange:c=>E(o.id)},null,8,["modelValue","onUpdate:modelValue","onChange"])]),_:1}),e(s,{label:"排序",prop:"sort","min-width":"120"}),e(s,{label:"操作",width:"120",fixed:"right"},{default:n(({row:o})=>[e(_,{type:"primary",link:"",onClick:c=>k(o)},{default:n(()=>[...t[4]||(t[4]=[u(" 编辑 ",-1)])]),_:1},8,["onClick"]),e(_,{type:"danger",link:"",onClick:c=>V(o.id)},{default:n(()=>[...t[5]||(t[5]=[u(" 删除 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[N,i(r).loading]]),y("div",tt,[e(S,{modelValue:i(r),"onUpdate:modelValue":t[1]||(t[1]=o=>W(r)?r.value=o:null),onChange:i(l)},null,8,["modelValue","onChange"])])]),_:1}),i(p)?(f(),w(G,{key:0,ref_key:"editRef",ref:m,onSuccess:i(l),onClose:t[2]||(t[2]=o=>p.value=!1)},null,8,["onSuccess"])):M("",!0)])}}});export{Gt as default}; diff --git a/server/public/admin/assets/department-4lF54x8w.js b/server/public/admin/assets/department-CrUndMAW.js similarity index 86% rename from server/public/admin/assets/department-4lF54x8w.js rename to server/public/admin/assets/department-CrUndMAW.js index 394ab131..cc53b648 100644 --- a/server/public/admin/assets/department-4lF54x8w.js +++ b/server/public/admin/assets/department-CrUndMAW.js @@ -1 +1 @@ -import{r as e}from"./index-E47--KT7.js";function p(t){return e.get({url:"/dept.dept/lists",params:t})}function r(t){return e.post({url:"/dept.dept/add",params:t})}function u(t){return e.post({url:"/dept.dept/edit",params:t})}function n(t){return e.post({url:"/dept.dept/delete",params:t})}function l(t){return e.get({url:"/dept.dept/detail",params:t})}function s(t){return e.get({url:"/dept.dept/all",params:t})}export{u as a,r as b,l as c,s as d,p as e,n as f}; +import{r as e}from"./index-DBREMm_z.js";function p(t){return e.get({url:"/dept.dept/lists",params:t})}function r(t){return e.post({url:"/dept.dept/add",params:t})}function u(t){return e.post({url:"/dept.dept/edit",params:t})}function n(t){return e.post({url:"/dept.dept/delete",params:t})}function l(t){return e.get({url:"/dept.dept/detail",params:t})}function s(t){return e.get({url:"/dept.dept/all",params:t})}export{u as a,r as b,l as c,s as d,p as e,n as f}; diff --git a/server/public/admin/assets/dept-tongji-BJuS-9pm.js b/server/public/admin/assets/dept-tongji-BDo1JncR.js similarity index 97% rename from server/public/admin/assets/dept-tongji-BJuS-9pm.js rename to server/public/admin/assets/dept-tongji-BDo1JncR.js index c5a178b1..ffa97d37 100644 --- a/server/public/admin/assets/dept-tongji-BJuS-9pm.js +++ b/server/public/admin/assets/dept-tongji-BDo1JncR.js @@ -1 +1 @@ -import{D as P,B as S,P as Y,Q as G,G as I,F as U,a2 as j,i as J,J as O,L as Q,M as q,N as H,T as W,R as A,E as K}from"./element-plus-0wC3naml.js";import{a as X,b as Z}from"./doctor-6V0qM7Ks.js";import{f as $,b as tt,ak as d,I as y,a as e,aN as a,F as et,ap as at,G as k,O as i,H as ot,J as c,aP as lt}from"./@vue/runtime-core-C6bnekPw.js";import{Q as _}from"./@vue/shared-mAAVTE9n.js";import{n as g,r as st}from"./@vue/reactivity-DiY1c2vO.js";import{_ as it}from"./index-E47--KT7.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const nt={class:"dept-statistics-page"},rt={key:0},dt={class:"status-overview"},mt={class:"status-tags"},pt={key:1,class:"empty-data"},ct=$({__name:"dept-tongji",setup(_t){const u=g(!1),V=g([]),v=g([]),r=g([]),s=st({dept_id:"",time_type:"today",start_date:"",end_date:""}),D=async()=>{try{const l=await X(),t=h=>{let m=[];return h.forEach(n=>{m.push({id:n.id,name:n.name}),n.children&&n.children.length>0&&(m=m.concat(t(n.children)))}),m};V.value=t(l)||[]}catch(l){console.error("获取部门列表失败:",l)}},b=async()=>{u.value=!0;try{const l={time_type:s.time_type};s.dept_id&&(l.dept_id=s.dept_id),s.time_type==="custom"&&r.value&&r.value.length===2&&(l.start_date=r.value[0],l.end_date=r.value[1]);const t=await Z(l);v.value=t.lists||[]}catch(l){console.error("获取统计数据错误:",l),K.error(l.msg||"获取统计数据失败")}finally{u.value=!1}},T=()=>{s.time_type!=="custom"&&(r.value=[])},x=()=>{s.dept_id="",s.time_type="today",r.value=[],b()},B=l=>l>=80?"success":l>=60?"primary":"warning";return tt(()=>{D(),b()}),(l,t)=>{const h=G,m=Y,n=S,f=U,L=I,z=j,w=J,N=P,C=O,E=H,p=W,R=q,F=A,M=Q;return d(),y("div",nt,[e(C,{class:"mb-4",shadow:"hover"},{header:a(()=>[...t[3]||(t[3]=[c("div",{class:"card-header"},[c("span",{class:"card-title"},"筛选条件")],-1)])]),default:a(()=>[e(N,{inline:!0,model:s,class:"filter-form"},{default:a(()=>[e(n,{label:"部门"},{default:a(()=>[e(m,{modelValue:s.dept_id,"onUpdate:modelValue":t[0]||(t[0]=o=>s.dept_id=o),placeholder:"全部部门",clearable:"",filterable:"",style:{width:"200px"}},{default:a(()=>[(d(!0),y(et,null,at(V.value,o=>(d(),k(h,{key:o.id,label:o.name,value:o.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),e(n,{label:"时间范围"},{default:a(()=>[e(L,{modelValue:s.time_type,"onUpdate:modelValue":t[1]||(t[1]=o=>s.time_type=o),onChange:T},{default:a(()=>[e(f,{label:"today"},{default:a(()=>[...t[4]||(t[4]=[i("今天",-1)])]),_:1}),e(f,{label:"week"},{default:a(()=>[...t[5]||(t[5]=[i("最近7天",-1)])]),_:1}),e(f,{label:"month"},{default:a(()=>[...t[6]||(t[6]=[i("最近30天",-1)])]),_:1}),e(f,{label:"custom"},{default:a(()=>[...t[7]||(t[7]=[i("自定义",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),s.time_type==="custom"?(d(),k(n,{key:0},{default:a(()=>[e(z,{modelValue:r.value,"onUpdate:modelValue":t[2]||(t[2]=o=>r.value=o),type:"daterange","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期","value-format":"YYYY-MM-DD",style:{width:"260px"}},null,8,["modelValue"])]),_:1})):ot("",!0),e(n,null,{default:a(()=>[e(w,{type:"primary",onClick:b,loading:u.value},{default:a(()=>[...t[8]||(t[8]=[i("查询",-1)])]),_:1},8,["loading"]),e(w,{onClick:x},{default:a(()=>[...t[9]||(t[9]=[i("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),lt((d(),k(C,{class:"mb-4",shadow:"hover"},{header:a(()=>[...t[10]||(t[10]=[c("div",{class:"card-header"},[c("span",{class:"card-title"},"部门统计数据")],-1)])]),default:a(()=>[v.value.length>0?(d(),y("div",rt,[e(R,{data:v.value,style:{width:"100%"},"header-cell-style":{background:"#f5f7fa",color:"#606266",fontWeight:"600"}},{default:a(()=>[e(E,{prop:"dept_name",label:"部门名称",width:"120"}),e(E,{label:"状态明细","min-width":"700"},{default:a(({row:o})=>[c("div",dt,[c("div",mt,[e(p,{type:"info",size:"small",class:"compact-tag"},{default:a(()=>[i(" 已挂号: "+_(o.registered_count),1)]),_:2},1024),e(p,{type:"success",size:"small",class:"compact-tag"},{default:a(()=>[i(" 已完成: "+_(o.completed_count),1)]),_:2},1024),e(p,{type:"danger",size:"small",class:"compact-tag"},{default:a(()=>[i(" 已取消: "+_(o.canceled_count),1)]),_:2},1024),e(p,{type:"warning",size:"small",class:"compact-tag"},{default:a(()=>[i(" 已过号: "+_(o.expired_count),1)]),_:2},1024),e(p,{type:"primary",size:"small",class:"compact-tag"},{default:a(()=>[i(" 总数量: "+_(o.total_count),1)]),_:2},1024),e(p,{type:B(o.completion_rate),size:"small",class:"compact-tag"},{default:a(()=>[i(" 完成率: "+_(o.completion_rate)+"% ",1)]),_:2},1032,["type"])])])]),_:1}),e(E,{prop:"time_range",label:"统计时间","min-width":"200"})]),_:1},8,["data"])])):(d(),y("div",pt,[e(F,{description:"暂无统计数据"})]))]),_:1})),[[M,u.value]])])}}}),Zt=it(ct,[["__scopeId","data-v-edcb5eaf"]]);export{Zt as default}; +import{D as P,B as S,P as Y,Q as G,G as I,F as U,a2 as j,i as J,J as O,L as Q,M as q,N as H,T as W,R as A,E as K}from"./element-plus-DFTWCWyi.js";import{c as X,d as Z}from"./doctor-ul0r578d.js";import{f as $,b as tt,ak as d,I as y,a as e,aN as a,F as et,ap as at,G as k,O as i,H as ot,J as c,aP as lt}from"./@vue/runtime-core-C6bnekPw.js";import{Q as _}from"./@vue/shared-mAAVTE9n.js";import{n as g,r as st}from"./@vue/reactivity-DiY1c2vO.js";import{_ as it}from"./index-DBREMm_z.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const nt={class:"dept-statistics-page"},rt={key:0},dt={class:"status-overview"},mt={class:"status-tags"},pt={key:1,class:"empty-data"},ct=$({__name:"dept-tongji",setup(_t){const u=g(!1),V=g([]),v=g([]),r=g([]),s=st({dept_id:"",time_type:"today",start_date:"",end_date:""}),D=async()=>{try{const l=await X(),t=h=>{let m=[];return h.forEach(n=>{m.push({id:n.id,name:n.name}),n.children&&n.children.length>0&&(m=m.concat(t(n.children)))}),m};V.value=t(l)||[]}catch(l){console.error("获取部门列表失败:",l)}},b=async()=>{u.value=!0;try{const l={time_type:s.time_type};s.dept_id&&(l.dept_id=s.dept_id),s.time_type==="custom"&&r.value&&r.value.length===2&&(l.start_date=r.value[0],l.end_date=r.value[1]);const t=await Z(l);v.value=t.lists||[]}catch(l){console.error("获取统计数据错误:",l),K.error(l.msg||"获取统计数据失败")}finally{u.value=!1}},T=()=>{s.time_type!=="custom"&&(r.value=[])},x=()=>{s.dept_id="",s.time_type="today",r.value=[],b()},B=l=>l>=80?"success":l>=60?"primary":"warning";return tt(()=>{D(),b()}),(l,t)=>{const h=G,m=Y,n=S,f=U,L=I,z=j,w=J,N=P,C=O,E=H,p=W,R=q,F=A,M=Q;return d(),y("div",nt,[e(C,{class:"mb-4",shadow:"hover"},{header:a(()=>[...t[3]||(t[3]=[c("div",{class:"card-header"},[c("span",{class:"card-title"},"筛选条件")],-1)])]),default:a(()=>[e(N,{inline:!0,model:s,class:"filter-form"},{default:a(()=>[e(n,{label:"部门"},{default:a(()=>[e(m,{modelValue:s.dept_id,"onUpdate:modelValue":t[0]||(t[0]=o=>s.dept_id=o),placeholder:"全部部门",clearable:"",filterable:"",style:{width:"200px"}},{default:a(()=>[(d(!0),y(et,null,at(V.value,o=>(d(),k(h,{key:o.id,label:o.name,value:o.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),e(n,{label:"时间范围"},{default:a(()=>[e(L,{modelValue:s.time_type,"onUpdate:modelValue":t[1]||(t[1]=o=>s.time_type=o),onChange:T},{default:a(()=>[e(f,{label:"today"},{default:a(()=>[...t[4]||(t[4]=[i("今天",-1)])]),_:1}),e(f,{label:"week"},{default:a(()=>[...t[5]||(t[5]=[i("最近7天",-1)])]),_:1}),e(f,{label:"month"},{default:a(()=>[...t[6]||(t[6]=[i("最近30天",-1)])]),_:1}),e(f,{label:"custom"},{default:a(()=>[...t[7]||(t[7]=[i("自定义",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),s.time_type==="custom"?(d(),k(n,{key:0},{default:a(()=>[e(z,{modelValue:r.value,"onUpdate:modelValue":t[2]||(t[2]=o=>r.value=o),type:"daterange","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期","value-format":"YYYY-MM-DD",style:{width:"260px"}},null,8,["modelValue"])]),_:1})):ot("",!0),e(n,null,{default:a(()=>[e(w,{type:"primary",onClick:b,loading:u.value},{default:a(()=>[...t[8]||(t[8]=[i("查询",-1)])]),_:1},8,["loading"]),e(w,{onClick:x},{default:a(()=>[...t[9]||(t[9]=[i("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),lt((d(),k(C,{class:"mb-4",shadow:"hover"},{header:a(()=>[...t[10]||(t[10]=[c("div",{class:"card-header"},[c("span",{class:"card-title"},"部门统计数据")],-1)])]),default:a(()=>[v.value.length>0?(d(),y("div",rt,[e(R,{data:v.value,style:{width:"100%"},"header-cell-style":{background:"#f5f7fa",color:"#606266",fontWeight:"600"}},{default:a(()=>[e(E,{prop:"dept_name",label:"部门名称",width:"120"}),e(E,{label:"状态明细","min-width":"700"},{default:a(({row:o})=>[c("div",dt,[c("div",mt,[e(p,{type:"info",size:"small",class:"compact-tag"},{default:a(()=>[i(" 已挂号: "+_(o.registered_count),1)]),_:2},1024),e(p,{type:"success",size:"small",class:"compact-tag"},{default:a(()=>[i(" 已完成: "+_(o.completed_count),1)]),_:2},1024),e(p,{type:"danger",size:"small",class:"compact-tag"},{default:a(()=>[i(" 已取消: "+_(o.canceled_count),1)]),_:2},1024),e(p,{type:"warning",size:"small",class:"compact-tag"},{default:a(()=>[i(" 已过号: "+_(o.expired_count),1)]),_:2},1024),e(p,{type:"primary",size:"small",class:"compact-tag"},{default:a(()=>[i(" 总数量: "+_(o.total_count),1)]),_:2},1024),e(p,{type:B(o.completion_rate),size:"small",class:"compact-tag"},{default:a(()=>[i(" 完成率: "+_(o.completion_rate)+"% ",1)]),_:2},1032,["type"])])])]),_:1}),e(E,{prop:"time_range",label:"统计时间","min-width":"200"})]),_:1},8,["data"])])):(d(),y("div",pt,[e(F,{description:"暂无统计数据"})]))]),_:1})),[[M,u.value]])])}}}),Zt=it(ct,[["__scopeId","data-v-edcb5eaf"]]);export{Zt as default}; diff --git a/server/public/admin/assets/detail-41GQnmm8.js b/server/public/admin/assets/detail-47n6zBhj.js similarity index 94% rename from server/public/admin/assets/detail-41GQnmm8.js rename to server/public/admin/assets/detail-47n6zBhj.js index 0286dde1..07a4fa8d 100644 --- a/server/public/admin/assets/detail-41GQnmm8.js +++ b/server/public/admin/assets/detail-47n6zBhj.js @@ -1 +1 @@ -import{_ as B}from"./index-nymJKQXP.js";import{a9 as I,aa as V,T as C,v as O}from"./element-plus-0wC3naml.js";import{W as T}from"./tcm-SLIwsL8z.js";import{m as F}from"./index-E47--KT7.js";import{f as H,ak as i,I as n,a as o,aN as a,O as l,F as f,ap as y,G as c,H as L,J as g,A as R}from"./@vue/runtime-core-C6bnekPw.js";import{Q as r}from"./@vue/shared-mAAVTE9n.js";import{y as t,n as h}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const z={class:"detail-popup"},A={key:0},G={key:0,class:"flex gap-2"},J={key:1},Q={key:0,class:"flex flex-wrap gap-2"},S={key:1},W={style:{"white-space":"pre-wrap"}},j={style:{"white-space":"pre-wrap"}},q={style:{"white-space":"pre-wrap"}},Fe=H({__name:"detail",setup(K,{expose:x}){const b=h(),e=h({}),v=h([]),D=async()=>{try{const p=await F({type:"past_history"});v.value=(p==null?void 0:p.past_history)||[]}catch(p){console.error("获取字典数据失败:",p)}},w=R(()=>!e.value.past_history||!e.value.past_history.length?[]:e.value.past_history.map(p=>{const _=v.value.find(s=>s.value===p);return _?_.name:p}));return x({open:async p=>{b.value.open(),await D(),e.value=await T({id:p})}}),(p,_)=>{const s=V,u=C,k=O,E=I,N=B;return i(),n("div",z,[o(N,{ref_key:"popupRef",ref:b,title:"诊单详情",width:"800px","show-confirm":!1,"z-index":1500},{default:a(()=>[o(E,{column:2,border:""},{default:a(()=>[o(s,{label:"患者ID"},{default:a(()=>[l(r(t(e).patient_id),1)]),_:1}),o(s,{label:"患者姓名"},{default:a(()=>[l(r(t(e).patient_name),1)]),_:1}),o(s,{label:"性别"},{default:a(()=>[l(r(t(e).gender_desc),1)]),_:1}),o(s,{label:"年龄"},{default:a(()=>[l(r(t(e).age)+"岁 ",1)]),_:1}),o(s,{label:"诊断日期"},{default:a(()=>[l(r(t(e).diagnosis_date_text),1)]),_:1}),o(s,{label:"诊断类型"},{default:a(()=>[l(r(t(e).diagnosis_type),1)]),_:1}),o(s,{label:"证型",span:2},{default:a(()=>[l(r(t(e).syndrome_type),1)]),_:1}),o(s,{label:"既往史",span:2},{default:a(()=>[(i(!0),n(f,null,y(t(w),m=>(i(),c(u,{key:m,class:"mr-2",type:"info"},{default:a(()=>[l(r(m),1)]),_:2},1024))),128)),t(w).length?L("",!0):(i(),n("span",A,"无"))]),_:1}),o(s,{label:"外伤史"},{default:a(()=>[l(r(t(e).trauma_history?"有":"无"),1)]),_:1}),o(s,{label:"手术史"},{default:a(()=>[l(r(t(e).surgery_history?"有":"无"),1)]),_:1}),o(s,{label:"过敏史"},{default:a(()=>[l(r(t(e).allergy_history?"有":"无"),1)]),_:1}),o(s,{label:"家族病史"},{default:a(()=>[l(r(t(e).family_history?"有":"无"),1)]),_:1}),o(s,{label:"妊娠哺乳史",span:2},{default:a(()=>[l(r(t(e).pregnancy_history?"有":"无"),1)]),_:1}),o(s,{label:"舌苔照片",span:2},{default:a(()=>[t(e).tongue_images&&t(e).tongue_images.length?(i(),n("div",G,[(i(!0),n(f,null,y(t(e).tongue_images,(m,d)=>(i(),c(k,{key:d,src:m,"preview-src-list":t(e).tongue_images,style:{width:"100px",height:"100px"},fit:"cover"},null,8,["src","preview-src-list"]))),128))])):(i(),n("span",J,"暂无"))]),_:1}),o(s,{label:"检查报告",span:2},{default:a(()=>[t(e).report_files&&t(e).report_files.length?(i(),n("div",Q,[(i(!0),n(f,null,y(t(e).report_files,(m,d)=>(i(),c(k,{key:d,src:m,"preview-src-list":t(e).report_files,style:{width:"100px",height:"100px"},fit:"cover"},null,8,["src","preview-src-list"]))),128))])):(i(),n("span",S,"暂无"))]),_:1}),o(s,{label:"症状",span:2},{default:a(()=>[l(r(t(e).symptoms||"无"),1)]),_:1}),o(s,{label:"舌苔"},{default:a(()=>[l(r(t(e).tongue_coating||"无"),1)]),_:1}),o(s,{label:"脉象"},{default:a(()=>[l(r(t(e).pulse||"无"),1)]),_:1}),o(s,{label:"治则",span:2},{default:a(()=>[l(r(t(e).treatment_principle||"无"),1)]),_:1}),o(s,{label:"在用药物",span:2},{default:a(()=>[g("div",W,r(t(e).current_medications||"无"),1)]),_:1}),o(s,{label:"处方",span:2},{default:a(()=>[g("div",j,r(t(e).prescription||"无"),1)]),_:1}),o(s,{label:"医嘱",span:2},{default:a(()=>[g("div",q,r(t(e).doctor_advice||"无"),1)]),_:1}),o(s,{label:"备注",span:2},{default:a(()=>[l(r(t(e).remark||"无"),1)]),_:1}),o(s,{label:"状态"},{default:a(()=>[t(e).status==1?(i(),c(u,{key:0,type:"success"},{default:a(()=>[..._[0]||(_[0]=[l("启用",-1)])]),_:1})):(i(),c(u,{key:1,type:"danger"},{default:a(()=>[..._[1]||(_[1]=[l("禁用",-1)])]),_:1}))]),_:1}),o(s,{label:"创建时间"},{default:a(()=>[l(r(t(e).create_time),1)]),_:1})]),_:1})]),_:1},512)])}}});export{Fe as default}; +import{_ as B}from"./index-BwF7vczx.js";import{aa as I,ab as V,T as C,v as O}from"./element-plus-DFTWCWyi.js";import{X as T}from"./tcm-BcqaE0lo.js";import{m as F}from"./index-DBREMm_z.js";import{f as H,ak as i,I as n,a as o,aN as a,O as l,F as f,ap as y,G as c,H as L,J as g,A as R}from"./@vue/runtime-core-C6bnekPw.js";import{Q as r}from"./@vue/shared-mAAVTE9n.js";import{y as t,n as h}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const z={class:"detail-popup"},A={key:0},G={key:0,class:"flex gap-2"},J={key:1},Q={key:0,class:"flex flex-wrap gap-2"},S={key:1},X={style:{"white-space":"pre-wrap"}},j={style:{"white-space":"pre-wrap"}},q={style:{"white-space":"pre-wrap"}},Fe=H({__name:"detail",setup(K,{expose:x}){const b=h(),e=h({}),v=h([]),D=async()=>{try{const p=await F({type:"past_history"});v.value=(p==null?void 0:p.past_history)||[]}catch(p){console.error("获取字典数据失败:",p)}},w=R(()=>!e.value.past_history||!e.value.past_history.length?[]:e.value.past_history.map(p=>{const _=v.value.find(s=>s.value===p);return _?_.name:p}));return x({open:async p=>{b.value.open(),await D(),e.value=await T({id:p})}}),(p,_)=>{const s=V,u=C,k=O,E=I,N=B;return i(),n("div",z,[o(N,{ref_key:"popupRef",ref:b,title:"诊单详情",width:"800px","show-confirm":!1,"z-index":1500},{default:a(()=>[o(E,{column:2,border:""},{default:a(()=>[o(s,{label:"患者ID"},{default:a(()=>[l(r(t(e).patient_id),1)]),_:1}),o(s,{label:"患者姓名"},{default:a(()=>[l(r(t(e).patient_name),1)]),_:1}),o(s,{label:"性别"},{default:a(()=>[l(r(t(e).gender_desc),1)]),_:1}),o(s,{label:"年龄"},{default:a(()=>[l(r(t(e).age)+"岁 ",1)]),_:1}),o(s,{label:"诊断日期"},{default:a(()=>[l(r(t(e).diagnosis_date_text),1)]),_:1}),o(s,{label:"诊断类型"},{default:a(()=>[l(r(t(e).diagnosis_type),1)]),_:1}),o(s,{label:"证型",span:2},{default:a(()=>[l(r(t(e).syndrome_type),1)]),_:1}),o(s,{label:"既往史",span:2},{default:a(()=>[(i(!0),n(f,null,y(t(w),m=>(i(),c(u,{key:m,class:"mr-2",type:"info"},{default:a(()=>[l(r(m),1)]),_:2},1024))),128)),t(w).length?L("",!0):(i(),n("span",A,"无"))]),_:1}),o(s,{label:"外伤史"},{default:a(()=>[l(r(t(e).trauma_history?"有":"无"),1)]),_:1}),o(s,{label:"手术史"},{default:a(()=>[l(r(t(e).surgery_history?"有":"无"),1)]),_:1}),o(s,{label:"过敏史"},{default:a(()=>[l(r(t(e).allergy_history?"有":"无"),1)]),_:1}),o(s,{label:"家族病史"},{default:a(()=>[l(r(t(e).family_history?"有":"无"),1)]),_:1}),o(s,{label:"妊娠哺乳史",span:2},{default:a(()=>[l(r(t(e).pregnancy_history?"有":"无"),1)]),_:1}),o(s,{label:"舌苔照片",span:2},{default:a(()=>[t(e).tongue_images&&t(e).tongue_images.length?(i(),n("div",G,[(i(!0),n(f,null,y(t(e).tongue_images,(m,d)=>(i(),c(k,{key:d,src:m,"preview-src-list":t(e).tongue_images,style:{width:"100px",height:"100px"},fit:"cover"},null,8,["src","preview-src-list"]))),128))])):(i(),n("span",J,"暂无"))]),_:1}),o(s,{label:"检查报告",span:2},{default:a(()=>[t(e).report_files&&t(e).report_files.length?(i(),n("div",Q,[(i(!0),n(f,null,y(t(e).report_files,(m,d)=>(i(),c(k,{key:d,src:m,"preview-src-list":t(e).report_files,style:{width:"100px",height:"100px"},fit:"cover"},null,8,["src","preview-src-list"]))),128))])):(i(),n("span",S,"暂无"))]),_:1}),o(s,{label:"症状",span:2},{default:a(()=>[l(r(t(e).symptoms||"无"),1)]),_:1}),o(s,{label:"舌苔"},{default:a(()=>[l(r(t(e).tongue_coating||"无"),1)]),_:1}),o(s,{label:"脉象"},{default:a(()=>[l(r(t(e).pulse||"无"),1)]),_:1}),o(s,{label:"治则",span:2},{default:a(()=>[l(r(t(e).treatment_principle||"无"),1)]),_:1}),o(s,{label:"在用药物",span:2},{default:a(()=>[g("div",X,r(t(e).current_medications||"无"),1)]),_:1}),o(s,{label:"处方",span:2},{default:a(()=>[g("div",j,r(t(e).prescription||"无"),1)]),_:1}),o(s,{label:"医嘱",span:2},{default:a(()=>[g("div",q,r(t(e).doctor_advice||"无"),1)]),_:1}),o(s,{label:"备注",span:2},{default:a(()=>[l(r(t(e).remark||"无"),1)]),_:1}),o(s,{label:"状态"},{default:a(()=>[t(e).status==1?(i(),c(u,{key:0,type:"success"},{default:a(()=>[..._[0]||(_[0]=[l("启用",-1)])]),_:1})):(i(),c(u,{key:1,type:"danger"},{default:a(()=>[..._[1]||(_[1]=[l("禁用",-1)])]),_:1}))]),_:1}),o(s,{label:"创建时间"},{default:a(()=>[l(r(t(e).create_time),1)]),_:1})]),_:1})]),_:1},512)])}}});export{Fe as default}; diff --git a/server/public/admin/assets/detail-DzXhStO7.js b/server/public/admin/assets/detail-D1BwcPGJ.js similarity index 92% rename from server/public/admin/assets/detail-DzXhStO7.js rename to server/public/admin/assets/detail-D1BwcPGJ.js index 97301d2a..334aa7a2 100644 --- a/server/public/admin/assets/detail-DzXhStO7.js +++ b/server/public/admin/assets/detail-D1BwcPGJ.js @@ -1 +1 @@ -import{O as q,J as N,D as R,q as A,i as O,B as V}from"./element-plus-0wC3naml.js";import{_ as F}from"./index.vue_vue_type_script_setup_true_lang-Bl0f8aX8.js";import{c as I,n as J}from"./index-E47--KT7.js";import{g as M,u as S,a as U}from"./consumer-C-hGL7Bd.js";import{_ as z}from"./account-adjust.vue_vue_type_script_setup_true_lang-Bsqxx3M3.js";import{u as G}from"./vue-router-QlpZ4wdW.js";import{f as C,as as H,ak as u,I as Q,a as t,aN as o,J as d,O as n,aP as c,G as y}from"./@vue/runtime-core-C6bnekPw.js";import{y as a,r as g,q as T}from"./@vue/reactivity-DiY1c2vO.js";import{Q as l}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-nymJKQXP.js";const K={class:"bg-page flex py-5 mb-10 items-center"},L={class:"basis-40 flex flex-col justify-center items-center"},W={class:"basis-40 flex flex-col justify-center items-center"},X={class:"mt-2 flex items-center"},Y=C({name:"consumerDetail"}),Se=C({...Y,setup(Z){const w=G(),r=g({avatar:"",channel:"",create_time:"",login_time:"",mobile:"",nickname:"",real_name:0,sex:0,sn:"",account:"",user_money:""}),p=g({show:!1,value:""}),j=T(),k=async()=>{const i=await M({id:w.query.id});Object.keys(r).forEach(e=>{r[e]=i[e]})},v=async(i,e)=>{J(i)||(await S({id:w.query.id,field:e,value:i}),k())},D=i=>{p.show=!0,p.value=i},h=async i=>{await U({user_id:w.query.id,...i}),p.show=!1,k()};return k(),(i,e)=>{const B=q,E=N,P=A,f=O,m=V,b=I,x=F,$=R,_=H("perms");return u(),Q("div",null,[t(E,{class:"!border-none",shadow:"never"},{default:o(()=>[t(B,{content:"用户详情",onBack:e[0]||(e[0]=s=>i.$router.back())})]),_:1}),t(E,{class:"mt-4 !border-none",header:"基本资料",shadow:"never"},{default:o(()=>[t($,{ref_key:"formRef",ref:j,class:"ls-form",model:a(r),"label-width":"120px"},{default:o(()=>[d("div",K,[d("div",L,[e[7]||(e[7]=d("div",{class:"mb-2 text-tx-regular"},"用户头像",-1)),t(P,{src:a(r).avatar,size:58},null,8,["src"])]),d("div",W,[e[9]||(e[9]=d("div",{class:"text-tx-regular"},"账户余额",-1)),d("div",X,[n(" ¥"+l(a(r).user_money)+" ",1),c((u(),y(f,{type:"primary",link:"",onClick:e[1]||(e[1]=s=>D(a(r).user_money))},{default:o(()=>[...e[8]||(e[8]=[n(" 调整 ",-1)])]),_:1})),[[_,["user.user/adjustMoney"]]])])])]),t(m,{label:"用户昵称:"},{default:o(()=>[n(l(a(r).nickname),1)]),_:1}),t(m,{label:"账号:"},{default:o(()=>[n(l(a(r).account)+" ",1),c((u(),y(x,{class:"ml-[10px]",onConfirm:e[2]||(e[2]=s=>v(s,"account")),limit:32},{default:o(()=>[t(f,{type:"primary",link:""},{default:o(()=>[t(b,{name:"el-icon-EditPen"})]),_:1})]),_:1})),[[_,["user.user/edit"]]])]),_:1}),t(m,{label:"真实姓名:"},{default:o(()=>[n(l(a(r).real_name||"-")+" ",1),c((u(),y(x,{class:"ml-[10px]",onConfirm:e[3]||(e[3]=s=>v(s,"real_name")),limit:32},{default:o(()=>[t(f,{type:"primary",link:""},{default:o(()=>[t(b,{name:"el-icon-EditPen"})]),_:1})]),_:1})),[[_,["user.user/edit"]]])]),_:1}),t(m,{label:"性别:"},{default:o(()=>[n(l(a(r).sex)+" ",1),c((u(),y(x,{class:"ml-[10px]",type:"select",options:[{label:"未知",value:0},{label:"男",value:1},{label:"女",value:2}],onConfirm:e[4]||(e[4]=s=>v(s,"sex"))},{default:o(()=>[t(f,{type:"primary",link:""},{default:o(()=>[t(b,{name:"el-icon-EditPen"})]),_:1})]),_:1})),[[_,["user.user/edit"]]])]),_:1}),t(m,{label:"联系电话:"},{default:o(()=>[n(l(a(r).mobile||"-")+" ",1),c((u(),y(x,{class:"ml-[10px]",type:"number",onConfirm:e[5]||(e[5]=s=>v(s,"mobile"))},{default:o(()=>[t(f,{type:"primary",link:""},{default:o(()=>[t(b,{name:"el-icon-EditPen"})]),_:1})]),_:1})),[[_,["user.user/edit"]]])]),_:1}),t(m,{label:"注册来源:"},{default:o(()=>[n(l(a(r).channel),1)]),_:1}),t(m,{label:"注册时间:"},{default:o(()=>[n(l(a(r).create_time),1)]),_:1}),t(m,{label:"最近登录时间:"},{default:o(()=>[n(l(a(r).login_time),1)]),_:1})]),_:1},8,["model"])]),_:1}),t(z,{show:a(p).show,"onUpdate:show":e[6]||(e[6]=s=>a(p).show=s),value:a(p).value,onConfirm:h},null,8,["show","value"])])}}});export{Se as default}; +import{O as q,J as N,D as R,q as A,i as O,B as V}from"./element-plus-DFTWCWyi.js";import{_ as F}from"./index.vue_vue_type_script_setup_true_lang-x0oL2ShL.js";import{c as I,n as J}from"./index-DBREMm_z.js";import{g as M,u as S,a as U}from"./consumer-BHPpijRv.js";import{_ as z}from"./account-adjust.vue_vue_type_script_setup_true_lang-DxyP7JSE.js";import{u as G}from"./vue-router-QlpZ4wdW.js";import{f as C,as as H,ak as u,I as Q,a as t,aN as o,J as d,O as n,aP as c,G as y}from"./@vue/runtime-core-C6bnekPw.js";import{y as a,r as g,q as T}from"./@vue/reactivity-DiY1c2vO.js";import{Q as l}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-BwF7vczx.js";const K={class:"bg-page flex py-5 mb-10 items-center"},L={class:"basis-40 flex flex-col justify-center items-center"},W={class:"basis-40 flex flex-col justify-center items-center"},X={class:"mt-2 flex items-center"},Y=C({name:"consumerDetail"}),Se=C({...Y,setup(Z){const w=G(),r=g({avatar:"",channel:"",create_time:"",login_time:"",mobile:"",nickname:"",real_name:0,sex:0,sn:"",account:"",user_money:""}),p=g({show:!1,value:""}),j=T(),k=async()=>{const i=await M({id:w.query.id});Object.keys(r).forEach(e=>{r[e]=i[e]})},v=async(i,e)=>{J(i)||(await S({id:w.query.id,field:e,value:i}),k())},D=i=>{p.show=!0,p.value=i},h=async i=>{await U({user_id:w.query.id,...i}),p.show=!1,k()};return k(),(i,e)=>{const B=q,E=N,P=A,f=O,m=V,b=I,x=F,$=R,_=H("perms");return u(),Q("div",null,[t(E,{class:"!border-none",shadow:"never"},{default:o(()=>[t(B,{content:"用户详情",onBack:e[0]||(e[0]=s=>i.$router.back())})]),_:1}),t(E,{class:"mt-4 !border-none",header:"基本资料",shadow:"never"},{default:o(()=>[t($,{ref_key:"formRef",ref:j,class:"ls-form",model:a(r),"label-width":"120px"},{default:o(()=>[d("div",K,[d("div",L,[e[7]||(e[7]=d("div",{class:"mb-2 text-tx-regular"},"用户头像",-1)),t(P,{src:a(r).avatar,size:58},null,8,["src"])]),d("div",W,[e[9]||(e[9]=d("div",{class:"text-tx-regular"},"账户余额",-1)),d("div",X,[n(" ¥"+l(a(r).user_money)+" ",1),c((u(),y(f,{type:"primary",link:"",onClick:e[1]||(e[1]=s=>D(a(r).user_money))},{default:o(()=>[...e[8]||(e[8]=[n(" 调整 ",-1)])]),_:1})),[[_,["user.user/adjustMoney"]]])])])]),t(m,{label:"用户昵称:"},{default:o(()=>[n(l(a(r).nickname),1)]),_:1}),t(m,{label:"账号:"},{default:o(()=>[n(l(a(r).account)+" ",1),c((u(),y(x,{class:"ml-[10px]",onConfirm:e[2]||(e[2]=s=>v(s,"account")),limit:32},{default:o(()=>[t(f,{type:"primary",link:""},{default:o(()=>[t(b,{name:"el-icon-EditPen"})]),_:1})]),_:1})),[[_,["user.user/edit"]]])]),_:1}),t(m,{label:"真实姓名:"},{default:o(()=>[n(l(a(r).real_name||"-")+" ",1),c((u(),y(x,{class:"ml-[10px]",onConfirm:e[3]||(e[3]=s=>v(s,"real_name")),limit:32},{default:o(()=>[t(f,{type:"primary",link:""},{default:o(()=>[t(b,{name:"el-icon-EditPen"})]),_:1})]),_:1})),[[_,["user.user/edit"]]])]),_:1}),t(m,{label:"性别:"},{default:o(()=>[n(l(a(r).sex)+" ",1),c((u(),y(x,{class:"ml-[10px]",type:"select",options:[{label:"未知",value:0},{label:"男",value:1},{label:"女",value:2}],onConfirm:e[4]||(e[4]=s=>v(s,"sex"))},{default:o(()=>[t(f,{type:"primary",link:""},{default:o(()=>[t(b,{name:"el-icon-EditPen"})]),_:1})]),_:1})),[[_,["user.user/edit"]]])]),_:1}),t(m,{label:"联系电话:"},{default:o(()=>[n(l(a(r).mobile||"-")+" ",1),c((u(),y(x,{class:"ml-[10px]",type:"number",onConfirm:e[5]||(e[5]=s=>v(s,"mobile"))},{default:o(()=>[t(f,{type:"primary",link:""},{default:o(()=>[t(b,{name:"el-icon-EditPen"})]),_:1})]),_:1})),[[_,["user.user/edit"]]])]),_:1}),t(m,{label:"注册来源:"},{default:o(()=>[n(l(a(r).channel),1)]),_:1}),t(m,{label:"注册时间:"},{default:o(()=>[n(l(a(r).create_time),1)]),_:1}),t(m,{label:"最近登录时间:"},{default:o(()=>[n(l(a(r).login_time),1)]),_:1})]),_:1},8,["model"])]),_:1}),t(z,{show:a(p).show,"onUpdate:show":e[6]||(e[6]=s=>a(p).show=s),value:a(p).value,onConfirm:h},null,8,["show","value"])])}}});export{Se as default}; diff --git a/server/public/admin/assets/dict-Nvtnb8GD.js b/server/public/admin/assets/dict-BKviBR_7.js similarity index 92% rename from server/public/admin/assets/dict-Nvtnb8GD.js rename to server/public/admin/assets/dict-BKviBR_7.js index cc962826..770f3859 100644 --- a/server/public/admin/assets/dict-Nvtnb8GD.js +++ b/server/public/admin/assets/dict-BKviBR_7.js @@ -1 +1 @@ -import{r as i}from"./index-E47--KT7.js";function d(t){return i.get({url:"/setting.dict.dict_type/lists",params:t})}function n(t){return i.get({url:"/setting.dict.dict_type/all",params:t})}function c(t){return i.post({url:"/setting.dict.dict_type/add",params:t})}function r(t){return i.post({url:"/setting.dict.dict_type/edit",params:t})}function s(t){return i.post({url:"/setting.dict.dict_type/delete",params:t})}function a(t){return i.get({url:"/setting.dict.dict_data/lists",params:t},{ignoreCancelToken:!0})}function u(t){return i.post({url:"/setting.dict.dict_data/add",params:t})}function l(t){return i.post({url:"/setting.dict.dict_data/edit",params:t})}function o(t){return i.post({url:"/setting.dict.dict_data/delete",params:t})}export{l as a,u as b,a as c,n as d,o as e,d as f,r as g,c as h,s as i}; +import{r as i}from"./index-DBREMm_z.js";function d(t){return i.get({url:"/setting.dict.dict_type/lists",params:t})}function n(t){return i.get({url:"/setting.dict.dict_type/all",params:t})}function c(t){return i.post({url:"/setting.dict.dict_type/add",params:t})}function r(t){return i.post({url:"/setting.dict.dict_type/edit",params:t})}function s(t){return i.post({url:"/setting.dict.dict_type/delete",params:t})}function a(t){return i.get({url:"/setting.dict.dict_data/lists",params:t},{ignoreCancelToken:!0})}function u(t){return i.post({url:"/setting.dict.dict_data/add",params:t})}function l(t){return i.post({url:"/setting.dict.dict_data/edit",params:t})}function o(t){return i.post({url:"/setting.dict.dict_data/delete",params:t})}export{l as a,u as b,a as c,n as d,o as e,d as f,r as g,c as h,s as i}; diff --git a/server/public/admin/assets/doctor-6V0qM7Ks.js b/server/public/admin/assets/doctor-6V0qM7Ks.js deleted file mode 100644 index d5c94256..00000000 --- a/server/public/admin/assets/doctor-6V0qM7Ks.js +++ /dev/null @@ -1 +0,0 @@ -import{r}from"./index-E47--KT7.js";function o(t){return r.get({url:"/auth.admin/lists",params:{...t,role_id:1,exclude_disabled:1}})}function s(t){return r.get({url:"/doctor.roster/lists",params:t})}function n(t){return r.post({url:"/doctor.roster/save",params:t})}function a(t){return r.post({url:"/doctor.roster/delete",params:t})}function i(t){return r.post({url:"/doctor.roster/batchSave",params:t})}function c(t){return r.get({url:"/doctor.appointment/availableSlots",params:t})}function u(t){return r.post({url:"/doctor.appointment/create",params:t})}function l(t){return r.post({url:"/doctor.appointment/cancel",params:t})}function p(t){return r.get({url:"/doctor.appointment/lists",params:t})}function d(t){return r.post({url:"/doctor.appointment/complete",params:t})}function f(t){return r.get({url:"/doctor.statistics/lists",params:t})}function m(){return r.get({url:"/dept.dept/all"})}function g(t){return r.get({url:"/doctor.statistics/deptLists",params:t})}export{m as a,g as b,p as c,o as d,n as e,a as f,c as g,i as h,f as i,d as j,l as k,u as l,s as r}; diff --git a/server/public/admin/assets/doctor-ul0r578d.js b/server/public/admin/assets/doctor-ul0r578d.js new file mode 100644 index 00000000..715b8b17 --- /dev/null +++ b/server/public/admin/assets/doctor-ul0r578d.js @@ -0,0 +1 @@ +import{r}from"./index-DBREMm_z.js";function o(t){return r.get({url:"/auth.admin/lists",params:{...t,role_id:1,exclude_disabled:1}})}function n(t){return r.get({url:"/doctor.roster/lists",params:t})}function s(t){return r.post({url:"/doctor.roster/save",params:t})}function i(t){return r.post({url:"/doctor.roster/delete",params:t})}function a(t){return r.post({url:"/doctor.roster/batchSave",params:t})}function u(t){return r.get({url:"/doctor.appointment/availableSlots",params:t})}function c(t){return r.post({url:"/doctor.appointment/create",params:t})}function p(t){return r.post({url:"/doctor.appointment/cancel",params:t})}function l(t){return r.get({url:"/doctor.appointment/lists",params:t})}function d(t){return r.post({url:"/doctor.appointment/edit",params:t})}function m(t){return r.post({url:"/doctor.appointment/complete",params:t})}function f(t){return r.get({url:"/doctor.statistics/lists",params:t})}function g(){return r.get({url:"/dept.dept/all"})}function S(t){return r.get({url:"/doctor.statistics/deptLists",params:t})}export{l as a,d as b,g as c,S as d,o as e,s as f,u as g,i as h,a as i,f as j,m as k,p as l,c as m,n as r}; diff --git a/server/public/admin/assets/edit-DlBhR6x6.js b/server/public/admin/assets/edit-BG1q_jZS.js similarity index 90% rename from server/public/admin/assets/edit-DlBhR6x6.js rename to server/public/admin/assets/edit-BG1q_jZS.js index 91d2706c..96654539 100644 --- a/server/public/admin/assets/edit-DlBhR6x6.js +++ b/server/public/admin/assets/edit-BG1q_jZS.js @@ -1 +1 @@ -import{m as Ke,l as el,D as ll,U as al,B as tl,C as ol,a3 as il,a4 as dl,G as nl,I as sl,h as rl,P as ul,Q as pl,a2 as ml,ae as _l,al as fl,F as gl,R as cl,i as vl,T as yl,e as bl,E as ae}from"./element-plus-0wC3naml.js";import{J as Vl,X as Ne,Y as kl,Z as hl,W as Oe,_ as wl}from"./tcm-SLIwsL8z.js";import{e as xl,u as Ul,m as h,_ as El}from"./index-E47--KT7.js";import{h as P}from"./perm-YIJpPBOg.js";import Nl from"./DailyMatrix-0DiBlpfB.js";import Ol from"./CaseRecordList-CsyYkwG-.js";import Pl from"./CallRecordPanel-CLexkvxf.js";import Rl from"./ImChatRecordPanel-DiuuXcLT.js";import Dl from"./AssignLogPanel-B0ohl4pV.js";import Il from"./AppointmentRecordPanel-BZnhzLjC.js";import Cl from"./NoteTimeline-CDNv1DMC.js";/* empty css */import zl from"./PatientOrderList-DQ7QxnQw.js";import Fl from"./index-kYFkWYEt.js";import{g as Bl}from"./patient-DKQ1nUyC.js";import{f as Tl,w as Pe,ak as d,I as g,a as o,aN as a,J as A,O as r,F as x,H as R,G as u,ap as U,A as H}from"./@vue/runtime-core-C6bnekPw.js";import{n as p,a as Re,y as t}from"./@vue/reactivity-DiY1c2vO.js";import{Q as k}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./picker-DlbAZkDm.js";import"./index-nymJKQXP.js";import"./index-B56X8bEB.js";import"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import"./index-BHTgr4Ka.js";import"./index-Ci4dcEQh.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-DoYUJmkp.js";import"./index.vue_vue_type_script_setup_true_lang-Bl0f8aX8.js";import"./usePaging-VsbTxSU0.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./vue-echarts-BNtg2q_G.js";import"./resize-detector-G6vbKCU7.js";import"./DiagnosisTodoList-DC7uqd6f.js";import"./blood-thresholds-CJ1fqMjh.js";import"./RecordingPlaybackBlock-z0PPBYke.js";import"./RecordingVideoPlayer-DWV7klHs.js";import"./im-business-message-parse-QKjFLn3X.js";import"./doctor-6V0qM7Ks.js";import"./index-wwnvQhjf.js";import"./medicine-D-OyzCbR.js";import"./diabetes-discovery-display-B_wmGXQJ.js";import"./html2canvas-QH1iLAAe.js";const $l={class:"edit-drawer"},Ll={class:"tcm-dd-header"},Sl={class:"tcm-dd-header__row"},Ml={class:"tcm-dd-header__title"},Yl={key:0,class:"tcm-dd-header__sub"},ql={key:0,class:"tcm-dd-header__name"},Al={key:1,class:"tcm-dd-header__id"},Gl={key:0,class:"tcm-dd-header__sep"},Jl=["disabled"],Hl={key:0,class:"text-xs text-gray-400 mt-1"},Xl={key:0,class:"p-4"},Ql={key:0,class:"bingli-tab-content"},Wl={class:"tcm-dd-footer"},Zl=Tl({__name:"edit",emits:["success"],setup(jl,{expose:De,emit:Ie}){const Ce=Ie;xl();const X=p(),ze=p(null),Q=p(),z=p(!1),N=p(!1),W=p(),D=p("add"),Z=p(!1),M=H(()=>P(["tcm.diagnosis/phonePlain"])),te=H(()=>P(["tcm.diagnosis/dailyRecord"])),Fe=H(()=>D.value==="edit"&&!M.value),F=p(!1),b=p("basic"),Be=H(()=>N.value?"诊单详情":D.value==="add"?"新增诊单":"编辑诊单"),j=p([]),oe=async()=>{if(l.value.id)try{j.value=await Bl({diagnosis_id:Number(l.value.id)})||[]}catch{j.value=[]}},ie=p([]),Te=async()=>{if(l.value.id)try{ie.value=await Vl({diagnosis_id:Number(l.value.id)})||[]}catch{ie.value=[]}};Pe(()=>b.value,async n=>{n==="doctorNote"&&l.value.id&&await oe(),n==="trackingNote"&&l.value.id&&await Te()}),Pe([z,b],()=>{z.value&&(b.value==="chat"&&!P(["tcm.diagnosis/chat"])&&(b.value="basic"),b.value==="visit"&&!P(["tcm.diagnosis/huifang"])&&(b.value="basic"),b.value==="assignLog"&&!P(["tcm.diagnosis/assign"])&&!P(["tcm.diagnosis/detail"])&&(b.value="basic"),b.value==="appointmentRecords"&&!P(["doctor.appointment/lists"])&&(b.value="basic"),b.value==="daily"&&!te.value&&(b.value="basic"))});const l=p({id:"",patient_id:"",patient_name:"",id_card:"",phone:"",gender:1,age:void 0,diagnosis_date:"",diagnosis_type:"",syndrome_type:"",diabetes_type:"",diabetes_discovery_year:"",local_hospital_diagnosis:[],local_hospital_name:"",marital_status:void 0,height:void 0,weight:void 0,region:"",systolic_pressure:void 0,diastolic_pressure:void 0,fasting_blood_sugar:"",appetite:[],water_intake:"",diet_condition:[],weight_change:"",body_feeling:[],sleep_condition:[],eye_condition:[],head_feeling:[],sweat_condition:[],skin_condition:[],urine_condition:[],stool_condition:[],kidney_condition:[],fatty_liver_degree:"",past_history:[],trauma_history:0,surgery_history:0,allergy_history:0,family_history:0,pregnancy_history:0,assistant_id:void 0,symptoms:"",tongue_coating:"",pulse:"",treatment_principle:"",prescription:"",doctor_advice:"",remark:"",current_medications:"",status:1,external_userid:""}),E=p(""),B=p(""),K=p(!1),ee=p(!1),G=n=>!n||n.length<11?n:n.replace(/(\d{3})\d{4}(\d{4})/,"$1****$2"),$e=()=>{E.value&&(F.value=!F.value)},le=n=>n&&(n.length===15?n.replace(/(\d{6})\d{5}(\d{4})/,"$1*****$2"):n.length===18?n.replace(/(\d{6})\d{8}(\d{4})/,"$1********$2"):n),Le=()=>{if(K.value=!0,!!E.value){if(M.value){l.value.phone=E.value;return}D.value==="add"&&(l.value.phone=E.value)}},Se=async()=>{if(K.value=!1,M.value){if(l.value.phone&&l.value.phone.length===11&&(E.value=l.value.phone,/^1[3-9]\d{9}$/.test(l.value.phone)))try{const n=await Ne({phone:l.value.phone,id:l.value.id||""});n.exists&&ae.warning(n.message)}catch(n){console.error("检查手机号失败:",n)}return}if(D.value==="add"&&l.value.phone&&l.value.phone.length===11){if(E.value=l.value.phone,/^1[3-9]\d{9}$/.test(l.value.phone))try{const n=await Ne({phone:l.value.phone,id:l.value.id||""});n.exists&&ae.warning(n.message)}catch(n){console.error("检查手机号失败:",n)}l.value.phone=G(l.value.phone)}},Me=()=>{ee.value=!0,B.value&&(l.value.id_card=B.value)},Ye=async()=>{if(ee.value=!1,l.value.id_card&&(l.value.id_card.length===15||l.value.id_card.length===18)){if(B.value=l.value.id_card,/^[1-9]\d{5}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dXx]$/.test(l.value.id_card)){const n=l.value.id_card,e=parseInt(n.substring(6,10)),f=parseInt(n.substring(10,12)),_=parseInt(n.substring(12,14)),c=new Date;let s=c.getFullYear()-e;(c.getMonth()+1{const _=B.value||e;if(_&&!/^[1-9]\d{5}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dXx]$/.test(_)){f(new Error("身份证号格式不正确"));return}f()},trigger:"blur"}],phone:[{required:!0,validator:(n,e,f)=>{const _=E.value||e;if(!_){f(new Error("请输入手机号"));return}if(!/^1[3-9]\d{9}$/.test(_)){f(new Error("手机号格式不正确"));return}f()},trigger:"blur"}],gender:[{required:!0,message:"请选择性别",trigger:"change"}],age:[{required:!0,message:"请输入年龄",trigger:"blur"}],fasting_blood_sugar:[{required:!0,message:"请输入空腹血糖",trigger:"blur"}],diagnosis_type:[{required:!0,message:"请选择诊断类型",trigger:"change"}],diabetes_discovery_year:[{max:50,message:"最多50个字符",trigger:"blur"}]},de=p([]),Ae=p([]),Ge=p([]),ne=p([]),se=p([]),re=p([]),ue=p([]),pe=p([]),me=p([]),_e=p([]),fe=p([]),ge=p([]),ce=p([]),ve=p([]),ye=p([]),be=p([]),Ve=p([]),ke=p([]),he=async()=>{try{const[n,e,f,_,c,s,m,v,T,O,I,$,S,Y,V,w,y,q]=await Promise.all([h({type:"diagnosis_type"}),h({type:"syndrome_type"}),h({type:"diabetes_type"}),h({type:"past_history"}),h({type:"appetite"}),h({type:"water_intake"}),h({type:"diet_condition"}),h({type:"weight_change"}),h({type:"body_feeling"}),h({type:"sleep_condition"}),h({type:"eye_condition"}),h({type:"head_feeling"}),h({type:"sweat_condition"}),h({type:"skin_condition"}),h({type:"urine_condition"}),h({type:"stool_condition"}),h({type:"kidney_condition"}),h({type:"fatty_liver_degree"})]);de.value=(n==null?void 0:n.diagnosis_type)||[],Ae.value=(e==null?void 0:e.syndrome_type)||[],Ge.value=(f==null?void 0:f.diabetes_type)||[],ne.value=(_==null?void 0:_.past_history)||[],se.value=(c==null?void 0:c.appetite)||[],re.value=(s==null?void 0:s.water_intake)||[],ue.value=(m==null?void 0:m.diet_condition)||[],pe.value=(v==null?void 0:v.weight_change)||[],me.value=(T==null?void 0:T.body_feeling)||[],_e.value=(O==null?void 0:O.sleep_condition)||[],fe.value=(I==null?void 0:I.eye_condition)||[],ge.value=($==null?void 0:$.head_feeling)||[],ce.value=(S==null?void 0:S.sweat_condition)||[],ve.value=(Y==null?void 0:Y.skin_condition)||[],ye.value=(V==null?void 0:V.urine_condition)||[],be.value=(w==null?void 0:w.stool_condition)||[],Ve.value=(y==null?void 0:y.kidney_condition)||[],ke.value=(q==null?void 0:q.fatty_liver_degree)||[]}catch(n){console.error("获取字典数据失败:",n)}};async function we(n){const e=await Oe({id:n});E.value=e.phone||"",B.value=e.id_card||"",e.phone=M.value?e.phone||"":G(e.phone||""),e.id_card=le(e.id_card||""),l.value=e;const f=e.diabetes_discovery_year;l.value.diabetes_discovery_year=f==null||f===""?"":String(f)}const Je=async(n,e)=>{var f;if(N.value=!1,D.value=n,z.value=!0,b.value="basic",F.value=!1,await he(),n==="edit"&&e)await we(e);else if(n==="add"){const _=Ul();l.value.assistant_id=((f=_.userInfo)==null?void 0:f.id)||"",l.value.diagnosis_type="follow_up"}},He=async n=>{n&&(N.value=!0,D.value="edit",z.value=!0,b.value="basic",F.value=!1,await he(),await we(n))},Xe=async()=>{var n;if(!N.value){await((n=W.value)==null?void 0:n.validate()),Z.value=!0;try{const e={...l.value,phone:E.value||l.value.phone,id_card:B.value||l.value.id_card};if(D.value==="add"){const f=await hl(e);if(f&&f.id){D.value="edit",F.value=!1,l.value.id=f.id;try{const _=await Oe({id:f.id});l.value.patient_id=_.patient_id,E.value=_.phone||"",B.value=_.id_card||"",l.value.phone=M.value?_.phone||"":G(_.phone||""),l.value.id_card=le(_.id_card||"")}catch(_){console.error("获取详情失败:",_)}}}else await wl(e);Ce("success")}catch(e){console.error("提交失败:",e)}finally{Z.value=!1}}},Qe=n=>{var e;(e=Q.value)==null||e.openById(n.id)},We=()=>{var e;if(N.value)return;const n={id:l.value.id,diagnosis_id:l.value.id,appointment_id:0,patient_name:l.value.patient_name,patient_phone:E.value||l.value.phone,patient_gender:l.value.gender,patient_age:l.value.age,case_record:JSON.parse(JSON.stringify(l.value))};(e=Q.value)==null||e.open(n)},xe=()=>{var n;(n=W.value)==null||n.resetFields(),l.value={id:"",patient_id:"",patient_name:"",id_card:"",phone:"",gender:1,age:void 0,diagnosis_date:"",diagnosis_type:"",syndrome_type:"",diabetes_type:"",diabetes_discovery_year:"",local_hospital_diagnosis:[],local_hospital_name:"",marital_status:void 0,height:void 0,weight:void 0,region:"",systolic_pressure:void 0,diastolic_pressure:void 0,fasting_blood_sugar:"",appetite:[],water_intake:"",diet_condition:[],weight_change:"",body_feeling:[],sleep_condition:[],eye_condition:[],head_feeling:[],sweat_condition:[],skin_condition:[],urine_condition:[],stool_condition:[],kidney_condition:[],fatty_liver_degree:"",past_history:[],trauma_history:0,surgery_history:0,allergy_history:0,family_history:0,pregnancy_history:0,assistant_id:void 0,symptoms:"",tongue_coating:"",pulse:"",treatment_principle:"",prescription:"",doctor_advice:"",remark:"",current_medications:"",status:1,external_userid:""},E.value="",B.value="",K.value=!1,ee.value=!1,F.value=!1,N.value=!1,z.value=!1};return De({open:Je,openViewOnly:He,refreshCaseList:()=>{var n,e;return(e=(n=X.value)==null?void 0:n.refresh)==null?void 0:e.call(n)}}),(n,e)=>{const f=yl,_=al,c=ol,s=tl,m=dl,v=il,T=sl,O=nl,I=rl,$=pl,S=ul,Y=ml,V=fl,w=_l,y=gl,q=ll,C=el,L=cl,Ze=Ke,Ue=vl,je=bl;return d(),g("div",$l,[o(je,{modelValue:t(z),"onUpdate:modelValue":e[44]||(e[44]=i=>Re(z)?z.value=i:null),size:"60%","before-close":xe,"z-index":t(N)?4e3:1500,modal:!0,class:"diagnosis-drawer tcm-diagnosis-drawer"},{header:a(()=>[A("div",Ll,[A("div",Sl,[A("h2",Ml,k(t(Be)),1),t(N)?(d(),u(f,{key:0,type:"info",effect:"plain",round:"",size:"small",class:"tcm-dd-header__badge"},{default:a(()=>[...e[45]||(e[45]=[r(" 只读 ",-1)])]),_:1})):t(D)==="add"?(d(),u(f,{key:1,type:"success",effect:"plain",round:"",size:"small",class:"tcm-dd-header__badge"},{default:a(()=>[...e[46]||(e[46]=[r(" 新建 ",-1)])]),_:1})):(d(),u(f,{key:2,type:"warning",effect:"plain",round:"",size:"small",class:"tcm-dd-header__badge"},{default:a(()=>[...e[47]||(e[47]=[r(" 编辑 ",-1)])]),_:1}))]),t(l).patient_name||t(l).id?(d(),g("p",Yl,[t(l).patient_name?(d(),g("span",ql,k(t(l).patient_name),1)):R("",!0),t(l).id?(d(),g("span",Al,[t(l).patient_name?(d(),g("span",Gl,"·")):R("",!0),r(" 诊单 "+k(t(l).patient_id||t(l).id),1)])):R("",!0)])):R("",!0)])]),footer:a(()=>[A("div",Wl,[o(Ue,{class:"tcm-dd-footer__btn",onClick:xe},{default:a(()=>[r(k(t(N)?"关闭":"取消"),1)]),_:1}),!t(N)&&t(b)==="basic"?(d(),u(Ue,{key:0,class:"tcm-dd-footer__btn",type:"primary",onClick:Xe,loading:t(Z)},{default:a(()=>[...e[75]||(e[75]=[r(" 保存病历 ",-1)])]),_:1},8,["loading"])):R("",!0)])]),default:a(()=>[o(Ze,{modelValue:t(b),"onUpdate:modelValue":e[42]||(e[42]=i=>Re(b)?b.value=i:null),class:"diagnosis-tabs tcm-diagnosis-tabs"},{default:a(()=>[o(C,{label:"病历",name:"basic"},{default:a(()=>[o(q,{ref_key:"formRef",ref:W,model:t(l),rules:qe,"label-width":"160px"},{default:a(()=>[A("fieldset",{disabled:t(N),class:"diagnosis-view-fieldset border-0 min-w-0 p-0 m-0"},[o(_,{"content-position":"left"},{default:a(()=>[...e[48]||(e[48]=[r("基本信息",-1)])]),_:1}),o(s,{label:"诊单ID"},{default:a(()=>[o(c,{modelValue:t(l).patient_id,"onUpdate:modelValue":e[0]||(e[0]=i=>t(l).patient_id=i),disabled:"",placeholder:"系统自动生成"},null,8,["modelValue"])]),_:1}),o(v,{gutter:20},{default:a(()=>[o(m,{span:12},{default:a(()=>[o(s,{label:"姓名",prop:"patient_name"},{default:a(()=>[o(c,{modelValue:t(l).patient_name,"onUpdate:modelValue":e[1]||(e[1]=i=>t(l).patient_name=i),placeholder:"请输入姓名"},null,8,["modelValue"])]),_:1})]),_:1}),o(m,{span:12},{default:a(()=>[o(s,{label:"身份证号",prop:"id_card"},{default:a(()=>[o(c,{modelValue:t(l).id_card,"onUpdate:modelValue":e[2]||(e[2]=i=>t(l).id_card=i),placeholder:"请输入身份证号",maxlength:"18",onFocus:Me,onBlur:Ye},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(v,{gutter:20},{default:a(()=>[o(m,{span:12},{default:a(()=>[o(s,{label:"手机号",prop:"phone"},{default:a(()=>[t(Fe)?(d(),g(x,{key:0},[o(c,{"model-value":t(F)?t(E)||"":G(t(E)||""),readonly:"",placeholder:"点击可查看完整手机号",maxlength:"11",class:"cursor-pointer phone-mask-toggle",onClick:$e},null,8,["model-value"]),t(E)&&!t(F)?(d(),g("p",Hl," 当前为脱敏显示,点击输入框可查看完整号码 ")):R("",!0)],64)):(d(),u(c,{key:1,modelValue:t(l).phone,"onUpdate:modelValue":e[3]||(e[3]=i=>t(l).phone=i),placeholder:"请输入手机号",maxlength:"11",onFocus:Le,onBlur:Se},null,8,["modelValue"]))]),_:1})]),_:1}),o(m,{span:12},{default:a(()=>[o(s,{label:"性别",prop:"gender"},{default:a(()=>[o(O,{modelValue:t(l).gender,"onUpdate:modelValue":e[4]||(e[4]=i=>t(l).gender=i)},{default:a(()=>[o(T,{label:1},{default:a(()=>[...e[49]||(e[49]=[r("男",-1)])]),_:1}),o(T,{label:0},{default:a(()=>[...e[50]||(e[50]=[r("女",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(v,{gutter:20},{default:a(()=>[o(m,{span:12},{default:a(()=>[o(s,{label:"年龄",prop:"age"},{default:a(()=>[o(I,{modelValue:t(l).age,"onUpdate:modelValue":e[5]||(e[5]=i=>t(l).age=i),min:0,max:150,placeholder:"请输入年龄",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(_,{"content-position":"left"},{default:a(()=>[...e[51]||(e[51]=[r("生命体征",-1)])]),_:1}),o(v,{gutter:20},{default:a(()=>[o(m,{span:8},{default:a(()=>[o(s,{label:"婚姻状态",prop:"marital_status"},{default:a(()=>[o(S,{modelValue:t(l).marital_status,"onUpdate:modelValue":e[6]||(e[6]=i=>t(l).marital_status=i),placeholder:"请选择婚姻状态",class:"w-full","popper-options":{strategy:"fixed"},"popper-class":"high-z-index"},{default:a(()=>[o($,{label:"未婚",value:0}),o($,{label:"已婚",value:1}),o($,{label:"离异",value:2})]),_:1},8,["modelValue"])]),_:1})]),_:1}),o(m,{span:8},{default:a(()=>[o(s,{label:"就诊人身高(cm)",prop:"height"},{default:a(()=>[o(I,{modelValue:t(l).height,"onUpdate:modelValue":e[7]||(e[7]=i=>t(l).height=i),min:0,max:300,placeholder:"请输入身高",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1}),o(m,{span:8},{default:a(()=>[o(s,{label:"体重(kg)",prop:"weight"},{default:a(()=>[o(I,{modelValue:t(l).weight,"onUpdate:modelValue":e[8]||(e[8]=i=>t(l).weight=i),min:0,max:500,step:.1,placeholder:"请输入体重",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(v,{gutter:20},{default:a(()=>[o(m,{span:8},{default:a(()=>[o(s,{label:"地区",prop:"region"},{default:a(()=>[o(c,{modelValue:t(l).region,"onUpdate:modelValue":e[9]||(e[9]=i=>t(l).region=i),placeholder:"请输入地区"},null,8,["modelValue"])]),_:1})]),_:1}),o(m,{span:8},{default:a(()=>[o(s,{label:"就诊人血压(高压mmHg)",prop:"systolic_pressure"},{default:a(()=>[o(I,{modelValue:t(l).systolic_pressure,"onUpdate:modelValue":e[10]||(e[10]=i=>t(l).systolic_pressure=i),min:0,max:250,placeholder:"请输入高压",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1}),o(m,{span:8},{default:a(()=>[o(s,{label:"就诊人血压(低压mmHg)",prop:"diastolic_pressure"},{default:a(()=>[o(I,{modelValue:t(l).diastolic_pressure,"onUpdate:modelValue":e[11]||(e[11]=i=>t(l).diastolic_pressure=i),min:0,max:150,placeholder:"请输入低压",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(v,{gutter:20},{default:a(()=>[o(m,{span:8},{default:a(()=>[o(s,{label:"空腹血糖(mmol/L)",prop:"fasting_blood_sugar"},{default:a(()=>[o(c,{modelValue:t(l).fasting_blood_sugar,"onUpdate:modelValue":e[12]||(e[12]=i=>t(l).fasting_blood_sugar=i),placeholder:"请输入空腹血糖,如:8.5 或 8-9",maxlength:"20",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(v,{gutter:20},{default:a(()=>[o(m,{span:12},{default:a(()=>[o(s,{label:"诊断类型",prop:"diagnosis_type"},{default:a(()=>[o(S,{modelValue:t(l).diagnosis_type,"onUpdate:modelValue":e[13]||(e[13]=i=>t(l).diagnosis_type=i),placeholder:"请选择诊断类型",class:"w-full","popper-options":{strategy:"fixed"},"popper-class":"high-z-index"},{default:a(()=>[(d(!0),g(x,null,U(t(de),i=>(d(),u($,{key:i.value,label:i.name,value:i.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(v,{gutter:20},{default:a(()=>[o(m,{span:12},{default:a(()=>[o(s,{label:"状态",prop:"status"},{default:a(()=>[o(O,{modelValue:t(l).status,"onUpdate:modelValue":e[14]||(e[14]=i=>t(l).status=i)},{default:a(()=>[o(T,{label:1},{default:a(()=>[...e[52]||(e[52]=[r("启用",-1)])]),_:1}),o(T,{label:0},{default:a(()=>[...e[53]||(e[53]=[r("禁用",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(v,{gutter:20},{default:a(()=>[o(m,{span:12},{default:a(()=>[o(s,{label:"在用药物",prop:"current_medications"},{default:a(()=>[o(c,{modelValue:t(l).current_medications,"onUpdate:modelValue":e[15]||(e[15]=i=>t(l).current_medications=i),type:"textarea",rows:3,placeholder:"请填写患者当前正在使用的药物(如降压药、降糖药等),多种请换行或顿号分隔",maxlength:"2000","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(_,{"content-position":"left"},{default:a(()=>[...e[54]||(e[54]=[r("主诉",-1)])]),_:1}),o(v,{gutter:20},{default:a(()=>[o(m,{span:12},{default:a(()=>[o(s,{label:"当地医院诊断日期",prop:"diagnosis_date"},{default:a(()=>[o(Y,{modelValue:t(l).diagnosis_date,"onUpdate:modelValue":e[16]||(e[16]=i=>t(l).diagnosis_date=i),type:"date",placeholder:"请选择诊断日期","value-format":"YYYY-MM-DD",class:"w-full","popper-options":{strategy:"fixed"},"popper-class":"high-z-index"},null,8,["modelValue"])]),_:1})]),_:1}),o(m,{span:12},{default:a(()=>[o(s,{label:"发现糖尿病患病史",prop:"diabetes_discovery_year"},{default:a(()=>[o(c,{modelValue:t(l).diabetes_discovery_year,"onUpdate:modelValue":e[17]||(e[17]=i=>t(l).diabetes_discovery_year=i),clearable:"",maxlength:"50","show-word-limit":"",placeholder:"可填数字或文字,如:5、1年、半年",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(s,{label:"当地医院诊断结果",prop:"local_hospital_diagnosis",class:"checkbox-form-item"},{default:a(()=>[o(w,{modelValue:t(l).local_hospital_diagnosis,"onUpdate:modelValue":e[18]||(e[18]=i=>t(l).local_hospital_diagnosis=i)},{default:a(()=>[o(V,{label:"糖尿病"},{default:a(()=>[...e[55]||(e[55]=[r("糖尿病",-1)])]),_:1}),o(V,{label:"消渴病"},{default:a(()=>[...e[56]||(e[56]=[r("消渴病",-1)])]),_:1}),o(V,{label:"糖尿病前期"},{default:a(()=>[...e[57]||(e[57]=[r("糖尿病前期",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),o(s,{label:"当地就诊医院名称",prop:"local_hospital_name"},{default:a(()=>[o(c,{modelValue:t(l).local_hospital_name,"onUpdate:modelValue":e[19]||(e[19]=i=>t(l).local_hospital_name=i),placeholder:"请输入当地就诊医院名称(不能填写当地、本地、互联网等关键词)"},null,8,["modelValue"])]),_:1}),o(_,{"content-position":"left"},{default:a(()=>[...e[58]||(e[58]=[r("现病史",-1)])]),_:1}),o(v,{gutter:20},{default:a(()=>[o(s,{label:"口腔感觉",class:"checkbox-form-item"},{default:a(()=>[o(w,{modelValue:t(l).appetite,"onUpdate:modelValue":e[20]||(e[20]=i=>t(l).appetite=i)},{default:a(()=>[(d(!0),g(x,null,U(t(se),i=>(d(),u(V,{key:i.value,label:i.value},{default:a(()=>[r(k(i.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1}),o(v,{gutter:20},{default:a(()=>[o(m,{span:20},{default:a(()=>[o(s,{label:"每日饮水量",class:"compact-form-item"},{default:a(()=>[o(O,{modelValue:t(l).water_intake,"onUpdate:modelValue":e[21]||(e[21]=i=>t(l).water_intake=i)},{default:a(()=>[o(y,{label:""},{default:a(()=>[...e[59]||(e[59]=[r("无",-1)])]),_:1}),(d(!0),g(x,null,U(t(re),i=>(d(),u(y,{key:i.value,label:i.value},{default:a(()=>[r(k(i.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(v,{gutter:20},{default:a(()=>[o(m,{span:12},{default:a(()=>[o(s,{label:"近一个月体重变化",class:"compact-form-item"},{default:a(()=>[o(O,{modelValue:t(l).weight_change,"onUpdate:modelValue":e[22]||(e[22]=i=>t(l).weight_change=i)},{default:a(()=>[o(y,{label:""},{default:a(()=>[...e[60]||(e[60]=[r("无",-1)])]),_:1}),(d(!0),g(x,null,U(t(pe),i=>(d(),u(y,{key:i.value,label:i.value},{default:a(()=>[r(k(i.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(v,{gutter:20},{default:a(()=>[o(m,{span:12},{default:a(()=>[o(s,{label:"脂肪肝程度",class:"compact-form-item"},{default:a(()=>[o(O,{modelValue:t(l).fatty_liver_degree,"onUpdate:modelValue":e[23]||(e[23]=i=>t(l).fatty_liver_degree=i)},{default:a(()=>[o(y,{label:""},{default:a(()=>[...e[61]||(e[61]=[r("无",-1)])]),_:1}),(d(!0),g(x,null,U(t(ke),i=>(d(),u(y,{key:i.value,label:i.value},{default:a(()=>[r(k(i.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(s,{label:"饮食情况",class:"checkbox-form-item"},{default:a(()=>[o(w,{modelValue:t(l).diet_condition,"onUpdate:modelValue":e[24]||(e[24]=i=>t(l).diet_condition=i)},{default:a(()=>[(d(!0),g(x,null,U(t(ue),i=>(d(),u(V,{key:i.value,label:i.value},{default:a(()=>[r(k(i.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),o(s,{label:"肢体感觉",class:"checkbox-form-item"},{default:a(()=>[o(w,{modelValue:t(l).body_feeling,"onUpdate:modelValue":e[25]||(e[25]=i=>t(l).body_feeling=i)},{default:a(()=>[(d(!0),g(x,null,U(t(me),i=>(d(),u(V,{key:i.value,label:i.value},{default:a(()=>[r(k(i.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),o(s,{label:"睡眠情况",class:"checkbox-form-item"},{default:a(()=>[o(w,{modelValue:t(l).sleep_condition,"onUpdate:modelValue":e[26]||(e[26]=i=>t(l).sleep_condition=i)},{default:a(()=>[(d(!0),g(x,null,U(t(_e),i=>(d(),u(V,{key:i.value,label:i.value},{default:a(()=>[r(k(i.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),o(s,{label:"眼睛情况",class:"checkbox-form-item"},{default:a(()=>[o(w,{modelValue:t(l).eye_condition,"onUpdate:modelValue":e[27]||(e[27]=i=>t(l).eye_condition=i)},{default:a(()=>[(d(!0),g(x,null,U(t(fe),i=>(d(),u(V,{key:i.value,label:i.value},{default:a(()=>[r(k(i.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),o(s,{label:"头部感觉",class:"checkbox-form-item"},{default:a(()=>[o(w,{modelValue:t(l).head_feeling,"onUpdate:modelValue":e[28]||(e[28]=i=>t(l).head_feeling=i)},{default:a(()=>[(d(!0),g(x,null,U(t(ge),i=>(d(),u(V,{key:i.value,label:i.value},{default:a(()=>[r(k(i.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),o(s,{label:"出汗情况",class:"checkbox-form-item"},{default:a(()=>[o(w,{modelValue:t(l).sweat_condition,"onUpdate:modelValue":e[29]||(e[29]=i=>t(l).sweat_condition=i)},{default:a(()=>[(d(!0),g(x,null,U(t(ce),i=>(d(),u(V,{key:i.value,label:i.value},{default:a(()=>[r(k(i.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),o(s,{label:"皮肤情况",class:"checkbox-form-item"},{default:a(()=>[o(w,{modelValue:t(l).skin_condition,"onUpdate:modelValue":e[30]||(e[30]=i=>t(l).skin_condition=i)},{default:a(()=>[(d(!0),g(x,null,U(t(ve),i=>(d(),u(V,{key:i.value,label:i.value},{default:a(()=>[r(k(i.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),o(s,{label:"小便情况",class:"checkbox-form-item"},{default:a(()=>[o(w,{modelValue:t(l).urine_condition,"onUpdate:modelValue":e[31]||(e[31]=i=>t(l).urine_condition=i)},{default:a(()=>[(d(!0),g(x,null,U(t(ye),i=>(d(),u(V,{key:i.value,label:i.value},{default:a(()=>[r(k(i.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),o(s,{label:"大便情况",class:"checkbox-form-item"},{default:a(()=>[o(w,{modelValue:t(l).stool_condition,"onUpdate:modelValue":e[32]||(e[32]=i=>t(l).stool_condition=i)},{default:a(()=>[(d(!0),g(x,null,U(t(be),i=>(d(),u(V,{key:i.value,label:i.value},{default:a(()=>[r(k(i.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),o(s,{label:"腰肾情况",class:"checkbox-form-item"},{default:a(()=>[o(w,{modelValue:t(l).kidney_condition,"onUpdate:modelValue":e[33]||(e[33]=i=>t(l).kidney_condition=i)},{default:a(()=>[(d(!0),g(x,null,U(t(Ve),i=>(d(),u(V,{key:i.value,label:i.value},{default:a(()=>[r(k(i.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),o(s,{label:"其他补充",prop:"symptoms"},{default:a(()=>[o(c,{modelValue:t(l).symptoms,"onUpdate:modelValue":e[34]||(e[34]=i=>t(l).symptoms=i),type:"textarea",rows:3,placeholder:"请输入症状"},null,8,["modelValue"])]),_:1}),o(_,{"content-position":"left"},{default:a(()=>[...e[62]||(e[62]=[r("既往史",-1)])]),_:1}),o(s,{label:"",prop:"past_history",class:"checkbox-form-item"},{default:a(()=>[o(w,{modelValue:t(l).past_history,"onUpdate:modelValue":e[35]||(e[35]=i=>t(l).past_history=i)},{default:a(()=>[(d(!0),g(x,null,U(t(ne),i=>(d(),u(V,{key:i.value,label:i.value},{default:a(()=>[r(k(i.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),o(_,{"content-position":"left"},{default:a(()=>[...e[63]||(e[63]=[r("其他病史",-1)])]),_:1}),o(v,{gutter:20},{default:a(()=>[o(m,{span:8},{default:a(()=>[o(s,{label:"外伤史"},{default:a(()=>[o(O,{modelValue:t(l).trauma_history,"onUpdate:modelValue":e[36]||(e[36]=i=>t(l).trauma_history=i)},{default:a(()=>[o(y,{label:1},{default:a(()=>[...e[64]||(e[64]=[r("有",-1)])]),_:1}),o(y,{label:0},{default:a(()=>[...e[65]||(e[65]=[r("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1}),o(m,{span:8},{default:a(()=>[o(s,{label:"手术史"},{default:a(()=>[o(O,{modelValue:t(l).surgery_history,"onUpdate:modelValue":e[37]||(e[37]=i=>t(l).surgery_history=i)},{default:a(()=>[o(y,{label:1},{default:a(()=>[...e[66]||(e[66]=[r("有",-1)])]),_:1}),o(y,{label:0},{default:a(()=>[...e[67]||(e[67]=[r("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1}),o(m,{span:8},{default:a(()=>[o(s,{label:"过敏史"},{default:a(()=>[o(O,{modelValue:t(l).allergy_history,"onUpdate:modelValue":e[38]||(e[38]=i=>t(l).allergy_history=i)},{default:a(()=>[o(y,{label:1},{default:a(()=>[...e[68]||(e[68]=[r("有",-1)])]),_:1}),o(y,{label:0},{default:a(()=>[...e[69]||(e[69]=[r("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(v,{gutter:20},{default:a(()=>[o(m,{span:12},{default:a(()=>[o(s,{label:"家族病史"},{default:a(()=>[o(O,{modelValue:t(l).family_history,"onUpdate:modelValue":e[39]||(e[39]=i=>t(l).family_history=i)},{default:a(()=>[o(y,{label:1},{default:a(()=>[...e[70]||(e[70]=[r("有",-1)])]),_:1}),o(y,{label:0},{default:a(()=>[...e[71]||(e[71]=[r("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1}),o(m,{span:12},{default:a(()=>[o(s,{label:"妊娠哺乳史"},{default:a(()=>[o(O,{modelValue:t(l).pregnancy_history,"onUpdate:modelValue":e[40]||(e[40]=i=>t(l).pregnancy_history=i)},{default:a(()=>[o(y,{label:1},{default:a(()=>[...e[72]||(e[72]=[r("有",-1)])]),_:1}),o(y,{label:0},{default:a(()=>[...e[73]||(e[73]=[r("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(_,{"content-position":"left"},{default:a(()=>[...e[74]||(e[74]=[r("诊断信息",-1)])]),_:1}),o(s,{label:"病史补充",prop:"remark"},{default:a(()=>[o(c,{modelValue:t(l).remark,"onUpdate:modelValue":e[41]||(e[41]=i=>t(l).remark=i),type:"textarea",rows:2,placeholder:"请输入病史补充"},null,8,["modelValue"])]),_:1})],8,Jl)]),_:1},8,["model"])]),_:1}),o(C,{label:"医生备注",name:"doctorNote",disabled:!t(l).id,lazy:""},{default:a(()=>[t(l).id?(d(),g("div",Xl,[o(Cl,{notes:t(j),"diagnosis-id":Number(t(l).id),readonly:t(N),onRefresh:oe},null,8,["notes","diagnosis-id","readonly"])])):(d(),u(L,{key:1,description:"请先保存诊单后查看"}))]),_:1},8,["disabled"]),t(te)?(d(),u(C,{key:0,label:"日常记录",name:"daily",disabled:!t(l).id,lazy:""},{default:a(()=>[t(l).id?(d(),u(Nl,{key:0,"diagnosis-id":Number(t(l).id),"patient-id":Number(t(l).patient_id),age:t(l).age,"patient-name":t(l).patient_name,"read-only":t(N)},null,8,["diagnosis-id","patient-id","age","patient-name","read-only"])):(d(),u(L,{key:1,description:"请先保存诊单后查看"}))]),_:1},8,["disabled"])):R("",!0),t(P)(["tcm.diagnosis/chufang"])?(d(),u(C,{key:1,label:"处方",name:"bingli",disabled:!t(l).id},{default:a(()=>[t(l).id?(d(),g("div",Ql,[o(Ol,{ref_key:"caseRecordListRef",ref:X,"diagnosis-id":Number(t(l).id),"read-only":t(N),onView:Qe,onOpenPrescription:We},null,8,["diagnosis-id","read-only"])])):(d(),u(L,{key:1,description:"请先保存诊单,开方后病历将在此显示"}))]),_:1},8,["disabled"])):R("",!0),t(P)(["tcm.diagnosis/patientOrders"])?(d(),u(C,{key:2,label:"业务订单",name:"patientOrders",disabled:!t(l).id,lazy:""},{default:a(()=>[t(l).id?(d(),u(zl,{key:0,"diagnosis-id":Number(t(l).id),"patient-id":Number(t(l).patient_id)||0},null,8,["diagnosis-id","patient-id"])):(d(),u(L,{key:1,description:"请先保存诊单后查看业务订单"}))]),_:1},8,["disabled"])):R("",!0),t(P)(["tcm.diagnosis/huifang"])?(d(),u(C,{key:3,label:"视频录制回放记录",name:"visit",disabled:!t(l).id,lazy:""},{default:a(()=>[t(l).id?(d(),u(Pl,{key:0,ref_key:"callRecordPanelRef",ref:ze,"diagnosis-id":Number(t(l).id)},null,8,["diagnosis-id"])):(d(),u(L,{key:1,description:"请先保存诊单后再查看视频录制回放记录"}))]),_:1},8,["disabled"])):R("",!0),t(P)(["tcm.diagnosis/chat"])?(d(),u(C,{key:4,label:"聊天记录",name:"chat",disabled:!t(l).id,lazy:""},{default:a(()=>[t(b)==="chat"&&t(l).id?(d(),u(Rl,{key:0,"diagnosis-id":Number(t(l).id)},null,8,["diagnosis-id"])):t(l).id?R("",!0):(d(),u(L,{key:1,description:"请先保存诊单后再查看聊天记录"}))]),_:1},8,["disabled"])):R("",!0),t(P)(["tcm.diagnosis/assign"])||t(P)(["tcm.diagnosis/detail"])?(d(),u(C,{key:5,label:"指派医助记录",name:"assignLog",disabled:!t(l).id,lazy:""},{default:a(()=>[t(l).id?(d(),u(Dl,{key:0,"diagnosis-id":Number(t(l).id)},null,8,["diagnosis-id"])):(d(),u(L,{key:1,description:"请先保存诊单后再查看指派记录"}))]),_:1},8,["disabled"])):R("",!0),t(P)(["doctor.appointment/lists"])?(d(),u(C,{key:6,label:"挂号记录",name:"appointmentRecords",disabled:!t(l).id,lazy:""},{default:a(()=>[t(l).id?(d(),u(Il,{key:0,"diagnosis-id":Number(t(l).id)},null,8,["diagnosis-id"])):(d(),u(L,{key:1,description:"请先保存诊单后再查看挂号记录"}))]),_:1},8,["disabled"])):R("",!0)]),_:1},8,["modelValue"]),o(Fl,{ref_key:"prescriptionRef",ref:Q,onSuccess:e[43]||(e[43]=i=>{var J,Ee;return(Ee=(J=t(X))==null?void 0:J.refresh)==null?void 0:Ee.call(J)})},null,512)]),_:1},8,["modelValue","z-index"])])}}}),xt=El(Zl,[["__scopeId","data-v-4d5cecd1"]]);export{xt as default}; +import{m as We,l as el,D as ll,U as al,B as tl,C as ol,a4 as il,a5 as dl,G as nl,I as sl,h as rl,P as ul,Q as pl,a2 as ml,af as _l,al as fl,F as gl,R as cl,i as vl,T as yl,e as bl,E as ae}from"./element-plus-DFTWCWyi.js";import{K as Vl,Y as Ne,Z as kl,_ as hl,X as Oe,$ as wl}from"./tcm-BcqaE0lo.js";import{e as xl,u as Ul,m as h,_ as El}from"./index-DBREMm_z.js";import{h as P}from"./perm-Bo9eM8XD.js";import Nl from"./DailyMatrix-CZKqLaUg.js";import Ol from"./CaseRecordList-X66GZZcg.js";import Pl from"./CallRecordPanel-D709DmJk.js";import Rl from"./ImChatRecordPanel-C40Ue1e_.js";import Dl from"./AssignLogPanel-B1RENXkE.js";import Il from"./AppointmentRecordPanel-DH84Bquy.js";import Cl from"./NoteTimeline-BzPD6QHw.js";/* empty css */import zl from"./PatientOrderList-Vzhj0FzC.js";import Fl from"./index-B91OSiYQ.js";import{g as Bl}from"./patient-DdWkVUZB.js";import{f as Tl,w as Pe,ak as d,I as g,a as o,aN as a,J as A,O as r,F as x,H as R,G as u,ap as U,A as J}from"./@vue/runtime-core-C6bnekPw.js";import{n as p,a as Re,y as t}from"./@vue/reactivity-DiY1c2vO.js";import{Q as k}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./picker-BCRrEZaA.js";import"./index-BwF7vczx.js";import"./index-BiPYXDtP.js";import"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import"./index-CbfZXeGu.js";import"./index-CRoZWY-W.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-BimpIRb_.js";import"./index.vue_vue_type_script_setup_true_lang-x0oL2ShL.js";import"./usePaging-VsbTxSU0.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./vue-echarts-BNtg2q_G.js";import"./resize-detector-G6vbKCU7.js";import"./DiagnosisTodoList-CgT2M9eR.js";import"./blood-thresholds-CJ1fqMjh.js";import"./RecordingPlaybackBlock-COxLgEiR.js";import"./RecordingVideoPlayer-DJ_BP9x7.js";import"./im-business-message-parse-QKjFLn3X.js";import"./doctor-ul0r578d.js";import"./index-DcDP_Tmx.js";import"./medicine-CCdxjQY6.js";import"./diabetes-discovery-display-B_wmGXQJ.js";import"./html2canvas-QH1iLAAe.js";const $l={class:"edit-drawer"},Ll={class:"tcm-dd-header"},Sl={class:"tcm-dd-header__row"},Ml={class:"tcm-dd-header__title"},Yl={key:0,class:"tcm-dd-header__sub"},ql={key:0,class:"tcm-dd-header__name"},Al={key:1,class:"tcm-dd-header__id"},Gl={key:0,class:"tcm-dd-header__sep"},Hl=["disabled"],Jl={key:0,class:"text-xs text-gray-400 mt-1"},Xl={key:0,class:"p-4"},Ql={key:0,class:"bingli-tab-content"},Kl={class:"tcm-dd-footer"},Zl=Tl({__name:"edit",emits:["success"],setup(jl,{expose:De,emit:Ie}){const Ce=Ie;xl();const X=p(),ze=p(null),Q=p(),z=p(!1),N=p(!1),K=p(),D=p("add"),Z=p(!1),M=J(()=>P(["tcm.diagnosis/phonePlain"])),te=J(()=>P(["tcm.diagnosis/dailyRecord"])),Fe=J(()=>D.value==="edit"&&!M.value),F=p(!1),b=p("basic"),Be=J(()=>N.value?"诊单详情":D.value==="add"?"新增诊单":"编辑诊单"),j=p([]),oe=async()=>{if(l.value.id)try{j.value=await Bl({diagnosis_id:Number(l.value.id)})||[]}catch{j.value=[]}},ie=p([]),Te=async()=>{if(l.value.id)try{ie.value=await Vl({diagnosis_id:Number(l.value.id)})||[]}catch{ie.value=[]}};Pe(()=>b.value,async n=>{n==="doctorNote"&&l.value.id&&await oe(),n==="trackingNote"&&l.value.id&&await Te()}),Pe([z,b],()=>{z.value&&(b.value==="chat"&&!P(["tcm.diagnosis/chat"])&&(b.value="basic"),b.value==="visit"&&!P(["tcm.diagnosis/huifang"])&&(b.value="basic"),b.value==="assignLog"&&!P(["tcm.diagnosis/assign"])&&!P(["tcm.diagnosis/detail"])&&(b.value="basic"),b.value==="appointmentRecords"&&!P(["doctor.appointment/lists"])&&(b.value="basic"),b.value==="daily"&&!te.value&&(b.value="basic"))});const l=p({id:"",patient_id:"",patient_name:"",id_card:"",phone:"",gender:1,age:void 0,diagnosis_date:"",diagnosis_type:"",syndrome_type:"",diabetes_type:"",diabetes_discovery_year:"",local_hospital_diagnosis:[],local_hospital_name:"",marital_status:void 0,height:void 0,weight:void 0,region:"",systolic_pressure:void 0,diastolic_pressure:void 0,fasting_blood_sugar:"",appetite:[],water_intake:"",diet_condition:[],weight_change:"",body_feeling:[],sleep_condition:[],eye_condition:[],head_feeling:[],sweat_condition:[],skin_condition:[],urine_condition:[],stool_condition:[],kidney_condition:[],fatty_liver_degree:"",past_history:[],trauma_history:0,surgery_history:0,allergy_history:0,family_history:0,pregnancy_history:0,assistant_id:void 0,symptoms:"",tongue_coating:"",pulse:"",treatment_principle:"",prescription:"",doctor_advice:"",remark:"",current_medications:"",status:1,external_userid:""}),E=p(""),B=p(""),W=p(!1),ee=p(!1),G=n=>!n||n.length<11?n:n.replace(/(\d{3})\d{4}(\d{4})/,"$1****$2"),$e=()=>{E.value&&(F.value=!F.value)},le=n=>n&&(n.length===15?n.replace(/(\d{6})\d{5}(\d{4})/,"$1*****$2"):n.length===18?n.replace(/(\d{6})\d{8}(\d{4})/,"$1********$2"):n),Le=()=>{if(W.value=!0,!!E.value){if(M.value){l.value.phone=E.value;return}D.value==="add"&&(l.value.phone=E.value)}},Se=async()=>{if(W.value=!1,M.value){if(l.value.phone&&l.value.phone.length===11&&(E.value=l.value.phone,/^1[3-9]\d{9}$/.test(l.value.phone)))try{const n=await Ne({phone:l.value.phone,id:l.value.id||""});n.exists&&ae.warning(n.message)}catch(n){console.error("检查手机号失败:",n)}return}if(D.value==="add"&&l.value.phone&&l.value.phone.length===11){if(E.value=l.value.phone,/^1[3-9]\d{9}$/.test(l.value.phone))try{const n=await Ne({phone:l.value.phone,id:l.value.id||""});n.exists&&ae.warning(n.message)}catch(n){console.error("检查手机号失败:",n)}l.value.phone=G(l.value.phone)}},Me=()=>{ee.value=!0,B.value&&(l.value.id_card=B.value)},Ye=async()=>{if(ee.value=!1,l.value.id_card&&(l.value.id_card.length===15||l.value.id_card.length===18)){if(B.value=l.value.id_card,/^[1-9]\d{5}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dXx]$/.test(l.value.id_card)){const n=l.value.id_card,e=parseInt(n.substring(6,10)),f=parseInt(n.substring(10,12)),_=parseInt(n.substring(12,14)),c=new Date;let s=c.getFullYear()-e;(c.getMonth()+1{const _=B.value||e;if(_&&!/^[1-9]\d{5}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dXx]$/.test(_)){f(new Error("身份证号格式不正确"));return}f()},trigger:"blur"}],phone:[{required:!0,validator:(n,e,f)=>{const _=E.value||e;if(!_){f(new Error("请输入手机号"));return}if(!/^1[3-9]\d{9}$/.test(_)){f(new Error("手机号格式不正确"));return}f()},trigger:"blur"}],gender:[{required:!0,message:"请选择性别",trigger:"change"}],age:[{required:!0,message:"请输入年龄",trigger:"blur"}],fasting_blood_sugar:[{required:!0,message:"请输入空腹血糖",trigger:"blur"}],diagnosis_type:[{required:!0,message:"请选择诊断类型",trigger:"change"}],diabetes_discovery_year:[{max:50,message:"最多50个字符",trigger:"blur"}]},de=p([]),Ae=p([]),Ge=p([]),ne=p([]),se=p([]),re=p([]),ue=p([]),pe=p([]),me=p([]),_e=p([]),fe=p([]),ge=p([]),ce=p([]),ve=p([]),ye=p([]),be=p([]),Ve=p([]),ke=p([]),he=async()=>{try{const[n,e,f,_,c,s,m,v,T,O,I,$,S,Y,V,w,y,q]=await Promise.all([h({type:"diagnosis_type"}),h({type:"syndrome_type"}),h({type:"diabetes_type"}),h({type:"past_history"}),h({type:"appetite"}),h({type:"water_intake"}),h({type:"diet_condition"}),h({type:"weight_change"}),h({type:"body_feeling"}),h({type:"sleep_condition"}),h({type:"eye_condition"}),h({type:"head_feeling"}),h({type:"sweat_condition"}),h({type:"skin_condition"}),h({type:"urine_condition"}),h({type:"stool_condition"}),h({type:"kidney_condition"}),h({type:"fatty_liver_degree"})]);de.value=(n==null?void 0:n.diagnosis_type)||[],Ae.value=(e==null?void 0:e.syndrome_type)||[],Ge.value=(f==null?void 0:f.diabetes_type)||[],ne.value=(_==null?void 0:_.past_history)||[],se.value=(c==null?void 0:c.appetite)||[],re.value=(s==null?void 0:s.water_intake)||[],ue.value=(m==null?void 0:m.diet_condition)||[],pe.value=(v==null?void 0:v.weight_change)||[],me.value=(T==null?void 0:T.body_feeling)||[],_e.value=(O==null?void 0:O.sleep_condition)||[],fe.value=(I==null?void 0:I.eye_condition)||[],ge.value=($==null?void 0:$.head_feeling)||[],ce.value=(S==null?void 0:S.sweat_condition)||[],ve.value=(Y==null?void 0:Y.skin_condition)||[],ye.value=(V==null?void 0:V.urine_condition)||[],be.value=(w==null?void 0:w.stool_condition)||[],Ve.value=(y==null?void 0:y.kidney_condition)||[],ke.value=(q==null?void 0:q.fatty_liver_degree)||[]}catch(n){console.error("获取字典数据失败:",n)}};async function we(n){const e=await Oe({id:n});E.value=e.phone||"",B.value=e.id_card||"",e.phone=M.value?e.phone||"":G(e.phone||""),e.id_card=le(e.id_card||""),l.value=e;const f=e.diabetes_discovery_year;l.value.diabetes_discovery_year=f==null||f===""?"":String(f)}const He=async(n,e)=>{var f;if(N.value=!1,D.value=n,z.value=!0,b.value="basic",F.value=!1,await he(),n==="edit"&&e)await we(e);else if(n==="add"){const _=Ul();l.value.assistant_id=((f=_.userInfo)==null?void 0:f.id)||"",l.value.diagnosis_type="follow_up"}},Je=async n=>{n&&(N.value=!0,D.value="edit",z.value=!0,b.value="basic",F.value=!1,await he(),await we(n))},Xe=async()=>{var n;if(!N.value){await((n=K.value)==null?void 0:n.validate()),Z.value=!0;try{const e={...l.value,phone:E.value||l.value.phone,id_card:B.value||l.value.id_card};if(D.value==="add"){const f=await hl(e);if(f&&f.id){D.value="edit",F.value=!1,l.value.id=f.id;try{const _=await Oe({id:f.id});l.value.patient_id=_.patient_id,E.value=_.phone||"",B.value=_.id_card||"",l.value.phone=M.value?_.phone||"":G(_.phone||""),l.value.id_card=le(_.id_card||"")}catch(_){console.error("获取详情失败:",_)}}}else await wl(e);Ce("success")}catch(e){console.error("提交失败:",e)}finally{Z.value=!1}}},Qe=n=>{var e;(e=Q.value)==null||e.openById(n.id)},Ke=()=>{var e;if(N.value)return;const n={id:l.value.id,diagnosis_id:l.value.id,appointment_id:0,patient_name:l.value.patient_name,patient_phone:E.value||l.value.phone,patient_gender:l.value.gender,patient_age:l.value.age,case_record:JSON.parse(JSON.stringify(l.value))};(e=Q.value)==null||e.open(n)},xe=()=>{var n;(n=K.value)==null||n.resetFields(),l.value={id:"",patient_id:"",patient_name:"",id_card:"",phone:"",gender:1,age:void 0,diagnosis_date:"",diagnosis_type:"",syndrome_type:"",diabetes_type:"",diabetes_discovery_year:"",local_hospital_diagnosis:[],local_hospital_name:"",marital_status:void 0,height:void 0,weight:void 0,region:"",systolic_pressure:void 0,diastolic_pressure:void 0,fasting_blood_sugar:"",appetite:[],water_intake:"",diet_condition:[],weight_change:"",body_feeling:[],sleep_condition:[],eye_condition:[],head_feeling:[],sweat_condition:[],skin_condition:[],urine_condition:[],stool_condition:[],kidney_condition:[],fatty_liver_degree:"",past_history:[],trauma_history:0,surgery_history:0,allergy_history:0,family_history:0,pregnancy_history:0,assistant_id:void 0,symptoms:"",tongue_coating:"",pulse:"",treatment_principle:"",prescription:"",doctor_advice:"",remark:"",current_medications:"",status:1,external_userid:""},E.value="",B.value="",W.value=!1,ee.value=!1,F.value=!1,N.value=!1,z.value=!1};return De({open:He,openViewOnly:Je,refreshCaseList:()=>{var n,e;return(e=(n=X.value)==null?void 0:n.refresh)==null?void 0:e.call(n)}}),(n,e)=>{const f=yl,_=al,c=ol,s=tl,m=dl,v=il,T=sl,O=nl,I=rl,$=pl,S=ul,Y=ml,V=fl,w=_l,y=gl,q=ll,C=el,L=cl,Ze=We,Ue=vl,je=bl;return d(),g("div",$l,[o(je,{modelValue:t(z),"onUpdate:modelValue":e[44]||(e[44]=i=>Re(z)?z.value=i:null),size:"60%","before-close":xe,"z-index":t(N)?4e3:1500,modal:!0,class:"diagnosis-drawer tcm-diagnosis-drawer"},{header:a(()=>[A("div",Ll,[A("div",Sl,[A("h2",Ml,k(t(Be)),1),t(N)?(d(),u(f,{key:0,type:"info",effect:"plain",round:"",size:"small",class:"tcm-dd-header__badge"},{default:a(()=>[...e[45]||(e[45]=[r(" 只读 ",-1)])]),_:1})):t(D)==="add"?(d(),u(f,{key:1,type:"success",effect:"plain",round:"",size:"small",class:"tcm-dd-header__badge"},{default:a(()=>[...e[46]||(e[46]=[r(" 新建 ",-1)])]),_:1})):(d(),u(f,{key:2,type:"warning",effect:"plain",round:"",size:"small",class:"tcm-dd-header__badge"},{default:a(()=>[...e[47]||(e[47]=[r(" 编辑 ",-1)])]),_:1}))]),t(l).patient_name||t(l).id?(d(),g("p",Yl,[t(l).patient_name?(d(),g("span",ql,k(t(l).patient_name),1)):R("",!0),t(l).id?(d(),g("span",Al,[t(l).patient_name?(d(),g("span",Gl,"·")):R("",!0),r(" 诊单 "+k(t(l).patient_id||t(l).id),1)])):R("",!0)])):R("",!0)])]),footer:a(()=>[A("div",Kl,[o(Ue,{class:"tcm-dd-footer__btn",onClick:xe},{default:a(()=>[r(k(t(N)?"关闭":"取消"),1)]),_:1}),!t(N)&&t(b)==="basic"?(d(),u(Ue,{key:0,class:"tcm-dd-footer__btn",type:"primary",onClick:Xe,loading:t(Z)},{default:a(()=>[...e[75]||(e[75]=[r(" 保存病历 ",-1)])]),_:1},8,["loading"])):R("",!0)])]),default:a(()=>[o(Ze,{modelValue:t(b),"onUpdate:modelValue":e[42]||(e[42]=i=>Re(b)?b.value=i:null),class:"diagnosis-tabs tcm-diagnosis-tabs"},{default:a(()=>[o(C,{label:"病历",name:"basic"},{default:a(()=>[o(q,{ref_key:"formRef",ref:K,model:t(l),rules:qe,"label-width":"160px"},{default:a(()=>[A("fieldset",{disabled:t(N),class:"diagnosis-view-fieldset border-0 min-w-0 p-0 m-0"},[o(_,{"content-position":"left"},{default:a(()=>[...e[48]||(e[48]=[r("基本信息",-1)])]),_:1}),o(s,{label:"诊单ID"},{default:a(()=>[o(c,{modelValue:t(l).patient_id,"onUpdate:modelValue":e[0]||(e[0]=i=>t(l).patient_id=i),disabled:"",placeholder:"系统自动生成"},null,8,["modelValue"])]),_:1}),o(v,{gutter:20},{default:a(()=>[o(m,{span:12},{default:a(()=>[o(s,{label:"姓名",prop:"patient_name"},{default:a(()=>[o(c,{modelValue:t(l).patient_name,"onUpdate:modelValue":e[1]||(e[1]=i=>t(l).patient_name=i),placeholder:"请输入姓名"},null,8,["modelValue"])]),_:1})]),_:1}),o(m,{span:12},{default:a(()=>[o(s,{label:"身份证号",prop:"id_card"},{default:a(()=>[o(c,{modelValue:t(l).id_card,"onUpdate:modelValue":e[2]||(e[2]=i=>t(l).id_card=i),placeholder:"请输入身份证号",maxlength:"18",onFocus:Me,onBlur:Ye},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(v,{gutter:20},{default:a(()=>[o(m,{span:12},{default:a(()=>[o(s,{label:"手机号",prop:"phone"},{default:a(()=>[t(Fe)?(d(),g(x,{key:0},[o(c,{"model-value":t(F)?t(E)||"":G(t(E)||""),readonly:"",placeholder:"点击可查看完整手机号",maxlength:"11",class:"cursor-pointer phone-mask-toggle",onClick:$e},null,8,["model-value"]),t(E)&&!t(F)?(d(),g("p",Jl," 当前为脱敏显示,点击输入框可查看完整号码 ")):R("",!0)],64)):(d(),u(c,{key:1,modelValue:t(l).phone,"onUpdate:modelValue":e[3]||(e[3]=i=>t(l).phone=i),placeholder:"请输入手机号",maxlength:"11",onFocus:Le,onBlur:Se},null,8,["modelValue"]))]),_:1})]),_:1}),o(m,{span:12},{default:a(()=>[o(s,{label:"性别",prop:"gender"},{default:a(()=>[o(O,{modelValue:t(l).gender,"onUpdate:modelValue":e[4]||(e[4]=i=>t(l).gender=i)},{default:a(()=>[o(T,{label:1},{default:a(()=>[...e[49]||(e[49]=[r("男",-1)])]),_:1}),o(T,{label:0},{default:a(()=>[...e[50]||(e[50]=[r("女",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(v,{gutter:20},{default:a(()=>[o(m,{span:12},{default:a(()=>[o(s,{label:"年龄",prop:"age"},{default:a(()=>[o(I,{modelValue:t(l).age,"onUpdate:modelValue":e[5]||(e[5]=i=>t(l).age=i),min:0,max:150,placeholder:"请输入年龄",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(_,{"content-position":"left"},{default:a(()=>[...e[51]||(e[51]=[r("生命体征",-1)])]),_:1}),o(v,{gutter:20},{default:a(()=>[o(m,{span:8},{default:a(()=>[o(s,{label:"婚姻状态",prop:"marital_status"},{default:a(()=>[o(S,{modelValue:t(l).marital_status,"onUpdate:modelValue":e[6]||(e[6]=i=>t(l).marital_status=i),placeholder:"请选择婚姻状态",class:"w-full","popper-options":{strategy:"fixed"},"popper-class":"high-z-index"},{default:a(()=>[o($,{label:"未婚",value:0}),o($,{label:"已婚",value:1}),o($,{label:"离异",value:2})]),_:1},8,["modelValue"])]),_:1})]),_:1}),o(m,{span:8},{default:a(()=>[o(s,{label:"就诊人身高(cm)",prop:"height"},{default:a(()=>[o(I,{modelValue:t(l).height,"onUpdate:modelValue":e[7]||(e[7]=i=>t(l).height=i),min:0,max:300,placeholder:"请输入身高",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1}),o(m,{span:8},{default:a(()=>[o(s,{label:"体重(kg)",prop:"weight"},{default:a(()=>[o(I,{modelValue:t(l).weight,"onUpdate:modelValue":e[8]||(e[8]=i=>t(l).weight=i),min:0,max:500,step:.1,placeholder:"请输入体重",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(v,{gutter:20},{default:a(()=>[o(m,{span:8},{default:a(()=>[o(s,{label:"地区",prop:"region"},{default:a(()=>[o(c,{modelValue:t(l).region,"onUpdate:modelValue":e[9]||(e[9]=i=>t(l).region=i),placeholder:"请输入地区"},null,8,["modelValue"])]),_:1})]),_:1}),o(m,{span:8},{default:a(()=>[o(s,{label:"就诊人血压(高压mmHg)",prop:"systolic_pressure"},{default:a(()=>[o(I,{modelValue:t(l).systolic_pressure,"onUpdate:modelValue":e[10]||(e[10]=i=>t(l).systolic_pressure=i),min:0,max:250,placeholder:"请输入高压",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1}),o(m,{span:8},{default:a(()=>[o(s,{label:"就诊人血压(低压mmHg)",prop:"diastolic_pressure"},{default:a(()=>[o(I,{modelValue:t(l).diastolic_pressure,"onUpdate:modelValue":e[11]||(e[11]=i=>t(l).diastolic_pressure=i),min:0,max:150,placeholder:"请输入低压",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(v,{gutter:20},{default:a(()=>[o(m,{span:8},{default:a(()=>[o(s,{label:"空腹血糖(mmol/L)",prop:"fasting_blood_sugar"},{default:a(()=>[o(c,{modelValue:t(l).fasting_blood_sugar,"onUpdate:modelValue":e[12]||(e[12]=i=>t(l).fasting_blood_sugar=i),placeholder:"请输入空腹血糖,如:8.5 或 8-9",maxlength:"20",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(v,{gutter:20},{default:a(()=>[o(m,{span:12},{default:a(()=>[o(s,{label:"诊断类型",prop:"diagnosis_type"},{default:a(()=>[o(S,{modelValue:t(l).diagnosis_type,"onUpdate:modelValue":e[13]||(e[13]=i=>t(l).diagnosis_type=i),placeholder:"请选择诊断类型",class:"w-full","popper-options":{strategy:"fixed"},"popper-class":"high-z-index"},{default:a(()=>[(d(!0),g(x,null,U(t(de),i=>(d(),u($,{key:i.value,label:i.name,value:i.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(v,{gutter:20},{default:a(()=>[o(m,{span:12},{default:a(()=>[o(s,{label:"状态",prop:"status"},{default:a(()=>[o(O,{modelValue:t(l).status,"onUpdate:modelValue":e[14]||(e[14]=i=>t(l).status=i)},{default:a(()=>[o(T,{label:1},{default:a(()=>[...e[52]||(e[52]=[r("启用",-1)])]),_:1}),o(T,{label:0},{default:a(()=>[...e[53]||(e[53]=[r("禁用",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(v,{gutter:20},{default:a(()=>[o(m,{span:12},{default:a(()=>[o(s,{label:"在用药物",prop:"current_medications"},{default:a(()=>[o(c,{modelValue:t(l).current_medications,"onUpdate:modelValue":e[15]||(e[15]=i=>t(l).current_medications=i),type:"textarea",rows:3,placeholder:"请填写患者当前正在使用的药物(如降压药、降糖药等),多种请换行或顿号分隔",maxlength:"2000","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(_,{"content-position":"left"},{default:a(()=>[...e[54]||(e[54]=[r("主诉",-1)])]),_:1}),o(v,{gutter:20},{default:a(()=>[o(m,{span:12},{default:a(()=>[o(s,{label:"当地医院诊断日期",prop:"diagnosis_date"},{default:a(()=>[o(Y,{modelValue:t(l).diagnosis_date,"onUpdate:modelValue":e[16]||(e[16]=i=>t(l).diagnosis_date=i),type:"date",placeholder:"请选择诊断日期","value-format":"YYYY-MM-DD",class:"w-full","popper-options":{strategy:"fixed"},"popper-class":"high-z-index"},null,8,["modelValue"])]),_:1})]),_:1}),o(m,{span:12},{default:a(()=>[o(s,{label:"发现糖尿病患病史",prop:"diabetes_discovery_year"},{default:a(()=>[o(c,{modelValue:t(l).diabetes_discovery_year,"onUpdate:modelValue":e[17]||(e[17]=i=>t(l).diabetes_discovery_year=i),clearable:"",maxlength:"50","show-word-limit":"",placeholder:"可填数字或文字,如:5、1年、半年",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(s,{label:"当地医院诊断结果",prop:"local_hospital_diagnosis",class:"checkbox-form-item"},{default:a(()=>[o(w,{modelValue:t(l).local_hospital_diagnosis,"onUpdate:modelValue":e[18]||(e[18]=i=>t(l).local_hospital_diagnosis=i)},{default:a(()=>[o(V,{label:"糖尿病"},{default:a(()=>[...e[55]||(e[55]=[r("糖尿病",-1)])]),_:1}),o(V,{label:"消渴病"},{default:a(()=>[...e[56]||(e[56]=[r("消渴病",-1)])]),_:1}),o(V,{label:"糖尿病前期"},{default:a(()=>[...e[57]||(e[57]=[r("糖尿病前期",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),o(s,{label:"当地就诊医院名称",prop:"local_hospital_name"},{default:a(()=>[o(c,{modelValue:t(l).local_hospital_name,"onUpdate:modelValue":e[19]||(e[19]=i=>t(l).local_hospital_name=i),placeholder:"请输入当地就诊医院名称(不能填写当地、本地、互联网等关键词)"},null,8,["modelValue"])]),_:1}),o(_,{"content-position":"left"},{default:a(()=>[...e[58]||(e[58]=[r("现病史",-1)])]),_:1}),o(v,{gutter:20},{default:a(()=>[o(s,{label:"口腔感觉",class:"checkbox-form-item"},{default:a(()=>[o(w,{modelValue:t(l).appetite,"onUpdate:modelValue":e[20]||(e[20]=i=>t(l).appetite=i)},{default:a(()=>[(d(!0),g(x,null,U(t(se),i=>(d(),u(V,{key:i.value,label:i.value},{default:a(()=>[r(k(i.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1}),o(v,{gutter:20},{default:a(()=>[o(m,{span:20},{default:a(()=>[o(s,{label:"每日饮水量",class:"compact-form-item"},{default:a(()=>[o(O,{modelValue:t(l).water_intake,"onUpdate:modelValue":e[21]||(e[21]=i=>t(l).water_intake=i)},{default:a(()=>[o(y,{label:""},{default:a(()=>[...e[59]||(e[59]=[r("无",-1)])]),_:1}),(d(!0),g(x,null,U(t(re),i=>(d(),u(y,{key:i.value,label:i.value},{default:a(()=>[r(k(i.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(v,{gutter:20},{default:a(()=>[o(m,{span:12},{default:a(()=>[o(s,{label:"近一个月体重变化",class:"compact-form-item"},{default:a(()=>[o(O,{modelValue:t(l).weight_change,"onUpdate:modelValue":e[22]||(e[22]=i=>t(l).weight_change=i)},{default:a(()=>[o(y,{label:""},{default:a(()=>[...e[60]||(e[60]=[r("无",-1)])]),_:1}),(d(!0),g(x,null,U(t(pe),i=>(d(),u(y,{key:i.value,label:i.value},{default:a(()=>[r(k(i.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(v,{gutter:20},{default:a(()=>[o(m,{span:12},{default:a(()=>[o(s,{label:"脂肪肝程度",class:"compact-form-item"},{default:a(()=>[o(O,{modelValue:t(l).fatty_liver_degree,"onUpdate:modelValue":e[23]||(e[23]=i=>t(l).fatty_liver_degree=i)},{default:a(()=>[o(y,{label:""},{default:a(()=>[...e[61]||(e[61]=[r("无",-1)])]),_:1}),(d(!0),g(x,null,U(t(ke),i=>(d(),u(y,{key:i.value,label:i.value},{default:a(()=>[r(k(i.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(s,{label:"饮食情况",class:"checkbox-form-item"},{default:a(()=>[o(w,{modelValue:t(l).diet_condition,"onUpdate:modelValue":e[24]||(e[24]=i=>t(l).diet_condition=i)},{default:a(()=>[(d(!0),g(x,null,U(t(ue),i=>(d(),u(V,{key:i.value,label:i.value},{default:a(()=>[r(k(i.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),o(s,{label:"肢体感觉",class:"checkbox-form-item"},{default:a(()=>[o(w,{modelValue:t(l).body_feeling,"onUpdate:modelValue":e[25]||(e[25]=i=>t(l).body_feeling=i)},{default:a(()=>[(d(!0),g(x,null,U(t(me),i=>(d(),u(V,{key:i.value,label:i.value},{default:a(()=>[r(k(i.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),o(s,{label:"睡眠情况",class:"checkbox-form-item"},{default:a(()=>[o(w,{modelValue:t(l).sleep_condition,"onUpdate:modelValue":e[26]||(e[26]=i=>t(l).sleep_condition=i)},{default:a(()=>[(d(!0),g(x,null,U(t(_e),i=>(d(),u(V,{key:i.value,label:i.value},{default:a(()=>[r(k(i.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),o(s,{label:"眼睛情况",class:"checkbox-form-item"},{default:a(()=>[o(w,{modelValue:t(l).eye_condition,"onUpdate:modelValue":e[27]||(e[27]=i=>t(l).eye_condition=i)},{default:a(()=>[(d(!0),g(x,null,U(t(fe),i=>(d(),u(V,{key:i.value,label:i.value},{default:a(()=>[r(k(i.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),o(s,{label:"头部感觉",class:"checkbox-form-item"},{default:a(()=>[o(w,{modelValue:t(l).head_feeling,"onUpdate:modelValue":e[28]||(e[28]=i=>t(l).head_feeling=i)},{default:a(()=>[(d(!0),g(x,null,U(t(ge),i=>(d(),u(V,{key:i.value,label:i.value},{default:a(()=>[r(k(i.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),o(s,{label:"出汗情况",class:"checkbox-form-item"},{default:a(()=>[o(w,{modelValue:t(l).sweat_condition,"onUpdate:modelValue":e[29]||(e[29]=i=>t(l).sweat_condition=i)},{default:a(()=>[(d(!0),g(x,null,U(t(ce),i=>(d(),u(V,{key:i.value,label:i.value},{default:a(()=>[r(k(i.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),o(s,{label:"皮肤情况",class:"checkbox-form-item"},{default:a(()=>[o(w,{modelValue:t(l).skin_condition,"onUpdate:modelValue":e[30]||(e[30]=i=>t(l).skin_condition=i)},{default:a(()=>[(d(!0),g(x,null,U(t(ve),i=>(d(),u(V,{key:i.value,label:i.value},{default:a(()=>[r(k(i.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),o(s,{label:"小便情况",class:"checkbox-form-item"},{default:a(()=>[o(w,{modelValue:t(l).urine_condition,"onUpdate:modelValue":e[31]||(e[31]=i=>t(l).urine_condition=i)},{default:a(()=>[(d(!0),g(x,null,U(t(ye),i=>(d(),u(V,{key:i.value,label:i.value},{default:a(()=>[r(k(i.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),o(s,{label:"大便情况",class:"checkbox-form-item"},{default:a(()=>[o(w,{modelValue:t(l).stool_condition,"onUpdate:modelValue":e[32]||(e[32]=i=>t(l).stool_condition=i)},{default:a(()=>[(d(!0),g(x,null,U(t(be),i=>(d(),u(V,{key:i.value,label:i.value},{default:a(()=>[r(k(i.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),o(s,{label:"腰肾情况",class:"checkbox-form-item"},{default:a(()=>[o(w,{modelValue:t(l).kidney_condition,"onUpdate:modelValue":e[33]||(e[33]=i=>t(l).kidney_condition=i)},{default:a(()=>[(d(!0),g(x,null,U(t(Ve),i=>(d(),u(V,{key:i.value,label:i.value},{default:a(()=>[r(k(i.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),o(s,{label:"其他补充",prop:"symptoms"},{default:a(()=>[o(c,{modelValue:t(l).symptoms,"onUpdate:modelValue":e[34]||(e[34]=i=>t(l).symptoms=i),type:"textarea",rows:3,placeholder:"请输入症状"},null,8,["modelValue"])]),_:1}),o(_,{"content-position":"left"},{default:a(()=>[...e[62]||(e[62]=[r("既往史",-1)])]),_:1}),o(s,{label:"",prop:"past_history",class:"checkbox-form-item"},{default:a(()=>[o(w,{modelValue:t(l).past_history,"onUpdate:modelValue":e[35]||(e[35]=i=>t(l).past_history=i)},{default:a(()=>[(d(!0),g(x,null,U(t(ne),i=>(d(),u(V,{key:i.value,label:i.value},{default:a(()=>[r(k(i.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),o(_,{"content-position":"left"},{default:a(()=>[...e[63]||(e[63]=[r("其他病史",-1)])]),_:1}),o(v,{gutter:20},{default:a(()=>[o(m,{span:8},{default:a(()=>[o(s,{label:"外伤史"},{default:a(()=>[o(O,{modelValue:t(l).trauma_history,"onUpdate:modelValue":e[36]||(e[36]=i=>t(l).trauma_history=i)},{default:a(()=>[o(y,{label:1},{default:a(()=>[...e[64]||(e[64]=[r("有",-1)])]),_:1}),o(y,{label:0},{default:a(()=>[...e[65]||(e[65]=[r("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1}),o(m,{span:8},{default:a(()=>[o(s,{label:"手术史"},{default:a(()=>[o(O,{modelValue:t(l).surgery_history,"onUpdate:modelValue":e[37]||(e[37]=i=>t(l).surgery_history=i)},{default:a(()=>[o(y,{label:1},{default:a(()=>[...e[66]||(e[66]=[r("有",-1)])]),_:1}),o(y,{label:0},{default:a(()=>[...e[67]||(e[67]=[r("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1}),o(m,{span:8},{default:a(()=>[o(s,{label:"过敏史"},{default:a(()=>[o(O,{modelValue:t(l).allergy_history,"onUpdate:modelValue":e[38]||(e[38]=i=>t(l).allergy_history=i)},{default:a(()=>[o(y,{label:1},{default:a(()=>[...e[68]||(e[68]=[r("有",-1)])]),_:1}),o(y,{label:0},{default:a(()=>[...e[69]||(e[69]=[r("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(v,{gutter:20},{default:a(()=>[o(m,{span:12},{default:a(()=>[o(s,{label:"家族病史"},{default:a(()=>[o(O,{modelValue:t(l).family_history,"onUpdate:modelValue":e[39]||(e[39]=i=>t(l).family_history=i)},{default:a(()=>[o(y,{label:1},{default:a(()=>[...e[70]||(e[70]=[r("有",-1)])]),_:1}),o(y,{label:0},{default:a(()=>[...e[71]||(e[71]=[r("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1}),o(m,{span:12},{default:a(()=>[o(s,{label:"妊娠哺乳史"},{default:a(()=>[o(O,{modelValue:t(l).pregnancy_history,"onUpdate:modelValue":e[40]||(e[40]=i=>t(l).pregnancy_history=i)},{default:a(()=>[o(y,{label:1},{default:a(()=>[...e[72]||(e[72]=[r("有",-1)])]),_:1}),o(y,{label:0},{default:a(()=>[...e[73]||(e[73]=[r("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),o(_,{"content-position":"left"},{default:a(()=>[...e[74]||(e[74]=[r("诊断信息",-1)])]),_:1}),o(s,{label:"病史补充",prop:"remark"},{default:a(()=>[o(c,{modelValue:t(l).remark,"onUpdate:modelValue":e[41]||(e[41]=i=>t(l).remark=i),type:"textarea",rows:2,placeholder:"请输入病史补充"},null,8,["modelValue"])]),_:1})],8,Hl)]),_:1},8,["model"])]),_:1}),o(C,{label:"医生备注",name:"doctorNote",disabled:!t(l).id,lazy:""},{default:a(()=>[t(l).id?(d(),g("div",Xl,[o(Cl,{notes:t(j),"diagnosis-id":Number(t(l).id),readonly:t(N),onRefresh:oe},null,8,["notes","diagnosis-id","readonly"])])):(d(),u(L,{key:1,description:"请先保存诊单后查看"}))]),_:1},8,["disabled"]),t(te)?(d(),u(C,{key:0,label:"日常记录",name:"daily",disabled:!t(l).id,lazy:""},{default:a(()=>[t(l).id?(d(),u(Nl,{key:0,"diagnosis-id":Number(t(l).id),"patient-id":Number(t(l).patient_id),age:t(l).age,"patient-name":t(l).patient_name,"read-only":t(N)},null,8,["diagnosis-id","patient-id","age","patient-name","read-only"])):(d(),u(L,{key:1,description:"请先保存诊单后查看"}))]),_:1},8,["disabled"])):R("",!0),t(P)(["tcm.diagnosis/chufang"])?(d(),u(C,{key:1,label:"处方",name:"bingli",disabled:!t(l).id},{default:a(()=>[t(l).id?(d(),g("div",Ql,[o(Ol,{ref_key:"caseRecordListRef",ref:X,"diagnosis-id":Number(t(l).id),"read-only":t(N),onView:Qe,onOpenPrescription:Ke},null,8,["diagnosis-id","read-only"])])):(d(),u(L,{key:1,description:"请先保存诊单,开方后病历将在此显示"}))]),_:1},8,["disabled"])):R("",!0),t(P)(["tcm.diagnosis/patientOrders"])?(d(),u(C,{key:2,label:"业务订单",name:"patientOrders",disabled:!t(l).id,lazy:""},{default:a(()=>[t(l).id?(d(),u(zl,{key:0,"diagnosis-id":Number(t(l).id),"patient-id":Number(t(l).patient_id)||0},null,8,["diagnosis-id","patient-id"])):(d(),u(L,{key:1,description:"请先保存诊单后查看业务订单"}))]),_:1},8,["disabled"])):R("",!0),t(P)(["tcm.diagnosis/huifang"])?(d(),u(C,{key:3,label:"视频录制回放记录",name:"visit",disabled:!t(l).id,lazy:""},{default:a(()=>[t(l).id?(d(),u(Pl,{key:0,ref_key:"callRecordPanelRef",ref:ze,"diagnosis-id":Number(t(l).id)},null,8,["diagnosis-id"])):(d(),u(L,{key:1,description:"请先保存诊单后再查看视频录制回放记录"}))]),_:1},8,["disabled"])):R("",!0),t(P)(["tcm.diagnosis/chat"])?(d(),u(C,{key:4,label:"聊天记录",name:"chat",disabled:!t(l).id,lazy:""},{default:a(()=>[t(b)==="chat"&&t(l).id?(d(),u(Rl,{key:0,"diagnosis-id":Number(t(l).id)},null,8,["diagnosis-id"])):t(l).id?R("",!0):(d(),u(L,{key:1,description:"请先保存诊单后再查看聊天记录"}))]),_:1},8,["disabled"])):R("",!0),t(P)(["tcm.diagnosis/assign"])||t(P)(["tcm.diagnosis/detail"])?(d(),u(C,{key:5,label:"指派医助记录",name:"assignLog",disabled:!t(l).id,lazy:""},{default:a(()=>[t(l).id?(d(),u(Dl,{key:0,"diagnosis-id":Number(t(l).id)},null,8,["diagnosis-id"])):(d(),u(L,{key:1,description:"请先保存诊单后再查看指派记录"}))]),_:1},8,["disabled"])):R("",!0),t(P)(["doctor.appointment/lists"])?(d(),u(C,{key:6,label:"挂号记录",name:"appointmentRecords",disabled:!t(l).id,lazy:""},{default:a(()=>[t(l).id?(d(),u(Il,{key:0,"diagnosis-id":Number(t(l).id)},null,8,["diagnosis-id"])):(d(),u(L,{key:1,description:"请先保存诊单后再查看挂号记录"}))]),_:1},8,["disabled"])):R("",!0)]),_:1},8,["modelValue"]),o(Fl,{ref_key:"prescriptionRef",ref:Q,onSuccess:e[43]||(e[43]=i=>{var H,Ee;return(Ee=(H=t(X))==null?void 0:H.refresh)==null?void 0:Ee.call(H)})},null,512)]),_:1},8,["modelValue","z-index"])])}}}),xt=El(Zl,[["__scopeId","data-v-4d5cecd1"]]);export{xt as default}; diff --git a/server/public/admin/assets/edit-Dhq5bPXP.js b/server/public/admin/assets/edit-BNPso8Y3.js similarity index 77% rename from server/public/admin/assets/edit-Dhq5bPXP.js rename to server/public/admin/assets/edit-BNPso8Y3.js index 539ee990..edc3305f 100644 --- a/server/public/admin/assets/edit-Dhq5bPXP.js +++ b/server/public/admin/assets/edit-BNPso8Y3.js @@ -1 +1 @@ -import{_ as o}from"./edit.vue_vue_type_script_setup_true_lang-YNgwqh5W.js";import"./element-plus-0wC3naml.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./post-Dq6zumLO.js";import"./index-E47--KT7.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-nymJKQXP.js";export{o as default}; +import{_ as o}from"./edit.vue_vue_type_script_setup_true_lang-BCQfswVh.js";import"./element-plus-DFTWCWyi.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./post-RziaWdiV.js";import"./index-DBREMm_z.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-BwF7vczx.js";export{o as default}; diff --git a/server/public/admin/assets/edit-D3JE6NlA.js b/server/public/admin/assets/edit-BRBBltgC.js similarity index 95% rename from server/public/admin/assets/edit-D3JE6NlA.js rename to server/public/admin/assets/edit-BRBBltgC.js index 7ab01dad..1a0ef186 100644 --- a/server/public/admin/assets/edit-D3JE6NlA.js +++ b/server/public/admin/assets/edit-BRBBltgC.js @@ -1 +1 @@ -import{e as M,D as T,B as z,I as J,C as O,G as Q,h as $,i as j,L as W,a as X}from"./element-plus-0wC3naml.js";import{_ as Y}from"./picker-DlbAZkDm.js";import{g as Z,s as h}from"./pay-wX-vUDcK.js";import{u as ee}from"./useLockFn-X4Qce5KO.js";import{u as le}from"./getExposeType-MUpmx9zy.js";import{f as oe,ak as y,G as te,aN as a,aP as ie,I as V,a as o,O as d,J as r,F as k,H as x,A as ae}from"./@vue/runtime-core-C6bnekPw.js";import{y as l,a as re,n as u}from"./@vue/reactivity-DiY1c2vO.js";import{Q as ne}from"./@vue/shared-mAAVTE9n.js";import{_ as pe}from"./index-E47--KT7.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-nymJKQXP.js";import"./index-B56X8bEB.js";import"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import"./index-BHTgr4Ka.js";import"./index-Ci4dcEQh.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-DoYUJmkp.js";import"./index.vue_vue_type_script_setup_true_lang-Bl0f8aX8.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./usePaging-VsbTxSU0.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const me={class:"h-full flex flex-col","element-loading-text":"加载中...","element-loading-background":"var(--el-bg-color)"},se={class:"flex-1"},de={class:"flex-1"},ue={class:"flex-1"},fe=oe({__name:"edit",emits:["refresh"],setup(_e,{expose:b,emit:w}){const f=u(!1),v=le(),I=u(),U=u("profile"),C=u(!1),c=u(!0),_=ae(()=>{switch(t.value.pay_way){case 1:return"余额支付";case 2:return"微信支付";case 3:return"支付宝支付";default:return""}}),t=u({id:"",pay_way:0,name:"",icon:"",sort:0,remark:"",domain:"",config:{interface_version:"",merchant_type:"",mch_id:"",pay_sign_key:"",apiclient_cert:"",apiclient_key:"",mode:"",app_id:"",private_key:"",ali_public_key:""}}),E={name:[{required:!0,message:"请输入显示名称"}],"config.mch_id":[{required:!0,message:"请输入微信支付商户号"}],"config.pay_sign_key":[{required:!0,message:"请输入微信支付商户API密钥"}],"config.apiclient_cert":[{required:!0,message:"请输入微信支付证书"}],"config.apiclient_key":[{required:!0,message:"请输入微信支付证书密钥"}],"config.app_id":[{required:!0,message:"请输入支付宝应用ID"}],"config.private_key":[{required:!0,message:"请输入支付宝应用私钥"}],"config.ali_public_key":[{required:!0,message:"请输入支付宝公钥"}]},D=w,P=(p,e,s)=>{c.value=!0,U.value=s||"profile",C.value=e||!1,q(p),I.value=p,f.value=!0},q=async p=>{const e=await Z({id:p});e.config||(e.config=t.value.config),c.value=!1,t.value=e},B=p=>{X.confirm("修改还未保存,确认退出编辑吗?").then(()=>{p()}).catch(()=>{})},F=()=>{var p;(p=v.value)==null||p.resetFields()},N=async()=>{var p;await((p=v.value)==null?void 0:p.validate()),await h(t.value),f.value=!1,D("refresh")},{isLock:R,lockFn:A}=ee(N);return b({openHandle:P}),(p,e)=>{const s=J,n=z,m=O,L=Y,g=Q,S=$,G=j,H=M,K=W;return y(),te(H,{modelValue:l(f),"onUpdate:modelValue":e[14]||(e[14]=i=>re(f)?f.value=i:null),"destroy-on-close":"",title:`${l(_)}配置`,direction:"rtl",size:"50%",onClose:F,"before-close":B},{default:a(()=>[ie((y(),V("div",me,[o(l(T),{ref_key:"formRef",ref:v,model:l(t),"label-width":"9rem",rules:E},{default:a(()=>[o(n,{label:"支付方式"},{default:a(()=>[o(s,{value:l(_),"model-value":l(_)},{default:a(()=>[d(ne(l(_)),1)]),_:1},8,["value","model-value"])]),_:1}),o(n,{label:"显示名称",prop:"name"},{default:a(()=>[o(m,{modelValue:l(t).name,"onUpdate:modelValue":e[0]||(e[0]=i=>l(t).name=i),placeholder:"请输入显示名称",style:{"max-width":"250px"}},null,8,["modelValue"])]),_:1}),o(n,{label:"图标",prop:"image"},{default:a(()=>[r("div",null,[o(L,{limit:1,disabled:!1,modelValue:l(t).icon,"onUpdate:modelValue":e[1]||(e[1]=i=>l(t).icon=i)},null,8,["modelValue"]),e[15]||(e[15]=r("div",{class:"form-tips"},"建议尺寸:200*200px",-1))])]),_:1}),l(t).pay_way==2?(y(),V(k,{key:0},[o(n,{prop:"config.interface_version",label:"微信支付接口版本"},{default:a(()=>[r("div",null,[o(g,{modelValue:l(t).config.interface_version,"onUpdate:modelValue":e[2]||(e[2]=i=>l(t).config.interface_version=i)},{default:a(()=>[o(s,{value:"v3"},{default:a(()=>[...e[16]||(e[16]=[d("V3",-1)])]),_:1})]),_:1},8,["modelValue"]),e[17]||(e[17]=r("div",{class:"form-tips"},"暂时只支持V3版本",-1))])]),_:1}),o(n,{label:"商户类型",prop:"config.merchant_type"},{default:a(()=>[r("div",null,[o(g,{modelValue:l(t).config.merchant_type,"onUpdate:modelValue":e[3]||(e[3]=i=>l(t).config.merchant_type=i)},{default:a(()=>[o(s,{value:"ordinary_merchant"},{default:a(()=>[...e[18]||(e[18]=[d("普通商户",-1)])]),_:1})]),_:1},8,["modelValue"]),e[19]||(e[19]=r("div",{class:"form-tips"}," 暂时只支持普通商户类型,服务商户类型模式暂不支持 ",-1))])]),_:1}),o(n,{label:"微信支付商户号",prop:"config.mch_id"},{default:a(()=>[r("div",null,[o(m,{modelValue:l(t).config.mch_id,"onUpdate:modelValue":e[4]||(e[4]=i=>l(t).config.mch_id=i),placeholder:"请输入微信支付商户号",style:{"max-width":"250px"}},null,8,["modelValue"]),e[20]||(e[20]=r("div",{class:"form-tips"},"微信支付商户号(MCHID)",-1))])]),_:1}),o(n,{label:"商户API密钥",prop:"config.pay_sign_key"},{default:a(()=>[r("div",null,[o(m,{modelValue:l(t).config.pay_sign_key,"onUpdate:modelValue":e[5]||(e[5]=i=>l(t).config.pay_sign_key=i),placeholder:"请输入微信支付商户API密钥",style:{"max-width":"250px"}},null,8,["modelValue"]),e[21]||(e[21]=r("div",{class:"form-tips"},"微信支付商户API密钥(paySignKey)",-1))])]),_:1}),o(n,{label:"微信支付证书",prop:"config.apiclient_cert"},{default:a(()=>[r("div",null,[o(m,{type:"textarea",rows:3,modelValue:l(t).config.apiclient_cert,"onUpdate:modelValue":e[6]||(e[6]=i=>l(t).config.apiclient_cert=i),placeholder:"请输入微信支付证书",style:{"max-width":"400px"}},null,8,["modelValue"]),e[22]||(e[22]=r("div",{class:"form-tips"}," 微信支付证书(apiclient_cert.pem),前往微信商家平台生成并黏贴至此处 ",-1))])]),_:1}),o(n,{label:"微信支付证书密钥",prop:"config.apiclient_key"},{default:a(()=>[r("div",null,[o(m,{type:"textarea",rows:3,modelValue:l(t).config.apiclient_key,"onUpdate:modelValue":e[7]||(e[7]=i=>l(t).config.apiclient_key=i),placeholder:"请输入微信支付证书密钥",style:{"max-width":"400px"}},null,8,["modelValue"]),e[23]||(e[23]=r("div",{class:"form-tips"}," 微信支付证书密钥(apiclient_key.pem),前往微信商家平台生成并黏贴至此处 ",-1))])]),_:1}),o(n,{label:"支付授权目录"},{default:a(()=>[...e[24]||(e[24]=[r("div",null,[r("div",null,[r("span",{class:"mr-[20px]"},"https://前台手机域名地址/")])],-1)])]),_:1})],64)):x("",!0),l(t).pay_way==3?(y(),V(k,{key:1},[o(n,{label:"模式",prop:"config.mode"},{default:a(()=>[r("div",null,[o(g,{modelValue:l(t).config.mode,"onUpdate:modelValue":e[8]||(e[8]=i=>l(t).config.mode=i)},{default:a(()=>[o(s,{value:"normal_mode"},{default:a(()=>[...e[25]||(e[25]=[d("普通模式",-1)])]),_:1})]),_:1},8,["modelValue"]),e[26]||(e[26]=r("div",{class:"form-tips"},"暂时仅支持支付宝普通模式",-1))])]),_:1}),o(n,{label:"商户类型",prop:"config.merchant_type"},{default:a(()=>[r("div",null,[o(g,{modelValue:l(t).config.merchant_type,"onUpdate:modelValue":e[9]||(e[9]=i=>l(t).config.merchant_type=i)},{default:a(()=>[o(s,{value:"ordinary_merchant"},{default:a(()=>[...e[27]||(e[27]=[d("普通商户",-1)])]),_:1})]),_:1},8,["modelValue"]),e[28]||(e[28]=r("div",{class:"form-tips"}," 暂时只支持普通商户类型,服务商户类型模式暂不支持 ",-1))])]),_:1}),o(n,{label:"应用ID",prop:"config.app_id"},{default:a(()=>[r("div",se,[o(m,{modelValue:l(t).config.app_id,"onUpdate:modelValue":e[10]||(e[10]=i=>l(t).config.app_id=i),placeholder:"请输入支付宝应用ID",style:{"max-width":"250px"}},null,8,["modelValue"]),e[29]||(e[29]=r("div",{class:"form-tips"},"支付宝应用APP_ID",-1))])]),_:1}),o(n,{label:"应用私钥",prop:"config.private_key"},{default:a(()=>[r("div",de,[o(m,{type:"textarea",rows:3,modelValue:l(t).config.private_key,"onUpdate:modelValue":e[11]||(e[11]=i=>l(t).config.private_key=i),placeholder:"请输入支付宝应用私钥",style:{"max-width":"400px"}},null,8,["modelValue"]),e[30]||(e[30]=r("div",{class:"form-tips"},"支付宝应用私钥(private_key)",-1))])]),_:1}),o(n,{label:"支付宝公钥",prop:"config.ali_public_key"},{default:a(()=>[r("div",ue,[o(m,{type:"textarea",rows:3,modelValue:l(t).config.ali_public_key,"onUpdate:modelValue":e[12]||(e[12]=i=>l(t).config.ali_public_key=i),placeholder:"请输入支付宝公钥",style:{"max-width":"400px"}},null,8,["modelValue"]),e[31]||(e[31]=r("div",{class:"form-tips"},"支付宝公钥(alipayCertPublicKey)",-1))])]),_:1})],64)):x("",!0),o(n,{label:"排序",prop:"sort"},{default:a(()=>[r("div",null,[o(S,{modelValue:l(t).sort,"onUpdate:modelValue":e[13]||(e[13]=i=>l(t).sort=i),min:0,max:9999},null,8,["modelValue"]),e[32]||(e[32]=r("div",{class:"form-tips"},"默认为0, 数值越大越排前",-1))])]),_:1}),o(n,null,{default:a(()=>[o(G,{type:"primary",loading:l(R),onClick:l(A)},{default:a(()=>[...e[33]||(e[33]=[d("保存",-1)])]),_:1},8,["loading","onClick"])]),_:1})]),_:1},8,["model"])])),[[K,l(c)]])]),_:1},8,["modelValue","title"])}}}),yl=pe(fe,[["__scopeId","data-v-221f14e8"]]);export{yl as default}; +import{e as M,D as T,B as z,I as J,C as O,G as Q,h as $,i as j,L as W,a as X}from"./element-plus-DFTWCWyi.js";import{_ as Y}from"./picker-BCRrEZaA.js";import{g as Z,s as h}from"./pay-BWtHlaJr.js";import{u as ee}from"./useLockFn-X4Qce5KO.js";import{u as le}from"./getExposeType-MUpmx9zy.js";import{f as oe,ak as y,G as te,aN as a,aP as ie,I as V,a as o,O as d,J as r,F as k,H as x,A as ae}from"./@vue/runtime-core-C6bnekPw.js";import{y as l,a as re,n as u}from"./@vue/reactivity-DiY1c2vO.js";import{Q as ne}from"./@vue/shared-mAAVTE9n.js";import{_ as pe}from"./index-DBREMm_z.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-BwF7vczx.js";import"./index-BiPYXDtP.js";import"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import"./index-CbfZXeGu.js";import"./index-CRoZWY-W.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-BimpIRb_.js";import"./index.vue_vue_type_script_setup_true_lang-x0oL2ShL.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./usePaging-VsbTxSU0.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const me={class:"h-full flex flex-col","element-loading-text":"加载中...","element-loading-background":"var(--el-bg-color)"},se={class:"flex-1"},de={class:"flex-1"},ue={class:"flex-1"},fe=oe({__name:"edit",emits:["refresh"],setup(_e,{expose:b,emit:w}){const f=u(!1),v=le(),I=u(),U=u("profile"),C=u(!1),c=u(!0),_=ae(()=>{switch(t.value.pay_way){case 1:return"余额支付";case 2:return"微信支付";case 3:return"支付宝支付";default:return""}}),t=u({id:"",pay_way:0,name:"",icon:"",sort:0,remark:"",domain:"",config:{interface_version:"",merchant_type:"",mch_id:"",pay_sign_key:"",apiclient_cert:"",apiclient_key:"",mode:"",app_id:"",private_key:"",ali_public_key:""}}),E={name:[{required:!0,message:"请输入显示名称"}],"config.mch_id":[{required:!0,message:"请输入微信支付商户号"}],"config.pay_sign_key":[{required:!0,message:"请输入微信支付商户API密钥"}],"config.apiclient_cert":[{required:!0,message:"请输入微信支付证书"}],"config.apiclient_key":[{required:!0,message:"请输入微信支付证书密钥"}],"config.app_id":[{required:!0,message:"请输入支付宝应用ID"}],"config.private_key":[{required:!0,message:"请输入支付宝应用私钥"}],"config.ali_public_key":[{required:!0,message:"请输入支付宝公钥"}]},D=w,P=(p,e,s)=>{c.value=!0,U.value=s||"profile",C.value=e||!1,q(p),I.value=p,f.value=!0},q=async p=>{const e=await Z({id:p});e.config||(e.config=t.value.config),c.value=!1,t.value=e},B=p=>{X.confirm("修改还未保存,确认退出编辑吗?").then(()=>{p()}).catch(()=>{})},F=()=>{var p;(p=v.value)==null||p.resetFields()},N=async()=>{var p;await((p=v.value)==null?void 0:p.validate()),await h(t.value),f.value=!1,D("refresh")},{isLock:R,lockFn:A}=ee(N);return b({openHandle:P}),(p,e)=>{const s=J,n=z,m=O,L=Y,g=Q,S=$,G=j,H=M,K=W;return y(),te(H,{modelValue:l(f),"onUpdate:modelValue":e[14]||(e[14]=i=>re(f)?f.value=i:null),"destroy-on-close":"",title:`${l(_)}配置`,direction:"rtl",size:"50%",onClose:F,"before-close":B},{default:a(()=>[ie((y(),V("div",me,[o(l(T),{ref_key:"formRef",ref:v,model:l(t),"label-width":"9rem",rules:E},{default:a(()=>[o(n,{label:"支付方式"},{default:a(()=>[o(s,{value:l(_),"model-value":l(_)},{default:a(()=>[d(ne(l(_)),1)]),_:1},8,["value","model-value"])]),_:1}),o(n,{label:"显示名称",prop:"name"},{default:a(()=>[o(m,{modelValue:l(t).name,"onUpdate:modelValue":e[0]||(e[0]=i=>l(t).name=i),placeholder:"请输入显示名称",style:{"max-width":"250px"}},null,8,["modelValue"])]),_:1}),o(n,{label:"图标",prop:"image"},{default:a(()=>[r("div",null,[o(L,{limit:1,disabled:!1,modelValue:l(t).icon,"onUpdate:modelValue":e[1]||(e[1]=i=>l(t).icon=i)},null,8,["modelValue"]),e[15]||(e[15]=r("div",{class:"form-tips"},"建议尺寸:200*200px",-1))])]),_:1}),l(t).pay_way==2?(y(),V(k,{key:0},[o(n,{prop:"config.interface_version",label:"微信支付接口版本"},{default:a(()=>[r("div",null,[o(g,{modelValue:l(t).config.interface_version,"onUpdate:modelValue":e[2]||(e[2]=i=>l(t).config.interface_version=i)},{default:a(()=>[o(s,{value:"v3"},{default:a(()=>[...e[16]||(e[16]=[d("V3",-1)])]),_:1})]),_:1},8,["modelValue"]),e[17]||(e[17]=r("div",{class:"form-tips"},"暂时只支持V3版本",-1))])]),_:1}),o(n,{label:"商户类型",prop:"config.merchant_type"},{default:a(()=>[r("div",null,[o(g,{modelValue:l(t).config.merchant_type,"onUpdate:modelValue":e[3]||(e[3]=i=>l(t).config.merchant_type=i)},{default:a(()=>[o(s,{value:"ordinary_merchant"},{default:a(()=>[...e[18]||(e[18]=[d("普通商户",-1)])]),_:1})]),_:1},8,["modelValue"]),e[19]||(e[19]=r("div",{class:"form-tips"}," 暂时只支持普通商户类型,服务商户类型模式暂不支持 ",-1))])]),_:1}),o(n,{label:"微信支付商户号",prop:"config.mch_id"},{default:a(()=>[r("div",null,[o(m,{modelValue:l(t).config.mch_id,"onUpdate:modelValue":e[4]||(e[4]=i=>l(t).config.mch_id=i),placeholder:"请输入微信支付商户号",style:{"max-width":"250px"}},null,8,["modelValue"]),e[20]||(e[20]=r("div",{class:"form-tips"},"微信支付商户号(MCHID)",-1))])]),_:1}),o(n,{label:"商户API密钥",prop:"config.pay_sign_key"},{default:a(()=>[r("div",null,[o(m,{modelValue:l(t).config.pay_sign_key,"onUpdate:modelValue":e[5]||(e[5]=i=>l(t).config.pay_sign_key=i),placeholder:"请输入微信支付商户API密钥",style:{"max-width":"250px"}},null,8,["modelValue"]),e[21]||(e[21]=r("div",{class:"form-tips"},"微信支付商户API密钥(paySignKey)",-1))])]),_:1}),o(n,{label:"微信支付证书",prop:"config.apiclient_cert"},{default:a(()=>[r("div",null,[o(m,{type:"textarea",rows:3,modelValue:l(t).config.apiclient_cert,"onUpdate:modelValue":e[6]||(e[6]=i=>l(t).config.apiclient_cert=i),placeholder:"请输入微信支付证书",style:{"max-width":"400px"}},null,8,["modelValue"]),e[22]||(e[22]=r("div",{class:"form-tips"}," 微信支付证书(apiclient_cert.pem),前往微信商家平台生成并黏贴至此处 ",-1))])]),_:1}),o(n,{label:"微信支付证书密钥",prop:"config.apiclient_key"},{default:a(()=>[r("div",null,[o(m,{type:"textarea",rows:3,modelValue:l(t).config.apiclient_key,"onUpdate:modelValue":e[7]||(e[7]=i=>l(t).config.apiclient_key=i),placeholder:"请输入微信支付证书密钥",style:{"max-width":"400px"}},null,8,["modelValue"]),e[23]||(e[23]=r("div",{class:"form-tips"}," 微信支付证书密钥(apiclient_key.pem),前往微信商家平台生成并黏贴至此处 ",-1))])]),_:1}),o(n,{label:"支付授权目录"},{default:a(()=>[...e[24]||(e[24]=[r("div",null,[r("div",null,[r("span",{class:"mr-[20px]"},"https://前台手机域名地址/")])],-1)])]),_:1})],64)):x("",!0),l(t).pay_way==3?(y(),V(k,{key:1},[o(n,{label:"模式",prop:"config.mode"},{default:a(()=>[r("div",null,[o(g,{modelValue:l(t).config.mode,"onUpdate:modelValue":e[8]||(e[8]=i=>l(t).config.mode=i)},{default:a(()=>[o(s,{value:"normal_mode"},{default:a(()=>[...e[25]||(e[25]=[d("普通模式",-1)])]),_:1})]),_:1},8,["modelValue"]),e[26]||(e[26]=r("div",{class:"form-tips"},"暂时仅支持支付宝普通模式",-1))])]),_:1}),o(n,{label:"商户类型",prop:"config.merchant_type"},{default:a(()=>[r("div",null,[o(g,{modelValue:l(t).config.merchant_type,"onUpdate:modelValue":e[9]||(e[9]=i=>l(t).config.merchant_type=i)},{default:a(()=>[o(s,{value:"ordinary_merchant"},{default:a(()=>[...e[27]||(e[27]=[d("普通商户",-1)])]),_:1})]),_:1},8,["modelValue"]),e[28]||(e[28]=r("div",{class:"form-tips"}," 暂时只支持普通商户类型,服务商户类型模式暂不支持 ",-1))])]),_:1}),o(n,{label:"应用ID",prop:"config.app_id"},{default:a(()=>[r("div",se,[o(m,{modelValue:l(t).config.app_id,"onUpdate:modelValue":e[10]||(e[10]=i=>l(t).config.app_id=i),placeholder:"请输入支付宝应用ID",style:{"max-width":"250px"}},null,8,["modelValue"]),e[29]||(e[29]=r("div",{class:"form-tips"},"支付宝应用APP_ID",-1))])]),_:1}),o(n,{label:"应用私钥",prop:"config.private_key"},{default:a(()=>[r("div",de,[o(m,{type:"textarea",rows:3,modelValue:l(t).config.private_key,"onUpdate:modelValue":e[11]||(e[11]=i=>l(t).config.private_key=i),placeholder:"请输入支付宝应用私钥",style:{"max-width":"400px"}},null,8,["modelValue"]),e[30]||(e[30]=r("div",{class:"form-tips"},"支付宝应用私钥(private_key)",-1))])]),_:1}),o(n,{label:"支付宝公钥",prop:"config.ali_public_key"},{default:a(()=>[r("div",ue,[o(m,{type:"textarea",rows:3,modelValue:l(t).config.ali_public_key,"onUpdate:modelValue":e[12]||(e[12]=i=>l(t).config.ali_public_key=i),placeholder:"请输入支付宝公钥",style:{"max-width":"400px"}},null,8,["modelValue"]),e[31]||(e[31]=r("div",{class:"form-tips"},"支付宝公钥(alipayCertPublicKey)",-1))])]),_:1})],64)):x("",!0),o(n,{label:"排序",prop:"sort"},{default:a(()=>[r("div",null,[o(S,{modelValue:l(t).sort,"onUpdate:modelValue":e[13]||(e[13]=i=>l(t).sort=i),min:0,max:9999},null,8,["modelValue"]),e[32]||(e[32]=r("div",{class:"form-tips"},"默认为0, 数值越大越排前",-1))])]),_:1}),o(n,null,{default:a(()=>[o(G,{type:"primary",loading:l(R),onClick:l(A)},{default:a(()=>[...e[33]||(e[33]=[d("保存",-1)])]),_:1},8,["loading","onClick"])]),_:1})]),_:1},8,["model"])])),[[K,l(c)]])]),_:1},8,["modelValue","title"])}}}),yl=pe(fe,[["__scopeId","data-v-221f14e8"]]);export{yl as default}; diff --git a/server/public/admin/assets/edit-CW0m9s4L.js b/server/public/admin/assets/edit-B_gi1DEq.js similarity index 88% rename from server/public/admin/assets/edit-CW0m9s4L.js rename to server/public/admin/assets/edit-B_gi1DEq.js index 3d8874b7..39b8b436 100644 --- a/server/public/admin/assets/edit-CW0m9s4L.js +++ b/server/public/admin/assets/edit-B_gi1DEq.js @@ -1 +1 @@ -import{_ as F}from"./index-9zND60WT.js";import{O as $,J as j,D as z,B as G,C as T,P as A,Q as J,h as L,G as P,I as S,i as H}from"./element-plus-0wC3naml.js";import{_ as M}from"./index.vue_vue_type_style_index_0_lang-CSw0OmVb.js";import{_ as Q}from"./picker-DlbAZkDm.js";import{g as K,h as W,i as X,j as Y}from"./article-DJnP6RZd.js";import{u as Z}from"./useDictOptions-CypOxw17.js";import{j as tt}from"./index-E47--KT7.js";import{u as et,a as ot}from"./vue-router-QlpZ4wdW.js";import{f as v,ak as d,I as V,a as e,aN as r,J as i,F as lt,ap as at,G as rt,O as u}from"./@vue/runtime-core-C6bnekPw.js";import{y as a,r as w,q as it}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./@wangeditor/editor-Cyf37SuL.js";import"./@wangeditor/editor-for-vue-D1vSph3l.js";import"./index-nymJKQXP.js";import"./index-B56X8bEB.js";import"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import"./index-BHTgr4Ka.js";import"./index-Ci4dcEQh.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-DoYUJmkp.js";import"./index.vue_vue_type_script_setup_true_lang-Bl0f8aX8.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./usePaging-VsbTxSU0.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const st={class:"article-edit"},mt={class:"xl:flex"},nt={class:"w-80"},pt={class:"w-80"},dt={class:"w-80"},ut={class:"w-80"},_t={class:"xl:ml-20"},ct=v({name:"articleListsEdit"}),ge=v({...ct,setup(ft){const p=et(),g=ot(),o=w({id:"",title:"",image:"",cid:"",desc:"",author:"",content:"",click_virtual:0,sort:0,is_show:1,abstract:""}),{removeTab:x}=tt(),_=it(),k=w({title:[{required:!0,message:"请输入文章标题",trigger:"blur"}],cid:[{required:!0,message:"请选择文章栏目",trigger:"blur"}]}),E=async()=>{const m=await K({id:p.query.id});Object.keys(o).forEach(t=>{o[t]=m[t]})},{optionsData:y}=Z({article_cate:{api:Y}}),R=async()=>{var m;await((m=_.value)==null?void 0:m.validate()),p.query.id?await W(o):await X(o),x(),g.back()};return p.query.id&&E(),(m,t)=>{const U=$,c=j,n=T,s=G,h=J,q=A,B=Q,f=L,b=S,C=P,D=M,I=z,N=H,O=F;return d(),V("div",st,[e(c,{class:"!border-none",shadow:"never"},{default:r(()=>[e(U,{content:m.$route.meta.title,onBack:t[0]||(t[0]=l=>m.$router.back())},null,8,["content"])]),_:1}),e(c,{class:"mt-4 !border-none",shadow:"never"},{default:r(()=>[e(I,{ref_key:"formRef",ref:_,class:"ls-form",model:a(o),"label-width":"85px",rules:a(k)},{default:r(()=>[i("div",mt,[i("div",null,[e(s,{label:"文章标题",prop:"title"},{default:r(()=>[i("div",nt,[e(n,{modelValue:a(o).title,"onUpdate:modelValue":t[1]||(t[1]=l=>a(o).title=l),placeholder:"请输入文章标题",type:"textarea",autosize:{minRows:3,maxRows:3},maxlength:"64","show-word-limit":"",clearable:""},null,8,["modelValue"])])]),_:1}),e(s,{label:"文章栏目",prop:"cid"},{default:r(()=>[e(q,{class:"w-80",modelValue:a(o).cid,"onUpdate:modelValue":t[2]||(t[2]=l=>a(o).cid=l),placeholder:"请选择文章栏目",clearable:""},{default:r(()=>[(d(!0),V(lt,null,at(a(y).article_cate,l=>(d(),rt(h,{key:l.id,label:l.name,value:l.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),e(s,{label:"文章简介",prop:"desc"},{default:r(()=>[i("div",pt,[e(n,{modelValue:a(o).desc,"onUpdate:modelValue":t[3]||(t[3]=l=>a(o).desc=l),placeholder:"请输入文章简介",type:"textarea",autosize:{minRows:3,maxRows:6},maxlength:200,"show-word-limit":"",clearable:""},null,8,["modelValue"])])]),_:1}),e(s,{label:"摘要",prop:"abstract"},{default:r(()=>[i("div",dt,[e(n,{type:"textarea",autosize:{minRows:6,maxRows:6},modelValue:a(o).abstract,"onUpdate:modelValue":t[4]||(t[4]=l=>a(o).abstract=l),maxlength:"200","show-word-limit":"",clearable:""},null,8,["modelValue"])])]),_:1}),e(s,{label:"文章封面",prop:"image"},{default:r(()=>[i("div",null,[i("div",null,[e(B,{modelValue:a(o).image,"onUpdate:modelValue":t[5]||(t[5]=l=>a(o).image=l),limit:1},null,8,["modelValue"])]),t[11]||(t[11]=i("div",{class:"form-tips"},"建议尺寸:240*180px",-1))])]),_:1}),e(s,{label:"作者",prop:"author"},{default:r(()=>[i("div",ut,[e(n,{modelValue:a(o).author,"onUpdate:modelValue":t[6]||(t[6]=l=>a(o).author=l),placeholder:"请输入作者名称"},null,8,["modelValue"])])]),_:1}),e(s,{label:"排序",prop:"sort"},{default:r(()=>[i("div",null,[e(f,{modelValue:a(o).sort,"onUpdate:modelValue":t[7]||(t[7]=l=>a(o).sort=l),min:0,max:9999},null,8,["modelValue"]),t[12]||(t[12]=i("div",{class:"form-tips"},"默认为0, 数值越大越排前",-1))])]),_:1}),e(s,{label:"初始浏览量",prop:"click_virtual"},{default:r(()=>[i("div",null,[e(f,{modelValue:a(o).click_virtual,"onUpdate:modelValue":t[8]||(t[8]=l=>a(o).click_virtual=l),min:0},null,8,["modelValue"])])]),_:1}),e(s,{label:"文章状态",required:"",prop:"is_show"},{default:r(()=>[e(C,{modelValue:a(o).is_show,"onUpdate:modelValue":t[9]||(t[9]=l=>a(o).is_show=l)},{default:r(()=>[e(b,{value:1},{default:r(()=>[...t[13]||(t[13]=[u("显示",-1)])]),_:1}),e(b,{value:0},{default:r(()=>[...t[14]||(t[14]=[u("隐藏",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),i("div",_t,[e(s,{label:"文章内容",prop:"content"},{default:r(()=>[e(D,{modelValue:a(o).content,"onUpdate:modelValue":t[10]||(t[10]=l=>a(o).content=l),height:667,width:375},null,8,["modelValue"])]),_:1})])])]),_:1},8,["model","rules"])]),_:1}),e(O,null,{default:r(()=>[e(N,{type:"primary",onClick:R},{default:r(()=>[...t[15]||(t[15]=[u("保存",-1)])]),_:1})]),_:1})])}}});export{ge as default}; +import{_ as F}from"./index-x1zzA0a7.js";import{O as $,J as j,D as z,B as G,C as T,P as A,Q as J,h as L,G as P,I as S,i as H}from"./element-plus-DFTWCWyi.js";import{_ as M}from"./index.vue_vue_type_style_index_0_lang-CV_qr4dh.js";import{_ as Q}from"./picker-BCRrEZaA.js";import{g as K,h as W,i as X,j as Y}from"./article-BnVIxFkr.js";import{u as Z}from"./useDictOptions-Dl6xXBty.js";import{j as tt}from"./index-DBREMm_z.js";import{u as et,a as ot}from"./vue-router-QlpZ4wdW.js";import{f as v,ak as d,I as V,a as e,aN as r,J as i,F as lt,ap as at,G as rt,O as u}from"./@vue/runtime-core-C6bnekPw.js";import{y as a,r as w,q as it}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./@wangeditor/editor-Cyf37SuL.js";import"./@wangeditor/editor-for-vue-D1vSph3l.js";import"./index-BwF7vczx.js";import"./index-BiPYXDtP.js";import"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import"./index-CbfZXeGu.js";import"./index-CRoZWY-W.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-BimpIRb_.js";import"./index.vue_vue_type_script_setup_true_lang-x0oL2ShL.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./usePaging-VsbTxSU0.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const st={class:"article-edit"},mt={class:"xl:flex"},nt={class:"w-80"},pt={class:"w-80"},dt={class:"w-80"},ut={class:"w-80"},_t={class:"xl:ml-20"},ct=v({name:"articleListsEdit"}),ge=v({...ct,setup(ft){const p=et(),g=ot(),o=w({id:"",title:"",image:"",cid:"",desc:"",author:"",content:"",click_virtual:0,sort:0,is_show:1,abstract:""}),{removeTab:x}=tt(),_=it(),k=w({title:[{required:!0,message:"请输入文章标题",trigger:"blur"}],cid:[{required:!0,message:"请选择文章栏目",trigger:"blur"}]}),E=async()=>{const m=await K({id:p.query.id});Object.keys(o).forEach(t=>{o[t]=m[t]})},{optionsData:y}=Z({article_cate:{api:Y}}),R=async()=>{var m;await((m=_.value)==null?void 0:m.validate()),p.query.id?await W(o):await X(o),x(),g.back()};return p.query.id&&E(),(m,t)=>{const U=$,c=j,n=T,s=G,h=J,q=A,B=Q,f=L,b=S,C=P,D=M,I=z,N=H,O=F;return d(),V("div",st,[e(c,{class:"!border-none",shadow:"never"},{default:r(()=>[e(U,{content:m.$route.meta.title,onBack:t[0]||(t[0]=l=>m.$router.back())},null,8,["content"])]),_:1}),e(c,{class:"mt-4 !border-none",shadow:"never"},{default:r(()=>[e(I,{ref_key:"formRef",ref:_,class:"ls-form",model:a(o),"label-width":"85px",rules:a(k)},{default:r(()=>[i("div",mt,[i("div",null,[e(s,{label:"文章标题",prop:"title"},{default:r(()=>[i("div",nt,[e(n,{modelValue:a(o).title,"onUpdate:modelValue":t[1]||(t[1]=l=>a(o).title=l),placeholder:"请输入文章标题",type:"textarea",autosize:{minRows:3,maxRows:3},maxlength:"64","show-word-limit":"",clearable:""},null,8,["modelValue"])])]),_:1}),e(s,{label:"文章栏目",prop:"cid"},{default:r(()=>[e(q,{class:"w-80",modelValue:a(o).cid,"onUpdate:modelValue":t[2]||(t[2]=l=>a(o).cid=l),placeholder:"请选择文章栏目",clearable:""},{default:r(()=>[(d(!0),V(lt,null,at(a(y).article_cate,l=>(d(),rt(h,{key:l.id,label:l.name,value:l.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),e(s,{label:"文章简介",prop:"desc"},{default:r(()=>[i("div",pt,[e(n,{modelValue:a(o).desc,"onUpdate:modelValue":t[3]||(t[3]=l=>a(o).desc=l),placeholder:"请输入文章简介",type:"textarea",autosize:{minRows:3,maxRows:6},maxlength:200,"show-word-limit":"",clearable:""},null,8,["modelValue"])])]),_:1}),e(s,{label:"摘要",prop:"abstract"},{default:r(()=>[i("div",dt,[e(n,{type:"textarea",autosize:{minRows:6,maxRows:6},modelValue:a(o).abstract,"onUpdate:modelValue":t[4]||(t[4]=l=>a(o).abstract=l),maxlength:"200","show-word-limit":"",clearable:""},null,8,["modelValue"])])]),_:1}),e(s,{label:"文章封面",prop:"image"},{default:r(()=>[i("div",null,[i("div",null,[e(B,{modelValue:a(o).image,"onUpdate:modelValue":t[5]||(t[5]=l=>a(o).image=l),limit:1},null,8,["modelValue"])]),t[11]||(t[11]=i("div",{class:"form-tips"},"建议尺寸:240*180px",-1))])]),_:1}),e(s,{label:"作者",prop:"author"},{default:r(()=>[i("div",ut,[e(n,{modelValue:a(o).author,"onUpdate:modelValue":t[6]||(t[6]=l=>a(o).author=l),placeholder:"请输入作者名称"},null,8,["modelValue"])])]),_:1}),e(s,{label:"排序",prop:"sort"},{default:r(()=>[i("div",null,[e(f,{modelValue:a(o).sort,"onUpdate:modelValue":t[7]||(t[7]=l=>a(o).sort=l),min:0,max:9999},null,8,["modelValue"]),t[12]||(t[12]=i("div",{class:"form-tips"},"默认为0, 数值越大越排前",-1))])]),_:1}),e(s,{label:"初始浏览量",prop:"click_virtual"},{default:r(()=>[i("div",null,[e(f,{modelValue:a(o).click_virtual,"onUpdate:modelValue":t[8]||(t[8]=l=>a(o).click_virtual=l),min:0},null,8,["modelValue"])])]),_:1}),e(s,{label:"文章状态",required:"",prop:"is_show"},{default:r(()=>[e(C,{modelValue:a(o).is_show,"onUpdate:modelValue":t[9]||(t[9]=l=>a(o).is_show=l)},{default:r(()=>[e(b,{value:1},{default:r(()=>[...t[13]||(t[13]=[u("显示",-1)])]),_:1}),e(b,{value:0},{default:r(()=>[...t[14]||(t[14]=[u("隐藏",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),i("div",_t,[e(s,{label:"文章内容",prop:"content"},{default:r(()=>[e(D,{modelValue:a(o).content,"onUpdate:modelValue":t[10]||(t[10]=l=>a(o).content=l),height:667,width:375},null,8,["modelValue"])]),_:1})])])]),_:1},8,["model","rules"])]),_:1}),e(O,null,{default:r(()=>[e(N,{type:"primary",onClick:R},{default:r(()=>[...t[15]||(t[15]=[u("保存",-1)])]),_:1})]),_:1})])}}});export{ge as default}; diff --git a/server/public/admin/assets/edit-Ma-5Uh1k.js b/server/public/admin/assets/edit-BhpztwAz.js similarity index 93% rename from server/public/admin/assets/edit-Ma-5Uh1k.js rename to server/public/admin/assets/edit-BhpztwAz.js index 53b89d9d..d4ea3cda 100644 --- a/server/public/admin/assets/edit-Ma-5Uh1k.js +++ b/server/public/admin/assets/edit-BhpztwAz.js @@ -1 +1 @@ -import{D as X,U as Y,B as Z,C as h,G as ee,I as le,h as oe,W as te,P as ae,Q as re,g as de,i as ie,e as ne}from"./element-plus-0wC3naml.js";import{_ as se}from"./picker-DlbAZkDm.js";import{b as pe,d as ue,e as me}from"./admin-DO1zWq80.js";import{d as fe}from"./department-4lF54x8w.js";import{j as _e}from"./post-Dq6zumLO.js";import{i as ge,m as be,_ as ce}from"./index-E47--KT7.js";import{u as Ve}from"./useDictOptions-CypOxw17.js";import{f as ve,ak as _,I as v,a as t,aN as r,O as u,G as w,J as s,H as we,F as R,ap as A,A as ye}from"./@vue/runtime-core-C6bnekPw.js";import{y as l,a as xe,q as Ue,n as b,r as B}from"./@vue/reactivity-DiY1c2vO.js";import{Q as I}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-nymJKQXP.js";import"./index-B56X8bEB.js";import"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import"./index-BHTgr4Ka.js";import"./index-Ci4dcEQh.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-DoYUJmkp.js";import"./index.vue_vue_type_script_setup_true_lang-Bl0f8aX8.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./usePaging-VsbTxSU0.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Ee={class:"edit-drawer"},je={class:"text-primary font-medium"},De={class:"w-full"},ke={class:"ml-2 text-gray-500"},qe={class:"flex justify-end"},Ce=ve({__name:"edit",emits:["success","close"],setup(Ne,{expose:O,emit:S}){function F(i){if(i.status!==1)return!0;const e=i.children;return Array.isArray(e)&&e.length>0}const y=S,x=Ue(),f=b(!1),m=b("add"),c=b(!1),U=b([]),T=async()=>{const i=await be({type:"department"});U.value=(i==null?void 0:i.department)||[]},G=ye(()=>m.value=="edit"?"编辑医助":"新增医助"),o=B({id:"",account:"",name:"",gender:1,age:null,phone:"",role_id:[2],dept_id:[],jobs_id:[],avatar:"",title:"",department:"",specialty:"",education:"",experience:"",honors:"",password:"",password_confirm:"",disable:0,multipoint_login:1,diagnosis_count:null}),{optionsData:E}=Ve({jobs:{api:_e},dept:{api:fe,params:{apply_data_scope:1}}}),V=(i,e,n)=>{o.password&&(e||n(new Error("请再次输入密码")),e!==o.password&&n(new Error("两次输入密码不一致!"))),n()},g=B({account:[{required:!0,message:"请输入账号",trigger:["blur"]}],name:[{required:!0,message:"请输入姓名",trigger:["blur"]}],gender:[{required:!0,message:"请选择性别",trigger:["change"]}],dept_id:[{required:!0,type:"array",min:1,message:"请选择归属部门",trigger:["change"]}],phone:[{validator:(i,e,n)=>{e&&!/^1[3-9]\d{9}$/.test(e)?n(new Error("请输入正确的手机号")):n()},trigger:"blur"}],password:[{required:!0,message:"请输入密码",trigger:["blur"]}],password_confirm:[{required:!0,message:"请输入确认密码",trigger:["blur"]},{validator:V,trigger:"blur"}]}),P=async()=>{var i;try{await((i=x.value)==null?void 0:i.validate()),c.value=!0,m.value=="edit"?await pe(o):await ue(o),ge.msgSuccess(m.value=="edit"?"编辑成功":"新增成功"),f.value=!1,y("success")}catch(e){console.error("提交失败:",e)}finally{c.value=!1}},Q=(i="add")=>{m.value=i,f.value=!0,T(),i==="add"&&(Object.assign(o,{id:"",account:"",name:"",gender:1,age:null,phone:"",role_id:[2],dept_id:[],jobs_id:[],avatar:"",title:"",department:"",specialty:"",education:"",experience:"",honors:"",password:"",password_confirm:"",disable:0,multipoint_login:1,diagnosis_count:null}),g.password=[{required:!0,message:"请输入密码",trigger:["blur"]}],g.password_confirm=[{required:!0,message:"请输入确认密码",trigger:["blur"]},{validator:V,trigger:"blur"}])},z=async i=>{g.password=[],g.password_confirm=[{validator:V,trigger:"blur"}];const e=await me({id:i.id});for(const n in o)e[n]!=null&&e[n]!=null&&(o[n]=e[n]);o.role_id.includes(2)||o.role_id.push(2)},j=()=>{f.value=!1,y("close")};return O({open:Q,setFormData:z}),(i,e)=>{const n=Y,d=Z,p=h,H=se,D=le,J=ee,L=oe,W=te,k=re,q=ae,C=de,$=X,N=ie,K=ne;return _(),v("div",Ee,[t(K,{modelValue:l(f),"onUpdate:modelValue":e[18]||(e[18]=a=>xe(f)?f.value=a:null),title:l(G),direction:"rtl",size:"780px","before-close":j},{footer:r(()=>[s("div",qe,[t(N,{onClick:j},{default:r(()=>[...e[30]||(e[30]=[u("取消",-1)])]),_:1}),t(N,{type:"primary",onClick:P,loading:l(c)},{default:r(()=>[...e[31]||(e[31]=[u("确定",-1)])]),_:1},8,["loading"])])]),default:r(()=>[t($,{ref_key:"formRef",ref:x,model:l(o),"label-width":"100px",rules:l(g)},{default:r(()=>[t(n,{"content-position":"left"},{default:r(()=>[...e[19]||(e[19]=[u("基本信息",-1)])]),_:1}),l(m)==="edit"&&l(o).diagnosis_count!=null?(_(),w(d,{key:0,label:"创建诊单数"},{default:r(()=>[s("span",je,I(l(o).diagnosis_count),1),e[20]||(e[20]=s("span",{class:"text-tx-secondary text-sm ml-2"},"条",-1))]),_:1})):we("",!0),t(d,{label:"账号",prop:"account"},{default:r(()=>[t(p,{modelValue:l(o).account,"onUpdate:modelValue":e[0]||(e[0]=a=>l(o).account=a),placeholder:"请输入账号",clearable:""},null,8,["modelValue"])]),_:1}),t(d,{label:"头像"},{default:r(()=>[s("div",null,[s("div",null,[t(H,{modelValue:l(o).avatar,"onUpdate:modelValue":e[1]||(e[1]=a=>l(o).avatar=a),limit:1},null,8,["modelValue"])]),e[21]||(e[21]=s("div",{class:"form-tips"},"建议尺寸:100*100px,支持jpg,jpeg,png格式",-1))])]),_:1}),t(d,{label:"姓名",prop:"name"},{default:r(()=>[t(p,{modelValue:l(o).name,"onUpdate:modelValue":e[2]||(e[2]=a=>l(o).name=a),placeholder:"请输入姓名",clearable:""},null,8,["modelValue"])]),_:1}),t(d,{label:"性别",prop:"gender"},{default:r(()=>[t(J,{modelValue:l(o).gender,"onUpdate:modelValue":e[3]||(e[3]=a=>l(o).gender=a)},{default:r(()=>[t(D,{label:1},{default:r(()=>[...e[22]||(e[22]=[u("男",-1)])]),_:1}),t(D,{label:2},{default:r(()=>[...e[23]||(e[23]=[u("女",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),t(d,{label:"年龄",prop:"age"},{default:r(()=>[t(L,{modelValue:l(o).age,"onUpdate:modelValue":e[4]||(e[4]=a=>l(o).age=a),min:18,max:100,placeholder:"请输入年龄"},null,8,["modelValue"])]),_:1}),t(d,{label:"手机号",prop:"phone"},{default:r(()=>[t(p,{modelValue:l(o).phone,"onUpdate:modelValue":e[5]||(e[5]=a=>l(o).phone=a),placeholder:"请输入手机号",clearable:""},null,8,["modelValue"])]),_:1}),t(n,{"content-position":"left"},{default:r(()=>[...e[24]||(e[24]=[u("组织信息",-1)])]),_:1}),t(d,{label:"归属部门",prop:"dept_id"},{default:r(()=>[s("div",De,[t(W,{class:"flex-1 w-full",modelValue:l(o).dept_id,"onUpdate:modelValue":e[6]||(e[6]=a=>l(o).dept_id=a),data:l(E).dept,clearable:"",multiple:"","node-key":"id",props:{label:"name",disabled:F},"check-strictly":"","default-expand-all":!0,placeholder:"请选择末级归属部门"},null,8,["modelValue","data","props"]),e[25]||(e[25]=s("div",{class:"form-tips"},"仅可选末级部门(含下级的父部门不可选),与数据权限范围一致。",-1))])]),_:1}),t(d,{label:"岗位",prop:"jobs_id"},{default:r(()=>[t(q,{class:"flex-1",modelValue:l(o).jobs_id,"onUpdate:modelValue":e[7]||(e[7]=a=>l(o).jobs_id=a),clearable:"",multiple:"",placeholder:"请选择岗位"},{default:r(()=>[(_(!0),v(R,null,A(l(E).jobs,(a,M)=>(_(),w(k,{key:M,label:a.name,value:a.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(n,{"content-position":"left"},{default:r(()=>[...e[26]||(e[26]=[u("专业信息",-1)])]),_:1}),t(d,{label:"职称",prop:"title"},{default:r(()=>[t(p,{modelValue:l(o).title,"onUpdate:modelValue":e[8]||(e[8]=a=>l(o).title=a),placeholder:"如:主任医师、副主任医师",clearable:""},null,8,["modelValue"])]),_:1}),t(d,{label:"所属科室",prop:"department"},{default:r(()=>[t(q,{modelValue:l(o).department,"onUpdate:modelValue":e[9]||(e[9]=a=>l(o).department=a),placeholder:"请选择所属科室",clearable:"",class:"flex-1"},{default:r(()=>[(_(!0),v(R,null,A(l(U),a=>(_(),w(k,{key:a.value,label:a.name,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(d,{label:"擅长领域",prop:"specialty"},{default:r(()=>[t(p,{modelValue:l(o).specialty,"onUpdate:modelValue":e[10]||(e[10]=a=>l(o).specialty=a),type:"textarea",rows:3,placeholder:"请输入擅长领域"},null,8,["modelValue"])]),_:1}),t(n,{"content-position":"left"},{default:r(()=>[...e[27]||(e[27]=[u("履历信息",-1)])]),_:1}),t(d,{label:"教育背景",prop:"education"},{default:r(()=>[t(p,{modelValue:l(o).education,"onUpdate:modelValue":e[11]||(e[11]=a=>l(o).education=a),type:"textarea",rows:3,placeholder:"请输入教育背景,如:北京中医药大学 中医学博士"},null,8,["modelValue"])]),_:1}),t(d,{label:"工作经历",prop:"experience"},{default:r(()=>[t(p,{modelValue:l(o).experience,"onUpdate:modelValue":e[12]||(e[12]=a=>l(o).experience=a),type:"textarea",rows:4,placeholder:"请输入工作经历"},null,8,["modelValue"])]),_:1}),t(d,{label:"荣誉资质",prop:"honors"},{default:r(()=>[t(p,{modelValue:l(o).honors,"onUpdate:modelValue":e[13]||(e[13]=a=>l(o).honors=a),type:"textarea",rows:3,placeholder:"请输入荣誉资质"},null,8,["modelValue"])]),_:1}),t(n,{"content-position":"left"},{default:r(()=>[...e[28]||(e[28]=[u("账号设置",-1)])]),_:1}),t(d,{label:"密码",prop:"password"},{default:r(()=>[t(p,{modelValue:l(o).password,"onUpdate:modelValue":e[14]||(e[14]=a=>l(o).password=a),"show-password":"",clearable:"",placeholder:l(m)==="edit"?"不修改请留空":"请输入密码"},null,8,["modelValue","placeholder"])]),_:1}),t(d,{label:"确认密码",prop:"password_confirm"},{default:r(()=>[t(p,{modelValue:l(o).password_confirm,"onUpdate:modelValue":e[15]||(e[15]=a=>l(o).password_confirm=a),"show-password":"",clearable:"",placeholder:l(m)==="edit"?"不修改请留空":"请输入确认密码"},null,8,["modelValue","placeholder"])]),_:1}),t(d,{label:"状态"},{default:r(()=>[t(C,{modelValue:l(o).disable,"onUpdate:modelValue":e[16]||(e[16]=a=>l(o).disable=a),"active-value":0,"inactive-value":1},null,8,["modelValue"]),s("span",ke,I(l(o).disable===0?"启用":"禁用"),1)]),_:1}),t(d,{label:"多处登录"},{default:r(()=>[s("div",null,[t(C,{modelValue:l(o).multipoint_login,"onUpdate:modelValue":e[17]||(e[17]=a=>l(o).multipoint_login=a),"active-value":1,"inactive-value":0},null,8,["modelValue"]),e[29]||(e[29]=s("div",{class:"form-tips"},"允许多人同时在线登录",-1))])]),_:1})]),_:1},8,["model","rules"])]),_:1},8,["modelValue","title"])])}}}),Il=ce(Ce,[["__scopeId","data-v-f616077a"]]);export{Il as default}; +import{D as X,U as Y,B as Z,C as h,G as ee,I as le,h as oe,W as te,P as ae,Q as re,g as de,i as ie,e as ne}from"./element-plus-DFTWCWyi.js";import{_ as se}from"./picker-BCRrEZaA.js";import{b as pe,d as ue,e as me}from"./admin-DVVxI3fN.js";import{d as fe}from"./department-CrUndMAW.js";import{j as _e}from"./post-RziaWdiV.js";import{i as ge,m as be,_ as ce}from"./index-DBREMm_z.js";import{u as Ve}from"./useDictOptions-Dl6xXBty.js";import{f as ve,ak as _,I as v,a as t,aN as r,O as u,G as w,J as s,H as we,F as R,ap as A,A as ye}from"./@vue/runtime-core-C6bnekPw.js";import{y as l,a as xe,q as Ue,n as b,r as B}from"./@vue/reactivity-DiY1c2vO.js";import{Q as I}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-BwF7vczx.js";import"./index-BiPYXDtP.js";import"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import"./index-CbfZXeGu.js";import"./index-CRoZWY-W.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-BimpIRb_.js";import"./index.vue_vue_type_script_setup_true_lang-x0oL2ShL.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./usePaging-VsbTxSU0.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Ee={class:"edit-drawer"},je={class:"text-primary font-medium"},De={class:"w-full"},ke={class:"ml-2 text-gray-500"},qe={class:"flex justify-end"},Ce=ve({__name:"edit",emits:["success","close"],setup(Ne,{expose:O,emit:S}){function F(i){if(i.status!==1)return!0;const e=i.children;return Array.isArray(e)&&e.length>0}const y=S,x=Ue(),f=b(!1),m=b("add"),c=b(!1),U=b([]),T=async()=>{const i=await be({type:"department"});U.value=(i==null?void 0:i.department)||[]},G=ye(()=>m.value=="edit"?"编辑医助":"新增医助"),o=B({id:"",account:"",name:"",gender:1,age:null,phone:"",role_id:[2],dept_id:[],jobs_id:[],avatar:"",title:"",department:"",specialty:"",education:"",experience:"",honors:"",password:"",password_confirm:"",disable:0,multipoint_login:1,diagnosis_count:null}),{optionsData:E}=Ve({jobs:{api:_e},dept:{api:fe,params:{apply_data_scope:1}}}),V=(i,e,n)=>{o.password&&(e||n(new Error("请再次输入密码")),e!==o.password&&n(new Error("两次输入密码不一致!"))),n()},g=B({account:[{required:!0,message:"请输入账号",trigger:["blur"]}],name:[{required:!0,message:"请输入姓名",trigger:["blur"]}],gender:[{required:!0,message:"请选择性别",trigger:["change"]}],dept_id:[{required:!0,type:"array",min:1,message:"请选择归属部门",trigger:["change"]}],phone:[{validator:(i,e,n)=>{e&&!/^1[3-9]\d{9}$/.test(e)?n(new Error("请输入正确的手机号")):n()},trigger:"blur"}],password:[{required:!0,message:"请输入密码",trigger:["blur"]}],password_confirm:[{required:!0,message:"请输入确认密码",trigger:["blur"]},{validator:V,trigger:"blur"}]}),P=async()=>{var i;try{await((i=x.value)==null?void 0:i.validate()),c.value=!0,m.value=="edit"?await pe(o):await ue(o),ge.msgSuccess(m.value=="edit"?"编辑成功":"新增成功"),f.value=!1,y("success")}catch(e){console.error("提交失败:",e)}finally{c.value=!1}},Q=(i="add")=>{m.value=i,f.value=!0,T(),i==="add"&&(Object.assign(o,{id:"",account:"",name:"",gender:1,age:null,phone:"",role_id:[2],dept_id:[],jobs_id:[],avatar:"",title:"",department:"",specialty:"",education:"",experience:"",honors:"",password:"",password_confirm:"",disable:0,multipoint_login:1,diagnosis_count:null}),g.password=[{required:!0,message:"请输入密码",trigger:["blur"]}],g.password_confirm=[{required:!0,message:"请输入确认密码",trigger:["blur"]},{validator:V,trigger:"blur"}])},z=async i=>{g.password=[],g.password_confirm=[{validator:V,trigger:"blur"}];const e=await me({id:i.id});for(const n in o)e[n]!=null&&e[n]!=null&&(o[n]=e[n]);o.role_id.includes(2)||o.role_id.push(2)},j=()=>{f.value=!1,y("close")};return O({open:Q,setFormData:z}),(i,e)=>{const n=Y,d=Z,p=h,H=se,D=le,J=ee,L=oe,W=te,k=re,q=ae,C=de,$=X,N=ie,K=ne;return _(),v("div",Ee,[t(K,{modelValue:l(f),"onUpdate:modelValue":e[18]||(e[18]=a=>xe(f)?f.value=a:null),title:l(G),direction:"rtl",size:"780px","before-close":j},{footer:r(()=>[s("div",qe,[t(N,{onClick:j},{default:r(()=>[...e[30]||(e[30]=[u("取消",-1)])]),_:1}),t(N,{type:"primary",onClick:P,loading:l(c)},{default:r(()=>[...e[31]||(e[31]=[u("确定",-1)])]),_:1},8,["loading"])])]),default:r(()=>[t($,{ref_key:"formRef",ref:x,model:l(o),"label-width":"100px",rules:l(g)},{default:r(()=>[t(n,{"content-position":"left"},{default:r(()=>[...e[19]||(e[19]=[u("基本信息",-1)])]),_:1}),l(m)==="edit"&&l(o).diagnosis_count!=null?(_(),w(d,{key:0,label:"创建诊单数"},{default:r(()=>[s("span",je,I(l(o).diagnosis_count),1),e[20]||(e[20]=s("span",{class:"text-tx-secondary text-sm ml-2"},"条",-1))]),_:1})):we("",!0),t(d,{label:"账号",prop:"account"},{default:r(()=>[t(p,{modelValue:l(o).account,"onUpdate:modelValue":e[0]||(e[0]=a=>l(o).account=a),placeholder:"请输入账号",clearable:""},null,8,["modelValue"])]),_:1}),t(d,{label:"头像"},{default:r(()=>[s("div",null,[s("div",null,[t(H,{modelValue:l(o).avatar,"onUpdate:modelValue":e[1]||(e[1]=a=>l(o).avatar=a),limit:1},null,8,["modelValue"])]),e[21]||(e[21]=s("div",{class:"form-tips"},"建议尺寸:100*100px,支持jpg,jpeg,png格式",-1))])]),_:1}),t(d,{label:"姓名",prop:"name"},{default:r(()=>[t(p,{modelValue:l(o).name,"onUpdate:modelValue":e[2]||(e[2]=a=>l(o).name=a),placeholder:"请输入姓名",clearable:""},null,8,["modelValue"])]),_:1}),t(d,{label:"性别",prop:"gender"},{default:r(()=>[t(J,{modelValue:l(o).gender,"onUpdate:modelValue":e[3]||(e[3]=a=>l(o).gender=a)},{default:r(()=>[t(D,{label:1},{default:r(()=>[...e[22]||(e[22]=[u("男",-1)])]),_:1}),t(D,{label:2},{default:r(()=>[...e[23]||(e[23]=[u("女",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),t(d,{label:"年龄",prop:"age"},{default:r(()=>[t(L,{modelValue:l(o).age,"onUpdate:modelValue":e[4]||(e[4]=a=>l(o).age=a),min:18,max:100,placeholder:"请输入年龄"},null,8,["modelValue"])]),_:1}),t(d,{label:"手机号",prop:"phone"},{default:r(()=>[t(p,{modelValue:l(o).phone,"onUpdate:modelValue":e[5]||(e[5]=a=>l(o).phone=a),placeholder:"请输入手机号",clearable:""},null,8,["modelValue"])]),_:1}),t(n,{"content-position":"left"},{default:r(()=>[...e[24]||(e[24]=[u("组织信息",-1)])]),_:1}),t(d,{label:"归属部门",prop:"dept_id"},{default:r(()=>[s("div",De,[t(W,{class:"flex-1 w-full",modelValue:l(o).dept_id,"onUpdate:modelValue":e[6]||(e[6]=a=>l(o).dept_id=a),data:l(E).dept,clearable:"",multiple:"","node-key":"id",props:{label:"name",disabled:F},"check-strictly":"","default-expand-all":!0,placeholder:"请选择末级归属部门"},null,8,["modelValue","data","props"]),e[25]||(e[25]=s("div",{class:"form-tips"},"仅可选末级部门(含下级的父部门不可选),与数据权限范围一致。",-1))])]),_:1}),t(d,{label:"岗位",prop:"jobs_id"},{default:r(()=>[t(q,{class:"flex-1",modelValue:l(o).jobs_id,"onUpdate:modelValue":e[7]||(e[7]=a=>l(o).jobs_id=a),clearable:"",multiple:"",placeholder:"请选择岗位"},{default:r(()=>[(_(!0),v(R,null,A(l(E).jobs,(a,M)=>(_(),w(k,{key:M,label:a.name,value:a.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(n,{"content-position":"left"},{default:r(()=>[...e[26]||(e[26]=[u("专业信息",-1)])]),_:1}),t(d,{label:"职称",prop:"title"},{default:r(()=>[t(p,{modelValue:l(o).title,"onUpdate:modelValue":e[8]||(e[8]=a=>l(o).title=a),placeholder:"如:主任医师、副主任医师",clearable:""},null,8,["modelValue"])]),_:1}),t(d,{label:"所属科室",prop:"department"},{default:r(()=>[t(q,{modelValue:l(o).department,"onUpdate:modelValue":e[9]||(e[9]=a=>l(o).department=a),placeholder:"请选择所属科室",clearable:"",class:"flex-1"},{default:r(()=>[(_(!0),v(R,null,A(l(U),a=>(_(),w(k,{key:a.value,label:a.name,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(d,{label:"擅长领域",prop:"specialty"},{default:r(()=>[t(p,{modelValue:l(o).specialty,"onUpdate:modelValue":e[10]||(e[10]=a=>l(o).specialty=a),type:"textarea",rows:3,placeholder:"请输入擅长领域"},null,8,["modelValue"])]),_:1}),t(n,{"content-position":"left"},{default:r(()=>[...e[27]||(e[27]=[u("履历信息",-1)])]),_:1}),t(d,{label:"教育背景",prop:"education"},{default:r(()=>[t(p,{modelValue:l(o).education,"onUpdate:modelValue":e[11]||(e[11]=a=>l(o).education=a),type:"textarea",rows:3,placeholder:"请输入教育背景,如:北京中医药大学 中医学博士"},null,8,["modelValue"])]),_:1}),t(d,{label:"工作经历",prop:"experience"},{default:r(()=>[t(p,{modelValue:l(o).experience,"onUpdate:modelValue":e[12]||(e[12]=a=>l(o).experience=a),type:"textarea",rows:4,placeholder:"请输入工作经历"},null,8,["modelValue"])]),_:1}),t(d,{label:"荣誉资质",prop:"honors"},{default:r(()=>[t(p,{modelValue:l(o).honors,"onUpdate:modelValue":e[13]||(e[13]=a=>l(o).honors=a),type:"textarea",rows:3,placeholder:"请输入荣誉资质"},null,8,["modelValue"])]),_:1}),t(n,{"content-position":"left"},{default:r(()=>[...e[28]||(e[28]=[u("账号设置",-1)])]),_:1}),t(d,{label:"密码",prop:"password"},{default:r(()=>[t(p,{modelValue:l(o).password,"onUpdate:modelValue":e[14]||(e[14]=a=>l(o).password=a),"show-password":"",clearable:"",placeholder:l(m)==="edit"?"不修改请留空":"请输入密码"},null,8,["modelValue","placeholder"])]),_:1}),t(d,{label:"确认密码",prop:"password_confirm"},{default:r(()=>[t(p,{modelValue:l(o).password_confirm,"onUpdate:modelValue":e[15]||(e[15]=a=>l(o).password_confirm=a),"show-password":"",clearable:"",placeholder:l(m)==="edit"?"不修改请留空":"请输入确认密码"},null,8,["modelValue","placeholder"])]),_:1}),t(d,{label:"状态"},{default:r(()=>[t(C,{modelValue:l(o).disable,"onUpdate:modelValue":e[16]||(e[16]=a=>l(o).disable=a),"active-value":0,"inactive-value":1},null,8,["modelValue"]),s("span",ke,I(l(o).disable===0?"启用":"禁用"),1)]),_:1}),t(d,{label:"多处登录"},{default:r(()=>[s("div",null,[t(C,{modelValue:l(o).multipoint_login,"onUpdate:modelValue":e[17]||(e[17]=a=>l(o).multipoint_login=a),"active-value":1,"inactive-value":0},null,8,["modelValue"]),e[29]||(e[29]=s("div",{class:"form-tips"},"允许多人同时在线登录",-1))])]),_:1})]),_:1},8,["model","rules"])]),_:1},8,["modelValue","title"])])}}}),Il=ce(Ce,[["__scopeId","data-v-f616077a"]]);export{Il as default}; diff --git a/server/public/admin/assets/edit-Cne84dsM.js b/server/public/admin/assets/edit-Bkhnc9Ab.js similarity index 74% rename from server/public/admin/assets/edit-Cne84dsM.js rename to server/public/admin/assets/edit-Bkhnc9Ab.js index 1072c455..f22c99f7 100644 --- a/server/public/admin/assets/edit-Cne84dsM.js +++ b/server/public/admin/assets/edit-Bkhnc9Ab.js @@ -1 +1 @@ -import{_ as o}from"./edit.vue_vue_type_script_setup_true_lang-n7cqpx9_.js";import"./element-plus-0wC3naml.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./department-4lF54x8w.js";import"./index-E47--KT7.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-nymJKQXP.js";import"./useDictOptions-CypOxw17.js";export{o as default}; +import{_ as o}from"./edit.vue_vue_type_script_setup_true_lang-Cw38i8Af.js";import"./element-plus-DFTWCWyi.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./department-CrUndMAW.js";import"./index-DBREMm_z.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-BwF7vczx.js";import"./useDictOptions-Dl6xXBty.js";export{o as default}; diff --git a/server/public/admin/assets/edit-DkNQatXb.js b/server/public/admin/assets/edit-CGm0fUcE.js similarity index 77% rename from server/public/admin/assets/edit-DkNQatXb.js rename to server/public/admin/assets/edit-CGm0fUcE.js index 210348d6..8d2717d8 100644 --- a/server/public/admin/assets/edit-DkNQatXb.js +++ b/server/public/admin/assets/edit-CGm0fUcE.js @@ -1 +1 @@ -import{_ as o}from"./edit.vue_vue_type_script_setup_true_lang-DItGEiu-.js";import"./element-plus-0wC3naml.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./dict-Nvtnb8GD.js";import"./index-E47--KT7.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-nymJKQXP.js";export{o as default}; +import{_ as o}from"./edit.vue_vue_type_script_setup_true_lang-SN25urAl.js";import"./element-plus-DFTWCWyi.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./dict-BKviBR_7.js";import"./index-DBREMm_z.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-BwF7vczx.js";export{o as default}; diff --git a/server/public/admin/assets/edit-wfA6DpoG.js b/server/public/admin/assets/edit-CLzx_CbK.js similarity index 62% rename from server/public/admin/assets/edit-wfA6DpoG.js rename to server/public/admin/assets/edit-CLzx_CbK.js index 4ef9d021..cec2df08 100644 --- a/server/public/admin/assets/edit-wfA6DpoG.js +++ b/server/public/admin/assets/edit-CLzx_CbK.js @@ -1 +1 @@ -import{_ as o}from"./edit.vue_vue_type_script_setup_true_lang-3m13EY17.js";import"./element-plus-0wC3naml.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./picker-DlbAZkDm.js";import"./index-nymJKQXP.js";import"./index-E47--KT7.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-B56X8bEB.js";import"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import"./index-BHTgr4Ka.js";import"./index-Ci4dcEQh.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-DoYUJmkp.js";import"./index.vue_vue_type_script_setup_true_lang-Bl0f8aX8.js";import"./usePaging-VsbTxSU0.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./department-4lF54x8w.js";import"./post-Dq6zumLO.js";import"./admin-DO1zWq80.js";import"./role-DPqAO58h.js";import"./useDictOptions-CypOxw17.js";export{o as default}; +import{_ as o}from"./edit.vue_vue_type_script_setup_true_lang-DAbW78Jr.js";import"./element-plus-DFTWCWyi.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./picker-BCRrEZaA.js";import"./index-BwF7vczx.js";import"./index-DBREMm_z.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-BiPYXDtP.js";import"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import"./index-CbfZXeGu.js";import"./index-CRoZWY-W.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-BimpIRb_.js";import"./index.vue_vue_type_script_setup_true_lang-x0oL2ShL.js";import"./usePaging-VsbTxSU0.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./department-CrUndMAW.js";import"./post-RziaWdiV.js";import"./admin-DVVxI3fN.js";import"./role-DTNlgcHU.js";import"./useDictOptions-Dl6xXBty.js";export{o as default}; diff --git a/server/public/admin/assets/edit-BH5h2IG9.js b/server/public/admin/assets/edit-CRO3r4qf.js similarity index 77% rename from server/public/admin/assets/edit-BH5h2IG9.js rename to server/public/admin/assets/edit-CRO3r4qf.js index 30834b1e..fcdbc20f 100644 --- a/server/public/admin/assets/edit-BH5h2IG9.js +++ b/server/public/admin/assets/edit-CRO3r4qf.js @@ -1 +1 @@ -import{_ as o}from"./edit.vue_vue_type_script_setup_true_lang-BsajSW9y.js";import"./element-plus-0wC3naml.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./wx_oa-CMZpCm8a.js";import"./index-E47--KT7.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-nymJKQXP.js";export{o as default}; +import{_ as o}from"./edit.vue_vue_type_script_setup_true_lang-W1DUlHN3.js";import"./element-plus-DFTWCWyi.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./wx_oa-sVQft6O9.js";import"./index-DBREMm_z.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-BwF7vczx.js";export{o as default}; diff --git a/server/public/admin/assets/edit-BVgeLr6b.js b/server/public/admin/assets/edit-Cgkk3pe8.js similarity index 94% rename from server/public/admin/assets/edit-BVgeLr6b.js rename to server/public/admin/assets/edit-Cgkk3pe8.js index e279cb0c..eb21d379 100644 --- a/server/public/admin/assets/edit-BVgeLr6b.js +++ b/server/public/admin/assets/edit-Cgkk3pe8.js @@ -1 +1 @@ -import{D as X,U as Y,B as Z,C as h,G as ee,I as le,h as oe,W as ae,P as te,Q as re,g as ne,i as de,e as ie}from"./element-plus-0wC3naml.js";import{_ as se}from"./picker-DlbAZkDm.js";import{b as pe,d as ue,e as me}from"./admin-DO1zWq80.js";import{d as fe}from"./department-4lF54x8w.js";import{j as _e}from"./post-Dq6zumLO.js";import{i as be,m as ge,_ as ce}from"./index-E47--KT7.js";import{u as Ve}from"./useDictOptions-CypOxw17.js";import{f as ve,ak as g,I as y,a,aN as r,O as u,J as s,F as B,ap as I,G as N,A as we}from"./@vue/runtime-core-C6bnekPw.js";import{y as o,a as ye,q as xe,n as c,r as O}from"./@vue/reactivity-DiY1c2vO.js";import{Q as V}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-nymJKQXP.js";import"./index-B56X8bEB.js";import"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import"./index-BHTgr4Ka.js";import"./index-Ci4dcEQh.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-DoYUJmkp.js";import"./index.vue_vue_type_script_setup_true_lang-Bl0f8aX8.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./usePaging-VsbTxSU0.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Ue={class:"edit-drawer"},Ee={class:"w-full"},je={class:"ml-2 text-gray-500"},qe={class:"ml-2 text-gray-500"},De={class:"ml-2 text-gray-500"},ke={class:"ml-2 text-gray-500"},Ce={class:"flex justify-end"},Re=ve({__name:"edit",emits:["success","close"],setup(Ae,{expose:S,emit:F}){function T(d){if(d.status!==1)return!0;const e=d.children;return Array.isArray(e)&&e.length>0}const x=F,U=xe(),m=c(!1),f=c("add"),v=c(!1),E=c([]),G=async()=>{const d=await ge({type:"department"});E.value=(d==null?void 0:d.department)||[]},P=we(()=>f.value=="edit"?"编辑医生":"新增医生"),l=O({id:"",account:"",name:"",gender:1,age:null,phone:"",role_id:[1],dept_id:[],jobs_id:[],avatar:"",title:"",license_no:"",qualification_images:"",enable_image_consult:1,enable_video_consult:1,enable_charge:0,department:"",specialty:"",education:"",experience:"",honors:"",password:"",password_confirm:"",disable:0,multipoint_login:1}),{optionsData:j}=Ve({jobs:{api:_e},dept:{api:fe,params:{apply_data_scope:1}}}),w=(d,e,i)=>{l.password&&(e||i(new Error("请再次输入密码")),e!==l.password&&i(new Error("两次输入密码不一致!"))),i()},_=O({account:[{required:!0,message:"请输入账号",trigger:["blur"]}],name:[{required:!0,message:"请输入姓名",trigger:["blur"]}],gender:[{required:!0,message:"请选择性别",trigger:["change"]}],dept_id:[{required:!0,type:"array",min:1,message:"请选择归属部门",trigger:["change"]}],phone:[{validator:(d,e,i)=>{e&&!/^1[3-9]\d{9}$/.test(e)?i(new Error("请输入正确的手机号")):i()},trigger:"blur"}],password:[{required:!0,message:"请输入密码",trigger:["blur"]}],password_confirm:[{required:!0,message:"请输入确认密码",trigger:["blur"]},{validator:w,trigger:"blur"}]}),Q=async()=>{var d;try{await((d=U.value)==null?void 0:d.validate()),v.value=!0,f.value=="edit"?await pe(l):await ue(l),be.msgSuccess(f.value=="edit"?"编辑成功":"新增成功"),m.value=!1,x("success")}catch(e){console.error("提交失败:",e)}finally{v.value=!1}},z=(d="add")=>{f.value=d,m.value=!0,G(),d==="add"&&(Object.assign(l,{id:"",account:"",name:"",gender:1,age:null,phone:"",role_id:[1],dept_id:[],jobs_id:[],avatar:"",title:"",license_no:"",qualification_images:"",enable_image_consult:1,enable_video_consult:1,enable_charge:0,department:"",specialty:"",education:"",experience:"",honors:"",password:"",password_confirm:"",disable:0,multipoint_login:1}),_.password=[{required:!0,message:"请输入密码",trigger:["blur"]}],_.password_confirm=[{required:!0,message:"请输入确认密码",trigger:["blur"]},{validator:w,trigger:"blur"}])},J=async d=>{_.password=[],_.password_confirm=[{validator:w,trigger:"blur"}];const e=await me({id:d.id});for(const i in l)e[i]!=null&&e[i]!=null&&(l[i]=e[i]);l.role_id.includes(1)||l.role_id.push(1)},q=()=>{m.value=!1,x("close")};return S({open:z,setFormData:J}),(d,e)=>{const i=Y,p=h,n=Z,D=se,k=le,L=ee,W=oe,$=ae,C=re,R=te,b=ne,H=X,A=de,K=ie;return g(),y("div",Ue,[a(K,{modelValue:o(m),"onUpdate:modelValue":e[23]||(e[23]=t=>ye(m)?m.value=t:null),title:o(P),direction:"rtl",size:"780px","before-close":q},{footer:r(()=>[s("div",Ce,[a(A,{onClick:q},{default:r(()=>[...e[35]||(e[35]=[u("取消",-1)])]),_:1}),a(A,{type:"primary",onClick:Q,loading:o(v)},{default:r(()=>[...e[36]||(e[36]=[u("确定",-1)])]),_:1},8,["loading"])])]),default:r(()=>[a(H,{ref_key:"formRef",ref:U,model:o(l),"label-width":"100px",rules:o(_)},{default:r(()=>[a(i,{"content-position":"left"},{default:r(()=>[...e[24]||(e[24]=[u("基本信息",-1)])]),_:1}),a(n,{label:"账号",prop:"account"},{default:r(()=>[a(p,{modelValue:o(l).account,"onUpdate:modelValue":e[0]||(e[0]=t=>o(l).account=t),placeholder:"请输入账号",clearable:""},null,8,["modelValue"])]),_:1}),a(n,{label:"头像"},{default:r(()=>[s("div",null,[s("div",null,[a(D,{modelValue:o(l).avatar,"onUpdate:modelValue":e[1]||(e[1]=t=>o(l).avatar=t),limit:1},null,8,["modelValue"])]),e[25]||(e[25]=s("div",{class:"form-tips"},"建议尺寸:100*100px,支持jpg,jpeg,png格式",-1))])]),_:1}),a(n,{label:"姓名",prop:"name"},{default:r(()=>[a(p,{modelValue:o(l).name,"onUpdate:modelValue":e[2]||(e[2]=t=>o(l).name=t),placeholder:"请输入姓名",clearable:""},null,8,["modelValue"])]),_:1}),a(n,{label:"性别",prop:"gender"},{default:r(()=>[a(L,{modelValue:o(l).gender,"onUpdate:modelValue":e[3]||(e[3]=t=>o(l).gender=t)},{default:r(()=>[a(k,{label:1},{default:r(()=>[...e[26]||(e[26]=[u("男",-1)])]),_:1}),a(k,{label:2},{default:r(()=>[...e[27]||(e[27]=[u("女",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"年龄",prop:"age"},{default:r(()=>[a(W,{modelValue:o(l).age,"onUpdate:modelValue":e[4]||(e[4]=t=>o(l).age=t),min:18,max:100,placeholder:"请输入年龄"},null,8,["modelValue"])]),_:1}),a(n,{label:"手机号",prop:"phone"},{default:r(()=>[a(p,{modelValue:o(l).phone,"onUpdate:modelValue":e[5]||(e[5]=t=>o(l).phone=t),placeholder:"请输入手机号",clearable:""},null,8,["modelValue"])]),_:1}),a(i,{"content-position":"left"},{default:r(()=>[...e[28]||(e[28]=[u("组织信息",-1)])]),_:1}),a(n,{label:"归属部门",prop:"dept_id"},{default:r(()=>[s("div",Ee,[a($,{class:"flex-1 w-full",modelValue:o(l).dept_id,"onUpdate:modelValue":e[6]||(e[6]=t=>o(l).dept_id=t),data:o(j).dept,clearable:"",multiple:"","node-key":"id",props:{label:"name",disabled:T},"check-strictly":"","default-expand-all":!0,placeholder:"请选择末级归属部门"},null,8,["modelValue","data","props"]),e[29]||(e[29]=s("div",{class:"form-tips"},"仅可选末级部门(含下级的父部门不可选),与数据权限范围一致。",-1))])]),_:1}),a(n,{label:"岗位",prop:"jobs_id"},{default:r(()=>[a(R,{class:"flex-1",modelValue:o(l).jobs_id,"onUpdate:modelValue":e[7]||(e[7]=t=>o(l).jobs_id=t),clearable:"",multiple:"",placeholder:"请选择岗位"},{default:r(()=>[(g(!0),y(B,null,I(o(j).jobs,(t,M)=>(g(),N(C,{key:M,label:t.name,value:t.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(i,{"content-position":"left"},{default:r(()=>[...e[30]||(e[30]=[u("专业信息",-1)])]),_:1}),a(n,{label:"职称",prop:"title"},{default:r(()=>[a(p,{modelValue:o(l).title,"onUpdate:modelValue":e[8]||(e[8]=t=>o(l).title=t),placeholder:"如:主任医师、副主任医师",clearable:""},null,8,["modelValue"])]),_:1}),a(n,{label:"执业证书编号",prop:"license_no"},{default:r(()=>[a(p,{modelValue:o(l).license_no,"onUpdate:modelValue":e[9]||(e[9]=t=>o(l).license_no=t),placeholder:"请输入执业证书编号",clearable:""},null,8,["modelValue"])]),_:1}),a(n,{label:"资质图片"},{default:r(()=>[s("div",null,[s("div",null,[a(D,{modelValue:o(l).qualification_images,"onUpdate:modelValue":e[10]||(e[10]=t=>o(l).qualification_images=t),limit:9},null,8,["modelValue"])]),e[31]||(e[31]=s("div",{class:"form-tips"},"上传医生资质证书、荣誉证书等图片,最多9张,建议尺寸:800*600px",-1))])]),_:1}),a(n,{label:"图文问诊"},{default:r(()=>[a(b,{modelValue:o(l).enable_image_consult,"onUpdate:modelValue":e[11]||(e[11]=t=>o(l).enable_image_consult=t),"active-value":1,"inactive-value":0},null,8,["modelValue"]),s("span",je,V(o(l).enable_image_consult===1?"已开启":"已关闭"),1)]),_:1}),a(n,{label:"视频问诊"},{default:r(()=>[a(b,{modelValue:o(l).enable_video_consult,"onUpdate:modelValue":e[12]||(e[12]=t=>o(l).enable_video_consult=t),"active-value":1,"inactive-value":0},null,8,["modelValue"]),s("span",qe,V(o(l).enable_video_consult===1?"已开启":"已关闭"),1)]),_:1}),a(n,{label:"是否开启收费"},{default:r(()=>[a(b,{modelValue:o(l).enable_charge,"onUpdate:modelValue":e[13]||(e[13]=t=>o(l).enable_charge=t),"active-value":1,"inactive-value":0},null,8,["modelValue"]),s("span",De,V(o(l).enable_charge===1?"已开启":"已关闭"),1)]),_:1}),a(n,{label:"所属科室",prop:"department"},{default:r(()=>[a(R,{modelValue:o(l).department,"onUpdate:modelValue":e[14]||(e[14]=t=>o(l).department=t),placeholder:"请选择所属科室",clearable:"",class:"flex-1"},{default:r(()=>[(g(!0),y(B,null,I(o(E),t=>(g(),N(C,{key:t.value,label:t.name,value:t.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"擅长领域",prop:"specialty"},{default:r(()=>[a(p,{modelValue:o(l).specialty,"onUpdate:modelValue":e[15]||(e[15]=t=>o(l).specialty=t),type:"textarea",rows:3,placeholder:"请输入擅长领域"},null,8,["modelValue"])]),_:1}),a(i,{"content-position":"left"},{default:r(()=>[...e[32]||(e[32]=[u("履历信息",-1)])]),_:1}),a(n,{label:"教育背景",prop:"education"},{default:r(()=>[a(p,{modelValue:o(l).education,"onUpdate:modelValue":e[16]||(e[16]=t=>o(l).education=t),type:"textarea",rows:3,placeholder:"请输入教育背景,如:北京中医药大学 中医学博士"},null,8,["modelValue"])]),_:1}),a(n,{label:"工作经历",prop:"experience"},{default:r(()=>[a(p,{modelValue:o(l).experience,"onUpdate:modelValue":e[17]||(e[17]=t=>o(l).experience=t),type:"textarea",rows:4,placeholder:"请输入工作经历"},null,8,["modelValue"])]),_:1}),a(n,{label:"荣誉资质",prop:"honors"},{default:r(()=>[a(p,{modelValue:o(l).honors,"onUpdate:modelValue":e[18]||(e[18]=t=>o(l).honors=t),type:"textarea",rows:3,placeholder:"请输入荣誉资质"},null,8,["modelValue"])]),_:1}),a(i,{"content-position":"left"},{default:r(()=>[...e[33]||(e[33]=[u("账号设置",-1)])]),_:1}),a(n,{label:"密码",prop:"password"},{default:r(()=>[a(p,{modelValue:o(l).password,"onUpdate:modelValue":e[19]||(e[19]=t=>o(l).password=t),"show-password":"",clearable:"",placeholder:o(f)==="edit"?"不修改请留空":"请输入密码"},null,8,["modelValue","placeholder"])]),_:1}),a(n,{label:"确认密码",prop:"password_confirm"},{default:r(()=>[a(p,{modelValue:o(l).password_confirm,"onUpdate:modelValue":e[20]||(e[20]=t=>o(l).password_confirm=t),"show-password":"",clearable:"",placeholder:o(f)==="edit"?"不修改请留空":"请输入确认密码"},null,8,["modelValue","placeholder"])]),_:1}),a(n,{label:"状态"},{default:r(()=>[a(b,{modelValue:o(l).disable,"onUpdate:modelValue":e[21]||(e[21]=t=>o(l).disable=t),"active-value":0,"inactive-value":1},null,8,["modelValue"]),s("span",ke,V(o(l).disable===0?"启用":"禁用"),1)]),_:1}),a(n,{label:"多处登录"},{default:r(()=>[s("div",null,[a(b,{modelValue:o(l).multipoint_login,"onUpdate:modelValue":e[22]||(e[22]=t=>o(l).multipoint_login=t),"active-value":1,"inactive-value":0},null,8,["modelValue"]),e[34]||(e[34]=s("div",{class:"form-tips"},"允许多人同时在线登录",-1))])]),_:1})]),_:1},8,["model","rules"])]),_:1},8,["modelValue","title"])])}}}),Ol=ce(Re,[["__scopeId","data-v-c5cf7e96"]]);export{Ol as default}; +import{D as X,U as Y,B as Z,C as h,G as ee,I as le,h as oe,W as ae,P as te,Q as re,g as ne,i as de,e as ie}from"./element-plus-DFTWCWyi.js";import{_ as se}from"./picker-BCRrEZaA.js";import{b as pe,d as ue,e as me}from"./admin-DVVxI3fN.js";import{d as fe}from"./department-CrUndMAW.js";import{j as _e}from"./post-RziaWdiV.js";import{i as be,m as ge,_ as ce}from"./index-DBREMm_z.js";import{u as Ve}from"./useDictOptions-Dl6xXBty.js";import{f as ve,ak as g,I as y,a,aN as r,O as u,J as s,F as B,ap as I,G as N,A as we}from"./@vue/runtime-core-C6bnekPw.js";import{y as o,a as ye,q as xe,n as c,r as O}from"./@vue/reactivity-DiY1c2vO.js";import{Q as V}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-BwF7vczx.js";import"./index-BiPYXDtP.js";import"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import"./index-CbfZXeGu.js";import"./index-CRoZWY-W.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-BimpIRb_.js";import"./index.vue_vue_type_script_setup_true_lang-x0oL2ShL.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./usePaging-VsbTxSU0.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Ue={class:"edit-drawer"},Ee={class:"w-full"},je={class:"ml-2 text-gray-500"},qe={class:"ml-2 text-gray-500"},De={class:"ml-2 text-gray-500"},ke={class:"ml-2 text-gray-500"},Ce={class:"flex justify-end"},Re=ve({__name:"edit",emits:["success","close"],setup(Ae,{expose:S,emit:F}){function T(d){if(d.status!==1)return!0;const e=d.children;return Array.isArray(e)&&e.length>0}const x=F,U=xe(),m=c(!1),f=c("add"),v=c(!1),E=c([]),G=async()=>{const d=await ge({type:"department"});E.value=(d==null?void 0:d.department)||[]},P=we(()=>f.value=="edit"?"编辑医生":"新增医生"),l=O({id:"",account:"",name:"",gender:1,age:null,phone:"",role_id:[1],dept_id:[],jobs_id:[],avatar:"",title:"",license_no:"",qualification_images:"",enable_image_consult:1,enable_video_consult:1,enable_charge:0,department:"",specialty:"",education:"",experience:"",honors:"",password:"",password_confirm:"",disable:0,multipoint_login:1}),{optionsData:j}=Ve({jobs:{api:_e},dept:{api:fe,params:{apply_data_scope:1}}}),w=(d,e,i)=>{l.password&&(e||i(new Error("请再次输入密码")),e!==l.password&&i(new Error("两次输入密码不一致!"))),i()},_=O({account:[{required:!0,message:"请输入账号",trigger:["blur"]}],name:[{required:!0,message:"请输入姓名",trigger:["blur"]}],gender:[{required:!0,message:"请选择性别",trigger:["change"]}],dept_id:[{required:!0,type:"array",min:1,message:"请选择归属部门",trigger:["change"]}],phone:[{validator:(d,e,i)=>{e&&!/^1[3-9]\d{9}$/.test(e)?i(new Error("请输入正确的手机号")):i()},trigger:"blur"}],password:[{required:!0,message:"请输入密码",trigger:["blur"]}],password_confirm:[{required:!0,message:"请输入确认密码",trigger:["blur"]},{validator:w,trigger:"blur"}]}),Q=async()=>{var d;try{await((d=U.value)==null?void 0:d.validate()),v.value=!0,f.value=="edit"?await pe(l):await ue(l),be.msgSuccess(f.value=="edit"?"编辑成功":"新增成功"),m.value=!1,x("success")}catch(e){console.error("提交失败:",e)}finally{v.value=!1}},z=(d="add")=>{f.value=d,m.value=!0,G(),d==="add"&&(Object.assign(l,{id:"",account:"",name:"",gender:1,age:null,phone:"",role_id:[1],dept_id:[],jobs_id:[],avatar:"",title:"",license_no:"",qualification_images:"",enable_image_consult:1,enable_video_consult:1,enable_charge:0,department:"",specialty:"",education:"",experience:"",honors:"",password:"",password_confirm:"",disable:0,multipoint_login:1}),_.password=[{required:!0,message:"请输入密码",trigger:["blur"]}],_.password_confirm=[{required:!0,message:"请输入确认密码",trigger:["blur"]},{validator:w,trigger:"blur"}])},J=async d=>{_.password=[],_.password_confirm=[{validator:w,trigger:"blur"}];const e=await me({id:d.id});for(const i in l)e[i]!=null&&e[i]!=null&&(l[i]=e[i]);l.role_id.includes(1)||l.role_id.push(1)},q=()=>{m.value=!1,x("close")};return S({open:z,setFormData:J}),(d,e)=>{const i=Y,p=h,n=Z,D=se,k=le,L=ee,W=oe,$=ae,C=re,R=te,b=ne,H=X,A=de,K=ie;return g(),y("div",Ue,[a(K,{modelValue:o(m),"onUpdate:modelValue":e[23]||(e[23]=t=>ye(m)?m.value=t:null),title:o(P),direction:"rtl",size:"780px","before-close":q},{footer:r(()=>[s("div",Ce,[a(A,{onClick:q},{default:r(()=>[...e[35]||(e[35]=[u("取消",-1)])]),_:1}),a(A,{type:"primary",onClick:Q,loading:o(v)},{default:r(()=>[...e[36]||(e[36]=[u("确定",-1)])]),_:1},8,["loading"])])]),default:r(()=>[a(H,{ref_key:"formRef",ref:U,model:o(l),"label-width":"100px",rules:o(_)},{default:r(()=>[a(i,{"content-position":"left"},{default:r(()=>[...e[24]||(e[24]=[u("基本信息",-1)])]),_:1}),a(n,{label:"账号",prop:"account"},{default:r(()=>[a(p,{modelValue:o(l).account,"onUpdate:modelValue":e[0]||(e[0]=t=>o(l).account=t),placeholder:"请输入账号",clearable:""},null,8,["modelValue"])]),_:1}),a(n,{label:"头像"},{default:r(()=>[s("div",null,[s("div",null,[a(D,{modelValue:o(l).avatar,"onUpdate:modelValue":e[1]||(e[1]=t=>o(l).avatar=t),limit:1},null,8,["modelValue"])]),e[25]||(e[25]=s("div",{class:"form-tips"},"建议尺寸:100*100px,支持jpg,jpeg,png格式",-1))])]),_:1}),a(n,{label:"姓名",prop:"name"},{default:r(()=>[a(p,{modelValue:o(l).name,"onUpdate:modelValue":e[2]||(e[2]=t=>o(l).name=t),placeholder:"请输入姓名",clearable:""},null,8,["modelValue"])]),_:1}),a(n,{label:"性别",prop:"gender"},{default:r(()=>[a(L,{modelValue:o(l).gender,"onUpdate:modelValue":e[3]||(e[3]=t=>o(l).gender=t)},{default:r(()=>[a(k,{label:1},{default:r(()=>[...e[26]||(e[26]=[u("男",-1)])]),_:1}),a(k,{label:2},{default:r(()=>[...e[27]||(e[27]=[u("女",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"年龄",prop:"age"},{default:r(()=>[a(W,{modelValue:o(l).age,"onUpdate:modelValue":e[4]||(e[4]=t=>o(l).age=t),min:18,max:100,placeholder:"请输入年龄"},null,8,["modelValue"])]),_:1}),a(n,{label:"手机号",prop:"phone"},{default:r(()=>[a(p,{modelValue:o(l).phone,"onUpdate:modelValue":e[5]||(e[5]=t=>o(l).phone=t),placeholder:"请输入手机号",clearable:""},null,8,["modelValue"])]),_:1}),a(i,{"content-position":"left"},{default:r(()=>[...e[28]||(e[28]=[u("组织信息",-1)])]),_:1}),a(n,{label:"归属部门",prop:"dept_id"},{default:r(()=>[s("div",Ee,[a($,{class:"flex-1 w-full",modelValue:o(l).dept_id,"onUpdate:modelValue":e[6]||(e[6]=t=>o(l).dept_id=t),data:o(j).dept,clearable:"",multiple:"","node-key":"id",props:{label:"name",disabled:T},"check-strictly":"","default-expand-all":!0,placeholder:"请选择末级归属部门"},null,8,["modelValue","data","props"]),e[29]||(e[29]=s("div",{class:"form-tips"},"仅可选末级部门(含下级的父部门不可选),与数据权限范围一致。",-1))])]),_:1}),a(n,{label:"岗位",prop:"jobs_id"},{default:r(()=>[a(R,{class:"flex-1",modelValue:o(l).jobs_id,"onUpdate:modelValue":e[7]||(e[7]=t=>o(l).jobs_id=t),clearable:"",multiple:"",placeholder:"请选择岗位"},{default:r(()=>[(g(!0),y(B,null,I(o(j).jobs,(t,M)=>(g(),N(C,{key:M,label:t.name,value:t.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(i,{"content-position":"left"},{default:r(()=>[...e[30]||(e[30]=[u("专业信息",-1)])]),_:1}),a(n,{label:"职称",prop:"title"},{default:r(()=>[a(p,{modelValue:o(l).title,"onUpdate:modelValue":e[8]||(e[8]=t=>o(l).title=t),placeholder:"如:主任医师、副主任医师",clearable:""},null,8,["modelValue"])]),_:1}),a(n,{label:"执业证书编号",prop:"license_no"},{default:r(()=>[a(p,{modelValue:o(l).license_no,"onUpdate:modelValue":e[9]||(e[9]=t=>o(l).license_no=t),placeholder:"请输入执业证书编号",clearable:""},null,8,["modelValue"])]),_:1}),a(n,{label:"资质图片"},{default:r(()=>[s("div",null,[s("div",null,[a(D,{modelValue:o(l).qualification_images,"onUpdate:modelValue":e[10]||(e[10]=t=>o(l).qualification_images=t),limit:9},null,8,["modelValue"])]),e[31]||(e[31]=s("div",{class:"form-tips"},"上传医生资质证书、荣誉证书等图片,最多9张,建议尺寸:800*600px",-1))])]),_:1}),a(n,{label:"图文问诊"},{default:r(()=>[a(b,{modelValue:o(l).enable_image_consult,"onUpdate:modelValue":e[11]||(e[11]=t=>o(l).enable_image_consult=t),"active-value":1,"inactive-value":0},null,8,["modelValue"]),s("span",je,V(o(l).enable_image_consult===1?"已开启":"已关闭"),1)]),_:1}),a(n,{label:"视频问诊"},{default:r(()=>[a(b,{modelValue:o(l).enable_video_consult,"onUpdate:modelValue":e[12]||(e[12]=t=>o(l).enable_video_consult=t),"active-value":1,"inactive-value":0},null,8,["modelValue"]),s("span",qe,V(o(l).enable_video_consult===1?"已开启":"已关闭"),1)]),_:1}),a(n,{label:"是否开启收费"},{default:r(()=>[a(b,{modelValue:o(l).enable_charge,"onUpdate:modelValue":e[13]||(e[13]=t=>o(l).enable_charge=t),"active-value":1,"inactive-value":0},null,8,["modelValue"]),s("span",De,V(o(l).enable_charge===1?"已开启":"已关闭"),1)]),_:1}),a(n,{label:"所属科室",prop:"department"},{default:r(()=>[a(R,{modelValue:o(l).department,"onUpdate:modelValue":e[14]||(e[14]=t=>o(l).department=t),placeholder:"请选择所属科室",clearable:"",class:"flex-1"},{default:r(()=>[(g(!0),y(B,null,I(o(E),t=>(g(),N(C,{key:t.value,label:t.name,value:t.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"擅长领域",prop:"specialty"},{default:r(()=>[a(p,{modelValue:o(l).specialty,"onUpdate:modelValue":e[15]||(e[15]=t=>o(l).specialty=t),type:"textarea",rows:3,placeholder:"请输入擅长领域"},null,8,["modelValue"])]),_:1}),a(i,{"content-position":"left"},{default:r(()=>[...e[32]||(e[32]=[u("履历信息",-1)])]),_:1}),a(n,{label:"教育背景",prop:"education"},{default:r(()=>[a(p,{modelValue:o(l).education,"onUpdate:modelValue":e[16]||(e[16]=t=>o(l).education=t),type:"textarea",rows:3,placeholder:"请输入教育背景,如:北京中医药大学 中医学博士"},null,8,["modelValue"])]),_:1}),a(n,{label:"工作经历",prop:"experience"},{default:r(()=>[a(p,{modelValue:o(l).experience,"onUpdate:modelValue":e[17]||(e[17]=t=>o(l).experience=t),type:"textarea",rows:4,placeholder:"请输入工作经历"},null,8,["modelValue"])]),_:1}),a(n,{label:"荣誉资质",prop:"honors"},{default:r(()=>[a(p,{modelValue:o(l).honors,"onUpdate:modelValue":e[18]||(e[18]=t=>o(l).honors=t),type:"textarea",rows:3,placeholder:"请输入荣誉资质"},null,8,["modelValue"])]),_:1}),a(i,{"content-position":"left"},{default:r(()=>[...e[33]||(e[33]=[u("账号设置",-1)])]),_:1}),a(n,{label:"密码",prop:"password"},{default:r(()=>[a(p,{modelValue:o(l).password,"onUpdate:modelValue":e[19]||(e[19]=t=>o(l).password=t),"show-password":"",clearable:"",placeholder:o(f)==="edit"?"不修改请留空":"请输入密码"},null,8,["modelValue","placeholder"])]),_:1}),a(n,{label:"确认密码",prop:"password_confirm"},{default:r(()=>[a(p,{modelValue:o(l).password_confirm,"onUpdate:modelValue":e[20]||(e[20]=t=>o(l).password_confirm=t),"show-password":"",clearable:"",placeholder:o(f)==="edit"?"不修改请留空":"请输入确认密码"},null,8,["modelValue","placeholder"])]),_:1}),a(n,{label:"状态"},{default:r(()=>[a(b,{modelValue:o(l).disable,"onUpdate:modelValue":e[21]||(e[21]=t=>o(l).disable=t),"active-value":0,"inactive-value":1},null,8,["modelValue"]),s("span",ke,V(o(l).disable===0?"启用":"禁用"),1)]),_:1}),a(n,{label:"多处登录"},{default:r(()=>[s("div",null,[a(b,{modelValue:o(l).multipoint_login,"onUpdate:modelValue":e[22]||(e[22]=t=>o(l).multipoint_login=t),"active-value":1,"inactive-value":0},null,8,["modelValue"]),e[34]||(e[34]=s("div",{class:"form-tips"},"允许多人同时在线登录",-1))])]),_:1})]),_:1},8,["model","rules"])]),_:1},8,["modelValue","title"])])}}}),Ol=ce(Re,[["__scopeId","data-v-c5cf7e96"]]);export{Ol as default}; diff --git a/server/public/admin/assets/edit-hgBBPYXJ.js b/server/public/admin/assets/edit-ClO9w8qS.js similarity index 84% rename from server/public/admin/assets/edit-hgBBPYXJ.js rename to server/public/admin/assets/edit-ClO9w8qS.js index 430ccdd0..2b50c68f 100644 --- a/server/public/admin/assets/edit-hgBBPYXJ.js +++ b/server/public/admin/assets/edit-ClO9w8qS.js @@ -1 +1 @@ -import{_ as o}from"./edit.vue_vue_type_script_setup_true_name_articleColumnEdit_lang-CzxfOEt7.js";import"./element-plus-0wC3naml.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./article-DJnP6RZd.js";import"./index-E47--KT7.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-nymJKQXP.js";export{o as default}; +import{_ as o}from"./edit.vue_vue_type_script_setup_true_name_articleColumnEdit_lang-DPHyz3nQ.js";import"./element-plus-DFTWCWyi.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./article-BnVIxFkr.js";import"./index-DBREMm_z.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-BwF7vczx.js";export{o as default}; diff --git a/server/public/admin/assets/edit-D4HOYBIv.js b/server/public/admin/assets/edit-DLrF_4OV.js similarity index 77% rename from server/public/admin/assets/edit-D4HOYBIv.js rename to server/public/admin/assets/edit-DLrF_4OV.js index 15420a47..042a118e 100644 --- a/server/public/admin/assets/edit-D4HOYBIv.js +++ b/server/public/admin/assets/edit-DLrF_4OV.js @@ -1 +1 @@ -import{_ as o}from"./edit.vue_vue_type_script_setup_true_lang-C3aOnTrX.js";import"./element-plus-0wC3naml.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./dict-Nvtnb8GD.js";import"./index-E47--KT7.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-nymJKQXP.js";export{o as default}; +import{_ as o}from"./edit.vue_vue_type_script_setup_true_lang-Bo8W-Bev.js";import"./element-plus-DFTWCWyi.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./role-DTNlgcHU.js";import"./index-DBREMm_z.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-BwF7vczx.js";export{o as default}; diff --git a/server/public/admin/assets/edit-aPyRH11x.js b/server/public/admin/assets/edit-DfWwbZ4V.js similarity index 82% rename from server/public/admin/assets/edit-aPyRH11x.js rename to server/public/admin/assets/edit-DfWwbZ4V.js index 14b9a4e2..f0e15cfb 100644 --- a/server/public/admin/assets/edit-aPyRH11x.js +++ b/server/public/admin/assets/edit-DfWwbZ4V.js @@ -1 +1 @@ -import{_ as o}from"./edit.vue_vue_type_script_setup_true_lang-C3YGQx3u.js";import"./element-plus-0wC3naml.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./picker.vue_vue_type_script_setup_true_lang-DBWe-4hk.js";import"./index-E47--KT7.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./menu-CJerAkpY.js";import"./index-nymJKQXP.js";export{o as default}; +import{_ as o}from"./edit.vue_vue_type_script_setup_true_lang-BBq07rga.js";import"./element-plus-DFTWCWyi.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./picker.vue_vue_type_script_setup_true_lang-CqrG0MgW.js";import"./index-DBREMm_z.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./menu-CvPcniJ1.js";import"./index-BwF7vczx.js";export{o as default}; diff --git a/server/public/admin/assets/edit-CK5zzVEN.js b/server/public/admin/assets/edit-DjUf2sPY.js similarity index 83% rename from server/public/admin/assets/edit-CK5zzVEN.js rename to server/public/admin/assets/edit-DjUf2sPY.js index 0ee6cab4..f3727025 100644 --- a/server/public/admin/assets/edit-CK5zzVEN.js +++ b/server/public/admin/assets/edit-DjUf2sPY.js @@ -1 +1 @@ -import{_ as o}from"./edit.vue_vue_type_script_setup_true_lang-BdtkGJu8.js";import"./element-plus-0wC3naml.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-E47--KT7.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-nymJKQXP.js";export{o as default}; +import{_ as o}from"./edit.vue_vue_type_script_setup_true_lang-DK2-d75P.js";import"./element-plus-DFTWCWyi.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-DBREMm_z.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-BwF7vczx.js";export{o as default}; diff --git a/server/public/admin/assets/edit-CTvlHb1B.js b/server/public/admin/assets/edit-Dx70kQ0n.js similarity index 77% rename from server/public/admin/assets/edit-CTvlHb1B.js rename to server/public/admin/assets/edit-Dx70kQ0n.js index 71e1da57..85902d0d 100644 --- a/server/public/admin/assets/edit-CTvlHb1B.js +++ b/server/public/admin/assets/edit-Dx70kQ0n.js @@ -1 +1 @@ -import{_ as o}from"./edit.vue_vue_type_script_setup_true_lang-BRxNvBo2.js";import"./element-plus-0wC3naml.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./finance-C48kuhTG.js";import"./index-E47--KT7.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-nymJKQXP.js";export{o as default}; +import{_ as o}from"./edit.vue_vue_type_script_setup_true_lang-Bn53gSK4.js";import"./element-plus-DFTWCWyi.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./finance-YaEgIEMc.js";import"./index-DBREMm_z.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-BwF7vczx.js";export{o as default}; diff --git a/server/public/admin/assets/edit-Cj0lyXv8.js b/server/public/admin/assets/edit-Nqt6NFjX.js similarity index 77% rename from server/public/admin/assets/edit-Cj0lyXv8.js rename to server/public/admin/assets/edit-Nqt6NFjX.js index b833c55a..86ecbba5 100644 --- a/server/public/admin/assets/edit-Cj0lyXv8.js +++ b/server/public/admin/assets/edit-Nqt6NFjX.js @@ -1 +1 @@ -import{_ as o}from"./edit.vue_vue_type_script_setup_true_lang-CAjYh8N9.js";import"./element-plus-0wC3naml.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./message-CSrefGEU.js";import"./index-E47--KT7.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-nymJKQXP.js";export{o as default}; +import{_ as o}from"./edit.vue_vue_type_script_setup_true_lang-CwKzaRbZ.js";import"./element-plus-DFTWCWyi.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./message-Dx96dhoI.js";import"./index-DBREMm_z.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-BwF7vczx.js";export{o as default}; diff --git a/server/public/admin/assets/edit-Do-kTB4P.js b/server/public/admin/assets/edit-YD1kWr3g.js similarity index 96% rename from server/public/admin/assets/edit-Do-kTB4P.js rename to server/public/admin/assets/edit-YD1kWr3g.js index d48e5e65..40b2e3a3 100644 --- a/server/public/admin/assets/edit-Do-kTB4P.js +++ b/server/public/admin/assets/edit-YD1kWr3g.js @@ -1 +1 @@ -import{_ as I}from"./index-9zND60WT.js";import{O as N,J as D,D as F,B as G,C as M,G as O,I as $,g as j,M as H,N as J,i as S}from"./element-plus-0wC3naml.js";import{j as z,F as A,G as L,H as P,I as K}from"./index-E47--KT7.js";import{u as Q,a as W}from"./vue-router-QlpZ4wdW.js";import{f as v,b as X,ak as Y,I as Z,a as o,aN as l,J as i,O as b}from"./@vue/runtime-core-C6bnekPw.js";import{y as a,r as w,q as ee,n as oe}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const te={class:"article-edit"},ae={class:"w-80"},le={class:"w-80"},re={class:"w-80"},se={class:"w-80"},ne={class:"w-80"},me=v({name:"scheduledTaskEdit"}),Ke=v({...me,setup(ie){const p=Q(),V=W(),t=w({id:"",name:"",command:"",expression:"",params:"",remark:"",status:1,type:1}),{removeTab:x}=z(),d=ee(),y=w({name:[{required:!0,message:"请输入名称"}],command:[{required:!0,message:"请输入thankphp命令,如vresion"}],expression:[{required:!0,message:"请输入crontab规则,例:5 9 * * *"}]}),E=async()=>{const s=await A({id:p.query.id});Object.keys(t).forEach(e=>{t[e]=s[e]})},u=oe([]),c=async()=>{var e;await((e=d.value)==null?void 0:e.validateField(["expression"]));const s=await L({expression:t.expression});u.value=s},k=async()=>{var s;await((s=d.value)==null?void 0:s.validate()),p.query.id?await P(t):await K(t),x(),V.back()};return X(async()=>{p.query.id&&(await E(),await c())}),(s,e)=>{const g=N,_=D,m=M,n=G,h=$,R=O,q=j,f=J,B=H,U=F,C=S,T=I;return Y(),Z("div",te,[o(_,{class:"!border-none",shadow:"never"},{default:l(()=>[o(g,{content:s.$route.meta.title,onBack:e[0]||(e[0]=r=>s.$router.back())},null,8,["content"])]),_:1}),o(_,{class:"mt-4 !border-none",shadow:"never"},{default:l(()=>[o(U,{ref_key:"formRef",ref:d,class:"ls-form",model:a(t),"label-width":"85px",rules:a(y)},{default:l(()=>[o(n,{label:"名称",prop:"name"},{default:l(()=>[i("div",ae,[o(m,{modelValue:a(t).name,"onUpdate:modelValue":e[1]||(e[1]=r=>a(t).name=r),placeholder:"请输入名称",maxlength:"30",clearable:""},null,8,["modelValue"])])]),_:1}),o(n,{label:"类型",prop:"type"},{default:l(()=>[o(R,{modelValue:a(t).type,"onUpdate:modelValue":e[2]||(e[2]=r=>a(t).type=r)},{default:l(()=>[o(h,{value:1},{default:l(()=>[...e[8]||(e[8]=[b("定时任务",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),o(n,{label:"命令",prop:"command"},{default:l(()=>[i("div",le,[o(m,{modelValue:a(t).command,"onUpdate:modelValue":e[3]||(e[3]=r=>a(t).command=r),placeholder:"请输入thinkphp命令,如vresion",clearable:""},null,8,["modelValue"])])]),_:1}),o(n,{label:"参数",prop:"params"},{default:l(()=>[i("div",re,[o(m,{modelValue:a(t).params,"onUpdate:modelValue":e[4]||(e[4]=r=>a(t).params=r),placeholder:"请输入参数,例:--id 8 --name 测试",clearable:""},null,8,["modelValue"])])]),_:1}),o(n,{label:"状态"},{default:l(()=>[o(q,{modelValue:a(t).status,"onUpdate:modelValue":e[5]||(e[5]=r=>a(t).status=r),"active-value":1,"inactive-value":2},null,8,["modelValue"])]),_:1}),o(n,{label:"规则",prop:"expression"},{default:l(()=>[i("div",se,[o(m,{onBlur:c,modelValue:a(t).expression,"onUpdate:modelValue":e[6]||(e[6]=r=>a(t).expression=r),placeholder:"请输入crontab规则,例:5 9 * * *"},null,8,["modelValue"])])]),_:1}),o(n,null,{default:l(()=>[o(B,{data:a(u),style:{"max-width":"320px"}},{default:l(()=>[o(f,{prop:"time",label:"序号","min-width":"80"}),o(f,{prop:"date",label:"执行时间","min-width":"240"})]),_:1},8,["data"])]),_:1}),o(n,{label:"备注",prop:"remark"},{default:l(()=>[i("div",ne,[o(m,{modelValue:a(t).remark,"onUpdate:modelValue":e[7]||(e[7]=r=>a(t).remark=r),type:"textarea",autosize:{minRows:3,maxRows:6},maxlength:200,"show-word-limit":"",clearable:""},null,8,["modelValue"])])]),_:1})]),_:1},8,["model","rules"])]),_:1}),o(T,null,{default:l(()=>[o(C,{type:"primary",onClick:k},{default:l(()=>[...e[9]||(e[9]=[b("保存",-1)])]),_:1})]),_:1})])}}});export{Ke as default}; +import{_ as I}from"./index-x1zzA0a7.js";import{O as N,J as D,D as F,B as G,C as M,G as O,I as $,g as j,M as H,N as J,i as S}from"./element-plus-DFTWCWyi.js";import{j as z,F as A,G as L,H as P,I as K}from"./index-DBREMm_z.js";import{u as Q,a as W}from"./vue-router-QlpZ4wdW.js";import{f as v,b as X,ak as Y,I as Z,a as o,aN as l,J as i,O as b}from"./@vue/runtime-core-C6bnekPw.js";import{y as a,r as w,q as ee,n as oe}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const te={class:"article-edit"},ae={class:"w-80"},le={class:"w-80"},re={class:"w-80"},se={class:"w-80"},ne={class:"w-80"},me=v({name:"scheduledTaskEdit"}),Ke=v({...me,setup(ie){const p=Q(),V=W(),t=w({id:"",name:"",command:"",expression:"",params:"",remark:"",status:1,type:1}),{removeTab:x}=z(),d=ee(),y=w({name:[{required:!0,message:"请输入名称"}],command:[{required:!0,message:"请输入thankphp命令,如vresion"}],expression:[{required:!0,message:"请输入crontab规则,例:5 9 * * *"}]}),E=async()=>{const s=await A({id:p.query.id});Object.keys(t).forEach(e=>{t[e]=s[e]})},u=oe([]),c=async()=>{var e;await((e=d.value)==null?void 0:e.validateField(["expression"]));const s=await L({expression:t.expression});u.value=s},k=async()=>{var s;await((s=d.value)==null?void 0:s.validate()),p.query.id?await P(t):await K(t),x(),V.back()};return X(async()=>{p.query.id&&(await E(),await c())}),(s,e)=>{const g=N,_=D,m=M,n=G,h=$,R=O,q=j,f=J,B=H,U=F,C=S,T=I;return Y(),Z("div",te,[o(_,{class:"!border-none",shadow:"never"},{default:l(()=>[o(g,{content:s.$route.meta.title,onBack:e[0]||(e[0]=r=>s.$router.back())},null,8,["content"])]),_:1}),o(_,{class:"mt-4 !border-none",shadow:"never"},{default:l(()=>[o(U,{ref_key:"formRef",ref:d,class:"ls-form",model:a(t),"label-width":"85px",rules:a(y)},{default:l(()=>[o(n,{label:"名称",prop:"name"},{default:l(()=>[i("div",ae,[o(m,{modelValue:a(t).name,"onUpdate:modelValue":e[1]||(e[1]=r=>a(t).name=r),placeholder:"请输入名称",maxlength:"30",clearable:""},null,8,["modelValue"])])]),_:1}),o(n,{label:"类型",prop:"type"},{default:l(()=>[o(R,{modelValue:a(t).type,"onUpdate:modelValue":e[2]||(e[2]=r=>a(t).type=r)},{default:l(()=>[o(h,{value:1},{default:l(()=>[...e[8]||(e[8]=[b("定时任务",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),o(n,{label:"命令",prop:"command"},{default:l(()=>[i("div",le,[o(m,{modelValue:a(t).command,"onUpdate:modelValue":e[3]||(e[3]=r=>a(t).command=r),placeholder:"请输入thinkphp命令,如vresion",clearable:""},null,8,["modelValue"])])]),_:1}),o(n,{label:"参数",prop:"params"},{default:l(()=>[i("div",re,[o(m,{modelValue:a(t).params,"onUpdate:modelValue":e[4]||(e[4]=r=>a(t).params=r),placeholder:"请输入参数,例:--id 8 --name 测试",clearable:""},null,8,["modelValue"])])]),_:1}),o(n,{label:"状态"},{default:l(()=>[o(q,{modelValue:a(t).status,"onUpdate:modelValue":e[5]||(e[5]=r=>a(t).status=r),"active-value":1,"inactive-value":2},null,8,["modelValue"])]),_:1}),o(n,{label:"规则",prop:"expression"},{default:l(()=>[i("div",se,[o(m,{onBlur:c,modelValue:a(t).expression,"onUpdate:modelValue":e[6]||(e[6]=r=>a(t).expression=r),placeholder:"请输入crontab规则,例:5 9 * * *"},null,8,["modelValue"])])]),_:1}),o(n,null,{default:l(()=>[o(B,{data:a(u),style:{"max-width":"320px"}},{default:l(()=>[o(f,{prop:"time",label:"序号","min-width":"80"}),o(f,{prop:"date",label:"执行时间","min-width":"240"})]),_:1},8,["data"])]),_:1}),o(n,{label:"备注",prop:"remark"},{default:l(()=>[i("div",ne,[o(m,{modelValue:a(t).remark,"onUpdate:modelValue":e[7]||(e[7]=r=>a(t).remark=r),type:"textarea",autosize:{minRows:3,maxRows:6},maxlength:200,"show-word-limit":"",clearable:""},null,8,["modelValue"])])]),_:1})]),_:1},8,["model","rules"])]),_:1}),o(T,null,{default:l(()=>[o(C,{type:"primary",onClick:k},{default:l(()=>[...e[9]||(e[9]=[b("保存",-1)])]),_:1})]),_:1})])}}});export{Ke as default}; diff --git a/server/public/admin/assets/edit-CktqTQQ_.js b/server/public/admin/assets/edit-g9E_gOwG.js similarity index 97% rename from server/public/admin/assets/edit-CktqTQQ_.js rename to server/public/admin/assets/edit-g9E_gOwG.js index 3aee0759..3a60457b 100644 --- a/server/public/admin/assets/edit-CktqTQQ_.js +++ b/server/public/admin/assets/edit-g9E_gOwG.js @@ -1 +1 @@ -import{_ as ye}from"./index-9zND60WT.js";import{O as ge,J as ke,D as Ue,m as we,l as Ee,B as qe,C as xe,M as Ce,N as De,H as Ae,P as Re,Q as $e,G as Ie,I as Te,W as Ne,i as Be}from"./element-plus-0wC3naml.js";import{f as j,ak as p,I as v,F as q,ap as D,A as Y,a as l,aN as t,J as u,G as w,O as f,H,n as Oe,w as Pe}from"./@vue/runtime-core-C6bnekPw.js";import{Q as Z}from"./@vue/shared-mAAVTE9n.js";import{y as n,a as C,n as E,r as h,q as ee,t as le}from"./@vue/reactivity-DiY1c2vO.js";import{c as Se,i as ae,_ as Fe}from"./index-E47--KT7.js";import{l as te}from"./lodash-D3kF6u-c.js";import{m as Le}from"./menu-CJerAkpY.js";import{d as Qe}from"./dict-Nvtnb8GD.js";import{t as Ge,g as He}from"./code-DY1HVNqE.js";import{u as je}from"./useDictOptions-CypOxw17.js";import{_ as ze}from"./relations-add.vue_vue_type_script_setup_true_lang-CKhVzzB6.js";import{u as Je,a as We}from"./vue-router-QlpZ4wdW.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-nymJKQXP.js";const Ke=j({__name:"index",props:{options:{default:()=>[]},value:{},config:{default:()=>({label:"name",value:"value"})}},setup(P){const c=P,S=Y(()=>c.value!==null&&typeof c.value<"u"?Array.isArray(c.value)?c.value:String(c.value).split(","):[]),A=Y(()=>c.options.filter(x=>S.value.includes(x[c.config.value])));return(x,F)=>(p(),v("div",null,[(p(!0),v(q,null,D(n(A),(o,g)=>(p(),v("span",{key:g},Z(g!=0?"、":"")+Z(o[P.config.label]),1))),128))]))}}),Me={class:"code-edit"},Xe={class:"w-80"},Ye={class:"w-80"},Ze={class:"w-80"},he={class:"w-80"},el={class:"header-checkbox"},ll={class:"header-checkbox"},al={class:"header-checkbox"},tl={class:"header-checkbox"},ol={class:"header-checkbox"},nl={class:"w-80"},ul={class:"w-80"},dl={class:"w-80"},sl={class:"w-80"},ml={class:"mt-4"},rl=j({name:"tableEdit"}),il=j({...rl,setup(P){const c=Je(),S=We(),A=E("column"),x=E(!1),F=[{name:"一对一",value:"has_one"},{name:"一对多",value:"has_many"}],o=h({id:"",table_name:"",table_comment:"",author:"",remark:"",template_type:0,generate_type:0,module_name:"",class_dir:"",class_comment:"",table_column:[],menu:{pid:0,name:"",type:0},tree:{tree_id:0,tree_pid:0,tree_name:0},delete:{name:"",type:0},relations:[]}),g=E(!1),R=E(!1),$=E(!1),I=E(!1),T=E(!1),oe=()=>{o.table_column.forEach(d=>{d.is_required=g.value?1:0})},ne=()=>{o.table_column.forEach(d=>{d.is_insert=R.value?1:0})},ue=()=>{o.table_column.forEach(d=>{d.is_update=$.value?1:0})},de=()=>{o.table_column.forEach(d=>{d.is_lists=I.value?1:0})},se=()=>{o.table_column.forEach(d=>{d.is_query=T.value?1:0})};let L=0;const z=ee(),Q=ee(),J=h({table_name:[{required:!0,message:"请输入表名称"}],table_comment:[{required:!0,message:"请输入表描述"}],module_name:[{required:!0,message:"请输入模块名"}],generate_type:[{required:!0,trigger:"change"}],template_type:[{required:!0,trigger:"change"}],"menu.pid":[{required:!0,message:"请选择父级菜单"}],"menu.name":[{required:!0,message:"请输入菜单名称"}],"delete.type":[{required:!0,trigger:"change"}],"delete.name":[{required:!0,message:"请选择删除字段"}]}),W=async(d,e,k)=>{var V,_;x.value=!0,await Oe(),e&&k!==void 0&&((V=Q.value)==null||V.setFormData(e),L=k),(_=Q.value)==null||_.open(d)},me=d=>{const e=te.cloneDeep(le(d));o.relations.push(e)},re=async d=>{const e=te.cloneDeep(le(d));console.log(L),o.relations.splice(L,1,e)},ie=d=>{o.relations.splice(d,1)},pe=async()=>{const d=await Ge({id:c.query.id});Object.keys(o).forEach(e=>{o[e]=d[e]}),Pe(()=>o.generate_type,e=>{e==1&&ae.confirm("生成到模块方式如遇同名文件会覆盖旧文件,确定要选择此方式吗?").catch(()=>{o.generate_type=0})})},{optionsData:K}=je({dict_type:{api:Qe},menu:{api:Le,transformData(d){const e={id:0,name:"顶级",children:[]};return e.children=d,[e]}}}),_e=async()=>{var d,e;try{await((d=z.value)==null?void 0:d.validate()),await He(o),S.back()}catch(k){for(const V in k)Object.keys(J).includes(V)&&ae.msgError((e=k[V][0])==null?void 0:e.message)}};return pe(),(d,e)=>{const k=ge,V=ke,_=xe,r=qe,N=Ee,i=De,b=Ae,m=$e,U=Re,M=Ce,y=Te,B=Ie,fe=Ne,be=Se,O=Be,X=Ke,ve=we,ce=Ue,Ve=ye;return p(),v("div",Me,[l(V,{class:"!border-none",shadow:"never"},{default:t(()=>[l(k,{content:"编辑数据表",onBack:e[0]||(e[0]=a=>d.$router.back())})]),_:1}),l(V,{class:"mt-4 !border-none",shadow:"never"},{default:t(()=>[l(ce,{ref_key:"formRef",ref:z,class:"ls-form",model:n(o),"label-width":"100px",rules:n(J)},{default:t(()=>[l(ve,{modelValue:n(A),"onUpdate:modelValue":e[25]||(e[25]=a=>C(A)?A.value=a:null)},{default:t(()=>[l(N,{label:"基础信息",name:"base"},{default:t(()=>[l(r,{label:"表名称",prop:"table_name"},{default:t(()=>[u("div",Xe,[l(_,{modelValue:n(o).table_name,"onUpdate:modelValue":e[1]||(e[1]=a=>n(o).table_name=a),placeholder:"请输入表名称",clearable:""},null,8,["modelValue"])])]),_:1}),l(r,{label:"表描述",prop:"table_comment"},{default:t(()=>[u("div",Ye,[l(_,{modelValue:n(o).table_comment,"onUpdate:modelValue":e[2]||(e[2]=a=>n(o).table_comment=a),placeholder:"请输入表描述",clearable:""},null,8,["modelValue"])])]),_:1}),l(r,{label:"作者"},{default:t(()=>[u("div",Ze,[l(_,{modelValue:n(o).author,"onUpdate:modelValue":e[3]||(e[3]=a=>n(o).author=a),clearable:""},null,8,["modelValue"])])]),_:1}),l(r,{label:"备注"},{default:t(()=>[u("div",he,[l(_,{modelValue:n(o).remark,"onUpdate:modelValue":e[4]||(e[4]=a=>n(o).remark=a),class:"w-full",type:"textarea",autosize:{minRows:4,maxRows:4},maxlength:"200","show-word-limit":"",clearable:""},null,8,["modelValue"])])]),_:1})]),_:1}),l(N,{label:"字段管理",name:"column"},{default:t(()=>[l(M,{data:n(o).table_column},{default:t(()=>[l(i,{label:"字段列名",prop:"column_name"}),l(i,{label:"字段描述",prop:"column_comment","min-width":"120"},{default:t(({row:a})=>[l(_,{modelValue:a.column_comment,"onUpdate:modelValue":s=>a.column_comment=s,clearable:""},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),l(i,{label:"物理类型",prop:"column_type"}),l(i,{label:"必填",width:"80"},{header:t(()=>[u("div",el,[l(b,{modelValue:n(g),"onUpdate:modelValue":e[5]||(e[5]=a=>C(g)?g.value=a:null),onChange:oe},null,8,["modelValue"]),e[26]||(e[26]=u("span",null,"必填",-1))])]),default:t(({row:a})=>[l(b,{modelValue:a.is_required,"onUpdate:modelValue":s=>a.is_required=s,"true-value":1,"false-value":0},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),l(i,{label:"插入",width:"80"},{header:t(()=>[u("div",ll,[l(b,{modelValue:n(R),"onUpdate:modelValue":e[6]||(e[6]=a=>C(R)?R.value=a:null),onChange:ne},null,8,["modelValue"]),e[27]||(e[27]=u("span",null,"插入",-1))])]),default:t(({row:a})=>[l(b,{modelValue:a.is_insert,"onUpdate:modelValue":s=>a.is_insert=s,"true-value":1,"false-value":0},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),l(i,{label:"编辑",width:"80"},{header:t(()=>[u("div",al,[l(b,{modelValue:n($),"onUpdate:modelValue":e[7]||(e[7]=a=>C($)?$.value=a:null),onChange:ue},null,8,["modelValue"]),e[28]||(e[28]=u("span",null,"编辑",-1))])]),default:t(({row:a})=>[l(b,{modelValue:a.is_update,"onUpdate:modelValue":s=>a.is_update=s,"true-value":1,"false-value":0},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),l(i,{label:"列表",width:"80"},{header:t(()=>[u("div",tl,[l(b,{modelValue:n(I),"onUpdate:modelValue":e[8]||(e[8]=a=>C(I)?I.value=a:null),onChange:de},null,8,["modelValue"]),e[29]||(e[29]=u("span",null,"列表",-1))])]),default:t(({row:a})=>[l(b,{modelValue:a.is_lists,"onUpdate:modelValue":s=>a.is_lists=s,"true-value":1,"false-value":0},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),l(i,{label:"查询",width:"80"},{header:t(()=>[u("div",ol,[l(b,{modelValue:n(T),"onUpdate:modelValue":e[9]||(e[9]=a=>C(T)?T.value=a:null),onChange:se},null,8,["modelValue"]),e[30]||(e[30]=u("span",null,"查询",-1))])]),default:t(({row:a})=>[l(b,{modelValue:a.is_query,"onUpdate:modelValue":s=>a.is_query=s,"true-value":1,"false-value":0},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),l(i,{label:"查询方式"},{default:t(({row:a})=>[l(U,{modelValue:a.query_type,"onUpdate:modelValue":s=>a.query_type=s},{default:t(()=>[l(m,{label:"=",value:"="}),l(m,{label:"!=",value:"!="}),l(m,{label:">",value:">"}),l(m,{label:">=",value:">="}),l(m,{label:"<",value:"<"}),l(m,{label:"<=",value:"<="}),l(m,{label:"LIKE",value:"like"}),l(m,{label:"BETWEEN",value:"between"})]),_:1},8,["modelValue","onUpdate:modelValue"])]),_:1}),l(i,{label:"显示类型","min-width":"120"},{default:t(({row:a})=>[l(U,{modelValue:a.view_type,"onUpdate:modelValue":s=>a.view_type=s},{default:t(()=>[l(m,{label:"文本框",value:"input"}),l(m,{label:"文本域",value:"textarea"}),l(m,{label:"下拉框",value:"select"}),l(m,{label:"单选框",value:"radio"}),l(m,{label:"复选框",value:"checkbox"}),l(m,{label:"日期控件",value:"datetime"}),l(m,{label:"图片选择控件",value:"imageSelect"}),l(m,{label:"富文本控件",value:"editor"})]),_:1},8,["modelValue","onUpdate:modelValue"])]),_:1}),l(i,{label:"字典类型","min-width":"120"},{default:t(({row:a})=>[l(U,{modelValue:a.dict_type,"onUpdate:modelValue":s=>a.dict_type=s,clearable:"",disabled:!(a.view_type=="select"||a.view_type=="radio"||a.view_type=="checkbox"),placeholder:"字典类型"},{default:t(()=>[(p(!0),v(q,null,D(n(K).dict_type,(s,G)=>(p(),w(m,{key:G,label:s.name,value:s.type,disabled:!s.status},null,8,["label","value","disabled"]))),128))]),_:1},8,["modelValue","onUpdate:modelValue","disabled"])]),_:1})]),_:1},8,["data"])]),_:1}),l(N,{label:"生成配置",name:"config"},{default:t(()=>[l(r,{label:"模板类型",prop:"template_type"},{default:t(()=>[l(B,{modelValue:n(o).template_type,"onUpdate:modelValue":e[10]||(e[10]=a=>n(o).template_type=a)},{default:t(()=>[l(y,{value:0},{default:t(()=>[...e[31]||(e[31]=[f("单表(curd)",-1)])]),_:1}),l(y,{value:1},{default:t(()=>[...e[32]||(e[32]=[f("树表(curd)",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),l(r,{label:"删除类型",prop:"delete.type"},{default:t(()=>[l(B,{modelValue:n(o).delete.type,"onUpdate:modelValue":e[11]||(e[11]=a=>n(o).delete.type=a)},{default:t(()=>[l(y,{value:0},{default:t(()=>[...e[33]||(e[33]=[f("物理删除",-1)])]),_:1}),l(y,{value:1},{default:t(()=>[...e[34]||(e[34]=[f("软删除",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),n(o).delete.type==1?(p(),w(r,{key:0,label:"删除字段",prop:"delete.name"},{default:t(()=>[l(U,{class:"w-80",modelValue:n(o).delete.name,"onUpdate:modelValue":e[12]||(e[12]=a=>n(o).delete.name=a),clearable:""},{default:t(()=>[(p(!0),v(q,null,D(n(o).table_column,a=>(p(),w(m,{key:a.id,value:a.column_name,label:`${a.column_name}:${a.column_comment}`},null,8,["value","label"]))),128))]),_:1},8,["modelValue"])]),_:1})):H("",!0),n(o).template_type==1?(p(),v(q,{key:1},[l(r,{label:"树表ID",prop:"treePrimary"},{default:t(()=>[u("div",null,[l(U,{class:"w-80",modelValue:n(o).tree.tree_id,"onUpdate:modelValue":e[13]||(e[13]=a=>n(o).tree.tree_id=a),clearable:""},{default:t(()=>[(p(!0),v(q,null,D(n(o).table_column,a=>(p(),w(m,{key:a.id,value:a.column_name,label:`${a.column_name}:${a.column_comment}`},null,8,["value","label"]))),128))]),_:1},8,["modelValue"]),e[35]||(e[35]=u("div",{class:"form-tips"},"指定树表的主要ID,一般为主键",-1))])]),_:1}),l(r,{label:"树表父ID",prop:"treeParent"},{default:t(()=>[u("div",null,[l(U,{class:"w-80",modelValue:n(o).tree.tree_pid,"onUpdate:modelValue":e[14]||(e[14]=a=>n(o).tree.tree_pid=a),clearable:""},{default:t(()=>[(p(!0),v(q,null,D(n(o).table_column,a=>(p(),w(m,{key:a.id,value:a.column_name,label:`${a.column_name}:${a.column_comment}`},null,8,["value","label"]))),128))]),_:1},8,["modelValue"]),e[36]||(e[36]=u("div",{class:"form-tips"},"指定树表的父ID,比如:parent_id",-1))])]),_:1}),l(r,{label:"树名称",prop:"treeName"},{default:t(()=>[l(U,{class:"w-80",modelValue:n(o).tree.tree_name,"onUpdate:modelValue":e[15]||(e[15]=a=>n(o).tree.tree_name=a),clearable:""},{default:t(()=>[(p(!0),v(q,null,D(n(o).table_column,a=>(p(),w(m,{key:a.id,value:a.column_name,label:`${a.column_name}:${a.column_comment}`},null,8,["value","label"]))),128))]),_:1},8,["modelValue"])]),_:1})],64)):H("",!0),l(r,{label:"类描述"},{default:t(()=>[u("div",nl,[u("div",null,[l(_,{modelValue:n(o).class_comment,"onUpdate:modelValue":e[16]||(e[16]=a=>n(o).class_comment=a),placeholder:"请输入文件描述",clearable:""},null,8,["modelValue"])]),e[37]||(e[37]=u("div",{class:"form-tips"},[u("div",null," 例:填写test,生成文件描述为test控制器(test逻辑/test模型) ")],-1))])]),_:1}),l(r,{label:"生成方式",prop:"generate_type"},{default:t(()=>[l(B,{modelValue:n(o).generate_type,"onUpdate:modelValue":e[17]||(e[17]=a=>n(o).generate_type=a)},{default:t(()=>[l(y,{value:0},{default:t(()=>[...e[38]||(e[38]=[f("压缩包下载",-1)])]),_:1}),l(y,{value:1},{default:t(()=>[...e[39]||(e[39]=[f("生成到模块",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),l(r,{label:"模块名",prop:"module_name"},{default:t(()=>[u("div",ul,[l(_,{modelValue:n(o).module_name,"onUpdate:modelValue":e[18]||(e[18]=a=>n(o).module_name=a),placeholder:"请输入模块名",clearable:""},null,8,["modelValue"]),e[40]||(e[40]=u("div",{class:"form-tips"},"生成文件所在模块",-1))])]),_:1}),l(r,{label:"类目录"},{default:t(()=>[u("div",dl,[u("div",null,[l(_,{modelValue:n(o).class_dir,"onUpdate:modelValue":e[19]||(e[19]=a=>n(o).class_dir=a),placeholder:"请输入文件所在目录",clearable:""},null,8,["modelValue"])]),e[41]||(e[41]=u("div",{class:"form-tips"},[u("div",null," 例:填写test,则在app/模块名/controller/test下生成控制器 ")],-1))])]),_:1}),l(r,{label:"父级菜单",prop:"menu.pid"},{default:t(()=>[l(fe,{class:"w-80",modelValue:n(o).menu.pid,"onUpdate:modelValue":e[20]||(e[20]=a=>n(o).menu.pid=a),data:n(K).menu,clearable:"","node-key":"id",props:{label:"name"},"default-expand-all":"",placeholder:"请选择父级菜单","check-strictly":""},null,8,["modelValue","data"])]),_:1}),l(r,{label:"菜单名称",prop:"menu.name"},{default:t(()=>[u("div",sl,[l(_,{modelValue:n(o).menu.name,"onUpdate:modelValue":e[21]||(e[21]=a=>n(o).menu.name=a),placeholder:"请输入菜单名称",clearable:""},null,8,["modelValue"])])]),_:1}),l(r,{label:"菜单构建",prop:"menu.type",required:""},{default:t(()=>[u("div",null,[l(B,{modelValue:n(o).menu.type,"onUpdate:modelValue":e[22]||(e[22]=a=>n(o).menu.type=a)},{default:t(()=>[l(y,{value:1},{default:t(()=>[...e[42]||(e[42]=[f("自动构建",-1)])]),_:1}),l(y,{value:0},{default:t(()=>[...e[43]||(e[43]=[f("手动添加",-1)])]),_:1})]),_:1},8,["modelValue"]),e[44]||(e[44]=u("div",{class:"form-tips"}," 自动构建:自动执行生成菜单sql。手动添加:自行添加菜单。 ",-1))])]),_:1})]),_:1}),l(N,{label:"关联配置",name:"relations"},{default:t(()=>[l(O,{type:"primary",onClick:e[23]||(e[23]=a=>W("add"))},{icon:t(()=>[l(be,{name:"el-icon-Plus"})]),default:t(()=>[e[45]||(e[45]=f(" 新增关联 ",-1))]),_:1}),u("div",ml,[l(M,{data:n(o).relations,size:"small"},{default:t(()=>[l(i,{prop:"type",label:"关联类型"},{default:t(({row:a})=>[l(X,{value:a.type,options:F},null,8,["value"])]),_:1}),l(i,{prop:"name",label:"关联名称"}),l(i,{prop:"model",label:"关联模型"}),l(i,{prop:"local_key",label:"关联键"},{default:t(({row:a})=>[l(X,{value:a.local_key,options:n(o).table_column,config:{label:"column_comment",value:"column_name"}},null,8,["value","options"])]),_:1}),l(i,{prop:"foreign_key",label:"外键"}),l(i,{label:"操作"},{default:t(({row:a,$index:s})=>[l(O,{link:"",type:"primary",onClick:G=>W("edit",a,s)},{default:t(()=>[...e[46]||(e[46]=[f(" 编辑 ",-1)])]),_:1},8,["onClick"]),l(O,{link:"",type:"danger",onClick:G=>ie(s)},{default:t(()=>[...e[47]||(e[47]=[f(" 删除 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"]),n(x)?(p(),w(ze,{key:0,column:n(o).table_column,types:F,ref_key:"editRef",ref:Q,onAdd:me,onEdit:re,onClose:e[24]||(e[24]=a=>x.value=!1)},null,8,["column"])):H("",!0)])]),_:1})]),_:1},8,["modelValue"])]),_:1},8,["model","rules"])]),_:1}),l(Ve,null,{default:t(()=>[l(O,{type:"primary",onClick:_e},{default:t(()=>[...e[48]||(e[48]=[f("保存",-1)])]),_:1})]),_:1})])}}}),aa=Fe(il,[["__scopeId","data-v-f4669353"]]);export{aa as default}; +import{_ as ye}from"./index-x1zzA0a7.js";import{O as ge,J as ke,D as Ue,m as we,l as Ee,B as qe,C as xe,M as Ce,N as De,H as Ae,P as Re,Q as $e,G as Ie,I as Te,W as Ne,i as Be}from"./element-plus-DFTWCWyi.js";import{f as j,ak as p,I as v,F as q,ap as D,A as Y,a as l,aN as t,J as u,G as w,O as f,H,n as Oe,w as Pe}from"./@vue/runtime-core-C6bnekPw.js";import{Q as Z}from"./@vue/shared-mAAVTE9n.js";import{y as n,a as C,n as E,r as h,q as ee,t as le}from"./@vue/reactivity-DiY1c2vO.js";import{c as Se,i as ae,_ as Fe}from"./index-DBREMm_z.js";import{l as te}from"./lodash-D3kF6u-c.js";import{m as Le}from"./menu-CvPcniJ1.js";import{d as Qe}from"./dict-BKviBR_7.js";import{t as Ge,g as He}from"./code-UKo2HpQE.js";import{u as je}from"./useDictOptions-Dl6xXBty.js";import{_ as ze}from"./relations-add.vue_vue_type_script_setup_true_lang-o4iTfF3G.js";import{u as Je,a as We}from"./vue-router-QlpZ4wdW.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-BwF7vczx.js";const Ke=j({__name:"index",props:{options:{default:()=>[]},value:{},config:{default:()=>({label:"name",value:"value"})}},setup(P){const c=P,S=Y(()=>c.value!==null&&typeof c.value<"u"?Array.isArray(c.value)?c.value:String(c.value).split(","):[]),A=Y(()=>c.options.filter(x=>S.value.includes(x[c.config.value])));return(x,F)=>(p(),v("div",null,[(p(!0),v(q,null,D(n(A),(o,g)=>(p(),v("span",{key:g},Z(g!=0?"、":"")+Z(o[P.config.label]),1))),128))]))}}),Me={class:"code-edit"},Xe={class:"w-80"},Ye={class:"w-80"},Ze={class:"w-80"},he={class:"w-80"},el={class:"header-checkbox"},ll={class:"header-checkbox"},al={class:"header-checkbox"},tl={class:"header-checkbox"},ol={class:"header-checkbox"},nl={class:"w-80"},ul={class:"w-80"},dl={class:"w-80"},sl={class:"w-80"},ml={class:"mt-4"},rl=j({name:"tableEdit"}),il=j({...rl,setup(P){const c=Je(),S=We(),A=E("column"),x=E(!1),F=[{name:"一对一",value:"has_one"},{name:"一对多",value:"has_many"}],o=h({id:"",table_name:"",table_comment:"",author:"",remark:"",template_type:0,generate_type:0,module_name:"",class_dir:"",class_comment:"",table_column:[],menu:{pid:0,name:"",type:0},tree:{tree_id:0,tree_pid:0,tree_name:0},delete:{name:"",type:0},relations:[]}),g=E(!1),R=E(!1),$=E(!1),I=E(!1),T=E(!1),oe=()=>{o.table_column.forEach(d=>{d.is_required=g.value?1:0})},ne=()=>{o.table_column.forEach(d=>{d.is_insert=R.value?1:0})},ue=()=>{o.table_column.forEach(d=>{d.is_update=$.value?1:0})},de=()=>{o.table_column.forEach(d=>{d.is_lists=I.value?1:0})},se=()=>{o.table_column.forEach(d=>{d.is_query=T.value?1:0})};let L=0;const z=ee(),Q=ee(),J=h({table_name:[{required:!0,message:"请输入表名称"}],table_comment:[{required:!0,message:"请输入表描述"}],module_name:[{required:!0,message:"请输入模块名"}],generate_type:[{required:!0,trigger:"change"}],template_type:[{required:!0,trigger:"change"}],"menu.pid":[{required:!0,message:"请选择父级菜单"}],"menu.name":[{required:!0,message:"请输入菜单名称"}],"delete.type":[{required:!0,trigger:"change"}],"delete.name":[{required:!0,message:"请选择删除字段"}]}),W=async(d,e,k)=>{var V,_;x.value=!0,await Oe(),e&&k!==void 0&&((V=Q.value)==null||V.setFormData(e),L=k),(_=Q.value)==null||_.open(d)},me=d=>{const e=te.cloneDeep(le(d));o.relations.push(e)},re=async d=>{const e=te.cloneDeep(le(d));console.log(L),o.relations.splice(L,1,e)},ie=d=>{o.relations.splice(d,1)},pe=async()=>{const d=await Ge({id:c.query.id});Object.keys(o).forEach(e=>{o[e]=d[e]}),Pe(()=>o.generate_type,e=>{e==1&&ae.confirm("生成到模块方式如遇同名文件会覆盖旧文件,确定要选择此方式吗?").catch(()=>{o.generate_type=0})})},{optionsData:K}=je({dict_type:{api:Qe},menu:{api:Le,transformData(d){const e={id:0,name:"顶级",children:[]};return e.children=d,[e]}}}),_e=async()=>{var d,e;try{await((d=z.value)==null?void 0:d.validate()),await He(o),S.back()}catch(k){for(const V in k)Object.keys(J).includes(V)&&ae.msgError((e=k[V][0])==null?void 0:e.message)}};return pe(),(d,e)=>{const k=ge,V=ke,_=xe,r=qe,N=Ee,i=De,b=Ae,m=$e,U=Re,M=Ce,y=Te,B=Ie,fe=Ne,be=Se,O=Be,X=Ke,ve=we,ce=Ue,Ve=ye;return p(),v("div",Me,[l(V,{class:"!border-none",shadow:"never"},{default:t(()=>[l(k,{content:"编辑数据表",onBack:e[0]||(e[0]=a=>d.$router.back())})]),_:1}),l(V,{class:"mt-4 !border-none",shadow:"never"},{default:t(()=>[l(ce,{ref_key:"formRef",ref:z,class:"ls-form",model:n(o),"label-width":"100px",rules:n(J)},{default:t(()=>[l(ve,{modelValue:n(A),"onUpdate:modelValue":e[25]||(e[25]=a=>C(A)?A.value=a:null)},{default:t(()=>[l(N,{label:"基础信息",name:"base"},{default:t(()=>[l(r,{label:"表名称",prop:"table_name"},{default:t(()=>[u("div",Xe,[l(_,{modelValue:n(o).table_name,"onUpdate:modelValue":e[1]||(e[1]=a=>n(o).table_name=a),placeholder:"请输入表名称",clearable:""},null,8,["modelValue"])])]),_:1}),l(r,{label:"表描述",prop:"table_comment"},{default:t(()=>[u("div",Ye,[l(_,{modelValue:n(o).table_comment,"onUpdate:modelValue":e[2]||(e[2]=a=>n(o).table_comment=a),placeholder:"请输入表描述",clearable:""},null,8,["modelValue"])])]),_:1}),l(r,{label:"作者"},{default:t(()=>[u("div",Ze,[l(_,{modelValue:n(o).author,"onUpdate:modelValue":e[3]||(e[3]=a=>n(o).author=a),clearable:""},null,8,["modelValue"])])]),_:1}),l(r,{label:"备注"},{default:t(()=>[u("div",he,[l(_,{modelValue:n(o).remark,"onUpdate:modelValue":e[4]||(e[4]=a=>n(o).remark=a),class:"w-full",type:"textarea",autosize:{minRows:4,maxRows:4},maxlength:"200","show-word-limit":"",clearable:""},null,8,["modelValue"])])]),_:1})]),_:1}),l(N,{label:"字段管理",name:"column"},{default:t(()=>[l(M,{data:n(o).table_column},{default:t(()=>[l(i,{label:"字段列名",prop:"column_name"}),l(i,{label:"字段描述",prop:"column_comment","min-width":"120"},{default:t(({row:a})=>[l(_,{modelValue:a.column_comment,"onUpdate:modelValue":s=>a.column_comment=s,clearable:""},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),l(i,{label:"物理类型",prop:"column_type"}),l(i,{label:"必填",width:"80"},{header:t(()=>[u("div",el,[l(b,{modelValue:n(g),"onUpdate:modelValue":e[5]||(e[5]=a=>C(g)?g.value=a:null),onChange:oe},null,8,["modelValue"]),e[26]||(e[26]=u("span",null,"必填",-1))])]),default:t(({row:a})=>[l(b,{modelValue:a.is_required,"onUpdate:modelValue":s=>a.is_required=s,"true-value":1,"false-value":0},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),l(i,{label:"插入",width:"80"},{header:t(()=>[u("div",ll,[l(b,{modelValue:n(R),"onUpdate:modelValue":e[6]||(e[6]=a=>C(R)?R.value=a:null),onChange:ne},null,8,["modelValue"]),e[27]||(e[27]=u("span",null,"插入",-1))])]),default:t(({row:a})=>[l(b,{modelValue:a.is_insert,"onUpdate:modelValue":s=>a.is_insert=s,"true-value":1,"false-value":0},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),l(i,{label:"编辑",width:"80"},{header:t(()=>[u("div",al,[l(b,{modelValue:n($),"onUpdate:modelValue":e[7]||(e[7]=a=>C($)?$.value=a:null),onChange:ue},null,8,["modelValue"]),e[28]||(e[28]=u("span",null,"编辑",-1))])]),default:t(({row:a})=>[l(b,{modelValue:a.is_update,"onUpdate:modelValue":s=>a.is_update=s,"true-value":1,"false-value":0},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),l(i,{label:"列表",width:"80"},{header:t(()=>[u("div",tl,[l(b,{modelValue:n(I),"onUpdate:modelValue":e[8]||(e[8]=a=>C(I)?I.value=a:null),onChange:de},null,8,["modelValue"]),e[29]||(e[29]=u("span",null,"列表",-1))])]),default:t(({row:a})=>[l(b,{modelValue:a.is_lists,"onUpdate:modelValue":s=>a.is_lists=s,"true-value":1,"false-value":0},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),l(i,{label:"查询",width:"80"},{header:t(()=>[u("div",ol,[l(b,{modelValue:n(T),"onUpdate:modelValue":e[9]||(e[9]=a=>C(T)?T.value=a:null),onChange:se},null,8,["modelValue"]),e[30]||(e[30]=u("span",null,"查询",-1))])]),default:t(({row:a})=>[l(b,{modelValue:a.is_query,"onUpdate:modelValue":s=>a.is_query=s,"true-value":1,"false-value":0},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),l(i,{label:"查询方式"},{default:t(({row:a})=>[l(U,{modelValue:a.query_type,"onUpdate:modelValue":s=>a.query_type=s},{default:t(()=>[l(m,{label:"=",value:"="}),l(m,{label:"!=",value:"!="}),l(m,{label:">",value:">"}),l(m,{label:">=",value:">="}),l(m,{label:"<",value:"<"}),l(m,{label:"<=",value:"<="}),l(m,{label:"LIKE",value:"like"}),l(m,{label:"BETWEEN",value:"between"})]),_:1},8,["modelValue","onUpdate:modelValue"])]),_:1}),l(i,{label:"显示类型","min-width":"120"},{default:t(({row:a})=>[l(U,{modelValue:a.view_type,"onUpdate:modelValue":s=>a.view_type=s},{default:t(()=>[l(m,{label:"文本框",value:"input"}),l(m,{label:"文本域",value:"textarea"}),l(m,{label:"下拉框",value:"select"}),l(m,{label:"单选框",value:"radio"}),l(m,{label:"复选框",value:"checkbox"}),l(m,{label:"日期控件",value:"datetime"}),l(m,{label:"图片选择控件",value:"imageSelect"}),l(m,{label:"富文本控件",value:"editor"})]),_:1},8,["modelValue","onUpdate:modelValue"])]),_:1}),l(i,{label:"字典类型","min-width":"120"},{default:t(({row:a})=>[l(U,{modelValue:a.dict_type,"onUpdate:modelValue":s=>a.dict_type=s,clearable:"",disabled:!(a.view_type=="select"||a.view_type=="radio"||a.view_type=="checkbox"),placeholder:"字典类型"},{default:t(()=>[(p(!0),v(q,null,D(n(K).dict_type,(s,G)=>(p(),w(m,{key:G,label:s.name,value:s.type,disabled:!s.status},null,8,["label","value","disabled"]))),128))]),_:1},8,["modelValue","onUpdate:modelValue","disabled"])]),_:1})]),_:1},8,["data"])]),_:1}),l(N,{label:"生成配置",name:"config"},{default:t(()=>[l(r,{label:"模板类型",prop:"template_type"},{default:t(()=>[l(B,{modelValue:n(o).template_type,"onUpdate:modelValue":e[10]||(e[10]=a=>n(o).template_type=a)},{default:t(()=>[l(y,{value:0},{default:t(()=>[...e[31]||(e[31]=[f("单表(curd)",-1)])]),_:1}),l(y,{value:1},{default:t(()=>[...e[32]||(e[32]=[f("树表(curd)",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),l(r,{label:"删除类型",prop:"delete.type"},{default:t(()=>[l(B,{modelValue:n(o).delete.type,"onUpdate:modelValue":e[11]||(e[11]=a=>n(o).delete.type=a)},{default:t(()=>[l(y,{value:0},{default:t(()=>[...e[33]||(e[33]=[f("物理删除",-1)])]),_:1}),l(y,{value:1},{default:t(()=>[...e[34]||(e[34]=[f("软删除",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),n(o).delete.type==1?(p(),w(r,{key:0,label:"删除字段",prop:"delete.name"},{default:t(()=>[l(U,{class:"w-80",modelValue:n(o).delete.name,"onUpdate:modelValue":e[12]||(e[12]=a=>n(o).delete.name=a),clearable:""},{default:t(()=>[(p(!0),v(q,null,D(n(o).table_column,a=>(p(),w(m,{key:a.id,value:a.column_name,label:`${a.column_name}:${a.column_comment}`},null,8,["value","label"]))),128))]),_:1},8,["modelValue"])]),_:1})):H("",!0),n(o).template_type==1?(p(),v(q,{key:1},[l(r,{label:"树表ID",prop:"treePrimary"},{default:t(()=>[u("div",null,[l(U,{class:"w-80",modelValue:n(o).tree.tree_id,"onUpdate:modelValue":e[13]||(e[13]=a=>n(o).tree.tree_id=a),clearable:""},{default:t(()=>[(p(!0),v(q,null,D(n(o).table_column,a=>(p(),w(m,{key:a.id,value:a.column_name,label:`${a.column_name}:${a.column_comment}`},null,8,["value","label"]))),128))]),_:1},8,["modelValue"]),e[35]||(e[35]=u("div",{class:"form-tips"},"指定树表的主要ID,一般为主键",-1))])]),_:1}),l(r,{label:"树表父ID",prop:"treeParent"},{default:t(()=>[u("div",null,[l(U,{class:"w-80",modelValue:n(o).tree.tree_pid,"onUpdate:modelValue":e[14]||(e[14]=a=>n(o).tree.tree_pid=a),clearable:""},{default:t(()=>[(p(!0),v(q,null,D(n(o).table_column,a=>(p(),w(m,{key:a.id,value:a.column_name,label:`${a.column_name}:${a.column_comment}`},null,8,["value","label"]))),128))]),_:1},8,["modelValue"]),e[36]||(e[36]=u("div",{class:"form-tips"},"指定树表的父ID,比如:parent_id",-1))])]),_:1}),l(r,{label:"树名称",prop:"treeName"},{default:t(()=>[l(U,{class:"w-80",modelValue:n(o).tree.tree_name,"onUpdate:modelValue":e[15]||(e[15]=a=>n(o).tree.tree_name=a),clearable:""},{default:t(()=>[(p(!0),v(q,null,D(n(o).table_column,a=>(p(),w(m,{key:a.id,value:a.column_name,label:`${a.column_name}:${a.column_comment}`},null,8,["value","label"]))),128))]),_:1},8,["modelValue"])]),_:1})],64)):H("",!0),l(r,{label:"类描述"},{default:t(()=>[u("div",nl,[u("div",null,[l(_,{modelValue:n(o).class_comment,"onUpdate:modelValue":e[16]||(e[16]=a=>n(o).class_comment=a),placeholder:"请输入文件描述",clearable:""},null,8,["modelValue"])]),e[37]||(e[37]=u("div",{class:"form-tips"},[u("div",null," 例:填写test,生成文件描述为test控制器(test逻辑/test模型) ")],-1))])]),_:1}),l(r,{label:"生成方式",prop:"generate_type"},{default:t(()=>[l(B,{modelValue:n(o).generate_type,"onUpdate:modelValue":e[17]||(e[17]=a=>n(o).generate_type=a)},{default:t(()=>[l(y,{value:0},{default:t(()=>[...e[38]||(e[38]=[f("压缩包下载",-1)])]),_:1}),l(y,{value:1},{default:t(()=>[...e[39]||(e[39]=[f("生成到模块",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),l(r,{label:"模块名",prop:"module_name"},{default:t(()=>[u("div",ul,[l(_,{modelValue:n(o).module_name,"onUpdate:modelValue":e[18]||(e[18]=a=>n(o).module_name=a),placeholder:"请输入模块名",clearable:""},null,8,["modelValue"]),e[40]||(e[40]=u("div",{class:"form-tips"},"生成文件所在模块",-1))])]),_:1}),l(r,{label:"类目录"},{default:t(()=>[u("div",dl,[u("div",null,[l(_,{modelValue:n(o).class_dir,"onUpdate:modelValue":e[19]||(e[19]=a=>n(o).class_dir=a),placeholder:"请输入文件所在目录",clearable:""},null,8,["modelValue"])]),e[41]||(e[41]=u("div",{class:"form-tips"},[u("div",null," 例:填写test,则在app/模块名/controller/test下生成控制器 ")],-1))])]),_:1}),l(r,{label:"父级菜单",prop:"menu.pid"},{default:t(()=>[l(fe,{class:"w-80",modelValue:n(o).menu.pid,"onUpdate:modelValue":e[20]||(e[20]=a=>n(o).menu.pid=a),data:n(K).menu,clearable:"","node-key":"id",props:{label:"name"},"default-expand-all":"",placeholder:"请选择父级菜单","check-strictly":""},null,8,["modelValue","data"])]),_:1}),l(r,{label:"菜单名称",prop:"menu.name"},{default:t(()=>[u("div",sl,[l(_,{modelValue:n(o).menu.name,"onUpdate:modelValue":e[21]||(e[21]=a=>n(o).menu.name=a),placeholder:"请输入菜单名称",clearable:""},null,8,["modelValue"])])]),_:1}),l(r,{label:"菜单构建",prop:"menu.type",required:""},{default:t(()=>[u("div",null,[l(B,{modelValue:n(o).menu.type,"onUpdate:modelValue":e[22]||(e[22]=a=>n(o).menu.type=a)},{default:t(()=>[l(y,{value:1},{default:t(()=>[...e[42]||(e[42]=[f("自动构建",-1)])]),_:1}),l(y,{value:0},{default:t(()=>[...e[43]||(e[43]=[f("手动添加",-1)])]),_:1})]),_:1},8,["modelValue"]),e[44]||(e[44]=u("div",{class:"form-tips"}," 自动构建:自动执行生成菜单sql。手动添加:自行添加菜单。 ",-1))])]),_:1})]),_:1}),l(N,{label:"关联配置",name:"relations"},{default:t(()=>[l(O,{type:"primary",onClick:e[23]||(e[23]=a=>W("add"))},{icon:t(()=>[l(be,{name:"el-icon-Plus"})]),default:t(()=>[e[45]||(e[45]=f(" 新增关联 ",-1))]),_:1}),u("div",ml,[l(M,{data:n(o).relations,size:"small"},{default:t(()=>[l(i,{prop:"type",label:"关联类型"},{default:t(({row:a})=>[l(X,{value:a.type,options:F},null,8,["value"])]),_:1}),l(i,{prop:"name",label:"关联名称"}),l(i,{prop:"model",label:"关联模型"}),l(i,{prop:"local_key",label:"关联键"},{default:t(({row:a})=>[l(X,{value:a.local_key,options:n(o).table_column,config:{label:"column_comment",value:"column_name"}},null,8,["value","options"])]),_:1}),l(i,{prop:"foreign_key",label:"外键"}),l(i,{label:"操作"},{default:t(({row:a,$index:s})=>[l(O,{link:"",type:"primary",onClick:G=>W("edit",a,s)},{default:t(()=>[...e[46]||(e[46]=[f(" 编辑 ",-1)])]),_:1},8,["onClick"]),l(O,{link:"",type:"danger",onClick:G=>ie(s)},{default:t(()=>[...e[47]||(e[47]=[f(" 删除 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"]),n(x)?(p(),w(ze,{key:0,column:n(o).table_column,types:F,ref_key:"editRef",ref:Q,onAdd:me,onEdit:re,onClose:e[24]||(e[24]=a=>x.value=!1)},null,8,["column"])):H("",!0)])]),_:1})]),_:1},8,["modelValue"])]),_:1},8,["model","rules"])]),_:1}),l(Ve,null,{default:t(()=>[l(O,{type:"primary",onClick:_e},{default:t(()=>[...e[48]||(e[48]=[f("保存",-1)])]),_:1})]),_:1})])}}}),aa=Fe(il,[["__scopeId","data-v-f4669353"]]);export{aa as default}; diff --git a/server/public/admin/assets/edit-U_naBmb0.js b/server/public/admin/assets/edit-l-loh2uY.js similarity index 94% rename from server/public/admin/assets/edit-U_naBmb0.js rename to server/public/admin/assets/edit-l-loh2uY.js index 78502d33..8175648a 100644 --- a/server/public/admin/assets/edit-U_naBmb0.js +++ b/server/public/admin/assets/edit-l-loh2uY.js @@ -1 +1 @@ -import{O as F,J as G,L,B as O,G as S,I as T,C as U,D as j,i as J}from"./element-plus-0wC3naml.js";import{_ as P}from"./index-9zND60WT.js";import{l as $}from"./lodash-D3kF6u-c.js";import{n as z,s as H}from"./message-CSrefGEU.js";import{j as M,i as Q}from"./index-E47--KT7.js";import{u as A,a as K}from"./vue-router-QlpZ4wdW.js";import{f as w,ak as p,I as c,a as t,aN as o,aP as W,G as X,J as l,O as m,F as Y,ap as Z}from"./@vue/runtime-core-C6bnekPw.js";import{y as a,n as h,r as ee,q as te}from"./@vue/reactivity-DiY1c2vO.js";import{Q as d}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const oe={class:"w-80"},se={class:"flex-1"},ae={class:"w-full max-w-[320px]"},ne={class:"form-tips"},ie=w({name:"noticeEdit"}),Ae=w({...ie,setup(re){const f=A(),y=K(),_=h(!1),s=ee({id:"",scene_name:"",type:"",scene_desc:"",sms_notice:{status:0,template_id:"",content:"",tips:[]},oa_notice:{},mnp_notice:{},system_notice:{}}),k={"sms_notice.template_id":[{required:!0,message:"请输入模板ID",trigger:"blur"}],"sms_notice.content":[{required:!0,message:"请输入短信内容",trigger:"blur"}]},{removeTab:E}=M(),v=te(),V=async()=>{_.value=!0;const i=await z({id:f.query.id});Object.keys(i).forEach(e=>{s[e]=i[e]}),_.value=!1},x=async()=>{var e;await((e=v.value)==null?void 0:e.validate());const i={id:s.id,template:$.pick(s,["sms_notice","oa_notice","mnp_notice","system_notice"])};await H(i),Q.msgSuccess("操作成功"),E(),y.back()};return f.query.id&&V(),(i,e)=>{const D=F,u=G,r=O,b=T,R=S,g=U,B=j,I=J,q=P,C=L;return p(),c("div",null,[t(u,{class:"!border-none",shadow:"never"},{default:o(()=>[t(D,{content:"编辑通知设置",onBack:e[0]||(e[0]=n=>i.$router.back())})]),_:1}),W((p(),X(B,{ref_key:"formRef",ref:v,model:a(s),"label-width":"120px",rules:k},{default:o(()=>[t(u,{class:"!border-none mt-4",shadow:"never"},{default:o(()=>[e[4]||(e[4]=l("div",{class:"font-medium mb-7"},"通知名称",-1)),t(r,{label:"通知名称"},{default:o(()=>[m(d(a(s).scene_name),1)]),_:1}),t(r,{label:"通知类型"},{default:o(()=>[m(d(a(s).type),1)]),_:1}),t(r,{label:"通知业务"},{default:o(()=>[m(d(a(s).scene_desc),1)]),_:1})]),_:1}),t(u,{class:"!border-none mt-4",shadow:"never"},{default:o(()=>[e[7]||(e[7]=l("div",{class:"font-medium mb-7"},"短信通知",-1)),t(r,{label:"开启状态",prop:"sms_notice.status",required:""},{default:o(()=>[t(R,{modelValue:a(s).sms_notice.status,"onUpdate:modelValue":e[1]||(e[1]=n=>a(s).sms_notice.status=n)},{default:o(()=>[t(b,{value:"0"},{default:o(()=>[...e[5]||(e[5]=[m("关闭",-1)])]),_:1}),t(b,{value:"1"},{default:o(()=>[...e[6]||(e[6]=[m("开启",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),t(r,{label:"模板ID",prop:"sms_notice.template_id"},{default:o(()=>[l("div",oe,[t(g,{modelValue:a(s).sms_notice.template_id,"onUpdate:modelValue":e[2]||(e[2]=n=>a(s).sms_notice.template_id=n),placeholder:"请输入模板ID"},null,8,["modelValue"])])]),_:1}),t(r,{label:"短信内容",prop:"sms_notice.content"},{default:o(()=>[l("div",se,[l("div",ae,[t(g,{type:"textarea",autosize:{minRows:6,maxRows:6},modelValue:a(s).sms_notice.content,"onUpdate:modelValue":e[3]||(e[3]=n=>a(s).sms_notice.content=n)},null,8,["modelValue"])]),l("div",ne,[(p(!0),c(Y,null,Z(a(s).sms_notice.tips,(n,N)=>(p(),c("div",{key:N},d(n),1))),128))])])]),_:1})]),_:1})]),_:1},8,["model"])),[[C,a(_)]]),t(q,null,{default:o(()=>[t(I,{type:"primary",onClick:x},{default:o(()=>[...e[8]||(e[8]=[m("保存",-1)])]),_:1})]),_:1})])}}});export{Ae as default}; +import{O as F,J as G,L,B as O,G as S,I as T,C as U,D as j,i as J}from"./element-plus-DFTWCWyi.js";import{_ as P}from"./index-x1zzA0a7.js";import{l as $}from"./lodash-D3kF6u-c.js";import{n as z,s as H}from"./message-Dx96dhoI.js";import{j as M,i as Q}from"./index-DBREMm_z.js";import{u as A,a as K}from"./vue-router-QlpZ4wdW.js";import{f as w,ak as p,I as c,a as t,aN as o,aP as W,G as X,J as l,O as m,F as Y,ap as Z}from"./@vue/runtime-core-C6bnekPw.js";import{y as a,n as h,r as ee,q as te}from"./@vue/reactivity-DiY1c2vO.js";import{Q as d}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const oe={class:"w-80"},se={class:"flex-1"},ae={class:"w-full max-w-[320px]"},ne={class:"form-tips"},ie=w({name:"noticeEdit"}),Ae=w({...ie,setup(re){const f=A(),y=K(),_=h(!1),s=ee({id:"",scene_name:"",type:"",scene_desc:"",sms_notice:{status:0,template_id:"",content:"",tips:[]},oa_notice:{},mnp_notice:{},system_notice:{}}),k={"sms_notice.template_id":[{required:!0,message:"请输入模板ID",trigger:"blur"}],"sms_notice.content":[{required:!0,message:"请输入短信内容",trigger:"blur"}]},{removeTab:E}=M(),v=te(),V=async()=>{_.value=!0;const i=await z({id:f.query.id});Object.keys(i).forEach(e=>{s[e]=i[e]}),_.value=!1},x=async()=>{var e;await((e=v.value)==null?void 0:e.validate());const i={id:s.id,template:$.pick(s,["sms_notice","oa_notice","mnp_notice","system_notice"])};await H(i),Q.msgSuccess("操作成功"),E(),y.back()};return f.query.id&&V(),(i,e)=>{const D=F,u=G,r=O,b=T,R=S,g=U,B=j,I=J,q=P,C=L;return p(),c("div",null,[t(u,{class:"!border-none",shadow:"never"},{default:o(()=>[t(D,{content:"编辑通知设置",onBack:e[0]||(e[0]=n=>i.$router.back())})]),_:1}),W((p(),X(B,{ref_key:"formRef",ref:v,model:a(s),"label-width":"120px",rules:k},{default:o(()=>[t(u,{class:"!border-none mt-4",shadow:"never"},{default:o(()=>[e[4]||(e[4]=l("div",{class:"font-medium mb-7"},"通知名称",-1)),t(r,{label:"通知名称"},{default:o(()=>[m(d(a(s).scene_name),1)]),_:1}),t(r,{label:"通知类型"},{default:o(()=>[m(d(a(s).type),1)]),_:1}),t(r,{label:"通知业务"},{default:o(()=>[m(d(a(s).scene_desc),1)]),_:1})]),_:1}),t(u,{class:"!border-none mt-4",shadow:"never"},{default:o(()=>[e[7]||(e[7]=l("div",{class:"font-medium mb-7"},"短信通知",-1)),t(r,{label:"开启状态",prop:"sms_notice.status",required:""},{default:o(()=>[t(R,{modelValue:a(s).sms_notice.status,"onUpdate:modelValue":e[1]||(e[1]=n=>a(s).sms_notice.status=n)},{default:o(()=>[t(b,{value:"0"},{default:o(()=>[...e[5]||(e[5]=[m("关闭",-1)])]),_:1}),t(b,{value:"1"},{default:o(()=>[...e[6]||(e[6]=[m("开启",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),t(r,{label:"模板ID",prop:"sms_notice.template_id"},{default:o(()=>[l("div",oe,[t(g,{modelValue:a(s).sms_notice.template_id,"onUpdate:modelValue":e[2]||(e[2]=n=>a(s).sms_notice.template_id=n),placeholder:"请输入模板ID"},null,8,["modelValue"])])]),_:1}),t(r,{label:"短信内容",prop:"sms_notice.content"},{default:o(()=>[l("div",se,[l("div",ae,[t(g,{type:"textarea",autosize:{minRows:6,maxRows:6},modelValue:a(s).sms_notice.content,"onUpdate:modelValue":e[3]||(e[3]=n=>a(s).sms_notice.content=n)},null,8,["modelValue"])]),l("div",ne,[(p(!0),c(Y,null,Z(a(s).sms_notice.tips,(n,N)=>(p(),c("div",{key:N},d(n),1))),128))])])]),_:1})]),_:1})]),_:1},8,["model"])),[[C,a(_)]]),t(q,null,{default:o(()=>[t(I,{type:"primary",onClick:x},{default:o(()=>[...e[8]||(e[8]=[m("保存",-1)])]),_:1})]),_:1})])}}});export{Ae as default}; diff --git a/server/public/admin/assets/edit-C5KmTU_p.js b/server/public/admin/assets/edit-wVdfkaAz.js similarity index 77% rename from server/public/admin/assets/edit-C5KmTU_p.js rename to server/public/admin/assets/edit-wVdfkaAz.js index eec7d12f..47bea939 100644 --- a/server/public/admin/assets/edit-C5KmTU_p.js +++ b/server/public/admin/assets/edit-wVdfkaAz.js @@ -1 +1 @@ -import{_ as o}from"./edit.vue_vue_type_script_setup_true_lang-BxJc3obM.js";import"./element-plus-0wC3naml.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./role-DPqAO58h.js";import"./index-E47--KT7.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-nymJKQXP.js";export{o as default}; +import{_ as o}from"./edit.vue_vue_type_script_setup_true_lang-CZsj0pig.js";import"./element-plus-DFTWCWyi.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./dict-BKviBR_7.js";import"./index-DBREMm_z.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-BwF7vczx.js";export{o as default}; diff --git a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-C3YGQx3u.js b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-BBq07rga.js similarity index 95% rename from server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-C3YGQx3u.js rename to server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-BBq07rga.js index d1af7602..d2d64d77 100644 --- a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-C3YGQx3u.js +++ b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-BBq07rga.js @@ -1 +1 @@ -import{D as j,B as H,G as J,I as K,W as P,C as W,aj as $,h as z}from"./element-plus-0wC3naml.js";import{_ as Q}from"./picker.vue_vue_type_script_setup_true_lang-DBWe-4hk.js";import{a as X,b as Y,c as Z,d as h}from"./menu-CJerAkpY.js";import{_ as ee}from"./index-nymJKQXP.js";import{v as le,M as r,w as oe,x as te}from"./index-E47--KT7.js";import{f as ae,ak as i,I as se,a as t,aN as a,O as m,G as f,H as v,J as d,A as de}from"./@vue/runtime-core-C6bnekPw.js";import{n as U,r as ue,y as l,q as w}from"./@vue/reactivity-DiY1c2vO.js";const re={class:"edit-popup"},ne={class:"flex-1"},pe={class:"flex-1"},ie={class:"flex-1"},me={class:"flex-1"},fe={class:"flex-1"},Te=ae({__name:"edit",emits:["success","close"],setup(ve,{expose:x,emit:N}){const c=N,g=w(),y=w(),b=U("add"),C=de(()=>b.value=="edit"?"编辑菜单":"新增菜单"),T=U(le()),O=(u,e)=>{const n=u?T.value.filter(V=>V.toLowerCase().includes(u.toLowerCase())):T.value;e(n.map(V=>({value:V})))},o=ue({id:"",pid:0,type:r.CATALOGUE,icon:"",name:"",sort:0,paths:"",perms:"",component:"",selected:"",params:"",is_cache:1,is_show:1,is_disable:0}),A={pid:[{required:!0,message:"请选择父级菜单",trigger:["blur","change"]}],name:[{required:!0,message:"请输入菜单名称",trigger:"blur"}],paths:[{required:!0,message:"请输入路由地址",trigger:"blur"}],component:[{required:!0,message:"请输入组件地址",trigger:"blur"}]},k=U([]),B=async()=>{const u=await X({page_type:0}),e={id:0,name:"顶级",children:[]};e.children=oe(te(u.lists).filter(n=>n.type!=r.BUTTON)),k.value.push(e)},q=async()=>{var u,e;await((u=g.value)==null?void 0:u.validate()),b.value=="edit"?await Y(o):await Z(o),(e=y.value)==null||e.close(),c("success")},M=(u="add")=>{var e;b.value=u,(e=y.value)==null||e.open()},E=u=>{for(const e in o)u[e]!=null&&u[e]!=null&&(o[e]=u[e])},R=async u=>{const e=await h({id:u.id});E(e)},G=()=>{c("close")};return B(),x({open:M,setFormData:E,getDetail:R}),(u,e)=>{const n=K,V=J,p=H,I=P,_=W,L=Q,D=$,F=z,S=j;return i(),se("div",re,[t(ee,{ref_key:"popupRef",ref:y,title:l(C),async:!0,width:"550px",onConfirm:q,onClose:G},{default:a(()=>[t(S,{ref_key:"formRef",ref:g,model:l(o),"label-width":"80px",rules:A},{default:a(()=>[t(p,{label:"菜单类型",prop:"type",required:""},{default:a(()=>[t(V,{modelValue:l(o).type,"onUpdate:modelValue":e[0]||(e[0]=s=>l(o).type=s)},{default:a(()=>[t(n,{value:l(r).CATALOGUE},{default:a(()=>[...e[13]||(e[13]=[m("目录",-1)])]),_:1},8,["value"]),t(n,{value:l(r).MENU},{default:a(()=>[...e[14]||(e[14]=[m("菜单",-1)])]),_:1},8,["value"]),t(n,{value:l(r).BUTTON},{default:a(()=>[...e[15]||(e[15]=[m("按钮",-1)])]),_:1},8,["value"])]),_:1},8,["modelValue"])]),_:1}),t(p,{label:"父级菜单",prop:"pid"},{default:a(()=>[t(I,{class:"flex-1",modelValue:l(o).pid,"onUpdate:modelValue":e[1]||(e[1]=s=>l(o).pid=s),data:l(k),clearable:"","node-key":"id",props:{label:"name"},"default-expand-all":!0,placeholder:"请选择父级菜单","check-strictly":""},null,8,["modelValue","data"])]),_:1}),t(p,{label:"菜单名称",prop:"name"},{default:a(()=>[t(_,{modelValue:l(o).name,"onUpdate:modelValue":e[2]||(e[2]=s=>l(o).name=s),placeholder:"请输入菜单名称",clearable:""},null,8,["modelValue"])]),_:1}),l(o).type!=l(r).BUTTON?(i(),f(p,{key:0,label:"菜单图标",prop:"icon"},{default:a(()=>[t(L,{class:"flex-1",modelValue:l(o).icon,"onUpdate:modelValue":e[3]||(e[3]=s=>l(o).icon=s)},null,8,["modelValue"])]),_:1})):v("",!0),l(o).type!=l(r).BUTTON?(i(),f(p,{key:1,label:"路由路径",prop:"paths"},{default:a(()=>[d("div",ne,[t(_,{modelValue:l(o).paths,"onUpdate:modelValue":e[4]||(e[4]=s=>l(o).paths=s),placeholder:"请输入路由路径",clearable:""},null,8,["modelValue"]),e[16]||(e[16]=d("div",{class:"form-tips"}," 访问的路由地址,如:`user`,如外网地址需内链访问则以`http(s)://`开头 ",-1))])]),_:1})):v("",!0),l(o).type==l(r).MENU?(i(),f(p,{key:2,label:"组件路径",prop:"component"},{default:a(()=>[d("div",pe,[t(D,{class:"w-full",modelValue:l(o).component,"onUpdate:modelValue":e[5]||(e[5]=s=>l(o).component=s),"fetch-suggestions":O,clearable:"",placeholder:"请输入组件路径"},null,8,["modelValue"]),e[17]||(e[17]=d("div",{class:"form-tips"}," 访问的组件路径,如:`user/setting`,默认在`views`目录下 ",-1))])]),_:1})):v("",!0),l(o).type==l(r).MENU?(i(),f(p,{key:3,label:"选中菜单",prop:"selected"},{default:a(()=>[d("div",ie,[t(_,{modelValue:l(o).selected,"onUpdate:modelValue":e[6]||(e[6]=s=>l(o).selected=s),placeholder:"请输入路由路径",clearable:""},null,8,["modelValue"]),e[18]||(e[18]=d("div",{class:"form-tips"}," 访问详情页面,编辑页面时,菜单高亮显示,如`/consumer/lists` ",-1))])]),_:1})):v("",!0),l(o).type!=l(r).CATALOGUE?(i(),f(p,{key:4,label:"权限字符",prop:"perms"},{default:a(()=>[d("div",me,[t(_,{modelValue:l(o).perms,"onUpdate:modelValue":e[7]||(e[7]=s=>l(o).perms=s),placeholder:"请输入权限字符",clearable:""},null,8,["modelValue"]),e[19]||(e[19]=d("div",{class:"form-tips"}," 将作为server端API验权使用,如`auth.admin/user`,请谨慎修改 ",-1))])]),_:1})):v("",!0),l(o).type==l(r).MENU?(i(),f(p,{key:5,label:"路由参数",prop:"params"},{default:a(()=>[d("div",null,[d("div",fe,[t(_,{modelValue:l(o).params,"onUpdate:modelValue":e[8]||(e[8]=s=>l(o).params=s),placeholder:"请输入路由参数",clearable:""},null,8,["modelValue"])]),e[20]||(e[20]=d("div",{class:"form-tips"},' 访问路由的默认传递参数,如:`{"id": 1, "name": "admin"}`或`id=1&name=admin` ',-1))])]),_:1})):v("",!0),l(o).type==l(r).MENU?(i(),f(p,{key:6,label:"是否缓存",prop:"is_cache",required:""},{default:a(()=>[d("div",null,[t(V,{modelValue:l(o).is_cache,"onUpdate:modelValue":e[9]||(e[9]=s=>l(o).is_cache=s)},{default:a(()=>[t(n,{value:1},{default:a(()=>[...e[21]||(e[21]=[m("缓存",-1)])]),_:1}),t(n,{value:0},{default:a(()=>[...e[22]||(e[22]=[m("不缓存",-1)])]),_:1})]),_:1},8,["modelValue"]),e[23]||(e[23]=d("div",{class:"form-tips"},"选择缓存则会被`keep-alive`缓存",-1))])]),_:1})):v("",!0),l(o).type!=l(r).BUTTON?(i(),f(p,{key:7,label:"是否显示",prop:"is_show",required:""},{default:a(()=>[d("div",null,[t(V,{modelValue:l(o).is_show,"onUpdate:modelValue":e[10]||(e[10]=s=>l(o).is_show=s)},{default:a(()=>[t(n,{value:1},{default:a(()=>[...e[24]||(e[24]=[m("显示",-1)])]),_:1}),t(n,{value:0},{default:a(()=>[...e[25]||(e[25]=[m("隐藏",-1)])]),_:1})]),_:1},8,["modelValue"]),e[26]||(e[26]=d("div",{class:"form-tips"}," 选择隐藏则路由将不会出现在侧边栏,但仍然可以访问 ",-1))])]),_:1})):v("",!0),l(o).type!=l(r).BUTTON?(i(),f(p,{key:8,label:"菜单状态",prop:"is_disable",required:""},{default:a(()=>[d("div",null,[t(V,{modelValue:l(o).is_disable,"onUpdate:modelValue":e[11]||(e[11]=s=>l(o).is_disable=s)},{default:a(()=>[t(n,{value:0},{default:a(()=>[...e[27]||(e[27]=[m("正常",-1)])]),_:1}),t(n,{value:1},{default:a(()=>[...e[28]||(e[28]=[m("停用",-1)])]),_:1})]),_:1},8,["modelValue"]),e[29]||(e[29]=d("div",{class:"form-tips"},"选择停用则路由将不会出现在侧边栏,也不能被访问",-1))])]),_:1})):v("",!0),t(p,{label:"菜单排序",prop:"sort"},{default:a(()=>[d("div",null,[t(F,{modelValue:l(o).sort,"onUpdate:modelValue":e[12]||(e[12]=s=>l(o).sort=s),min:0,max:9999},null,8,["modelValue"]),e[30]||(e[30]=d("div",{class:"form-tips"},"数值越大越排前",-1))])]),_:1})]),_:1},8,["model"])]),_:1},8,["title"])])}}});export{Te as _}; +import{D as j,B as H,G as J,I as K,W as P,C as W,aj as $,h as z}from"./element-plus-DFTWCWyi.js";import{_ as Q}from"./picker.vue_vue_type_script_setup_true_lang-CqrG0MgW.js";import{a as X,b as Y,c as Z,d as h}from"./menu-CvPcniJ1.js";import{_ as ee}from"./index-BwF7vczx.js";import{v as le,M as r,w as oe,x as te}from"./index-DBREMm_z.js";import{f as ae,ak as i,I as se,a as t,aN as a,O as m,G as f,H as v,J as d,A as de}from"./@vue/runtime-core-C6bnekPw.js";import{n as U,r as ue,y as l,q as w}from"./@vue/reactivity-DiY1c2vO.js";const re={class:"edit-popup"},ne={class:"flex-1"},pe={class:"flex-1"},ie={class:"flex-1"},me={class:"flex-1"},fe={class:"flex-1"},Te=ae({__name:"edit",emits:["success","close"],setup(ve,{expose:x,emit:N}){const c=N,g=w(),y=w(),b=U("add"),C=de(()=>b.value=="edit"?"编辑菜单":"新增菜单"),T=U(le()),O=(u,e)=>{const n=u?T.value.filter(V=>V.toLowerCase().includes(u.toLowerCase())):T.value;e(n.map(V=>({value:V})))},o=ue({id:"",pid:0,type:r.CATALOGUE,icon:"",name:"",sort:0,paths:"",perms:"",component:"",selected:"",params:"",is_cache:1,is_show:1,is_disable:0}),A={pid:[{required:!0,message:"请选择父级菜单",trigger:["blur","change"]}],name:[{required:!0,message:"请输入菜单名称",trigger:"blur"}],paths:[{required:!0,message:"请输入路由地址",trigger:"blur"}],component:[{required:!0,message:"请输入组件地址",trigger:"blur"}]},k=U([]),B=async()=>{const u=await X({page_type:0}),e={id:0,name:"顶级",children:[]};e.children=oe(te(u.lists).filter(n=>n.type!=r.BUTTON)),k.value.push(e)},q=async()=>{var u,e;await((u=g.value)==null?void 0:u.validate()),b.value=="edit"?await Y(o):await Z(o),(e=y.value)==null||e.close(),c("success")},M=(u="add")=>{var e;b.value=u,(e=y.value)==null||e.open()},E=u=>{for(const e in o)u[e]!=null&&u[e]!=null&&(o[e]=u[e])},R=async u=>{const e=await h({id:u.id});E(e)},G=()=>{c("close")};return B(),x({open:M,setFormData:E,getDetail:R}),(u,e)=>{const n=K,V=J,p=H,I=P,_=W,L=Q,D=$,F=z,S=j;return i(),se("div",re,[t(ee,{ref_key:"popupRef",ref:y,title:l(C),async:!0,width:"550px",onConfirm:q,onClose:G},{default:a(()=>[t(S,{ref_key:"formRef",ref:g,model:l(o),"label-width":"80px",rules:A},{default:a(()=>[t(p,{label:"菜单类型",prop:"type",required:""},{default:a(()=>[t(V,{modelValue:l(o).type,"onUpdate:modelValue":e[0]||(e[0]=s=>l(o).type=s)},{default:a(()=>[t(n,{value:l(r).CATALOGUE},{default:a(()=>[...e[13]||(e[13]=[m("目录",-1)])]),_:1},8,["value"]),t(n,{value:l(r).MENU},{default:a(()=>[...e[14]||(e[14]=[m("菜单",-1)])]),_:1},8,["value"]),t(n,{value:l(r).BUTTON},{default:a(()=>[...e[15]||(e[15]=[m("按钮",-1)])]),_:1},8,["value"])]),_:1},8,["modelValue"])]),_:1}),t(p,{label:"父级菜单",prop:"pid"},{default:a(()=>[t(I,{class:"flex-1",modelValue:l(o).pid,"onUpdate:modelValue":e[1]||(e[1]=s=>l(o).pid=s),data:l(k),clearable:"","node-key":"id",props:{label:"name"},"default-expand-all":!0,placeholder:"请选择父级菜单","check-strictly":""},null,8,["modelValue","data"])]),_:1}),t(p,{label:"菜单名称",prop:"name"},{default:a(()=>[t(_,{modelValue:l(o).name,"onUpdate:modelValue":e[2]||(e[2]=s=>l(o).name=s),placeholder:"请输入菜单名称",clearable:""},null,8,["modelValue"])]),_:1}),l(o).type!=l(r).BUTTON?(i(),f(p,{key:0,label:"菜单图标",prop:"icon"},{default:a(()=>[t(L,{class:"flex-1",modelValue:l(o).icon,"onUpdate:modelValue":e[3]||(e[3]=s=>l(o).icon=s)},null,8,["modelValue"])]),_:1})):v("",!0),l(o).type!=l(r).BUTTON?(i(),f(p,{key:1,label:"路由路径",prop:"paths"},{default:a(()=>[d("div",ne,[t(_,{modelValue:l(o).paths,"onUpdate:modelValue":e[4]||(e[4]=s=>l(o).paths=s),placeholder:"请输入路由路径",clearable:""},null,8,["modelValue"]),e[16]||(e[16]=d("div",{class:"form-tips"}," 访问的路由地址,如:`user`,如外网地址需内链访问则以`http(s)://`开头 ",-1))])]),_:1})):v("",!0),l(o).type==l(r).MENU?(i(),f(p,{key:2,label:"组件路径",prop:"component"},{default:a(()=>[d("div",pe,[t(D,{class:"w-full",modelValue:l(o).component,"onUpdate:modelValue":e[5]||(e[5]=s=>l(o).component=s),"fetch-suggestions":O,clearable:"",placeholder:"请输入组件路径"},null,8,["modelValue"]),e[17]||(e[17]=d("div",{class:"form-tips"}," 访问的组件路径,如:`user/setting`,默认在`views`目录下 ",-1))])]),_:1})):v("",!0),l(o).type==l(r).MENU?(i(),f(p,{key:3,label:"选中菜单",prop:"selected"},{default:a(()=>[d("div",ie,[t(_,{modelValue:l(o).selected,"onUpdate:modelValue":e[6]||(e[6]=s=>l(o).selected=s),placeholder:"请输入路由路径",clearable:""},null,8,["modelValue"]),e[18]||(e[18]=d("div",{class:"form-tips"}," 访问详情页面,编辑页面时,菜单高亮显示,如`/consumer/lists` ",-1))])]),_:1})):v("",!0),l(o).type!=l(r).CATALOGUE?(i(),f(p,{key:4,label:"权限字符",prop:"perms"},{default:a(()=>[d("div",me,[t(_,{modelValue:l(o).perms,"onUpdate:modelValue":e[7]||(e[7]=s=>l(o).perms=s),placeholder:"请输入权限字符",clearable:""},null,8,["modelValue"]),e[19]||(e[19]=d("div",{class:"form-tips"}," 将作为server端API验权使用,如`auth.admin/user`,请谨慎修改 ",-1))])]),_:1})):v("",!0),l(o).type==l(r).MENU?(i(),f(p,{key:5,label:"路由参数",prop:"params"},{default:a(()=>[d("div",null,[d("div",fe,[t(_,{modelValue:l(o).params,"onUpdate:modelValue":e[8]||(e[8]=s=>l(o).params=s),placeholder:"请输入路由参数",clearable:""},null,8,["modelValue"])]),e[20]||(e[20]=d("div",{class:"form-tips"},' 访问路由的默认传递参数,如:`{"id": 1, "name": "admin"}`或`id=1&name=admin` ',-1))])]),_:1})):v("",!0),l(o).type==l(r).MENU?(i(),f(p,{key:6,label:"是否缓存",prop:"is_cache",required:""},{default:a(()=>[d("div",null,[t(V,{modelValue:l(o).is_cache,"onUpdate:modelValue":e[9]||(e[9]=s=>l(o).is_cache=s)},{default:a(()=>[t(n,{value:1},{default:a(()=>[...e[21]||(e[21]=[m("缓存",-1)])]),_:1}),t(n,{value:0},{default:a(()=>[...e[22]||(e[22]=[m("不缓存",-1)])]),_:1})]),_:1},8,["modelValue"]),e[23]||(e[23]=d("div",{class:"form-tips"},"选择缓存则会被`keep-alive`缓存",-1))])]),_:1})):v("",!0),l(o).type!=l(r).BUTTON?(i(),f(p,{key:7,label:"是否显示",prop:"is_show",required:""},{default:a(()=>[d("div",null,[t(V,{modelValue:l(o).is_show,"onUpdate:modelValue":e[10]||(e[10]=s=>l(o).is_show=s)},{default:a(()=>[t(n,{value:1},{default:a(()=>[...e[24]||(e[24]=[m("显示",-1)])]),_:1}),t(n,{value:0},{default:a(()=>[...e[25]||(e[25]=[m("隐藏",-1)])]),_:1})]),_:1},8,["modelValue"]),e[26]||(e[26]=d("div",{class:"form-tips"}," 选择隐藏则路由将不会出现在侧边栏,但仍然可以访问 ",-1))])]),_:1})):v("",!0),l(o).type!=l(r).BUTTON?(i(),f(p,{key:8,label:"菜单状态",prop:"is_disable",required:""},{default:a(()=>[d("div",null,[t(V,{modelValue:l(o).is_disable,"onUpdate:modelValue":e[11]||(e[11]=s=>l(o).is_disable=s)},{default:a(()=>[t(n,{value:0},{default:a(()=>[...e[27]||(e[27]=[m("正常",-1)])]),_:1}),t(n,{value:1},{default:a(()=>[...e[28]||(e[28]=[m("停用",-1)])]),_:1})]),_:1},8,["modelValue"]),e[29]||(e[29]=d("div",{class:"form-tips"},"选择停用则路由将不会出现在侧边栏,也不能被访问",-1))])]),_:1})):v("",!0),t(p,{label:"菜单排序",prop:"sort"},{default:a(()=>[d("div",null,[t(F,{modelValue:l(o).sort,"onUpdate:modelValue":e[12]||(e[12]=s=>l(o).sort=s),min:0,max:9999},null,8,["modelValue"]),e[30]||(e[30]=d("div",{class:"form-tips"},"数值越大越排前",-1))])]),_:1})]),_:1},8,["model"])]),_:1},8,["title"])])}}});export{Te as _}; diff --git a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-YNgwqh5W.js b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-BCQfswVh.js similarity index 92% rename from server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-YNgwqh5W.js rename to server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-BCQfswVh.js index 83f96eae..3505204a 100644 --- a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-YNgwqh5W.js +++ b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-BCQfswVh.js @@ -1 +1 @@ -import{D as h,B as D,C as U,h as q,g as B}from"./element-plus-0wC3naml.js";import{a as I,b as N,c as j}from"./post-Dq6zumLO.js";import{_ as F}from"./index-nymJKQXP.js";import{f as A,ak as S,I as z,a as l,aN as n,J as f,A as J}from"./@vue/runtime-core-C6bnekPw.js";import{y as t,q as _,r as T,n as G}from"./@vue/reactivity-DiY1c2vO.js";const H={class:"edit-popup"},W=A({__name:"edit",emits:["success","close"],setup(K,{expose:b,emit:V}){const i=V,p=_(),m=_(),u=G("add"),v=J(()=>u.value=="edit"?"编辑岗位":"新增岗位"),o=T({id:"",name:"",code:"",sort:0,remark:"",status:1}),w={code:[{required:!0,message:"请输入岗位编码",trigger:["blur"]}],name:[{required:!0,message:"请输入岗位名称",trigger:["blur"]}]},g=async()=>{var a,e;await((a=p.value)==null?void 0:a.validate()),u.value=="edit"?await I(o):await N(o),(e=m.value)==null||e.close(),i("success")},x=(a="add")=>{var e;u.value=a,(e=m.value)==null||e.open()},c=a=>{for(const e in o)a[e]!=null&&a[e]!=null&&(o[e]=a[e])},k=async a=>{const e=await j({id:a.id});c(e)},y=()=>{i("close")};return b({open:x,setFormData:c,getDetail:k}),(a,e)=>{const d=U,r=D,R=q,E=B,C=h;return S(),z("div",H,[l(F,{ref_key:"popupRef",ref:m,title:t(v),async:!0,width:"550px",onConfirm:g,onClose:y},{default:n(()=>[l(C,{ref_key:"formRef",ref:p,model:t(o),"label-width":"84px",rules:w},{default:n(()=>[l(r,{label:"岗位名称",prop:"name"},{default:n(()=>[l(d,{modelValue:t(o).name,"onUpdate:modelValue":e[0]||(e[0]=s=>t(o).name=s),placeholder:"请输入岗位名称",clearable:"",maxlength:100},null,8,["modelValue"])]),_:1}),l(r,{label:"岗位编码",prop:"code"},{default:n(()=>[l(d,{modelValue:t(o).code,"onUpdate:modelValue":e[1]||(e[1]=s=>t(o).code=s),placeholder:"请输入岗位编码",clearable:""},null,8,["modelValue"])]),_:1}),l(r,{label:"排序",prop:"sort"},{default:n(()=>[f("div",null,[l(R,{modelValue:t(o).sort,"onUpdate:modelValue":e[2]||(e[2]=s=>t(o).sort=s),min:0,max:9999},null,8,["modelValue"]),e[5]||(e[5]=f("div",{class:"form-tips"},"默认为0, 数值越大越排前",-1))])]),_:1}),l(r,{label:"备注",prop:"remark"},{default:n(()=>[l(d,{modelValue:t(o).remark,"onUpdate:modelValue":e[3]||(e[3]=s=>t(o).remark=s),placeholder:"请输入备注",type:"textarea",autosize:{minRows:4,maxRows:6},maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1}),l(r,{label:"岗位状态",required:"",prop:"status"},{default:n(()=>[l(E,{modelValue:t(o).status,"onUpdate:modelValue":e[4]||(e[4]=s=>t(o).status=s),"active-value":1,"inactive-value":0},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["title"])])}}});export{W as _}; +import{D as h,B as D,C as U,h as q,g as B}from"./element-plus-DFTWCWyi.js";import{a as I,b as N,c as j}from"./post-RziaWdiV.js";import{_ as F}from"./index-BwF7vczx.js";import{f as A,ak as S,I as z,a as l,aN as n,J as f,A as J}from"./@vue/runtime-core-C6bnekPw.js";import{y as t,q as _,r as T,n as G}from"./@vue/reactivity-DiY1c2vO.js";const H={class:"edit-popup"},W=A({__name:"edit",emits:["success","close"],setup(K,{expose:b,emit:V}){const i=V,p=_(),m=_(),u=G("add"),v=J(()=>u.value=="edit"?"编辑岗位":"新增岗位"),o=T({id:"",name:"",code:"",sort:0,remark:"",status:1}),w={code:[{required:!0,message:"请输入岗位编码",trigger:["blur"]}],name:[{required:!0,message:"请输入岗位名称",trigger:["blur"]}]},g=async()=>{var a,e;await((a=p.value)==null?void 0:a.validate()),u.value=="edit"?await I(o):await N(o),(e=m.value)==null||e.close(),i("success")},x=(a="add")=>{var e;u.value=a,(e=m.value)==null||e.open()},c=a=>{for(const e in o)a[e]!=null&&a[e]!=null&&(o[e]=a[e])},k=async a=>{const e=await j({id:a.id});c(e)},y=()=>{i("close")};return b({open:x,setFormData:c,getDetail:k}),(a,e)=>{const d=U,r=D,R=q,E=B,C=h;return S(),z("div",H,[l(F,{ref_key:"popupRef",ref:m,title:t(v),async:!0,width:"550px",onConfirm:g,onClose:y},{default:n(()=>[l(C,{ref_key:"formRef",ref:p,model:t(o),"label-width":"84px",rules:w},{default:n(()=>[l(r,{label:"岗位名称",prop:"name"},{default:n(()=>[l(d,{modelValue:t(o).name,"onUpdate:modelValue":e[0]||(e[0]=s=>t(o).name=s),placeholder:"请输入岗位名称",clearable:"",maxlength:100},null,8,["modelValue"])]),_:1}),l(r,{label:"岗位编码",prop:"code"},{default:n(()=>[l(d,{modelValue:t(o).code,"onUpdate:modelValue":e[1]||(e[1]=s=>t(o).code=s),placeholder:"请输入岗位编码",clearable:""},null,8,["modelValue"])]),_:1}),l(r,{label:"排序",prop:"sort"},{default:n(()=>[f("div",null,[l(R,{modelValue:t(o).sort,"onUpdate:modelValue":e[2]||(e[2]=s=>t(o).sort=s),min:0,max:9999},null,8,["modelValue"]),e[5]||(e[5]=f("div",{class:"form-tips"},"默认为0, 数值越大越排前",-1))])]),_:1}),l(r,{label:"备注",prop:"remark"},{default:n(()=>[l(d,{modelValue:t(o).remark,"onUpdate:modelValue":e[3]||(e[3]=s=>t(o).remark=s),placeholder:"请输入备注",type:"textarea",autosize:{minRows:4,maxRows:6},maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1}),l(r,{label:"岗位状态",required:"",prop:"status"},{default:n(()=>[l(E,{modelValue:t(o).status,"onUpdate:modelValue":e[4]||(e[4]=s=>t(o).status=s),"active-value":1,"inactive-value":0},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["title"])])}}});export{W as _}; diff --git a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-BRxNvBo2.js b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-Bn53gSK4.js similarity index 96% rename from server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-BRxNvBo2.js rename to server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-Bn53gSK4.js index 09fae55c..76e22978 100644 --- a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-BRxNvBo2.js +++ b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-Bn53gSK4.js @@ -1 +1 @@ -import{D as I,B as M,a2 as Y,P,Q as S,W as A,h as T,C as z}from"./element-plus-0wC3naml.js";import{a as G,b as L,c as Q}from"./finance-C48kuhTG.js";import{_ as W}from"./index-nymJKQXP.js";import{f as j,ak as c,I as f,a as n,aN as d,F as H,ap as J,G as K,A as X}from"./@vue/runtime-core-C6bnekPw.js";import{y as l,q as h,n as Z,r as $}from"./@vue/reactivity-DiY1c2vO.js";const ee={class:"edit-popup"},de=j({__name:"edit",props:{mediaChannelOptions:{},deptOptions:{},defaultMediaChannelCode:{}},emits:["success","close"],setup(i,{expose:b,emit:g}){const k=i,u=g,p=h(),m=h(),s=Z("add"),V=X(()=>s.value==="edit"?"编辑账户消耗":"新增账户消耗"),w={value:"id",label:"name",children:"children"},e=$({id:"",cost_date:"",media_channel_code:"",dept_id:"",amount:0,remark:""}),C={cost_date:[{required:!0,message:"请选择日期",trigger:["change"]}],media_channel_code:[{required:!0,message:"请选择自媒体渠道",trigger:["change"]}],dept_id:[{required:!0,message:"请选择绑定部门",trigger:["change"]}],amount:[{required:!0,message:"请输入账户消耗金额",trigger:["blur","change"]}]},v=()=>{e.id="",e.cost_date="",e.media_channel_code=k.defaultMediaChannelCode||"",e.dept_id="",e.amount=0,e.remark=""},y=async()=>{var t,a;await((t=p.value)==null?void 0:t.validate()),s.value==="edit"?await G(e):await L(e),(a=m.value)==null||a.close(),u("success")},x=(t="add")=>{var a;s.value=t,v(),(a=m.value)==null||a.open()},_=t=>{e.id=t.id??"",e.cost_date=t.cost_date??"",e.media_channel_code=t.media_channel_code??"",e.dept_id=t.dept_id?Number(t.dept_id):"",e.amount=Number(t.amount??0),e.remark=t.remark??""},E=async t=>{const a=await Q({id:t.id});_(a)},D=()=>{u("close")};return b({open:x,setFormData:_,getDetail:E}),(t,a)=>{const R=Y,r=M,F=S,q=P,N=A,O=T,U=z,B=I;return c(),f("div",ee,[n(W,{ref_key:"popupRef",ref:m,title:l(V),async:!0,width:"560px",onConfirm:y,onClose:D},{default:d(()=>[n(B,{ref_key:"formRef",ref:p,model:l(e),"label-width":"100px",rules:C},{default:d(()=>[n(r,{label:"日期",prop:"cost_date"},{default:d(()=>[n(R,{modelValue:l(e).cost_date,"onUpdate:modelValue":a[0]||(a[0]=o=>l(e).cost_date=o),type:"date","value-format":"YYYY-MM-DD",placeholder:"请选择日期",disabled:l(s)==="edit"},null,8,["modelValue","disabled"])]),_:1}),n(r,{label:"自媒体渠道",prop:"media_channel_code"},{default:d(()=>[n(q,{modelValue:l(e).media_channel_code,"onUpdate:modelValue":a[1]||(a[1]=o=>l(e).media_channel_code=o),placeholder:"请选择自媒体渠道",class:"w-full",filterable:"",disabled:l(s)==="edit"},{default:d(()=>[(c(!0),f(H,null,J(i.mediaChannelOptions,o=>(c(),K(F,{key:o.code,label:o.name,value:o.code},null,8,["label","value"]))),128))]),_:1},8,["modelValue","disabled"])]),_:1}),n(r,{label:"部门",prop:"dept_id"},{default:d(()=>[n(N,{modelValue:l(e).dept_id,"onUpdate:modelValue":a[2]||(a[2]=o=>l(e).dept_id=o),data:i.deptOptions,"node-key":"id",props:w,"default-expand-all":!0,"check-strictly":"",placeholder:"请选择绑定部门",clearable:"",filterable:"",class:"w-full"},null,8,["modelValue","data"])]),_:1}),n(r,{label:"账户消耗",prop:"amount"},{default:d(()=>[n(O,{modelValue:l(e).amount,"onUpdate:modelValue":a[3]||(a[3]=o=>l(e).amount=o),min:0,step:.01,precision:2,class:"w-full"},null,8,["modelValue"])]),_:1}),n(r,{label:"备注",prop:"remark"},{default:d(()=>[n(U,{modelValue:l(e).remark,"onUpdate:modelValue":a[4]||(a[4]=o=>l(e).remark=o),type:"textarea",autosize:{minRows:4,maxRows:6},maxlength:"255","show-word-limit":"",placeholder:"请输入备注"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["title"])])}}});export{de as _}; +import{D as I,B as M,a2 as Y,P,Q as S,W as A,h as T,C as z}from"./element-plus-DFTWCWyi.js";import{a as G,b as L,c as Q}from"./finance-YaEgIEMc.js";import{_ as W}from"./index-BwF7vczx.js";import{f as j,ak as c,I as f,a as n,aN as d,F as H,ap as J,G as K,A as X}from"./@vue/runtime-core-C6bnekPw.js";import{y as l,q as h,n as Z,r as $}from"./@vue/reactivity-DiY1c2vO.js";const ee={class:"edit-popup"},de=j({__name:"edit",props:{mediaChannelOptions:{},deptOptions:{},defaultMediaChannelCode:{}},emits:["success","close"],setup(i,{expose:b,emit:g}){const k=i,u=g,p=h(),m=h(),s=Z("add"),V=X(()=>s.value==="edit"?"编辑账户消耗":"新增账户消耗"),w={value:"id",label:"name",children:"children"},e=$({id:"",cost_date:"",media_channel_code:"",dept_id:"",amount:0,remark:""}),C={cost_date:[{required:!0,message:"请选择日期",trigger:["change"]}],media_channel_code:[{required:!0,message:"请选择自媒体渠道",trigger:["change"]}],dept_id:[{required:!0,message:"请选择绑定部门",trigger:["change"]}],amount:[{required:!0,message:"请输入账户消耗金额",trigger:["blur","change"]}]},v=()=>{e.id="",e.cost_date="",e.media_channel_code=k.defaultMediaChannelCode||"",e.dept_id="",e.amount=0,e.remark=""},y=async()=>{var t,a;await((t=p.value)==null?void 0:t.validate()),s.value==="edit"?await G(e):await L(e),(a=m.value)==null||a.close(),u("success")},x=(t="add")=>{var a;s.value=t,v(),(a=m.value)==null||a.open()},_=t=>{e.id=t.id??"",e.cost_date=t.cost_date??"",e.media_channel_code=t.media_channel_code??"",e.dept_id=t.dept_id?Number(t.dept_id):"",e.amount=Number(t.amount??0),e.remark=t.remark??""},E=async t=>{const a=await Q({id:t.id});_(a)},D=()=>{u("close")};return b({open:x,setFormData:_,getDetail:E}),(t,a)=>{const R=Y,r=M,F=S,q=P,N=A,O=T,U=z,B=I;return c(),f("div",ee,[n(W,{ref_key:"popupRef",ref:m,title:l(V),async:!0,width:"560px",onConfirm:y,onClose:D},{default:d(()=>[n(B,{ref_key:"formRef",ref:p,model:l(e),"label-width":"100px",rules:C},{default:d(()=>[n(r,{label:"日期",prop:"cost_date"},{default:d(()=>[n(R,{modelValue:l(e).cost_date,"onUpdate:modelValue":a[0]||(a[0]=o=>l(e).cost_date=o),type:"date","value-format":"YYYY-MM-DD",placeholder:"请选择日期",disabled:l(s)==="edit"},null,8,["modelValue","disabled"])]),_:1}),n(r,{label:"自媒体渠道",prop:"media_channel_code"},{default:d(()=>[n(q,{modelValue:l(e).media_channel_code,"onUpdate:modelValue":a[1]||(a[1]=o=>l(e).media_channel_code=o),placeholder:"请选择自媒体渠道",class:"w-full",filterable:"",disabled:l(s)==="edit"},{default:d(()=>[(c(!0),f(H,null,J(i.mediaChannelOptions,o=>(c(),K(F,{key:o.code,label:o.name,value:o.code},null,8,["label","value"]))),128))]),_:1},8,["modelValue","disabled"])]),_:1}),n(r,{label:"部门",prop:"dept_id"},{default:d(()=>[n(N,{modelValue:l(e).dept_id,"onUpdate:modelValue":a[2]||(a[2]=o=>l(e).dept_id=o),data:i.deptOptions,"node-key":"id",props:w,"default-expand-all":!0,"check-strictly":"",placeholder:"请选择绑定部门",clearable:"",filterable:"",class:"w-full"},null,8,["modelValue","data"])]),_:1}),n(r,{label:"账户消耗",prop:"amount"},{default:d(()=>[n(O,{modelValue:l(e).amount,"onUpdate:modelValue":a[3]||(a[3]=o=>l(e).amount=o),min:0,step:.01,precision:2,class:"w-full"},null,8,["modelValue"])]),_:1}),n(r,{label:"备注",prop:"remark"},{default:d(()=>[n(U,{modelValue:l(e).remark,"onUpdate:modelValue":a[4]||(a[4]=o=>l(e).remark=o),type:"textarea",autosize:{minRows:4,maxRows:6},maxlength:"255","show-word-limit":"",placeholder:"请输入备注"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["title"])])}}});export{de as _}; diff --git a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-BxJc3obM.js b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-Bo8W-Bev.js similarity index 94% rename from server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-BxJc3obM.js rename to server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-Bo8W-Bev.js index b7e66769..55f54da6 100644 --- a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-BxJc3obM.js +++ b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-Bo8W-Bev.js @@ -1 +1 @@ -import{D as h,B as k,C,h as g,P as D,Q as F}from"./element-plus-0wC3naml.js";import{a as I,b as U}from"./role-DPqAO58h.js";import{_ as B}from"./index-nymJKQXP.js";import{f as N,ak as q,I as A,a as o,aN as n,A as S}from"./@vue/runtime-core-C6bnekPw.js";import{y as a,q as _,r as z,n as O}from"./@vue/reactivity-DiY1c2vO.js";const P={class:"edit-popup"},M=N({__name:"edit",emits:["success","close"],setup(Q,{expose:f,emit:b}){const d=b,i=_(),r=_(),u=O("add"),v=S(()=>u.value=="edit"?"编辑角色":"新增角色"),l=z({id:"",name:"",desc:"",sort:0,data_scope:1,menu_id:[]}),V={name:[{required:!0,message:"请输入名称",trigger:["blur"]}]},w=async()=>{var t,e;await((t=i.value)==null?void 0:t.validate()),u.value=="edit"?await I(l):await U(l),(e=r.value)==null||e.close(),d("success")},x=()=>{d("close")};return f({open:(t="add")=>{var e;u.value=t,(e=r.value)==null||e.open()},setFormData:async t=>{for(const e in l)t[e]!=null&&t[e]!=null&&(l[e]=t[e])}}),(t,e)=>{const c=C,m=k,y=g,p=F,E=D,R=h;return q(),A("div",P,[o(B,{ref_key:"popupRef",ref:r,title:a(v),async:!0,width:"550px",onConfirm:w,onClose:x},{default:n(()=>[o(R,{class:"ls-form",ref_key:"formRef",ref:i,rules:V,model:a(l),"label-width":"60px"},{default:n(()=>[o(m,{label:"名称",prop:"name"},{default:n(()=>[o(c,{class:"ls-input",modelValue:a(l).name,"onUpdate:modelValue":e[0]||(e[0]=s=>a(l).name=s),placeholder:"请输入名称",clearable:""},null,8,["modelValue"])]),_:1}),o(m,{label:"备注",prop:"desc"},{default:n(()=>[o(c,{modelValue:a(l).desc,"onUpdate:modelValue":e[1]||(e[1]=s=>a(l).desc=s),type:"textarea",autosize:{minRows:4,maxRows:6},placeholder:"请输入备注",maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1}),o(m,{label:"排序",prop:"sort"},{default:n(()=>[o(y,{modelValue:a(l).sort,"onUpdate:modelValue":e[2]||(e[2]=s=>a(l).sort=s),min:0,max:9999},null,8,["modelValue"])]),_:1}),o(m,{label:"数据范围",prop:"data_scope"},{default:n(()=>[o(E,{modelValue:a(l).data_scope,"onUpdate:modelValue":e[3]||(e[3]=s=>a(l).data_scope=s),placeholder:"请选择数据范围",class:"ls-input"},{default:n(()=>[o(p,{value:1,label:"全部数据(免隔离)"}),o(p,{value:2,label:"本部门及下级部门"}),o(p,{value:3,label:"仅本部门"}),o(p,{value:4,label:"仅本人"})]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["title"])])}}});export{M as _}; +import{D as h,B as k,C,h as g,P as D,Q as F}from"./element-plus-DFTWCWyi.js";import{a as I,b as U}from"./role-DTNlgcHU.js";import{_ as B}from"./index-BwF7vczx.js";import{f as N,ak as q,I as A,a as o,aN as n,A as S}from"./@vue/runtime-core-C6bnekPw.js";import{y as a,q as _,r as z,n as O}from"./@vue/reactivity-DiY1c2vO.js";const P={class:"edit-popup"},M=N({__name:"edit",emits:["success","close"],setup(Q,{expose:f,emit:b}){const d=b,i=_(),r=_(),u=O("add"),v=S(()=>u.value=="edit"?"编辑角色":"新增角色"),l=z({id:"",name:"",desc:"",sort:0,data_scope:1,menu_id:[]}),V={name:[{required:!0,message:"请输入名称",trigger:["blur"]}]},w=async()=>{var t,e;await((t=i.value)==null?void 0:t.validate()),u.value=="edit"?await I(l):await U(l),(e=r.value)==null||e.close(),d("success")},x=()=>{d("close")};return f({open:(t="add")=>{var e;u.value=t,(e=r.value)==null||e.open()},setFormData:async t=>{for(const e in l)t[e]!=null&&t[e]!=null&&(l[e]=t[e])}}),(t,e)=>{const c=C,m=k,y=g,p=F,E=D,R=h;return q(),A("div",P,[o(B,{ref_key:"popupRef",ref:r,title:a(v),async:!0,width:"550px",onConfirm:w,onClose:x},{default:n(()=>[o(R,{class:"ls-form",ref_key:"formRef",ref:i,rules:V,model:a(l),"label-width":"60px"},{default:n(()=>[o(m,{label:"名称",prop:"name"},{default:n(()=>[o(c,{class:"ls-input",modelValue:a(l).name,"onUpdate:modelValue":e[0]||(e[0]=s=>a(l).name=s),placeholder:"请输入名称",clearable:""},null,8,["modelValue"])]),_:1}),o(m,{label:"备注",prop:"desc"},{default:n(()=>[o(c,{modelValue:a(l).desc,"onUpdate:modelValue":e[1]||(e[1]=s=>a(l).desc=s),type:"textarea",autosize:{minRows:4,maxRows:6},placeholder:"请输入备注",maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1}),o(m,{label:"排序",prop:"sort"},{default:n(()=>[o(y,{modelValue:a(l).sort,"onUpdate:modelValue":e[2]||(e[2]=s=>a(l).sort=s),min:0,max:9999},null,8,["modelValue"])]),_:1}),o(m,{label:"数据范围",prop:"data_scope"},{default:n(()=>[o(E,{modelValue:a(l).data_scope,"onUpdate:modelValue":e[3]||(e[3]=s=>a(l).data_scope=s),placeholder:"请选择数据范围",class:"ls-input"},{default:n(()=>[o(p,{value:1,label:"全部数据(免隔离)"}),o(p,{value:2,label:"本部门及下级部门"}),o(p,{value:3,label:"仅本部门"}),o(p,{value:4,label:"仅本人"})]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["title"])])}}});export{M as _}; diff --git a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-C3aOnTrX.js b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-CZsj0pig.js similarity index 91% rename from server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-C3aOnTrX.js rename to server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-CZsj0pig.js index eac5ab8a..53a78209 100644 --- a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-C3aOnTrX.js +++ b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-CZsj0pig.js @@ -1 +1 @@ -import{D as R,B as E,C,G as q,I as D}from"./element-plus-0wC3naml.js";import{g as F,h as I}from"./dict-Nvtnb8GD.js";import{_ as T}from"./index-nymJKQXP.js";import{f as U,ak as B,I as N,a as t,aN as s,O as _,A}from"./@vue/runtime-core-C6bnekPw.js";import{y as a,q as c,r as G,n as h}from"./@vue/reactivity-DiY1c2vO.js";const z={class:"edit-popup"},P=U({__name:"edit",emits:["success","close"],setup(O,{expose:y,emit:V}){const d=V,i=c(),m=c(),u=h("add"),v=A(()=>u.value=="edit"?"编辑字典类型":"新增字典类型"),o=G({id:"",name:"",type:"",status:1,remark:""}),b={name:[{required:!0,message:"请输入字典名称",trigger:["blur"]}],type:[{required:!0,message:"请输入字典类型",trigger:["blur"]}]},w=async()=>{var l,e;await((l=i.value)==null?void 0:l.validate()),u.value=="edit"?await F(o):await I(o),(e=m.value)==null||e.close(),d("success")},g=()=>{d("close")};return y({open:(l="add")=>{var e;u.value=l,(e=m.value)==null||e.open()},setFormData:l=>{for(const e in o)l[e]!=null&&l[e]!=null&&(o[e]=l[e])}}),(l,e)=>{const p=C,n=E,f=D,k=q,x=R;return B(),N("div",z,[t(T,{ref_key:"popupRef",ref:m,title:a(v),async:!0,width:"550px",onConfirm:w,onClose:g},{default:s(()=>[t(x,{class:"ls-form",ref_key:"formRef",ref:i,rules:b,model:a(o),"label-width":"84px"},{default:s(()=>[t(n,{label:"字典名称",prop:"name"},{default:s(()=>[t(p,{modelValue:a(o).name,"onUpdate:modelValue":e[0]||(e[0]=r=>a(o).name=r),placeholder:"请输入字典名称",clearable:""},null,8,["modelValue"])]),_:1}),t(n,{label:"字典类型",prop:"type"},{default:s(()=>[t(p,{modelValue:a(o).type,"onUpdate:modelValue":e[1]||(e[1]=r=>a(o).type=r),placeholder:"请输入字典类型",clearable:""},null,8,["modelValue"])]),_:1}),t(n,{label:"字典状态",required:"",prop:"status"},{default:s(()=>[t(k,{modelValue:a(o).status,"onUpdate:modelValue":e[2]||(e[2]=r=>a(o).status=r)},{default:s(()=>[t(f,{value:1},{default:s(()=>[...e[4]||(e[4]=[_("正常",-1)])]),_:1}),t(f,{value:0},{default:s(()=>[...e[5]||(e[5]=[_("停用",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),t(n,{label:"备注",prop:"remark"},{default:s(()=>[t(p,{modelValue:a(o).remark,"onUpdate:modelValue":e[3]||(e[3]=r=>a(o).remark=r),type:"textarea",autosize:{minRows:4,maxRows:6},clearable:"",maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["title"])])}}});export{P as _}; +import{D as R,B as E,C,G as q,I as D}from"./element-plus-DFTWCWyi.js";import{g as F,h as I}from"./dict-BKviBR_7.js";import{_ as T}from"./index-BwF7vczx.js";import{f as U,ak as B,I as N,a as t,aN as s,O as _,A}from"./@vue/runtime-core-C6bnekPw.js";import{y as a,q as c,r as G,n as h}from"./@vue/reactivity-DiY1c2vO.js";const z={class:"edit-popup"},P=U({__name:"edit",emits:["success","close"],setup(O,{expose:y,emit:V}){const d=V,i=c(),m=c(),u=h("add"),v=A(()=>u.value=="edit"?"编辑字典类型":"新增字典类型"),o=G({id:"",name:"",type:"",status:1,remark:""}),b={name:[{required:!0,message:"请输入字典名称",trigger:["blur"]}],type:[{required:!0,message:"请输入字典类型",trigger:["blur"]}]},w=async()=>{var l,e;await((l=i.value)==null?void 0:l.validate()),u.value=="edit"?await F(o):await I(o),(e=m.value)==null||e.close(),d("success")},g=()=>{d("close")};return y({open:(l="add")=>{var e;u.value=l,(e=m.value)==null||e.open()},setFormData:l=>{for(const e in o)l[e]!=null&&l[e]!=null&&(o[e]=l[e])}}),(l,e)=>{const p=C,n=E,f=D,k=q,x=R;return B(),N("div",z,[t(T,{ref_key:"popupRef",ref:m,title:a(v),async:!0,width:"550px",onConfirm:w,onClose:g},{default:s(()=>[t(x,{class:"ls-form",ref_key:"formRef",ref:i,rules:b,model:a(o),"label-width":"84px"},{default:s(()=>[t(n,{label:"字典名称",prop:"name"},{default:s(()=>[t(p,{modelValue:a(o).name,"onUpdate:modelValue":e[0]||(e[0]=r=>a(o).name=r),placeholder:"请输入字典名称",clearable:""},null,8,["modelValue"])]),_:1}),t(n,{label:"字典类型",prop:"type"},{default:s(()=>[t(p,{modelValue:a(o).type,"onUpdate:modelValue":e[1]||(e[1]=r=>a(o).type=r),placeholder:"请输入字典类型",clearable:""},null,8,["modelValue"])]),_:1}),t(n,{label:"字典状态",required:"",prop:"status"},{default:s(()=>[t(k,{modelValue:a(o).status,"onUpdate:modelValue":e[2]||(e[2]=r=>a(o).status=r)},{default:s(()=>[t(f,{value:1},{default:s(()=>[...e[4]||(e[4]=[_("正常",-1)])]),_:1}),t(f,{value:0},{default:s(()=>[...e[5]||(e[5]=[_("停用",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),t(n,{label:"备注",prop:"remark"},{default:s(()=>[t(p,{modelValue:a(o).remark,"onUpdate:modelValue":e[3]||(e[3]=r=>a(o).remark=r),type:"textarea",autosize:{minRows:4,maxRows:6},clearable:"",maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["title"])])}}});export{P as _}; diff --git a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-n7cqpx9_.js b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-Cw38i8Af.js similarity index 94% rename from server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-n7cqpx9_.js rename to server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-Cw38i8Af.js index 066be4be..56556902 100644 --- a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-n7cqpx9_.js +++ b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-Cw38i8Af.js @@ -1 +1 @@ -import{D as B,B as N,W as I,C as q,h as A,g as F}from"./element-plus-0wC3naml.js";import{d as S,a as M,b as T,c as G}from"./department-4lF54x8w.js";import{_ as H}from"./index-nymJKQXP.js";import{u as J}from"./useDictOptions-CypOxw17.js";import{f as O,ak as _,I as W,a as o,aN as r,G as $,H as j,J as V,A as z}from"./@vue/runtime-core-C6bnekPw.js";import{y as t,q as b,r as K,n as L}from"./@vue/reactivity-DiY1c2vO.js";const P={class:"edit-popup"},ae=O({__name:"edit",emits:["success","close"],setup(Q,{expose:g,emit:v}){const p=v,c=b(),m=b(),u=L("add"),w=z(()=>u.value=="edit"?"编辑部门":"新增部门"),l=K({id:"",pid:"",name:"",leader:"",mobile:"",sort:0,status:1}),x={pid:[{required:!0,message:"请选择上级部门",trigger:["change"]}],name:[{required:!0,message:"请输入部门名称",trigger:["blur"]}],mobile:[{validator:(a,e,d)=>{if(e){const n=/^[1][3,4,5,6,7,8,9][0-9]{9}$/;if(console.log(n.test(e)),n.test(e))d();else return d(new Error("请输入正确的手机号"))}else return d()},trigger:["blur"]}]},{optionsData:k}=J({dept:{api:S}}),y=async()=>{var a,e;await((a=c.value)==null?void 0:a.validate()),u.value=="edit"?await M(l):await T(l),(e=m.value)==null||e.close(),p("success")},E=(a="add")=>{var e;u.value=a,(e=m.value)==null||e.open()},f=a=>{for(const e in l)a[e]!=null&&a[e]!=null&&(l[e]=a[e])},h=async a=>{const e=await G({id:a.id});f(e)},C=()=>{p("close")};return g({open:E,setFormData:f,getDetail:h}),(a,e)=>{const d=I,n=N,i=q,D=A,R=F,U=B;return _(),W("div",P,[o(H,{ref_key:"popupRef",ref:m,title:t(w),async:!0,width:"550px",onConfirm:y,onClose:C},{default:r(()=>[o(U,{ref_key:"formRef",ref:c,model:t(l),"label-width":"84px",rules:x},{default:r(()=>[t(l).pid!==0?(_(),$(n,{key:0,label:"上级部门",prop:"pid"},{default:r(()=>[o(d,{class:"flex-1",modelValue:t(l).pid,"onUpdate:modelValue":e[0]||(e[0]=s=>t(l).pid=s),data:t(k).dept,clearable:"","node-key":"id",props:{value:"id",label:"name"},"check-strictly":"","default-expand-all":!0,placeholder:"请选择上级部门"},null,8,["modelValue","data"])]),_:1})):j("",!0),o(n,{label:"部门名称",prop:"name"},{default:r(()=>[o(i,{modelValue:t(l).name,"onUpdate:modelValue":e[1]||(e[1]=s=>t(l).name=s),placeholder:"请输入部门名称",maxlength:100},null,8,["modelValue"])]),_:1}),o(n,{label:"负责人",prop:"leader"},{default:r(()=>[o(i,{modelValue:t(l).leader,"onUpdate:modelValue":e[2]||(e[2]=s=>t(l).leader=s),placeholder:"请输入负责人姓名",maxlength:30},null,8,["modelValue"])]),_:1}),o(n,{label:"联系电话",prop:"mobile"},{default:r(()=>[o(i,{modelValue:t(l).mobile,"onUpdate:modelValue":e[3]||(e[3]=s=>t(l).mobile=s),placeholder:"请输入联系电话"},null,8,["modelValue"])]),_:1}),o(n,{label:"排序",prop:"sort"},{default:r(()=>[V("div",null,[o(D,{modelValue:t(l).sort,"onUpdate:modelValue":e[4]||(e[4]=s=>t(l).sort=s),min:0,max:9999},null,8,["modelValue"]),e[6]||(e[6]=V("div",{class:"form-tips"},"默认为0, 数值越大越排前",-1))])]),_:1}),o(n,{label:"部门状态"},{default:r(()=>[o(R,{modelValue:t(l).status,"onUpdate:modelValue":e[5]||(e[5]=s=>t(l).status=s),"active-value":1,"inactive-value":0},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["title"])])}}});export{ae as _}; +import{D as B,B as N,W as I,C as q,h as A,g as F}from"./element-plus-DFTWCWyi.js";import{d as S,a as M,b as T,c as G}from"./department-CrUndMAW.js";import{_ as H}from"./index-BwF7vczx.js";import{u as J}from"./useDictOptions-Dl6xXBty.js";import{f as O,ak as _,I as W,a as o,aN as r,G as $,H as j,J as V,A as z}from"./@vue/runtime-core-C6bnekPw.js";import{y as t,q as b,r as K,n as L}from"./@vue/reactivity-DiY1c2vO.js";const P={class:"edit-popup"},ae=O({__name:"edit",emits:["success","close"],setup(Q,{expose:g,emit:v}){const p=v,c=b(),m=b(),u=L("add"),w=z(()=>u.value=="edit"?"编辑部门":"新增部门"),l=K({id:"",pid:"",name:"",leader:"",mobile:"",sort:0,status:1}),x={pid:[{required:!0,message:"请选择上级部门",trigger:["change"]}],name:[{required:!0,message:"请输入部门名称",trigger:["blur"]}],mobile:[{validator:(a,e,d)=>{if(e){const n=/^[1][3,4,5,6,7,8,9][0-9]{9}$/;if(console.log(n.test(e)),n.test(e))d();else return d(new Error("请输入正确的手机号"))}else return d()},trigger:["blur"]}]},{optionsData:k}=J({dept:{api:S}}),y=async()=>{var a,e;await((a=c.value)==null?void 0:a.validate()),u.value=="edit"?await M(l):await T(l),(e=m.value)==null||e.close(),p("success")},E=(a="add")=>{var e;u.value=a,(e=m.value)==null||e.open()},f=a=>{for(const e in l)a[e]!=null&&a[e]!=null&&(l[e]=a[e])},h=async a=>{const e=await G({id:a.id});f(e)},C=()=>{p("close")};return g({open:E,setFormData:f,getDetail:h}),(a,e)=>{const d=I,n=N,i=q,D=A,R=F,U=B;return _(),W("div",P,[o(H,{ref_key:"popupRef",ref:m,title:t(w),async:!0,width:"550px",onConfirm:y,onClose:C},{default:r(()=>[o(U,{ref_key:"formRef",ref:c,model:t(l),"label-width":"84px",rules:x},{default:r(()=>[t(l).pid!==0?(_(),$(n,{key:0,label:"上级部门",prop:"pid"},{default:r(()=>[o(d,{class:"flex-1",modelValue:t(l).pid,"onUpdate:modelValue":e[0]||(e[0]=s=>t(l).pid=s),data:t(k).dept,clearable:"","node-key":"id",props:{value:"id",label:"name"},"check-strictly":"","default-expand-all":!0,placeholder:"请选择上级部门"},null,8,["modelValue","data"])]),_:1})):j("",!0),o(n,{label:"部门名称",prop:"name"},{default:r(()=>[o(i,{modelValue:t(l).name,"onUpdate:modelValue":e[1]||(e[1]=s=>t(l).name=s),placeholder:"请输入部门名称",maxlength:100},null,8,["modelValue"])]),_:1}),o(n,{label:"负责人",prop:"leader"},{default:r(()=>[o(i,{modelValue:t(l).leader,"onUpdate:modelValue":e[2]||(e[2]=s=>t(l).leader=s),placeholder:"请输入负责人姓名",maxlength:30},null,8,["modelValue"])]),_:1}),o(n,{label:"联系电话",prop:"mobile"},{default:r(()=>[o(i,{modelValue:t(l).mobile,"onUpdate:modelValue":e[3]||(e[3]=s=>t(l).mobile=s),placeholder:"请输入联系电话"},null,8,["modelValue"])]),_:1}),o(n,{label:"排序",prop:"sort"},{default:r(()=>[V("div",null,[o(D,{modelValue:t(l).sort,"onUpdate:modelValue":e[4]||(e[4]=s=>t(l).sort=s),min:0,max:9999},null,8,["modelValue"]),e[6]||(e[6]=V("div",{class:"form-tips"},"默认为0, 数值越大越排前",-1))])]),_:1}),o(n,{label:"部门状态"},{default:r(()=>[o(R,{modelValue:t(l).status,"onUpdate:modelValue":e[5]||(e[5]=s=>t(l).status=s),"active-value":1,"inactive-value":0},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["title"])])}}});export{ae as _}; diff --git a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-CAjYh8N9.js b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-CwKzaRbZ.js similarity index 93% rename from server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-CAjYh8N9.js rename to server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-CwKzaRbZ.js index 389f01dd..59a94d31 100644 --- a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-CAjYh8N9.js +++ b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-CwKzaRbZ.js @@ -1 +1 @@ -import{D as I,B as S,C as w,G as x,I as T}from"./element-plus-0wC3naml.js";import{b as q,c as A}from"./message-CSrefGEU.js";import{_ as K}from"./index-nymJKQXP.js";import{f as U,ak as n,I as Y,a,aN as o,J as B,G as i,H as _,O as c}from"./@vue/runtime-core-C6bnekPw.js";import{y as l,q as y,r as N}from"./@vue/reactivity-DiY1c2vO.js";import{Q as F}from"./@vue/shared-mAAVTE9n.js";const G={class:"edit-popup"},M=U({__name:"edit",emits:["success"],setup(H,{expose:g,emit:E}){const V=E,d=y(),m=y(),t=N({name:"",type:"",sign:"",app_key:"",app_id:"",secret_key:"",secret_id:"",status:0}),k={sign:[{required:!0,message:"请输入短信签名",trigger:"blur"}],app_id:[{required:!0,message:"请输入APP_ID",trigger:"blur"}],app_key:[{required:!0,message:"请输入APP_KEY",trigger:"blur"}],secret_key:[{required:!0,message:"请输入SECRET_KEY",trigger:"blur"}],secret_id:[{required:!0,message:"请输入SECRET_ID",trigger:"blur"}]},b=async()=>{var s,e;await((s=d.value)==null?void 0:s.validate()),await q(t),(e=m.value)==null||e.close(),V("success")},C=async()=>{const s=await A({type:t.type});for(const e in s)t[e]=s[e]},R=s=>{var e;t.type=s,(e=m.value)==null||e.open(),C()},P=()=>{var s;(s=d.value)==null||s.resetFields()};return g({open:R}),(s,e)=>{const p=S,u=w,f=T,D=x,v=I;return n(),Y("div",G,[a(K,{ref_key:"popupRef",ref:m,title:"设置短信",async:!0,width:"550px",onConfirm:b,onClose:P},{default:o(()=>[a(v,{ref_key:"formRef",ref:d,model:l(t),"label-width":"120px",rules:k},{default:o(()=>[a(p,{label:"短信渠道"},{default:o(()=>[B("div",null,F(l(t).name),1)]),_:1}),a(p,{label:"短信签名",prop:"sign"},{default:o(()=>[a(u,{modelValue:l(t).sign,"onUpdate:modelValue":e[0]||(e[0]=r=>l(t).sign=r),placeholder:"请输入短信签名"},null,8,["modelValue"])]),_:1}),l(t).type=="ali"?(n(),i(p,{key:0,label:"APP_KEY",prop:"app_key"},{default:o(()=>[a(u,{modelValue:l(t).app_key,"onUpdate:modelValue":e[1]||(e[1]=r=>l(t).app_key=r),placeholder:"请输入APP_KEY"},null,8,["modelValue"])]),_:1})):_("",!0),l(t).type=="tencent"?(n(),i(p,{key:1,label:"APP_ID",prop:"app_id"},{default:o(()=>[a(u,{modelValue:l(t).app_id,"onUpdate:modelValue":e[2]||(e[2]=r=>l(t).app_id=r),placeholder:"请输入APP_ID"},null,8,["modelValue"])]),_:1})):_("",!0),l(t).type=="tencent"?(n(),i(p,{key:2,label:"SECRET_ID",prop:"secret_id"},{default:o(()=>[a(u,{modelValue:l(t).secret_id,"onUpdate:modelValue":e[3]||(e[3]=r=>l(t).secret_id=r),placeholder:"请输入SECRET_ID"},null,8,["modelValue"])]),_:1})):_("",!0),a(p,{label:"SECRET_KEY",prop:"secret_key"},{default:o(()=>[a(u,{modelValue:l(t).secret_key,"onUpdate:modelValue":e[4]||(e[4]=r=>l(t).secret_key=r),placeholder:"请输入SECRET_KEY"},null,8,["modelValue"])]),_:1}),a(p,{label:"状态",prop:"status"},{default:o(()=>[a(D,{modelValue:l(t).status,"onUpdate:modelValue":e[5]||(e[5]=r=>l(t).status=r)},{default:o(()=>[a(f,{value:0},{default:o(()=>[...e[6]||(e[6]=[c("关闭",-1)])]),_:1}),a(f,{value:1},{default:o(()=>[...e[7]||(e[7]=[c("开启",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},512)])}}});export{M as _}; +import{D as I,B as S,C as w,G as x,I as T}from"./element-plus-DFTWCWyi.js";import{b as q,c as A}from"./message-Dx96dhoI.js";import{_ as K}from"./index-BwF7vczx.js";import{f as U,ak as n,I as Y,a,aN as o,J as B,G as i,H as _,O as c}from"./@vue/runtime-core-C6bnekPw.js";import{y as l,q as y,r as N}from"./@vue/reactivity-DiY1c2vO.js";import{Q as F}from"./@vue/shared-mAAVTE9n.js";const G={class:"edit-popup"},M=U({__name:"edit",emits:["success"],setup(H,{expose:g,emit:E}){const V=E,d=y(),m=y(),t=N({name:"",type:"",sign:"",app_key:"",app_id:"",secret_key:"",secret_id:"",status:0}),k={sign:[{required:!0,message:"请输入短信签名",trigger:"blur"}],app_id:[{required:!0,message:"请输入APP_ID",trigger:"blur"}],app_key:[{required:!0,message:"请输入APP_KEY",trigger:"blur"}],secret_key:[{required:!0,message:"请输入SECRET_KEY",trigger:"blur"}],secret_id:[{required:!0,message:"请输入SECRET_ID",trigger:"blur"}]},b=async()=>{var s,e;await((s=d.value)==null?void 0:s.validate()),await q(t),(e=m.value)==null||e.close(),V("success")},C=async()=>{const s=await A({type:t.type});for(const e in s)t[e]=s[e]},R=s=>{var e;t.type=s,(e=m.value)==null||e.open(),C()},P=()=>{var s;(s=d.value)==null||s.resetFields()};return g({open:R}),(s,e)=>{const p=S,u=w,f=T,D=x,v=I;return n(),Y("div",G,[a(K,{ref_key:"popupRef",ref:m,title:"设置短信",async:!0,width:"550px",onConfirm:b,onClose:P},{default:o(()=>[a(v,{ref_key:"formRef",ref:d,model:l(t),"label-width":"120px",rules:k},{default:o(()=>[a(p,{label:"短信渠道"},{default:o(()=>[B("div",null,F(l(t).name),1)]),_:1}),a(p,{label:"短信签名",prop:"sign"},{default:o(()=>[a(u,{modelValue:l(t).sign,"onUpdate:modelValue":e[0]||(e[0]=r=>l(t).sign=r),placeholder:"请输入短信签名"},null,8,["modelValue"])]),_:1}),l(t).type=="ali"?(n(),i(p,{key:0,label:"APP_KEY",prop:"app_key"},{default:o(()=>[a(u,{modelValue:l(t).app_key,"onUpdate:modelValue":e[1]||(e[1]=r=>l(t).app_key=r),placeholder:"请输入APP_KEY"},null,8,["modelValue"])]),_:1})):_("",!0),l(t).type=="tencent"?(n(),i(p,{key:1,label:"APP_ID",prop:"app_id"},{default:o(()=>[a(u,{modelValue:l(t).app_id,"onUpdate:modelValue":e[2]||(e[2]=r=>l(t).app_id=r),placeholder:"请输入APP_ID"},null,8,["modelValue"])]),_:1})):_("",!0),l(t).type=="tencent"?(n(),i(p,{key:2,label:"SECRET_ID",prop:"secret_id"},{default:o(()=>[a(u,{modelValue:l(t).secret_id,"onUpdate:modelValue":e[3]||(e[3]=r=>l(t).secret_id=r),placeholder:"请输入SECRET_ID"},null,8,["modelValue"])]),_:1})):_("",!0),a(p,{label:"SECRET_KEY",prop:"secret_key"},{default:o(()=>[a(u,{modelValue:l(t).secret_key,"onUpdate:modelValue":e[4]||(e[4]=r=>l(t).secret_key=r),placeholder:"请输入SECRET_KEY"},null,8,["modelValue"])]),_:1}),a(p,{label:"状态",prop:"status"},{default:o(()=>[a(D,{modelValue:l(t).status,"onUpdate:modelValue":e[5]||(e[5]=r=>l(t).status=r)},{default:o(()=>[a(f,{value:0},{default:o(()=>[...e[6]||(e[6]=[c("关闭",-1)])]),_:1}),a(f,{value:1},{default:o(()=>[...e[7]||(e[7]=[c("开启",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},512)])}}});export{M as _}; diff --git a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-3m13EY17.js b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-DAbW78Jr.js similarity index 93% rename from server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-3m13EY17.js rename to server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-DAbW78Jr.js index 2265434d..e5040fde 100644 --- a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-3m13EY17.js +++ b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-DAbW78Jr.js @@ -1 +1 @@ -import{D as G,B as H,C as J,W as L,P,Q,g as W}from"./element-plus-0wC3naml.js";import{_ as z}from"./picker-DlbAZkDm.js";import{d as K}from"./department-4lF54x8w.js";import{j as M}from"./post-Dq6zumLO.js";import{b as X,d as Y,e as Z}from"./admin-DO1zWq80.js";import{r as $}from"./role-DPqAO58h.js";import{_ as h}from"./index-nymJKQXP.js";import{u as ee}from"./useDictOptions-CypOxw17.js";import{f as le,ak as i,I as V,a as t,aN as d,J as u,F as j,ap as k,G as p,H as U,A as oe}from"./@vue/runtime-core-C6bnekPw.js";import{y as o,q as C,r as q,n as ae}from"./@vue/reactivity-DiY1c2vO.js";const te={class:"edit-popup"},Ve=le({__name:"edit",emits:["success","close"],setup(re,{expose:D,emit:R}){const v=R,w=C(),m=C(),f=ae("add"),A=oe(()=>f.value=="edit"?"编辑管理员":"新增管理员"),l=q({id:"",account:"",name:"",dept_id:[],jobs_id:[],role_id:[],avatar:"",password:"",password_confirm:"",disable:0,multipoint_login:1,root:0}),g=(n,e,r)=>{l.password&&(e||r(new Error("请再次输入密码")),e!==l.password&&r(new Error("两次输入密码不一致!"))),r()},_=q({account:[{required:!0,message:"请输入账号",trigger:["blur"]}],name:[{required:!0,message:"请输入名称",trigger:["blur"]}],role_id:[{required:!0,validator:(n,e,r)=>{l.root||l.role_id.length?r():r(new Error("请选择角色"))}}],password:[{required:!0,message:"请输入密码",trigger:["blur"]}],password_confirm:[{required:!0,message:"请输入确认密码",trigger:["blur"]},{validator:g,trigger:"blur"}]}),{optionsData:c}=ee({role:{api:$},jobs:{api:M},dept:{api:K}}),B=async()=>{var n,e;await((n=w.value)==null?void 0:n.validate()),f.value=="edit"?await X(l):await Y(l),(e=m.value)==null||e.close(),v("success")},F=(n="add")=>{var e;f.value=n,(e=m.value)==null||e.open()},I=async n=>{_.password=[],_.password_confirm=[{validator:g,trigger:"blur"}];const e=await Z({id:n.id});for(const r in l)e[r]!=null&&e[r]!=null&&(l[r]=e[r])},N=()=>{v("close")};return D({open:F,setFormData:I}),(n,e)=>{const r=J,s=H,S=z,O=L,y=Q,E=P,x=W,T=G;return i(),V("div",te,[t(h,{ref_key:"popupRef",ref:m,title:o(A),async:!0,width:"550px",onConfirm:B,onClose:N},{default:d(()=>[t(T,{ref_key:"formRef",ref:w,model:o(l),"label-width":"84px",rules:o(_)},{default:d(()=>[t(s,{label:"账号",prop:"account"},{default:d(()=>[t(r,{modelValue:o(l).account,"onUpdate:modelValue":e[0]||(e[0]=a=>o(l).account=a),disabled:o(l).root==1,placeholder:"请输入账号",clearable:""},null,8,["modelValue","disabled"])]),_:1}),t(s,{label:"头像"},{default:d(()=>[u("div",null,[u("div",null,[t(S,{modelValue:o(l).avatar,"onUpdate:modelValue":e[1]||(e[1]=a=>o(l).avatar=a),limit:1},null,8,["modelValue"])]),e[10]||(e[10]=u("div",{class:"form-tips"},"建议尺寸:100*100px,支持jpg,jpeg,png格式",-1))])]),_:1}),t(s,{label:"名称",prop:"name"},{default:d(()=>[t(r,{modelValue:o(l).name,"onUpdate:modelValue":e[2]||(e[2]=a=>o(l).name=a),placeholder:"请输入名称",clearable:""},null,8,["modelValue"])]),_:1}),t(s,{label:"归属部门",prop:"dept_id"},{default:d(()=>[t(O,{class:"flex-1",modelValue:o(l).dept_id,"onUpdate:modelValue":e[3]||(e[3]=a=>o(l).dept_id=a),data:o(c).dept,clearable:"",multiple:"","node-key":"id",props:{value:"id",label:"name",disabled(a){return a.status!==1}},"check-strictly":"","default-expand-all":!0,placeholder:"请选择上级部门"},null,8,["modelValue","data","props"])]),_:1}),t(s,{label:"岗位",prop:"jobs_id"},{default:d(()=>[t(E,{class:"flex-1",modelValue:o(l).jobs_id,"onUpdate:modelValue":e[4]||(e[4]=a=>o(l).jobs_id=a),clearable:"",multiple:"",placeholder:"请选择岗位"},{default:d(()=>[(i(!0),V(j,null,k(o(c).jobs,(a,b)=>(i(),p(y,{key:b,label:a.name,value:a.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),o(l).root!=1?(i(),p(s,{key:0,label:"角色",prop:"role_id"},{default:d(()=>[t(E,{modelValue:o(l).role_id,"onUpdate:modelValue":e[5]||(e[5]=a=>o(l).role_id=a),disabled:o(l).root==1,class:"flex-1",multiple:"",placeholder:"请选择角色",clearable:""},{default:d(()=>[(i(!0),V(j,null,k(o(c).role,(a,b)=>(i(),p(y,{key:b,label:a.name,value:a.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","disabled"])]),_:1})):U("",!0),t(s,{label:"密码",prop:"password"},{default:d(()=>[t(r,{modelValue:o(l).password,"onUpdate:modelValue":e[6]||(e[6]=a=>o(l).password=a),"show-password":"",clearable:"",placeholder:"请输入密码"},null,8,["modelValue"])]),_:1}),t(s,{label:"确认密码",prop:"password_confirm"},{default:d(()=>[t(r,{modelValue:o(l).password_confirm,"onUpdate:modelValue":e[7]||(e[7]=a=>o(l).password_confirm=a),"show-password":"",clearable:"",placeholder:"请输入确认密码"},null,8,["modelValue"])]),_:1}),o(l).root!=1?(i(),p(s,{key:1,label:"管理员状态"},{default:d(()=>[t(x,{modelValue:o(l).disable,"onUpdate:modelValue":e[8]||(e[8]=a=>o(l).disable=a),"active-value":0,"inactive-value":1},null,8,["modelValue"])]),_:1})):U("",!0),t(s,{label:"多处登录"},{default:d(()=>[u("div",null,[t(x,{modelValue:o(l).multipoint_login,"onUpdate:modelValue":e[9]||(e[9]=a=>o(l).multipoint_login=a),"active-value":1,"inactive-value":0},null,8,["modelValue"]),e[11]||(e[11]=u("div",{class:"form-tips"},"允许多人同时在线登录",-1))])]),_:1})]),_:1},8,["model","rules"])]),_:1},8,["title"])])}}});export{Ve as _}; +import{D as G,B as H,C as J,W as L,P,Q,g as W}from"./element-plus-DFTWCWyi.js";import{_ as z}from"./picker-BCRrEZaA.js";import{d as K}from"./department-CrUndMAW.js";import{j as M}from"./post-RziaWdiV.js";import{b as X,d as Y,e as Z}from"./admin-DVVxI3fN.js";import{r as $}from"./role-DTNlgcHU.js";import{_ as h}from"./index-BwF7vczx.js";import{u as ee}from"./useDictOptions-Dl6xXBty.js";import{f as le,ak as i,I as V,a as t,aN as d,J as u,F as j,ap as k,G as p,H as U,A as oe}from"./@vue/runtime-core-C6bnekPw.js";import{y as o,q as C,r as q,n as ae}from"./@vue/reactivity-DiY1c2vO.js";const te={class:"edit-popup"},Ve=le({__name:"edit",emits:["success","close"],setup(re,{expose:D,emit:R}){const v=R,w=C(),m=C(),f=ae("add"),A=oe(()=>f.value=="edit"?"编辑管理员":"新增管理员"),l=q({id:"",account:"",name:"",dept_id:[],jobs_id:[],role_id:[],avatar:"",password:"",password_confirm:"",disable:0,multipoint_login:1,root:0}),g=(n,e,r)=>{l.password&&(e||r(new Error("请再次输入密码")),e!==l.password&&r(new Error("两次输入密码不一致!"))),r()},_=q({account:[{required:!0,message:"请输入账号",trigger:["blur"]}],name:[{required:!0,message:"请输入名称",trigger:["blur"]}],role_id:[{required:!0,validator:(n,e,r)=>{l.root||l.role_id.length?r():r(new Error("请选择角色"))}}],password:[{required:!0,message:"请输入密码",trigger:["blur"]}],password_confirm:[{required:!0,message:"请输入确认密码",trigger:["blur"]},{validator:g,trigger:"blur"}]}),{optionsData:c}=ee({role:{api:$},jobs:{api:M},dept:{api:K}}),B=async()=>{var n,e;await((n=w.value)==null?void 0:n.validate()),f.value=="edit"?await X(l):await Y(l),(e=m.value)==null||e.close(),v("success")},F=(n="add")=>{var e;f.value=n,(e=m.value)==null||e.open()},I=async n=>{_.password=[],_.password_confirm=[{validator:g,trigger:"blur"}];const e=await Z({id:n.id});for(const r in l)e[r]!=null&&e[r]!=null&&(l[r]=e[r])},N=()=>{v("close")};return D({open:F,setFormData:I}),(n,e)=>{const r=J,s=H,S=z,O=L,y=Q,E=P,x=W,T=G;return i(),V("div",te,[t(h,{ref_key:"popupRef",ref:m,title:o(A),async:!0,width:"550px",onConfirm:B,onClose:N},{default:d(()=>[t(T,{ref_key:"formRef",ref:w,model:o(l),"label-width":"84px",rules:o(_)},{default:d(()=>[t(s,{label:"账号",prop:"account"},{default:d(()=>[t(r,{modelValue:o(l).account,"onUpdate:modelValue":e[0]||(e[0]=a=>o(l).account=a),disabled:o(l).root==1,placeholder:"请输入账号",clearable:""},null,8,["modelValue","disabled"])]),_:1}),t(s,{label:"头像"},{default:d(()=>[u("div",null,[u("div",null,[t(S,{modelValue:o(l).avatar,"onUpdate:modelValue":e[1]||(e[1]=a=>o(l).avatar=a),limit:1},null,8,["modelValue"])]),e[10]||(e[10]=u("div",{class:"form-tips"},"建议尺寸:100*100px,支持jpg,jpeg,png格式",-1))])]),_:1}),t(s,{label:"名称",prop:"name"},{default:d(()=>[t(r,{modelValue:o(l).name,"onUpdate:modelValue":e[2]||(e[2]=a=>o(l).name=a),placeholder:"请输入名称",clearable:""},null,8,["modelValue"])]),_:1}),t(s,{label:"归属部门",prop:"dept_id"},{default:d(()=>[t(O,{class:"flex-1",modelValue:o(l).dept_id,"onUpdate:modelValue":e[3]||(e[3]=a=>o(l).dept_id=a),data:o(c).dept,clearable:"",multiple:"","node-key":"id",props:{value:"id",label:"name",disabled(a){return a.status!==1}},"check-strictly":"","default-expand-all":!0,placeholder:"请选择上级部门"},null,8,["modelValue","data","props"])]),_:1}),t(s,{label:"岗位",prop:"jobs_id"},{default:d(()=>[t(E,{class:"flex-1",modelValue:o(l).jobs_id,"onUpdate:modelValue":e[4]||(e[4]=a=>o(l).jobs_id=a),clearable:"",multiple:"",placeholder:"请选择岗位"},{default:d(()=>[(i(!0),V(j,null,k(o(c).jobs,(a,b)=>(i(),p(y,{key:b,label:a.name,value:a.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),o(l).root!=1?(i(),p(s,{key:0,label:"角色",prop:"role_id"},{default:d(()=>[t(E,{modelValue:o(l).role_id,"onUpdate:modelValue":e[5]||(e[5]=a=>o(l).role_id=a),disabled:o(l).root==1,class:"flex-1",multiple:"",placeholder:"请选择角色",clearable:""},{default:d(()=>[(i(!0),V(j,null,k(o(c).role,(a,b)=>(i(),p(y,{key:b,label:a.name,value:a.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","disabled"])]),_:1})):U("",!0),t(s,{label:"密码",prop:"password"},{default:d(()=>[t(r,{modelValue:o(l).password,"onUpdate:modelValue":e[6]||(e[6]=a=>o(l).password=a),"show-password":"",clearable:"",placeholder:"请输入密码"},null,8,["modelValue"])]),_:1}),t(s,{label:"确认密码",prop:"password_confirm"},{default:d(()=>[t(r,{modelValue:o(l).password_confirm,"onUpdate:modelValue":e[7]||(e[7]=a=>o(l).password_confirm=a),"show-password":"",clearable:"",placeholder:"请输入确认密码"},null,8,["modelValue"])]),_:1}),o(l).root!=1?(i(),p(s,{key:1,label:"管理员状态"},{default:d(()=>[t(x,{modelValue:o(l).disable,"onUpdate:modelValue":e[8]||(e[8]=a=>o(l).disable=a),"active-value":0,"inactive-value":1},null,8,["modelValue"])]),_:1})):U("",!0),t(s,{label:"多处登录"},{default:d(()=>[u("div",null,[t(x,{modelValue:o(l).multipoint_login,"onUpdate:modelValue":e[9]||(e[9]=a=>o(l).multipoint_login=a),"active-value":1,"inactive-value":0},null,8,["modelValue"]),e[11]||(e[11]=u("div",{class:"form-tips"},"允许多人同时在线登录",-1))])]),_:1})]),_:1},8,["model","rules"])]),_:1},8,["title"])])}}});export{Ve as _}; diff --git a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-BdtkGJu8.js b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-DK2-d75P.js similarity index 95% rename from server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-BdtkGJu8.js rename to server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-DK2-d75P.js index fa322005..36f72530 100644 --- a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-BdtkGJu8.js +++ b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-DK2-d75P.js @@ -1 +1 @@ -import{D as B,B as D,I as U,C as Y,G}from"./element-plus-0wC3naml.js";import{r as g}from"./index-E47--KT7.js";import{_ as T}from"./index-nymJKQXP.js";import{f as h,ak as _,I as S,a as o,aN as r,J as u,O as f,G as F,H as b,A as H}from"./@vue/runtime-core-C6bnekPw.js";import{y as l,q as E,r as J}from"./@vue/reactivity-DiY1c2vO.js";import{Q as V}from"./@vue/shared-mAAVTE9n.js";function le(){return g.get({url:"/setting.storage/lists"})}function L(d){return g.post({url:"/setting.storage/setup",params:d})}function Q(d){return g.get({url:"/setting.storage/detail",params:d})}const j={class:"edit-popup"},z={class:"form-tips"},M={key:0},P={class:"flex-1"},W={class:"flex-1"},ae=h({__name:"edit",emits:["success"],setup(d,{expose:v,emit:C}){const R=C,p=E(),m=E(),t=J({engine:"",bucket:"",access_key:"",secret_key:"",domain:"",region:"",status:0}),q=[{name:"本地存储",type:"local",tips:"本地存储方式不需要配置其他参数"},{name:"七牛云存储",type:"qiniu",tips:"切换七牛云存储后,素材库需要重新上传至七牛云"},{name:"阿里云OSS",type:"aliyun",tips:"切换阿里云OSS后,素材库需要重新上传至阿里云OSS"},{name:"腾讯云OSS",type:"qcloud",tips:"切换腾讯云OSS后,素材库需要重新上传至腾讯云OSS"}],x={bucket:[{required:!0,message:"请输入存储空间名称",trigger:"blur"}],access_key:[{required:!0,message:"请输入ACCESS_KEY",trigger:"blur"}],secret_key:[{required:!0,message:"请输入SECRET_KEY",trigger:"blur"}],domain:[{required:!0,message:"请输入空间域名",trigger:"blur"}],region:[{required:!0,message:"请输入REGION",trigger:"blur"}]},k=H(()=>q.find(s=>s.type==t.engine)),O=async()=>{var s,e;await((s=p.value)==null?void 0:s.validate()),await L(t),(e=m.value)==null||e.close(),R("success")},K=async()=>{const s=await Q({engine:t.engine});for(const e in s)t[e]=s[e]},w=s=>{var e;t.engine=s,(e=m.value)==null||e.open(),K()},I=()=>{var s;(s=p.value)==null||s.resetFields()};return v({open:w}),(s,e)=>{const c=U,n=D,i=Y,N=G,A=B;return _(),S("div",j,[o(T,{ref_key:"popupRef",ref:m,title:"设置存储",async:!0,width:"550px",onConfirm:O,onClose:I},{default:r(()=>[o(A,{ref_key:"formRef",ref:p,model:l(t),"label-width":"120px",rules:x},{default:r(()=>[o(n,{label:"存储方式",prop:"engine"},{default:r(()=>{var a;return[u("div",null,[o(c,{checked:""},{default:r(()=>{var y;return[f(V((y=l(k))==null?void 0:y.name),1)]}),_:1}),u("div",z,V((a=l(k))==null?void 0:a.tips),1)])]}),_:1}),l(t).engine!=="local"?(_(),S("div",M,[o(n,{label:" 存储空间名称",prop:"bucket"},{default:r(()=>[u("div",P,[o(i,{modelValue:l(t).bucket,"onUpdate:modelValue":e[0]||(e[0]=a=>l(t).bucket=a),placeholder:"请输入存储空间名称(Bucket)",clearable:""},null,8,["modelValue"])])]),_:1}),o(n,{label:"ACCESS_KEY",prop:"access_key"},{default:r(()=>[o(i,{modelValue:l(t).access_key,"onUpdate:modelValue":e[1]||(e[1]=a=>l(t).access_key=a),placeholder:"请输入ACCESS_KEY(AK)",clearable:""},null,8,["modelValue"])]),_:1}),o(n,{label:"SECRET_KEY",prop:"secret_key"},{default:r(()=>[o(i,{modelValue:l(t).secret_key,"onUpdate:modelValue":e[2]||(e[2]=a=>l(t).secret_key=a),placeholder:"请输入SECRET_KEY(SK)",clearable:""},null,8,["modelValue"])]),_:1}),o(n,{label:"空间域名",prop:"domain"},{default:r(()=>[u("div",W,[u("div",null,[o(i,{modelValue:l(t).domain,"onUpdate:modelValue":e[3]||(e[3]=a=>l(t).domain=a),placeholder:"请输入空间域名(Domain)",clearable:""},null,8,["modelValue"])]),e[6]||(e[6]=u("div",{class:"form-tips"}," 请补全http://或https://,例如https://static.cloud.com ",-1))])]),_:1}),l(t).engine=="qcloud"?(_(),F(n,{key:0,label:"REGION",prop:"region"},{default:r(()=>[o(i,{modelValue:l(t).region,"onUpdate:modelValue":e[4]||(e[4]=a=>l(t).region=a),placeholder:"请输入region",clearable:""},null,8,["modelValue"])]),_:1})):b("",!0)])):b("",!0),o(n,{label:"状态",prop:"status"},{default:r(()=>[o(N,{modelValue:l(t).status,"onUpdate:modelValue":e[5]||(e[5]=a=>l(t).status=a)},{default:r(()=>[o(c,{value:0},{default:r(()=>[...e[7]||(e[7]=[f("关闭",-1)])]),_:1}),o(c,{value:1},{default:r(()=>[...e[8]||(e[8]=[f("开启",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},512)])}}});export{ae as _,le as s}; +import{D as B,B as D,I as U,C as Y,G}from"./element-plus-DFTWCWyi.js";import{r as g}from"./index-DBREMm_z.js";import{_ as T}from"./index-BwF7vczx.js";import{f as h,ak as _,I as S,a as o,aN as r,J as u,O as f,G as F,H as b,A as H}from"./@vue/runtime-core-C6bnekPw.js";import{y as l,q as E,r as J}from"./@vue/reactivity-DiY1c2vO.js";import{Q as V}from"./@vue/shared-mAAVTE9n.js";function le(){return g.get({url:"/setting.storage/lists"})}function L(d){return g.post({url:"/setting.storage/setup",params:d})}function Q(d){return g.get({url:"/setting.storage/detail",params:d})}const j={class:"edit-popup"},z={class:"form-tips"},M={key:0},P={class:"flex-1"},W={class:"flex-1"},ae=h({__name:"edit",emits:["success"],setup(d,{expose:v,emit:C}){const R=C,p=E(),m=E(),t=J({engine:"",bucket:"",access_key:"",secret_key:"",domain:"",region:"",status:0}),q=[{name:"本地存储",type:"local",tips:"本地存储方式不需要配置其他参数"},{name:"七牛云存储",type:"qiniu",tips:"切换七牛云存储后,素材库需要重新上传至七牛云"},{name:"阿里云OSS",type:"aliyun",tips:"切换阿里云OSS后,素材库需要重新上传至阿里云OSS"},{name:"腾讯云OSS",type:"qcloud",tips:"切换腾讯云OSS后,素材库需要重新上传至腾讯云OSS"}],x={bucket:[{required:!0,message:"请输入存储空间名称",trigger:"blur"}],access_key:[{required:!0,message:"请输入ACCESS_KEY",trigger:"blur"}],secret_key:[{required:!0,message:"请输入SECRET_KEY",trigger:"blur"}],domain:[{required:!0,message:"请输入空间域名",trigger:"blur"}],region:[{required:!0,message:"请输入REGION",trigger:"blur"}]},k=H(()=>q.find(s=>s.type==t.engine)),O=async()=>{var s,e;await((s=p.value)==null?void 0:s.validate()),await L(t),(e=m.value)==null||e.close(),R("success")},K=async()=>{const s=await Q({engine:t.engine});for(const e in s)t[e]=s[e]},w=s=>{var e;t.engine=s,(e=m.value)==null||e.open(),K()},I=()=>{var s;(s=p.value)==null||s.resetFields()};return v({open:w}),(s,e)=>{const c=U,n=D,i=Y,N=G,A=B;return _(),S("div",j,[o(T,{ref_key:"popupRef",ref:m,title:"设置存储",async:!0,width:"550px",onConfirm:O,onClose:I},{default:r(()=>[o(A,{ref_key:"formRef",ref:p,model:l(t),"label-width":"120px",rules:x},{default:r(()=>[o(n,{label:"存储方式",prop:"engine"},{default:r(()=>{var a;return[u("div",null,[o(c,{checked:""},{default:r(()=>{var y;return[f(V((y=l(k))==null?void 0:y.name),1)]}),_:1}),u("div",z,V((a=l(k))==null?void 0:a.tips),1)])]}),_:1}),l(t).engine!=="local"?(_(),S("div",M,[o(n,{label:" 存储空间名称",prop:"bucket"},{default:r(()=>[u("div",P,[o(i,{modelValue:l(t).bucket,"onUpdate:modelValue":e[0]||(e[0]=a=>l(t).bucket=a),placeholder:"请输入存储空间名称(Bucket)",clearable:""},null,8,["modelValue"])])]),_:1}),o(n,{label:"ACCESS_KEY",prop:"access_key"},{default:r(()=>[o(i,{modelValue:l(t).access_key,"onUpdate:modelValue":e[1]||(e[1]=a=>l(t).access_key=a),placeholder:"请输入ACCESS_KEY(AK)",clearable:""},null,8,["modelValue"])]),_:1}),o(n,{label:"SECRET_KEY",prop:"secret_key"},{default:r(()=>[o(i,{modelValue:l(t).secret_key,"onUpdate:modelValue":e[2]||(e[2]=a=>l(t).secret_key=a),placeholder:"请输入SECRET_KEY(SK)",clearable:""},null,8,["modelValue"])]),_:1}),o(n,{label:"空间域名",prop:"domain"},{default:r(()=>[u("div",W,[u("div",null,[o(i,{modelValue:l(t).domain,"onUpdate:modelValue":e[3]||(e[3]=a=>l(t).domain=a),placeholder:"请输入空间域名(Domain)",clearable:""},null,8,["modelValue"])]),e[6]||(e[6]=u("div",{class:"form-tips"}," 请补全http://或https://,例如https://static.cloud.com ",-1))])]),_:1}),l(t).engine=="qcloud"?(_(),F(n,{key:0,label:"REGION",prop:"region"},{default:r(()=>[o(i,{modelValue:l(t).region,"onUpdate:modelValue":e[4]||(e[4]=a=>l(t).region=a),placeholder:"请输入region",clearable:""},null,8,["modelValue"])]),_:1})):b("",!0)])):b("",!0),o(n,{label:"状态",prop:"status"},{default:r(()=>[o(N,{modelValue:l(t).status,"onUpdate:modelValue":e[5]||(e[5]=a=>l(t).status=a)},{default:r(()=>[o(c,{value:0},{default:r(()=>[...e[7]||(e[7]=[f("关闭",-1)])]),_:1}),o(c,{value:1},{default:r(()=>[...e[8]||(e[8]=[f("开启",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},512)])}}});export{ae as _,le as s}; diff --git a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-DItGEiu-.js b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-SN25urAl.js similarity index 95% rename from server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-DItGEiu-.js rename to server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-SN25urAl.js index 5167eeb9..5ef5bb42 100644 --- a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-DItGEiu-.js +++ b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-SN25urAl.js @@ -1 +1 @@ -import{D as C,B as D,C as I,h as N,G as U,I as q}from"./element-plus-0wC3naml.js";import{a as B,b as F}from"./dict-Nvtnb8GD.js";import{_ as A}from"./index-nymJKQXP.js";import{f as G,ak as T,I as z,a as o,aN as t,J as _,O as c,A as J}from"./@vue/runtime-core-C6bnekPw.js";import{y as a,q as v,r as O,n as S}from"./@vue/reactivity-DiY1c2vO.js";const j={class:"edit-popup"},Y=G({__name:"edit",emits:["success","close"],setup(H,{expose:V,emit:b}){const p=b,i=v(),m=v(),d=S("add"),w=J(()=>d.value=="edit"?"编辑字典数据":"新增字典数据"),l=O({id:"",type_value:"",name:"",value:"",sort:0,status:1,remark:"",type_id:0}),x={name:[{required:!0,message:"请输入数据名称",trigger:["blur"]}],value:[{required:!0,message:"请输入数据值",trigger:["blur"]}]},k=async()=>{var s,e;await((s=i.value)==null?void 0:s.validate()),d.value=="edit"?await B(l):await F(l),(e=m.value)==null||e.close(),p("success")},y=()=>{p("close")};return V({open:(s="add")=>{var e;d.value=s,(e=m.value)==null||e.open()},setFormData:s=>{for(const e in l)s[e]!=null&&s[e]!=null&&(l[e]=s[e])}}),(s,e)=>{const n=I,u=D,g=N,f=q,R=U,E=C;return T(),z("div",j,[o(A,{ref_key:"popupRef",ref:m,title:a(w),async:!0,width:"550px",onConfirm:k,onClose:y},{default:t(()=>[o(E,{class:"ls-form",ref_key:"formRef",ref:i,rules:x,model:a(l),"label-width":"84px"},{default:t(()=>[o(u,{label:"字典类型"},{default:t(()=>[o(n,{"model-value":a(l).type_value,placeholder:"请输入字典类型",disabled:""},null,8,["model-value"])]),_:1}),o(u,{label:"数据名称",prop:"name"},{default:t(()=>[o(n,{modelValue:a(l).name,"onUpdate:modelValue":e[0]||(e[0]=r=>a(l).name=r),placeholder:"请输入数据名称",clearable:""},null,8,["modelValue"])]),_:1}),o(u,{label:"数据值",prop:"value"},{default:t(()=>[o(n,{modelValue:a(l).value,"onUpdate:modelValue":e[1]||(e[1]=r=>a(l).value=r),placeholder:"请输入数据值",clearable:""},null,8,["modelValue"])]),_:1}),o(u,{label:"排序",prop:"sort"},{default:t(()=>[_("div",null,[o(g,{modelValue:a(l).sort,"onUpdate:modelValue":e[2]||(e[2]=r=>a(l).sort=r),min:0,max:9999},null,8,["modelValue"]),e[5]||(e[5]=_("div",{class:"form-tips"},"数值越大越排前",-1))])]),_:1}),o(u,{label:"状态",required:"",prop:"status"},{default:t(()=>[o(R,{modelValue:a(l).status,"onUpdate:modelValue":e[3]||(e[3]=r=>a(l).status=r)},{default:t(()=>[o(f,{value:1},{default:t(()=>[...e[6]||(e[6]=[c("正常",-1)])]),_:1}),o(f,{value:0},{default:t(()=>[...e[7]||(e[7]=[c("停用",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),o(u,{label:"备注",prop:"remark"},{default:t(()=>[o(n,{modelValue:a(l).remark,"onUpdate:modelValue":e[4]||(e[4]=r=>a(l).remark=r),type:"textarea",autosize:{minRows:4,maxRows:6},clearable:"",maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["title"])])}}});export{Y as _}; +import{D as C,B as D,C as I,h as N,G as U,I as q}from"./element-plus-DFTWCWyi.js";import{a as B,b as F}from"./dict-BKviBR_7.js";import{_ as A}from"./index-BwF7vczx.js";import{f as G,ak as T,I as z,a as o,aN as t,J as _,O as c,A as J}from"./@vue/runtime-core-C6bnekPw.js";import{y as a,q as v,r as O,n as S}from"./@vue/reactivity-DiY1c2vO.js";const j={class:"edit-popup"},Y=G({__name:"edit",emits:["success","close"],setup(H,{expose:V,emit:b}){const p=b,i=v(),m=v(),d=S("add"),w=J(()=>d.value=="edit"?"编辑字典数据":"新增字典数据"),l=O({id:"",type_value:"",name:"",value:"",sort:0,status:1,remark:"",type_id:0}),x={name:[{required:!0,message:"请输入数据名称",trigger:["blur"]}],value:[{required:!0,message:"请输入数据值",trigger:["blur"]}]},k=async()=>{var s,e;await((s=i.value)==null?void 0:s.validate()),d.value=="edit"?await B(l):await F(l),(e=m.value)==null||e.close(),p("success")},y=()=>{p("close")};return V({open:(s="add")=>{var e;d.value=s,(e=m.value)==null||e.open()},setFormData:s=>{for(const e in l)s[e]!=null&&s[e]!=null&&(l[e]=s[e])}}),(s,e)=>{const n=I,u=D,g=N,f=q,R=U,E=C;return T(),z("div",j,[o(A,{ref_key:"popupRef",ref:m,title:a(w),async:!0,width:"550px",onConfirm:k,onClose:y},{default:t(()=>[o(E,{class:"ls-form",ref_key:"formRef",ref:i,rules:x,model:a(l),"label-width":"84px"},{default:t(()=>[o(u,{label:"字典类型"},{default:t(()=>[o(n,{"model-value":a(l).type_value,placeholder:"请输入字典类型",disabled:""},null,8,["model-value"])]),_:1}),o(u,{label:"数据名称",prop:"name"},{default:t(()=>[o(n,{modelValue:a(l).name,"onUpdate:modelValue":e[0]||(e[0]=r=>a(l).name=r),placeholder:"请输入数据名称",clearable:""},null,8,["modelValue"])]),_:1}),o(u,{label:"数据值",prop:"value"},{default:t(()=>[o(n,{modelValue:a(l).value,"onUpdate:modelValue":e[1]||(e[1]=r=>a(l).value=r),placeholder:"请输入数据值",clearable:""},null,8,["modelValue"])]),_:1}),o(u,{label:"排序",prop:"sort"},{default:t(()=>[_("div",null,[o(g,{modelValue:a(l).sort,"onUpdate:modelValue":e[2]||(e[2]=r=>a(l).sort=r),min:0,max:9999},null,8,["modelValue"]),e[5]||(e[5]=_("div",{class:"form-tips"},"数值越大越排前",-1))])]),_:1}),o(u,{label:"状态",required:"",prop:"status"},{default:t(()=>[o(R,{modelValue:a(l).status,"onUpdate:modelValue":e[3]||(e[3]=r=>a(l).status=r)},{default:t(()=>[o(f,{value:1},{default:t(()=>[...e[6]||(e[6]=[c("正常",-1)])]),_:1}),o(f,{value:0},{default:t(()=>[...e[7]||(e[7]=[c("停用",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),o(u,{label:"备注",prop:"remark"},{default:t(()=>[o(n,{modelValue:a(l).remark,"onUpdate:modelValue":e[4]||(e[4]=r=>a(l).remark=r),type:"textarea",autosize:{minRows:4,maxRows:6},clearable:"",maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["title"])])}}});export{Y as _}; diff --git a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-BsajSW9y.js b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-W1DUlHN3.js similarity index 97% rename from server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-BsajSW9y.js rename to server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-W1DUlHN3.js index 2c168687..f20eeb66 100644 --- a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-BsajSW9y.js +++ b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-W1DUlHN3.js @@ -1 +1 @@ -import{D as F,B as G,C as A,G as O,I as S,h as T,g as z}from"./element-plus-0wC3naml.js";import{f as H,h as J,i as j}from"./wx_oa-CMZpCm8a.js";import{_ as K}from"./index-nymJKQXP.js";import{f as L,ak as p,I as M,a as o,aN as a,J as n,G as c,H as v,O as i,A as P}from"./@vue/runtime-core-C6bnekPw.js";import{y as l,q as x,r as Q,n as W}from"./@vue/reactivity-DiY1c2vO.js";const X={class:"edit-popup"},Y={class:"flex-1"},Z={class:"flex-1"},$={class:"flex-1"},h={class:"flex-1"},ee={class:"flex-1"},te={class:"flex-1"},le={class:"flex-1"},ue=L({__name:"edit",emits:["success","close"],setup(oe,{expose:b,emit:k}){const V=k,g=x(),f=x(),_=W("add"),R=P(()=>_.value=="edit"?"编辑":"新增"),t=Q({id:"",name:"",reply_type:0,content_type:1,keyword:"",content:"",matching_type:1,status:1,sort:0,reply_num:1}),E={name:[{required:!0,message:"请输入规则名称",trigger:["blur"]}],keyword:[{required:!0,message:"请输入关键词",trigger:["blur"]}],matching_type:[{required:!0,message:"请选择匹配方式",trigger:["blur"]}],content_type:[{required:!0,message:"请选择回复类型",trigger:["blur"]}],content:[{required:!0,message:"请输入回复内容",trigger:["blur"]}]},U=async()=>{var r,e;await((r=g.value)==null?void 0:r.validate()),_.value=="edit"?await H(t):await J(t),(e=f.value)==null||e.close(),V("success")},q=(r="add",e=0)=>{var u;_.value=r,t.reply_type=e,(u=f.value)==null||u.open()},w=r=>{for(const e in t)r[e]!=null&&r[e]!=null&&(t[e]=r[e])},C=async r=>{const e=await j({id:r.id});w(e)},N=()=>{V("close")};return b({open:q,setFormData:w,getDetail:C}),(r,e)=>{const u=A,d=G,m=S,y=O,B=T,D=z,I=F;return p(),M("div",X,[o(K,{ref_key:"popupRef",ref:f,title:l(R),async:!0,width:"500px",onConfirm:U,onClose:N},{default:a(()=>[o(I,{ref_key:"formRef",ref:g,model:l(t),"label-width":"84px",rules:E,class:"pr-10"},{default:a(()=>[o(d,{label:"规则名称",prop:"name"},{default:a(()=>[n("div",Y,[o(u,{modelValue:l(t).name,"onUpdate:modelValue":e[0]||(e[0]=s=>l(t).name=s),placeholder:"请输入规则名称"},null,8,["modelValue"]),e[8]||(e[8]=n("div",{class:"form-tips"},"方便通过名称管理关注回复内容",-1))])]),_:1}),l(t).reply_type==2?(p(),c(d,{key:0,label:"关键词",prop:"keyword"},{default:a(()=>[n("div",Z,[o(u,{modelValue:l(t).keyword,"onUpdate:modelValue":e[1]||(e[1]=s=>l(t).keyword=s),placeholder:"请输入关键词"},null,8,["modelValue"]),e[9]||(e[9]=n("div",{class:"form-tips"},"方便通过名称管理关注回复内容",-1))])]),_:1})):v("",!0),l(t).reply_type==2?(p(),c(d,{key:1,label:"匹配方式",prop:"matching_type"},{default:a(()=>[n("div",$,[o(y,{modelValue:l(t).matching_type,"onUpdate:modelValue":e[2]||(e[2]=s=>l(t).matching_type=s)},{default:a(()=>[o(m,{value:1},{default:a(()=>[...e[10]||(e[10]=[i("全匹配",-1)])]),_:1}),o(m,{value:2},{default:a(()=>[...e[11]||(e[11]=[i("模糊匹配",-1)])]),_:1})]),_:1},8,["modelValue"]),e[12]||(e[12]=n("div",{class:"form-tips"},"模糊匹配时,关键词部分匹配用户输入的内容即可",-1))])]),_:1})):v("",!0),o(d,{label:"回复类型",prop:"content_type",min:0},{default:a(()=>[n("div",h,[o(y,{modelValue:l(t).content_type,"onUpdate:modelValue":e[3]||(e[3]=s=>l(t).content_type=s)},{default:a(()=>[o(m,{value:1},{default:a(()=>[...e[13]||(e[13]=[i("文本",-1)])]),_:1})]),_:1},8,["modelValue"]),e[14]||(e[14]=n("div",{class:"form-tips"},"暂时只支持文本类型",-1))])]),_:1}),o(d,{label:"回复内容",prop:"content"},{default:a(()=>[n("div",ee,[o(u,{modelValue:l(t).content,"onUpdate:modelValue":e[4]||(e[4]=s=>l(t).content=s),autosize:{minRows:4,maxRows:4},type:"textarea",maxlength:"200","show-word-limit":"",placeholder:"请输入回复内容"},null,8,["modelValue"])])]),_:1}),o(d,{label:"排序"},{default:a(()=>[n("div",te,[o(B,{modelValue:l(t).sort,"onUpdate:modelValue":e[5]||(e[5]=s=>l(t).sort=s),min:0,max:9999},null,8,["modelValue"])])]),_:1}),l(t).reply_type==2?(p(),c(d,{key:2,label:"回复数量",prop:"reply_num",required:""},{default:a(()=>[n("div",le,[o(y,{modelValue:l(t).reply_num,"onUpdate:modelValue":e[6]||(e[6]=s=>l(t).reply_num=s)},{default:a(()=>[o(m,{value:1},{default:a(()=>[...e[15]||(e[15]=[i("回复匹配首词条",-1)])]),_:1})]),_:1},8,["modelValue"]),e[16]||(e[16]=n("div",{class:"form-tips"}," 设置关键词匹配多条时回复的数量,暂时支持回复一条内容 ",-1))])]),_:1})):v("",!0),o(d,{label:"启用状态"},{default:a(()=>[o(D,{modelValue:l(t).status,"onUpdate:modelValue":e[7]||(e[7]=s=>l(t).status=s),"active-value":1,"inactive-value":0},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["title"])])}}});export{ue as _}; +import{D as F,B as G,C as A,G as O,I as S,h as T,g as z}from"./element-plus-DFTWCWyi.js";import{f as H,h as J,i as j}from"./wx_oa-sVQft6O9.js";import{_ as K}from"./index-BwF7vczx.js";import{f as L,ak as p,I as M,a as o,aN as a,J as n,G as c,H as v,O as i,A as P}from"./@vue/runtime-core-C6bnekPw.js";import{y as l,q as x,r as Q,n as W}from"./@vue/reactivity-DiY1c2vO.js";const X={class:"edit-popup"},Y={class:"flex-1"},Z={class:"flex-1"},$={class:"flex-1"},h={class:"flex-1"},ee={class:"flex-1"},te={class:"flex-1"},le={class:"flex-1"},ue=L({__name:"edit",emits:["success","close"],setup(oe,{expose:b,emit:k}){const V=k,g=x(),f=x(),_=W("add"),R=P(()=>_.value=="edit"?"编辑":"新增"),t=Q({id:"",name:"",reply_type:0,content_type:1,keyword:"",content:"",matching_type:1,status:1,sort:0,reply_num:1}),E={name:[{required:!0,message:"请输入规则名称",trigger:["blur"]}],keyword:[{required:!0,message:"请输入关键词",trigger:["blur"]}],matching_type:[{required:!0,message:"请选择匹配方式",trigger:["blur"]}],content_type:[{required:!0,message:"请选择回复类型",trigger:["blur"]}],content:[{required:!0,message:"请输入回复内容",trigger:["blur"]}]},U=async()=>{var r,e;await((r=g.value)==null?void 0:r.validate()),_.value=="edit"?await H(t):await J(t),(e=f.value)==null||e.close(),V("success")},q=(r="add",e=0)=>{var u;_.value=r,t.reply_type=e,(u=f.value)==null||u.open()},w=r=>{for(const e in t)r[e]!=null&&r[e]!=null&&(t[e]=r[e])},C=async r=>{const e=await j({id:r.id});w(e)},N=()=>{V("close")};return b({open:q,setFormData:w,getDetail:C}),(r,e)=>{const u=A,d=G,m=S,y=O,B=T,D=z,I=F;return p(),M("div",X,[o(K,{ref_key:"popupRef",ref:f,title:l(R),async:!0,width:"500px",onConfirm:U,onClose:N},{default:a(()=>[o(I,{ref_key:"formRef",ref:g,model:l(t),"label-width":"84px",rules:E,class:"pr-10"},{default:a(()=>[o(d,{label:"规则名称",prop:"name"},{default:a(()=>[n("div",Y,[o(u,{modelValue:l(t).name,"onUpdate:modelValue":e[0]||(e[0]=s=>l(t).name=s),placeholder:"请输入规则名称"},null,8,["modelValue"]),e[8]||(e[8]=n("div",{class:"form-tips"},"方便通过名称管理关注回复内容",-1))])]),_:1}),l(t).reply_type==2?(p(),c(d,{key:0,label:"关键词",prop:"keyword"},{default:a(()=>[n("div",Z,[o(u,{modelValue:l(t).keyword,"onUpdate:modelValue":e[1]||(e[1]=s=>l(t).keyword=s),placeholder:"请输入关键词"},null,8,["modelValue"]),e[9]||(e[9]=n("div",{class:"form-tips"},"方便通过名称管理关注回复内容",-1))])]),_:1})):v("",!0),l(t).reply_type==2?(p(),c(d,{key:1,label:"匹配方式",prop:"matching_type"},{default:a(()=>[n("div",$,[o(y,{modelValue:l(t).matching_type,"onUpdate:modelValue":e[2]||(e[2]=s=>l(t).matching_type=s)},{default:a(()=>[o(m,{value:1},{default:a(()=>[...e[10]||(e[10]=[i("全匹配",-1)])]),_:1}),o(m,{value:2},{default:a(()=>[...e[11]||(e[11]=[i("模糊匹配",-1)])]),_:1})]),_:1},8,["modelValue"]),e[12]||(e[12]=n("div",{class:"form-tips"},"模糊匹配时,关键词部分匹配用户输入的内容即可",-1))])]),_:1})):v("",!0),o(d,{label:"回复类型",prop:"content_type",min:0},{default:a(()=>[n("div",h,[o(y,{modelValue:l(t).content_type,"onUpdate:modelValue":e[3]||(e[3]=s=>l(t).content_type=s)},{default:a(()=>[o(m,{value:1},{default:a(()=>[...e[13]||(e[13]=[i("文本",-1)])]),_:1})]),_:1},8,["modelValue"]),e[14]||(e[14]=n("div",{class:"form-tips"},"暂时只支持文本类型",-1))])]),_:1}),o(d,{label:"回复内容",prop:"content"},{default:a(()=>[n("div",ee,[o(u,{modelValue:l(t).content,"onUpdate:modelValue":e[4]||(e[4]=s=>l(t).content=s),autosize:{minRows:4,maxRows:4},type:"textarea",maxlength:"200","show-word-limit":"",placeholder:"请输入回复内容"},null,8,["modelValue"])])]),_:1}),o(d,{label:"排序"},{default:a(()=>[n("div",te,[o(B,{modelValue:l(t).sort,"onUpdate:modelValue":e[5]||(e[5]=s=>l(t).sort=s),min:0,max:9999},null,8,["modelValue"])])]),_:1}),l(t).reply_type==2?(p(),c(d,{key:2,label:"回复数量",prop:"reply_num",required:""},{default:a(()=>[n("div",le,[o(y,{modelValue:l(t).reply_num,"onUpdate:modelValue":e[6]||(e[6]=s=>l(t).reply_num=s)},{default:a(()=>[o(m,{value:1},{default:a(()=>[...e[15]||(e[15]=[i("回复匹配首词条",-1)])]),_:1})]),_:1},8,["modelValue"]),e[16]||(e[16]=n("div",{class:"form-tips"}," 设置关键词匹配多条时回复的数量,暂时支持回复一条内容 ",-1))])]),_:1})):v("",!0),o(d,{label:"启用状态"},{default:a(()=>[o(D,{modelValue:l(t).status,"onUpdate:modelValue":e[7]||(e[7]=s=>l(t).status=s),"active-value":1,"inactive-value":0},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["title"])])}}});export{ue as _}; diff --git a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_name_articleColumnEdit_lang-CzxfOEt7.js b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_name_articleColumnEdit_lang-DPHyz3nQ.js similarity index 90% rename from server/public/admin/assets/edit.vue_vue_type_script_setup_true_name_articleColumnEdit_lang-CzxfOEt7.js rename to server/public/admin/assets/edit.vue_vue_type_script_setup_true_name_articleColumnEdit_lang-DPHyz3nQ.js index 54d5475f..e0b1e27f 100644 --- a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_name_articleColumnEdit_lang-CzxfOEt7.js +++ b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_name_articleColumnEdit_lang-DPHyz3nQ.js @@ -1 +1 @@ -import{D,B,C as I,h as N,g as F}from"./element-plus-0wC3naml.js";import{d as U,e as q,f as A}from"./article-DJnP6RZd.js";import{_ as S}from"./index-nymJKQXP.js";import{f,ak as J,I as T,a,aN as n,J as c,A as j}from"./@vue/runtime-core-C6bnekPw.js";import{y as l,q as _,r as z,n as G}from"./@vue/reactivity-DiY1c2vO.js";const H={class:"edit-popup"},K=f({name:"articleColumnEdit"}),X=f({...K,emits:["success","close"],setup(L,{expose:v,emit:w}){const u=w,d=_(),r=_(),i=G("add"),V=j(()=>i.value=="edit"?"编辑栏目":"新增栏目"),o=z({id:"",name:"",sort:0,is_show:1}),C={name:[{required:!0,message:"请输入栏目名称",trigger:["blur"]}]},b=async()=>{var t,e;await((t=d.value)==null?void 0:t.validate()),i.value=="edit"?await U(o):await q(o),(e=r.value)==null||e.close(),u("success")},h=(t="add")=>{var e;i.value=t,(e=r.value)==null||e.open()},p=t=>{for(const e in o)t[e]!=null&&t[e]!=null&&(o[e]=t[e])},E=async t=>{const e=await A({id:t.id});p(e)},x=()=>{u("close")};return v({open:h,setFormData:p,getDetail:E}),(t,e)=>{const y=I,m=B,g=N,k=F,R=D;return J(),T("div",H,[a(S,{ref_key:"popupRef",ref:r,title:l(V),async:!0,width:"550px",onConfirm:b,onClose:x},{default:n(()=>[a(R,{ref_key:"formRef",ref:d,model:l(o),"label-width":"84px",rules:C},{default:n(()=>[a(m,{label:"栏目名称",prop:"name"},{default:n(()=>[a(y,{modelValue:l(o).name,"onUpdate:modelValue":e[0]||(e[0]=s=>l(o).name=s),placeholder:"请输入栏目名称",clearable:""},null,8,["modelValue"])]),_:1}),a(m,{label:"排序",prop:"sort"},{default:n(()=>[c("div",null,[a(g,{modelValue:l(o).sort,"onUpdate:modelValue":e[1]||(e[1]=s=>l(o).sort=s),min:0,max:9999},null,8,["modelValue"]),e[3]||(e[3]=c("div",{class:"form-tips"},"默认为0, 数值越大越排前",-1))])]),_:1}),a(m,{label:"状态",prop:"is_show"},{default:n(()=>[a(k,{modelValue:l(o).is_show,"onUpdate:modelValue":e[2]||(e[2]=s=>l(o).is_show=s),"active-value":1,"inactive-value":0},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["title"])])}}});export{X as _}; +import{D,B,C as I,h as N,g as F}from"./element-plus-DFTWCWyi.js";import{d as U,e as q,f as A}from"./article-BnVIxFkr.js";import{_ as S}from"./index-BwF7vczx.js";import{f,ak as J,I as T,a,aN as n,J as c,A as j}from"./@vue/runtime-core-C6bnekPw.js";import{y as l,q as _,r as z,n as G}from"./@vue/reactivity-DiY1c2vO.js";const H={class:"edit-popup"},K=f({name:"articleColumnEdit"}),X=f({...K,emits:["success","close"],setup(L,{expose:v,emit:w}){const u=w,d=_(),r=_(),i=G("add"),V=j(()=>i.value=="edit"?"编辑栏目":"新增栏目"),o=z({id:"",name:"",sort:0,is_show:1}),C={name:[{required:!0,message:"请输入栏目名称",trigger:["blur"]}]},b=async()=>{var t,e;await((t=d.value)==null?void 0:t.validate()),i.value=="edit"?await U(o):await q(o),(e=r.value)==null||e.close(),u("success")},h=(t="add")=>{var e;i.value=t,(e=r.value)==null||e.open()},p=t=>{for(const e in o)t[e]!=null&&t[e]!=null&&(o[e]=t[e])},E=async t=>{const e=await A({id:t.id});p(e)},x=()=>{u("close")};return v({open:h,setFormData:p,getDetail:E}),(t,e)=>{const y=I,m=B,g=N,k=F,R=D;return J(),T("div",H,[a(S,{ref_key:"popupRef",ref:r,title:l(V),async:!0,width:"550px",onConfirm:b,onClose:x},{default:n(()=>[a(R,{ref_key:"formRef",ref:d,model:l(o),"label-width":"84px",rules:C},{default:n(()=>[a(m,{label:"栏目名称",prop:"name"},{default:n(()=>[a(y,{modelValue:l(o).name,"onUpdate:modelValue":e[0]||(e[0]=s=>l(o).name=s),placeholder:"请输入栏目名称",clearable:""},null,8,["modelValue"])]),_:1}),a(m,{label:"排序",prop:"sort"},{default:n(()=>[c("div",null,[a(g,{modelValue:l(o).sort,"onUpdate:modelValue":e[1]||(e[1]=s=>l(o).sort=s),min:0,max:9999},null,8,["modelValue"]),e[3]||(e[3]=c("div",{class:"form-tips"},"默认为0, 数值越大越排前",-1))])]),_:1}),a(m,{label:"状态",prop:"is_show"},{default:n(()=>[a(k,{modelValue:l(o).is_show,"onUpdate:modelValue":e[2]||(e[2]=s=>l(o).is_show=s),"active-value":1,"inactive-value":0},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["title"])])}}});export{X as _}; diff --git a/server/public/admin/assets/element-plus-0wC3naml.js b/server/public/admin/assets/element-plus-DFTWCWyi.js similarity index 99% rename from server/public/admin/assets/element-plus-0wC3naml.js rename to server/public/admin/assets/element-plus-DFTWCWyi.js index 0d4761d5..55557418 100644 --- a/server/public/admin/assets/element-plus-0wC3naml.js +++ b/server/public/admin/assets/element-plus-DFTWCWyi.js @@ -9,4 +9,4 @@ import{q as ht,T as bn,s as Ke,v as Bi,l as Li,w as Ot,o as Kd,a as Ai,r as vl,c m 0 ${C?"":"-"}${w} a ${w} ${w} 0 1 1 0 ${C?"-":""}${w*2} a ${w} ${w} 0 1 1 0 ${C?"":"-"}${w*2} - `}),c=y(()=>2*Math.PI*i.value),u=y(()=>n.type==="dashboard"?.75:1),f=y(()=>`${-1*c.value*(1-u.value)/2}px`),p=y(()=>({strokeDasharray:`${c.value*u.value}px, ${c.value}px`,strokeDashoffset:f.value})),h=y(()=>({strokeDasharray:`${c.value*u.value*(n.percentage/100)}px, ${c.value}px`,strokeDashoffset:f.value,transition:"stroke-dasharray 0.6s ease 0s, stroke 0.6s ease, opacity ease 0.6s"})),m=y(()=>{let w;return n.color?w=S(n.percentage):w=t[n.status]||t.default,w}),d=y(()=>n.status==="warning"?ws:n.type==="line"?n.status==="success"?ks:Cl:n.status==="success"?Na:Fn),v=y(()=>n.type==="line"?12+n.strokeWidth*.4:n.width*.111111+2),g=y(()=>n.format(n.percentage));function b(w){const C=100/w.length;return w.map((N,T)=>He(N)?{color:N,percentage:(T+1)*C}:N).sort((N,T)=>N.percentage-T.percentage)}const S=w=>{var C;const{color:k}=n;if(Qe(k))return k(w);if(He(k))return k;{const N=b(k);for(const T of N)if(T.percentage>w)return T.color;return(C=N[N.length-1])==null?void 0:C.color}};return(w,C)=>(E(),L("div",{class:$([o(l).b(),o(l).m(e.type),o(l).is(e.status),{[o(l).m("without-text")]:!e.showText,[o(l).m("text-inside")]:e.textInside}]),role:"progressbar","aria-valuenow":e.percentage,"aria-valuemin":"0","aria-valuemax":"100"},[e.type==="line"?(E(),L("div",{key:0,class:$(o(l).b("bar"))},[H("div",{class:$(o(l).be("bar","outer")),style:Fe({height:`${e.strokeWidth}px`})},[H("div",{class:$([o(l).be("bar","inner"),{[o(l).bem("bar","inner","indeterminate")]:e.indeterminate},{[o(l).bem("bar","inner","striped")]:e.striped},{[o(l).bem("bar","inner","striped-flow")]:e.stripedFlow}]),style:Fe(a.value)},[(e.showText||w.$slots.default)&&e.textInside?(E(),L("div",{key:0,class:$(o(l).be("bar","innerText"))},[X(w.$slots,"default",{percentage:e.percentage},()=>[H("span",null,he(g.value),1)])],2)):G("v-if",!0)],6)],6)],2)):(E(),L("div",{key:1,class:$(o(l).b("circle")),style:Fe({height:`${e.width}px`,width:`${e.width}px`})},[(E(),L("svg",gw,[H("path",{class:$(o(l).be("circle","track")),d:r.value,stroke:`var(${o(l).cssVarName("fill-color-light")}, #e5e9f2)`,"stroke-linecap":e.strokeLinecap,"stroke-width":s.value,fill:"none",style:Fe(p.value)},null,14,bw),H("path",{class:$(o(l).be("circle","path")),d:r.value,stroke:m.value,fill:"none",opacity:e.percentage?1:0,"stroke-linecap":e.strokeLinecap,"stroke-width":s.value,style:Fe(h.value)},null,14,yw)]))],6)),(e.showText||w.$slots.default)&&!e.textInside?(E(),L("div",{key:2,class:$(o(l).e("text")),style:Fe({fontSize:`${v.value}px`})},[X(w.$slots,"default",{percentage:e.percentage},()=>[e.status?(E(),Z(o(we),{key:1},{default:j(()=>[(E(),Z(_e(d.value)))]),_:1})):(E(),L("span",Cw,he(g.value),1))])],6)):G("v-if",!0)],10,hw))}});const kw=Ge(ww),Sw=["start","center","end","space-around","space-between","space-evenly"],Ew=["top","middle","bottom"],$w=me({tag:{type:String,default:"div"},gutter:{type:Number,default:0},justify:{type:String,values:Sw,default:"start"},align:{type:String,values:Ew}});var Nw=ie({name:"ElRow",__name:"row",props:$w,setup(e){const t=e,n=ce("row"),l=y(()=>t.gutter);et(vc,{gutter:l});const a=y(()=>{const i={};return t.gutter&&(i.marginRight=i.marginLeft=`-${t.gutter/2}px`),i}),s=y(()=>[n.b(),n.is(`justify-${t.justify}`,t.justify!=="start"),n.is(`align-${t.align}`,!!t.align)]);return(i,r)=>(E(),Z(_e(e.tag),{class:$(s.value),style:Fe(a.value)},{default:j(()=>[X(i.$slots,"default")]),_:3},8,["class","style"]))}});const l$=Ge(Nw),Tw="horizontal",Pw=({atEndEdge:e,atStartEdge:t,layout:n},l)=>{let a,s=0;const i=c=>c<0&&t.value||c>0&&e.value;return{hasReachedEdge:i,onWheel:c=>{vv(a);let{deltaX:u,deltaY:f}=c;c.shiftKey&&f!==0&&(u=f,f=0);const p=n.value===Tw?u:f;i(p)||(s+=p,!Rs()&&p!==0&&c.preventDefault(),a=Is(()=>{l(s),s=0}))}}},Iw=me({animated:Boolean,count:{type:Number,default:1},rows:{type:Number,default:3},loading:{type:Boolean,default:!0},throttle:{type:q([Number,Object])}}),xw=me({variant:{type:String,values:["circle","rect","h1","h3","text","caption","p","image","button"],default:"text"}});var mo=ie({name:"ElSkeletonItem",__name:"skeleton-item",props:xw,setup(e){const t=ce("skeleton");return(n,l)=>(E(),L("div",{class:$([o(t).e("item"),o(t).e(e.variant)])},[e.variant==="image"?(E(),Z(o(df),{key:0})):G("v-if",!0)],2))}});const Ow=(e,t=0)=>{if(t===0)return e;const n=gt(t)&&!!t.initVal,l=I(n);let a=null;const s=r=>{if(it(r)){l.value=e.value;return}a&&clearTimeout(a),a=setTimeout(()=>{l.value=e.value},r)},i=r=>{r==="leading"?Ae(t)?s(t):s(t.leading):gt(t)?s(t.trailing):l.value=!1};return Ze(()=>i("leading")),le(()=>e.value,r=>{i(r?"leading":"trailing")}),l};var Rw=ie({name:"ElSkeleton",__name:"skeleton",props:Iw,setup(e,{expose:t}){const n=e,l=ce("skeleton"),a=Ow(Nt(n,"loading"),n.throttle);return t({uiLoading:a}),(s,i)=>o(a)?(E(),L("div",ct({key:0,class:[o(l).b(),o(l).is("animated",e.animated)]},s.$attrs),[(E(!0),L(Re,null,rt(e.count,r=>(E(),L(Re,{key:r},[o(a)?X(s.$slots,"template",{key:r},()=>[U(mo,{class:$(o(l).is("first")),variant:"p"},null,8,["class"]),(E(!0),L(Re,null,rt(e.rows,c=>(E(),Z(mo,{key:c,class:$([o(l).e("paragraph"),o(l).is("last",c===e.rows&&e.rows>1)]),variant:"p"},null,8,["class"]))),128))]):G("v-if",!0)],64))),128))],16)):X(s.$slots,"default",va(ct({key:1},s.$attrs)))}});const a$=Ge(Rw,{SkeletonItem:mo});At(mo);const Mw=me({space:{type:[Number,String],default:""},active:{type:Number,default:0},direction:{type:String,default:"horizontal",values:["horizontal","vertical"]},alignCenter:{type:Boolean},simple:{type:Boolean},finishStatus:{type:String,values:["wait","process","finish","error","success"],default:"finish"},processStatus:{type:String,values:["wait","process","finish","error","success"],default:"process"}}),Dw={[dt]:(e,t)=>[e,t].every(Ae)},td="ElSteps";var Bw=ie({name:"ElSteps",__name:"steps",props:Mw,emits:Dw,setup(e,{emit:t}){const n=e,l=t,a=ce("steps"),{children:s,addChild:i,removeChild:r,ChildrenSorter:c}=Zu(qe(),"ElStep");return le(s,()=>{s.value.forEach((u,f)=>{u.setIndex(f)})}),et(td,{props:n,steps:s,addStep:i,removeStep:r}),le(()=>n.active,(u,f)=>{l(dt,u,f)}),(u,f)=>(E(),L("div",{class:$([o(a).b(),o(a).m(e.simple?"simple":e.direction)])},[X(u.$slots,"default"),U(o(c))],2))}});const Lw=me({title:{type:String,default:""},icon:{type:Ct},description:{type:String,default:""},status:{type:String,values:["","wait","process","finish","error","success"],default:""}});var nd=ie({name:"ElStep",__name:"item",props:Lw,setup(e){const t=e,n=ce("step"),l=I(-1),a=I({}),s=I(""),i=be(td),r=qe();let c=0,u=0;Ze(()=>{le([()=>i.props.active,()=>i.props.processStatus,()=>i.props.finishStatus],([P],[x])=>{u=x||0,c=P-u,N(P)},{immediate:!0})});const f=y(()=>t.status||s.value),p=y(()=>{const P=i.steps.value[l.value-1];return P?P.internalStatus.value:"wait"}),h=y(()=>i.props.alignCenter),m=y(()=>i.props.direction==="vertical"),d=y(()=>i.props.simple),v=y(()=>i.steps.value.length),g=y(()=>{var P;return((P=i.steps.value[v.value-1])==null?void 0:P.uid)===r.uid}),b=y(()=>d.value?"":i.props.space),S=y(()=>[n.b(),n.is(d.value?"simple":i.props.direction),n.is("flex",g.value&&!b.value&&!h.value),n.is("center",h.value&&!m.value&&!d.value)]),w=y(()=>{const P={flexBasis:Ae(b.value)?`${b.value}px`:b.value?b.value:`${100/(v.value-(h.value?0:1))}%`};return m.value||g.value&&(P.maxWidth=`${100/v.value}%`),P}),C=P=>{l.value=P},k=P=>{const x=P==="wait",W={transitionDelay:`${Math.abs(c)===1?0:c>0?(l.value+1-u)*150:-(l.value+1-i.props.active)*150}ms`},A=P===i.props.processStatus||x?0:100;W.borderWidth=A&&!d.value?"1px":0,W[i.props.direction==="vertical"?"height":"width"]=`${A}%`,a.value=W},N=P=>{P>l.value?s.value=i.props.finishStatus:P===l.value&&p.value!=="error"?s.value=i.props.processStatus:s.value="wait";const x=i.steps.value[l.value-1];x&&x.calcProgress(s.value)},T={uid:r.uid,getVnode:()=>r.vnode,currentStatus:f,internalStatus:s,setIndex:C,calcProgress:k};return i.addStep(T),Et(()=>{i.removeStep(T)}),(P,x)=>(E(),L("div",{style:Fe(w.value),class:$(S.value)},[G(" icon & line "),H("div",{class:$([o(n).e("head"),o(n).is(f.value)])},[d.value?G("v-if",!0):(E(),L("div",{key:0,class:$(o(n).e("line"))},[H("i",{class:$(o(n).e("line-inner")),style:Fe(a.value)},null,6)],2)),H("div",{class:$([o(n).e("icon"),o(n).is(e.icon||P.$slots.icon?"icon":"text")])},[X(P.$slots,"icon",{},()=>[e.icon?(E(),Z(o(we),{key:0,class:$(o(n).e("icon-inner"))},{default:j(()=>[(E(),Z(_e(e.icon)))]),_:1},8,["class"])):f.value==="success"?(E(),Z(o(we),{key:1,class:$([o(n).e("icon-inner"),o(n).is("status")])},{default:j(()=>[U(o(Na))]),_:1},8,["class"])):f.value==="error"?(E(),Z(o(we),{key:2,class:$([o(n).e("icon-inner"),o(n).is("status")])},{default:j(()=>[U(o(Fn))]),_:1},8,["class"])):d.value?G("v-if",!0):(E(),L("div",{key:3,class:$(o(n).e("icon-inner"))},he(l.value+1),3))])],2)],2),G(" title & description "),H("div",{class:$(o(n).e("main"))},[H("div",{class:$([o(n).e("title"),o(n).is(f.value)])},[X(P.$slots,"title",{},()=>[ut(he(e.title),1)])],2),d.value?(E(),L("div",{key:0,class:$(o(n).e("arrow"))},null,2)):(E(),L("div",{key:1,class:$([o(n).e("description"),o(n).is(f.value)])},[X(P.$slots,"description",{},()=>[ut(he(e.description),1)])],2))],2)],6))}});const o$=Ge(Bw,{Step:nd}),s$=At(nd),ld=e=>["",...Gn].includes(e),Aw=me({modelValue:{type:[Boolean,String,Number],default:!1},disabled:{type:Boolean,default:void 0},loading:Boolean,size:{type:String,validator:ld},width:{type:[String,Number],default:""},inlinePrompt:Boolean,inactiveActionIcon:{type:Ct},activeActionIcon:{type:Ct},activeIcon:{type:Ct},inactiveIcon:{type:Ct},activeText:{type:String,default:""},inactiveText:{type:String,default:""},activeValue:{type:[Boolean,String,Number],default:!0},inactiveValue:{type:[Boolean,String,Number],default:!1},name:{type:String,default:""},validateEvent:{type:Boolean,default:!0},beforeChange:{type:q(Function)},id:String,tabindex:{type:[String,Number]},...Dn(["ariaLabel"])}),Fw={[Ye]:e=>yt(e)||He(e)||Ae(e),[dt]:e=>yt(e)||He(e)||Ae(e),[On]:e=>yt(e)||He(e)||Ae(e)},Vw=["id","aria-checked","aria-disabled","aria-label","name","true-value","false-value","disabled","tabindex"],zw=["aria-hidden"],Kw={key:1},Hw={key:1},Ww=["aria-hidden"],pi="ElSwitch";var jw=ie({name:pi,__name:"switch",props:Aw,emits:Fw,setup(e,{expose:t,emit:n}){const l=e,a=n,{formItem:s}=yn(),i=Gt(),r=ce("switch"),{inputId:c}=ll(l,{formItemContext:s}),u=Dt(y(()=>{if(l.loading)return!0})),f=I(l.modelValue!==!1),p=ln(),h=y(()=>[r.b(),r.m(i.value),r.is("disabled",u.value),r.is("checked",b.value)]),m=y(()=>[r.e("label"),r.em("label","left"),r.is("active",!b.value)]),d=y(()=>[r.e("label"),r.em("label","right"),r.is("active",b.value)]),v=y(()=>({width:Bt(l.width)}));le(()=>l.modelValue,()=>{f.value=!0});const g=y(()=>f.value?l.modelValue:!1),b=y(()=>g.value===l.activeValue);[l.activeValue,l.inactiveValue].includes(g.value)||(a(Ye,l.inactiveValue),a(dt,l.inactiveValue),a(On,l.inactiveValue)),le(b,k=>{var N;p.value.checked=k,l.validateEvent&&((N=s==null?void 0:s.validate)==null||N.call(s,"change").catch(T=>void 0))});const S=()=>{const k=b.value?l.inactiveValue:l.activeValue;a(Ye,k),a(dt,k),a(On,k),Ee(()=>{p.value.checked=b.value})},w=()=>{if(u.value)return;const{beforeChange:k}=l;if(!k){S();return}const N=k();[ha(N),yt(N)].includes(!0)||qt(pi,"beforeChange must return type `Promise` or `boolean`"),ha(N)?N.then(P=>{P&&S()}).catch(P=>{}):N&&S()},C=()=>{var k,N;(N=(k=p.value)==null?void 0:k.focus)==null||N.call(k)};return Ze(()=>{p.value.checked=b.value}),t({focus:C,checked:b}),(k,N)=>(E(),L("div",{class:$(h.value),onClick:Ke(w,["prevent"])},[H("input",{id:o(c),ref_key:"input",ref:p,class:$(o(r).e("input")),type:"checkbox",role:"switch","aria-checked":b.value,"aria-disabled":o(u),"aria-label":e.ariaLabel,name:e.name,"true-value":e.activeValue,"false-value":e.inactiveValue,disabled:o(u),tabindex:e.tabindex,onChange:S,onKeydown:Ot(w,["enter"])},null,42,Vw),!e.inlinePrompt&&(e.inactiveIcon||e.inactiveText||k.$slots.inactive)?(E(),L("span",{key:0,class:$(m.value)},[X(k.$slots,"inactive",{},()=>[e.inactiveIcon?(E(),Z(o(we),{key:0},{default:j(()=>[(E(),Z(_e(e.inactiveIcon)))]),_:1})):G("v-if",!0),!e.inactiveIcon&&e.inactiveText?(E(),L("span",{key:1,"aria-hidden":b.value},he(e.inactiveText),9,zw)):G("v-if",!0)])],2)):G("v-if",!0),H("span",{class:$(o(r).e("core")),style:Fe(v.value)},[e.inlinePrompt?(E(),L("div",{key:0,class:$(o(r).e("inner"))},[b.value?(E(),L("div",{key:1,class:$(o(r).e("inner-wrapper"))},[X(k.$slots,"active",{},()=>[e.activeIcon?(E(),Z(o(we),{key:0},{default:j(()=>[(E(),Z(_e(e.activeIcon)))]),_:1})):G("v-if",!0),!e.activeIcon&&e.activeText?(E(),L("span",Hw,he(e.activeText),1)):G("v-if",!0)])],2)):(E(),L("div",{key:0,class:$(o(r).e("inner-wrapper"))},[X(k.$slots,"inactive",{},()=>[e.inactiveIcon?(E(),Z(o(we),{key:0},{default:j(()=>[(E(),Z(_e(e.inactiveIcon)))]),_:1})):G("v-if",!0),!e.inactiveIcon&&e.inactiveText?(E(),L("span",Kw,he(e.inactiveText),1)):G("v-if",!0)])],2))],2)):G("v-if",!0),H("div",{class:$(o(r).e("action"))},[e.loading?(E(),Z(o(we),{key:0,class:$(o(r).is("loading"))},{default:j(()=>[U(o(qn))]),_:1},8,["class"])):b.value?X(k.$slots,"active-action",{key:1},()=>[e.activeActionIcon?(E(),Z(o(we),{key:0},{default:j(()=>[(E(),Z(_e(e.activeActionIcon)))]),_:1})):G("v-if",!0)]):b.value?G("v-if",!0):X(k.$slots,"inactive-action",{key:2},()=>[e.inactiveActionIcon?(E(),Z(o(we),{key:0},{default:j(()=>[(E(),Z(_e(e.inactiveActionIcon)))]),_:1})):G("v-if",!0)])],2)],6),!e.inlinePrompt&&(e.activeIcon||e.activeText||k.$slots.active)?(E(),L("span",{key:1,class:$(d.value)},[X(k.$slots,"active",{},()=>[e.activeIcon?(E(),Z(o(we),{key:0},{default:j(()=>[(E(),Z(_e(e.activeIcon)))]),_:1})):G("v-if",!0),!e.activeIcon&&e.activeText?(E(),L("span",{key:1,"aria-hidden":!b.value},he(e.activeText),9,Ww)):G("v-if",!0)])],2)):G("v-if",!0)],2))}});const r$=Ge(jw),qo=function(e){var t;return(t=e.target)==null?void 0:t.closest("td")},Yw=function(e,t,n,l,a){if(!t&&!l&&(!a||Pe(a)&&!a.length))return e;He(n)?n=n==="descending"?-1:1:n=n&&n<0?-1:1;const s=l?null:function(r,c){return a?Zi(tn(a),u=>He(u)?En(r,u):u(r,c,e)):(t!=="$key"&>(r)&&"$value"in r&&(r=r.$value),[gt(r)?t?En(r,t):null:r])},i=function(r,c){var u,f,p,h,m,d;if(l)return l(r.value,c.value);for(let v=0,g=(f=(u=r.key)==null?void 0:u.length)!=null?f:0;v((d=c.key)==null?void 0:d[v]))return 1}return 0};return e.map((r,c)=>({value:r,index:c,key:s?s(r,c):null})).sort((r,c)=>{let u=i(r,c);return u||(u=r.index-c.index),u*+n}).map(r=>r.value)},ad=function(e,t){let n=null;return e.columns.forEach(l=>{l.id===t&&(n=l)}),n},Uw=function(e,t){let n=null;for(let l=0;l{if(!e)throw new Error("Row is required when get row identity");if(He(t)){if(!t.includes("."))return`${e[t]}`;const n=t.split(".");let l=e;for(const a of n)l=l[a];return`${l}`}else if(Qe(t))return t.call(null,e);return""},Yl=function(e,t,n=!1,l="children"){const a=e||[],s={};return a.forEach((i,r)=>{if(s[nn(i,t)]={row:i,index:r},n){const c=i[l];Pe(c)&&Object.assign(s,Yl(c,t,!0,l))}}),s};function qw(e,t){const n={};let l;for(l in e)n[l]=e[l];for(l in t)if(Ut(t,l)){const a=t[l];it(a)||(n[l]=a)}return n}function cr(e){return e===""||it(e)||(e=Number.parseInt(e,10),Number.isNaN(e)&&(e="")),e}function od(e){return e===""||it(e)||(e=cr(e),Number.isNaN(e)&&(e=80)),e}function Gw(e){return Ae(e)?e:He(e)?/^\d+(?:px)?$/.test(e)?Number.parseInt(e,10):e:null}function _w(...e){return e.length===0?t=>t:e.length===1?e[0]:e.reduce((t,n)=>(...l)=>t(n(...l)))}function ho(e,t,n,l,a,s,i){let r=s??0,c=!1;const f=(()=>{if(!i)return e.indexOf(t);const v=nn(t,i);return e.findIndex(g=>nn(g,i)===v)})(),p=f!==-1,h=a==null?void 0:a.call(null,t,r),m=v=>{v==="add"?e.push(t):e.splice(f,1),c=!0},d=v=>{let g=0;const b=(l==null?void 0:l.children)&&v[l.children];return b&&Pe(b)&&(g+=b.length,b.forEach(S=>{g+=d(S)})),g};return(!a||h)&&(yt(n)?n&&!p?m("add"):!n&&p&&m("remove"):m(p?"remove":"add")),!(l!=null&&l.checkStrictly)&&(l!=null&&l.children)&&Pe(t[l.children])&&t[l.children].forEach(v=>{const g=ho(e,v,n??!p,l,a,r+1,i);r+=d(v)+1,g&&(c=g)}),c}function Xw(e,t,n="children",l="hasChildren",a=!1){const s=r=>!(Pe(r)&&r.length);function i(r,c,u){t(r,c,u),c.forEach(f=>{if(f[l]&&a){t(f,null,u+1);return}const p=f[n];s(p)||i(f,p,u+1)})}e.forEach(r=>{if(r[l]&&a){t(r,null,0);return}const c=r[n];s(c)||i(r,c,0)})}const Jw=(e,t,n,l)=>{const a={strategy:"fixed",...e.popperOptions},s=Qe(l==null?void 0:l.tooltipFormatter)?l.tooltipFormatter({row:n,column:l,cellValue:dl(n,l.property).value}):void 0;return jt(s)?{slotContent:s,content:null,...e,popperOptions:a}:{slotContent:null,content:s??t,...e,popperOptions:a}};let rn=null;function Zw(e,t,n,l,a,s){var i;const r=Jw(e,t,n,l),c={...r,slotContent:void 0};if((rn==null?void 0:rn.trigger)===a){const d=(i=rn.vm)==null?void 0:i.component;Ji(d==null?void 0:d.props,c),d&&r.slotContent&&(d.slots.content=()=>[r.slotContent]);return}rn==null||rn();const u=s==null?void 0:s.refs.tableWrapper,f=u==null?void 0:u.dataset.prefix,p=U(Rn,{virtualTriggering:!0,virtualRef:a,appendTo:u,placement:"top",transition:"none",offset:0,hideAfter:0,...c},r.slotContent?{content:()=>r.slotContent}:void 0);p.appContext={...s.appContext,...s};const h=document.createElement("div");vl(p,h),p.component.exposed.onOpen();const m=u==null?void 0:u.querySelector(`.${f}-scrollbar__wrap`);rn=()=>{var d,v;(v=(d=p.component)==null?void 0:d.exposed)!=null&&v.onClose&&p.component.exposed.onClose(),vl(null,h);const g=rn;m==null||m.removeEventListener("scroll",g),g.trigger=void 0,g.vm=void 0,rn=null},rn.trigger=a??void 0,rn.vm=p,m==null||m.addEventListener("scroll",rn)}function sd(e){return e.children?Zi(e.children,sd):[e]}function hi(e,t){return e+t.colSpan}const rd=(e,t,n,l)=>{let a=0,s=e;const i=n.states.columns.value;if(l){const c=sd(l[e]);a=i.slice(0,i.indexOf(c[0])).reduce(hi,0),s=a+c.reduce(hi,0)-1}else a=e;let r;switch(t){case"left":s=i.length-n.states.rightFixedLeafColumnsLength.value&&(r="right");break;default:s=i.length-n.states.rightFixedLeafColumnsLength.value&&(r="right")}return r?{direction:r,start:a,after:s}:{}},dr=(e,t,n,l,a,s=0)=>{const i=[],{direction:r,start:c,after:u}=rd(t,n,l,a);if(r){const f=r==="left";i.push(`${e}-fixed-column--${r}`),f&&u+s===l.states.fixedLeafColumnsLength.value-1?i.push("is-last-column"):!f&&c-s===l.states.columns.value.length-l.states.rightFixedLeafColumnsLength.value&&i.push("is-first-column")}return i};function gi(e,t){return e+(wo(t.realWidth)||Number.isNaN(t.realWidth)?Number(t.width):t.realWidth)}const fr=(e,t,n,l)=>{const{direction:a,start:s=0,after:i=0}=rd(e,t,n,l);if(!a)return;const r={},c=a==="left",u=n.states.columns.value;return c?r.left=u.slice(0,s).reduce(gi,0):r.right=u.slice(i+1).reverse().reduce(gi,0),r},na=(e,t)=>{e&&(Number.isNaN(e[t])||(e[t]=`${e[t]}px`))};function id(e){return e.some(t=>jt(t)?!(t.type===Il||t.type===Re&&!id(t.children)):!0)?e:null}function Qw(e){const t=qe(),n=I(!1),l=I([]),a=(u,f)=>{var p;const h=t.store.states.rowExpandable.value;return(p=h==null?void 0:h(u,f))!=null?p:!0};return{updateExpandRows:()=>{const u=e.data.value||[],f=e.rowKey.value;if(n.value)l.value=t.store.states.rowExpandable.value?u.filter(a):u.slice();else if(f){const p=Yl(l.value,f);l.value=u.filter((h,m)=>{const d=nn(h,f);return!!p[d]&&a(h,m)})}else l.value=[]},toggleRowExpansion:(u,f)=>{const h=(e.data.value||[]).indexOf(u);if(h>-1&&!a(u,h))return;ho(l.value,u,f,void 0,void 0,void 0,e.rowKey.value)&&t.emit("expand-change",u,l.value.slice())},setExpandRowKeys:u=>{t.store.assertRowKey();const f=e.data.value||[],p=e.rowKey.value,h=Yl(f,p);l.value=u.reduce((m,d)=>{const v=h[d];return v&&a(v.row,v.index)&&m.push(v.row),m},[])},isRowExpanded:u=>{const f=e.rowKey.value;return f?!!Yl(l.value,f)[nn(u,f)]:l.value.includes(u)},states:{expandRows:l,defaultExpandAll:n}}}function ek(e){const t=qe(),n=I(null),l=I(null),a=u=>{t.store.assertRowKey(),n.value=u,i(u)},s=()=>{n.value=null},i=u=>{var f;const{data:p,rowKey:h}=e,m=l.value;let d=null;h.value&&(d=(f=(o(p)||[]).find(v=>nn(v,h.value)===u))!=null?f:null),l.value=d??null,t.emit("current-change",l.value,m)};return{setCurrentRowKey:a,restoreCurrentRowKey:s,setCurrentRowByKey:i,updateCurrentRow:u=>{const f=l.value;if(u&&u!==f){l.value=u,t.emit("current-change",l.value,f);return}!u&&f&&(l.value=null,t.emit("current-change",null,f))},updateCurrentRowData:()=>{const u=e.rowKey.value,f=e.data.value||[],p=l.value;if(p&&!f.includes(p))if(u){const h=nn(p,u);i(h)}else l.value=null,t.emit("current-change",null,p);else n.value&&(i(n.value),s())},states:{_currentRowKey:n,currentRow:l}}}function tk(e){const t=I([]),n=I({}),l=I(16),a=I(!1),s=I({}),i=I("hasChildren"),r=I("children"),c=I(!1),u=qe(),f=y(()=>{if(!e.rowKey.value)return{};const C=e.data.value||[];return h(C)}),p=y(()=>{const C=e.rowKey.value,k=Object.keys(s.value),N={};return k.length&&k.forEach(T=>{if(s.value[T].length){const P={children:[]};s.value[T].forEach(x=>{const D=nn(x,C);P.children.push(D),x[i.value]&&!N[D]&&(N[D]={children:[]})}),N[T]=P}}),N}),h=C=>{const k=e.rowKey.value,N={};return Xw(C,(T,P,x)=>{const D=nn(T,k);Pe(P)?N[D]={children:P.map(W=>nn(W,k)),level:x}:a.value&&(N[D]={children:[],lazy:!0,level:x})},r.value,i.value,a.value),N},m=(C=!1,k)=>{var N,T;k||(k=(N=u.store)==null?void 0:N.states.defaultExpandAll.value);const P=f.value,x=p.value,D=Object.keys(P),W={};if(D.length){const A=o(n),V=[],_=(ve,O)=>{if(C)return t.value?k||t.value.includes(O):!!(k||ve!=null&&ve.expanded);{const R=k||t.value&&t.value.includes(O);return!!(ve!=null&&ve.expanded||R)}};D.forEach(ve=>{const O=A[ve],R={...P[ve]};if(R.expanded=_(O,ve),R.lazy){const{loaded:B=!1,loading:M=!1}=O||{};R.loaded=!!B,R.loading=!!M,V.push(ve)}W[ve]=R});const oe=Object.keys(x);a.value&&oe.length&&V.length&&oe.forEach(ve=>{var O;const R=A[ve],B=x[ve].children;if(V.includes(ve)){if(((O=W[ve].children)==null?void 0:O.length)!==0)throw new Error("[ElTable]children must be an empty array.");W[ve].children=B}else{const{loaded:M=!1,loading:F=!1}=R||{};W[ve]={lazy:!0,loaded:!!M,loading:!!F,expanded:_(R,ve),children:B,level:void 0}}})}n.value=W,(T=u.store)==null||T.updateTableScrollY()};le(()=>t.value,()=>{m(!0)}),le(()=>f.value,()=>{m()}),le(()=>p.value,()=>{m()});const d=C=>{t.value=C,m()},v=C=>a.value&&C&&"loaded"in C&&!C.loaded,g=(C,k)=>{u.store.assertRowKey();const N=e.rowKey.value,T=nn(C,N),P=T&&n.value[T];if(T&&P&&"expanded"in P){const x=P.expanded;k=it(k)?!P.expanded:k,n.value[T].expanded=k,x!==k&&u.emit("expand-change",C,k),k&&v(P)&&S(C,T,P),u.store.updateTableScrollY()}},b=C=>{u.store.assertRowKey();const k=e.rowKey.value,N=nn(C,k),T=n.value[N];v(T)?S(C,N,T):g(C,void 0)},S=(C,k,N)=>{const{load:T}=u.props;T&&!n.value[k].loaded&&(n.value[k].loading=!0,T(C,N,P=>{if(!Pe(P))throw new TypeError("[ElTable] data must be an array");n.value[k].loading=!1,n.value[k].loaded=!0,n.value[k].expanded=!0,P.length&&(s.value[k]=P),u.emit("expand-change",C,!0)}))};return{loadData:S,loadOrToggle:b,toggleTreeExpansion:g,updateTreeExpandKeys:d,updateTreeData:m,updateKeyChildren:(C,k)=>{const{lazy:N,rowKey:T}=u.props;if(N){if(!T)throw new Error("[Table] rowKey is required in updateKeyChild");s.value[C]&&(s.value[C]=k)}},normalize:h,states:{expandRowKeys:t,treeData:n,indent:l,lazy:a,lazyTreeNodeMap:s,lazyColumnIdentifier:i,childrenColumnName:r,checkStrictly:c}}}const nk=(e,t)=>{const n=t.sortingColumn;return!n||He(n.sortable)?e:Yw(e,t.sortProp,t.sortOrder,n.sortMethod,n.sortBy)},to=e=>{const t=[];return e.forEach(n=>{n.children&&n.children.length>0?t.push.apply(t,to(n.children)):t.push(n)}),t};function lk(){var e;const t=qe(),{size:n}=Mn((e=t.proxy)==null?void 0:e.$props),l=I(null),a=I([]),s=I([]),i=I(!1),r=I([]),c=I([]),u=I([]),f=I([]),p=I([]),h=I([]),m=I([]),d=I([]),v=[],g=I(0),b=I(0),S=I(0),w=I(!1),C=I([]),k=I(!1),N=I(!1),T=I(null),P=I(null),x=I({}),D=I(null),W=I(null),A=I(null),V=I(null),_=I(null),oe=y(()=>l.value?Yl(C.value,l.value):void 0);le(a,()=>{var Me;t.state&&(B(!1),t.props.tableLayout==="auto"&&((Me=t.refs.tableHeaderRef)==null||Me.updateFixedColumnStyle()))},{deep:!0});const ve=()=>{if(!l.value)throw new Error("[ElTable] prop row-key is required")},O=Me=>{var nt;(nt=Me.children)==null||nt.forEach(Je=>{Je.fixed=Me.fixed,O(Je)})},R=()=>{r.value.forEach(Ce=>{O(Ce)}),f.value=r.value.filter(Ce=>[!0,"left"].includes(Ce.fixed));const Me=r.value.find(Ce=>Ce.type==="selection");let nt;Me&&Me.fixed!=="right"&&!f.value.includes(Me)&&r.value.indexOf(Me)===0&&f.value.length&&(f.value.unshift(Me),nt=!0),p.value=r.value.filter(Ce=>Ce.fixed==="right");const Je=r.value.filter(Ce=>(nt?Ce.type!=="selection":!0)&&!Ce.fixed);c.value=Array.from(f.value).concat(Je).concat(p.value);const te=to(Je),ge=to(f.value),Q=to(p.value);g.value=te.length,b.value=ge.length,S.value=Q.length,u.value=Array.from(ge).concat(te).concat(Q),i.value=f.value.length>0||p.value.length>0},B=(Me,nt=!1)=>{Me&&R(),nt?t.state.doLayout():t.state.debouncedUpdateLayout()},M=Me=>oe.value?!!oe.value[nn(Me,l.value)]:C.value.includes(Me),F=()=>{w.value=!1;const Me=C.value;C.value=[],Me.length&&t.emit("selection-change",[])},K=()=>{var Me,nt;let Je;if(l.value){Je=[];const te=(nt=(Me=t==null?void 0:t.store)==null?void 0:Me.states)==null?void 0:nt.childrenColumnName.value,ge=Yl(a.value,l.value,!0,te);for(const Q in oe.value)Ut(oe.value,Q)&&!ge[Q]&&Je.push(oe.value[Q].row)}else Je=C.value.filter(te=>!a.value.includes(te));if(Je.length){const te=C.value.filter(ge=>!Je.includes(ge));C.value=te,t.emit("selection-change",te.slice())}},z=()=>(C.value||[]).slice(),J=(Me,nt,Je=!0,te=!1)=>{var ge,Q,Ce,Ve;const mt={children:(Q=(ge=t==null?void 0:t.store)==null?void 0:ge.states)==null?void 0:Q.childrenColumnName.value,checkStrictly:(Ve=(Ce=t==null?void 0:t.store)==null?void 0:Ce.states)==null?void 0:Ve.checkStrictly.value};if(ho(C.value,Me,nt,mt,te?void 0:T.value,a.value.indexOf(Me),l.value)){const Cn=(C.value||[]).slice();Je&&t.emit("select",Cn,Me),t.emit("selection-change",Cn)}},ne=()=>{var Me,nt;const Je=N.value?!w.value:!(w.value||C.value.length);w.value=Je;let te=!1,ge=0;const Q=(nt=(Me=t==null?void 0:t.store)==null?void 0:Me.states)==null?void 0:nt.rowKey.value,{childrenColumnName:Ce}=t.store.states,Ve={children:Ce.value,checkStrictly:!1};a.value.forEach((mt,Lt)=>{const Cn=Lt+ge;ho(C.value,mt,Je,Ve,T.value,Cn,Q)&&(te=!0),ge+=se(nn(mt,Q))}),te&&t.emit("selection-change",C.value?C.value.slice():[]),t.emit("select-all",(C.value||[]).slice())},fe=()=>{var Me;if(((Me=a.value)==null?void 0:Me.length)===0){w.value=!1;return}const{childrenColumnName:nt}=t.store.states;let Je=0,te=0;const ge=Ce=>{var Ve;for(const mt of Ce){const Lt=T.value&&T.value.call(null,mt,Je);if(M(mt))te++;else if(!T.value||Lt)return!1;if(Je++,(Ve=mt[nt.value])!=null&&Ve.length&&!ge(mt[nt.value]))return!1}return!0},Q=ge(a.value||[]);w.value=te===0?!1:Q},se=Me=>{var nt;if(!t||!t.store)return 0;const{treeData:Je}=t.store.states;let te=0;const ge=(nt=Je.value[Me])==null?void 0:nt.children;return ge&&(te+=ge.length,ge.forEach(Q=>{te+=se(Q)})),te},Se=(Me,nt)=>{const Je={};return tn(Me).forEach(te=>{x.value[te.id]=nt,Je[te.columnKey||te.id]=nt}),Je},ue=(Me,nt,Je)=>{W.value&&W.value!==Me&&(W.value.order=null),W.value=Me,A.value=nt,V.value=Je},ee=()=>{let Me=o(s);Object.keys(x.value).forEach(nt=>{const Je=x.value[nt];if(!Je||Je.length===0)return;const te=ad({columns:u.value},nt);te&&te.filterMethod&&(Me=Me.filter(ge=>Je.some(Q=>te.filterMethod.call(null,Q,ge,te))))}),D.value=Me},Y=()=>{var Me;a.value=nk((Me=D.value)!=null?Me:[],{sortingColumn:W.value,sortProp:A.value,sortOrder:V.value})},re=(Me=void 0)=>{Me!=null&&Me.filter||ee(),Y()},$e=Me=>{const{tableHeaderRef:nt}=t.refs;if(!nt)return;const Je=Object.assign({},nt.filterPanels),te=Object.keys(Je);if(te.length)if(He(Me)&&(Me=[Me]),Pe(Me)){const ge=Me.map(Q=>Uw({columns:u.value},Q));te.forEach(Q=>{const Ce=ge.find(Ve=>Ve.id===Q);Ce&&(Ce.filteredValue=[])}),t.store.commit("filterChange",{column:ge,values:[],silent:!0,multi:!0})}else te.forEach(ge=>{const Q=u.value.find(Ce=>Ce.id===ge);Q&&(Q.filteredValue=[])}),x.value={},t.store.commit("filterChange",{column:{},values:[],silent:!0})},Le=()=>{W.value&&(ue(null,null,null),t.store.commit("changeSortCondition",{silent:!0}))},{setExpandRowKeys:tt,toggleRowExpansion:je,updateExpandRows:lt,states:pt,isRowExpanded:vt}=Qw({data:a,rowKey:l}),{updateTreeExpandKeys:wt,toggleTreeExpansion:Xt,updateTreeData:Jt,updateKeyChildren:zt,loadOrToggle:pn,states:mn}=tk({data:a,rowKey:l}),{updateCurrentRowData:Zt,updateCurrentRow:xe,setCurrentRowKey:We,states:De}=ek({data:a,rowKey:l});return{assertRowKey:ve,updateColumns:R,scheduleLayout:B,isSelected:M,clearSelection:F,cleanSelection:K,getSelectionRows:z,toggleRowSelection:J,_toggleAllSelection:ne,toggleAllSelection:null,updateAllSelected:fe,updateFilters:Se,updateCurrentRow:xe,updateSort:ue,execFilter:ee,execSort:Y,execQuery:re,clearFilter:$e,clearSort:Le,toggleRowExpansion:je,setExpandRowKeysAdapter:Me=>{tt(Me),wt(Me)},setCurrentRowKey:We,toggleRowExpansionAdapter:(Me,nt)=>{u.value.some(({type:te})=>te==="expand")?je(Me,nt):Xt(Me,nt)},isRowExpanded:vt,updateExpandRows:lt,updateCurrentRowData:Zt,loadOrToggle:pn,updateTreeData:Jt,updateKeyChildren:zt,states:{tableSize:n,rowKey:l,data:a,_data:s,isComplex:i,_columns:r,originColumns:c,columns:u,fixedColumns:f,rightFixedColumns:p,leafColumns:h,fixedLeafColumns:m,rightFixedLeafColumns:d,updateOrderFns:v,leafColumnsLength:g,fixedLeafColumnsLength:b,rightFixedLeafColumnsLength:S,isAllSelected:w,selection:C,reserveSelection:k,selectOnIndeterminate:N,selectable:T,rowExpandable:P,filters:x,filteredData:D,sortingColumn:W,sortProp:A,sortOrder:V,hoverRow:_,...pt,...mn,...De}}}function vs(e,t){return e.map(n=>{var l;return n.id===t.id?t:((l=n.children)!=null&&l.length&&(n.children=vs(n.children,t)),n)})}function ps(e){e.forEach(t=>{var n,l;t.no=(n=t.getColumnIndex)==null?void 0:n.call(t),(l=t.children)!=null&&l.length&&ps(t.children)}),e.sort((t,n)=>t.no-n.no)}function ak(){const e=qe(),t=lk(),n=ce("table"),{t:l}=at();return{ns:n,t:l,...t,mutations:{setData(r,c){const u=o(r._data)!==c;r.data.value=c,r._data.value=c,e.store.execQuery(),e.store.updateCurrentRowData(),e.store.updateExpandRows(),e.store.updateTreeData(e.store.states.defaultExpandAll.value),o(r.reserveSelection)?e.store.assertRowKey():u?e.store.clearSelection():e.store.cleanSelection(),e.store.updateAllSelected(),e.$ready&&e.store.scheduleLayout()},insertColumn(r,c,u,f){var p;const h=o(r._columns);let m=[];u?(u&&!u.children&&(u.children=[]),(p=u.children)==null||p.push(c),m=vs(h,u)):(h.push(c),m=h),ps(m),r._columns.value=m,r.updateOrderFns.push(f),c.type==="selection"&&(r.selectable.value=c.selectable,r.reserveSelection.value=c.reserveSelection),e.$ready&&(e.store.updateColumns(),e.store.scheduleLayout())},updateColumnOrder(r,c){var u;((u=c.getColumnIndex)==null?void 0:u.call(c))!==c.no&&(ps(r._columns.value),e.$ready&&e.store.updateColumns())},removeColumn(r,c,u,f){var p;const h=o(r._columns)||[];if(u)(p=u.children)==null||p.splice(u.children.findIndex(d=>d.id===c.id),1),Ee(()=>{var d;((d=u.children)==null?void 0:d.length)===0&&delete u.children}),r._columns.value=vs(h,u);else{const d=h.indexOf(c);d>-1&&(h.splice(d,1),r._columns.value=h)}const m=r.updateOrderFns.indexOf(f);m>-1&&r.updateOrderFns.splice(m,1),e.$ready&&(e.store.updateColumns(),e.store.scheduleLayout())},sort(r,c){const{prop:u,order:f,init:p}=c;if(u){const h=o(r.columns).find(m=>m.property===u);h&&(h.order=f,e.store.updateSort(h,u,f),e.store.commit("changeSortCondition",{init:p}))}},changeSortCondition(r,c){const{sortingColumn:u,sortProp:f,sortOrder:p}=r,h=o(u),m=o(f),d=o(p);wo(d)&&(r.sortingColumn.value=null,r.sortProp.value=null);const v={filter:!0};e.store.execQuery(v),(!c||!(c.silent||c.init))&&e.emit("sort-change",{column:h,prop:m,order:d}),e.store.updateTableScrollY()},filterChange(r,c){const{column:u,values:f,silent:p}=c,h=e.store.updateFilters(u,f);e.store.execQuery(),p||e.emit("filter-change",h),e.store.updateTableScrollY()},toggleAllSelection(){var r,c;(c=(r=e.store).toggleAllSelection)==null||c.call(r)},rowSelectedChanged(r,c){e.store.toggleRowSelection(c),e.store.updateAllSelected()},setHoverRow(r,c){r.hoverRow.value=c},setCurrentRow(r,c){e.store.updateCurrentRow(c)}},commit:function(r,...c){const u=e.store.mutations;if(u[r])u[r].apply(e,[e.store.states,...c]);else throw new Error(`Action not found: ${r}`)},updateTableScrollY:function(){Ee(()=>e.layout.updateScrollY.apply(e.layout))}}}const vr={rowKey:"rowKey",defaultExpandAll:"defaultExpandAll",rowExpandable:"rowExpandable",selectOnIndeterminate:"selectOnIndeterminate",indent:"indent",lazy:"lazy","treeProps.hasChildren":{key:"lazyColumnIdentifier",default:"hasChildren"},"treeProps.children":{key:"childrenColumnName",default:"children"},"treeProps.checkStrictly":{key:"checkStrictly",default:!1}};function ok(e,t){if(!e)throw new Error("Table is required.");const n=ak();return n.toggleAllSelection=Jl(n._toggleAllSelection,10),Object.keys(vr).forEach(l=>{ud(cd(t,l),l,n)}),sk(n,t),n}function sk(e,t){Object.keys(vr).forEach(n=>{le(()=>cd(t,n),l=>{ud(l,n,e)})})}function ud(e,t,n){let l=e,a=vr[t];gt(a)&&(l=l||a.default,a=a.key),n.states[a].value=l}function cd(e,t){if(t.includes(".")){const n=t.split(".");let l=e;return n.forEach(a=>{l=l[a]}),l}else return e[t]}var rk=Object.defineProperty,ik=(e,t,n)=>t in e?rk(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,en=(e,t,n)=>ik(e,typeof t!="symbol"?t+"":t,n);class uk{constructor(t){en(this,"observers"),en(this,"table"),en(this,"store"),en(this,"columns"),en(this,"fit"),en(this,"showHeader"),en(this,"height"),en(this,"scrollX"),en(this,"scrollY"),en(this,"bodyWidth"),en(this,"fixedWidth"),en(this,"rightFixedWidth"),en(this,"tableHeight"),en(this,"headerHeight"),en(this,"appendHeight"),en(this,"footerHeight"),en(this,"gutterWidth"),this.observers=[],this.table=null,this.store=null,this.columns=[],this.fit=!0,this.showHeader=!0,this.height=I(null),this.scrollX=I(!1),this.scrollY=I(!1),this.bodyWidth=I(null),this.fixedWidth=I(null),this.rightFixedWidth=I(null),this.gutterWidth=0;for(const n in t)Ut(t,n)&&(Ln(this[n])?this[n].value=t[n]:this[n]=t[n]);if(!this.table)throw new Error("Table is required for Table Layout");if(!this.store)throw new Error("Store is required for Table Layout")}updateScrollY(){const t=this.height.value;if(wo(t))return!1;const n=this.table.refs.scrollBarRef;if(this.table.vnode.el&&(n!=null&&n.wrapRef)){let l=!0;const a=this.scrollY.value;return l=n.wrapRef.scrollHeight>n.wrapRef.clientHeight,this.scrollY.value=l,a!==l}return!1}setHeight(t,n="height"){if(!st)return;const l=this.table.vnode.el;if(t=Gw(t),this.height.value=Number(t),!l&&(t||t===0)){Ee(()=>this.setHeight(t,n));return}l&&Ae(t)?(l.style[n]=`${t}px`,this.updateElsHeight()):l&&He(t)&&(l.style[n]=t,this.updateElsHeight())}setMaxHeight(t){this.setHeight(t,"max-height")}getFlattenColumns(){const t=[];return this.table.store.states.columns.value.forEach(l=>{l.isColumnGroup?t.push.apply(t,l.columns):t.push(l)}),t}updateElsHeight(){this.updateScrollY(),this.notifyObservers("scrollable")}headerDisplayNone(t){if(!t)return!0;let n=t;for(;n.tagName!=="DIV";){if(getComputedStyle(n).display==="none")return!0;n=n.parentElement}return!1}updateColumnsWidth(){var t;if(!st)return;const n=this.fit,l=(t=this.table.vnode.el)==null?void 0:t.clientWidth;let a=0;const s=this.getFlattenColumns(),i=s.filter(u=>!Ae(u.width));if(s.forEach(u=>{Ae(u.width)&&u.realWidth&&(u.realWidth=null)}),i.length>0&&n){if(s.forEach(u=>{a+=Number(u.width||u.minWidth||80)}),a<=l){this.scrollX.value=!1;const u=l-a;if(i.length===1)i[0].realWidth=Number(i[0].minWidth||80)+u;else{const f=i.reduce((m,d)=>m+Number(d.minWidth||80),0),p=u/f;let h=0;i.forEach((m,d)=>{if(d===0)return;const v=Math.floor(Number(m.minWidth||80)*p);h+=v,m.realWidth=Number(m.minWidth||80)+v}),i[0].realWidth=Number(i[0].minWidth||80)+u-h}}else this.scrollX.value=!0,i.forEach(u=>{u.realWidth=Number(u.minWidth)});this.bodyWidth.value=Math.max(a,l),this.table.state.resizeState.value.width=this.bodyWidth.value}else s.forEach(u=>{!u.width&&!u.minWidth?u.realWidth=80:u.realWidth=Number(u.width||u.minWidth),a+=u.realWidth}),this.scrollX.value=a>l,this.bodyWidth.value=a;const r=this.store.states.fixedColumns.value;if(r.length>0){let u=0;r.forEach(f=>{u+=Number(f.realWidth||f.width)}),this.fixedWidth.value=u}const c=this.store.states.rightFixedColumns.value;if(c.length>0){let u=0;c.forEach(f=>{u+=Number(f.realWidth||f.width)}),this.rightFixedWidth.value=u}this.notifyObservers("columns")}addObserver(t){this.observers.push(t)}removeObserver(t){const n=this.observers.indexOf(t);n!==-1&&this.observers.splice(n,1)}notifyObservers(t){this.observers.forEach(l=>{var a,s;switch(t){case"columns":(a=l.state)==null||a.onColumnsChange(this);break;case"scrollable":(s=l.state)==null||s.onScrollableChange(this);break;default:throw new Error(`Table Layout don't have event ${t}.`)}})}}var ck=ie({name:"ElTableFilterPanel",components:{ElCheckbox:Rl,ElCheckboxGroup:ch,ElScrollbar:el,ElTooltip:Rn,ElIcon:we,ArrowDown:wl,ArrowUp:Ss},props:{placement:{type:String,default:"bottom-start"},store:{type:Object},column:{type:Object},upDataColumn:{type:Function},appendTo:bt.appendTo},setup(e){const t=qe(),{t:n}=at(),l=ce("table-filter"),a=t==null?void 0:t.parent;e.column&&!a.filterPanels.value[e.column.id]&&(a.filterPanels.value[e.column.id]=t);const s=I(null),i=I(null),r=I(0),c=y(()=>e.column&&e.column.filters),u=y(()=>e.column&&e.column.filterClassName?`${l.b()} ${e.column.filterClassName}`:l.b()),f=y({get:()=>{var T;return(((T=e.column)==null?void 0:T.filteredValue)||[])[0]},set:T=>{p.value&&(Nn(T)?p.value.splice(0,1):p.value.splice(0,1,T))}}),p=y({get(){return e.column?e.column.filteredValue||[]:[]},set(T){var P;e.column&&((P=e.upDataColumn)==null||P.call(e,"filteredValue",T))}}),h=y(()=>e.column?e.column.filterMultiple:!0),m=T=>T.value===f.value,d=()=>{var T;(T=s.value)==null||T.onClose()},v=()=>{S(p.value),d()},g=()=>{p.value=[],S(p.value),d()},b=(T,P)=>{f.value=T,r.value=P,Nn(T)?S([]):S(p.value),d()},S=T=>{var P,x;(P=e.store)==null||P.commit("filterChange",{column:e.column,values:T}),(x=e.store)==null||x.updateAllSelected()},w=()=>{var T,P;(T=i.value)==null||T.focus(),!h.value&&k(),e.column&&((P=e.upDataColumn)==null||P.call(e,"filterOpened",!0))},C=()=>{var T;e.column&&((T=e.upDataColumn)==null||T.call(e,"filterOpened",!1))},k=()=>{if(Nn(f)){r.value=0;return}const T=(c.value||[]).findIndex(P=>P.value===f.value);r.value=T>=0?T+1:0};return{multiple:h,filterClassName:u,filteredValue:p,filterValue:f,filters:c,handleConfirm:v,handleReset:g,handleSelect:b,isPropAbsent:Nn,isActive:m,t:n,ns:l,tooltipRef:s,rootRef:i,checkedIndex:r,handleShowTooltip:w,handleHideTooltip:C,handleKeydown:T=>{var P,x;const D=St(T),W=(c.value?c.value.length:0)+1;let A=r.value,V=!0;switch(D){case de.down:case de.right:A=(A+1)%W;break;case de.up:case de.left:A=(A-1+W)%W;break;case de.tab:d(),V=!1;break;case de.enter:case de.space:if(A===0)b(null,0);else{const _=(c.value||[])[A-1];_.value&&b(_.value,A)}break;default:V=!1;break}V&&T.preventDefault(),r.value=A,(x=(P=i.value)==null?void 0:P.querySelector(`.${l.e("list-item")}:nth-child(${A+1})`))==null||x.focus()}}}});const dk=["disabled"],fk=["tabindex","aria-checked"],vk=["tabindex","aria-checked","onClick"],pk=["aria-label"];function mk(e,t,n,l,a,s){const i=ot("el-checkbox"),r=ot("el-checkbox-group"),c=ot("el-scrollbar"),u=ot("arrow-up"),f=ot("arrow-down"),p=ot("el-icon"),h=ot("el-tooltip");return E(),Z(h,{ref:"tooltipRef",offset:0,placement:e.placement,"show-arrow":!1,trigger:"click",role:"dialog",teleported:"",effect:"light",pure:"",loop:"","popper-class":e.filterClassName,persistent:"","append-to":e.appendTo,onShow:e.handleShowTooltip,onHide:e.handleHideTooltip},{content:j(()=>[e.multiple?(E(),L("div",{key:0,ref:"rootRef",tabindex:"-1",class:$(e.ns.e("multiple"))},[H("div",{class:$(e.ns.e("content"))},[U(c,{"wrap-class":e.ns.e("wrap")},{default:j(()=>[U(r,{modelValue:e.filteredValue,"onUpdate:modelValue":t[0]||(t[0]=m=>e.filteredValue=m),class:$(e.ns.e("checkbox-group"))},{default:j(()=>[(E(!0),L(Re,null,rt(e.filters,m=>(E(),Z(i,{key:m.value,value:m.value},{default:j(()=>[ut(he(m.text),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue","class"])]),_:1},8,["wrap-class"])],2),H("div",{class:$(e.ns.e("bottom"))},[H("button",{class:$(e.ns.is("disabled",e.filteredValue.length===0)),disabled:e.filteredValue.length===0,type:"button",onClick:t[1]||(t[1]=(...m)=>e.handleConfirm&&e.handleConfirm(...m))},he(e.t("el.table.confirmFilter")),11,dk),H("button",{type:"button",onClick:t[2]||(t[2]=(...m)=>e.handleReset&&e.handleReset(...m))},he(e.t("el.table.resetFilter")),1)],2)],2)):(E(),L("ul",{key:1,ref:"rootRef",tabindex:"-1",role:"radiogroup",class:$(e.ns.e("list")),onKeydown:t[4]||(t[4]=(...m)=>e.handleKeydown&&e.handleKeydown(...m))},[H("li",{role:"radio",class:$([e.ns.e("list-item"),e.ns.is("active",e.isPropAbsent(e.filterValue))]),tabindex:e.checkedIndex===0?0:-1,"aria-checked":e.isPropAbsent(e.filterValue),onClick:t[3]||(t[3]=m=>e.handleSelect(null,0))},he(e.t("el.table.clearFilter")),11,fk),(E(!0),L(Re,null,rt(e.filters,(m,d)=>(E(),L("li",{key:m.value,role:"radio",class:$([e.ns.e("list-item"),e.ns.is("active",e.isActive(m))]),tabindex:e.checkedIndex===d+1?0:-1,"aria-checked":e.isActive(m),onClick:v=>e.handleSelect(m.value,d+1)},he(m.text),11,vk))),128))],34))]),default:j(()=>{var m;return[H("button",{type:"button",class:$(`${e.ns.namespace.value}-table__column-filter-trigger`),"aria-label":e.t("el.table.filterLabel",{column:((m=e.column)==null?void 0:m.label)||""})},[U(p,null,{default:j(()=>[X(e.$slots,"filter-icon",{},()=>{var d;return[(d=e.column)!=null&&d.filterOpened?(E(),Z(u,{key:0})):(E(),Z(f,{key:1}))]})]),_:3})],10,pk)]}),_:3},8,["placement","popper-class","append-to","onShow","onHide"])}var hk=_t(ck,[["render",mk]]);function pr(e){const t=qe();Cs(()=>{n.value.addObserver(t)}),Ze(()=>{l(n.value),a(n.value)}),Bl(()=>{l(n.value),a(n.value)}),bo(()=>{n.value.removeObserver(t)});const n=y(()=>{const s=e.layout;if(!s)throw new Error("Can not find table layout.");return s}),l=s=>{var i;const r=((i=e.vnode.el)==null?void 0:i.querySelectorAll("colgroup > col"))||[];if(!r.length)return;const c=s.getFlattenColumns(),u={};c.forEach(f=>{u[f.id]=f});for(let f=0,p=r.length;f{var i,r;const c=((i=e.vnode.el)==null?void 0:i.querySelectorAll("colgroup > col[name=gutter]"))||[];for(let f=0,p=c.length;f{v.stopPropagation()},s=(v,g)=>{!g.filters&&g.sortable?d(v,g,!1):g.filterable&&!g.sortable&&a(v),l==null||l.emit("header-click",g,v)},i=(v,g)=>{l==null||l.emit("header-contextmenu",g,v)},r=I(null),c=I(!1),u=I(),f=(v,g)=>{var b,S;if(st&&!(g.children&&g.children.length>0)&&r.value&&e.border&&r.value.id===g.id){c.value=!0;const w=l;t("set-drag-visible",!0);const C=w==null?void 0:w.vnode.el,k=C==null?void 0:C.getBoundingClientRect().left,N=(S=(b=n==null?void 0:n.vnode)==null?void 0:b.el)==null?void 0:S.querySelector(`th.${g.id}`),T=N.getBoundingClientRect(),P=T.left-k+30;Bn(N,"noclick"),u.value={startMouseLeft:v.clientX,startLeft:T.right-k,startColumnLeft:T.left-k,tableLeft:k};const x=w==null?void 0:w.refs.resizeProxy;x.style.left=`${u.value.startLeft}px`,document.onselectstart=function(){return!1},document.ondragstart=function(){return!1};const D=A=>{const V=A.clientX-u.value.startMouseLeft,_=u.value.startLeft+V;x.style.left=`${Math.max(P,_)}px`},W=()=>{if(c.value){const{startColumnLeft:A,startLeft:V}=u.value,oe=Number.parseInt(x.style.left,10)-A;g.width=g.realWidth=oe,w==null||w.emit("header-dragend",g.width,V-A,g,v),requestAnimationFrame(()=>{e.store.scheduleLayout(!1,!0)}),document.body.style.cursor="",c.value=!1,r.value=null,u.value=void 0,t("set-drag-visible",!1)}document.removeEventListener("mousemove",D),document.removeEventListener("mouseup",W),document.onselectstart=null,document.ondragstart=null,setTimeout(()=>{dn(N,"noclick")},0)};document.addEventListener("mousemove",D),document.addEventListener("mouseup",W)}},p=(v,g)=>{var b;if(!e.border||g.children&&g.children.length>0)return;const S=v.target,w=$n(S)?S.closest("th"):null;if(!w)return;const C=Un(w,"is-sortable");if(C){const D=c.value?"col-resize":"";w.style.cursor=D;const W=w.querySelector(".caret-wrapper");W&&(W.style.cursor=D)}if(!g.resizable||c.value){r.value=null;return}const k=w.getBoundingClientRect(),N=((b=w.parentNode)==null?void 0:b.lastElementChild)===w,T=e.allowDragLastColumn||!N,P=k.width>12&&k.right-v.clientX<8&&T,x=P?"col-resize":"";document.body.style.cursor=x,r.value=P?g:null,C&&(w.style.cursor=x)},h=()=>{!st||c.value||(document.body.style.cursor="")},m=({order:v,sortOrders:g})=>{if(v==="")return g[0];const b=g.indexOf(v||null);return g[b>g.length-2?0:b+1]},d=(v,g,b)=>{var S;v.stopPropagation();const w=g.order===b?null:b||m(g),C=(S=v.target)==null?void 0:S.closest("th");if(C&&Un(C,"noclick")){dn(C,"noclick");return}if(!g.sortable)return;const k=v.currentTarget;if(["ascending","descending"].some(D=>Un(k,D)&&!g.sortOrders.includes(D)))return;const N=e.store.states;let T=N.sortProp.value,P;const x=N.sortingColumn.value;(x!==g||x===g&&wo(x.order))&&(x&&(x.order=null),N.sortingColumn.value=g,T=g.property),w?P=g.order=w:P=g.order=null,N.sortProp.value=T,N.sortOrder.value=P,l==null||l.store.commit("changeSortCondition")};return{handleHeaderClick:s,handleHeaderContextMenu:i,handleMouseDown:f,handleMouseMove:p,handleMouseOut:h,handleSortClick:d,handleFilterClick:a}}function bk(e){const t=be(jn),n=ce("table");return{getHeaderRowStyle:r=>{const c=t==null?void 0:t.props.headerRowStyle;return Qe(c)?c.call(null,{rowIndex:r}):c},getHeaderRowClass:r=>{const c=[],u=t==null?void 0:t.props.headerRowClassName;return He(u)?c.push(u):Qe(u)&&c.push(u.call(null,{rowIndex:r})),c.join(" ")},getHeaderCellStyle:(r,c,u,f)=>{var p;let h=(p=t==null?void 0:t.props.headerCellStyle)!=null?p:{};Qe(h)&&(h=h.call(null,{rowIndex:r,columnIndex:c,row:u,column:f}));const m=fr(c,f.fixed,e.store,u);return na(m,"left"),na(m,"right"),Object.assign({},h,m)},getHeaderCellClass:(r,c,u,f)=>{const p=dr(n.b(),c,f.fixed,e.store,u),h=[f.id,f.order,f.headerAlign,f.className,f.labelClassName,...p];f.children||h.push("is-leaf"),f.sortable&&h.push("is-sortable");const m=t==null?void 0:t.props.headerCellClassName;return He(m)?h.push(m):Qe(m)&&h.push(m.call(null,{rowIndex:r,columnIndex:c,row:u,column:f})),h.push(n.e("cell")),h.filter(d=>!!d).join(" ")}}}const dd=e=>{const t=[];return e.forEach(n=>{n.children?(t.push(n),t.push.apply(t,dd(n.children))):t.push(n)}),t},fd=e=>{let t=1;const n=(s,i)=>{if(i&&(s.level=i.level+1,t{n(c,s),r+=c.colSpan}),s.colSpan=r}else s.colSpan=1};e.forEach(s=>{s.level=1,n(s,void 0)});const l=[];for(let s=0;s{s.children?(s.rowSpan=1,s.children.forEach(i=>i.isSubColumn=!0)):s.rowSpan=t-s.level+1,l[s.level-1].push(s)}),l};function yk(e){const t=be(jn),n=y(()=>fd(e.store.states.originColumns.value));return{isGroup:y(()=>{const s=n.value.length>1;return s&&t&&(t.state.isGroup.value=!0),s}),toggleAllSelection:s=>{s.stopPropagation(),t==null||t.store.commit("toggleAllSelection")},columnRows:n}}var Ck=ie({name:"ElTableHeader",components:{ElCheckbox:Rl},props:{fixed:{type:String,default:""},store:{required:!0,type:Object},border:Boolean,defaultSort:{type:Object,default:()=>({prop:"",order:""})},appendFilterPanelTo:{type:String},allowDragLastColumn:{type:Boolean}},setup(e,{emit:t}){const n=qe(),l=be(jn),a=ce("table"),s=I({}),{onColumnsChange:i,onScrollableChange:r}=pr(l),c=(l==null?void 0:l.props.tableLayout)==="auto",u=kt(new Map),f=I();let p;const h=()=>{p=setTimeout(()=>{u.size>0&&(u.forEach((A,V)=>{const _=f.value.querySelector(`.${V.replace(/\s/g,".")}`);if(_){const oe=_.getBoundingClientRect().width;A.width=oe||A.width}}),u.clear())})};le(u,h),Et(()=>{p&&(clearTimeout(p),p=void 0)}),Ze(async()=>{await Ee(),await Ee();const{prop:A,order:V}=e.defaultSort;l==null||l.store.commit("sort",{prop:A,order:V,init:!0}),h()});const{handleHeaderClick:m,handleHeaderContextMenu:d,handleMouseDown:v,handleMouseMove:g,handleMouseOut:b,handleSortClick:S,handleFilterClick:w}=gk(e,t),{getHeaderRowStyle:C,getHeaderRowClass:k,getHeaderCellStyle:N,getHeaderCellClass:T}=bk(e),{isGroup:P,toggleAllSelection:x,columnRows:D}=yk(e),{t:W}=at();return n.state={onColumnsChange:i,onScrollableChange:r},n.filterPanels=s,{ns:a,t:W,filterPanels:s,onColumnsChange:i,onScrollableChange:r,columnRows:D,getHeaderRowClass:k,getHeaderRowStyle:C,getHeaderCellClass:T,getHeaderCellStyle:N,handleHeaderClick:m,handleHeaderContextMenu:d,handleMouseDown:v,handleMouseMove:g,handleMouseOut:b,handleSortClick:S,handleFilterClick:w,isGroup:P,toggleAllSelection:x,saveIndexSelection:u,isTableLayoutAuto:c,theadRef:f,updateFixedColumnStyle:h}},render(){const{ns:e,t,isGroup:n,columnRows:l,getHeaderCellStyle:a,getHeaderCellClass:s,getHeaderRowClass:i,getHeaderRowStyle:r,handleHeaderClick:c,handleHeaderContextMenu:u,handleMouseDown:f,handleMouseMove:p,handleSortClick:h,handleMouseOut:m,store:d,$parent:v,saveIndexSelection:g,isTableLayoutAuto:b}=this;let S=1;return Ie("thead",{ref:"theadRef",class:e.is("group",n)},l.map((w,C)=>Ie("tr",{class:i(C),key:C,style:r(C)},w.map((k,N)=>{k.rowSpan>S&&(S=k.rowSpan);const T=s(C,N,w,k);return b&&k.fixed&&g.set(T,k),Ie("th",{class:T,colspan:k.colSpan,key:`${k.id}-thead`,rowspan:k.rowSpan,scope:k.colSpan>1?"colgroup":"col",ariaSort:k.sortable?k.order:void 0,style:a(C,N,w,k),onClick:P=>{var x;(x=P.currentTarget)!=null&&x.classList.contains("noclick")||c(P,k)},onContextmenu:P=>u(P,k),onMousedown:P=>f(P,k),onMousemove:P=>p(P,k),onMouseout:m},[Ie("div",{class:["cell",k.filteredValue&&k.filteredValue.length>0?"highlight":""]},[k.renderHeader?k.renderHeader({column:k,$index:N,store:d,_self:v}):k.label,k.sortable&&Ie("button",{type:"button",class:"caret-wrapper","aria-label":t("el.table.sortLabel",{column:k.label||""}),onClick:P=>h(P,k)},[Ie("i",{onClick:P=>h(P,k,"ascending"),class:"sort-caret ascending"}),Ie("i",{onClick:P=>h(P,k,"descending"),class:"sort-caret descending"})]),k.filterable&&Ie(hk,{store:d,placement:k.filterPlacement||"bottom-start",appendTo:v==null?void 0:v.appendFilterPanelTo,column:k,upDataColumn:(P,x)=>{k[P]=x}},{"filter-icon":()=>k.renderFilterIcon?k.renderFilterIcon({filterOpened:k.filterOpened}):null})])])}))))}});function Go(e,t,n=.03){return e-t>n}function wk(e){const t=be(jn),n=I(""),l=I(Ie("div")),a=(d,v,g)=>{var b,S,w;const C=t,k=qo(d);let N=null;const T=(b=C==null?void 0:C.vnode.el)==null?void 0:b.dataset.prefix;k&&(N=mi({columns:(w=(S=e.store)==null?void 0:S.states.columns.value)!=null?w:[]},k,T),N&&(C==null||C.emit(`cell-${g}`,v,N,k,d))),C==null||C.emit(`row-${g}`,v,N,d)},s=(d,v)=>{a(d,v,"dblclick")},i=(d,v)=>{var g;(g=e.store)==null||g.commit("setCurrentRow",v),a(d,v,"click")},r=(d,v)=>{a(d,v,"contextmenu")},c=Jl(d=>{var v;(v=e.store)==null||v.commit("setHoverRow",d)},30),u=Jl(()=>{var d;(d=e.store)==null||d.commit("setHoverRow",null)},30),f=d=>{const v=window.getComputedStyle(d,null),g=Number.parseInt(v.paddingLeft,10)||0,b=Number.parseInt(v.paddingRight,10)||0,S=Number.parseInt(v.paddingTop,10)||0,w=Number.parseInt(v.paddingBottom,10)||0;return{left:g,right:b,top:S,bottom:w}},p=(d,v,g)=>{var b;let S=(b=v==null?void 0:v.target)==null?void 0:b.parentNode;for(;d>1&&(S=S==null?void 0:S.nextSibling,!(!S||S.nodeName!=="TR"));)g(S,"hover-row hover-fixed-row"),d--};return{handleDoubleClick:s,handleClick:i,handleContextMenu:r,handleMouseEnter:c,handleMouseLeave:u,handleCellMouseEnter:(d,v,g)=>{var b,S,w,C,k,N,T,P,x;if(!t)return;const D=t,W=qo(d),A=(b=D==null?void 0:D.vnode.el)==null?void 0:b.dataset.prefix;let V=null;if(W){if(V=mi({columns:(w=(S=e.store)==null?void 0:S.states.columns.value)!=null?w:[]},W,A),!V)return;W.rowSpan>1&&p(W.rowSpan,d,Bn);const fe=D.hoverState={cell:W,column:V,row:v};D==null||D.emit("cell-mouse-enter",fe.row,fe.column,fe.cell,d)}if(!g){((C=rn)==null?void 0:C.trigger)===W&&((k=rn)==null||k());return}const _=d.target.querySelector(".cell");if(!(Un(_,`${A}-tooltip`)&&_.childNodes.length&&((N=_.textContent)!=null&&N.trim())))return;const oe=document.createRange();oe.setStart(_,0),oe.setEnd(_,_.childNodes.length);const{width:ve,height:O}=oe.getBoundingClientRect(),{width:R,height:B}=_.getBoundingClientRect(),{top:M,left:F,right:K,bottom:z}=f(_),J=F+K,ne=M+z;Go(ve+J,R)||Go(O+ne,B)||Go(_.scrollWidth,R)?Zw(g,(T=(W==null?void 0:W.innerText)||(W==null?void 0:W.textContent))!=null?T:"",v,V,W,D):((P=rn)==null?void 0:P.trigger)===W&&((x=rn)==null||x())},handleCellMouseLeave:d=>{const v=qo(d);if(!v)return;v.rowSpan>1&&p(v.rowSpan,d,dn);const g=t==null?void 0:t.hoverState;t==null||t.emit("cell-mouse-leave",g==null?void 0:g.row,g==null?void 0:g.column,g==null?void 0:g.cell,d)},tooltipContent:n,tooltipTrigger:l}}function kk(e){const t=be(jn),n=ce("table");return{getRowStyle:(u,f)=>{const p=t==null?void 0:t.props.rowStyle;return Qe(p)?p.call(null,{row:u,rowIndex:f}):p||null},getRowClass:(u,f,p)=>{var h;const m=[n.e("row")];t!=null&&t.props.highlightCurrentRow&&u===((h=e.store)==null?void 0:h.states.currentRow.value)&&m.push("current-row"),e.stripe&&p%2===1&&m.push(n.em("row","striped"));const d=t==null?void 0:t.props.rowClassName;return He(d)?m.push(d):Qe(d)&&m.push(d.call(null,{row:u,rowIndex:f})),m},getCellStyle:(u,f,p,h)=>{const m=t==null?void 0:t.props.cellStyle;let d=m??{};Qe(m)&&(d=m.call(null,{rowIndex:u,columnIndex:f,row:p,column:h}));const v=fr(f,e==null?void 0:e.fixed,e.store);return na(v,"left"),na(v,"right"),Object.assign({},d,v)},getCellClass:(u,f,p,h,m)=>{const d=dr(n.b(),f,e==null?void 0:e.fixed,e.store,void 0,m),v=[h.id,h.align,h.className,...d],g=t==null?void 0:t.props.cellClassName;return He(g)?v.push(g):Qe(g)&&v.push(g.call(null,{rowIndex:u,columnIndex:f,row:p,column:h})),v.push(n.e("cell")),v.filter(b=>!!b).join(" ")},getSpan:(u,f,p,h)=>{let m=1,d=1;const v=t==null?void 0:t.props.spanMethod;if(Qe(v)){const g=v({row:u,column:f,rowIndex:p,columnIndex:h});Pe(g)?(m=g[0],d=g[1]):gt(g)&&(m=g.rowspan,d=g.colspan)}return{rowspan:m,colspan:d}},getColspanRealWidth:(u,f,p)=>{if(f<1)return u[p].realWidth;const h=u.map(({realWidth:m,width:d})=>m||d).slice(p,p+f);return Number(h.reduce((m,d)=>Number(m)+Number(d),-1))}}}const Sk=["colspan","rowspan"];var Ek=ie({name:"TableTdWrapper",__name:"td-wrapper",props:{colspan:{type:Number,default:1},rowspan:{type:Number,default:1}},setup(e){return(t,n)=>(E(),L("td",{colspan:e.colspan,rowspan:e.rowspan},[X(t.$slots,"default")],8,Sk))}});function $k(e){const t=be(jn),n=ce("table"),{handleDoubleClick:l,handleClick:a,handleContextMenu:s,handleMouseEnter:i,handleMouseLeave:r,handleCellMouseEnter:c,handleCellMouseLeave:u,tooltipContent:f,tooltipTrigger:p}=wk(e),{getRowStyle:h,getRowClass:m,getCellStyle:d,getCellClass:v,getSpan:g,getColspanRealWidth:b}=kk(e);let S=-1;const w=y(()=>{var P;return(P=e.store)==null?void 0:P.states.columns.value.findIndex(({type:x})=>x==="default")}),C=(P,x)=>{var D;const W=(D=t==null?void 0:t.props)==null?void 0:D.rowKey;return W?nn(P,W):x},k=(P,x,D,W=!1)=>{const{tooltipEffect:A,tooltipOptions:V,store:_}=e,{indent:oe,columns:ve}=_.states,O=[];let R=!0;return D&&(O.push(n.em("row",`level-${D.level}`)),R=!!D.display),x===0&&(S=-1),e.stripe&&R&&S++,O.push(...m(P,x,S)),Ie("tr",{style:[R?null:{display:"none"},h(P,x)],class:O,key:C(P,x),onDblclick:M=>l(M,P),onClick:M=>a(M,P),onContextmenu:M=>s(M,P),onMouseenter:()=>i(x),onMouseleave:r},ve.value.map((M,F)=>{const{rowspan:K,colspan:z}=g(P,M,x,F);if(!K||!z)return null;const J=Object.assign({},M);J.realWidth=b(ve.value,z,F);const ne={store:_,_self:e.context||t,column:J,row:P,$index:x,cellIndex:F,expanded:W};F===w.value&&D&&(ne.treeNode={indent:D.level&&D.level*oe.value,level:D.level},yt(D.expanded)&&(ne.treeNode.expanded=D.expanded,"loading"in D&&(ne.treeNode.loading=D.loading),"noLazyChildren"in D&&(ne.treeNode.noLazyChildren=D.noLazyChildren)));const fe=`${C(P,x)},${F}`,se=J.columnKey||J.rawColumnKey||"",Se=M.showOverflowTooltip&&Ji({effect:A},V,M.showOverflowTooltip);return Ie(Ek,{style:d(x,F,P,M),class:v(x,F,P,M,z-1),key:`${se}${fe}`,rowspan:K,colspan:z,onMouseenter:ue=>c(ue,P,Se),onMouseleave:u},{default:()=>N(F,M,ne)})}))},N=(P,x,D)=>x.renderCell(D);return{wrappedRowRender:(P,x)=>{const D=e.store,{isRowExpanded:W,assertRowKey:A}=D,{treeData:V,lazyTreeNodeMap:_,childrenColumnName:oe,rowKey:ve}=D.states,O=D.states.columns.value;if(O.some(({type:B})=>B==="expand")){const B=W(P),M=k(P,x,void 0,B),F=t==null?void 0:t.renderExpanded;if(!F)return console.error("[Element Error]renderExpanded is required."),M;const K=[[M]];return(t.props.preserveExpandedContent||B)&&K[0].push(Ie("tr",{key:`expanded-row__${M.key}`,style:{display:B?"":"none"}},[Ie("td",{colspan:O.length,class:`${n.e("cell")} ${n.e("expanded-cell")}`},[F({row:P,$index:x,store:D,expanded:B})])])),K}else if(Object.keys(V.value).length){A();const B=nn(P,ve.value);let M=V.value[B],F=null;M&&(F={expanded:M.expanded,level:M.level,display:!0,noLazyChildren:void 0,loading:void 0},yt(M.lazy)&&(F&&yt(M.loaded)&&M.loaded&&(F.noLazyChildren=!(M.children&&M.children.length)),F.loading=M.loading));const K=[k(P,x,F??void 0)];if(M){let z=0;const J=(fe,se)=>{fe&&fe.length&&se&&fe.forEach(Se=>{const ue={display:se.display&&se.expanded,level:se.level+1,expanded:!1,noLazyChildren:!1,loading:!1},ee=nn(Se,ve.value);if(Nn(ee))throw new Error("For nested data item, row-key is required.");if(M={...V.value[ee]},M&&(ue.expanded=M.expanded,M.level=M.level||ue.level,M.display=!!(M.expanded&&ue.display),yt(M.lazy)&&(yt(M.loaded)&&M.loaded&&(ue.noLazyChildren=!(M.children&&M.children.length)),ue.loading=M.loading)),z++,K.push(k(Se,x+z,ue)),M){const Y=_.value[ee]||Se[oe.value];J(Y,M)}})};M.display=!0;const ne=_.value[B]||P[oe.value];J(ne,M)}return K}else return k(P,x,void 0)},tooltipContent:f,tooltipTrigger:p}}const Nk={store:{required:!0,type:Object},stripe:Boolean,tooltipEffect:String,tooltipOptions:{type:Object},context:{default:()=>({}),type:Object},rowClassName:[String,Function],rowStyle:[Object,Function],fixed:{type:String,default:""},highlight:Boolean};var Tk=ie({name:"ElTableBody",props:Nk,setup(e){var t;const n=qe(),l=be(jn),a=ce("table"),{wrappedRowRender:s,tooltipContent:i,tooltipTrigger:r}=$k(e),{onColumnsChange:c,onScrollableChange:u}=pr(l),f=[];return le((t=e.store)==null?void 0:t.states.hoverRow,(p,h)=>{var m,d;const v=n==null?void 0:n.vnode.el,g=Array.from((v==null?void 0:v.children)||[]).filter(w=>w==null?void 0:w.classList.contains(`${a.e("row")}`));let b=p;const S=(m=g[b])==null?void 0:m.childNodes;if(S!=null&&S.length){let w=0;Array.from(S).reduce((k,N,T)=>{var P,x;return((P=S[T])==null?void 0:P.colSpan)>1&&(w=(x=S[T])==null?void 0:x.colSpan),N.nodeName!=="TD"&&w===0&&k.push(T),w>0&&w--,k},[]).forEach(k=>{var N;for(b=p;b>0;){const T=(N=g[b-1])==null?void 0:N.childNodes;if(T[k]&&T[k].nodeName==="TD"&&T[k].rowSpan>1){Bn(T[k],"hover-cell"),f.push(T[k]);break}b--}})}else f.forEach(w=>dn(w,"hover-cell")),f.length=0;!((d=e.store)!=null&&d.states.isComplex.value)||!st||Is(()=>{const w=g[h],C=g[p];w&&!w.classList.contains("hover-fixed-row")&&dn(w,"hover-row"),C&&Bn(C,"hover-row")})}),bo(()=>{var p;(p=rn)==null||p()}),{ns:a,onColumnsChange:c,onScrollableChange:u,wrappedRowRender:s,tooltipContent:i,tooltipTrigger:r}},render(){const{wrappedRowRender:e,store:t}=this,n=(t==null?void 0:t.states.data.value)||[];return Ie("tbody",{tabIndex:-1},[n.reduce((l,a)=>l.concat(e(a,l.length)),[])])}});function Pk(){const e=be(jn),t=e==null?void 0:e.store,n=y(()=>{var r;return(r=t==null?void 0:t.states.fixedLeafColumnsLength.value)!=null?r:0}),l=y(()=>{var r;return(r=t==null?void 0:t.states.rightFixedColumns.value.length)!=null?r:0}),a=y(()=>{var r;return(r=t==null?void 0:t.states.columns.value.length)!=null?r:0}),s=y(()=>{var r;return(r=t==null?void 0:t.states.fixedColumns.value.length)!=null?r:0}),i=y(()=>{var r;return(r=t==null?void 0:t.states.rightFixedColumns.value.length)!=null?r:0});return{leftFixedLeafCount:n,rightFixedLeafCount:l,columnsCount:a,leftFixedCount:s,rightFixedCount:i,columns:y(()=>{var r;return(r=t==null?void 0:t.states.columns.value)!=null?r:[]})}}function Ik(e){const{columns:t}=Pk(),n=ce("table");return{getCellClasses:(s,i)=>{const r=s[i],c=[n.e("cell"),r.id,r.align,r.labelClassName,...dr(n.b(),i,r.fixed,e.store)];return r.className&&c.push(r.className),r.children||c.push(n.is("leaf")),c},getCellStyles:(s,i)=>{const r=fr(i,s.fixed,e.store);return na(r,"left"),na(r,"right"),r},columns:t}}var xk=ie({name:"ElTableFooter",props:{fixed:{type:String,default:""},store:{required:!0,type:Object},summaryMethod:Function,sumText:String,border:Boolean,defaultSort:{type:Object,default:()=>({prop:"",order:""})}},setup(e){const t=be(jn),n=ce("table"),{getCellClasses:l,getCellStyles:a,columns:s}=Ik(e),{onScrollableChange:i,onColumnsChange:r}=pr(t);return{ns:n,onScrollableChange:i,onColumnsChange:r,getCellClasses:l,getCellStyles:a,columns:s}},render(){const{columns:e,getCellStyles:t,getCellClasses:n,summaryMethod:l,sumText:a}=this,s=this.store.states.data.value;let i=[];return l?i=l({columns:e,data:s}):e.forEach((r,c)=>{if(c===0){i[c]=a;return}const u=s.map(m=>Number(m[r.property])),f=[];let p=!0;u.forEach(m=>{if(!Number.isNaN(+m)){p=!1;const d=`${m}`.split(".")[1];f.push(d?d.length:0)}});const h=Math.max.apply(null,f);p?i[c]="":i[c]=u.reduce((m,d)=>{const v=Number(d);return Number.isNaN(+v)?m:Number.parseFloat((m+d).toFixed(Math.min(h,20)))},0)}),Ie(Ie("tfoot",[Ie("tr",{},[...e.map((r,c)=>Ie("td",{key:c,colspan:r.colSpan,rowspan:r.rowSpan,class:n(e,c),style:t(r,c)},[Ie("div",{class:["cell",r.labelClassName]},[i[c]])]))])]))}});function Ok(e){return{setCurrentRow:p=>{e.commit("setCurrentRow",p)},getSelectionRows:()=>e.getSelectionRows(),toggleRowSelection:(p,h,m=!0)=>{e.toggleRowSelection(p,h,!1,m),e.updateAllSelected()},clearSelection:()=>{e.clearSelection()},clearFilter:p=>{e.clearFilter(p)},toggleAllSelection:()=>{e.commit("toggleAllSelection")},toggleRowExpansion:(p,h)=>{e.toggleRowExpansionAdapter(p,h)},clearSort:()=>{e.clearSort()},sort:(p,h)=>{e.commit("sort",{prop:p,order:h})},updateKeyChildren:(p,h)=>{e.updateKeyChildren(p,h)}}}function Rk(e,t,n,l){const a=I(!1),s=I(null),i=I(!1),r=O=>{i.value=O},c=I({width:null,height:null,headerHeight:null}),u=I(!1),f={display:"inline-block",verticalAlign:"middle"},p=I(),h=I(0),m=I(0),d=I(0),v=I(0),g=I(0);le(()=>e.height,O=>{t.setHeight(O??null)},{immediate:!0}),le(()=>e.maxHeight,O=>{t.setMaxHeight(O??null)},{immediate:!0}),le(()=>[e.currentRowKey,n.states.rowKey],([O,R])=>{!o(R)||!o(O)||n.setCurrentRowKey(`${O}`)},{immediate:!0}),le(()=>e.data,O=>{l.store.commit("setData",O)},{immediate:!0,deep:!0}),Zn(()=>{e.expandRowKeys&&n.setExpandRowKeysAdapter(e.expandRowKeys)});const b=()=>{l.store.commit("setHoverRow",null),l.hoverState&&(l.hoverState=null)},S=(O,R)=>{const{pixelX:B,pixelY:M}=R;Math.abs(B)>=Math.abs(M)&&(l.refs.bodyWrapper.scrollLeft+=R.pixelX/5)},w=y(()=>e.height||e.maxHeight||n.states.fixedColumns.value.length>0||n.states.rightFixedColumns.value.length>0),C=y(()=>({width:t.bodyWidth.value?`${t.bodyWidth.value}px`:""})),k=()=>{w.value&&t.updateElsHeight(),t.updateColumnsWidth(),!(typeof window>"u")&&requestAnimationFrame(x)};Ze(async()=>{await Ee(),n.updateColumns(),D(),requestAnimationFrame(k);const O=l.vnode.el,R=l.refs.headerWrapper;e.flexible&&O&&O.parentElement&&(O.parentElement.style.minWidth="0"),c.value={width:p.value=O.offsetWidth,height:O.offsetHeight,headerHeight:e.showHeader&&R?R.offsetHeight:null},n.states.columns.value.forEach(B=>{B.filteredValue&&B.filteredValue.length&&l.store.commit("filterChange",{column:B,values:B.filteredValue,silent:!0})}),l.$ready=!0});const N=(O,R)=>{if(!O)return;const B=Array.from(O.classList).filter(M=>!M.startsWith("is-scrolling-"));B.push(t.scrollX.value?R:"is-scrolling-none"),O.className=B.join(" ")},T=O=>{const{tableWrapper:R}=l.refs;N(R,O)},P=O=>{const{tableWrapper:R}=l.refs;return!!(R&&R.classList.contains(O))},x=function(){if(!l.refs.scrollBarRef)return;if(!t.scrollX.value){const J="is-scrolling-none";P(J)||T(J);return}const O=l.refs.scrollBarRef.wrapRef;if(!O)return;const{scrollLeft:R,offsetWidth:B,scrollWidth:M}=O,{headerWrapper:F,footerWrapper:K}=l.refs;F&&(F.scrollLeft=R),K&&(K.scrollLeft=R);const z=M-B-1;R>=z?T("is-scrolling-right"):T(R===0?"is-scrolling-left":"is-scrolling-middle")},D=()=>{l.refs.scrollBarRef&&(l.refs.scrollBarRef.wrapRef&&$t(l.refs.scrollBarRef.wrapRef,"scroll",x,{passive:!0}),e.fit?Vt(l.vnode.el,W):$t(window,"resize",W),Vt(l.refs.tableInnerWrapper,()=>{var O,R;W(),(R=(O=l.refs)==null?void 0:O.scrollBarRef)==null||R.update()}))},W=()=>{var O,R,B,M;const F=l.vnode.el;if(!l.$ready||!F)return;let K=!1;const{width:z,height:J,headerHeight:ne}=c.value,fe=p.value=F.offsetWidth;z!==fe&&(K=!0);const se=F.offsetHeight;(e.height||w.value)&&J!==se&&(K=!0);const Se=e.tableLayout==="fixed"?l.refs.headerWrapper:(O=l.refs.tableHeaderRef)==null?void 0:O.$el;e.showHeader&&(Se==null?void 0:Se.offsetHeight)!==ne&&(K=!0),h.value=((R=l.refs.tableWrapper)==null?void 0:R.scrollHeight)||0,d.value=(Se==null?void 0:Se.scrollHeight)||0,v.value=((B=l.refs.footerWrapper)==null?void 0:B.offsetHeight)||0,g.value=((M=l.refs.appendWrapper)==null?void 0:M.offsetHeight)||0,m.value=h.value-d.value-v.value-g.value,K&&(c.value={width:fe,height:se,headerHeight:e.showHeader&&(Se==null?void 0:Se.offsetHeight)||0},k())},A=Gt(),V=y(()=>{const{bodyWidth:O,scrollY:R,gutterWidth:B}=t;return O.value?`${O.value-(R.value?B:0)}px`:""}),_=y(()=>e.maxHeight?"fixed":e.tableLayout),oe=y(()=>{if(e.data&&e.data.length)return;let O="100%";e.height&&m.value&&(O=`${m.value}px`);const R=p.value;return{width:R?`${R}px`:"",height:O}}),ve=y(()=>e.height?{height:"100%"}:e.maxHeight?Number.isNaN(Number(e.maxHeight))?{maxHeight:`calc(${e.maxHeight} - ${d.value+v.value}px)`}:{maxHeight:`${+e.maxHeight-d.value-v.value}px`}:{});return{isHidden:a,renderExpanded:s,setDragVisible:r,isGroup:u,handleMouseLeave:b,handleHeaderFooterMousewheel:S,tableSize:A,emptyBlockStyle:oe,resizeProxyVisible:i,bodyWidth:V,resizeState:c,doLayout:k,tableBodyStyles:C,tableLayout:_,scrollbarViewStyle:f,scrollbarStyle:ve}}function Mk(e){let t;const n=()=>{const a=e.vnode.el.querySelector(".hidden-columns"),s={childList:!0,subtree:!0},i=e.store.states.updateOrderFns;t=new MutationObserver(()=>{i.forEach(r=>r())}),t.observe(a,s)};Ze(()=>{n()}),bo(()=>{t==null||t.disconnect()})}var Dk={data:{type:Array,default:()=>[]},size:an,width:[String,Number],height:[String,Number],maxHeight:[String,Number],fit:{type:Boolean,default:!0},stripe:Boolean,border:Boolean,rowKey:[String,Function],showHeader:{type:Boolean,default:!0},showSummary:Boolean,sumText:String,summaryMethod:Function,rowClassName:[String,Function],rowStyle:[Object,Function],cellClassName:[String,Function],cellStyle:[Object,Function],headerRowClassName:[String,Function],headerRowStyle:[Object,Function],headerCellClassName:[String,Function],headerCellStyle:[Object,Function],highlightCurrentRow:Boolean,currentRowKey:[String,Number],emptyText:String,expandRowKeys:Array,defaultExpandAll:Boolean,rowExpandable:{type:Function},defaultSort:Object,tooltipEffect:String,tooltipOptions:Object,spanMethod:Function,selectOnIndeterminate:{type:Boolean,default:!0},indent:{type:Number,default:16},treeProps:{type:Object,default:()=>({hasChildren:"hasChildren",children:"children",checkStrictly:!1})},lazy:Boolean,load:Function,style:{type:[String,Object,Array],default:()=>({})},className:{type:String,default:""},tableLayout:{type:String,default:"fixed"},scrollbarAlwaysOn:Boolean,flexible:Boolean,showOverflowTooltip:{type:[Boolean,Object],default:void 0},tooltipFormatter:Function,appendFilterPanelTo:String,scrollbarTabindex:{type:[Number,String],default:void 0},allowDragLastColumn:{type:Boolean,default:!0},preserveExpandedContent:Boolean,nativeScrollbar:Boolean};function vd(e){const t=e.tableLayout==="auto";let n=e.columns||[];t&&n.every(({width:a})=>it(a))&&(n=[]);const l=a=>{const s={key:`${e.tableLayout}_${a.id}`,style:{},name:void 0};return t?s.style={width:`${a.width}px`}:s.name=a.id,s};return Ie("colgroup",{},n.map(a=>Ie("col",l(a))))}vd.props=["columns","tableLayout"];const Bk=()=>{const e=I(),t=(s,i)=>{const r=e.value;r&&r.scrollTo(s,i)},n=(s,i)=>{const r=e.value;r&&Ae(i)&&["Top","Left"].includes(s)&&r[`setScroll${s}`](i)};return{scrollBarRef:e,scrollTo:t,setScrollTop:s=>n("Top",s),setScrollLeft:s=>n("Left",s)}},no="_Mousewheel",bi=function(e,t){if(e&&e.addEventListener){pd(e);const n=function(l){const a=If(l);t&&Reflect.apply(t,this,[l,a])};e[no]={wheelHandler:n},e.addEventListener("wheel",n,{passive:!0})}},pd=e=>{var t;(t=e[no])!=null&&t.wheelHandler&&(e.removeEventListener("wheel",e[no].wheelHandler),e[no]=null)},Lk={beforeMount(e,t){bi(e,t.value)},unmounted(e){pd(e)},updated(e,t){t.value!==t.oldValue&&bi(e,t.value)}};let Ak=1;var Fk=ie({name:"ElTable",directives:{Mousewheel:Lk},components:{TableHeader:Ck,TableBody:Tk,TableFooter:xk,ElScrollbar:el,hColgroup:vd},props:Dk,emits:["select","select-all","selection-change","cell-mouse-enter","cell-mouse-leave","cell-contextmenu","cell-click","cell-dblclick","row-click","row-contextmenu","row-dblclick","header-click","header-contextmenu","sort-change","filter-change","current-change","header-dragend","expand-change","scroll"],setup(e){const{t}=at(),n=ce("table"),l=nl("table"),a=qe();et(jn,a);const s=ok(a,e);a.store=s;const i=new uk({store:a.store,table:a,fit:e.fit,showHeader:e.showHeader});a.layout=i;const r=y(()=>(s.states.data.value||[]).length===0),{setCurrentRow:c,getSelectionRows:u,toggleRowSelection:f,clearSelection:p,clearFilter:h,toggleAllSelection:m,toggleRowExpansion:d,clearSort:v,sort:g,updateKeyChildren:b}=Ok(s),{isHidden:S,renderExpanded:w,setDragVisible:C,isGroup:k,handleMouseLeave:N,handleHeaderFooterMousewheel:T,tableSize:P,emptyBlockStyle:x,resizeProxyVisible:D,bodyWidth:W,resizeState:A,doLayout:V,tableBodyStyles:_,tableLayout:oe,scrollbarViewStyle:ve,scrollbarStyle:O}=Rk(e,i,s,a),{scrollBarRef:R,scrollTo:B,setScrollLeft:M,setScrollTop:F}=Bk(),K=Jl(V,50),z=`${n.namespace.value}-table_${Ak++}`;a.tableId=z,a.state={isGroup:k,resizeState:A,doLayout:V,debouncedUpdateLayout:K};const J=y(()=>{var ue;return(ue=e.sumText)!=null?ue:t("el.table.sumText")}),ne=y(()=>{var ue;return(ue=e.emptyText)!=null?ue:t("el.table.emptyText")}),fe=y(()=>{var ue,ee;return(ee=e.tooltipEffect)!=null?ee:(ue=l.value)==null?void 0:ue.tooltipEffect}),se=y(()=>{var ue,ee;return(ee=e.tooltipOptions)!=null?ee:(ue=l.value)==null?void 0:ue.tooltipOptions}),Se=y(()=>fd(s.states.originColumns.value)[0]);return Mk(a),Et(()=>{K.cancel()}),{ns:n,layout:i,store:s,columns:Se,handleHeaderFooterMousewheel:T,handleMouseLeave:N,tableId:z,tableSize:P,isHidden:S,isEmpty:r,renderExpanded:w,resizeProxyVisible:D,resizeState:A,isGroup:k,bodyWidth:W,tableBodyStyles:_,emptyBlockStyle:x,debouncedUpdateLayout:K,setCurrentRow:c,getSelectionRows:u,toggleRowSelection:f,clearSelection:p,clearFilter:h,toggleAllSelection:m,toggleRowExpansion:d,clearSort:v,doLayout:V,sort:g,updateKeyChildren:b,t,setDragVisible:C,context:a,computedSumText:J,computedEmptyText:ne,computedTooltipEffect:fe,computedTooltipOptions:se,tableLayout:oe,scrollbarViewStyle:ve,scrollbarStyle:O,scrollBarRef:R,scrollTo:B,setScrollLeft:M,setScrollTop:F,allowDragLastColumn:e.allowDragLastColumn}}});const Vk=["data-prefix"],zk={ref:"hiddenColumns",class:"hidden-columns"};function Kk(e,t,n,l,a,s){const i=ot("hColgroup"),r=ot("table-header"),c=ot("table-body"),u=ot("table-footer"),f=ot("el-scrollbar"),p=zi("mousewheel");return E(),L("div",{ref:"tableWrapper",class:$([{[e.ns.m("fit")]:e.fit,[e.ns.m("striped")]:e.stripe,[e.ns.m("border")]:e.border||e.isGroup,[e.ns.m("hidden")]:e.isHidden,[e.ns.m("group")]:e.isGroup,[e.ns.m("fluid-height")]:e.maxHeight,[e.ns.m("scrollable-x")]:e.layout.scrollX.value,[e.ns.m("scrollable-y")]:e.layout.scrollY.value,[e.ns.m("enable-row-hover")]:!e.store.states.isComplex.value,[e.ns.m("enable-row-transition")]:(e.store.states.data.value||[]).length!==0&&(e.store.states.data.value||[]).length<100,"has-footer":e.showSummary},e.ns.m(e.tableSize),e.className,e.ns.b(),e.ns.m(`layout-${e.tableLayout}`)]),style:Fe(e.style),"data-prefix":e.ns.namespace.value,onMouseleave:t[1]||(t[1]=(...h)=>e.handleMouseLeave&&e.handleMouseLeave(...h))},[H("div",{ref:"tableInnerWrapper",class:$(e.ns.e("inner-wrapper"))},[H("div",zk,[X(e.$slots,"default")],512),e.showHeader&&e.tableLayout==="fixed"?Ue((E(),L("div",{key:0,ref:"headerWrapper",class:$(e.ns.e("header-wrapper"))},[H("table",{ref:"tableHeader",class:$(e.ns.e("header")),style:Fe(e.tableBodyStyles),border:"0",cellpadding:"0",cellspacing:"0"},[U(i,{columns:e.store.states.columns.value,"table-layout":e.tableLayout},null,8,["columns","table-layout"]),U(r,{ref:"tableHeaderRef",border:e.border,"default-sort":e.defaultSort,store:e.store,"append-filter-panel-to":e.appendFilterPanelTo,"allow-drag-last-column":e.allowDragLastColumn,onSetDragVisible:e.setDragVisible},null,8,["border","default-sort","store","append-filter-panel-to","allow-drag-last-column","onSetDragVisible"])],6)],2)),[[p,e.handleHeaderFooterMousewheel]]):G("v-if",!0),H("div",{ref:"bodyWrapper",class:$(e.ns.e("body-wrapper"))},[U(f,{ref:"scrollBarRef","view-style":e.scrollbarViewStyle,"wrap-style":e.scrollbarStyle,always:e.scrollbarAlwaysOn,tabindex:e.scrollbarTabindex,native:e.nativeScrollbar,onScroll:t[0]||(t[0]=h=>e.$emit("scroll",h))},{default:j(()=>[H("table",{ref:"tableBody",class:$(e.ns.e("body")),cellspacing:"0",cellpadding:"0",border:"0",style:Fe({width:e.bodyWidth,tableLayout:e.tableLayout})},[U(i,{columns:e.store.states.columns.value,"table-layout":e.tableLayout},null,8,["columns","table-layout"]),e.showHeader&&e.tableLayout==="auto"?(E(),Z(r,{key:0,ref:"tableHeaderRef",class:$(e.ns.e("body-header")),border:e.border,"default-sort":e.defaultSort,store:e.store,"append-filter-panel-to":e.appendFilterPanelTo,onSetDragVisible:e.setDragVisible},null,8,["class","border","default-sort","store","append-filter-panel-to","onSetDragVisible"])):G("v-if",!0),U(c,{context:e.context,highlight:e.highlightCurrentRow,"row-class-name":e.rowClassName,"tooltip-effect":e.computedTooltipEffect,"tooltip-options":e.computedTooltipOptions,"row-style":e.rowStyle,store:e.store,stripe:e.stripe},null,8,["context","highlight","row-class-name","tooltip-effect","tooltip-options","row-style","store","stripe"]),e.showSummary&&e.tableLayout==="auto"?(E(),Z(u,{key:1,class:$(e.ns.e("body-footer")),border:e.border,"default-sort":e.defaultSort,store:e.store,"sum-text":e.computedSumText,"summary-method":e.summaryMethod},null,8,["class","border","default-sort","store","sum-text","summary-method"])):G("v-if",!0)],6),e.isEmpty?(E(),L("div",{key:0,ref:"emptyBlock",style:Fe(e.emptyBlockStyle),class:$(e.ns.e("empty-block"))},[H("span",{class:$(e.ns.e("empty-text"))},[X(e.$slots,"empty",{},()=>[ut(he(e.computedEmptyText),1)])],2)],6)):G("v-if",!0),e.$slots.append?(E(),L("div",{key:1,ref:"appendWrapper",class:$(e.ns.e("append-wrapper"))},[X(e.$slots,"append")],2)):G("v-if",!0)]),_:3},8,["view-style","wrap-style","always","tabindex","native"])],2),e.showSummary&&e.tableLayout==="fixed"?Ue((E(),L("div",{key:1,ref:"footerWrapper",class:$(e.ns.e("footer-wrapper"))},[H("table",{class:$(e.ns.e("footer")),cellspacing:"0",cellpadding:"0",border:"0",style:Fe(e.tableBodyStyles)},[U(i,{columns:e.store.states.columns.value,"table-layout":e.tableLayout},null,8,["columns","table-layout"]),U(u,{border:e.border,"default-sort":e.defaultSort,store:e.store,"sum-text":e.computedSumText,"summary-method":e.summaryMethod},null,8,["border","default-sort","store","sum-text","summary-method"])],6)],2)),[[ht,!e.isEmpty],[p,e.handleHeaderFooterMousewheel]]):G("v-if",!0),e.border||e.isGroup?(E(),L("div",{key:2,class:$(e.ns.e("border-left-patch"))},null,2)):G("v-if",!0)],2),Ue(H("div",{ref:"resizeProxy",class:$(e.ns.e("column-resize-proxy"))},null,2),[[ht,e.resizeProxyVisible]])],46,Vk)}var Hk=_t(Fk,[["render",Kk]]);const Wk={selection:"table-column--selection",expand:"table__expand-column"},jk={default:{order:""},selection:{width:48,minWidth:48,realWidth:48,order:""},expand:{width:48,minWidth:48,realWidth:48,order:""},index:{width:48,minWidth:48,realWidth:48,order:""}},Yk=e=>Wk[e]||"",Uk={selection:{renderHeader({store:e}){var t;function n(){return e.states.data.value&&e.states.data.value.length===0}return Ie(Rl,{disabled:n(),size:e.states.tableSize.value,indeterminate:e.states.selection.value.length>0&&!e.states.isAllSelected.value,"onUpdate:modelValue":(t=e.toggleAllSelection)!=null?t:void 0,modelValue:e.states.isAllSelected.value,ariaLabel:e.t("el.table.selectAllLabel")})},renderCell({row:e,column:t,store:n,$index:l}){return Ie(Rl,{disabled:t.selectable?!t.selectable.call(null,e,l):!1,size:n.states.tableSize.value,onChange:()=>{n.commit("rowSelectedChanged",e)},onClick:a=>a.stopPropagation(),modelValue:n.isSelected(e),ariaLabel:n.t("el.table.selectRowLabel")})},sortable:!1,resizable:!1},index:{renderHeader({column:e}){return e.label||"#"},renderCell({column:e,$index:t}){let n=t+1;const l=e.index;return Ae(l)?n=t+l:Qe(l)&&(n=l(t)),Ie("div",{},[n])},sortable:!1},expand:{renderHeader({column:e}){return e.label||""},renderCell({column:e,row:t,store:n,expanded:l,$index:a}){var s,i,r;const{ns:c}=n,u=[c.e("expand-icon")];!e.renderExpand&&l&&u.push(c.em("expand-icon","expanded"));const f=function(h){h.stopPropagation(),n.toggleRowExpansion(t)},p=(r=(i=(s=n.states.rowExpandable).value)==null?void 0:i.call(s,t,a))!=null?r:!0;return p||u.push(c.is("disabled")),Ie("button",{type:"button",disabled:!p,"aria-label":n.t(l?"el.table.collapseRowLabel":"el.table.expandRowLabel"),"aria-expanded":l,class:u,onClick:f},{default:()=>e.renderExpand?[e.renderExpand({expanded:l,expandable:p})]:[Ie(we,null,{default:()=>[Ie(An)]})]})},sortable:!1,resizable:!1}};function qk({row:e,column:t,$index:n}){var l;const a=t.property,s=a&&dl(e,a).value;return t&&t.formatter?t.formatter(e,t,s,n):((l=s==null?void 0:s.toString)==null?void 0:l.call(s))||""}function Gk({row:e,treeNode:t,store:n},l=!1){const{ns:a}=n;if(!t)return l?[Ie("span",{class:a.e("placeholder")})]:null;const s=[],i=function(r){r.stopPropagation(),!t.loading&&n.loadOrToggle(e)};if(t.indent&&s.push(Ie("span",{class:a.e("indent"),style:{"padding-left":`${t.indent}px`}})),yt(t.expanded)&&!t.noLazyChildren){const r=[a.e("expand-icon"),t.expanded?a.em("expand-icon","expanded"):""];let c=An;t.loading&&(c=qn),s.push(Ie("button",{type:"button","aria-label":n.t(t.expanded?"el.table.collapseRowLabel":"el.table.expandRowLabel"),"aria-expanded":t.expanded,class:r,onClick:i},{default:()=>[Ie(we,{class:a.is("loading",t.loading)},{default:()=>[Ie(c)]})]}))}else s.push(Ie("span",{class:a.e("placeholder")}));return s}function yi(e,t){return e.reduce((n,l)=>(n[l]=l,n),t)}function _k(e,t){const n=qe();return{registerComplexWatchers:()=>{const s=["fixed"],i={realWidth:"width",realMinWidth:"minWidth"},r=yi(s,i);Object.keys(r).forEach(c=>{const u=i[c];Ut(t,u)&&le(()=>t[u],f=>{let p=f;u==="width"&&c==="realWidth"&&(p=cr(f)),u==="minWidth"&&c==="realMinWidth"&&(p=od(f)),n.columnConfig.value[u]=p,n.columnConfig.value[c]=p;const h=u==="fixed";e.value.store.scheduleLayout(h)})})},registerNormalWatchers:()=>{const s=["label","filters","filterMultiple","filteredValue","sortable","index","formatter","className","labelClassName","filterClassName","showOverflowTooltip","tooltipFormatter","resizable"],i=["showOverflowTooltip"],r={property:"prop",align:"realAlign",headerAlign:"realHeaderAlign"},c=yi(s,r);Object.keys(c).forEach(f=>{const p=r[f];Ut(t,p)&&le(()=>t[p],h=>{n.columnConfig.value[f]=h,(f==="filters"||f==="filterMethod")&&(n.columnConfig.value.filterable=!!(n.columnConfig.value.filters||n.columnConfig.value.filterMethod))})}),i.forEach(f=>{Ut(e.value.props,f)&&le(()=>e.value.props[f],p=>{n.columnConfig.value.type!=="selection"&&it(t[f])&&(n.columnConfig.value[f]=p)})});const u=nl("table");u.value&&Ut(u.value,"showOverflowTooltip")&&le(()=>{var f;return(f=u.value)==null?void 0:f.showOverflowTooltip},f=>{n.columnConfig.value.type!=="selection"&&(!it(t.showOverflowTooltip)||!it(e.value.props.showOverflowTooltip)||(n.columnConfig.value.showOverflowTooltip=f))})}}}function Xk(e,t,n){const l=qe(),a=I(""),s=I(!1),i=I(),r=I(),c=ce("table");Zn(()=>{i.value=e.align?`is-${e.align}`:null,i.value}),Zn(()=>{r.value=e.headerAlign?`is-${e.headerAlign}`:i.value,r.value});const u=y(()=>{let C=l.vnode.vParent||l.parent;for(;C&&!C.tableId&&!C.columnId;)C=C.vnode.vParent||C.parent;return C}),f=y(()=>{const{store:C}=l.parent;if(!C)return!1;const{treeData:k}=C.states,N=k.value;return N&&Object.keys(N).length>0}),p=I(cr(e.width)),h=I(od(e.minWidth)),m=C=>(p.value&&(C.width=p.value),h.value&&(C.minWidth=h.value),!p.value&&h.value&&(C.width=void 0),C.minWidth||(C.minWidth=80),C.realWidth=Number(it(C.width)?C.minWidth:C.width),C),d=C=>{const k=C.type,N=Uk[k]||{};Object.keys(N).forEach(P=>{const x=N[P];P!=="className"&&!it(x)&&(C[P]=x)});const T=Yk(k);if(T){const P=`${o(c.namespace)}-${T}`;C.className=C.className?`${C.className} ${P}`:P}return C},v=C=>{Pe(C)?C.forEach(N=>k(N)):k(C);function k(N){var T;((T=N==null?void 0:N.type)==null?void 0:T.name)==="ElTableColumn"&&(N.vParent=l)}};return{columnId:a,realAlign:i,isSubColumn:s,realHeaderAlign:r,columnOrTableParent:u,setColumnWidth:m,setColumnForcedProps:d,setColumnRenders:C=>{e.renderHeader||C.type!=="selection"&&(C.renderHeader=N=>{if(l.columnConfig.value.label,t.header){const T=t.header(N);if(id(T))return Ie(Re,T)}return ut(C.label)}),t["filter-icon"]&&(C.renderFilterIcon=N=>X(t,"filter-icon",N)),t.expand&&(C.renderExpand=N=>X(t,"expand",N));let k=C.renderCell;return C.type==="expand"?(C.renderCell=N=>Ie("div",{class:"cell"},[k(N)]),n.value.renderExpanded=N=>t.default?t.default(N):t.default):(k=k||qk,C.renderCell=N=>{let T=null;if(t.default){const V=t.default(N);T=V.some(_=>_.type!==Il)?V:k(N)}else T=k(N);const{columns:P}=n.value.store.states,x=P.value.findIndex(V=>V.type==="default"),D=f.value&&N.cellIndex===x,W=Gk(N,D),A={class:"cell",style:{}};return C.showOverflowTooltip&&(A.class=`${A.class} ${o(c.namespace)}-tooltip`,A.style={width:`${(N.column.realWidth||Number(N.column.width))-1}px`}),v(T),Ie("div",A,[W,T])}),C},getPropsData:(...C)=>C.reduce((k,N)=>(Pe(N)&&N.forEach(T=>{k[T]=e[T]}),k),{}),getColumnElIndex:(C,k)=>Array.prototype.indexOf.call(C,k),updateColumnOrder:()=>{n.value.store.commit("updateColumnOrder",l.columnConfig.value)}}}var Jk={type:{type:String,default:"default"},label:String,className:String,labelClassName:String,property:String,prop:String,width:{type:[String,Number],default:""},minWidth:{type:[String,Number],default:""},renderHeader:Function,sortable:{type:[Boolean,String],default:!1},sortMethod:Function,sortBy:[String,Function,Array],resizable:{type:Boolean,default:!0},columnKey:String,align:String,headerAlign:String,showOverflowTooltip:{type:[Boolean,Object],default:void 0},tooltipFormatter:Function,fixed:[Boolean,String],formatter:Function,selectable:Function,reserveSelection:Boolean,filterMethod:Function,filteredValue:Array,filters:Array,filterPlacement:String,filterMultiple:{type:Boolean,default:!0},filterClassName:String,index:[Number,Function],sortOrders:{type:Array,default:()=>["ascending","descending",null],validator:e=>e.every(t=>["ascending","descending",null].includes(t))}};let Zk=1;var md=ie({name:"ElTableColumn",components:{ElCheckbox:Rl},props:Jk,setup(e,{slots:t}){const n=qe(),l=nl("table"),a=I({}),s=y(()=>{let C=n.parent;for(;C&&!C.tableId;)C=C.parent;return C}),{registerNormalWatchers:i,registerComplexWatchers:r}=_k(s,e),{columnId:c,isSubColumn:u,realHeaderAlign:f,columnOrTableParent:p,setColumnWidth:h,setColumnForcedProps:m,setColumnRenders:d,getPropsData:v,getColumnElIndex:g,realAlign:b,updateColumnOrder:S}=Xk(e,t,s),w=p.value;c.value=`${"tableId"in w&&w.tableId||"columnId"in w&&w.columnId}_column_${Zk++}`,Cs(()=>{var C,k,N,T;u.value=s.value!==w;const P=e.type||"default",x=e.sortable===""?!0:e.sortable,D=P==="selection"?!1:it(e.showOverflowTooltip)?(k=w.props.showOverflowTooltip)!=null?k:(C=l.value)==null?void 0:C.showOverflowTooltip:e.showOverflowTooltip,W=it(e.tooltipFormatter)?(T=w.props.tooltipFormatter)!=null?T:(N=l.value)==null?void 0:N.tooltipFormatter:e.tooltipFormatter,A={...jk[P],id:c.value,type:P,property:e.prop||e.property,align:b,headerAlign:f,showOverflowTooltip:D,tooltipFormatter:W,filterable:e.filters||e.filterMethod,filteredValue:[],filterPlacement:"",filterClassName:"",isColumnGroup:!1,isSubColumn:!1,filterOpened:!1,sortable:x,index:e.index,rawColumnKey:n.vnode.key};let O=v(["columnKey","label","className","labelClassName","type","renderHeader","formatter","fixed","resizable"],["sortMethod","sortBy","sortOrders"],["selectable","reserveSelection"],["filterMethod","filters","filterMultiple","filterOpened","filteredValue","filterPlacement","filterClassName"]);O=qw(A,O),O=_w(d,h,m)(O),a.value=O,i(),r()}),Ze(()=>{var C,k;const N=p.value,T=u.value?(C=N.vnode.el)==null?void 0:C.children:(k=N.refs.hiddenColumns)==null?void 0:k.children,P=()=>g(T||[],n.vnode.el);a.value.getColumnIndex=P,P()>-1&&s.value.store.commit("insertColumn",a.value,u.value?"columnConfig"in N&&N.columnConfig.value:null,S)}),Et(()=>{const C=a.value.getColumnIndex;(C?C():-1)>-1&&s.value.store.commit("removeColumn",a.value,u.value?"columnConfig"in w&&w.columnConfig.value:null,S)}),n.columnId=c.value,n.columnConfig=a},render(){var e,t,n;try{const l=(t=(e=this.$slots).default)==null?void 0:t.call(e,{row:{},column:{},$index:-1}),a=[];if(Pe(l))for(const i of l)((n=i.type)==null?void 0:n.name)==="ElTableColumn"||i.shapeFlag&2?a.push(i):i.type===Re&&Pe(i.children)&&i.children.forEach(r=>{(r==null?void 0:r.patchFlag)!==1024&&!He(r==null?void 0:r.children)&&a.push(r)});return Ie("div",a)}catch{return Ie("div",[])}}});const i$=Ge(Hk,{TableColumn:md}),u$=At(md),Mo=Symbol("tabsRootContextKey"),Qk=me({tabs:{type:q(Array),default:()=>Yt([])},tabRefs:{type:q(Object),default:()=>Yt({})}}),Ci="ElTabBar";var eS=ie({name:Ci,__name:"tab-bar",props:Qk,setup(e,{expose:t}){const n=e,l=be(Mo);l||qt(Ci,"");const a=ce("tabs"),s=I(),i=I(),r=y(()=>{var m;return it(l.props.defaultValue)||!!((m=i.value)!=null&&m.transform)}),c=()=>{let m=0,d=0;const v=["top","bottom"].includes(l.props.tabPosition)?"width":"height",g=v==="width"?"x":"y",b=g==="x"?"left":"top";return n.tabs.every(S=>{if(it(S.paneName))return!1;const w=n.tabRefs[S.paneName];if(!w)return!1;if(!S.active)return!0;m=w[`offset${ul(b)}`],d=w[`client${ul(v)}`];const C=window.getComputedStyle(w);return v==="width"&&(d-=Number.parseFloat(C.paddingLeft)+Number.parseFloat(C.paddingRight),m+=Number.parseFloat(C.paddingLeft)),!1}),{[v]:`${d}px`,transform:`translate${ul(g)}(${m}px)`}},u=()=>i.value=c(),f=[],p=()=>{f.forEach(m=>m.stop()),f.length=0,Object.values(n.tabRefs).forEach(m=>{f.push(Vt(m,u))})};le(()=>n.tabs,async()=>{await Ee(),u(),p()},{immediate:!0});const h=Vt(s,()=>u());return Et(()=>{f.forEach(m=>m.stop()),f.length=0,h.stop()}),t({ref:s,update:u}),(m,d)=>r.value?(E(),L("div",{key:0,ref_key:"barRef",ref:s,class:$([o(a).e("active-bar"),o(a).is(o(l).props.tabPosition)]),style:Fe(i.value)},null,6)):G("v-if",!0)}});const tS=me({panes:{type:q(Array),default:()=>Yt([])},currentName:{type:[String,Number],default:""},editable:Boolean,type:{type:String,values:["card","border-card",""],default:""},stretch:Boolean,tabindex:{type:[String,Number],default:void 0}}),nS={tabClick:(e,t,n)=>n instanceof Event,tabRemove:(e,t)=>t instanceof Event},wi="ElTabNav",lS=ie({name:wi,props:tS,emits:nS,setup(e,{expose:t,emit:n}){const l=be(Mo);l||qt(wi,"");const a=ce("tabs"),s=ev(),i=lv(),r=I(),c=I(),u=I(),f=I({}),p=I(),h=I(!1),m=I(0),d=I(!1),v=I(!0),g=ln(),b=y(()=>["top","bottom"].includes(l.props.tabPosition)),S=y(()=>b.value?"width":"height"),w=y(()=>({transform:`translate${S.value==="width"?"X":"Y"}(-${m.value}px)`})),{width:C,height:k}=kr(r),{width:N,height:T}=kr(c,{width:0,height:0},{box:"border-box"}),P=y(()=>b.value?C.value:k.value),x=y(()=>b.value?N.value:T.value),{onWheel:D}=Pw({atStartEdge:y(()=>m.value<=0),atEndEdge:y(()=>x.value-m.value<=P.value),layout:y(()=>b.value?"horizontal":"vertical")},M=>{m.value=Xi(m.value+M,0,x.value-P.value)}),W=()=>{if(!r.value)return;const M=r.value[`offset${ul(S.value)}`],F=m.value;if(!F)return;const K=F>M?F-M:0;m.value=K},A=()=>{if(!r.value||!c.value)return;const M=c.value[`offset${ul(S.value)}`],F=r.value[`offset${ul(S.value)}`],K=m.value;if(M-K<=F)return;const z=M-K>F*2?K+F:M-F;m.value=z},V=async()=>{const M=c.value;if(!h.value||!u.value||!r.value||!M)return;await Ee();const F=f.value[e.currentName];if(!F)return;const K=r.value,z=F.getBoundingClientRect(),J=K.getBoundingClientRect(),ne=b.value?M.offsetWidth-J.width:M.offsetHeight-J.height,fe=m.value;let se=fe;b.value?(z.leftJ.right&&(se=fe+z.right-J.right)):(z.topJ.bottom&&(se=fe+(z.bottom-J.bottom))),se=Math.max(se,0),m.value=Math.min(se,ne)},_=()=>{var M;if(!c.value||!r.value)return;e.stretch&&((M=p.value)==null||M.update());const F=c.value[`offset${ul(S.value)}`],K=r.value[`offset${ul(S.value)}`],z=m.value;K0&&(m.value=0))},oe=M=>{const F=St(M);let K=0;switch(F){case de.left:case de.up:K=-1;break;case de.right:case de.down:K=1;break;default:return}const z=Array.from(M.currentTarget.querySelectorAll("[role=tab]:not(.is-disabled)"));let ne=z.indexOf(M.target)+K;ne<0?ne=z.length-1:ne>=z.length&&(ne=0),z[ne].focus({preventScroll:!0}),z[ne].click(),ve()},ve=()=>{v.value&&(d.value=!0)},O=()=>d.value=!1,R=(M,F)=>{f.value[F]=M},B=async()=>{await Ee();const M=f.value[e.currentName];M==null||M.focus({preventScroll:!0})};return le(s,M=>{M==="hidden"?v.value=!1:M==="visible"&&setTimeout(()=>v.value=!0,50)}),le(i,M=>{M?setTimeout(()=>v.value=!0,50):v.value=!1}),Vt(u,()=>{Is(_)}),Ze(()=>setTimeout(()=>V(),0)),Bl(()=>_()),t({scrollToActiveTab:V,removeFocus:O,focusActiveTab:B,tabListRef:c,tabBarRef:p,scheduleRender:()=>Ga(g)}),()=>{const M=h.value?[U("span",{class:[a.e("nav-prev"),a.is("disabled",!h.value.prev)],onClick:W},[U(we,null,{default:()=>[U(_l,null,null)]})]),U("span",{class:[a.e("nav-next"),a.is("disabled",!h.value.next)],onClick:A},[U(we,null,{default:()=>[U(An,null,null)]})])]:null,F=e.panes.map((K,z)=>{var J,ne,fe,se,Se;const ue=K.uid,ee=K.props.disabled,Y=(ne=(J=K.props.name)!=null?J:K.index)!=null?ne:`${z}`,re=!ee&&(K.isClosable||K.props.closable!==!1&&e.editable);K.index=`${z}`;const $e=re?U(we,{class:"is-icon-close",onClick:je=>n("tabRemove",K,je)},{default:()=>[U(Fn,null,null)]}):null,Le=((se=(fe=K.slots).label)==null?void 0:se.call(fe))||K.props.label,tt=!ee&&K.active?(Se=e.tabindex)!=null?Se:l.props.tabindex:-1;return U("div",{ref:je=>R(je,Y),class:[a.e("item"),a.is(l.props.tabPosition),a.is("active",K.active),a.is("disabled",ee),a.is("closable",re),a.is("focus",d.value)],id:`tab-${Y}`,key:`tab-${ue}`,"aria-controls":`pane-${Y}`,role:"tab","aria-selected":K.active,tabindex:tt,onFocus:()=>ve(),onBlur:()=>O(),onClick:je=>{O(),n("tabClick",K,Y,je)},onKeydown:je=>{const lt=St(je);re&&(lt===de.delete||lt===de.backspace)&&n("tabRemove",K,je)}},[Le,$e])});return g.value,U("div",{ref:u,class:[a.e("nav-wrap"),a.is("scrollable",!!h.value),a.is(l.props.tabPosition)]},[M,U("div",{class:a.e("nav-scroll"),ref:r},[e.panes.length>0?U("div",{class:[a.e("nav"),a.is(l.props.tabPosition),a.is("stretch",e.stretch&&["top","bottom"].includes(l.props.tabPosition))],ref:c,style:w.value,role:"tablist",onKeydown:oe,onWheel:D},[e.type?null:U(eS,{ref:p,tabs:[...e.panes],tabRefs:f.value},null),F]):null])])}}}),aS=me({type:{type:String,values:["card","border-card",""],default:""},closable:Boolean,addable:Boolean,modelValue:{type:[String,Number]},defaultValue:{type:[String,Number]},editable:Boolean,tabPosition:{type:String,values:["top","right","bottom","left"],default:"top"},beforeLeave:{type:q(Function),default:()=>!0},stretch:Boolean,tabindex:{type:[String,Number],default:0}}),_o=e=>He(e)||Ae(e),oS={[Ye]:e=>_o(e),tabClick:(e,t)=>t instanceof Event,tabChange:e=>_o(e),edit:(e,t)=>["remove","add"].includes(t),tabRemove:e=>_o(e),tabAdd:()=>!0},sS=ie({name:"ElTabs",props:aS,emits:oS,setup(e,{emit:t,slots:n,expose:l}){var a;const s=ce("tabs"),i=y(()=>["left","right"].includes(e.tabPosition)),{children:r,addChild:c,removeChild:u,ChildrenSorter:f}=Zu(qe(),"ElTabPane"),p=I(),h=I((a=it(e.modelValue)?e.defaultValue:e.modelValue)!=null?a:"0"),m=async(w,C=!1)=>{var k,N,T,P;if(!(h.value===w||it(w)))try{let x;if(e.beforeLeave){const D=e.beforeLeave(w,h.value);x=D instanceof Promise?await D:D}else x=!0;if(x!==!1){const D=(k=r.value.find(W=>W.paneName===h.value))==null?void 0:k.isFocusInsidePane();h.value=w,C&&(t(Ye,w),t("tabChange",w)),(T=(N=p.value)==null?void 0:N.removeFocus)==null||T.call(N),D&&((P=p.value)==null||P.focusActiveTab())}}catch{}},d=(w,C,k)=>{w.props.disabled||(t("tabClick",w,k),m(C,!0))},v=(w,C)=>{w.props.disabled||it(w.props.name)||(C.stopPropagation(),t("edit",w.props.name,"remove"),t("tabRemove",w.props.name))},g=()=>{t("edit",void 0,"add"),t("tabAdd")},b=w=>{const C=St(w);[de.enter,de.numpadEnter].includes(C)&&g()},S=w=>{const C=w.el.firstChild,k=["bottom","right"].includes(e.tabPosition)?w.children[0].el:w.children[1].el;C!==k&&C.before(k)};return le(()=>e.modelValue,w=>m(w)),le(h,async()=>{var w;await Ee(),(w=p.value)==null||w.scrollToActiveTab()}),et(Mo,{props:e,currentName:h,registerPane:c,unregisterPane:u,nav$:p}),l({currentName:h,get tabNavRef(){return Co(p.value,["scheduleRender"])}}),()=>{const w=n["add-icon"],C=e.editable||e.addable?U("div",{class:[s.e("new-tab"),i.value&&s.e("new-tab-vertical")],tabindex:e.tabindex,onClick:g,onKeydown:b},[w?X(n,"add-icon"):U(we,{class:s.is("icon-plus")},{default:()=>[U(_i,null,null)]})]):null,k=()=>U(lS,{ref:p,currentName:h.value,editable:e.editable,type:e.type,panes:r.value,stretch:e.stretch,onTabClick:d,onTabRemove:v},null),N=U("div",{class:[s.e("header"),i.value&&s.e("header-vertical"),s.is(e.tabPosition)]},[U(f,null,{default:k,$stable:!0}),C]),T=U("div",{class:s.e("content")},[X(n,"default")]);return U("div",{class:[s.b(),s.m(e.tabPosition),{[s.m("card")]:e.type==="card",[s.m("border-card")]:e.type==="border-card"}],onVnodeMounted:S,onVnodeUpdated:S},[T,N])}}}),rS=me({label:{type:String,default:""},name:{type:[String,Number]},closable:{type:Boolean,default:void 0},disabled:Boolean,lazy:Boolean}),iS=["id","aria-hidden","aria-labelledby"],ki="ElTabPane";var hd=ie({name:ki,__name:"tab-pane",props:rS,setup(e){const t=e,n=qe(),l=vn(),a=be(Mo);a||qt(ki,"usage: ");const s=ce("tab-pane"),i=I(),r=I(),c=y(()=>{var v;return(v=t.closable)!=null?v:a.props.closable}),u=y(()=>{var v;return a.currentName.value===((v=t.name)!=null?v:r.value)}),f=I(u.value),p=y(()=>{var v;return(v=t.name)!=null?v:r.value}),h=y(()=>!t.lazy||f.value||u.value),m=()=>{var v;return(v=i.value)==null?void 0:v.contains(document.activeElement)};le(u,v=>{v&&(f.value=!0)});const d=kt({uid:n.uid,getVnode:()=>n.vnode,slots:l,props:t,paneName:p,active:u,index:r,isClosable:c,isFocusInsidePane:m});return a.registerPane(d),Et(()=>{a.unregisterPane(d)}),Ki(()=>{var v;l.label&&((v=a.nav$.value)==null||v.scheduleRender())}),(v,g)=>h.value?Ue((E(),L("div",{key:0,id:`pane-${p.value}`,ref_key:"paneRef",ref:i,class:$(o(s).b()),role:"tabpanel","aria-hidden":!u.value,"aria-labelledby":`tab-${p.value}`},[X(v.$slots,"default")],10,iS)),[[ht,u.value]]):G("v-if",!0)}});const c$=Ge(sS,{TabPane:hd}),d$=At(hd),uS=me({type:{type:String,values:["primary","success","info","warning","danger",""],default:""},size:{type:String,values:Gn,default:""},truncated:Boolean,lineClamp:{type:[String,Number]},tag:{type:String,default:"span"}});var cS=ie({name:"ElText",__name:"text",props:uS,setup(e){const t=e,n=I(),l=Gt(),a=ce("text"),s=y(()=>[a.b(),a.m(t.type),a.m(l.value),a.is("truncated",t.truncated),a.is("line-clamp",!it(t.lineClamp))]),i=()=>{var r,c,u,f,p,h,m;if(yl().title)return;let v=!1;const g=((r=n.value)==null?void 0:r.textContent)||"";if(t.truncated){const b=(c=n.value)==null?void 0:c.offsetWidth,S=(u=n.value)==null?void 0:u.scrollWidth;b&&S&&S>b&&(v=!0)}else if(!it(t.lineClamp)){const b=(f=n.value)==null?void 0:f.offsetHeight,S=(p=n.value)==null?void 0:p.scrollHeight;b&&S&&S>b&&(v=!0)}v?(h=n.value)==null||h.setAttribute("title",g):(m=n.value)==null||m.removeAttribute("title")};return Ze(i),Bl(i),(r,c)=>(E(),Z(_e(e.tag),{ref_key:"textRef",ref:n,class:$(s.value),style:Fe({"-webkit-line-clamp":e.lineClamp})},{default:j(()=>[X(r.$slots,"default")]),_:3},8,["class","style"]))}});const dS=Ge(cS),gd="00:30",fS=me({format:{type:String,default:"HH:mm"},modelValue:{type:q(String)},disabled:{type:Boolean,default:void 0},editable:{type:Boolean,default:!0},effect:{type:q(String),default:"light"},clearable:{type:Boolean,default:!0},size:an,placeholder:String,start:{type:String,default:"09:00"},end:{type:String,default:"18:00"},step:{type:String,default:gd},minTime:{type:q(String)},maxTime:{type:q(String)},includeEndTime:Boolean,name:String,prefixIcon:{type:q([String,Object]),default:()=>qi},clearIcon:{type:q([String,Object]),default:()=>Cl},popperClass:{type:String,default:""},popperStyle:{type:q([String,Object])},...aa}),_n=e=>{const t=(e||"").split(":");if(t.length>=2){let n=Number.parseInt(t[0],10);const l=Number.parseInt(t[1],10),a=e.toUpperCase();return a.includes("AM")&&n===12?n=0:a.includes("PM")&&n!==12&&(n+=12),{hours:n,minutes:l}}return null},Xo=(e,t)=>{const n=_n(e);if(!n)return-1;const l=_n(t);if(!l)return-1;const a=n.minutes+n.hours*60,s=l.minutes+l.hours*60;return a===s?0:a>s?1:-1},Si=e=>`${e}`.padStart(2,"0"),Wl=e=>`${Si(e.hours)}:${Si(e.minutes)}`,vS=(e,t)=>{const n=_n(e);if(!n)return"";const l=_n(t);if(!l)return"";const a={hours:n.hours,minutes:n.minutes};return a.minutes+=l.minutes,a.hours+=l.hours,a.hours+=Math.floor(a.minutes/60),a.minutes=a.minutes%60,Wl(a)};var pS=ie({name:"ElTimeSelect",__name:"time-select",props:fS,emits:[dt,"blur","focus","clear",Ye],setup(e,{expose:t}){Be.extend(Es);const{Option:n}=Ca,l=e,a=ce("input"),s=I(),i=Dt(),{lang:r}=at(),c=y(()=>l.modelValue),u=y(()=>{const b=_n(l.start);return b?Wl(b):null}),f=y(()=>{const b=_n(l.end);return b?Wl(b):null}),p=y(()=>{const b=_n(l.minTime||"");return b?Wl(b):null}),h=y(()=>{const b=_n(l.maxTime||"");return b?Wl(b):null}),m=y(()=>{const b=_n(l.step);return!b||b.hours<0||b.minutes<0||Number.isNaN(b.hours)||Number.isNaN(b.minutes)||b.hours===0&&b.minutes===0?gd:Wl(b)}),d=y(()=>{var b;const S=[],w=(C,k)=>{S.push({value:C,rawValue:k,disabled:Xo(k,p.value||"-1:-1")<=0||Xo(k,h.value||"100:100")>=0})};if(l.start&&l.end&&l.step){let C=u.value,k;for(;C&&f.value&&Xo(C,f.value)<=0;)k=Be(C,"HH:mm").locale(r.value).format(l.format),w(k,C),C=vS(C,m.value);if(l.includeEndTime&&f.value&&((b=S[S.length-1])==null?void 0:b.rawValue)!==f.value){const N=Be(f.value,"HH:mm").locale(r.value).format(l.format);w(N,f.value)}}return S});return t({blur:()=>{var b,S;(S=(b=s.value)==null?void 0:b.blur)==null||S.call(b)},focus:()=>{var b,S;(S=(b=s.value)==null?void 0:b.focus)==null||S.call(b)}}),(b,S)=>(E(),Z(o(Ca),{ref_key:"select",ref:s,name:e.name,"model-value":c.value,disabled:o(i),clearable:e.clearable,"clear-icon":e.clearIcon,size:e.size,effect:e.effect,placeholder:e.placeholder,"default-first-option":"",filterable:e.editable,"empty-values":e.emptyValues,"value-on-clear":e.valueOnClear,"popper-class":e.popperClass,"popper-style":e.popperStyle,"onUpdate:modelValue":S[0]||(S[0]=w=>b.$emit(o(Ye),w)),onChange:S[1]||(S[1]=w=>b.$emit(o(dt),w)),onBlur:S[2]||(S[2]=w=>b.$emit("blur",w)),onFocus:S[3]||(S[3]=w=>b.$emit("focus",w)),onClear:S[4]||(S[4]=()=>b.$emit("clear"))},{prefix:j(()=>[e.prefixIcon?(E(),Z(o(we),{key:0,class:$(o(a).e("prefix-icon"))},{default:j(()=>[(E(),Z(_e(e.prefixIcon)))]),_:1},8,["class"])):G("v-if",!0)]),default:j(()=>[(E(!0),L(Re,null,rt(d.value,w=>(E(),Z(o(n),{key:w.value,label:w.value,value:w.value,disabled:w.disabled},null,8,["label","value","disabled"]))),128))]),_:1},8,["name","model-value","disabled","clearable","clear-icon","size","effect","placeholder","filterable","empty-values","value-on-clear","popper-class","popper-style"]))}});const f$=Ge(pS),bd="timeline",mS=me({mode:{type:String,values:["start","alternate","alternate-reverse","end"],default:"start"},reverse:Boolean}),hS=ie({name:"ElTimeline",props:mS,setup(e,{slots:t}){const n=ce("timeline");et(bd,{props:e,slots:t});const l=y(()=>[n.b(),n.is(e.mode)]);return()=>{var a,s;const i=Vn((s=(a=t.default)==null?void 0:a.call(t))!=null?s:[]);return Ie("ul",{class:l.value},e.reverse?i.reverse():i)}}}),gS=me({timestamp:{type:String,default:""},hideTimestamp:Boolean,center:Boolean,placement:{type:String,values:["top","bottom"],default:"bottom"},type:{type:String,values:["primary","success","warning","danger","info"],default:""},color:{type:String,default:""},size:{type:String,values:["normal","large"],default:"normal"},icon:{type:Ct},hollow:Boolean});var yd=ie({name:"ElTimelineItem",__name:"timeline-item",props:gS,setup(e){const t=e,{props:n}=be(bd),l=ce("timeline-item"),a=y(()=>[l.e("node"),l.em("node",t.size||""),l.em("node",t.type||""),l.is("hollow",t.hollow)]),s=y(()=>[l.b(),{[l.e("center")]:t.center},l.is(n.mode)]);return(i,r)=>(E(),L("li",{class:$(s.value)},[H("div",{class:$(o(l).e("tail"))},null,2),i.$slots.dot?G("v-if",!0):(E(),L("div",{key:0,class:$(a.value),style:Fe({backgroundColor:e.color})},[e.icon?(E(),Z(o(we),{key:0,class:$(o(l).e("icon"))},{default:j(()=>[(E(),Z(_e(e.icon)))]),_:1},8,["class"])):G("v-if",!0)],6)),i.$slots.dot?(E(),L("div",{key:1,class:$(o(l).e("dot"))},[X(i.$slots,"dot")],2)):G("v-if",!0),H("div",{class:$(o(l).e("wrapper"))},[!e.hideTimestamp&&e.placement==="top"?(E(),L("div",{key:0,class:$([o(l).e("timestamp"),o(l).is("top")])},he(e.timestamp),3)):G("v-if",!0),H("div",{class:$(o(l).e("content"))},[X(i.$slots,"default")],2),!e.hideTimestamp&&e.placement==="bottom"?(E(),L("div",{key:1,class:$([o(l).e("timestamp"),o(l).is("bottom")])},he(e.timestamp),3)):G("v-if",!0)],2)],2))}});const v$=Ge(hS,{TimelineItem:yd}),p$=At(yd),Ul="$treeNodeId",Ei=function(e,t){!t||t[Ul]||Object.defineProperty(t,Ul,{value:e.id,enumerable:!1,configurable:!1,writable:!1})},mr=(e,t)=>t==null?void 0:t[e||Ul],ms=(e,t,n)=>{const l=e.value.currentNode;n();const a=e.value.currentNode;l!==a&&t("current-change",a?a.data:null,a)};var bS=Object.defineProperty,yS=(e,t,n)=>t in e?bS(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Qt=(e,t,n)=>yS(e,typeof t!="symbol"?t+"":t,n);const Cd=e=>{let t=!0,n=!0,l=!0,a=!0;for(let s=0,i=e.length;s{n.canFocus=t,hs(n.childNodes,t)})};let CS=0;class Pl{constructor(t){Qt(this,"id"),Qt(this,"text"),Qt(this,"checked"),Qt(this,"indeterminate"),Qt(this,"data"),Qt(this,"expanded"),Qt(this,"parent"),Qt(this,"visible"),Qt(this,"isCurrent"),Qt(this,"store"),Qt(this,"isLeafByUser"),Qt(this,"isLeaf"),Qt(this,"canFocus"),Qt(this,"level"),Qt(this,"loaded"),Qt(this,"childNodes"),Qt(this,"loading"),Qt(this,"isEffectivelyChecked",!1),this.id=CS++,this.text=null,this.checked=!1,this.indeterminate=!1,this.data=null,this.expanded=!1,this.parent=null,this.visible=!0,this.isCurrent=!1,this.canFocus=!1;for(const n in t)Ut(t,n)&&(this[n]=t[n]);this.level=0,this.loaded=!1,this.childNodes=[],this.loading=!1,this.parent&&(this.level=this.parent.level+1)}initialize(){var t;const n=this.store;if(!n)throw new Error("[Node]store is required!");n.registerNode(this);const l=n.props;if(l&&typeof l.isLeaf<"u"){const i=ja(this,"isLeaf");yt(i)&&(this.isLeafByUser=i)}if(n.lazy!==!0&&this.data?(this.setData(this.data),n.defaultExpandAll&&(this.expanded=!0,this.canFocus=!0)):this.level>0&&n.lazy&&n.defaultExpandAll&&!this.isLeafByUser&&this.expand(),Pe(this.data)||Ei(this,this.data),!this.data)return;const a=n.defaultExpandedKeys,s=n.key;s&&!Mt(this.key)&&a&&a.includes(this.key)&&this.expand(null,n.autoExpandParent),s&&n.currentNodeKey!==void 0&&this.key===n.currentNodeKey&&(n.currentNode&&(n.currentNode.isCurrent=!1),n.currentNode=this,n.currentNode.isCurrent=!0),n.lazy&&n._initDefaultCheckedNode(this),this.updateLeafState(),(this.level===1||((t=this.parent)==null?void 0:t.expanded)===!0)&&(this.canFocus=!0)}setData(t){Pe(t)||Ei(this,t),this.data=t,this.childNodes=[];let n;this.level===0&&Pe(this.data)?n=this.data:n=ja(this,"children")||[];for(let l=0,a=n.length;l-1)return t.childNodes[n+1]}return null}get previousSibling(){const t=this.parent;if(t){const n=t.childNodes.indexOf(this);if(n>-1)return n>0?t.childNodes[n-1]:null}return null}contains(t,n=!0){return(this.childNodes||[]).some(l=>l===t||n&&l.contains(t))}remove(){const t=this.parent;t&&t.removeChild(this)}insertChild(t,n,l){if(!t)throw new Error("InsertChild error: child is required.");if(!(t instanceof Pl)){if(!l){const a=this.getChildren(!0);a!=null&&a.includes(t.data)||(it(n)||n<0?a==null||a.push(t.data):a==null||a.splice(n,0,t.data))}Object.assign(t,{parent:this,store:this.store}),t=kt(new Pl(t)),t instanceof Pl&&t.initialize()}t.level=this.level+1,it(n)||n<0?this.childNodes.push(t):this.childNodes.splice(n,0,t),this.updateLeafState()}insertBefore(t,n){let l;n&&(l=this.childNodes.indexOf(n)),this.insertChild(t,l)}insertAfter(t,n){let l;n&&(l=this.childNodes.indexOf(n),l!==-1&&(l+=1)),this.insertChild(t,l)}removeChild(t){const n=this.getChildren()||[],l=n.indexOf(t.data);l>-1&&n.splice(l,1);const a=this.childNodes.indexOf(t);a>-1&&(this.store&&this.store.deregisterNode(t),t.parent=null,this.childNodes.splice(a,1)),this.updateLeafState()}removeChildByData(t){const n=this.childNodes.find(l=>l.data===t);n&&this.removeChild(n)}expand(t,n){const l=()=>{if(n){let a=this.parent;for(;a&&a.level>0;)a.expanded=!0,a=a.parent}this.expanded=!0,t&&t(),hs(this.childNodes,!0)};this.shouldLoadData()?this.loadData(a=>{Pe(a)&&(this.checked?this.setChecked(!0,!0):this.store.checkStrictly||da(this),l())}):l()}doCreateChildren(t,n={}){t.forEach(l=>{this.insertChild(Object.assign({data:l},n),void 0,!0)})}collapse(){this.expanded=!1,hs(this.childNodes,!1)}shouldLoadData(){return!!(this.store.lazy===!0&&this.store.load&&!this.loaded)}updateLeafState(){if(this.store.lazy===!0&&this.loaded!==!0&&typeof this.isLeafByUser<"u"){this.isLeaf=this.isLeafByUser,this.isEffectivelyChecked=this.isLeaf&&this.disabled;return}const t=this.childNodes;if(!this.store.lazy||this.store.lazy===!0&&this.loaded===!0){this.isLeaf=!t||t.length===0,this.isEffectivelyChecked=this.isLeaf&&this.disabled;return}this.isLeaf=!1}setChecked(t,n,l,a){if(this.indeterminate=t==="half",this.checked=t===!0,this.isEffectivelyChecked=!this.childNodes.length&&(this.disabled||this.checked),this.store.checkStrictly)return;if(!(this.shouldLoadData()&&!this.store.checkDescendants)){const i=()=>{if(n){const r=this.childNodes;for(let p=0,h=r.length;p{i(),da(this)},{checked:t!==!1});return}else i()}const s=this.parent;!s||s.level===0||l||da(s)}getChildren(t=!1){if(this.level===0)return this.data;const n=this.data;if(!n)return null;const l=this.store.props;let a="children";return l&&(a=l.children||"children"),it(n[a])&&(n[a]=null),t&&!n[a]&&(n[a]=[]),n[a]}updateChildren(){const t=this.getChildren()||[],n=this.childNodes.map(s=>s.data),l={},a=[];t.forEach((s,i)=>{const r=s[Ul];!!r&&n.some(u=>(u==null?void 0:u[Ul])===r)?l[r]={index:i,data:s}:a.push({index:i,data:s})}),this.store.lazy||n.forEach(s=>{l[s==null?void 0:s[Ul]]||this.removeChildByData(s)}),a.forEach(({index:s,data:i})=>{this.insertChild({data:i},s)}),this.updateLeafState()}loadData(t,n={}){if(this.store.lazy===!0&&this.store.load&&!this.loaded&&(!this.loading||Object.keys(n).length)){this.loading=!0;const l=s=>{this.childNodes=[],this.doCreateChildren(s,n),this.loaded=!0,this.loading=!1,this.updateLeafState(),t&&t.call(this,s)},a=()=>{this.loading=!1};this.store.load(this,l,a)}else t&&t.call(this)}eachNode(t){const n=[this];for(;n.length;){const l=n.shift();n.unshift(...l.childNodes),t(l)}}reInitChecked(){this.store.checkStrictly||da(this)}}var wS=Object.defineProperty,kS=(e,t,n)=>t in e?wS(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,on=(e,t,n)=>kS(e,typeof t!="symbol"?t+"":t,n);class SS{constructor(t){on(this,"currentNode"),on(this,"currentNodeKey"),on(this,"nodesMap"),on(this,"root"),on(this,"data"),on(this,"lazy",!1),on(this,"load"),on(this,"filterNodeMethod"),on(this,"key"),on(this,"defaultCheckedKeys"),on(this,"checkStrictly",!1),on(this,"defaultExpandedKeys"),on(this,"autoExpandParent",!1),on(this,"defaultExpandAll",!1),on(this,"checkDescendants",!1),on(this,"props"),this.currentNode=null,this.currentNodeKey=null;for(const n in t)Ut(t,n)&&(this[n]=t[n]);this.nodesMap={}}initialize(){if(this.root=new Pl({data:this.data,store:this}),this.root.initialize(),this.lazy&&this.load){const t=this.load;t(this.root,n=>{this.root.doCreateChildren(n),this._initDefaultCheckedNodes()},Tt)}else this._initDefaultCheckedNodes()}filter(t){const n=this.filterNodeMethod,l=this.lazy,a=async function(s){const i=s.root?s.root.childNodes:s.childNodes;for(const[r,c]of i.entries())c.visible=!!(n!=null&&n.call(c,t,c.data,c)),r%80===0&&r>0&&await Ee(),await a(c);if(!s.visible&&i.length){let r=!0;r=!i.some(c=>c.visible),s.root?s.root.visible=r===!1:s.visible=r===!1}t&&s.visible&&!s.isLeaf&&(!l||s.loaded)&&s.expand()};a(this)}setData(t){t!==this.root.data?(this.nodesMap={},this.root.setData(t),this._initDefaultCheckedNodes(),this.setCurrentNodeKey(this.currentNodeKey)):this.root.updateChildren()}getNode(t){if(t instanceof Pl)return t;const n=gt(t)?mr(this.key,t):t;return this.nodesMap[n]||null}insertBefore(t,n){var l;const a=this.getNode(n);(l=a.parent)==null||l.insertBefore({data:t},a)}insertAfter(t,n){var l;const a=this.getNode(n);(l=a.parent)==null||l.insertAfter({data:t},a)}remove(t){const n=this.getNode(t);n&&n.parent&&(n===this.currentNode&&(this.currentNode=null),n.parent.removeChild(n))}append(t,n){const l=Nn(n)?this.root:this.getNode(n);l&&l.insertChild({data:t})}_initDefaultCheckedNodes(){const t=this.defaultCheckedKeys||[],n=this.nodesMap;t.forEach(l=>{const a=n[l];a&&a.setChecked(!0,!this.checkStrictly)})}_initDefaultCheckedNode(t){const n=this.defaultCheckedKeys||[];!Mt(t.key)&&n.includes(t.key)&&t.setChecked(!0,!this.checkStrictly)}setDefaultCheckedKey(t){t!==this.defaultCheckedKeys&&(this.defaultCheckedKeys=t,this._initDefaultCheckedNodes())}registerNode(t){const n=this.key;if(!(!t||!t.data))if(!n)this.nodesMap[t.id]=t;else{const l=t.key;Mt(l)||(this.nodesMap[l]=t)}}deregisterNode(t){!this.key||!t||!t.data||(t.childNodes.forEach(l=>{this.deregisterNode(l)}),delete this.nodesMap[t.key])}getCheckedNodes(t=!1,n=!1){const l=[],a=function(s){(s.root?s.root.childNodes:s.childNodes).forEach(r=>{(r.checked||n&&r.indeterminate)&&(!t||t&&r.isLeaf)&&l.push(r.data),a(r)})};return a(this),l}getCheckedKeys(t=!1){return this.getCheckedNodes(t).map(n=>(n||{})[this.key])}getHalfCheckedNodes(){const t=[],n=function(l){(l.root?l.root.childNodes:l.childNodes).forEach(s=>{s.indeterminate&&t.push(s.data),n(s)})};return n(this),t}getHalfCheckedKeys(){return this.getHalfCheckedNodes().map(t=>(t||{})[this.key])}_getAllNodes(){const t=[],n=this.nodesMap;for(const l in n)Ut(n,l)&&t.push(n[l]);return t}updateChildren(t,n){const l=this.nodesMap[t];if(!l)return;const a=l.childNodes;for(let s=a.length-1;s>=0;s--){const i=a[s];this.remove(i.data)}for(let s=0,i=n.length;sc.level-u.level),s=Object.create(null),i=Object.keys(l);a.forEach(c=>c.setChecked(!1,!1));const r=c=>{c.childNodes.forEach(u=>{var f;s[u.data[t]]=!0,(f=u.childNodes)!=null&&f.length&&r(u)})};for(let c=0,u=a.length;c{g.isLeaf||g.setChecked(!1,!1),m(g)})};m(f)}}}setCheckedNodes(t,n=!1){const l=this.key,a={};t.forEach(s=>{a[(s||{})[l]]=!0}),this._setCheckedKeys(l,n,a)}setCheckedKeys(t,n=!1){this.defaultCheckedKeys=t;const l=this.key,a={};t.forEach(s=>{a[s]=!0}),this._setCheckedKeys(l,n,a)}setDefaultExpandedKeys(t){t=t||[],this.defaultExpandedKeys=t,t.forEach(n=>{const l=this.getNode(n);l&&l.expand(null,this.autoExpandParent)})}setChecked(t,n,l){const a=this.getNode(t);a&&a.setChecked(!!n,l)}getCurrentNode(){return this.currentNode}setCurrentNode(t){const n=this.currentNode;n&&(n.isCurrent=!1),this.currentNode=t,this.currentNode.isCurrent=!0}setUserCurrentNode(t,n=!0){var l;const a=t[this.key],s=this.nodesMap[a];this.setCurrentNode(s),n&&this.currentNode&&this.currentNode.level>1&&((l=this.currentNode.parent)==null||l.expand(null,!0))}setCurrentNodeKey(t,n=!0){var l;if(this.currentNodeKey=t,Nn(t)){this.currentNode&&(this.currentNode.isCurrent=!1),this.currentNode=null;return}const a=this.getNode(t);a&&(this.setCurrentNode(a),n&&this.currentNode&&this.currentNode.level>1&&((l=this.currentNode.parent)==null||l.expand(null,!0)))}}const hr="RootTree",wd="NodeInstance",$i="TreeNodeMap";var ES=ie({name:"ElTreeNodeContent",props:{node:{type:Object,required:!0},renderContent:Function},setup(e){const t=ce("tree"),n=be(wd),l=be(hr);return()=>{const a=e.node,{data:s,store:i}=a;return e.renderContent?e.renderContent(Ie,{_self:n,node:a,data:s,store:i}):X(l.ctx.slots,"default",{node:a,data:s},()=>[Ie(dS,{tag:"span",truncated:!0,class:t.be("node","label")},()=>[a.label])])}}});function kd(e){const t=be($i,null);let n={treeNodeExpand:l=>{var a;e.node!==l&&((a=e.node)==null||a.collapse())},children:new Set};return t&&t.children.add(n),Et(()=>{t&&t.children.delete(n),n=null}),et($i,n),{broadcastExpanded:l=>{if(e.accordion)for(const a of n.children)a.treeNodeExpand(l)}}}const Sd=Symbol("dragEvents");function $S({props:e,ctx:t,el$:n,dropIndicator$:l,store:a}){const s=ce("tree"),i=I({showDropIndicator:!1,draggingNode:null,dropNode:null,allowDrop:!0,dropType:null});return et(Sd,{treeNodeDragStart:({event:f,treeNode:p})=>{if(f.dataTransfer){if(Qe(e.allowDrag)&&!e.allowDrag(p.node))return f.preventDefault(),!1;f.dataTransfer.effectAllowed="move";try{f.dataTransfer.setData("text/plain","")}catch{}i.value.draggingNode=p,t.emit("node-drag-start",p.node,f)}},treeNodeDragOver:({event:f,treeNode:p})=>{if(!f.dataTransfer)return;const h=p,m=i.value.dropNode;m&&m.node.id!==h.node.id&&dn(m.$el,s.is("drop-inner"));const d=i.value.draggingNode;if(!d||!h)return;let v=!0,g=!0,b=!0,S=!0;Qe(e.allowDrop)&&(v=e.allowDrop(d.node,h.node,"prev"),S=g=e.allowDrop(d.node,h.node,"inner"),b=e.allowDrop(d.node,h.node,"next")),f.dataTransfer.dropEffect=g||v||b?"move":"none",(v||g||b)&&(m==null?void 0:m.node.id)!==h.node.id&&(m&&t.emit("node-drag-leave",d.node,m.node,f),t.emit("node-drag-enter",d.node,h.node,f)),v||g||b?i.value.dropNode=h:i.value.dropNode=null,h.node.nextSibling===d.node&&(b=!1),h.node.previousSibling===d.node&&(v=!1),h.node.contains(d.node,!1)&&(g=!1),(d.node===h.node||d.node.contains(h.node))&&(v=!1,g=!1,b=!1);const w=h.$el,C=w.querySelector(`.${s.be("node","content")}`).getBoundingClientRect(),k=n.value.getBoundingClientRect(),N=n.value.scrollTop;let T;const P=v?g?.25:b?.45:1:Number.NEGATIVE_INFINITY,x=b?g?.75:v?.55:0:Number.POSITIVE_INFINITY;let D=-9999;const W=f.clientY-C.top;WC.height*x?T="after":g?T="inner":T="none";const A=w.querySelector(`.${s.be("node","expand-icon")}`).getBoundingClientRect(),V=l.value;T==="before"?D=A.top-k.top+N:T==="after"&&(D=A.bottom-k.top+N),V.style.top=`${D}px`,V.style.left=`${A.right-k.left}px`,T==="inner"?Bn(w,s.is("drop-inner")):dn(w,s.is("drop-inner")),i.value.showDropIndicator=T==="before"||T==="after",i.value.allowDrop=i.value.showDropIndicator||S,i.value.dropType=T,t.emit("node-drag-over",d.node,h.node,f)},treeNodeDragEnd:f=>{var p,h;const{draggingNode:m,dropType:d,dropNode:v}=i.value;if(f.preventDefault(),f.dataTransfer&&(f.dataTransfer.dropEffect="move"),m!=null&&m.node.data&&v){const g={data:m.node.data};d!=="none"&&m.node.remove(),d==="before"?(p=v.node.parent)==null||p.insertBefore(g,v.node):d==="after"?(h=v.node.parent)==null||h.insertAfter(g,v.node):d==="inner"&&v.node.insertChild(g),d!=="none"&&(a.value.registerNode(g),a.value.key&&m.node.eachNode(b=>{var S;(S=a.value.nodesMap[b.data[a.value.key]])==null||S.setChecked(b.checked,!a.value.checkStrictly)})),dn(v.$el,s.is("drop-inner")),t.emit("node-drag-end",m.node,v.node,d,f),d!=="none"&&t.emit("node-drop",m.node,v.node,d,f)}m&&!v&&t.emit("node-drag-end",m.node,null,d,f),i.value.showDropIndicator=!1,i.value.draggingNode=null,i.value.dropNode=null,i.value.allowDrop=!0}}),{dragState:i}}var NS=ie({name:"ElTreeNode",components:{ElCollapseTransition:Ys,ElCheckbox:Rl,NodeContent:ES,ElIcon:we,Loading:qn},props:{node:{type:Pl,default:()=>({})},props:{type:Object,default:()=>({})},accordion:Boolean,renderContent:Function,renderAfterExpand:Boolean,showCheckbox:Boolean},emits:["node-expand"],setup(e,t){const n=ce("tree"),{broadcastExpanded:l}=kd(e),a=be(hr),s=I(!1),i=I(!1),r=I(),c=I(),u=I(),f=be(Sd),p=qe();et(wd,p),e.node.expanded&&(s.value=!0,i.value=!0);const h=a.props.props.children||"children";le(()=>{var x;const D=(x=e.node.data)==null?void 0:x[h];return D&&[...D]},()=>{e.node.updateChildren()}),le(()=>e.node.indeterminate,x=>{v(e.node.checked,x)}),le(()=>e.node.checked,x=>{v(x,e.node.indeterminate)}),le(()=>e.node.childNodes.length,()=>e.node.reInitChecked()),le(()=>e.node.expanded,x=>{Ee(()=>s.value=x),x&&(i.value=!0)});const m=x=>a.props.nodeKey?mr(a.props.nodeKey,x.data):x.id,d=x=>{const D=e.props.class;if(!D)return{};let W;if(Qe(D)){const{data:A}=x;W=D(A,x)}else W=D;return He(W)?{[W]:!0}:W},v=(x,D)=>{(r.value!==x||c.value!==D)&&a.ctx.emit("check-change",e.node.data,x,D),r.value=x,c.value=D},g=x=>{ms(a.store,a.ctx.emit,()=>{var D;if((D=a==null?void 0:a.props)==null?void 0:D.nodeKey){const A=m(e.node);a.store.value.setCurrentNodeKey(A)}else a.store.value.setCurrentNode(e.node)}),a.currentNode.value=e.node,a.props.expandOnClickNode&&S(),(a.props.checkOnClickNode||e.node.isLeaf&&a.props.checkOnClickLeaf&&e.showCheckbox)&&!e.node.disabled&&w(!e.node.checked),a.ctx.emit("node-click",e.node.data,e.node,p,x)},b=x=>{var D;(D=a.instance.vnode.props)!=null&&D.onNodeContextmenu&&(x.stopPropagation(),x.preventDefault()),a.ctx.emit("node-contextmenu",x,e.node.data,e.node,p)},S=()=>{e.node.isLeaf||(s.value?(a.ctx.emit("node-collapse",e.node.data,e.node,p),e.node.collapse()):e.node.expand(()=>{t.emit("node-expand",e.node.data,e.node,p)}))},w=x=>{const D=a==null?void 0:a.props.checkStrictly,W=e.node.childNodes;!D&&W.length&&(x=W.some(A=>!A.isEffectivelyChecked)),e.node.setChecked(x,!D),Ee(()=>{const A=a.store.value;a.ctx.emit("check",e.node.data,{checkedNodes:A.getCheckedNodes(),checkedKeys:A.getCheckedKeys(),halfCheckedNodes:A.getHalfCheckedNodes(),halfCheckedKeys:A.getHalfCheckedKeys()})})};return{ns:n,node$:u,tree:a,expanded:s,childNodeRendered:i,oldChecked:r,oldIndeterminate:c,getNodeKey:m,getNodeClass:d,handleSelectChange:v,handleClick:g,handleContextMenu:b,handleExpandIconClick:S,handleCheckChange:w,handleChildNodeExpand:(x,D,W)=>{l(D),a.ctx.emit("node-expand",x,D,W)},handleDragStart:x=>{a.props.draggable&&f.treeNodeDragStart({event:x,treeNode:e})},handleDragOver:x=>{x.preventDefault(),a.props.draggable&&f.treeNodeDragOver({event:x,treeNode:{$el:u.value,node:e.node}})},handleDrop:x=>{x.preventDefault()},handleDragEnd:x=>{a.props.draggable&&f.treeNodeDragEnd(x)},CaretRight:ff}}});const TS=["aria-expanded","aria-disabled","aria-checked","draggable","data-key"],PS=["aria-expanded"];function IS(e,t,n,l,a,s){const i=ot("el-icon"),r=ot("el-checkbox"),c=ot("loading"),u=ot("node-content"),f=ot("el-tree-node"),p=ot("el-collapse-transition");return Ue((E(),L("div",{ref:"node$",class:$([e.ns.b("node"),e.ns.is("expanded",e.expanded),e.ns.is("current",e.node.isCurrent),e.ns.is("hidden",!e.node.visible),e.ns.is("focusable",!e.node.disabled),e.ns.is("checked",!e.node.disabled&&e.node.checked),e.getNodeClass(e.node)]),role:"treeitem",tabindex:"-1","aria-expanded":e.expanded,"aria-disabled":e.node.disabled,"aria-checked":e.node.checked,draggable:e.tree.props.draggable,"data-key":e.getNodeKey(e.node),onClick:t[2]||(t[2]=Ke((...h)=>e.handleClick&&e.handleClick(...h),["stop"])),onContextmenu:t[3]||(t[3]=(...h)=>e.handleContextMenu&&e.handleContextMenu(...h)),onDragstart:t[4]||(t[4]=Ke((...h)=>e.handleDragStart&&e.handleDragStart(...h),["stop"])),onDragover:t[5]||(t[5]=Ke((...h)=>e.handleDragOver&&e.handleDragOver(...h),["stop"])),onDragend:t[6]||(t[6]=Ke((...h)=>e.handleDragEnd&&e.handleDragEnd(...h),["stop"])),onDrop:t[7]||(t[7]=Ke((...h)=>e.handleDrop&&e.handleDrop(...h),["stop"]))},[H("div",{class:$(e.ns.be("node","content")),style:Fe({paddingLeft:(e.node.level-1)*e.tree.props.indent+"px"})},[e.tree.props.icon||e.CaretRight?(E(),Z(i,{key:0,class:$([e.ns.be("node","expand-icon"),e.ns.is("leaf",e.node.isLeaf),{expanded:!e.node.isLeaf&&e.expanded}]),onClick:Ke(e.handleExpandIconClick,["stop"])},{default:j(()=>[(E(),Z(_e(e.tree.props.icon||e.CaretRight)))]),_:1},8,["class","onClick"])):G("v-if",!0),e.showCheckbox?(E(),Z(r,{key:1,"model-value":e.node.checked,indeterminate:e.node.indeterminate,disabled:!!e.node.disabled,onClick:t[0]||(t[0]=Ke(()=>{},["stop"])),onChange:e.handleCheckChange},null,8,["model-value","indeterminate","disabled","onChange"])):G("v-if",!0),e.node.loading?(E(),Z(i,{key:2,class:$([e.ns.be("node","loading-icon"),e.ns.is("loading")])},{default:j(()=>[U(c)]),_:1},8,["class"])):G("v-if",!0),U(u,{node:e.node,"render-content":e.renderContent},null,8,["node","render-content"])],6),U(p,null,{default:j(()=>[!e.renderAfterExpand||e.childNodeRendered?Ue((E(),L("div",{key:0,class:$(e.ns.be("node","children")),role:"group","aria-expanded":e.expanded,onClick:t[1]||(t[1]=Ke(()=>{},["stop"]))},[(E(!0),L(Re,null,rt(e.node.childNodes,h=>(E(),Z(f,{key:e.getNodeKey(h),"render-content":e.renderContent,"render-after-expand":e.renderAfterExpand,"show-checkbox":e.showCheckbox,node:h,accordion:e.accordion,props:e.props,onNodeExpand:e.handleChildNodeExpand},null,8,["render-content","render-after-expand","show-checkbox","node","accordion","props","onNodeExpand"]))),128))],10,PS)),[[ht,e.expanded]]):G("v-if",!0)]),_:1})],42,TS)),[[ht,e.node.visible]])}var xS=_t(NS,[["render",IS]]);function OS({el$:e},t){const n=ce("tree");Ze(()=>{s()}),Bl(()=>{var i;(i=e.value)==null||i.querySelectorAll("input[type=checkbox]").forEach(r=>{r.setAttribute("tabindex","-1")})});function l(i,r){var c,u;const f=t.value.getNode(i[r].dataset.key);return f.canFocus&&f.visible&&(((c=f.parent)==null?void 0:c.expanded)||((u=f.parent)==null?void 0:u.level)===0)}$t(e,"keydown",i=>{const r=i.target;if(!r.className.includes(n.b("node")))return;const c=St(i),u=Array.from(e.value.querySelectorAll(`.${n.is("focusable")}[role=treeitem]`)),f=u.indexOf(r);let p;if([de.up,de.down].includes(c)){if(i.preventDefault(),c===de.up){p=f===-1?0:f!==0?f-1:u.length-1;const m=p;for(;!l(u,p);){if(p--,p===m){p=-1;break}p<0&&(p=u.length-1)}}else{p=f===-1?0:f=u.length&&(p=0)}}p!==-1&&u[p].focus()}[de.left,de.right].includes(c)&&(i.preventDefault(),r.click());const h=r.querySelector('[type="checkbox"]');[de.enter,de.numpadEnter,de.space].includes(c)&&h&&(i.preventDefault(),h.click())});const s=()=>{var i;if(!e.value)return;const r=Array.from(e.value.querySelectorAll(`.${n.is("focusable")}[role=treeitem]`));Array.from(e.value.querySelectorAll("input[type=checkbox]")).forEach(f=>{f.setAttribute("tabindex","-1")});const u=e.value.querySelectorAll(`.${n.is("checked")}[role=treeitem]`);if(u.length){u[0].setAttribute("tabindex","0");return}(i=r[0])==null||i.setAttribute("tabindex","0")}}const Ed=me({data:{type:q(Array),default:()=>[]},emptyText:{type:String},renderAfterExpand:{type:Boolean,default:!0},nodeKey:String,checkStrictly:Boolean,defaultExpandAll:Boolean,expandOnClickNode:{type:Boolean,default:!0},checkOnClickNode:Boolean,checkOnClickLeaf:{type:Boolean,default:!0},checkDescendants:Boolean,autoExpandParent:{type:Boolean,default:!0},defaultCheckedKeys:{type:Array},defaultExpandedKeys:{type:Array},currentNodeKey:{type:[String,Number]},renderContent:{type:q(Function)},showCheckbox:Boolean,draggable:Boolean,allowDrag:{type:q(Function)},allowDrop:{type:q(Function)},props:{type:Object,default:()=>({children:"children",label:"label",disabled:"disabled"})},lazy:Boolean,highlightCurrent:Boolean,load:{type:Function},filterNodeMethod:{type:Function},accordion:Boolean,indent:{type:Number,default:18},icon:{type:Ct}}),RS={"check-change":(e,t,n)=>e&&yt(t)&&yt(n),"current-change":(e,t)=>!0,"node-click":(e,t,n,l)=>e&&t&&l instanceof Event,"node-contextmenu":(e,t,n,l)=>e instanceof Event&&t&&n,"node-collapse":(e,t,n)=>e&&t,"node-expand":(e,t,n)=>e&&t,check:(e,t)=>e&&t,"node-drag-start":(e,t)=>e&&t,"node-drag-end":(e,t,n,l)=>e&&l,"node-drop":(e,t,n,l)=>e&&t&&l,"node-drag-leave":(e,t,n)=>e&&t&&n,"node-drag-enter":(e,t,n)=>e&&t&&n,"node-drag-over":(e,t,n)=>e&&t&&n};var MS=ie({name:"ElTree",components:{ElTreeNode:xS},props:Ed,emits:RS,setup(e,t){const{t:n}=at(),l=ce("tree"),a=I(new SS({key:e.nodeKey,data:e.data,lazy:e.lazy,props:e.props,load:e.load,currentNodeKey:e.currentNodeKey,checkStrictly:e.checkStrictly,checkDescendants:e.checkDescendants,defaultCheckedKeys:e.defaultCheckedKeys,defaultExpandedKeys:e.defaultExpandedKeys,autoExpandParent:e.autoExpandParent,defaultExpandAll:e.defaultExpandAll,filterNodeMethod:e.filterNodeMethod}));a.value.initialize();const s=I(a.value.root),i=I(null),r=I(null),c=I(null),{broadcastExpanded:u}=kd(e),{dragState:f}=$S({props:e,ctx:t,el$:r,dropIndicator$:c,store:a});OS({el$:r},a);const p=qe(),h=y(()=>{let M=p==null?void 0:p.parent;for(;M;){if(M.type.name==="ElTreeSelect")return!0;M=M.parent}return!1}),m=y(()=>{const{childNodes:M}=s.value;return(!M||M.length===0||M.every(({visible:F})=>!F))&&!h.value});le(()=>e.currentNodeKey,M=>{a.value.setCurrentNodeKey(M??null)}),le(()=>e.defaultCheckedKeys,(M,F)=>{Rt(M,F)||a.value.setDefaultCheckedKey(M??[])}),le(()=>e.defaultExpandedKeys,M=>{a.value.setDefaultExpandedKeys(M??[])}),le(()=>e.data,M=>{a.value.setData(M)},{deep:!0}),le(()=>e.checkStrictly,M=>{a.value.checkStrictly=M});const d=M=>{if(!e.filterNodeMethod)throw new Error("[Tree] filterNodeMethod is required when filter");a.value.filter(M)},v=M=>e.nodeKey?mr(e.nodeKey,M.data):M.id,g=M=>{if(!e.nodeKey)throw new Error(`[Tree] nodeKey is required in ${M}`)},b=M=>{g("getNodePath");const F=a.value.getNode(M);if(!F)return[];const K=[F.data];let z=F.parent;for(;z&&z!==s.value;)K.push(z.data),z=z.parent;return K.reverse()},S=(M,F)=>a.value.getCheckedNodes(M,F),w=M=>a.value.getCheckedKeys(M),C=()=>{const M=a.value.getCurrentNode();return M?M.data:null},k=()=>{g("getCurrentKey");const M=C();return M?M[e.nodeKey]:null},N=(M,F)=>{g("setCheckedNodes"),a.value.setCheckedNodes(M,F)},T=(M,F)=>{g("setCheckedKeys"),a.value.setCheckedKeys(M,F)},P=(M,F,K)=>{a.value.setChecked(M,F,K)},x=()=>a.value.getHalfCheckedNodes(),D=()=>a.value.getHalfCheckedKeys(),W=(M,F=!0)=>{g("setCurrentNode"),ms(a,t.emit,()=>{u(M),a.value.setUserCurrentNode(M,F)})},A=(M=null,F=!0)=>{g("setCurrentKey"),ms(a,t.emit,()=>{u(),a.value.setCurrentNodeKey(M,F)})},V=M=>a.value.getNode(M),_=M=>{a.value.remove(M)},oe=(M,F)=>{a.value.append(M,F)},ve=(M,F)=>{a.value.insertBefore(M,F)},O=(M,F)=>{a.value.insertAfter(M,F)},R=(M,F,K)=>{u(F),t.emit("node-expand",M,F,K)},B=(M,F)=>{g("updateKeyChildren"),a.value.updateChildren(M,F)};return et(hr,{ctx:t,props:e,store:a,root:s,currentNode:i,instance:p}),et(bl,void 0),{ns:l,store:a,root:s,currentNode:i,dragState:f,el$:r,dropIndicator$:c,isEmpty:m,filter:d,getNodeKey:v,getNodePath:b,getCheckedNodes:S,getCheckedKeys:w,getCurrentNode:C,getCurrentKey:k,setCheckedNodes:N,setCheckedKeys:T,setChecked:P,getHalfCheckedNodes:x,getHalfCheckedKeys:D,setCurrentNode:W,setCurrentKey:A,t:n,getNode:V,remove:_,append:oe,insertBefore:ve,insertAfter:O,handleNodeExpand:R,updateKeyChildren:B}}});function DS(e,t,n,l,a,s){const i=ot("el-tree-node");return E(),L("div",{ref:"el$",class:$([e.ns.b(),e.ns.is("dragging",!!e.dragState.draggingNode),e.ns.is("drop-not-allow",!e.dragState.allowDrop),e.ns.is("drop-inner",e.dragState.dropType==="inner"),{[e.ns.m("highlight-current")]:e.highlightCurrent}]),role:"tree"},[(E(!0),L(Re,null,rt(e.root.childNodes,r=>(E(),Z(i,{key:e.getNodeKey(r),node:r,props:e.props,accordion:e.accordion,"render-after-expand":e.renderAfterExpand,"show-checkbox":e.showCheckbox,"render-content":e.renderContent,onNodeExpand:e.handleNodeExpand},null,8,["node","props","accordion","render-after-expand","show-checkbox","render-content","onNodeExpand"]))),128)),e.isEmpty?(E(),L("div",{key:0,class:$(e.ns.e("empty-block"))},[X(e.$slots,"empty",{},()=>{var r;return[H("span",{class:$(e.ns.e("empty-text"))},he((r=e.emptyText)!=null?r:e.t("el.tree.emptyText")),3)]})],2)):G("v-if",!0),Ue(H("div",{ref:"dropIndicator$",class:$(e.ns.e("drop-indicator"))},null,2),[[ht,e.dragState.showDropIndicator]])],2)}var BS=_t(MS,[["render",DS]]);const $d=Ge(BS),LS=(e,{attrs:t,emit:n},{select:l,tree:a,key:s})=>{const i=ce("tree-select");le(()=>e.data,()=>{e.filterable&&Ee(()=>{var u,f;(f=a.value)==null||f.filter((u=l.value)==null?void 0:u.states.inputValue)})},{flush:"post"});const r=u=>{var f;const p=u.at(-1);if(p.expanded&&p.childNodes.at(-1))r([p.childNodes.at(-1)]);else{const h=(f=a.value.el$)==null?void 0:f.querySelector(`[data-key="${u.at(-1).key}"]`);h==null||h.focus({preventScroll:!0});return}};return Ze(()=>{$t(()=>{var u;return(u=l.value)==null?void 0:u.$el},"keydown",async u=>{const f=St(u),{dropdownMenuVisible:p}=l.value;[de.down,de.up].includes(f)&&p&&(await Ee(),setTimeout(()=>{var h,m,d;if(de.up===f){const v=a.value.store.root.childNodes;r(v);return}(d=(m=(h=l.value.optionsArray[l.value.states.hoveringIndex].$el)==null?void 0:h.parentNode)==null?void 0:m.parentNode)==null||d.focus({preventScroll:!0})}))},{capture:!0})}),{...hl(Mn(e),Object.keys(Ca.props)),...t,class:y(()=>t.class),style:y(()=>t.style),"onUpdate:modelValue":u=>n(Ye,u),valueKey:s,popperClass:y(()=>{const u=[i.e("popper")];return e.popperClass&&u.push(e.popperClass),u.join(" ")}),filterMethod:(u="")=>{var f;e.filterMethod?e.filterMethod(u):e.remoteMethod?e.remoteMethod(u):(f=a.value)==null||f.filter(u)}}},AS=ie({extends:ss,setup(e,t){const n=ss.setup(e,t);delete n.selectOptionClick;const l=qe().proxy;return Ee(()=>{n.select.states.cachedOptions.get(l.value)||n.select.onOptionCreate(l)}),le(()=>t.attrs.visible,a=>{Ee(()=>{n.states.visible=a})},{immediate:!0}),n},methods:{selectOptionClick(){this.$el.parentElement.click()}}});function gs(e){return e||e===0}function gr(e){return Pe(e)&&e.length}function Kl(e){return Pe(e)?e:gs(e)?[e]:[]}function lo(e,t,n,l,a){for(let s=0;s{le([()=>e.modelValue,s],()=>{e.showCheckbox&&Ee(()=>{const d=s.value;d&&!Rt(d.getCheckedKeys(),Kl(e.modelValue))&&d.setCheckedKeys(Kl(e.modelValue))})},{immediate:!0,deep:!0});const r=y(()=>({value:i.value,label:"label",children:"children",disabled:"disabled",isLeaf:"isLeaf",...e.props})),c=(d,v)=>{var g;const b=r.value[d];return Qe(b)?b(v,(g=s.value)==null?void 0:g.getNode(c("value",v))):v[b]},u=Kl(e.modelValue).map(d=>lo(e.data||[],v=>c("value",v)===d,v=>c("children",v),(v,g,b,S)=>S&&c("value",S))).filter(d=>gs(d)),f=y(()=>{if(!e.renderAfterExpand&&!e.lazy)return[];const d=[];return ao(e.data.concat(e.cacheData),v=>{const g=c("value",v);d.push({value:g,currentLabel:c("label",v),isDisabled:c("disabled",v)})},v=>c("children",v)),d}),p=()=>{var d;return(d=s.value)==null?void 0:d.getCheckedKeys().filter(v=>{var g;const b=(g=s.value)==null?void 0:g.getNode(v);return!Mt(b)&&xl(b.childNodes)})},h=d=>{Rt(e.modelValue,d)||l(dt,d)};function m(d){l(Ye,d),h(d)}return{...hl(Mn(e),Object.keys($d.props)),...t,nodeKey:i,expandOnClickNode:y(()=>!e.checkStrictly&&e.expandOnClickNode),defaultExpandedKeys:y(()=>e.defaultExpandedKeys?e.defaultExpandedKeys.concat(u):u),renderContent:(d,{node:v,data:g,store:b})=>d(AS,{value:c("value",g),label:c("label",g),disabled:c("disabled",g),visible:v.visible},e.renderContent?()=>e.renderContent(d,{node:v,data:g,store:b}):n.default?()=>n.default({node:v,data:g,store:b}):void 0),filterNodeMethod:(d,v,g)=>e.filterNodeMethod?e.filterNodeMethod(d,v,g):d?new RegExp(_u(d),"i").test(c("label",v)||""):!0,onNodeClick:(d,v,g)=>{var b,S,w;if((b=t.onNodeClick)==null||b.call(t,d,v,g),!(e.showCheckbox&&e.checkOnClickNode))if(!e.showCheckbox&&(e.checkStrictly||v.isLeaf)){if(!c("disabled",d)){const C=(S=a.value)==null?void 0:S.states.options.get(c("value",d));(w=a.value)==null||w.handleOptionSelect(C)}}else e.expandOnClickNode&&g.proxy.handleExpandIconClick()},onCheck:(d,v)=>{var g;if(!e.showCheckbox)return;const b=c("value",d),S={};ao([s.value.store.root],N=>S[N.key]=N,N=>N.childNodes);const w=v.checkedKeys,C=e.multiple?Kl(e.modelValue).filter(N=>!(N in S)&&!w.includes(N)):[],k=C.concat(w);if(e.checkStrictly)m(e.multiple?k:k.includes(b)?b:void 0);else if(e.multiple){const N=p();m(C.concat(N))}else{const N=lo([d],x=>!gr(c("children",x))&&!c("disabled",x),x=>c("children",x)),T=N?c("value",N):void 0,P=gs(e.modelValue)&&!!lo([d],x=>c("value",x)===e.modelValue,x=>c("children",x));m(T===e.modelValue||P?void 0:T)}Ee(()=>{var N;const T=Kl(e.modelValue);s.value.setCheckedKeys(T),(N=t.onCheck)==null||N.call(t,d,{checkedKeys:s.value.getCheckedKeys(),checkedNodes:s.value.getCheckedNodes(),halfCheckedKeys:s.value.getHalfCheckedKeys(),halfCheckedNodes:s.value.getHalfCheckedNodes()})}),(g=a.value)==null||g.focus()},onNodeExpand:(d,v,g)=>{var b;(b=t.onNodeExpand)==null||b.call(t,d,v,g),Ee(()=>{if(!e.checkStrictly&&e.lazy&&e.multiple&&v.checked){const S={},w=s.value.getCheckedKeys();ao([s.value.store.root],N=>S[N.key]=N,N=>N.childNodes);const C=Kl(e.modelValue).filter(N=>!(N in S)&&!w.includes(N)),k=p();m(C.concat(k))}})},cacheOptions:f}};var VS=ie({props:{data:{type:Array,default:()=>[]}},setup(e){const t=be(xa);return le(()=>e.data,()=>{var n;e.data.forEach(a=>{t.states.cachedOptions.has(a.value)||t.states.cachedOptions.set(a.value,a)});const l=((n=t.selectRef)==null?void 0:n.querySelectorAll("input"))||[];st&&!Array.from(l).includes(document.activeElement)&&t.setSelected()},{flush:"post",immediate:!0}),()=>{}}}),zS=ie({name:"ElTreeSelect",inheritAttrs:!1,props:{...Ju,...Ed,cacheData:{type:Array,default:()=>[]}},setup(e,t){const{slots:n,expose:l,emit:a,attrs:s}=t,i={...s,onChange:void 0},r=I(),c=I(),u=y(()=>e.nodeKey||e.valueKey||"value"),f=LS(e,{attrs:s,emit:a},{select:r,tree:c,key:u}),{cacheOptions:p,...h}=FS(e,{attrs:i,slots:n,emit:a},{select:r,tree:c,key:u}),m=kt({});return l(m),Ze(()=>{Object.assign(m,{...hl(c.value,["filter","updateKeyChildren","getCheckedNodes","setCheckedNodes","getCheckedKeys","setCheckedKeys","setChecked","getHalfCheckedNodes","getHalfCheckedKeys","getCurrentKey","getCurrentNode","setCurrentKey","setCurrentNode","getNode","remove","append","insertBefore","insertAfter"]),...hl(r.value,["focus","blur","selectedLabel"]),treeRef:c.value,selectRef:r.value})}),()=>Ie(Ca,kt({...f,ref:d=>r.value=d}),{...n,default:()=>[Ie(VS,{data:p.value}),Ie($d,kt({...h,ref:d=>c.value=d}))]})}});const m$=Ge(zS);var KS=Object.defineProperty,HS=(e,t,n)=>t in e?KS(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Ya=(e,t,n)=>HS(e,typeof t!="symbol"?t+"":t,n);const WS="ElUpload";class jS extends Error{constructor(t,n,l,a){super(t),Ya(this,"name","UploadAjaxError"),Ya(this,"status"),Ya(this,"method"),Ya(this,"url"),this.status=n,this.method=l,this.url=a}}function Ni(e,t,n){let l;return n.response?l=`${n.response.error||n.response}`:n.responseText?l=`${n.responseText}`:l=`fail to ${t.method} ${e} ${n.status}`,new jS(l,n.status,t.method,e)}function YS(e){const t=e.responseText||e.response;if(!t)return t;try{return JSON.parse(t)}catch{return t}}const US=e=>{typeof XMLHttpRequest>"u"&&qt(WS,"XMLHttpRequest is undefined");const t=new XMLHttpRequest,n=e.action;t.upload&&t.upload.addEventListener("progress",s=>{const i=s;i.percent=s.total>0?s.loaded/s.total*100:0,e.onProgress(i)});const l=new FormData;if(e.data)for(const[s,i]of Object.entries(e.data))Pe(i)?i.length===2&&i[0]instanceof Blob&&He(i[1])?l.append(s,i[0],i[1]):i.forEach(r=>{l.append(s,r)}):l.append(s,i);l.append(e.filename,e.file,e.file.name),t.addEventListener("error",()=>{e.onError(Ni(n,e,t))}),t.addEventListener("load",()=>{if(t.status<200||t.status>=300)return e.onError(Ni(n,e,t));e.onSuccess(YS(t))}),t.open(e.method,n,!0),e.withCredentials&&"withCredentials"in t&&(t.withCredentials=!0);const a=e.headers||{};if(a instanceof Headers)a.forEach((s,i)=>t.setRequestHeader(i,s));else for(const[s,i]of Object.entries(a))Mt(i)||t.setRequestHeader(s,String(i));return t.send(l),t},Nd=["text","picture","picture-card"];let qS=1;const bs=()=>Date.now()+qS++,Td=me({action:{type:String,default:"#"},headers:{type:q(Object)},method:{type:String,default:"post"},data:{type:q([Object,Function,Promise]),default:()=>Yt({})},multiple:Boolean,name:{type:String,default:"file"},drag:Boolean,withCredentials:Boolean,showFileList:{type:Boolean,default:!0},accept:{type:String,default:""},fileList:{type:q(Array),default:()=>Yt([])},autoUpload:{type:Boolean,default:!0},listType:{type:String,values:Nd,default:"text"},httpRequest:{type:q(Function),default:US},disabled:{type:Boolean,default:void 0},limit:Number,directory:Boolean}),GS=me({...Td,beforeUpload:{type:q(Function),default:Tt},beforeRemove:{type:q(Function)},onRemove:{type:q(Function),default:Tt},onChange:{type:q(Function),default:Tt},onPreview:{type:q(Function),default:Tt},onSuccess:{type:q(Function),default:Tt},onProgress:{type:q(Function),default:Tt},onError:{type:q(Function),default:Tt},onExceed:{type:q(Function),default:Tt},crossorigin:{type:q(String)}}),Pd=Symbol("uploadContextKey"),_S=me({files:{type:q(Array),default:()=>Yt([])},disabled:{type:Boolean,default:void 0},handlePreview:{type:q(Function),default:Tt},listType:{type:String,values:Nd,default:"text"},crossorigin:{type:q(String)}}),XS={remove:e=>!!e},JS=["tabindex","aria-disabled","onKeydown"],ZS=["src","crossorigin"],QS=["onClick"],eE=["title"],tE=["onClick"],nE=["onClick"];var Ti=ie({name:"ElUploadList",__name:"upload-list",props:_S,emits:XS,setup(e,{emit:t}){const n=e,l=t,{t:a}=at(),s=ce("upload"),i=ce("icon"),r=ce("list"),c=Dt(),u=I(!1),f=y(()=>[s.b("list"),s.bm("list",n.listType),s.is("disabled",c.value)]),p=h=>{l("remove",h)};return(h,m)=>(E(),Z(Ai,{tag:"ul",class:$(f.value),name:o(r).b()},{default:j(()=>[(E(!0),L(Re,null,rt(e.files,(d,v)=>(E(),L("li",{key:d.uid||d.name,class:$([o(s).be("list","item"),o(s).is(d.status),{focusing:u.value}]),tabindex:o(c)?void 0:0,"aria-disabled":o(c),role:"button",onKeydown:Ot(g=>!o(c)&&p(d),["delete"]),onFocus:m[0]||(m[0]=g=>u.value=!0),onBlur:m[1]||(m[1]=g=>u.value=!1),onClick:m[2]||(m[2]=g=>u.value=!1)},[X(h.$slots,"default",{file:d,index:v},()=>[e.listType==="picture"||d.status!=="uploading"&&e.listType==="picture-card"?(E(),L("img",{key:0,class:$(o(s).be("list","item-thumbnail")),src:d.url,crossorigin:e.crossorigin,alt:""},null,10,ZS)):G("v-if",!0),d.status==="uploading"||e.listType!=="picture-card"?(E(),L("div",{key:1,class:$(o(s).be("list","item-info"))},[H("a",{class:$(o(s).be("list","item-name")),onClick:Ke(g=>e.handlePreview(d),["prevent"])},[U(o(we),{class:$(o(i).m("document"))},{default:j(()=>[U(o(vf))]),_:1},8,["class"]),H("span",{class:$(o(s).be("list","item-file-name")),title:d.name},he(d.name),11,eE)],10,QS),d.status==="uploading"?(E(),Z(o(kw),{key:0,type:e.listType==="picture-card"?"circle":"line","stroke-width":e.listType==="picture-card"?6:2,percentage:Number(d.percentage),style:Fe(e.listType==="picture-card"?"":"margin-top: 0.5rem")},null,8,["type","stroke-width","percentage","style"])):G("v-if",!0)],2)):G("v-if",!0),H("label",{class:$(o(s).be("list","item-status-label"))},[e.listType==="text"?(E(),Z(o(we),{key:0,class:$([o(i).m("upload-success"),o(i).m("circle-check")])},{default:j(()=>[U(o(ks))]),_:1},8,["class"])):["picture-card","picture"].includes(e.listType)?(E(),Z(o(we),{key:1,class:$([o(i).m("upload-success"),o(i).m("check")])},{default:j(()=>[U(o(Na))]),_:1},8,["class"])):G("v-if",!0)],2),o(c)?G("v-if",!0):(E(),Z(o(we),{key:2,class:$(o(i).m("close")),"aria-label":o(a)("el.upload.delete"),role:"button",tabindex:"0",onClick:g=>p(d),onKeydown:Ot(Ke(g=>p(d),["prevent"]),["enter","space"])},{default:j(()=>[U(o(Fn))]),_:1},8,["class","aria-label","onClick","onKeydown"])),o(c)?G("v-if",!0):(E(),L("i",{key:3,class:$(o(i).m("close-tip"))},he(o(a)("el.upload.deleteTip")),3)),e.listType==="picture-card"?(E(),L("span",{key:4,class:$(o(s).be("list","item-actions"))},[H("span",{class:$(o(s).be("list","item-preview")),onClick:g=>e.handlePreview(d)},[U(o(we),{class:$(o(i).m("zoom-in"))},{default:j(()=>[U(o(Gi))]),_:1},8,["class"])],10,tE),o(c)?G("v-if",!0):(E(),L("span",{key:0,class:$(o(s).be("list","item-delete")),onClick:g=>p(d)},[U(o(we),{class:$(o(i).m("delete"))},{default:j(()=>[U(o(pf))]),_:1},8,["class"])],10,nE))],2)):G("v-if",!0)])],42,JS))),128)),X(h.$slots,"append")]),_:3},8,["class","name"]))}});const lE=me({...Td,beforeUpload:{type:q(Function),default:Tt},onRemove:{type:q(Function),default:Tt},onStart:{type:q(Function),default:Tt},onSuccess:{type:q(Function),default:Tt},onProgress:{type:q(Function),default:Tt},onError:{type:q(Function),default:Tt},onExceed:{type:q(Function),default:Tt}}),aE=me({disabled:{type:Boolean,default:void 0},directory:Boolean}),oE={file:e=>Pe(e)},Pi="ElUploadDrag";var sE=ie({name:Pi,__name:"upload-dragger",props:aE,emits:oE,setup(e,{emit:t}){const n=e,l=t;be(Pd)||qt(Pi,"usage: ");const s=ce("upload"),i=I(!1),r=Dt(),c=m=>new Promise((d,v)=>m.file(d,v)),u=async m=>{try{if(m.isFile){const d=await c(m);return d.isDirectory=!1,[d]}if(m.isDirectory){const d=m.createReader(),v=()=>new Promise((C,k)=>d.readEntries(C,k)),g=[];let b=await v();for(;b.length>0;)g.push(...b),b=await v();const S=g.map(C=>u(C).catch(()=>[])),w=await Promise.all(S);return es(w)}}catch{return[]}return[]},f=async m=>{if(r.value)return;i.value=!1,m.stopPropagation();const d=Array.from(m.dataTransfer.files),v=m.dataTransfer.items||[];if(n.directory){const g=Array.from(v).map(S=>{var w;return(w=S==null?void 0:S.webkitGetAsEntry)==null?void 0:w.call(S)}).filter(S=>S),b=await Promise.all(g.map(u));l("file",es(b));return}d.forEach((g,b)=>{var S;const w=v[b],C=(S=w==null?void 0:w.webkitGetAsEntry)==null?void 0:S.call(w);C&&(g.isDirectory=C.isDirectory)}),l("file",d)},p=()=>{r.value||(i.value=!0)},h=m=>{m.currentTarget.contains(m.relatedTarget)||(i.value=!1)};return(m,d)=>(E(),L("div",{class:$([o(s).b("dragger"),o(s).is("dragover",i.value)]),onDrop:Ke(f,["prevent"]),onDragover:Ke(p,["prevent"]),onDragleave:Ke(h,["prevent"])},[X(m.$slots,"default")],34))}});const rE=["tabindex","aria-disabled","onKeydown"],iE=["name","disabled","multiple","accept","webkitdirectory"];var Ii=ie({name:"ElUploadContent",inheritAttrs:!1,__name:"upload-content",props:lE,setup(e,{expose:t}){const n=e,l=ce("upload"),a=Dt(),s=ln({}),i=ln(),r=v=>{if(v.length===0)return;const{autoUpload:g,limit:b,fileList:S,multiple:w,onStart:C,onExceed:k}=n;if(b&&S.length+v.length>b){k(v,S);return}w||(v=v.slice(0,1));for(const N of v){const T=N;T.uid=bs(),C(T),g&&c(T)}},c=async v=>{if(i.value.value="",!n.beforeUpload)return f(v);let g,b={};try{const w=n.data,C=n.beforeUpload(v);b=Jo(n.data)?Xn(n.data):n.data,g=await C,Jo(n.data)&&Rt(w,b)&&(b=Xn(n.data))}catch{g=!1}if(g===!1){n.onRemove(v);return}let S=v;g instanceof Blob&&(g instanceof File?S=g:S=new File([g],v.name,{type:v.type})),f(Object.assign(S,{uid:v.uid}),b)},u=async(v,g)=>Qe(v)?v(g):v,f=async(v,g)=>{const{headers:b,data:S,method:w,withCredentials:C,name:k,action:N,onProgress:T,onSuccess:P,onError:x,httpRequest:D}=n;try{g=await u(g??S,v)}catch{n.onRemove(v);return}const{uid:W}=v,A={headers:b||{},withCredentials:C,file:v,data:g,method:w,filename:k,action:N,onProgress:_=>{T(_,v)},onSuccess:_=>{P(_,v),delete s.value[W]},onError:_=>{x(_,v),delete s.value[W]}},V=D(A);s.value[W]=V,V instanceof Promise&&V.then(A.onSuccess,A.onError)},p=v=>{const g=v.target.files;g&&r(Array.from(g))},h=()=>{a.value||(i.value.value="",i.value.click())},m=()=>{h()};return t({abort:v=>{uv(s.value).filter(v?([b])=>String(v.uid)===b:()=>!0).forEach(([b,S])=>{S instanceof XMLHttpRequest&&S.abort(),delete s.value[b]})},upload:c}),(v,g)=>(E(),L("div",{class:$([o(l).b(),o(l).m(e.listType),o(l).is("drag",e.drag),o(l).is("disabled",o(a))]),tabindex:o(a)?void 0:0,"aria-disabled":o(a),role:"button",onClick:h,onKeydown:Ot(Ke(m,["self"]),["enter","space"])},[e.drag?(E(),Z(sE,{key:0,disabled:o(a),directory:e.directory,onFile:r},{default:j(()=>[X(v.$slots,"default")]),_:3},8,["disabled","directory"])):X(v.$slots,"default",{key:1}),H("input",{ref_key:"inputRef",ref:i,class:$(o(l).e("input")),name:e.name,disabled:o(a),multiple:e.multiple,accept:e.accept,webkitdirectory:e.directory||void 0,type:"file",onChange:p,onClick:g[0]||(g[0]=Ke(()=>{},["stop"]))},null,42,iE)],42,rE))}});const xi="ElUpload",Oi=e=>{var t;(t=e.url)!=null&&t.startsWith("blob:")&&URL.revokeObjectURL(e.url)},uE=(e,t)=>{const n=nv(e,"fileList",void 0,{passive:!0}),l=d=>n.value.find(v=>v.uid===d.uid);function a(d){var v;(v=t.value)==null||v.abort(d)}function s(d=["ready","uploading","success","fail"]){n.value=n.value.filter(v=>!d.includes(v.status))}function i(d){n.value=n.value.filter(v=>v.uid!==d.uid)}const r=d=>{Ee(()=>e.onChange(d,n.value))},c=(d,v)=>{const g=l(v);g&&(console.error(d),g.status="fail",i(g),e.onError(d,g,n.value),r(g))},u=(d,v)=>{const g=l(v);g&&(e.onProgress(d,g,n.value),g.status="uploading",g.percentage=Math.round(d.percent))},f=(d,v)=>{const g=l(v);g&&(g.status="success",g.response=d,e.onSuccess(d,g,n.value),r(g))},p=d=>{Mt(d.uid)&&(d.uid=bs());const v={name:d.name,percentage:0,status:"ready",size:d.size,raw:d,uid:d.uid};if(e.listType==="picture-card"||e.listType==="picture")try{v.url=URL.createObjectURL(d)}catch(g){g.message,e.onError(g,v,n.value)}n.value=[...n.value,v],r(v)},h=async d=>{const v=d instanceof File?l(d):d;v||qt(xi,"file to be removed not found");const g=b=>{a(b),i(b),e.onRemove(b,n.value),Oi(b)};e.beforeRemove?await e.beforeRemove(v,n.value)!==!1&&g(v):g(v)};function m(){n.value.filter(({status:d})=>d==="ready").forEach(({raw:d})=>{var v;return d&&((v=t.value)==null?void 0:v.upload(d))})}return le(()=>e.listType,d=>{d!=="picture-card"&&d!=="picture"||(n.value=n.value.map(v=>{const{raw:g,url:b}=v;if(!b&&g)try{v.url=URL.createObjectURL(g)}catch(S){e.onError(S,v,n.value)}return v}))}),le(n,d=>{for(const v of d)v.uid||(v.uid=bs()),v.status||(v.status="success")},{immediate:!0,deep:!0}),{uploadFiles:n,abort:a,clearFiles:s,handleError:c,handleProgress:u,handleStart:p,handleSuccess:f,handleRemove:h,submit:m,revokeFileObjectURL:Oi}};var cE=ie({name:"ElUpload",__name:"upload",props:GS,setup(e,{expose:t}){const n=e,l=Dt(),a=ln(),{abort:s,submit:i,clearFiles:r,uploadFiles:c,handleStart:u,handleError:f,handleRemove:p,handleSuccess:h,handleProgress:m,revokeFileObjectURL:d}=uE(n,a),v=y(()=>n.listType==="picture-card"),g=y(()=>({...n,fileList:c.value,onStart:u,onProgress:m,onSuccess:h,onError:f,onRemove:p}));return Et(()=>{c.value.forEach(d)}),et(Pd,{accept:Nt(n,"accept")}),t({abort:s,submit:i,clearFiles:r,handleStart:u,handleRemove:p}),(b,S)=>(E(),L("div",null,[v.value&&e.showFileList?(E(),Z(Ti,{key:0,disabled:o(l),"list-type":e.listType,files:o(c),crossorigin:e.crossorigin,"handle-preview":e.onPreview,onRemove:o(p)},Qn({append:j(()=>[U(Ii,ct({ref_key:"uploadRef",ref:a},g.value),{default:j(()=>[b.$slots.trigger?X(b.$slots,"trigger",{key:0}):G("v-if",!0),!b.$slots.trigger&&b.$slots.default?X(b.$slots,"default",{key:1}):G("v-if",!0)]),_:3},16)]),_:2},[b.$slots.file?{name:"default",fn:j(({file:w,index:C})=>[X(b.$slots,"file",{file:w,index:C})]),key:"0"}:void 0]),1032,["disabled","list-type","files","crossorigin","handle-preview","onRemove"])):G("v-if",!0),!v.value||v.value&&!e.showFileList?(E(),Z(Ii,ct({key:1,ref_key:"uploadRef",ref:a},g.value),{default:j(()=>[b.$slots.trigger?X(b.$slots,"trigger",{key:0}):G("v-if",!0),!b.$slots.trigger&&b.$slots.default?X(b.$slots,"default",{key:1}):G("v-if",!0)]),_:3},16)):G("v-if",!0),b.$slots.trigger?X(b.$slots,"default",{key:2}):G("v-if",!0),X(b.$slots,"tip"),!v.value&&e.showFileList?(E(),Z(Ti,{key:3,disabled:o(l),"list-type":e.listType,files:o(c),crossorigin:e.crossorigin,"handle-preview":e.onPreview,onRemove:o(p)},Qn({_:2},[b.$slots.file?{name:"default",fn:j(({file:w,index:C})=>[X(b.$slots,"file",{file:w,index:C})]),key:"0"}:void 0]),1032,["disabled","list-type","files","crossorigin","handle-preview","onRemove"])):G("v-if",!0)]))}});const h$=Ge(cE),Id={label:"label",value:"value",disabled:"disabled"},dE=me({direction:{type:q(String),default:"horizontal"},options:{type:q(Array),default:()=>[]},modelValue:{type:[String,Number,Boolean],default:void 0},props:{type:q(Object),default:()=>Id},block:Boolean,size:an,disabled:{type:Boolean,default:void 0},validateEvent:{type:Boolean,default:!0},id:String,name:String,...Dn(["ariaLabel"])}),fE={[Ye]:e=>He(e)||Ae(e)||yt(e),[dt]:e=>He(e)||Ae(e)||yt(e)},vE=["id","aria-label","aria-labelledby"],pE=["name","disabled","checked","onChange"];var mE=ie({name:"ElSegmented",__name:"segmented",props:dE,emits:fE,setup(e,{emit:t}){const n=e,l=t,a=ce("segmented"),s=fn(),i=Gt(),r=Dt(),{formItem:c}=yn(),{inputId:u,isLabeledByFormItem:f}=ll(n,{formItemContext:c}),p=I(null),h=Xf(),m=kt({isInit:!1,width:0,height:0,translateX:0,translateY:0,focusVisible:!1}),d=(A,V)=>{const _=b(V);l(Ye,_),l(dt,_),A.target.checked=_===n.modelValue},v=y(()=>({...Id,...n.props})),g=A=>A,b=A=>gt(A)?A[v.value.value]:A,S=A=>gt(A)?A[v.value.label]:A,w=A=>!!(r.value||gt(A)&&A[v.value.disabled]),C=A=>n.modelValue===b(A),k=A=>n.options.find(V=>b(V)===A),N=A=>[a.e("item"),a.is("selected",C(A)),a.is("disabled",w(A))],T=()=>{if(!p.value)return;const A=p.value.querySelector(".is-selected"),V=p.value.querySelector(".is-selected input");if(!A||!V){m.width=0,m.height=0,m.translateX=0,m.translateY=0,m.focusVisible=!1;return}m.isInit=!0,n.direction==="vertical"?(m.height=A.offsetHeight,m.translateY=A.offsetTop):(m.width=A.offsetWidth,m.translateX=A.offsetLeft);try{m.focusVisible=V.matches(":focus-visible")}catch{}},P=y(()=>[a.b(),a.m(i.value),a.is("block",n.block)]),x=y(()=>({width:n.direction==="vertical"?"100%":`${m.width}px`,height:n.direction==="vertical"?`${m.height}px`:"100%",transform:n.direction==="vertical"?`translateY(${m.translateY}px)`:`translateX(${m.translateX}px)`,display:m.isInit?"block":"none"})),D=y(()=>[a.e("item-selected"),a.is("disabled",w(k(n.modelValue))),a.is("focus-visible",m.focusVisible)]),W=y(()=>n.name||s.value);return Vt(p,T),le(h,T),le(()=>n.modelValue,()=>{var A;T(),n.validateEvent&&((A=c==null?void 0:c.validate)==null||A.call(c,"change").catch(V=>void 0))},{flush:"post"}),(A,V)=>e.options.length?(E(),L("div",{key:0,id:o(u),ref_key:"segmentedRef",ref:p,class:$(P.value),role:"radiogroup","aria-label":o(f)?void 0:e.ariaLabel||"segmented","aria-labelledby":o(f)?o(c).labelId:void 0},[H("div",{class:$([o(a).e("group"),o(a).m(e.direction)])},[H("div",{style:Fe(x.value),class:$(D.value)},null,6),(E(!0),L(Re,null,rt(e.options,(_,oe)=>(E(),L("label",{key:oe,class:$(N(_))},[H("input",{class:$(o(a).e("item-input")),type:"radio",name:W.value,disabled:w(_),checked:C(_),onChange:ve=>d(ve,_)},null,42,pE),H("div",{class:$(o(a).e("item-label"))},[X(A.$slots,"default",{item:g(_)},()=>[ut(he(S(_)),1)])],2)],2))),128))],2)],10,vE)):G("v-if",!0)}});const g$=Ge(mE);function hE(e,t){let n;const l=I(!1),a=kt({...e,originalPosition:"",originalOverflow:"",visible:!1});function s(m){a.text=m}function i(){const m=a.parent,d=h.ns;if(!m.vLoadingAddClassList){let v=m.getAttribute("loading-number");v=Number.parseInt(v)-1,v?m.setAttribute("loading-number",v.toString()):(dn(m,d.bm("parent","relative")),m.removeAttribute("loading-number")),dn(m,d.bm("parent","hidden"))}r(),p.unmount()}function r(){var m,d;(d=(m=h.$el)==null?void 0:m.parentNode)==null||d.removeChild(h.$el)}function c(){var m;e.beforeClose&&!e.beforeClose()||(l.value=!0,clearTimeout(n),n=setTimeout(u,400),a.visible=!1,(m=e.closed)==null||m.call(e))}function u(){if(!l.value)return;const m=a.parent;l.value=!1,m.vLoadingAddClassList=void 0,i()}const f=ie({name:"ElLoading",setup(m,{expose:d}){const{ns:v,zIndex:g}=To("loading");return d({ns:v,zIndex:g}),()=>{const b=a.spinner||a.svg,S=Ie("svg",{class:"circular",viewBox:a.svgViewBox?a.svgViewBox:"0 0 50 50",...b?{innerHTML:b}:{}},[Ie("circle",{class:"path",cx:"25",cy:"25",r:"20",fill:"none"})]),w=a.text?Ie("p",{class:v.b("text")},[a.text]):void 0;return Ie(bn,{name:v.b("fade"),onAfterLeave:u},{default:j(()=>[Ue(U("div",{style:{backgroundColor:a.background||""},class:[v.b("mask"),a.customClass,v.is("fullscreen",a.fullscreen)]},[Ie("div",{class:v.b("spinner")},[S,w])]),[[ht,a.visible]])])})}}}),p=Hd(f);Object.assign(p._context,t??{});const h=p.mount(document.createElement("div"));return{...Mn(a),setText:s,removeElLoadingChild:r,close:c,handleAfterLeave:u,vm:h,get $el(){return h.$el}}}let Ua;const ql=function(e={},t){if(!st)return;const n=gE(e);if(n.fullscreen&&Ua)return Ua;const l=hE({...n,closed:()=>{var s;(s=n.closed)==null||s.call(n),n.fullscreen&&(Ua=void 0)}},t??ql._context);bE(n,n.parent,l),Ri(n,n.parent,l),n.parent.vLoadingAddClassList=()=>Ri(n,n.parent,l);let a=n.parent.getAttribute("loading-number");return a?a=`${Number.parseInt(a)+1}`:a="1",n.parent.setAttribute("loading-number",a),n.parent.appendChild(l.$el),Ee(()=>l.visible.value=n.visible),n.fullscreen&&(Ua=l),l},gE=e=>{var t,n,l,a;let s;return He(e.target)?s=(t=document.querySelector(e.target))!=null?t:document.body:s=e.target||document.body,{parent:s===document.body||e.body?document.body:s,background:e.background||"",svg:e.svg||"",svgViewBox:e.svgViewBox||"",spinner:e.spinner||!1,text:e.text||"",fullscreen:s===document.body&&((n=e.fullscreen)!=null?n:!0),lock:(l=e.lock)!=null?l:!1,customClass:e.customClass||"",visible:(a=e.visible)!=null?a:!0,beforeClose:e.beforeClose,closed:e.closed,target:s}},bE=async(e,t,n)=>{const{nextZIndex:l}=n.vm.zIndex||n.vm._.exposed.zIndex,a={};if(e.fullscreen)n.originalPosition.value=il(document.body,"position"),n.originalOverflow.value=il(document.body,"overflow"),a.zIndex=l();else if(e.parent===document.body){n.originalPosition.value=il(document.body,"position"),await Ee();for(const s of["top","left"]){const i=s==="top"?"scrollTop":"scrollLeft";a[s]=`${e.target.getBoundingClientRect()[s]+document.body[i]+document.documentElement[i]-Number.parseInt(il(document.body,`margin-${s}`),10)}px`}for(const s of["height","width"])a[s]=`${e.target.getBoundingClientRect()[s]}px`}else n.originalPosition.value=il(t,"position");for(const[s,i]of Object.entries(a))n.$el.style[s]=i},Ri=(e,t,n)=>{const l=n.vm.ns||n.vm._.exposed.ns;["absolute","fixed","sticky"].includes(n.originalPosition.value)?dn(t,l.bm("parent","relative")):Bn(t,l.bm("parent","relative")),e.fullscreen&&e.lock?Bn(t,l.bm("parent","hidden")):dn(t,l.bm("parent","hidden"))};ql._context=null;const fa=Symbol("ElLoading"),Nl=e=>`element-loading-${Xd(e)}`,Mi=(e,t)=>{var n,l,a,s;const i=t.instance,r=m=>gt(t.value)?t.value[m]:void 0,c=m=>{const d=He(m)&&(i==null?void 0:i[m])||m;return I(d)},u=m=>c(r(m)||e.getAttribute(Nl(m))),f=(n=r("fullscreen"))!=null?n:t.modifiers.fullscreen,p={text:u("text"),svg:u("svg"),svgViewBox:u("svgViewBox"),spinner:u("spinner"),background:u("background"),customClass:u("customClass"),fullscreen:f,target:(l=r("target"))!=null?l:f?void 0:e,body:(a=r("body"))!=null?a:t.modifiers.body,lock:(s=r("lock"))!=null?s:t.modifiers.lock},h=ql(p);h._context=ma._context,e[fa]={options:p,instance:h}},yE=(e,t)=>{for(const n of Object.keys(e))Ln(e[n])&&(e[n].value=t[n])},ma={mounted(e,t){t.value&&Mi(e,t)},updated(e,t){const n=e[fa];if(!t.value){n==null||n.instance.close(),e[fa]=null;return}n?yE(n.options,gt(t.value)?t.value:{text:e.getAttribute(Nl("text")),svg:e.getAttribute(Nl("svg")),svgViewBox:e.getAttribute(Nl("svgViewBox")),spinner:e.getAttribute(Nl("spinner")),background:e.getAttribute(Nl("background")),customClass:e.getAttribute(Nl("customClass"))}):Mi(e,t)},unmounted(e){var t;(t=e[fa])==null||t.instance.close(),e[fa]=null}};ma._context=null;const b$={install(e){ql._context=e._context,ma._context=e._context,e.directive("loading",ma),e.config.globalProperties.$loading=ql},directive:ma,service:ql},xd=["primary","success","info","warning","error"],Od=["top","top-left","top-right","bottom","bottom-left","bottom-right"],Ea="top",sn=Yt({customClass:"",dangerouslyUseHTMLString:!1,duration:3e3,icon:void 0,id:"",message:"",onClose:void 0,showClose:!1,type:"info",plain:!1,offset:16,placement:void 0,zIndex:0,grouping:!1,repeatNum:1,appendTo:st?document.body:void 0}),CE=me({customClass:{type:String,default:sn.customClass},dangerouslyUseHTMLString:{type:Boolean,default:sn.dangerouslyUseHTMLString},duration:{type:Number,default:sn.duration},icon:{type:Ct,default:sn.icon},id:{type:String,default:sn.id},message:{type:q([String,Object,Function]),default:sn.message},onClose:{type:q(Function),default:sn.onClose},showClose:{type:Boolean,default:sn.showClose},type:{type:String,values:xd,default:sn.type},plain:{type:Boolean,default:sn.plain},offset:{type:Number,default:sn.offset},placement:{type:String,values:Od,default:sn.placement},zIndex:{type:Number,default:sn.zIndex},grouping:{type:Boolean,default:sn.grouping},repeatNum:{type:Number,default:sn.repeatNum}}),wE={destroy:()=>!0},Kn=ji({}),kE=e=>(Kn[e]||(Kn[e]=ji([])),Kn[e]),SE=(e,t)=>{const n=Kn[t]||[],l=n.findIndex(i=>i.id===e),a=n[l];let s;return l>0&&(s=n[l-1]),{current:a,prev:s}},EE=(e,t)=>{const{prev:n}=SE(e,t);return n?n.vm.exposed.bottom.value:0},$E=(e,t,n)=>(Kn[n]||[]).findIndex(s=>s.id===e)>0?16:t,NE=["id"],TE=["innerHTML"];var PE=ie({name:"ElMessage",__name:"message",props:CE,emits:wE,setup(e,{expose:t,emit:n}){const{Close:l}=xs,a=e,s=n,i=I(!1),{ns:r,zIndex:c}=To("message"),{currentZIndex:u,nextZIndex:f}=c,p=I(),h=I(!1),m=I(0);let d;const v=y(()=>a.type?a.type==="error"?"danger":a.type:"info"),g=y(()=>{const V=a.type;return{[r.bm("icon",V)]:V&&gl[V]}}),b=y(()=>a.icon||gl[a.type]||""),S=y(()=>a.placement||Ea),w=y(()=>EE(a.id,S.value)),C=y(()=>$E(a.id,a.offset,S.value)+w.value),k=y(()=>m.value+C.value),N=y(()=>S.value.includes("left")?r.is("left"):S.value.includes("right")?r.is("right"):r.is("center")),T=y(()=>S.value.startsWith("top")?"top":"bottom"),P=y(()=>({[T.value]:`${C.value}px`,zIndex:u.value}));function x(){a.duration!==0&&({stop:d}=Zl(()=>{W()},a.duration))}function D(){d==null||d()}function W(){h.value=!1,Ee(()=>{var V;i.value||((V=a.onClose)==null||V.call(a),s("destroy"))})}function A(V){St(V)===de.esc&&W()}return Ze(()=>{x(),f(),h.value=!0}),le(()=>a.repeatNum,()=>{D(),x()}),$t(document,"keydown",A),Vt(p,()=>{m.value=p.value.getBoundingClientRect().height}),t({visible:h,bottom:k,close:W}),(V,_)=>(E(),Z(bn,{name:o(r).b("fade"),onBeforeEnter:_[0]||(_[0]=oe=>i.value=!0),onBeforeLeave:e.onClose,onAfterLeave:_[1]||(_[1]=oe=>V.$emit("destroy")),persisted:""},{default:j(()=>[Ue(H("div",{id:e.id,ref_key:"messageRef",ref:p,class:$([o(r).b(),{[o(r).m(e.type)]:e.type},o(r).is("closable",e.showClose),o(r).is("plain",e.plain),o(r).is("bottom",T.value==="bottom"),N.value,e.customClass]),style:Fe(P.value),role:"alert",onMouseenter:D,onMouseleave:x},[e.repeatNum>1?(E(),Z(o(rm),{key:0,value:e.repeatNum,type:v.value,class:$(o(r).e("badge"))},null,8,["value","type","class"])):G("v-if",!0),b.value?(E(),Z(o(we),{key:1,class:$([o(r).e("icon"),g.value])},{default:j(()=>[(E(),Z(_e(b.value)))]),_:1},8,["class"])):G("v-if",!0),X(V.$slots,"default",{},()=>[e.dangerouslyUseHTMLString?(E(),L(Re,{key:1},[G(" Caution here, message could've been compromised, never use user's input as message "),H("p",{class:$(o(r).e("content")),innerHTML:e.message},null,10,TE)],2112)):(E(),L("p",{key:0,class:$(o(r).e("content"))},he(e.message),3))]),e.showClose?(E(),Z(o(we),{key:2,class:$(o(r).e("closeBtn")),onClick:Ke(W,["stop"])},{default:j(()=>[U(o(l))]),_:1},8,["class"])):G("v-if",!0)],46,NE),[[ht,h.value]])]),_:3},8,["name","onBeforeLeave"]))}});let IE=1;const xE=e=>{if(!e.appendTo)e.appendTo=document.body;else if(He(e.appendTo)){let n=document.querySelector(e.appendTo);$n(n)||(n=document.body),e.appendTo=n}},OE=e=>{!e.placement&&He(un.placement)&&un.placement&&(e.placement=un.placement),e.placement||(e.placement=Ea),Od.includes(e.placement)||(e.placement=Ea)},Rd=e=>{const t=!e||He(e)||jt(e)||Qe(e)?{message:e}:e,n={...sn,...t};return xE(n),OE(n),yt(un.grouping)&&!n.grouping&&(n.grouping=un.grouping),Ae(un.duration)&&n.duration===3e3&&(n.duration=un.duration),Ae(un.offset)&&n.offset===16&&(n.offset=un.offset),yt(un.showClose)&&!n.showClose&&(n.showClose=un.showClose),yt(un.plain)&&!n.plain&&(n.plain=un.plain),n},RE=e=>{const t=e.props.placement||Ea,n=Kn[t],l=n.indexOf(e);if(l===-1)return;n.splice(l,1);const{handler:a}=e;a.close()},ME=({appendTo:e,...t},n)=>{const l=`message_${IE++}`,a=t.onClose,s=document.createElement("div"),i={...t,id:l,onClose:()=>{a==null||a(),RE(f)},onDestroy:()=>{vl(null,s)}},r=U(PE,i,Qe(i.message)||jt(i.message)?{default:Qe(i.message)?i.message:()=>i.message}:null);r.appContext=n||Ml._context,vl(r,s),e.appendChild(s.firstElementChild);const c=r.component,f={id:l,vnode:r,vm:c,handler:{close:()=>{c.exposed.close()}},props:r.component.props};return f},Ml=(e={},t)=>{if(!st)return{close:()=>{}};const n=Rd(e),l=kE(n.placement||Ea);if(n.grouping&&l.length){const s=l.find(({vnode:i})=>{var r;return((r=i.props)==null?void 0:r.message)===n.message});if(s)return s.props.repeatNum+=1,s.props.type=n.type,s.handler}if(Ae(un.max)&&l.length>=un.max)return{close:()=>{}};const a=ME(n,t);return l.push(a),a.handler};xd.forEach(e=>{Ml[e]=(t={},n)=>{const l=Rd(t);return Ml({...l,type:e},n)}});function DE(e){for(const t in Kn)if(Ut(Kn,t)){const n=[...Kn[t]];for(const l of n)(!e||e===l.props.type)&&l.handler.close()}}function BE(e){if(!Kn[e])return;[...Kn[e]].forEach(n=>n.handler.close())}Ml.closeAll=DE;Ml.closeAllByPlacement=BE;Ml._context=null;const y$=mu(Ml,"$message"),ys="_trap-focus-children",Tl=[],Di=e=>{if(Tl.length===0)return;const t=St(e),n=Tl[Tl.length-1][ys];if(n.length>0&&t===de.tab){if(n.length===1){e.preventDefault(),document.activeElement!==n[0]&&n[0].focus();return}const l=e.shiftKey,a=e.target===n[0],s=e.target===n[n.length-1];a&&l&&(e.preventDefault(),n[n.length-1].focus()),s&&!l&&(e.preventDefault(),n[0].focus())}},LE={beforeMount(e){e[ys]=Tr(e),Tl.push(e),Tl.length<=1&&document.addEventListener("keydown",Di)},updated(e){Ee(()=>{e[ys]=Tr(e)})},unmounted(){Tl.shift(),Tl.length===0&&document.removeEventListener("keydown",Di)}};var AE=ie({name:"ElMessageBox",directives:{TrapFocus:LE},components:{ElButton:tl,ElFocusTrap:Ia,ElInput:xn,ElOverlay:lr,ElIcon:we,...xs},inheritAttrs:!1,props:{buttonSize:{type:String,validator:ld},modal:{type:Boolean,default:!0},lockScroll:{type:Boolean,default:!0},showClose:{type:Boolean,default:!0},closeOnClickModal:{type:Boolean,default:!0},closeOnPressEscape:{type:Boolean,default:!0},closeOnHashChange:{type:Boolean,default:!0},center:Boolean,draggable:Boolean,overflow:Boolean,roundButton:Boolean,container:{type:String,default:"body"},boxType:{type:String,default:""}},emits:["vanish","action"],setup(e,{emit:t}){const{locale:n,zIndex:l,ns:a,size:s}=To("message-box",y(()=>e.buttonSize)),{t:i}=n,{nextZIndex:r}=l,c=I(!1),u=kt({autofocus:!0,beforeClose:null,callback:null,cancelButtonText:"",cancelButtonClass:"",confirmButtonText:"",confirmButtonClass:"",cancelButtonType:"",confirmButtonType:"primary",customClass:"",customStyle:{},dangerouslyUseHTMLString:!1,distinguishCancelAndClose:!1,icon:"",closeIcon:"",inputPattern:null,inputPlaceholder:"",inputType:"text",inputValue:"",inputValidator:void 0,inputErrorMessage:"",message:"",modalFade:!0,modalClass:"",showCancelButton:!1,showConfirmButton:!0,type:"",title:void 0,showInput:!1,action:"",confirmButtonLoading:!1,cancelButtonLoading:!1,confirmButtonLoadingIcon:Gl(qn),cancelButtonLoadingIcon:Gl(qn),confirmButtonDisabled:!1,editorErrorMessage:"",validateError:!1,zIndex:r()}),f=y(()=>{const O=u.type;return{[a.bm("icon",O)]:O&&gl[O]}}),p=fn(),h=fn(),m=y(()=>{const O=u.type;return u.icon||O&&gl[O]||""}),d=y(()=>!!u.message),v=I(),g=I(),b=I(),S=I(),w=I(),C=y(()=>u.confirmButtonClass);le(()=>u.inputValue,async O=>{await Ee(),e.boxType==="prompt"&&O&&V()},{immediate:!0}),le(()=>c.value,O=>{var R,B;O&&(e.boxType!=="prompt"&&(u.autofocus?b.value=(B=(R=w.value)==null?void 0:R.$el)!=null?B:v.value:b.value=v.value),u.zIndex=r()),e.boxType==="prompt"&&(O?Ee().then(()=>{var M;S.value&&S.value.$el&&(u.autofocus?b.value=(M=_())!=null?M:v.value:b.value=v.value)}):(u.editorErrorMessage="",u.validateError=!1))});const k=y(()=>e.draggable),N=y(()=>e.overflow),{isDragging:T}=Vc(v,g,k,N);Ze(async()=>{await Ee(),e.closeOnHashChange&&window.addEventListener("hashchange",P)}),Et(()=>{e.closeOnHashChange&&window.removeEventListener("hashchange",P)});function P(){c.value&&(c.value=!1,Ee(()=>{u.action&&t("action",u.action)}))}const x=()=>{e.closeOnClickModal&&A(u.distinguishCancelAndClose?"close":"cancel")},D=nr(x),W=O=>{var R;if(u.inputType!=="textarea"&&!((R=S.value)!=null&&R.isComposing))return O.preventDefault(),A("confirm")},A=O=>{var R;e.boxType==="prompt"&&O==="confirm"&&!V()||(u.action=O,u.beforeClose?(R=u.beforeClose)==null||R.call(u,O,u,P):P())},V=()=>{if(e.boxType==="prompt"){const O=u.inputPattern;if(O&&!O.test(u.inputValue||""))return u.editorErrorMessage=u.inputErrorMessage||i("el.messagebox.error"),u.validateError=!0,!1;const R=u.inputValidator;if(Qe(R)){const B=R(u.inputValue);if(B===!1)return u.editorErrorMessage=u.inputErrorMessage||i("el.messagebox.error"),u.validateError=!0,!1;if(He(B))return u.editorErrorMessage=B,u.validateError=!0,!1}}return u.editorErrorMessage="",u.validateError=!1,!0},_=()=>{var O,R;const B=(O=S.value)==null?void 0:O.$refs;return(R=B==null?void 0:B.input)!=null?R:B==null?void 0:B.textarea},oe=()=>{A("close")},ve=()=>{e.closeOnPressEscape&&oe()};return e.lockScroll&&or(c,{ns:a}),{...Mn(u),ns:a,overlayEvent:D,visible:c,hasMessage:d,typeClass:f,contentId:p,inputId:h,btnSize:s,iconComponent:m,confirmButtonClasses:C,rootRef:v,focusStartRef:b,headerRef:g,inputRef:S,isDragging:T,confirmRef:w,doClose:P,handleClose:oe,onCloseRequested:ve,handleWrapperClick:x,handleInputEnter:W,handleAction:A,t:i}}});const FE=["aria-label","aria-describedby"],VE=["aria-label"],zE=["id"];function KE(e,t,n,l,a,s){const i=ot("el-icon"),r=ot("el-input"),c=ot("el-button"),u=ot("el-focus-trap"),f=ot("el-overlay");return E(),Z(bn,{name:"fade-in-linear",onAfterLeave:t[11]||(t[11]=p=>e.$emit("vanish")),persisted:""},{default:j(()=>[Ue(U(f,{"z-index":e.zIndex,"overlay-class":[e.ns.is("message-box"),e.modalClass],mask:e.modal},{default:j(()=>[H("div",{role:"dialog","aria-label":e.title,"aria-modal":"true","aria-describedby":e.showInput?void 0:e.contentId,class:$(`${e.ns.namespace.value}-overlay-message-box`),onClick:t[8]||(t[8]=(...p)=>e.overlayEvent.onClick&&e.overlayEvent.onClick(...p)),onMousedown:t[9]||(t[9]=(...p)=>e.overlayEvent.onMousedown&&e.overlayEvent.onMousedown(...p)),onMouseup:t[10]||(t[10]=(...p)=>e.overlayEvent.onMouseup&&e.overlayEvent.onMouseup(...p))},[U(u,{loop:"",trapped:e.visible,"focus-trap-el":e.rootRef,"focus-start-el":e.focusStartRef,onReleaseRequested:e.onCloseRequested},{default:j(()=>[H("div",{ref:"rootRef",class:$([e.ns.b(),e.customClass,e.ns.is("draggable",e.draggable),e.ns.is("dragging",e.isDragging),{[e.ns.m("center")]:e.center}]),style:Fe(e.customStyle),tabindex:"-1",onClick:t[7]||(t[7]=Ke(()=>{},["stop"]))},[e.title!==null&&e.title!==void 0?(E(),L("div",{key:0,ref:"headerRef",class:$([e.ns.e("header"),{"show-close":e.showClose}])},[H("div",{class:$(e.ns.e("title"))},[e.iconComponent&&e.center?(E(),Z(i,{key:0,class:$([e.ns.e("status"),e.typeClass])},{default:j(()=>[(E(),Z(_e(e.iconComponent)))]),_:1},8,["class"])):G("v-if",!0),H("span",null,he(e.title),1)],2),e.showClose?(E(),L("button",{key:0,type:"button",class:$(e.ns.e("headerbtn")),"aria-label":e.t("el.messagebox.close"),onClick:t[0]||(t[0]=p=>e.handleAction(e.distinguishCancelAndClose?"close":"cancel")),onKeydown:t[1]||(t[1]=Ot(Ke(p=>e.handleAction(e.distinguishCancelAndClose?"close":"cancel"),["prevent"]),["enter"]))},[U(i,{class:$(e.ns.e("close"))},{default:j(()=>[(E(),Z(_e(e.closeIcon||"close")))]),_:1},8,["class"])],42,VE)):G("v-if",!0)],2)):G("v-if",!0),H("div",{id:e.contentId,class:$(e.ns.e("content"))},[H("div",{class:$(e.ns.e("container"))},[e.iconComponent&&!e.center&&e.hasMessage?(E(),Z(i,{key:0,class:$([e.ns.e("status"),e.typeClass])},{default:j(()=>[(E(),Z(_e(e.iconComponent)))]),_:1},8,["class"])):G("v-if",!0),e.hasMessage?(E(),L("div",{key:1,class:$(e.ns.e("message"))},[X(e.$slots,"default",{},()=>[e.dangerouslyUseHTMLString?(E(),Z(_e(e.showInput?"label":"p"),{key:1,for:e.showInput?e.inputId:void 0,innerHTML:e.message},null,8,["for","innerHTML"])):(E(),Z(_e(e.showInput?"label":"p"),{key:0,for:e.showInput?e.inputId:void 0,textContent:he(e.message)},null,8,["for","textContent"]))])],2)):G("v-if",!0)],2),Ue(H("div",{class:$(e.ns.e("input"))},[U(r,{id:e.inputId,ref:"inputRef",modelValue:e.inputValue,"onUpdate:modelValue":t[2]||(t[2]=p=>e.inputValue=p),type:e.inputType,placeholder:e.inputPlaceholder,"aria-invalid":e.validateError,class:$({invalid:e.validateError}),onKeydown:Ot(e.handleInputEnter,["enter"])},null,8,["id","modelValue","type","placeholder","aria-invalid","class","onKeydown"]),H("div",{class:$(e.ns.e("errormsg")),style:Fe({visibility:e.editorErrorMessage?"visible":"hidden"})},he(e.editorErrorMessage),7)],2),[[ht,e.showInput]])],10,zE),H("div",{class:$(e.ns.e("btns"))},[e.showCancelButton?(E(),Z(c,{key:0,type:e.cancelButtonType==="text"?"":e.cancelButtonType,text:e.cancelButtonType==="text",loading:e.cancelButtonLoading,"loading-icon":e.cancelButtonLoadingIcon,class:$([e.cancelButtonClass]),round:e.roundButton,size:e.btnSize,onClick:t[3]||(t[3]=p=>e.handleAction("cancel")),onKeydown:t[4]||(t[4]=Ot(Ke(p=>e.handleAction("cancel"),["prevent"]),["enter"]))},{default:j(()=>[ut(he(e.cancelButtonText||e.t("el.messagebox.cancel")),1)]),_:1},8,["type","text","loading","loading-icon","class","round","size"])):G("v-if",!0),Ue(U(c,{ref:"confirmRef",type:e.confirmButtonType==="text"?"":e.confirmButtonType,text:e.confirmButtonType==="text",loading:e.confirmButtonLoading,"loading-icon":e.confirmButtonLoadingIcon,class:$([e.confirmButtonClasses]),round:e.roundButton,disabled:e.confirmButtonDisabled,size:e.btnSize,onClick:t[5]||(t[5]=p=>e.handleAction("confirm")),onKeydown:t[6]||(t[6]=Ot(Ke(p=>e.handleAction("confirm"),["prevent"]),["enter"]))},{default:j(()=>[ut(he(e.confirmButtonText||e.t("el.messagebox.confirm")),1)]),_:1},8,["type","text","loading","loading-icon","class","round","disabled","size"]),[[ht,e.showConfirmButton]])],2)],6)]),_:3},8,["trapped","focus-trap-el","focus-start-el","onReleaseRequested"])],42,FE)]),_:3},8,["z-index","overlay-class","mask"]),[[ht,e.visible]])]),_:3})}var HE=_t(AE,[["render",KE]]);const $a=new Map,WE=e=>{let t=document.body;return e.appendTo&&(He(e.appendTo)&&(t=document.querySelector(e.appendTo)),$n(e.appendTo)&&(t=e.appendTo),$n(t)||(t=document.body)),t},jE=(e,t,n=null)=>{const l=U(HE,e,Qe(e.message)||jt(e.message)?{default:Qe(e.message)?e.message:()=>e.message}:null);return l.appContext=n,vl(l,t),WE(e).appendChild(t.firstElementChild),l.component},YE=()=>document.createElement("div"),UE=(e,t)=>{const n=YE();e.onVanish=()=>{vl(null,n),$a.delete(a)},e.onAction=s=>{const i=$a.get(a);let r;e.showInput?r={value:a.inputValue,action:s}:r=s,e.callback?e.callback(r,l.proxy):s==="cancel"||s==="close"?e.distinguishCancelAndClose&&s!=="cancel"?i.reject("close"):i.reject("cancel"):i.resolve(r)};const l=jE(e,n,t),a=l.proxy;for(const s in e)Ut(e,s)&&!Ut(a.$props,s)&&(s==="closeIcon"&>(e[s])?a[s]=Gl(e[s]):a[s]=e[s]);return a.visible=!0,a};function ra(e,t=null){if(!st)return Promise.reject();let n;return He(e)||jt(e)?e={message:e}:n=e.callback,new Promise((l,a)=>{const s=UE(e,t??ra._context);$a.set(s,{options:e,callback:n,resolve:l,reject:a})})}const qE=["alert","confirm","prompt"],GE={alert:{closeOnPressEscape:!1,closeOnClickModal:!1},confirm:{showCancelButton:!0},prompt:{showCancelButton:!0,showInput:!0}};qE.forEach(e=>{ra[e]=_E(e)});function _E(e){return(t,n,l,a)=>{let s="";return gt(n)?(l=n,s=""):it(n)?s="":s=n,ra(Object.assign({title:s,message:t,type:"",...GE[e]},l,{boxType:e}),a)}}ra.close=()=>{$a.forEach((e,t)=>{t.doClose()}),$a.clear()};ra._context=null;const rl=ra;rl.install=e=>{rl._context=e._context,e.config.globalProperties.$msgbox=rl,e.config.globalProperties.$messageBox=rl,e.config.globalProperties.$alert=rl.alert,e.config.globalProperties.$confirm=rl.confirm,e.config.globalProperties.$prompt=rl.prompt};const C$=rl,Md=["primary","success","info","warning","error"],XE=me({customClass:{type:String,default:""},dangerouslyUseHTMLString:Boolean,duration:{type:Number,default:4500},icon:{type:Ct},id:{type:String,default:""},message:{type:q([String,Object,Function]),default:""},offset:{type:Number,default:0},onClick:{type:q(Function),default:()=>{}},onClose:{type:q(Function),required:!0},position:{type:String,values:["top-right","top-left","bottom-right","bottom-left"],default:"top-right"},showClose:{type:Boolean,default:!0},title:{type:String,default:""},type:{type:String,values:[...Md,""],default:""},zIndex:Number,closeIcon:{type:Ct,default:Fn}}),JE={destroy:()=>!0},ZE=["id"],QE=["textContent"],e1={key:0},t1=["innerHTML"];var n1=ie({name:"ElNotification",__name:"notification",props:XE,emits:JE,setup(e,{expose:t}){const n=e,{ns:l,zIndex:a}=To("notification"),{nextZIndex:s,currentZIndex:i}=a,r=I(!1);let c;const u=y(()=>{const S=n.type;return S&&gl[n.type]?l.m(S):""}),f=y(()=>n.type&&gl[n.type]||n.icon),p=y(()=>n.position.endsWith("right")?"right":"left"),h=y(()=>n.position.startsWith("top")?"top":"bottom"),m=y(()=>{var S;return{[h.value]:`${n.offset}px`,zIndex:(S=n.zIndex)!=null?S:i.value}});function d(){n.duration>0&&({stop:c}=Zl(()=>{r.value&&g()},n.duration))}function v(){c==null||c()}function g(){r.value=!1}function b(S){switch(St(S)){case de.delete:case de.backspace:v();break;case de.esc:r.value&&g();break;default:d();break}}return Ze(()=>{d(),s(),r.value=!0}),$t(document,"keydown",b),t({visible:r,close:g}),(S,w)=>(E(),Z(bn,{name:o(l).b("fade"),onBeforeLeave:e.onClose,onAfterLeave:w[1]||(w[1]=C=>S.$emit("destroy")),persisted:""},{default:j(()=>[Ue(H("div",{id:e.id,class:$([o(l).b(),e.customClass,p.value]),style:Fe(m.value),role:"alert",onMouseenter:v,onMouseleave:d,onClick:w[0]||(w[0]=(...C)=>e.onClick&&e.onClick(...C))},[f.value?(E(),Z(o(we),{key:0,class:$([o(l).e("icon"),u.value])},{default:j(()=>[(E(),Z(_e(f.value)))]),_:1},8,["class"])):G("v-if",!0),H("div",{class:$(o(l).e("group"))},[H("h2",{class:$(o(l).e("title")),textContent:he(e.title)},null,10,QE),Ue(H("div",{class:$(o(l).e("content")),style:Fe(e.title?void 0:{margin:0})},[X(S.$slots,"default",{},()=>[e.dangerouslyUseHTMLString?(E(),L(Re,{key:1},[G(" Caution here, message could've been compromised, never use user's input as message "),H("p",{innerHTML:e.message},null,8,t1)],2112)):(E(),L("p",e1,he(e.message),1))])],6),[[ht,e.message]]),e.showClose?(E(),Z(o(we),{key:0,class:$(o(l).e("closeBtn")),onClick:Ke(g,["stop"])},{default:j(()=>[(E(),Z(_e(e.closeIcon)))]),_:1},8,["class"])):G("v-if",!0)],2)],46,ZE),[[ht,r.value]])]),_:3},8,["name","onBeforeLeave"]))}});const la={"top-left":[],"top-right":[],"bottom-left":[],"bottom-right":[]},go=16;let l1=1;const Dl=function(e={},t){if(!st)return{close:()=>{}};(He(e)||jt(e))&&(e={message:e});const n=e.position||"top-right";let l=e.offset||0;la[n].forEach(({vm:f})=>{var p;l+=(((p=f.el)==null?void 0:p.offsetHeight)||0)+go}),l+=go;const a=`notification_${l1++}`,s=e.onClose,i={...e,offset:l,id:a,onClose:()=>{a1(a,n,s)}};let r=document.body;$n(e.appendTo)?r=e.appendTo:He(e.appendTo)&&(r=document.querySelector(e.appendTo)),$n(r)||(r=document.body);const c=document.createElement("div"),u=U(n1,i,Qe(i.message)?i.message:jt(i.message)?()=>i.message:null);return u.appContext=it(t)?Dl._context:t,u.props.onDestroy=()=>{vl(null,c)},vl(u,c),la[n].push({vm:u}),r.appendChild(c.firstElementChild),{close:()=>{u.component.exposed.visible.value=!1}}};Md.forEach(e=>{Dl[e]=(t={},n)=>((He(t)||jt(t))&&(t={message:t}),Dl({...t,type:e},n))});function a1(e,t,n){const l=la[t],a=l.findIndex(({vm:u})=>{var f;return((f=u.component)==null?void 0:f.props.id)===e});if(a===-1)return;const{vm:s}=l[a];if(!s)return;n==null||n(s);const i=s.el.offsetHeight,r=t.split("-")[0];l.splice(a,1);const c=l.length;if(!(c<1))for(let u=a;u{t.component.exposed.visible.value=!1})}function s1(e="top-right"){var t,n,l,a;let s=((l=(n=(t=la[e][0])==null?void 0:t.vm.component)==null?void 0:n.props)==null?void 0:l.offset)||0;for(const{vm:i}of la[e])i.component.props.offset=s,s+=(((a=i.el)==null?void 0:a.offsetHeight)||0)+go}Dl.closeAll=o1;Dl.updateOffsets=s1;Dl._context=null;const w$=mu(Dl,"$notify");var k$={name:"zh-cn",el:{breadcrumb:{label:"面包屑"},colorpicker:{confirm:"确定",clear:"清空",defaultLabel:"颜色选择器",description:"当前颜色 {color},按 Enter 键选择新颜色",alphaLabel:"选择透明度的值",alphaDescription:"透明度 {alpha}, 当前颜色 {color}",hueLabel:"选择色相值",hueDescription:"色相 {hue}, 当前颜色 {color}",svLabel:"选择饱和度与明度的值",svDescription:"饱和度 {saturation}, 明度 {brightness}, 当前颜色 {color}",predefineDescription:"选择 {value} 作为颜色"},datepicker:{now:"此刻",today:"今天",cancel:"取消",clear:"清空",confirm:"确定",dateTablePrompt:"使用方向键与 Enter 键可选择日期",monthTablePrompt:"使用方向键与 Enter 键可选择月份",yearTablePrompt:"使用方向键与 Enter 键可选择年份",selectedDate:"已选日期",selectDate:"选择日期",selectTime:"选择时间",startDate:"开始日期",startTime:"开始时间",endDate:"结束日期",endTime:"结束时间",prevYear:"前一年",nextYear:"后一年",prevMonth:"上个月",nextMonth:"下个月",year:"年",month1:"1 月",month2:"2 月",month3:"3 月",month4:"4 月",month5:"5 月",month6:"6 月",month7:"7 月",month8:"8 月",month9:"9 月",month10:"10 月",month11:"11 月",month12:"12 月",weeks:{sun:"日",mon:"一",tue:"二",wed:"三",thu:"四",fri:"五",sat:"六"},weeksFull:{sun:"星期日",mon:"星期一",tue:"星期二",wed:"星期三",thu:"星期四",fri:"星期五",sat:"星期六"},months:{jan:"一月",feb:"二月",mar:"三月",apr:"四月",may:"五月",jun:"六月",jul:"七月",aug:"八月",sep:"九月",oct:"十月",nov:"十一月",dec:"十二月"}},inputNumber:{decrease:"减少数值",increase:"增加数值"},select:{loading:"加载中",noMatch:"无匹配数据",noData:"无数据",placeholder:"请选择"},mention:{loading:"加载中"},dropdown:{toggleDropdown:"切换下拉选项"},cascader:{noMatch:"无匹配数据",loading:"加载中",placeholder:"请选择",noData:"暂无数据"},pagination:{goto:"前往",pagesize:"条/页",total:"共 {total} 条",pageClassifier:"页",page:"页",prev:"上一页",next:"下一页",currentPage:"第 {pager} 页",prevPages:"向前 {pager} 页",nextPages:"向后 {pager} 页",deprecationWarning:"你使用了一些已被废弃的用法,请参考 el-pagination 的官方文档"},dialog:{close:"关闭此对话框"},drawer:{close:"关闭此对话框"},messagebox:{title:"提示",confirm:"确定",cancel:"取消",error:"输入的数据不合法!",close:"关闭此对话框"},upload:{deleteTip:"按 Delete 键可删除",delete:"删除",preview:"查看图片",continue:"继续上传"},slider:{defaultLabel:"滑块介于 {min} 至 {max}",defaultRangeStartLabel:"选择起始值",defaultRangeEndLabel:"选择结束值"},table:{emptyText:"暂无数据",confirmFilter:"筛选",resetFilter:"重置",clearFilter:"全部",sumText:"合计",selectAllLabel:"选择所有行",selectRowLabel:"选择当前行",expandRowLabel:"展开当前行",collapseRowLabel:"收起当前行",sortLabel:"按 {column} 排序",filterLabel:"按 {column} 过滤"},tag:{close:"关闭此标签"},tour:{next:"下一步",previous:"上一步",finish:"结束导览",close:"关闭此对话框"},tree:{emptyText:"暂无数据"},transfer:{noMatch:"无匹配数据",noData:"无数据",titles:["列表 1","列表 2"],filterPlaceholder:"请输入搜索内容",noCheckedFormat:"共 {total} 项",hasCheckedFormat:"已选 {checked}/{total} 项"},image:{error:"加载失败"},pageHeader:{title:"返回"},popconfirm:{confirmButtonText:"确定",cancelButtonText:"取消"},carousel:{leftArrow:"上一张幻灯片",rightArrow:"下一张幻灯片",indicator:"幻灯片切换至索引 {index}"}}};export{h$ as $,k$ as A,Y1 as B,xn as C,j1 as D,y$ as E,T1 as F,N1 as G,Rl as H,bh as I,E1 as J,b1 as K,ma as L,i$ as M,u$ as N,e$ as O,Ca as P,ss as Q,W1 as R,rm as S,Qa as T,gy as U,F1 as V,m$ as W,t$ as X,tC as Y,$d as Z,G1 as _,C$ as a,kw as a0,n$ as a1,B1 as a2,l$ as a3,I1 as a4,o$ as a5,s$ as a6,P1 as a7,a$ as a8,L1 as a9,A1 as aa,v$ as ab,p$ as ac,f$ as ad,ch as ae,S1 as af,x1 as ag,O1 as ah,D1 as ai,y1 as aj,g$ as ak,$1 as al,w$ as b,b$ as c,we as d,V1 as e,R1 as f,r$ as g,q1 as h,tl as i,k1 as j,w1 as k,d$ as l,c$ as m,H1 as n,K1 as o,z1 as p,C1 as q,Rn as r,el as s,_0 as t,bt as u,U1 as v,Z1 as w,Q1 as x,J1 as y,M1 as z}; + `}),c=y(()=>2*Math.PI*i.value),u=y(()=>n.type==="dashboard"?.75:1),f=y(()=>`${-1*c.value*(1-u.value)/2}px`),p=y(()=>({strokeDasharray:`${c.value*u.value}px, ${c.value}px`,strokeDashoffset:f.value})),h=y(()=>({strokeDasharray:`${c.value*u.value*(n.percentage/100)}px, ${c.value}px`,strokeDashoffset:f.value,transition:"stroke-dasharray 0.6s ease 0s, stroke 0.6s ease, opacity ease 0.6s"})),m=y(()=>{let w;return n.color?w=S(n.percentage):w=t[n.status]||t.default,w}),d=y(()=>n.status==="warning"?ws:n.type==="line"?n.status==="success"?ks:Cl:n.status==="success"?Na:Fn),v=y(()=>n.type==="line"?12+n.strokeWidth*.4:n.width*.111111+2),g=y(()=>n.format(n.percentage));function b(w){const C=100/w.length;return w.map((N,T)=>He(N)?{color:N,percentage:(T+1)*C}:N).sort((N,T)=>N.percentage-T.percentage)}const S=w=>{var C;const{color:k}=n;if(Qe(k))return k(w);if(He(k))return k;{const N=b(k);for(const T of N)if(T.percentage>w)return T.color;return(C=N[N.length-1])==null?void 0:C.color}};return(w,C)=>(E(),L("div",{class:$([o(l).b(),o(l).m(e.type),o(l).is(e.status),{[o(l).m("without-text")]:!e.showText,[o(l).m("text-inside")]:e.textInside}]),role:"progressbar","aria-valuenow":e.percentage,"aria-valuemin":"0","aria-valuemax":"100"},[e.type==="line"?(E(),L("div",{key:0,class:$(o(l).b("bar"))},[H("div",{class:$(o(l).be("bar","outer")),style:Fe({height:`${e.strokeWidth}px`})},[H("div",{class:$([o(l).be("bar","inner"),{[o(l).bem("bar","inner","indeterminate")]:e.indeterminate},{[o(l).bem("bar","inner","striped")]:e.striped},{[o(l).bem("bar","inner","striped-flow")]:e.stripedFlow}]),style:Fe(a.value)},[(e.showText||w.$slots.default)&&e.textInside?(E(),L("div",{key:0,class:$(o(l).be("bar","innerText"))},[X(w.$slots,"default",{percentage:e.percentage},()=>[H("span",null,he(g.value),1)])],2)):G("v-if",!0)],6)],6)],2)):(E(),L("div",{key:1,class:$(o(l).b("circle")),style:Fe({height:`${e.width}px`,width:`${e.width}px`})},[(E(),L("svg",gw,[H("path",{class:$(o(l).be("circle","track")),d:r.value,stroke:`var(${o(l).cssVarName("fill-color-light")}, #e5e9f2)`,"stroke-linecap":e.strokeLinecap,"stroke-width":s.value,fill:"none",style:Fe(p.value)},null,14,bw),H("path",{class:$(o(l).be("circle","path")),d:r.value,stroke:m.value,fill:"none",opacity:e.percentage?1:0,"stroke-linecap":e.strokeLinecap,"stroke-width":s.value,style:Fe(h.value)},null,14,yw)]))],6)),(e.showText||w.$slots.default)&&!e.textInside?(E(),L("div",{key:2,class:$(o(l).e("text")),style:Fe({fontSize:`${v.value}px`})},[X(w.$slots,"default",{percentage:e.percentage},()=>[e.status?(E(),Z(o(we),{key:1},{default:j(()=>[(E(),Z(_e(d.value)))]),_:1})):(E(),L("span",Cw,he(g.value),1))])],6)):G("v-if",!0)],10,hw))}});const kw=Ge(ww),Sw=["start","center","end","space-around","space-between","space-evenly"],Ew=["top","middle","bottom"],$w=me({tag:{type:String,default:"div"},gutter:{type:Number,default:0},justify:{type:String,values:Sw,default:"start"},align:{type:String,values:Ew}});var Nw=ie({name:"ElRow",__name:"row",props:$w,setup(e){const t=e,n=ce("row"),l=y(()=>t.gutter);et(vc,{gutter:l});const a=y(()=>{const i={};return t.gutter&&(i.marginRight=i.marginLeft=`-${t.gutter/2}px`),i}),s=y(()=>[n.b(),n.is(`justify-${t.justify}`,t.justify!=="start"),n.is(`align-${t.align}`,!!t.align)]);return(i,r)=>(E(),Z(_e(e.tag),{class:$(s.value),style:Fe(a.value)},{default:j(()=>[X(i.$slots,"default")]),_:3},8,["class","style"]))}});const l$=Ge(Nw),Tw="horizontal",Pw=({atEndEdge:e,atStartEdge:t,layout:n},l)=>{let a,s=0;const i=c=>c<0&&t.value||c>0&&e.value;return{hasReachedEdge:i,onWheel:c=>{vv(a);let{deltaX:u,deltaY:f}=c;c.shiftKey&&f!==0&&(u=f,f=0);const p=n.value===Tw?u:f;i(p)||(s+=p,!Rs()&&p!==0&&c.preventDefault(),a=Is(()=>{l(s),s=0}))}}},Iw=me({animated:Boolean,count:{type:Number,default:1},rows:{type:Number,default:3},loading:{type:Boolean,default:!0},throttle:{type:q([Number,Object])}}),xw=me({variant:{type:String,values:["circle","rect","h1","h3","text","caption","p","image","button"],default:"text"}});var mo=ie({name:"ElSkeletonItem",__name:"skeleton-item",props:xw,setup(e){const t=ce("skeleton");return(n,l)=>(E(),L("div",{class:$([o(t).e("item"),o(t).e(e.variant)])},[e.variant==="image"?(E(),Z(o(df),{key:0})):G("v-if",!0)],2))}});const Ow=(e,t=0)=>{if(t===0)return e;const n=gt(t)&&!!t.initVal,l=I(n);let a=null;const s=r=>{if(it(r)){l.value=e.value;return}a&&clearTimeout(a),a=setTimeout(()=>{l.value=e.value},r)},i=r=>{r==="leading"?Ae(t)?s(t):s(t.leading):gt(t)?s(t.trailing):l.value=!1};return Ze(()=>i("leading")),le(()=>e.value,r=>{i(r?"leading":"trailing")}),l};var Rw=ie({name:"ElSkeleton",__name:"skeleton",props:Iw,setup(e,{expose:t}){const n=e,l=ce("skeleton"),a=Ow(Nt(n,"loading"),n.throttle);return t({uiLoading:a}),(s,i)=>o(a)?(E(),L("div",ct({key:0,class:[o(l).b(),o(l).is("animated",e.animated)]},s.$attrs),[(E(!0),L(Re,null,rt(e.count,r=>(E(),L(Re,{key:r},[o(a)?X(s.$slots,"template",{key:r},()=>[U(mo,{class:$(o(l).is("first")),variant:"p"},null,8,["class"]),(E(!0),L(Re,null,rt(e.rows,c=>(E(),Z(mo,{key:c,class:$([o(l).e("paragraph"),o(l).is("last",c===e.rows&&e.rows>1)]),variant:"p"},null,8,["class"]))),128))]):G("v-if",!0)],64))),128))],16)):X(s.$slots,"default",va(ct({key:1},s.$attrs)))}});const a$=Ge(Rw,{SkeletonItem:mo});At(mo);const Mw=me({space:{type:[Number,String],default:""},active:{type:Number,default:0},direction:{type:String,default:"horizontal",values:["horizontal","vertical"]},alignCenter:{type:Boolean},simple:{type:Boolean},finishStatus:{type:String,values:["wait","process","finish","error","success"],default:"finish"},processStatus:{type:String,values:["wait","process","finish","error","success"],default:"process"}}),Dw={[dt]:(e,t)=>[e,t].every(Ae)},td="ElSteps";var Bw=ie({name:"ElSteps",__name:"steps",props:Mw,emits:Dw,setup(e,{emit:t}){const n=e,l=t,a=ce("steps"),{children:s,addChild:i,removeChild:r,ChildrenSorter:c}=Zu(qe(),"ElStep");return le(s,()=>{s.value.forEach((u,f)=>{u.setIndex(f)})}),et(td,{props:n,steps:s,addStep:i,removeStep:r}),le(()=>n.active,(u,f)=>{l(dt,u,f)}),(u,f)=>(E(),L("div",{class:$([o(a).b(),o(a).m(e.simple?"simple":e.direction)])},[X(u.$slots,"default"),U(o(c))],2))}});const Lw=me({title:{type:String,default:""},icon:{type:Ct},description:{type:String,default:""},status:{type:String,values:["","wait","process","finish","error","success"],default:""}});var nd=ie({name:"ElStep",__name:"item",props:Lw,setup(e){const t=e,n=ce("step"),l=I(-1),a=I({}),s=I(""),i=be(td),r=qe();let c=0,u=0;Ze(()=>{le([()=>i.props.active,()=>i.props.processStatus,()=>i.props.finishStatus],([P],[x])=>{u=x||0,c=P-u,N(P)},{immediate:!0})});const f=y(()=>t.status||s.value),p=y(()=>{const P=i.steps.value[l.value-1];return P?P.internalStatus.value:"wait"}),h=y(()=>i.props.alignCenter),m=y(()=>i.props.direction==="vertical"),d=y(()=>i.props.simple),v=y(()=>i.steps.value.length),g=y(()=>{var P;return((P=i.steps.value[v.value-1])==null?void 0:P.uid)===r.uid}),b=y(()=>d.value?"":i.props.space),S=y(()=>[n.b(),n.is(d.value?"simple":i.props.direction),n.is("flex",g.value&&!b.value&&!h.value),n.is("center",h.value&&!m.value&&!d.value)]),w=y(()=>{const P={flexBasis:Ae(b.value)?`${b.value}px`:b.value?b.value:`${100/(v.value-(h.value?0:1))}%`};return m.value||g.value&&(P.maxWidth=`${100/v.value}%`),P}),C=P=>{l.value=P},k=P=>{const x=P==="wait",W={transitionDelay:`${Math.abs(c)===1?0:c>0?(l.value+1-u)*150:-(l.value+1-i.props.active)*150}ms`},A=P===i.props.processStatus||x?0:100;W.borderWidth=A&&!d.value?"1px":0,W[i.props.direction==="vertical"?"height":"width"]=`${A}%`,a.value=W},N=P=>{P>l.value?s.value=i.props.finishStatus:P===l.value&&p.value!=="error"?s.value=i.props.processStatus:s.value="wait";const x=i.steps.value[l.value-1];x&&x.calcProgress(s.value)},T={uid:r.uid,getVnode:()=>r.vnode,currentStatus:f,internalStatus:s,setIndex:C,calcProgress:k};return i.addStep(T),Et(()=>{i.removeStep(T)}),(P,x)=>(E(),L("div",{style:Fe(w.value),class:$(S.value)},[G(" icon & line "),H("div",{class:$([o(n).e("head"),o(n).is(f.value)])},[d.value?G("v-if",!0):(E(),L("div",{key:0,class:$(o(n).e("line"))},[H("i",{class:$(o(n).e("line-inner")),style:Fe(a.value)},null,6)],2)),H("div",{class:$([o(n).e("icon"),o(n).is(e.icon||P.$slots.icon?"icon":"text")])},[X(P.$slots,"icon",{},()=>[e.icon?(E(),Z(o(we),{key:0,class:$(o(n).e("icon-inner"))},{default:j(()=>[(E(),Z(_e(e.icon)))]),_:1},8,["class"])):f.value==="success"?(E(),Z(o(we),{key:1,class:$([o(n).e("icon-inner"),o(n).is("status")])},{default:j(()=>[U(o(Na))]),_:1},8,["class"])):f.value==="error"?(E(),Z(o(we),{key:2,class:$([o(n).e("icon-inner"),o(n).is("status")])},{default:j(()=>[U(o(Fn))]),_:1},8,["class"])):d.value?G("v-if",!0):(E(),L("div",{key:3,class:$(o(n).e("icon-inner"))},he(l.value+1),3))])],2)],2),G(" title & description "),H("div",{class:$(o(n).e("main"))},[H("div",{class:$([o(n).e("title"),o(n).is(f.value)])},[X(P.$slots,"title",{},()=>[ut(he(e.title),1)])],2),d.value?(E(),L("div",{key:0,class:$(o(n).e("arrow"))},null,2)):(E(),L("div",{key:1,class:$([o(n).e("description"),o(n).is(f.value)])},[X(P.$slots,"description",{},()=>[ut(he(e.description),1)])],2))],2)],6))}});const o$=Ge(Bw,{Step:nd}),s$=At(nd),ld=e=>["",...Gn].includes(e),Aw=me({modelValue:{type:[Boolean,String,Number],default:!1},disabled:{type:Boolean,default:void 0},loading:Boolean,size:{type:String,validator:ld},width:{type:[String,Number],default:""},inlinePrompt:Boolean,inactiveActionIcon:{type:Ct},activeActionIcon:{type:Ct},activeIcon:{type:Ct},inactiveIcon:{type:Ct},activeText:{type:String,default:""},inactiveText:{type:String,default:""},activeValue:{type:[Boolean,String,Number],default:!0},inactiveValue:{type:[Boolean,String,Number],default:!1},name:{type:String,default:""},validateEvent:{type:Boolean,default:!0},beforeChange:{type:q(Function)},id:String,tabindex:{type:[String,Number]},...Dn(["ariaLabel"])}),Fw={[Ye]:e=>yt(e)||He(e)||Ae(e),[dt]:e=>yt(e)||He(e)||Ae(e),[On]:e=>yt(e)||He(e)||Ae(e)},Vw=["id","aria-checked","aria-disabled","aria-label","name","true-value","false-value","disabled","tabindex"],zw=["aria-hidden"],Kw={key:1},Hw={key:1},Ww=["aria-hidden"],pi="ElSwitch";var jw=ie({name:pi,__name:"switch",props:Aw,emits:Fw,setup(e,{expose:t,emit:n}){const l=e,a=n,{formItem:s}=yn(),i=Gt(),r=ce("switch"),{inputId:c}=ll(l,{formItemContext:s}),u=Dt(y(()=>{if(l.loading)return!0})),f=I(l.modelValue!==!1),p=ln(),h=y(()=>[r.b(),r.m(i.value),r.is("disabled",u.value),r.is("checked",b.value)]),m=y(()=>[r.e("label"),r.em("label","left"),r.is("active",!b.value)]),d=y(()=>[r.e("label"),r.em("label","right"),r.is("active",b.value)]),v=y(()=>({width:Bt(l.width)}));le(()=>l.modelValue,()=>{f.value=!0});const g=y(()=>f.value?l.modelValue:!1),b=y(()=>g.value===l.activeValue);[l.activeValue,l.inactiveValue].includes(g.value)||(a(Ye,l.inactiveValue),a(dt,l.inactiveValue),a(On,l.inactiveValue)),le(b,k=>{var N;p.value.checked=k,l.validateEvent&&((N=s==null?void 0:s.validate)==null||N.call(s,"change").catch(T=>void 0))});const S=()=>{const k=b.value?l.inactiveValue:l.activeValue;a(Ye,k),a(dt,k),a(On,k),Ee(()=>{p.value.checked=b.value})},w=()=>{if(u.value)return;const{beforeChange:k}=l;if(!k){S();return}const N=k();[ha(N),yt(N)].includes(!0)||qt(pi,"beforeChange must return type `Promise` or `boolean`"),ha(N)?N.then(P=>{P&&S()}).catch(P=>{}):N&&S()},C=()=>{var k,N;(N=(k=p.value)==null?void 0:k.focus)==null||N.call(k)};return Ze(()=>{p.value.checked=b.value}),t({focus:C,checked:b}),(k,N)=>(E(),L("div",{class:$(h.value),onClick:Ke(w,["prevent"])},[H("input",{id:o(c),ref_key:"input",ref:p,class:$(o(r).e("input")),type:"checkbox",role:"switch","aria-checked":b.value,"aria-disabled":o(u),"aria-label":e.ariaLabel,name:e.name,"true-value":e.activeValue,"false-value":e.inactiveValue,disabled:o(u),tabindex:e.tabindex,onChange:S,onKeydown:Ot(w,["enter"])},null,42,Vw),!e.inlinePrompt&&(e.inactiveIcon||e.inactiveText||k.$slots.inactive)?(E(),L("span",{key:0,class:$(m.value)},[X(k.$slots,"inactive",{},()=>[e.inactiveIcon?(E(),Z(o(we),{key:0},{default:j(()=>[(E(),Z(_e(e.inactiveIcon)))]),_:1})):G("v-if",!0),!e.inactiveIcon&&e.inactiveText?(E(),L("span",{key:1,"aria-hidden":b.value},he(e.inactiveText),9,zw)):G("v-if",!0)])],2)):G("v-if",!0),H("span",{class:$(o(r).e("core")),style:Fe(v.value)},[e.inlinePrompt?(E(),L("div",{key:0,class:$(o(r).e("inner"))},[b.value?(E(),L("div",{key:1,class:$(o(r).e("inner-wrapper"))},[X(k.$slots,"active",{},()=>[e.activeIcon?(E(),Z(o(we),{key:0},{default:j(()=>[(E(),Z(_e(e.activeIcon)))]),_:1})):G("v-if",!0),!e.activeIcon&&e.activeText?(E(),L("span",Hw,he(e.activeText),1)):G("v-if",!0)])],2)):(E(),L("div",{key:0,class:$(o(r).e("inner-wrapper"))},[X(k.$slots,"inactive",{},()=>[e.inactiveIcon?(E(),Z(o(we),{key:0},{default:j(()=>[(E(),Z(_e(e.inactiveIcon)))]),_:1})):G("v-if",!0),!e.inactiveIcon&&e.inactiveText?(E(),L("span",Kw,he(e.inactiveText),1)):G("v-if",!0)])],2))],2)):G("v-if",!0),H("div",{class:$(o(r).e("action"))},[e.loading?(E(),Z(o(we),{key:0,class:$(o(r).is("loading"))},{default:j(()=>[U(o(qn))]),_:1},8,["class"])):b.value?X(k.$slots,"active-action",{key:1},()=>[e.activeActionIcon?(E(),Z(o(we),{key:0},{default:j(()=>[(E(),Z(_e(e.activeActionIcon)))]),_:1})):G("v-if",!0)]):b.value?G("v-if",!0):X(k.$slots,"inactive-action",{key:2},()=>[e.inactiveActionIcon?(E(),Z(o(we),{key:0},{default:j(()=>[(E(),Z(_e(e.inactiveActionIcon)))]),_:1})):G("v-if",!0)])],2)],6),!e.inlinePrompt&&(e.activeIcon||e.activeText||k.$slots.active)?(E(),L("span",{key:1,class:$(d.value)},[X(k.$slots,"active",{},()=>[e.activeIcon?(E(),Z(o(we),{key:0},{default:j(()=>[(E(),Z(_e(e.activeIcon)))]),_:1})):G("v-if",!0),!e.activeIcon&&e.activeText?(E(),L("span",{key:1,"aria-hidden":!b.value},he(e.activeText),9,Ww)):G("v-if",!0)])],2)):G("v-if",!0)],2))}});const r$=Ge(jw),qo=function(e){var t;return(t=e.target)==null?void 0:t.closest("td")},Yw=function(e,t,n,l,a){if(!t&&!l&&(!a||Pe(a)&&!a.length))return e;He(n)?n=n==="descending"?-1:1:n=n&&n<0?-1:1;const s=l?null:function(r,c){return a?Zi(tn(a),u=>He(u)?En(r,u):u(r,c,e)):(t!=="$key"&>(r)&&"$value"in r&&(r=r.$value),[gt(r)?t?En(r,t):null:r])},i=function(r,c){var u,f,p,h,m,d;if(l)return l(r.value,c.value);for(let v=0,g=(f=(u=r.key)==null?void 0:u.length)!=null?f:0;v((d=c.key)==null?void 0:d[v]))return 1}return 0};return e.map((r,c)=>({value:r,index:c,key:s?s(r,c):null})).sort((r,c)=>{let u=i(r,c);return u||(u=r.index-c.index),u*+n}).map(r=>r.value)},ad=function(e,t){let n=null;return e.columns.forEach(l=>{l.id===t&&(n=l)}),n},Uw=function(e,t){let n=null;for(let l=0;l{if(!e)throw new Error("Row is required when get row identity");if(He(t)){if(!t.includes("."))return`${e[t]}`;const n=t.split(".");let l=e;for(const a of n)l=l[a];return`${l}`}else if(Qe(t))return t.call(null,e);return""},Yl=function(e,t,n=!1,l="children"){const a=e||[],s={};return a.forEach((i,r)=>{if(s[nn(i,t)]={row:i,index:r},n){const c=i[l];Pe(c)&&Object.assign(s,Yl(c,t,!0,l))}}),s};function qw(e,t){const n={};let l;for(l in e)n[l]=e[l];for(l in t)if(Ut(t,l)){const a=t[l];it(a)||(n[l]=a)}return n}function cr(e){return e===""||it(e)||(e=Number.parseInt(e,10),Number.isNaN(e)&&(e="")),e}function od(e){return e===""||it(e)||(e=cr(e),Number.isNaN(e)&&(e=80)),e}function Gw(e){return Ae(e)?e:He(e)?/^\d+(?:px)?$/.test(e)?Number.parseInt(e,10):e:null}function _w(...e){return e.length===0?t=>t:e.length===1?e[0]:e.reduce((t,n)=>(...l)=>t(n(...l)))}function ho(e,t,n,l,a,s,i){let r=s??0,c=!1;const f=(()=>{if(!i)return e.indexOf(t);const v=nn(t,i);return e.findIndex(g=>nn(g,i)===v)})(),p=f!==-1,h=a==null?void 0:a.call(null,t,r),m=v=>{v==="add"?e.push(t):e.splice(f,1),c=!0},d=v=>{let g=0;const b=(l==null?void 0:l.children)&&v[l.children];return b&&Pe(b)&&(g+=b.length,b.forEach(S=>{g+=d(S)})),g};return(!a||h)&&(yt(n)?n&&!p?m("add"):!n&&p&&m("remove"):m(p?"remove":"add")),!(l!=null&&l.checkStrictly)&&(l!=null&&l.children)&&Pe(t[l.children])&&t[l.children].forEach(v=>{const g=ho(e,v,n??!p,l,a,r+1,i);r+=d(v)+1,g&&(c=g)}),c}function Xw(e,t,n="children",l="hasChildren",a=!1){const s=r=>!(Pe(r)&&r.length);function i(r,c,u){t(r,c,u),c.forEach(f=>{if(f[l]&&a){t(f,null,u+1);return}const p=f[n];s(p)||i(f,p,u+1)})}e.forEach(r=>{if(r[l]&&a){t(r,null,0);return}const c=r[n];s(c)||i(r,c,0)})}const Jw=(e,t,n,l)=>{const a={strategy:"fixed",...e.popperOptions},s=Qe(l==null?void 0:l.tooltipFormatter)?l.tooltipFormatter({row:n,column:l,cellValue:dl(n,l.property).value}):void 0;return jt(s)?{slotContent:s,content:null,...e,popperOptions:a}:{slotContent:null,content:s??t,...e,popperOptions:a}};let rn=null;function Zw(e,t,n,l,a,s){var i;const r=Jw(e,t,n,l),c={...r,slotContent:void 0};if((rn==null?void 0:rn.trigger)===a){const d=(i=rn.vm)==null?void 0:i.component;Ji(d==null?void 0:d.props,c),d&&r.slotContent&&(d.slots.content=()=>[r.slotContent]);return}rn==null||rn();const u=s==null?void 0:s.refs.tableWrapper,f=u==null?void 0:u.dataset.prefix,p=U(Rn,{virtualTriggering:!0,virtualRef:a,appendTo:u,placement:"top",transition:"none",offset:0,hideAfter:0,...c},r.slotContent?{content:()=>r.slotContent}:void 0);p.appContext={...s.appContext,...s};const h=document.createElement("div");vl(p,h),p.component.exposed.onOpen();const m=u==null?void 0:u.querySelector(`.${f}-scrollbar__wrap`);rn=()=>{var d,v;(v=(d=p.component)==null?void 0:d.exposed)!=null&&v.onClose&&p.component.exposed.onClose(),vl(null,h);const g=rn;m==null||m.removeEventListener("scroll",g),g.trigger=void 0,g.vm=void 0,rn=null},rn.trigger=a??void 0,rn.vm=p,m==null||m.addEventListener("scroll",rn)}function sd(e){return e.children?Zi(e.children,sd):[e]}function hi(e,t){return e+t.colSpan}const rd=(e,t,n,l)=>{let a=0,s=e;const i=n.states.columns.value;if(l){const c=sd(l[e]);a=i.slice(0,i.indexOf(c[0])).reduce(hi,0),s=a+c.reduce(hi,0)-1}else a=e;let r;switch(t){case"left":s=i.length-n.states.rightFixedLeafColumnsLength.value&&(r="right");break;default:s=i.length-n.states.rightFixedLeafColumnsLength.value&&(r="right")}return r?{direction:r,start:a,after:s}:{}},dr=(e,t,n,l,a,s=0)=>{const i=[],{direction:r,start:c,after:u}=rd(t,n,l,a);if(r){const f=r==="left";i.push(`${e}-fixed-column--${r}`),f&&u+s===l.states.fixedLeafColumnsLength.value-1?i.push("is-last-column"):!f&&c-s===l.states.columns.value.length-l.states.rightFixedLeafColumnsLength.value&&i.push("is-first-column")}return i};function gi(e,t){return e+(wo(t.realWidth)||Number.isNaN(t.realWidth)?Number(t.width):t.realWidth)}const fr=(e,t,n,l)=>{const{direction:a,start:s=0,after:i=0}=rd(e,t,n,l);if(!a)return;const r={},c=a==="left",u=n.states.columns.value;return c?r.left=u.slice(0,s).reduce(gi,0):r.right=u.slice(i+1).reverse().reduce(gi,0),r},na=(e,t)=>{e&&(Number.isNaN(e[t])||(e[t]=`${e[t]}px`))};function id(e){return e.some(t=>jt(t)?!(t.type===Il||t.type===Re&&!id(t.children)):!0)?e:null}function Qw(e){const t=qe(),n=I(!1),l=I([]),a=(u,f)=>{var p;const h=t.store.states.rowExpandable.value;return(p=h==null?void 0:h(u,f))!=null?p:!0};return{updateExpandRows:()=>{const u=e.data.value||[],f=e.rowKey.value;if(n.value)l.value=t.store.states.rowExpandable.value?u.filter(a):u.slice();else if(f){const p=Yl(l.value,f);l.value=u.filter((h,m)=>{const d=nn(h,f);return!!p[d]&&a(h,m)})}else l.value=[]},toggleRowExpansion:(u,f)=>{const h=(e.data.value||[]).indexOf(u);if(h>-1&&!a(u,h))return;ho(l.value,u,f,void 0,void 0,void 0,e.rowKey.value)&&t.emit("expand-change",u,l.value.slice())},setExpandRowKeys:u=>{t.store.assertRowKey();const f=e.data.value||[],p=e.rowKey.value,h=Yl(f,p);l.value=u.reduce((m,d)=>{const v=h[d];return v&&a(v.row,v.index)&&m.push(v.row),m},[])},isRowExpanded:u=>{const f=e.rowKey.value;return f?!!Yl(l.value,f)[nn(u,f)]:l.value.includes(u)},states:{expandRows:l,defaultExpandAll:n}}}function ek(e){const t=qe(),n=I(null),l=I(null),a=u=>{t.store.assertRowKey(),n.value=u,i(u)},s=()=>{n.value=null},i=u=>{var f;const{data:p,rowKey:h}=e,m=l.value;let d=null;h.value&&(d=(f=(o(p)||[]).find(v=>nn(v,h.value)===u))!=null?f:null),l.value=d??null,t.emit("current-change",l.value,m)};return{setCurrentRowKey:a,restoreCurrentRowKey:s,setCurrentRowByKey:i,updateCurrentRow:u=>{const f=l.value;if(u&&u!==f){l.value=u,t.emit("current-change",l.value,f);return}!u&&f&&(l.value=null,t.emit("current-change",null,f))},updateCurrentRowData:()=>{const u=e.rowKey.value,f=e.data.value||[],p=l.value;if(p&&!f.includes(p))if(u){const h=nn(p,u);i(h)}else l.value=null,t.emit("current-change",null,p);else n.value&&(i(n.value),s())},states:{_currentRowKey:n,currentRow:l}}}function tk(e){const t=I([]),n=I({}),l=I(16),a=I(!1),s=I({}),i=I("hasChildren"),r=I("children"),c=I(!1),u=qe(),f=y(()=>{if(!e.rowKey.value)return{};const C=e.data.value||[];return h(C)}),p=y(()=>{const C=e.rowKey.value,k=Object.keys(s.value),N={};return k.length&&k.forEach(T=>{if(s.value[T].length){const P={children:[]};s.value[T].forEach(x=>{const D=nn(x,C);P.children.push(D),x[i.value]&&!N[D]&&(N[D]={children:[]})}),N[T]=P}}),N}),h=C=>{const k=e.rowKey.value,N={};return Xw(C,(T,P,x)=>{const D=nn(T,k);Pe(P)?N[D]={children:P.map(W=>nn(W,k)),level:x}:a.value&&(N[D]={children:[],lazy:!0,level:x})},r.value,i.value,a.value),N},m=(C=!1,k)=>{var N,T;k||(k=(N=u.store)==null?void 0:N.states.defaultExpandAll.value);const P=f.value,x=p.value,D=Object.keys(P),W={};if(D.length){const A=o(n),V=[],_=(ve,O)=>{if(C)return t.value?k||t.value.includes(O):!!(k||ve!=null&&ve.expanded);{const R=k||t.value&&t.value.includes(O);return!!(ve!=null&&ve.expanded||R)}};D.forEach(ve=>{const O=A[ve],R={...P[ve]};if(R.expanded=_(O,ve),R.lazy){const{loaded:B=!1,loading:M=!1}=O||{};R.loaded=!!B,R.loading=!!M,V.push(ve)}W[ve]=R});const oe=Object.keys(x);a.value&&oe.length&&V.length&&oe.forEach(ve=>{var O;const R=A[ve],B=x[ve].children;if(V.includes(ve)){if(((O=W[ve].children)==null?void 0:O.length)!==0)throw new Error("[ElTable]children must be an empty array.");W[ve].children=B}else{const{loaded:M=!1,loading:F=!1}=R||{};W[ve]={lazy:!0,loaded:!!M,loading:!!F,expanded:_(R,ve),children:B,level:void 0}}})}n.value=W,(T=u.store)==null||T.updateTableScrollY()};le(()=>t.value,()=>{m(!0)}),le(()=>f.value,()=>{m()}),le(()=>p.value,()=>{m()});const d=C=>{t.value=C,m()},v=C=>a.value&&C&&"loaded"in C&&!C.loaded,g=(C,k)=>{u.store.assertRowKey();const N=e.rowKey.value,T=nn(C,N),P=T&&n.value[T];if(T&&P&&"expanded"in P){const x=P.expanded;k=it(k)?!P.expanded:k,n.value[T].expanded=k,x!==k&&u.emit("expand-change",C,k),k&&v(P)&&S(C,T,P),u.store.updateTableScrollY()}},b=C=>{u.store.assertRowKey();const k=e.rowKey.value,N=nn(C,k),T=n.value[N];v(T)?S(C,N,T):g(C,void 0)},S=(C,k,N)=>{const{load:T}=u.props;T&&!n.value[k].loaded&&(n.value[k].loading=!0,T(C,N,P=>{if(!Pe(P))throw new TypeError("[ElTable] data must be an array");n.value[k].loading=!1,n.value[k].loaded=!0,n.value[k].expanded=!0,P.length&&(s.value[k]=P),u.emit("expand-change",C,!0)}))};return{loadData:S,loadOrToggle:b,toggleTreeExpansion:g,updateTreeExpandKeys:d,updateTreeData:m,updateKeyChildren:(C,k)=>{const{lazy:N,rowKey:T}=u.props;if(N){if(!T)throw new Error("[Table] rowKey is required in updateKeyChild");s.value[C]&&(s.value[C]=k)}},normalize:h,states:{expandRowKeys:t,treeData:n,indent:l,lazy:a,lazyTreeNodeMap:s,lazyColumnIdentifier:i,childrenColumnName:r,checkStrictly:c}}}const nk=(e,t)=>{const n=t.sortingColumn;return!n||He(n.sortable)?e:Yw(e,t.sortProp,t.sortOrder,n.sortMethod,n.sortBy)},to=e=>{const t=[];return e.forEach(n=>{n.children&&n.children.length>0?t.push.apply(t,to(n.children)):t.push(n)}),t};function lk(){var e;const t=qe(),{size:n}=Mn((e=t.proxy)==null?void 0:e.$props),l=I(null),a=I([]),s=I([]),i=I(!1),r=I([]),c=I([]),u=I([]),f=I([]),p=I([]),h=I([]),m=I([]),d=I([]),v=[],g=I(0),b=I(0),S=I(0),w=I(!1),C=I([]),k=I(!1),N=I(!1),T=I(null),P=I(null),x=I({}),D=I(null),W=I(null),A=I(null),V=I(null),_=I(null),oe=y(()=>l.value?Yl(C.value,l.value):void 0);le(a,()=>{var Me;t.state&&(B(!1),t.props.tableLayout==="auto"&&((Me=t.refs.tableHeaderRef)==null||Me.updateFixedColumnStyle()))},{deep:!0});const ve=()=>{if(!l.value)throw new Error("[ElTable] prop row-key is required")},O=Me=>{var nt;(nt=Me.children)==null||nt.forEach(Je=>{Je.fixed=Me.fixed,O(Je)})},R=()=>{r.value.forEach(Ce=>{O(Ce)}),f.value=r.value.filter(Ce=>[!0,"left"].includes(Ce.fixed));const Me=r.value.find(Ce=>Ce.type==="selection");let nt;Me&&Me.fixed!=="right"&&!f.value.includes(Me)&&r.value.indexOf(Me)===0&&f.value.length&&(f.value.unshift(Me),nt=!0),p.value=r.value.filter(Ce=>Ce.fixed==="right");const Je=r.value.filter(Ce=>(nt?Ce.type!=="selection":!0)&&!Ce.fixed);c.value=Array.from(f.value).concat(Je).concat(p.value);const te=to(Je),ge=to(f.value),Q=to(p.value);g.value=te.length,b.value=ge.length,S.value=Q.length,u.value=Array.from(ge).concat(te).concat(Q),i.value=f.value.length>0||p.value.length>0},B=(Me,nt=!1)=>{Me&&R(),nt?t.state.doLayout():t.state.debouncedUpdateLayout()},M=Me=>oe.value?!!oe.value[nn(Me,l.value)]:C.value.includes(Me),F=()=>{w.value=!1;const Me=C.value;C.value=[],Me.length&&t.emit("selection-change",[])},K=()=>{var Me,nt;let Je;if(l.value){Je=[];const te=(nt=(Me=t==null?void 0:t.store)==null?void 0:Me.states)==null?void 0:nt.childrenColumnName.value,ge=Yl(a.value,l.value,!0,te);for(const Q in oe.value)Ut(oe.value,Q)&&!ge[Q]&&Je.push(oe.value[Q].row)}else Je=C.value.filter(te=>!a.value.includes(te));if(Je.length){const te=C.value.filter(ge=>!Je.includes(ge));C.value=te,t.emit("selection-change",te.slice())}},z=()=>(C.value||[]).slice(),J=(Me,nt,Je=!0,te=!1)=>{var ge,Q,Ce,Ve;const mt={children:(Q=(ge=t==null?void 0:t.store)==null?void 0:ge.states)==null?void 0:Q.childrenColumnName.value,checkStrictly:(Ve=(Ce=t==null?void 0:t.store)==null?void 0:Ce.states)==null?void 0:Ve.checkStrictly.value};if(ho(C.value,Me,nt,mt,te?void 0:T.value,a.value.indexOf(Me),l.value)){const Cn=(C.value||[]).slice();Je&&t.emit("select",Cn,Me),t.emit("selection-change",Cn)}},ne=()=>{var Me,nt;const Je=N.value?!w.value:!(w.value||C.value.length);w.value=Je;let te=!1,ge=0;const Q=(nt=(Me=t==null?void 0:t.store)==null?void 0:Me.states)==null?void 0:nt.rowKey.value,{childrenColumnName:Ce}=t.store.states,Ve={children:Ce.value,checkStrictly:!1};a.value.forEach((mt,Lt)=>{const Cn=Lt+ge;ho(C.value,mt,Je,Ve,T.value,Cn,Q)&&(te=!0),ge+=se(nn(mt,Q))}),te&&t.emit("selection-change",C.value?C.value.slice():[]),t.emit("select-all",(C.value||[]).slice())},fe=()=>{var Me;if(((Me=a.value)==null?void 0:Me.length)===0){w.value=!1;return}const{childrenColumnName:nt}=t.store.states;let Je=0,te=0;const ge=Ce=>{var Ve;for(const mt of Ce){const Lt=T.value&&T.value.call(null,mt,Je);if(M(mt))te++;else if(!T.value||Lt)return!1;if(Je++,(Ve=mt[nt.value])!=null&&Ve.length&&!ge(mt[nt.value]))return!1}return!0},Q=ge(a.value||[]);w.value=te===0?!1:Q},se=Me=>{var nt;if(!t||!t.store)return 0;const{treeData:Je}=t.store.states;let te=0;const ge=(nt=Je.value[Me])==null?void 0:nt.children;return ge&&(te+=ge.length,ge.forEach(Q=>{te+=se(Q)})),te},Se=(Me,nt)=>{const Je={};return tn(Me).forEach(te=>{x.value[te.id]=nt,Je[te.columnKey||te.id]=nt}),Je},ue=(Me,nt,Je)=>{W.value&&W.value!==Me&&(W.value.order=null),W.value=Me,A.value=nt,V.value=Je},ee=()=>{let Me=o(s);Object.keys(x.value).forEach(nt=>{const Je=x.value[nt];if(!Je||Je.length===0)return;const te=ad({columns:u.value},nt);te&&te.filterMethod&&(Me=Me.filter(ge=>Je.some(Q=>te.filterMethod.call(null,Q,ge,te))))}),D.value=Me},Y=()=>{var Me;a.value=nk((Me=D.value)!=null?Me:[],{sortingColumn:W.value,sortProp:A.value,sortOrder:V.value})},re=(Me=void 0)=>{Me!=null&&Me.filter||ee(),Y()},$e=Me=>{const{tableHeaderRef:nt}=t.refs;if(!nt)return;const Je=Object.assign({},nt.filterPanels),te=Object.keys(Je);if(te.length)if(He(Me)&&(Me=[Me]),Pe(Me)){const ge=Me.map(Q=>Uw({columns:u.value},Q));te.forEach(Q=>{const Ce=ge.find(Ve=>Ve.id===Q);Ce&&(Ce.filteredValue=[])}),t.store.commit("filterChange",{column:ge,values:[],silent:!0,multi:!0})}else te.forEach(ge=>{const Q=u.value.find(Ce=>Ce.id===ge);Q&&(Q.filteredValue=[])}),x.value={},t.store.commit("filterChange",{column:{},values:[],silent:!0})},Le=()=>{W.value&&(ue(null,null,null),t.store.commit("changeSortCondition",{silent:!0}))},{setExpandRowKeys:tt,toggleRowExpansion:je,updateExpandRows:lt,states:pt,isRowExpanded:vt}=Qw({data:a,rowKey:l}),{updateTreeExpandKeys:wt,toggleTreeExpansion:Xt,updateTreeData:Jt,updateKeyChildren:zt,loadOrToggle:pn,states:mn}=tk({data:a,rowKey:l}),{updateCurrentRowData:Zt,updateCurrentRow:xe,setCurrentRowKey:We,states:De}=ek({data:a,rowKey:l});return{assertRowKey:ve,updateColumns:R,scheduleLayout:B,isSelected:M,clearSelection:F,cleanSelection:K,getSelectionRows:z,toggleRowSelection:J,_toggleAllSelection:ne,toggleAllSelection:null,updateAllSelected:fe,updateFilters:Se,updateCurrentRow:xe,updateSort:ue,execFilter:ee,execSort:Y,execQuery:re,clearFilter:$e,clearSort:Le,toggleRowExpansion:je,setExpandRowKeysAdapter:Me=>{tt(Me),wt(Me)},setCurrentRowKey:We,toggleRowExpansionAdapter:(Me,nt)=>{u.value.some(({type:te})=>te==="expand")?je(Me,nt):Xt(Me,nt)},isRowExpanded:vt,updateExpandRows:lt,updateCurrentRowData:Zt,loadOrToggle:pn,updateTreeData:Jt,updateKeyChildren:zt,states:{tableSize:n,rowKey:l,data:a,_data:s,isComplex:i,_columns:r,originColumns:c,columns:u,fixedColumns:f,rightFixedColumns:p,leafColumns:h,fixedLeafColumns:m,rightFixedLeafColumns:d,updateOrderFns:v,leafColumnsLength:g,fixedLeafColumnsLength:b,rightFixedLeafColumnsLength:S,isAllSelected:w,selection:C,reserveSelection:k,selectOnIndeterminate:N,selectable:T,rowExpandable:P,filters:x,filteredData:D,sortingColumn:W,sortProp:A,sortOrder:V,hoverRow:_,...pt,...mn,...De}}}function vs(e,t){return e.map(n=>{var l;return n.id===t.id?t:((l=n.children)!=null&&l.length&&(n.children=vs(n.children,t)),n)})}function ps(e){e.forEach(t=>{var n,l;t.no=(n=t.getColumnIndex)==null?void 0:n.call(t),(l=t.children)!=null&&l.length&&ps(t.children)}),e.sort((t,n)=>t.no-n.no)}function ak(){const e=qe(),t=lk(),n=ce("table"),{t:l}=at();return{ns:n,t:l,...t,mutations:{setData(r,c){const u=o(r._data)!==c;r.data.value=c,r._data.value=c,e.store.execQuery(),e.store.updateCurrentRowData(),e.store.updateExpandRows(),e.store.updateTreeData(e.store.states.defaultExpandAll.value),o(r.reserveSelection)?e.store.assertRowKey():u?e.store.clearSelection():e.store.cleanSelection(),e.store.updateAllSelected(),e.$ready&&e.store.scheduleLayout()},insertColumn(r,c,u,f){var p;const h=o(r._columns);let m=[];u?(u&&!u.children&&(u.children=[]),(p=u.children)==null||p.push(c),m=vs(h,u)):(h.push(c),m=h),ps(m),r._columns.value=m,r.updateOrderFns.push(f),c.type==="selection"&&(r.selectable.value=c.selectable,r.reserveSelection.value=c.reserveSelection),e.$ready&&(e.store.updateColumns(),e.store.scheduleLayout())},updateColumnOrder(r,c){var u;((u=c.getColumnIndex)==null?void 0:u.call(c))!==c.no&&(ps(r._columns.value),e.$ready&&e.store.updateColumns())},removeColumn(r,c,u,f){var p;const h=o(r._columns)||[];if(u)(p=u.children)==null||p.splice(u.children.findIndex(d=>d.id===c.id),1),Ee(()=>{var d;((d=u.children)==null?void 0:d.length)===0&&delete u.children}),r._columns.value=vs(h,u);else{const d=h.indexOf(c);d>-1&&(h.splice(d,1),r._columns.value=h)}const m=r.updateOrderFns.indexOf(f);m>-1&&r.updateOrderFns.splice(m,1),e.$ready&&(e.store.updateColumns(),e.store.scheduleLayout())},sort(r,c){const{prop:u,order:f,init:p}=c;if(u){const h=o(r.columns).find(m=>m.property===u);h&&(h.order=f,e.store.updateSort(h,u,f),e.store.commit("changeSortCondition",{init:p}))}},changeSortCondition(r,c){const{sortingColumn:u,sortProp:f,sortOrder:p}=r,h=o(u),m=o(f),d=o(p);wo(d)&&(r.sortingColumn.value=null,r.sortProp.value=null);const v={filter:!0};e.store.execQuery(v),(!c||!(c.silent||c.init))&&e.emit("sort-change",{column:h,prop:m,order:d}),e.store.updateTableScrollY()},filterChange(r,c){const{column:u,values:f,silent:p}=c,h=e.store.updateFilters(u,f);e.store.execQuery(),p||e.emit("filter-change",h),e.store.updateTableScrollY()},toggleAllSelection(){var r,c;(c=(r=e.store).toggleAllSelection)==null||c.call(r)},rowSelectedChanged(r,c){e.store.toggleRowSelection(c),e.store.updateAllSelected()},setHoverRow(r,c){r.hoverRow.value=c},setCurrentRow(r,c){e.store.updateCurrentRow(c)}},commit:function(r,...c){const u=e.store.mutations;if(u[r])u[r].apply(e,[e.store.states,...c]);else throw new Error(`Action not found: ${r}`)},updateTableScrollY:function(){Ee(()=>e.layout.updateScrollY.apply(e.layout))}}}const vr={rowKey:"rowKey",defaultExpandAll:"defaultExpandAll",rowExpandable:"rowExpandable",selectOnIndeterminate:"selectOnIndeterminate",indent:"indent",lazy:"lazy","treeProps.hasChildren":{key:"lazyColumnIdentifier",default:"hasChildren"},"treeProps.children":{key:"childrenColumnName",default:"children"},"treeProps.checkStrictly":{key:"checkStrictly",default:!1}};function ok(e,t){if(!e)throw new Error("Table is required.");const n=ak();return n.toggleAllSelection=Jl(n._toggleAllSelection,10),Object.keys(vr).forEach(l=>{ud(cd(t,l),l,n)}),sk(n,t),n}function sk(e,t){Object.keys(vr).forEach(n=>{le(()=>cd(t,n),l=>{ud(l,n,e)})})}function ud(e,t,n){let l=e,a=vr[t];gt(a)&&(l=l||a.default,a=a.key),n.states[a].value=l}function cd(e,t){if(t.includes(".")){const n=t.split(".");let l=e;return n.forEach(a=>{l=l[a]}),l}else return e[t]}var rk=Object.defineProperty,ik=(e,t,n)=>t in e?rk(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,en=(e,t,n)=>ik(e,typeof t!="symbol"?t+"":t,n);class uk{constructor(t){en(this,"observers"),en(this,"table"),en(this,"store"),en(this,"columns"),en(this,"fit"),en(this,"showHeader"),en(this,"height"),en(this,"scrollX"),en(this,"scrollY"),en(this,"bodyWidth"),en(this,"fixedWidth"),en(this,"rightFixedWidth"),en(this,"tableHeight"),en(this,"headerHeight"),en(this,"appendHeight"),en(this,"footerHeight"),en(this,"gutterWidth"),this.observers=[],this.table=null,this.store=null,this.columns=[],this.fit=!0,this.showHeader=!0,this.height=I(null),this.scrollX=I(!1),this.scrollY=I(!1),this.bodyWidth=I(null),this.fixedWidth=I(null),this.rightFixedWidth=I(null),this.gutterWidth=0;for(const n in t)Ut(t,n)&&(Ln(this[n])?this[n].value=t[n]:this[n]=t[n]);if(!this.table)throw new Error("Table is required for Table Layout");if(!this.store)throw new Error("Store is required for Table Layout")}updateScrollY(){const t=this.height.value;if(wo(t))return!1;const n=this.table.refs.scrollBarRef;if(this.table.vnode.el&&(n!=null&&n.wrapRef)){let l=!0;const a=this.scrollY.value;return l=n.wrapRef.scrollHeight>n.wrapRef.clientHeight,this.scrollY.value=l,a!==l}return!1}setHeight(t,n="height"){if(!st)return;const l=this.table.vnode.el;if(t=Gw(t),this.height.value=Number(t),!l&&(t||t===0)){Ee(()=>this.setHeight(t,n));return}l&&Ae(t)?(l.style[n]=`${t}px`,this.updateElsHeight()):l&&He(t)&&(l.style[n]=t,this.updateElsHeight())}setMaxHeight(t){this.setHeight(t,"max-height")}getFlattenColumns(){const t=[];return this.table.store.states.columns.value.forEach(l=>{l.isColumnGroup?t.push.apply(t,l.columns):t.push(l)}),t}updateElsHeight(){this.updateScrollY(),this.notifyObservers("scrollable")}headerDisplayNone(t){if(!t)return!0;let n=t;for(;n.tagName!=="DIV";){if(getComputedStyle(n).display==="none")return!0;n=n.parentElement}return!1}updateColumnsWidth(){var t;if(!st)return;const n=this.fit,l=(t=this.table.vnode.el)==null?void 0:t.clientWidth;let a=0;const s=this.getFlattenColumns(),i=s.filter(u=>!Ae(u.width));if(s.forEach(u=>{Ae(u.width)&&u.realWidth&&(u.realWidth=null)}),i.length>0&&n){if(s.forEach(u=>{a+=Number(u.width||u.minWidth||80)}),a<=l){this.scrollX.value=!1;const u=l-a;if(i.length===1)i[0].realWidth=Number(i[0].minWidth||80)+u;else{const f=i.reduce((m,d)=>m+Number(d.minWidth||80),0),p=u/f;let h=0;i.forEach((m,d)=>{if(d===0)return;const v=Math.floor(Number(m.minWidth||80)*p);h+=v,m.realWidth=Number(m.minWidth||80)+v}),i[0].realWidth=Number(i[0].minWidth||80)+u-h}}else this.scrollX.value=!0,i.forEach(u=>{u.realWidth=Number(u.minWidth)});this.bodyWidth.value=Math.max(a,l),this.table.state.resizeState.value.width=this.bodyWidth.value}else s.forEach(u=>{!u.width&&!u.minWidth?u.realWidth=80:u.realWidth=Number(u.width||u.minWidth),a+=u.realWidth}),this.scrollX.value=a>l,this.bodyWidth.value=a;const r=this.store.states.fixedColumns.value;if(r.length>0){let u=0;r.forEach(f=>{u+=Number(f.realWidth||f.width)}),this.fixedWidth.value=u}const c=this.store.states.rightFixedColumns.value;if(c.length>0){let u=0;c.forEach(f=>{u+=Number(f.realWidth||f.width)}),this.rightFixedWidth.value=u}this.notifyObservers("columns")}addObserver(t){this.observers.push(t)}removeObserver(t){const n=this.observers.indexOf(t);n!==-1&&this.observers.splice(n,1)}notifyObservers(t){this.observers.forEach(l=>{var a,s;switch(t){case"columns":(a=l.state)==null||a.onColumnsChange(this);break;case"scrollable":(s=l.state)==null||s.onScrollableChange(this);break;default:throw new Error(`Table Layout don't have event ${t}.`)}})}}var ck=ie({name:"ElTableFilterPanel",components:{ElCheckbox:Rl,ElCheckboxGroup:ch,ElScrollbar:el,ElTooltip:Rn,ElIcon:we,ArrowDown:wl,ArrowUp:Ss},props:{placement:{type:String,default:"bottom-start"},store:{type:Object},column:{type:Object},upDataColumn:{type:Function},appendTo:bt.appendTo},setup(e){const t=qe(),{t:n}=at(),l=ce("table-filter"),a=t==null?void 0:t.parent;e.column&&!a.filterPanels.value[e.column.id]&&(a.filterPanels.value[e.column.id]=t);const s=I(null),i=I(null),r=I(0),c=y(()=>e.column&&e.column.filters),u=y(()=>e.column&&e.column.filterClassName?`${l.b()} ${e.column.filterClassName}`:l.b()),f=y({get:()=>{var T;return(((T=e.column)==null?void 0:T.filteredValue)||[])[0]},set:T=>{p.value&&(Nn(T)?p.value.splice(0,1):p.value.splice(0,1,T))}}),p=y({get(){return e.column?e.column.filteredValue||[]:[]},set(T){var P;e.column&&((P=e.upDataColumn)==null||P.call(e,"filteredValue",T))}}),h=y(()=>e.column?e.column.filterMultiple:!0),m=T=>T.value===f.value,d=()=>{var T;(T=s.value)==null||T.onClose()},v=()=>{S(p.value),d()},g=()=>{p.value=[],S(p.value),d()},b=(T,P)=>{f.value=T,r.value=P,Nn(T)?S([]):S(p.value),d()},S=T=>{var P,x;(P=e.store)==null||P.commit("filterChange",{column:e.column,values:T}),(x=e.store)==null||x.updateAllSelected()},w=()=>{var T,P;(T=i.value)==null||T.focus(),!h.value&&k(),e.column&&((P=e.upDataColumn)==null||P.call(e,"filterOpened",!0))},C=()=>{var T;e.column&&((T=e.upDataColumn)==null||T.call(e,"filterOpened",!1))},k=()=>{if(Nn(f)){r.value=0;return}const T=(c.value||[]).findIndex(P=>P.value===f.value);r.value=T>=0?T+1:0};return{multiple:h,filterClassName:u,filteredValue:p,filterValue:f,filters:c,handleConfirm:v,handleReset:g,handleSelect:b,isPropAbsent:Nn,isActive:m,t:n,ns:l,tooltipRef:s,rootRef:i,checkedIndex:r,handleShowTooltip:w,handleHideTooltip:C,handleKeydown:T=>{var P,x;const D=St(T),W=(c.value?c.value.length:0)+1;let A=r.value,V=!0;switch(D){case de.down:case de.right:A=(A+1)%W;break;case de.up:case de.left:A=(A-1+W)%W;break;case de.tab:d(),V=!1;break;case de.enter:case de.space:if(A===0)b(null,0);else{const _=(c.value||[])[A-1];_.value&&b(_.value,A)}break;default:V=!1;break}V&&T.preventDefault(),r.value=A,(x=(P=i.value)==null?void 0:P.querySelector(`.${l.e("list-item")}:nth-child(${A+1})`))==null||x.focus()}}}});const dk=["disabled"],fk=["tabindex","aria-checked"],vk=["tabindex","aria-checked","onClick"],pk=["aria-label"];function mk(e,t,n,l,a,s){const i=ot("el-checkbox"),r=ot("el-checkbox-group"),c=ot("el-scrollbar"),u=ot("arrow-up"),f=ot("arrow-down"),p=ot("el-icon"),h=ot("el-tooltip");return E(),Z(h,{ref:"tooltipRef",offset:0,placement:e.placement,"show-arrow":!1,trigger:"click",role:"dialog",teleported:"",effect:"light",pure:"",loop:"","popper-class":e.filterClassName,persistent:"","append-to":e.appendTo,onShow:e.handleShowTooltip,onHide:e.handleHideTooltip},{content:j(()=>[e.multiple?(E(),L("div",{key:0,ref:"rootRef",tabindex:"-1",class:$(e.ns.e("multiple"))},[H("div",{class:$(e.ns.e("content"))},[U(c,{"wrap-class":e.ns.e("wrap")},{default:j(()=>[U(r,{modelValue:e.filteredValue,"onUpdate:modelValue":t[0]||(t[0]=m=>e.filteredValue=m),class:$(e.ns.e("checkbox-group"))},{default:j(()=>[(E(!0),L(Re,null,rt(e.filters,m=>(E(),Z(i,{key:m.value,value:m.value},{default:j(()=>[ut(he(m.text),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue","class"])]),_:1},8,["wrap-class"])],2),H("div",{class:$(e.ns.e("bottom"))},[H("button",{class:$(e.ns.is("disabled",e.filteredValue.length===0)),disabled:e.filteredValue.length===0,type:"button",onClick:t[1]||(t[1]=(...m)=>e.handleConfirm&&e.handleConfirm(...m))},he(e.t("el.table.confirmFilter")),11,dk),H("button",{type:"button",onClick:t[2]||(t[2]=(...m)=>e.handleReset&&e.handleReset(...m))},he(e.t("el.table.resetFilter")),1)],2)],2)):(E(),L("ul",{key:1,ref:"rootRef",tabindex:"-1",role:"radiogroup",class:$(e.ns.e("list")),onKeydown:t[4]||(t[4]=(...m)=>e.handleKeydown&&e.handleKeydown(...m))},[H("li",{role:"radio",class:$([e.ns.e("list-item"),e.ns.is("active",e.isPropAbsent(e.filterValue))]),tabindex:e.checkedIndex===0?0:-1,"aria-checked":e.isPropAbsent(e.filterValue),onClick:t[3]||(t[3]=m=>e.handleSelect(null,0))},he(e.t("el.table.clearFilter")),11,fk),(E(!0),L(Re,null,rt(e.filters,(m,d)=>(E(),L("li",{key:m.value,role:"radio",class:$([e.ns.e("list-item"),e.ns.is("active",e.isActive(m))]),tabindex:e.checkedIndex===d+1?0:-1,"aria-checked":e.isActive(m),onClick:v=>e.handleSelect(m.value,d+1)},he(m.text),11,vk))),128))],34))]),default:j(()=>{var m;return[H("button",{type:"button",class:$(`${e.ns.namespace.value}-table__column-filter-trigger`),"aria-label":e.t("el.table.filterLabel",{column:((m=e.column)==null?void 0:m.label)||""})},[U(p,null,{default:j(()=>[X(e.$slots,"filter-icon",{},()=>{var d;return[(d=e.column)!=null&&d.filterOpened?(E(),Z(u,{key:0})):(E(),Z(f,{key:1}))]})]),_:3})],10,pk)]}),_:3},8,["placement","popper-class","append-to","onShow","onHide"])}var hk=_t(ck,[["render",mk]]);function pr(e){const t=qe();Cs(()=>{n.value.addObserver(t)}),Ze(()=>{l(n.value),a(n.value)}),Bl(()=>{l(n.value),a(n.value)}),bo(()=>{n.value.removeObserver(t)});const n=y(()=>{const s=e.layout;if(!s)throw new Error("Can not find table layout.");return s}),l=s=>{var i;const r=((i=e.vnode.el)==null?void 0:i.querySelectorAll("colgroup > col"))||[];if(!r.length)return;const c=s.getFlattenColumns(),u={};c.forEach(f=>{u[f.id]=f});for(let f=0,p=r.length;f{var i,r;const c=((i=e.vnode.el)==null?void 0:i.querySelectorAll("colgroup > col[name=gutter]"))||[];for(let f=0,p=c.length;f{v.stopPropagation()},s=(v,g)=>{!g.filters&&g.sortable?d(v,g,!1):g.filterable&&!g.sortable&&a(v),l==null||l.emit("header-click",g,v)},i=(v,g)=>{l==null||l.emit("header-contextmenu",g,v)},r=I(null),c=I(!1),u=I(),f=(v,g)=>{var b,S;if(st&&!(g.children&&g.children.length>0)&&r.value&&e.border&&r.value.id===g.id){c.value=!0;const w=l;t("set-drag-visible",!0);const C=w==null?void 0:w.vnode.el,k=C==null?void 0:C.getBoundingClientRect().left,N=(S=(b=n==null?void 0:n.vnode)==null?void 0:b.el)==null?void 0:S.querySelector(`th.${g.id}`),T=N.getBoundingClientRect(),P=T.left-k+30;Bn(N,"noclick"),u.value={startMouseLeft:v.clientX,startLeft:T.right-k,startColumnLeft:T.left-k,tableLeft:k};const x=w==null?void 0:w.refs.resizeProxy;x.style.left=`${u.value.startLeft}px`,document.onselectstart=function(){return!1},document.ondragstart=function(){return!1};const D=A=>{const V=A.clientX-u.value.startMouseLeft,_=u.value.startLeft+V;x.style.left=`${Math.max(P,_)}px`},W=()=>{if(c.value){const{startColumnLeft:A,startLeft:V}=u.value,oe=Number.parseInt(x.style.left,10)-A;g.width=g.realWidth=oe,w==null||w.emit("header-dragend",g.width,V-A,g,v),requestAnimationFrame(()=>{e.store.scheduleLayout(!1,!0)}),document.body.style.cursor="",c.value=!1,r.value=null,u.value=void 0,t("set-drag-visible",!1)}document.removeEventListener("mousemove",D),document.removeEventListener("mouseup",W),document.onselectstart=null,document.ondragstart=null,setTimeout(()=>{dn(N,"noclick")},0)};document.addEventListener("mousemove",D),document.addEventListener("mouseup",W)}},p=(v,g)=>{var b;if(!e.border||g.children&&g.children.length>0)return;const S=v.target,w=$n(S)?S.closest("th"):null;if(!w)return;const C=Un(w,"is-sortable");if(C){const D=c.value?"col-resize":"";w.style.cursor=D;const W=w.querySelector(".caret-wrapper");W&&(W.style.cursor=D)}if(!g.resizable||c.value){r.value=null;return}const k=w.getBoundingClientRect(),N=((b=w.parentNode)==null?void 0:b.lastElementChild)===w,T=e.allowDragLastColumn||!N,P=k.width>12&&k.right-v.clientX<8&&T,x=P?"col-resize":"";document.body.style.cursor=x,r.value=P?g:null,C&&(w.style.cursor=x)},h=()=>{!st||c.value||(document.body.style.cursor="")},m=({order:v,sortOrders:g})=>{if(v==="")return g[0];const b=g.indexOf(v||null);return g[b>g.length-2?0:b+1]},d=(v,g,b)=>{var S;v.stopPropagation();const w=g.order===b?null:b||m(g),C=(S=v.target)==null?void 0:S.closest("th");if(C&&Un(C,"noclick")){dn(C,"noclick");return}if(!g.sortable)return;const k=v.currentTarget;if(["ascending","descending"].some(D=>Un(k,D)&&!g.sortOrders.includes(D)))return;const N=e.store.states;let T=N.sortProp.value,P;const x=N.sortingColumn.value;(x!==g||x===g&&wo(x.order))&&(x&&(x.order=null),N.sortingColumn.value=g,T=g.property),w?P=g.order=w:P=g.order=null,N.sortProp.value=T,N.sortOrder.value=P,l==null||l.store.commit("changeSortCondition")};return{handleHeaderClick:s,handleHeaderContextMenu:i,handleMouseDown:f,handleMouseMove:p,handleMouseOut:h,handleSortClick:d,handleFilterClick:a}}function bk(e){const t=be(jn),n=ce("table");return{getHeaderRowStyle:r=>{const c=t==null?void 0:t.props.headerRowStyle;return Qe(c)?c.call(null,{rowIndex:r}):c},getHeaderRowClass:r=>{const c=[],u=t==null?void 0:t.props.headerRowClassName;return He(u)?c.push(u):Qe(u)&&c.push(u.call(null,{rowIndex:r})),c.join(" ")},getHeaderCellStyle:(r,c,u,f)=>{var p;let h=(p=t==null?void 0:t.props.headerCellStyle)!=null?p:{};Qe(h)&&(h=h.call(null,{rowIndex:r,columnIndex:c,row:u,column:f}));const m=fr(c,f.fixed,e.store,u);return na(m,"left"),na(m,"right"),Object.assign({},h,m)},getHeaderCellClass:(r,c,u,f)=>{const p=dr(n.b(),c,f.fixed,e.store,u),h=[f.id,f.order,f.headerAlign,f.className,f.labelClassName,...p];f.children||h.push("is-leaf"),f.sortable&&h.push("is-sortable");const m=t==null?void 0:t.props.headerCellClassName;return He(m)?h.push(m):Qe(m)&&h.push(m.call(null,{rowIndex:r,columnIndex:c,row:u,column:f})),h.push(n.e("cell")),h.filter(d=>!!d).join(" ")}}}const dd=e=>{const t=[];return e.forEach(n=>{n.children?(t.push(n),t.push.apply(t,dd(n.children))):t.push(n)}),t},fd=e=>{let t=1;const n=(s,i)=>{if(i&&(s.level=i.level+1,t{n(c,s),r+=c.colSpan}),s.colSpan=r}else s.colSpan=1};e.forEach(s=>{s.level=1,n(s,void 0)});const l=[];for(let s=0;s{s.children?(s.rowSpan=1,s.children.forEach(i=>i.isSubColumn=!0)):s.rowSpan=t-s.level+1,l[s.level-1].push(s)}),l};function yk(e){const t=be(jn),n=y(()=>fd(e.store.states.originColumns.value));return{isGroup:y(()=>{const s=n.value.length>1;return s&&t&&(t.state.isGroup.value=!0),s}),toggleAllSelection:s=>{s.stopPropagation(),t==null||t.store.commit("toggleAllSelection")},columnRows:n}}var Ck=ie({name:"ElTableHeader",components:{ElCheckbox:Rl},props:{fixed:{type:String,default:""},store:{required:!0,type:Object},border:Boolean,defaultSort:{type:Object,default:()=>({prop:"",order:""})},appendFilterPanelTo:{type:String},allowDragLastColumn:{type:Boolean}},setup(e,{emit:t}){const n=qe(),l=be(jn),a=ce("table"),s=I({}),{onColumnsChange:i,onScrollableChange:r}=pr(l),c=(l==null?void 0:l.props.tableLayout)==="auto",u=kt(new Map),f=I();let p;const h=()=>{p=setTimeout(()=>{u.size>0&&(u.forEach((A,V)=>{const _=f.value.querySelector(`.${V.replace(/\s/g,".")}`);if(_){const oe=_.getBoundingClientRect().width;A.width=oe||A.width}}),u.clear())})};le(u,h),Et(()=>{p&&(clearTimeout(p),p=void 0)}),Ze(async()=>{await Ee(),await Ee();const{prop:A,order:V}=e.defaultSort;l==null||l.store.commit("sort",{prop:A,order:V,init:!0}),h()});const{handleHeaderClick:m,handleHeaderContextMenu:d,handleMouseDown:v,handleMouseMove:g,handleMouseOut:b,handleSortClick:S,handleFilterClick:w}=gk(e,t),{getHeaderRowStyle:C,getHeaderRowClass:k,getHeaderCellStyle:N,getHeaderCellClass:T}=bk(e),{isGroup:P,toggleAllSelection:x,columnRows:D}=yk(e),{t:W}=at();return n.state={onColumnsChange:i,onScrollableChange:r},n.filterPanels=s,{ns:a,t:W,filterPanels:s,onColumnsChange:i,onScrollableChange:r,columnRows:D,getHeaderRowClass:k,getHeaderRowStyle:C,getHeaderCellClass:T,getHeaderCellStyle:N,handleHeaderClick:m,handleHeaderContextMenu:d,handleMouseDown:v,handleMouseMove:g,handleMouseOut:b,handleSortClick:S,handleFilterClick:w,isGroup:P,toggleAllSelection:x,saveIndexSelection:u,isTableLayoutAuto:c,theadRef:f,updateFixedColumnStyle:h}},render(){const{ns:e,t,isGroup:n,columnRows:l,getHeaderCellStyle:a,getHeaderCellClass:s,getHeaderRowClass:i,getHeaderRowStyle:r,handleHeaderClick:c,handleHeaderContextMenu:u,handleMouseDown:f,handleMouseMove:p,handleSortClick:h,handleMouseOut:m,store:d,$parent:v,saveIndexSelection:g,isTableLayoutAuto:b}=this;let S=1;return Ie("thead",{ref:"theadRef",class:e.is("group",n)},l.map((w,C)=>Ie("tr",{class:i(C),key:C,style:r(C)},w.map((k,N)=>{k.rowSpan>S&&(S=k.rowSpan);const T=s(C,N,w,k);return b&&k.fixed&&g.set(T,k),Ie("th",{class:T,colspan:k.colSpan,key:`${k.id}-thead`,rowspan:k.rowSpan,scope:k.colSpan>1?"colgroup":"col",ariaSort:k.sortable?k.order:void 0,style:a(C,N,w,k),onClick:P=>{var x;(x=P.currentTarget)!=null&&x.classList.contains("noclick")||c(P,k)},onContextmenu:P=>u(P,k),onMousedown:P=>f(P,k),onMousemove:P=>p(P,k),onMouseout:m},[Ie("div",{class:["cell",k.filteredValue&&k.filteredValue.length>0?"highlight":""]},[k.renderHeader?k.renderHeader({column:k,$index:N,store:d,_self:v}):k.label,k.sortable&&Ie("button",{type:"button",class:"caret-wrapper","aria-label":t("el.table.sortLabel",{column:k.label||""}),onClick:P=>h(P,k)},[Ie("i",{onClick:P=>h(P,k,"ascending"),class:"sort-caret ascending"}),Ie("i",{onClick:P=>h(P,k,"descending"),class:"sort-caret descending"})]),k.filterable&&Ie(hk,{store:d,placement:k.filterPlacement||"bottom-start",appendTo:v==null?void 0:v.appendFilterPanelTo,column:k,upDataColumn:(P,x)=>{k[P]=x}},{"filter-icon":()=>k.renderFilterIcon?k.renderFilterIcon({filterOpened:k.filterOpened}):null})])])}))))}});function Go(e,t,n=.03){return e-t>n}function wk(e){const t=be(jn),n=I(""),l=I(Ie("div")),a=(d,v,g)=>{var b,S,w;const C=t,k=qo(d);let N=null;const T=(b=C==null?void 0:C.vnode.el)==null?void 0:b.dataset.prefix;k&&(N=mi({columns:(w=(S=e.store)==null?void 0:S.states.columns.value)!=null?w:[]},k,T),N&&(C==null||C.emit(`cell-${g}`,v,N,k,d))),C==null||C.emit(`row-${g}`,v,N,d)},s=(d,v)=>{a(d,v,"dblclick")},i=(d,v)=>{var g;(g=e.store)==null||g.commit("setCurrentRow",v),a(d,v,"click")},r=(d,v)=>{a(d,v,"contextmenu")},c=Jl(d=>{var v;(v=e.store)==null||v.commit("setHoverRow",d)},30),u=Jl(()=>{var d;(d=e.store)==null||d.commit("setHoverRow",null)},30),f=d=>{const v=window.getComputedStyle(d,null),g=Number.parseInt(v.paddingLeft,10)||0,b=Number.parseInt(v.paddingRight,10)||0,S=Number.parseInt(v.paddingTop,10)||0,w=Number.parseInt(v.paddingBottom,10)||0;return{left:g,right:b,top:S,bottom:w}},p=(d,v,g)=>{var b;let S=(b=v==null?void 0:v.target)==null?void 0:b.parentNode;for(;d>1&&(S=S==null?void 0:S.nextSibling,!(!S||S.nodeName!=="TR"));)g(S,"hover-row hover-fixed-row"),d--};return{handleDoubleClick:s,handleClick:i,handleContextMenu:r,handleMouseEnter:c,handleMouseLeave:u,handleCellMouseEnter:(d,v,g)=>{var b,S,w,C,k,N,T,P,x;if(!t)return;const D=t,W=qo(d),A=(b=D==null?void 0:D.vnode.el)==null?void 0:b.dataset.prefix;let V=null;if(W){if(V=mi({columns:(w=(S=e.store)==null?void 0:S.states.columns.value)!=null?w:[]},W,A),!V)return;W.rowSpan>1&&p(W.rowSpan,d,Bn);const fe=D.hoverState={cell:W,column:V,row:v};D==null||D.emit("cell-mouse-enter",fe.row,fe.column,fe.cell,d)}if(!g){((C=rn)==null?void 0:C.trigger)===W&&((k=rn)==null||k());return}const _=d.target.querySelector(".cell");if(!(Un(_,`${A}-tooltip`)&&_.childNodes.length&&((N=_.textContent)!=null&&N.trim())))return;const oe=document.createRange();oe.setStart(_,0),oe.setEnd(_,_.childNodes.length);const{width:ve,height:O}=oe.getBoundingClientRect(),{width:R,height:B}=_.getBoundingClientRect(),{top:M,left:F,right:K,bottom:z}=f(_),J=F+K,ne=M+z;Go(ve+J,R)||Go(O+ne,B)||Go(_.scrollWidth,R)?Zw(g,(T=(W==null?void 0:W.innerText)||(W==null?void 0:W.textContent))!=null?T:"",v,V,W,D):((P=rn)==null?void 0:P.trigger)===W&&((x=rn)==null||x())},handleCellMouseLeave:d=>{const v=qo(d);if(!v)return;v.rowSpan>1&&p(v.rowSpan,d,dn);const g=t==null?void 0:t.hoverState;t==null||t.emit("cell-mouse-leave",g==null?void 0:g.row,g==null?void 0:g.column,g==null?void 0:g.cell,d)},tooltipContent:n,tooltipTrigger:l}}function kk(e){const t=be(jn),n=ce("table");return{getRowStyle:(u,f)=>{const p=t==null?void 0:t.props.rowStyle;return Qe(p)?p.call(null,{row:u,rowIndex:f}):p||null},getRowClass:(u,f,p)=>{var h;const m=[n.e("row")];t!=null&&t.props.highlightCurrentRow&&u===((h=e.store)==null?void 0:h.states.currentRow.value)&&m.push("current-row"),e.stripe&&p%2===1&&m.push(n.em("row","striped"));const d=t==null?void 0:t.props.rowClassName;return He(d)?m.push(d):Qe(d)&&m.push(d.call(null,{row:u,rowIndex:f})),m},getCellStyle:(u,f,p,h)=>{const m=t==null?void 0:t.props.cellStyle;let d=m??{};Qe(m)&&(d=m.call(null,{rowIndex:u,columnIndex:f,row:p,column:h}));const v=fr(f,e==null?void 0:e.fixed,e.store);return na(v,"left"),na(v,"right"),Object.assign({},d,v)},getCellClass:(u,f,p,h,m)=>{const d=dr(n.b(),f,e==null?void 0:e.fixed,e.store,void 0,m),v=[h.id,h.align,h.className,...d],g=t==null?void 0:t.props.cellClassName;return He(g)?v.push(g):Qe(g)&&v.push(g.call(null,{rowIndex:u,columnIndex:f,row:p,column:h})),v.push(n.e("cell")),v.filter(b=>!!b).join(" ")},getSpan:(u,f,p,h)=>{let m=1,d=1;const v=t==null?void 0:t.props.spanMethod;if(Qe(v)){const g=v({row:u,column:f,rowIndex:p,columnIndex:h});Pe(g)?(m=g[0],d=g[1]):gt(g)&&(m=g.rowspan,d=g.colspan)}return{rowspan:m,colspan:d}},getColspanRealWidth:(u,f,p)=>{if(f<1)return u[p].realWidth;const h=u.map(({realWidth:m,width:d})=>m||d).slice(p,p+f);return Number(h.reduce((m,d)=>Number(m)+Number(d),-1))}}}const Sk=["colspan","rowspan"];var Ek=ie({name:"TableTdWrapper",__name:"td-wrapper",props:{colspan:{type:Number,default:1},rowspan:{type:Number,default:1}},setup(e){return(t,n)=>(E(),L("td",{colspan:e.colspan,rowspan:e.rowspan},[X(t.$slots,"default")],8,Sk))}});function $k(e){const t=be(jn),n=ce("table"),{handleDoubleClick:l,handleClick:a,handleContextMenu:s,handleMouseEnter:i,handleMouseLeave:r,handleCellMouseEnter:c,handleCellMouseLeave:u,tooltipContent:f,tooltipTrigger:p}=wk(e),{getRowStyle:h,getRowClass:m,getCellStyle:d,getCellClass:v,getSpan:g,getColspanRealWidth:b}=kk(e);let S=-1;const w=y(()=>{var P;return(P=e.store)==null?void 0:P.states.columns.value.findIndex(({type:x})=>x==="default")}),C=(P,x)=>{var D;const W=(D=t==null?void 0:t.props)==null?void 0:D.rowKey;return W?nn(P,W):x},k=(P,x,D,W=!1)=>{const{tooltipEffect:A,tooltipOptions:V,store:_}=e,{indent:oe,columns:ve}=_.states,O=[];let R=!0;return D&&(O.push(n.em("row",`level-${D.level}`)),R=!!D.display),x===0&&(S=-1),e.stripe&&R&&S++,O.push(...m(P,x,S)),Ie("tr",{style:[R?null:{display:"none"},h(P,x)],class:O,key:C(P,x),onDblclick:M=>l(M,P),onClick:M=>a(M,P),onContextmenu:M=>s(M,P),onMouseenter:()=>i(x),onMouseleave:r},ve.value.map((M,F)=>{const{rowspan:K,colspan:z}=g(P,M,x,F);if(!K||!z)return null;const J=Object.assign({},M);J.realWidth=b(ve.value,z,F);const ne={store:_,_self:e.context||t,column:J,row:P,$index:x,cellIndex:F,expanded:W};F===w.value&&D&&(ne.treeNode={indent:D.level&&D.level*oe.value,level:D.level},yt(D.expanded)&&(ne.treeNode.expanded=D.expanded,"loading"in D&&(ne.treeNode.loading=D.loading),"noLazyChildren"in D&&(ne.treeNode.noLazyChildren=D.noLazyChildren)));const fe=`${C(P,x)},${F}`,se=J.columnKey||J.rawColumnKey||"",Se=M.showOverflowTooltip&&Ji({effect:A},V,M.showOverflowTooltip);return Ie(Ek,{style:d(x,F,P,M),class:v(x,F,P,M,z-1),key:`${se}${fe}`,rowspan:K,colspan:z,onMouseenter:ue=>c(ue,P,Se),onMouseleave:u},{default:()=>N(F,M,ne)})}))},N=(P,x,D)=>x.renderCell(D);return{wrappedRowRender:(P,x)=>{const D=e.store,{isRowExpanded:W,assertRowKey:A}=D,{treeData:V,lazyTreeNodeMap:_,childrenColumnName:oe,rowKey:ve}=D.states,O=D.states.columns.value;if(O.some(({type:B})=>B==="expand")){const B=W(P),M=k(P,x,void 0,B),F=t==null?void 0:t.renderExpanded;if(!F)return console.error("[Element Error]renderExpanded is required."),M;const K=[[M]];return(t.props.preserveExpandedContent||B)&&K[0].push(Ie("tr",{key:`expanded-row__${M.key}`,style:{display:B?"":"none"}},[Ie("td",{colspan:O.length,class:`${n.e("cell")} ${n.e("expanded-cell")}`},[F({row:P,$index:x,store:D,expanded:B})])])),K}else if(Object.keys(V.value).length){A();const B=nn(P,ve.value);let M=V.value[B],F=null;M&&(F={expanded:M.expanded,level:M.level,display:!0,noLazyChildren:void 0,loading:void 0},yt(M.lazy)&&(F&&yt(M.loaded)&&M.loaded&&(F.noLazyChildren=!(M.children&&M.children.length)),F.loading=M.loading));const K=[k(P,x,F??void 0)];if(M){let z=0;const J=(fe,se)=>{fe&&fe.length&&se&&fe.forEach(Se=>{const ue={display:se.display&&se.expanded,level:se.level+1,expanded:!1,noLazyChildren:!1,loading:!1},ee=nn(Se,ve.value);if(Nn(ee))throw new Error("For nested data item, row-key is required.");if(M={...V.value[ee]},M&&(ue.expanded=M.expanded,M.level=M.level||ue.level,M.display=!!(M.expanded&&ue.display),yt(M.lazy)&&(yt(M.loaded)&&M.loaded&&(ue.noLazyChildren=!(M.children&&M.children.length)),ue.loading=M.loading)),z++,K.push(k(Se,x+z,ue)),M){const Y=_.value[ee]||Se[oe.value];J(Y,M)}})};M.display=!0;const ne=_.value[B]||P[oe.value];J(ne,M)}return K}else return k(P,x,void 0)},tooltipContent:f,tooltipTrigger:p}}const Nk={store:{required:!0,type:Object},stripe:Boolean,tooltipEffect:String,tooltipOptions:{type:Object},context:{default:()=>({}),type:Object},rowClassName:[String,Function],rowStyle:[Object,Function],fixed:{type:String,default:""},highlight:Boolean};var Tk=ie({name:"ElTableBody",props:Nk,setup(e){var t;const n=qe(),l=be(jn),a=ce("table"),{wrappedRowRender:s,tooltipContent:i,tooltipTrigger:r}=$k(e),{onColumnsChange:c,onScrollableChange:u}=pr(l),f=[];return le((t=e.store)==null?void 0:t.states.hoverRow,(p,h)=>{var m,d;const v=n==null?void 0:n.vnode.el,g=Array.from((v==null?void 0:v.children)||[]).filter(w=>w==null?void 0:w.classList.contains(`${a.e("row")}`));let b=p;const S=(m=g[b])==null?void 0:m.childNodes;if(S!=null&&S.length){let w=0;Array.from(S).reduce((k,N,T)=>{var P,x;return((P=S[T])==null?void 0:P.colSpan)>1&&(w=(x=S[T])==null?void 0:x.colSpan),N.nodeName!=="TD"&&w===0&&k.push(T),w>0&&w--,k},[]).forEach(k=>{var N;for(b=p;b>0;){const T=(N=g[b-1])==null?void 0:N.childNodes;if(T[k]&&T[k].nodeName==="TD"&&T[k].rowSpan>1){Bn(T[k],"hover-cell"),f.push(T[k]);break}b--}})}else f.forEach(w=>dn(w,"hover-cell")),f.length=0;!((d=e.store)!=null&&d.states.isComplex.value)||!st||Is(()=>{const w=g[h],C=g[p];w&&!w.classList.contains("hover-fixed-row")&&dn(w,"hover-row"),C&&Bn(C,"hover-row")})}),bo(()=>{var p;(p=rn)==null||p()}),{ns:a,onColumnsChange:c,onScrollableChange:u,wrappedRowRender:s,tooltipContent:i,tooltipTrigger:r}},render(){const{wrappedRowRender:e,store:t}=this,n=(t==null?void 0:t.states.data.value)||[];return Ie("tbody",{tabIndex:-1},[n.reduce((l,a)=>l.concat(e(a,l.length)),[])])}});function Pk(){const e=be(jn),t=e==null?void 0:e.store,n=y(()=>{var r;return(r=t==null?void 0:t.states.fixedLeafColumnsLength.value)!=null?r:0}),l=y(()=>{var r;return(r=t==null?void 0:t.states.rightFixedColumns.value.length)!=null?r:0}),a=y(()=>{var r;return(r=t==null?void 0:t.states.columns.value.length)!=null?r:0}),s=y(()=>{var r;return(r=t==null?void 0:t.states.fixedColumns.value.length)!=null?r:0}),i=y(()=>{var r;return(r=t==null?void 0:t.states.rightFixedColumns.value.length)!=null?r:0});return{leftFixedLeafCount:n,rightFixedLeafCount:l,columnsCount:a,leftFixedCount:s,rightFixedCount:i,columns:y(()=>{var r;return(r=t==null?void 0:t.states.columns.value)!=null?r:[]})}}function Ik(e){const{columns:t}=Pk(),n=ce("table");return{getCellClasses:(s,i)=>{const r=s[i],c=[n.e("cell"),r.id,r.align,r.labelClassName,...dr(n.b(),i,r.fixed,e.store)];return r.className&&c.push(r.className),r.children||c.push(n.is("leaf")),c},getCellStyles:(s,i)=>{const r=fr(i,s.fixed,e.store);return na(r,"left"),na(r,"right"),r},columns:t}}var xk=ie({name:"ElTableFooter",props:{fixed:{type:String,default:""},store:{required:!0,type:Object},summaryMethod:Function,sumText:String,border:Boolean,defaultSort:{type:Object,default:()=>({prop:"",order:""})}},setup(e){const t=be(jn),n=ce("table"),{getCellClasses:l,getCellStyles:a,columns:s}=Ik(e),{onScrollableChange:i,onColumnsChange:r}=pr(t);return{ns:n,onScrollableChange:i,onColumnsChange:r,getCellClasses:l,getCellStyles:a,columns:s}},render(){const{columns:e,getCellStyles:t,getCellClasses:n,summaryMethod:l,sumText:a}=this,s=this.store.states.data.value;let i=[];return l?i=l({columns:e,data:s}):e.forEach((r,c)=>{if(c===0){i[c]=a;return}const u=s.map(m=>Number(m[r.property])),f=[];let p=!0;u.forEach(m=>{if(!Number.isNaN(+m)){p=!1;const d=`${m}`.split(".")[1];f.push(d?d.length:0)}});const h=Math.max.apply(null,f);p?i[c]="":i[c]=u.reduce((m,d)=>{const v=Number(d);return Number.isNaN(+v)?m:Number.parseFloat((m+d).toFixed(Math.min(h,20)))},0)}),Ie(Ie("tfoot",[Ie("tr",{},[...e.map((r,c)=>Ie("td",{key:c,colspan:r.colSpan,rowspan:r.rowSpan,class:n(e,c),style:t(r,c)},[Ie("div",{class:["cell",r.labelClassName]},[i[c]])]))])]))}});function Ok(e){return{setCurrentRow:p=>{e.commit("setCurrentRow",p)},getSelectionRows:()=>e.getSelectionRows(),toggleRowSelection:(p,h,m=!0)=>{e.toggleRowSelection(p,h,!1,m),e.updateAllSelected()},clearSelection:()=>{e.clearSelection()},clearFilter:p=>{e.clearFilter(p)},toggleAllSelection:()=>{e.commit("toggleAllSelection")},toggleRowExpansion:(p,h)=>{e.toggleRowExpansionAdapter(p,h)},clearSort:()=>{e.clearSort()},sort:(p,h)=>{e.commit("sort",{prop:p,order:h})},updateKeyChildren:(p,h)=>{e.updateKeyChildren(p,h)}}}function Rk(e,t,n,l){const a=I(!1),s=I(null),i=I(!1),r=O=>{i.value=O},c=I({width:null,height:null,headerHeight:null}),u=I(!1),f={display:"inline-block",verticalAlign:"middle"},p=I(),h=I(0),m=I(0),d=I(0),v=I(0),g=I(0);le(()=>e.height,O=>{t.setHeight(O??null)},{immediate:!0}),le(()=>e.maxHeight,O=>{t.setMaxHeight(O??null)},{immediate:!0}),le(()=>[e.currentRowKey,n.states.rowKey],([O,R])=>{!o(R)||!o(O)||n.setCurrentRowKey(`${O}`)},{immediate:!0}),le(()=>e.data,O=>{l.store.commit("setData",O)},{immediate:!0,deep:!0}),Zn(()=>{e.expandRowKeys&&n.setExpandRowKeysAdapter(e.expandRowKeys)});const b=()=>{l.store.commit("setHoverRow",null),l.hoverState&&(l.hoverState=null)},S=(O,R)=>{const{pixelX:B,pixelY:M}=R;Math.abs(B)>=Math.abs(M)&&(l.refs.bodyWrapper.scrollLeft+=R.pixelX/5)},w=y(()=>e.height||e.maxHeight||n.states.fixedColumns.value.length>0||n.states.rightFixedColumns.value.length>0),C=y(()=>({width:t.bodyWidth.value?`${t.bodyWidth.value}px`:""})),k=()=>{w.value&&t.updateElsHeight(),t.updateColumnsWidth(),!(typeof window>"u")&&requestAnimationFrame(x)};Ze(async()=>{await Ee(),n.updateColumns(),D(),requestAnimationFrame(k);const O=l.vnode.el,R=l.refs.headerWrapper;e.flexible&&O&&O.parentElement&&(O.parentElement.style.minWidth="0"),c.value={width:p.value=O.offsetWidth,height:O.offsetHeight,headerHeight:e.showHeader&&R?R.offsetHeight:null},n.states.columns.value.forEach(B=>{B.filteredValue&&B.filteredValue.length&&l.store.commit("filterChange",{column:B,values:B.filteredValue,silent:!0})}),l.$ready=!0});const N=(O,R)=>{if(!O)return;const B=Array.from(O.classList).filter(M=>!M.startsWith("is-scrolling-"));B.push(t.scrollX.value?R:"is-scrolling-none"),O.className=B.join(" ")},T=O=>{const{tableWrapper:R}=l.refs;N(R,O)},P=O=>{const{tableWrapper:R}=l.refs;return!!(R&&R.classList.contains(O))},x=function(){if(!l.refs.scrollBarRef)return;if(!t.scrollX.value){const J="is-scrolling-none";P(J)||T(J);return}const O=l.refs.scrollBarRef.wrapRef;if(!O)return;const{scrollLeft:R,offsetWidth:B,scrollWidth:M}=O,{headerWrapper:F,footerWrapper:K}=l.refs;F&&(F.scrollLeft=R),K&&(K.scrollLeft=R);const z=M-B-1;R>=z?T("is-scrolling-right"):T(R===0?"is-scrolling-left":"is-scrolling-middle")},D=()=>{l.refs.scrollBarRef&&(l.refs.scrollBarRef.wrapRef&&$t(l.refs.scrollBarRef.wrapRef,"scroll",x,{passive:!0}),e.fit?Vt(l.vnode.el,W):$t(window,"resize",W),Vt(l.refs.tableInnerWrapper,()=>{var O,R;W(),(R=(O=l.refs)==null?void 0:O.scrollBarRef)==null||R.update()}))},W=()=>{var O,R,B,M;const F=l.vnode.el;if(!l.$ready||!F)return;let K=!1;const{width:z,height:J,headerHeight:ne}=c.value,fe=p.value=F.offsetWidth;z!==fe&&(K=!0);const se=F.offsetHeight;(e.height||w.value)&&J!==se&&(K=!0);const Se=e.tableLayout==="fixed"?l.refs.headerWrapper:(O=l.refs.tableHeaderRef)==null?void 0:O.$el;e.showHeader&&(Se==null?void 0:Se.offsetHeight)!==ne&&(K=!0),h.value=((R=l.refs.tableWrapper)==null?void 0:R.scrollHeight)||0,d.value=(Se==null?void 0:Se.scrollHeight)||0,v.value=((B=l.refs.footerWrapper)==null?void 0:B.offsetHeight)||0,g.value=((M=l.refs.appendWrapper)==null?void 0:M.offsetHeight)||0,m.value=h.value-d.value-v.value-g.value,K&&(c.value={width:fe,height:se,headerHeight:e.showHeader&&(Se==null?void 0:Se.offsetHeight)||0},k())},A=Gt(),V=y(()=>{const{bodyWidth:O,scrollY:R,gutterWidth:B}=t;return O.value?`${O.value-(R.value?B:0)}px`:""}),_=y(()=>e.maxHeight?"fixed":e.tableLayout),oe=y(()=>{if(e.data&&e.data.length)return;let O="100%";e.height&&m.value&&(O=`${m.value}px`);const R=p.value;return{width:R?`${R}px`:"",height:O}}),ve=y(()=>e.height?{height:"100%"}:e.maxHeight?Number.isNaN(Number(e.maxHeight))?{maxHeight:`calc(${e.maxHeight} - ${d.value+v.value}px)`}:{maxHeight:`${+e.maxHeight-d.value-v.value}px`}:{});return{isHidden:a,renderExpanded:s,setDragVisible:r,isGroup:u,handleMouseLeave:b,handleHeaderFooterMousewheel:S,tableSize:A,emptyBlockStyle:oe,resizeProxyVisible:i,bodyWidth:V,resizeState:c,doLayout:k,tableBodyStyles:C,tableLayout:_,scrollbarViewStyle:f,scrollbarStyle:ve}}function Mk(e){let t;const n=()=>{const a=e.vnode.el.querySelector(".hidden-columns"),s={childList:!0,subtree:!0},i=e.store.states.updateOrderFns;t=new MutationObserver(()=>{i.forEach(r=>r())}),t.observe(a,s)};Ze(()=>{n()}),bo(()=>{t==null||t.disconnect()})}var Dk={data:{type:Array,default:()=>[]},size:an,width:[String,Number],height:[String,Number],maxHeight:[String,Number],fit:{type:Boolean,default:!0},stripe:Boolean,border:Boolean,rowKey:[String,Function],showHeader:{type:Boolean,default:!0},showSummary:Boolean,sumText:String,summaryMethod:Function,rowClassName:[String,Function],rowStyle:[Object,Function],cellClassName:[String,Function],cellStyle:[Object,Function],headerRowClassName:[String,Function],headerRowStyle:[Object,Function],headerCellClassName:[String,Function],headerCellStyle:[Object,Function],highlightCurrentRow:Boolean,currentRowKey:[String,Number],emptyText:String,expandRowKeys:Array,defaultExpandAll:Boolean,rowExpandable:{type:Function},defaultSort:Object,tooltipEffect:String,tooltipOptions:Object,spanMethod:Function,selectOnIndeterminate:{type:Boolean,default:!0},indent:{type:Number,default:16},treeProps:{type:Object,default:()=>({hasChildren:"hasChildren",children:"children",checkStrictly:!1})},lazy:Boolean,load:Function,style:{type:[String,Object,Array],default:()=>({})},className:{type:String,default:""},tableLayout:{type:String,default:"fixed"},scrollbarAlwaysOn:Boolean,flexible:Boolean,showOverflowTooltip:{type:[Boolean,Object],default:void 0},tooltipFormatter:Function,appendFilterPanelTo:String,scrollbarTabindex:{type:[Number,String],default:void 0},allowDragLastColumn:{type:Boolean,default:!0},preserveExpandedContent:Boolean,nativeScrollbar:Boolean};function vd(e){const t=e.tableLayout==="auto";let n=e.columns||[];t&&n.every(({width:a})=>it(a))&&(n=[]);const l=a=>{const s={key:`${e.tableLayout}_${a.id}`,style:{},name:void 0};return t?s.style={width:`${a.width}px`}:s.name=a.id,s};return Ie("colgroup",{},n.map(a=>Ie("col",l(a))))}vd.props=["columns","tableLayout"];const Bk=()=>{const e=I(),t=(s,i)=>{const r=e.value;r&&r.scrollTo(s,i)},n=(s,i)=>{const r=e.value;r&&Ae(i)&&["Top","Left"].includes(s)&&r[`setScroll${s}`](i)};return{scrollBarRef:e,scrollTo:t,setScrollTop:s=>n("Top",s),setScrollLeft:s=>n("Left",s)}},no="_Mousewheel",bi=function(e,t){if(e&&e.addEventListener){pd(e);const n=function(l){const a=If(l);t&&Reflect.apply(t,this,[l,a])};e[no]={wheelHandler:n},e.addEventListener("wheel",n,{passive:!0})}},pd=e=>{var t;(t=e[no])!=null&&t.wheelHandler&&(e.removeEventListener("wheel",e[no].wheelHandler),e[no]=null)},Lk={beforeMount(e,t){bi(e,t.value)},unmounted(e){pd(e)},updated(e,t){t.value!==t.oldValue&&bi(e,t.value)}};let Ak=1;var Fk=ie({name:"ElTable",directives:{Mousewheel:Lk},components:{TableHeader:Ck,TableBody:Tk,TableFooter:xk,ElScrollbar:el,hColgroup:vd},props:Dk,emits:["select","select-all","selection-change","cell-mouse-enter","cell-mouse-leave","cell-contextmenu","cell-click","cell-dblclick","row-click","row-contextmenu","row-dblclick","header-click","header-contextmenu","sort-change","filter-change","current-change","header-dragend","expand-change","scroll"],setup(e){const{t}=at(),n=ce("table"),l=nl("table"),a=qe();et(jn,a);const s=ok(a,e);a.store=s;const i=new uk({store:a.store,table:a,fit:e.fit,showHeader:e.showHeader});a.layout=i;const r=y(()=>(s.states.data.value||[]).length===0),{setCurrentRow:c,getSelectionRows:u,toggleRowSelection:f,clearSelection:p,clearFilter:h,toggleAllSelection:m,toggleRowExpansion:d,clearSort:v,sort:g,updateKeyChildren:b}=Ok(s),{isHidden:S,renderExpanded:w,setDragVisible:C,isGroup:k,handleMouseLeave:N,handleHeaderFooterMousewheel:T,tableSize:P,emptyBlockStyle:x,resizeProxyVisible:D,bodyWidth:W,resizeState:A,doLayout:V,tableBodyStyles:_,tableLayout:oe,scrollbarViewStyle:ve,scrollbarStyle:O}=Rk(e,i,s,a),{scrollBarRef:R,scrollTo:B,setScrollLeft:M,setScrollTop:F}=Bk(),K=Jl(V,50),z=`${n.namespace.value}-table_${Ak++}`;a.tableId=z,a.state={isGroup:k,resizeState:A,doLayout:V,debouncedUpdateLayout:K};const J=y(()=>{var ue;return(ue=e.sumText)!=null?ue:t("el.table.sumText")}),ne=y(()=>{var ue;return(ue=e.emptyText)!=null?ue:t("el.table.emptyText")}),fe=y(()=>{var ue,ee;return(ee=e.tooltipEffect)!=null?ee:(ue=l.value)==null?void 0:ue.tooltipEffect}),se=y(()=>{var ue,ee;return(ee=e.tooltipOptions)!=null?ee:(ue=l.value)==null?void 0:ue.tooltipOptions}),Se=y(()=>fd(s.states.originColumns.value)[0]);return Mk(a),Et(()=>{K.cancel()}),{ns:n,layout:i,store:s,columns:Se,handleHeaderFooterMousewheel:T,handleMouseLeave:N,tableId:z,tableSize:P,isHidden:S,isEmpty:r,renderExpanded:w,resizeProxyVisible:D,resizeState:A,isGroup:k,bodyWidth:W,tableBodyStyles:_,emptyBlockStyle:x,debouncedUpdateLayout:K,setCurrentRow:c,getSelectionRows:u,toggleRowSelection:f,clearSelection:p,clearFilter:h,toggleAllSelection:m,toggleRowExpansion:d,clearSort:v,doLayout:V,sort:g,updateKeyChildren:b,t,setDragVisible:C,context:a,computedSumText:J,computedEmptyText:ne,computedTooltipEffect:fe,computedTooltipOptions:se,tableLayout:oe,scrollbarViewStyle:ve,scrollbarStyle:O,scrollBarRef:R,scrollTo:B,setScrollLeft:M,setScrollTop:F,allowDragLastColumn:e.allowDragLastColumn}}});const Vk=["data-prefix"],zk={ref:"hiddenColumns",class:"hidden-columns"};function Kk(e,t,n,l,a,s){const i=ot("hColgroup"),r=ot("table-header"),c=ot("table-body"),u=ot("table-footer"),f=ot("el-scrollbar"),p=zi("mousewheel");return E(),L("div",{ref:"tableWrapper",class:$([{[e.ns.m("fit")]:e.fit,[e.ns.m("striped")]:e.stripe,[e.ns.m("border")]:e.border||e.isGroup,[e.ns.m("hidden")]:e.isHidden,[e.ns.m("group")]:e.isGroup,[e.ns.m("fluid-height")]:e.maxHeight,[e.ns.m("scrollable-x")]:e.layout.scrollX.value,[e.ns.m("scrollable-y")]:e.layout.scrollY.value,[e.ns.m("enable-row-hover")]:!e.store.states.isComplex.value,[e.ns.m("enable-row-transition")]:(e.store.states.data.value||[]).length!==0&&(e.store.states.data.value||[]).length<100,"has-footer":e.showSummary},e.ns.m(e.tableSize),e.className,e.ns.b(),e.ns.m(`layout-${e.tableLayout}`)]),style:Fe(e.style),"data-prefix":e.ns.namespace.value,onMouseleave:t[1]||(t[1]=(...h)=>e.handleMouseLeave&&e.handleMouseLeave(...h))},[H("div",{ref:"tableInnerWrapper",class:$(e.ns.e("inner-wrapper"))},[H("div",zk,[X(e.$slots,"default")],512),e.showHeader&&e.tableLayout==="fixed"?Ue((E(),L("div",{key:0,ref:"headerWrapper",class:$(e.ns.e("header-wrapper"))},[H("table",{ref:"tableHeader",class:$(e.ns.e("header")),style:Fe(e.tableBodyStyles),border:"0",cellpadding:"0",cellspacing:"0"},[U(i,{columns:e.store.states.columns.value,"table-layout":e.tableLayout},null,8,["columns","table-layout"]),U(r,{ref:"tableHeaderRef",border:e.border,"default-sort":e.defaultSort,store:e.store,"append-filter-panel-to":e.appendFilterPanelTo,"allow-drag-last-column":e.allowDragLastColumn,onSetDragVisible:e.setDragVisible},null,8,["border","default-sort","store","append-filter-panel-to","allow-drag-last-column","onSetDragVisible"])],6)],2)),[[p,e.handleHeaderFooterMousewheel]]):G("v-if",!0),H("div",{ref:"bodyWrapper",class:$(e.ns.e("body-wrapper"))},[U(f,{ref:"scrollBarRef","view-style":e.scrollbarViewStyle,"wrap-style":e.scrollbarStyle,always:e.scrollbarAlwaysOn,tabindex:e.scrollbarTabindex,native:e.nativeScrollbar,onScroll:t[0]||(t[0]=h=>e.$emit("scroll",h))},{default:j(()=>[H("table",{ref:"tableBody",class:$(e.ns.e("body")),cellspacing:"0",cellpadding:"0",border:"0",style:Fe({width:e.bodyWidth,tableLayout:e.tableLayout})},[U(i,{columns:e.store.states.columns.value,"table-layout":e.tableLayout},null,8,["columns","table-layout"]),e.showHeader&&e.tableLayout==="auto"?(E(),Z(r,{key:0,ref:"tableHeaderRef",class:$(e.ns.e("body-header")),border:e.border,"default-sort":e.defaultSort,store:e.store,"append-filter-panel-to":e.appendFilterPanelTo,onSetDragVisible:e.setDragVisible},null,8,["class","border","default-sort","store","append-filter-panel-to","onSetDragVisible"])):G("v-if",!0),U(c,{context:e.context,highlight:e.highlightCurrentRow,"row-class-name":e.rowClassName,"tooltip-effect":e.computedTooltipEffect,"tooltip-options":e.computedTooltipOptions,"row-style":e.rowStyle,store:e.store,stripe:e.stripe},null,8,["context","highlight","row-class-name","tooltip-effect","tooltip-options","row-style","store","stripe"]),e.showSummary&&e.tableLayout==="auto"?(E(),Z(u,{key:1,class:$(e.ns.e("body-footer")),border:e.border,"default-sort":e.defaultSort,store:e.store,"sum-text":e.computedSumText,"summary-method":e.summaryMethod},null,8,["class","border","default-sort","store","sum-text","summary-method"])):G("v-if",!0)],6),e.isEmpty?(E(),L("div",{key:0,ref:"emptyBlock",style:Fe(e.emptyBlockStyle),class:$(e.ns.e("empty-block"))},[H("span",{class:$(e.ns.e("empty-text"))},[X(e.$slots,"empty",{},()=>[ut(he(e.computedEmptyText),1)])],2)],6)):G("v-if",!0),e.$slots.append?(E(),L("div",{key:1,ref:"appendWrapper",class:$(e.ns.e("append-wrapper"))},[X(e.$slots,"append")],2)):G("v-if",!0)]),_:3},8,["view-style","wrap-style","always","tabindex","native"])],2),e.showSummary&&e.tableLayout==="fixed"?Ue((E(),L("div",{key:1,ref:"footerWrapper",class:$(e.ns.e("footer-wrapper"))},[H("table",{class:$(e.ns.e("footer")),cellspacing:"0",cellpadding:"0",border:"0",style:Fe(e.tableBodyStyles)},[U(i,{columns:e.store.states.columns.value,"table-layout":e.tableLayout},null,8,["columns","table-layout"]),U(u,{border:e.border,"default-sort":e.defaultSort,store:e.store,"sum-text":e.computedSumText,"summary-method":e.summaryMethod},null,8,["border","default-sort","store","sum-text","summary-method"])],6)],2)),[[ht,!e.isEmpty],[p,e.handleHeaderFooterMousewheel]]):G("v-if",!0),e.border||e.isGroup?(E(),L("div",{key:2,class:$(e.ns.e("border-left-patch"))},null,2)):G("v-if",!0)],2),Ue(H("div",{ref:"resizeProxy",class:$(e.ns.e("column-resize-proxy"))},null,2),[[ht,e.resizeProxyVisible]])],46,Vk)}var Hk=_t(Fk,[["render",Kk]]);const Wk={selection:"table-column--selection",expand:"table__expand-column"},jk={default:{order:""},selection:{width:48,minWidth:48,realWidth:48,order:""},expand:{width:48,minWidth:48,realWidth:48,order:""},index:{width:48,minWidth:48,realWidth:48,order:""}},Yk=e=>Wk[e]||"",Uk={selection:{renderHeader({store:e}){var t;function n(){return e.states.data.value&&e.states.data.value.length===0}return Ie(Rl,{disabled:n(),size:e.states.tableSize.value,indeterminate:e.states.selection.value.length>0&&!e.states.isAllSelected.value,"onUpdate:modelValue":(t=e.toggleAllSelection)!=null?t:void 0,modelValue:e.states.isAllSelected.value,ariaLabel:e.t("el.table.selectAllLabel")})},renderCell({row:e,column:t,store:n,$index:l}){return Ie(Rl,{disabled:t.selectable?!t.selectable.call(null,e,l):!1,size:n.states.tableSize.value,onChange:()=>{n.commit("rowSelectedChanged",e)},onClick:a=>a.stopPropagation(),modelValue:n.isSelected(e),ariaLabel:n.t("el.table.selectRowLabel")})},sortable:!1,resizable:!1},index:{renderHeader({column:e}){return e.label||"#"},renderCell({column:e,$index:t}){let n=t+1;const l=e.index;return Ae(l)?n=t+l:Qe(l)&&(n=l(t)),Ie("div",{},[n])},sortable:!1},expand:{renderHeader({column:e}){return e.label||""},renderCell({column:e,row:t,store:n,expanded:l,$index:a}){var s,i,r;const{ns:c}=n,u=[c.e("expand-icon")];!e.renderExpand&&l&&u.push(c.em("expand-icon","expanded"));const f=function(h){h.stopPropagation(),n.toggleRowExpansion(t)},p=(r=(i=(s=n.states.rowExpandable).value)==null?void 0:i.call(s,t,a))!=null?r:!0;return p||u.push(c.is("disabled")),Ie("button",{type:"button",disabled:!p,"aria-label":n.t(l?"el.table.collapseRowLabel":"el.table.expandRowLabel"),"aria-expanded":l,class:u,onClick:f},{default:()=>e.renderExpand?[e.renderExpand({expanded:l,expandable:p})]:[Ie(we,null,{default:()=>[Ie(An)]})]})},sortable:!1,resizable:!1}};function qk({row:e,column:t,$index:n}){var l;const a=t.property,s=a&&dl(e,a).value;return t&&t.formatter?t.formatter(e,t,s,n):((l=s==null?void 0:s.toString)==null?void 0:l.call(s))||""}function Gk({row:e,treeNode:t,store:n},l=!1){const{ns:a}=n;if(!t)return l?[Ie("span",{class:a.e("placeholder")})]:null;const s=[],i=function(r){r.stopPropagation(),!t.loading&&n.loadOrToggle(e)};if(t.indent&&s.push(Ie("span",{class:a.e("indent"),style:{"padding-left":`${t.indent}px`}})),yt(t.expanded)&&!t.noLazyChildren){const r=[a.e("expand-icon"),t.expanded?a.em("expand-icon","expanded"):""];let c=An;t.loading&&(c=qn),s.push(Ie("button",{type:"button","aria-label":n.t(t.expanded?"el.table.collapseRowLabel":"el.table.expandRowLabel"),"aria-expanded":t.expanded,class:r,onClick:i},{default:()=>[Ie(we,{class:a.is("loading",t.loading)},{default:()=>[Ie(c)]})]}))}else s.push(Ie("span",{class:a.e("placeholder")}));return s}function yi(e,t){return e.reduce((n,l)=>(n[l]=l,n),t)}function _k(e,t){const n=qe();return{registerComplexWatchers:()=>{const s=["fixed"],i={realWidth:"width",realMinWidth:"minWidth"},r=yi(s,i);Object.keys(r).forEach(c=>{const u=i[c];Ut(t,u)&&le(()=>t[u],f=>{let p=f;u==="width"&&c==="realWidth"&&(p=cr(f)),u==="minWidth"&&c==="realMinWidth"&&(p=od(f)),n.columnConfig.value[u]=p,n.columnConfig.value[c]=p;const h=u==="fixed";e.value.store.scheduleLayout(h)})})},registerNormalWatchers:()=>{const s=["label","filters","filterMultiple","filteredValue","sortable","index","formatter","className","labelClassName","filterClassName","showOverflowTooltip","tooltipFormatter","resizable"],i=["showOverflowTooltip"],r={property:"prop",align:"realAlign",headerAlign:"realHeaderAlign"},c=yi(s,r);Object.keys(c).forEach(f=>{const p=r[f];Ut(t,p)&&le(()=>t[p],h=>{n.columnConfig.value[f]=h,(f==="filters"||f==="filterMethod")&&(n.columnConfig.value.filterable=!!(n.columnConfig.value.filters||n.columnConfig.value.filterMethod))})}),i.forEach(f=>{Ut(e.value.props,f)&&le(()=>e.value.props[f],p=>{n.columnConfig.value.type!=="selection"&&it(t[f])&&(n.columnConfig.value[f]=p)})});const u=nl("table");u.value&&Ut(u.value,"showOverflowTooltip")&&le(()=>{var f;return(f=u.value)==null?void 0:f.showOverflowTooltip},f=>{n.columnConfig.value.type!=="selection"&&(!it(t.showOverflowTooltip)||!it(e.value.props.showOverflowTooltip)||(n.columnConfig.value.showOverflowTooltip=f))})}}}function Xk(e,t,n){const l=qe(),a=I(""),s=I(!1),i=I(),r=I(),c=ce("table");Zn(()=>{i.value=e.align?`is-${e.align}`:null,i.value}),Zn(()=>{r.value=e.headerAlign?`is-${e.headerAlign}`:i.value,r.value});const u=y(()=>{let C=l.vnode.vParent||l.parent;for(;C&&!C.tableId&&!C.columnId;)C=C.vnode.vParent||C.parent;return C}),f=y(()=>{const{store:C}=l.parent;if(!C)return!1;const{treeData:k}=C.states,N=k.value;return N&&Object.keys(N).length>0}),p=I(cr(e.width)),h=I(od(e.minWidth)),m=C=>(p.value&&(C.width=p.value),h.value&&(C.minWidth=h.value),!p.value&&h.value&&(C.width=void 0),C.minWidth||(C.minWidth=80),C.realWidth=Number(it(C.width)?C.minWidth:C.width),C),d=C=>{const k=C.type,N=Uk[k]||{};Object.keys(N).forEach(P=>{const x=N[P];P!=="className"&&!it(x)&&(C[P]=x)});const T=Yk(k);if(T){const P=`${o(c.namespace)}-${T}`;C.className=C.className?`${C.className} ${P}`:P}return C},v=C=>{Pe(C)?C.forEach(N=>k(N)):k(C);function k(N){var T;((T=N==null?void 0:N.type)==null?void 0:T.name)==="ElTableColumn"&&(N.vParent=l)}};return{columnId:a,realAlign:i,isSubColumn:s,realHeaderAlign:r,columnOrTableParent:u,setColumnWidth:m,setColumnForcedProps:d,setColumnRenders:C=>{e.renderHeader||C.type!=="selection"&&(C.renderHeader=N=>{if(l.columnConfig.value.label,t.header){const T=t.header(N);if(id(T))return Ie(Re,T)}return ut(C.label)}),t["filter-icon"]&&(C.renderFilterIcon=N=>X(t,"filter-icon",N)),t.expand&&(C.renderExpand=N=>X(t,"expand",N));let k=C.renderCell;return C.type==="expand"?(C.renderCell=N=>Ie("div",{class:"cell"},[k(N)]),n.value.renderExpanded=N=>t.default?t.default(N):t.default):(k=k||qk,C.renderCell=N=>{let T=null;if(t.default){const V=t.default(N);T=V.some(_=>_.type!==Il)?V:k(N)}else T=k(N);const{columns:P}=n.value.store.states,x=P.value.findIndex(V=>V.type==="default"),D=f.value&&N.cellIndex===x,W=Gk(N,D),A={class:"cell",style:{}};return C.showOverflowTooltip&&(A.class=`${A.class} ${o(c.namespace)}-tooltip`,A.style={width:`${(N.column.realWidth||Number(N.column.width))-1}px`}),v(T),Ie("div",A,[W,T])}),C},getPropsData:(...C)=>C.reduce((k,N)=>(Pe(N)&&N.forEach(T=>{k[T]=e[T]}),k),{}),getColumnElIndex:(C,k)=>Array.prototype.indexOf.call(C,k),updateColumnOrder:()=>{n.value.store.commit("updateColumnOrder",l.columnConfig.value)}}}var Jk={type:{type:String,default:"default"},label:String,className:String,labelClassName:String,property:String,prop:String,width:{type:[String,Number],default:""},minWidth:{type:[String,Number],default:""},renderHeader:Function,sortable:{type:[Boolean,String],default:!1},sortMethod:Function,sortBy:[String,Function,Array],resizable:{type:Boolean,default:!0},columnKey:String,align:String,headerAlign:String,showOverflowTooltip:{type:[Boolean,Object],default:void 0},tooltipFormatter:Function,fixed:[Boolean,String],formatter:Function,selectable:Function,reserveSelection:Boolean,filterMethod:Function,filteredValue:Array,filters:Array,filterPlacement:String,filterMultiple:{type:Boolean,default:!0},filterClassName:String,index:[Number,Function],sortOrders:{type:Array,default:()=>["ascending","descending",null],validator:e=>e.every(t=>["ascending","descending",null].includes(t))}};let Zk=1;var md=ie({name:"ElTableColumn",components:{ElCheckbox:Rl},props:Jk,setup(e,{slots:t}){const n=qe(),l=nl("table"),a=I({}),s=y(()=>{let C=n.parent;for(;C&&!C.tableId;)C=C.parent;return C}),{registerNormalWatchers:i,registerComplexWatchers:r}=_k(s,e),{columnId:c,isSubColumn:u,realHeaderAlign:f,columnOrTableParent:p,setColumnWidth:h,setColumnForcedProps:m,setColumnRenders:d,getPropsData:v,getColumnElIndex:g,realAlign:b,updateColumnOrder:S}=Xk(e,t,s),w=p.value;c.value=`${"tableId"in w&&w.tableId||"columnId"in w&&w.columnId}_column_${Zk++}`,Cs(()=>{var C,k,N,T;u.value=s.value!==w;const P=e.type||"default",x=e.sortable===""?!0:e.sortable,D=P==="selection"?!1:it(e.showOverflowTooltip)?(k=w.props.showOverflowTooltip)!=null?k:(C=l.value)==null?void 0:C.showOverflowTooltip:e.showOverflowTooltip,W=it(e.tooltipFormatter)?(T=w.props.tooltipFormatter)!=null?T:(N=l.value)==null?void 0:N.tooltipFormatter:e.tooltipFormatter,A={...jk[P],id:c.value,type:P,property:e.prop||e.property,align:b,headerAlign:f,showOverflowTooltip:D,tooltipFormatter:W,filterable:e.filters||e.filterMethod,filteredValue:[],filterPlacement:"",filterClassName:"",isColumnGroup:!1,isSubColumn:!1,filterOpened:!1,sortable:x,index:e.index,rawColumnKey:n.vnode.key};let O=v(["columnKey","label","className","labelClassName","type","renderHeader","formatter","fixed","resizable"],["sortMethod","sortBy","sortOrders"],["selectable","reserveSelection"],["filterMethod","filters","filterMultiple","filterOpened","filteredValue","filterPlacement","filterClassName"]);O=qw(A,O),O=_w(d,h,m)(O),a.value=O,i(),r()}),Ze(()=>{var C,k;const N=p.value,T=u.value?(C=N.vnode.el)==null?void 0:C.children:(k=N.refs.hiddenColumns)==null?void 0:k.children,P=()=>g(T||[],n.vnode.el);a.value.getColumnIndex=P,P()>-1&&s.value.store.commit("insertColumn",a.value,u.value?"columnConfig"in N&&N.columnConfig.value:null,S)}),Et(()=>{const C=a.value.getColumnIndex;(C?C():-1)>-1&&s.value.store.commit("removeColumn",a.value,u.value?"columnConfig"in w&&w.columnConfig.value:null,S)}),n.columnId=c.value,n.columnConfig=a},render(){var e,t,n;try{const l=(t=(e=this.$slots).default)==null?void 0:t.call(e,{row:{},column:{},$index:-1}),a=[];if(Pe(l))for(const i of l)((n=i.type)==null?void 0:n.name)==="ElTableColumn"||i.shapeFlag&2?a.push(i):i.type===Re&&Pe(i.children)&&i.children.forEach(r=>{(r==null?void 0:r.patchFlag)!==1024&&!He(r==null?void 0:r.children)&&a.push(r)});return Ie("div",a)}catch{return Ie("div",[])}}});const i$=Ge(Hk,{TableColumn:md}),u$=At(md),Mo=Symbol("tabsRootContextKey"),Qk=me({tabs:{type:q(Array),default:()=>Yt([])},tabRefs:{type:q(Object),default:()=>Yt({})}}),Ci="ElTabBar";var eS=ie({name:Ci,__name:"tab-bar",props:Qk,setup(e,{expose:t}){const n=e,l=be(Mo);l||qt(Ci,"");const a=ce("tabs"),s=I(),i=I(),r=y(()=>{var m;return it(l.props.defaultValue)||!!((m=i.value)!=null&&m.transform)}),c=()=>{let m=0,d=0;const v=["top","bottom"].includes(l.props.tabPosition)?"width":"height",g=v==="width"?"x":"y",b=g==="x"?"left":"top";return n.tabs.every(S=>{if(it(S.paneName))return!1;const w=n.tabRefs[S.paneName];if(!w)return!1;if(!S.active)return!0;m=w[`offset${ul(b)}`],d=w[`client${ul(v)}`];const C=window.getComputedStyle(w);return v==="width"&&(d-=Number.parseFloat(C.paddingLeft)+Number.parseFloat(C.paddingRight),m+=Number.parseFloat(C.paddingLeft)),!1}),{[v]:`${d}px`,transform:`translate${ul(g)}(${m}px)`}},u=()=>i.value=c(),f=[],p=()=>{f.forEach(m=>m.stop()),f.length=0,Object.values(n.tabRefs).forEach(m=>{f.push(Vt(m,u))})};le(()=>n.tabs,async()=>{await Ee(),u(),p()},{immediate:!0});const h=Vt(s,()=>u());return Et(()=>{f.forEach(m=>m.stop()),f.length=0,h.stop()}),t({ref:s,update:u}),(m,d)=>r.value?(E(),L("div",{key:0,ref_key:"barRef",ref:s,class:$([o(a).e("active-bar"),o(a).is(o(l).props.tabPosition)]),style:Fe(i.value)},null,6)):G("v-if",!0)}});const tS=me({panes:{type:q(Array),default:()=>Yt([])},currentName:{type:[String,Number],default:""},editable:Boolean,type:{type:String,values:["card","border-card",""],default:""},stretch:Boolean,tabindex:{type:[String,Number],default:void 0}}),nS={tabClick:(e,t,n)=>n instanceof Event,tabRemove:(e,t)=>t instanceof Event},wi="ElTabNav",lS=ie({name:wi,props:tS,emits:nS,setup(e,{expose:t,emit:n}){const l=be(Mo);l||qt(wi,"");const a=ce("tabs"),s=ev(),i=lv(),r=I(),c=I(),u=I(),f=I({}),p=I(),h=I(!1),m=I(0),d=I(!1),v=I(!0),g=ln(),b=y(()=>["top","bottom"].includes(l.props.tabPosition)),S=y(()=>b.value?"width":"height"),w=y(()=>({transform:`translate${S.value==="width"?"X":"Y"}(-${m.value}px)`})),{width:C,height:k}=kr(r),{width:N,height:T}=kr(c,{width:0,height:0},{box:"border-box"}),P=y(()=>b.value?C.value:k.value),x=y(()=>b.value?N.value:T.value),{onWheel:D}=Pw({atStartEdge:y(()=>m.value<=0),atEndEdge:y(()=>x.value-m.value<=P.value),layout:y(()=>b.value?"horizontal":"vertical")},M=>{m.value=Xi(m.value+M,0,x.value-P.value)}),W=()=>{if(!r.value)return;const M=r.value[`offset${ul(S.value)}`],F=m.value;if(!F)return;const K=F>M?F-M:0;m.value=K},A=()=>{if(!r.value||!c.value)return;const M=c.value[`offset${ul(S.value)}`],F=r.value[`offset${ul(S.value)}`],K=m.value;if(M-K<=F)return;const z=M-K>F*2?K+F:M-F;m.value=z},V=async()=>{const M=c.value;if(!h.value||!u.value||!r.value||!M)return;await Ee();const F=f.value[e.currentName];if(!F)return;const K=r.value,z=F.getBoundingClientRect(),J=K.getBoundingClientRect(),ne=b.value?M.offsetWidth-J.width:M.offsetHeight-J.height,fe=m.value;let se=fe;b.value?(z.leftJ.right&&(se=fe+z.right-J.right)):(z.topJ.bottom&&(se=fe+(z.bottom-J.bottom))),se=Math.max(se,0),m.value=Math.min(se,ne)},_=()=>{var M;if(!c.value||!r.value)return;e.stretch&&((M=p.value)==null||M.update());const F=c.value[`offset${ul(S.value)}`],K=r.value[`offset${ul(S.value)}`],z=m.value;K0&&(m.value=0))},oe=M=>{const F=St(M);let K=0;switch(F){case de.left:case de.up:K=-1;break;case de.right:case de.down:K=1;break;default:return}const z=Array.from(M.currentTarget.querySelectorAll("[role=tab]:not(.is-disabled)"));let ne=z.indexOf(M.target)+K;ne<0?ne=z.length-1:ne>=z.length&&(ne=0),z[ne].focus({preventScroll:!0}),z[ne].click(),ve()},ve=()=>{v.value&&(d.value=!0)},O=()=>d.value=!1,R=(M,F)=>{f.value[F]=M},B=async()=>{await Ee();const M=f.value[e.currentName];M==null||M.focus({preventScroll:!0})};return le(s,M=>{M==="hidden"?v.value=!1:M==="visible"&&setTimeout(()=>v.value=!0,50)}),le(i,M=>{M?setTimeout(()=>v.value=!0,50):v.value=!1}),Vt(u,()=>{Is(_)}),Ze(()=>setTimeout(()=>V(),0)),Bl(()=>_()),t({scrollToActiveTab:V,removeFocus:O,focusActiveTab:B,tabListRef:c,tabBarRef:p,scheduleRender:()=>Ga(g)}),()=>{const M=h.value?[U("span",{class:[a.e("nav-prev"),a.is("disabled",!h.value.prev)],onClick:W},[U(we,null,{default:()=>[U(_l,null,null)]})]),U("span",{class:[a.e("nav-next"),a.is("disabled",!h.value.next)],onClick:A},[U(we,null,{default:()=>[U(An,null,null)]})])]:null,F=e.panes.map((K,z)=>{var J,ne,fe,se,Se;const ue=K.uid,ee=K.props.disabled,Y=(ne=(J=K.props.name)!=null?J:K.index)!=null?ne:`${z}`,re=!ee&&(K.isClosable||K.props.closable!==!1&&e.editable);K.index=`${z}`;const $e=re?U(we,{class:"is-icon-close",onClick:je=>n("tabRemove",K,je)},{default:()=>[U(Fn,null,null)]}):null,Le=((se=(fe=K.slots).label)==null?void 0:se.call(fe))||K.props.label,tt=!ee&&K.active?(Se=e.tabindex)!=null?Se:l.props.tabindex:-1;return U("div",{ref:je=>R(je,Y),class:[a.e("item"),a.is(l.props.tabPosition),a.is("active",K.active),a.is("disabled",ee),a.is("closable",re),a.is("focus",d.value)],id:`tab-${Y}`,key:`tab-${ue}`,"aria-controls":`pane-${Y}`,role:"tab","aria-selected":K.active,tabindex:tt,onFocus:()=>ve(),onBlur:()=>O(),onClick:je=>{O(),n("tabClick",K,Y,je)},onKeydown:je=>{const lt=St(je);re&&(lt===de.delete||lt===de.backspace)&&n("tabRemove",K,je)}},[Le,$e])});return g.value,U("div",{ref:u,class:[a.e("nav-wrap"),a.is("scrollable",!!h.value),a.is(l.props.tabPosition)]},[M,U("div",{class:a.e("nav-scroll"),ref:r},[e.panes.length>0?U("div",{class:[a.e("nav"),a.is(l.props.tabPosition),a.is("stretch",e.stretch&&["top","bottom"].includes(l.props.tabPosition))],ref:c,style:w.value,role:"tablist",onKeydown:oe,onWheel:D},[e.type?null:U(eS,{ref:p,tabs:[...e.panes],tabRefs:f.value},null),F]):null])])}}}),aS=me({type:{type:String,values:["card","border-card",""],default:""},closable:Boolean,addable:Boolean,modelValue:{type:[String,Number]},defaultValue:{type:[String,Number]},editable:Boolean,tabPosition:{type:String,values:["top","right","bottom","left"],default:"top"},beforeLeave:{type:q(Function),default:()=>!0},stretch:Boolean,tabindex:{type:[String,Number],default:0}}),_o=e=>He(e)||Ae(e),oS={[Ye]:e=>_o(e),tabClick:(e,t)=>t instanceof Event,tabChange:e=>_o(e),edit:(e,t)=>["remove","add"].includes(t),tabRemove:e=>_o(e),tabAdd:()=>!0},sS=ie({name:"ElTabs",props:aS,emits:oS,setup(e,{emit:t,slots:n,expose:l}){var a;const s=ce("tabs"),i=y(()=>["left","right"].includes(e.tabPosition)),{children:r,addChild:c,removeChild:u,ChildrenSorter:f}=Zu(qe(),"ElTabPane"),p=I(),h=I((a=it(e.modelValue)?e.defaultValue:e.modelValue)!=null?a:"0"),m=async(w,C=!1)=>{var k,N,T,P;if(!(h.value===w||it(w)))try{let x;if(e.beforeLeave){const D=e.beforeLeave(w,h.value);x=D instanceof Promise?await D:D}else x=!0;if(x!==!1){const D=(k=r.value.find(W=>W.paneName===h.value))==null?void 0:k.isFocusInsidePane();h.value=w,C&&(t(Ye,w),t("tabChange",w)),(T=(N=p.value)==null?void 0:N.removeFocus)==null||T.call(N),D&&((P=p.value)==null||P.focusActiveTab())}}catch{}},d=(w,C,k)=>{w.props.disabled||(t("tabClick",w,k),m(C,!0))},v=(w,C)=>{w.props.disabled||it(w.props.name)||(C.stopPropagation(),t("edit",w.props.name,"remove"),t("tabRemove",w.props.name))},g=()=>{t("edit",void 0,"add"),t("tabAdd")},b=w=>{const C=St(w);[de.enter,de.numpadEnter].includes(C)&&g()},S=w=>{const C=w.el.firstChild,k=["bottom","right"].includes(e.tabPosition)?w.children[0].el:w.children[1].el;C!==k&&C.before(k)};return le(()=>e.modelValue,w=>m(w)),le(h,async()=>{var w;await Ee(),(w=p.value)==null||w.scrollToActiveTab()}),et(Mo,{props:e,currentName:h,registerPane:c,unregisterPane:u,nav$:p}),l({currentName:h,get tabNavRef(){return Co(p.value,["scheduleRender"])}}),()=>{const w=n["add-icon"],C=e.editable||e.addable?U("div",{class:[s.e("new-tab"),i.value&&s.e("new-tab-vertical")],tabindex:e.tabindex,onClick:g,onKeydown:b},[w?X(n,"add-icon"):U(we,{class:s.is("icon-plus")},{default:()=>[U(_i,null,null)]})]):null,k=()=>U(lS,{ref:p,currentName:h.value,editable:e.editable,type:e.type,panes:r.value,stretch:e.stretch,onTabClick:d,onTabRemove:v},null),N=U("div",{class:[s.e("header"),i.value&&s.e("header-vertical"),s.is(e.tabPosition)]},[U(f,null,{default:k,$stable:!0}),C]),T=U("div",{class:s.e("content")},[X(n,"default")]);return U("div",{class:[s.b(),s.m(e.tabPosition),{[s.m("card")]:e.type==="card",[s.m("border-card")]:e.type==="border-card"}],onVnodeMounted:S,onVnodeUpdated:S},[T,N])}}}),rS=me({label:{type:String,default:""},name:{type:[String,Number]},closable:{type:Boolean,default:void 0},disabled:Boolean,lazy:Boolean}),iS=["id","aria-hidden","aria-labelledby"],ki="ElTabPane";var hd=ie({name:ki,__name:"tab-pane",props:rS,setup(e){const t=e,n=qe(),l=vn(),a=be(Mo);a||qt(ki,"usage: ");const s=ce("tab-pane"),i=I(),r=I(),c=y(()=>{var v;return(v=t.closable)!=null?v:a.props.closable}),u=y(()=>{var v;return a.currentName.value===((v=t.name)!=null?v:r.value)}),f=I(u.value),p=y(()=>{var v;return(v=t.name)!=null?v:r.value}),h=y(()=>!t.lazy||f.value||u.value),m=()=>{var v;return(v=i.value)==null?void 0:v.contains(document.activeElement)};le(u,v=>{v&&(f.value=!0)});const d=kt({uid:n.uid,getVnode:()=>n.vnode,slots:l,props:t,paneName:p,active:u,index:r,isClosable:c,isFocusInsidePane:m});return a.registerPane(d),Et(()=>{a.unregisterPane(d)}),Ki(()=>{var v;l.label&&((v=a.nav$.value)==null||v.scheduleRender())}),(v,g)=>h.value?Ue((E(),L("div",{key:0,id:`pane-${p.value}`,ref_key:"paneRef",ref:i,class:$(o(s).b()),role:"tabpanel","aria-hidden":!u.value,"aria-labelledby":`tab-${p.value}`},[X(v.$slots,"default")],10,iS)),[[ht,u.value]]):G("v-if",!0)}});const c$=Ge(sS,{TabPane:hd}),d$=At(hd),uS=me({type:{type:String,values:["primary","success","info","warning","danger",""],default:""},size:{type:String,values:Gn,default:""},truncated:Boolean,lineClamp:{type:[String,Number]},tag:{type:String,default:"span"}});var cS=ie({name:"ElText",__name:"text",props:uS,setup(e){const t=e,n=I(),l=Gt(),a=ce("text"),s=y(()=>[a.b(),a.m(t.type),a.m(l.value),a.is("truncated",t.truncated),a.is("line-clamp",!it(t.lineClamp))]),i=()=>{var r,c,u,f,p,h,m;if(yl().title)return;let v=!1;const g=((r=n.value)==null?void 0:r.textContent)||"";if(t.truncated){const b=(c=n.value)==null?void 0:c.offsetWidth,S=(u=n.value)==null?void 0:u.scrollWidth;b&&S&&S>b&&(v=!0)}else if(!it(t.lineClamp)){const b=(f=n.value)==null?void 0:f.offsetHeight,S=(p=n.value)==null?void 0:p.scrollHeight;b&&S&&S>b&&(v=!0)}v?(h=n.value)==null||h.setAttribute("title",g):(m=n.value)==null||m.removeAttribute("title")};return Ze(i),Bl(i),(r,c)=>(E(),Z(_e(e.tag),{ref_key:"textRef",ref:n,class:$(s.value),style:Fe({"-webkit-line-clamp":e.lineClamp})},{default:j(()=>[X(r.$slots,"default")]),_:3},8,["class","style"]))}});const dS=Ge(cS),gd="00:30",fS=me({format:{type:String,default:"HH:mm"},modelValue:{type:q(String)},disabled:{type:Boolean,default:void 0},editable:{type:Boolean,default:!0},effect:{type:q(String),default:"light"},clearable:{type:Boolean,default:!0},size:an,placeholder:String,start:{type:String,default:"09:00"},end:{type:String,default:"18:00"},step:{type:String,default:gd},minTime:{type:q(String)},maxTime:{type:q(String)},includeEndTime:Boolean,name:String,prefixIcon:{type:q([String,Object]),default:()=>qi},clearIcon:{type:q([String,Object]),default:()=>Cl},popperClass:{type:String,default:""},popperStyle:{type:q([String,Object])},...aa}),_n=e=>{const t=(e||"").split(":");if(t.length>=2){let n=Number.parseInt(t[0],10);const l=Number.parseInt(t[1],10),a=e.toUpperCase();return a.includes("AM")&&n===12?n=0:a.includes("PM")&&n!==12&&(n+=12),{hours:n,minutes:l}}return null},Xo=(e,t)=>{const n=_n(e);if(!n)return-1;const l=_n(t);if(!l)return-1;const a=n.minutes+n.hours*60,s=l.minutes+l.hours*60;return a===s?0:a>s?1:-1},Si=e=>`${e}`.padStart(2,"0"),Wl=e=>`${Si(e.hours)}:${Si(e.minutes)}`,vS=(e,t)=>{const n=_n(e);if(!n)return"";const l=_n(t);if(!l)return"";const a={hours:n.hours,minutes:n.minutes};return a.minutes+=l.minutes,a.hours+=l.hours,a.hours+=Math.floor(a.minutes/60),a.minutes=a.minutes%60,Wl(a)};var pS=ie({name:"ElTimeSelect",__name:"time-select",props:fS,emits:[dt,"blur","focus","clear",Ye],setup(e,{expose:t}){Be.extend(Es);const{Option:n}=Ca,l=e,a=ce("input"),s=I(),i=Dt(),{lang:r}=at(),c=y(()=>l.modelValue),u=y(()=>{const b=_n(l.start);return b?Wl(b):null}),f=y(()=>{const b=_n(l.end);return b?Wl(b):null}),p=y(()=>{const b=_n(l.minTime||"");return b?Wl(b):null}),h=y(()=>{const b=_n(l.maxTime||"");return b?Wl(b):null}),m=y(()=>{const b=_n(l.step);return!b||b.hours<0||b.minutes<0||Number.isNaN(b.hours)||Number.isNaN(b.minutes)||b.hours===0&&b.minutes===0?gd:Wl(b)}),d=y(()=>{var b;const S=[],w=(C,k)=>{S.push({value:C,rawValue:k,disabled:Xo(k,p.value||"-1:-1")<=0||Xo(k,h.value||"100:100")>=0})};if(l.start&&l.end&&l.step){let C=u.value,k;for(;C&&f.value&&Xo(C,f.value)<=0;)k=Be(C,"HH:mm").locale(r.value).format(l.format),w(k,C),C=vS(C,m.value);if(l.includeEndTime&&f.value&&((b=S[S.length-1])==null?void 0:b.rawValue)!==f.value){const N=Be(f.value,"HH:mm").locale(r.value).format(l.format);w(N,f.value)}}return S});return t({blur:()=>{var b,S;(S=(b=s.value)==null?void 0:b.blur)==null||S.call(b)},focus:()=>{var b,S;(S=(b=s.value)==null?void 0:b.focus)==null||S.call(b)}}),(b,S)=>(E(),Z(o(Ca),{ref_key:"select",ref:s,name:e.name,"model-value":c.value,disabled:o(i),clearable:e.clearable,"clear-icon":e.clearIcon,size:e.size,effect:e.effect,placeholder:e.placeholder,"default-first-option":"",filterable:e.editable,"empty-values":e.emptyValues,"value-on-clear":e.valueOnClear,"popper-class":e.popperClass,"popper-style":e.popperStyle,"onUpdate:modelValue":S[0]||(S[0]=w=>b.$emit(o(Ye),w)),onChange:S[1]||(S[1]=w=>b.$emit(o(dt),w)),onBlur:S[2]||(S[2]=w=>b.$emit("blur",w)),onFocus:S[3]||(S[3]=w=>b.$emit("focus",w)),onClear:S[4]||(S[4]=()=>b.$emit("clear"))},{prefix:j(()=>[e.prefixIcon?(E(),Z(o(we),{key:0,class:$(o(a).e("prefix-icon"))},{default:j(()=>[(E(),Z(_e(e.prefixIcon)))]),_:1},8,["class"])):G("v-if",!0)]),default:j(()=>[(E(!0),L(Re,null,rt(d.value,w=>(E(),Z(o(n),{key:w.value,label:w.value,value:w.value,disabled:w.disabled},null,8,["label","value","disabled"]))),128))]),_:1},8,["name","model-value","disabled","clearable","clear-icon","size","effect","placeholder","filterable","empty-values","value-on-clear","popper-class","popper-style"]))}});const f$=Ge(pS),bd="timeline",mS=me({mode:{type:String,values:["start","alternate","alternate-reverse","end"],default:"start"},reverse:Boolean}),hS=ie({name:"ElTimeline",props:mS,setup(e,{slots:t}){const n=ce("timeline");et(bd,{props:e,slots:t});const l=y(()=>[n.b(),n.is(e.mode)]);return()=>{var a,s;const i=Vn((s=(a=t.default)==null?void 0:a.call(t))!=null?s:[]);return Ie("ul",{class:l.value},e.reverse?i.reverse():i)}}}),gS=me({timestamp:{type:String,default:""},hideTimestamp:Boolean,center:Boolean,placement:{type:String,values:["top","bottom"],default:"bottom"},type:{type:String,values:["primary","success","warning","danger","info"],default:""},color:{type:String,default:""},size:{type:String,values:["normal","large"],default:"normal"},icon:{type:Ct},hollow:Boolean});var yd=ie({name:"ElTimelineItem",__name:"timeline-item",props:gS,setup(e){const t=e,{props:n}=be(bd),l=ce("timeline-item"),a=y(()=>[l.e("node"),l.em("node",t.size||""),l.em("node",t.type||""),l.is("hollow",t.hollow)]),s=y(()=>[l.b(),{[l.e("center")]:t.center},l.is(n.mode)]);return(i,r)=>(E(),L("li",{class:$(s.value)},[H("div",{class:$(o(l).e("tail"))},null,2),i.$slots.dot?G("v-if",!0):(E(),L("div",{key:0,class:$(a.value),style:Fe({backgroundColor:e.color})},[e.icon?(E(),Z(o(we),{key:0,class:$(o(l).e("icon"))},{default:j(()=>[(E(),Z(_e(e.icon)))]),_:1},8,["class"])):G("v-if",!0)],6)),i.$slots.dot?(E(),L("div",{key:1,class:$(o(l).e("dot"))},[X(i.$slots,"dot")],2)):G("v-if",!0),H("div",{class:$(o(l).e("wrapper"))},[!e.hideTimestamp&&e.placement==="top"?(E(),L("div",{key:0,class:$([o(l).e("timestamp"),o(l).is("top")])},he(e.timestamp),3)):G("v-if",!0),H("div",{class:$(o(l).e("content"))},[X(i.$slots,"default")],2),!e.hideTimestamp&&e.placement==="bottom"?(E(),L("div",{key:1,class:$([o(l).e("timestamp"),o(l).is("bottom")])},he(e.timestamp),3)):G("v-if",!0)],2)],2))}});const v$=Ge(hS,{TimelineItem:yd}),p$=At(yd),Ul="$treeNodeId",Ei=function(e,t){!t||t[Ul]||Object.defineProperty(t,Ul,{value:e.id,enumerable:!1,configurable:!1,writable:!1})},mr=(e,t)=>t==null?void 0:t[e||Ul],ms=(e,t,n)=>{const l=e.value.currentNode;n();const a=e.value.currentNode;l!==a&&t("current-change",a?a.data:null,a)};var bS=Object.defineProperty,yS=(e,t,n)=>t in e?bS(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Qt=(e,t,n)=>yS(e,typeof t!="symbol"?t+"":t,n);const Cd=e=>{let t=!0,n=!0,l=!0,a=!0;for(let s=0,i=e.length;s{n.canFocus=t,hs(n.childNodes,t)})};let CS=0;class Pl{constructor(t){Qt(this,"id"),Qt(this,"text"),Qt(this,"checked"),Qt(this,"indeterminate"),Qt(this,"data"),Qt(this,"expanded"),Qt(this,"parent"),Qt(this,"visible"),Qt(this,"isCurrent"),Qt(this,"store"),Qt(this,"isLeafByUser"),Qt(this,"isLeaf"),Qt(this,"canFocus"),Qt(this,"level"),Qt(this,"loaded"),Qt(this,"childNodes"),Qt(this,"loading"),Qt(this,"isEffectivelyChecked",!1),this.id=CS++,this.text=null,this.checked=!1,this.indeterminate=!1,this.data=null,this.expanded=!1,this.parent=null,this.visible=!0,this.isCurrent=!1,this.canFocus=!1;for(const n in t)Ut(t,n)&&(this[n]=t[n]);this.level=0,this.loaded=!1,this.childNodes=[],this.loading=!1,this.parent&&(this.level=this.parent.level+1)}initialize(){var t;const n=this.store;if(!n)throw new Error("[Node]store is required!");n.registerNode(this);const l=n.props;if(l&&typeof l.isLeaf<"u"){const i=ja(this,"isLeaf");yt(i)&&(this.isLeafByUser=i)}if(n.lazy!==!0&&this.data?(this.setData(this.data),n.defaultExpandAll&&(this.expanded=!0,this.canFocus=!0)):this.level>0&&n.lazy&&n.defaultExpandAll&&!this.isLeafByUser&&this.expand(),Pe(this.data)||Ei(this,this.data),!this.data)return;const a=n.defaultExpandedKeys,s=n.key;s&&!Mt(this.key)&&a&&a.includes(this.key)&&this.expand(null,n.autoExpandParent),s&&n.currentNodeKey!==void 0&&this.key===n.currentNodeKey&&(n.currentNode&&(n.currentNode.isCurrent=!1),n.currentNode=this,n.currentNode.isCurrent=!0),n.lazy&&n._initDefaultCheckedNode(this),this.updateLeafState(),(this.level===1||((t=this.parent)==null?void 0:t.expanded)===!0)&&(this.canFocus=!0)}setData(t){Pe(t)||Ei(this,t),this.data=t,this.childNodes=[];let n;this.level===0&&Pe(this.data)?n=this.data:n=ja(this,"children")||[];for(let l=0,a=n.length;l-1)return t.childNodes[n+1]}return null}get previousSibling(){const t=this.parent;if(t){const n=t.childNodes.indexOf(this);if(n>-1)return n>0?t.childNodes[n-1]:null}return null}contains(t,n=!0){return(this.childNodes||[]).some(l=>l===t||n&&l.contains(t))}remove(){const t=this.parent;t&&t.removeChild(this)}insertChild(t,n,l){if(!t)throw new Error("InsertChild error: child is required.");if(!(t instanceof Pl)){if(!l){const a=this.getChildren(!0);a!=null&&a.includes(t.data)||(it(n)||n<0?a==null||a.push(t.data):a==null||a.splice(n,0,t.data))}Object.assign(t,{parent:this,store:this.store}),t=kt(new Pl(t)),t instanceof Pl&&t.initialize()}t.level=this.level+1,it(n)||n<0?this.childNodes.push(t):this.childNodes.splice(n,0,t),this.updateLeafState()}insertBefore(t,n){let l;n&&(l=this.childNodes.indexOf(n)),this.insertChild(t,l)}insertAfter(t,n){let l;n&&(l=this.childNodes.indexOf(n),l!==-1&&(l+=1)),this.insertChild(t,l)}removeChild(t){const n=this.getChildren()||[],l=n.indexOf(t.data);l>-1&&n.splice(l,1);const a=this.childNodes.indexOf(t);a>-1&&(this.store&&this.store.deregisterNode(t),t.parent=null,this.childNodes.splice(a,1)),this.updateLeafState()}removeChildByData(t){const n=this.childNodes.find(l=>l.data===t);n&&this.removeChild(n)}expand(t,n){const l=()=>{if(n){let a=this.parent;for(;a&&a.level>0;)a.expanded=!0,a=a.parent}this.expanded=!0,t&&t(),hs(this.childNodes,!0)};this.shouldLoadData()?this.loadData(a=>{Pe(a)&&(this.checked?this.setChecked(!0,!0):this.store.checkStrictly||da(this),l())}):l()}doCreateChildren(t,n={}){t.forEach(l=>{this.insertChild(Object.assign({data:l},n),void 0,!0)})}collapse(){this.expanded=!1,hs(this.childNodes,!1)}shouldLoadData(){return!!(this.store.lazy===!0&&this.store.load&&!this.loaded)}updateLeafState(){if(this.store.lazy===!0&&this.loaded!==!0&&typeof this.isLeafByUser<"u"){this.isLeaf=this.isLeafByUser,this.isEffectivelyChecked=this.isLeaf&&this.disabled;return}const t=this.childNodes;if(!this.store.lazy||this.store.lazy===!0&&this.loaded===!0){this.isLeaf=!t||t.length===0,this.isEffectivelyChecked=this.isLeaf&&this.disabled;return}this.isLeaf=!1}setChecked(t,n,l,a){if(this.indeterminate=t==="half",this.checked=t===!0,this.isEffectivelyChecked=!this.childNodes.length&&(this.disabled||this.checked),this.store.checkStrictly)return;if(!(this.shouldLoadData()&&!this.store.checkDescendants)){const i=()=>{if(n){const r=this.childNodes;for(let p=0,h=r.length;p{i(),da(this)},{checked:t!==!1});return}else i()}const s=this.parent;!s||s.level===0||l||da(s)}getChildren(t=!1){if(this.level===0)return this.data;const n=this.data;if(!n)return null;const l=this.store.props;let a="children";return l&&(a=l.children||"children"),it(n[a])&&(n[a]=null),t&&!n[a]&&(n[a]=[]),n[a]}updateChildren(){const t=this.getChildren()||[],n=this.childNodes.map(s=>s.data),l={},a=[];t.forEach((s,i)=>{const r=s[Ul];!!r&&n.some(u=>(u==null?void 0:u[Ul])===r)?l[r]={index:i,data:s}:a.push({index:i,data:s})}),this.store.lazy||n.forEach(s=>{l[s==null?void 0:s[Ul]]||this.removeChildByData(s)}),a.forEach(({index:s,data:i})=>{this.insertChild({data:i},s)}),this.updateLeafState()}loadData(t,n={}){if(this.store.lazy===!0&&this.store.load&&!this.loaded&&(!this.loading||Object.keys(n).length)){this.loading=!0;const l=s=>{this.childNodes=[],this.doCreateChildren(s,n),this.loaded=!0,this.loading=!1,this.updateLeafState(),t&&t.call(this,s)},a=()=>{this.loading=!1};this.store.load(this,l,a)}else t&&t.call(this)}eachNode(t){const n=[this];for(;n.length;){const l=n.shift();n.unshift(...l.childNodes),t(l)}}reInitChecked(){this.store.checkStrictly||da(this)}}var wS=Object.defineProperty,kS=(e,t,n)=>t in e?wS(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,on=(e,t,n)=>kS(e,typeof t!="symbol"?t+"":t,n);class SS{constructor(t){on(this,"currentNode"),on(this,"currentNodeKey"),on(this,"nodesMap"),on(this,"root"),on(this,"data"),on(this,"lazy",!1),on(this,"load"),on(this,"filterNodeMethod"),on(this,"key"),on(this,"defaultCheckedKeys"),on(this,"checkStrictly",!1),on(this,"defaultExpandedKeys"),on(this,"autoExpandParent",!1),on(this,"defaultExpandAll",!1),on(this,"checkDescendants",!1),on(this,"props"),this.currentNode=null,this.currentNodeKey=null;for(const n in t)Ut(t,n)&&(this[n]=t[n]);this.nodesMap={}}initialize(){if(this.root=new Pl({data:this.data,store:this}),this.root.initialize(),this.lazy&&this.load){const t=this.load;t(this.root,n=>{this.root.doCreateChildren(n),this._initDefaultCheckedNodes()},Tt)}else this._initDefaultCheckedNodes()}filter(t){const n=this.filterNodeMethod,l=this.lazy,a=async function(s){const i=s.root?s.root.childNodes:s.childNodes;for(const[r,c]of i.entries())c.visible=!!(n!=null&&n.call(c,t,c.data,c)),r%80===0&&r>0&&await Ee(),await a(c);if(!s.visible&&i.length){let r=!0;r=!i.some(c=>c.visible),s.root?s.root.visible=r===!1:s.visible=r===!1}t&&s.visible&&!s.isLeaf&&(!l||s.loaded)&&s.expand()};a(this)}setData(t){t!==this.root.data?(this.nodesMap={},this.root.setData(t),this._initDefaultCheckedNodes(),this.setCurrentNodeKey(this.currentNodeKey)):this.root.updateChildren()}getNode(t){if(t instanceof Pl)return t;const n=gt(t)?mr(this.key,t):t;return this.nodesMap[n]||null}insertBefore(t,n){var l;const a=this.getNode(n);(l=a.parent)==null||l.insertBefore({data:t},a)}insertAfter(t,n){var l;const a=this.getNode(n);(l=a.parent)==null||l.insertAfter({data:t},a)}remove(t){const n=this.getNode(t);n&&n.parent&&(n===this.currentNode&&(this.currentNode=null),n.parent.removeChild(n))}append(t,n){const l=Nn(n)?this.root:this.getNode(n);l&&l.insertChild({data:t})}_initDefaultCheckedNodes(){const t=this.defaultCheckedKeys||[],n=this.nodesMap;t.forEach(l=>{const a=n[l];a&&a.setChecked(!0,!this.checkStrictly)})}_initDefaultCheckedNode(t){const n=this.defaultCheckedKeys||[];!Mt(t.key)&&n.includes(t.key)&&t.setChecked(!0,!this.checkStrictly)}setDefaultCheckedKey(t){t!==this.defaultCheckedKeys&&(this.defaultCheckedKeys=t,this._initDefaultCheckedNodes())}registerNode(t){const n=this.key;if(!(!t||!t.data))if(!n)this.nodesMap[t.id]=t;else{const l=t.key;Mt(l)||(this.nodesMap[l]=t)}}deregisterNode(t){!this.key||!t||!t.data||(t.childNodes.forEach(l=>{this.deregisterNode(l)}),delete this.nodesMap[t.key])}getCheckedNodes(t=!1,n=!1){const l=[],a=function(s){(s.root?s.root.childNodes:s.childNodes).forEach(r=>{(r.checked||n&&r.indeterminate)&&(!t||t&&r.isLeaf)&&l.push(r.data),a(r)})};return a(this),l}getCheckedKeys(t=!1){return this.getCheckedNodes(t).map(n=>(n||{})[this.key])}getHalfCheckedNodes(){const t=[],n=function(l){(l.root?l.root.childNodes:l.childNodes).forEach(s=>{s.indeterminate&&t.push(s.data),n(s)})};return n(this),t}getHalfCheckedKeys(){return this.getHalfCheckedNodes().map(t=>(t||{})[this.key])}_getAllNodes(){const t=[],n=this.nodesMap;for(const l in n)Ut(n,l)&&t.push(n[l]);return t}updateChildren(t,n){const l=this.nodesMap[t];if(!l)return;const a=l.childNodes;for(let s=a.length-1;s>=0;s--){const i=a[s];this.remove(i.data)}for(let s=0,i=n.length;sc.level-u.level),s=Object.create(null),i=Object.keys(l);a.forEach(c=>c.setChecked(!1,!1));const r=c=>{c.childNodes.forEach(u=>{var f;s[u.data[t]]=!0,(f=u.childNodes)!=null&&f.length&&r(u)})};for(let c=0,u=a.length;c{g.isLeaf||g.setChecked(!1,!1),m(g)})};m(f)}}}setCheckedNodes(t,n=!1){const l=this.key,a={};t.forEach(s=>{a[(s||{})[l]]=!0}),this._setCheckedKeys(l,n,a)}setCheckedKeys(t,n=!1){this.defaultCheckedKeys=t;const l=this.key,a={};t.forEach(s=>{a[s]=!0}),this._setCheckedKeys(l,n,a)}setDefaultExpandedKeys(t){t=t||[],this.defaultExpandedKeys=t,t.forEach(n=>{const l=this.getNode(n);l&&l.expand(null,this.autoExpandParent)})}setChecked(t,n,l){const a=this.getNode(t);a&&a.setChecked(!!n,l)}getCurrentNode(){return this.currentNode}setCurrentNode(t){const n=this.currentNode;n&&(n.isCurrent=!1),this.currentNode=t,this.currentNode.isCurrent=!0}setUserCurrentNode(t,n=!0){var l;const a=t[this.key],s=this.nodesMap[a];this.setCurrentNode(s),n&&this.currentNode&&this.currentNode.level>1&&((l=this.currentNode.parent)==null||l.expand(null,!0))}setCurrentNodeKey(t,n=!0){var l;if(this.currentNodeKey=t,Nn(t)){this.currentNode&&(this.currentNode.isCurrent=!1),this.currentNode=null;return}const a=this.getNode(t);a&&(this.setCurrentNode(a),n&&this.currentNode&&this.currentNode.level>1&&((l=this.currentNode.parent)==null||l.expand(null,!0)))}}const hr="RootTree",wd="NodeInstance",$i="TreeNodeMap";var ES=ie({name:"ElTreeNodeContent",props:{node:{type:Object,required:!0},renderContent:Function},setup(e){const t=ce("tree"),n=be(wd),l=be(hr);return()=>{const a=e.node,{data:s,store:i}=a;return e.renderContent?e.renderContent(Ie,{_self:n,node:a,data:s,store:i}):X(l.ctx.slots,"default",{node:a,data:s},()=>[Ie(dS,{tag:"span",truncated:!0,class:t.be("node","label")},()=>[a.label])])}}});function kd(e){const t=be($i,null);let n={treeNodeExpand:l=>{var a;e.node!==l&&((a=e.node)==null||a.collapse())},children:new Set};return t&&t.children.add(n),Et(()=>{t&&t.children.delete(n),n=null}),et($i,n),{broadcastExpanded:l=>{if(e.accordion)for(const a of n.children)a.treeNodeExpand(l)}}}const Sd=Symbol("dragEvents");function $S({props:e,ctx:t,el$:n,dropIndicator$:l,store:a}){const s=ce("tree"),i=I({showDropIndicator:!1,draggingNode:null,dropNode:null,allowDrop:!0,dropType:null});return et(Sd,{treeNodeDragStart:({event:f,treeNode:p})=>{if(f.dataTransfer){if(Qe(e.allowDrag)&&!e.allowDrag(p.node))return f.preventDefault(),!1;f.dataTransfer.effectAllowed="move";try{f.dataTransfer.setData("text/plain","")}catch{}i.value.draggingNode=p,t.emit("node-drag-start",p.node,f)}},treeNodeDragOver:({event:f,treeNode:p})=>{if(!f.dataTransfer)return;const h=p,m=i.value.dropNode;m&&m.node.id!==h.node.id&&dn(m.$el,s.is("drop-inner"));const d=i.value.draggingNode;if(!d||!h)return;let v=!0,g=!0,b=!0,S=!0;Qe(e.allowDrop)&&(v=e.allowDrop(d.node,h.node,"prev"),S=g=e.allowDrop(d.node,h.node,"inner"),b=e.allowDrop(d.node,h.node,"next")),f.dataTransfer.dropEffect=g||v||b?"move":"none",(v||g||b)&&(m==null?void 0:m.node.id)!==h.node.id&&(m&&t.emit("node-drag-leave",d.node,m.node,f),t.emit("node-drag-enter",d.node,h.node,f)),v||g||b?i.value.dropNode=h:i.value.dropNode=null,h.node.nextSibling===d.node&&(b=!1),h.node.previousSibling===d.node&&(v=!1),h.node.contains(d.node,!1)&&(g=!1),(d.node===h.node||d.node.contains(h.node))&&(v=!1,g=!1,b=!1);const w=h.$el,C=w.querySelector(`.${s.be("node","content")}`).getBoundingClientRect(),k=n.value.getBoundingClientRect(),N=n.value.scrollTop;let T;const P=v?g?.25:b?.45:1:Number.NEGATIVE_INFINITY,x=b?g?.75:v?.55:0:Number.POSITIVE_INFINITY;let D=-9999;const W=f.clientY-C.top;WC.height*x?T="after":g?T="inner":T="none";const A=w.querySelector(`.${s.be("node","expand-icon")}`).getBoundingClientRect(),V=l.value;T==="before"?D=A.top-k.top+N:T==="after"&&(D=A.bottom-k.top+N),V.style.top=`${D}px`,V.style.left=`${A.right-k.left}px`,T==="inner"?Bn(w,s.is("drop-inner")):dn(w,s.is("drop-inner")),i.value.showDropIndicator=T==="before"||T==="after",i.value.allowDrop=i.value.showDropIndicator||S,i.value.dropType=T,t.emit("node-drag-over",d.node,h.node,f)},treeNodeDragEnd:f=>{var p,h;const{draggingNode:m,dropType:d,dropNode:v}=i.value;if(f.preventDefault(),f.dataTransfer&&(f.dataTransfer.dropEffect="move"),m!=null&&m.node.data&&v){const g={data:m.node.data};d!=="none"&&m.node.remove(),d==="before"?(p=v.node.parent)==null||p.insertBefore(g,v.node):d==="after"?(h=v.node.parent)==null||h.insertAfter(g,v.node):d==="inner"&&v.node.insertChild(g),d!=="none"&&(a.value.registerNode(g),a.value.key&&m.node.eachNode(b=>{var S;(S=a.value.nodesMap[b.data[a.value.key]])==null||S.setChecked(b.checked,!a.value.checkStrictly)})),dn(v.$el,s.is("drop-inner")),t.emit("node-drag-end",m.node,v.node,d,f),d!=="none"&&t.emit("node-drop",m.node,v.node,d,f)}m&&!v&&t.emit("node-drag-end",m.node,null,d,f),i.value.showDropIndicator=!1,i.value.draggingNode=null,i.value.dropNode=null,i.value.allowDrop=!0}}),{dragState:i}}var NS=ie({name:"ElTreeNode",components:{ElCollapseTransition:Ys,ElCheckbox:Rl,NodeContent:ES,ElIcon:we,Loading:qn},props:{node:{type:Pl,default:()=>({})},props:{type:Object,default:()=>({})},accordion:Boolean,renderContent:Function,renderAfterExpand:Boolean,showCheckbox:Boolean},emits:["node-expand"],setup(e,t){const n=ce("tree"),{broadcastExpanded:l}=kd(e),a=be(hr),s=I(!1),i=I(!1),r=I(),c=I(),u=I(),f=be(Sd),p=qe();et(wd,p),e.node.expanded&&(s.value=!0,i.value=!0);const h=a.props.props.children||"children";le(()=>{var x;const D=(x=e.node.data)==null?void 0:x[h];return D&&[...D]},()=>{e.node.updateChildren()}),le(()=>e.node.indeterminate,x=>{v(e.node.checked,x)}),le(()=>e.node.checked,x=>{v(x,e.node.indeterminate)}),le(()=>e.node.childNodes.length,()=>e.node.reInitChecked()),le(()=>e.node.expanded,x=>{Ee(()=>s.value=x),x&&(i.value=!0)});const m=x=>a.props.nodeKey?mr(a.props.nodeKey,x.data):x.id,d=x=>{const D=e.props.class;if(!D)return{};let W;if(Qe(D)){const{data:A}=x;W=D(A,x)}else W=D;return He(W)?{[W]:!0}:W},v=(x,D)=>{(r.value!==x||c.value!==D)&&a.ctx.emit("check-change",e.node.data,x,D),r.value=x,c.value=D},g=x=>{ms(a.store,a.ctx.emit,()=>{var D;if((D=a==null?void 0:a.props)==null?void 0:D.nodeKey){const A=m(e.node);a.store.value.setCurrentNodeKey(A)}else a.store.value.setCurrentNode(e.node)}),a.currentNode.value=e.node,a.props.expandOnClickNode&&S(),(a.props.checkOnClickNode||e.node.isLeaf&&a.props.checkOnClickLeaf&&e.showCheckbox)&&!e.node.disabled&&w(!e.node.checked),a.ctx.emit("node-click",e.node.data,e.node,p,x)},b=x=>{var D;(D=a.instance.vnode.props)!=null&&D.onNodeContextmenu&&(x.stopPropagation(),x.preventDefault()),a.ctx.emit("node-contextmenu",x,e.node.data,e.node,p)},S=()=>{e.node.isLeaf||(s.value?(a.ctx.emit("node-collapse",e.node.data,e.node,p),e.node.collapse()):e.node.expand(()=>{t.emit("node-expand",e.node.data,e.node,p)}))},w=x=>{const D=a==null?void 0:a.props.checkStrictly,W=e.node.childNodes;!D&&W.length&&(x=W.some(A=>!A.isEffectivelyChecked)),e.node.setChecked(x,!D),Ee(()=>{const A=a.store.value;a.ctx.emit("check",e.node.data,{checkedNodes:A.getCheckedNodes(),checkedKeys:A.getCheckedKeys(),halfCheckedNodes:A.getHalfCheckedNodes(),halfCheckedKeys:A.getHalfCheckedKeys()})})};return{ns:n,node$:u,tree:a,expanded:s,childNodeRendered:i,oldChecked:r,oldIndeterminate:c,getNodeKey:m,getNodeClass:d,handleSelectChange:v,handleClick:g,handleContextMenu:b,handleExpandIconClick:S,handleCheckChange:w,handleChildNodeExpand:(x,D,W)=>{l(D),a.ctx.emit("node-expand",x,D,W)},handleDragStart:x=>{a.props.draggable&&f.treeNodeDragStart({event:x,treeNode:e})},handleDragOver:x=>{x.preventDefault(),a.props.draggable&&f.treeNodeDragOver({event:x,treeNode:{$el:u.value,node:e.node}})},handleDrop:x=>{x.preventDefault()},handleDragEnd:x=>{a.props.draggable&&f.treeNodeDragEnd(x)},CaretRight:ff}}});const TS=["aria-expanded","aria-disabled","aria-checked","draggable","data-key"],PS=["aria-expanded"];function IS(e,t,n,l,a,s){const i=ot("el-icon"),r=ot("el-checkbox"),c=ot("loading"),u=ot("node-content"),f=ot("el-tree-node"),p=ot("el-collapse-transition");return Ue((E(),L("div",{ref:"node$",class:$([e.ns.b("node"),e.ns.is("expanded",e.expanded),e.ns.is("current",e.node.isCurrent),e.ns.is("hidden",!e.node.visible),e.ns.is("focusable",!e.node.disabled),e.ns.is("checked",!e.node.disabled&&e.node.checked),e.getNodeClass(e.node)]),role:"treeitem",tabindex:"-1","aria-expanded":e.expanded,"aria-disabled":e.node.disabled,"aria-checked":e.node.checked,draggable:e.tree.props.draggable,"data-key":e.getNodeKey(e.node),onClick:t[2]||(t[2]=Ke((...h)=>e.handleClick&&e.handleClick(...h),["stop"])),onContextmenu:t[3]||(t[3]=(...h)=>e.handleContextMenu&&e.handleContextMenu(...h)),onDragstart:t[4]||(t[4]=Ke((...h)=>e.handleDragStart&&e.handleDragStart(...h),["stop"])),onDragover:t[5]||(t[5]=Ke((...h)=>e.handleDragOver&&e.handleDragOver(...h),["stop"])),onDragend:t[6]||(t[6]=Ke((...h)=>e.handleDragEnd&&e.handleDragEnd(...h),["stop"])),onDrop:t[7]||(t[7]=Ke((...h)=>e.handleDrop&&e.handleDrop(...h),["stop"]))},[H("div",{class:$(e.ns.be("node","content")),style:Fe({paddingLeft:(e.node.level-1)*e.tree.props.indent+"px"})},[e.tree.props.icon||e.CaretRight?(E(),Z(i,{key:0,class:$([e.ns.be("node","expand-icon"),e.ns.is("leaf",e.node.isLeaf),{expanded:!e.node.isLeaf&&e.expanded}]),onClick:Ke(e.handleExpandIconClick,["stop"])},{default:j(()=>[(E(),Z(_e(e.tree.props.icon||e.CaretRight)))]),_:1},8,["class","onClick"])):G("v-if",!0),e.showCheckbox?(E(),Z(r,{key:1,"model-value":e.node.checked,indeterminate:e.node.indeterminate,disabled:!!e.node.disabled,onClick:t[0]||(t[0]=Ke(()=>{},["stop"])),onChange:e.handleCheckChange},null,8,["model-value","indeterminate","disabled","onChange"])):G("v-if",!0),e.node.loading?(E(),Z(i,{key:2,class:$([e.ns.be("node","loading-icon"),e.ns.is("loading")])},{default:j(()=>[U(c)]),_:1},8,["class"])):G("v-if",!0),U(u,{node:e.node,"render-content":e.renderContent},null,8,["node","render-content"])],6),U(p,null,{default:j(()=>[!e.renderAfterExpand||e.childNodeRendered?Ue((E(),L("div",{key:0,class:$(e.ns.be("node","children")),role:"group","aria-expanded":e.expanded,onClick:t[1]||(t[1]=Ke(()=>{},["stop"]))},[(E(!0),L(Re,null,rt(e.node.childNodes,h=>(E(),Z(f,{key:e.getNodeKey(h),"render-content":e.renderContent,"render-after-expand":e.renderAfterExpand,"show-checkbox":e.showCheckbox,node:h,accordion:e.accordion,props:e.props,onNodeExpand:e.handleChildNodeExpand},null,8,["render-content","render-after-expand","show-checkbox","node","accordion","props","onNodeExpand"]))),128))],10,PS)),[[ht,e.expanded]]):G("v-if",!0)]),_:1})],42,TS)),[[ht,e.node.visible]])}var xS=_t(NS,[["render",IS]]);function OS({el$:e},t){const n=ce("tree");Ze(()=>{s()}),Bl(()=>{var i;(i=e.value)==null||i.querySelectorAll("input[type=checkbox]").forEach(r=>{r.setAttribute("tabindex","-1")})});function l(i,r){var c,u;const f=t.value.getNode(i[r].dataset.key);return f.canFocus&&f.visible&&(((c=f.parent)==null?void 0:c.expanded)||((u=f.parent)==null?void 0:u.level)===0)}$t(e,"keydown",i=>{const r=i.target;if(!r.className.includes(n.b("node")))return;const c=St(i),u=Array.from(e.value.querySelectorAll(`.${n.is("focusable")}[role=treeitem]`)),f=u.indexOf(r);let p;if([de.up,de.down].includes(c)){if(i.preventDefault(),c===de.up){p=f===-1?0:f!==0?f-1:u.length-1;const m=p;for(;!l(u,p);){if(p--,p===m){p=-1;break}p<0&&(p=u.length-1)}}else{p=f===-1?0:f=u.length&&(p=0)}}p!==-1&&u[p].focus()}[de.left,de.right].includes(c)&&(i.preventDefault(),r.click());const h=r.querySelector('[type="checkbox"]');[de.enter,de.numpadEnter,de.space].includes(c)&&h&&(i.preventDefault(),h.click())});const s=()=>{var i;if(!e.value)return;const r=Array.from(e.value.querySelectorAll(`.${n.is("focusable")}[role=treeitem]`));Array.from(e.value.querySelectorAll("input[type=checkbox]")).forEach(f=>{f.setAttribute("tabindex","-1")});const u=e.value.querySelectorAll(`.${n.is("checked")}[role=treeitem]`);if(u.length){u[0].setAttribute("tabindex","0");return}(i=r[0])==null||i.setAttribute("tabindex","0")}}const Ed=me({data:{type:q(Array),default:()=>[]},emptyText:{type:String},renderAfterExpand:{type:Boolean,default:!0},nodeKey:String,checkStrictly:Boolean,defaultExpandAll:Boolean,expandOnClickNode:{type:Boolean,default:!0},checkOnClickNode:Boolean,checkOnClickLeaf:{type:Boolean,default:!0},checkDescendants:Boolean,autoExpandParent:{type:Boolean,default:!0},defaultCheckedKeys:{type:Array},defaultExpandedKeys:{type:Array},currentNodeKey:{type:[String,Number]},renderContent:{type:q(Function)},showCheckbox:Boolean,draggable:Boolean,allowDrag:{type:q(Function)},allowDrop:{type:q(Function)},props:{type:Object,default:()=>({children:"children",label:"label",disabled:"disabled"})},lazy:Boolean,highlightCurrent:Boolean,load:{type:Function},filterNodeMethod:{type:Function},accordion:Boolean,indent:{type:Number,default:18},icon:{type:Ct}}),RS={"check-change":(e,t,n)=>e&&yt(t)&&yt(n),"current-change":(e,t)=>!0,"node-click":(e,t,n,l)=>e&&t&&l instanceof Event,"node-contextmenu":(e,t,n,l)=>e instanceof Event&&t&&n,"node-collapse":(e,t,n)=>e&&t,"node-expand":(e,t,n)=>e&&t,check:(e,t)=>e&&t,"node-drag-start":(e,t)=>e&&t,"node-drag-end":(e,t,n,l)=>e&&l,"node-drop":(e,t,n,l)=>e&&t&&l,"node-drag-leave":(e,t,n)=>e&&t&&n,"node-drag-enter":(e,t,n)=>e&&t&&n,"node-drag-over":(e,t,n)=>e&&t&&n};var MS=ie({name:"ElTree",components:{ElTreeNode:xS},props:Ed,emits:RS,setup(e,t){const{t:n}=at(),l=ce("tree"),a=I(new SS({key:e.nodeKey,data:e.data,lazy:e.lazy,props:e.props,load:e.load,currentNodeKey:e.currentNodeKey,checkStrictly:e.checkStrictly,checkDescendants:e.checkDescendants,defaultCheckedKeys:e.defaultCheckedKeys,defaultExpandedKeys:e.defaultExpandedKeys,autoExpandParent:e.autoExpandParent,defaultExpandAll:e.defaultExpandAll,filterNodeMethod:e.filterNodeMethod}));a.value.initialize();const s=I(a.value.root),i=I(null),r=I(null),c=I(null),{broadcastExpanded:u}=kd(e),{dragState:f}=$S({props:e,ctx:t,el$:r,dropIndicator$:c,store:a});OS({el$:r},a);const p=qe(),h=y(()=>{let M=p==null?void 0:p.parent;for(;M;){if(M.type.name==="ElTreeSelect")return!0;M=M.parent}return!1}),m=y(()=>{const{childNodes:M}=s.value;return(!M||M.length===0||M.every(({visible:F})=>!F))&&!h.value});le(()=>e.currentNodeKey,M=>{a.value.setCurrentNodeKey(M??null)}),le(()=>e.defaultCheckedKeys,(M,F)=>{Rt(M,F)||a.value.setDefaultCheckedKey(M??[])}),le(()=>e.defaultExpandedKeys,M=>{a.value.setDefaultExpandedKeys(M??[])}),le(()=>e.data,M=>{a.value.setData(M)},{deep:!0}),le(()=>e.checkStrictly,M=>{a.value.checkStrictly=M});const d=M=>{if(!e.filterNodeMethod)throw new Error("[Tree] filterNodeMethod is required when filter");a.value.filter(M)},v=M=>e.nodeKey?mr(e.nodeKey,M.data):M.id,g=M=>{if(!e.nodeKey)throw new Error(`[Tree] nodeKey is required in ${M}`)},b=M=>{g("getNodePath");const F=a.value.getNode(M);if(!F)return[];const K=[F.data];let z=F.parent;for(;z&&z!==s.value;)K.push(z.data),z=z.parent;return K.reverse()},S=(M,F)=>a.value.getCheckedNodes(M,F),w=M=>a.value.getCheckedKeys(M),C=()=>{const M=a.value.getCurrentNode();return M?M.data:null},k=()=>{g("getCurrentKey");const M=C();return M?M[e.nodeKey]:null},N=(M,F)=>{g("setCheckedNodes"),a.value.setCheckedNodes(M,F)},T=(M,F)=>{g("setCheckedKeys"),a.value.setCheckedKeys(M,F)},P=(M,F,K)=>{a.value.setChecked(M,F,K)},x=()=>a.value.getHalfCheckedNodes(),D=()=>a.value.getHalfCheckedKeys(),W=(M,F=!0)=>{g("setCurrentNode"),ms(a,t.emit,()=>{u(M),a.value.setUserCurrentNode(M,F)})},A=(M=null,F=!0)=>{g("setCurrentKey"),ms(a,t.emit,()=>{u(),a.value.setCurrentNodeKey(M,F)})},V=M=>a.value.getNode(M),_=M=>{a.value.remove(M)},oe=(M,F)=>{a.value.append(M,F)},ve=(M,F)=>{a.value.insertBefore(M,F)},O=(M,F)=>{a.value.insertAfter(M,F)},R=(M,F,K)=>{u(F),t.emit("node-expand",M,F,K)},B=(M,F)=>{g("updateKeyChildren"),a.value.updateChildren(M,F)};return et(hr,{ctx:t,props:e,store:a,root:s,currentNode:i,instance:p}),et(bl,void 0),{ns:l,store:a,root:s,currentNode:i,dragState:f,el$:r,dropIndicator$:c,isEmpty:m,filter:d,getNodeKey:v,getNodePath:b,getCheckedNodes:S,getCheckedKeys:w,getCurrentNode:C,getCurrentKey:k,setCheckedNodes:N,setCheckedKeys:T,setChecked:P,getHalfCheckedNodes:x,getHalfCheckedKeys:D,setCurrentNode:W,setCurrentKey:A,t:n,getNode:V,remove:_,append:oe,insertBefore:ve,insertAfter:O,handleNodeExpand:R,updateKeyChildren:B}}});function DS(e,t,n,l,a,s){const i=ot("el-tree-node");return E(),L("div",{ref:"el$",class:$([e.ns.b(),e.ns.is("dragging",!!e.dragState.draggingNode),e.ns.is("drop-not-allow",!e.dragState.allowDrop),e.ns.is("drop-inner",e.dragState.dropType==="inner"),{[e.ns.m("highlight-current")]:e.highlightCurrent}]),role:"tree"},[(E(!0),L(Re,null,rt(e.root.childNodes,r=>(E(),Z(i,{key:e.getNodeKey(r),node:r,props:e.props,accordion:e.accordion,"render-after-expand":e.renderAfterExpand,"show-checkbox":e.showCheckbox,"render-content":e.renderContent,onNodeExpand:e.handleNodeExpand},null,8,["node","props","accordion","render-after-expand","show-checkbox","render-content","onNodeExpand"]))),128)),e.isEmpty?(E(),L("div",{key:0,class:$(e.ns.e("empty-block"))},[X(e.$slots,"empty",{},()=>{var r;return[H("span",{class:$(e.ns.e("empty-text"))},he((r=e.emptyText)!=null?r:e.t("el.tree.emptyText")),3)]})],2)):G("v-if",!0),Ue(H("div",{ref:"dropIndicator$",class:$(e.ns.e("drop-indicator"))},null,2),[[ht,e.dragState.showDropIndicator]])],2)}var BS=_t(MS,[["render",DS]]);const $d=Ge(BS),LS=(e,{attrs:t,emit:n},{select:l,tree:a,key:s})=>{const i=ce("tree-select");le(()=>e.data,()=>{e.filterable&&Ee(()=>{var u,f;(f=a.value)==null||f.filter((u=l.value)==null?void 0:u.states.inputValue)})},{flush:"post"});const r=u=>{var f;const p=u.at(-1);if(p.expanded&&p.childNodes.at(-1))r([p.childNodes.at(-1)]);else{const h=(f=a.value.el$)==null?void 0:f.querySelector(`[data-key="${u.at(-1).key}"]`);h==null||h.focus({preventScroll:!0});return}};return Ze(()=>{$t(()=>{var u;return(u=l.value)==null?void 0:u.$el},"keydown",async u=>{const f=St(u),{dropdownMenuVisible:p}=l.value;[de.down,de.up].includes(f)&&p&&(await Ee(),setTimeout(()=>{var h,m,d;if(de.up===f){const v=a.value.store.root.childNodes;r(v);return}(d=(m=(h=l.value.optionsArray[l.value.states.hoveringIndex].$el)==null?void 0:h.parentNode)==null?void 0:m.parentNode)==null||d.focus({preventScroll:!0})}))},{capture:!0})}),{...hl(Mn(e),Object.keys(Ca.props)),...t,class:y(()=>t.class),style:y(()=>t.style),"onUpdate:modelValue":u=>n(Ye,u),valueKey:s,popperClass:y(()=>{const u=[i.e("popper")];return e.popperClass&&u.push(e.popperClass),u.join(" ")}),filterMethod:(u="")=>{var f;e.filterMethod?e.filterMethod(u):e.remoteMethod?e.remoteMethod(u):(f=a.value)==null||f.filter(u)}}},AS=ie({extends:ss,setup(e,t){const n=ss.setup(e,t);delete n.selectOptionClick;const l=qe().proxy;return Ee(()=>{n.select.states.cachedOptions.get(l.value)||n.select.onOptionCreate(l)}),le(()=>t.attrs.visible,a=>{Ee(()=>{n.states.visible=a})},{immediate:!0}),n},methods:{selectOptionClick(){this.$el.parentElement.click()}}});function gs(e){return e||e===0}function gr(e){return Pe(e)&&e.length}function Kl(e){return Pe(e)?e:gs(e)?[e]:[]}function lo(e,t,n,l,a){for(let s=0;s{le([()=>e.modelValue,s],()=>{e.showCheckbox&&Ee(()=>{const d=s.value;d&&!Rt(d.getCheckedKeys(),Kl(e.modelValue))&&d.setCheckedKeys(Kl(e.modelValue))})},{immediate:!0,deep:!0});const r=y(()=>({value:i.value,label:"label",children:"children",disabled:"disabled",isLeaf:"isLeaf",...e.props})),c=(d,v)=>{var g;const b=r.value[d];return Qe(b)?b(v,(g=s.value)==null?void 0:g.getNode(c("value",v))):v[b]},u=Kl(e.modelValue).map(d=>lo(e.data||[],v=>c("value",v)===d,v=>c("children",v),(v,g,b,S)=>S&&c("value",S))).filter(d=>gs(d)),f=y(()=>{if(!e.renderAfterExpand&&!e.lazy)return[];const d=[];return ao(e.data.concat(e.cacheData),v=>{const g=c("value",v);d.push({value:g,currentLabel:c("label",v),isDisabled:c("disabled",v)})},v=>c("children",v)),d}),p=()=>{var d;return(d=s.value)==null?void 0:d.getCheckedKeys().filter(v=>{var g;const b=(g=s.value)==null?void 0:g.getNode(v);return!Mt(b)&&xl(b.childNodes)})},h=d=>{Rt(e.modelValue,d)||l(dt,d)};function m(d){l(Ye,d),h(d)}return{...hl(Mn(e),Object.keys($d.props)),...t,nodeKey:i,expandOnClickNode:y(()=>!e.checkStrictly&&e.expandOnClickNode),defaultExpandedKeys:y(()=>e.defaultExpandedKeys?e.defaultExpandedKeys.concat(u):u),renderContent:(d,{node:v,data:g,store:b})=>d(AS,{value:c("value",g),label:c("label",g),disabled:c("disabled",g),visible:v.visible},e.renderContent?()=>e.renderContent(d,{node:v,data:g,store:b}):n.default?()=>n.default({node:v,data:g,store:b}):void 0),filterNodeMethod:(d,v,g)=>e.filterNodeMethod?e.filterNodeMethod(d,v,g):d?new RegExp(_u(d),"i").test(c("label",v)||""):!0,onNodeClick:(d,v,g)=>{var b,S,w;if((b=t.onNodeClick)==null||b.call(t,d,v,g),!(e.showCheckbox&&e.checkOnClickNode))if(!e.showCheckbox&&(e.checkStrictly||v.isLeaf)){if(!c("disabled",d)){const C=(S=a.value)==null?void 0:S.states.options.get(c("value",d));(w=a.value)==null||w.handleOptionSelect(C)}}else e.expandOnClickNode&&g.proxy.handleExpandIconClick()},onCheck:(d,v)=>{var g;if(!e.showCheckbox)return;const b=c("value",d),S={};ao([s.value.store.root],N=>S[N.key]=N,N=>N.childNodes);const w=v.checkedKeys,C=e.multiple?Kl(e.modelValue).filter(N=>!(N in S)&&!w.includes(N)):[],k=C.concat(w);if(e.checkStrictly)m(e.multiple?k:k.includes(b)?b:void 0);else if(e.multiple){const N=p();m(C.concat(N))}else{const N=lo([d],x=>!gr(c("children",x))&&!c("disabled",x),x=>c("children",x)),T=N?c("value",N):void 0,P=gs(e.modelValue)&&!!lo([d],x=>c("value",x)===e.modelValue,x=>c("children",x));m(T===e.modelValue||P?void 0:T)}Ee(()=>{var N;const T=Kl(e.modelValue);s.value.setCheckedKeys(T),(N=t.onCheck)==null||N.call(t,d,{checkedKeys:s.value.getCheckedKeys(),checkedNodes:s.value.getCheckedNodes(),halfCheckedKeys:s.value.getHalfCheckedKeys(),halfCheckedNodes:s.value.getHalfCheckedNodes()})}),(g=a.value)==null||g.focus()},onNodeExpand:(d,v,g)=>{var b;(b=t.onNodeExpand)==null||b.call(t,d,v,g),Ee(()=>{if(!e.checkStrictly&&e.lazy&&e.multiple&&v.checked){const S={},w=s.value.getCheckedKeys();ao([s.value.store.root],N=>S[N.key]=N,N=>N.childNodes);const C=Kl(e.modelValue).filter(N=>!(N in S)&&!w.includes(N)),k=p();m(C.concat(k))}})},cacheOptions:f}};var VS=ie({props:{data:{type:Array,default:()=>[]}},setup(e){const t=be(xa);return le(()=>e.data,()=>{var n;e.data.forEach(a=>{t.states.cachedOptions.has(a.value)||t.states.cachedOptions.set(a.value,a)});const l=((n=t.selectRef)==null?void 0:n.querySelectorAll("input"))||[];st&&!Array.from(l).includes(document.activeElement)&&t.setSelected()},{flush:"post",immediate:!0}),()=>{}}}),zS=ie({name:"ElTreeSelect",inheritAttrs:!1,props:{...Ju,...Ed,cacheData:{type:Array,default:()=>[]}},setup(e,t){const{slots:n,expose:l,emit:a,attrs:s}=t,i={...s,onChange:void 0},r=I(),c=I(),u=y(()=>e.nodeKey||e.valueKey||"value"),f=LS(e,{attrs:s,emit:a},{select:r,tree:c,key:u}),{cacheOptions:p,...h}=FS(e,{attrs:i,slots:n,emit:a},{select:r,tree:c,key:u}),m=kt({});return l(m),Ze(()=>{Object.assign(m,{...hl(c.value,["filter","updateKeyChildren","getCheckedNodes","setCheckedNodes","getCheckedKeys","setCheckedKeys","setChecked","getHalfCheckedNodes","getHalfCheckedKeys","getCurrentKey","getCurrentNode","setCurrentKey","setCurrentNode","getNode","remove","append","insertBefore","insertAfter"]),...hl(r.value,["focus","blur","selectedLabel"]),treeRef:c.value,selectRef:r.value})}),()=>Ie(Ca,kt({...f,ref:d=>r.value=d}),{...n,default:()=>[Ie(VS,{data:p.value}),Ie($d,kt({...h,ref:d=>c.value=d}))]})}});const m$=Ge(zS);var KS=Object.defineProperty,HS=(e,t,n)=>t in e?KS(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Ya=(e,t,n)=>HS(e,typeof t!="symbol"?t+"":t,n);const WS="ElUpload";class jS extends Error{constructor(t,n,l,a){super(t),Ya(this,"name","UploadAjaxError"),Ya(this,"status"),Ya(this,"method"),Ya(this,"url"),this.status=n,this.method=l,this.url=a}}function Ni(e,t,n){let l;return n.response?l=`${n.response.error||n.response}`:n.responseText?l=`${n.responseText}`:l=`fail to ${t.method} ${e} ${n.status}`,new jS(l,n.status,t.method,e)}function YS(e){const t=e.responseText||e.response;if(!t)return t;try{return JSON.parse(t)}catch{return t}}const US=e=>{typeof XMLHttpRequest>"u"&&qt(WS,"XMLHttpRequest is undefined");const t=new XMLHttpRequest,n=e.action;t.upload&&t.upload.addEventListener("progress",s=>{const i=s;i.percent=s.total>0?s.loaded/s.total*100:0,e.onProgress(i)});const l=new FormData;if(e.data)for(const[s,i]of Object.entries(e.data))Pe(i)?i.length===2&&i[0]instanceof Blob&&He(i[1])?l.append(s,i[0],i[1]):i.forEach(r=>{l.append(s,r)}):l.append(s,i);l.append(e.filename,e.file,e.file.name),t.addEventListener("error",()=>{e.onError(Ni(n,e,t))}),t.addEventListener("load",()=>{if(t.status<200||t.status>=300)return e.onError(Ni(n,e,t));e.onSuccess(YS(t))}),t.open(e.method,n,!0),e.withCredentials&&"withCredentials"in t&&(t.withCredentials=!0);const a=e.headers||{};if(a instanceof Headers)a.forEach((s,i)=>t.setRequestHeader(i,s));else for(const[s,i]of Object.entries(a))Mt(i)||t.setRequestHeader(s,String(i));return t.send(l),t},Nd=["text","picture","picture-card"];let qS=1;const bs=()=>Date.now()+qS++,Td=me({action:{type:String,default:"#"},headers:{type:q(Object)},method:{type:String,default:"post"},data:{type:q([Object,Function,Promise]),default:()=>Yt({})},multiple:Boolean,name:{type:String,default:"file"},drag:Boolean,withCredentials:Boolean,showFileList:{type:Boolean,default:!0},accept:{type:String,default:""},fileList:{type:q(Array),default:()=>Yt([])},autoUpload:{type:Boolean,default:!0},listType:{type:String,values:Nd,default:"text"},httpRequest:{type:q(Function),default:US},disabled:{type:Boolean,default:void 0},limit:Number,directory:Boolean}),GS=me({...Td,beforeUpload:{type:q(Function),default:Tt},beforeRemove:{type:q(Function)},onRemove:{type:q(Function),default:Tt},onChange:{type:q(Function),default:Tt},onPreview:{type:q(Function),default:Tt},onSuccess:{type:q(Function),default:Tt},onProgress:{type:q(Function),default:Tt},onError:{type:q(Function),default:Tt},onExceed:{type:q(Function),default:Tt},crossorigin:{type:q(String)}}),Pd=Symbol("uploadContextKey"),_S=me({files:{type:q(Array),default:()=>Yt([])},disabled:{type:Boolean,default:void 0},handlePreview:{type:q(Function),default:Tt},listType:{type:String,values:Nd,default:"text"},crossorigin:{type:q(String)}}),XS={remove:e=>!!e},JS=["tabindex","aria-disabled","onKeydown"],ZS=["src","crossorigin"],QS=["onClick"],eE=["title"],tE=["onClick"],nE=["onClick"];var Ti=ie({name:"ElUploadList",__name:"upload-list",props:_S,emits:XS,setup(e,{emit:t}){const n=e,l=t,{t:a}=at(),s=ce("upload"),i=ce("icon"),r=ce("list"),c=Dt(),u=I(!1),f=y(()=>[s.b("list"),s.bm("list",n.listType),s.is("disabled",c.value)]),p=h=>{l("remove",h)};return(h,m)=>(E(),Z(Ai,{tag:"ul",class:$(f.value),name:o(r).b()},{default:j(()=>[(E(!0),L(Re,null,rt(e.files,(d,v)=>(E(),L("li",{key:d.uid||d.name,class:$([o(s).be("list","item"),o(s).is(d.status),{focusing:u.value}]),tabindex:o(c)?void 0:0,"aria-disabled":o(c),role:"button",onKeydown:Ot(g=>!o(c)&&p(d),["delete"]),onFocus:m[0]||(m[0]=g=>u.value=!0),onBlur:m[1]||(m[1]=g=>u.value=!1),onClick:m[2]||(m[2]=g=>u.value=!1)},[X(h.$slots,"default",{file:d,index:v},()=>[e.listType==="picture"||d.status!=="uploading"&&e.listType==="picture-card"?(E(),L("img",{key:0,class:$(o(s).be("list","item-thumbnail")),src:d.url,crossorigin:e.crossorigin,alt:""},null,10,ZS)):G("v-if",!0),d.status==="uploading"||e.listType!=="picture-card"?(E(),L("div",{key:1,class:$(o(s).be("list","item-info"))},[H("a",{class:$(o(s).be("list","item-name")),onClick:Ke(g=>e.handlePreview(d),["prevent"])},[U(o(we),{class:$(o(i).m("document"))},{default:j(()=>[U(o(vf))]),_:1},8,["class"]),H("span",{class:$(o(s).be("list","item-file-name")),title:d.name},he(d.name),11,eE)],10,QS),d.status==="uploading"?(E(),Z(o(kw),{key:0,type:e.listType==="picture-card"?"circle":"line","stroke-width":e.listType==="picture-card"?6:2,percentage:Number(d.percentage),style:Fe(e.listType==="picture-card"?"":"margin-top: 0.5rem")},null,8,["type","stroke-width","percentage","style"])):G("v-if",!0)],2)):G("v-if",!0),H("label",{class:$(o(s).be("list","item-status-label"))},[e.listType==="text"?(E(),Z(o(we),{key:0,class:$([o(i).m("upload-success"),o(i).m("circle-check")])},{default:j(()=>[U(o(ks))]),_:1},8,["class"])):["picture-card","picture"].includes(e.listType)?(E(),Z(o(we),{key:1,class:$([o(i).m("upload-success"),o(i).m("check")])},{default:j(()=>[U(o(Na))]),_:1},8,["class"])):G("v-if",!0)],2),o(c)?G("v-if",!0):(E(),Z(o(we),{key:2,class:$(o(i).m("close")),"aria-label":o(a)("el.upload.delete"),role:"button",tabindex:"0",onClick:g=>p(d),onKeydown:Ot(Ke(g=>p(d),["prevent"]),["enter","space"])},{default:j(()=>[U(o(Fn))]),_:1},8,["class","aria-label","onClick","onKeydown"])),o(c)?G("v-if",!0):(E(),L("i",{key:3,class:$(o(i).m("close-tip"))},he(o(a)("el.upload.deleteTip")),3)),e.listType==="picture-card"?(E(),L("span",{key:4,class:$(o(s).be("list","item-actions"))},[H("span",{class:$(o(s).be("list","item-preview")),onClick:g=>e.handlePreview(d)},[U(o(we),{class:$(o(i).m("zoom-in"))},{default:j(()=>[U(o(Gi))]),_:1},8,["class"])],10,tE),o(c)?G("v-if",!0):(E(),L("span",{key:0,class:$(o(s).be("list","item-delete")),onClick:g=>p(d)},[U(o(we),{class:$(o(i).m("delete"))},{default:j(()=>[U(o(pf))]),_:1},8,["class"])],10,nE))],2)):G("v-if",!0)])],42,JS))),128)),X(h.$slots,"append")]),_:3},8,["class","name"]))}});const lE=me({...Td,beforeUpload:{type:q(Function),default:Tt},onRemove:{type:q(Function),default:Tt},onStart:{type:q(Function),default:Tt},onSuccess:{type:q(Function),default:Tt},onProgress:{type:q(Function),default:Tt},onError:{type:q(Function),default:Tt},onExceed:{type:q(Function),default:Tt}}),aE=me({disabled:{type:Boolean,default:void 0},directory:Boolean}),oE={file:e=>Pe(e)},Pi="ElUploadDrag";var sE=ie({name:Pi,__name:"upload-dragger",props:aE,emits:oE,setup(e,{emit:t}){const n=e,l=t;be(Pd)||qt(Pi,"usage: ");const s=ce("upload"),i=I(!1),r=Dt(),c=m=>new Promise((d,v)=>m.file(d,v)),u=async m=>{try{if(m.isFile){const d=await c(m);return d.isDirectory=!1,[d]}if(m.isDirectory){const d=m.createReader(),v=()=>new Promise((C,k)=>d.readEntries(C,k)),g=[];let b=await v();for(;b.length>0;)g.push(...b),b=await v();const S=g.map(C=>u(C).catch(()=>[])),w=await Promise.all(S);return es(w)}}catch{return[]}return[]},f=async m=>{if(r.value)return;i.value=!1,m.stopPropagation();const d=Array.from(m.dataTransfer.files),v=m.dataTransfer.items||[];if(n.directory){const g=Array.from(v).map(S=>{var w;return(w=S==null?void 0:S.webkitGetAsEntry)==null?void 0:w.call(S)}).filter(S=>S),b=await Promise.all(g.map(u));l("file",es(b));return}d.forEach((g,b)=>{var S;const w=v[b],C=(S=w==null?void 0:w.webkitGetAsEntry)==null?void 0:S.call(w);C&&(g.isDirectory=C.isDirectory)}),l("file",d)},p=()=>{r.value||(i.value=!0)},h=m=>{m.currentTarget.contains(m.relatedTarget)||(i.value=!1)};return(m,d)=>(E(),L("div",{class:$([o(s).b("dragger"),o(s).is("dragover",i.value)]),onDrop:Ke(f,["prevent"]),onDragover:Ke(p,["prevent"]),onDragleave:Ke(h,["prevent"])},[X(m.$slots,"default")],34))}});const rE=["tabindex","aria-disabled","onKeydown"],iE=["name","disabled","multiple","accept","webkitdirectory"];var Ii=ie({name:"ElUploadContent",inheritAttrs:!1,__name:"upload-content",props:lE,setup(e,{expose:t}){const n=e,l=ce("upload"),a=Dt(),s=ln({}),i=ln(),r=v=>{if(v.length===0)return;const{autoUpload:g,limit:b,fileList:S,multiple:w,onStart:C,onExceed:k}=n;if(b&&S.length+v.length>b){k(v,S);return}w||(v=v.slice(0,1));for(const N of v){const T=N;T.uid=bs(),C(T),g&&c(T)}},c=async v=>{if(i.value.value="",!n.beforeUpload)return f(v);let g,b={};try{const w=n.data,C=n.beforeUpload(v);b=Jo(n.data)?Xn(n.data):n.data,g=await C,Jo(n.data)&&Rt(w,b)&&(b=Xn(n.data))}catch{g=!1}if(g===!1){n.onRemove(v);return}let S=v;g instanceof Blob&&(g instanceof File?S=g:S=new File([g],v.name,{type:v.type})),f(Object.assign(S,{uid:v.uid}),b)},u=async(v,g)=>Qe(v)?v(g):v,f=async(v,g)=>{const{headers:b,data:S,method:w,withCredentials:C,name:k,action:N,onProgress:T,onSuccess:P,onError:x,httpRequest:D}=n;try{g=await u(g??S,v)}catch{n.onRemove(v);return}const{uid:W}=v,A={headers:b||{},withCredentials:C,file:v,data:g,method:w,filename:k,action:N,onProgress:_=>{T(_,v)},onSuccess:_=>{P(_,v),delete s.value[W]},onError:_=>{x(_,v),delete s.value[W]}},V=D(A);s.value[W]=V,V instanceof Promise&&V.then(A.onSuccess,A.onError)},p=v=>{const g=v.target.files;g&&r(Array.from(g))},h=()=>{a.value||(i.value.value="",i.value.click())},m=()=>{h()};return t({abort:v=>{uv(s.value).filter(v?([b])=>String(v.uid)===b:()=>!0).forEach(([b,S])=>{S instanceof XMLHttpRequest&&S.abort(),delete s.value[b]})},upload:c}),(v,g)=>(E(),L("div",{class:$([o(l).b(),o(l).m(e.listType),o(l).is("drag",e.drag),o(l).is("disabled",o(a))]),tabindex:o(a)?void 0:0,"aria-disabled":o(a),role:"button",onClick:h,onKeydown:Ot(Ke(m,["self"]),["enter","space"])},[e.drag?(E(),Z(sE,{key:0,disabled:o(a),directory:e.directory,onFile:r},{default:j(()=>[X(v.$slots,"default")]),_:3},8,["disabled","directory"])):X(v.$slots,"default",{key:1}),H("input",{ref_key:"inputRef",ref:i,class:$(o(l).e("input")),name:e.name,disabled:o(a),multiple:e.multiple,accept:e.accept,webkitdirectory:e.directory||void 0,type:"file",onChange:p,onClick:g[0]||(g[0]=Ke(()=>{},["stop"]))},null,42,iE)],42,rE))}});const xi="ElUpload",Oi=e=>{var t;(t=e.url)!=null&&t.startsWith("blob:")&&URL.revokeObjectURL(e.url)},uE=(e,t)=>{const n=nv(e,"fileList",void 0,{passive:!0}),l=d=>n.value.find(v=>v.uid===d.uid);function a(d){var v;(v=t.value)==null||v.abort(d)}function s(d=["ready","uploading","success","fail"]){n.value=n.value.filter(v=>!d.includes(v.status))}function i(d){n.value=n.value.filter(v=>v.uid!==d.uid)}const r=d=>{Ee(()=>e.onChange(d,n.value))},c=(d,v)=>{const g=l(v);g&&(console.error(d),g.status="fail",i(g),e.onError(d,g,n.value),r(g))},u=(d,v)=>{const g=l(v);g&&(e.onProgress(d,g,n.value),g.status="uploading",g.percentage=Math.round(d.percent))},f=(d,v)=>{const g=l(v);g&&(g.status="success",g.response=d,e.onSuccess(d,g,n.value),r(g))},p=d=>{Mt(d.uid)&&(d.uid=bs());const v={name:d.name,percentage:0,status:"ready",size:d.size,raw:d,uid:d.uid};if(e.listType==="picture-card"||e.listType==="picture")try{v.url=URL.createObjectURL(d)}catch(g){g.message,e.onError(g,v,n.value)}n.value=[...n.value,v],r(v)},h=async d=>{const v=d instanceof File?l(d):d;v||qt(xi,"file to be removed not found");const g=b=>{a(b),i(b),e.onRemove(b,n.value),Oi(b)};e.beforeRemove?await e.beforeRemove(v,n.value)!==!1&&g(v):g(v)};function m(){n.value.filter(({status:d})=>d==="ready").forEach(({raw:d})=>{var v;return d&&((v=t.value)==null?void 0:v.upload(d))})}return le(()=>e.listType,d=>{d!=="picture-card"&&d!=="picture"||(n.value=n.value.map(v=>{const{raw:g,url:b}=v;if(!b&&g)try{v.url=URL.createObjectURL(g)}catch(S){e.onError(S,v,n.value)}return v}))}),le(n,d=>{for(const v of d)v.uid||(v.uid=bs()),v.status||(v.status="success")},{immediate:!0,deep:!0}),{uploadFiles:n,abort:a,clearFiles:s,handleError:c,handleProgress:u,handleStart:p,handleSuccess:f,handleRemove:h,submit:m,revokeFileObjectURL:Oi}};var cE=ie({name:"ElUpload",__name:"upload",props:GS,setup(e,{expose:t}){const n=e,l=Dt(),a=ln(),{abort:s,submit:i,clearFiles:r,uploadFiles:c,handleStart:u,handleError:f,handleRemove:p,handleSuccess:h,handleProgress:m,revokeFileObjectURL:d}=uE(n,a),v=y(()=>n.listType==="picture-card"),g=y(()=>({...n,fileList:c.value,onStart:u,onProgress:m,onSuccess:h,onError:f,onRemove:p}));return Et(()=>{c.value.forEach(d)}),et(Pd,{accept:Nt(n,"accept")}),t({abort:s,submit:i,clearFiles:r,handleStart:u,handleRemove:p}),(b,S)=>(E(),L("div",null,[v.value&&e.showFileList?(E(),Z(Ti,{key:0,disabled:o(l),"list-type":e.listType,files:o(c),crossorigin:e.crossorigin,"handle-preview":e.onPreview,onRemove:o(p)},Qn({append:j(()=>[U(Ii,ct({ref_key:"uploadRef",ref:a},g.value),{default:j(()=>[b.$slots.trigger?X(b.$slots,"trigger",{key:0}):G("v-if",!0),!b.$slots.trigger&&b.$slots.default?X(b.$slots,"default",{key:1}):G("v-if",!0)]),_:3},16)]),_:2},[b.$slots.file?{name:"default",fn:j(({file:w,index:C})=>[X(b.$slots,"file",{file:w,index:C})]),key:"0"}:void 0]),1032,["disabled","list-type","files","crossorigin","handle-preview","onRemove"])):G("v-if",!0),!v.value||v.value&&!e.showFileList?(E(),Z(Ii,ct({key:1,ref_key:"uploadRef",ref:a},g.value),{default:j(()=>[b.$slots.trigger?X(b.$slots,"trigger",{key:0}):G("v-if",!0),!b.$slots.trigger&&b.$slots.default?X(b.$slots,"default",{key:1}):G("v-if",!0)]),_:3},16)):G("v-if",!0),b.$slots.trigger?X(b.$slots,"default",{key:2}):G("v-if",!0),X(b.$slots,"tip"),!v.value&&e.showFileList?(E(),Z(Ti,{key:3,disabled:o(l),"list-type":e.listType,files:o(c),crossorigin:e.crossorigin,"handle-preview":e.onPreview,onRemove:o(p)},Qn({_:2},[b.$slots.file?{name:"default",fn:j(({file:w,index:C})=>[X(b.$slots,"file",{file:w,index:C})]),key:"0"}:void 0]),1032,["disabled","list-type","files","crossorigin","handle-preview","onRemove"])):G("v-if",!0)]))}});const h$=Ge(cE),Id={label:"label",value:"value",disabled:"disabled"},dE=me({direction:{type:q(String),default:"horizontal"},options:{type:q(Array),default:()=>[]},modelValue:{type:[String,Number,Boolean],default:void 0},props:{type:q(Object),default:()=>Id},block:Boolean,size:an,disabled:{type:Boolean,default:void 0},validateEvent:{type:Boolean,default:!0},id:String,name:String,...Dn(["ariaLabel"])}),fE={[Ye]:e=>He(e)||Ae(e)||yt(e),[dt]:e=>He(e)||Ae(e)||yt(e)},vE=["id","aria-label","aria-labelledby"],pE=["name","disabled","checked","onChange"];var mE=ie({name:"ElSegmented",__name:"segmented",props:dE,emits:fE,setup(e,{emit:t}){const n=e,l=t,a=ce("segmented"),s=fn(),i=Gt(),r=Dt(),{formItem:c}=yn(),{inputId:u,isLabeledByFormItem:f}=ll(n,{formItemContext:c}),p=I(null),h=Xf(),m=kt({isInit:!1,width:0,height:0,translateX:0,translateY:0,focusVisible:!1}),d=(A,V)=>{const _=b(V);l(Ye,_),l(dt,_),A.target.checked=_===n.modelValue},v=y(()=>({...Id,...n.props})),g=A=>A,b=A=>gt(A)?A[v.value.value]:A,S=A=>gt(A)?A[v.value.label]:A,w=A=>!!(r.value||gt(A)&&A[v.value.disabled]),C=A=>n.modelValue===b(A),k=A=>n.options.find(V=>b(V)===A),N=A=>[a.e("item"),a.is("selected",C(A)),a.is("disabled",w(A))],T=()=>{if(!p.value)return;const A=p.value.querySelector(".is-selected"),V=p.value.querySelector(".is-selected input");if(!A||!V){m.width=0,m.height=0,m.translateX=0,m.translateY=0,m.focusVisible=!1;return}m.isInit=!0,n.direction==="vertical"?(m.height=A.offsetHeight,m.translateY=A.offsetTop):(m.width=A.offsetWidth,m.translateX=A.offsetLeft);try{m.focusVisible=V.matches(":focus-visible")}catch{}},P=y(()=>[a.b(),a.m(i.value),a.is("block",n.block)]),x=y(()=>({width:n.direction==="vertical"?"100%":`${m.width}px`,height:n.direction==="vertical"?`${m.height}px`:"100%",transform:n.direction==="vertical"?`translateY(${m.translateY}px)`:`translateX(${m.translateX}px)`,display:m.isInit?"block":"none"})),D=y(()=>[a.e("item-selected"),a.is("disabled",w(k(n.modelValue))),a.is("focus-visible",m.focusVisible)]),W=y(()=>n.name||s.value);return Vt(p,T),le(h,T),le(()=>n.modelValue,()=>{var A;T(),n.validateEvent&&((A=c==null?void 0:c.validate)==null||A.call(c,"change").catch(V=>void 0))},{flush:"post"}),(A,V)=>e.options.length?(E(),L("div",{key:0,id:o(u),ref_key:"segmentedRef",ref:p,class:$(P.value),role:"radiogroup","aria-label":o(f)?void 0:e.ariaLabel||"segmented","aria-labelledby":o(f)?o(c).labelId:void 0},[H("div",{class:$([o(a).e("group"),o(a).m(e.direction)])},[H("div",{style:Fe(x.value),class:$(D.value)},null,6),(E(!0),L(Re,null,rt(e.options,(_,oe)=>(E(),L("label",{key:oe,class:$(N(_))},[H("input",{class:$(o(a).e("item-input")),type:"radio",name:W.value,disabled:w(_),checked:C(_),onChange:ve=>d(ve,_)},null,42,pE),H("div",{class:$(o(a).e("item-label"))},[X(A.$slots,"default",{item:g(_)},()=>[ut(he(S(_)),1)])],2)],2))),128))],2)],10,vE)):G("v-if",!0)}});const g$=Ge(mE);function hE(e,t){let n;const l=I(!1),a=kt({...e,originalPosition:"",originalOverflow:"",visible:!1});function s(m){a.text=m}function i(){const m=a.parent,d=h.ns;if(!m.vLoadingAddClassList){let v=m.getAttribute("loading-number");v=Number.parseInt(v)-1,v?m.setAttribute("loading-number",v.toString()):(dn(m,d.bm("parent","relative")),m.removeAttribute("loading-number")),dn(m,d.bm("parent","hidden"))}r(),p.unmount()}function r(){var m,d;(d=(m=h.$el)==null?void 0:m.parentNode)==null||d.removeChild(h.$el)}function c(){var m;e.beforeClose&&!e.beforeClose()||(l.value=!0,clearTimeout(n),n=setTimeout(u,400),a.visible=!1,(m=e.closed)==null||m.call(e))}function u(){if(!l.value)return;const m=a.parent;l.value=!1,m.vLoadingAddClassList=void 0,i()}const f=ie({name:"ElLoading",setup(m,{expose:d}){const{ns:v,zIndex:g}=To("loading");return d({ns:v,zIndex:g}),()=>{const b=a.spinner||a.svg,S=Ie("svg",{class:"circular",viewBox:a.svgViewBox?a.svgViewBox:"0 0 50 50",...b?{innerHTML:b}:{}},[Ie("circle",{class:"path",cx:"25",cy:"25",r:"20",fill:"none"})]),w=a.text?Ie("p",{class:v.b("text")},[a.text]):void 0;return Ie(bn,{name:v.b("fade"),onAfterLeave:u},{default:j(()=>[Ue(U("div",{style:{backgroundColor:a.background||""},class:[v.b("mask"),a.customClass,v.is("fullscreen",a.fullscreen)]},[Ie("div",{class:v.b("spinner")},[S,w])]),[[ht,a.visible]])])})}}}),p=Hd(f);Object.assign(p._context,t??{});const h=p.mount(document.createElement("div"));return{...Mn(a),setText:s,removeElLoadingChild:r,close:c,handleAfterLeave:u,vm:h,get $el(){return h.$el}}}let Ua;const ql=function(e={},t){if(!st)return;const n=gE(e);if(n.fullscreen&&Ua)return Ua;const l=hE({...n,closed:()=>{var s;(s=n.closed)==null||s.call(n),n.fullscreen&&(Ua=void 0)}},t??ql._context);bE(n,n.parent,l),Ri(n,n.parent,l),n.parent.vLoadingAddClassList=()=>Ri(n,n.parent,l);let a=n.parent.getAttribute("loading-number");return a?a=`${Number.parseInt(a)+1}`:a="1",n.parent.setAttribute("loading-number",a),n.parent.appendChild(l.$el),Ee(()=>l.visible.value=n.visible),n.fullscreen&&(Ua=l),l},gE=e=>{var t,n,l,a;let s;return He(e.target)?s=(t=document.querySelector(e.target))!=null?t:document.body:s=e.target||document.body,{parent:s===document.body||e.body?document.body:s,background:e.background||"",svg:e.svg||"",svgViewBox:e.svgViewBox||"",spinner:e.spinner||!1,text:e.text||"",fullscreen:s===document.body&&((n=e.fullscreen)!=null?n:!0),lock:(l=e.lock)!=null?l:!1,customClass:e.customClass||"",visible:(a=e.visible)!=null?a:!0,beforeClose:e.beforeClose,closed:e.closed,target:s}},bE=async(e,t,n)=>{const{nextZIndex:l}=n.vm.zIndex||n.vm._.exposed.zIndex,a={};if(e.fullscreen)n.originalPosition.value=il(document.body,"position"),n.originalOverflow.value=il(document.body,"overflow"),a.zIndex=l();else if(e.parent===document.body){n.originalPosition.value=il(document.body,"position"),await Ee();for(const s of["top","left"]){const i=s==="top"?"scrollTop":"scrollLeft";a[s]=`${e.target.getBoundingClientRect()[s]+document.body[i]+document.documentElement[i]-Number.parseInt(il(document.body,`margin-${s}`),10)}px`}for(const s of["height","width"])a[s]=`${e.target.getBoundingClientRect()[s]}px`}else n.originalPosition.value=il(t,"position");for(const[s,i]of Object.entries(a))n.$el.style[s]=i},Ri=(e,t,n)=>{const l=n.vm.ns||n.vm._.exposed.ns;["absolute","fixed","sticky"].includes(n.originalPosition.value)?dn(t,l.bm("parent","relative")):Bn(t,l.bm("parent","relative")),e.fullscreen&&e.lock?Bn(t,l.bm("parent","hidden")):dn(t,l.bm("parent","hidden"))};ql._context=null;const fa=Symbol("ElLoading"),Nl=e=>`element-loading-${Xd(e)}`,Mi=(e,t)=>{var n,l,a,s;const i=t.instance,r=m=>gt(t.value)?t.value[m]:void 0,c=m=>{const d=He(m)&&(i==null?void 0:i[m])||m;return I(d)},u=m=>c(r(m)||e.getAttribute(Nl(m))),f=(n=r("fullscreen"))!=null?n:t.modifiers.fullscreen,p={text:u("text"),svg:u("svg"),svgViewBox:u("svgViewBox"),spinner:u("spinner"),background:u("background"),customClass:u("customClass"),fullscreen:f,target:(l=r("target"))!=null?l:f?void 0:e,body:(a=r("body"))!=null?a:t.modifiers.body,lock:(s=r("lock"))!=null?s:t.modifiers.lock},h=ql(p);h._context=ma._context,e[fa]={options:p,instance:h}},yE=(e,t)=>{for(const n of Object.keys(e))Ln(e[n])&&(e[n].value=t[n])},ma={mounted(e,t){t.value&&Mi(e,t)},updated(e,t){const n=e[fa];if(!t.value){n==null||n.instance.close(),e[fa]=null;return}n?yE(n.options,gt(t.value)?t.value:{text:e.getAttribute(Nl("text")),svg:e.getAttribute(Nl("svg")),svgViewBox:e.getAttribute(Nl("svgViewBox")),spinner:e.getAttribute(Nl("spinner")),background:e.getAttribute(Nl("background")),customClass:e.getAttribute(Nl("customClass"))}):Mi(e,t)},unmounted(e){var t;(t=e[fa])==null||t.instance.close(),e[fa]=null}};ma._context=null;const b$={install(e){ql._context=e._context,ma._context=e._context,e.directive("loading",ma),e.config.globalProperties.$loading=ql},directive:ma,service:ql},xd=["primary","success","info","warning","error"],Od=["top","top-left","top-right","bottom","bottom-left","bottom-right"],Ea="top",sn=Yt({customClass:"",dangerouslyUseHTMLString:!1,duration:3e3,icon:void 0,id:"",message:"",onClose:void 0,showClose:!1,type:"info",plain:!1,offset:16,placement:void 0,zIndex:0,grouping:!1,repeatNum:1,appendTo:st?document.body:void 0}),CE=me({customClass:{type:String,default:sn.customClass},dangerouslyUseHTMLString:{type:Boolean,default:sn.dangerouslyUseHTMLString},duration:{type:Number,default:sn.duration},icon:{type:Ct,default:sn.icon},id:{type:String,default:sn.id},message:{type:q([String,Object,Function]),default:sn.message},onClose:{type:q(Function),default:sn.onClose},showClose:{type:Boolean,default:sn.showClose},type:{type:String,values:xd,default:sn.type},plain:{type:Boolean,default:sn.plain},offset:{type:Number,default:sn.offset},placement:{type:String,values:Od,default:sn.placement},zIndex:{type:Number,default:sn.zIndex},grouping:{type:Boolean,default:sn.grouping},repeatNum:{type:Number,default:sn.repeatNum}}),wE={destroy:()=>!0},Kn=ji({}),kE=e=>(Kn[e]||(Kn[e]=ji([])),Kn[e]),SE=(e,t)=>{const n=Kn[t]||[],l=n.findIndex(i=>i.id===e),a=n[l];let s;return l>0&&(s=n[l-1]),{current:a,prev:s}},EE=(e,t)=>{const{prev:n}=SE(e,t);return n?n.vm.exposed.bottom.value:0},$E=(e,t,n)=>(Kn[n]||[]).findIndex(s=>s.id===e)>0?16:t,NE=["id"],TE=["innerHTML"];var PE=ie({name:"ElMessage",__name:"message",props:CE,emits:wE,setup(e,{expose:t,emit:n}){const{Close:l}=xs,a=e,s=n,i=I(!1),{ns:r,zIndex:c}=To("message"),{currentZIndex:u,nextZIndex:f}=c,p=I(),h=I(!1),m=I(0);let d;const v=y(()=>a.type?a.type==="error"?"danger":a.type:"info"),g=y(()=>{const V=a.type;return{[r.bm("icon",V)]:V&&gl[V]}}),b=y(()=>a.icon||gl[a.type]||""),S=y(()=>a.placement||Ea),w=y(()=>EE(a.id,S.value)),C=y(()=>$E(a.id,a.offset,S.value)+w.value),k=y(()=>m.value+C.value),N=y(()=>S.value.includes("left")?r.is("left"):S.value.includes("right")?r.is("right"):r.is("center")),T=y(()=>S.value.startsWith("top")?"top":"bottom"),P=y(()=>({[T.value]:`${C.value}px`,zIndex:u.value}));function x(){a.duration!==0&&({stop:d}=Zl(()=>{W()},a.duration))}function D(){d==null||d()}function W(){h.value=!1,Ee(()=>{var V;i.value||((V=a.onClose)==null||V.call(a),s("destroy"))})}function A(V){St(V)===de.esc&&W()}return Ze(()=>{x(),f(),h.value=!0}),le(()=>a.repeatNum,()=>{D(),x()}),$t(document,"keydown",A),Vt(p,()=>{m.value=p.value.getBoundingClientRect().height}),t({visible:h,bottom:k,close:W}),(V,_)=>(E(),Z(bn,{name:o(r).b("fade"),onBeforeEnter:_[0]||(_[0]=oe=>i.value=!0),onBeforeLeave:e.onClose,onAfterLeave:_[1]||(_[1]=oe=>V.$emit("destroy")),persisted:""},{default:j(()=>[Ue(H("div",{id:e.id,ref_key:"messageRef",ref:p,class:$([o(r).b(),{[o(r).m(e.type)]:e.type},o(r).is("closable",e.showClose),o(r).is("plain",e.plain),o(r).is("bottom",T.value==="bottom"),N.value,e.customClass]),style:Fe(P.value),role:"alert",onMouseenter:D,onMouseleave:x},[e.repeatNum>1?(E(),Z(o(rm),{key:0,value:e.repeatNum,type:v.value,class:$(o(r).e("badge"))},null,8,["value","type","class"])):G("v-if",!0),b.value?(E(),Z(o(we),{key:1,class:$([o(r).e("icon"),g.value])},{default:j(()=>[(E(),Z(_e(b.value)))]),_:1},8,["class"])):G("v-if",!0),X(V.$slots,"default",{},()=>[e.dangerouslyUseHTMLString?(E(),L(Re,{key:1},[G(" Caution here, message could've been compromised, never use user's input as message "),H("p",{class:$(o(r).e("content")),innerHTML:e.message},null,10,TE)],2112)):(E(),L("p",{key:0,class:$(o(r).e("content"))},he(e.message),3))]),e.showClose?(E(),Z(o(we),{key:2,class:$(o(r).e("closeBtn")),onClick:Ke(W,["stop"])},{default:j(()=>[U(o(l))]),_:1},8,["class"])):G("v-if",!0)],46,NE),[[ht,h.value]])]),_:3},8,["name","onBeforeLeave"]))}});let IE=1;const xE=e=>{if(!e.appendTo)e.appendTo=document.body;else if(He(e.appendTo)){let n=document.querySelector(e.appendTo);$n(n)||(n=document.body),e.appendTo=n}},OE=e=>{!e.placement&&He(un.placement)&&un.placement&&(e.placement=un.placement),e.placement||(e.placement=Ea),Od.includes(e.placement)||(e.placement=Ea)},Rd=e=>{const t=!e||He(e)||jt(e)||Qe(e)?{message:e}:e,n={...sn,...t};return xE(n),OE(n),yt(un.grouping)&&!n.grouping&&(n.grouping=un.grouping),Ae(un.duration)&&n.duration===3e3&&(n.duration=un.duration),Ae(un.offset)&&n.offset===16&&(n.offset=un.offset),yt(un.showClose)&&!n.showClose&&(n.showClose=un.showClose),yt(un.plain)&&!n.plain&&(n.plain=un.plain),n},RE=e=>{const t=e.props.placement||Ea,n=Kn[t],l=n.indexOf(e);if(l===-1)return;n.splice(l,1);const{handler:a}=e;a.close()},ME=({appendTo:e,...t},n)=>{const l=`message_${IE++}`,a=t.onClose,s=document.createElement("div"),i={...t,id:l,onClose:()=>{a==null||a(),RE(f)},onDestroy:()=>{vl(null,s)}},r=U(PE,i,Qe(i.message)||jt(i.message)?{default:Qe(i.message)?i.message:()=>i.message}:null);r.appContext=n||Ml._context,vl(r,s),e.appendChild(s.firstElementChild);const c=r.component,f={id:l,vnode:r,vm:c,handler:{close:()=>{c.exposed.close()}},props:r.component.props};return f},Ml=(e={},t)=>{if(!st)return{close:()=>{}};const n=Rd(e),l=kE(n.placement||Ea);if(n.grouping&&l.length){const s=l.find(({vnode:i})=>{var r;return((r=i.props)==null?void 0:r.message)===n.message});if(s)return s.props.repeatNum+=1,s.props.type=n.type,s.handler}if(Ae(un.max)&&l.length>=un.max)return{close:()=>{}};const a=ME(n,t);return l.push(a),a.handler};xd.forEach(e=>{Ml[e]=(t={},n)=>{const l=Rd(t);return Ml({...l,type:e},n)}});function DE(e){for(const t in Kn)if(Ut(Kn,t)){const n=[...Kn[t]];for(const l of n)(!e||e===l.props.type)&&l.handler.close()}}function BE(e){if(!Kn[e])return;[...Kn[e]].forEach(n=>n.handler.close())}Ml.closeAll=DE;Ml.closeAllByPlacement=BE;Ml._context=null;const y$=mu(Ml,"$message"),ys="_trap-focus-children",Tl=[],Di=e=>{if(Tl.length===0)return;const t=St(e),n=Tl[Tl.length-1][ys];if(n.length>0&&t===de.tab){if(n.length===1){e.preventDefault(),document.activeElement!==n[0]&&n[0].focus();return}const l=e.shiftKey,a=e.target===n[0],s=e.target===n[n.length-1];a&&l&&(e.preventDefault(),n[n.length-1].focus()),s&&!l&&(e.preventDefault(),n[0].focus())}},LE={beforeMount(e){e[ys]=Tr(e),Tl.push(e),Tl.length<=1&&document.addEventListener("keydown",Di)},updated(e){Ee(()=>{e[ys]=Tr(e)})},unmounted(){Tl.shift(),Tl.length===0&&document.removeEventListener("keydown",Di)}};var AE=ie({name:"ElMessageBox",directives:{TrapFocus:LE},components:{ElButton:tl,ElFocusTrap:Ia,ElInput:xn,ElOverlay:lr,ElIcon:we,...xs},inheritAttrs:!1,props:{buttonSize:{type:String,validator:ld},modal:{type:Boolean,default:!0},lockScroll:{type:Boolean,default:!0},showClose:{type:Boolean,default:!0},closeOnClickModal:{type:Boolean,default:!0},closeOnPressEscape:{type:Boolean,default:!0},closeOnHashChange:{type:Boolean,default:!0},center:Boolean,draggable:Boolean,overflow:Boolean,roundButton:Boolean,container:{type:String,default:"body"},boxType:{type:String,default:""}},emits:["vanish","action"],setup(e,{emit:t}){const{locale:n,zIndex:l,ns:a,size:s}=To("message-box",y(()=>e.buttonSize)),{t:i}=n,{nextZIndex:r}=l,c=I(!1),u=kt({autofocus:!0,beforeClose:null,callback:null,cancelButtonText:"",cancelButtonClass:"",confirmButtonText:"",confirmButtonClass:"",cancelButtonType:"",confirmButtonType:"primary",customClass:"",customStyle:{},dangerouslyUseHTMLString:!1,distinguishCancelAndClose:!1,icon:"",closeIcon:"",inputPattern:null,inputPlaceholder:"",inputType:"text",inputValue:"",inputValidator:void 0,inputErrorMessage:"",message:"",modalFade:!0,modalClass:"",showCancelButton:!1,showConfirmButton:!0,type:"",title:void 0,showInput:!1,action:"",confirmButtonLoading:!1,cancelButtonLoading:!1,confirmButtonLoadingIcon:Gl(qn),cancelButtonLoadingIcon:Gl(qn),confirmButtonDisabled:!1,editorErrorMessage:"",validateError:!1,zIndex:r()}),f=y(()=>{const O=u.type;return{[a.bm("icon",O)]:O&&gl[O]}}),p=fn(),h=fn(),m=y(()=>{const O=u.type;return u.icon||O&&gl[O]||""}),d=y(()=>!!u.message),v=I(),g=I(),b=I(),S=I(),w=I(),C=y(()=>u.confirmButtonClass);le(()=>u.inputValue,async O=>{await Ee(),e.boxType==="prompt"&&O&&V()},{immediate:!0}),le(()=>c.value,O=>{var R,B;O&&(e.boxType!=="prompt"&&(u.autofocus?b.value=(B=(R=w.value)==null?void 0:R.$el)!=null?B:v.value:b.value=v.value),u.zIndex=r()),e.boxType==="prompt"&&(O?Ee().then(()=>{var M;S.value&&S.value.$el&&(u.autofocus?b.value=(M=_())!=null?M:v.value:b.value=v.value)}):(u.editorErrorMessage="",u.validateError=!1))});const k=y(()=>e.draggable),N=y(()=>e.overflow),{isDragging:T}=Vc(v,g,k,N);Ze(async()=>{await Ee(),e.closeOnHashChange&&window.addEventListener("hashchange",P)}),Et(()=>{e.closeOnHashChange&&window.removeEventListener("hashchange",P)});function P(){c.value&&(c.value=!1,Ee(()=>{u.action&&t("action",u.action)}))}const x=()=>{e.closeOnClickModal&&A(u.distinguishCancelAndClose?"close":"cancel")},D=nr(x),W=O=>{var R;if(u.inputType!=="textarea"&&!((R=S.value)!=null&&R.isComposing))return O.preventDefault(),A("confirm")},A=O=>{var R;e.boxType==="prompt"&&O==="confirm"&&!V()||(u.action=O,u.beforeClose?(R=u.beforeClose)==null||R.call(u,O,u,P):P())},V=()=>{if(e.boxType==="prompt"){const O=u.inputPattern;if(O&&!O.test(u.inputValue||""))return u.editorErrorMessage=u.inputErrorMessage||i("el.messagebox.error"),u.validateError=!0,!1;const R=u.inputValidator;if(Qe(R)){const B=R(u.inputValue);if(B===!1)return u.editorErrorMessage=u.inputErrorMessage||i("el.messagebox.error"),u.validateError=!0,!1;if(He(B))return u.editorErrorMessage=B,u.validateError=!0,!1}}return u.editorErrorMessage="",u.validateError=!1,!0},_=()=>{var O,R;const B=(O=S.value)==null?void 0:O.$refs;return(R=B==null?void 0:B.input)!=null?R:B==null?void 0:B.textarea},oe=()=>{A("close")},ve=()=>{e.closeOnPressEscape&&oe()};return e.lockScroll&&or(c,{ns:a}),{...Mn(u),ns:a,overlayEvent:D,visible:c,hasMessage:d,typeClass:f,contentId:p,inputId:h,btnSize:s,iconComponent:m,confirmButtonClasses:C,rootRef:v,focusStartRef:b,headerRef:g,inputRef:S,isDragging:T,confirmRef:w,doClose:P,handleClose:oe,onCloseRequested:ve,handleWrapperClick:x,handleInputEnter:W,handleAction:A,t:i}}});const FE=["aria-label","aria-describedby"],VE=["aria-label"],zE=["id"];function KE(e,t,n,l,a,s){const i=ot("el-icon"),r=ot("el-input"),c=ot("el-button"),u=ot("el-focus-trap"),f=ot("el-overlay");return E(),Z(bn,{name:"fade-in-linear",onAfterLeave:t[11]||(t[11]=p=>e.$emit("vanish")),persisted:""},{default:j(()=>[Ue(U(f,{"z-index":e.zIndex,"overlay-class":[e.ns.is("message-box"),e.modalClass],mask:e.modal},{default:j(()=>[H("div",{role:"dialog","aria-label":e.title,"aria-modal":"true","aria-describedby":e.showInput?void 0:e.contentId,class:$(`${e.ns.namespace.value}-overlay-message-box`),onClick:t[8]||(t[8]=(...p)=>e.overlayEvent.onClick&&e.overlayEvent.onClick(...p)),onMousedown:t[9]||(t[9]=(...p)=>e.overlayEvent.onMousedown&&e.overlayEvent.onMousedown(...p)),onMouseup:t[10]||(t[10]=(...p)=>e.overlayEvent.onMouseup&&e.overlayEvent.onMouseup(...p))},[U(u,{loop:"",trapped:e.visible,"focus-trap-el":e.rootRef,"focus-start-el":e.focusStartRef,onReleaseRequested:e.onCloseRequested},{default:j(()=>[H("div",{ref:"rootRef",class:$([e.ns.b(),e.customClass,e.ns.is("draggable",e.draggable),e.ns.is("dragging",e.isDragging),{[e.ns.m("center")]:e.center}]),style:Fe(e.customStyle),tabindex:"-1",onClick:t[7]||(t[7]=Ke(()=>{},["stop"]))},[e.title!==null&&e.title!==void 0?(E(),L("div",{key:0,ref:"headerRef",class:$([e.ns.e("header"),{"show-close":e.showClose}])},[H("div",{class:$(e.ns.e("title"))},[e.iconComponent&&e.center?(E(),Z(i,{key:0,class:$([e.ns.e("status"),e.typeClass])},{default:j(()=>[(E(),Z(_e(e.iconComponent)))]),_:1},8,["class"])):G("v-if",!0),H("span",null,he(e.title),1)],2),e.showClose?(E(),L("button",{key:0,type:"button",class:$(e.ns.e("headerbtn")),"aria-label":e.t("el.messagebox.close"),onClick:t[0]||(t[0]=p=>e.handleAction(e.distinguishCancelAndClose?"close":"cancel")),onKeydown:t[1]||(t[1]=Ot(Ke(p=>e.handleAction(e.distinguishCancelAndClose?"close":"cancel"),["prevent"]),["enter"]))},[U(i,{class:$(e.ns.e("close"))},{default:j(()=>[(E(),Z(_e(e.closeIcon||"close")))]),_:1},8,["class"])],42,VE)):G("v-if",!0)],2)):G("v-if",!0),H("div",{id:e.contentId,class:$(e.ns.e("content"))},[H("div",{class:$(e.ns.e("container"))},[e.iconComponent&&!e.center&&e.hasMessage?(E(),Z(i,{key:0,class:$([e.ns.e("status"),e.typeClass])},{default:j(()=>[(E(),Z(_e(e.iconComponent)))]),_:1},8,["class"])):G("v-if",!0),e.hasMessage?(E(),L("div",{key:1,class:$(e.ns.e("message"))},[X(e.$slots,"default",{},()=>[e.dangerouslyUseHTMLString?(E(),Z(_e(e.showInput?"label":"p"),{key:1,for:e.showInput?e.inputId:void 0,innerHTML:e.message},null,8,["for","innerHTML"])):(E(),Z(_e(e.showInput?"label":"p"),{key:0,for:e.showInput?e.inputId:void 0,textContent:he(e.message)},null,8,["for","textContent"]))])],2)):G("v-if",!0)],2),Ue(H("div",{class:$(e.ns.e("input"))},[U(r,{id:e.inputId,ref:"inputRef",modelValue:e.inputValue,"onUpdate:modelValue":t[2]||(t[2]=p=>e.inputValue=p),type:e.inputType,placeholder:e.inputPlaceholder,"aria-invalid":e.validateError,class:$({invalid:e.validateError}),onKeydown:Ot(e.handleInputEnter,["enter"])},null,8,["id","modelValue","type","placeholder","aria-invalid","class","onKeydown"]),H("div",{class:$(e.ns.e("errormsg")),style:Fe({visibility:e.editorErrorMessage?"visible":"hidden"})},he(e.editorErrorMessage),7)],2),[[ht,e.showInput]])],10,zE),H("div",{class:$(e.ns.e("btns"))},[e.showCancelButton?(E(),Z(c,{key:0,type:e.cancelButtonType==="text"?"":e.cancelButtonType,text:e.cancelButtonType==="text",loading:e.cancelButtonLoading,"loading-icon":e.cancelButtonLoadingIcon,class:$([e.cancelButtonClass]),round:e.roundButton,size:e.btnSize,onClick:t[3]||(t[3]=p=>e.handleAction("cancel")),onKeydown:t[4]||(t[4]=Ot(Ke(p=>e.handleAction("cancel"),["prevent"]),["enter"]))},{default:j(()=>[ut(he(e.cancelButtonText||e.t("el.messagebox.cancel")),1)]),_:1},8,["type","text","loading","loading-icon","class","round","size"])):G("v-if",!0),Ue(U(c,{ref:"confirmRef",type:e.confirmButtonType==="text"?"":e.confirmButtonType,text:e.confirmButtonType==="text",loading:e.confirmButtonLoading,"loading-icon":e.confirmButtonLoadingIcon,class:$([e.confirmButtonClasses]),round:e.roundButton,disabled:e.confirmButtonDisabled,size:e.btnSize,onClick:t[5]||(t[5]=p=>e.handleAction("confirm")),onKeydown:t[6]||(t[6]=Ot(Ke(p=>e.handleAction("confirm"),["prevent"]),["enter"]))},{default:j(()=>[ut(he(e.confirmButtonText||e.t("el.messagebox.confirm")),1)]),_:1},8,["type","text","loading","loading-icon","class","round","disabled","size"]),[[ht,e.showConfirmButton]])],2)],6)]),_:3},8,["trapped","focus-trap-el","focus-start-el","onReleaseRequested"])],42,FE)]),_:3},8,["z-index","overlay-class","mask"]),[[ht,e.visible]])]),_:3})}var HE=_t(AE,[["render",KE]]);const $a=new Map,WE=e=>{let t=document.body;return e.appendTo&&(He(e.appendTo)&&(t=document.querySelector(e.appendTo)),$n(e.appendTo)&&(t=e.appendTo),$n(t)||(t=document.body)),t},jE=(e,t,n=null)=>{const l=U(HE,e,Qe(e.message)||jt(e.message)?{default:Qe(e.message)?e.message:()=>e.message}:null);return l.appContext=n,vl(l,t),WE(e).appendChild(t.firstElementChild),l.component},YE=()=>document.createElement("div"),UE=(e,t)=>{const n=YE();e.onVanish=()=>{vl(null,n),$a.delete(a)},e.onAction=s=>{const i=$a.get(a);let r;e.showInput?r={value:a.inputValue,action:s}:r=s,e.callback?e.callback(r,l.proxy):s==="cancel"||s==="close"?e.distinguishCancelAndClose&&s!=="cancel"?i.reject("close"):i.reject("cancel"):i.resolve(r)};const l=jE(e,n,t),a=l.proxy;for(const s in e)Ut(e,s)&&!Ut(a.$props,s)&&(s==="closeIcon"&>(e[s])?a[s]=Gl(e[s]):a[s]=e[s]);return a.visible=!0,a};function ra(e,t=null){if(!st)return Promise.reject();let n;return He(e)||jt(e)?e={message:e}:n=e.callback,new Promise((l,a)=>{const s=UE(e,t??ra._context);$a.set(s,{options:e,callback:n,resolve:l,reject:a})})}const qE=["alert","confirm","prompt"],GE={alert:{closeOnPressEscape:!1,closeOnClickModal:!1},confirm:{showCancelButton:!0},prompt:{showCancelButton:!0,showInput:!0}};qE.forEach(e=>{ra[e]=_E(e)});function _E(e){return(t,n,l,a)=>{let s="";return gt(n)?(l=n,s=""):it(n)?s="":s=n,ra(Object.assign({title:s,message:t,type:"",...GE[e]},l,{boxType:e}),a)}}ra.close=()=>{$a.forEach((e,t)=>{t.doClose()}),$a.clear()};ra._context=null;const rl=ra;rl.install=e=>{rl._context=e._context,e.config.globalProperties.$msgbox=rl,e.config.globalProperties.$messageBox=rl,e.config.globalProperties.$alert=rl.alert,e.config.globalProperties.$confirm=rl.confirm,e.config.globalProperties.$prompt=rl.prompt};const C$=rl,Md=["primary","success","info","warning","error"],XE=me({customClass:{type:String,default:""},dangerouslyUseHTMLString:Boolean,duration:{type:Number,default:4500},icon:{type:Ct},id:{type:String,default:""},message:{type:q([String,Object,Function]),default:""},offset:{type:Number,default:0},onClick:{type:q(Function),default:()=>{}},onClose:{type:q(Function),required:!0},position:{type:String,values:["top-right","top-left","bottom-right","bottom-left"],default:"top-right"},showClose:{type:Boolean,default:!0},title:{type:String,default:""},type:{type:String,values:[...Md,""],default:""},zIndex:Number,closeIcon:{type:Ct,default:Fn}}),JE={destroy:()=>!0},ZE=["id"],QE=["textContent"],e1={key:0},t1=["innerHTML"];var n1=ie({name:"ElNotification",__name:"notification",props:XE,emits:JE,setup(e,{expose:t}){const n=e,{ns:l,zIndex:a}=To("notification"),{nextZIndex:s,currentZIndex:i}=a,r=I(!1);let c;const u=y(()=>{const S=n.type;return S&&gl[n.type]?l.m(S):""}),f=y(()=>n.type&&gl[n.type]||n.icon),p=y(()=>n.position.endsWith("right")?"right":"left"),h=y(()=>n.position.startsWith("top")?"top":"bottom"),m=y(()=>{var S;return{[h.value]:`${n.offset}px`,zIndex:(S=n.zIndex)!=null?S:i.value}});function d(){n.duration>0&&({stop:c}=Zl(()=>{r.value&&g()},n.duration))}function v(){c==null||c()}function g(){r.value=!1}function b(S){switch(St(S)){case de.delete:case de.backspace:v();break;case de.esc:r.value&&g();break;default:d();break}}return Ze(()=>{d(),s(),r.value=!0}),$t(document,"keydown",b),t({visible:r,close:g}),(S,w)=>(E(),Z(bn,{name:o(l).b("fade"),onBeforeLeave:e.onClose,onAfterLeave:w[1]||(w[1]=C=>S.$emit("destroy")),persisted:""},{default:j(()=>[Ue(H("div",{id:e.id,class:$([o(l).b(),e.customClass,p.value]),style:Fe(m.value),role:"alert",onMouseenter:v,onMouseleave:d,onClick:w[0]||(w[0]=(...C)=>e.onClick&&e.onClick(...C))},[f.value?(E(),Z(o(we),{key:0,class:$([o(l).e("icon"),u.value])},{default:j(()=>[(E(),Z(_e(f.value)))]),_:1},8,["class"])):G("v-if",!0),H("div",{class:$(o(l).e("group"))},[H("h2",{class:$(o(l).e("title")),textContent:he(e.title)},null,10,QE),Ue(H("div",{class:$(o(l).e("content")),style:Fe(e.title?void 0:{margin:0})},[X(S.$slots,"default",{},()=>[e.dangerouslyUseHTMLString?(E(),L(Re,{key:1},[G(" Caution here, message could've been compromised, never use user's input as message "),H("p",{innerHTML:e.message},null,8,t1)],2112)):(E(),L("p",e1,he(e.message),1))])],6),[[ht,e.message]]),e.showClose?(E(),Z(o(we),{key:0,class:$(o(l).e("closeBtn")),onClick:Ke(g,["stop"])},{default:j(()=>[(E(),Z(_e(e.closeIcon)))]),_:1},8,["class"])):G("v-if",!0)],2)],46,ZE),[[ht,r.value]])]),_:3},8,["name","onBeforeLeave"]))}});const la={"top-left":[],"top-right":[],"bottom-left":[],"bottom-right":[]},go=16;let l1=1;const Dl=function(e={},t){if(!st)return{close:()=>{}};(He(e)||jt(e))&&(e={message:e});const n=e.position||"top-right";let l=e.offset||0;la[n].forEach(({vm:f})=>{var p;l+=(((p=f.el)==null?void 0:p.offsetHeight)||0)+go}),l+=go;const a=`notification_${l1++}`,s=e.onClose,i={...e,offset:l,id:a,onClose:()=>{a1(a,n,s)}};let r=document.body;$n(e.appendTo)?r=e.appendTo:He(e.appendTo)&&(r=document.querySelector(e.appendTo)),$n(r)||(r=document.body);const c=document.createElement("div"),u=U(n1,i,Qe(i.message)?i.message:jt(i.message)?()=>i.message:null);return u.appContext=it(t)?Dl._context:t,u.props.onDestroy=()=>{vl(null,c)},vl(u,c),la[n].push({vm:u}),r.appendChild(c.firstElementChild),{close:()=>{u.component.exposed.visible.value=!1}}};Md.forEach(e=>{Dl[e]=(t={},n)=>((He(t)||jt(t))&&(t={message:t}),Dl({...t,type:e},n))});function a1(e,t,n){const l=la[t],a=l.findIndex(({vm:u})=>{var f;return((f=u.component)==null?void 0:f.props.id)===e});if(a===-1)return;const{vm:s}=l[a];if(!s)return;n==null||n(s);const i=s.el.offsetHeight,r=t.split("-")[0];l.splice(a,1);const c=l.length;if(!(c<1))for(let u=a;u{t.component.exposed.visible.value=!1})}function s1(e="top-right"){var t,n,l,a;let s=((l=(n=(t=la[e][0])==null?void 0:t.vm.component)==null?void 0:n.props)==null?void 0:l.offset)||0;for(const{vm:i}of la[e])i.component.props.offset=s,s+=(((a=i.el)==null?void 0:a.offsetHeight)||0)+go}Dl.closeAll=o1;Dl.updateOffsets=s1;Dl._context=null;const w$=mu(Dl,"$notify");var k$={name:"zh-cn",el:{breadcrumb:{label:"面包屑"},colorpicker:{confirm:"确定",clear:"清空",defaultLabel:"颜色选择器",description:"当前颜色 {color},按 Enter 键选择新颜色",alphaLabel:"选择透明度的值",alphaDescription:"透明度 {alpha}, 当前颜色 {color}",hueLabel:"选择色相值",hueDescription:"色相 {hue}, 当前颜色 {color}",svLabel:"选择饱和度与明度的值",svDescription:"饱和度 {saturation}, 明度 {brightness}, 当前颜色 {color}",predefineDescription:"选择 {value} 作为颜色"},datepicker:{now:"此刻",today:"今天",cancel:"取消",clear:"清空",confirm:"确定",dateTablePrompt:"使用方向键与 Enter 键可选择日期",monthTablePrompt:"使用方向键与 Enter 键可选择月份",yearTablePrompt:"使用方向键与 Enter 键可选择年份",selectedDate:"已选日期",selectDate:"选择日期",selectTime:"选择时间",startDate:"开始日期",startTime:"开始时间",endDate:"结束日期",endTime:"结束时间",prevYear:"前一年",nextYear:"后一年",prevMonth:"上个月",nextMonth:"下个月",year:"年",month1:"1 月",month2:"2 月",month3:"3 月",month4:"4 月",month5:"5 月",month6:"6 月",month7:"7 月",month8:"8 月",month9:"9 月",month10:"10 月",month11:"11 月",month12:"12 月",weeks:{sun:"日",mon:"一",tue:"二",wed:"三",thu:"四",fri:"五",sat:"六"},weeksFull:{sun:"星期日",mon:"星期一",tue:"星期二",wed:"星期三",thu:"星期四",fri:"星期五",sat:"星期六"},months:{jan:"一月",feb:"二月",mar:"三月",apr:"四月",may:"五月",jun:"六月",jul:"七月",aug:"八月",sep:"九月",oct:"十月",nov:"十一月",dec:"十二月"}},inputNumber:{decrease:"减少数值",increase:"增加数值"},select:{loading:"加载中",noMatch:"无匹配数据",noData:"无数据",placeholder:"请选择"},mention:{loading:"加载中"},dropdown:{toggleDropdown:"切换下拉选项"},cascader:{noMatch:"无匹配数据",loading:"加载中",placeholder:"请选择",noData:"暂无数据"},pagination:{goto:"前往",pagesize:"条/页",total:"共 {total} 条",pageClassifier:"页",page:"页",prev:"上一页",next:"下一页",currentPage:"第 {pager} 页",prevPages:"向前 {pager} 页",nextPages:"向后 {pager} 页",deprecationWarning:"你使用了一些已被废弃的用法,请参考 el-pagination 的官方文档"},dialog:{close:"关闭此对话框"},drawer:{close:"关闭此对话框"},messagebox:{title:"提示",confirm:"确定",cancel:"取消",error:"输入的数据不合法!",close:"关闭此对话框"},upload:{deleteTip:"按 Delete 键可删除",delete:"删除",preview:"查看图片",continue:"继续上传"},slider:{defaultLabel:"滑块介于 {min} 至 {max}",defaultRangeStartLabel:"选择起始值",defaultRangeEndLabel:"选择结束值"},table:{emptyText:"暂无数据",confirmFilter:"筛选",resetFilter:"重置",clearFilter:"全部",sumText:"合计",selectAllLabel:"选择所有行",selectRowLabel:"选择当前行",expandRowLabel:"展开当前行",collapseRowLabel:"收起当前行",sortLabel:"按 {column} 排序",filterLabel:"按 {column} 过滤"},tag:{close:"关闭此标签"},tour:{next:"下一步",previous:"上一步",finish:"结束导览",close:"关闭此对话框"},tree:{emptyText:"暂无数据"},transfer:{noMatch:"无匹配数据",noData:"无数据",titles:["列表 1","列表 2"],filterPlaceholder:"请输入搜索内容",noCheckedFormat:"共 {total} 项",hasCheckedFormat:"已选 {checked}/{total} 项"},image:{error:"加载失败"},pageHeader:{title:"返回"},popconfirm:{confirmButtonText:"确定",cancelButtonText:"取消"},carousel:{leftArrow:"上一张幻灯片",rightArrow:"下一张幻灯片",indicator:"幻灯片切换至索引 {index}"}}};export{h$ as $,k$ as A,Y1 as B,xn as C,j1 as D,y$ as E,T1 as F,N1 as G,Rl as H,bh as I,E1 as J,b1 as K,ma as L,i$ as M,u$ as N,e$ as O,Ca as P,ss as Q,W1 as R,rm as S,Qa as T,gy as U,F1 as V,m$ as W,t$ as X,tC as Y,$d as Z,G1 as _,C$ as a,kw as a0,n$ as a1,B1 as a2,D1 as a3,l$ as a4,I1 as a5,o$ as a6,s$ as a7,P1 as a8,a$ as a9,L1 as aa,A1 as ab,v$ as ac,p$ as ad,f$ as ae,ch as af,S1 as ag,x1 as ah,O1 as ai,y1 as aj,g$ as ak,$1 as al,w$ as b,b$ as c,we as d,V1 as e,R1 as f,r$ as g,q1 as h,tl as i,k1 as j,w1 as k,d$ as l,c$ as m,H1 as n,K1 as o,z1 as p,C1 as q,Rn as r,el as s,_0 as t,bt as u,U1 as v,Z1 as w,Q1 as x,J1 as y,M1 as z}; diff --git a/server/public/admin/assets/environment-Bwhdt1o9.js b/server/public/admin/assets/environment-9GeasEYL.js similarity index 95% rename from server/public/admin/assets/environment-Bwhdt1o9.js rename to server/public/admin/assets/environment-9GeasEYL.js index cdc7a644..d375b6ac 100644 --- a/server/public/admin/assets/environment-Bwhdt1o9.js +++ b/server/public/admin/assets/environment-9GeasEYL.js @@ -1 +1 @@ -import{c as v,D as b}from"./index-E47--KT7.js";import{M as k,N as h,J as y}from"./element-plus-0wC3naml.js";import{f as u,b as x,ak as l,I as w,a as t,aN as o,J as s,G as i}from"./@vue/runtime-core-C6bnekPw.js";import{y as _,r as B}from"./@vue/reactivity-DiY1c2vO.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./lodash-D3kF6u-c.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./@vue/shared-mAAVTE9n.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";const C={class:"system-environment"},E={class:"mt-4"},N={class:"mt-4"},g={class:"mt-4"},I=u({name:"environment"}),_t=u({...I,setup(S){const r=B({server:[],env:[],auth:[]}),f=()=>{b().then(n=>{r.server=n.server,r.env=n.env,r.auth=n.auth})};return x(()=>{f()}),(n,a)=>{const e=h,p=k,d=y,m=v;return l(),w("div",C,[t(d,{class:"!border-none",shadow:"never"},{default:o(()=>[a[0]||(a[0]=s("div",null,"服务器信息",-1)),s("div",E,[t(p,{data:_(r).server},{default:o(()=>[t(e,{prop:"param",label:"参数"}),t(e,{prop:"value",label:"值"})]),_:1},8,["data"])])]),_:1}),t(d,{shadow:"never",class:"!border-none mt-4"},{default:o(()=>[a[1]||(a[1]=s("div",null,"PHP环境要求",-1)),s("div",N,[t(p,{data:_(r).env},{default:o(()=>[t(e,{prop:"option",label:"选项"}),t(e,{prop:"require",label:"要求"}),t(e,{label:"状态"},{default:o(c=>[c.row.status?(l(),i(m,{key:0,name:"el-icon-Select",class:"text-success"})):(l(),i(m,{key:1,name:"el-icon-CloseBold",class:"text-danger"}))]),_:1}),t(e,{prop:"remark",label:"说明及帮助"})]),_:1},8,["data"])])]),_:1}),t(d,{shadow:"never",class:"!border-none mt-4"},{default:o(()=>[a[2]||(a[2]=s("div",null,"目录权限",-1)),s("div",g,[t(p,{data:_(r).auth},{default:o(()=>[t(e,{prop:"dir",label:"选项"}),t(e,{prop:"require",label:"要求"}),t(e,{label:"状态"},{default:o(c=>[c.row.status?(l(),i(m,{key:0,name:"el-icon-Select",class:"text-success"})):(l(),i(m,{key:1,name:"el-icon-CloseBold",class:"text-danger"}))]),_:1}),t(e,{prop:"remark",label:"说明及帮助"})]),_:1},8,["data"])])]),_:1})])}}});export{_t as default}; +import{c as v,D as b}from"./index-DBREMm_z.js";import{M as k,N as h,J as y}from"./element-plus-DFTWCWyi.js";import{f as u,b as x,ak as l,I as w,a as t,aN as o,J as s,G as i}from"./@vue/runtime-core-C6bnekPw.js";import{y as _,r as B}from"./@vue/reactivity-DiY1c2vO.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./lodash-D3kF6u-c.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./@vue/shared-mAAVTE9n.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";const C={class:"system-environment"},E={class:"mt-4"},N={class:"mt-4"},g={class:"mt-4"},I=u({name:"environment"}),_t=u({...I,setup(S){const r=B({server:[],env:[],auth:[]}),f=()=>{b().then(n=>{r.server=n.server,r.env=n.env,r.auth=n.auth})};return x(()=>{f()}),(n,a)=>{const e=h,p=k,d=y,m=v;return l(),w("div",C,[t(d,{class:"!border-none",shadow:"never"},{default:o(()=>[a[0]||(a[0]=s("div",null,"服务器信息",-1)),s("div",E,[t(p,{data:_(r).server},{default:o(()=>[t(e,{prop:"param",label:"参数"}),t(e,{prop:"value",label:"值"})]),_:1},8,["data"])])]),_:1}),t(d,{shadow:"never",class:"!border-none mt-4"},{default:o(()=>[a[1]||(a[1]=s("div",null,"PHP环境要求",-1)),s("div",N,[t(p,{data:_(r).env},{default:o(()=>[t(e,{prop:"option",label:"选项"}),t(e,{prop:"require",label:"要求"}),t(e,{label:"状态"},{default:o(c=>[c.row.status?(l(),i(m,{key:0,name:"el-icon-Select",class:"text-success"})):(l(),i(m,{key:1,name:"el-icon-CloseBold",class:"text-danger"}))]),_:1}),t(e,{prop:"remark",label:"说明及帮助"})]),_:1},8,["data"])])]),_:1}),t(d,{shadow:"never",class:"!border-none mt-4"},{default:o(()=>[a[2]||(a[2]=s("div",null,"目录权限",-1)),s("div",g,[t(p,{data:_(r).auth},{default:o(()=>[t(e,{prop:"dir",label:"选项"}),t(e,{prop:"require",label:"要求"}),t(e,{label:"状态"},{default:o(c=>[c.row.status?(l(),i(m,{key:0,name:"el-icon-Select",class:"text-success"})):(l(),i(m,{key:1,name:"el-icon-CloseBold",class:"text-danger"}))]),_:1}),t(e,{prop:"remark",label:"说明及帮助"})]),_:1},8,["data"])])]),_:1})])}}});export{_t as default}; diff --git a/server/public/admin/assets/error-BJHvk5qu.js b/server/public/admin/assets/error-CyjCcUCY.js similarity index 93% rename from server/public/admin/assets/error-BJHvk5qu.js rename to server/public/admin/assets/error-CyjCcUCY.js index e38f4f1a..381d8ee3 100644 --- a/server/public/admin/assets/error-BJHvk5qu.js +++ b/server/public/admin/assets/error-CyjCcUCY.js @@ -1 +1 @@ -import{i as c}from"./element-plus-0wC3naml.js";import{a as d}from"./vue-router-QlpZ4wdW.js";import{f as u,d as f,ak as a,I as v,J as e,aq as _,G as B,aN as x,O as y,H as g}from"./@vue/runtime-core-C6bnekPw.js";import{Q as i}from"./@vue/shared-mAAVTE9n.js";import{y as h,n as k}from"./@vue/reactivity-DiY1c2vO.js";import{_ as I}from"./index-E47--KT7.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const w={class:"error"},C={class:"error-code"},N={class:"text-lg text-tx-secondary mt-7 mb-7"},S=u({__name:"error",props:{code:String,title:String,showBtn:{type:Boolean,default:!0}},setup(t){const n=t;let o=null;const r=k(5),m=d();return n.showBtn&&(o=setInterval(()=>{r.value===0?(clearInterval(o),m.go(-1)):r.value--},1e3)),f(()=>{o&&clearInterval(o)}),(p,s)=>{const l=c;return a(),v("div",w,[e("div",null,[_(p.$slots,"content",{},()=>[e("div",C,i(t.code),1)],!0),e("div",N,i(t.title),1),t.showBtn?(a(),B(l,{key:0,type:"primary",onClick:s[0]||(s[0]=E=>h(m).go(-1))},{default:x(()=>[y(i(r.value)+" 秒后返回上一页 ",1)]),_:1})):g("",!0)])])}}}),dt=I(S,[["__scopeId","data-v-0154c8e6"]]);export{dt as default}; +import{i as c}from"./element-plus-DFTWCWyi.js";import{a as d}from"./vue-router-QlpZ4wdW.js";import{f as u,d as f,ak as a,I as v,J as e,aq as _,G as B,aN as x,O as y,H as g}from"./@vue/runtime-core-C6bnekPw.js";import{Q as i}from"./@vue/shared-mAAVTE9n.js";import{y as h,n as k}from"./@vue/reactivity-DiY1c2vO.js";import{_ as I}from"./index-DBREMm_z.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const w={class:"error"},C={class:"error-code"},N={class:"text-lg text-tx-secondary mt-7 mb-7"},S=u({__name:"error",props:{code:String,title:String,showBtn:{type:Boolean,default:!0}},setup(t){const n=t;let o=null;const r=k(5),m=d();return n.showBtn&&(o=setInterval(()=>{r.value===0?(clearInterval(o),m.go(-1)):r.value--},1e3)),f(()=>{o&&clearInterval(o)}),(p,s)=>{const l=c;return a(),v("div",w,[e("div",null,[_(p.$slots,"content",{},()=>[e("div",C,i(t.code),1)],!0),e("div",N,i(t.title),1),t.showBtn?(a(),B(l,{key:0,type:"primary",onClick:s[0]||(s[0]=E=>h(m).go(-1))},{default:x(()=>[y(i(r.value)+" 秒后返回上一页 ",1)]),_:1})):g("",!0)])])}}}),dt=I(S,[["__scopeId","data-v-0154c8e6"]]);export{dt as default}; diff --git a/server/public/admin/assets/fans-Cx6ejviX.js b/server/public/admin/assets/fans-KouiHeJ-.js similarity index 89% rename from server/public/admin/assets/fans-Cx6ejviX.js rename to server/public/admin/assets/fans-KouiHeJ-.js index 4623233c..cf5796d4 100644 --- a/server/public/admin/assets/fans-Cx6ejviX.js +++ b/server/public/admin/assets/fans-KouiHeJ-.js @@ -1 +1 @@ -import{r as n}from"./index-E47--KT7.js";function e(t){return n.get({url:"/fan/lists",params:t})}function i(t){return n.post({url:"/fan/add",params:t})}function s(t){return n.post({url:"/fan/edit",params:t})}function a(t){return n.post({url:"/fan/delete",params:t})}function f(t){return n.get({url:"/fan/visitRecordLists",params:t})}function o(t){return n.post({url:"/fan/addVisitRecord",params:t})}function u(t){return n.post({url:"/fan/editVisitRecord",params:t})}function d(t){return n.post({url:"/fan/deleteVisitRecord",params:t})}export{i as a,s as b,o as c,u as d,d as e,e as f,f as g,a as h}; +import{r as n}from"./index-DBREMm_z.js";function e(t){return n.get({url:"/fan/lists",params:t})}function i(t){return n.post({url:"/fan/add",params:t})}function s(t){return n.post({url:"/fan/edit",params:t})}function a(t){return n.post({url:"/fan/delete",params:t})}function f(t){return n.get({url:"/fan/visitRecordLists",params:t})}function o(t){return n.post({url:"/fan/addVisitRecord",params:t})}function u(t){return n.post({url:"/fan/editVisitRecord",params:t})}function d(t){return n.post({url:"/fan/deleteVisitRecord",params:t})}export{i as a,s as b,o as c,u as d,d as e,e as f,f as g,a as h}; diff --git a/server/public/admin/assets/file-DoYUJmkp.js b/server/public/admin/assets/file-BimpIRb_.js similarity index 95% rename from server/public/admin/assets/file-DoYUJmkp.js rename to server/public/admin/assets/file-BimpIRb_.js index 4b25f70c..83833ebc 100644 --- a/server/public/admin/assets/file-DoYUJmkp.js +++ b/server/public/admin/assets/file-BimpIRb_.js @@ -1 +1 @@ -import{e as f,q as a,g as c,R as p,r as t}from"./index-E47--KT7.js";async function i(e,n="image",o=0){const l=f(),r=new FormData;r.append("file",e),r.append("cid",String(o));const u=`${a.baseUrl}${a.urlPrefix}/upload/${n}`,s=await(await fetch(u,{method:"POST",headers:{token:c()||"",version:l.config.version||""},body:r})).json();if(s.code!==p.SUCCESS)throw new Error(s.msg||"上传失败");return s.data}async function m(e,n="screenshot.jpg"){const o=e instanceof File?e:new File([e],n,{type:e.type||"image/jpeg"});return i(o,"image",0)}async function C(e,n="recording.webm"){const o=e instanceof File?e:new File([e],n,{type:e.type||"video/webm"});return i(o,"video",0)}function b(e){return t.post({url:"/file/addCate",params:e})}function w(e){return t.post({url:"/file/editCate",params:e})}function y(e){return t.post({url:"/file/delCate",params:e})}function j(e){return t.get({url:"/file/listCate",params:e})}function S(e){return t.get({url:"/file/lists",params:e},{ignoreCancelToken:!0,isOpenRetry:!1})}function h(e){return t.post({url:"/file/delete",params:e})}function v(e){return t.post({url:"/file/move",params:e})}function F(e){return t.post({url:"/file/rename",params:e})}function O(e){return t.post({url:"/upload/ossCredentials",params:e})}function k(e){return t.post({url:"/upload/ossConfirm",params:e})}export{i as a,y as b,w as c,b as d,F as e,j as f,v as g,h,S as i,O as j,k,C as l,m as u}; +import{e as f,q as a,g as c,R as p,r as t}from"./index-DBREMm_z.js";async function i(e,n="image",o=0){const l=f(),r=new FormData;r.append("file",e),r.append("cid",String(o));const u=`${a.baseUrl}${a.urlPrefix}/upload/${n}`,s=await(await fetch(u,{method:"POST",headers:{token:c()||"",version:l.config.version||""},body:r})).json();if(s.code!==p.SUCCESS)throw new Error(s.msg||"上传失败");return s.data}async function m(e,n="screenshot.jpg"){const o=e instanceof File?e:new File([e],n,{type:e.type||"image/jpeg"});return i(o,"image",0)}async function C(e,n="recording.webm"){const o=e instanceof File?e:new File([e],n,{type:e.type||"video/webm"});return i(o,"video",0)}function b(e){return t.post({url:"/file/addCate",params:e})}function w(e){return t.post({url:"/file/editCate",params:e})}function y(e){return t.post({url:"/file/delCate",params:e})}function j(e){return t.get({url:"/file/listCate",params:e})}function S(e){return t.get({url:"/file/lists",params:e},{ignoreCancelToken:!0,isOpenRetry:!1})}function h(e){return t.post({url:"/file/delete",params:e})}function v(e){return t.post({url:"/file/move",params:e})}function F(e){return t.post({url:"/file/rename",params:e})}function O(e){return t.post({url:"/upload/ossCredentials",params:e})}function k(e){return t.post({url:"/upload/ossConfirm",params:e})}export{i as a,y as b,w as c,b as d,F as e,j as f,v as g,h,S as i,O as j,k,C as l,m as u}; diff --git a/server/public/admin/assets/file-BU0cMb05.js b/server/public/admin/assets/file-D8DF5QQr.js similarity index 86% rename from server/public/admin/assets/file-BU0cMb05.js rename to server/public/admin/assets/file-D8DF5QQr.js index a44895e1..b2450461 100644 --- a/server/public/admin/assets/file-BU0cMb05.js +++ b/server/public/admin/assets/file-D8DF5QQr.js @@ -1 +1 @@ -import{J as n,i as u,C as v}from"./element-plus-0wC3naml.js";import{_ as f}from"./picker-DlbAZkDm.js";import{f as x,ak as V,I as _,a as i,aN as r,J as l,O as w}from"./@vue/runtime-core-C6bnekPw.js";import{y as t,r as U}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-nymJKQXP.js";import"./index-E47--KT7.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-B56X8bEB.js";import"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import"./index-BHTgr4Ka.js";import"./index-Ci4dcEQh.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-DoYUJmkp.js";import"./index.vue_vue_type_script_setup_true_lang-Bl0f8aX8.js";import"./usePaging-VsbTxSU0.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";const k={class:"flex flex-wrap"},B={class:"flex m-4"},C={class:"flex m-4"},E={class:"flex flex-1 m-4"},N={class:"flex-1"},b={class:"flex flex-wrap"},y={class:"flex m-4"},I={class:"flex m-4"},J={class:"flex m-4"},c={class:"flex m-4 items-center"},g={class:"flex m-4 items-center"},Oo=x({__name:"file",setup(z){const e=U({value1:"",value2:[],value3:"",value4:"",value5:"",value6:""});return(O,o)=>{const s=f,a=n,p=u,d=v;return V(),_("div",null,[i(a,{header:"基础使用",shadow:"never",class:"!border-none"},{default:r(()=>[l("div",k,[l("div",B,[o[6]||(o[6]=l("div",{class:"mr-4"},"选择图片:",-1)),i(s,{modelValue:t(e).value1,"onUpdate:modelValue":o[0]||(o[0]=m=>t(e).value1=m)},null,8,["modelValue"])]),l("div",C,[o[7]||(o[7]=l("div",{class:"mr-4"},"选择视频:",-1)),i(s,{type:"video",modelValue:t(e).value3,"onUpdate:modelValue":o[1]||(o[1]=m=>t(e).value3=m)},null,8,["modelValue"])]),l("div",E,[o[8]||(o[8]=l("div",{class:"mr-4"},"多张图片:",-1)),l("div",N,[i(s,{limit:4,modelValue:t(e).value2,"onUpdate:modelValue":o[2]||(o[2]=m=>t(e).value2=m)},null,8,["modelValue"])])])])]),_:1}),i(a,{header:"进阶用法",shadow:"never",class:"!border-none mt-4"},{default:r(()=>[l("div",b,[l("div",y,[o[9]||(o[9]=l("div",{class:"mr-4"},"自定义选择器大小:",-1)),i(s,{size:"60px",modelValue:t(e).value4,"onUpdate:modelValue":o[3]||(o[3]=m=>t(e).value4=m)},null,8,["modelValue"])]),l("div",I,[o[11]||(o[11]=l("div",{class:"mr-4"},"使用插槽:",-1)),i(s,{modelValue:t(e).value5,"onUpdate:modelValue":o[4]||(o[4]=m=>t(e).value5=m)},{upload:r(()=>[i(p,null,{default:r(()=>[...o[10]||(o[10]=[w("选择文件",-1)])]),_:1})]),_:1},8,["modelValue"])]),l("div",J,[o[12]||(o[12]=l("div",{class:"mr-4"},"选出地址不带域名:",-1)),i(s,{"exclude-domain":!0,modelValue:t(e).value6,"onUpdate:modelValue":o[5]||(o[5]=m=>t(e).value6=m)},null,8,["modelValue"])])]),l("div",null,[l("div",c,[o[13]||(o[13]=l("div",{class:"w-20 flex-none"},"带域名:",-1)),i(d,{class:"w-[500px]","model-value":t(e).value5},null,8,["model-value"])]),l("div",g,[o[14]||(o[14]=l("div",{class:"w-20 flex-none"},"不带域名:",-1)),i(d,{class:"w-[500px]","model-value":t(e).value6},null,8,["model-value"])])])]),_:1})])}}});export{Oo as default}; +import{J as n,i as u,C as v}from"./element-plus-DFTWCWyi.js";import{_ as f}from"./picker-BCRrEZaA.js";import{f as x,ak as V,I as _,a as i,aN as r,J as l,O as w}from"./@vue/runtime-core-C6bnekPw.js";import{y as t,r as U}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-BwF7vczx.js";import"./index-DBREMm_z.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-BiPYXDtP.js";import"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import"./index-CbfZXeGu.js";import"./index-CRoZWY-W.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-BimpIRb_.js";import"./index.vue_vue_type_script_setup_true_lang-x0oL2ShL.js";import"./usePaging-VsbTxSU0.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";const k={class:"flex flex-wrap"},B={class:"flex m-4"},C={class:"flex m-4"},E={class:"flex flex-1 m-4"},N={class:"flex-1"},b={class:"flex flex-wrap"},y={class:"flex m-4"},I={class:"flex m-4"},J={class:"flex m-4"},c={class:"flex m-4 items-center"},g={class:"flex m-4 items-center"},Oo=x({__name:"file",setup(z){const e=U({value1:"",value2:[],value3:"",value4:"",value5:"",value6:""});return(O,o)=>{const s=f,a=n,p=u,d=v;return V(),_("div",null,[i(a,{header:"基础使用",shadow:"never",class:"!border-none"},{default:r(()=>[l("div",k,[l("div",B,[o[6]||(o[6]=l("div",{class:"mr-4"},"选择图片:",-1)),i(s,{modelValue:t(e).value1,"onUpdate:modelValue":o[0]||(o[0]=m=>t(e).value1=m)},null,8,["modelValue"])]),l("div",C,[o[7]||(o[7]=l("div",{class:"mr-4"},"选择视频:",-1)),i(s,{type:"video",modelValue:t(e).value3,"onUpdate:modelValue":o[1]||(o[1]=m=>t(e).value3=m)},null,8,["modelValue"])]),l("div",E,[o[8]||(o[8]=l("div",{class:"mr-4"},"多张图片:",-1)),l("div",N,[i(s,{limit:4,modelValue:t(e).value2,"onUpdate:modelValue":o[2]||(o[2]=m=>t(e).value2=m)},null,8,["modelValue"])])])])]),_:1}),i(a,{header:"进阶用法",shadow:"never",class:"!border-none mt-4"},{default:r(()=>[l("div",b,[l("div",y,[o[9]||(o[9]=l("div",{class:"mr-4"},"自定义选择器大小:",-1)),i(s,{size:"60px",modelValue:t(e).value4,"onUpdate:modelValue":o[3]||(o[3]=m=>t(e).value4=m)},null,8,["modelValue"])]),l("div",I,[o[11]||(o[11]=l("div",{class:"mr-4"},"使用插槽:",-1)),i(s,{modelValue:t(e).value5,"onUpdate:modelValue":o[4]||(o[4]=m=>t(e).value5=m)},{upload:r(()=>[i(p,null,{default:r(()=>[...o[10]||(o[10]=[w("选择文件",-1)])]),_:1})]),_:1},8,["modelValue"])]),l("div",J,[o[12]||(o[12]=l("div",{class:"mr-4"},"选出地址不带域名:",-1)),i(s,{"exclude-domain":!0,modelValue:t(e).value6,"onUpdate:modelValue":o[5]||(o[5]=m=>t(e).value6=m)},null,8,["modelValue"])])]),l("div",null,[l("div",c,[o[13]||(o[13]=l("div",{class:"w-20 flex-none"},"带域名:",-1)),i(d,{class:"w-[500px]","model-value":t(e).value5},null,8,["model-value"])]),l("div",g,[o[14]||(o[14]=l("div",{class:"w-20 flex-none"},"不带域名:",-1)),i(d,{class:"w-[500px]","model-value":t(e).value6},null,8,["model-value"])])])]),_:1})])}}});export{Oo as default}; diff --git a/server/public/admin/assets/filing-Bdgu8afO.js b/server/public/admin/assets/filing-dKtuLeZ_.js similarity index 92% rename from server/public/admin/assets/filing-Bdgu8afO.js rename to server/public/admin/assets/filing-dKtuLeZ_.js index a6551fcf..67c6b71f 100644 --- a/server/public/admin/assets/filing-Bdgu8afO.js +++ b/server/public/admin/assets/filing-dKtuLeZ_.js @@ -1 +1 @@ -import{_ as F}from"./index-9zND60WT.js";import{D as x,B as N,C as U,i as I,J}from"./element-plus-0wC3naml.js";import{c as P,i as $}from"./index-E47--KT7.js";import{_ as A}from"./index-BHTgr4Ka.js";import{g as G,s as L}from"./website-BmYKVBCc.js";import{f as w,as as O,ak as i,I as u,a as o,aN as e,J as l,F as S,ap as T,G as f,O as v,aP as j}from"./@vue/runtime-core-C6bnekPw.js";import{y as g,n as q}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const z={class:"website-filing"},H={class:"py-4 bg-fill-lighter"},K={class:"w-80"},M={class:"w-80"},Q=w({name:"webFilling"}),Go=w({...Q,setup(R){const r=q([{key:"",value:""}]),p=async()=>{const n=await G();n.length&&(r.value=n)},h=()=>{r.value.push({key:"",value:""})},b=n=>{if(r.value.length<=1)return $.msgError("至少保留一个");r.value.splice(n,1)},y=async()=>{await L({config:r.value}),p()};return p(),(n,t)=>{const m=U,_=N,k=A,C=P,c=I,V=x,E=J,B=F,D=O("perms");return i(),u("div",z,[o(E,{shadow:"never",class:"!border-none"},{default:e(()=>[t[2]||(t[2]=l("div",{class:"mb-5"},"站点底部版权备案信息设置",-1)),o(V,{ref:"form",class:"ls-form","label-width":"100px"},{default:e(()=>[(i(!0),u(S,null,T(g(r),(a,d)=>(i(),f(k,{class:"mb-4",key:d,"show-close":g(r).length>1,onClose:s=>b(d)},{default:e(()=>[l("div",H,[o(_,{label:"显示名称",prop:"icp_link"},{default:e(()=>[l("div",K,[l("div",null,[o(m,{modelValue:a.key,"onUpdate:modelValue":s=>a.key=s,placeholder:"请输入名称"},null,8,["modelValue","onUpdate:modelValue"])])])]),_:2},1024),o(_,{label:"跳转链接",prop:"icp_link"},{default:e(()=>[l("div",M,[l("div",null,[o(m,{modelValue:a.value,"onUpdate:modelValue":s=>a.value=s,placeholder:"请输入链接,例如:http://www.beian.gov.cn"},null,8,["modelValue","onUpdate:modelValue"])]),t[0]||(t[0]=l("div",{class:"form-tips"},"跳转链接不设置,则不跳转",-1))])]),_:2},1024)])]),_:2},1032,["show-close","onClose"]))),128)),l("div",null,[o(c,{type:"primary",onClick:h},{default:e(()=>[o(C,{name:"el-icon-Plus"}),t[1]||(t[1]=v(" 添加 ",-1))]),_:1})])]),_:1},512)]),_:1}),j((i(),f(B,null,{default:e(()=>[o(c,{type:"primary",onClick:y},{default:e(()=>[...t[3]||(t[3]=[v("保存",-1)])]),_:1})]),_:1})),[[D,["setting.web.web_setting/setCopyright"]]])])}}});export{Go as default}; +import{_ as F}from"./index-x1zzA0a7.js";import{D as x,B as N,C as U,i as I,J}from"./element-plus-DFTWCWyi.js";import{c as P,i as $}from"./index-DBREMm_z.js";import{_ as A}from"./index-CbfZXeGu.js";import{g as G,s as L}from"./website-DzUyNaPG.js";import{f as w,as as O,ak as i,I as u,a as o,aN as e,J as l,F as S,ap as T,G as f,O as v,aP as j}from"./@vue/runtime-core-C6bnekPw.js";import{y as g,n as q}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const z={class:"website-filing"},H={class:"py-4 bg-fill-lighter"},K={class:"w-80"},M={class:"w-80"},Q=w({name:"webFilling"}),Go=w({...Q,setup(R){const r=q([{key:"",value:""}]),p=async()=>{const n=await G();n.length&&(r.value=n)},h=()=>{r.value.push({key:"",value:""})},b=n=>{if(r.value.length<=1)return $.msgError("至少保留一个");r.value.splice(n,1)},y=async()=>{await L({config:r.value}),p()};return p(),(n,t)=>{const m=U,_=N,k=A,C=P,c=I,V=x,E=J,B=F,D=O("perms");return i(),u("div",z,[o(E,{shadow:"never",class:"!border-none"},{default:e(()=>[t[2]||(t[2]=l("div",{class:"mb-5"},"站点底部版权备案信息设置",-1)),o(V,{ref:"form",class:"ls-form","label-width":"100px"},{default:e(()=>[(i(!0),u(S,null,T(g(r),(a,d)=>(i(),f(k,{class:"mb-4",key:d,"show-close":g(r).length>1,onClose:s=>b(d)},{default:e(()=>[l("div",H,[o(_,{label:"显示名称",prop:"icp_link"},{default:e(()=>[l("div",K,[l("div",null,[o(m,{modelValue:a.key,"onUpdate:modelValue":s=>a.key=s,placeholder:"请输入名称"},null,8,["modelValue","onUpdate:modelValue"])])])]),_:2},1024),o(_,{label:"跳转链接",prop:"icp_link"},{default:e(()=>[l("div",M,[l("div",null,[o(m,{modelValue:a.value,"onUpdate:modelValue":s=>a.value=s,placeholder:"请输入链接,例如:http://www.beian.gov.cn"},null,8,["modelValue","onUpdate:modelValue"])]),t[0]||(t[0]=l("div",{class:"form-tips"},"跳转链接不设置,则不跳转",-1))])]),_:2},1024)])]),_:2},1032,["show-close","onClose"]))),128)),l("div",null,[o(c,{type:"primary",onClick:h},{default:e(()=>[o(C,{name:"el-icon-Plus"}),t[1]||(t[1]=v(" 添加 ",-1))]),_:1})])]),_:1},512)]),_:1}),j((i(),f(B,null,{default:e(()=>[o(c,{type:"primary",onClick:y},{default:e(()=>[...t[3]||(t[3]=[v("保存",-1)])]),_:1})]),_:1})),[[D,["setting.web.web_setting/setCopyright"]]])])}}});export{Go as default}; diff --git a/server/public/admin/assets/finance-C48kuhTG.js b/server/public/admin/assets/finance-YaEgIEMc.js similarity index 95% rename from server/public/admin/assets/finance-C48kuhTG.js rename to server/public/admin/assets/finance-YaEgIEMc.js index 68b1466f..8cfdaf93 100644 --- a/server/public/admin/assets/finance-C48kuhTG.js +++ b/server/public/admin/assets/finance-YaEgIEMc.js @@ -1 +1 @@ -import{r as t}from"./index-E47--KT7.js";function r(n){return t.get({url:"/finance.account_log/lists",params:n})}function c(n){return t.get({url:"/recharge.recharge/lists",params:n},{ignoreCancelToken:!0})}function a(n){return t.get({url:"/finance.account_log/getUmChangeType",params:n})}function u(n){return t.post({url:"/recharge.recharge/refund",params:n})}function o(n){return t.post({url:"/recharge.recharge/refundAgain",params:n})}function s(n){return t.get({url:"/finance.refund/record",params:n})}function f(n){return t.get({url:"/finance.refund/log",params:n})}function i(n){return t.get({url:"/finance.refund/stat",params:n})}function g(n){return t.get({url:"/finance.account_cost/lists",params:n})}function l(n){return t.post({url:"/finance.account_cost/add",params:n})}function d(n){return t.post({url:"/finance.account_cost/edit",params:n})}function p(n){return t.get({url:"/finance.account_cost/detail",params:n})}function h(n){return t.post({url:"/finance.account_cost/delete",params:n})}function _(n){return t.get({url:"/finance.dept_performance_target/monthMatrix",params:n})}function m(n){return t.post({url:"/finance.dept_performance_target/batchSave",params:n})}export{d as a,l as b,p as c,_ as d,g as e,h as f,r as g,a as h,m as i,c as j,u as k,s as l,o as m,i as n,f as r}; +import{r as t}from"./index-DBREMm_z.js";function r(n){return t.get({url:"/finance.account_log/lists",params:n})}function c(n){return t.get({url:"/recharge.recharge/lists",params:n},{ignoreCancelToken:!0})}function a(n){return t.get({url:"/finance.account_log/getUmChangeType",params:n})}function u(n){return t.post({url:"/recharge.recharge/refund",params:n})}function o(n){return t.post({url:"/recharge.recharge/refundAgain",params:n})}function s(n){return t.get({url:"/finance.refund/record",params:n})}function f(n){return t.get({url:"/finance.refund/log",params:n})}function i(n){return t.get({url:"/finance.refund/stat",params:n})}function g(n){return t.get({url:"/finance.account_cost/lists",params:n})}function l(n){return t.post({url:"/finance.account_cost/add",params:n})}function d(n){return t.post({url:"/finance.account_cost/edit",params:n})}function p(n){return t.get({url:"/finance.account_cost/detail",params:n})}function h(n){return t.post({url:"/finance.account_cost/delete",params:n})}function _(n){return t.get({url:"/finance.dept_performance_target/monthMatrix",params:n})}function m(n){return t.post({url:"/finance.dept_performance_target/batchSave",params:n})}export{d as a,l as b,p as c,_ as d,g as e,h as f,r as g,a as h,m as i,c as j,u as k,s as l,o as m,i as n,f as r}; diff --git a/server/public/admin/assets/follow_reply-BSV7U6b5.js b/server/public/admin/assets/follow_reply-CHQeIYfB.js similarity index 90% rename from server/public/admin/assets/follow_reply-BSV7U6b5.js rename to server/public/admin/assets/follow_reply-CHQeIYfB.js index 53e1a2d2..2fb336a3 100644 --- a/server/public/admin/assets/follow_reply-BSV7U6b5.js +++ b/server/public/admin/assets/follow_reply-CHQeIYfB.js @@ -1 +1 @@ -import{K as S,J as B,i as D,M as T,N as L,g as A,L as O}from"./element-plus-0wC3naml.js";import{_ as P}from"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import{c as U,i as J}from"./index-E47--KT7.js";import{d as j,o as q,e as z}from"./wx_oa-CMZpCm8a.js";import{u as F}from"./usePaging-VsbTxSU0.js";import{_ as G}from"./edit.vue_vue_type_script_setup_true_lang-BsajSW9y.js";import{f as H,ak as f,I,a as e,aN as n,J as y,O as u,aP as K,G as g,H as M,A as Q,n as w}from"./@vue/runtime-core-C6bnekPw.js";import{y as i,a as W,q as X,n as Y}from"./@vue/reactivity-DiY1c2vO.js";import{Q as Z}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-nymJKQXP.js";const tt={class:"flex justify-end mt-4"},Gt=H({__name:"follow_reply",setup(et){const m=X(),p=Y(!1),h=Q(()=>a=>{switch(a){case 1:return"文本"}}),{pager:r,getLists:l}=F({fetchFun:j,params:{reply_type:1}}),b=async()=>{var a;p.value=!0,await w(),(a=m.value)==null||a.open("add",1)},C=async a=>{var t,d;p.value=!0,await w(),(t=m.value)==null||t.open("edit",1),(d=m.value)==null||d.getDetail(a)},k=async a=>{await J.confirm("确定要删除?"),await q({id:a}),l()},V=async a=>{try{await z({id:a}),l()}catch{l()}};return l(),(a,t)=>{const d=S,v=B,E=U,_=D,s=L,$=A,x=T,R=P,N=O;return f(),I("div",null,[e(v,{class:"!border-none",shadow:"never"},{default:n(()=>[e(d,{type:"warning",title:"温馨提示:1.粉丝关注公众号时,会自动发送启用的关注回复;2.同时只能启用一个关注回复。",closable:!1,"show-icon":""})]),_:1}),e(v,{class:"!border-none mt-4",shadow:"never"},{default:n(()=>[y("div",null,[e(_,{class:"mb-4",type:"primary",onClick:t[0]||(t[0]=o=>b())},{icon:n(()=>[e(E,{name:"el-icon-Plus"})]),default:n(()=>[t[3]||(t[3]=u(" 新增 ",-1))]),_:1})]),K((f(),g(x,{size:"large",data:i(r).lists},{default:n(()=>[e(s,{label:"规则名称",prop:"name","min-width":"120"}),e(s,{label:"回复类型","min-width":"120"},{default:n(({row:o})=>[u(Z(i(h)(o.content_type)),1)]),_:1}),e(s,{label:"回复内容",prop:"content","min-width":"120"}),e(s,{label:"状态","min-width":"120"},{default:n(({row:o})=>[e($,{modelValue:o.status,"onUpdate:modelValue":c=>o.status=c,"active-value":1,"inactive-value":0,onChange:c=>V(o.id)},null,8,["modelValue","onUpdate:modelValue","onChange"])]),_:1}),e(s,{label:"排序",prop:"sort","min-width":"120"}),e(s,{label:"操作",width:"120",fixed:"right"},{default:n(({row:o})=>[e(_,{type:"primary",link:"",onClick:c=>C(o)},{default:n(()=>[...t[4]||(t[4]=[u(" 编辑 ",-1)])]),_:1},8,["onClick"]),e(_,{type:"danger",link:"",onClick:c=>k(o.id)},{default:n(()=>[...t[5]||(t[5]=[u(" 删除 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[N,i(r).loading]]),y("div",tt,[e(R,{modelValue:i(r),"onUpdate:modelValue":t[1]||(t[1]=o=>W(r)?r.value=o:null),onChange:i(l)},null,8,["modelValue","onChange"])])]),_:1}),i(p)?(f(),g(G,{key:0,ref_key:"editRef",ref:m,onSuccess:i(l),onClose:t[2]||(t[2]=o=>p.value=!1)},null,8,["onSuccess"])):M("",!0)])}}});export{Gt as default}; +import{K as S,J as B,i as D,M as T,N as L,g as A,L as O}from"./element-plus-DFTWCWyi.js";import{_ as P}from"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import{c as U,i as J}from"./index-DBREMm_z.js";import{d as j,o as q,e as z}from"./wx_oa-sVQft6O9.js";import{u as F}from"./usePaging-VsbTxSU0.js";import{_ as G}from"./edit.vue_vue_type_script_setup_true_lang-W1DUlHN3.js";import{f as H,ak as f,I,a as e,aN as n,J as y,O as u,aP as K,G as g,H as M,A as Q,n as w}from"./@vue/runtime-core-C6bnekPw.js";import{y as i,a as W,q as X,n as Y}from"./@vue/reactivity-DiY1c2vO.js";import{Q as Z}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-BwF7vczx.js";const tt={class:"flex justify-end mt-4"},Gt=H({__name:"follow_reply",setup(et){const m=X(),p=Y(!1),h=Q(()=>a=>{switch(a){case 1:return"文本"}}),{pager:r,getLists:l}=F({fetchFun:j,params:{reply_type:1}}),b=async()=>{var a;p.value=!0,await w(),(a=m.value)==null||a.open("add",1)},C=async a=>{var t,d;p.value=!0,await w(),(t=m.value)==null||t.open("edit",1),(d=m.value)==null||d.getDetail(a)},k=async a=>{await J.confirm("确定要删除?"),await q({id:a}),l()},V=async a=>{try{await z({id:a}),l()}catch{l()}};return l(),(a,t)=>{const d=S,v=B,E=U,_=D,s=L,$=A,x=T,R=P,N=O;return f(),I("div",null,[e(v,{class:"!border-none",shadow:"never"},{default:n(()=>[e(d,{type:"warning",title:"温馨提示:1.粉丝关注公众号时,会自动发送启用的关注回复;2.同时只能启用一个关注回复。",closable:!1,"show-icon":""})]),_:1}),e(v,{class:"!border-none mt-4",shadow:"never"},{default:n(()=>[y("div",null,[e(_,{class:"mb-4",type:"primary",onClick:t[0]||(t[0]=o=>b())},{icon:n(()=>[e(E,{name:"el-icon-Plus"})]),default:n(()=>[t[3]||(t[3]=u(" 新增 ",-1))]),_:1})]),K((f(),g(x,{size:"large",data:i(r).lists},{default:n(()=>[e(s,{label:"规则名称",prop:"name","min-width":"120"}),e(s,{label:"回复类型","min-width":"120"},{default:n(({row:o})=>[u(Z(i(h)(o.content_type)),1)]),_:1}),e(s,{label:"回复内容",prop:"content","min-width":"120"}),e(s,{label:"状态","min-width":"120"},{default:n(({row:o})=>[e($,{modelValue:o.status,"onUpdate:modelValue":c=>o.status=c,"active-value":1,"inactive-value":0,onChange:c=>V(o.id)},null,8,["modelValue","onUpdate:modelValue","onChange"])]),_:1}),e(s,{label:"排序",prop:"sort","min-width":"120"}),e(s,{label:"操作",width:"120",fixed:"right"},{default:n(({row:o})=>[e(_,{type:"primary",link:"",onClick:c=>C(o)},{default:n(()=>[...t[4]||(t[4]=[u(" 编辑 ",-1)])]),_:1},8,["onClick"]),e(_,{type:"danger",link:"",onClick:c=>k(o.id)},{default:n(()=>[...t[5]||(t[5]=[u(" 删除 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[N,i(r).loading]]),y("div",tt,[e(R,{modelValue:i(r),"onUpdate:modelValue":t[1]||(t[1]=o=>W(r)?r.value=o:null),onChange:i(l)},null,8,["modelValue","onChange"])])]),_:1}),i(p)?(f(),g(G,{key:0,ref_key:"editRef",ref:m,onSuccess:i(l),onClose:t[2]||(t[2]=o=>p.value=!1)},null,8,["onSuccess"])):M("",!0)])}}});export{Gt as default}; diff --git a/server/public/admin/assets/footer.vue_vue_type_script_setup_true_lang-DHdwl9ND.js b/server/public/admin/assets/footer.vue_vue_type_script_setup_true_lang-CGxuEXz5.js similarity index 89% rename from server/public/admin/assets/footer.vue_vue_type_script_setup_true_lang-DHdwl9ND.js rename to server/public/admin/assets/footer.vue_vue_type_script_setup_true_lang-CGxuEXz5.js index 64216dbf..d5740972 100644 --- a/server/public/admin/assets/footer.vue_vue_type_script_setup_true_lang-DHdwl9ND.js +++ b/server/public/admin/assets/footer.vue_vue_type_script_setup_true_lang-CGxuEXz5.js @@ -1 +1 @@ -import{e as a}from"./index-E47--KT7.js";import{f as n,ak as t,I as o,J as c,F as p,ap as _,A as i}from"./@vue/runtime-core-C6bnekPw.js";import{y as f}from"./@vue/reactivity-DiY1c2vO.js";import{Q as m}from"./@vue/shared-mAAVTE9n.js";const l={class:"layout-footer"},u={class:"text-center p-2 text-xs text-tx-secondary max-w-[900px] mx-auto"},x=["href"],S=n({__name:"footer",setup(d){const r=a(),s=i(()=>r.config.copyright_config||[]);return(h,y)=>(t(),o("footer",l,[c("div",u,[(t(!0),o(p,null,_(f(s),e=>(t(),o("a",{class:"mx-1 hover:underline",href:e.value,target:"_blank",key:e.key},m(e.key),9,x))),128))])]))}});export{S as _}; +import{e as a}from"./index-DBREMm_z.js";import{f as n,ak as t,I as o,J as c,F as p,ap as _,A as i}from"./@vue/runtime-core-C6bnekPw.js";import{y as f}from"./@vue/reactivity-DiY1c2vO.js";import{Q as m}from"./@vue/shared-mAAVTE9n.js";const l={class:"layout-footer"},u={class:"text-center p-2 text-xs text-tx-secondary max-w-[900px] mx-auto"},x=["href"],S=n({__name:"footer",setup(d){const r=a(),s=i(()=>r.config.copyright_config||[]);return(h,y)=>(t(),o("footer",l,[c("div",u,[(t(!0),o(p,null,_(f(s),e=>(t(),o("a",{class:"mx-1 hover:underline",href:e.value,target:"_blank",key:e.key},m(e.key),9,x))),128))])]))}});export{S as _}; diff --git a/server/public/admin/assets/guahao-DVVPVWg_.js b/server/public/admin/assets/guahao-DVVPVWg_.js new file mode 100644 index 00000000..c0efe533 --- /dev/null +++ b/server/public/admin/assets/guahao-DVVPVWg_.js @@ -0,0 +1 @@ +import{D as me,B as pe,C as _e,P as ce,Q as fe,i as ve,J as ge,M as be,N as ye,T as Ve,L as he,a2 as ke,a3 as we,G as Ee,F as Se,V as xe}from"./element-plus-DFTWCWyi.js";import{_ as Ce}from"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import{s as Ne,w as P}from"./@vue/runtime-dom-DDAG46FW.js";import{_ as Ue}from"./index.vue_vue_type_script_setup_true_lang-DPC_NOWM.js";import{m as De,i as h}from"./index-DBREMm_z.js";import{a as Te,b as qe}from"./doctor-ul0r578d.js";import{a as Fe}from"./tcm-BcqaE0lo.js";import{u as He}from"./usePaging-VsbTxSU0.js";import{f as G,b as Pe,ac as Ae,as as Ie,ak as p,I as S,a as l,aN as o,O as _,aP as A,G as k,J as f,H as I,F as L,ap as M,A as B}from"./@vue/runtime-core-C6bnekPw.js";import{y as n,a as O,r as R,n as x}from"./@vue/reactivity-DiY1c2vO.js";import{Q as c}from"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Le={class:"guahao-list"},Me={class:"text-sm"},Be={class:"font-medium"},Oe={class:"text-gray-500"},Re={class:"text-xs text-gray-400"},Ge={class:"text-gray-500"},Ke={class:"text-sm"},Qe={key:0,class:"text-xs text-gray-400 truncate"},$e={class:"flex justify-end mt-4"},Ye=G({name:"consumerPrescriptionGuahao"}),Lt=G({...Ye,setup(je){const d=R({start_date:"",end_date:"",patient_name:"",doctor_name:"",status:""}),K={...d},{pager:g,getLists:w,resetPage:E}=He({fetchFun:Te,params:d}),C=x([]),Q=new Set(["自媒体4H","自媒体3Q","自媒体3H","自媒体2H","自媒体2Q"]);function D(i){return Q.has(String(i??"").trim())}const b=x([]),$=B(()=>{const i=a.channel_source;if(i===""||i==null)return"";const e=b.value.find(s=>String(s.value)===String(i));return e?String(e.name??"").trim():""}),T=B(()=>D($.value));function Y(i){const e=b.value.find(u=>String(u.value)===String(i)),s=e?String(e.name??"").trim():"";D(s)||(a.channel_source_detail="")}const v=x(!1),N=x(!1),a=R({id:0,appointment_date:"",appointment_time:"",period:"morning",appointment_type:"video",status:1,remark:"",assistant_id:void 0,channel_source:"",channel_source_detail:""});function j(i){const e=String(i||"");return e.length>=11?e.slice(0,3)+"****"+e.slice(-4):e||"—"}function q(i){const e=String(i||"");return e.length>=5?e.slice(0,5):e||"—"}function z(){Object.assign(d,K),E()}function J(i){const e=String(i.period??i.type??"morning");return e==="afternoon"||e==="all"?e:"morning"}async function W(){try{const i=await Fe();C.value=(i==null?void 0:i.lists)??i??[]}catch{C.value=[]}}async function X(){try{const i=await De({type:"channels"}),e=((i==null?void 0:i.channels)||[]).filter(s=>s.status!==0);e.sort((s,u)=>{const r=Number((u==null?void 0:u.sort)??0)-Number((s==null?void 0:s.sort)??0);return r!==0?r:Number((u==null?void 0:u.id)??0)-Number((s==null?void 0:s.id)??0)}),b.value=e}catch{b.value=[]}}function Z(i){a.id=Number(i.id),a.appointment_date=String(i.appointment_date||""),a.appointment_time=q(String(i.appointment_time||"")),a.period=J(i),a.appointment_type=String(i.appointment_type||"video"),a.status=Number(i.status),a.remark=String(i.remark||"");const e=i.appointment_assistant_id;a.assistant_id=e!=null&&e!==""?Number(e):void 0,a.channel_source=String(i.channel_source??i.channels??""),a.channel_source_detail=String(i.channel_source_detail??""),v.value=!0}function ee(){a.id=0,a.appointment_date="",a.appointment_time="",a.period="morning",a.appointment_type="video",a.status=1,a.remark="",a.assistant_id=void 0,a.channel_source="",a.channel_source_detail=""}async function te(){if(!a.appointment_date){h.msgError("请选择预约日期");return}if(!a.appointment_time){h.msgError("请选择预约时间");return}if(!a.channel_source){h.msgError("请选择渠道来源");return}if(T.value&&!a.channel_source_detail.trim()){h.msgError("请填写自媒体补充说明");return}N.value=!0;try{const i={id:a.id,appointment_date:a.appointment_date,appointment_time:a.appointment_time,period:a.period,appointment_type:a.appointment_type,status:a.status,remark:a.remark,assistant_id:a.assistant_id??"",channel_source:a.channel_source,channel_source_detail:a.channel_source_detail.trim()};await qe(i),h.msgSuccess("保存成功"),v.value=!1,w()}finally{N.value=!1}}return Pe(()=>{W(),X()}),Ae(()=>{w()}),w(),(i,e)=>{const s=pe,u=_e,r=fe,y=ce,V=ve,F=me,H=ge,m=ye,le=Ve,ae=be,ne=Ce,oe=ke,ie=we,U=Se,se=Ee,re=xe,de=Ie("perms"),ue=he;return p(),S("div",Le,[l(H,{class:"!border-none",shadow:"never"},{default:o(()=>[l(F,{class:"mb-[-16px]",model:n(d),inline:!0,onSubmit:e[5]||(e[5]=Ne(()=>{},["prevent"]))},{default:o(()=>[l(s,{label:"预约日期"},{default:o(()=>[l(Ue,{startTime:n(d).start_date,"onUpdate:startTime":e[0]||(e[0]=t=>n(d).start_date=t),endTime:n(d).end_date,"onUpdate:endTime":e[1]||(e[1]=t=>n(d).end_date=t)},null,8,["startTime","endTime"])]),_:1}),l(s,{label:"患者姓名"},{default:o(()=>[l(u,{modelValue:n(d).patient_name,"onUpdate:modelValue":e[2]||(e[2]=t=>n(d).patient_name=t),placeholder:"模糊搜索",clearable:"",class:"!w-[160px]",onKeyup:P(n(E),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),l(s,{label:"医生"},{default:o(()=>[l(u,{modelValue:n(d).doctor_name,"onUpdate:modelValue":e[3]||(e[3]=t=>n(d).doctor_name=t),placeholder:"模糊搜索",clearable:"",class:"!w-[140px]",onKeyup:P(n(E),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),l(s,{label:"状态"},{default:o(()=>[l(y,{modelValue:n(d).status,"onUpdate:modelValue":e[4]||(e[4]=t=>n(d).status=t),placeholder:"全部",clearable:"",class:"!w-[130px]"},{default:o(()=>[l(r,{label:"已预约",value:1}),l(r,{label:"已取消",value:2}),l(r,{label:"已完成",value:3}),l(r,{label:"已过号",value:4})]),_:1},8,["modelValue"])]),_:1}),l(s,null,{default:o(()=>[l(V,{type:"primary",onClick:n(E)},{default:o(()=>[...e[18]||(e[18]=[_("查询",-1)])]),_:1},8,["onClick"]),l(V,{onClick:z},{default:o(()=>[...e[19]||(e[19]=[_("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),l(H,{class:"!border-none mt-4",shadow:"never"},{default:o(()=>[A((p(),k(ae,{data:n(g).lists,size:"large",stripe:""},{default:o(()=>[l(m,{label:"ID",prop:"id",width:"72",align:"center"}),l(m,{label:"诊单/患者","min-width":"140"},{default:o(({row:t})=>[f("div",Me,[f("div",Be,c(t.patient_name||"—"),1),f("div",Oe,c(j(t.patient_phone)),1),f("div",Re,"诊单 #"+c(t.diagnosis_id??t.patient_id),1)])]),_:1}),l(m,{label:"医生",prop:"doctor_name",width:"100","show-overflow-tooltip":""}),l(m,{label:"医助",prop:"assistant_name",width:"100","show-overflow-tooltip":""}),l(m,{label:"预约时间","min-width":"128"},{default:o(({row:t})=>[f("div",null,c(t.appointment_date),1),f("div",Ge,c(q(t.appointment_time))+" · "+c(t.period_desc),1)]),_:1}),l(m,{label:"类型",prop:"appointment_type_desc",width:"100"}),l(m,{label:"渠道","min-width":"130","show-overflow-tooltip":""},{default:o(({row:t})=>[f("div",Ke,c(t.channel_source_desc||"—"),1),t.channel_source_detail?(p(),S("div",Qe,c(t.channel_source_detail),1)):I("",!0)]),_:1}),l(m,{label:"状态",width:"96",align:"center"},{default:o(({row:t})=>[l(le,{type:t.status===1?"success":t.status===2?"info":t.status===3?"primary":"danger",size:"small",effect:"light"},{default:o(()=>[_(c(t.status_desc),1)]),_:2},1032,["type"])]),_:1}),l(m,{label:"备注",prop:"remark","min-width":"120","show-overflow-tooltip":""}),l(m,{label:"操作",width:"100",fixed:"right",align:"center"},{default:o(({row:t})=>[A((p(),k(V,{type:"primary",link:"",onClick:ze=>Z(t)},{default:o(()=>[...e[20]||(e[20]=[_(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[de,["doctor.appointment/edit"]]])]),_:1})]),_:1},8,["data"])),[[ue,n(g).loading]]),f("div",$e,[l(ne,{modelValue:n(g),"onUpdate:modelValue":e[6]||(e[6]=t=>O(g)?g.value=t:null),onChange:n(w)},null,8,["modelValue","onChange"])])]),_:1}),l(re,{modelValue:n(v),"onUpdate:modelValue":e[17]||(e[17]=t=>O(v)?v.value=t:null),title:"编辑挂号",width:"560px","destroy-on-close":"",onClosed:ee},{footer:o(()=>[l(V,{onClick:e[16]||(e[16]=t=>v.value=!1)},{default:o(()=>[...e[24]||(e[24]=[_("取消",-1)])]),_:1}),l(V,{type:"primary",loading:n(N),onClick:te},{default:o(()=>[...e[25]||(e[25]=[_("保存",-1)])]),_:1},8,["loading"])]),default:o(()=>[l(F,{model:n(a),"label-width":"96px"},{default:o(()=>[l(s,{label:"预约日期",required:""},{default:o(()=>[l(oe,{modelValue:n(a).appointment_date,"onUpdate:modelValue":e[7]||(e[7]=t=>n(a).appointment_date=t),type:"date","value-format":"YYYY-MM-DD",placeholder:"选择日期",class:"!w-full"},null,8,["modelValue"])]),_:1}),l(s,{label:"预约时间",required:""},{default:o(()=>[l(ie,{modelValue:n(a).appointment_time,"onUpdate:modelValue":e[8]||(e[8]=t=>n(a).appointment_time=t),format:"HH:mm","value-format":"HH:mm",placeholder:"时间",class:"!w-full"},null,8,["modelValue"])]),_:1}),l(s,{label:"时段",required:""},{default:o(()=>[l(se,{modelValue:n(a).period,"onUpdate:modelValue":e[9]||(e[9]=t=>n(a).period=t)},{default:o(()=>[l(U,{label:"morning"},{default:o(()=>[...e[21]||(e[21]=[_("上午",-1)])]),_:1}),l(U,{label:"afternoon"},{default:o(()=>[...e[22]||(e[22]=[_("下午",-1)])]),_:1}),l(U,{label:"all"},{default:o(()=>[...e[23]||(e[23]=[_("全天",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),l(s,{label:"问诊类型",required:""},{default:o(()=>[l(y,{modelValue:n(a).appointment_type,"onUpdate:modelValue":e[10]||(e[10]=t=>n(a).appointment_type=t),class:"!w-full"},{default:o(()=>[l(r,{label:"视频问诊",value:"video"}),l(r,{label:"图文问诊",value:"text"}),l(r,{label:"电话问诊",value:"phone"})]),_:1},8,["modelValue"])]),_:1}),l(s,{label:"渠道来源",required:""},{default:o(()=>[l(y,{modelValue:n(a).channel_source,"onUpdate:modelValue":e[11]||(e[11]=t=>n(a).channel_source=t),placeholder:"请选择渠道来源",filterable:"",class:"!w-full",onChange:Y},{default:o(()=>[(p(!0),S(L,null,M(n(b),t=>(p(),k(r,{key:String(t.value),label:t.name,value:t.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),n(T)?(p(),k(s,{key:0,label:"自媒体补充",required:""},{default:o(()=>[l(u,{modelValue:n(a).channel_source_detail,"onUpdate:modelValue":e[12]||(e[12]=t=>n(a).channel_source_detail=t),maxlength:"128","show-word-limit":"",placeholder:"请输入自媒体相关补充内容",clearable:"",class:"!w-full"},null,8,["modelValue"])]),_:1})):I("",!0),l(s,{label:"状态",required:""},{default:o(()=>[l(y,{modelValue:n(a).status,"onUpdate:modelValue":e[13]||(e[13]=t=>n(a).status=t),class:"!w-full"},{default:o(()=>[l(r,{label:"已预约",value:1}),l(r,{label:"已取消",value:2}),l(r,{label:"已完成",value:3}),l(r,{label:"已过号",value:4})]),_:1},8,["modelValue"])]),_:1}),l(s,{label:"挂号医助"},{default:o(()=>[l(y,{modelValue:n(a).assistant_id,"onUpdate:modelValue":e[14]||(e[14]=t=>n(a).assistant_id=t),placeholder:"不修改可留空",clearable:"",filterable:"",class:"!w-full"},{default:o(()=>[(p(!0),S(L,null,M(n(C),t=>(p(),k(r,{key:t.id,label:t.name+(t.account?` (${t.account})`:""),value:t.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(s,{label:"备注"},{default:o(()=>[l(u,{modelValue:n(a).remark,"onUpdate:modelValue":e[15]||(e[15]=t=>n(a).remark=t),type:"textarea",rows:3,maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"])])}}});export{Lt as default}; diff --git a/server/public/admin/assets/h5-Db8wr74y.js b/server/public/admin/assets/h5-3XP2M5m8.js similarity index 94% rename from server/public/admin/assets/h5-Db8wr74y.js rename to server/public/admin/assets/h5-3XP2M5m8.js index 052e5000..8c827307 100644 --- a/server/public/admin/assets/h5-Db8wr74y.js +++ b/server/public/admin/assets/h5-3XP2M5m8.js @@ -1 +1 @@ -import{_ as H}from"./index-9zND60WT.js";import{K as I,J as G,D as R,B as U,G as q,I as F,C as J,i as S}from"./element-plus-0wC3naml.js";import{r as V}from"./index-E47--KT7.js";import{f as C,as as w,ak as p,I as A,a as o,aN as e,J as m,O as l,G as u,H as K,aP as b}from"./@vue/runtime-core-C6bnekPw.js";import{y as a,r as O}from"./@vue/reactivity-DiY1c2vO.js";import{Q as P}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";function Q(_){return V.post({url:"/channel.web_page_setting/setConfig",params:_})}function T(){return V.get({url:"/channel.web_page_setting/getConfig"})}const j={class:"w-80"},z={class:"flex-1 min-w-0 break-words"},L=C({name:"h5Config"}),Gt=C({...L,setup(_){const r=O({status:0,page_status:0,page_url:"",url:""}),d=async()=>{const f=await T();for(const t in r)r[t]=f[t]},y=async()=>{await Q(r),d()};return d(),(f,t)=>{const E=I,g=G,n=F,c=q,i=U,k=J,v=S,x=R,B=H,D=w("copy"),N=w("perms");return p(),A("div",null,[o(g,{class:"!border-none",shadow:"never"},{default:e(()=>[o(E,{type:"warning",title:"温馨提示:H5设置",closable:!1,"show-icon":""})]),_:1}),o(g,{class:"!border-none mt-4",shadow:"never"},{default:e(()=>[o(x,{ref:"formRef",model:a(r),"label-width":"120px"},{default:e(()=>[o(i,{label:"渠道状态",required:"",prop:"status"},{default:e(()=>[m("div",null,[o(c,{modelValue:a(r).status,"onUpdate:modelValue":t[0]||(t[0]=s=>a(r).status=s)},{default:e(()=>[o(n,{value:1},{default:e(()=>[...t[3]||(t[3]=[l("开启",-1)])]),_:1}),o(n,{value:0},{default:e(()=>[...t[4]||(t[4]=[l("关闭",-1)])]),_:1})]),_:1},8,["modelValue"]),t[5]||(t[5]=m("div",{class:"form-tips"},"状态为关闭时,将不对外提供服务,请谨慎操作",-1))])]),_:1}),o(i,{label:"关闭后访问页面",prop:"page_status"},{default:e(()=>[o(c,{modelValue:a(r).page_status,"onUpdate:modelValue":t[1]||(t[1]=s=>a(r).page_status=s)},{default:e(()=>[o(n,{value:0},{default:e(()=>[...t[6]||(t[6]=[l("空页面",-1)])]),_:1}),o(n,{value:1},{default:e(()=>[...t[7]||(t[7]=[l("自定义链接",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(r).page_status==1?(p(),u(i,{key:0,label:"",prop:"page_url"},{default:e(()=>[m("div",j,[o(k,{modelValue:a(r).page_url,"onUpdate:modelValue":t[2]||(t[2]=s=>a(r).page_url=s),placeholder:"请输入完整的url"},null,8,["modelValue"])])]),_:1})):K("",!0),o(i,{label:"访问链接"},{default:e(()=>[m("div",z,[l(P(a(r).url)+" ",1),b((p(),u(v,null,{default:e(()=>[...t[8]||(t[8]=[l("复制",-1)])]),_:1})),[[D,a(r).url]])])]),_:1})]),_:1},8,["model"])]),_:1}),b((p(),u(B,null,{default:e(()=>[o(v,{type:"primary",onClick:y},{default:e(()=>[...t[9]||(t[9]=[l("保存",-1)])]),_:1})]),_:1})),[[N,["channel.web_page_setting/setConfig"]]])])}}});export{Gt as default}; +import{_ as H}from"./index-x1zzA0a7.js";import{K as I,J as G,D as R,B as U,G as q,I as F,C as J,i as S}from"./element-plus-DFTWCWyi.js";import{r as V}from"./index-DBREMm_z.js";import{f as C,as as w,ak as p,I as A,a as o,aN as e,J as m,O as l,G as u,H as K,aP as b}from"./@vue/runtime-core-C6bnekPw.js";import{y as a,r as O}from"./@vue/reactivity-DiY1c2vO.js";import{Q as P}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";function Q(_){return V.post({url:"/channel.web_page_setting/setConfig",params:_})}function T(){return V.get({url:"/channel.web_page_setting/getConfig"})}const j={class:"w-80"},z={class:"flex-1 min-w-0 break-words"},L=C({name:"h5Config"}),Gt=C({...L,setup(_){const r=O({status:0,page_status:0,page_url:"",url:""}),d=async()=>{const f=await T();for(const t in r)r[t]=f[t]},y=async()=>{await Q(r),d()};return d(),(f,t)=>{const E=I,g=G,n=F,c=q,i=U,k=J,v=S,x=R,B=H,D=w("copy"),N=w("perms");return p(),A("div",null,[o(g,{class:"!border-none",shadow:"never"},{default:e(()=>[o(E,{type:"warning",title:"温馨提示:H5设置",closable:!1,"show-icon":""})]),_:1}),o(g,{class:"!border-none mt-4",shadow:"never"},{default:e(()=>[o(x,{ref:"formRef",model:a(r),"label-width":"120px"},{default:e(()=>[o(i,{label:"渠道状态",required:"",prop:"status"},{default:e(()=>[m("div",null,[o(c,{modelValue:a(r).status,"onUpdate:modelValue":t[0]||(t[0]=s=>a(r).status=s)},{default:e(()=>[o(n,{value:1},{default:e(()=>[...t[3]||(t[3]=[l("开启",-1)])]),_:1}),o(n,{value:0},{default:e(()=>[...t[4]||(t[4]=[l("关闭",-1)])]),_:1})]),_:1},8,["modelValue"]),t[5]||(t[5]=m("div",{class:"form-tips"},"状态为关闭时,将不对外提供服务,请谨慎操作",-1))])]),_:1}),o(i,{label:"关闭后访问页面",prop:"page_status"},{default:e(()=>[o(c,{modelValue:a(r).page_status,"onUpdate:modelValue":t[1]||(t[1]=s=>a(r).page_status=s)},{default:e(()=>[o(n,{value:0},{default:e(()=>[...t[6]||(t[6]=[l("空页面",-1)])]),_:1}),o(n,{value:1},{default:e(()=>[...t[7]||(t[7]=[l("自定义链接",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(r).page_status==1?(p(),u(i,{key:0,label:"",prop:"page_url"},{default:e(()=>[m("div",j,[o(k,{modelValue:a(r).page_url,"onUpdate:modelValue":t[2]||(t[2]=s=>a(r).page_url=s),placeholder:"请输入完整的url"},null,8,["modelValue"])])]),_:1})):K("",!0),o(i,{label:"访问链接"},{default:e(()=>[m("div",z,[l(P(a(r).url)+" ",1),b((p(),u(v,null,{default:e(()=>[...t[8]||(t[8]=[l("复制",-1)])]),_:1})),[[D,a(r).url]])])]),_:1})]),_:1},8,["model"])]),_:1}),b((p(),u(B,null,{default:e(()=>[o(v,{type:"primary",onClick:y},{default:e(()=>[...t[9]||(t[9]=[l("保存",-1)])]),_:1})]),_:1})),[[N,["channel.web_page_setting/setConfig"]]])])}}});export{Gt as default}; diff --git a/server/public/admin/assets/h5-DoiReXRh.js b/server/public/admin/assets/h5-Bbv5vJWD.js similarity index 98% rename from server/public/admin/assets/h5-DoiReXRh.js rename to server/public/admin/assets/h5-Bbv5vJWD.js index 19ee50e3..01b8c1a8 100644 --- a/server/public/admin/assets/h5-DoiReXRh.js +++ b/server/public/admin/assets/h5-Bbv5vJWD.js @@ -1 +1 @@ -import{C as De,Q as Fe,P as Ue,i as $e,L as Ye,R as Le,d as Se,D as Me,B as He,h as Ne,G as Te,I as Ie,g as qe,e as Ae,T as Be,F as Pe,a2 as Ge}from"./element-plus-0wC3naml.js";import{w as Ke}from"./@vue/runtime-dom-DDAG46FW.js";import{f as Oe,a as Qe,b as je,c as Je,d as Xe,e as We,g as Ze,h as et}from"./fans-Cx6ejviX.js";import{i as ae,_ as tt}from"./index-E47--KT7.js";import{d as lt}from"./dayjs-DG77mNTn.js";import{A as at}from"./@element-plus/icons-vue-HOEUG8sr.js";import{f as ne,ak as r,I as u,J as i,a as l,aN as s,O as n,aP as se,H as g,F as oe,ap as ie,A as st}from"./@vue/runtime-core-C6bnekPw.js";import{a as H,y as a,n as d}from"./@vue/reactivity-DiY1c2vO.js";import{Q as v}from"./@vue/shared-mAAVTE9n.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./lodash-D3kF6u-c.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const ot={class:"fans-h5"},it={class:"h5-header"},nt={class:"h5-search"},dt={class:"h5-filter-row"},rt={class:"h5-list"},ut={key:0,class:"h5-empty"},mt={class:"h5-card-header"},pt={class:"h5-card-name"},vt={class:"name"},_t={key:0,class:"age"},ct={class:"h5-card-body"},ft={class:"info-line"},gt={class:"value"},yt={class:"info-line"},Vt={class:"value"},kt={key:0,class:"info-line"},bt={class:"value remark"},ht={class:"h5-card-footer"},xt={class:"footer-left"},Ct={class:"visit-info"},Rt={class:"visit-count"},wt={key:0,class:"creator-info"},Et={class:"actions"},zt={key:0},Dt={key:1},Ft={key:2,class:"h5-no-more"},Ut={class:"h5-form-row"},$t={class:"h5-visit-header"},Yt={class:"h5-visit-list"},Lt={key:0,class:"h5-empty"},St={class:"visit-card-header"},Mt={class:"visit-card-tags"},Ht={class:"visit-time"},Nt={class:"visit-card-actions"},Tt={class:"visit-card-content"},It={key:0,class:"visit-card-result"},qt={class:"visit-card-meta"},At={key:0,class:"next-visit"},Bt={key:1,class:"operator"},Pt=ne({name:"fansH5"}),Gt=ne({...Pt,setup(Kt){const y=d(""),C=d({name:"",phone:"",gender:"",status:""}),k=d([]),E=d(!1),z=d(!1),N=d(1),de=15,K=d(0),O=st(()=>k.value.length{o?z.value=!0:E.value=!0;try{const e={page_no:N.value,page_size:de,...C.value};y.value&&(/^\d+$/.test(y.value)?e.phone=y.value:e.name=y.value);const f=await Oe(e);o?k.value=[...k.value,...f.lists||[]]:k.value=f.lists||[],K.value=f.count||0}catch(e){console.error(e)}finally{E.value=!1,z.value=!1}},V=()=>{N.value=1,T()},re=()=>{y.value="",C.value={name:"",phone:"",gender:"",status:""},V()},ue=()=>{z.value||(N.value++,T(!0))},b=d(!1),D=d("add"),I=d(),q=d(!1),m=d({id:0,name:"",phone:"",id_card:"",age:0,gender:1,status:1,remark:""}),me={name:[{required:!0,message:"请输入姓名",trigger:"blur"}],phone:[{required:!0,message:"请输入手机号",trigger:"blur"},{pattern:/^1[3-9]\d{9}$/,message:"手机号格式不正确",trigger:"blur"}],id_card:[{pattern:/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/,message:"身份证号格式不正确",trigger:"blur"}],gender:[{required:!0,message:"请选择性别",trigger:"change"}]},pe=()=>{D.value="add",b.value=!0},ve=o=>{D.value="edit",m.value={id:o.id,name:o.name,phone:o.phone,id_card:o.id_card,age:o.age,gender:o.gender,status:o.status,remark:o.remark},b.value=!0},_e=()=>{var o;m.value={id:0,name:"",phone:"",id_card:"",age:0,gender:1,status:1,remark:""},(o=I.value)==null||o.resetFields()},ce=async()=>{var o;await((o=I.value)==null?void 0:o.validate()),q.value=!0;try{D.value==="add"?await Qe(m.value):await je(m.value),b.value=!1,V()}catch{}finally{q.value=!1}},fe=async o=>{await ae.confirm(`确定删除粉丝「${o.name}」吗?`);try{await et({id:o.id}),V()}catch{}},F=d(!1),U=d(null),h=d([]),$=d(!1),Q=d(0),R=d(1),ge={1:"",2:"success",3:"info",4:"warning",5:"danger"},ye=o=>{U.value=o,F.value=!0,R.value=1,h.value=[],Y()},Y=async()=>{$.value=!0;try{const o=await Ze({fan_id:U.value.id,page_no:R.value,page_size:15});R.value===1?h.value=o.lists||[]:h.value=[...h.value,...o.lists||[]],Q.value=o.count||0}catch(o){console.error(o)}finally{$.value=!1}},Ve=()=>{R.value++,Y()},x=d(!1),L=d("add"),A=d(),B=d(!1),p=d({id:0,fan_id:0,visit_type:1,visit_time:"",content:"",result:"",next_visit_time:""}),ke={visit_type:[{required:!0,message:"请选择回访类型",trigger:"change"}],visit_time:[{required:!0,message:"请选择回访时间",trigger:"change"}],content:[{required:!0,message:"请输入回访内容",trigger:"blur"}]},be=()=>{L.value="add",p.value={id:0,fan_id:U.value.id,visit_type:1,visit_time:lt().format("YYYY-MM-DD HH:mm:ss"),content:"",result:"",next_visit_time:""},x.value=!0},he=o=>{L.value="edit",p.value={id:o.id,fan_id:o.fan_id,visit_type:o.visit_type,visit_time:o.visit_time_text||"",content:o.content||"",result:o.result||"",next_visit_time:o.next_visit_time_text||""},x.value=!0},xe=()=>{var o;p.value={id:0,fan_id:0,visit_type:1,visit_time:"",content:"",result:"",next_visit_time:""},(o=A.value)==null||o.resetFields()},Ce=async()=>{var o;await((o=A.value)==null?void 0:o.validate()),B.value=!0;try{L.value==="add"?await Je(p.value):await Xe(p.value),x.value=!1,R.value=1,Y()}catch{}finally{B.value=!1}},Re=async o=>{await ae.confirm("确定删除该回访记录吗?");try{await We({id:o}),R.value=1,Y()}catch{}};return T(),(o,e)=>{var le;const f=De,S=Fe,j=Ue,_=$e,J=Le,P=Be,we=Se,c=He,Ee=Ne,X=Ie,W=Te,ze=qe,Z=Me,G=Ae,w=Pe,ee=Ge,te=Ye;return r(),u("div",ot,[i("div",it,[i("div",nt,[l(f,{modelValue:a(y),"onUpdate:modelValue":e[0]||(e[0]=t=>H(y)?y.value=t:null),placeholder:"搜索姓名 / 手机号",clearable:"","prefix-icon":"Search",onKeyup:Ke(V,["enter"]),onClear:V},null,8,["modelValue"])]),i("div",dt,[l(j,{modelValue:a(C).gender,"onUpdate:modelValue":e[1]||(e[1]=t=>a(C).gender=t),placeholder:"性别",clearable:"",size:"small",onChange:V},{default:s(()=>[l(S,{label:"男",value:1}),l(S,{label:"女",value:2})]),_:1},8,["modelValue"]),l(j,{modelValue:a(C).status,"onUpdate:modelValue":e[2]||(e[2]=t=>a(C).status=t),placeholder:"状态",clearable:"",size:"small",onChange:V},{default:s(()=>[l(S,{label:"启用",value:1}),l(S,{label:"禁用",value:0})]),_:1},8,["modelValue"]),l(_,{type:"primary",size:"small",onClick:V},{default:s(()=>[...e[20]||(e[20]=[n("查询",-1)])]),_:1}),l(_,{size:"small",onClick:re},{default:s(()=>[...e[21]||(e[21]=[n("重置",-1)])]),_:1})])]),se((r(),u("div",rt,[a(k).length===0&&!a(E)?(r(),u("div",ut,[l(J,{description:"暂无粉丝数据"})])):g("",!0),(r(!0),u(oe,null,ie(a(k),t=>(r(),u("div",{key:t.id,class:"h5-card"},[i("div",mt,[i("div",pt,[i("span",vt,v(t.name),1),l(P,{size:"small",type:t.gender===1?"":t.gender===2?"danger":"info",effect:"plain"},{default:s(()=>[n(v(t.gender_desc),1)]),_:2},1032,["type"]),t.age?(r(),u("span",_t,v(t.age)+"岁",1)):g("",!0)]),l(P,{size:"small",type:t.status==1?"success":"danger"},{default:s(()=>[n(v(t.status==1?"启用":"禁用"),1)]),_:2},1032,["type"])]),i("div",ct,[i("div",ft,[e[22]||(e[22]=i("span",{class:"label"},"手机",-1)),i("span",gt,v(t.phone||"-"),1)]),i("div",yt,[e[23]||(e[23]=i("span",{class:"label"},"身份证",-1)),i("span",Vt,v(t.id_card||"-"),1)]),t.remark?(r(),u("div",kt,[e[24]||(e[24]=i("span",{class:"label"},"备注",-1)),i("span",bt,v(t.remark),1)])):g("",!0)]),i("div",ht,[i("div",xt,[i("div",Ct,[e[25]||(e[25]=n(" 回访 ",-1)),i("span",Rt,v(t.visit_count||0),1),e[26]||(e[26]=n(" 次 ",-1))]),t.creator_name?(r(),u("div",wt," 登记人:"+v(t.creator_name),1)):g("",!0)]),i("div",Et,[l(_,{type:"primary",text:"",size:"small",onClick:M=>ve(t)},{default:s(()=>[...e[27]||(e[27]=[n("编辑",-1)])]),_:1},8,["onClick"]),l(_,{type:"success",text:"",size:"small",onClick:M=>ye(t)},{default:s(()=>[...e[28]||(e[28]=[n("回访",-1)])]),_:1},8,["onClick"]),l(_,{type:"danger",text:"",size:"small",onClick:M=>fe(t)},{default:s(()=>[...e[29]||(e[29]=[n("删除",-1)])]),_:1},8,["onClick"])])])]))),128)),a(O)?(r(),u("div",{key:1,class:"h5-load-more",onClick:ue},[a(z)?(r(),u("span",Dt,"加载中...")):(r(),u("span",zt,"加载更多"))])):g("",!0),!a(O)&&a(k).length>0?(r(),u("div",Ft,"没有更多了")):g("",!0)])),[[te,a(E)]]),i("div",{class:"h5-fab",onClick:pe},[l(we,{size:24},{default:s(()=>[l(a(at))]),_:1})]),l(G,{modelValue:a(b),"onUpdate:modelValue":e[11]||(e[11]=t=>H(b)?b.value=t:null),title:a(D)==="add"?"新增粉丝":"编辑粉丝",direction:"btt",size:"85%","close-on-click-modal":!1,onClosed:_e},{footer:s(()=>[l(_,{class:"flex-1",onClick:e[10]||(e[10]=t=>b.value=!1)},{default:s(()=>[...e[32]||(e[32]=[n("取消",-1)])]),_:1}),l(_,{class:"flex-1",type:"primary",loading:a(q),onClick:ce},{default:s(()=>[...e[33]||(e[33]=[n("确定",-1)])]),_:1},8,["loading"])]),default:s(()=>[l(Z,{ref_key:"fanFormRef",ref:I,model:a(m),rules:me,"label-position":"top",class:"h5-form"},{default:s(()=>[l(c,{label:"姓名",prop:"name"},{default:s(()=>[l(f,{modelValue:a(m).name,"onUpdate:modelValue":e[3]||(e[3]=t=>a(m).name=t),placeholder:"请输入姓名",maxlength:"50"},null,8,["modelValue"])]),_:1}),l(c,{label:"手机号",prop:"phone"},{default:s(()=>[l(f,{modelValue:a(m).phone,"onUpdate:modelValue":e[4]||(e[4]=t=>a(m).phone=t),placeholder:"请输入手机号",maxlength:"11"},null,8,["modelValue"])]),_:1}),l(c,{label:"身份证号",prop:"id_card"},{default:s(()=>[l(f,{modelValue:a(m).id_card,"onUpdate:modelValue":e[5]||(e[5]=t=>a(m).id_card=t),placeholder:"请输入身份证号码",maxlength:"18"},null,8,["modelValue"])]),_:1}),i("div",Ut,[l(c,{label:"年龄",prop:"age",class:"flex-1"},{default:s(()=>[l(Ee,{modelValue:a(m).age,"onUpdate:modelValue":e[6]||(e[6]=t=>a(m).age=t),min:0,max:150,"controls-position":"right",class:"!w-full"},null,8,["modelValue"])]),_:1}),l(c,{label:"性别",prop:"gender",class:"flex-1"},{default:s(()=>[l(W,{modelValue:a(m).gender,"onUpdate:modelValue":e[7]||(e[7]=t=>a(m).gender=t)},{default:s(()=>[l(X,{label:1},{default:s(()=>[...e[30]||(e[30]=[n("男",-1)])]),_:1}),l(X,{label:2},{default:s(()=>[...e[31]||(e[31]=[n("女",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),l(c,{label:"状态"},{default:s(()=>[l(ze,{modelValue:a(m).status,"onUpdate:modelValue":e[8]||(e[8]=t=>a(m).status=t),"active-value":1,"inactive-value":0,"active-text":"启用","inactive-text":"禁用"},null,8,["modelValue"])]),_:1}),l(c,{label:"备注"},{default:s(()=>[l(f,{modelValue:a(m).remark,"onUpdate:modelValue":e[9]||(e[9]=t=>a(m).remark=t),type:"textarea",rows:3,placeholder:"请输入备注",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"]),l(G,{modelValue:a(F),"onUpdate:modelValue":e[12]||(e[12]=t=>H(F)?F.value=t:null),title:`回访记录 - ${((le=a(U))==null?void 0:le.name)||""}`,direction:"rtl",size:"100%","close-on-click-modal":!1},{default:s(()=>[i("div",$t,[l(_,{type:"primary",size:"small",onClick:be},{default:s(()=>[...e[34]||(e[34]=[n("+ 新增回访",-1)])]),_:1})]),se((r(),u("div",Yt,[a(h).length===0&&!a($)?(r(),u("div",Lt,[l(J,{description:"暂无回访记录","image-size":80})])):g("",!0),(r(!0),u(oe,null,ie(a(h),t=>(r(),u("div",{key:t.id,class:"h5-visit-card"},[i("div",St,[i("div",Mt,[l(P,{size:"small",type:ge[t.visit_type]},{default:s(()=>[n(v(t.visit_type_desc),1)]),_:2},1032,["type"]),i("span",Ht,v(t.visit_time_text),1)]),i("div",Nt,[l(_,{type:"primary",text:"",size:"small",onClick:M=>he(t)},{default:s(()=>[...e[35]||(e[35]=[n("编辑",-1)])]),_:1},8,["onClick"]),l(_,{type:"danger",text:"",size:"small",onClick:M=>Re(t.id)},{default:s(()=>[...e[36]||(e[36]=[n("删除",-1)])]),_:1},8,["onClick"])])]),i("div",Tt,v(t.content),1),t.result?(r(),u("div",It,[e[37]||(e[37]=i("span",{class:"label"},"结果:",-1)),n(v(t.result),1)])):g("",!0),i("div",qt,[t.next_visit_time_text?(r(),u("span",At,"下次回访:"+v(t.next_visit_time_text),1)):g("",!0),t.operator_name?(r(),u("span",Bt,v(t.operator_name),1)):g("",!0)])]))),128)),a(Q)>a(h).length?(r(),u("div",{key:1,class:"h5-load-more",onClick:Ve}," 加载更多 ")):g("",!0)])),[[te,a($)]])]),_:1},8,["modelValue","title"]),l(G,{modelValue:a(x),"onUpdate:modelValue":e[19]||(e[19]=t=>H(x)?x.value=t:null),title:a(L)==="add"?"新增回访记录":"编辑回访记录",direction:"btt",size:"80%","close-on-click-modal":!1,onClosed:xe},{footer:s(()=>[l(_,{class:"flex-1",onClick:e[18]||(e[18]=t=>x.value=!1)},{default:s(()=>[...e[43]||(e[43]=[n("取消",-1)])]),_:1}),l(_,{class:"flex-1",type:"primary",loading:a(B),onClick:Ce},{default:s(()=>[...e[44]||(e[44]=[n("确定",-1)])]),_:1},8,["loading"])]),default:s(()=>[l(Z,{ref_key:"visitFormRef",ref:A,model:a(p),rules:ke,"label-position":"top",class:"h5-form"},{default:s(()=>[l(c,{label:"回访类型",prop:"visit_type"},{default:s(()=>[l(W,{modelValue:a(p).visit_type,"onUpdate:modelValue":e[13]||(e[13]=t=>a(p).visit_type=t),class:"h5-radio-group"},{default:s(()=>[l(w,{label:1},{default:s(()=>[...e[38]||(e[38]=[n("电话",-1)])]),_:1}),l(w,{label:2},{default:s(()=>[...e[39]||(e[39]=[n("微信",-1)])]),_:1}),l(w,{label:3},{default:s(()=>[...e[40]||(e[40]=[n("短信",-1)])]),_:1}),l(w,{label:4},{default:s(()=>[...e[41]||(e[41]=[n("上门",-1)])]),_:1}),l(w,{label:5},{default:s(()=>[...e[42]||(e[42]=[n("其他",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),l(c,{label:"回访时间",prop:"visit_time"},{default:s(()=>[l(ee,{modelValue:a(p).visit_time,"onUpdate:modelValue":e[14]||(e[14]=t=>a(p).visit_time=t),type:"datetime",placeholder:"请选择回访时间","value-format":"YYYY-MM-DD HH:mm:ss",class:"!w-full"},null,8,["modelValue"])]),_:1}),l(c,{label:"回访内容",prop:"content"},{default:s(()=>[l(f,{modelValue:a(p).content,"onUpdate:modelValue":e[15]||(e[15]=t=>a(p).content=t),type:"textarea",rows:4,placeholder:"请输入回访内容"},null,8,["modelValue"])]),_:1}),l(c,{label:"回访结果"},{default:s(()=>[l(f,{modelValue:a(p).result,"onUpdate:modelValue":e[16]||(e[16]=t=>a(p).result=t),type:"textarea",rows:3,placeholder:"请输入回访结果"},null,8,["modelValue"])]),_:1}),l(c,{label:"下次回访时间"},{default:s(()=>[l(ee,{modelValue:a(p).next_visit_time,"onUpdate:modelValue":e[17]||(e[17]=t=>a(p).next_visit_time=t),type:"datetime",placeholder:"请选择下次回访时间","value-format":"YYYY-MM-DD HH:mm:ss",class:"!w-full"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}}),Ul=tt(Gt,[["__scopeId","data-v-004381f4"]]);export{Ul as default}; +import{C as De,Q as Fe,P as Ue,i as $e,L as Ye,R as Le,d as Se,D as Me,B as He,h as Ne,G as Te,I as Ie,g as qe,e as Ae,T as Be,F as Pe,a2 as Ge}from"./element-plus-DFTWCWyi.js";import{w as Ke}from"./@vue/runtime-dom-DDAG46FW.js";import{f as Oe,a as Qe,b as je,c as Je,d as Xe,e as We,g as Ze,h as et}from"./fans-KouiHeJ-.js";import{i as ae,_ as tt}from"./index-DBREMm_z.js";import{d as lt}from"./dayjs-DG77mNTn.js";import{A as at}from"./@element-plus/icons-vue-HOEUG8sr.js";import{f as ne,ak as r,I as u,J as i,a as l,aN as s,O as n,aP as se,H as g,F as oe,ap as ie,A as st}from"./@vue/runtime-core-C6bnekPw.js";import{a as H,y as a,n as d}from"./@vue/reactivity-DiY1c2vO.js";import{Q as v}from"./@vue/shared-mAAVTE9n.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./lodash-D3kF6u-c.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const ot={class:"fans-h5"},it={class:"h5-header"},nt={class:"h5-search"},dt={class:"h5-filter-row"},rt={class:"h5-list"},ut={key:0,class:"h5-empty"},mt={class:"h5-card-header"},pt={class:"h5-card-name"},vt={class:"name"},_t={key:0,class:"age"},ct={class:"h5-card-body"},ft={class:"info-line"},gt={class:"value"},yt={class:"info-line"},Vt={class:"value"},kt={key:0,class:"info-line"},bt={class:"value remark"},ht={class:"h5-card-footer"},xt={class:"footer-left"},Ct={class:"visit-info"},Rt={class:"visit-count"},wt={key:0,class:"creator-info"},Et={class:"actions"},zt={key:0},Dt={key:1},Ft={key:2,class:"h5-no-more"},Ut={class:"h5-form-row"},$t={class:"h5-visit-header"},Yt={class:"h5-visit-list"},Lt={key:0,class:"h5-empty"},St={class:"visit-card-header"},Mt={class:"visit-card-tags"},Ht={class:"visit-time"},Nt={class:"visit-card-actions"},Tt={class:"visit-card-content"},It={key:0,class:"visit-card-result"},qt={class:"visit-card-meta"},At={key:0,class:"next-visit"},Bt={key:1,class:"operator"},Pt=ne({name:"fansH5"}),Gt=ne({...Pt,setup(Kt){const y=d(""),C=d({name:"",phone:"",gender:"",status:""}),k=d([]),E=d(!1),z=d(!1),N=d(1),de=15,K=d(0),O=st(()=>k.value.length{o?z.value=!0:E.value=!0;try{const e={page_no:N.value,page_size:de,...C.value};y.value&&(/^\d+$/.test(y.value)?e.phone=y.value:e.name=y.value);const f=await Oe(e);o?k.value=[...k.value,...f.lists||[]]:k.value=f.lists||[],K.value=f.count||0}catch(e){console.error(e)}finally{E.value=!1,z.value=!1}},V=()=>{N.value=1,T()},re=()=>{y.value="",C.value={name:"",phone:"",gender:"",status:""},V()},ue=()=>{z.value||(N.value++,T(!0))},b=d(!1),D=d("add"),I=d(),q=d(!1),m=d({id:0,name:"",phone:"",id_card:"",age:0,gender:1,status:1,remark:""}),me={name:[{required:!0,message:"请输入姓名",trigger:"blur"}],phone:[{required:!0,message:"请输入手机号",trigger:"blur"},{pattern:/^1[3-9]\d{9}$/,message:"手机号格式不正确",trigger:"blur"}],id_card:[{pattern:/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/,message:"身份证号格式不正确",trigger:"blur"}],gender:[{required:!0,message:"请选择性别",trigger:"change"}]},pe=()=>{D.value="add",b.value=!0},ve=o=>{D.value="edit",m.value={id:o.id,name:o.name,phone:o.phone,id_card:o.id_card,age:o.age,gender:o.gender,status:o.status,remark:o.remark},b.value=!0},_e=()=>{var o;m.value={id:0,name:"",phone:"",id_card:"",age:0,gender:1,status:1,remark:""},(o=I.value)==null||o.resetFields()},ce=async()=>{var o;await((o=I.value)==null?void 0:o.validate()),q.value=!0;try{D.value==="add"?await Qe(m.value):await je(m.value),b.value=!1,V()}catch{}finally{q.value=!1}},fe=async o=>{await ae.confirm(`确定删除粉丝「${o.name}」吗?`);try{await et({id:o.id}),V()}catch{}},F=d(!1),U=d(null),h=d([]),$=d(!1),Q=d(0),R=d(1),ge={1:"",2:"success",3:"info",4:"warning",5:"danger"},ye=o=>{U.value=o,F.value=!0,R.value=1,h.value=[],Y()},Y=async()=>{$.value=!0;try{const o=await Ze({fan_id:U.value.id,page_no:R.value,page_size:15});R.value===1?h.value=o.lists||[]:h.value=[...h.value,...o.lists||[]],Q.value=o.count||0}catch(o){console.error(o)}finally{$.value=!1}},Ve=()=>{R.value++,Y()},x=d(!1),L=d("add"),A=d(),B=d(!1),p=d({id:0,fan_id:0,visit_type:1,visit_time:"",content:"",result:"",next_visit_time:""}),ke={visit_type:[{required:!0,message:"请选择回访类型",trigger:"change"}],visit_time:[{required:!0,message:"请选择回访时间",trigger:"change"}],content:[{required:!0,message:"请输入回访内容",trigger:"blur"}]},be=()=>{L.value="add",p.value={id:0,fan_id:U.value.id,visit_type:1,visit_time:lt().format("YYYY-MM-DD HH:mm:ss"),content:"",result:"",next_visit_time:""},x.value=!0},he=o=>{L.value="edit",p.value={id:o.id,fan_id:o.fan_id,visit_type:o.visit_type,visit_time:o.visit_time_text||"",content:o.content||"",result:o.result||"",next_visit_time:o.next_visit_time_text||""},x.value=!0},xe=()=>{var o;p.value={id:0,fan_id:0,visit_type:1,visit_time:"",content:"",result:"",next_visit_time:""},(o=A.value)==null||o.resetFields()},Ce=async()=>{var o;await((o=A.value)==null?void 0:o.validate()),B.value=!0;try{L.value==="add"?await Je(p.value):await Xe(p.value),x.value=!1,R.value=1,Y()}catch{}finally{B.value=!1}},Re=async o=>{await ae.confirm("确定删除该回访记录吗?");try{await We({id:o}),R.value=1,Y()}catch{}};return T(),(o,e)=>{var le;const f=De,S=Fe,j=Ue,_=$e,J=Le,P=Be,we=Se,c=He,Ee=Ne,X=Ie,W=Te,ze=qe,Z=Me,G=Ae,w=Pe,ee=Ge,te=Ye;return r(),u("div",ot,[i("div",it,[i("div",nt,[l(f,{modelValue:a(y),"onUpdate:modelValue":e[0]||(e[0]=t=>H(y)?y.value=t:null),placeholder:"搜索姓名 / 手机号",clearable:"","prefix-icon":"Search",onKeyup:Ke(V,["enter"]),onClear:V},null,8,["modelValue"])]),i("div",dt,[l(j,{modelValue:a(C).gender,"onUpdate:modelValue":e[1]||(e[1]=t=>a(C).gender=t),placeholder:"性别",clearable:"",size:"small",onChange:V},{default:s(()=>[l(S,{label:"男",value:1}),l(S,{label:"女",value:2})]),_:1},8,["modelValue"]),l(j,{modelValue:a(C).status,"onUpdate:modelValue":e[2]||(e[2]=t=>a(C).status=t),placeholder:"状态",clearable:"",size:"small",onChange:V},{default:s(()=>[l(S,{label:"启用",value:1}),l(S,{label:"禁用",value:0})]),_:1},8,["modelValue"]),l(_,{type:"primary",size:"small",onClick:V},{default:s(()=>[...e[20]||(e[20]=[n("查询",-1)])]),_:1}),l(_,{size:"small",onClick:re},{default:s(()=>[...e[21]||(e[21]=[n("重置",-1)])]),_:1})])]),se((r(),u("div",rt,[a(k).length===0&&!a(E)?(r(),u("div",ut,[l(J,{description:"暂无粉丝数据"})])):g("",!0),(r(!0),u(oe,null,ie(a(k),t=>(r(),u("div",{key:t.id,class:"h5-card"},[i("div",mt,[i("div",pt,[i("span",vt,v(t.name),1),l(P,{size:"small",type:t.gender===1?"":t.gender===2?"danger":"info",effect:"plain"},{default:s(()=>[n(v(t.gender_desc),1)]),_:2},1032,["type"]),t.age?(r(),u("span",_t,v(t.age)+"岁",1)):g("",!0)]),l(P,{size:"small",type:t.status==1?"success":"danger"},{default:s(()=>[n(v(t.status==1?"启用":"禁用"),1)]),_:2},1032,["type"])]),i("div",ct,[i("div",ft,[e[22]||(e[22]=i("span",{class:"label"},"手机",-1)),i("span",gt,v(t.phone||"-"),1)]),i("div",yt,[e[23]||(e[23]=i("span",{class:"label"},"身份证",-1)),i("span",Vt,v(t.id_card||"-"),1)]),t.remark?(r(),u("div",kt,[e[24]||(e[24]=i("span",{class:"label"},"备注",-1)),i("span",bt,v(t.remark),1)])):g("",!0)]),i("div",ht,[i("div",xt,[i("div",Ct,[e[25]||(e[25]=n(" 回访 ",-1)),i("span",Rt,v(t.visit_count||0),1),e[26]||(e[26]=n(" 次 ",-1))]),t.creator_name?(r(),u("div",wt," 登记人:"+v(t.creator_name),1)):g("",!0)]),i("div",Et,[l(_,{type:"primary",text:"",size:"small",onClick:M=>ve(t)},{default:s(()=>[...e[27]||(e[27]=[n("编辑",-1)])]),_:1},8,["onClick"]),l(_,{type:"success",text:"",size:"small",onClick:M=>ye(t)},{default:s(()=>[...e[28]||(e[28]=[n("回访",-1)])]),_:1},8,["onClick"]),l(_,{type:"danger",text:"",size:"small",onClick:M=>fe(t)},{default:s(()=>[...e[29]||(e[29]=[n("删除",-1)])]),_:1},8,["onClick"])])])]))),128)),a(O)?(r(),u("div",{key:1,class:"h5-load-more",onClick:ue},[a(z)?(r(),u("span",Dt,"加载中...")):(r(),u("span",zt,"加载更多"))])):g("",!0),!a(O)&&a(k).length>0?(r(),u("div",Ft,"没有更多了")):g("",!0)])),[[te,a(E)]]),i("div",{class:"h5-fab",onClick:pe},[l(we,{size:24},{default:s(()=>[l(a(at))]),_:1})]),l(G,{modelValue:a(b),"onUpdate:modelValue":e[11]||(e[11]=t=>H(b)?b.value=t:null),title:a(D)==="add"?"新增粉丝":"编辑粉丝",direction:"btt",size:"85%","close-on-click-modal":!1,onClosed:_e},{footer:s(()=>[l(_,{class:"flex-1",onClick:e[10]||(e[10]=t=>b.value=!1)},{default:s(()=>[...e[32]||(e[32]=[n("取消",-1)])]),_:1}),l(_,{class:"flex-1",type:"primary",loading:a(q),onClick:ce},{default:s(()=>[...e[33]||(e[33]=[n("确定",-1)])]),_:1},8,["loading"])]),default:s(()=>[l(Z,{ref_key:"fanFormRef",ref:I,model:a(m),rules:me,"label-position":"top",class:"h5-form"},{default:s(()=>[l(c,{label:"姓名",prop:"name"},{default:s(()=>[l(f,{modelValue:a(m).name,"onUpdate:modelValue":e[3]||(e[3]=t=>a(m).name=t),placeholder:"请输入姓名",maxlength:"50"},null,8,["modelValue"])]),_:1}),l(c,{label:"手机号",prop:"phone"},{default:s(()=>[l(f,{modelValue:a(m).phone,"onUpdate:modelValue":e[4]||(e[4]=t=>a(m).phone=t),placeholder:"请输入手机号",maxlength:"11"},null,8,["modelValue"])]),_:1}),l(c,{label:"身份证号",prop:"id_card"},{default:s(()=>[l(f,{modelValue:a(m).id_card,"onUpdate:modelValue":e[5]||(e[5]=t=>a(m).id_card=t),placeholder:"请输入身份证号码",maxlength:"18"},null,8,["modelValue"])]),_:1}),i("div",Ut,[l(c,{label:"年龄",prop:"age",class:"flex-1"},{default:s(()=>[l(Ee,{modelValue:a(m).age,"onUpdate:modelValue":e[6]||(e[6]=t=>a(m).age=t),min:0,max:150,"controls-position":"right",class:"!w-full"},null,8,["modelValue"])]),_:1}),l(c,{label:"性别",prop:"gender",class:"flex-1"},{default:s(()=>[l(W,{modelValue:a(m).gender,"onUpdate:modelValue":e[7]||(e[7]=t=>a(m).gender=t)},{default:s(()=>[l(X,{label:1},{default:s(()=>[...e[30]||(e[30]=[n("男",-1)])]),_:1}),l(X,{label:2},{default:s(()=>[...e[31]||(e[31]=[n("女",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),l(c,{label:"状态"},{default:s(()=>[l(ze,{modelValue:a(m).status,"onUpdate:modelValue":e[8]||(e[8]=t=>a(m).status=t),"active-value":1,"inactive-value":0,"active-text":"启用","inactive-text":"禁用"},null,8,["modelValue"])]),_:1}),l(c,{label:"备注"},{default:s(()=>[l(f,{modelValue:a(m).remark,"onUpdate:modelValue":e[9]||(e[9]=t=>a(m).remark=t),type:"textarea",rows:3,placeholder:"请输入备注",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"]),l(G,{modelValue:a(F),"onUpdate:modelValue":e[12]||(e[12]=t=>H(F)?F.value=t:null),title:`回访记录 - ${((le=a(U))==null?void 0:le.name)||""}`,direction:"rtl",size:"100%","close-on-click-modal":!1},{default:s(()=>[i("div",$t,[l(_,{type:"primary",size:"small",onClick:be},{default:s(()=>[...e[34]||(e[34]=[n("+ 新增回访",-1)])]),_:1})]),se((r(),u("div",Yt,[a(h).length===0&&!a($)?(r(),u("div",Lt,[l(J,{description:"暂无回访记录","image-size":80})])):g("",!0),(r(!0),u(oe,null,ie(a(h),t=>(r(),u("div",{key:t.id,class:"h5-visit-card"},[i("div",St,[i("div",Mt,[l(P,{size:"small",type:ge[t.visit_type]},{default:s(()=>[n(v(t.visit_type_desc),1)]),_:2},1032,["type"]),i("span",Ht,v(t.visit_time_text),1)]),i("div",Nt,[l(_,{type:"primary",text:"",size:"small",onClick:M=>he(t)},{default:s(()=>[...e[35]||(e[35]=[n("编辑",-1)])]),_:1},8,["onClick"]),l(_,{type:"danger",text:"",size:"small",onClick:M=>Re(t.id)},{default:s(()=>[...e[36]||(e[36]=[n("删除",-1)])]),_:1},8,["onClick"])])]),i("div",Tt,v(t.content),1),t.result?(r(),u("div",It,[e[37]||(e[37]=i("span",{class:"label"},"结果:",-1)),n(v(t.result),1)])):g("",!0),i("div",qt,[t.next_visit_time_text?(r(),u("span",At,"下次回访:"+v(t.next_visit_time_text),1)):g("",!0),t.operator_name?(r(),u("span",Bt,v(t.operator_name),1)):g("",!0)])]))),128)),a(Q)>a(h).length?(r(),u("div",{key:1,class:"h5-load-more",onClick:Ve}," 加载更多 ")):g("",!0)])),[[te,a($)]])]),_:1},8,["modelValue","title"]),l(G,{modelValue:a(x),"onUpdate:modelValue":e[19]||(e[19]=t=>H(x)?x.value=t:null),title:a(L)==="add"?"新增回访记录":"编辑回访记录",direction:"btt",size:"80%","close-on-click-modal":!1,onClosed:xe},{footer:s(()=>[l(_,{class:"flex-1",onClick:e[18]||(e[18]=t=>x.value=!1)},{default:s(()=>[...e[43]||(e[43]=[n("取消",-1)])]),_:1}),l(_,{class:"flex-1",type:"primary",loading:a(B),onClick:Ce},{default:s(()=>[...e[44]||(e[44]=[n("确定",-1)])]),_:1},8,["loading"])]),default:s(()=>[l(Z,{ref_key:"visitFormRef",ref:A,model:a(p),rules:ke,"label-position":"top",class:"h5-form"},{default:s(()=>[l(c,{label:"回访类型",prop:"visit_type"},{default:s(()=>[l(W,{modelValue:a(p).visit_type,"onUpdate:modelValue":e[13]||(e[13]=t=>a(p).visit_type=t),class:"h5-radio-group"},{default:s(()=>[l(w,{label:1},{default:s(()=>[...e[38]||(e[38]=[n("电话",-1)])]),_:1}),l(w,{label:2},{default:s(()=>[...e[39]||(e[39]=[n("微信",-1)])]),_:1}),l(w,{label:3},{default:s(()=>[...e[40]||(e[40]=[n("短信",-1)])]),_:1}),l(w,{label:4},{default:s(()=>[...e[41]||(e[41]=[n("上门",-1)])]),_:1}),l(w,{label:5},{default:s(()=>[...e[42]||(e[42]=[n("其他",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),l(c,{label:"回访时间",prop:"visit_time"},{default:s(()=>[l(ee,{modelValue:a(p).visit_time,"onUpdate:modelValue":e[14]||(e[14]=t=>a(p).visit_time=t),type:"datetime",placeholder:"请选择回访时间","value-format":"YYYY-MM-DD HH:mm:ss",class:"!w-full"},null,8,["modelValue"])]),_:1}),l(c,{label:"回访内容",prop:"content"},{default:s(()=>[l(f,{modelValue:a(p).content,"onUpdate:modelValue":e[15]||(e[15]=t=>a(p).content=t),type:"textarea",rows:4,placeholder:"请输入回访内容"},null,8,["modelValue"])]),_:1}),l(c,{label:"回访结果"},{default:s(()=>[l(f,{modelValue:a(p).result,"onUpdate:modelValue":e[16]||(e[16]=t=>a(p).result=t),type:"textarea",rows:3,placeholder:"请输入回访结果"},null,8,["modelValue"])]),_:1}),l(c,{label:"下次回访时间"},{default:s(()=>[l(ee,{modelValue:a(p).next_visit_time,"onUpdate:modelValue":e[17]||(e[17]=t=>a(p).next_visit_time=t),type:"datetime",placeholder:"请选择下次回访时间","value-format":"YYYY-MM-DD HH:mm:ss",class:"!w-full"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}}),Ul=tt(Gt,[["__scopeId","data-v-004381f4"]]);export{Ul as default}; diff --git a/server/public/admin/assets/icon-Cy-wDZTO.js b/server/public/admin/assets/icon-cbJvAFB6.js similarity index 94% rename from server/public/admin/assets/icon-Cy-wDZTO.js rename to server/public/admin/assets/icon-cbJvAFB6.js index 44993e3e..9f6461b6 100644 --- a/server/public/admin/assets/icon-Cy-wDZTO.js +++ b/server/public/admin/assets/icon-cbJvAFB6.js @@ -1 +1 @@ -import{J as z,i as x}from"./element-plus-0wC3naml.js";import{_ as w}from"./picker.vue_vue_type_script_setup_true_lang-DBWe-4hk.js";import{c as s,y,z as b}from"./index-E47--KT7.js";import{f as k,as as g,ak as a,I as r,a as e,aN as t,J as i,F as _,ap as u,aP as f,G as v}from"./@vue/runtime-core-C6bnekPw.js";import{y as l,r as B}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const N={class:"flex items-center"},V={class:"flex items-center"},E={class:"flex items-center"},C={class:"flex items-center"},F={class:"flex flex-wrap"},I={class:"flex items-center"},P={class:"flex flex-wrap"},xe=k({__name:"icon",setup(S){const m=B({value:""});return(D,c)=>{const n=z,h=w,p=x,d=g("copy");return a(),r("div",null,[e(n,{header:"element-plus图标",shadow:"never",class:"!border-none"},{default:t(()=>[i("div",N,[e(s,{class:"m-4",size:24,name:"el-icon-Search"}),e(s,{class:"m-4",size:24,name:"el-icon-Plus"}),e(s,{class:"m-4",size:24,name:"el-icon-FullScreen"}),e(s,{class:"m-4",size:24,name:"el-icon-Setting"}),e(s,{class:"m-4",size:24,name:"el-icon-Warning"})])]),_:1}),e(n,{header:"本地图标",shadow:"never",class:"!border-none mt-4"},{default:t(()=>[i("div",V,[e(s,{class:"m-4",size:24,name:"local-icon-baoxian"}),e(s,{class:"m-4",size:24,name:"local-icon-youhui"}),e(s,{class:"m-4",size:24,name:"local-icon-daiyunying"}),e(s,{class:"m-4",size:24,name:"local-icon-diancanshezhi"}),e(s,{class:"m-4",size:24,name:"local-icon-dianzifapiao"})])]),_:1}),e(n,{header:"图标选择器",shadow:"never",class:"!border-none mt-4"},{default:t(()=>[i("div",E,[e(h,{modelValue:l(m).value,"onUpdate:modelValue":c[0]||(c[0]=o=>l(m).value=o)},null,8,["modelValue"])])]),_:1}),e(n,{header:"element-plus图标库大全(点击复制图标名称)",shadow:"never",class:"!border-none mt-4"},{default:t(()=>[i("div",C,[i("div",F,[(a(!0),r(_,null,u(l(y)(),o=>(a(),r("div",{key:o,class:"m-1"},[f((a(),v(p,null,{default:t(()=>[e(s,{name:o,size:20},null,8,["name"])]),_:2},1024)),[[d,o]])]))),128))])])]),_:1}),e(n,{header:"本地图标库大全(点击复制图标名称)",shadow:"never",class:"!border-none mt-4"},{default:t(()=>[i("div",I,[i("div",P,[(a(!0),r(_,null,u(l(b)(),o=>(a(),r("div",{key:o,class:"m-1"},[f((a(),v(p,null,{default:t(()=>[e(s,{name:o,size:20},null,8,["name"])]),_:2},1024)),[[d,o]])]))),128))])])]),_:1})])}}});export{xe as default}; +import{J as z,i as x}from"./element-plus-DFTWCWyi.js";import{_ as w}from"./picker.vue_vue_type_script_setup_true_lang-CqrG0MgW.js";import{c as s,y,z as b}from"./index-DBREMm_z.js";import{f as k,as as g,ak as a,I as r,a as e,aN as t,J as i,F as _,ap as u,aP as f,G as v}from"./@vue/runtime-core-C6bnekPw.js";import{y as l,r as B}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const N={class:"flex items-center"},V={class:"flex items-center"},E={class:"flex items-center"},C={class:"flex items-center"},F={class:"flex flex-wrap"},I={class:"flex items-center"},P={class:"flex flex-wrap"},xe=k({__name:"icon",setup(S){const m=B({value:""});return(D,c)=>{const n=z,h=w,p=x,d=g("copy");return a(),r("div",null,[e(n,{header:"element-plus图标",shadow:"never",class:"!border-none"},{default:t(()=>[i("div",N,[e(s,{class:"m-4",size:24,name:"el-icon-Search"}),e(s,{class:"m-4",size:24,name:"el-icon-Plus"}),e(s,{class:"m-4",size:24,name:"el-icon-FullScreen"}),e(s,{class:"m-4",size:24,name:"el-icon-Setting"}),e(s,{class:"m-4",size:24,name:"el-icon-Warning"})])]),_:1}),e(n,{header:"本地图标",shadow:"never",class:"!border-none mt-4"},{default:t(()=>[i("div",V,[e(s,{class:"m-4",size:24,name:"local-icon-baoxian"}),e(s,{class:"m-4",size:24,name:"local-icon-youhui"}),e(s,{class:"m-4",size:24,name:"local-icon-daiyunying"}),e(s,{class:"m-4",size:24,name:"local-icon-diancanshezhi"}),e(s,{class:"m-4",size:24,name:"local-icon-dianzifapiao"})])]),_:1}),e(n,{header:"图标选择器",shadow:"never",class:"!border-none mt-4"},{default:t(()=>[i("div",E,[e(h,{modelValue:l(m).value,"onUpdate:modelValue":c[0]||(c[0]=o=>l(m).value=o)},null,8,["modelValue"])])]),_:1}),e(n,{header:"element-plus图标库大全(点击复制图标名称)",shadow:"never",class:"!border-none mt-4"},{default:t(()=>[i("div",C,[i("div",F,[(a(!0),r(_,null,u(l(y)(),o=>(a(),r("div",{key:o,class:"m-1"},[f((a(),v(p,null,{default:t(()=>[e(s,{name:o,size:20},null,8,["name"])]),_:2},1024)),[[d,o]])]))),128))])])]),_:1}),e(n,{header:"本地图标库大全(点击复制图标名称)",shadow:"never",class:"!border-none mt-4"},{default:t(()=>[i("div",I,[i("div",P,[(a(!0),r(_,null,u(l(b)(),o=>(a(),r("div",{key:o,class:"m-1"},[f((a(),v(p,null,{default:t(()=>[e(s,{name:o,size:20},null,8,["name"])]),_:2},1024)),[[d,o]])]))),128))])])]),_:1})])}}});export{xe as default}; diff --git a/server/public/admin/assets/index-BJ25yAIh.js b/server/public/admin/assets/index-1heYt356.js similarity index 97% rename from server/public/admin/assets/index-BJ25yAIh.js rename to server/public/admin/assets/index-1heYt356.js index b09e254f..8005b279 100644 --- a/server/public/admin/assets/index-BJ25yAIh.js +++ b/server/public/admin/assets/index-1heYt356.js @@ -1,5 +1,5 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/edit-DlBhR6x6.js","assets/element-plus-0wC3naml.js","assets/@vue/runtime-dom-DDAG46FW.js","assets/lodash-D3kF6u-c.js","assets/@vue/runtime-core-C6bnekPw.js","assets/@vue/reactivity-DiY1c2vO.js","assets/@vue/shared-mAAVTE9n.js","assets/@element-plus/icons-vue-HOEUG8sr.js","assets/lodash-es-C2A-Pj28.js","assets/@popperjs/core-C5az9QE8.js","assets/dayjs-DG77mNTn.js","assets/@ctrl/tinycolor-BuyEbX8F.js","assets/async-validator-CFA_igpM.js","assets/normalize-wheel-es-BQoi3Ox2.js","assets/element-plus-C_YxM8bk.css","assets/tcm-SLIwsL8z.js","assets/index-E47--KT7.js","assets/jspdf-BsthCvR5.js","assets/@babel/runtime-BanGtE2-.js","assets/fflate-_ayOYiT1.js","assets/vue-router-QlpZ4wdW.js","assets/pinia-B8cvXbiZ.js","assets/axios-C80V62Fs.js","assets/@vueuse/core-1S4fJlii.js","assets/@vueuse/shared-Cl3lVqjz.js","assets/css-color-function-DI01JAaZ.js","assets/balanced-match-BdS7OldZ.js","assets/color-B2zxaWkI.js","assets/clone-DBZ6_OiU.js","assets/color-convert-OrFsTA_V.js","assets/color-name-Dju3oUBS.js","assets/color-string-pUQDDJII.js","assets/ms-CzQ2E3wO.js","assets/vue-clipboard3-DByT_rEQ.js","assets/clipboard-CHgxszqY.js","assets/echarts-CNLwa9wG.js","assets/tslib-BDyQ-Jie.js","assets/zrender-DRNXw7y3.js","assets/highlight.js-Bxt7hFFy.js","assets/highlight-BfC0goYb.css","assets/@highlightjs/vue-plugin-C4onkBvW.js","assets/index-Cf-gzPmQ.css","assets/perm-YIJpPBOg.js","assets/DailyMatrix-0DiBlpfB.js","assets/picker-DlbAZkDm.js","assets/index-nymJKQXP.js","assets/index-B3imPWFk.css","assets/index-B56X8bEB.js","assets/index.vue_vue_type_script_setup_true_lang-DXTGI59-.js","assets/index-BHTgr4Ka.js","assets/index-D0f1Mn00.css","assets/index-Ci4dcEQh.js","assets/cos-js-sdk-v5-DSMN0LUT.js","assets/file-DoYUJmkp.js","assets/index.vue_vue_type_script_setup_true_lang-Bl0f8aX8.js","assets/usePaging-VsbTxSU0.js","assets/index-BYOmK9R5.css","assets/vuedraggable-5bKFmC7X.js","assets/vue-BVs68q8v.js","assets/@vue/compiler-dom-CqayqxS7.js","assets/@vue/compiler-core-CvbQOXIO.js","assets/sortablejs-dsEAUXlE.js","assets/picker-XZbUgFct.css","assets/vue-echarts-BNtg2q_G.js","assets/resize-detector-G6vbKCU7.js","assets/DiagnosisTodoList-DC7uqd6f.js","assets/DiagnosisTodoList-D0SBmTHG.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix-zLBaKfXe.css","assets/CaseRecordList-CsyYkwG-.js","assets/CaseRecordList-Cl-c3q7S.css","assets/CallRecordPanel-CLexkvxf.js","assets/RecordingPlaybackBlock-z0PPBYke.js","assets/RecordingVideoPlayer-DWV7klHs.js","assets/RecordingVideoPlayer-4DegHAwm.css","assets/RecordingPlaybackBlock-B3KYFgvg.css","assets/CallRecordPanel-TsjZtTO8.css","assets/ImChatRecordPanel-DiuuXcLT.js","assets/im-business-message-parse-QKjFLn3X.js","assets/ImChatRecordPanel-aX8zpWRQ.css","assets/AssignLogPanel-B0ohl4pV.js","assets/AssignLogPanel-BdKOtd2m.css","assets/AppointmentRecordPanel-BZnhzLjC.js","assets/doctor-6V0qM7Ks.js","assets/AppointmentRecordPanel-DC22GDgn.css","assets/NoteTimeline-CDNv1DMC.js","assets/patient-DKQ1nUyC.js","assets/NoteTimeline-CCWIpEBQ.css","assets/PatientOrderList-DQ7QxnQw.js","assets/PatientOrderList-iKx_Cn9B.css","assets/index-kYFkWYEt.js","assets/index-wwnvQhjf.js","assets/medicine-D-OyzCbR.js","assets/index-tfEElgYq.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/html2canvas-QH1iLAAe.js","assets/index-DGbIWVjL.css","assets/edit-z2mn_utb.css","assets/TrackingNoteTimeline-B9T8pFso.css"])))=>i.map(i=>d[i]); -import{_ as sl,E as nl}from"./jspdf-BsthCvR5.js";import{G as ol,F as rl,D as il,B as ul,C as dl,P as pl,Q as ml,i as _l,J as cl,L as fl,M as gl,N as vl,T as bl,K as yl,a3 as xl,a4 as kl,I as Vl,h as hl,a2 as wl,e as Nl,a5 as Sl,a6 as Cl,a7 as $l,g as Pl,r as Ul,V as Dl,X as Tl}from"./element-plus-0wC3naml.js";import{_ as Rl}from"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import{u as Ol,c as El,i as N,m as Al,_ as Ll}from"./index-E47--KT7.js";import{w as at,s as ye,q as lt}from"./@vue/runtime-dom-DDAG46FW.js";import{g as Il,p as Fl,a as st,b as zl,c as jl,d as Ml,e as Hl,f as Wl,h as ql,i as Yl,j as Bl}from"./tcm-SLIwsL8z.js";import{m as Gl}from"./medicine-D-OyzCbR.js";import{r as Jl}from"./role-DPqAO58h.js";import{u as Kl}from"./usePaging-VsbTxSU0.js";import{_ as Ql}from"./index.vue_vue_type_script_setup_true_lang-DBEwrTRf.js";import{M as Xl}from"./index-wwnvQhjf.js";import{T as Zl,M as es,U as ts,N as as}from"./@element-plus/icons-vue-HOEUG8sr.js";import{a as ls}from"./vue-router-QlpZ4wdW.js";import ss from"./html2canvas-QH1iLAAe.js";import{f as Tt,w as Te,b as ns,as as os,ak as _,I as b,a,aN as s,J as r,O as c,F as L,ap as K,G as x,aP as R,H as y,P as rs,A as T,n as Q}from"./@vue/runtime-core-C6bnekPw.js";import{y as E,a as is,r as Re,n as v}from"./@vue/reactivity-DiY1c2vO.js";import{Q as f,o as us}from"./@vue/shared-mAAVTE9n.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const ds={class:"prescription-list"},ps={class:"pl-toolbar"},ms={class:"pl-toolbar__line"},_s={class:"pl-toolbar__line pl-toolbar__line--second"},cs={class:"pl-toolbar__actions"},fs={class:"pl-table-head"},gs={class:"flex items-center gap-2"},vs={class:"mt-3"},bs={class:"font-medium"},ys={class:"text-xs text-gray-400 mt-0.5"},xs={key:1,class:"text-gray-400 text-sm"},ks={class:"font-medium"},Vs={class:"text-xs text-gray-500 mt-0.5"},hs={class:"flex flex-col gap-1"},ws={class:"flex flex-wrap items-center gap-1"},Ns={key:0,class:"text-xs text-gray-500"},Ss=["title"],Cs={key:1,class:"text-gray-400"},$s={class:"font-medium"},Ps={class:"text-xs text-gray-500 mt-0.5"},Us={class:"text-sm"},Ds={class:"flex mt-2 justify-end"},Ts={key:0,class:"rx-wrap"},Rs={class:"rx-toolbar"},Os={key:0,class:"rx-status rx-status-danger"},Es={key:1,class:"rx-status rx-status-danger"},As={key:0,class:"mt-1"},Ls={key:2,class:"rx-status rx-status-danger"},Is={key:0,class:"mt-1"},Fs={class:"rx-notice"},zs={class:"rx-notice-meta"},js={class:"rx-info"},Ms={class:"rx-info-row"},Hs={class:"rx-info-cell"},Ws={class:"rx-val"},qs={class:"rx-info-cell"},Ys={class:"rx-val"},Bs={class:"rx-info-cell"},Gs={class:"rx-val"},Js={class:"rx-info-cell"},Ks={class:"rx-val"},Qs={class:"rx-info-row rx-info-row-full"},Xs={class:"rx-info-cell"},Zs={class:"rx-val"},en={class:"rx-info-row rx-info-row-full"},tn={class:"rx-info-cell"},an={class:"rx-val"},ln={class:"rx-rp"},sn={class:"rx-herbs"},nn={class:"rx-herb-name"},on={class:"rx-herb-total"},rn={class:"rx-text"},un={key:0},dn={key:1},pn={key:2,class:"rx-text-warn"},mn={key:3,class:"rx-text-warn"},_n={class:"rx-bottom"},cn={class:"rx-bot-row rx-bot-row-1"},fn={class:"rx-bot-cell rx-bot-stack rx-bot-doctor"},gn={class:"rx-bot-doctor-body"},vn=["src"],bn={class:"rx-bot-doctor-name"},yn={class:"rx-bot-cell rx-bot-meta"},xn={class:"rx-bot-meta-val"},kn={class:"rx-bot-cell rx-bot-meta"},Vn={class:"rx-bot-meta-val"},hn={class:"rx-bot-cell rx-bot-meta"},wn={class:"rx-bot-meta-val"},Nn={key:4,class:"rx-audit"},Sn={key:0},Cn={key:0,class:"ml-2 text-gray-400"},$n={key:1,class:"mt-1"},Pn={class:"text-sm mt-1"},Un={key:0,class:"text-sm mt-2 text-gray-800 font-medium"},Dn={key:5,class:"mb-3 flex flex-wrap items-center gap-2 pl-[120px]"},Tn={class:"text-xs text-gray-400"},Rn={class:"w-full"},On={class:"flex flex-wrap items-center gap-2"},En={class:"mt-2"},An={class:"text-sm mt-1 leading-relaxed"},Ln={key:0,class:"mb-1.5"},In={class:"font-mono text-primary"},Fn={class:"mb-1.5"},zn={class:"whitespace-pre-wrap"},jn={key:1,class:"text-gray-600"},Mn={class:"signature-pad-wrap"},Hn={class:"signature-actions"},Wn={class:"create-order-dialog__inner"},qn={key:0,class:"create-order-rx-card"},Yn={class:"create-order-rx-card__head"},Bn={class:"create-order-rx-card__meta"},Gn={class:"create-order-rx-card__id"},Jn={key:0,class:"create-order-rx-card__sn"},Kn={class:"create-order-rx-card__patient"},Qn={class:"create-order-step-lead"},Xn={class:"create-order-step-panel"},Zn={class:"create-order-step-panel"},eo={class:"flex items-center gap-1 w-full"},to={class:"flex flex-col gap-0.5",style:{"line-height":"normal"}},ao={class:"flex items-center justify-between"},lo={class:"font-medium text-[13px] text-gray-800"},so={class:"text-orange-500 font-medium ml-4"},no={class:"flex items-center justify-between text-xs text-gray-400 mt-1"},oo={class:"truncate pr-2"},ro={class:"shrink-0"},io={class:"create-order-pay-hint text-gray-500"},uo={class:"text-amber-600 font-medium"},po={class:"create-order-step-panel"},mo={class:"create-order-deposit-bar__cell"},_o={class:"create-order-deposit-bar__sub"},co={class:"create-order-deposit-bar__cell"},fo={class:"create-order-deposit-bar__sub"},go={class:"create-order-footer"},vo={class:"create-order-footer__hint"},bo={class:"create-order-footer__step"},yo={key:0,class:"create-order-footer__warn"},xo={class:"create-order-footer__actions"},ko={class:"mb-4"},Vo={key:0},ho={key:1,class:"text-gray-400"},wo={class:"flex justify-end mt-4"},No={class:"mt-3 flex flex-wrap items-center gap-x-4 gap-y-2"},So=Tt({name:"prescriptionList"}),Co=Tt({...So,setup($o){const Rt=rs(()=>sl(()=>import("./edit-DlBhR6x6.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98]))),oe=Ol(),nt=ls();function Ot(){const t=nt.getRoutes().find(e=>{var o;return((o=e.meta)==null?void 0:o.perms)==="tcm.prescriptionOrder/lists"});t!=null&&t.path?nt.push(t.path):N.msgWarning("未配置「处方业务订单」菜单,请在权限管理中执行菜单 SQL 或手动添加路由")}const w=Re({sn:"",patient_name:"",creator_ids:[],audit_filter:"all",source_filter:"all",start_time:"",end_time:""}),Oe=v([]),z=v("all"),q=v(!1),U=v("add"),Ee=v(!1),B=v(),j=v(),re=v(null),X=560,Z=168,g=v(null),Ae=v(!1),ot=v([]),ie=v(!1),rt=v(0),ee=v(""),xe=v(!1),ue=v(!1),D=v(0),Et=T(()=>["请核对诊单患者并填写完整收货信息,便于发货与物流联系。","按需填写服务相关信息,并选择本诊单下需要关联的支付单。","确认费用类别与订单金额;提交前请对照定金门槛是否已满足。"][D.value]??""),At=["patient_id","recipient_name","recipient_phone","region","shipping_address"],I=v(null),de=v(),Le=v(!1),Ie=v(!1),Y=v([]),te=v([]),Fe=v(!1),P=v(0);function ae(t){const e=Number(t);return Number.isNaN(e)?"—":e.toFixed(2)}function it(t){return{1:"挂号费",2:"问诊费",3:"药品费用",4:"首付",5:"尾款",6:"其他"}[Number(t)]||"未知"}const p=Re({patient_id:"",recipient_name:"",recipient_phone:"",region:[],shipping_address:"",is_follow_up:0,medication_days:void 0,prev_staff:"",service_channel:"",service_package:[],express_company:"auto",tracking_number:"",fee_type:3,amount:0,internal_cost:void 0,remark_extra:"",remark_assistant:"",pay_order_ids:[]}),pe=v([]),ze=v([]),Lt=t=>t.map(e=>{var o;return{name:e.province,code:e.code,children:((o=e.citys)==null?void 0:o.map(u=>{var m;return{name:u.city,code:u.code,children:((m=u.areas)==null?void 0:m.map(d=>({name:d.area,code:d.code})))||[]}}))||[]}}),It=async()=>{try{console.log("开始加载省市区数据...");const e=await fetch("https://cos.zhenyangtang.com.cn/area/ChinaCitys.json");if(console.log("响应状态:",e.status),!e.ok)throw new Error(`HTTP error! status: ${e.status}`);const o=await e.json();console.log("加载的数据条数:",o==null?void 0:o.length),pe.value=Lt(o),console.log("regionOptions 已设置,条数:",pe.value.length)}catch(t){console.error("加载省市区数据失败:",t),pe.value=[{name:"四川省",children:[{name:"成都市",children:[{name:"锦江区"},{name:"青羊区"},{name:"金牛区"},{name:"武侯区"},{name:"成华区"},{name:"龙泉驿区"},{name:"青白江区"},{name:"新都区"},{name:"温江区"},{name:"双流区"}]},{name:"绵阳市",children:[{name:"涪城区"},{name:"游仙区"},{name:"安州区"}]}]},{name:"北京市",children:[{name:"北京市",children:[{name:"东城区"},{name:"西城区"},{name:"朝阳区"},{name:"丰台区"},{name:"海淀区"}]}]},{name:"上海市",children:[{name:"上海市",children:[{name:"黄浦区"},{name:"徐汇区"},{name:"长宁区"},{name:"静安区"},{name:"普陀区"}]}]},{name:"广东省",children:[{name:"广州市",children:[{name:"荔湾区"},{name:"越秀区"},{name:"海珠区"},{name:"天河区"},{name:"白云区"}]},{name:"深圳市",children:[{name:"罗湖区"},{name:"福田区"},{name:"南山区"},{name:"宝安区"}]}]}],console.log("使用后备数据,条数:",pe.value.length)}},Ft=async()=>{try{const t=await Al({type:"server_order"});ze.value=((t==null?void 0:t.server_order)||[]).filter(e=>e.status!==0)}catch{ze.value=[]}},zt=t=>{console.log("选择的省市区:",t)},je=T(()=>{const t=new Set(p.pay_order_ids.map(o=>Number(o)));let e=0;for(const o of te.value)t.has(Number(o.id))&&(e+=Number(o.amount)||0);return Math.round(e*100)/100}),jt=T(()=>{const t=P.value;return t>0?Math.round(t*100)/100:0}),Mt=T(()=>{const t={patient_id:[{required:!0,message:"请选择诊单患者",trigger:"change"}],recipient_name:[{required:!0,message:"请输入收货人",trigger:"blur"}],recipient_phone:[{required:!0,message:"请输入收货手机",trigger:"blur"}],region:[{required:!0,message:"请选择省/市/区",trigger:"change",type:"array"}],shipping_address:[{required:!0,message:"请输入收货地址",trigger:"blur"}],fee_type:[{required:!0,message:"请选择费用类别",trigger:"change"}],amount:[{required:!0,message:"请输入订单金额",trigger:"blur"},{validator:(e,o,u)=>{const m=P.value,d=Number(o);if(m>0&&(!Number.isFinite(d)||d0){const e=`已开启关联支付门槛(¥${ae(P.value)}),请至少选择一笔支付单`;t.pay_order_ids=[{type:"array",required:!0,min:1,message:e,trigger:"change"}]}return t});function ut(){var t;D.value=0,p.patient_id="",p.recipient_name="",p.recipient_phone="",p.shipping_address="",p.is_follow_up=0,p.medication_days=void 0,p.prev_staff="",p.service_channel="",p.service_package=[],p.express_company="auto",p.tracking_number="",p.fee_type=3,p.amount=0,p.internal_cost=void 0,p.remark_extra="",p.remark_assistant="",p.pay_order_ids=[],Y.value=[],te.value=[],P.value=0,I.value=null,(t=de.value)==null||t.clearValidate()}function Ht(){const t=P.value;if(t<=0)return;const e=Math.round(t*100)/100;Number(p.amount)p.patient_id,()=>{p.pay_order_ids=[],dt()});async function Wt(t){var m;if(Number(t==null?void 0:t.void_status)===1){N.msgWarning("已作废处方不可创建业务订单");return}ut(),I.value=t;const e=Number(t.diagnosis_id)||0;e>0&&(p.patient_id=e,p.recipient_name=t.patient_name||"",p.recipient_phone=String(t.phone||"").trim(),Y.value=[{id:e,patient_name:t.patient_name||"",phone:String(t.phone||"").trim()}]);const o=Number(t.usage_days);o>0&&(p.medication_days=o),ue.value=!0,dt();const u=t.id;if(u&&!p.recipient_phone)try{const d=await st({id:u}),i=d&&typeof d.phone=="string"?d.phone.trim():"";if(i&&((m=I.value)==null?void 0:m.id)===u){p.recipient_phone=i;const k=Y.value[0];k&&Number(k.id)===e&&(k.phone=i)}}catch{}}async function qt(t){if(!t){Y.value=[];return}try{Ie.value=!0;const e=await searchPatientsAPI({keyword:t,page_no:1,page_size:10});Y.value=(e==null?void 0:e.lists)||[]}catch{Y.value=[]}finally{Ie.value=!1}}function Yt(t){const e=Y.value.find(o=>Number(o.id)===Number(t));e&&(p.recipient_name=e.patient_name||"",p.recipient_phone=e.phone||"")}function Bt(){D.value>0&&(D.value-=1)}async function Gt(){const t=de.value;if(t)try{D.value===0?await t.validateField([...At]):D.value===1&&P.value>0&&await t.validateField(["pay_order_ids"]),D.value<2&&(D.value+=1)}catch{}}async function Jt(){if(!(!de.value||!I.value)&&D.value===2)try{await de.value.validate(),Le.value=!0;const t=Number(p.patient_id),e={prescription_id:I.value.id,diagnosis_id:t,recipient_name:p.recipient_name,recipient_phone:p.recipient_phone,shipping_address:p.shipping_address,is_follow_up:p.is_follow_up,prev_staff:p.prev_staff||"",service_channel:p.service_channel||"",service_package:Array.isArray(p.service_package)&&p.service_package.length>0?p.service_package.join(","):"",express_company:p.express_company||"auto",tracking_number:p.tracking_number||"",fee_type:p.fee_type,amount:p.amount,remark_extra:p.remark_extra||"",remark_assistant:p.remark_assistant||""};p.region&&p.region.length>=3&&(e.shipping_province=p.region[0],e.shipping_city=p.region[1],e.shipping_district=p.region[2]),p.medication_days!=null&&p.medication_days>0&&(e.medication_days=p.medication_days),p.internal_cost!=null&&p.internal_cost>0&&(e.internal_cost=p.internal_cost),p.pay_order_ids.length&&(e.pay_order_ids=[...p.pay_order_ids]);const o=await zl(e),u=(o==null?void 0:o.data)??o,m=u==null?void 0:u.order_no;N.msgSuccess(m?`业务订单已创建,单号:${m}`:"业务订单已创建"),ue.value=!1,le()}catch(t){console.error(t)}finally{Le.value=!1}}const ke=v(!1),Ve=v(!1),pt=T(()=>{const t=ke.value,e=Ve.value;return!t&&!e?"":t&&e?"当前处方已作废且已驳回。保存后将取消作废、清除驳回,并重新进入待审核。":t?"当前为已作废处方。保存后将取消作废,并重新进入待审核。":"当前为已驳回处方。保存后将清除驳回,并重新进入待审核。"}),he=T(()=>{var e;const t=(e=g.value)==null?void 0:e.herbs;return Array.isArray(t)?t:[]}),mt=v(null),Me=v(!1),we=t=>String(t).padStart(2,"0"),Kt=T(()=>{const t=g.value;if(!t)return"—";const e=t.create_time??t.update_time??null;if(e){const o=String(e).length===10?Number(e)*1e3:Number(e),u=new Date(o);if(!isNaN(u.getTime()))return`${u.getFullYear()}-${we(u.getMonth()+1)}-${we(u.getDate())} ${we(u.getHours())}:${we(u.getMinutes())}`}return t.prescription_date||"—"}),Qt=T(()=>{const t=g.value;return t?t.order_no||t.serial_no||t.serial_number||t.no||t.prescription_no||t.visit_no||(t.id?`G${t.id}`:"—"):"—"}),Xt=T(()=>{const t=g.value;if(!t)return"—";if(t.recipient_text)return t.recipient_text;const e=[];(t.recipient_name||t.patient_name)&&e.push(t.recipient_name||t.patient_name),(t.recipient_phone||t.phone)&&e.push(t.recipient_phone||t.phone);let o=t.region;return Array.isArray(o)&&(o=o.filter(Boolean).join("")),o&&e.push(String(o)),t.shipping_address?e.push(String(t.shipping_address)):t.address&&e.push(String(t.address)),e.length?e.join(","):"—"}),_t=T(()=>{var e;const t=Number((e=g.value)==null?void 0:e.dose_count);return Number.isFinite(t)&&t>0?t:1}),Zt=T(()=>{const e=he.value.reduce((o,u)=>o+(Number(u==null?void 0:u.dosage)||0),0);return me(e)}),ea=t=>{const e=Number(t)||0;return me(e*_t.value)},ta=T(()=>{const t=g.value;if(!t)return"—";const e=t.prescription_type||"浓缩水丸";return/丸|散|膏|片/.test(e)?`浓缩丸-${e}`:e}),aa=T(()=>{const t=g.value;if(!t)return"—";if(t.usage_text)return t.usage_text;const e=Number(t.times_per_day)>0?Number(t.times_per_day):3,o=t.dosage_amount!=null?Number(t.dosage_amount):10,u=t.dosage_unit||"g",m=t.usage_way||"温水送服",d=t.usage_time||"",i=[];if(i.push(`每天${e}次`),(t.prescription_type||"浓缩水丸")==="浓缩水丸"){const k=Number(t.dosage_bag_count)>0?Number(t.dosage_bag_count):1;i.push(`一次${k}袋`),i.push(`每袋${o}${u}`)}else i.push(`一次${o}${u}`);return i.push(m),d&&i.push(d),i.join(", ")}),ct=T(()=>{const t=g.value;return t&&t.medical_advice||""}),ft=T(()=>{const t=g.value;if(!t)return"";const e=[];return e.push(`共${he.value.length}味药`),t.usage_notes&&e.push(String(t.usage_notes)),t.remark&&e.push(String(t.remark)),e.join(" ")}),gt=T(()=>{const t=g.value;return t&&(t.pharmacy_remark||t.pharmacy_note)||""}),vt=T(()=>{const t=g.value;if(!t)return"";const e=la(t);return e?`${e}克`:""});function la(t){if(!t)return"";if((t.prescription_type||"浓缩水丸")==="浓缩水丸"){const m=Number(t.medication_days??t.usage_days??t.dose_count),d=Number(t.times_per_day),i=Number(t.dosage_amount),k=Number(t.dosage_bag_count)>0?Number(t.dosage_bag_count):1;if(Number.isFinite(m)&&Number.isFinite(d)&&Number.isFinite(i)&&m>0&&d>0&&i>0)return me(m*d*i*k)}const e=t.out_pellet||t.total_weight;if(e&&Number(e)>0)return me(Number(e));const o=he.value;if(!o.length)return"";const u=o.reduce((m,d)=>m+(Number(d==null?void 0:d.dosage)||0),0);return me(u*_t.value)}function me(t){return isFinite(t)?Number.isInteger(t)?String(t):t.toFixed(2).replace(/\.?0+$/,""):"0"}function sa(){g.value&&Q(()=>{try{window.print()}catch(t){console.error(t)}})}async function na(){var e,o,u;const t=mt.value;if(!t){N.msgWarning("处方笺尚未渲染完成");return}Me.value=!0;try{await Q(),await new Promise(A=>requestAnimationFrame(()=>A(null))),await new Promise(A=>setTimeout(A,250));const m=await ss(t,{scale:2,backgroundColor:"#ffffff",useCORS:!0,allowTaint:!1,logging:!1,windowWidth:t.scrollWidth,windowHeight:t.scrollHeight,width:t.scrollWidth,height:t.scrollHeight}),d=m.toDataURL("image/jpeg",.95),i=new nl({unit:"mm",format:"a4",orientation:"portrait"}),k=210,F=297,V=k,J=m.height*V/m.width;if(J<=F)i.addImage(d,"JPEG",0,0,V,J);else{let A=J,Pe=0;for(;A>0;)i.addImage(d,"JPEG",0,Pe,V,J),A-=F,Pe-=F,A>0&&i.addPage()}const et=((e=g.value)==null?void 0:e.patient_name)||"处方",C=((o=g.value)==null?void 0:o.id)||"",O=((u=g.value)==null?void 0:u.prescription_date)||"";i.save(`处方-${et}${O?"-"+O:""}${C?"-"+C:""}.pdf`)}catch(m){console.error("下载处方 PDF 失败:",m),N.msgError((m==null?void 0:m.message)||"下载失败,请重试")}finally{Me.value=!1}}const n=Re({id:0,prescription_type:"浓缩水丸",dosage_amount:1,dosage_unit:"g",dosage_bag_count:1,need_decoction:!1,bags_per_dose:1,patient_name:"",gender:1,age:0,visit_no:"",prescription_date:"",tongue:"",tongue_image:"",pulse:"",pulse_condition:"",clinical_diagnosis:"",herbs:[],dose_count:7,dose_unit:"剂",usage_days:7,usage_instruction:"",usage_time:"饭后",usage_way:"温水送服",dietary_taboo:[],usage_notes:"",doctor_name:"",doctor_signature:"",is_shared:0,visible_role_ids:[],audit_status:1,audit_time:null,audit_by_name:"",audit_remark:"",diagnosis_id:0,creator_id:0,is_system_auto:0,business_prescription_audit_rejected:0,business_prescription_audit_remark:"",times_per_day:2}),S=Re({loading:!1,orderNo:"",medicationDays:null,remarkAssistant:""});function oa(){S.loading=!1,S.orderNo="",S.medicationDays=null,S.remarkAssistant=""}async function ra(t){if(S.orderNo="",S.medicationDays=null,S.remarkAssistant="",!t){S.loading=!1;return}S.loading=!0;try{const e=await Bl({page_no:1,page_size:5,prescription_id:t}),o=e==null?void 0:e.lists,u=Array.isArray(o)&&o.length?o[0]:null;if(u){S.orderNo=String(u.order_no||"").trim();const m=u.medication_days,d=m!=null&&String(m).trim()!==""?Number(m):NaN;S.medicationDays=Number.isFinite(d)&&d>0?d:null,S.remarkAssistant=String(u.remark_assistant||"").trim()}}catch{}finally{S.loading=!1}}const bt=v(null);function ia(){var e;const t=Number(n.diagnosis_id);if(!t){N.msgWarning("本处方未关联诊单,无法查看诊单患者信息");return}(e=bt.value)==null||e.openViewOnly(t)}const Ne=v(!1);Te(()=>n.prescription_type,t=>{Ne.value||(t==="浓缩水丸"?(n.dosage_unit="g",n.dosage_amount=1,n.dosage_bag_count=1,n.need_decoction=!1,n.bags_per_dose=1):t==="饮片"?(n.dosage_unit="ml",n.dosage_amount=50,n.dosage_bag_count=1,n.bags_per_dose=1):(n.dosage_unit="g",n.dosage_amount=void 0,n.dosage_bag_count=1,n.need_decoction=!1,n.bags_per_dose=1))});const ua={patient_name:[{required:!0,message:"请输入患者姓名",trigger:"blur"}],gender:[{required:!0,message:"请选择性别",trigger:"change"}],prescription_date:[{required:!0,message:"请选择处方日期",trigger:"change"}],clinical_diagnosis:[{required:!0,message:"请输入临床诊断",trigger:"blur"}],dose_count:[{required:!0,message:"请输入剂数",trigger:"blur"}],doctor_name:[{required:!0,message:"请输入医师姓名",trigger:"blur"}],doctor_signature:[{required:!0,validator:(t,e,o)=>{!e||!String(e).trim()?o(new Error("请使用电子签名板手写医师签名")):o()},trigger:"change"}]};async function da(t){const{audit_filter:e,source_filter:o,creator_ids:u,...m}=t,d={...m,audit_filter:e==="all"||e===""?"":e,source_filter:o==="all"||o===""||o===void 0?"":o};return Array.isArray(u)&&u.length>0&&(d.creator_ids=u),jl(d)}const{pager:_e,getLists:le,resetPage:G}=Kl({fetchFun:da,params:w});function yt(t){return String(t).padStart(2,"0")}function xt(t){const e=t.getFullYear(),o=yt(t.getMonth()+1),u=yt(t.getDate()),m=`${e}-${o}-${u}`;return{start:`${m} 00:00:00`,end:`${m} 23:59:59`}}function pa(t){const e=String(t??"all");if(e==="all")w.start_time="",w.end_time="";else{const o=new Date,u=new Date(o.getFullYear(),o.getMonth(),o.getDate());e==="yesterday"?u.setDate(u.getDate()-1):e==="before_yesterday"&&u.setDate(u.getDate()-2);const{start:m,end:d}=xt(u);w.start_time=m,w.end_time=d}G()}function ma(){G()}function _a(){G()}let He=!1;Te(()=>[w.start_time,w.end_time],()=>{if(He)return;const t=w.start_time,e=w.end_time;if(!t&&!e){z.value="all";return}if(!t||!e){z.value="";return}const o=new Date,u=m=>{const d=new Date(o.getFullYear(),o.getMonth(),o.getDate()-m),{start:i,end:k}=xt(d);return t===i&&e===k};u(0)?z.value="today":u(1)?z.value="yesterday":u(2)?z.value="before_yesterday":z.value=""});function ca(t){if(t==null||t==="")return"—";if(typeof t=="number"&&t>=1e9&&t<1e11)return Se(t);const e=String(t).trim();return/^\d{10}$/.test(e)?Se(parseInt(e,10)):e}function fa(){He=!0,z.value="all",w.sn="",w.patient_name="",w.creator_ids=[],w.audit_filter="all",w.source_filter="all",w.start_time="",w.end_time="",He=!1,G()}function ga(t){return t===0?"待审核":t===2?"已驳回":"已通过"}function va(t){return t===0?"warning":t===2?"danger":"success"}function ba(t){return Number(t.business_prescription_audit_rejected)===1?"已驳回":ga(t.audit_status)}function ya(t){return Number(t.business_prescription_audit_rejected)===1?"danger":va(t.audit_status)}function kt(t){const e=[];if(Number(t.business_prescription_audit_rejected)===1){const o=String(t.business_prescription_audit_remark||"").trim();e.push(o?`业务订单审核驳回意见:${o}`:"业务订单审核驳回意见:—")}if(Number(t.audit_status)===2){const o=String(t.audit_remark||"").trim();e.push(o?`消费者处方审核驳回意见:${o}`:"消费者处方审核驳回意见:—")}return e}function Vt(t){return Number(t.audit_status)===1&&Number(t.void_status)!==1}function Se(t){if(!t)return"";const e=new Date(t*1e3);return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")} ${String(e.getHours()).padStart(2,"0")}:${String(e.getMinutes()).padStart(2,"0")}`}function xa(t){return t?Se(t):"—"}function ka(t){return t===1||t==="1"?"男":t===0||t==="0"?"女":"—"}function Va(t){return t==null||t===""?"—":`${t}岁`}function We(t){return t?Array.isArray(t)?t.map(e=>({name:String((e==null?void 0:e.name)??"").trim(),dosage:Number(e==null?void 0:e.dosage)||0})):[]:[]}function ha(t){if(Number(t==null?void 0:t.has_prescription_order)!==1)return[];const o=We(t==null?void 0:t.herbs).map(i=>String((i==null?void 0:i.name)||"").trim()).filter(Boolean),u=[];if(!o.length)return u.push("请开方,当前处方药材为空白"),u;const m=new Set,d=new Set;for(const i of o){const k=i.replace(/\s+/g,"").toLowerCase();k&&(m.has(k)?d.add(i):m.add(k))}return d.size>0&&u.push(`已有关联业务订单,当前处方存在重复药材:${Array.from(d).join("、")}`),u}function wa(t){return{...t,herbs:We(t==null?void 0:t.herbs)}}function Na(){g.value=null,re.value=null}function ht(t){const e=j.value;if(!e)return{x:0,y:0};const o=e.getBoundingClientRect();if(o.width<=0||o.height<=0)return{x:0,y:0};const u=(t.clientX-o.left)/o.width*X,m=(t.clientY-o.top)/o.height*Z;return{x:Math.max(0,Math.min(X,u)),y:Math.max(0,Math.min(Z,m))}}function qe(){const t=j.value;t&&(n.doctor_signature=t.toDataURL("image/png")),Q(()=>{var e;(e=B.value)==null||e.validateField("doctor_signature").catch(()=>{})})}function Sa(t){if(t.pointerType==="mouse"&&t.button!==0)return;const e=j.value,o=e==null?void 0:e.getContext("2d");if(!e||!o)return;e.setPointerCapture(t.pointerId),re.value=t.pointerId;const{x:u,y:m}=ht(t);o.beginPath(),o.moveTo(u,m)}function Ca(t){var m;if(re.value!==t.pointerId)return;const e=(m=j.value)==null?void 0:m.getContext("2d");if(!e)return;const{x:o,y:u}=ht(t);e.lineTo(o,u),e.stroke(),e.beginPath(),e.moveTo(o,u)}function wt(t){if(re.value!==t.pointerId)return;re.value=null;const e=j.value;if(e)try{e.releasePointerCapture(t.pointerId)}catch{}qe()}function $a(){Nt(),n.doctor_signature="",Q(()=>{var t;(t=B.value)==null||t.validateField("doctor_signature").catch(()=>{})})}function Nt(){const t=j.value;if(!t)return;const e=Math.min(typeof window<"u"&&window.devicePixelRatio||1,2.5);t.style.width=`${X}px`,t.style.height=`${Z}px`,t.width=Math.round(X*e),t.height=Math.round(Z*e);const o=t.getContext("2d");o&&(o.setTransform(1,0,0,1,0,0),o.scale(e,e),o.fillStyle="#fff",o.fillRect(0,0,X,Z),o.strokeStyle="#333",o.lineWidth=2.5,o.lineCap="round",o.lineJoin="round")}function St(){U.value!=="view"&&Q(()=>{setTimeout(()=>{Nt();const t=n.doctor_signature;if(t&&String(t).trim().startsWith("data:image")&&j.value){const e=new Image;e.onload=()=>{const o=j.value,u=o==null?void 0:o.getContext("2d");!o||!u||(u.drawImage(e,0,0,X,Z),qe())},e.onerror=()=>{qe()},e.src=t}},100)})}function Pa(t){const e=t==null?void 0:t.visible_role_ids;return Array.isArray(e)?e.map(o=>Number(o)).filter(o=>!Number.isNaN(o)):typeof e=="string"&&e?e.split(",").map(o=>parseInt(o.trim(),10)).filter(o=>!Number.isNaN(o)):[]}function Ua(t){rt.value=t.id,ee.value="",ie.value=!0}async function Ct(t){if(t==="reject"&&!ee.value.trim()){N.msgError("驳回时请填写审核意见");return}xe.value=!0;try{const e=await Ml({id:rt.value,action:t,remark:ee.value.trim()});N.msgSuccess(t==="reject"?"已驳回并作废处方":"审核通过"),e&&e.wecom_notify_ok===!1&&e.wecom_notify_hint&&N.msgWarning(e.wecom_notify_hint),ie.value=!1,le()}catch{}finally{xe.value=!1}}async function Da(){try{const t=await Jl({});ot.value=Array.isArray(t)?t:[]}catch{ot.value=[]}}const ce=v(!1),Ye=v(!1),Be=v([]),Ce=v(""),fe=v(1),Ge=v(15),Je=v(0),$t=T(()=>{var o;const t=Number(n.creator_id);if(t>0)return t;const e=Number((o=oe.userInfo)==null?void 0:o.id);return e>0?e:0});function Ta(t){return String(t||"").trim().toLowerCase()}function Pt(){const t=new Map;for(const e of n.herbs){const o=Ta(e==null?void 0:e.name);o&&t.set(o,(t.get(o)??0)+1)}return[...t.entries()].filter(([,e])=>e>1).map(([e])=>e)}const $e=async()=>{const t=$t.value;if(!t){N.msgWarning("无法确定开方医师,无法加载处方库"),Be.value=[],Je.value=0;return}Ye.value=!0;try{const e=await Hl({page_no:fe.value,page_size:Ge.value,prescription_name:Ce.value,is_public:"",creator_id:t});Be.value=(e==null?void 0:e.lists)||[],Je.value=(e==null?void 0:e.count)||0}catch(e){console.error(e),N.msgError("加载处方库失败")}finally{Ye.value=!1}},Ke=()=>{fe.value=1,$e()},Ra=()=>{if(!$t.value){N.msgWarning("无法确定开方医师,无法从处方库导入");return}ce.value=!0},Oa=t=>{Ut(t)},Ut=t=>{if(!t.herbs||t.herbs.length===0){N.msgWarning("该处方没有药材信息");return}const e=JSON.parse(JSON.stringify(t.herbs));n.herbs=e,Pt().length&&N.msgWarning("导入的处方中存在重复药名,请合并剂量或删除多余行"),N.msgSuccess(`已导入处方「${t.prescription_name}」,共${e.length}味药材`),ce.value=!1};Te(ce,t=>{t&&(Ce.value="",fe.value=1,$e())});const ge=v(!1),ve=v(""),Qe=v("replace"),Xe=v(!1),Ea=/^(用法|用量|医嘱|忌口|水煎服|空腹|饭后|温水|内服|外用|备注|顿服|分服|ml|毫升|[×xX]\s*\d)/;function Aa(t){let e=t.replace(/\r\n/g,` +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/edit-BG1q_jZS.js","assets/element-plus-DFTWCWyi.js","assets/@vue/runtime-dom-DDAG46FW.js","assets/lodash-D3kF6u-c.js","assets/@vue/runtime-core-C6bnekPw.js","assets/@vue/reactivity-DiY1c2vO.js","assets/@vue/shared-mAAVTE9n.js","assets/@element-plus/icons-vue-HOEUG8sr.js","assets/lodash-es-C2A-Pj28.js","assets/@popperjs/core-C5az9QE8.js","assets/dayjs-DG77mNTn.js","assets/@ctrl/tinycolor-BuyEbX8F.js","assets/async-validator-CFA_igpM.js","assets/normalize-wheel-es-BQoi3Ox2.js","assets/element-plus-C_YxM8bk.css","assets/tcm-BcqaE0lo.js","assets/index-DBREMm_z.js","assets/jspdf-BsthCvR5.js","assets/@babel/runtime-BanGtE2-.js","assets/fflate-_ayOYiT1.js","assets/vue-router-QlpZ4wdW.js","assets/pinia-B8cvXbiZ.js","assets/axios-C80V62Fs.js","assets/@vueuse/core-1S4fJlii.js","assets/@vueuse/shared-Cl3lVqjz.js","assets/css-color-function-DI01JAaZ.js","assets/balanced-match-BdS7OldZ.js","assets/color-B2zxaWkI.js","assets/clone-DBZ6_OiU.js","assets/color-convert-OrFsTA_V.js","assets/color-name-Dju3oUBS.js","assets/color-string-pUQDDJII.js","assets/ms-CzQ2E3wO.js","assets/vue-clipboard3-DByT_rEQ.js","assets/clipboard-CHgxszqY.js","assets/echarts-CNLwa9wG.js","assets/tslib-BDyQ-Jie.js","assets/zrender-DRNXw7y3.js","assets/highlight.js-Bxt7hFFy.js","assets/highlight-BfC0goYb.css","assets/@highlightjs/vue-plugin-C4onkBvW.js","assets/index-3wNXRrXZ.css","assets/perm-Bo9eM8XD.js","assets/DailyMatrix-CZKqLaUg.js","assets/picker-BCRrEZaA.js","assets/index-BwF7vczx.js","assets/index-B3imPWFk.css","assets/index-BiPYXDtP.js","assets/index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js","assets/index-CbfZXeGu.js","assets/index-D0f1Mn00.css","assets/index-CRoZWY-W.js","assets/cos-js-sdk-v5-DSMN0LUT.js","assets/file-BimpIRb_.js","assets/index.vue_vue_type_script_setup_true_lang-x0oL2ShL.js","assets/usePaging-VsbTxSU0.js","assets/index-BYOmK9R5.css","assets/vuedraggable-5bKFmC7X.js","assets/vue-BVs68q8v.js","assets/@vue/compiler-dom-CqayqxS7.js","assets/@vue/compiler-core-CvbQOXIO.js","assets/sortablejs-dsEAUXlE.js","assets/picker-XZbUgFct.css","assets/vue-echarts-BNtg2q_G.js","assets/resize-detector-G6vbKCU7.js","assets/DiagnosisTodoList-CgT2M9eR.js","assets/DiagnosisTodoList-D0SBmTHG.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix-zLBaKfXe.css","assets/CaseRecordList-X66GZZcg.js","assets/CaseRecordList-Cl-c3q7S.css","assets/CallRecordPanel-D709DmJk.js","assets/RecordingPlaybackBlock-COxLgEiR.js","assets/RecordingVideoPlayer-DJ_BP9x7.js","assets/RecordingVideoPlayer-4DegHAwm.css","assets/RecordingPlaybackBlock-B3KYFgvg.css","assets/CallRecordPanel-TsjZtTO8.css","assets/ImChatRecordPanel-C40Ue1e_.js","assets/im-business-message-parse-QKjFLn3X.js","assets/ImChatRecordPanel-aX8zpWRQ.css","assets/AssignLogPanel-B1RENXkE.js","assets/AssignLogPanel-BdKOtd2m.css","assets/AppointmentRecordPanel-DH84Bquy.js","assets/doctor-ul0r578d.js","assets/AppointmentRecordPanel-DC22GDgn.css","assets/NoteTimeline-BzPD6QHw.js","assets/patient-DdWkVUZB.js","assets/NoteTimeline-CCWIpEBQ.css","assets/PatientOrderList-Vzhj0FzC.js","assets/PatientOrderList-iKx_Cn9B.css","assets/index-B91OSiYQ.js","assets/index-DcDP_Tmx.js","assets/medicine-CCdxjQY6.js","assets/index-tfEElgYq.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/html2canvas-QH1iLAAe.js","assets/index-DGbIWVjL.css","assets/edit-z2mn_utb.css","assets/TrackingNoteTimeline-B9T8pFso.css"])))=>i.map(i=>d[i]); +import{_ as sl,E as nl}from"./jspdf-BsthCvR5.js";import{G as ol,F as rl,D as il,B as ul,C as dl,P as pl,Q as ml,i as _l,J as cl,L as fl,M as gl,N as vl,T as bl,K as yl,a4 as xl,a5 as kl,I as Vl,h as hl,a2 as wl,e as Nl,a6 as Sl,a7 as Cl,a8 as $l,g as Pl,r as Ul,V as Dl,X as Tl}from"./element-plus-DFTWCWyi.js";import{_ as Rl}from"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import{u as Ol,c as El,i as N,m as Al,_ as Ll}from"./index-DBREMm_z.js";import{w as at,s as ye,q as lt}from"./@vue/runtime-dom-DDAG46FW.js";import{g as Il,p as Fl,b as st,c as zl,d as jl,e as Ml,f as Hl,h as Wl,i as ql,j as Yl,k as Bl}from"./tcm-BcqaE0lo.js";import{m as Gl}from"./medicine-CCdxjQY6.js";import{r as Jl}from"./role-DTNlgcHU.js";import{u as Kl}from"./usePaging-VsbTxSU0.js";import{_ as Ql}from"./index.vue_vue_type_script_setup_true_lang-DPC_NOWM.js";import{M as Xl}from"./index-DcDP_Tmx.js";import{T as Zl,M as es,U as ts,N as as}from"./@element-plus/icons-vue-HOEUG8sr.js";import{a as ls}from"./vue-router-QlpZ4wdW.js";import ss from"./html2canvas-QH1iLAAe.js";import{f as Tt,w as Te,b as ns,as as os,ak as _,I as b,a,aN as s,J as r,O as c,F as L,ap as K,G as x,aP as R,H as y,P as rs,A as T,n as Q}from"./@vue/runtime-core-C6bnekPw.js";import{y as E,a as is,r as Re,n as v}from"./@vue/reactivity-DiY1c2vO.js";import{Q as f,o as us}from"./@vue/shared-mAAVTE9n.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const ds={class:"prescription-list"},ps={class:"pl-toolbar"},ms={class:"pl-toolbar__line"},_s={class:"pl-toolbar__line pl-toolbar__line--second"},cs={class:"pl-toolbar__actions"},fs={class:"pl-table-head"},gs={class:"flex items-center gap-2"},vs={class:"mt-3"},bs={class:"font-medium"},ys={class:"text-xs text-gray-400 mt-0.5"},xs={key:1,class:"text-gray-400 text-sm"},ks={class:"font-medium"},Vs={class:"text-xs text-gray-500 mt-0.5"},hs={class:"flex flex-col gap-1"},ws={class:"flex flex-wrap items-center gap-1"},Ns={key:0,class:"text-xs text-gray-500"},Ss=["title"],Cs={key:1,class:"text-gray-400"},$s={class:"font-medium"},Ps={class:"text-xs text-gray-500 mt-0.5"},Us={class:"text-sm"},Ds={class:"flex mt-2 justify-end"},Ts={key:0,class:"rx-wrap"},Rs={class:"rx-toolbar"},Os={key:0,class:"rx-status rx-status-danger"},Es={key:1,class:"rx-status rx-status-danger"},As={key:0,class:"mt-1"},Ls={key:2,class:"rx-status rx-status-danger"},Is={key:0,class:"mt-1"},Fs={class:"rx-notice"},zs={class:"rx-notice-meta"},js={class:"rx-info"},Ms={class:"rx-info-row"},Hs={class:"rx-info-cell"},Ws={class:"rx-val"},qs={class:"rx-info-cell"},Ys={class:"rx-val"},Bs={class:"rx-info-cell"},Gs={class:"rx-val"},Js={class:"rx-info-cell"},Ks={class:"rx-val"},Qs={class:"rx-info-row rx-info-row-full"},Xs={class:"rx-info-cell"},Zs={class:"rx-val"},en={class:"rx-info-row rx-info-row-full"},tn={class:"rx-info-cell"},an={class:"rx-val"},ln={class:"rx-rp"},sn={class:"rx-herbs"},nn={class:"rx-herb-name"},on={class:"rx-herb-total"},rn={class:"rx-text"},un={key:0},dn={key:1},pn={key:2,class:"rx-text-warn"},mn={key:3,class:"rx-text-warn"},_n={class:"rx-bottom"},cn={class:"rx-bot-row rx-bot-row-1"},fn={class:"rx-bot-cell rx-bot-stack rx-bot-doctor"},gn={class:"rx-bot-doctor-body"},vn=["src"],bn={class:"rx-bot-doctor-name"},yn={class:"rx-bot-cell rx-bot-meta"},xn={class:"rx-bot-meta-val"},kn={class:"rx-bot-cell rx-bot-meta"},Vn={class:"rx-bot-meta-val"},hn={class:"rx-bot-cell rx-bot-meta"},wn={class:"rx-bot-meta-val"},Nn={key:4,class:"rx-audit"},Sn={key:0},Cn={key:0,class:"ml-2 text-gray-400"},$n={key:1,class:"mt-1"},Pn={class:"text-sm mt-1"},Un={key:0,class:"text-sm mt-2 text-gray-800 font-medium"},Dn={key:5,class:"mb-3 flex flex-wrap items-center gap-2 pl-[120px]"},Tn={class:"text-xs text-gray-400"},Rn={class:"w-full"},On={class:"flex flex-wrap items-center gap-2"},En={class:"mt-2"},An={class:"text-sm mt-1 leading-relaxed"},Ln={key:0,class:"mb-1.5"},In={class:"font-mono text-primary"},Fn={class:"mb-1.5"},zn={class:"whitespace-pre-wrap"},jn={key:1,class:"text-gray-600"},Mn={class:"signature-pad-wrap"},Hn={class:"signature-actions"},Wn={class:"create-order-dialog__inner"},qn={key:0,class:"create-order-rx-card"},Yn={class:"create-order-rx-card__head"},Bn={class:"create-order-rx-card__meta"},Gn={class:"create-order-rx-card__id"},Jn={key:0,class:"create-order-rx-card__sn"},Kn={class:"create-order-rx-card__patient"},Qn={class:"create-order-step-lead"},Xn={class:"create-order-step-panel"},Zn={class:"create-order-step-panel"},eo={class:"flex items-center gap-1 w-full"},to={class:"flex flex-col gap-0.5",style:{"line-height":"normal"}},ao={class:"flex items-center justify-between"},lo={class:"font-medium text-[13px] text-gray-800"},so={class:"text-orange-500 font-medium ml-4"},no={class:"flex items-center justify-between text-xs text-gray-400 mt-1"},oo={class:"truncate pr-2"},ro={class:"shrink-0"},io={class:"create-order-pay-hint text-gray-500"},uo={class:"text-amber-600 font-medium"},po={class:"create-order-step-panel"},mo={class:"create-order-deposit-bar__cell"},_o={class:"create-order-deposit-bar__sub"},co={class:"create-order-deposit-bar__cell"},fo={class:"create-order-deposit-bar__sub"},go={class:"create-order-footer"},vo={class:"create-order-footer__hint"},bo={class:"create-order-footer__step"},yo={key:0,class:"create-order-footer__warn"},xo={class:"create-order-footer__actions"},ko={class:"mb-4"},Vo={key:0},ho={key:1,class:"text-gray-400"},wo={class:"flex justify-end mt-4"},No={class:"mt-3 flex flex-wrap items-center gap-x-4 gap-y-2"},So=Tt({name:"prescriptionList"}),Co=Tt({...So,setup($o){const Rt=rs(()=>sl(()=>import("./edit-BG1q_jZS.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98]))),oe=Ol(),nt=ls();function Ot(){const t=nt.getRoutes().find(e=>{var o;return((o=e.meta)==null?void 0:o.perms)==="tcm.prescriptionOrder/lists"});t!=null&&t.path?nt.push(t.path):N.msgWarning("未配置「处方业务订单」菜单,请在权限管理中执行菜单 SQL 或手动添加路由")}const w=Re({sn:"",patient_name:"",creator_ids:[],audit_filter:"all",source_filter:"all",start_time:"",end_time:""}),Oe=v([]),z=v("all"),q=v(!1),U=v("add"),Ee=v(!1),B=v(),j=v(),re=v(null),X=560,Z=168,g=v(null),Ae=v(!1),ot=v([]),ie=v(!1),rt=v(0),ee=v(""),xe=v(!1),ue=v(!1),D=v(0),Et=T(()=>["请核对诊单患者并填写完整收货信息,便于发货与物流联系。","按需填写服务相关信息,并选择本诊单下需要关联的支付单。","确认费用类别与订单金额;提交前请对照定金门槛是否已满足。"][D.value]??""),At=["patient_id","recipient_name","recipient_phone","region","shipping_address"],I=v(null),de=v(),Le=v(!1),Ie=v(!1),Y=v([]),te=v([]),Fe=v(!1),P=v(0);function ae(t){const e=Number(t);return Number.isNaN(e)?"—":e.toFixed(2)}function it(t){return{1:"挂号费",2:"问诊费",3:"药品费用",4:"首付",5:"尾款",6:"其他"}[Number(t)]||"未知"}const p=Re({patient_id:"",recipient_name:"",recipient_phone:"",region:[],shipping_address:"",is_follow_up:0,medication_days:void 0,prev_staff:"",service_channel:"",service_package:[],express_company:"auto",tracking_number:"",fee_type:3,amount:0,internal_cost:void 0,remark_extra:"",remark_assistant:"",pay_order_ids:[]}),pe=v([]),ze=v([]),Lt=t=>t.map(e=>{var o;return{name:e.province,code:e.code,children:((o=e.citys)==null?void 0:o.map(u=>{var m;return{name:u.city,code:u.code,children:((m=u.areas)==null?void 0:m.map(d=>({name:d.area,code:d.code})))||[]}}))||[]}}),It=async()=>{try{console.log("开始加载省市区数据...");const e=await fetch("https://cos.zhenyangtang.com.cn/area/ChinaCitys.json");if(console.log("响应状态:",e.status),!e.ok)throw new Error(`HTTP error! status: ${e.status}`);const o=await e.json();console.log("加载的数据条数:",o==null?void 0:o.length),pe.value=Lt(o),console.log("regionOptions 已设置,条数:",pe.value.length)}catch(t){console.error("加载省市区数据失败:",t),pe.value=[{name:"四川省",children:[{name:"成都市",children:[{name:"锦江区"},{name:"青羊区"},{name:"金牛区"},{name:"武侯区"},{name:"成华区"},{name:"龙泉驿区"},{name:"青白江区"},{name:"新都区"},{name:"温江区"},{name:"双流区"}]},{name:"绵阳市",children:[{name:"涪城区"},{name:"游仙区"},{name:"安州区"}]}]},{name:"北京市",children:[{name:"北京市",children:[{name:"东城区"},{name:"西城区"},{name:"朝阳区"},{name:"丰台区"},{name:"海淀区"}]}]},{name:"上海市",children:[{name:"上海市",children:[{name:"黄浦区"},{name:"徐汇区"},{name:"长宁区"},{name:"静安区"},{name:"普陀区"}]}]},{name:"广东省",children:[{name:"广州市",children:[{name:"荔湾区"},{name:"越秀区"},{name:"海珠区"},{name:"天河区"},{name:"白云区"}]},{name:"深圳市",children:[{name:"罗湖区"},{name:"福田区"},{name:"南山区"},{name:"宝安区"}]}]}],console.log("使用后备数据,条数:",pe.value.length)}},Ft=async()=>{try{const t=await Al({type:"server_order"});ze.value=((t==null?void 0:t.server_order)||[]).filter(e=>e.status!==0)}catch{ze.value=[]}},zt=t=>{console.log("选择的省市区:",t)},je=T(()=>{const t=new Set(p.pay_order_ids.map(o=>Number(o)));let e=0;for(const o of te.value)t.has(Number(o.id))&&(e+=Number(o.amount)||0);return Math.round(e*100)/100}),jt=T(()=>{const t=P.value;return t>0?Math.round(t*100)/100:0}),Mt=T(()=>{const t={patient_id:[{required:!0,message:"请选择诊单患者",trigger:"change"}],recipient_name:[{required:!0,message:"请输入收货人",trigger:"blur"}],recipient_phone:[{required:!0,message:"请输入收货手机",trigger:"blur"}],region:[{required:!0,message:"请选择省/市/区",trigger:"change",type:"array"}],shipping_address:[{required:!0,message:"请输入收货地址",trigger:"blur"}],fee_type:[{required:!0,message:"请选择费用类别",trigger:"change"}],amount:[{required:!0,message:"请输入订单金额",trigger:"blur"},{validator:(e,o,u)=>{const m=P.value,d=Number(o);if(m>0&&(!Number.isFinite(d)||d0){const e=`已开启关联支付门槛(¥${ae(P.value)}),请至少选择一笔支付单`;t.pay_order_ids=[{type:"array",required:!0,min:1,message:e,trigger:"change"}]}return t});function ut(){var t;D.value=0,p.patient_id="",p.recipient_name="",p.recipient_phone="",p.shipping_address="",p.is_follow_up=0,p.medication_days=void 0,p.prev_staff="",p.service_channel="",p.service_package=[],p.express_company="auto",p.tracking_number="",p.fee_type=3,p.amount=0,p.internal_cost=void 0,p.remark_extra="",p.remark_assistant="",p.pay_order_ids=[],Y.value=[],te.value=[],P.value=0,I.value=null,(t=de.value)==null||t.clearValidate()}function Ht(){const t=P.value;if(t<=0)return;const e=Math.round(t*100)/100;Number(p.amount)p.patient_id,()=>{p.pay_order_ids=[],dt()});async function Wt(t){var m;if(Number(t==null?void 0:t.void_status)===1){N.msgWarning("已作废处方不可创建业务订单");return}ut(),I.value=t;const e=Number(t.diagnosis_id)||0;e>0&&(p.patient_id=e,p.recipient_name=t.patient_name||"",p.recipient_phone=String(t.phone||"").trim(),Y.value=[{id:e,patient_name:t.patient_name||"",phone:String(t.phone||"").trim()}]);const o=Number(t.usage_days);o>0&&(p.medication_days=o),ue.value=!0,dt();const u=t.id;if(u&&!p.recipient_phone)try{const d=await st({id:u}),i=d&&typeof d.phone=="string"?d.phone.trim():"";if(i&&((m=I.value)==null?void 0:m.id)===u){p.recipient_phone=i;const k=Y.value[0];k&&Number(k.id)===e&&(k.phone=i)}}catch{}}async function qt(t){if(!t){Y.value=[];return}try{Ie.value=!0;const e=await searchPatientsAPI({keyword:t,page_no:1,page_size:10});Y.value=(e==null?void 0:e.lists)||[]}catch{Y.value=[]}finally{Ie.value=!1}}function Yt(t){const e=Y.value.find(o=>Number(o.id)===Number(t));e&&(p.recipient_name=e.patient_name||"",p.recipient_phone=e.phone||"")}function Bt(){D.value>0&&(D.value-=1)}async function Gt(){const t=de.value;if(t)try{D.value===0?await t.validateField([...At]):D.value===1&&P.value>0&&await t.validateField(["pay_order_ids"]),D.value<2&&(D.value+=1)}catch{}}async function Jt(){if(!(!de.value||!I.value)&&D.value===2)try{await de.value.validate(),Le.value=!0;const t=Number(p.patient_id),e={prescription_id:I.value.id,diagnosis_id:t,recipient_name:p.recipient_name,recipient_phone:p.recipient_phone,shipping_address:p.shipping_address,is_follow_up:p.is_follow_up,prev_staff:p.prev_staff||"",service_channel:p.service_channel||"",service_package:Array.isArray(p.service_package)&&p.service_package.length>0?p.service_package.join(","):"",express_company:p.express_company||"auto",tracking_number:p.tracking_number||"",fee_type:p.fee_type,amount:p.amount,remark_extra:p.remark_extra||"",remark_assistant:p.remark_assistant||""};p.region&&p.region.length>=3&&(e.shipping_province=p.region[0],e.shipping_city=p.region[1],e.shipping_district=p.region[2]),p.medication_days!=null&&p.medication_days>0&&(e.medication_days=p.medication_days),p.internal_cost!=null&&p.internal_cost>0&&(e.internal_cost=p.internal_cost),p.pay_order_ids.length&&(e.pay_order_ids=[...p.pay_order_ids]);const o=await zl(e),u=(o==null?void 0:o.data)??o,m=u==null?void 0:u.order_no;N.msgSuccess(m?`业务订单已创建,单号:${m}`:"业务订单已创建"),ue.value=!1,le()}catch(t){console.error(t)}finally{Le.value=!1}}const ke=v(!1),Ve=v(!1),pt=T(()=>{const t=ke.value,e=Ve.value;return!t&&!e?"":t&&e?"当前处方已作废且已驳回。保存后将取消作废、清除驳回,并重新进入待审核。":t?"当前为已作废处方。保存后将取消作废,并重新进入待审核。":"当前为已驳回处方。保存后将清除驳回,并重新进入待审核。"}),he=T(()=>{var e;const t=(e=g.value)==null?void 0:e.herbs;return Array.isArray(t)?t:[]}),mt=v(null),Me=v(!1),we=t=>String(t).padStart(2,"0"),Kt=T(()=>{const t=g.value;if(!t)return"—";const e=t.create_time??t.update_time??null;if(e){const o=String(e).length===10?Number(e)*1e3:Number(e),u=new Date(o);if(!isNaN(u.getTime()))return`${u.getFullYear()}-${we(u.getMonth()+1)}-${we(u.getDate())} ${we(u.getHours())}:${we(u.getMinutes())}`}return t.prescription_date||"—"}),Qt=T(()=>{const t=g.value;return t?t.order_no||t.serial_no||t.serial_number||t.no||t.prescription_no||t.visit_no||(t.id?`G${t.id}`:"—"):"—"}),Xt=T(()=>{const t=g.value;if(!t)return"—";if(t.recipient_text)return t.recipient_text;const e=[];(t.recipient_name||t.patient_name)&&e.push(t.recipient_name||t.patient_name),(t.recipient_phone||t.phone)&&e.push(t.recipient_phone||t.phone);let o=t.region;return Array.isArray(o)&&(o=o.filter(Boolean).join("")),o&&e.push(String(o)),t.shipping_address?e.push(String(t.shipping_address)):t.address&&e.push(String(t.address)),e.length?e.join(","):"—"}),_t=T(()=>{var e;const t=Number((e=g.value)==null?void 0:e.dose_count);return Number.isFinite(t)&&t>0?t:1}),Zt=T(()=>{const e=he.value.reduce((o,u)=>o+(Number(u==null?void 0:u.dosage)||0),0);return me(e)}),ea=t=>{const e=Number(t)||0;return me(e*_t.value)},ta=T(()=>{const t=g.value;if(!t)return"—";const e=t.prescription_type||"浓缩水丸";return/丸|散|膏|片/.test(e)?`浓缩丸-${e}`:e}),aa=T(()=>{const t=g.value;if(!t)return"—";if(t.usage_text)return t.usage_text;const e=Number(t.times_per_day)>0?Number(t.times_per_day):3,o=t.dosage_amount!=null?Number(t.dosage_amount):10,u=t.dosage_unit||"g",m=t.usage_way||"温水送服",d=t.usage_time||"",i=[];if(i.push(`每天${e}次`),(t.prescription_type||"浓缩水丸")==="浓缩水丸"){const k=Number(t.dosage_bag_count)>0?Number(t.dosage_bag_count):1;i.push(`一次${k}袋`),i.push(`每袋${o}${u}`)}else i.push(`一次${o}${u}`);return i.push(m),d&&i.push(d),i.join(", ")}),ct=T(()=>{const t=g.value;return t&&t.medical_advice||""}),ft=T(()=>{const t=g.value;if(!t)return"";const e=[];return e.push(`共${he.value.length}味药`),t.usage_notes&&e.push(String(t.usage_notes)),t.remark&&e.push(String(t.remark)),e.join(" ")}),gt=T(()=>{const t=g.value;return t&&(t.pharmacy_remark||t.pharmacy_note)||""}),vt=T(()=>{const t=g.value;if(!t)return"";const e=la(t);return e?`${e}克`:""});function la(t){if(!t)return"";if((t.prescription_type||"浓缩水丸")==="浓缩水丸"){const m=Number(t.medication_days??t.usage_days??t.dose_count),d=Number(t.times_per_day),i=Number(t.dosage_amount),k=Number(t.dosage_bag_count)>0?Number(t.dosage_bag_count):1;if(Number.isFinite(m)&&Number.isFinite(d)&&Number.isFinite(i)&&m>0&&d>0&&i>0)return me(m*d*i*k)}const e=t.out_pellet||t.total_weight;if(e&&Number(e)>0)return me(Number(e));const o=he.value;if(!o.length)return"";const u=o.reduce((m,d)=>m+(Number(d==null?void 0:d.dosage)||0),0);return me(u*_t.value)}function me(t){return isFinite(t)?Number.isInteger(t)?String(t):t.toFixed(2).replace(/\.?0+$/,""):"0"}function sa(){g.value&&Q(()=>{try{window.print()}catch(t){console.error(t)}})}async function na(){var e,o,u;const t=mt.value;if(!t){N.msgWarning("处方笺尚未渲染完成");return}Me.value=!0;try{await Q(),await new Promise(A=>requestAnimationFrame(()=>A(null))),await new Promise(A=>setTimeout(A,250));const m=await ss(t,{scale:2,backgroundColor:"#ffffff",useCORS:!0,allowTaint:!1,logging:!1,windowWidth:t.scrollWidth,windowHeight:t.scrollHeight,width:t.scrollWidth,height:t.scrollHeight}),d=m.toDataURL("image/jpeg",.95),i=new nl({unit:"mm",format:"a4",orientation:"portrait"}),k=210,F=297,V=k,J=m.height*V/m.width;if(J<=F)i.addImage(d,"JPEG",0,0,V,J);else{let A=J,Pe=0;for(;A>0;)i.addImage(d,"JPEG",0,Pe,V,J),A-=F,Pe-=F,A>0&&i.addPage()}const et=((e=g.value)==null?void 0:e.patient_name)||"处方",C=((o=g.value)==null?void 0:o.id)||"",O=((u=g.value)==null?void 0:u.prescription_date)||"";i.save(`处方-${et}${O?"-"+O:""}${C?"-"+C:""}.pdf`)}catch(m){console.error("下载处方 PDF 失败:",m),N.msgError((m==null?void 0:m.message)||"下载失败,请重试")}finally{Me.value=!1}}const n=Re({id:0,prescription_type:"浓缩水丸",dosage_amount:1,dosage_unit:"g",dosage_bag_count:1,need_decoction:!1,bags_per_dose:1,patient_name:"",gender:1,age:0,visit_no:"",prescription_date:"",tongue:"",tongue_image:"",pulse:"",pulse_condition:"",clinical_diagnosis:"",herbs:[],dose_count:7,dose_unit:"剂",usage_days:7,usage_instruction:"",usage_time:"饭后",usage_way:"温水送服",dietary_taboo:[],usage_notes:"",doctor_name:"",doctor_signature:"",is_shared:0,visible_role_ids:[],audit_status:1,audit_time:null,audit_by_name:"",audit_remark:"",diagnosis_id:0,creator_id:0,is_system_auto:0,business_prescription_audit_rejected:0,business_prescription_audit_remark:"",times_per_day:2}),S=Re({loading:!1,orderNo:"",medicationDays:null,remarkAssistant:""});function oa(){S.loading=!1,S.orderNo="",S.medicationDays=null,S.remarkAssistant=""}async function ra(t){if(S.orderNo="",S.medicationDays=null,S.remarkAssistant="",!t){S.loading=!1;return}S.loading=!0;try{const e=await Bl({page_no:1,page_size:5,prescription_id:t}),o=e==null?void 0:e.lists,u=Array.isArray(o)&&o.length?o[0]:null;if(u){S.orderNo=String(u.order_no||"").trim();const m=u.medication_days,d=m!=null&&String(m).trim()!==""?Number(m):NaN;S.medicationDays=Number.isFinite(d)&&d>0?d:null,S.remarkAssistant=String(u.remark_assistant||"").trim()}}catch{}finally{S.loading=!1}}const bt=v(null);function ia(){var e;const t=Number(n.diagnosis_id);if(!t){N.msgWarning("本处方未关联诊单,无法查看诊单患者信息");return}(e=bt.value)==null||e.openViewOnly(t)}const Ne=v(!1);Te(()=>n.prescription_type,t=>{Ne.value||(t==="浓缩水丸"?(n.dosage_unit="g",n.dosage_amount=1,n.dosage_bag_count=1,n.need_decoction=!1,n.bags_per_dose=1):t==="饮片"?(n.dosage_unit="ml",n.dosage_amount=50,n.dosage_bag_count=1,n.bags_per_dose=1):(n.dosage_unit="g",n.dosage_amount=void 0,n.dosage_bag_count=1,n.need_decoction=!1,n.bags_per_dose=1))});const ua={patient_name:[{required:!0,message:"请输入患者姓名",trigger:"blur"}],gender:[{required:!0,message:"请选择性别",trigger:"change"}],prescription_date:[{required:!0,message:"请选择处方日期",trigger:"change"}],clinical_diagnosis:[{required:!0,message:"请输入临床诊断",trigger:"blur"}],dose_count:[{required:!0,message:"请输入剂数",trigger:"blur"}],doctor_name:[{required:!0,message:"请输入医师姓名",trigger:"blur"}],doctor_signature:[{required:!0,validator:(t,e,o)=>{!e||!String(e).trim()?o(new Error("请使用电子签名板手写医师签名")):o()},trigger:"change"}]};async function da(t){const{audit_filter:e,source_filter:o,creator_ids:u,...m}=t,d={...m,audit_filter:e==="all"||e===""?"":e,source_filter:o==="all"||o===""||o===void 0?"":o};return Array.isArray(u)&&u.length>0&&(d.creator_ids=u),jl(d)}const{pager:_e,getLists:le,resetPage:G}=Kl({fetchFun:da,params:w});function yt(t){return String(t).padStart(2,"0")}function xt(t){const e=t.getFullYear(),o=yt(t.getMonth()+1),u=yt(t.getDate()),m=`${e}-${o}-${u}`;return{start:`${m} 00:00:00`,end:`${m} 23:59:59`}}function pa(t){const e=String(t??"all");if(e==="all")w.start_time="",w.end_time="";else{const o=new Date,u=new Date(o.getFullYear(),o.getMonth(),o.getDate());e==="yesterday"?u.setDate(u.getDate()-1):e==="before_yesterday"&&u.setDate(u.getDate()-2);const{start:m,end:d}=xt(u);w.start_time=m,w.end_time=d}G()}function ma(){G()}function _a(){G()}let He=!1;Te(()=>[w.start_time,w.end_time],()=>{if(He)return;const t=w.start_time,e=w.end_time;if(!t&&!e){z.value="all";return}if(!t||!e){z.value="";return}const o=new Date,u=m=>{const d=new Date(o.getFullYear(),o.getMonth(),o.getDate()-m),{start:i,end:k}=xt(d);return t===i&&e===k};u(0)?z.value="today":u(1)?z.value="yesterday":u(2)?z.value="before_yesterday":z.value=""});function ca(t){if(t==null||t==="")return"—";if(typeof t=="number"&&t>=1e9&&t<1e11)return Se(t);const e=String(t).trim();return/^\d{10}$/.test(e)?Se(parseInt(e,10)):e}function fa(){He=!0,z.value="all",w.sn="",w.patient_name="",w.creator_ids=[],w.audit_filter="all",w.source_filter="all",w.start_time="",w.end_time="",He=!1,G()}function ga(t){return t===0?"待审核":t===2?"已驳回":"已通过"}function va(t){return t===0?"warning":t===2?"danger":"success"}function ba(t){return Number(t.business_prescription_audit_rejected)===1?"已驳回":ga(t.audit_status)}function ya(t){return Number(t.business_prescription_audit_rejected)===1?"danger":va(t.audit_status)}function kt(t){const e=[];if(Number(t.business_prescription_audit_rejected)===1){const o=String(t.business_prescription_audit_remark||"").trim();e.push(o?`业务订单审核驳回意见:${o}`:"业务订单审核驳回意见:—")}if(Number(t.audit_status)===2){const o=String(t.audit_remark||"").trim();e.push(o?`消费者处方审核驳回意见:${o}`:"消费者处方审核驳回意见:—")}return e}function Vt(t){return Number(t.audit_status)===1&&Number(t.void_status)!==1}function Se(t){if(!t)return"";const e=new Date(t*1e3);return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")} ${String(e.getHours()).padStart(2,"0")}:${String(e.getMinutes()).padStart(2,"0")}`}function xa(t){return t?Se(t):"—"}function ka(t){return t===1||t==="1"?"男":t===0||t==="0"?"女":"—"}function Va(t){return t==null||t===""?"—":`${t}岁`}function We(t){return t?Array.isArray(t)?t.map(e=>({name:String((e==null?void 0:e.name)??"").trim(),dosage:Number(e==null?void 0:e.dosage)||0})):[]:[]}function ha(t){if(Number(t==null?void 0:t.has_prescription_order)!==1)return[];const o=We(t==null?void 0:t.herbs).map(i=>String((i==null?void 0:i.name)||"").trim()).filter(Boolean),u=[];if(!o.length)return u.push("请开方,当前处方药材为空白"),u;const m=new Set,d=new Set;for(const i of o){const k=i.replace(/\s+/g,"").toLowerCase();k&&(m.has(k)?d.add(i):m.add(k))}return d.size>0&&u.push(`已有关联业务订单,当前处方存在重复药材:${Array.from(d).join("、")}`),u}function wa(t){return{...t,herbs:We(t==null?void 0:t.herbs)}}function Na(){g.value=null,re.value=null}function ht(t){const e=j.value;if(!e)return{x:0,y:0};const o=e.getBoundingClientRect();if(o.width<=0||o.height<=0)return{x:0,y:0};const u=(t.clientX-o.left)/o.width*X,m=(t.clientY-o.top)/o.height*Z;return{x:Math.max(0,Math.min(X,u)),y:Math.max(0,Math.min(Z,m))}}function qe(){const t=j.value;t&&(n.doctor_signature=t.toDataURL("image/png")),Q(()=>{var e;(e=B.value)==null||e.validateField("doctor_signature").catch(()=>{})})}function Sa(t){if(t.pointerType==="mouse"&&t.button!==0)return;const e=j.value,o=e==null?void 0:e.getContext("2d");if(!e||!o)return;e.setPointerCapture(t.pointerId),re.value=t.pointerId;const{x:u,y:m}=ht(t);o.beginPath(),o.moveTo(u,m)}function Ca(t){var m;if(re.value!==t.pointerId)return;const e=(m=j.value)==null?void 0:m.getContext("2d");if(!e)return;const{x:o,y:u}=ht(t);e.lineTo(o,u),e.stroke(),e.beginPath(),e.moveTo(o,u)}function wt(t){if(re.value!==t.pointerId)return;re.value=null;const e=j.value;if(e)try{e.releasePointerCapture(t.pointerId)}catch{}qe()}function $a(){Nt(),n.doctor_signature="",Q(()=>{var t;(t=B.value)==null||t.validateField("doctor_signature").catch(()=>{})})}function Nt(){const t=j.value;if(!t)return;const e=Math.min(typeof window<"u"&&window.devicePixelRatio||1,2.5);t.style.width=`${X}px`,t.style.height=`${Z}px`,t.width=Math.round(X*e),t.height=Math.round(Z*e);const o=t.getContext("2d");o&&(o.setTransform(1,0,0,1,0,0),o.scale(e,e),o.fillStyle="#fff",o.fillRect(0,0,X,Z),o.strokeStyle="#333",o.lineWidth=2.5,o.lineCap="round",o.lineJoin="round")}function St(){U.value!=="view"&&Q(()=>{setTimeout(()=>{Nt();const t=n.doctor_signature;if(t&&String(t).trim().startsWith("data:image")&&j.value){const e=new Image;e.onload=()=>{const o=j.value,u=o==null?void 0:o.getContext("2d");!o||!u||(u.drawImage(e,0,0,X,Z),qe())},e.onerror=()=>{qe()},e.src=t}},100)})}function Pa(t){const e=t==null?void 0:t.visible_role_ids;return Array.isArray(e)?e.map(o=>Number(o)).filter(o=>!Number.isNaN(o)):typeof e=="string"&&e?e.split(",").map(o=>parseInt(o.trim(),10)).filter(o=>!Number.isNaN(o)):[]}function Ua(t){rt.value=t.id,ee.value="",ie.value=!0}async function Ct(t){if(t==="reject"&&!ee.value.trim()){N.msgError("驳回时请填写审核意见");return}xe.value=!0;try{const e=await Ml({id:rt.value,action:t,remark:ee.value.trim()});N.msgSuccess(t==="reject"?"已驳回并作废处方":"审核通过"),e&&e.wecom_notify_ok===!1&&e.wecom_notify_hint&&N.msgWarning(e.wecom_notify_hint),ie.value=!1,le()}catch{}finally{xe.value=!1}}async function Da(){try{const t=await Jl({});ot.value=Array.isArray(t)?t:[]}catch{ot.value=[]}}const ce=v(!1),Ye=v(!1),Be=v([]),Ce=v(""),fe=v(1),Ge=v(15),Je=v(0),$t=T(()=>{var o;const t=Number(n.creator_id);if(t>0)return t;const e=Number((o=oe.userInfo)==null?void 0:o.id);return e>0?e:0});function Ta(t){return String(t||"").trim().toLowerCase()}function Pt(){const t=new Map;for(const e of n.herbs){const o=Ta(e==null?void 0:e.name);o&&t.set(o,(t.get(o)??0)+1)}return[...t.entries()].filter(([,e])=>e>1).map(([e])=>e)}const $e=async()=>{const t=$t.value;if(!t){N.msgWarning("无法确定开方医师,无法加载处方库"),Be.value=[],Je.value=0;return}Ye.value=!0;try{const e=await Hl({page_no:fe.value,page_size:Ge.value,prescription_name:Ce.value,is_public:"",creator_id:t});Be.value=(e==null?void 0:e.lists)||[],Je.value=(e==null?void 0:e.count)||0}catch(e){console.error(e),N.msgError("加载处方库失败")}finally{Ye.value=!1}},Ke=()=>{fe.value=1,$e()},Ra=()=>{if(!$t.value){N.msgWarning("无法确定开方医师,无法从处方库导入");return}ce.value=!0},Oa=t=>{Ut(t)},Ut=t=>{if(!t.herbs||t.herbs.length===0){N.msgWarning("该处方没有药材信息");return}const e=JSON.parse(JSON.stringify(t.herbs));n.herbs=e,Pt().length&&N.msgWarning("导入的处方中存在重复药名,请合并剂量或删除多余行"),N.msgSuccess(`已导入处方「${t.prescription_name}」,共${e.length}味药材`),ce.value=!1};Te(ce,t=>{t&&(Ce.value="",fe.value=1,$e())});const ge=v(!1),ve=v(""),Qe=v("replace"),Xe=v(!1),Ea=/^(用法|用量|医嘱|忌口|水煎服|空腹|饭后|温水|内服|外用|备注|顿服|分服|ml|毫升|[×xX]\s*\d)/;function Aa(t){let e=t.replace(/\r\n/g,` `).replace(/\r/g,` `);return e=e.replace(/[0-9]/g,o=>String.fromCharCode(o.charCodeAt(0)-65296+48)),e.trim()}function La(t){return t.replace(/^\s*Rp[::**\s]*/i,"").replace(/^\s*处方[::\s]*/,"").replace(/^\s*中药处方[::\s]*/,"").trimStart()}function Ze(t){return t.replace(/([^)]*)$/u,"").replace(/\([^)]*\)$/u,"").trim()}function Dt(t){const e=t.trim();if(!e||Ea.test(e)||/^\d/.test(e)||/^\d+\s*剂$/.test(e))return null;const o=e.match(/^(.+)\s*各\s*(\d+(?:\.\d+)?)\s*(?:克|g|G)?$/i);if(o){const d=parseFloat(o[2]);if(!Number.isFinite(d)||d<=0)return null;const i=o[1].split(/[、,,\s]+/).map(k=>k.trim()).filter(Boolean);return i.length?i.map(k=>({name:Ze(k),dosage:d})):null}const u=e.match(/^(.+?)\s*(\d+(?:\.\d+)?)\s*(?:克|g|G|钱)?$/i);if(u){const d=Ze(u[1].trim()),i=parseFloat(u[2]);return!d||!Number.isFinite(i)||i<=0?null:[{name:d,dosage:i}]}const m=Ze(e);return m.length>=2&&m.length<=16?[{name:m,dosage:6}]:null}function Ia(t){const e=La(Aa(t)),o=[];for(const u of e.split(/\n+/)){const m=u.trim();if(m)for(const d of m.split(/[、,,;;]/)){const i=d.trim();if(i)if(/\s/.test(i)&&!Dt(i)){const k=i.split(/\s+(?=[\u4e00-\u9fff]{2,})/);for(const F of k){const V=F.trim();V&&o.push(V)}}else o.push(i)}}return o}function Fa(t){const e=[];for(const o of Ia(t)){const u=Dt(o);u&&e.push(...u)}return e}async function za(t){const e=t.trim();if(!e)return null;try{const m=((await Gl({name:e,page_no:1,page_size:200,status:1})).lists||[]).find(d=>(d.name??"").trim()===e);return m?m.name.trim():null}catch{return null}}function ja(){ge.value=!0}async function Ma(){const t=Fa(ve.value);if(!t.length){N.msgWarning("未能从文本中解析出药材,请检查格式(药名 + 剂量,或用顿号/换行分隔)");return}Xe.value=!0;try{const e=[],o=[];for(const i of t){const k=await za(i.name);if(!k){o.push(i.name.trim());continue}e.push({name:k,dosage:i.dosage})}const u=[...new Set(o.filter(Boolean))];if(e.length===0){N.msgWarning(u.length?`药品库中无以下完全同名药材,未录入:${u.join("、")}`:"未能匹配到药品库中的药材");return}Qe.value==="replace"?n.herbs=e:n.herbs.push(...e);const m=Pt(),d=u.length>0?`;药品库未收录已跳过:${u.join("、")}`:"";m.length?N.msgWarning(`已导入 ${e.length} 味药材${d}。存在重复药名:${m.join("、")},请合并剂量或删除多余行`):u.length?N.msgSuccess(`已导入 ${e.length} 味药材${d},请核对剂量`):N.msgSuccess(`已导入 ${e.length} 味药材,请核对药名与剂量`),ge.value=!1,ve.value=""}finally{Xe.value=!1}}const Ha=()=>{n.herbs.push({name:"",dosage:0})},Wa=t=>{n.herbs.splice(t,1)},qa=()=>{var t;n.id=0,n.prescription_type="浓缩水丸",n.dosage_amount=1,n.dosage_unit="g",n.dosage_bag_count=1,n.need_decoction=!1,n.bags_per_dose=1,n.patient_name="",n.gender=1,n.age=0,n.visit_no="",n.prescription_date=new Date().toISOString().split("T")[0],n.tongue="",n.tongue_image="",n.pulse="",n.pulse_condition="",n.clinical_diagnosis="",n.herbs=[],n.dose_count=7,n.dose_unit="剂",n.usage_days=7,n.usage_instruction="",n.usage_time="饭后",n.usage_way="温水送服",n.dietary_taboo=[],n.usage_notes="",n.doctor_name="",n.doctor_signature="",n.is_shared=0,n.visible_role_ids=[],n.audit_status=1,n.audit_time=null,n.audit_by_name="",n.audit_remark="",n.diagnosis_id=0,n.creator_id=Number((t=oe.userInfo)==null?void 0:t.id)||0,n.is_system_auto=0,n.business_prescription_audit_rejected=0,n.business_prescription_audit_remark="",oa()},Ya=()=>{var t;qa(),n.doctor_name=String(((t=oe.userInfo)==null?void 0:t.name)||""),ke.value=!1,Ve.value=!1,U.value="add",Ne.value=!1,q.value=!0,Q(()=>{var e;(e=B.value)==null||e.clearValidate(),St()})},Ba=async t=>{ke.value=!1,Ve.value=!1,U.value="view",g.value=wa(t),q.value=!0,Ae.value=!0;try{const e=await st({id:t.id});e&&typeof e=="object"&&(g.value={...e,herbs:We(e.herbs)})}catch(e){N.msgError((e==null?void 0:e.msg)||"加载处方详情失败")}finally{Ae.value=!1}},Ga=async t=>{ke.value=Number(t.void_status)===1,Ve.value=Number(t.audit_status)===2,U.value="edit",Ne.value=!0;let e=t;if(t!=null&&t.id&&!t.doctor_signature)try{const o=await st({id:t.id});o&&typeof o=="object"&&(e={...t,...o})}catch{}n.id=e.id,n.prescription_type=e.prescription_type||"浓缩水丸",e.dosage_amount!==null&&e.dosage_amount!==void 0&&e.dosage_amount!==""?n.dosage_amount=Number(e.dosage_amount):n.dosage_amount=void 0,e.dosage_unit?n.dosage_unit=e.dosage_unit:n.prescription_type==="饮片"?n.dosage_unit="ml":n.dosage_unit="g",n.dosage_bag_count=e.dosage_bag_count?Number(e.dosage_bag_count):1,n.need_decoction=e.need_decoction===1||e.need_decoction===!0,n.bags_per_dose=e.bags_per_dose?Number(e.bags_per_dose):1,n.patient_name=e.patient_name||"",n.gender=e.gender??1,n.age=e.age??0,n.visit_no=e.visit_no||"",n.prescription_date=e.prescription_date||"",n.tongue=e.tongue||"",n.tongue_image=e.tongue_image||"",n.pulse=e.pulse||"",n.pulse_condition=e.pulse_condition||"",n.clinical_diagnosis=e.clinical_diagnosis||"",n.herbs=e.herbs?JSON.parse(JSON.stringify(e.herbs)):[],n.dose_count=e.dose_count??7,n.dose_unit=e.dose_unit||"剂",n.usage_days=e.usage_days??7,n.times_per_day=e.times_per_day??2,n.usage_instruction=e.usage_instruction||"",n.usage_time=e.usage_time||"饭后",n.usage_way=e.usage_way||"温水送服",n.dietary_taboo=e.dietary_taboo?Array.isArray(e.dietary_taboo)?e.dietary_taboo:String(e.dietary_taboo).split(",").filter(o=>o):[],n.usage_notes=e.usage_notes||"",n.doctor_name=e.doctor_name||"",n.doctor_signature=String(e.doctor_signature||""),n.is_shared=e.is_shared??0,n.visible_role_ids=Pa(e),n.audit_status=e.audit_status??1,n.audit_time=e.audit_time??null,n.audit_by_name=e.audit_by_name||"",n.audit_remark=e.audit_remark||"",n.diagnosis_id=e.diagnosis_id??0,n.creator_id=Number(e.creator_id)>0?Number(e.creator_id):0,n.is_system_auto=Number(e.is_system_auto)===1?1:0,n.business_prescription_audit_rejected=Number(e.business_prescription_audit_rejected)===1?1:0,n.business_prescription_audit_remark=String(e.business_prescription_audit_remark||""),setTimeout(()=>{Ne.value=!1},0),q.value=!0,ra(Number(n.id)),Q(()=>{var o;(o=B.value)==null||o.clearValidate(),St()})},Ja=async()=>{if(B.value){try{await B.value.validate()}catch{return}if(!n.herbs||n.herbs.length===0){N.msgError("请至少添加一味药材");return}for(let t=0;t{await N.confirm("确定要删除该处方吗?"),await Yl({id:t}),N.msgSuccess("删除成功"),le()};return ns(async()=>{var t;await Da(),await It(),await Ft();try{const e=await Il();Oe.value=Array.isArray(e)?e:[]}catch{Oe.value=[]}try{(t=oe.userInfo)!=null&&t.id||await oe.getUserInfo()}catch{}le()}),(t,e)=>{const o=rl,u=ol,m=dl,d=ul,i=ml,k=pl,F=il,V=_l,J=cl,et=El,C=vl,O=bl,A=gl,Pe=Rl,se=yl,h=kl,M=xl,ne=Vl,H=hl,Qa=wl,Xa=Nl,tt=Cl,Za=Sl,el=$l,tl=Pl,al=Ul,Ue=Dl,ll=Tl,W=os("perms"),De=fl;return _(),b("div",ds,[a(J,{class:"filter-toolbar",shadow:"never","body-style":{padding:"10px 14px"}},{default:s(()=>[r("div",ps,[r("div",ms,[e[84]||(e[84]=r("span",{class:"pl-toolbar__k",title:"按处方创建时间"},"创建时间",-1)),a(u,{modelValue:z.value,"onUpdate:modelValue":e[0]||(e[0]=l=>z.value=l),size:"small",class:"pl-toolbar__rg",onChange:pa},{default:s(()=>[a(o,{label:"all"},{default:s(()=>[...e[72]||(e[72]=[c("全部",-1)])]),_:1}),a(o,{label:"today"},{default:s(()=>[...e[73]||(e[73]=[c("今日",-1)])]),_:1}),a(o,{label:"yesterday"},{default:s(()=>[...e[74]||(e[74]=[c("昨日",-1)])]),_:1}),a(o,{label:"before_yesterday"},{default:s(()=>[...e[75]||(e[75]=[c("前天",-1)])]),_:1})]),_:1},8,["modelValue"]),a(Ql,{class:"pl-toolbar__range",startTime:w.start_time,"onUpdate:startTime":e[1]||(e[1]=l=>w.start_time=l),endTime:w.end_time,"onUpdate:endTime":e[2]||(e[2]=l=>w.end_time=l)},null,8,["startTime","endTime"]),e[85]||(e[85]=r("span",{class:"pl-toolbar__sep","aria-hidden":"true"},null,-1)),e[86]||(e[86]=r("span",{class:"pl-toolbar__k",title:"「未通过」含待审核与已驳回"},"审核",-1)),a(u,{modelValue:w.audit_filter,"onUpdate:modelValue":e[3]||(e[3]=l=>w.audit_filter=l),size:"small",class:"pl-toolbar__rg pl-toolbar__rg--audit",onChange:ma},{default:s(()=>[a(o,{label:"pending",class:"pl-audit-pending-btn"},{default:s(()=>[...e[76]||(e[76]=[c("待审核",-1)])]),_:1}),a(o,{label:"all"},{default:s(()=>[...e[77]||(e[77]=[c("全部",-1)])]),_:1}),a(o,{label:"passed"},{default:s(()=>[...e[78]||(e[78]=[c("已通过",-1)])]),_:1}),a(o,{label:"not_passed"},{default:s(()=>[...e[79]||(e[79]=[c("未通过",-1)])]),_:1}),a(o,{label:"rejected"},{default:s(()=>[...e[80]||(e[80]=[c("驳回",-1)])]),_:1})]),_:1},8,["modelValue"]),e[87]||(e[87]=r("span",{class:"pl-toolbar__sep","aria-hidden":"true"},null,-1)),e[88]||(e[88]=r("span",{class:"pl-toolbar__k",title:"与列表「来源」列一致:系统代开 / 手工"},"来源",-1)),a(u,{modelValue:w.source_filter,"onUpdate:modelValue":e[4]||(e[4]=l=>w.source_filter=l),size:"small",class:"pl-toolbar__rg pl-toolbar__rg--source",onChange:_a},{default:s(()=>[a(o,{label:"all"},{default:s(()=>[...e[81]||(e[81]=[c("全部",-1)])]),_:1}),a(o,{label:"manual"},{default:s(()=>[...e[82]||(e[82]=[c("手工",-1)])]),_:1}),a(o,{label:"system"},{default:s(()=>[...e[83]||(e[83]=[c("系统代开",-1)])]),_:1})]),_:1},8,["modelValue"])]),r("div",_s,[a(F,{model:w,inline:"",class:"pl-toolbar__form"},{default:s(()=>[a(d,{label:"处方编号",class:"!mb-0"},{default:s(()=>[a(m,{modelValue:w.sn,"onUpdate:modelValue":e[5]||(e[5]=l=>w.sn=l),placeholder:"编号",clearable:"",class:"pl-toolbar__input",onKeyup:at(E(G),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),a(d,{label:"患者",class:"!mb-0"},{default:s(()=>[a(m,{modelValue:w.patient_name,"onUpdate:modelValue":e[6]||(e[6]=l=>w.patient_name=l),placeholder:"姓名",clearable:"",class:"pl-toolbar__input",onKeyup:at(E(G),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),a(d,{label:"医师",class:"!mb-0"},{default:s(()=>[a(k,{modelValue:w.creator_ids,"onUpdate:modelValue":e[7]||(e[7]=l=>w.creator_ids=l),multiple:"","collapse-tags":"","collapse-tags-tooltip":"",filterable:"",clearable:"",placeholder:"全部医师",class:"pl-toolbar__select pl-toolbar__select--doctors"},{default:s(()=>[(_(!0),b(L,null,K(Oe.value,l=>(_(),x(i,{key:l.id,label:l.name,value:Number(l.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["model"]),r("div",cs,[a(V,{type:"primary",onClick:E(G)},{default:s(()=>[...e[89]||(e[89]=[c("查询",-1)])]),_:1},8,["onClick"]),a(V,{onClick:fa},{default:s(()=>[...e[90]||(e[90]=[c("重置",-1)])]),_:1})])])])]),_:1}),R((_(),x(J,{class:"mt-3 table-card",shadow:"never"},{default:s(()=>[r("div",fs,[e[93]||(e[93]=r("span",{class:"pl-table-head__title"},"处方列表",-1)),r("div",gs,[R((_(),x(V,{onClick:Ot},{default:s(()=>[...e[91]||(e[91]=[c(" 业务订单 ",-1)])]),_:1})),[[W,["tcm.prescriptionOrder/lists"]]]),R((_(),x(V,{type:"primary",onClick:Ya},{icon:s(()=>[a(et,{name:"el-icon-Plus"})]),default:s(()=>[e[92]||(e[92]=c(" 新增处方 ",-1))]),_:1})),[[W,["cf.prescription/add"]]])])]),r("div",vs,[a(A,{data:E(_e).lists,size:"default",stripe:""},{default:s(()=>[a(C,{label:"处方编号","min-width":"160"},{default:s(({row:l})=>[r("span",bs,f(l.sn||"—"),1),r("div",ys,"ID: "+f(l.id),1),(_(!0),b(L,null,K(ha(l),($,be)=>(_(),b("div",{key:`rx-order-warn-${l.id}-${be}`,class:"text-xs text-red-600 mt-0.5 leading-snug"},f($),1))),128))]),_:1}),a(C,{label:"处方类型","min-width":"100"},{default:s(({row:l})=>[a(O,{type:"info",size:"small"},{default:s(()=>[c(f(l.prescription_type||"—"),1)]),_:2},1024)]),_:1}),a(C,{label:"来源","min-width":"92",align:"center"},{default:s(({row:l})=>[Number(l.is_system_auto)===1?(_(),x(O,{key:0,type:"warning",size:"small",effect:"plain"},{default:s(()=>[...e[94]||(e[94]=[c(" 系统代开 ",-1)])]),_:1})):(_(),b("span",xs,"手工"))]),_:1}),a(C,{label:"患者信息","min-width":"110"},{default:s(({row:l})=>[r("div",ks,f(l.patient_name||"—"),1),r("div",Vs,f(l.gender===1?"男":l.gender===0?"女":"未知")+" · "+f(l.age?l.age+"岁":"—"),1)]),_:1}),a(C,{label:"审核状态","min-width":"200"},{default:s(({row:l})=>[r("div",hs,[r("div",ws,[a(O,{type:ya(l)},{default:s(()=>[c(f(ba(l)),1)]),_:2},1032,["type"]),Number(l.business_prescription_audit_rejected)===1?(_(),b("span",Ns," (业务订单审核) ")):y("",!0)]),kt(l).length?(_(!0),b(L,{key:0},K(kt(l),($,be)=>(_(),b("div",{key:be,class:"text-xs text-red-600 leading-snug line-clamp-3",title:$},f($),9,Ss))),128)):y("",!0)])]),_:1}),a(C,{label:"作废","min-width":"80",align:"center"},{default:s(({row:l})=>[l.void_status===1?(_(),x(O,{key:0,type:"danger",size:"small"},{default:s(()=>[...e[95]||(e[95]=[c("作废",-1)])]),_:1})):(_(),b("span",Cs,"—"))]),_:1}),a(C,{label:"医师信息","min-width":"120"},{default:s(({row:l})=>[r("div",$s,f(l.doctor_name||"—"),1),r("div",Ps,f(l.prescription_date||"—"),1)]),_:1}),a(C,{label:"医助","min-width":"90"},{default:s(({row:l})=>[r("div",Us,f(l.assistant_name||"—"),1)]),_:1}),a(C,{label:"创建时间","min-width":"160"},{default:s(({row:l})=>[c(f(ca(l.create_time)),1)]),_:1}),a(C,{label:"操作",width:"300",fixed:"right"},{default:s(({row:l})=>[R((_(),x(V,{type:"primary",link:"",onClick:$=>Ba(l)},{default:s(()=>[...e[96]||(e[96]=[c(" 查看 ",-1)])]),_:1},8,["onClick"])),[[W,["cf.prescription/read"]]]),!Number(l.has_prescription_order)&&Number(l.void_status)!==1?R((_(),x(V,{key:0,type:"success",link:"",onClick:$=>Wt(l)},{default:s(()=>[...e[97]||(e[97]=[c(" 创建订单 ",-1)])]),_:1},8,["onClick"])),[[W,["tcm.prescriptionOrder/create"]]]):y("",!0),Vt(l)?y("",!0):R((_(),x(V,{key:1,type:"primary",link:"",onClick:$=>Ga(l)},{default:s(()=>[...e[98]||(e[98]=[c(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[W,["cf.prescription/edit"]]]),l.audit_status===0&&l.void_status!==1?R((_(),x(V,{key:2,type:"warning",link:"",onClick:$=>Ua(l)},{default:s(()=>[...e[99]||(e[99]=[c(" 审核 ",-1)])]),_:1},8,["onClick"])),[[W,["cf.prescription/audit"]]]):y("",!0),Vt(l)?y("",!0):R((_(),x(V,{key:3,type:"danger",link:"",onClick:$=>Ka(l.id)},{default:s(()=>[...e[100]||(e[100]=[c(" 删除 ",-1)])]),_:1},8,["onClick"])),[[W,["cf.prescription/del"]]])]),_:1})]),_:1},8,["data"])]),r("div",Ds,[a(Pe,{modelValue:E(_e),"onUpdate:modelValue":e[8]||(e[8]=l=>is(_e)?_e.value=l:null),onChange:E(le)},null,8,["modelValue","onChange"])])]),_:1})),[[De,E(_e).loading]]),a(Xa,{modelValue:q.value,"onUpdate:modelValue":e[38]||(e[38]=l=>q.value=l),title:U.value==="add"?"新增处方":U.value==="edit"?"编辑处方":"查看处方",size:U.value==="view"?"920px":"860px",class:"cf-prescription-drawer","close-on-click-modal":!1,"destroy-on-close":"",onClosed:Na},{footer:s(()=>[U.value==="view"?(_(),x(V,{key:0,onClick:e[36]||(e[36]=l=>q.value=!1)},{default:s(()=>[...e[146]||(e[146]=[c("关闭",-1)])]),_:1})):(_(),b(L,{key:1},[a(V,{onClick:e[37]||(e[37]=l=>q.value=!1)},{default:s(()=>[...e[147]||(e[147]=[c("取消",-1)])]),_:1}),a(V,{type:"primary",onClick:Ja,loading:Ee.value},{default:s(()=>[...e[148]||(e[148]=[c(" 确定 ",-1)])]),_:1},8,["loading"])],64))]),default:s(()=>[U.value==="view"?R((_(),b("div",Ts,[r("div",Rs,[g.value&&Number(g.value.is_system_auto)===1?(_(),x(O,{key:0,type:"warning",size:"small",effect:"plain"},{default:s(()=>[...e[101]||(e[101]=[c("系统代开",-1)])]),_:1})):y("",!0),g.value&&Number(g.value.void_status)===1?(_(),x(O,{key:1,type:"danger",size:"small"},{default:s(()=>[...e[102]||(e[102]=[c("已作废",-1)])]),_:1})):g.value&&Number(g.value.business_prescription_audit_rejected)===1?(_(),x(O,{key:2,type:"danger",size:"small"},{default:s(()=>[...e[103]||(e[103]=[c("业务订单已驳回",-1)])]),_:1})):g.value&&Number(g.value.audit_status)===1?(_(),x(O,{key:3,type:"success",size:"small"},{default:s(()=>[...e[104]||(e[104]=[c("已通过",-1)])]),_:1})):g.value&&Number(g.value.audit_status)===0?(_(),x(O,{key:4,type:"warning",size:"small"},{default:s(()=>[...e[105]||(e[105]=[c("待审核",-1)])]),_:1})):g.value?(_(),x(O,{key:5,type:"danger",size:"small"},{default:s(()=>[...e[106]||(e[106]=[c("已驳回",-1)])]),_:1})):y("",!0),e[109]||(e[109]=r("div",{class:"flex-1"},null,-1)),a(V,{icon:E(Zl),size:"small",onClick:sa},{default:s(()=>[...e[107]||(e[107]=[c("打印",-1)])]),_:1},8,["icon"]),a(V,{type:"primary",icon:E(es),size:"small",loading:Me.value,onClick:na},{default:s(()=>[...e[108]||(e[108]=[c(" 下载 PDF (A4) ",-1)])]),_:1},8,["icon","loading"])]),g.value&&Number(g.value.void_status)===1?(_(),b("div",Os," 作废人:"+f(g.value.void_by_name||"—")+",作废时间:"+f(xa(g.value.void_time)),1)):g.value&&Number(g.value.business_prescription_audit_rejected)===1?(_(),b("div",Es,[e[110]||(e[110]=r("div",{class:"font-medium"},"审核状态:已驳回(业务订单·处方审核)",-1)),g.value.business_prescription_audit_remark?(_(),b("div",As," 驳回意见:"+f(g.value.business_prescription_audit_remark),1)):y("",!0)])):g.value&&Number(g.value.audit_status)===2?(_(),b("div",Ls,[e[111]||(e[111]=r("div",{class:"font-medium"},"消费者处方审核:已驳回",-1)),g.value.audit_remark?(_(),b("div",Is,"驳回意见:"+f(g.value.audit_remark),1)):y("",!0)])):y("",!0),g.value?(_(),b("div",{key:3,ref_key:"rxPaperRef",ref:mt,class:"rx-paper"},[r("div",Fs,[e[112]||(e[112]=r("span",{class:"rx-notice-text"}," 服药前请核对姓名、电话、医生等信息以及服法、医嘱等要点 ",-1)),r("span",zs,[r("span",null,"日期:"+f(Kt.value),1),r("span",null,"编号:"+f(Qt.value),1)])]),r("div",js,[r("div",Ms,[r("div",Hs,[e[113]||(e[113]=r("span",{class:"rx-key"},"姓名",-1)),r("span",Ws,f(g.value.patient_name||"—"),1)]),r("div",qs,[e[114]||(e[114]=r("span",{class:"rx-key"},"性别",-1)),r("span",Ys,f(ka(g.value.gender)),1)]),r("div",Bs,[e[115]||(e[115]=r("span",{class:"rx-key"},"年龄",-1)),r("span",Gs,f(Va(g.value.age)),1)]),r("div",Js,[e[116]||(e[116]=r("span",{class:"rx-key"},"电话",-1)),r("span",Ks,f(g.value.phone||"—"),1)])]),r("div",Qs,[r("div",Xs,[e[117]||(e[117]=r("span",{class:"rx-key"},"收件信息",-1)),r("span",Zs,f(Xt.value),1)])]),r("div",en,[r("div",tn,[e[118]||(e[118]=r("span",{class:"rx-key"},"临床诊断",-1)),r("span",an,f(g.value.clinical_diagnosis||"—"),1)])])]),r("div",ln,[e[119]||(e[119]=r("div",{class:"rx-watermark"},"药房联",-1)),e[120]||(e[120]=r("div",{class:"rx-rp-head"},[r("div",{class:"rx-rp-label"},"Rp."),r("div",{class:"rx-rp-cols-head"},[r("div",{class:"rx-rp-col-head"},[r("span",null,"用药 (单剂)"),r("span",null,"总量")]),r("div",{class:"rx-rp-col-head"},[r("span",null,"用药 (单剂)"),r("span",null,"总量")])])],-1)),r("div",sn,[(_(!0),b(L,null,K(he.value,(l,$)=>(_(),b("div",{key:$,class:"rx-herb-cell"},[r("span",nn,f(l.name)+" ("+f(l.dosage)+"克)",1),r("span",on,f(ea(l.dosage))+"克",1)]))),128))])]),r("div",rn,[r("p",null,"服法:"+f(aa.value),1),ct.value?(_(),b("p",un,"医嘱:"+f(ct.value),1)):y("",!0),ft.value?(_(),b("p",dn,"备注:"+f(ft.value),1)):y("",!0),gt.value?(_(),b("p",pn," 药房备注:"+f(gt.value),1)):y("",!0),vt.value?(_(),b("p",mn," 出丸:"+f(vt.value),1)):y("",!0)]),r("div",_n,[r("div",cn,[r("div",fn,[e[121]||(e[121]=r("div",{class:"rx-bot-label"},"医师",-1)),r("div",gn,[g.value.doctor_signature?(_(),b("img",{key:0,src:g.value.doctor_signature,alt:"医师签名",class:"rx-bot-sign-img"},null,8,vn)):y("",!0),r("div",bn,f(g.value.doctor_name||"—"),1)])]),r("div",yn,[e[122]||(e[122]=r("span",{class:"rx-bot-meta-key"},"类型:",-1)),r("span",xn,f(ta.value),1)]),r("div",kn,[e[123]||(e[123]=r("span",{class:"rx-bot-meta-key"},"天数:",-1)),r("span",Vn,f(g.value.dose_count||"—")+"剂",1)]),r("div",hn,[e[124]||(e[124]=r("span",{class:"rx-bot-meta-key"},"单剂量:",-1)),r("span",wn,f(Zt.value)+"克",1)])])])],512)):y("",!0),g.value&&(g.value.audit_by_name||g.value.audit_remark)?(_(),b("div",Nn,[g.value.audit_by_name?(_(),b("div",Sn,[c(" 审核人:"+f(g.value.audit_by_name)+" ",1),g.value.audit_time?(_(),b("span",Cn,f(Se(g.value.audit_time)),1)):y("",!0)])):y("",!0),g.value.audit_remark?(_(),b("div",$n,"审核意见:"+f(g.value.audit_remark),1)):y("",!0)])):y("",!0)])),[[De,Ae.value]]):(_(),x(F,{key:1,ref_key:"formRef",ref:B,model:n,rules:ua,"label-width":"120px"},{default:s(()=>[U.value==="edit"&&Number(n.is_system_auto)===1?(_(),x(se,{key:0,type:"warning",closable:!1,"show-icon":"",class:"mb-4",title:"本处方为系统自动生成(如挂号完成),默认无药材配方,请补充药材与诊断等信息后再保存。"})):y("",!0),U.value==="edit"?(_(),x(se,{key:1,type:"info",closable:!1,"show-icon":"",class:"mb-4",title:"保存修改后,该处方将重新进入「待审核」,需审核人员再次通过后方可生效。"})):y("",!0),U.value==="edit"&&Number(n.audit_status)===2?(_(),x(se,{key:2,type:"error",closable:!1,"show-icon":"",class:"mb-4"},{title:s(()=>[...e[125]||(e[125]=[c("当前消费者处方为「已驳回」",-1)])]),default:s(()=>[r("div",Pn," 保存修改后将清除驳回并变为「待审核」。"+f(n.audit_remark?`上次意见:${n.audit_remark}`:""),1)]),_:1})):y("",!0),U.value==="edit"&&Number(n.business_prescription_audit_rejected)===1&&Number(n.audit_status)===1?(_(),x(se,{key:3,type:"warning",closable:!1,"show-icon":"",class:"mb-4"},{title:s(()=>[...e[126]||(e[126]=[c("业务订单侧「处方审核」已驳回",-1)])]),default:s(()=>[e[127]||(e[127]=r("div",{class:"text-sm mt-1"}," 消费者处方仍为「已通过」;您修改并保存后,将重置关联业务订单的处方/支付单审核为「待审」,请在「处方业务订单」中继续处理。 ",-1)),String(n.business_prescription_audit_remark||"").trim()?(_(),b("div",Un," 驳回意见:"+f(n.business_prescription_audit_remark),1)):y("",!0)]),_:1})):y("",!0),U.value==="edit"&&pt.value?(_(),x(se,{key:4,type:"warning",closable:!1,"show-icon":"",class:"mb-4",title:pt.value},null,8,["title"])):y("",!0),Number(n.diagnosis_id)>0?(_(),b("div",Dn,[a(V,{type:"primary",size:"small",onClick:ia},{default:s(()=>[...e[128]||(e[128]=[c(" 查看患者诊单详情 ",-1)])]),_:1}),r("span",Tn,"关联诊单 #"+f(n.diagnosis_id),1)])):y("",!0),a(M,{gutter:20},{default:s(()=>[a(h,{span:12},{default:s(()=>[a(d,{label:"患者姓名",prop:"patient_name"},{default:s(()=>[a(m,{modelValue:n.patient_name,"onUpdate:modelValue":e[9]||(e[9]=l=>n.patient_name=l),placeholder:"请输入患者姓名",disabled:U.value==="edit"},null,8,["modelValue","disabled"])]),_:1})]),_:1}),a(h,{span:12},{default:s(()=>[a(d,{label:"门诊号",prop:"visit_no"},{default:s(()=>[a(m,{modelValue:n.visit_no,"onUpdate:modelValue":e[10]||(e[10]=l=>n.visit_no=l),placeholder:"自动生成或手动输入",disabled:U.value==="edit"},null,8,["modelValue","disabled"])]),_:1})]),_:1})]),_:1}),a(M,{gutter:20},{default:s(()=>[a(h,{span:8},{default:s(()=>[a(d,{label:"性别",prop:"gender"},{default:s(()=>[a(u,{modelValue:n.gender,"onUpdate:modelValue":e[11]||(e[11]=l=>n.gender=l)},{default:s(()=>[a(ne,{label:1},{default:s(()=>[...e[129]||(e[129]=[c("男",-1)])]),_:1}),a(ne,{label:0},{default:s(()=>[...e[130]||(e[130]=[c("女",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1}),a(h,{span:8},{default:s(()=>[a(d,{label:"年龄",prop:"age"},{default:s(()=>[a(H,{modelValue:n.age,"onUpdate:modelValue":e[12]||(e[12]=l=>n.age=l),min:0,max:150,placeholder:"请输入年龄",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1}),a(h,{span:8},{default:s(()=>[a(d,{label:"处方日期",prop:"prescription_date"},{default:s(()=>[a(Qa,{modelValue:n.prescription_date,"onUpdate:modelValue":e[13]||(e[13]=l=>n.prescription_date=l),type:"date",placeholder:"选择日期",format:"YYYY-MM-DD","value-format":"YYYY-MM-DD",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),a(M,{gutter:20},{default:s(()=>[a(h,{span:12},{default:s(()=>[a(d,{label:"面象",prop:"tongue"},{default:s(()=>[a(m,{modelValue:n.tongue,"onUpdate:modelValue":e[14]||(e[14]=l=>n.tongue=l),placeholder:"请输入面象"},null,8,["modelValue"])]),_:1})]),_:1}),a(h,{span:12},{default:s(()=>[a(d,{label:"舌象",prop:"tongue_image"},{default:s(()=>[a(m,{modelValue:n.tongue_image,"onUpdate:modelValue":e[15]||(e[15]=l=>n.tongue_image=l),placeholder:"请输入舌象"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),a(M,{gutter:20},{default:s(()=>[a(h,{span:12},{default:s(()=>[a(d,{label:"脉象",prop:"pulse"},{default:s(()=>[a(m,{modelValue:n.pulse,"onUpdate:modelValue":e[16]||(e[16]=l=>n.pulse=l),placeholder:"请输入脉象"},null,8,["modelValue"])]),_:1})]),_:1}),a(h,{span:12},{default:s(()=>[a(d,{label:"脉象详情",prop:"pulse_condition"},{default:s(()=>[a(m,{modelValue:n.pulse_condition,"onUpdate:modelValue":e[17]||(e[17]=l=>n.pulse_condition=l),placeholder:"请输入脉象详情"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),a(d,{label:"临床诊断",prop:"clinical_diagnosis"},{default:s(()=>[a(m,{modelValue:n.clinical_diagnosis,"onUpdate:modelValue":e[18]||(e[18]=l=>n.clinical_diagnosis=l),type:"textarea",rows:3,placeholder:"请输入临床诊断",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1}),a(d,{label:"药材配方",prop:"herbs",required:""},{default:s(()=>[r("div",Rn,[r("div",On,[a(V,{type:"primary",size:"small",onClick:Ha},{default:s(()=>[...e[131]||(e[131]=[c(" 添加药材 ",-1)])]),_:1}),a(V,{type:"success",size:"small",onClick:Ra},{default:s(()=>[...e[132]||(e[132]=[c(" 从处方库导入 ",-1)])]),_:1})]),r("div",En,[a(V,{type:"warning",size:"small",plain:"",icon:E(ts),onClick:ja},{default:s(()=>[...e[133]||(e[133]=[c(" 导入药方 ",-1)])]),_:1},8,["icon"]),e[134]||(e[134]=r("span",{class:"text-xs text-gray-500 ml-2 align-middle"}," 粘贴文本解析药名与剂量;须与药品库名称完全一致才录入 ",-1))]),a(A,{data:n.herbs,class:"mt-2",border:""},{default:s(()=>[a(C,{label:"序号",type:"index",width:"60"}),a(C,{label:"药材名称","min-width":"220"},{default:s(({row:l})=>[a(Xl,{modelValue:l.name,"onUpdate:modelValue":$=>l.name=$,class:"w-full"},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),a(C,{label:"剂量(克)","min-width":"120"},{default:s(({row:l,$index:$})=>[a(H,{modelValue:l.dosage,"onUpdate:modelValue":be=>l.dosage=be,min:0,precision:1,step:.5,placeholder:"剂量",class:"w-full"},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),a(C,{label:"操作",width:"80"},{default:s(({$index:l})=>[a(V,{type:"danger",link:"",onClick:$=>Wa(l)},{default:s(()=>[...e[135]||(e[135]=[c(" 删除 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"]),U.value==="edit"?R((_(),x(se,{key:0,type:"warning",closable:!1,"show-icon":"",class:"mt-3"},{title:s(()=>[...e[136]||(e[136]=[c("业务订单要求(请与本处方保持一致)",-1)])]),default:s(()=>[r("div",An,[S.orderNo||S.medicationDays!=null||S.remarkAssistant?(_(),b(L,{key:0},[S.orderNo?(_(),b("p",Ln,[e[137]||(e[137]=c(" 最近关联订单(按创建倒序): ",-1)),r("span",In,f(S.orderNo),1)])):y("",!0),r("p",Fn,[e[138]||(e[138]=r("span",{class:"font-semibold"},"服用天数(订单)",-1)),c(": "+f(S.medicationDays!=null?`${S.medicationDays} 天`:"— 订单未填写"),1)]),r("p",null,[e[139]||(e[139]=r("span",{class:"font-semibold"},"医助备注(订单)",-1)),e[140]||(e[140]=c(": ",-1)),r("span",zn,f(S.remarkAssistant||"— 无"),1)])],64)):S.loading?y("",!0):(_(),b("p",jn,[...e[141]||(e[141]=[c(" 当前处方暂无关联业务订单,或您无订单列表权限;若有订单,将在此处显示订单内 ",-1),r("span",{class:"font-semibold"},"服用天数",-1),c("与 ",-1),r("span",{class:"font-semibold"},"医助备注",-1),c("。 ",-1)])]))])]),_:1})),[[De,S.loading]]):y("",!0)])]),_:1}),a(M,{gutter:20},{default:s(()=>[a(h,{span:8},{default:s(()=>[a(d,{label:"剂数",prop:"dose_count"},{default:s(()=>[a(H,{modelValue:n.dose_count,"onUpdate:modelValue":e[19]||(e[19]=l=>n.dose_count=l),min:1,placeholder:"剂数",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1}),a(h,{span:8},{default:s(()=>[a(d,{label:"剂量单位",prop:"dose_unit"},{default:s(()=>[a(k,{modelValue:n.dose_unit,"onUpdate:modelValue":e[20]||(e[20]=l=>n.dose_unit=l),placeholder:"请选择",class:"w-full"},{default:s(()=>[a(i,{label:"剂",value:"剂"}),a(i,{label:"丸",value:"丸"}),a(i,{label:"袋",value:"袋"}),a(i,{label:"盒",value:"盒"}),a(i,{label:"瓶",value:"瓶"}),a(i,{label:"膏",value:"膏"}),a(i,{label:"贴",value:"贴"})]),_:1},8,["modelValue"])]),_:1})]),_:1}),a(h,{span:8},{default:s(()=>[a(d,{label:"处方类型",prop:"prescription_type"},{default:s(()=>[a(k,{modelValue:n.prescription_type,"onUpdate:modelValue":e[21]||(e[21]=l=>n.prescription_type=l),placeholder:"请选择处方类型",class:"w-full"},{default:s(()=>[a(i,{label:"浓缩水丸",value:"浓缩水丸"}),a(i,{label:"饮片",value:"饮片"}),a(i,{label:"颗粒",value:"颗粒"}),a(i,{label:"丸剂",value:"丸剂"}),a(i,{label:"散剂",value:"散剂"}),a(i,{label:"膏方",value:"膏方"}),a(i,{label:"汤剂",value:"汤剂"})]),_:1},8,["modelValue"])]),_:1})]),_:1}),a(h,{span:8},{default:s(()=>[a(d,{label:"用量",prop:"dosage_amount"},{default:s(()=>[n.prescription_type==="浓缩水丸"?(_(),x(k,{key:0,modelValue:n.dosage_amount,"onUpdate:modelValue":e[22]||(e[22]=l=>n.dosage_amount=l),placeholder:"请选择用量",class:"w-full"},{default:s(()=>[a(i,{label:"1g",value:1}),a(i,{label:"2g",value:2}),a(i,{label:"3g",value:3}),a(i,{label:"4g",value:4}),a(i,{label:"5g",value:5}),a(i,{label:"6g",value:6}),a(i,{label:"7g",value:7}),a(i,{label:"8g",value:8}),a(i,{label:"9g",value:9}),a(i,{label:"10g",value:10})]),_:1},8,["modelValue"])):n.prescription_type==="饮片"?(_(),x(k,{key:1,modelValue:n.dosage_amount,"onUpdate:modelValue":e[23]||(e[23]=l=>n.dosage_amount=l),placeholder:"请选择用量",class:"w-full"},{default:s(()=>[a(i,{label:"50ml",value:50}),a(i,{label:"100ml",value:100}),a(i,{label:"120ml",value:120}),a(i,{label:"150ml",value:150}),a(i,{label:"180ml",value:180}),a(i,{label:"200ml",value:200}),a(i,{label:"250ml",value:250})]),_:1},8,["modelValue"])):(_(),x(H,{key:2,modelValue:n.dosage_amount,"onUpdate:modelValue":e[24]||(e[24]=l=>n.dosage_amount=l),min:0,precision:2,class:"w-full"},null,8,["modelValue"]))]),_:1})]),_:1}),n.prescription_type==="浓缩水丸"?(_(),x(h,{key:0,span:8},{default:s(()=>[a(d,{label:" ",prop:"dosage_bag_count","label-width":"12px"},{default:s(()=>[a(k,{modelValue:n.dosage_bag_count,"onUpdate:modelValue":e[25]||(e[25]=l=>n.dosage_bag_count=l),placeholder:"请选择袋数",class:"w-[120px]"},{default:s(()=>[a(i,{label:"1袋",value:1}),a(i,{label:"2袋",value:2}),a(i,{label:"3袋",value:3}),a(i,{label:"4袋",value:4}),a(i,{label:"5袋",value:5})]),_:1},8,["modelValue"])]),_:1})]),_:1})):y("",!0),n.prescription_type==="饮片"?(_(),x(h,{key:1,span:8},{default:s(()=>[a(d,{label:"是否代煎",prop:"need_decoction"},{default:s(()=>[a(u,{modelValue:n.need_decoction,"onUpdate:modelValue":e[26]||(e[26]=l=>n.need_decoction=l)},{default:s(()=>[a(ne,{label:!0},{default:s(()=>[...e[142]||(e[142]=[c("代煎",-1)])]),_:1}),a(ne,{label:!1},{default:s(()=>[...e[143]||(e[143]=[c("不代煎",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1})):y("",!0),n.prescription_type==="饮片"?(_(),x(h,{key:2,span:8},{default:s(()=>[a(d,{label:"每贴出包数",prop:"bags_per_dose"},{default:s(()=>[a(k,{modelValue:n.bags_per_dose,"onUpdate:modelValue":e[27]||(e[27]=l=>n.bags_per_dose=l),placeholder:"请选择",class:"w-full"},{default:s(()=>[a(i,{label:"1包",value:1}),a(i,{label:"2包",value:2}),a(i,{label:"3包",value:3}),a(i,{label:"4包",value:4}),a(i,{label:"5包",value:5}),a(i,{label:"6包",value:6}),a(i,{label:"7包",value:7}),a(i,{label:"8包",value:8}),a(i,{label:"9包",value:9})]),_:1},8,["modelValue"])]),_:1})]),_:1})):y("",!0),a(h,{span:8},{default:s(()=>[a(d,{label:"每天几次",prop:"times_per_day"},{default:s(()=>[a(H,{modelValue:n.times_per_day,"onUpdate:modelValue":e[28]||(e[28]=l=>n.times_per_day=l),min:1,max:6,class:"!w-full",placeholder:"每天服用次数"},null,8,["modelValue"])]),_:1})]),_:1}),a(h,{span:8},{default:s(()=>[a(d,{label:"服用天数",prop:"usage_days"},{default:s(()=>[a(H,{modelValue:n.usage_days,"onUpdate:modelValue":e[29]||(e[29]=l=>n.usage_days=l),min:1,max:365,placeholder:"服用天数",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),a(d,{label:"用法",prop:"usage_instruction"},{default:s(()=>[a(m,{modelValue:n.usage_instruction,"onUpdate:modelValue":e[30]||(e[30]=l=>n.usage_instruction=l),placeholder:"例如:水煎服,一日二次",maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1}),a(M,{gutter:20},{default:s(()=>[a(h,{span:12},{default:s(()=>[a(d,{label:"服用时间",prop:"usage_time"},{default:s(()=>[a(k,{modelValue:n.usage_time,"onUpdate:modelValue":e[31]||(e[31]=l=>n.usage_time=l),placeholder:"请选择服用时间",class:"w-full"},{default:s(()=>[a(i,{label:"饭前",value:"饭前"}),a(i,{label:"饭后",value:"饭后"}),a(i,{label:"饭中",value:"饭中"}),a(i,{label:"空腹",value:"空腹"}),a(i,{label:"睡前",value:"睡前"}),a(i,{label:"晨起",value:"晨起"}),a(i,{label:"随时",value:"随时"})]),_:1},8,["modelValue"])]),_:1})]),_:1}),a(h,{span:12},{default:s(()=>[a(d,{label:"服用方式",prop:"usage_way"},{default:s(()=>[a(k,{modelValue:n.usage_way,"onUpdate:modelValue":e[32]||(e[32]=l=>n.usage_way=l),placeholder:"请选择服用方式",class:"w-full"},{default:s(()=>[a(i,{label:"温水送服",value:"温水送服"}),a(i,{label:"开水冲服",value:"开水冲服"}),a(i,{label:"黄酒送服",value:"黄酒送服"}),a(i,{label:"淡盐水送服",value:"淡盐水送服"}),a(i,{label:"米汤送服",value:"米汤送服"}),a(i,{label:"嚼服",value:"嚼服"}),a(i,{label:"含化",value:"含化"})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),a(d,{label:"忌口",prop:"dietary_taboo"},{default:s(()=>[a(k,{modelValue:n.dietary_taboo,"onUpdate:modelValue":e[33]||(e[33]=l=>n.dietary_taboo=l),multiple:"",placeholder:"请选择忌口内容(可多选)",class:"w-full"},{default:s(()=>[a(i,{label:"辛辣食物",value:"辛辣食物"}),a(i,{label:"生冷食物",value:"生冷食物"}),a(i,{label:"油腻食物",value:"油腻食物"}),a(i,{label:"海鲜",value:"海鲜"}),a(i,{label:"牛羊肉",value:"牛羊肉"}),a(i,{label:"鸡蛋",value:"鸡蛋"}),a(i,{label:"豆制品",value:"豆制品"}),a(i,{label:"酒类",value:"酒类"}),a(i,{label:"浓茶",value:"浓茶"}),a(i,{label:"咖啡",value:"咖啡"}),a(i,{label:"烟草",value:"烟草"}),a(i,{label:"萝卜",value:"萝卜"})]),_:1},8,["modelValue"])]),_:1}),a(d,{label:"其他说明",prop:"usage_notes"},{default:s(()=>[a(m,{modelValue:n.usage_notes,"onUpdate:modelValue":e[34]||(e[34]=l=>n.usage_notes=l),type:"textarea",rows:2,placeholder:"其他服用注意事项",maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1}),a(d,{label:"医师姓名",prop:"doctor_name"},{default:s(()=>[a(m,{modelValue:n.doctor_name,"onUpdate:modelValue":e[35]||(e[35]=l=>n.doctor_name=l),placeholder:"请输入医师姓名"},null,8,["modelValue"])]),_:1}),a(d,{label:"医师签名",prop:"doctor_signature",required:""},{default:s(()=>[r("div",Mn,[r("canvas",{ref_key:"signatureCanvasRef",ref:j,class:"signature-canvas",onPointerdown:ye(Sa,["prevent"]),onPointermove:ye(Ca,["prevent"]),onPointerup:ye(wt,["prevent"]),onPointercancel:ye(wt,["prevent"])},null,544),r("div",Hn,[a(V,{size:"small",onClick:$a},{default:s(()=>[...e[144]||(e[144]=[c("清空签名",-1)])]),_:1})])]),e[145]||(e[145]=r("div",{class:"text-xs text-amber-600 mt-1"},"* 必填,请在框内手写医师签名",-1))]),_:1})]),_:1},8,["model"]))]),_:1},8,["modelValue","title","size"]),a(Ue,{modelValue:ue.value,"onUpdate:modelValue":e[56]||(e[56]=l=>ue.value=l),title:"创建业务订单",width:"940px",top:"4vh","close-on-click-modal":!1,onClosed:ut,class:"create-order-dialog"},{footer:s(()=>[r("div",go,[r("div",vo,[r("span",bo,"第 "+f(D.value+1)+" / 3 步",1),D.value===2&&P.value>0?(_(),b("span",yo," 订单金额与关联支付单合计须 ≥ ¥"+f(ae(P.value)),1)):y("",!0)]),r("div",xo,[a(V,{size:"large",onClick:e[55]||(e[55]=l=>ue.value=!1)},{default:s(()=>[...e[157]||(e[157]=[c("取消",-1)])]),_:1}),D.value>0?(_(),x(V,{key:0,size:"large",onClick:Bt},{default:s(()=>[...e[158]||(e[158]=[c("上一步",-1)])]),_:1})):y("",!0),D.value<2?(_(),x(V,{key:1,type:"primary",size:"large",onClick:Gt},{default:s(()=>[...e[159]||(e[159]=[c(" 下一步 ",-1)])]),_:1})):y("",!0),D.value===2?(_(),x(V,{key:2,type:"primary",size:"large",loading:Le.value,onClick:Jt},{default:s(()=>[...e[160]||(e[160]=[c(" 创建业务订单 ",-1)])]),_:1},8,["loading"])):y("",!0)])])]),default:s(()=>[r("div",Wn,[I.value?(_(),b("div",qn,[r("div",Yn,[e[149]||(e[149]=r("span",{class:"create-order-rx-card__badge"},"关联处方",-1)),r("div",Bn,[r("span",Gn,"#"+f(I.value.id),1),I.value.sn?(_(),b("span",Jn,f(I.value.sn),1)):y("",!0),r("span",Kn,f(I.value.patient_name||"—"),1)])])])):y("",!0),a(Za,{active:D.value,"finish-status":"success","align-center":"",class:"create-order-steps"},{default:s(()=>[a(tt,{title:"患者与收货",description:"诊单与物流地址"}),a(tt,{title:"服务与支付单",description:"套餐与关联收款"}),a(tt,{title:"金额与确认",description:"费用与备注"})]),_:1},8,["active"]),r("p",Qn,f(Et.value),1),a(F,{ref_key:"createOrderFormRef",ref:de,model:p,rules:Mt.value,"label-width":"108px",class:"create-order-form"},{default:s(()=>[R(r("div",Xn,[a(M,{gutter:20},{default:s(()=>[a(h,{span:24},{default:s(()=>[a(d,{label:"诊单患者",prop:"patient_id"},{default:s(()=>[a(k,{modelValue:p.patient_id,"onUpdate:modelValue":e[39]||(e[39]=l=>p.patient_id=l),class:"w-full",placeholder:"搜索姓名/手机/身份证",filterable:"",remote:"","remote-method":qt,loading:Ie.value,onChange:Yt},{default:s(()=>[(_(!0),b(L,null,K(Y.value,l=>(_(),x(i,{key:l.id,label:`${l.patient_name} (${l.phone||"无手机"})`,value:l.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","loading"])]),_:1})]),_:1}),a(h,{span:12},{default:s(()=>[a(d,{label:"收货人",prop:"recipient_name"},{default:s(()=>[a(m,{modelValue:p.recipient_name,"onUpdate:modelValue":e[40]||(e[40]=l=>p.recipient_name=l),placeholder:"姓名",maxlength:"50"},null,8,["modelValue"])]),_:1})]),_:1}),a(h,{span:12},{default:s(()=>[a(d,{label:"收货手机",prop:"recipient_phone"},{default:s(()=>[a(m,{modelValue:p.recipient_phone,"onUpdate:modelValue":e[41]||(e[41]=l=>p.recipient_phone=l),placeholder:"物流联系",maxlength:"20"},null,8,["modelValue"])]),_:1})]),_:1}),a(h,{span:24},{default:s(()=>[a(d,{label:"省市区",prop:"region"},{default:s(()=>[a(el,{modelValue:p.region,"onUpdate:modelValue":e[42]||(e[42]=l=>p.region=l),options:pe.value,props:{value:"name",label:"name",children:"children",emitPath:!0,checkStrictly:!1},placeholder:"省 / 市 / 区",clearable:"",filterable:"",class:"w-full",onChange:zt},null,8,["modelValue","options"])]),_:1})]),_:1}),a(h,{span:24},{default:s(()=>[a(d,{label:"详细地址",prop:"shipping_address"},{default:s(()=>[a(m,{modelValue:p.shipping_address,"onUpdate:modelValue":e[43]||(e[43]=l=>p.shipping_address=l),type:"textarea",rows:3,placeholder:"街道、小区、门牌号等详细地址",maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})],512),[[lt,D.value===0]]),R(r("div",Zn,[a(M,{gutter:20},{default:s(()=>[a(h,{xs:24,sm:8},{default:s(()=>[a(d,{label:"复诊"},{default:s(()=>[a(tl,{modelValue:p.is_follow_up,"onUpdate:modelValue":e[44]||(e[44]=l=>p.is_follow_up=l),"active-value":1,"inactive-value":0},null,8,["modelValue"])]),_:1})]),_:1}),a(h,{xs:24,sm:8},{default:s(()=>[a(d,{label:"服用天数",class:"create-order-form-item--inline-num"},{default:s(()=>[r("div",eo,[a(H,{modelValue:p.medication_days,"onUpdate:modelValue":e[45]||(e[45]=l=>p.medication_days=l),min:1,max:999,step:1,"controls-position":"right",class:"flex-1 min-w-0"},null,8,["modelValue"]),e[150]||(e[150]=r("span",{class:"create-order-unit-suffix"},"天",-1))])]),_:1})]),_:1}),a(h,{xs:24,sm:8},{default:s(()=>[a(d,{label:"上次医生"},{default:s(()=>[a(m,{modelValue:p.prev_staff,"onUpdate:modelValue":e[46]||(e[46]=l=>p.prev_staff=l),placeholder:"可选",maxlength:"100"},null,8,["modelValue"])]),_:1})]),_:1}),a(h,{span:12},{default:s(()=>[a(d,{label:"服务渠道"},{default:s(()=>[a(m,{modelValue:p.service_channel,"onUpdate:modelValue":e[47]||(e[47]=l=>p.service_channel=l),placeholder:"可选",maxlength:"100"},null,8,["modelValue"])]),_:1})]),_:1}),a(h,{span:12},{default:s(()=>[a(d,{label:"服务套餐"},{default:s(()=>[a(k,{modelValue:p.service_package,"onUpdate:modelValue":e[48]||(e[48]=l=>p.service_package=l),multiple:"","collapse-tags":"","collapse-tags-tooltip":"",placeholder:"请选择服务套餐",clearable:"",class:"w-full"},{default:s(()=>[(_(!0),b(L,null,K(ze.value,l=>(_(),x(i,{key:l.value,label:l.name,value:l.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1}),a(h,{span:24},{default:s(()=>[a(d,{label:"关联支付单",prop:"pay_order_ids"},{default:s(()=>[a(k,{modelValue:p.pay_order_ids,"onUpdate:modelValue":e[49]||(e[49]=l=>p.pay_order_ids=l),class:"w-full",multiple:"","collapse-tags":"","collapse-tags-tooltip":"",placeholder:P.value>0?"请至少选择一笔本诊单支付单(已开启门槛)":"多选本诊单支付单(可选)",loading:Fe.value},{default:s(()=>[(_(!0),b(L,null,K(te.value,l=>(_(),x(i,{key:l.id,label:`${l.order_no} · ¥${l.amount} · ${it(l.order_type)}`,value:l.id,class:"!h-auto py-1.5"},{default:s(()=>[r("div",to,[r("div",ao,[r("span",lo,f(l.order_no),1),r("span",so,"¥"+f(l.amount),1)]),r("div",no,[r("span",oo,[c(f(it(l.order_type)),1),l.remark?(_(),b(L,{key:0},[c(" · "+f(l.remark),1)],64)):y("",!0)]),r("span",ro,f(String(l.create_time||"").substring(0,16)),1)])])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","loading"]),r("div",io,[P.value>0?(_(),b(L,{key:0},[r("span",uo,"当前已开启关联支付门槛(¥"+f(ae(P.value))+"),须至少选择一笔支付单。",1),e[151]||(e[151]=r("span",{class:"mx-1"},null,-1))],64)):y("",!0),e[153]||(e[153]=c(" 主管/本诊单医助可见全部支付单;否则仅本人收款单。已被占用的支付单不列出。 ",-1)),a(al,{content:"主管或本诊单医助可见该诊单全部支付单(待支付/已支付),否则仅本人创建的收款单。已被其他有效业务订单占用的支付单不会出现在此列表。",placement:"top"},{default:s(()=>[...e[152]||(e[152]=[r("span",{class:"text-primary cursor-help ml-0.5"},"详情",-1)])]),_:1})])]),_:1})]),_:1})]),_:1})],512),[[lt,D.value===1]]),R(r("div",po,[r("div",{class:us(["create-order-deposit-bar",je.value>=P.value?"is-ok":"is-warn"])},[r("div",mo,[e[154]||(e[154]=r("span",{class:"create-order-deposit-bar__label"},"定金门槛",-1)),r("strong",null,"¥"+f(ae(P.value)),1),r("span",_o,f(P.value>0?"须 ≥ 此值":"未设置"),1)]),e[156]||(e[156]=r("div",{class:"create-order-deposit-bar__sep"},null,-1)),r("div",co,[e[155]||(e[155]=r("span",{class:"create-order-deposit-bar__label"},"已选收款",-1)),r("strong",null,"¥"+f(ae(je.value)),1),r("span",fo,f(je.value>=P.value?"已达标":"未达标"),1)])],2),a(M,{gutter:20,class:"create-order-step-panel__row-after-bar"},{default:s(()=>[a(h,{span:12},{default:s(()=>[a(d,{label:"费用类别",prop:"fee_type"},{default:s(()=>[a(k,{modelValue:p.fee_type,"onUpdate:modelValue":e[50]||(e[50]=l=>p.fee_type=l),placeholder:"请选择",class:"w-full"},{default:s(()=>[a(i,{label:"挂号费",value:1}),a(i,{label:"问诊费",value:2}),a(i,{label:"药品费用",value:3}),a(i,{label:"首付费用",value:4}),a(i,{label:"尾款费用",value:5}),a(i,{label:"其他费用",value:6}),a(i,{label:"全部费用",value:7}),a(i,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1})]),_:1}),a(h,{span:12},{default:s(()=>[a(d,{label:"总金额",prop:"amount"},{default:s(()=>[a(H,{modelValue:p.amount,"onUpdate:modelValue":e[51]||(e[51]=l=>p.amount=l),min:jt.value,step:.01,precision:2,class:"w-full","controls-position":"right",placeholder:"元"},null,8,["modelValue","min"])]),_:1})]),_:1}),R((_(),x(h,{span:12},{default:s(()=>[a(d,{label:"内部成本"},{default:s(()=>[a(H,{modelValue:p.internal_cost,"onUpdate:modelValue":e[52]||(e[52]=l=>p.internal_cost=l),min:0,step:.01,precision:2,class:"w-full","controls-position":"right",placeholder:"财务可见"},null,8,["modelValue"])]),_:1})]),_:1})),[[W,["finance.account_log/lists"]]]),a(h,{span:24},{default:s(()=>[R((_(),x(d,{label:"药房备注"},{default:s(()=>[a(m,{modelValue:p.remark_extra,"onUpdate:modelValue":e[53]||(e[53]=l=>p.remark_extra=l),type:"textarea",rows:3,placeholder:"选填,对内说明",maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1})),[[W,["tcm.prescriptionOrder/editRemarkExtra"]]]),a(d,{label:"医助备注"},{default:s(()=>[a(m,{modelValue:p.remark_assistant,"onUpdate:modelValue":e[54]||(e[54]=l=>p.remark_assistant=l),type:"textarea",rows:3,placeholder:"选填,医助对内说明",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})],512),[[lt,D.value===2]])]),_:1},8,["model","rules"])])]),_:1},8,["modelValue"]),a(Ue,{modelValue:ce.value,"onUpdate:modelValue":e[60]||(e[60]=l=>ce.value=l),title:"从处方库导入",width:"800px","close-on-click-modal":!1},{default:s(()=>[r("div",ko,[a(m,{modelValue:Ce.value,"onUpdate:modelValue":e[57]||(e[57]=l=>Ce.value=l),placeholder:"请输入处方名称搜索",clearable:"",onKeyup:at(Ke,["enter"]),onClear:Ke},{append:s(()=>[a(V,{icon:E(as),onClick:Ke},null,8,["icon"])]),_:1},8,["modelValue"])]),R((_(),x(A,{data:Be.value,height:"400",style:{cursor:"pointer"},onRowClick:Oa},{default:s(()=>[a(C,{label:"处方名称",prop:"prescription_name","min-width":"150","show-overflow-tooltip":""}),a(C,{label:"药材数量",width:"100"},{default:s(({row:l})=>{var $;return[c(f((($=l.herbs)==null?void 0:$.length)||0)+"味 ",1)]}),_:1}),a(C,{label:"药材明细","min-width":"300","show-overflow-tooltip":""},{default:s(({row:l})=>[l.herbs&&l.herbs.length>0?(_(),b("span",Vo,f(l.herbs.map($=>`${$.name} ${$.dosage}g`).join("、")),1)):(_(),b("span",ho,"暂无药材"))]),_:1}),a(C,{label:"创建人",prop:"creator_name",width:"100"}),a(C,{label:"操作",width:"100",fixed:"right"},{default:s(({row:l})=>[a(V,{type:"primary",link:"",onClick:ye($=>Ut(l),["stop"])},{default:s(()=>[...e[161]||(e[161]=[c("导入",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[De,Ye.value]]),r("div",wo,[a(ll,{"current-page":fe.value,"onUpdate:currentPage":e[58]||(e[58]=l=>fe.value=l),"page-size":Ge.value,"onUpdate:pageSize":e[59]||(e[59]=l=>Ge.value=l),total:Je.value,"page-sizes":[10,15,20,50],layout:"total, sizes, prev, pager, next",onCurrentChange:$e,onSizeChange:$e},null,8,["current-page","page-size","total"])])]),_:1},8,["modelValue"]),a(Ue,{modelValue:ge.value,"onUpdate:modelValue":e[64]||(e[64]=l=>ge.value=l),title:"导入药方(识别药材)",width:"560px","close-on-click-modal":!1,"destroy-on-close":"",onClosed:e[65]||(e[65]=l=>ve.value="")},{footer:s(()=>[a(V,{onClick:e[63]||(e[63]=l=>ge.value=!1)},{default:s(()=>[...e[165]||(e[165]=[c("取消",-1)])]),_:1}),a(V,{type:"primary",loading:Xe.value,onClick:Ma},{default:s(()=>[...e[166]||(e[166]=[c(" 识别并导入 ",-1)])]),_:1},8,["loading"])]),default:s(()=>[e[167]||(e[167]=r("p",{class:"text-gray-500 text-sm mb-2 leading-relaxed"}," 粘贴整张药方文本,系统按「药名 + 剂量」解析;药名须与药品库中名称完全一致才会录入,否则跳过。支持顿号/逗号/换行分隔;单行可用空格分味(如「黄芪15g 白术10g」);「黄芪、党参各10克」等同剂量写法亦可识别。 ",-1)),a(m,{modelValue:ve.value,"onUpdate:modelValue":e[61]||(e[61]=l=>ve.value=l),type:"textarea",rows:10,placeholder:`示例: 黄芪15 党参12 茯苓10 diff --git a/server/public/admin/assets/index-3wNXRrXZ.css b/server/public/admin/assets/index-3wNXRrXZ.css new file mode 100644 index 00000000..acf8b925 --- /dev/null +++ b/server/public/admin/assets/index-3wNXRrXZ.css @@ -0,0 +1 @@ +.icon-select[data-v-352f3746]{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.app-breadcrumb[data-v-94d84829] .el-breadcrumb__item .el-breadcrumb__inner{color:#303133;font-weight:500}.app-breadcrumb[data-v-94d84829] .el-breadcrumb__item:last-child .el-breadcrumb__inner{color:#303133}.app-breadcrumb[data-v-94d84829] .el-breadcrumb__separator{color:#606266}.app-tabs[data-v-414a904e]{border-top-width:1px;border-color:var(--el-border-color)}.app-tabs[data-v-414a904e] .el-tabs{height:40px}.app-tabs[data-v-414a904e] .el-tabs .el-tabs__header{margin-bottom:0}.app-tabs[data-v-414a904e] .el-tabs .el-tabs__content{display:none}.app-tabs[data-v-414a904e] .el-tabs .el-tabs__nav-next,.app-tabs[data-v-414a904e] .el-tabs .el-tabs__nav-prev{font-size:var( --el-font-size-large)}.app-tabs[data-v-414a904e] .el-tabs .el-tabs__nav-wrap:after{height:0}.app-tabs[data-v-414a904e] .el-tabs .el-tabs__item{font-weight:400;padding:0 15px!important;box-sizing:border-box}.app-tabs[data-v-414a904e] .el-tabs .el-tabs__item.is-active{color:var(--el-text-color-primary);background-color:var(--el-color-primary-light-9)}.app-tabs[data-v-414a904e] .el-tabs .el-tabs__item.is-active:before{content:"";display:inline-block;width:6px;height:6px;background-color:var(--el-color-primary);margin-right:6px;border-radius:50%;vertical-align:2px}.app-tabs[data-v-414a904e] .el-tabs .el-tabs__item.is-active:after{position:absolute;content:"";display:block;top:0;height:2px;left:0;width:100%;background-color:var(--el-color-primary)}.app-tabs[data-v-414a904e] .el-tabs .el-tabs__item .is-icon-close{color:var(--el-text-color-regular);vertical-align:-2px}.app-tabs[data-v-414a904e] .el-tabs .el-tabs__item .is-icon-close:hover{color:var(--color-white);background-color:var(--el-color-danger)}.app-tabs[data-v-414a904e] .el-tabs .el-tabs__active-bar{display:none}.navbar{height:var(--navbar-height);display:flex;background-color:var(--el-bg-color);padding-left:8px;padding-right:8px}.navbar .navbar-item{display:flex;height:100%;align-items:center;justify-content:center}.navbar .navbar-item:hover{background-color:var(--el-bg-color-page)}.el-image[data-v-275301c7]{display:block}.el-image .el-image__error[data-v-275301c7]{font-size:var(--el-font-size-extra-small)}.logo[data-v-590d56e3]{height:var(--navbar-height);overflow:hidden;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;position:relative;display:flex;align-items:center;padding:8px}.logo .logo-title[data-v-590d56e3]{width:70%;position:absolute;font-size:var( --el-font-size-large)}.logo .title-width-enter-active[data-v-590d56e3]{opacity:0;transition:all .3s ease-out}.logo .title-width-leave-active[data-v-590d56e3]{transition:all .3s cubic-bezier(1,.5,.8,1)}.logo .title-width-enter-from[data-v-590d56e3],.logo .title-width-leave-to[data-v-590d56e3]{width:0;opacity:0}.el-menu-item .menu-item-icon[data-v-65172b69],.el-sub-menu__title .menu-item-icon[data-v-65172b69]{margin-right:8px;width:var(--el-menu-icon-width);text-align:center;vertical-align:middle}.menu.theme-dark .el-menu[data-v-6c529f19] .el-menu-item.is-active{border-color:var(--el-color-primary);background-color:var(--el-color-primary)}.menu.theme-dark[data-v-6c529f19] .el-menu--collapse .el-sub-menu.is-active .el-sub-menu__title{background-color:var(--el-color-primary)!important}.menu.theme-light[data-v-6c529f19] .el-menu .el-menu-item{border-color:transparent}.menu.theme-light[data-v-6c529f19] .el-menu .el-menu-item.is-active{border-right-width:2px;border-color:var(--el-color-primary);background-color:var(--el-color-primary-light-9)}.menu.theme-light[data-v-6c529f19] .el-menu .el-menu-item:hover,.menu.theme-light[data-v-6c529f19] .el-menu .el-sub-menu__title:hover{color:var(--el-color-primary)}.menu .el-menu[data-v-6c529f19]{border-right:none}.menu .el-menu[data-v-6c529f19]:not(.el-menu--collapse){width:var(--aside-width)}.side[data-v-ed43753e]{position:relative;z-index:999;display:flex;height:100%;flex-direction:column;border-right-width:1px;border-color:var(--el-border-color-light);background-color:var(--side-dark-color, var(--el-bg-color))}.sidebar[data-v-7243bf96] .el-drawer__body{padding:0}:root.dark{color-scheme:dark;--table-header-bg-color: var(--el-bg-color);--el-bg-color-page: #0a0a0a;--el-bg-color: #1d2124;--el-bg-color-overlay: #1d1e1f;--el-text-color-primary: #e5eaf3;--el-text-color-regular: #cfd3dc;--el-text-color-secondary: #a3a6ad;--el-text-color-placeholder: #8d9095;--el-text-color-disabled: #6c6e72;--el-border-color-darker: #636466;--el-border-color-dark: #58585b;--el-border-color: #4c4d4f;--el-border-color-light: #414243;--el-border-color-lighter: #363637;--el-border-color-extra-light: #2b2b2c;--el-fill-color-darker: #424243;--el-fill-color-dark: #39393a;--el-fill-color: #303030;--el-fill-color-light: #262727;--el-fill-color-lighter: #1d1d1d;--el-fill-color-extra-light: #191919;--el-fill-color-blank: var(--el-bg-color);--el-mask-color: rgba(0, 0, 0, .8);--el-mask-color-extra-light: rgba(0, 0, 0, .3);--el-box-shadow: 0px 12px 32px 4px rgba(0, 0, 0, .36), 0px 8px 20px rgba(0, 0, 0, .72);--el-box-shadow-light: 0px 0px 12px rgba(0, 0, 0, .72);--el-box-shadow-lighter: 0px 0px 6px rgba(0, 0, 0, .72);--el-box-shadow-dark: 0px 16px 48px 16px rgba(0, 0, 0, .72), 0px 12px 32px #000000, 0px 8px 16px -8px #000000 !important;--w-e-textarea-bg-color: var(--el-bg-color);--w-e-textarea-color: var(--el-text-color-primary);--w-e-textarea-border-color: var(--el-border-color);--w-e-textarea-slight-border-color: var(--el-border-color-light);--w-e-textarea-slight-color: var(--el-border-color);--w-e-textarea-slight-bg-color: var(--el-bg-color-page);--w-e-toolbar-color: var(--el-text-color-primary);--w-e-toolbar-bg-color: var(--el-bg-color);--w-e-toolbar-active-color: var(--el-text-color-primary);--w-e-toolbar-active-bg-color: var(--el-bg-color);--w-e-toolbar-disabled-color: var(--el-text-color-disabled);--w-e-toolbar-border-color: var(--el-border-color);--w-e-modal-button-bg-color: var(--el-bg-color);--w-e-modal-button-border-color: var(--el-border-color)}:root{--el-font-family: PingFang SC, Arial, Hiragino Sans GB, Microsoft YaHei, sans-serif;--el-font-weight-primary: 400;--el-menu-item-height: 46px;--el-menu-sub-item-height: var(--el-menu-item-height);--el-menu-icon-width: 18px;--aside-width: 200px;--navbar-height: 50px;--color-white: #ffffff;--table-header-bg-color: #f8f8f8;--el-font-size-extra-large: 18px;--el-menu-base-level-padding: 16px;--el-menu-level-padding: 26px;--el-font-size-large: 16px;--el-font-size-medium: 15px;--el-font-size-base: 14px;--el-font-size-small: 13px;--el-font-size-extra-small: 12px;--el-bg-color: var(--color-white);--el-bg-color-page: #f6f6f6;--el-bg-color-overlay: #ffffff;--el-text-color-primary: #333333;--el-text-color-regular: #666666;--el-text-color-secondary: #999999;--el-text-color-placeholder: #a8abb2;--el-text-color-disabled: #c0c4cc;--el-border-color: #dcdfe6;--el-border-color-light: #e4e7ed;--el-border-color-lighter: #ebeef5;--el-border-color-extra-light: #f2f2f2;--el-border-color-dark: #d4d7de;--el-border-color-darker: #cdd0d6;--el-fill-color: #f0f2f5;--el-fill-color-light: #f8f8f8;--el-fill-color-lighter: #fafafa;--el-fill-color-extra-light: #fafcff;--el-fill-color-dark: #ebedf0;--el-fill-color-darker: #e6e8eb;--el-fill-color-blank: #ffffff;--el-mask-color: rgba(255, 255, 255, .5);--el-mask-color-extra-light: rgba(255, 255, 255, .22);-el-box-shadow:0px 12px 32px 4px rgba(0,0,0,.04),0px 8px 20px rgba(0,0,0,.08);--el-box-shadow-light: 0px 0px 12px rgba(0, 0, 0, .12);--el-box-shadow-lighter: 0px 0px 6px rgba(0, 0, 0, .12);--el-box-shadow-dark: 0px 16px 48px 16px rgba(0, 0, 0, .08), 0px 12px 32px rgba(0, 0, 0, .12), 0px 8px 16px -8px rgba(0, 0, 0, .16)}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:PingFang SC,Arial,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media(min-width:640px){.container{max-width:640px}}@media(min-width:768px){.container{max-width:768px}}@media(min-width:1024px){.container{max-width:1024px}}@media(min-width:1280px){.container{max-width:1280px}}@media(min-width:1536px){.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.\!visible{visibility:visible!important}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.-right-6{right:-24px}.-top-8{top:-32px}.bottom-0{bottom:0}.left-0{left:0}.left-1\/2{left:50%}.right-4{right:16px}.top-0{top:0}.top-1\/2{top:50%}.top-4{top:16px}.z-\[100\]{z-index:100}.\!m-0{margin:0!important}.m-0{margin:0}.m-1{margin:4px}.m-4{margin:16px}.m-5{margin:20px}.mx-1{margin-left:4px;margin-right:4px}.mx-10{margin-left:40px;margin-right:40px}.mx-2{margin-left:8px;margin-right:8px}.mx-4{margin-left:16px;margin-right:16px}.mx-\[10px\]{margin-left:10px;margin-right:10px}.mx-\[18px\]{margin-left:18px;margin-right:18px}.mx-\[30px\]{margin-left:30px;margin-right:30px}.mx-auto{margin-left:auto;margin-right:auto}.my-\[15px\]{margin-top:15px;margin-bottom:15px}.\!mb-0{margin-bottom:0!important}.\!mb-3{margin-bottom:12px!important}.\!mt-0{margin-top:0!important}.-mt-1{margin-top:-4px}.-mt-2{margin-top:-8px}.mb-0\.5{margin-bottom:2px}.mb-1{margin-bottom:4px}.mb-1\.5{margin-bottom:6px}.mb-10{margin-bottom:40px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:16px}.mb-5{margin-bottom:20px}.mb-6{margin-bottom:24px}.mb-7{margin-bottom:28px}.mb-8{margin-bottom:32px}.mb-\[-16px\]{margin-bottom:-16px}.mb-\[10px\]{margin-bottom:10px}.mb-\[15px\]{margin-bottom:15px}.mb-\[16px\]{margin-bottom:16px}.mb-\[18px\]{margin-bottom:18px}.mb-\[20px\]{margin-bottom:20px}.mb-\[24px\]{margin-bottom:24px}.mb-auto{margin-bottom:auto}.ml-0\.5{margin-left:2px}.ml-1{margin-left:4px}.ml-2{margin-left:8px}.ml-2\.5{margin-left:10px}.ml-3{margin-left:12px}.ml-4{margin-left:16px}.ml-5{margin-left:20px}.ml-\[100px\]{margin-left:100px}.ml-\[101px\]{margin-left:101px}.ml-\[10px\]{margin-left:10px}.ml-\[14px\]{margin-left:14px}.ml-\[30px\]{margin-left:30px}.ml-\[40px\]{margin-left:40px}.ml-\[5px\]{margin-left:5px}.ml-\[6px\]{margin-left:6px}.ml-auto{margin-left:auto}.mr-1{margin-right:4px}.mr-2{margin-right:8px}.mr-3{margin-right:12px}.mr-4{margin-right:16px}.mr-5{margin-right:20px}.mr-6{margin-right:24px}.mr-\[10px\]{margin-right:10px}.mr-\[20px\]{margin-right:20px}.mr-\[35px\]{margin-right:35px}.mr-auto{margin-right:auto}.mt-0\.5{margin-top:2px}.mt-1{margin-top:4px}.mt-1\.5{margin-top:6px}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.mt-5{margin-top:20px}.mt-7{margin-top:28px}.mt-8{margin-top:32px}.mt-\[-10px\]{margin-top:-10px}.mt-\[10px\]{margin-top:10px}.mt-\[12px\]{margin-top:12px}.mt-\[15px\]{margin-top:15px}.mt-\[16px\]{margin-top:16px}.mt-\[18px\]{margin-top:18px}.mt-\[20px\]{margin-top:20px}.mt-\[30px\]{margin-top:30px}.mt-\[40px\]{margin-top:40px}.mt-\[4px\]{margin-top:4px}.mt-\[7px\]{margin-top:7px}.mt-\[8px\]{margin-top:8px}.mt-auto{margin-top:auto}.box-border{box-sizing:border-box}.line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.aspect-video{aspect-ratio:16 / 9}.size-full{width:100%;height:100%}.\!h-auto{height:auto!important}.\!h-full{height:100%!important}.h-10{height:40px}.h-16{height:64px}.h-28{height:112px}.h-5{height:20px}.h-64{height:256px}.h-\[122px\]{height:122px}.h-\[150px\]{height:150px}.h-\[16px\]{height:16px}.h-\[280px\]{height:280px}.h-\[34px\]{height:34px}.h-\[400px\]{height:400px}.h-\[50px\]{height:50px}.h-\[530px\]{height:530px}.h-\[58px\]{height:58px}.h-\[60px\]{height:60px}.h-\[90px\]{height:90px}.h-full{height:100%}.h-screen{height:100vh}.max-h-\[320px\]{max-height:320px}.min-h-0{min-height:0px}.min-h-\[100px\]{min-height:100px}.min-h-\[350px\]{min-height:350px}.min-h-\[52px\]{min-height:52px}.min-h-\[56px\]{min-height:56px}.min-h-\[668px\]{min-height:668px}.min-h-screen{min-height:100vh}.\!w-40{width:160px!important}.\!w-\[120px\]{width:120px!important}.\!w-\[130px\]{width:130px!important}.\!w-\[140px\]{width:140px!important}.\!w-\[160px\]{width:160px!important}.\!w-\[260px\]{width:260px!important}.\!w-\[280px\]{width:280px!important}.\!w-full{width:100%!important}.w-1\/2{width:50%}.w-1\/4{width:25%}.w-10{width:40px}.w-14{width:56px}.w-16{width:64px}.w-20{width:80px}.w-28{width:112px}.w-5{width:20px}.w-60{width:240px}.w-64{width:256px}.w-80{width:320px}.w-\[120px\]{width:120px}.w-\[122px\]{width:122px}.w-\[136px\]{width:136px}.w-\[140px\]{width:140px}.w-\[150px\]{width:150px}.w-\[160px\]{width:160px}.w-\[180px\]{width:180px}.w-\[200px\]{width:200px}.w-\[20px\]{width:20px}.w-\[220px\]{width:220px}.w-\[260px\]{width:260px}.w-\[280px\]{width:280px}.w-\[300px\]{width:300px}.w-\[34px\]{width:34px}.w-\[360px\]{width:360px}.w-\[380px\]{width:380px}.w-\[396px\]{width:396px}.w-\[400px\]{width:400px}.w-\[467px\]{width:467px}.w-\[480px\]{width:480px}.w-\[500px\]{width:500px}.w-\[560px\]{width:560px}.w-\[58px\]{width:58px}.w-\[60px\]{width:60px}.w-\[86px\]{width:86px}.w-full{width:100%}.min-w-0{min-width:0px}.min-w-\[100px\]{min-width:100px}.min-w-\[1100px\]{min-width:1100px}.min-w-\[140px\]{min-width:140px}.min-w-\[200px\]{min-width:200px}.min-w-\[240px\]{min-width:240px}.min-w-\[900px\]{min-width:900px}.max-w-52{max-width:208px}.max-w-\[1200px\]{max-width:1200px}.max-w-\[320px\]{max-width:320px}.max-w-\[400px\]{max-width:400px}.max-w-\[900px\]{max-width:900px}.max-w-full{max-width:100%}.flex-1{flex:1 1 0%}.flex-none{flex:none}.flex-shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.basis-40{flex-basis:160px}.border-collapse{border-collapse:collapse}.translate-x-\[-50\%\]{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-default{cursor:default}.cursor-help{cursor:help}.cursor-move{cursor:move}.cursor-pointer{cursor:pointer}.touch-manipulation{touch-action:manipulation}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.\!items-start{align-items:flex-start!important}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:2px}.gap-1{gap:4px}.gap-1\.5{gap:6px}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-x-2{-moz-column-gap:8px;column-gap:8px}.gap-x-3{-moz-column-gap:12px;column-gap:12px}.gap-x-4{-moz-column-gap:16px;column-gap:16px}.gap-y-1{row-gap:4px}.gap-y-2{row-gap:8px}.gap-y-3{row-gap:12px}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2px * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(4px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(4px * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(6px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(6px * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(8px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(8px * var(--tw-space-y-reverse))}.self-end{align-self:flex-end}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.\!whitespace-normal{white-space:normal!important}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.\!rounded-none{border-radius:0!important}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-\[10px\]{border-radius:10px}.rounded-\[3px\]{border-radius:3px}.rounded-\[8px\]{border-radius:8px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.\!border-2{border-width:2px!important}.border{border-width:1px}.border-0{border-width:0px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-r-2{border-right-width:2px}.border-t{border-top-width:1px}.border-solid{border-style:solid}.border-dashed{border-style:dashed}.\!border-none{border-style:none!important}.\!border-red-500{--tw-border-opacity: 1 !important;border-color:rgb(239 68 68 / var(--tw-border-opacity, 1))!important}.border-\[\#dcdfe6\]{--tw-border-opacity: 1;border-color:rgb(220 223 230 / var(--tw-border-opacity, 1))}.border-\[\#e5e5e5\]{--tw-border-opacity: 1;border-color:rgb(229 229 229 / var(--tw-border-opacity, 1))}.border-\[\#f2f2f2\]{--tw-border-opacity: 1;border-color:rgb(242 242 242 / var(--tw-border-opacity, 1))}.border-\[\#f5f5f5\]{--tw-border-opacity: 1;border-color:rgb(245 245 245 / var(--tw-border-opacity, 1))}.border-amber-100{--tw-border-opacity: 1;border-color:rgb(254 243 199 / var(--tw-border-opacity, 1))}.border-br{border-color:var(--el-border-color)}.border-br-light{border-color:var(--el-border-color-light)}.border-emerald-100{--tw-border-opacity: 1;border-color:rgb(209 250 229 / var(--tw-border-opacity, 1))}.border-gray-100{--tw-border-opacity: 1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1))}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-primary{border-color:var(--el-color-primary)}.border-slate-200{--tw-border-opacity: 1;border-color:rgb(226 232 240 / var(--tw-border-opacity, 1))}.border-slate-200\/90{border-color:#e2e8f0e6}.\!bg-primary{background-color:var(--el-color-primary)!important}.bg-\[\#f3f8ff\]{--tw-bg-opacity: 1;background-color:rgb(243 248 255 / var(--tw-bg-opacity, 1))}.bg-\[rgba\(0\,0\,0\,0\.3\)\]{background-color:#0000004d}.bg-amber-50{--tw-bg-opacity: 1;background-color:rgb(255 251 235 / var(--tw-bg-opacity, 1))}.bg-body{background-color:var(--el-bg-color)}.bg-br-extra-light{background-color:var(--el-border-color-extra-light)}.bg-emerald-50{--tw-bg-opacity: 1;background-color:rgb(236 253 245 / var(--tw-bg-opacity, 1))}.bg-emerald-500\/10{background-color:#10b9811a}.bg-fill-light{background-color:var(--el-fill-color-light)}.bg-fill-lighter{background-color:var(--el-fill-color-lighter)}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.bg-gray-50\/50{background-color:#f9fafb80}.bg-gray-50\/80{background-color:#f9fafbcc}.bg-page{background-color:var(--el-bg-color-page)}.bg-primary{background-color:var(--el-color-primary)}.bg-primary-light-9{background-color:var(--el-color-primary-light-9)}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.bg-sky-500\/10{background-color:#0ea5e91a}.bg-slate-100{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.bg-white{background-color:var(--color-white)}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.from-slate-50{--tw-gradient-from: #f8fafc var(--tw-gradient-from-position);--tw-gradient-to: rgb(248 250 252 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.to-white{--tw-gradient-to: var(--color-white) var(--tw-gradient-to-position)}.bg-center{background-position:center}.bg-no-repeat{background-repeat:no-repeat}.object-contain{-o-object-fit:contain;object-fit:contain}.\!p-0{padding:0!important}.\!p-3{padding:12px!important}.p-0{padding:0}.p-1{padding:4px}.p-2{padding:8px}.p-3{padding:12px}.p-4{padding:16px}.p-5{padding:20px}.p-\[15px\]{padding:15px}.px-1{padding-left:4px;padding-right:4px}.px-1\.5{padding-left:6px;padding-right:6px}.px-10{padding-left:40px;padding-right:40px}.px-2{padding-left:8px;padding-right:8px}.px-3{padding-left:12px;padding-right:12px}.px-4{padding-left:16px;padding-right:16px}.px-5{padding-left:20px;padding-right:20px}.px-6{padding-left:24px;padding-right:24px}.px-\[10px\]{padding-left:10px;padding-right:10px}.px-\[12px\]{padding-left:12px;padding-right:12px}.px-\[15px\]{padding-left:15px;padding-right:15px}.px-\[20px\]{padding-left:20px;padding-right:20px}.px-\[25px\]{padding-left:25px;padding-right:25px}.py-0\.5{padding-top:2px;padding-bottom:2px}.py-1\.5{padding-top:6px;padding-bottom:6px}.py-10{padding-top:40px;padding-bottom:40px}.py-2{padding-top:8px;padding-bottom:8px}.py-3\.5{padding-top:14px;padding-bottom:14px}.py-4{padding-top:16px;padding-bottom:16px}.py-5{padding-top:20px;padding-bottom:20px}.py-6{padding-top:24px;padding-bottom:24px}.py-8{padding-top:32px;padding-bottom:32px}.py-\[10px\]{padding-top:10px;padding-bottom:10px}.py-\[16px\]{padding-top:16px;padding-bottom:16px}.py-\[18px\]{padding-top:18px;padding-bottom:18px}.py-\[5px\]{padding-top:5px;padding-bottom:5px}.pb-1{padding-bottom:4px}.pb-2{padding-bottom:8px}.pb-3{padding-bottom:12px}.pb-5{padding-bottom:20px}.pb-6{padding-bottom:24px}.pb-8{padding-bottom:32px}.pb-\[10px\]{padding-bottom:10px}.pb-\[50px\]{padding-bottom:50px}.pb-\[8px\]{padding-bottom:8px}.pl-0{padding-left:0}.pl-2{padding-left:8px}.pl-4{padding-left:16px}.pl-5{padding-left:20px}.pl-\[120px\]{padding-left:120px}.pl-\[84px\]{padding-left:84px}.pl-\[90px\]{padding-left:90px}.pl-\[96px\]{padding-left:96px}.pr-1{padding-right:4px}.pr-10{padding-right:40px}.pr-2{padding-right:8px}.pr-4{padding-right:16px}.pr-8{padding-right:32px}.pt-1{padding-top:4px}.pt-1\.5{padding-top:6px}.pt-2{padding-top:8px}.pt-4{padding-top:16px}.pt-\[15px\]{padding-top:15px}.pt-\[20px\]{padding-top:20px}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-baseline{vertical-align:baseline}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:var( --el-font-size-extra-large)}.text-3xl{font-size:20px}.text-4xl{font-size:24px}.text-6xl{font-size:30px}.text-\[1\.125rem\]{font-size:1.125rem}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[17px\]{font-size:17px}.text-\[18px\]{font-size:18px}.text-base{font-size:var( --el-font-size-base)}.text-lg{font-size:var( --el-font-size-medium)}.text-sm{font-size:var( --el-font-size-small)}.text-xl{font-size:var( --el-font-size-large)}.text-xs{font-size:var(--el-font-size-extra-small)}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-10{line-height:40px}.leading-3{line-height:12px}.leading-5{line-height:20px}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-\[0\.06em\]{letter-spacing:.06em}.tracking-tight{letter-spacing:-.025em}.\!text-red-700{--tw-text-opacity: 1 !important;color:rgb(185 28 28 / var(--tw-text-opacity, 1))!important}.\!text-white{color:var(--color-white)!important}.text-\[\#101010\]{--tw-text-opacity: 1;color:rgb(16 16 16 / var(--tw-text-opacity, 1))}.text-\[\#136bdf\]{--tw-text-opacity: 1;color:rgb(19 107 223 / var(--tw-text-opacity, 1))}.text-\[\#333\]{--tw-text-opacity: 1;color:rgb(51 51 51 / var(--tw-text-opacity, 1))}.text-\[\#999\]{--tw-text-opacity: 1;color:rgb(153 153 153 / var(--tw-text-opacity, 1))}.text-amber-600{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}.text-amber-900{--tw-text-opacity: 1;color:rgb(120 53 15 / var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-danger{color:var(--el-color-danger)}.text-emerald-500{--tw-text-opacity: 1;color:rgb(16 185 129 / var(--tw-text-opacity, 1))}.text-emerald-600{--tw-text-opacity: 1;color:rgb(5 150 105 / var(--tw-text-opacity, 1))}.text-emerald-700{--tw-text-opacity: 1;color:rgb(4 120 87 / var(--tw-text-opacity, 1))}.text-emerald-800{--tw-text-opacity: 1;color:rgb(6 95 70 / var(--tw-text-opacity, 1))}.text-error{color:var(--el-color-error)}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-orange-500{--tw-text-opacity: 1;color:rgb(249 115 22 / var(--tw-text-opacity, 1))}.text-orange-600{--tw-text-opacity: 1;color:rgb(234 88 12 / var(--tw-text-opacity, 1))}.text-primary{color:var(--el-color-primary)}.text-red-100{--tw-text-opacity: 1;color:rgb(254 226 226 / var(--tw-text-opacity, 1))}.text-red-100\/85{color:#fee2e2d9}.text-red-100\/90{color:#fee2e2e6}.text-red-50{--tw-text-opacity: 1;color:rgb(254 242 242 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-red-700{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.text-sky-500{--tw-text-opacity: 1;color:rgb(14 165 233 / var(--tw-text-opacity, 1))}.text-sky-600{--tw-text-opacity: 1;color:rgb(2 132 199 / var(--tw-text-opacity, 1))}.text-sky-700{--tw-text-opacity: 1;color:rgb(3 105 161 / var(--tw-text-opacity, 1))}.text-slate-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.text-slate-600{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}.text-slate-900{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.text-success{color:var(--el-color-success)}.text-tx-regular{color:var(--el-text-color-regular)}.text-tx-secondary{color:var(--el-text-color-secondary)}.text-warning{color:var(--el-color-warning)}.text-white{color:var(--color-white)}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-40{opacity:.4}.shadow{--tw-shadow: var(--el-box-shadow);--tw-shadow-colored: var(--el-box-shadow);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-red-500\/10{--tw-shadow-color: rgb(239 68 68 / .1);--tw-shadow: var(--tw-shadow-colored)}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-red-600\/70{--tw-ring-color: rgb(220 38 38 / .7)}.ring-red-600\/90{--tw-ring-color: rgb(220 38 38 / .9)}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}:root .el-message{z-index:9999!important}:root .el-notification{z-index:9999!important}:root .el-overlay-dialog{display:flex;justify-content:center;align-items:center;min-height:100%;position:static}:root .el-overlay-dialog .el-dialog{--el-dialog-content-font-size: var(--el-font-size-base);--el-dialog-margin-top: 50px;max-width:calc(100vw - 30px);flex:none;display:flex;flex-direction:column;border-radius:5px}:root .el-overlay-dialog .el-dialog.body-padding .el-dialog__body{padding:0}:root .el-overlay-dialog .el-dialog .el-dialog__body{flex:1;padding:15px 20px}:root .el-overlay-dialog .el-dialog .el-dialog__header{font-size:var(--el-font-size-large)}:root .el-menu{-webkit-user-select:none;-moz-user-select:none;user-select:none}:root .el-drawer{--el-drawer-padding-primary: 16px}:root .el-drawer__header{margin-bottom:0;padding:13px 16px;border-bottom:1px solid var(--el-border-color-lighter)}:root .el-drawer__title{color:var(--el-text-color-primary)}:root .el-table{--el-table-header-text-color: var(--el-text-color-primary);--el-table-header-bg-color: var(--table-header-bg-color);font-size:var(--el-font-size-base)}:root .el-table thead th{font-weight:400}:root .el-input-group__prepend{background-color:var(--el-fill-color-blank)}:root .el-checkbox{--el-checkbox-font-size: var(--el-font-size-base)}:root .el-menu--popup-container.theme-light .el-menu .el-menu-item.is-active{border-right-width:2px;border-color:var(--el-color-primary);background-color:var(--el-color-primary-light-9)}:root .el-menu--popup-container.theme-light .el-menu .el-menu-item:hover,:root .el-menu--popup-container.theme-light .el-menu .el-sub-menu__title:hover{color:var(--el-color-primary)}:root .el-menu--popup-container.theme-dark .el-menu .el-menu-item.is-active{background-color:var(--el-color-primary)}:root .el-message-box{--el-messagebox-width: 350px}:root .el-date-editor{--el-date-editor-datetimerange-width: 380px}:root .el-date-editor .el-range-input{font-size:var(--el-font-size-small)}:root .el-button--primary{--el-button-hover-link-text-color: var(--el-color-primary-light-3)}:root .el-button--success{--el-button-hover-link-text-color: var(--el-color-success-light-3)}:root .el-button--info{--el-button-hover-link-text-color: var(--el-color-info-light-3)}:root .el-button--warning{--el-button-hover-link-text-color: var(--el-color-warning-light-3)}:root .el-button--danger{--el-button-hover-link-text-color: var(--el-color-danger-light-3)}:root .el-image__error{font-size:12px}:root .el-tabs__nav-wrap:after{height:1px}:root .el-page-header__breadcrumb{margin-bottom:0}:root .el-input,:root .el-select,:root .el-textarea{--tw-shadow-color: var(--el-color-primary-light-8);--tw-shadow: var(--tw-shadow-colored);box-shadow:0 0 0 0 var(--tw-shadow-color)}:root .el-input:focus-within,:root .el-select:focus-within,:root .el-textarea:focus-within{box-shadow:0 0 0 2px var(--tw-shadow-color);border-radius:var(--el-input-border-radius, var(--el-border-radius-base));transition:box-shadow ease .1s}:root .el-checkbox__input,:root .el-radio__input{--tw-shadow-color: var(--el-color-primary-light-8);--tw-shadow: var(--tw-shadow-colored);border-radius:var(--el-checkbox-border-radius);box-shadow:0 0 0 0 var(--tw-shadow-color)}:root .el-checkbox__input:active,:root .el-radio__input:active{box-shadow:0 0 0 2px var(--tw-shadow-color);transition:box-shadow ease 0s}:root .el-radio__input{border-radius:var(--el-radio-input-border-radius)}:root .el-form-item.is-error .el-input,:root .el-form-item.is-error .el-select,:root .el-form-item.is-error .el-textarea,:root .el-form-item.is-error .el-radio__input,:root .el-form-item.is-error .el-checkbox{--tw-shadow-color: var(--el-color-danger-light-8);--tw-shadow: var(--tw-shadow-colored)}@media(max-width:768px){.el-pagination>.el-pagination__jump{display:none!important}.el-pagination>.el-pagination__sizes{display:none!important}}.el-button{background-color:var(--el-button-bg-color, var(--el-color-white))}.el-button:focus{color:var(--el-button-text-color);border-color:var(--el-button-border-color);background-color:var(--el-button-bg-color)}.el-button:hover{color:var(--el-button-hover-text-color);border-color:var(--el-button-hover-border-color);background-color:var(--el-button-hover-bg-color)}body{min-width:375px;overflow:hidden;font-size:var( --el-font-size-base);color:var(--el-text-color-primary)}.form-tips{margin-top:4px;font-size:var(--el-font-size-extra-small);line-height:24px;color:var(--el-text-color-secondary)}.clearfix:after{content:"";display:block;clear:both;visibility:hidden}#nprogress .bar{background-color:var(--el-color-primary)!important}.before\:mr-2:before{content:var(--tw-content);margin-right:8px}.before\:block:before{content:var(--tw-content);display:block}.before\:h-\[14px\]:before{content:var(--tw-content);height:14px}.before\:w-\[3px\]:before{content:var(--tw-content);width:3px}.before\:bg-primary:before{content:var(--tw-content);background-color:var(--el-color-primary)}.hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.hover\:text-primary:hover{color:var(--el-color-primary)}.hover\:underline:hover{text-decoration-line:underline}.dark\:text-\[\#ffffff\]:is(.dark *){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}@media(min-width:640px){.sm\:flex{display:flex}.sm\:h-\[600px\]{height:600px}.sm\:w-80{width:320px}.sm\:w-auto{width:auto}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:text-\[28px\]{font-size:28px}.sm\:text-sm{font-size:var( --el-font-size-small)}}@media(min-width:768px){.md\:inline-block{display:inline-block}.md\:w-1\/3{width:33.333333%}.md\:w-1\/4{width:25%}.md\:w-\[420px\]{width:420px}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1024px){.lg\:ml-4{margin-left:16px}.lg\:mt-0{margin-top:0}.lg\:flex{display:flex}}@media(min-width:1280px){.xl\:ml-20{margin-left:80px}.xl\:mr-4{margin-right:16px}.xl\:flex{display:flex}}.chat-notify-container[data-v-9276baf6]{position:fixed;top:72px;right:24px;z-index:3000;display:flex;flex-direction:column;gap:12px;max-width:360px;pointer-events:none}.chat-notify-container[data-v-9276baf6]>*{pointer-events:auto}.chat-notify-card[data-v-9276baf6]{display:flex;align-items:flex-start;gap:14px;padding:14px 16px;background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid rgba(34,197,94,.2);border-radius:12px;box-shadow:0 4px 20px #00000014,0 0 0 1px #22c55e0f;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}html.dark .chat-notify-card[data-v-9276baf6]{background:linear-gradient(135deg,#1e293b,#0f172a);border-color:#22c55e4d;box-shadow:0 4px 20px #0000004d}.chat-notify-card[data-v-9276baf6]:hover{transform:translate(-2px);box-shadow:0 6px 24px #0000001a,0 0 0 1px #22c55e1f}html.dark .chat-notify-card[data-v-9276baf6]:hover{box-shadow:0 6px 24px #0006}.chat-notify-icon[data-v-9276baf6]{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;border-radius:10px}.chat-notify-icon-complete[data-v-9276baf6]{background:linear-gradient(135deg,#3b82f6,#2563eb)}.chat-notify-card-left[data-v-9276baf6]{border-color:#94a3b859;box-shadow:0 4px 20px #0000000f,0 0 0 1px #94a3b814}.chat-notify-icon-left[data-v-9276baf6]{background:linear-gradient(135deg,#94a3b8,#64748b)}.chat-notify-body[data-v-9276baf6]{flex:1;min-width:0}.chat-notify-title[data-v-9276baf6]{font-size:14px;font-weight:600;color:#0f172a;margin-bottom:4px}html.dark .chat-notify-title[data-v-9276baf6]{color:#f1f5f9}.chat-notify-desc[data-v-9276baf6]{font-size:13px;color:#475569;line-height:1.45}html.dark .chat-notify-desc[data-v-9276baf6]{color:#94a3b8}.patient-name[data-v-9276baf6]{font-weight:600;color:#16a34a}.doctor-name[data-v-9276baf6]{font-weight:600;color:#2563eb}.chat-notify-time[data-v-9276baf6]{font-size:12px;color:#94a3b8;margin-top:6px}html.dark .chat-notify-time[data-v-9276baf6]{color:#64748b}.chat-notify-close[data-v-9276baf6]{flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:6px;color:#94a3b8;cursor:pointer;transition:color .2s,background .2s}.chat-notify-close[data-v-9276baf6]:hover{color:#64748b;background:#0000000d}html.dark .chat-notify-close[data-v-9276baf6]:hover{color:#94a3b8;background:#ffffff14}.chat-notify-slide-enter-active[data-v-9276baf6],.chat-notify-slide-leave-active[data-v-9276baf6]{transition:all .3s ease}.chat-notify-slide-enter-from[data-v-9276baf6],.chat-notify-slide-leave-to[data-v-9276baf6]{opacity:0;transform:translate(24px)}.chat-notify-slide-move[data-v-9276baf6]{transition:transform .3s ease} diff --git a/server/public/admin/assets/index-Dlmqs7vK.js b/server/public/admin/assets/index-B232AZ6A.js similarity index 78% rename from server/public/admin/assets/index-Dlmqs7vK.js rename to server/public/admin/assets/index-B232AZ6A.js index de5a3f4b..75a26a0f 100644 --- a/server/public/admin/assets/index-Dlmqs7vK.js +++ b/server/public/admin/assets/index-B232AZ6A.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/edit-DlBhR6x6.js","assets/element-plus-0wC3naml.js","assets/@vue/runtime-dom-DDAG46FW.js","assets/lodash-D3kF6u-c.js","assets/@vue/runtime-core-C6bnekPw.js","assets/@vue/reactivity-DiY1c2vO.js","assets/@vue/shared-mAAVTE9n.js","assets/@element-plus/icons-vue-HOEUG8sr.js","assets/lodash-es-C2A-Pj28.js","assets/@popperjs/core-C5az9QE8.js","assets/dayjs-DG77mNTn.js","assets/@ctrl/tinycolor-BuyEbX8F.js","assets/async-validator-CFA_igpM.js","assets/normalize-wheel-es-BQoi3Ox2.js","assets/element-plus-C_YxM8bk.css","assets/tcm-SLIwsL8z.js","assets/index-E47--KT7.js","assets/jspdf-BsthCvR5.js","assets/@babel/runtime-BanGtE2-.js","assets/fflate-_ayOYiT1.js","assets/vue-router-QlpZ4wdW.js","assets/pinia-B8cvXbiZ.js","assets/axios-C80V62Fs.js","assets/@vueuse/core-1S4fJlii.js","assets/@vueuse/shared-Cl3lVqjz.js","assets/css-color-function-DI01JAaZ.js","assets/balanced-match-BdS7OldZ.js","assets/color-B2zxaWkI.js","assets/clone-DBZ6_OiU.js","assets/color-convert-OrFsTA_V.js","assets/color-name-Dju3oUBS.js","assets/color-string-pUQDDJII.js","assets/ms-CzQ2E3wO.js","assets/vue-clipboard3-DByT_rEQ.js","assets/clipboard-CHgxszqY.js","assets/echarts-CNLwa9wG.js","assets/tslib-BDyQ-Jie.js","assets/zrender-DRNXw7y3.js","assets/highlight.js-Bxt7hFFy.js","assets/highlight-BfC0goYb.css","assets/@highlightjs/vue-plugin-C4onkBvW.js","assets/index-Cf-gzPmQ.css","assets/perm-YIJpPBOg.js","assets/DailyMatrix-0DiBlpfB.js","assets/picker-DlbAZkDm.js","assets/index-nymJKQXP.js","assets/index-B3imPWFk.css","assets/index-B56X8bEB.js","assets/index.vue_vue_type_script_setup_true_lang-DXTGI59-.js","assets/index-BHTgr4Ka.js","assets/index-D0f1Mn00.css","assets/index-Ci4dcEQh.js","assets/cos-js-sdk-v5-DSMN0LUT.js","assets/file-DoYUJmkp.js","assets/index.vue_vue_type_script_setup_true_lang-Bl0f8aX8.js","assets/usePaging-VsbTxSU0.js","assets/index-BYOmK9R5.css","assets/vuedraggable-5bKFmC7X.js","assets/vue-BVs68q8v.js","assets/@vue/compiler-dom-CqayqxS7.js","assets/@vue/compiler-core-CvbQOXIO.js","assets/sortablejs-dsEAUXlE.js","assets/picker-XZbUgFct.css","assets/vue-echarts-BNtg2q_G.js","assets/resize-detector-G6vbKCU7.js","assets/DiagnosisTodoList-DC7uqd6f.js","assets/DiagnosisTodoList-D0SBmTHG.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix-zLBaKfXe.css","assets/CaseRecordList-CsyYkwG-.js","assets/CaseRecordList-Cl-c3q7S.css","assets/CallRecordPanel-CLexkvxf.js","assets/RecordingPlaybackBlock-z0PPBYke.js","assets/RecordingVideoPlayer-DWV7klHs.js","assets/RecordingVideoPlayer-4DegHAwm.css","assets/RecordingPlaybackBlock-B3KYFgvg.css","assets/CallRecordPanel-TsjZtTO8.css","assets/ImChatRecordPanel-DiuuXcLT.js","assets/im-business-message-parse-QKjFLn3X.js","assets/ImChatRecordPanel-aX8zpWRQ.css","assets/AssignLogPanel-B0ohl4pV.js","assets/AssignLogPanel-BdKOtd2m.css","assets/AppointmentRecordPanel-BZnhzLjC.js","assets/doctor-6V0qM7Ks.js","assets/AppointmentRecordPanel-DC22GDgn.css","assets/NoteTimeline-CDNv1DMC.js","assets/patient-DKQ1nUyC.js","assets/NoteTimeline-CCWIpEBQ.css","assets/PatientOrderList-DQ7QxnQw.js","assets/PatientOrderList-iKx_Cn9B.css","assets/index-kYFkWYEt.js","assets/index-wwnvQhjf.js","assets/medicine-D-OyzCbR.js","assets/index-tfEElgYq.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/html2canvas-QH1iLAAe.js","assets/index-DGbIWVjL.css","assets/edit-z2mn_utb.css","assets/TrackingNoteTimeline-B9T8pFso.css","assets/detail-41GQnmm8.js","assets/appointment-D0hEffVf.js","assets/appointment-C9G6EGwx.css","assets/AssistantWatchCallDialog-LeKEiefN.js","assets/trtc-sdk-v5-D4DbeRqz.js","assets/AssistantWatchCallDialog-BIPZRgaH.css"])))=>i.map(i=>d[i]); -import{_ as _e}from"./jspdf-BsthCvR5.js";import{a2 as _a,C as ga,i as fa,d as va,P as ya,Q as ha,J as ka,M as ba,N as Ca,T as xa,r as Da,p as Va,n as Aa,o as Ea,L as wa,R as Ra,ab as Ia,ac as $a,e as Sa,V as La,D as Na,B as za,h as Pa,a9 as Ta,aa as Wa,U as Fa,v as Ma}from"./element-plus-0wC3naml.js";import{_ as Ya}from"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import{w as yt,q as Ua,s as Ze}from"./@vue/runtime-dom-DDAG46FW.js";import{af as W,n as Oa,G as Qa,ag as Se,ah as qa,ai as Ba,U as ht,aj as kt,ak as Ga,al as Ha,am as Ka,an as ja}from"./tcm-SLIwsL8z.js";import{i as Ja}from"./order-BogYGNkX.js";import{k as bt}from"./doctor-6V0qM7Ks.js";import{u as Xa}from"./usePaging-VsbTxSU0.js";import{u as Za,m as Ct,i as g,_ as es}from"./index-E47--KT7.js";import{g as xt}from"./weapp-C8BHuU_o.js";import{h as F}from"./perm-YIJpPBOg.js";import{e as Dt,X as ts,ab as ns,O as Vt,b as as,a7 as ss,G as is,H as ls,l as os}from"./@element-plus/icons-vue-HOEUG8sr.js";import{u as ds,a as rs}from"./vue-router-QlpZ4wdW.js";import{d as Le}from"./dayjs-DG77mNTn.js";import{f as At,w as us,b as ms,d as ps,as as cs,ak as o,I as u,a as i,aN as s,J as d,F as A,ap as $,O as m,H as C,aP as w,G as f,P as ge,A as X}from"./@vue/runtime-core-C6bnekPw.js";import{o as M,Q as p}from"./@vue/shared-mAAVTE9n.js";import{y as a,a as B,r as et,n as c}from"./@vue/reactivity-DiY1c2vO.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./lodash-D3kF6u-c.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const _s={class:"tcm-diagnosis"},gs={class:"filter-main"},fs={class:"date-chips"},vs=["onClick"],ys={key:0},hs={key:0},ks={key:0},bs={class:"pending-assign-wrap"},Cs={key:0},xs={class:"search-row"},Ds={class:"filter-chips"},Vs=["onClick"],As=["onClick"],Es={class:"filter-more"},ws={class:"list-header"},Rs={class:"list-actions"},Is={key:0,class:"list-selected"},$s={class:"table-wrap px-4"},Ss={class:"patient-cell"},Ls={class:"patient-info"},Ns={class:"patient-name"},zs={class:"patient-cell"},Ps={class:"patient-info"},Ts={class:"patient-name"},Ws={class:"apt-badge"},Fs={class:"apt-doctor"},Ms={class:"apt-time"},Ys={key:0,class:"apt-actions"},Us={class:"apt-badge"},Os={class:"apt-doctor"},Qs={class:"apt-time"},qs={key:1,class:"apt-none"},Bs={key:0,class:"status-confirmed"},Gs={key:1,class:"status-unconfirmed"},Hs={key:0,class:"followup-cell"},Ks={class:"followup-time"},js={class:"followup-doctor"},Js={key:1,class:"followup-none"},Xs={class:"assistant-cell"},Zs={key:0,class:"status-prescribed"},ei={key:1,class:"status-unprescribed"},ti={key:1,class:"unserved-days unserved-muted"},ni={class:"video-watch-col"},ai={class:"video-watch-trigger"},si={key:1,class:"video-watch-muted"},ii={key:1,class:"video-watch-muted"},li={class:"pagination-wrap"},oi={class:"min-h-[100px]"},di={key:0,class:"text-sm text-gray-600 mb-4 pb-3 border-b border-gray-100"},ri={class:"font-medium text-gray-800"},ui={class:"flex flex-wrap items-center gap-2"},mi={class:"text-sm font-medium text-gray-800"},pi={class:"text-xs text-gray-600 mt-1.5 leading-relaxed"},ci={class:"flex flex-col items-center justify-center py-4"},_i={key:0,class:"text-center"},gi={key:1,class:"text-center"},fi=["src"],vi={class:"mt-4 text-sm text-gray-600"},yi={class:"mt-2"},hi={key:2,class:"text-center text-gray-500"},ki={class:"text-gray-500"},bi={class:"text-gray-500"},Ci={class:"font-medium"},xi={class:"font-medium"},Di={key:0,class:"mb-4"},Vi={key:0},Ai={key:0,class:"mt-2"},Ei={key:1,class:"mt-2"},wi={class:"mb-4"},Ri={class:"flex gap-2"},Ii={key:0,class:"text-center text-gray-400 py-10"},$i={key:1,class:"record-list"},Si={class:"record-header"},Li={class:"flex items-center gap-2"},Ni={class:"font-medium text-sm"},zi={class:"flex items-center gap-2"},Pi={class:"text-xs text-gray-400"},Ti={class:"record-content"},Wi={key:0,class:"mt-1"},Fi={key:2,class:"text-center mt-4"},Mi=At({name:"tcmDiagnosis"}),Yi=At({...Mi,setup(Ui){const Et=ge(()=>_e(()=>import("./edit-DlBhR6x6.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98]))),wt=ge(()=>_e(()=>import("./detail-41GQnmm8.js"),__vite__mapDeps([99,45,1,2,3,4,5,6,7,8,9,10,11,12,13,14,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,46,15]))),Rt=ge(()=>_e(()=>import("./index-kYFkWYEt.js"),__vite__mapDeps([90,1,2,3,4,5,6,7,8,9,10,11,12,13,14,91,92,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,93,94,15,95,96]))),It=ge(()=>_e(()=>import("./appointment-D0hEffVf.js"),__vite__mapDeps([100,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,83,101]))),$t=ge(()=>_e(()=>import("./AssistantWatchCallDialog-LeKEiefN.js"),__vite__mapDeps([102,1,2,3,4,5,6,7,8,9,10,11,12,13,14,103,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,104]))),St=t=>{if(!t)return"-";const e=String(t).length===10?Number(t)*1e3:Number(t);return Le(e).format("YYYY-MM-DD HH:mm:ss")},tt=t=>!t||t.length<11?t:t.replace(/(\d{3})\d{4}(\d{4})/,"$1****$2"),l=et({keyword:"",diagnosis_type:"",syndrome_type:"",assistant_id:"",start_time:"",end_time:"",diagnosis_confirmed:"",appointment_date:"",has_appointment:"",pending_assign:"",pending_booking:"",completed_appointment:"",pending_assign_order_month:"",pending_assign_keyword:""}),nt=c("all"),re=c(!1),Lt=[{label:"全部",value:""},{label:"已挂号",value:"1"},{label:"未挂号",value:"0"}],Nt=[{label:"全部",value:""},{label:"已确认",value:"1"},{label:"未确认",value:"0"}],zt=t=>{l.has_appointment=t,l.pending_booking="",l.completed_appointment="",D.page=1,x(),E()},Pt=t=>{l.diagnosis_confirmed=t,l.pending_booking="",l.completed_appointment="",D.page=1,x(),E()};function Tt(t){if(!(t.pending_assign==="1"||t.pending_assign===1))return!1;const r=String(t.pending_assign_keyword??"").trim(),_=String(t.keyword??"").trim();return r!==""||_!==""}function at(t){if(!Tt(t))return t;const e=String(t.pending_assign_keyword??"").trim(),r=String(t.keyword??"").trim(),_=e!==""?e:r;return{page_no:t.page_no,page_size:t.page_size,pending_assign:1,pending_assign_keyword:_}}function Wt(){const t=String(l.pending_assign_order_month??"").trim();return t!==""?t:l.pending_assign==="1"?"":Le().format("YYYY-MM")}function Ft(){return at({...l,page_no:1,page_size:1,pending_assign:1,appointment_date:"",has_appointment:"",pending_booking:"",completed_appointment:"",pending_assign_order_month:Wt()})}const Mt=t=>W(at(t));function Yt(){if(l.pending_assign!=="1")return;const t=(l.pending_assign_keyword??"").trim(),e=(l.keyword??"").trim();t===""&&e===""||(l.appointment_date="",l.pending_booking="",l.completed_appointment="",l.diagnosis_confirmed="",l.has_appointment="",l.diagnosis_type="",l.syndrome_type="",l.assistant_id="",l.start_time="",l.end_time="",l.pending_assign_order_month="",nt.value="all",t!==""&&(l.keyword=""))}const Z=()=>{Yt(),D.page=1,x(),E()},Ut=X(()=>[{label:"昨天挂号",value:Me.value},{label:"前天挂号",value:Ye.value},{label:"当天挂号",value:ve.value},{label:"明天挂号",value:We.value},{label:"后天挂号",value:Fe.value},{label:"全部",value:""}]),Ne=c({}),ze=c(void 0),Pe=c(void 0),Te=c(void 0),Ot=async t=>{l.pending_assign="",l.pending_assign_order_month="",l.pending_assign_keyword="",l.pending_booking="",l.completed_appointment="",l.has_appointment="",l.appointment_date=t,D.page=1,await x(),E()},Qt=async()=>{l.pending_assign="",l.pending_assign_order_month="",l.pending_assign_keyword="",l.pending_booking="1",l.completed_appointment="",l.appointment_date="",l.has_appointment="0",D.page=1,await x(),E()},qt=async()=>{l.pending_assign="",l.pending_assign_order_month="",l.pending_assign_keyword="",l.pending_booking="",l.completed_appointment="1",l.has_appointment="",l.appointment_date="",D.page=1,await x(),E()},Bt=async()=>{l.pending_assign="1",l.pending_booking="",l.completed_appointment="",l.has_appointment="",l.appointment_date="",l.pending_assign_order_month||(l.pending_assign_order_month=Le().format("YYYY-MM")),D.page=1,await x(),E()},Gt=async t=>{l.pending_assign_order_month=t||"",l.pending_assign==="1"&&(D.page=1,await x(),E())},E=async()=>{try{const[t,e,r,_,v,h,V,Q,de]=await Promise.all([W({appointment_date:Me.value,page_no:1,page_size:1}),W({appointment_date:Ye.value,page_no:1,page_size:1}),W({appointment_date:ve.value,page_no:1,page_size:1}),W({appointment_date:We.value,page_no:1,page_size:1}),W({appointment_date:Fe.value,page_no:1,page_size:1}),W({page_no:1,page_size:1}),W({has_appointment:0,page_no:1,page_size:1}),W({completed_appointment:1,page_no:1,page_size:1}),W(Ft())]);Ne.value={[Me.value]:(t==null?void 0:t.count)??0,[Ye.value]:(e==null?void 0:e.count)??0,[ve.value]:(r==null?void 0:r.count)??0,[We.value]:(_==null?void 0:_.count)??0,[Fe.value]:(v==null?void 0:v.count)??0,"":(h==null?void 0:h.count)??0},ze.value=(V==null?void 0:V.count)??0,Pe.value=(Q==null?void 0:Q.count)??0,Te.value=(de==null?void 0:de.count)??0}catch(t){console.error("获取日期数量失败",t)}};function Ht(){const t=()=>E();typeof requestIdleCallback=="function"?requestIdleCallback(t,{timeout:2500}):setTimeout(t,120)}const Kt=2e4;let fe=null;function jt(){typeof document<"u"&&document.hidden||(x({silent:!0}).catch(()=>{}),E())}const N=t=>String(t).padStart(2,"0"),ve=X(()=>{const t=new Date;return`${t.getFullYear()}-${N(t.getMonth()+1)}-${N(t.getDate())}`}),We=X(()=>{const t=new Date;return t.setDate(t.getDate()+1),`${t.getFullYear()}-${N(t.getMonth()+1)}-${N(t.getDate())}`}),Fe=X(()=>{const t=new Date;return t.setDate(t.getDate()+2),`${t.getFullYear()}-${N(t.getMonth()+1)}-${N(t.getDate())}`}),Me=X(()=>{const t=new Date;return t.setDate(t.getDate()-1),`${t.getFullYear()}-${N(t.getMonth()+1)}-${N(t.getDate())}`}),Ye=X(()=>{const t=new Date;return t.setDate(t.getDate()-2),`${t.getFullYear()}-${N(t.getMonth()+1)}-${N(t.getDate())}`}),st=c([]),it=c([]),ue=c([]),Jt=async()=>{try{const[t,e,r]=await Promise.all([Ct({type:"diagnosis_type"}),Ct({type:"syndrome_type"}),Oa()]);st.value=(t==null?void 0:t.diagnosis_type)||[],it.value=(e==null?void 0:e.syndrome_type)||[],ue.value=r||[]}catch(t){console.error("获取字典数据失败:",t)}},Xt=t=>{if(!t&&t!==0)return"-";const e=typeof t=="string"?parseInt(t):t;if(ue.value.length===0)return"...";const r=ue.value.find(_=>(typeof _.id=="string"?parseInt(_.id):_.id)===e);return r?r.name:"-"},{pager:D,getLists:x}=Xa({fetchFun:Mt,params:l}),Zt=()=>x({silent:!0}),en=()=>{nt.value="all",l.keyword="",l.diagnosis_type="",l.syndrome_type="",l.assistant_id="",l.diagnosis_confirmed="",l.appointment_date="",l.has_appointment="",l.pending_assign="",l.pending_assign_order_month="",l.pending_assign_keyword="",l.pending_booking="",l.completed_appointment="",D.page=1,x(),E()},lt=t=>{const e=t.DiagnosisViewRecord||[];return e.length>0&&e.some(r=>r.is_confirmed==1)},tn=t=>{if(t==null)return"unserved-muted";const e=Number(t);return Number.isFinite(e)?e>=7?"unserved-red":e>=3?"unserved-orange":"unserved-green":"unserved-muted"},nn=({row:t})=>lt(t)?t.has_appointment?"":"row-no-appointment":"row-unconfirmed",ae=c(),an=c(),ot=c(),dt=c(),ye=c(null),he=Za();us([ae,ye],()=>{const t=ye.value,e=ae.value;t==null||!(e!=null&&e.open)||(e.open("edit",t),ye.value=null)},{flush:"post"});const ke=c(!1),rt=c(0),sn=t=>{var r;const e=t.assistant_id??t.assistant;return e==null||e===""?!1:Number(e)===Number((r=he.userInfo)==null?void 0:r.id)},ln=t=>{rt.value=Number(t.id)||0,ke.value=!0},on=t=>sn(t)&&F(["tcm.diagnosis/watchCall"]),be=t=>{var e;return((e=t.video_call_hint)==null?void 0:e.state)||"none"},dn=t=>{const e=t.video_call_hint,r="点击进入实时房间(仅观看,不推流、不上麦)";return e!=null&&e.start_time?`${r}。开始时间:${St(e.start_time)}`:r},rn=t=>{const e=be(t);return e==="live"||e==="pending_room"},un=t=>be(t)==="pending_room"?"医生尚未接通或未同步房间号,接通后再点此进入":dn(t),mn=t=>{if(be(t)!=="live"){g.msgWarning("医生尚未接通或未同步房间号,请稍后再试");return}ln(t)},pn=t=>{const e=t.video_call_hint;return e!=null&&e.label?e.label:"暂无可旁观通话"},cn=t=>{const e=be(t);if(e==="none")return"—";if(e==="live")return"通话中";if(e==="pending_room")return"接通中";const r=t.video_call_hint;return(r==null?void 0:r.label)||"—"},se=c(!1),Ce=c(),Ue=c(!1),y=et({patient_id:"",patient_name:"",phone:"",order_type:"",amount:0,remark:"",has_appointment:!1,appointment_time_text:""}),_n={order_type:[{required:!0,message:"请选择订单类型",trigger:"change"}],amount:[{required:!0,message:"请输入订单金额",trigger:"blur"}]},gn=t=>{var e;y.patient_id=t.patient_id||t.id,y.patient_name=t.patient_name,y.phone=t.phone||"",y.order_type="",y.amount=0,y.remark="",y.has_appointment=!!t.has_appointment,y.appointment_time_text=t.appointment_time_text||"",(e=Ce.value)==null||e.clearValidate(),se.value=!0},fn=()=>{var t;y.patient_id="",y.patient_name="",y.phone="",y.order_type="",y.amount=0,y.remark="",y.has_appointment=!1,y.appointment_time_text="",(t=Ce.value)==null||t.clearValidate()},vn=async()=>{var t;try{await((t=Ce.value)==null?void 0:t.validate()),Ue.value=!0;const e=await Ja({patient_id:y.patient_id,order_type:y.order_type,amount:y.amount,remark:y.remark});se.value=!1,x();const r=e==null?void 0:e.order_no;if(r){Y.value=!0,G.value=!0,H.value="",K.value={patient_name:y.patient_name,has_appointment:y.has_appointment,appointment_time_text:y.appointment_time_text};try{const _=await Qa({order_no:r});_!=null&&_.qrcode_url?H.value=_.qrcode_url:g.msgError("二维码生成失败")}catch(_){g.msgError((_==null?void 0:_.msg)||"生成二维码失败")}finally{G.value=!1}}}catch(e){console.error("创建订单失败:",e)}finally{Ue.value=!1}},Y=c(!1),G=c(!1),H=c(""),K=c(null),yn=X(()=>{const t=K.value;return t?t.has_appointment?t.appointment_time_text||"—":"未挂号":"—"}),Oe=c("小程序二维码"),Qe=c("confirm"),R=c([]),ie=c([]),ee=c(!1),qe=c(!1),me=c("batch"),pe=c(null),U=c({assistant_id:null});function hn(){ie.value=[],U.value.assistant_id=null}const kn=t=>{R.value=t.map(e=>e.id)},xe=t=>Number((t==null?void 0:t.assistant_id)??(t==null?void 0:t.assistant)??0)>0,bn=X(()=>{if(!R.value.length)return!1;const t=new Set(R.value);return D.lists.some(e=>t.has(e.id)&&xe(e))}),Cn=t=>{me.value="single",pe.value=t,ie.value=[],U.value.assistant_id=Number(t.assistant_id)>0?Number(t.assistant_id):null,ee.value=!0},xn=()=>{if(R.value.length===0){g.msgWarning("请先选择要指派的诊单");return}me.value="batch",pe.value=null,U.value.assistant_id=null,ie.value=[...R.value],ee.value=!0},Dn=async()=>{if(!U.value.assistant_id){g.msgWarning("请选择医助");return}qe.value=!0;try{if(me.value==="single")await Se({id:pe.value.id,assistant_id:U.value.assistant_id});else{const t=ie.value;if(!t.length){g.msgWarning("没有可指派的诊单,请关闭后重新勾选");return}for(const e of t)await Se({id:e,assistant_id:U.value.assistant_id});R.value=[],ie.value=[]}ee.value=!1,x()}catch(t){console.error("指派失败:",t)}finally{qe.value=!1}},Vn=async t=>{if(!(t!=null&&t.id)||!xe(t)){g.msgWarning("该诊单未指派医助");return}await g.confirm("确定取消该诊单的医助指派吗?"),await Se({id:t.id,assistant_id:0}),x()},An=async()=>{if(!R.value.length){g.msgWarning("请先选择诊单");return}const t=new Set(R.value),e=D.lists.filter(r=>t.has(r.id)&&xe(r));if(!e.length){g.msgWarning("所选诊单中没有已指派医助的记录");return}await g.confirm(`确定取消 ${e.length} 条诊单的医助指派吗?`),await Promise.all(e.map(r=>Se({id:r.id,assistant_id:0}))),R.value=[],x()},En=()=>{ae.value.open("add")},wn=t=>{ae.value.open("edit",t)};function Rn(t){return l.pending_assign==="1"?"开方":Number(t==null?void 0:t.prescription_audit_status)===1&&Number(t==null?void 0:t.prescription_void_status)!==1?"查看":"开方"}const In=t=>{var e;if(!(t!=null&&t.id)){g.msgWarning("诊单信息不完整");return}(e=ot.value)==null||e.open({...t,diagnosis_id:t.id,id:t.appointment_id||0})},$n=()=>{var t,e;x(),(e=(t=ae.value)==null?void 0:t.refreshCaseList)==null||e.call(t)},Sn=async t=>{await g.confirm("确定要删除该诊单吗?"),await Ka({id:t}),x()},Ln=(t,e)=>{switch(t){case"assign":Cn(e);break;case"cancelAssign":Vn(e);break;case"videoQr":if(!ce(e)){g.msgWarning("仅「已预约」状态可生成视频二维码");return}pt(e);break;case"confirmQr":ct(e);break;case"cancelApt":Fn(e);break;case"guahaoLogs":On(e);break;case"order":gn(e);break;case"delete":Sn(e.id);break}},Nn=t=>{const e=Number(t.appointment_status);return e===3?"已完成":e===4?"已过号":"已挂号"},zn=t=>{const e=Number(t);return e===3?"已完成":e===4?"已过号":"已挂号"},De=t=>{const e=Array.isArray(t.appointments)?t.appointments:[];return e.length>0?e:t.has_appointment?[{id:t.appointment_id,status:t.appointment_status,doctor_id:t.appointment_doctor_id,doctor_name:t.appointment_doctor_name,time_text:t.appointment_time_text}]:[]},Pn=t=>{const e=Number(t==null?void 0:t.status);return{"apt-item-done":e===3,"apt-item-missed":e===4,"apt-item-active":e===1}},Tn=t=>{const e=Number(t.appointment_status);return{"has-apt":t.has_appointment,"apt-row-done":t.has_appointment&&e===3,"apt-row-missed":t.has_appointment&&e===4}},ce=t=>t.has_appointment&&Number(t.appointment_status)===1,ut=t=>{const e=Number(t.appointment_status);return!!(t.has_appointment&&t.appointment_id&&(e===1||e===4))},Be=t=>{const e=Number(t==null?void 0:t.status);return!!(t!=null&&t.id&&(e===1||e===4))},Wn=t=>ut(t)?De(t).length<=1:!1,Fn=async t=>{var v;if(!ut(t)){const h=Number(t.appointment_status);t.has_appointment&&h===3?g.msgWarning("已完成就诊,无法取消挂号"):g.msgWarning("该诊单未挂号或挂号信息异常");return}const e=De(t),r=e.length===1?e[0]:null,_=r!=null&&r.id&&Be(r)?r.id:t.appointment_id;try{await g.confirm(`确定要取消患者「${t.patient_name}」的挂号吗?`),await bt({id:_}),g.msgSuccess("取消挂号成功"),x(),E(),te.value&&((v=O.value)==null?void 0:v.id)===t.id&&await Ae(t.id)}catch(h){h!=="cancel"&&g.msgError((h==null?void 0:h.msg)||"取消挂号失败")}},Mn=async(t,e)=>{var v;if(!Be(e)){Number(e==null?void 0:e.status)===3?g.msgWarning("已完成就诊,无法取消挂号"):g.msgWarning("该挂号无法取消");return}const r=e.doctor_name||"—",_=e.time_text||"—";try{await g.confirm(`确定取消「${r}」${_} 的挂号吗?(患者:${t.patient_name||"—"})`),await bt({id:e.id}),g.msgSuccess("取消挂号成功"),x(),E(),te.value&&((v=O.value)==null?void 0:v.id)===t.id&&await Ae(t.id)}catch(h){h!=="cancel"&&g.msgError((h==null?void 0:h.msg)||"取消挂号失败")}},te=c(!1),Ve=c(!1),le=c([]),O=c(null);function Yn(){le.value=[],O.value=null}function Un(t){const e=String((t==null?void 0:t.admin_name)||"").trim(),r=Number(t==null?void 0:t.admin_id);return e||(r>0?`管理员 #${r}`:"—")}async function Ae(t){Ve.value=!0;try{const e=await qa({id:t});le.value=Array.isArray(e==null?void 0:e.data)?e.data:Array.isArray(e)?e:[]}catch{le.value=[]}finally{Ve.value=!1}}async function On(t){if(!(t!=null&&t.id)){g.msgWarning("诊单信息不完整");return}O.value=t,te.value=!0,await Ae(Number(t.id))}async function Qn(){var t;await x({silent:!0}),E(),te.value&&((t=O.value)!=null&&t.id)&&await Ae(Number(O.value.id))}const qn=t=>{var e;if(!t.patient_id){g.msgWarning("患者信息不完整");return}(e=dt.value)==null||e.open(t)},oe=c(!1),Ge=c(!1),mt=c(),z=et({id:0,patient_name:"",id_card:""}),Bn={id_card:[{required:!0,validator:(t,e,r)=>{if(!e){r(new Error("请输入身份证号"));return}const _=/^[1-9]\d{5}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dXx]$/.test(e),v=/^[1-9]\d{5}\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}$/.test(e);_||v?r():r(new Error("请输入15或18位有效身份证号"))},trigger:"blur"}]},Gn=t=>{z.id=t.id,z.patient_name=t.patient_name||"-",z.id_card=t.id_card||"",oe.value=!0},Hn=async()=>{var t;await((t=mt.value)==null?void 0:t.validate()),Ge.value=!0;try{await Ba({id:z.id,id_card:z.id_card}),g.msgSuccess("补全成功,年龄已自动更新"),oe.value=!1,x()}catch(e){g.msgError((e==null?void 0:e.msg)||"补全失败")}finally{Ge.value=!1}},pt=async t=>{var e;if(!ce(t)){g.msgWarning("仅「已预约」状态可生成视频二维码");return}if(!t.patient_id){g.msgWarning("患者信息不完整");return}Qe.value="video",K.value=t,Y.value=!0,G.value=!0,H.value="",Oe.value="视频二维码";try{const r=await xt();if(!(r!=null&&r.app_id)){g.msgError("小程序未配置,请先配置小程序信息"),Y.value=!1;return}const _=await ht({doctor_id:t.appointment_doctor_id,diagnosis_id:t.appointment_doctor_id,patient_id:t.patient_id,share_user_id:((e=he.userInfo)==null?void 0:e.id)||"",mini_program_path:"pages/login/login"});_!=null&&_.qrcode_url?H.value=_.qrcode_url:g.msgError("二维码生成失败")}catch(r){g.msgError((r==null?void 0:r.msg)||"生成二维码失败,请重试")}finally{G.value=!1}},ct=async t=>{if(!ce(t)){g.msgWarning("仅「已预约」状态可使用诊单二维码");return}if(!t.patient_id){g.msgWarning("患者信息不完整");return}Qe.value="confirm",K.value=t,Y.value=!0,G.value=!0,H.value="",Oe.value="诊单二维码";try{const e=await xt();if(!(e!=null&&e.app_id)){g.msgError("小程序未配置,请先配置小程序信息"),Y.value=!1;return}const r=he.userInfo,_=await ht({diagnosis_id:t.id,doctor_id:t.appointment_doctor_id,patient_id:t.patient_id,share_user_id:(r==null?void 0:r.id)||""});_!=null&&_.qrcode_url?H.value=_.qrcode_url:g.msgError("二维码生成失败")}catch(e){console.error("生成小程序二维码失败:",e),g.msgError((e==null?void 0:e.msg)||"生成二维码失败,请重试")}finally{G.value=!1}},Kn=()=>{K.value&&(Qe.value==="video"?pt(K.value):ct(K.value))},Ee=c(!1),S=c(null),j=c([]),we=c(0),He=c(!1),L=c(null),ne=c(""),Ke=c(!1),je=c(1),jn=t=>{if(!t)return"-";const e=String(t).length===10?t*1e3:t;return Le(e).format("YYYY-MM-DD HH:mm")},Jn=async t=>{S.value=t,Ee.value=!0,j.value=[],we.value=0,L.value=null,ne.value="",je.value=1,He.value=!0;try{const[e,r]=await Promise.all([kt({diagnosis_id:t.id,patient_id:t.patient_id,page_no:1,page_size:20}),ja({patient_id:t.patient_id||t.id}).catch(()=>null)]);j.value=(e==null?void 0:e.lists)||[],we.value=(e==null?void 0:e.count)||0,L.value=r}catch(e){console.error("加载企业微信记录失败:",e)}finally{He.value=!1}},Xn=async()=>{if(S.value){je.value++;try{const t=await kt({diagnosis_id:S.value.id,patient_id:S.value.patient_id,page_no:je.value,page_size:20});j.value.push(...(t==null?void 0:t.lists)||[])}catch(t){console.error("加载更多记录失败:",t)}}},Zn=async()=>{var t;if(!ne.value.trim()){g.msgWarning("请输入内容");return}Ke.value=!0;try{await Ga({diagnosis_id:S.value.id,patient_id:S.value.patient_id,content:ne.value.trim(),msg_type:"note",staff_name:((t=he.userInfo)==null?void 0:t.name)||"",external_name:S.value.patient_name||""}),ne.value="",Jn(S.value)}catch(e){g.msgError((e==null?void 0:e.msg)||"添加失败")}finally{Ke.value=!1}},ea=async t=>{await g.confirm("确定删除该记录吗?");try{await Ha({id:t}),j.value=j.value.filter(e=>e.id!==t),we.value--}catch(e){g.msgError((e==null?void 0:e.msg)||"删除失败")}},ta=ds(),na=rs(),_t=t=>{if(!F(["tcm.diagnosis/readonlyDetail"]))return;const e=Number(t==null?void 0:t.id);!e||e<=0||na.push({path:"/tcm/diagnosis-readonly",query:{id:String(e)}})};return ms(()=>{l.appointment_date=ve.value,Jt(),x(),Ht(),fe=setInterval(jt,Kt);const t=ta.query.id;if(t!=null&&t!==""){const e=Number(t);Number.isNaN(e)||(ye.value=e)}}),ps(()=>{fe!=null&&(clearInterval(fe),fe=null)}),(t,e)=>{var vt;const r=_a,_=ga,v=fa,h=va,V=ha,Q=ya,de=ka,I=Ca,P=xa,gt=Da,J=Ea,aa=Aa,sa=Va,ia=ba,la=Ya,oa=Ra,da=$a,ra=Ia,ft=Sa,Re=La,q=za,Je=Na,ua=Pa,Ie=Wa,ma=Ta,pa=Fa,ca=Ma,T=cs("perms"),Xe=wa;return o(),u("div",_s,[i(de,{class:"filter-card !border-none",shadow:"never"},{default:s(()=>[d("div",gs,[d("div",fs,[(o(!0),u(A,null,$(Ut.value,n=>(o(),u("span",{key:n.value,class:M(["chip",{active:a(l).pending_assign!=="1"&&a(l).pending_booking!=="1"&&a(l).completed_appointment!=="1"&&a(l).appointment_date===n.value}]),onClick:k=>Ot(n.value)},[m(p(n.label)+" ",1),a(Ne)[n.value]!==void 0?(o(),u("em",ys,p(a(Ne)[n.value]),1)):C("",!0)],10,vs))),128)),d("span",{class:M(["chip","chip-pending-booking",{active:a(l).pending_booking==="1"}]),onClick:Qt},[e[28]||(e[28]=m(" 待预约 ",-1)),a(ze)!==void 0?(o(),u("em",hs,p(a(ze)),1)):C("",!0)],2),d("span",{class:M(["chip","chip-completed-visit",{active:a(l).completed_appointment==="1"}]),onClick:qt},[e[29]||(e[29]=m(" 已完成 ",-1)),a(Pe)!==void 0?(o(),u("em",ks,p(a(Pe)),1)):C("",!0)],2),w((o(),u("span",bs,[d("span",{class:M(["chip","chip-pending",{active:a(l).pending_assign==="1"}]),onClick:Bt},[e[30]||(e[30]=m(" 待分配医助 ",-1)),a(Te)!==void 0?(o(),u("em",Cs,p(a(Te)),1)):C("",!0)],2),a(l).pending_assign==="1"?(o(),f(r,{key:0,modelValue:a(l).pending_assign_order_month,"onUpdate:modelValue":e[0]||(e[0]=n=>a(l).pending_assign_order_month=n),type:"month",placeholder:"订单月份","value-format":"YYYY-MM",clearable:"",class:"pending-assign-month",onChange:Gt},null,8,["modelValue"])):C("",!0),a(l).pending_assign==="1"?(o(),f(_,{key:1,modelValue:a(l).pending_assign_keyword,"onUpdate:modelValue":e[1]||(e[1]=n=>a(l).pending_assign_keyword=n),placeholder:"搜身份证/诊单ID/患者号/备注…",clearable:"",class:"pending-assign-search",onKeyup:yt(Z,["enter"]),onClear:Z},null,8,["modelValue"])):C("",!0)])),[[T,["tcm.diagnosis/assign"]]])]),d("div",xs,[i(_,{modelValue:a(l).keyword,"onUpdate:modelValue":e[2]||(e[2]=n=>a(l).keyword=n),placeholder:"患者姓名 / 手机号",clearable:"",class:"search-input",onKeyup:yt(Z,["enter"])},null,8,["modelValue"]),i(v,{type:"primary",onClick:Z},{default:s(()=>[...e[31]||(e[31]=[m("查询",-1)])]),_:1})])]),d("div",Ds,[e[32]||(e[32]=d("span",{class:"chip-label"},"挂号:",-1)),(o(),u(A,null,$(Lt,n=>d("span",{key:n.value,class:M(["chip","chip-sm",{active:a(l).has_appointment===n.value}]),onClick:k=>zt(n.value)},p(n.label),11,Vs)),64)),e[33]||(e[33]=d("span",{class:"chip-divider"},null,-1)),e[34]||(e[34]=d("span",{class:"chip-label"},"确认:",-1)),(o(),u(A,null,$(Nt,n=>d("span",{key:n.value,class:M(["chip","chip-sm",{active:a(l).diagnosis_confirmed===n.value}]),onClick:k=>Pt(n.value)},p(n.label),11,As)),64)),i(v,{link:"",type:"primary",size:"small",class:"more-btn",onClick:e[3]||(e[3]=n=>re.value=!a(re))},{default:s(()=>[m(p(a(re)?"收起":"更多筛选")+" ",1),i(h,{class:M({"rotate-180":a(re)})},{default:s(()=>[i(a(Dt))]),_:1},8,["class"])]),_:1})]),w(d("div",Es,[i(Q,{modelValue:a(l).diagnosis_type,"onUpdate:modelValue":e[4]||(e[4]=n=>a(l).diagnosis_type=n),placeholder:"诊断类型",clearable:"",size:"small",onChange:Z},{default:s(()=>[(o(!0),u(A,null,$(a(st),n=>(o(),f(V,{key:n.value,label:n.name,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),i(Q,{modelValue:a(l).syndrome_type,"onUpdate:modelValue":e[5]||(e[5]=n=>a(l).syndrome_type=n),placeholder:"证型",clearable:"",size:"small",onChange:Z},{default:s(()=>[(o(!0),u(A,null,$(a(it),n=>(o(),f(V,{key:n.value,label:n.name,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),i(Q,{modelValue:a(l).assistant_id,"onUpdate:modelValue":e[6]||(e[6]=n=>a(l).assistant_id=n),placeholder:"医助",clearable:"",filterable:"",size:"small",onChange:Z},{default:s(()=>[(o(!0),u(A,null,$(a(ue),n=>(o(),f(V,{key:n.id,label:n.name,value:Number(n.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),i(v,{size:"small",onClick:en},{default:s(()=>[...e[35]||(e[35]=[m("重置",-1)])]),_:1})],512),[[Ua,a(re)]])]),_:1}),i(de,{class:"!border-none mt-3 list-card",shadow:"never"},{default:s(()=>[d("div",ws,[d("div",Rs,[w((o(),f(v,{type:"primary",onClick:En},{default:s(()=>[...e[36]||(e[36]=[m("新增诊单",-1)])]),_:1})),[[T,["tcm.diagnosis/add"]]]),w((o(),f(v,{type:"success",onClick:xn,disabled:a(R).length===0},{default:s(()=>[...e[37]||(e[37]=[m(" 批量指派医助 ",-1)])]),_:1},8,["disabled"])),[[T,["tcm.diagnosis/assign"]]]),w((o(),f(v,{type:"warning",plain:"",onClick:An,disabled:!bn.value},{default:s(()=>[...e[38]||(e[38]=[m(" 批量取消指派 ",-1)])]),_:1},8,["disabled"])),[[T,["tcm.diagnosis/assign"]]])]),a(R).length>0?(o(),u("div",Is,"已选 "+p(a(R).length)+" 条",1)):C("",!0)]),d("div",$s,[w((o(),f(ia,{data:a(D).lists,"row-key":"id",size:"default",onSelectionChange:kn,onRowDblclick:_t,"row-class-name":nn,class:"diagnosis-table",stripe:""},{default:s(()=>[i(I,{type:"selection",width:"48",align:"center"}),i(I,{label:"ID","min-width":"70"},{default:s(({row:n})=>[d("div",Ss,[d("div",Ls,[d("div",Ns,[m(p(n.id)+" ",1),n.assign_read_at===null&&n.assistant_id>0?(o(),f(P,{key:0,type:"danger",size:"small",effect:"dark",class:"ml-1"},{default:s(()=>[...e[39]||(e[39]=[m("NEW",-1)])]),_:1})):C("",!0)])])])]),_:1}),i(I,{label:"患者","min-width":"60"},{default:s(({row:n})=>[d("div",zs,[d("div",Ps,[d("div",Ts,p(n.patient_name),1)])])]),_:1}),i(I,{label:" 性别 / 年龄",width:"100",align:"left"},{default:s(({row:n})=>[d("div",null,p(n.gender_desc||"-")+" · "+p(n.age??"-")+"岁",1)]),_:1}),i(I,{label:"挂号","min-width":"175"},{default:s(({row:n})=>[d("div",{class:M(["appointment-cell",Tn(n)])},[n.has_appointment?(o(),u(A,{key:0},[De(n).length?(o(!0),u(A,{key:0},$(De(n),k=>(o(),u("div",{key:k.id||`${k.doctor_id}-${k.time_text}`,class:M(["apt-item",Pn(k)])},[d("div",Ws,p(zn(k.status)),1),d("div",Fs,p(k.doctor_name||"-"),1),d("div",Ms,p(k.time_text||"-"),1),Be(k)?(o(),u("div",Ys,[w((o(),f(v,{type:"danger",link:"",size:"small",onClick:Ze(b=>Mn(n,k),["stop"])},{default:s(()=>[...e[40]||(e[40]=[m(" 取消挂号 ",-1)])]),_:1},8,["onClick"])),[[T,["tcm.diagnosis/guahao"]]])])):C("",!0)],2))),128)):(o(),u(A,{key:1},[d("div",Us,p(Nn(n)),1),d("div",Os,p(n.appointment_doctor_name||"-"),1),d("div",Qs,p(n.appointment_time_text||"-"),1)],64))],64)):(o(),u("span",qs,"未挂号"))],2)]),_:1}),i(I,{label:"确认",width:"88",align:"center"},{default:s(({row:n})=>[lt(n)?(o(),u("span",Bs,"已确认")):(o(),u("span",Gs,"未确认"))]),_:1}),i(I,{label:"复诊","min-width":"120"},{default:s(({row:n})=>[n.has_prescription?(o(),u("div",Hs,[d("div",Ks,p(n.followup_time_text||"—"),1),d("div",js,p(n.followup_doctor_name||"—"),1),n.followup_rx_voided?(o(),f(P,{key:0,type:"info",size:"small",effect:"plain",class:"followup-void-tag"},{default:s(()=>[...e[41]||(e[41]=[m(" 处方已作废 ",-1)])]),_:1})):C("",!0)])):(o(),u("span",Js,"无"))]),_:1}),i(I,{label:"助理",width:"100","show-overflow-tooltip":""},{default:s(({row:n})=>[d("span",Xs,p(Xt(n.assistant_id||n.assistant)),1)]),_:1}),i(I,{label:"开方",width:"72",align:"center"},{default:s(({row:n})=>[n.has_prescription?(o(),u("span",Zs,"已开方")):(o(),u("span",ei,"未开方"))]),_:1}),i(I,{label:"未服务天数",width:"110",align:"center"},{default:s(({row:n})=>[n.last_blood_record_at?(o(),f(gt,{key:0,content:`最近一次血糖打卡:${n.last_blood_record_at}`,placement:"top"},{default:s(()=>[d("span",{class:M(["unserved-days",tn(n.unserved_days)])},p(n.unserved_days??"—"),3)]),_:2},1032,["content"])):(o(),u("span",ti,"—"))]),_:1}),i(I,{label:"视频旁观",width:"120",fixed:"right",align:"center"},{default:s(({row:n})=>[d("div",ni,[on(n)?(o(),u(A,{key:0},[rn(n)?(o(),f(gt,{key:0,content:un(n),placement:"top"},{default:s(()=>[d("span",ai,[i(v,{type:"primary",link:"",size:"small",onClick:k=>mn(n)},{default:s(()=>[...e[42]||(e[42]=[m(" 进入旁观 ",-1)])]),_:1},8,["onClick"])])]),_:2},1032,["content"])):(o(),u("span",si,p(pn(n)),1))],64)):(o(),u("span",ii,p(cn(n)),1))])]),_:1}),i(I,{label:"操作",width:"340",fixed:"right",align:"left"},{default:s(({row:n})=>[d("div",{class:"action-cell",onClick:e[7]||(e[7]=Ze(()=>{},["stop"])),onDblclick:e[8]||(e[8]=Ze(()=>{},["stop"]))},[w((o(),f(v,{type:"primary",link:"",size:"small",onClick:k=>_t(n)},{default:s(()=>[...e[43]||(e[43]=[m(" 查看 ",-1)])]),_:1},8,["onClick"])),[[T,["tcm.diagnosis/readonlyDetail"]]]),w((o(),f(v,{type:"primary",link:"",size:"small",onClick:k=>wn(n.id)},{default:s(()=>[...e[44]||(e[44]=[m("诊单",-1)])]),_:1},8,["onClick"])),[[T,["tcm.diagnosis/edit"]]]),w((o(),f(v,{type:"primary",link:"",size:"small",onClick:k=>In(n)},{default:s(()=>[m(p(Rn(n)),1)]),_:2},1032,["onClick"])),[[T,["tcm.diagnosis/kaifang"]]]),w((o(),f(v,{type:"success",link:"",size:"small",onClick:k=>qn(n)},{default:s(()=>[...e[45]||(e[45]=[m("预约",-1)])]),_:1},8,["onClick"])),[[T,["tcm.diagnosis/guahao"]]]),w((o(),f(v,{type:"warning",link:"",size:"small",onClick:k=>Gn(n)},{default:s(()=>[...e[46]||(e[46]=[m("补全身份证",-1)])]),_:1},8,["onClick"])),[[T,["tcm.diagnosis/edit"]]]),i(sa,{trigger:"click",onCommand:k=>Ln(k,n),placement:"bottom-end"},{dropdown:s(()=>[i(aa,null,{default:s(()=>[a(F)(["tcm.diagnosis/assign"])?(o(),f(J,{key:0,command:"assign"},{default:s(()=>[i(h,null,{default:s(()=>[i(a(ts))]),_:1}),e[48]||(e[48]=m("指派",-1))]),_:1})):C("",!0),a(F)(["tcm.diagnosis/assign"])&&xe(n)?(o(),f(J,{key:1,command:"cancelAssign"},{default:s(()=>[i(h,null,{default:s(()=>[i(a(ns))]),_:1}),e[49]||(e[49]=m("取消指派 ",-1))]),_:1})):C("",!0),ce(n)&&a(F)(["tcm.diagnosis/videoQr"])?(o(),f(J,{key:2,command:"videoQr"},{default:s(()=>[i(h,null,{default:s(()=>[i(a(Vt))]),_:1}),e[50]||(e[50]=m("视频二维码",-1))]),_:1})):C("",!0),a(F)(["tcm.diagnosis/guahao"])&&ce(n)?(o(),f(J,{key:3,command:"confirmQr"},{default:s(()=>[i(h,null,{default:s(()=>[i(a(Vt))]),_:1}),e[51]||(e[51]=m("二维码",-1))]),_:1})):C("",!0),Wn(n)&&a(F)(["tcm.diagnosis/guahao"])?(o(),f(J,{key:4,command:"cancelApt"},{default:s(()=>[i(h,null,{default:s(()=>[i(a(as))]),_:1}),e[52]||(e[52]=m("取消挂号 ",-1))]),_:1})):C("",!0),a(F)(["tcm.diagnosis/guahaoLogList"])?(o(),f(J,{key:5,command:"guahaoLogs"},{default:s(()=>[i(h,null,{default:s(()=>[i(a(ss))]),_:1}),e[53]||(e[53]=m("挂号日志",-1))]),_:1})):C("",!0),a(F)(["tcm.diagnosis/order"])?(o(),f(J,{key:6,command:"order"},{default:s(()=>[i(h,null,{default:s(()=>[i(a(is))]),_:1}),e[54]||(e[54]=m("创建订单",-1))]),_:1})):C("",!0),a(F)(["tcm.diagnosis/delete"])?(o(),f(J,{key:7,command:"delete",divided:""},{default:s(()=>[i(h,null,{default:s(()=>[i(a(ls))]),_:1}),e[55]||(e[55]=d("span",{class:"text-danger"},"删除",-1))]),_:1})):C("",!0)]),_:2},1024)]),default:s(()=>[i(v,{type:"info",link:"",size:"small"},{default:s(()=>[e[47]||(e[47]=m("更多",-1)),i(h,{class:"el-icon--right"},{default:s(()=>[i(a(Dt))]),_:1})]),_:1})]),_:2},1032,["onCommand"])],32)]),_:1})]),_:1},8,["data"])),[[Xe,a(D).loading]]),d("div",li,[i(la,{modelValue:a(D),"onUpdate:modelValue":e[9]||(e[9]=n=>B(D)?D.value=n:null),onChange:a(x)},null,8,["modelValue","onChange"])])])]),_:1}),i(a(Et),{ref_key:"editRef",ref:ae,onSuccess:Zt},null,512),i(a(wt),{ref_key:"detailRef",ref:an},null,512),i(a(Rt),{ref_key:"prescriptionRef",ref:ot,onSuccess:$n},null,512),i(a(It),{ref_key:"appointmentRef",ref:dt,onSuccess:Qn},null,512),i(a($t),{modelValue:a(ke),"onUpdate:modelValue":e[10]||(e[10]=n=>B(ke)?ke.value=n:null),"diagnosis-id":a(rt),onClosed:a(x)},null,8,["modelValue","diagnosis-id","onClosed"]),i(ft,{modelValue:a(te),"onUpdate:modelValue":e[11]||(e[11]=n=>B(te)?te.value=n:null),title:"挂号操作日志",size:"460px","destroy-on-close":"",onClosed:Yn},{default:s(()=>[w((o(),u("div",oi,[a(O)?(o(),u("div",di,[d("span",ri,p(a(O).patient_name),1),e[56]||(e[56]=d("span",{class:"mx-2 text-gray-300"},"|",-1)),d("span",null,"诊单 #"+p(a(O).id),1)])):C("",!0),!a(Ve)&&a(le).length===0?(o(),f(oa,{key:1,description:"暂无挂号/取消挂号操作记录"})):a(le).length>0?(o(),f(ra,{key:2},{default:s(()=>[(o(!0),u(A,null,$(a(le),(n,k)=>(o(),f(da,{key:n.id??k,timestamp:n.create_time_text||"—",placement:"top"},{default:s(()=>[d("div",ui,[i(P,{size:"small",type:"info"},{default:s(()=>[m(p(n.action_desc),1)]),_:2},1024),d("span",mi,p(Un(n)),1)]),d("div",pi,p(n.summary),1)]),_:2},1032,["timestamp"]))),128))]),_:1})):C("",!0)])),[[Xe,a(Ve)]])]),_:1},8,["modelValue"]),i(Re,{modelValue:a(Y),"onUpdate:modelValue":e[13]||(e[13]=n=>B(Y)?Y.value=n:null),title:a(Oe),width:"400px","close-on-click-modal":!1},{footer:s(()=>[i(v,{onClick:e[12]||(e[12]=n=>Y.value=!1)},{default:s(()=>[...e[59]||(e[59]=[m("关闭",-1)])]),_:1}),a(G)?C("",!0):(o(),f(v,{key:0,type:"primary",onClick:Kn},{default:s(()=>[...e[60]||(e[60]=[m(" 重新生成 ",-1)])]),_:1}))]),default:s(()=>{var n;return[d("div",ci,[a(G)?(o(),u("div",_i,[i(h,{class:"is-loading",size:40},{default:s(()=>[i(a(os))]),_:1}),e[57]||(e[57]=d("div",{class:"mt-4 text-gray-500"},"生成中...",-1))])):a(H)?(o(),u("div",gi,[d("img",{src:a(H),alt:"小程序二维码",class:"w-64 h-64 border border-gray-200 rounded"},null,8,fi),d("div",vi,[d("div",null,"患者:"+p((n=a(K))==null?void 0:n.patient_name),1),d("div",yi,"挂号时间:"+p(yn.value),1),e[58]||(e[58]=d("div",{class:"mt-2"},"请使用企业微信扫描二维码,然后转发给患者",-1))])])):(o(),u("div",hi," 生成失败,请重试 "))])]}),_:1},8,["modelValue","title"]),i(Re,{modelValue:a(ee),"onUpdate:modelValue":e[16]||(e[16]=n=>B(ee)?ee.value=n:null),title:a(me)==="batch"?"批量指派医助":"指派医助",width:"500px",onClosed:hn},{footer:s(()=>[i(v,{onClick:e[15]||(e[15]=n=>ee.value=!1)},{default:s(()=>[...e[61]||(e[61]=[m("取消",-1)])]),_:1}),i(v,{type:"primary",onClick:Dn,loading:a(qe)},{default:s(()=>[...e[62]||(e[62]=[m(" 确定指派 ",-1)])]),_:1},8,["loading"])]),default:s(()=>[i(Je,{model:a(U),"label-width":"100px"},{default:s(()=>[i(q,{label:"选择医助",required:""},{default:s(()=>[i(Q,{modelValue:a(U).assistant_id,"onUpdate:modelValue":e[14]||(e[14]=n=>a(U).assistant_id=n),placeholder:"请选择医助",class:"w-full",filterable:"",clearable:""},{default:s(()=>[(o(!0),u(A,null,$(a(ue),n=>(o(),f(V,{key:n.id,label:n.name,value:Number(n.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(me)==="batch"?(o(),f(q,{key:0,label:"已选择"},{default:s(()=>[d("div",ki,p(a(ie).length)+" 条诊单记录",1)]),_:1})):(o(),f(q,{key:1,label:"诊单信息"},{default:s(()=>{var n,k;return[d("div",bi,[d("div",null,"患者:"+p((n=a(pe))==null?void 0:n.patient_name),1),d("div",null,"诊断日期:"+p((k=a(pe))==null?void 0:k.diagnosis_date_text),1)])]}),_:1}))]),_:1},8,["model"])]),_:1},8,["modelValue","title"]),i(Re,{modelValue:a(se),"onUpdate:modelValue":e[21]||(e[21]=n=>B(se)?se.value=n:null),title:"创建订单",width:"600px",onClose:fn},{footer:s(()=>[i(v,{onClick:e[20]||(e[20]=n=>se.value=!1)},{default:s(()=>[...e[63]||(e[63]=[m("取消",-1)])]),_:1}),i(v,{type:"primary",onClick:vn,loading:a(Ue)},{default:s(()=>[...e[64]||(e[64]=[m("创建订单",-1)])]),_:1},8,["loading"])]),default:s(()=>[i(Je,{ref_key:"orderFormRef",ref:Ce,model:a(y),rules:_n,"label-width":"100px"},{default:s(()=>[i(q,{label:"患者"},{default:s(()=>[d("span",Ci,p(a(y).patient_name)+" ("+p(tt(a(y).phone))+")",1)]),_:1}),i(q,{label:"订单类型",prop:"order_type"},{default:s(()=>[i(Q,{modelValue:a(y).order_type,"onUpdate:modelValue":e[17]||(e[17]=n=>a(y).order_type=n),placeholder:"请选择",class:"w-full"},{default:s(()=>[i(V,{label:"挂号费",value:1}),i(V,{label:"问诊费",value:2}),i(V,{label:"药品费用",value:3}),i(V,{label:"首付费用",value:4}),i(V,{label:"尾款费用",value:5}),i(V,{label:"其他费用",value:6}),i(V,{label:"全部费用",value:7}),i(V,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1}),i(q,{label:"订单金额",prop:"amount"},{default:s(()=>[i(ua,{modelValue:a(y).amount,"onUpdate:modelValue":e[18]||(e[18]=n=>a(y).amount=n),min:0,step:.01,precision:2,placeholder:"请输入金额",class:"w-full"},null,8,["modelValue"])]),_:1}),i(q,{label:"备注",prop:"remark"},{default:s(()=>[i(_,{modelValue:a(y).remark,"onUpdate:modelValue":e[19]||(e[19]=n=>a(y).remark=n),type:"textarea",rows:3,placeholder:"请输入备注(可选)"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),i(Re,{modelValue:a(oe),"onUpdate:modelValue":e[24]||(e[24]=n=>B(oe)?oe.value=n:null),title:"补全身份证号",width:"400px","close-on-click-modal":!1,onClose:e[25]||(e[25]=n=>a(z).id_card="")},{footer:s(()=>[i(v,{onClick:e[23]||(e[23]=n=>oe.value=!1)},{default:s(()=>[...e[65]||(e[65]=[m("取消",-1)])]),_:1}),i(v,{type:"primary",onClick:Hn,loading:a(Ge)},{default:s(()=>[...e[66]||(e[66]=[m("提交(自动更新年龄)",-1)])]),_:1},8,["loading"])]),default:s(()=>[i(Je,{ref_key:"fillIdCardFormRef",ref:mt,model:a(z),rules:Bn,"label-width":"80px"},{default:s(()=>[i(q,{label:"患者"},{default:s(()=>[d("span",xi,p(a(z).patient_name),1)]),_:1}),i(q,{label:"身份证号",prop:"id_card"},{default:s(()=>[i(_,{modelValue:a(z).id_card,"onUpdate:modelValue":e[22]||(e[22]=n=>a(z).id_card=n),placeholder:"请输入15或18位身份证号",maxlength:"18","show-word-limit":"",clearable:""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),i(ft,{modelValue:a(Ee),"onUpdate:modelValue":e[27]||(e[27]=n=>B(Ee)?Ee.value=n:null),title:`企业微信记录 - ${((vt=a(S))==null?void 0:vt.patient_name)||""}`,size:"600px","destroy-on-close":!0},{default:s(()=>{var n,k;return[a(L)?(o(),u("div",Di,[i(ma,{column:2,border:"",size:"small"},{default:s(()=>[i(Ie,{label:"患者姓名"},{default:s(()=>{var b;return[m(p((b=a(S))==null?void 0:b.patient_name),1)]}),_:1}),i(Ie,{label:"手机号"},{default:s(()=>[m(p(tt(a(L).phone)||"-"),1)]),_:1}),i(Ie,{label:"企微联系人ID"},{default:s(()=>[a(L).external_userid?(o(),u("span",Vi,p(a(L).external_userid),1)):(o(),f(P,{key:1,type:"info",size:"small"},{default:s(()=>[...e[67]||(e[67]=[m("未关联",-1)])]),_:1}))]),_:1}),i(Ie,{label:"会话存档"},{default:s(()=>[a(L).msgaudit_enabled?(o(),f(P,{key:0,type:"success",size:"small"},{default:s(()=>[...e[68]||(e[68]=[m("已开通",-1)])]),_:1})):(o(),f(P,{key:1,type:"info",size:"small"},{default:s(()=>[...e[69]||(e[69]=[m("未配置",-1)])]),_:1}))]),_:1})]),_:1}),(n=a(L).permit_users)!=null&&n.length?(o(),u("div",Ai,[e[70]||(e[70]=d("span",{class:"text-sm text-gray-500 mr-2"},"存档成员:",-1)),(o(!0),u(A,null,$(a(L).permit_users,b=>(o(),f(P,{key:b,size:"small",class:"mr-1"},{default:s(()=>[m(p(b),1)]),_:2},1024))),128))])):C("",!0),(k=a(L).msgaudit_agree)!=null&&k.length?(o(),u("div",Ei,[e[71]||(e[71]=d("span",{class:"text-sm text-gray-500 mr-2"},"存档同意:",-1)),(o(!0),u(A,null,$(a(L).msgaudit_agree,(b,$e)=>(o(),f(P,{key:$e,type:b.agree_status==="Agree"?"success":"warning",size:"small",class:"mr-1"},{default:s(()=>[m(p(b.userid)+": "+p(b.agree_status==="Agree"?"已同意":b.agree_status),1)]),_:2},1032,["type"]))),128))])):C("",!0)])):C("",!0),i(pa),d("div",wi,[d("div",Ri,[i(_,{modelValue:a(ne),"onUpdate:modelValue":e[26]||(e[26]=b=>B(ne)?ne.value=b:null),type:"textarea",rows:2,placeholder:"添加沟通记录...",class:"flex-1"},null,8,["modelValue"]),i(v,{type:"primary",onClick:Zn,loading:a(Ke),class:"self-end"},{default:s(()=>[...e[72]||(e[72]=[m(" 添加 ",-1)])]),_:1},8,["loading"])])]),w((o(),u("div",null,[a(j).length===0?(o(),u("div",Ii," 暂无聊天记录 ")):(o(),u("div",$i,[(o(!0),u(A,null,$(a(j),b=>{var $e;return o(),u("div",{key:b.id,class:"record-item"},[d("div",Si,[d("div",Li,[i(P,{type:b.direction===0?"primary":"success",size:"small"},{default:s(()=>[m(p(b.direction===0?"员工":"客户"),1)]),_:2},1032,["type"]),d("span",Ni,p(b.direction===0?b.staff_name:b.external_name||(($e=a(S))==null?void 0:$e.patient_name)),1),b.msg_type==="note"?(o(),f(P,{key:0,type:"warning",size:"small"},{default:s(()=>[...e[73]||(e[73]=[m("备注",-1)])]),_:1})):C("",!0)]),d("div",zi,[d("span",Pi,p(jn(b.chat_time)),1),i(v,{type:"danger",link:"",size:"small",onClick:Qi=>ea(b.id)},{default:s(()=>[...e[74]||(e[74]=[m(" 删除 ",-1)])]),_:1},8,["onClick"])])]),d("div",Ti,p(b.content),1),b.media_url?(o(),u("div",Wi,[i(ca,{src:b.media_url,style:{"max-width":"200px"},fit:"contain","preview-src-list":[b.media_url]},null,8,["src","preview-src-list"])])):C("",!0)])}),128))])),a(we)>a(j).length?(o(),u("div",Fi,[i(v,{link:"",type:"primary",onClick:Xn},{default:s(()=>[...e[75]||(e[75]=[m("加载更多",-1)])]),_:1})])):C("",!0)])),[[Xe,a(He)]])]}),_:1},8,["modelValue","title"])])}}}),zl=es(Yi,[["__scopeId","data-v-15bd0fb6"]]);export{zl as default}; +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/edit-BG1q_jZS.js","assets/element-plus-DFTWCWyi.js","assets/@vue/runtime-dom-DDAG46FW.js","assets/lodash-D3kF6u-c.js","assets/@vue/runtime-core-C6bnekPw.js","assets/@vue/reactivity-DiY1c2vO.js","assets/@vue/shared-mAAVTE9n.js","assets/@element-plus/icons-vue-HOEUG8sr.js","assets/lodash-es-C2A-Pj28.js","assets/@popperjs/core-C5az9QE8.js","assets/dayjs-DG77mNTn.js","assets/@ctrl/tinycolor-BuyEbX8F.js","assets/async-validator-CFA_igpM.js","assets/normalize-wheel-es-BQoi3Ox2.js","assets/element-plus-C_YxM8bk.css","assets/tcm-BcqaE0lo.js","assets/index-DBREMm_z.js","assets/jspdf-BsthCvR5.js","assets/@babel/runtime-BanGtE2-.js","assets/fflate-_ayOYiT1.js","assets/vue-router-QlpZ4wdW.js","assets/pinia-B8cvXbiZ.js","assets/axios-C80V62Fs.js","assets/@vueuse/core-1S4fJlii.js","assets/@vueuse/shared-Cl3lVqjz.js","assets/css-color-function-DI01JAaZ.js","assets/balanced-match-BdS7OldZ.js","assets/color-B2zxaWkI.js","assets/clone-DBZ6_OiU.js","assets/color-convert-OrFsTA_V.js","assets/color-name-Dju3oUBS.js","assets/color-string-pUQDDJII.js","assets/ms-CzQ2E3wO.js","assets/vue-clipboard3-DByT_rEQ.js","assets/clipboard-CHgxszqY.js","assets/echarts-CNLwa9wG.js","assets/tslib-BDyQ-Jie.js","assets/zrender-DRNXw7y3.js","assets/highlight.js-Bxt7hFFy.js","assets/highlight-BfC0goYb.css","assets/@highlightjs/vue-plugin-C4onkBvW.js","assets/index-3wNXRrXZ.css","assets/perm-Bo9eM8XD.js","assets/DailyMatrix-CZKqLaUg.js","assets/picker-BCRrEZaA.js","assets/index-BwF7vczx.js","assets/index-B3imPWFk.css","assets/index-BiPYXDtP.js","assets/index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js","assets/index-CbfZXeGu.js","assets/index-D0f1Mn00.css","assets/index-CRoZWY-W.js","assets/cos-js-sdk-v5-DSMN0LUT.js","assets/file-BimpIRb_.js","assets/index.vue_vue_type_script_setup_true_lang-x0oL2ShL.js","assets/usePaging-VsbTxSU0.js","assets/index-BYOmK9R5.css","assets/vuedraggable-5bKFmC7X.js","assets/vue-BVs68q8v.js","assets/@vue/compiler-dom-CqayqxS7.js","assets/@vue/compiler-core-CvbQOXIO.js","assets/sortablejs-dsEAUXlE.js","assets/picker-XZbUgFct.css","assets/vue-echarts-BNtg2q_G.js","assets/resize-detector-G6vbKCU7.js","assets/DiagnosisTodoList-CgT2M9eR.js","assets/DiagnosisTodoList-D0SBmTHG.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix-zLBaKfXe.css","assets/CaseRecordList-X66GZZcg.js","assets/CaseRecordList-Cl-c3q7S.css","assets/CallRecordPanel-D709DmJk.js","assets/RecordingPlaybackBlock-COxLgEiR.js","assets/RecordingVideoPlayer-DJ_BP9x7.js","assets/RecordingVideoPlayer-4DegHAwm.css","assets/RecordingPlaybackBlock-B3KYFgvg.css","assets/CallRecordPanel-TsjZtTO8.css","assets/ImChatRecordPanel-C40Ue1e_.js","assets/im-business-message-parse-QKjFLn3X.js","assets/ImChatRecordPanel-aX8zpWRQ.css","assets/AssignLogPanel-B1RENXkE.js","assets/AssignLogPanel-BdKOtd2m.css","assets/AppointmentRecordPanel-DH84Bquy.js","assets/doctor-ul0r578d.js","assets/AppointmentRecordPanel-DC22GDgn.css","assets/NoteTimeline-BzPD6QHw.js","assets/patient-DdWkVUZB.js","assets/NoteTimeline-CCWIpEBQ.css","assets/PatientOrderList-Vzhj0FzC.js","assets/PatientOrderList-iKx_Cn9B.css","assets/index-B91OSiYQ.js","assets/index-DcDP_Tmx.js","assets/medicine-CCdxjQY6.js","assets/index-tfEElgYq.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/html2canvas-QH1iLAAe.js","assets/index-DGbIWVjL.css","assets/edit-z2mn_utb.css","assets/TrackingNoteTimeline-B9T8pFso.css","assets/detail-47n6zBhj.js","assets/appointment-CgztbjDp.js","assets/appointment-DHf6UVnR.css","assets/AssistantWatchCallDialog-BRyYQCK0.js","assets/trtc-sdk-v5-D4DbeRqz.js","assets/AssistantWatchCallDialog-BIPZRgaH.css"])))=>i.map(i=>d[i]); +import{_ as _e}from"./jspdf-BsthCvR5.js";import{a2 as _a,C as ga,i as fa,d as va,P as ya,Q as ha,J as ka,M as ba,N as Ca,T as xa,r as Va,p as Da,n as Aa,o as Ea,L as wa,R as Ra,ac as Ia,ad as $a,e as Sa,V as La,D as Na,B as za,h as Pa,aa as Ta,ab as Wa,U as Fa,v as Ma}from"./element-plus-DFTWCWyi.js";import{_ as Ya}from"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import{w as yt,q as Oa,s as Ze}from"./@vue/runtime-dom-DDAG46FW.js";import{ag as W,a as Ua,H as Qa,ah as Se,ai as qa,aj as Ba,V as ht,ak as kt,al as Ha,am as Ga,an as Ka,ao as ja}from"./tcm-BcqaE0lo.js";import{i as Ja}from"./order-DLqQxjqO.js";import{l as bt}from"./doctor-ul0r578d.js";import{u as Xa}from"./usePaging-VsbTxSU0.js";import{u as Za,m as Ct,i as g,_ as es}from"./index-DBREMm_z.js";import{g as xt}from"./weapp-Bi3HP3df.js";import{h as F}from"./perm-Bo9eM8XD.js";import{e as Vt,X as ts,ab as ns,O as Dt,b as as,a7 as ss,G as is,H as ls,l as os}from"./@element-plus/icons-vue-HOEUG8sr.js";import{u as ds,a as rs}from"./vue-router-QlpZ4wdW.js";import{d as Le}from"./dayjs-DG77mNTn.js";import{f as At,w as us,b as ms,d as ps,as as cs,ak as o,I as u,a as i,aN as s,J as d,F as A,ap as $,O as m,H as C,aP as w,G as f,P as ge,A as X}from"./@vue/runtime-core-C6bnekPw.js";import{o as M,Q as p}from"./@vue/shared-mAAVTE9n.js";import{y as a,a as B,r as et,n as c}from"./@vue/reactivity-DiY1c2vO.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./lodash-D3kF6u-c.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const _s={class:"tcm-diagnosis"},gs={class:"filter-main"},fs={class:"date-chips"},vs=["onClick"],ys={key:0},hs={key:0},ks={key:0},bs={class:"pending-assign-wrap"},Cs={key:0},xs={class:"search-row"},Vs={class:"filter-chips"},Ds=["onClick"],As=["onClick"],Es={class:"filter-more"},ws={class:"list-header"},Rs={class:"list-actions"},Is={key:0,class:"list-selected"},$s={class:"table-wrap px-4"},Ss={class:"patient-cell"},Ls={class:"patient-info"},Ns={class:"patient-name"},zs={class:"patient-cell"},Ps={class:"patient-info"},Ts={class:"patient-name"},Ws={class:"apt-badge"},Fs={class:"apt-doctor"},Ms={class:"apt-time"},Ys={key:0,class:"apt-actions"},Os={class:"apt-badge"},Us={class:"apt-doctor"},Qs={class:"apt-time"},qs={key:1,class:"apt-none"},Bs={key:0,class:"status-confirmed"},Hs={key:1,class:"status-unconfirmed"},Gs={key:0,class:"followup-cell"},Ks={class:"followup-time"},js={class:"followup-doctor"},Js={key:1,class:"followup-none"},Xs={class:"assistant-cell"},Zs={key:0,class:"status-prescribed"},ei={key:1,class:"status-unprescribed"},ti={key:1,class:"unserved-days unserved-muted"},ni={class:"video-watch-col"},ai={class:"video-watch-trigger"},si={key:1,class:"video-watch-muted"},ii={key:1,class:"video-watch-muted"},li={class:"pagination-wrap"},oi={class:"min-h-[100px]"},di={key:0,class:"text-sm text-gray-600 mb-4 pb-3 border-b border-gray-100"},ri={class:"font-medium text-gray-800"},ui={class:"flex flex-wrap items-center gap-2"},mi={class:"text-sm font-medium text-gray-800"},pi={class:"text-xs text-gray-600 mt-1.5 leading-relaxed"},ci={class:"flex flex-col items-center justify-center py-4"},_i={key:0,class:"text-center"},gi={key:1,class:"text-center"},fi=["src"],vi={class:"mt-4 text-sm text-gray-600"},yi={class:"mt-2"},hi={key:2,class:"text-center text-gray-500"},ki={class:"text-gray-500"},bi={class:"text-gray-500"},Ci={class:"font-medium"},xi={class:"font-medium"},Vi={key:0,class:"mb-4"},Di={key:0},Ai={key:0,class:"mt-2"},Ei={key:1,class:"mt-2"},wi={class:"mb-4"},Ri={class:"flex gap-2"},Ii={key:0,class:"text-center text-gray-400 py-10"},$i={key:1,class:"record-list"},Si={class:"record-header"},Li={class:"flex items-center gap-2"},Ni={class:"font-medium text-sm"},zi={class:"flex items-center gap-2"},Pi={class:"text-xs text-gray-400"},Ti={class:"record-content"},Wi={key:0,class:"mt-1"},Fi={key:2,class:"text-center mt-4"},Mi=At({name:"tcmDiagnosis"}),Yi=At({...Mi,setup(Oi){const Et=ge(()=>_e(()=>import("./edit-BG1q_jZS.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98]))),wt=ge(()=>_e(()=>import("./detail-47n6zBhj.js"),__vite__mapDeps([99,45,1,2,3,4,5,6,7,8,9,10,11,12,13,14,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,46,15]))),Rt=ge(()=>_e(()=>import("./index-B91OSiYQ.js"),__vite__mapDeps([90,1,2,3,4,5,6,7,8,9,10,11,12,13,14,91,92,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,93,94,15,95,96]))),It=ge(()=>_e(()=>import("./appointment-CgztbjDp.js"),__vite__mapDeps([100,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,83,101]))),$t=ge(()=>_e(()=>import("./AssistantWatchCallDialog-BRyYQCK0.js"),__vite__mapDeps([102,1,2,3,4,5,6,7,8,9,10,11,12,13,14,103,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,104]))),St=t=>{if(!t)return"-";const e=String(t).length===10?Number(t)*1e3:Number(t);return Le(e).format("YYYY-MM-DD HH:mm:ss")},tt=t=>!t||t.length<11?t:t.replace(/(\d{3})\d{4}(\d{4})/,"$1****$2"),l=et({keyword:"",diagnosis_type:"",syndrome_type:"",assistant_id:"",start_time:"",end_time:"",diagnosis_confirmed:"",appointment_date:"",has_appointment:"",pending_assign:"",pending_booking:"",completed_appointment:"",pending_assign_order_month:"",pending_assign_keyword:""}),nt=c("all"),re=c(!1),Lt=[{label:"全部",value:""},{label:"已挂号",value:"1"},{label:"未挂号",value:"0"}],Nt=[{label:"全部",value:""},{label:"已确认",value:"1"},{label:"未确认",value:"0"}],zt=t=>{l.has_appointment=t,l.pending_booking="",l.completed_appointment="",V.page=1,x(),E()},Pt=t=>{l.diagnosis_confirmed=t,l.pending_booking="",l.completed_appointment="",V.page=1,x(),E()};function Tt(t){if(!(t.pending_assign==="1"||t.pending_assign===1))return!1;const r=String(t.pending_assign_keyword??"").trim(),_=String(t.keyword??"").trim();return r!==""||_!==""}function at(t){if(!Tt(t))return t;const e=String(t.pending_assign_keyword??"").trim(),r=String(t.keyword??"").trim(),_=e!==""?e:r;return{page_no:t.page_no,page_size:t.page_size,pending_assign:1,pending_assign_keyword:_}}function Wt(){const t=String(l.pending_assign_order_month??"").trim();return t!==""?t:l.pending_assign==="1"?"":Le().format("YYYY-MM")}function Ft(){return at({...l,page_no:1,page_size:1,pending_assign:1,appointment_date:"",has_appointment:"",pending_booking:"",completed_appointment:"",pending_assign_order_month:Wt()})}const Mt=t=>W(at(t));function Yt(){if(l.pending_assign!=="1")return;const t=(l.pending_assign_keyword??"").trim(),e=(l.keyword??"").trim();t===""&&e===""||(l.appointment_date="",l.pending_booking="",l.completed_appointment="",l.diagnosis_confirmed="",l.has_appointment="",l.diagnosis_type="",l.syndrome_type="",l.assistant_id="",l.start_time="",l.end_time="",l.pending_assign_order_month="",nt.value="all",t!==""&&(l.keyword=""))}const Z=()=>{Yt(),V.page=1,x(),E()},Ot=X(()=>[{label:"昨天挂号",value:Me.value},{label:"前天挂号",value:Ye.value},{label:"当天挂号",value:ve.value},{label:"明天挂号",value:We.value},{label:"后天挂号",value:Fe.value},{label:"全部",value:""}]),Ne=c({}),ze=c(void 0),Pe=c(void 0),Te=c(void 0),Ut=async t=>{l.pending_assign="",l.pending_assign_order_month="",l.pending_assign_keyword="",l.pending_booking="",l.completed_appointment="",l.has_appointment="",l.appointment_date=t,V.page=1,await x(),E()},Qt=async()=>{l.pending_assign="",l.pending_assign_order_month="",l.pending_assign_keyword="",l.pending_booking="1",l.completed_appointment="",l.appointment_date="",l.has_appointment="0",V.page=1,await x(),E()},qt=async()=>{l.pending_assign="",l.pending_assign_order_month="",l.pending_assign_keyword="",l.pending_booking="",l.completed_appointment="1",l.has_appointment="",l.appointment_date="",V.page=1,await x(),E()},Bt=async()=>{l.pending_assign="1",l.pending_booking="",l.completed_appointment="",l.has_appointment="",l.appointment_date="",l.pending_assign_order_month||(l.pending_assign_order_month=Le().format("YYYY-MM")),V.page=1,await x(),E()},Ht=async t=>{l.pending_assign_order_month=t||"",l.pending_assign==="1"&&(V.page=1,await x(),E())},E=async()=>{try{const[t,e,r,_,v,h,D,Q,de]=await Promise.all([W({appointment_date:Me.value,page_no:1,page_size:1}),W({appointment_date:Ye.value,page_no:1,page_size:1}),W({appointment_date:ve.value,page_no:1,page_size:1}),W({appointment_date:We.value,page_no:1,page_size:1}),W({appointment_date:Fe.value,page_no:1,page_size:1}),W({page_no:1,page_size:1}),W({has_appointment:0,page_no:1,page_size:1}),W({completed_appointment:1,page_no:1,page_size:1}),W(Ft())]);Ne.value={[Me.value]:(t==null?void 0:t.count)??0,[Ye.value]:(e==null?void 0:e.count)??0,[ve.value]:(r==null?void 0:r.count)??0,[We.value]:(_==null?void 0:_.count)??0,[Fe.value]:(v==null?void 0:v.count)??0,"":(h==null?void 0:h.count)??0},ze.value=(D==null?void 0:D.count)??0,Pe.value=(Q==null?void 0:Q.count)??0,Te.value=(de==null?void 0:de.count)??0}catch(t){console.error("获取日期数量失败",t)}};function Gt(){const t=()=>E();typeof requestIdleCallback=="function"?requestIdleCallback(t,{timeout:2500}):setTimeout(t,120)}const Kt=2e4;let fe=null;function jt(){typeof document<"u"&&document.hidden||(x({silent:!0}).catch(()=>{}),E())}const N=t=>String(t).padStart(2,"0"),ve=X(()=>{const t=new Date;return`${t.getFullYear()}-${N(t.getMonth()+1)}-${N(t.getDate())}`}),We=X(()=>{const t=new Date;return t.setDate(t.getDate()+1),`${t.getFullYear()}-${N(t.getMonth()+1)}-${N(t.getDate())}`}),Fe=X(()=>{const t=new Date;return t.setDate(t.getDate()+2),`${t.getFullYear()}-${N(t.getMonth()+1)}-${N(t.getDate())}`}),Me=X(()=>{const t=new Date;return t.setDate(t.getDate()-1),`${t.getFullYear()}-${N(t.getMonth()+1)}-${N(t.getDate())}`}),Ye=X(()=>{const t=new Date;return t.setDate(t.getDate()-2),`${t.getFullYear()}-${N(t.getMonth()+1)}-${N(t.getDate())}`}),st=c([]),it=c([]),ue=c([]),Jt=async()=>{try{const[t,e,r]=await Promise.all([Ct({type:"diagnosis_type"}),Ct({type:"syndrome_type"}),Ua()]);st.value=(t==null?void 0:t.diagnosis_type)||[],it.value=(e==null?void 0:e.syndrome_type)||[],ue.value=r||[]}catch(t){console.error("获取字典数据失败:",t)}},Xt=t=>{if(!t&&t!==0)return"-";const e=typeof t=="string"?parseInt(t):t;if(ue.value.length===0)return"...";const r=ue.value.find(_=>(typeof _.id=="string"?parseInt(_.id):_.id)===e);return r?r.name:"-"},{pager:V,getLists:x}=Xa({fetchFun:Mt,params:l}),Zt=()=>x({silent:!0}),en=()=>{nt.value="all",l.keyword="",l.diagnosis_type="",l.syndrome_type="",l.assistant_id="",l.diagnosis_confirmed="",l.appointment_date="",l.has_appointment="",l.pending_assign="",l.pending_assign_order_month="",l.pending_assign_keyword="",l.pending_booking="",l.completed_appointment="",V.page=1,x(),E()},lt=t=>{const e=t.DiagnosisViewRecord||[];return e.length>0&&e.some(r=>r.is_confirmed==1)},tn=t=>{if(t==null)return"unserved-muted";const e=Number(t);return Number.isFinite(e)?e>=7?"unserved-red":e>=3?"unserved-orange":"unserved-green":"unserved-muted"},nn=({row:t})=>lt(t)?t.has_appointment?"":"row-no-appointment":"row-unconfirmed",ae=c(),an=c(),ot=c(),dt=c(),ye=c(null),he=Za();us([ae,ye],()=>{const t=ye.value,e=ae.value;t==null||!(e!=null&&e.open)||(e.open("edit",t),ye.value=null)},{flush:"post"});const ke=c(!1),rt=c(0),sn=t=>{var r;const e=t.assistant_id??t.assistant;return e==null||e===""?!1:Number(e)===Number((r=he.userInfo)==null?void 0:r.id)},ln=t=>{rt.value=Number(t.id)||0,ke.value=!0},on=t=>sn(t)&&F(["tcm.diagnosis/watchCall"]),be=t=>{var e;return((e=t.video_call_hint)==null?void 0:e.state)||"none"},dn=t=>{const e=t.video_call_hint,r="点击进入实时房间(仅观看,不推流、不上麦)";return e!=null&&e.start_time?`${r}。开始时间:${St(e.start_time)}`:r},rn=t=>{const e=be(t);return e==="live"||e==="pending_room"},un=t=>be(t)==="pending_room"?"医生尚未接通或未同步房间号,接通后再点此进入":dn(t),mn=t=>{if(be(t)!=="live"){g.msgWarning("医生尚未接通或未同步房间号,请稍后再试");return}ln(t)},pn=t=>{const e=t.video_call_hint;return e!=null&&e.label?e.label:"暂无可旁观通话"},cn=t=>{const e=be(t);if(e==="none")return"—";if(e==="live")return"通话中";if(e==="pending_room")return"接通中";const r=t.video_call_hint;return(r==null?void 0:r.label)||"—"},se=c(!1),Ce=c(),Oe=c(!1),y=et({patient_id:"",patient_name:"",phone:"",order_type:"",amount:0,remark:"",has_appointment:!1,appointment_time_text:""}),_n={order_type:[{required:!0,message:"请选择订单类型",trigger:"change"}],amount:[{required:!0,message:"请输入订单金额",trigger:"blur"}]},gn=t=>{var e;y.patient_id=t.patient_id||t.id,y.patient_name=t.patient_name,y.phone=t.phone||"",y.order_type="",y.amount=0,y.remark="",y.has_appointment=!!t.has_appointment,y.appointment_time_text=t.appointment_time_text||"",(e=Ce.value)==null||e.clearValidate(),se.value=!0},fn=()=>{var t;y.patient_id="",y.patient_name="",y.phone="",y.order_type="",y.amount=0,y.remark="",y.has_appointment=!1,y.appointment_time_text="",(t=Ce.value)==null||t.clearValidate()},vn=async()=>{var t;try{await((t=Ce.value)==null?void 0:t.validate()),Oe.value=!0;const e=await Ja({patient_id:y.patient_id,order_type:y.order_type,amount:y.amount,remark:y.remark});se.value=!1,x();const r=e==null?void 0:e.order_no;if(r){Y.value=!0,H.value=!0,G.value="",K.value={patient_name:y.patient_name,has_appointment:y.has_appointment,appointment_time_text:y.appointment_time_text};try{const _=await Qa({order_no:r});_!=null&&_.qrcode_url?G.value=_.qrcode_url:g.msgError("二维码生成失败")}catch(_){g.msgError((_==null?void 0:_.msg)||"生成二维码失败")}finally{H.value=!1}}}catch(e){console.error("创建订单失败:",e)}finally{Oe.value=!1}},Y=c(!1),H=c(!1),G=c(""),K=c(null),yn=X(()=>{const t=K.value;return t?t.has_appointment?t.appointment_time_text||"—":"未挂号":"—"}),Ue=c("小程序二维码"),Qe=c("confirm"),R=c([]),ie=c([]),ee=c(!1),qe=c(!1),me=c("batch"),pe=c(null),O=c({assistant_id:null});function hn(){ie.value=[],O.value.assistant_id=null}const kn=t=>{R.value=t.map(e=>e.id)},xe=t=>Number((t==null?void 0:t.assistant_id)??(t==null?void 0:t.assistant)??0)>0,bn=X(()=>{if(!R.value.length)return!1;const t=new Set(R.value);return V.lists.some(e=>t.has(e.id)&&xe(e))}),Cn=t=>{me.value="single",pe.value=t,ie.value=[],O.value.assistant_id=Number(t.assistant_id)>0?Number(t.assistant_id):null,ee.value=!0},xn=()=>{if(R.value.length===0){g.msgWarning("请先选择要指派的诊单");return}me.value="batch",pe.value=null,O.value.assistant_id=null,ie.value=[...R.value],ee.value=!0},Vn=async()=>{if(!O.value.assistant_id){g.msgWarning("请选择医助");return}qe.value=!0;try{if(me.value==="single")await Se({id:pe.value.id,assistant_id:O.value.assistant_id});else{const t=ie.value;if(!t.length){g.msgWarning("没有可指派的诊单,请关闭后重新勾选");return}for(const e of t)await Se({id:e,assistant_id:O.value.assistant_id});R.value=[],ie.value=[]}ee.value=!1,x()}catch(t){console.error("指派失败:",t)}finally{qe.value=!1}},Dn=async t=>{if(!(t!=null&&t.id)||!xe(t)){g.msgWarning("该诊单未指派医助");return}await g.confirm("确定取消该诊单的医助指派吗?"),await Se({id:t.id,assistant_id:0}),x()},An=async()=>{if(!R.value.length){g.msgWarning("请先选择诊单");return}const t=new Set(R.value),e=V.lists.filter(r=>t.has(r.id)&&xe(r));if(!e.length){g.msgWarning("所选诊单中没有已指派医助的记录");return}await g.confirm(`确定取消 ${e.length} 条诊单的医助指派吗?`),await Promise.all(e.map(r=>Se({id:r.id,assistant_id:0}))),R.value=[],x()},En=()=>{ae.value.open("add")},wn=t=>{ae.value.open("edit",t)};function Rn(t){return l.pending_assign==="1"?"开方":Number(t==null?void 0:t.prescription_audit_status)===1&&Number(t==null?void 0:t.prescription_void_status)!==1?"查看":"开方"}const In=t=>{var e;if(!(t!=null&&t.id)){g.msgWarning("诊单信息不完整");return}(e=ot.value)==null||e.open({...t,diagnosis_id:t.id,id:t.appointment_id||0})},$n=()=>{var t,e;x(),(e=(t=ae.value)==null?void 0:t.refreshCaseList)==null||e.call(t)},Sn=async t=>{await g.confirm("确定要删除该诊单吗?"),await Ka({id:t}),x()},Ln=(t,e)=>{switch(t){case"assign":Cn(e);break;case"cancelAssign":Dn(e);break;case"videoQr":if(!ce(e)){g.msgWarning("仅「已预约」状态可生成视频二维码");return}pt(e);break;case"confirmQr":ct(e);break;case"cancelApt":Fn(e);break;case"guahaoLogs":Un(e);break;case"order":gn(e);break;case"delete":Sn(e.id);break}},Nn=t=>{const e=Number(t.appointment_status);return e===3?"已完成":e===4?"已过号":"已挂号"},zn=t=>{const e=Number(t);return e===3?"已完成":e===4?"已过号":"已挂号"},Ve=t=>{const e=Array.isArray(t.appointments)?t.appointments:[];return e.length>0?e:t.has_appointment?[{id:t.appointment_id,status:t.appointment_status,doctor_id:t.appointment_doctor_id,doctor_name:t.appointment_doctor_name,time_text:t.appointment_time_text}]:[]},Pn=t=>{const e=Number(t==null?void 0:t.status);return{"apt-item-done":e===3,"apt-item-missed":e===4,"apt-item-active":e===1}},Tn=t=>{const e=Number(t.appointment_status);return{"has-apt":t.has_appointment,"apt-row-done":t.has_appointment&&e===3,"apt-row-missed":t.has_appointment&&e===4}},ce=t=>t.has_appointment&&Number(t.appointment_status)===1,ut=t=>{const e=Number(t.appointment_status);return!!(t.has_appointment&&t.appointment_id&&(e===1||e===4))},Be=t=>{const e=Number(t==null?void 0:t.status);return!!(t!=null&&t.id&&(e===1||e===4))},Wn=t=>ut(t)?Ve(t).length<=1:!1,Fn=async t=>{var v;if(!ut(t)){const h=Number(t.appointment_status);t.has_appointment&&h===3?g.msgWarning("已完成就诊,无法取消挂号"):g.msgWarning("该诊单未挂号或挂号信息异常");return}const e=Ve(t),r=e.length===1?e[0]:null,_=r!=null&&r.id&&Be(r)?r.id:t.appointment_id;try{await g.confirm(`确定要取消患者「${t.patient_name}」的挂号吗?`),await bt({id:_}),g.msgSuccess("取消挂号成功"),x(),E(),te.value&&((v=U.value)==null?void 0:v.id)===t.id&&await Ae(t.id)}catch(h){h!=="cancel"&&g.msgError((h==null?void 0:h.msg)||"取消挂号失败")}},Mn=async(t,e)=>{var v;if(!Be(e)){Number(e==null?void 0:e.status)===3?g.msgWarning("已完成就诊,无法取消挂号"):g.msgWarning("该挂号无法取消");return}const r=e.doctor_name||"—",_=e.time_text||"—";try{await g.confirm(`确定取消「${r}」${_} 的挂号吗?(患者:${t.patient_name||"—"})`),await bt({id:e.id}),g.msgSuccess("取消挂号成功"),x(),E(),te.value&&((v=U.value)==null?void 0:v.id)===t.id&&await Ae(t.id)}catch(h){h!=="cancel"&&g.msgError((h==null?void 0:h.msg)||"取消挂号失败")}},te=c(!1),De=c(!1),le=c([]),U=c(null);function Yn(){le.value=[],U.value=null}function On(t){const e=String((t==null?void 0:t.admin_name)||"").trim(),r=Number(t==null?void 0:t.admin_id);return e||(r>0?`管理员 #${r}`:"—")}async function Ae(t){De.value=!0;try{const e=await qa({id:t});le.value=Array.isArray(e==null?void 0:e.data)?e.data:Array.isArray(e)?e:[]}catch{le.value=[]}finally{De.value=!1}}async function Un(t){if(!(t!=null&&t.id)){g.msgWarning("诊单信息不完整");return}U.value=t,te.value=!0,await Ae(Number(t.id))}async function Qn(){var t;await x({silent:!0}),E(),te.value&&((t=U.value)!=null&&t.id)&&await Ae(Number(U.value.id))}const qn=t=>{var e;if(!t.patient_id){g.msgWarning("患者信息不完整");return}(e=dt.value)==null||e.open(t)},oe=c(!1),He=c(!1),mt=c(),z=et({id:0,patient_name:"",id_card:""}),Bn={id_card:[{required:!0,validator:(t,e,r)=>{if(!e){r(new Error("请输入身份证号"));return}const _=/^[1-9]\d{5}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dXx]$/.test(e),v=/^[1-9]\d{5}\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}$/.test(e);_||v?r():r(new Error("请输入15或18位有效身份证号"))},trigger:"blur"}]},Hn=t=>{z.id=t.id,z.patient_name=t.patient_name||"-",z.id_card=t.id_card||"",oe.value=!0},Gn=async()=>{var t;await((t=mt.value)==null?void 0:t.validate()),He.value=!0;try{await Ba({id:z.id,id_card:z.id_card}),g.msgSuccess("补全成功,年龄已自动更新"),oe.value=!1,x()}catch(e){g.msgError((e==null?void 0:e.msg)||"补全失败")}finally{He.value=!1}},pt=async t=>{var e;if(!ce(t)){g.msgWarning("仅「已预约」状态可生成视频二维码");return}if(!t.patient_id){g.msgWarning("患者信息不完整");return}Qe.value="video",K.value=t,Y.value=!0,H.value=!0,G.value="",Ue.value="视频二维码";try{const r=await xt();if(!(r!=null&&r.app_id)){g.msgError("小程序未配置,请先配置小程序信息"),Y.value=!1;return}const _=await ht({doctor_id:t.appointment_doctor_id,diagnosis_id:t.appointment_doctor_id,patient_id:t.patient_id,share_user_id:((e=he.userInfo)==null?void 0:e.id)||"",mini_program_path:"pages/login/login"});_!=null&&_.qrcode_url?G.value=_.qrcode_url:g.msgError("二维码生成失败")}catch(r){g.msgError((r==null?void 0:r.msg)||"生成二维码失败,请重试")}finally{H.value=!1}},ct=async t=>{if(!ce(t)){g.msgWarning("仅「已预约」状态可使用诊单二维码");return}if(!t.patient_id){g.msgWarning("患者信息不完整");return}Qe.value="confirm",K.value=t,Y.value=!0,H.value=!0,G.value="",Ue.value="诊单二维码";try{const e=await xt();if(!(e!=null&&e.app_id)){g.msgError("小程序未配置,请先配置小程序信息"),Y.value=!1;return}const r=he.userInfo,_=await ht({diagnosis_id:t.id,doctor_id:t.appointment_doctor_id,patient_id:t.patient_id,share_user_id:(r==null?void 0:r.id)||""});_!=null&&_.qrcode_url?G.value=_.qrcode_url:g.msgError("二维码生成失败")}catch(e){console.error("生成小程序二维码失败:",e),g.msgError((e==null?void 0:e.msg)||"生成二维码失败,请重试")}finally{H.value=!1}},Kn=()=>{K.value&&(Qe.value==="video"?pt(K.value):ct(K.value))},Ee=c(!1),S=c(null),j=c([]),we=c(0),Ge=c(!1),L=c(null),ne=c(""),Ke=c(!1),je=c(1),jn=t=>{if(!t)return"-";const e=String(t).length===10?t*1e3:t;return Le(e).format("YYYY-MM-DD HH:mm")},Jn=async t=>{S.value=t,Ee.value=!0,j.value=[],we.value=0,L.value=null,ne.value="",je.value=1,Ge.value=!0;try{const[e,r]=await Promise.all([kt({diagnosis_id:t.id,patient_id:t.patient_id,page_no:1,page_size:20}),ja({patient_id:t.patient_id||t.id}).catch(()=>null)]);j.value=(e==null?void 0:e.lists)||[],we.value=(e==null?void 0:e.count)||0,L.value=r}catch(e){console.error("加载企业微信记录失败:",e)}finally{Ge.value=!1}},Xn=async()=>{if(S.value){je.value++;try{const t=await kt({diagnosis_id:S.value.id,patient_id:S.value.patient_id,page_no:je.value,page_size:20});j.value.push(...(t==null?void 0:t.lists)||[])}catch(t){console.error("加载更多记录失败:",t)}}},Zn=async()=>{var t;if(!ne.value.trim()){g.msgWarning("请输入内容");return}Ke.value=!0;try{await Ha({diagnosis_id:S.value.id,patient_id:S.value.patient_id,content:ne.value.trim(),msg_type:"note",staff_name:((t=he.userInfo)==null?void 0:t.name)||"",external_name:S.value.patient_name||""}),ne.value="",Jn(S.value)}catch(e){g.msgError((e==null?void 0:e.msg)||"添加失败")}finally{Ke.value=!1}},ea=async t=>{await g.confirm("确定删除该记录吗?");try{await Ga({id:t}),j.value=j.value.filter(e=>e.id!==t),we.value--}catch(e){g.msgError((e==null?void 0:e.msg)||"删除失败")}},ta=ds(),na=rs(),_t=t=>{if(!F(["tcm.diagnosis/readonlyDetail"]))return;const e=Number(t==null?void 0:t.id);!e||e<=0||na.push({path:"/tcm/diagnosis-readonly",query:{id:String(e)}})};return ms(()=>{l.appointment_date=ve.value,Jt(),x(),Gt(),fe=setInterval(jt,Kt);const t=ta.query.id;if(t!=null&&t!==""){const e=Number(t);Number.isNaN(e)||(ye.value=e)}}),ps(()=>{fe!=null&&(clearInterval(fe),fe=null)}),(t,e)=>{var vt;const r=_a,_=ga,v=fa,h=va,D=ha,Q=ya,de=ka,I=Ca,P=xa,gt=Va,J=Ea,aa=Aa,sa=Da,ia=ba,la=Ya,oa=Ra,da=$a,ra=Ia,ft=Sa,Re=La,q=za,Je=Na,ua=Pa,Ie=Wa,ma=Ta,pa=Fa,ca=Ma,T=cs("perms"),Xe=wa;return o(),u("div",_s,[i(de,{class:"filter-card !border-none",shadow:"never"},{default:s(()=>[d("div",gs,[d("div",fs,[(o(!0),u(A,null,$(Ot.value,n=>(o(),u("span",{key:n.value,class:M(["chip",{active:a(l).pending_assign!=="1"&&a(l).pending_booking!=="1"&&a(l).completed_appointment!=="1"&&a(l).appointment_date===n.value}]),onClick:k=>Ut(n.value)},[m(p(n.label)+" ",1),a(Ne)[n.value]!==void 0?(o(),u("em",ys,p(a(Ne)[n.value]),1)):C("",!0)],10,vs))),128)),d("span",{class:M(["chip","chip-pending-booking",{active:a(l).pending_booking==="1"}]),onClick:Qt},[e[28]||(e[28]=m(" 待预约 ",-1)),a(ze)!==void 0?(o(),u("em",hs,p(a(ze)),1)):C("",!0)],2),d("span",{class:M(["chip","chip-completed-visit",{active:a(l).completed_appointment==="1"}]),onClick:qt},[e[29]||(e[29]=m(" 已完成 ",-1)),a(Pe)!==void 0?(o(),u("em",ks,p(a(Pe)),1)):C("",!0)],2),w((o(),u("span",bs,[d("span",{class:M(["chip","chip-pending",{active:a(l).pending_assign==="1"}]),onClick:Bt},[e[30]||(e[30]=m(" 待分配医助 ",-1)),a(Te)!==void 0?(o(),u("em",Cs,p(a(Te)),1)):C("",!0)],2),a(l).pending_assign==="1"?(o(),f(r,{key:0,modelValue:a(l).pending_assign_order_month,"onUpdate:modelValue":e[0]||(e[0]=n=>a(l).pending_assign_order_month=n),type:"month",placeholder:"订单月份","value-format":"YYYY-MM",clearable:"",class:"pending-assign-month",onChange:Ht},null,8,["modelValue"])):C("",!0),a(l).pending_assign==="1"?(o(),f(_,{key:1,modelValue:a(l).pending_assign_keyword,"onUpdate:modelValue":e[1]||(e[1]=n=>a(l).pending_assign_keyword=n),placeholder:"搜身份证/诊单ID/患者号/备注…",clearable:"",class:"pending-assign-search",onKeyup:yt(Z,["enter"]),onClear:Z},null,8,["modelValue"])):C("",!0)])),[[T,["tcm.diagnosis/assign"]]])]),d("div",xs,[i(_,{modelValue:a(l).keyword,"onUpdate:modelValue":e[2]||(e[2]=n=>a(l).keyword=n),placeholder:"患者姓名 / 手机号",clearable:"",class:"search-input",onKeyup:yt(Z,["enter"])},null,8,["modelValue"]),i(v,{type:"primary",onClick:Z},{default:s(()=>[...e[31]||(e[31]=[m("查询",-1)])]),_:1})])]),d("div",Vs,[e[32]||(e[32]=d("span",{class:"chip-label"},"挂号:",-1)),(o(),u(A,null,$(Lt,n=>d("span",{key:n.value,class:M(["chip","chip-sm",{active:a(l).has_appointment===n.value}]),onClick:k=>zt(n.value)},p(n.label),11,Ds)),64)),e[33]||(e[33]=d("span",{class:"chip-divider"},null,-1)),e[34]||(e[34]=d("span",{class:"chip-label"},"确认:",-1)),(o(),u(A,null,$(Nt,n=>d("span",{key:n.value,class:M(["chip","chip-sm",{active:a(l).diagnosis_confirmed===n.value}]),onClick:k=>Pt(n.value)},p(n.label),11,As)),64)),i(v,{link:"",type:"primary",size:"small",class:"more-btn",onClick:e[3]||(e[3]=n=>re.value=!a(re))},{default:s(()=>[m(p(a(re)?"收起":"更多筛选")+" ",1),i(h,{class:M({"rotate-180":a(re)})},{default:s(()=>[i(a(Vt))]),_:1},8,["class"])]),_:1})]),w(d("div",Es,[i(Q,{modelValue:a(l).diagnosis_type,"onUpdate:modelValue":e[4]||(e[4]=n=>a(l).diagnosis_type=n),placeholder:"诊断类型",clearable:"",size:"small",onChange:Z},{default:s(()=>[(o(!0),u(A,null,$(a(st),n=>(o(),f(D,{key:n.value,label:n.name,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),i(Q,{modelValue:a(l).syndrome_type,"onUpdate:modelValue":e[5]||(e[5]=n=>a(l).syndrome_type=n),placeholder:"证型",clearable:"",size:"small",onChange:Z},{default:s(()=>[(o(!0),u(A,null,$(a(it),n=>(o(),f(D,{key:n.value,label:n.name,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),i(Q,{modelValue:a(l).assistant_id,"onUpdate:modelValue":e[6]||(e[6]=n=>a(l).assistant_id=n),placeholder:"医助",clearable:"",filterable:"",size:"small",onChange:Z},{default:s(()=>[(o(!0),u(A,null,$(a(ue),n=>(o(),f(D,{key:n.id,label:n.name,value:Number(n.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),i(v,{size:"small",onClick:en},{default:s(()=>[...e[35]||(e[35]=[m("重置",-1)])]),_:1})],512),[[Oa,a(re)]])]),_:1}),i(de,{class:"!border-none mt-3 list-card",shadow:"never"},{default:s(()=>[d("div",ws,[d("div",Rs,[w((o(),f(v,{type:"primary",onClick:En},{default:s(()=>[...e[36]||(e[36]=[m("新增诊单",-1)])]),_:1})),[[T,["tcm.diagnosis/add"]]]),w((o(),f(v,{type:"success",onClick:xn,disabled:a(R).length===0},{default:s(()=>[...e[37]||(e[37]=[m(" 批量指派医助 ",-1)])]),_:1},8,["disabled"])),[[T,["tcm.diagnosis/assign"]]]),w((o(),f(v,{type:"warning",plain:"",onClick:An,disabled:!bn.value},{default:s(()=>[...e[38]||(e[38]=[m(" 批量取消指派 ",-1)])]),_:1},8,["disabled"])),[[T,["tcm.diagnosis/assign"]]])]),a(R).length>0?(o(),u("div",Is,"已选 "+p(a(R).length)+" 条",1)):C("",!0)]),d("div",$s,[w((o(),f(ia,{data:a(V).lists,"row-key":"id",size:"default",onSelectionChange:kn,onRowDblclick:_t,"row-class-name":nn,class:"diagnosis-table",stripe:""},{default:s(()=>[i(I,{type:"selection",width:"48",align:"center"}),i(I,{label:"ID","min-width":"70"},{default:s(({row:n})=>[d("div",Ss,[d("div",Ls,[d("div",Ns,[m(p(n.id)+" ",1),n.assign_read_at===null&&n.assistant_id>0?(o(),f(P,{key:0,type:"danger",size:"small",effect:"dark",class:"ml-1"},{default:s(()=>[...e[39]||(e[39]=[m("NEW",-1)])]),_:1})):C("",!0)])])])]),_:1}),i(I,{label:"患者","min-width":"60"},{default:s(({row:n})=>[d("div",zs,[d("div",Ps,[d("div",Ts,p(n.patient_name),1)])])]),_:1}),i(I,{label:" 性别 / 年龄",width:"100",align:"left"},{default:s(({row:n})=>[d("div",null,p(n.gender_desc||"-")+" · "+p(n.age??"-")+"岁",1)]),_:1}),i(I,{label:"挂号","min-width":"175"},{default:s(({row:n})=>[d("div",{class:M(["appointment-cell",Tn(n)])},[n.has_appointment?(o(),u(A,{key:0},[Ve(n).length?(o(!0),u(A,{key:0},$(Ve(n),k=>(o(),u("div",{key:k.id||`${k.doctor_id}-${k.time_text}`,class:M(["apt-item",Pn(k)])},[d("div",Ws,p(zn(k.status)),1),d("div",Fs,p(k.doctor_name||"-"),1),d("div",Ms,p(k.time_text||"-"),1),Be(k)?(o(),u("div",Ys,[w((o(),f(v,{type:"danger",link:"",size:"small",onClick:Ze(b=>Mn(n,k),["stop"])},{default:s(()=>[...e[40]||(e[40]=[m(" 取消挂号 ",-1)])]),_:1},8,["onClick"])),[[T,["tcm.diagnosis/guahao"]]])])):C("",!0)],2))),128)):(o(),u(A,{key:1},[d("div",Os,p(Nn(n)),1),d("div",Us,p(n.appointment_doctor_name||"-"),1),d("div",Qs,p(n.appointment_time_text||"-"),1)],64))],64)):(o(),u("span",qs,"未挂号"))],2)]),_:1}),i(I,{label:"确认",width:"88",align:"center"},{default:s(({row:n})=>[lt(n)?(o(),u("span",Bs,"已确认")):(o(),u("span",Hs,"未确认"))]),_:1}),i(I,{label:"复诊","min-width":"120"},{default:s(({row:n})=>[n.has_prescription?(o(),u("div",Gs,[d("div",Ks,p(n.followup_time_text||"—"),1),d("div",js,p(n.followup_doctor_name||"—"),1),n.followup_rx_voided?(o(),f(P,{key:0,type:"info",size:"small",effect:"plain",class:"followup-void-tag"},{default:s(()=>[...e[41]||(e[41]=[m(" 处方已作废 ",-1)])]),_:1})):C("",!0)])):(o(),u("span",Js,"无"))]),_:1}),i(I,{label:"助理",width:"100","show-overflow-tooltip":""},{default:s(({row:n})=>[d("span",Xs,p(Xt(n.assistant_id||n.assistant)),1)]),_:1}),i(I,{label:"开方",width:"72",align:"center"},{default:s(({row:n})=>[n.has_prescription?(o(),u("span",Zs,"已开方")):(o(),u("span",ei,"未开方"))]),_:1}),i(I,{label:"未服务天数",width:"110",align:"center"},{default:s(({row:n})=>[n.last_blood_record_at?(o(),f(gt,{key:0,content:`最近一次血糖打卡:${n.last_blood_record_at}`,placement:"top"},{default:s(()=>[d("span",{class:M(["unserved-days",tn(n.unserved_days)])},p(n.unserved_days??"—"),3)]),_:2},1032,["content"])):(o(),u("span",ti,"—"))]),_:1}),i(I,{label:"视频旁观",width:"120",fixed:"right",align:"center"},{default:s(({row:n})=>[d("div",ni,[on(n)?(o(),u(A,{key:0},[rn(n)?(o(),f(gt,{key:0,content:un(n),placement:"top"},{default:s(()=>[d("span",ai,[i(v,{type:"primary",link:"",size:"small",onClick:k=>mn(n)},{default:s(()=>[...e[42]||(e[42]=[m(" 进入旁观 ",-1)])]),_:1},8,["onClick"])])]),_:2},1032,["content"])):(o(),u("span",si,p(pn(n)),1))],64)):(o(),u("span",ii,p(cn(n)),1))])]),_:1}),i(I,{label:"操作",width:"340",fixed:"right",align:"left"},{default:s(({row:n})=>[d("div",{class:"action-cell",onClick:e[7]||(e[7]=Ze(()=>{},["stop"])),onDblclick:e[8]||(e[8]=Ze(()=>{},["stop"]))},[w((o(),f(v,{type:"primary",link:"",size:"small",onClick:k=>_t(n)},{default:s(()=>[...e[43]||(e[43]=[m(" 查看 ",-1)])]),_:1},8,["onClick"])),[[T,["tcm.diagnosis/readonlyDetail"]]]),w((o(),f(v,{type:"primary",link:"",size:"small",onClick:k=>wn(n.id)},{default:s(()=>[...e[44]||(e[44]=[m("诊单",-1)])]),_:1},8,["onClick"])),[[T,["tcm.diagnosis/edit"]]]),w((o(),f(v,{type:"primary",link:"",size:"small",onClick:k=>In(n)},{default:s(()=>[m(p(Rn(n)),1)]),_:2},1032,["onClick"])),[[T,["tcm.diagnosis/kaifang"]]]),w((o(),f(v,{type:"success",link:"",size:"small",onClick:k=>qn(n)},{default:s(()=>[...e[45]||(e[45]=[m("预约",-1)])]),_:1},8,["onClick"])),[[T,["tcm.diagnosis/guahao"]]]),w((o(),f(v,{type:"warning",link:"",size:"small",onClick:k=>Hn(n)},{default:s(()=>[...e[46]||(e[46]=[m("补全身份证",-1)])]),_:1},8,["onClick"])),[[T,["tcm.diagnosis/edit"]]]),i(sa,{trigger:"click",onCommand:k=>Ln(k,n),placement:"bottom-end"},{dropdown:s(()=>[i(aa,null,{default:s(()=>[a(F)(["tcm.diagnosis/assign"])?(o(),f(J,{key:0,command:"assign"},{default:s(()=>[i(h,null,{default:s(()=>[i(a(ts))]),_:1}),e[48]||(e[48]=m("指派",-1))]),_:1})):C("",!0),a(F)(["tcm.diagnosis/assign"])&&xe(n)?(o(),f(J,{key:1,command:"cancelAssign"},{default:s(()=>[i(h,null,{default:s(()=>[i(a(ns))]),_:1}),e[49]||(e[49]=m("取消指派 ",-1))]),_:1})):C("",!0),ce(n)&&a(F)(["tcm.diagnosis/videoQr"])?(o(),f(J,{key:2,command:"videoQr"},{default:s(()=>[i(h,null,{default:s(()=>[i(a(Dt))]),_:1}),e[50]||(e[50]=m("视频二维码",-1))]),_:1})):C("",!0),a(F)(["tcm.diagnosis/guahao"])&&ce(n)?(o(),f(J,{key:3,command:"confirmQr"},{default:s(()=>[i(h,null,{default:s(()=>[i(a(Dt))]),_:1}),e[51]||(e[51]=m("二维码",-1))]),_:1})):C("",!0),Wn(n)&&a(F)(["tcm.diagnosis/guahao"])?(o(),f(J,{key:4,command:"cancelApt"},{default:s(()=>[i(h,null,{default:s(()=>[i(a(as))]),_:1}),e[52]||(e[52]=m("取消挂号 ",-1))]),_:1})):C("",!0),a(F)(["tcm.diagnosis/guahaoLogList"])?(o(),f(J,{key:5,command:"guahaoLogs"},{default:s(()=>[i(h,null,{default:s(()=>[i(a(ss))]),_:1}),e[53]||(e[53]=m("挂号日志",-1))]),_:1})):C("",!0),a(F)(["tcm.diagnosis/order"])?(o(),f(J,{key:6,command:"order"},{default:s(()=>[i(h,null,{default:s(()=>[i(a(is))]),_:1}),e[54]||(e[54]=m("创建订单",-1))]),_:1})):C("",!0),a(F)(["tcm.diagnosis/delete"])?(o(),f(J,{key:7,command:"delete",divided:""},{default:s(()=>[i(h,null,{default:s(()=>[i(a(ls))]),_:1}),e[55]||(e[55]=d("span",{class:"text-danger"},"删除",-1))]),_:1})):C("",!0)]),_:2},1024)]),default:s(()=>[i(v,{type:"info",link:"",size:"small"},{default:s(()=>[e[47]||(e[47]=m("更多",-1)),i(h,{class:"el-icon--right"},{default:s(()=>[i(a(Vt))]),_:1})]),_:1})]),_:2},1032,["onCommand"])],32)]),_:1})]),_:1},8,["data"])),[[Xe,a(V).loading]]),d("div",li,[i(la,{modelValue:a(V),"onUpdate:modelValue":e[9]||(e[9]=n=>B(V)?V.value=n:null),onChange:a(x)},null,8,["modelValue","onChange"])])])]),_:1}),i(a(Et),{ref_key:"editRef",ref:ae,onSuccess:Zt},null,512),i(a(wt),{ref_key:"detailRef",ref:an},null,512),i(a(Rt),{ref_key:"prescriptionRef",ref:ot,onSuccess:$n},null,512),i(a(It),{ref_key:"appointmentRef",ref:dt,onSuccess:Qn},null,512),i(a($t),{modelValue:a(ke),"onUpdate:modelValue":e[10]||(e[10]=n=>B(ke)?ke.value=n:null),"diagnosis-id":a(rt),onClosed:a(x)},null,8,["modelValue","diagnosis-id","onClosed"]),i(ft,{modelValue:a(te),"onUpdate:modelValue":e[11]||(e[11]=n=>B(te)?te.value=n:null),title:"挂号操作日志",size:"460px","destroy-on-close":"",onClosed:Yn},{default:s(()=>[w((o(),u("div",oi,[a(U)?(o(),u("div",di,[d("span",ri,p(a(U).patient_name),1),e[56]||(e[56]=d("span",{class:"mx-2 text-gray-300"},"|",-1)),d("span",null,"诊单 #"+p(a(U).id),1)])):C("",!0),!a(De)&&a(le).length===0?(o(),f(oa,{key:1,description:"暂无挂号/取消挂号操作记录"})):a(le).length>0?(o(),f(ra,{key:2},{default:s(()=>[(o(!0),u(A,null,$(a(le),(n,k)=>(o(),f(da,{key:n.id??k,timestamp:n.create_time_text||"—",placement:"top"},{default:s(()=>[d("div",ui,[i(P,{size:"small",type:"info"},{default:s(()=>[m(p(n.action_desc),1)]),_:2},1024),d("span",mi,p(On(n)),1)]),d("div",pi,p(n.summary),1)]),_:2},1032,["timestamp"]))),128))]),_:1})):C("",!0)])),[[Xe,a(De)]])]),_:1},8,["modelValue"]),i(Re,{modelValue:a(Y),"onUpdate:modelValue":e[13]||(e[13]=n=>B(Y)?Y.value=n:null),title:a(Ue),width:"400px","close-on-click-modal":!1},{footer:s(()=>[i(v,{onClick:e[12]||(e[12]=n=>Y.value=!1)},{default:s(()=>[...e[59]||(e[59]=[m("关闭",-1)])]),_:1}),a(H)?C("",!0):(o(),f(v,{key:0,type:"primary",onClick:Kn},{default:s(()=>[...e[60]||(e[60]=[m(" 重新生成 ",-1)])]),_:1}))]),default:s(()=>{var n;return[d("div",ci,[a(H)?(o(),u("div",_i,[i(h,{class:"is-loading",size:40},{default:s(()=>[i(a(os))]),_:1}),e[57]||(e[57]=d("div",{class:"mt-4 text-gray-500"},"生成中...",-1))])):a(G)?(o(),u("div",gi,[d("img",{src:a(G),alt:"小程序二维码",class:"w-64 h-64 border border-gray-200 rounded"},null,8,fi),d("div",vi,[d("div",null,"患者:"+p((n=a(K))==null?void 0:n.patient_name),1),d("div",yi,"挂号时间:"+p(yn.value),1),e[58]||(e[58]=d("div",{class:"mt-2"},"请使用企业微信扫描二维码,然后转发给患者",-1))])])):(o(),u("div",hi," 生成失败,请重试 "))])]}),_:1},8,["modelValue","title"]),i(Re,{modelValue:a(ee),"onUpdate:modelValue":e[16]||(e[16]=n=>B(ee)?ee.value=n:null),title:a(me)==="batch"?"批量指派医助":"指派医助",width:"500px",onClosed:hn},{footer:s(()=>[i(v,{onClick:e[15]||(e[15]=n=>ee.value=!1)},{default:s(()=>[...e[61]||(e[61]=[m("取消",-1)])]),_:1}),i(v,{type:"primary",onClick:Vn,loading:a(qe)},{default:s(()=>[...e[62]||(e[62]=[m(" 确定指派 ",-1)])]),_:1},8,["loading"])]),default:s(()=>[i(Je,{model:a(O),"label-width":"100px"},{default:s(()=>[i(q,{label:"选择医助",required:""},{default:s(()=>[i(Q,{modelValue:a(O).assistant_id,"onUpdate:modelValue":e[14]||(e[14]=n=>a(O).assistant_id=n),placeholder:"请选择医助",class:"w-full",filterable:"",clearable:""},{default:s(()=>[(o(!0),u(A,null,$(a(ue),n=>(o(),f(D,{key:n.id,label:n.name,value:Number(n.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(me)==="batch"?(o(),f(q,{key:0,label:"已选择"},{default:s(()=>[d("div",ki,p(a(ie).length)+" 条诊单记录",1)]),_:1})):(o(),f(q,{key:1,label:"诊单信息"},{default:s(()=>{var n,k;return[d("div",bi,[d("div",null,"患者:"+p((n=a(pe))==null?void 0:n.patient_name),1),d("div",null,"诊断日期:"+p((k=a(pe))==null?void 0:k.diagnosis_date_text),1)])]}),_:1}))]),_:1},8,["model"])]),_:1},8,["modelValue","title"]),i(Re,{modelValue:a(se),"onUpdate:modelValue":e[21]||(e[21]=n=>B(se)?se.value=n:null),title:"创建订单",width:"600px",onClose:fn},{footer:s(()=>[i(v,{onClick:e[20]||(e[20]=n=>se.value=!1)},{default:s(()=>[...e[63]||(e[63]=[m("取消",-1)])]),_:1}),i(v,{type:"primary",onClick:vn,loading:a(Oe)},{default:s(()=>[...e[64]||(e[64]=[m("创建订单",-1)])]),_:1},8,["loading"])]),default:s(()=>[i(Je,{ref_key:"orderFormRef",ref:Ce,model:a(y),rules:_n,"label-width":"100px"},{default:s(()=>[i(q,{label:"患者"},{default:s(()=>[d("span",Ci,p(a(y).patient_name)+" ("+p(tt(a(y).phone))+")",1)]),_:1}),i(q,{label:"订单类型",prop:"order_type"},{default:s(()=>[i(Q,{modelValue:a(y).order_type,"onUpdate:modelValue":e[17]||(e[17]=n=>a(y).order_type=n),placeholder:"请选择",class:"w-full"},{default:s(()=>[i(D,{label:"挂号费",value:1}),i(D,{label:"问诊费",value:2}),i(D,{label:"药品费用",value:3}),i(D,{label:"首付费用",value:4}),i(D,{label:"尾款费用",value:5}),i(D,{label:"其他费用",value:6}),i(D,{label:"全部费用",value:7}),i(D,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1}),i(q,{label:"订单金额",prop:"amount"},{default:s(()=>[i(ua,{modelValue:a(y).amount,"onUpdate:modelValue":e[18]||(e[18]=n=>a(y).amount=n),min:0,step:.01,precision:2,placeholder:"请输入金额",class:"w-full"},null,8,["modelValue"])]),_:1}),i(q,{label:"备注",prop:"remark"},{default:s(()=>[i(_,{modelValue:a(y).remark,"onUpdate:modelValue":e[19]||(e[19]=n=>a(y).remark=n),type:"textarea",rows:3,placeholder:"请输入备注(可选)"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),i(Re,{modelValue:a(oe),"onUpdate:modelValue":e[24]||(e[24]=n=>B(oe)?oe.value=n:null),title:"补全身份证号",width:"400px","close-on-click-modal":!1,onClose:e[25]||(e[25]=n=>a(z).id_card="")},{footer:s(()=>[i(v,{onClick:e[23]||(e[23]=n=>oe.value=!1)},{default:s(()=>[...e[65]||(e[65]=[m("取消",-1)])]),_:1}),i(v,{type:"primary",onClick:Gn,loading:a(He)},{default:s(()=>[...e[66]||(e[66]=[m("提交(自动更新年龄)",-1)])]),_:1},8,["loading"])]),default:s(()=>[i(Je,{ref_key:"fillIdCardFormRef",ref:mt,model:a(z),rules:Bn,"label-width":"80px"},{default:s(()=>[i(q,{label:"患者"},{default:s(()=>[d("span",xi,p(a(z).patient_name),1)]),_:1}),i(q,{label:"身份证号",prop:"id_card"},{default:s(()=>[i(_,{modelValue:a(z).id_card,"onUpdate:modelValue":e[22]||(e[22]=n=>a(z).id_card=n),placeholder:"请输入15或18位身份证号",maxlength:"18","show-word-limit":"",clearable:""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),i(ft,{modelValue:a(Ee),"onUpdate:modelValue":e[27]||(e[27]=n=>B(Ee)?Ee.value=n:null),title:`企业微信记录 - ${((vt=a(S))==null?void 0:vt.patient_name)||""}`,size:"600px","destroy-on-close":!0},{default:s(()=>{var n,k;return[a(L)?(o(),u("div",Vi,[i(ma,{column:2,border:"",size:"small"},{default:s(()=>[i(Ie,{label:"患者姓名"},{default:s(()=>{var b;return[m(p((b=a(S))==null?void 0:b.patient_name),1)]}),_:1}),i(Ie,{label:"手机号"},{default:s(()=>[m(p(tt(a(L).phone)||"-"),1)]),_:1}),i(Ie,{label:"企微联系人ID"},{default:s(()=>[a(L).external_userid?(o(),u("span",Di,p(a(L).external_userid),1)):(o(),f(P,{key:1,type:"info",size:"small"},{default:s(()=>[...e[67]||(e[67]=[m("未关联",-1)])]),_:1}))]),_:1}),i(Ie,{label:"会话存档"},{default:s(()=>[a(L).msgaudit_enabled?(o(),f(P,{key:0,type:"success",size:"small"},{default:s(()=>[...e[68]||(e[68]=[m("已开通",-1)])]),_:1})):(o(),f(P,{key:1,type:"info",size:"small"},{default:s(()=>[...e[69]||(e[69]=[m("未配置",-1)])]),_:1}))]),_:1})]),_:1}),(n=a(L).permit_users)!=null&&n.length?(o(),u("div",Ai,[e[70]||(e[70]=d("span",{class:"text-sm text-gray-500 mr-2"},"存档成员:",-1)),(o(!0),u(A,null,$(a(L).permit_users,b=>(o(),f(P,{key:b,size:"small",class:"mr-1"},{default:s(()=>[m(p(b),1)]),_:2},1024))),128))])):C("",!0),(k=a(L).msgaudit_agree)!=null&&k.length?(o(),u("div",Ei,[e[71]||(e[71]=d("span",{class:"text-sm text-gray-500 mr-2"},"存档同意:",-1)),(o(!0),u(A,null,$(a(L).msgaudit_agree,(b,$e)=>(o(),f(P,{key:$e,type:b.agree_status==="Agree"?"success":"warning",size:"small",class:"mr-1"},{default:s(()=>[m(p(b.userid)+": "+p(b.agree_status==="Agree"?"已同意":b.agree_status),1)]),_:2},1032,["type"]))),128))])):C("",!0)])):C("",!0),i(pa),d("div",wi,[d("div",Ri,[i(_,{modelValue:a(ne),"onUpdate:modelValue":e[26]||(e[26]=b=>B(ne)?ne.value=b:null),type:"textarea",rows:2,placeholder:"添加沟通记录...",class:"flex-1"},null,8,["modelValue"]),i(v,{type:"primary",onClick:Zn,loading:a(Ke),class:"self-end"},{default:s(()=>[...e[72]||(e[72]=[m(" 添加 ",-1)])]),_:1},8,["loading"])])]),w((o(),u("div",null,[a(j).length===0?(o(),u("div",Ii," 暂无聊天记录 ")):(o(),u("div",$i,[(o(!0),u(A,null,$(a(j),b=>{var $e;return o(),u("div",{key:b.id,class:"record-item"},[d("div",Si,[d("div",Li,[i(P,{type:b.direction===0?"primary":"success",size:"small"},{default:s(()=>[m(p(b.direction===0?"员工":"客户"),1)]),_:2},1032,["type"]),d("span",Ni,p(b.direction===0?b.staff_name:b.external_name||(($e=a(S))==null?void 0:$e.patient_name)),1),b.msg_type==="note"?(o(),f(P,{key:0,type:"warning",size:"small"},{default:s(()=>[...e[73]||(e[73]=[m("备注",-1)])]),_:1})):C("",!0)]),d("div",zi,[d("span",Pi,p(jn(b.chat_time)),1),i(v,{type:"danger",link:"",size:"small",onClick:Qi=>ea(b.id)},{default:s(()=>[...e[74]||(e[74]=[m(" 删除 ",-1)])]),_:1},8,["onClick"])])]),d("div",Ti,p(b.content),1),b.media_url?(o(),u("div",Wi,[i(ca,{src:b.media_url,style:{"max-width":"200px"},fit:"contain","preview-src-list":[b.media_url]},null,8,["src","preview-src-list"])])):C("",!0)])}),128))])),a(we)>a(j).length?(o(),u("div",Fi,[i(v,{link:"",type:"primary",onClick:Xn},{default:s(()=>[...e[75]||(e[75]=[m("加载更多",-1)])]),_:1})])):C("",!0)])),[[Xe,a(Ge)]])]}),_:1},8,["modelValue","title"])])}}}),zl=es(Yi,[["__scopeId","data-v-15bd0fb6"]]);export{zl as default}; diff --git a/server/public/admin/assets/index-BA_0yQtx.js b/server/public/admin/assets/index-B4rNqPUW.js similarity index 87% rename from server/public/admin/assets/index-BA_0yQtx.js rename to server/public/admin/assets/index-B4rNqPUW.js index 9cbd9e22..17048193 100644 --- a/server/public/admin/assets/index-BA_0yQtx.js +++ b/server/public/admin/assets/index-B4rNqPUW.js @@ -1 +1 @@ -import{L as C,M as h,N as E,T as x,i as L,J as T}from"./element-plus-0wC3naml.js";import{d as B}from"./message-CSrefGEU.js";import{_ as N}from"./edit.vue_vue_type_script_setup_true_lang-CAjYh8N9.js";import{f as u,as as R,ak as i,I as D,aP as c,G as a,aN as o,a as r,O as l}from"./@vue/runtime-core-C6bnekPw.js";import{y as f,q as S,r as V}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-E47--KT7.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-nymJKQXP.js";const $=u({name:"shortLetter"}),ht=u({...$,setup(q){const p=S(),e=V({loading:!1,lists:[]}),d=async()=>{try{e.loading=!0,e.lists=await B(),e.loading=!1}catch{e.loading=!1}},g=s=>{var t;(t=p.value)==null||t.open(s)};return d(),(s,t)=>{const m=E,_=x,v=L,k=h,y=T,b=R("perms"),w=C;return i(),D("div",null,[c((i(),a(y,{class:"!border-none",shadow:"never"},{default:o(()=>[r(k,{size:"large",data:f(e).lists},{default:o(()=>[r(m,{label:"短信渠道",prop:"name","min-width":"120"}),r(m,{label:"状态","min-width":"120"},{default:o(({row:n})=>[n.status==1?(i(),a(_,{key:0},{default:o(()=>[...t[0]||(t[0]=[l("开启",-1)])]),_:1})):(i(),a(_,{key:1,type:"danger"},{default:o(()=>[...t[1]||(t[1]=[l("关闭",-1)])]),_:1}))]),_:1}),r(m,{label:"操作","min-width":"120",fixed:"right"},{default:o(({row:n})=>[c((i(),a(v,{type:"primary",link:"",onClick:z=>g(n.type)},{default:o(()=>[...t[2]||(t[2]=[l(" 设置 ",-1)])]),_:1},8,["onClick"])),[[b,["notice.sms_config/setConfig"]]])]),_:1})]),_:1},8,["data"])]),_:1})),[[w,f(e).loading]]),r(N,{ref_key:"editRef",ref:p,onSuccess:d},null,512)])}}});export{ht as default}; +import{L as C,M as h,N as E,T as x,i as L,J as T}from"./element-plus-DFTWCWyi.js";import{d as B}from"./message-Dx96dhoI.js";import{_ as N}from"./edit.vue_vue_type_script_setup_true_lang-CwKzaRbZ.js";import{f as u,as as R,ak as i,I as D,aP as c,G as a,aN as o,a as r,O as l}from"./@vue/runtime-core-C6bnekPw.js";import{y as f,q as S,r as V}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-DBREMm_z.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-BwF7vczx.js";const $=u({name:"shortLetter"}),ht=u({...$,setup(q){const p=S(),e=V({loading:!1,lists:[]}),d=async()=>{try{e.loading=!0,e.lists=await B(),e.loading=!1}catch{e.loading=!1}},g=s=>{var t;(t=p.value)==null||t.open(s)};return d(),(s,t)=>{const m=E,_=x,v=L,k=h,y=T,b=R("perms"),w=C;return i(),D("div",null,[c((i(),a(y,{class:"!border-none",shadow:"never"},{default:o(()=>[r(k,{size:"large",data:f(e).lists},{default:o(()=>[r(m,{label:"短信渠道",prop:"name","min-width":"120"}),r(m,{label:"状态","min-width":"120"},{default:o(({row:n})=>[n.status==1?(i(),a(_,{key:0},{default:o(()=>[...t[0]||(t[0]=[l("开启",-1)])]),_:1})):(i(),a(_,{key:1,type:"danger"},{default:o(()=>[...t[1]||(t[1]=[l("关闭",-1)])]),_:1}))]),_:1}),r(m,{label:"操作","min-width":"120",fixed:"right"},{default:o(({row:n})=>[c((i(),a(v,{type:"primary",link:"",onClick:z=>g(n.type)},{default:o(()=>[...t[2]||(t[2]=[l(" 设置 ",-1)])]),_:1},8,["onClick"])),[[b,["notice.sms_config/setConfig"]]])]),_:1})]),_:1},8,["data"])]),_:1})),[[w,f(e).loading]]),r(N,{ref_key:"editRef",ref:p,onSuccess:d},null,512)])}}});export{ht as default}; diff --git a/server/public/admin/assets/index-kYFkWYEt.js b/server/public/admin/assets/index-B91OSiYQ.js similarity index 90% rename from server/public/admin/assets/index-kYFkWYEt.js rename to server/public/admin/assets/index-B91OSiYQ.js index eda88444..a1f16202 100644 --- a/server/public/admin/assets/index-kYFkWYEt.js +++ b/server/public/admin/assets/index-B91OSiYQ.js @@ -1,6 +1,6 @@ -import{e as Wt,i as Ht,D as Mt,a3 as jt,a4 as Bt,B as Ft,C as Gt,h as qt,P as Jt,Q as Kt,G as Xt,I as Qt,g as Yt,T as Zt,d as es,r as ts,V as ss,L as os,N as as,M as ls,X as ns}from"./element-plus-0wC3naml.js";import{s as X,w as is}from"./@vue/runtime-dom-DDAG46FW.js";import{M as rs}from"./index-wwnvQhjf.js";import{u as ds,e as us,i as V,m as S,_ as cs}from"./index-E47--KT7.js";import{f as ps}from"./diabetes-discovery-display-B_wmGXQJ.js";import{V as _s,a as ne,W as Ze,e as ms,f as gs,ae as fs}from"./tcm-SLIwsL8z.js";import{m as vs}from"./medicine-D-OyzCbR.js";import et from"./html2canvas-QH1iLAAe.js";import{E as bs}from"./jspdf-BsthCvR5.js";import{aa as ys,a2 as ws,U as hs,M as Vs,G as ks,N as Ss}from"./@element-plus/icons-vue-HOEUG8sr.js";import{f as xs,w as tt,ak as b,I as k,F as Q,a as l,M as Cs,aN as d,J as a,O as u,ap as we,H as x,G as P,aP as Ps,A as ie}from"./@vue/runtime-core-C6bnekPw.js";import{y as s,a as I,n as f,r as st}from"./@vue/reactivity-DiY1c2vO.js";import{Q as c,o as Us}from"./@vue/shared-mAAVTE9n.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";const Ds={key:0,class:"prescription-edit"},Ns={class:"info-section"},Rs={class:"info-section"},$s={class:"info-section info-section--rp"},Es={class:"rp-toolbar",role:"region","aria-label":"中药处方"},Is={class:"rp-toolbar__lead"},Os={class:"rp-toolbar__text"},Ts={class:"rp-toolbar__meta"},Ls={class:"rp-toolbar__actions",role:"toolbar","aria-label":"处方药材快捷操作"},zs={class:"mb-3"},As={class:"herbs-editor-grid"},Ws={class:"herb-editor-card__title"},Hs={key:0,class:"herb-editor-card__dup-hint text-amber-600 text-xs mb-1"},Ms={class:"herb-editor-card__row"},js={class:"info-section"},Bs={key:3,class:"ml-2"},Fs={class:"signature-pad-wrap"},Gs={class:"signature-actions"},qs={key:1,class:"prescription-preview"},Js={class:"prescription-preview-content"},Ks={class:"prescription-header"},Xs={class:"prescription-title"},Qs={class:"prescription-type"},Ys={key:0,class:"prescription-void-info"},Zs={class:"prescription-info"},eo={class:"info-row"},to={class:"info-item"},so={class:"info-item"},oo={class:"info-item"},ao={class:"info-row"},lo={class:"info-item"},no={class:"info-item"},io={class:"info-item"},ro={class:"info-row"},uo={key:0,class:"info-item"},co={key:1,class:"info-item"},po={class:"info-row info-row-full"},_o={class:"info-item"},mo={class:"prescription-rp"},go={class:"herbs-grid"},fo={key:1,class:"prescription-disclaimer"},vo={class:"prescription-footer"},bo={class:"footer-left"},yo={class:"footer-dosage"},wo={class:"footer-dosage"},ho={key:0,class:"footer-dietary"},Vo={key:1,class:"footer-notes"},ko={class:"footer-right footer-sign"},So={class:"signature-cell"},xo=["src"],Co={key:1},Po={class:"case-record-a3-inner"},Uo={class:"case-record-a3-title"},Do={class:"case-record-a3-body"},No={class:"cr-section"},Ro={class:"cr-grid"},$o={class:"cr-item"},Eo={class:"cr-item"},Io={class:"cr-item"},Oo={class:"cr-item"},To={class:"cr-item"},Lo={class:"cr-item"},zo={class:"cr-item"},Ao={class:"cr-item"},Wo={class:"cr-item"},Ho={class:"cr-item"},Mo={class:"cr-section"},jo={class:"cr-grid"},Bo={class:"cr-item"},Fo={class:"cr-item"},Go={class:"cr-section"},qo={class:"cr-grid"},Jo={class:"cr-item"},Ko={class:"cr-item"},Xo={class:"cr-item"},Qo={class:"cr-item"},Yo={class:"cr-item"},Zo={class:"cr-item cr-full"},ea={class:"cr-item cr-full"},ta={class:"cr-section"},sa={class:"cr-grid"},oa={class:"cr-item cr-full"},aa={class:"cr-item cr-full"},la={class:"cr-item cr-full"},na={class:"cr-item cr-full"},ia={class:"cr-item cr-full"},ra={class:"cr-item cr-full"},da={class:"cr-item cr-full"},ua={class:"cr-item cr-full"},ca={class:"cr-item cr-full"},pa={class:"cr-item cr-full"},_a={class:"cr-item cr-full"},ma={class:"cr-item cr-full"},ga={class:"cr-item cr-full"},fa={class:"cr-item cr-full"},va={class:"cr-item cr-full"},ba={class:"cr-section"},ya={class:"cr-item cr-full"},wa={class:"cr-section"},ha={class:"cr-grid"},Va={class:"cr-item"},ka={class:"cr-item"},Sa={class:"cr-item"},xa={class:"cr-item"},Ca={class:"cr-item"},Pa={class:"cr-section"},Ua={key:0,class:"cr-grid"},Da={class:"cr-item cr-full"},Na={class:"cr-images"},Ra=["src"],$a={class:"cr-grid"},Ea={class:"cr-item cr-full"},Ia={class:"flex justify-end gap-2 mt-4"},Oa={class:"inline-block"},Ta={class:"flex justify-end gap-2"},La={class:"mb-4"},za={key:0},Aa={key:1,class:"text-gray-400"},Wa={class:"flex justify-end mt-4"},Ha={class:"mt-3 flex flex-wrap items-center gap-x-4 gap-y-2"},Y=560,Z=168,Ma=xs({__name:"index",emits:["success"],setup(ja,{expose:ot,emit:at}){const he=at,O=f(!1),lt=f(),re=f(!1),de=f(!1),Ve=f(),ke=f(),T=f(),ee=f(null),n=f(null),te=ie(()=>{const o=n.value;return o?Number(o.audit_status)===1&&Number(o.void_status)!==1:!1}),Se=ie(()=>{const o=n.value;return o?Number(o.has_prescription_order)===1:!1}),nt=ie(()=>te.value?"查看处方":"中医处方单"),xe=ie(()=>{const o=n.value;if(!o||o.dosage_amount==null||o.dosage_amount==="")return"";const e=Number(o.dosage_amount),i=o.dosage_unit||"g";return(o.prescription_type||"浓缩水丸")==="浓缩水丸"?`一次${Number(o.dosage_bag_count)>0?Number(o.dosage_bag_count):1}袋(每袋${e}${i})`:`一次${e}${i}`}),A=f(!1),ue=f(!1),Ce=f([]),F=f(""),W=f(!1),H=f(1),se=f(15),Pe=f(0),M=f(!1),j=f(""),oe=f("replace"),ce=f(!1),it=/^(用法|用量|医嘱|忌口|水煎服|空腹|饭后|温水|内服|外用|备注|顿服|分服|ml|毫升|[×xX]\s*\d)/;function rt(o){let e=o.replace(/\r\n/g,` +import{e as Wt,i as Ht,D as Mt,a4 as jt,a5 as Bt,B as Ft,C as Gt,h as qt,P as Jt,Q as Kt,G as Xt,I as Qt,g as Yt,T as Zt,d as es,r as ts,V as ss,L as os,N as as,M as ls,X as ns}from"./element-plus-DFTWCWyi.js";import{s as X,w as is}from"./@vue/runtime-dom-DDAG46FW.js";import{M as rs}from"./index-DcDP_Tmx.js";import{u as ds,e as us,i as k,m as S,_ as cs}from"./index-DBREMm_z.js";import{f as ps}from"./diabetes-discovery-display-B_wmGXQJ.js";import{W as _s,b as ne,X as Ze,f as ms,h as gs,af as fs}from"./tcm-BcqaE0lo.js";import{m as vs}from"./medicine-CCdxjQY6.js";import et from"./html2canvas-QH1iLAAe.js";import{E as bs}from"./jspdf-BsthCvR5.js";import{aa as ys,a2 as ws,U as hs,M as ks,G as Vs,N as Ss}from"./@element-plus/icons-vue-HOEUG8sr.js";import{f as xs,w as tt,ak as b,I as V,F as Q,a as l,M as Cs,aN as d,J as a,O as u,ap as we,H as x,G as P,aP as Ps,A as ie}from"./@vue/runtime-core-C6bnekPw.js";import{y as s,a as I,n as f,r as st}from"./@vue/reactivity-DiY1c2vO.js";import{Q as c,o as Us}from"./@vue/shared-mAAVTE9n.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";const Ds={key:0,class:"prescription-edit"},Ns={class:"info-section"},Rs={class:"info-section"},$s={class:"info-section info-section--rp"},Es={class:"rp-toolbar",role:"region","aria-label":"中药处方"},Is={class:"rp-toolbar__lead"},Os={class:"rp-toolbar__text"},Ts={class:"rp-toolbar__meta"},Ls={class:"rp-toolbar__actions",role:"toolbar","aria-label":"处方药材快捷操作"},zs={class:"mb-3"},As={class:"herbs-editor-grid"},Ws={class:"herb-editor-card__title"},Hs={key:0,class:"herb-editor-card__dup-hint text-amber-600 text-xs mb-1"},Ms={class:"herb-editor-card__row"},js={class:"info-section"},Bs={key:3,class:"ml-2"},Fs={class:"signature-pad-wrap"},Gs={class:"signature-actions"},qs={key:1,class:"prescription-preview"},Js={class:"prescription-preview-content"},Ks={class:"prescription-header"},Xs={class:"prescription-title"},Qs={class:"prescription-type"},Ys={key:0,class:"prescription-void-info"},Zs={class:"prescription-info"},eo={class:"info-row"},to={class:"info-item"},so={class:"info-item"},oo={class:"info-item"},ao={class:"info-row"},lo={class:"info-item"},no={class:"info-item"},io={class:"info-item"},ro={class:"info-row"},uo={key:0,class:"info-item"},co={key:1,class:"info-item"},po={class:"info-row info-row-full"},_o={class:"info-item"},mo={class:"prescription-rp"},go={class:"herbs-grid"},fo={key:1,class:"prescription-disclaimer"},vo={class:"prescription-footer"},bo={class:"footer-left"},yo={class:"footer-dosage"},wo={class:"footer-dosage"},ho={key:0,class:"footer-dietary"},ko={key:1,class:"footer-notes"},Vo={class:"footer-right footer-sign"},So={class:"signature-cell"},xo=["src"],Co={key:1},Po={class:"case-record-a3-inner"},Uo={class:"case-record-a3-title"},Do={class:"case-record-a3-body"},No={class:"cr-section"},Ro={class:"cr-grid"},$o={class:"cr-item"},Eo={class:"cr-item"},Io={class:"cr-item"},Oo={class:"cr-item"},To={class:"cr-item"},Lo={class:"cr-item"},zo={class:"cr-item"},Ao={class:"cr-item"},Wo={class:"cr-item"},Ho={class:"cr-item"},Mo={class:"cr-section"},jo={class:"cr-grid"},Bo={class:"cr-item"},Fo={class:"cr-item"},Go={class:"cr-section"},qo={class:"cr-grid"},Jo={class:"cr-item"},Ko={class:"cr-item"},Xo={class:"cr-item"},Qo={class:"cr-item"},Yo={class:"cr-item"},Zo={class:"cr-item cr-full"},ea={class:"cr-item cr-full"},ta={class:"cr-section"},sa={class:"cr-grid"},oa={class:"cr-item cr-full"},aa={class:"cr-item cr-full"},la={class:"cr-item cr-full"},na={class:"cr-item cr-full"},ia={class:"cr-item cr-full"},ra={class:"cr-item cr-full"},da={class:"cr-item cr-full"},ua={class:"cr-item cr-full"},ca={class:"cr-item cr-full"},pa={class:"cr-item cr-full"},_a={class:"cr-item cr-full"},ma={class:"cr-item cr-full"},ga={class:"cr-item cr-full"},fa={class:"cr-item cr-full"},va={class:"cr-item cr-full"},ba={class:"cr-section"},ya={class:"cr-item cr-full"},wa={class:"cr-section"},ha={class:"cr-grid"},ka={class:"cr-item"},Va={class:"cr-item"},Sa={class:"cr-item"},xa={class:"cr-item"},Ca={class:"cr-item"},Pa={class:"cr-section"},Ua={key:0,class:"cr-grid"},Da={class:"cr-item cr-full"},Na={class:"cr-images"},Ra=["src"],$a={class:"cr-grid"},Ea={class:"cr-item cr-full"},Ia={class:"flex justify-end gap-2 mt-4"},Oa={class:"inline-block"},Ta={class:"flex justify-end gap-2"},La={class:"mb-4"},za={key:0},Aa={key:1,class:"text-gray-400"},Wa={class:"flex justify-end mt-4"},Ha={class:"mt-3 flex flex-wrap items-center gap-x-4 gap-y-2"},Y=560,Z=168,Ma=xs({__name:"index",emits:["success"],setup(ja,{expose:ot,emit:at}){const he=at,O=f(!1),lt=f(),re=f(!1),de=f(!1),ke=f(),Ve=f(),T=f(),ee=f(null),n=f(null),te=ie(()=>{const o=n.value;return o?Number(o.audit_status)===1&&Number(o.void_status)!==1:!1}),Se=ie(()=>{const o=n.value;return o?Number(o.has_prescription_order)===1:!1}),nt=ie(()=>te.value?"查看处方":"中医处方单"),xe=ie(()=>{const o=n.value;if(!o||o.dosage_amount==null||o.dosage_amount==="")return"";const e=Number(o.dosage_amount),i=o.dosage_unit||"g";return(o.prescription_type||"浓缩水丸")==="浓缩水丸"?`一次${Number(o.dosage_bag_count)>0?Number(o.dosage_bag_count):1}袋(每袋${e}${i})`:`一次${e}${i}`}),A=f(!1),ue=f(!1),Ce=f([]),F=f(""),W=f(!1),H=f(1),se=f(15),Pe=f(0),M=f(!1),j=f(""),oe=f("replace"),ce=f(!1),it=/^(用法|用量|医嘱|忌口|水煎服|空腹|饭后|温水|内服|外用|备注|顿服|分服|ml|毫升|[×xX]\s*\d)/;function rt(o){let e=o.replace(/\r\n/g,` `).replace(/\r/g,` -`);return e=e.replace(/[0-9]/g,i=>String.fromCharCode(i.charCodeAt(0)-65296+48)),e.trim()}function dt(o){return o.replace(/^\s*Rp[::**\s]*/i,"").replace(/^\s*处方[::\s]*/,"").replace(/^\s*中药处方[::\s]*/,"").trimStart()}function pe(o){return o.replace(/([^)]*)$/u,"").replace(/\([^)]*\)$/u,"").trim()}function Ue(o){const e=o.trim();if(!e||it.test(e)||/^\d/.test(e)||/^\d+\s*剂$/.test(e))return null;const i=e.match(/^(.+)\s*各\s*(\d+(?:\.\d+)?)\s*(?:克|g|G)?$/i);if(i){const v=parseFloat(i[2]);if(!Number.isFinite(v)||v<=0)return null;const m=i[1].split(/[、,,\s]+/).map(y=>y.trim()).filter(Boolean);return m.length?m.map(y=>({name:pe(y),dosage:v})):null}const r=e.match(/^(.+?)\s*(\d+(?:\.\d+)?)\s*(?:克|g|G|钱)?$/i);if(r){const v=pe(r[1].trim()),m=parseFloat(r[2]);return!v||!Number.isFinite(m)||m<=0?null:[{name:v,dosage:m}]}const _=pe(e);return _.length>=2&&_.length<=16?[{name:_,dosage:6}]:null}function ut(o){const e=dt(rt(o)),i=[];for(const r of e.split(/\n+/)){const _=r.trim();if(_)for(const v of _.split(/[、,,;;]/)){const m=v.trim();if(m)if(/\s/.test(m)&&!Ue(m)){const y=m.split(/\s+(?=[\u4e00-\u9fff]{2,})/);for(const p of y){const h=p.trim();h&&i.push(h)}}else i.push(m)}}return i}function ct(o){const e=[];for(const i of ut(o)){const r=Ue(i);r&&e.push(...r)}return e}async function pt(o){const e=o.trim();if(!e)return null;try{const _=((await vs({name:e,page_no:1,page_size:200,status:1})).lists||[]).find(v=>(v.name??"").trim()===e);return _?_.name.trim():null}catch{return null}}function _t(){M.value=!0}async function mt(){const o=ct(j.value);if(!o.length){V.msgWarning("未能从文本中解析出药材,请检查格式(药名 + 剂量,或用顿号/换行分隔)");return}ce.value=!0;try{const e=[],i=[];for(const m of o){const y=await pt(m.name);if(!y){i.push(m.name.trim());continue}e.push({name:y,dosage:m.dosage})}const r=[...new Set(i.filter(Boolean))];if(e.length===0){V.msgWarning(r.length?`药品库中无以下完全同名药材,未录入:${r.join("、")}`:"未能匹配到药品库中的药材");return}oe.value==="replace"?t.herbs=e:t.herbs.push(...e);const _=be(),v=r.length>0?`;药品库未收录已跳过:${r.join("、")}`:"";_.length?V.msgWarning(`已导入 ${e.length} 味药材${v}。存在重复药名:${_.join("、")},请合并剂量或删除多余行`):r.length?V.msgSuccess(`已导入 ${e.length} 味药材${v},请核对剂量`):V.msgSuccess(`已导入 ${e.length} 味药材,请核对药名与剂量`),M.value=!1,j.value=""}finally{ce.value=!1}}const G=st({stationName:"成都双流甄养堂互联网医院",showDisclaimer:!0,disclaimer:""}),t=st({diagnosis_id:0,appointment_id:0,prescription_name:"",prescription_type:"浓缩水丸",dosage_amount:10,dosage_unit:"g",dosage_bag_count:1,need_decoction:!1,bags_per_dose:1,patient_name:"",gender:0,gender_desc:"女",age:0,phone:"",visit_no:"",prescription_date:"",pulse:"",tongue:"",tongue_image:"",pulse_condition:"",clinical_diagnosis:"",case_record:null,herbs:[],dose_count:1,dose_unit:"剂",usage_days:7,times_per_day:2,usage_instruction:"",usage_time:"饭后",usage_way:"温水送服",dietary_taboo:[],usage_notes:"",amount:0,doctor_name:"",doctor_signature:"",is_shared:0}),De=ds(),gt=us(),ft=o=>{const e=typeof o=="string"?o:(o==null?void 0:o.url)??(o==null?void 0:o.uri)??(o==null?void 0:o.path)??"";return e?String(e).startsWith("http")?e:gt.getImageUrl(e):""},_e=f([]),me=f([]),Ne=f([]),Re=f([]),$e=f([]),Ee=f([]),Ie=f([]),Oe=f([]),Te=f([]),Le=f([]),ze=f([]),Ae=f([]),We=f([]),He=f([]),Me=f([]),je=f([]),Be=f([]),Fe=f([]),$=(o,e)=>{if(!e)return"";const i=o.find(r=>r.value===e);return i?i.name:e},Ge=async()=>{try{const[o,e,i,r,_,v,m,y,p,h,U,L,E,z,D,B,q,J]=await Promise.all([S({type:"diagnosis_type"}),S({type:"syndrome_type"}),S({type:"diabetes_type"}),S({type:"past_history"}),S({type:"appetite"}),S({type:"water_intake"}),S({type:"diet_condition"}),S({type:"weight_change"}),S({type:"body_feeling"}),S({type:"sleep_condition"}),S({type:"eye_condition"}),S({type:"head_feeling"}),S({type:"sweat_condition"}),S({type:"skin_condition"}),S({type:"urine_condition"}),S({type:"stool_condition"}),S({type:"kidney_condition"}),S({type:"fatty_liver_degree"})]);_e.value=(o==null?void 0:o.diagnosis_type)||[],me.value=(e==null?void 0:e.syndrome_type)||[],Ne.value=(i==null?void 0:i.diabetes_type)||[],Re.value=(r==null?void 0:r.past_history)||[],$e.value=(_==null?void 0:_.appetite)||[],Ee.value=(v==null?void 0:v.water_intake)||[],Ie.value=(m==null?void 0:m.diet_condition)||[],Oe.value=(y==null?void 0:y.weight_change)||[],Te.value=(p==null?void 0:p.body_feeling)||[],Le.value=(h==null?void 0:h.sleep_condition)||[],ze.value=(U==null?void 0:U.eye_condition)||[],Ae.value=(L==null?void 0:L.head_feeling)||[],We.value=(E==null?void 0:E.sweat_condition)||[],He.value=(z==null?void 0:z.skin_condition)||[],Me.value=(D==null?void 0:D.urine_condition)||[],je.value=(B==null?void 0:B.stool_condition)||[],Be.value=(q==null?void 0:q.kidney_condition)||[],Fe.value=(J==null?void 0:J.fatty_liver_degree)||[]}catch{}},C=(o,e)=>{if(!e||Array.isArray(e)&&e.length===0)return"—";const r=(Array.isArray(e)?e:typeof e=="string"?e.split(","):[]).map(_=>{const v=o.find(m=>m.value===_);return v?v.name:_}).filter(Boolean);return r.length?r.join("、"):"—"},vt=o=>!o||Array.isArray(o)&&o.length===0?"—":(Array.isArray(o)?o:typeof o=="string"?o.split(","):[]).filter(Boolean).join("、")||"—",bt=o=>{var _;if((_=o==null?void 0:o.symptoms)!=null&&_.trim())return o.symptoms.trim();const e=$(_e.value,o==null?void 0:o.diagnosis_type),i=$(me.value,o==null?void 0:o.syndrome_type),r=[e,i].filter(Boolean);return r.length?r.join(" "):""},yt=async(o,e)=>{var i;if(W.value){console.warn("处方正在打开中,请勿重复点击");return}W.value=!0;try{e!=null&&e.stationName&&(G.stationName=e.stationName);const r=o.diagnosis||o,_=o.diagnosis_id??(r==null?void 0:r.id)??o.id;if(!_){V.msgWarning("缺少诊单信息");return}await Ge();const v=Number(o.id??o.appointment_id??0);if(v)try{const y=await _s({appointment_id:v});if(console.log("-----------",y),y!=null&&y.id){const p=await ne({id:y.id});n.value=p,O.value=!0;return}}catch{}let m=o.case_record&&Object.keys(o.case_record).length>0?o.case_record:null;if(!m&&_)try{const y=await Ze({id:Number(_)});m=y&&typeof y=="object"?y:null}catch(y){console.warn("获取诊单详情失败:",y)}t.diagnosis_id=Number(_),t.appointment_id=v,t.prescription_name="",t.prescription_type="浓缩水丸",t.dosage_unit="g",t.dosage_amount=10,t.dosage_bag_count=1,t.patient_name=o.patient_name||r.patient_name||"",t.gender=o.patient_gender??r.gender??0,t.gender_desc=t.gender===1?"男":"女",t.age=o.patient_age??r.age??0,t.phone=o.patient_phone||r.phone||"",t.visit_no=o.id?`1K${String(o.id).padStart(8,"0")}`:"",t.prescription_date=new Date().toISOString().slice(0,10),t.pulse=r.pulse||"",t.tongue=r.tongue_coating||r.tongue||"",t.tongue_image="",t.pulse_condition="",t.clinical_diagnosis=bt(r),t.case_record=m,t.herbs=[],t.dose_count=1,t.dose_unit="剂",t.usage_days=7,t.usage_instruction="",t.usage_time="饭后",t.usage_way="温水送服",t.dietary_taboo=[],t.usage_notes="",t.amount=0,t.doctor_name=((i=De.userInfo)==null?void 0:i.name)||"",t.doctor_signature="",t.is_shared=0,t.need_decoction=!1,t.bags_per_dose=1,n.value=null,O.value=!0,setTimeout(()=>fe(),100)}finally{setTimeout(()=>{W.value=!1},500)}},wt=async o=>{if(W.value){console.warn("处方正在打开中,请勿重复点击");return}W.value=!0;try{const e=await ne({id:o});n.value=e,e!=null&&e.case_record&&Object.keys(e.case_record).length>0&&await Ge(),O.value=!0}catch{V.msgError("加载处方失败")}finally{setTimeout(()=>{W.value=!1},500)}},ge=()=>{O.value=!1,n.value=null},qe=o=>{const e=T.value;if(!e)return{x:0,y:0};const i=e.getBoundingClientRect();if(i.width<=0||i.height<=0)return{x:0,y:0};const r=(o.clientX-i.left)/i.width*Y,_=(o.clientY-i.top)/i.height*Z;return{x:Math.max(0,Math.min(Y,r)),y:Math.max(0,Math.min(Z,_))}},ht=()=>{const o=T.value;o&&(t.doctor_signature=o.toDataURL("image/png"))},Vt=o=>{if(o.pointerType==="mouse"&&o.button!==0)return;const e=T.value,i=e==null?void 0:e.getContext("2d");if(!e||!i)return;e.setPointerCapture(o.pointerId),ee.value=o.pointerId;const{x:r,y:_}=qe(o);i.beginPath(),i.moveTo(r,_)},kt=o=>{var _;if(ee.value!==o.pointerId)return;const e=(_=T.value)==null?void 0:_.getContext("2d");if(!e)return;const{x:i,y:r}=qe(o);e.lineTo(i,r),e.stroke(),e.beginPath(),e.moveTo(i,r)},Je=o=>{if(ee.value!==o.pointerId)return;ee.value=null;const e=T.value;if(e)try{e.releasePointerCapture(o.pointerId)}catch{}ht()},St=()=>{fe(),t.doctor_signature=""},fe=()=>{const o=T.value;if(!o)return;const e=Math.min(typeof window<"u"&&window.devicePixelRatio||1,2.5);o.style.width=`${Y}px`,o.style.height=`${Z}px`,o.width=Math.round(Y*e),o.height=Math.round(Z*e);const i=o.getContext("2d");i&&(i.setTransform(1,0,0,1,0,0),i.scale(e,e),i.fillStyle="#fff",i.fillRect(0,0,Y,Z),i.strokeStyle="#333",i.lineWidth=2.5,i.lineCap="round",i.lineJoin="round")};function ve(o){return(o??"").trim()}function Ke(o){var _,v;const e=t.herbs,i=ve((_=e[o])==null?void 0:_.name);if(!i)return!1;let r=0;for(let m=0;m1}function be(){const o=new Map;for(const e of t.herbs){const i=ve(e==null?void 0:e.name);i&&o.set(i,(o.get(i)??0)+1)}return[...o.entries()].filter(([,e])=>e>1).map(([e])=>e)}const xt=()=>{t.herbs.push({name:"",dosage:6})},Ct=o=>{t.herbs.splice(o,1)},ae=async()=>{ue.value=!0;try{const o=await ms({page_no:H.value,page_size:se.value,prescription_name:F.value,is_public:""});Ce.value=o.lists||[],Pe.value=o.count||0}catch(o){console.error("加载处方库失败:",o),V.msgError("加载处方库失败")}finally{ue.value=!1}},ye=()=>{H.value=1,ae()},Pt=o=>{Xe(o)},Xe=o=>{if(!o.herbs||o.herbs.length===0){V.msgWarning("该处方没有药材信息");return}const e=JSON.parse(JSON.stringify(o.herbs));t.herbs=e,be().length&&V.msgWarning("导入的处方中存在重复药名,请合并剂量或删除多余行"),V.msgSuccess(`已导入处方「${o.prescription_name}」,共${e.length}味药材`),A.value=!1};tt(A,o=>{o&&(F.value="",H.value=1,ae())}),tt(()=>t.prescription_type,o=>{o==="浓缩水丸"?(t.dosage_unit="g",t.dosage_amount=10,t.dosage_bag_count=1,t.need_decoction=!1,t.bags_per_dose=1):o==="饮片"?(t.dosage_unit="ml",t.dosage_amount=50,t.dosage_bag_count=1,t.bags_per_dose=1):(t.dosage_unit="g",t.dosage_amount=void 0,t.dosage_bag_count=1,t.need_decoction=!1,t.bags_per_dose=1)});const Ut=async()=>{var e,i,r;if(!((e=t.clinical_diagnosis)!=null&&e.trim())){V.msgWarning("请输入临床诊断");return}if(t.herbs.length===0){V.msgWarning("请至少添加一味中药");return}const o=be();if(o.length){V.msgWarning(`存在重复药名:${o.join("、")},请合并剂量或删除多余行后再保存`);return}for(const _ of t.herbs){if(!((i=_.name)!=null&&i.trim())){V.msgWarning("请填写中药名称");return}if(!_.dosage||_.dosage<=0){V.msgWarning(`请填写「${_.name}」的剂量`);return}}if(!((r=t.doctor_signature)!=null&&r.trim())){V.msgWarning("请使用电子签名板手写医师签名");return}re.value=!0;try{const _=await gs({diagnosis_id:t.diagnosis_id,appointment_id:t.appointment_id,prescription_name:t.prescription_name,prescription_type:t.prescription_type,patient_name:t.patient_name,gender:t.gender,age:t.age,phone:t.phone,visit_no:t.visit_no,prescription_date:t.prescription_date,pulse:t.pulse,tongue:t.tongue,tongue_image:t.tongue_image,pulse_condition:t.pulse_condition,clinical_diagnosis:t.clinical_diagnosis,case_record:t.case_record,herbs:t.herbs,dose_count:t.dose_count,dose_unit:t.dose_unit,dosage_amount:t.dosage_amount,dosage_unit:t.dosage_unit,dosage_bag_count:t.dosage_bag_count,need_decoction:t.need_decoction,bags_per_dose:t.bags_per_dose,usage_days:t.usage_days,times_per_day:t.times_per_day,usage_instruction:t.usage_instruction,usage_time:t.usage_time,usage_way:t.usage_way,dietary_taboo:t.dietary_taboo,usage_notes:t.usage_notes,amount:t.amount,doctor_name:t.doctor_name,doctor_signature:t.doctor_signature,is_shared:t.is_shared}),v=_==null?void 0:_.id;if(v){const m=await ne({id:v});n.value=m,he("success")}else V.msgError("保存失败")}catch(_){V.msgError((_==null?void 0:_.msg)||"保存失败")}finally{re.value=!1}},Dt=o=>{if(!o)return"—";const e=new Date(o*1e3);return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")} ${String(e.getHours()).padStart(2,"0")}:${String(e.getMinutes()).padStart(2,"0")}:${String(e.getSeconds()).padStart(2,"0")}`},Nt=async()=>{var e,i;const o=(e=n.value)==null?void 0:e.id;if(o){if(Number((i=n.value)==null?void 0:i.has_prescription_order)===1){V.msgWarning("该处方已存在业务订单,无法作废");return}try{await V.confirm("确定要作废该处方吗?作废后不可恢复。"),de.value=!0,await fs({id:o}),V.msgSuccess("作废成功");const r=await ne({id:o});n.value=r,he("success")}catch(r){r!=="cancel"&&(r==null?void 0:r.message)!=="cancel"&&V.msgError((r==null?void 0:r.msg)||"作废失败")}finally{de.value=!1}}},Rt=async o=>{if(!o)return null;try{const e=await Ze({id:o});return e&&typeof e=="object"?e:null}catch(e){return console.warn("获取诊单详情失败:",e),null}},$t=async()=>{var e;const o=n.value;o&&(t.diagnosis_id=o.diagnosis_id??t.diagnosis_id,t.appointment_id=o.appointment_id??t.appointment_id,t.prescription_name="",t.prescription_type=o.prescription_type||"浓缩水丸",t.prescription_type==="浓缩水丸"?(t.dosage_unit="g",t.dosage_amount=10,t.dosage_bag_count=1):t.prescription_type==="饮片"?(t.dosage_unit="ml",t.dosage_amount=50,t.dosage_bag_count=1):(t.dosage_unit="g",t.dosage_amount=void 0,t.dosage_bag_count=1),t.patient_name=o.patient_name||"",t.gender=o.gender??0,t.gender_desc=o.gender===1?"男":"女",t.age=o.age??0,t.phone=o.phone||"",t.visit_no=o.visit_no||"",t.prescription_date=new Date().toISOString().slice(0,10),t.pulse=o.pulse||"",t.tongue=o.tongue||"",t.tongue_image="",t.pulse_condition="",t.clinical_diagnosis=o.clinical_diagnosis||"",t.dose_count=1,t.dose_unit=o.dose_unit||"剂",t.usage_days=7,t.usage_instruction="",t.usage_time="饭后",t.usage_way="温水送服",t.dietary_taboo=[],t.usage_notes="",t.amount=0,t.doctor_name=((e=De.userInfo)==null?void 0:e.name)||o.doctor_name||"",t.doctor_signature="",t.is_shared=0,t.herbs=[],t.case_record=o.case_record&&Object.keys(o.case_record).length>0?o.case_record:await Rt(Number(t.diagnosis_id)),setTimeout(()=>fe(),100)),n.value=null},Qe=async()=>{const o=Ve.value;if(!o)throw new Error("未找到处方内容");return et(o,{scale:2,useCORS:!0,logging:!1,backgroundColor:"#ffffff"})},Et=async o=>{const e=o.querySelectorAll('img[src^="http"]'),i=Array.from(e).map(async r=>{try{const _=await fetch(r.src,{mode:"cors"});if(!_.ok)return;const v=await _.blob(),m=await new Promise((y,p)=>{const h=new FileReader;h.onload=()=>y(h.result),h.onerror=p,h.readAsDataURL(v)});r.src=m}catch{}});await Promise.allSettled(i)},It=async()=>{const o=ke.value;return o?(o.scrollIntoView({behavior:"instant",block:"nearest"}),await Et(o),await new Promise(e=>setTimeout(e,200)),et(o,{scale:2,useCORS:!0,logging:!1,backgroundColor:"#ffffff"})):null},Ot=async()=>{var o;try{const e=await Qe(),i=document.createElement("a");i.download=`处方_${((o=n.value)==null?void 0:o.patient_name)||"未命名"}_${Date.now()}.png`,i.href=e.toDataURL("image/png"),i.click(),V.msgSuccess("图片已下载")}catch{V.msgError("下载图片失败")}},Tt=async()=>{var o;try{const e=await Qe(),i=e.toDataURL("image/png"),r=new bs({orientation:"portrait",unit:"mm",format:"a5"}),_=r.internal.pageSize.getWidth(),v=r.internal.pageSize.getHeight(),m=Math.min(_/e.width,v/e.height),y=e.width*m,p=e.height*m;r.addImage(i,"PNG",0,0,y,p);const h=await It();if(h){r.addPage("a3","p");const E=Math.min(297/h.width,420/h.height),z=h.width*E,D=h.height*E;r.addImage(h.toDataURL("image/png"),"PNG",0,0,z,D)}r.save(`处方_${((o=n.value)==null?void 0:o.patient_name)||"未命名"}_${Date.now()}.pdf`),V.msgSuccess("PDF已下载")}catch{V.msgError("下载PDF失败")}};return ot({open:yt,openById:wt}),(o,e)=>{const i=Ft,r=Bt,_=Gt,v=jt,m=Ht,y=qt,p=Kt,h=Jt,U=Qt,L=Xt,E=Yt,z=Mt,D=Zt,B=es,q=ts,J=Wt,K=as,Lt=ls,zt=ns,Ye=ss,At=os;return b(),k(Q,null,[l(J,{modelValue:s(O),"onUpdate:modelValue":e[22]||(e[22]=w=>I(O)?O.value=w:null),title:s(nt),size:"1200px","close-on-click-modal":!1,onClose:ge},Cs({default:d(()=>{var w,N;return[s(n)?(b(),k("div",qs,[a("div",Js,[a("div",{ref_key:"prescriptionPrintRef",ref:Ve,class:"prescription-print"},[a("div",Ks,[a("h2",Xs,c(s(G).stationName)+"处方笺",1),a("div",Qs,[s(n).void_status===1?(b(),P(D,{key:0,type:"danger",size:"small"},{default:d(()=>[...e[48]||(e[48]=[u("已作废",-1)])]),_:1})):s(te)?(b(),P(D,{key:1,type:"success",size:"small",class:"mr-1"},{default:d(()=>[...e[49]||(e[49]=[u("已通过",-1)])]),_:1})):Number(s(n).audit_status)===0?(b(),P(D,{key:2,type:"warning",size:"small",class:"mr-1"},{default:d(()=>[...e[50]||(e[50]=[u("待审核",-1)])]),_:1})):x("",!0),s(n).void_status!==1?(b(),k(Q,{key:3},[e[51]||(e[51]=a("div",null,"普通处方",-1)),e[52]||(e[52]=a("div",{class:"text-sm"},"当日有效",-1))],64)):x("",!0)])]),s(n).void_status===1?(b(),k("div",Ys," 作废人:"+c(s(n).void_by_name||"—")+",作废时间:"+c(Dt(s(n).void_time)),1)):x("",!0),a("div",Zs,[a("div",eo,[a("span",to,[e[53]||(e[53]=a("em",null,"日期",-1)),u(c(s(n).prescription_date),1)]),a("span",so,[e[54]||(e[54]=a("em",null,"电话",-1)),u(c(s(n).phone),1)]),a("span",oo,[e[55]||(e[55]=a("em",null,"门诊号",-1)),u(c(s(n).visit_no),1)])]),a("div",ao,[a("span",lo,[e[56]||(e[56]=a("em",null,"姓名",-1)),u(c(s(n).patient_name),1)]),a("span",no,[e[57]||(e[57]=a("em",null,"性别",-1)),u(c(s(n).gender_desc),1)]),a("span",io,[e[58]||(e[58]=a("em",null,"年龄",-1)),u(c(s(n).age!=null?s(n).age+"岁":"—"),1)])]),a("div",ro,[s(n).pulse?(b(),k("span",uo,[e[59]||(e[59]=a("em",null,"面象",-1)),u(c(s(n).pulse||"—"),1)])):x("",!0),s(n).tongue?(b(),k("span",co,[e[60]||(e[60]=a("em",null,"舌象",-1)),u(c(s(n).tongue||"—"),1)])):x("",!0)]),a("div",po,[a("span",_o,[e[61]||(e[61]=a("em",null,"临床诊断",-1)),u(c(s(n).clinical_diagnosis),1)])])]),a("div",mo,[e[62]||(e[62]=a("div",{class:"rp-label"},"RP",-1)),a("div",go,[(b(!0),k(Q,null,we(s(n).herbs,(g,R)=>(b(),k("div",{key:R,class:"herb-cell"},c(g.name)+" "+c(g.dosage)+"克 ",1))),128))])]),s(G).showDisclaimer?(b(),k("div",fo,c(s(G).disclaimer),1)):x("",!0),a("div",vo,[a("div",bo,[a("div",yo," 服用"+c(s(n).usage_days||s(n).dose_count)+"天"+c(s(n).times_per_day?",每天"+s(n).times_per_day+"次":"")+c(s(xe)?","+s(xe):"")+", "+c(s(n).prescription_type)+" "+c(s(n).usage_instruction),1),a("div",wo,[u(" 服用时间: "+c(s(n).usage_time?" "+s(n).usage_time:"")+" ",1),e[63]||(e[63]=a("text",{style:{"margin-left":"20px"}},null,-1)),u("服用方式: "+c(s(n).usage_way?" "+s(n).usage_way:""),1)]),s(n).dietary_taboo&&s(n).dietary_taboo.length?(b(),k("div",ho," 忌口:"+c(Array.isArray(s(n).dietary_taboo)?s(n).dietary_taboo.join("、"):s(n).dietary_taboo),1)):x("",!0),s(n).usage_notes?(b(),k("div",Vo,c(s(n).usage_notes),1)):x("",!0)]),a("div",ko,[a("span",So,[e[64]||(e[64]=u(" 医师 ",-1)),s(n).doctor_signature?(b(),k("img",{key:0,src:s(n).doctor_signature,alt:"医师签名",class:"doctor-signature-img"},null,8,xo)):(b(),k("span",Co,c(s(n).doctor_name||"医师"),1))])])]),e[65]||(e[65]=a("div",{class:"prescription-area"},[a("div",null,"成都双流甄养堂互联网医院有限公司 联系方式:4001667339"),a("div",null,"地址 :四川省成都市双流区黄甲街道黄龙大道二段280号")],-1))],512),s(n).case_record?(b(),k("div",{key:0,ref_key:"caseRecordPrintRef",ref:ke,class:"case-record-a3"},[a("div",Po,[a("h2",Uo,c(s(G).stationName)+" 详细病历",1),a("div",Do,[a("div",No,[e[76]||(e[76]=a("div",{class:"cr-section-title"},"基本信息",-1)),a("div",Ro,[a("div",$o,[e[66]||(e[66]=a("span",{class:"cr-label"},"诊单ID",-1)),u(c(s(n).case_record.patient_id||"—"),1)]),a("div",Eo,[e[67]||(e[67]=a("span",{class:"cr-label"},"姓名",-1)),u(c(s(n).case_record.patient_name||"—"),1)]),a("div",Io,[e[68]||(e[68]=a("span",{class:"cr-label"},"身份证号",-1)),u(c(s(n).case_record.id_card||"—"),1)]),a("div",Oo,[e[69]||(e[69]=a("span",{class:"cr-label"},"手机号",-1)),u(c(s(n).case_record.phone||"—"),1)]),a("div",To,[e[70]||(e[70]=a("span",{class:"cr-label"},"性别",-1)),u(c(s(n).gender_desc),1)]),a("div",Lo,[e[71]||(e[71]=a("span",{class:"cr-label"},"年龄",-1)),u(c(s(n).case_record.age??"—")+"岁",1)]),a("div",zo,[e[72]||(e[72]=a("span",{class:"cr-label"},"婚姻状态",-1)),u(c(["未婚","已婚","离异"][s(n).case_record.marital_status]??"—"),1)]),a("div",Ao,[e[73]||(e[73]=a("span",{class:"cr-label"},"身高",-1)),u(c(s(n).case_record.height??"—")+"cm",1)]),a("div",Wo,[e[74]||(e[74]=a("span",{class:"cr-label"},"体重",-1)),u(c(s(n).case_record.weight??"—")+"kg",1)]),a("div",Ho,[e[75]||(e[75]=a("span",{class:"cr-label"},"地区",-1)),u(c(s(n).case_record.region||"—"),1)])])]),a("div",Mo,[e[79]||(e[79]=a("div",{class:"cr-section-title"},"生命体征",-1)),a("div",jo,[a("div",Bo,[e[77]||(e[77]=a("span",{class:"cr-label"},"血压",-1)),u(c(s(n).case_record.systolic_pressure!=null&&s(n).case_record.diastolic_pressure!=null?s(n).case_record.systolic_pressure+"/"+s(n).case_record.diastolic_pressure+" mmHg":"—"),1)]),a("div",Fo,[e[78]||(e[78]=a("span",{class:"cr-label"},"空腹血糖",-1)),u(c(s(n).case_record.fasting_blood_sugar!=null?s(n).case_record.fasting_blood_sugar+" mmol/L":"—"),1)])])]),a("div",Go,[e[87]||(e[87]=a("div",{class:"cr-section-title"},"主诉",-1)),a("div",qo,[a("div",Jo,[e[80]||(e[80]=a("span",{class:"cr-label"},"诊断日期",-1)),u(c(s(n).case_record.diagnosis_date||"—"),1)]),a("div",Ko,[e[81]||(e[81]=a("span",{class:"cr-label"},"诊断类型",-1)),u(c($(s(_e),s(n).case_record.diagnosis_type)||"—"),1)]),a("div",Xo,[e[82]||(e[82]=a("span",{class:"cr-label"},"证型",-1)),u(c($(s(me),s(n).case_record.syndrome_type)||"—"),1)]),a("div",Qo,[e[83]||(e[83]=a("span",{class:"cr-label"},"糖尿病期数",-1)),u(c($(s(Ne),s(n).case_record.diabetes_type)||"—"),1)]),a("div",Yo,[e[84]||(e[84]=a("span",{class:"cr-label"},"发现糖尿病患病史",-1)),u(c(s(ps)((w=s(n).case_record)==null?void 0:w.diabetes_discovery_year)),1)]),a("div",Zo,[e[85]||(e[85]=a("span",{class:"cr-label"},"当地医院诊断",-1)),u(c(vt(s(n).case_record.local_hospital_diagnosis)),1)]),a("div",ea,[e[86]||(e[86]=a("span",{class:"cr-label"},"当地就诊医院",-1)),u(c(s(n).case_record.local_hospital_name||"—"),1)])])]),a("div",ta,[e[103]||(e[103]=a("div",{class:"cr-section-title"},"现病史",-1)),a("div",sa,[a("div",oa,[e[88]||(e[88]=a("span",{class:"cr-label"},"口腔感觉",-1)),u(c(C(s($e),s(n).case_record.appetite)),1)]),a("div",aa,[e[89]||(e[89]=a("span",{class:"cr-label"},"每日饮水量",-1)),u(c($(s(Ee),s(n).case_record.water_intake)||"—"),1)]),a("div",la,[e[90]||(e[90]=a("span",{class:"cr-label"},"体重变化",-1)),u(c($(s(Oe),s(n).case_record.weight_change)||"—"),1)]),a("div",na,[e[91]||(e[91]=a("span",{class:"cr-label"},"脂肪肝程度",-1)),u(c($(s(Fe),s(n).case_record.fatty_liver_degree)||"—"),1)]),a("div",ia,[e[92]||(e[92]=a("span",{class:"cr-label"},"饮食情况",-1)),u(c(C(s(Ie),s(n).case_record.diet_condition)),1)]),a("div",ra,[e[93]||(e[93]=a("span",{class:"cr-label"},"肢体感觉",-1)),u(c(C(s(Te),s(n).case_record.body_feeling)),1)]),a("div",da,[e[94]||(e[94]=a("span",{class:"cr-label"},"睡眠情况",-1)),u(c(C(s(Le),s(n).case_record.sleep_condition)),1)]),a("div",ua,[e[95]||(e[95]=a("span",{class:"cr-label"},"眼睛情况",-1)),u(c(C(s(ze),s(n).case_record.eye_condition)),1)]),a("div",ca,[e[96]||(e[96]=a("span",{class:"cr-label"},"头部感觉",-1)),u(c(C(s(Ae),s(n).case_record.head_feeling)),1)]),a("div",pa,[e[97]||(e[97]=a("span",{class:"cr-label"},"出汗情况",-1)),u(c(C(s(We),s(n).case_record.sweat_condition)),1)]),a("div",_a,[e[98]||(e[98]=a("span",{class:"cr-label"},"皮肤情况",-1)),u(c(C(s(He),s(n).case_record.skin_condition)),1)]),a("div",ma,[e[99]||(e[99]=a("span",{class:"cr-label"},"小便情况",-1)),u(c(C(s(Me),s(n).case_record.urine_condition)),1)]),a("div",ga,[e[100]||(e[100]=a("span",{class:"cr-label"},"大便情况",-1)),u(c(C(s(je),s(n).case_record.stool_condition)),1)]),a("div",fa,[e[101]||(e[101]=a("span",{class:"cr-label"},"腰肾情况",-1)),u(c(C(s(Be),s(n).case_record.kidney_condition)),1)]),a("div",va,[e[102]||(e[102]=a("span",{class:"cr-label"},"其他补充",-1)),u(c(s(n).case_record.symptoms||"—"),1)])])]),a("div",ba,[e[105]||(e[105]=a("div",{class:"cr-section-title"},"既往史",-1)),a("div",ya,[e[104]||(e[104]=a("span",{class:"cr-label"},null,-1)),u(c(C(s(Re),s(n).case_record.past_history)),1)])]),a("div",wa,[e[111]||(e[111]=a("div",{class:"cr-section-title"},"其他病史",-1)),a("div",ha,[a("div",Va,[e[106]||(e[106]=a("span",{class:"cr-label"},"外伤史",-1)),u(c(s(n).case_record.trauma_history===1?"有":"无"),1)]),a("div",ka,[e[107]||(e[107]=a("span",{class:"cr-label"},"手术史",-1)),u(c(s(n).case_record.surgery_history===1?"有":"无"),1)]),a("div",Sa,[e[108]||(e[108]=a("span",{class:"cr-label"},"过敏史",-1)),u(c(s(n).case_record.allergy_history===1?"有":"无"),1)]),a("div",xa,[e[109]||(e[109]=a("span",{class:"cr-label"},"家族病史",-1)),u(c(s(n).case_record.family_history===1?"有":"无"),1)]),a("div",Ca,[e[110]||(e[110]=a("span",{class:"cr-label"},"妊娠哺乳史",-1)),u(c(s(n).case_record.pregnancy_history===1?"有":"无"),1)])])]),a("div",Pa,[e[114]||(e[114]=a("div",{class:"cr-section-title"},"诊断信息",-1)),(N=s(n).case_record.tongue_images)!=null&&N.length?(b(),k("div",Ua,[a("div",Da,[e[112]||(e[112]=a("span",{class:"cr-label"},"舌苔照片",-1)),a("div",Na,[(b(!0),k(Q,null,we(s(n).case_record.tongue_images,(g,R)=>(b(),k("img",{key:R,src:ft(g),class:"cr-img",crossorigin:"anonymous"},null,8,Ra))),128))])])])):x("",!0),a("div",$a,[a("div",Ea,[e[113]||(e[113]=a("span",{class:"cr-label"},"舌象",-1)),u(c(s(n).case_record.tongue_coating||"—"),1)])])])])])],512)):x("",!0)]),a("div",Ia,[l(m,{onClick:Ot},{default:d(()=>[l(B,null,{default:d(()=>[l(s(Vs))]),_:1}),e[115]||(e[115]=u(" 下载图片 ",-1))]),_:1}),l(m,{type:"primary",onClick:Tt},{default:d(()=>[l(B,null,{default:d(()=>[l(s(ks))]),_:1}),e[116]||(e[116]=u(" 下载PDF ",-1))]),_:1}),s(n).void_status!==1&&!s(te)?(b(),P(q,{key:0,disabled:!s(Se),content:"该处方已存在业务订单,无法作废,请前往已开处方里修改",placement:"top"},{default:d(()=>[a("span",Oa,[l(m,{type:"danger",plain:"",disabled:s(Se),loading:s(de),onClick:Nt},{default:d(()=>[...e[117]||(e[117]=[u(" 作废处方 ",-1)])]),_:1},8,["disabled","loading"])])]),_:1},8,["disabled"])):x("",!0),s(te)?x("",!0):(b(),P(m,{key:1,onClick:$t},{default:d(()=>[...e[118]||(e[118]=[u("新建处方",-1)])]),_:1})),l(m,{onClick:ge},{default:d(()=>[...e[119]||(e[119]=[u("关闭",-1)])]),_:1})])])):(b(),k("div",Ds,[l(z,{ref_key:"formRef",ref:lt,model:s(t),"label-width":"100px",class:"prescription-form"},{default:d(()=>[a("div",Ns,[e[32]||(e[32]=a("div",{class:"section-title"},"患者信息",-1)),l(v,{gutter:16},{default:d(()=>[l(r,{span:8},{default:d(()=>[l(i,{label:"姓名"},{default:d(()=>[a("span",null,c(s(t).patient_name),1)]),_:1})]),_:1}),l(r,{span:8},{default:d(()=>[l(i,{label:"性别"},{default:d(()=>[a("span",null,c(s(t).gender_desc),1)]),_:1})]),_:1}),l(r,{span:8},{default:d(()=>[l(i,{label:"年龄"},{default:d(()=>[a("span",null,c(s(t).age),1)]),_:1})]),_:1}),l(r,{span:12},{default:d(()=>[l(i,{label:"电话"},{default:d(()=>[a("span",null,c(s(t).phone),1)]),_:1})]),_:1}),l(r,{span:12},{default:d(()=>[l(i,{label:"门诊号"},{default:d(()=>[l(_,{modelValue:s(t).visit_no,"onUpdate:modelValue":e[0]||(e[0]=g=>s(t).visit_no=g),placeholder:"门诊号"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})]),a("div",Rs,[e[33]||(e[33]=a("div",{class:"section-title"},"诊断信息",-1)),l(v,{gutter:16},{default:d(()=>[l(r,{span:12},{default:d(()=>[l(i,{label:"面象",prop:"pulse"},{default:d(()=>[l(_,{modelValue:s(t).pulse,"onUpdate:modelValue":e[1]||(e[1]=g=>s(t).pulse=g),placeholder:"面象"},null,8,["modelValue"])]),_:1})]),_:1}),l(r,{span:12},{default:d(()=>[l(i,{label:"舌象",prop:"tongue"},{default:d(()=>[l(_,{modelValue:s(t).tongue,"onUpdate:modelValue":e[2]||(e[2]=g=>s(t).tongue=g),placeholder:"舌象"},null,8,["modelValue"])]),_:1})]),_:1}),l(r,{span:24},{default:d(()=>[l(i,{label:"临床诊断",prop:"clinical_diagnosis"},{default:d(()=>[l(_,{modelValue:s(t).clinical_diagnosis,"onUpdate:modelValue":e[3]||(e[3]=g=>s(t).clinical_diagnosis=g),type:"textarea",rows:2,placeholder:"请输入临床诊断"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})]),a("div",$s,[a("div",Es,[a("div",Is,[e[37]||(e[37]=a("span",{class:"rp-toolbar__marker","aria-hidden":"true"},null,-1)),a("div",Os,[e[36]||(e[36]=a("h3",{class:"rp-toolbar__heading"},[u(" 中药处方 "),a("span",{class:"rp-toolbar__abbr"},"(RP)")],-1)),a("p",Ts,[e[34]||(e[34]=u(" 共 ",-1)),a("strong",null,c(s(t).herbs.length),1),e[35]||(e[35]=u(" 味药材 · 可手动添加、从处方库或粘贴药方批量录入(药品库同名匹配) ",-1))])])]),a("div",Ls,[l(m,{type:"primary",size:"small",icon:s(ys),onClick:xt},{default:d(()=>[...e[38]||(e[38]=[u(" 添加中药 ",-1)])]),_:1},8,["icon"]),l(m,{type:"primary",plain:"",size:"small",icon:s(ws),onClick:e[4]||(e[4]=g=>A.value=!0)},{default:d(()=>[...e[39]||(e[39]=[u(" 从处方库导入 ",-1)])]),_:1},8,["icon"]),l(m,{type:"primary",plain:"",size:"small",icon:s(hs),onClick:_t},{default:d(()=>[...e[40]||(e[40]=[u(" 导入药方 ",-1)])]),_:1},8,["icon"])])]),a("div",zs,[l(i,{label:"处方价格",prop:"amount",class:"!mb-0"},{default:d(()=>[l(y,{modelValue:s(t).amount,"onUpdate:modelValue":e[5]||(e[5]=g=>s(t).amount=g),min:0,precision:2,placeholder:"请输入处方总价(元)",class:"!w-40"},null,8,["modelValue"]),e[41]||(e[41]=a("span",{class:"ml-2 text-gray-500"},"元",-1))]),_:1})]),a("div",As,[(b(!0),k(Q,null,we(s(t).herbs,(g,R)=>(b(),k("div",{key:"herb-"+R,class:Us(["herb-editor-card",{"herb-editor-card--dup":Ke(R)}])},[a("div",Ws,"中药 "+c(R+1),1),l(rs,{modelValue:g.name,"onUpdate:modelValue":le=>g.name=le,class:"herb-editor-card__select"},null,8,["modelValue","onUpdate:modelValue"]),Ke(R)?(b(),k("div",Hs," 该药名与其他行重复,请合并剂量或删除多余行 ")):x("",!0),a("div",Ms,[l(y,{modelValue:g.dosage,"onUpdate:modelValue":le=>g.dosage=le,min:.1,step:1,precision:1,placeholder:"剂量(克)",class:"herb-editor-card__dose"},null,8,["modelValue","onUpdate:modelValue"]),e[43]||(e[43]=a("span",{class:"text-gray-500 shrink-0"},"克",-1)),l(m,{type:"danger",size:"small",link:"",onClick:le=>Ct(R)},{default:d(()=>[...e[42]||(e[42]=[u(" 删除 ",-1)])]),_:1},8,["onClick"])])],2))),128))])]),a("div",js,[l(v,{gutter:16},{default:d(()=>[l(r,{span:8},{default:d(()=>[l(i,{label:"处方类型",prop:"prescription_type"},{default:d(()=>[l(h,{modelValue:s(t).prescription_type,"onUpdate:modelValue":e[6]||(e[6]=g=>s(t).prescription_type=g),placeholder:"请选择处方类型",class:"!w-full"},{default:d(()=>[l(p,{label:"浓缩水丸",value:"浓缩水丸"}),l(p,{label:"饮片",value:"饮片"})]),_:1},8,["modelValue"])]),_:1})]),_:1}),l(r,{span:8},{default:d(()=>[l(i,{label:"用量",prop:"dosage_amount"},{default:d(()=>[s(t).prescription_type==="浓缩水丸"?(b(),P(h,{key:0,modelValue:s(t).dosage_amount,"onUpdate:modelValue":e[7]||(e[7]=g=>s(t).dosage_amount=g),placeholder:"请选择用量",class:"!w-full"},{default:d(()=>[l(p,{label:"1g",value:1}),l(p,{label:"2g",value:2}),l(p,{label:"3g",value:3}),l(p,{label:"4g",value:4}),l(p,{label:"5g",value:5}),l(p,{label:"6g",value:6}),l(p,{label:"7g",value:7}),l(p,{label:"8g",value:8}),l(p,{label:"9g",value:9}),l(p,{label:"10g",value:10})]),_:1},8,["modelValue"])):s(t).prescription_type==="饮片"?(b(),P(h,{key:1,modelValue:s(t).dosage_amount,"onUpdate:modelValue":e[8]||(e[8]=g=>s(t).dosage_amount=g),placeholder:"请选择用量",class:"!w-full"},{default:d(()=>[l(p,{label:"50ml",value:50}),l(p,{label:"100ml",value:100}),l(p,{label:"120ml",value:120}),l(p,{label:"150ml",value:150}),l(p,{label:"180ml",value:180}),l(p,{label:"200ml",value:200}),l(p,{label:"250ml",value:250})]),_:1},8,["modelValue"])):(b(),P(y,{key:2,modelValue:s(t).dosage_amount,"onUpdate:modelValue":e[9]||(e[9]=g=>s(t).dosage_amount=g),min:0,precision:2,class:"!w-full"},null,8,["modelValue"])),s(t).prescription_type!=="浓缩水丸"&&s(t).prescription_type!=="饮片"?(b(),k("span",Bs,c(s(t).dosage_unit),1)):x("",!0)]),_:1})]),_:1}),s(t).prescription_type==="浓缩水丸"?(b(),P(r,{key:0,span:8},{default:d(()=>[l(i,{label:" ",prop:"dosage_bag_count","label-width":"12px"},{default:d(()=>[l(h,{modelValue:s(t).dosage_bag_count,"onUpdate:modelValue":e[10]||(e[10]=g=>s(t).dosage_bag_count=g),placeholder:"请选择袋数",class:"!w-[120px]"},{default:d(()=>[l(p,{label:"1袋",value:1}),l(p,{label:"2袋",value:2}),l(p,{label:"3袋",value:3}),l(p,{label:"4袋",value:4}),l(p,{label:"5袋",value:5})]),_:1},8,["modelValue"])]),_:1})]),_:1})):x("",!0),s(t).prescription_type==="饮片"?(b(),P(r,{key:1,span:8},{default:d(()=>[l(i,{label:"每贴出包数",prop:"bags_per_dose"},{default:d(()=>[l(h,{modelValue:s(t).bags_per_dose,"onUpdate:modelValue":e[11]||(e[11]=g=>s(t).bags_per_dose=g),placeholder:"请选择",class:"!w-full"},{default:d(()=>[l(p,{label:"1包",value:1}),l(p,{label:"2包",value:2}),l(p,{label:"3包",value:3}),l(p,{label:"4包",value:4}),l(p,{label:"5包",value:5}),l(p,{label:"6包",value:6}),l(p,{label:"7包",value:7}),l(p,{label:"8包",value:8}),l(p,{label:"9包",value:9})]),_:1},8,["modelValue"])]),_:1})]),_:1})):x("",!0),s(t).prescription_type==="饮片"?(b(),P(r,{key:2,span:8},{default:d(()=>[l(i,{label:"是否代煎",prop:"need_decoction"},{default:d(()=>[l(L,{modelValue:s(t).need_decoction,"onUpdate:modelValue":e[12]||(e[12]=g=>s(t).need_decoction=g)},{default:d(()=>[l(U,{label:!0},{default:d(()=>[...e[44]||(e[44]=[u("代煎",-1)])]),_:1}),l(U,{label:!1},{default:d(()=>[...e[45]||(e[45]=[u("不代煎",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1})):x("",!0),l(r,{span:8},{default:d(()=>[l(i,{label:"服用天数",prop:"usage_days"},{default:d(()=>[l(y,{modelValue:s(t).usage_days,"onUpdate:modelValue":e[13]||(e[13]=g=>s(t).usage_days=g),min:1,max:365,class:"!w-full"},null,8,["modelValue"])]),_:1})]),_:1}),l(r,{span:8},{default:d(()=>[l(i,{label:"每天几次",prop:"times_per_day"},{default:d(()=>[l(y,{modelValue:s(t).times_per_day,"onUpdate:modelValue":e[14]||(e[14]=g=>s(t).times_per_day=g),min:1,max:6,class:"!w-full",placeholder:"每天服用次数"},null,8,["modelValue"])]),_:1})]),_:1}),l(r,{span:24},{default:d(()=>[l(i,{label:"用法",prop:"usage_instruction"},{default:d(()=>[l(_,{modelValue:s(t).usage_instruction,"onUpdate:modelValue":e[15]||(e[15]=g=>s(t).usage_instruction=g),placeholder:"",maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1}),l(r,{span:12},{default:d(()=>[l(i,{label:"服用时间",prop:"usage_time"},{default:d(()=>[l(h,{modelValue:s(t).usage_time,"onUpdate:modelValue":e[16]||(e[16]=g=>s(t).usage_time=g),placeholder:"请选择服用时间",class:"!w-full"},{default:d(()=>[l(p,{label:"饭前",value:"饭前"}),l(p,{label:"饭后",value:"饭后"}),l(p,{label:"饭中",value:"饭中"}),l(p,{label:"空腹",value:"空腹"}),l(p,{label:"睡前",value:"睡前"}),l(p,{label:"晨起",value:"晨起"}),l(p,{label:"随时",value:"随时"})]),_:1},8,["modelValue"])]),_:1})]),_:1}),l(r,{span:12},{default:d(()=>[l(i,{label:"服用方式",prop:"usage_way"},{default:d(()=>[l(h,{modelValue:s(t).usage_way,"onUpdate:modelValue":e[17]||(e[17]=g=>s(t).usage_way=g),placeholder:"请选择服用方式",class:"!w-full"},{default:d(()=>[l(p,{label:"温水送服",value:"温水送服"}),l(p,{label:"开水冲服",value:"开水冲服"}),l(p,{label:"黄酒送服",value:"黄酒送服"}),l(p,{label:"淡盐水送服",value:"淡盐水送服"}),l(p,{label:"米汤送服",value:"米汤送服"}),l(p,{label:"嚼服",value:"嚼服"}),l(p,{label:"含化",value:"含化"})]),_:1},8,["modelValue"])]),_:1})]),_:1}),l(r,{span:24},{default:d(()=>[l(i,{label:"忌口",prop:"dietary_taboo"},{default:d(()=>[l(h,{modelValue:s(t).dietary_taboo,"onUpdate:modelValue":e[18]||(e[18]=g=>s(t).dietary_taboo=g),multiple:"",placeholder:"请选择忌口内容(可多选)",class:"!w-full"},{default:d(()=>[l(p,{label:"辛辣食物",value:"辛辣食物"}),l(p,{label:"生冷食物",value:"生冷食物"}),l(p,{label:"油腻食物",value:"油腻食物"}),l(p,{label:"海鲜",value:"海鲜"}),l(p,{label:"牛羊肉",value:"牛羊肉"}),l(p,{label:"鸡蛋",value:"鸡蛋"}),l(p,{label:"豆制品",value:"豆制品"}),l(p,{label:"酒类",value:"酒类"}),l(p,{label:"浓茶",value:"浓茶"}),l(p,{label:"咖啡",value:"咖啡"}),l(p,{label:"烟草",value:"烟草"}),l(p,{label:"萝卜",value:"萝卜"})]),_:1},8,["modelValue"])]),_:1})]),_:1}),l(r,{span:24},{default:d(()=>[l(i,{label:"其他说明",prop:"usage_notes"},{default:d(()=>[l(_,{modelValue:s(t).usage_notes,"onUpdate:modelValue":e[19]||(e[19]=g=>s(t).usage_notes=g),type:"textarea",rows:2,placeholder:"其他服用注意事项",maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1}),l(r,{span:12},{default:d(()=>[l(i,{label:"医师",prop:"doctor_name"},{default:d(()=>[l(_,{modelValue:s(t).doctor_name,"onUpdate:modelValue":e[20]||(e[20]=g=>s(t).doctor_name=g),placeholder:"医师姓名"},null,8,["modelValue"])]),_:1})]),_:1}),l(r,{span:12},{default:d(()=>[l(i,{label:"是否共享",prop:"is_shared"},{default:d(()=>[l(E,{modelValue:s(t).is_shared,"onUpdate:modelValue":e[21]||(e[21]=g=>s(t).is_shared=g),"active-value":1,"inactive-value":0,"active-text":"所有人可见","inactive-text":"仅自己可见"},null,8,["modelValue"])]),_:1})]),_:1}),l(r,{span:24},{default:d(()=>[l(i,{label:"医师签名",prop:"doctor_signature",required:""},{default:d(()=>[a("div",Fs,[a("canvas",{ref_key:"signatureCanvasRef",ref:T,class:"signature-canvas",onPointerdown:X(Vt,["prevent"]),onPointermove:X(kt,["prevent"]),onPointerup:X(Je,["prevent"]),onPointercancel:X(Je,["prevent"])},null,544),a("div",Gs,[l(m,{size:"small",onClick:St},{default:d(()=>[...e[46]||(e[46]=[u("清空签名",-1)])]),_:1})])]),e[47]||(e[47]=a("div",{class:"text-xs text-amber-600 mt-1"},"* 必填,请在框内手写医师签名",-1))]),_:1})]),_:1})]),_:1})])]),_:1},8,["model"])]))]}),_:2},[s(n)?void 0:{name:"footer",fn:d(()=>[a("div",Ta,[l(m,{onClick:ge},{default:d(()=>[...e[120]||(e[120]=[u("取消",-1)])]),_:1}),l(m,{type:"primary",onClick:Ut,loading:s(re)},{default:d(()=>[...e[121]||(e[121]=[u("保存处方",-1)])]),_:1},8,["loading"])])]),key:"0"}]),1032,["modelValue","title"]),l(Ye,{modelValue:s(A),"onUpdate:modelValue":e[26]||(e[26]=w=>I(A)?A.value=w:null),title:"从处方库导入",width:"800px","close-on-click-modal":!1},{default:d(()=>[a("div",La,[l(_,{modelValue:s(F),"onUpdate:modelValue":e[23]||(e[23]=w=>I(F)?F.value=w:null),placeholder:"请输入处方名称搜索",clearable:"",onKeyup:is(ye,["enter"]),onClear:ye},{append:d(()=>[l(m,{icon:s(Ss),onClick:ye},null,8,["icon"])]),_:1},8,["modelValue"])]),Ps((b(),P(Lt,{data:s(Ce),height:"400",onRowClick:Pt,style:{cursor:"pointer"}},{default:d(()=>[l(K,{label:"处方名称",prop:"prescription_name","min-width":"150","show-overflow-tooltip":""}),l(K,{label:"药材数量",width:"100"},{default:d(({row:w})=>{var N;return[u(c(((N=w.herbs)==null?void 0:N.length)||0)+"味 ",1)]}),_:1}),l(K,{label:"药材明细","min-width":"300","show-overflow-tooltip":""},{default:d(({row:w})=>[w.herbs&&w.herbs.length>0?(b(),k("span",za,c(w.herbs.map(N=>`${N.name} ${N.dosage}g`).join("、")),1)):(b(),k("span",Aa,"暂无药材"))]),_:1}),l(K,{label:"创建人",prop:"creator_name",width:"100"}),l(K,{label:"操作",width:"100",fixed:"right"},{default:d(({row:w})=>[l(m,{type:"primary",link:"",onClick:X(N=>Xe(w),["stop"])},{default:d(()=>[...e[122]||(e[122]=[u(" 导入 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[At,s(ue)]]),a("div",Wa,[l(zt,{"current-page":s(H),"onUpdate:currentPage":e[24]||(e[24]=w=>I(H)?H.value=w:null),"page-size":s(se),"onUpdate:pageSize":e[25]||(e[25]=w=>I(se)?se.value=w:null),total:s(Pe),"page-sizes":[10,15,20,50],layout:"total, sizes, prev, pager, next",onCurrentChange:ae,onSizeChange:ae},null,8,["current-page","page-size","total"])])]),_:1},8,["modelValue"]),l(Ye,{modelValue:s(M),"onUpdate:modelValue":e[30]||(e[30]=w=>I(M)?M.value=w:null),title:"导入药方(识别药材)",width:"560px","close-on-click-modal":!1,"destroy-on-close":"",onClosed:e[31]||(e[31]=w=>j.value="")},{footer:d(()=>[l(m,{onClick:e[29]||(e[29]=w=>M.value=!1)},{default:d(()=>[...e[126]||(e[126]=[u("取消",-1)])]),_:1}),l(m,{type:"primary",loading:s(ce),onClick:mt},{default:d(()=>[...e[127]||(e[127]=[u(" 识别并导入 ",-1)])]),_:1},8,["loading"])]),default:d(()=>[e[128]||(e[128]=a("p",{class:"text-gray-500 text-sm mb-2 leading-relaxed"}," 粘贴整张药方文本,系统按「药名 + 剂量」解析;药名须与药品库中名称完全一致才会录入,否则跳过。支持顿号/逗号/换行分隔;单行可用空格分味(如「黄芪15g 白术10g」);「黄芪、党参各10克」等同剂量写法亦可识别。 ",-1)),l(_,{modelValue:s(j),"onUpdate:modelValue":e[27]||(e[27]=w=>I(j)?j.value=w:null),type:"textarea",rows:10,placeholder:`示例: +`);return e=e.replace(/[0-9]/g,i=>String.fromCharCode(i.charCodeAt(0)-65296+48)),e.trim()}function dt(o){return o.replace(/^\s*Rp[::**\s]*/i,"").replace(/^\s*处方[::\s]*/,"").replace(/^\s*中药处方[::\s]*/,"").trimStart()}function pe(o){return o.replace(/([^)]*)$/u,"").replace(/\([^)]*\)$/u,"").trim()}function Ue(o){const e=o.trim();if(!e||it.test(e)||/^\d/.test(e)||/^\d+\s*剂$/.test(e))return null;const i=e.match(/^(.+)\s*各\s*(\d+(?:\.\d+)?)\s*(?:克|g|G)?$/i);if(i){const v=parseFloat(i[2]);if(!Number.isFinite(v)||v<=0)return null;const m=i[1].split(/[、,,\s]+/).map(y=>y.trim()).filter(Boolean);return m.length?m.map(y=>({name:pe(y),dosage:v})):null}const r=e.match(/^(.+?)\s*(\d+(?:\.\d+)?)\s*(?:克|g|G|钱)?$/i);if(r){const v=pe(r[1].trim()),m=parseFloat(r[2]);return!v||!Number.isFinite(m)||m<=0?null:[{name:v,dosage:m}]}const _=pe(e);return _.length>=2&&_.length<=16?[{name:_,dosage:6}]:null}function ut(o){const e=dt(rt(o)),i=[];for(const r of e.split(/\n+/)){const _=r.trim();if(_)for(const v of _.split(/[、,,;;]/)){const m=v.trim();if(m)if(/\s/.test(m)&&!Ue(m)){const y=m.split(/\s+(?=[\u4e00-\u9fff]{2,})/);for(const p of y){const h=p.trim();h&&i.push(h)}}else i.push(m)}}return i}function ct(o){const e=[];for(const i of ut(o)){const r=Ue(i);r&&e.push(...r)}return e}async function pt(o){const e=o.trim();if(!e)return null;try{const _=((await vs({name:e,page_no:1,page_size:200,status:1})).lists||[]).find(v=>(v.name??"").trim()===e);return _?_.name.trim():null}catch{return null}}function _t(){M.value=!0}async function mt(){const o=ct(j.value);if(!o.length){k.msgWarning("未能从文本中解析出药材,请检查格式(药名 + 剂量,或用顿号/换行分隔)");return}ce.value=!0;try{const e=[],i=[];for(const m of o){const y=await pt(m.name);if(!y){i.push(m.name.trim());continue}e.push({name:y,dosage:m.dosage})}const r=[...new Set(i.filter(Boolean))];if(e.length===0){k.msgWarning(r.length?`药品库中无以下完全同名药材,未录入:${r.join("、")}`:"未能匹配到药品库中的药材");return}oe.value==="replace"?t.herbs=e:t.herbs.push(...e);const _=be(),v=r.length>0?`;药品库未收录已跳过:${r.join("、")}`:"";_.length?k.msgWarning(`已导入 ${e.length} 味药材${v}。存在重复药名:${_.join("、")},请合并剂量或删除多余行`):r.length?k.msgSuccess(`已导入 ${e.length} 味药材${v},请核对剂量`):k.msgSuccess(`已导入 ${e.length} 味药材,请核对药名与剂量`),M.value=!1,j.value=""}finally{ce.value=!1}}const G=st({stationName:"成都双流甄养堂互联网医院",showDisclaimer:!0,disclaimer:""}),t=st({diagnosis_id:0,appointment_id:0,prescription_name:"",prescription_type:"浓缩水丸",dosage_amount:10,dosage_unit:"g",dosage_bag_count:1,need_decoction:!1,bags_per_dose:1,patient_name:"",gender:0,gender_desc:"女",age:0,phone:"",visit_no:"",prescription_date:"",pulse:"",tongue:"",tongue_image:"",pulse_condition:"",clinical_diagnosis:"",case_record:null,herbs:[],dose_count:1,dose_unit:"剂",usage_days:7,times_per_day:2,usage_instruction:"",usage_time:"饭后",usage_way:"温水送服",dietary_taboo:[],usage_notes:"",amount:0,doctor_name:"",doctor_signature:"",is_shared:0}),De=ds(),gt=us(),ft=o=>{const e=typeof o=="string"?o:(o==null?void 0:o.url)??(o==null?void 0:o.uri)??(o==null?void 0:o.path)??"";return e?String(e).startsWith("http")?e:gt.getImageUrl(e):""},_e=f([]),me=f([]),Ne=f([]),Re=f([]),$e=f([]),Ee=f([]),Ie=f([]),Oe=f([]),Te=f([]),Le=f([]),ze=f([]),Ae=f([]),We=f([]),He=f([]),Me=f([]),je=f([]),Be=f([]),Fe=f([]),$=(o,e)=>{if(!e)return"";const i=o.find(r=>r.value===e);return i?i.name:e},Ge=async()=>{try{const[o,e,i,r,_,v,m,y,p,h,U,L,E,z,D,B,q,J]=await Promise.all([S({type:"diagnosis_type"}),S({type:"syndrome_type"}),S({type:"diabetes_type"}),S({type:"past_history"}),S({type:"appetite"}),S({type:"water_intake"}),S({type:"diet_condition"}),S({type:"weight_change"}),S({type:"body_feeling"}),S({type:"sleep_condition"}),S({type:"eye_condition"}),S({type:"head_feeling"}),S({type:"sweat_condition"}),S({type:"skin_condition"}),S({type:"urine_condition"}),S({type:"stool_condition"}),S({type:"kidney_condition"}),S({type:"fatty_liver_degree"})]);_e.value=(o==null?void 0:o.diagnosis_type)||[],me.value=(e==null?void 0:e.syndrome_type)||[],Ne.value=(i==null?void 0:i.diabetes_type)||[],Re.value=(r==null?void 0:r.past_history)||[],$e.value=(_==null?void 0:_.appetite)||[],Ee.value=(v==null?void 0:v.water_intake)||[],Ie.value=(m==null?void 0:m.diet_condition)||[],Oe.value=(y==null?void 0:y.weight_change)||[],Te.value=(p==null?void 0:p.body_feeling)||[],Le.value=(h==null?void 0:h.sleep_condition)||[],ze.value=(U==null?void 0:U.eye_condition)||[],Ae.value=(L==null?void 0:L.head_feeling)||[],We.value=(E==null?void 0:E.sweat_condition)||[],He.value=(z==null?void 0:z.skin_condition)||[],Me.value=(D==null?void 0:D.urine_condition)||[],je.value=(B==null?void 0:B.stool_condition)||[],Be.value=(q==null?void 0:q.kidney_condition)||[],Fe.value=(J==null?void 0:J.fatty_liver_degree)||[]}catch{}},C=(o,e)=>{if(!e||Array.isArray(e)&&e.length===0)return"—";const r=(Array.isArray(e)?e:typeof e=="string"?e.split(","):[]).map(_=>{const v=o.find(m=>m.value===_);return v?v.name:_}).filter(Boolean);return r.length?r.join("、"):"—"},vt=o=>!o||Array.isArray(o)&&o.length===0?"—":(Array.isArray(o)?o:typeof o=="string"?o.split(","):[]).filter(Boolean).join("、")||"—",bt=o=>{var _;if((_=o==null?void 0:o.symptoms)!=null&&_.trim())return o.symptoms.trim();const e=$(_e.value,o==null?void 0:o.diagnosis_type),i=$(me.value,o==null?void 0:o.syndrome_type),r=[e,i].filter(Boolean);return r.length?r.join(" "):""},yt=async(o,e)=>{var i;if(W.value){console.warn("处方正在打开中,请勿重复点击");return}W.value=!0;try{e!=null&&e.stationName&&(G.stationName=e.stationName);const r=o.diagnosis||o,_=o.diagnosis_id??(r==null?void 0:r.id)??o.id;if(!_){k.msgWarning("缺少诊单信息");return}await Ge();const v=Number(o.id??o.appointment_id??0);if(v)try{const y=await _s({appointment_id:v});if(console.log("-----------",y),y!=null&&y.id){const p=await ne({id:y.id});n.value=p,O.value=!0;return}}catch{}let m=o.case_record&&Object.keys(o.case_record).length>0?o.case_record:null;if(!m&&_)try{const y=await Ze({id:Number(_)});m=y&&typeof y=="object"?y:null}catch(y){console.warn("获取诊单详情失败:",y)}t.diagnosis_id=Number(_),t.appointment_id=v,t.prescription_name="",t.prescription_type="浓缩水丸",t.dosage_unit="g",t.dosage_amount=10,t.dosage_bag_count=1,t.patient_name=o.patient_name||r.patient_name||"",t.gender=o.patient_gender??r.gender??0,t.gender_desc=t.gender===1?"男":"女",t.age=o.patient_age??r.age??0,t.phone=o.patient_phone||r.phone||"",t.visit_no=o.id?`1K${String(o.id).padStart(8,"0")}`:"",t.prescription_date=new Date().toISOString().slice(0,10),t.pulse=r.pulse||"",t.tongue=r.tongue_coating||r.tongue||"",t.tongue_image="",t.pulse_condition="",t.clinical_diagnosis=bt(r),t.case_record=m,t.herbs=[],t.dose_count=1,t.dose_unit="剂",t.usage_days=7,t.usage_instruction="",t.usage_time="饭后",t.usage_way="温水送服",t.dietary_taboo=[],t.usage_notes="",t.amount=0,t.doctor_name=((i=De.userInfo)==null?void 0:i.name)||"",t.doctor_signature="",t.is_shared=0,t.need_decoction=!1,t.bags_per_dose=1,n.value=null,O.value=!0,setTimeout(()=>fe(),100)}finally{setTimeout(()=>{W.value=!1},500)}},wt=async o=>{if(W.value){console.warn("处方正在打开中,请勿重复点击");return}W.value=!0;try{const e=await ne({id:o});n.value=e,e!=null&&e.case_record&&Object.keys(e.case_record).length>0&&await Ge(),O.value=!0}catch{k.msgError("加载处方失败")}finally{setTimeout(()=>{W.value=!1},500)}},ge=()=>{O.value=!1,n.value=null},qe=o=>{const e=T.value;if(!e)return{x:0,y:0};const i=e.getBoundingClientRect();if(i.width<=0||i.height<=0)return{x:0,y:0};const r=(o.clientX-i.left)/i.width*Y,_=(o.clientY-i.top)/i.height*Z;return{x:Math.max(0,Math.min(Y,r)),y:Math.max(0,Math.min(Z,_))}},ht=()=>{const o=T.value;o&&(t.doctor_signature=o.toDataURL("image/png"))},kt=o=>{if(o.pointerType==="mouse"&&o.button!==0)return;const e=T.value,i=e==null?void 0:e.getContext("2d");if(!e||!i)return;e.setPointerCapture(o.pointerId),ee.value=o.pointerId;const{x:r,y:_}=qe(o);i.beginPath(),i.moveTo(r,_)},Vt=o=>{var _;if(ee.value!==o.pointerId)return;const e=(_=T.value)==null?void 0:_.getContext("2d");if(!e)return;const{x:i,y:r}=qe(o);e.lineTo(i,r),e.stroke(),e.beginPath(),e.moveTo(i,r)},Je=o=>{if(ee.value!==o.pointerId)return;ee.value=null;const e=T.value;if(e)try{e.releasePointerCapture(o.pointerId)}catch{}ht()},St=()=>{fe(),t.doctor_signature=""},fe=()=>{const o=T.value;if(!o)return;const e=Math.min(typeof window<"u"&&window.devicePixelRatio||1,2.5);o.style.width=`${Y}px`,o.style.height=`${Z}px`,o.width=Math.round(Y*e),o.height=Math.round(Z*e);const i=o.getContext("2d");i&&(i.setTransform(1,0,0,1,0,0),i.scale(e,e),i.fillStyle="#fff",i.fillRect(0,0,Y,Z),i.strokeStyle="#333",i.lineWidth=2.5,i.lineCap="round",i.lineJoin="round")};function ve(o){return(o??"").trim()}function Ke(o){var _,v;const e=t.herbs,i=ve((_=e[o])==null?void 0:_.name);if(!i)return!1;let r=0;for(let m=0;m1}function be(){const o=new Map;for(const e of t.herbs){const i=ve(e==null?void 0:e.name);i&&o.set(i,(o.get(i)??0)+1)}return[...o.entries()].filter(([,e])=>e>1).map(([e])=>e)}const xt=()=>{t.herbs.push({name:"",dosage:6})},Ct=o=>{t.herbs.splice(o,1)},ae=async()=>{ue.value=!0;try{const o=await ms({page_no:H.value,page_size:se.value,prescription_name:F.value,is_public:""});Ce.value=o.lists||[],Pe.value=o.count||0}catch(o){console.error("加载处方库失败:",o),k.msgError("加载处方库失败")}finally{ue.value=!1}},ye=()=>{H.value=1,ae()},Pt=o=>{Xe(o)},Xe=o=>{if(!o.herbs||o.herbs.length===0){k.msgWarning("该处方没有药材信息");return}const e=JSON.parse(JSON.stringify(o.herbs));t.herbs=e,be().length&&k.msgWarning("导入的处方中存在重复药名,请合并剂量或删除多余行"),k.msgSuccess(`已导入处方「${o.prescription_name}」,共${e.length}味药材`),A.value=!1};tt(A,o=>{o&&(F.value="",H.value=1,ae())}),tt(()=>t.prescription_type,o=>{o==="浓缩水丸"?(t.dosage_unit="g",t.dosage_amount=10,t.dosage_bag_count=1,t.need_decoction=!1,t.bags_per_dose=1):o==="饮片"?(t.dosage_unit="ml",t.dosage_amount=50,t.dosage_bag_count=1,t.bags_per_dose=1):(t.dosage_unit="g",t.dosage_amount=void 0,t.dosage_bag_count=1,t.need_decoction=!1,t.bags_per_dose=1)});const Ut=async()=>{var e,i,r;if(!((e=t.clinical_diagnosis)!=null&&e.trim())){k.msgWarning("请输入临床诊断");return}if(t.herbs.length===0){k.msgWarning("请至少添加一味中药");return}const o=be();if(o.length){k.msgWarning(`存在重复药名:${o.join("、")},请合并剂量或删除多余行后再保存`);return}for(const _ of t.herbs){if(!((i=_.name)!=null&&i.trim())){k.msgWarning("请填写中药名称");return}if(!_.dosage||_.dosage<=0){k.msgWarning(`请填写「${_.name}」的剂量`);return}}if(!((r=t.doctor_signature)!=null&&r.trim())){k.msgWarning("请使用电子签名板手写医师签名");return}re.value=!0;try{const _=await gs({diagnosis_id:t.diagnosis_id,appointment_id:t.appointment_id,prescription_name:t.prescription_name,prescription_type:t.prescription_type,patient_name:t.patient_name,gender:t.gender,age:t.age,phone:t.phone,visit_no:t.visit_no,prescription_date:t.prescription_date,pulse:t.pulse,tongue:t.tongue,tongue_image:t.tongue_image,pulse_condition:t.pulse_condition,clinical_diagnosis:t.clinical_diagnosis,case_record:t.case_record,herbs:t.herbs,dose_count:t.dose_count,dose_unit:t.dose_unit,dosage_amount:t.dosage_amount,dosage_unit:t.dosage_unit,dosage_bag_count:t.dosage_bag_count,need_decoction:t.need_decoction,bags_per_dose:t.bags_per_dose,usage_days:t.usage_days,times_per_day:t.times_per_day,usage_instruction:t.usage_instruction,usage_time:t.usage_time,usage_way:t.usage_way,dietary_taboo:t.dietary_taboo,usage_notes:t.usage_notes,amount:t.amount,doctor_name:t.doctor_name,doctor_signature:t.doctor_signature,is_shared:t.is_shared}),v=_==null?void 0:_.id;if(v){const m=await ne({id:v});n.value=m,he("success")}else k.msgError("保存失败")}catch(_){k.msgError((_==null?void 0:_.msg)||"保存失败")}finally{re.value=!1}},Dt=o=>{if(!o)return"—";const e=new Date(o*1e3);return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")} ${String(e.getHours()).padStart(2,"0")}:${String(e.getMinutes()).padStart(2,"0")}:${String(e.getSeconds()).padStart(2,"0")}`},Nt=async()=>{var e,i;const o=(e=n.value)==null?void 0:e.id;if(o){if(Number((i=n.value)==null?void 0:i.has_prescription_order)===1){k.msgWarning("该处方已存在业务订单,无法作废");return}try{await k.confirm("确定要作废该处方吗?作废后不可恢复。"),de.value=!0,await fs({id:o}),k.msgSuccess("作废成功");const r=await ne({id:o});n.value=r,he("success")}catch(r){r!=="cancel"&&(r==null?void 0:r.message)!=="cancel"&&k.msgError((r==null?void 0:r.msg)||"作废失败")}finally{de.value=!1}}},Rt=async o=>{if(!o)return null;try{const e=await Ze({id:o});return e&&typeof e=="object"?e:null}catch(e){return console.warn("获取诊单详情失败:",e),null}},$t=async()=>{var e;const o=n.value;o&&(t.diagnosis_id=o.diagnosis_id??t.diagnosis_id,t.appointment_id=o.appointment_id??t.appointment_id,t.prescription_name="",t.prescription_type=o.prescription_type||"浓缩水丸",t.prescription_type==="浓缩水丸"?(t.dosage_unit="g",t.dosage_amount=10,t.dosage_bag_count=1):t.prescription_type==="饮片"?(t.dosage_unit="ml",t.dosage_amount=50,t.dosage_bag_count=1):(t.dosage_unit="g",t.dosage_amount=void 0,t.dosage_bag_count=1),t.patient_name=o.patient_name||"",t.gender=o.gender??0,t.gender_desc=o.gender===1?"男":"女",t.age=o.age??0,t.phone=o.phone||"",t.visit_no=o.visit_no||"",t.prescription_date=new Date().toISOString().slice(0,10),t.pulse=o.pulse||"",t.tongue=o.tongue||"",t.tongue_image="",t.pulse_condition="",t.clinical_diagnosis=o.clinical_diagnosis||"",t.dose_count=1,t.dose_unit=o.dose_unit||"剂",t.usage_days=7,t.usage_instruction="",t.usage_time="饭后",t.usage_way="温水送服",t.dietary_taboo=[],t.usage_notes="",t.amount=0,t.doctor_name=((e=De.userInfo)==null?void 0:e.name)||o.doctor_name||"",t.doctor_signature="",t.is_shared=0,t.herbs=[],t.case_record=o.case_record&&Object.keys(o.case_record).length>0?o.case_record:await Rt(Number(t.diagnosis_id)),setTimeout(()=>fe(),100)),n.value=null},Qe=async()=>{const o=ke.value;if(!o)throw new Error("未找到处方内容");return et(o,{scale:2,useCORS:!0,logging:!1,backgroundColor:"#ffffff"})},Et=async o=>{const e=o.querySelectorAll('img[src^="http"]'),i=Array.from(e).map(async r=>{try{const _=await fetch(r.src,{mode:"cors"});if(!_.ok)return;const v=await _.blob(),m=await new Promise((y,p)=>{const h=new FileReader;h.onload=()=>y(h.result),h.onerror=p,h.readAsDataURL(v)});r.src=m}catch{}});await Promise.allSettled(i)},It=async()=>{const o=Ve.value;return o?(o.scrollIntoView({behavior:"instant",block:"nearest"}),await Et(o),await new Promise(e=>setTimeout(e,200)),et(o,{scale:2,useCORS:!0,logging:!1,backgroundColor:"#ffffff"})):null},Ot=async()=>{var o;try{const e=await Qe(),i=document.createElement("a");i.download=`处方_${((o=n.value)==null?void 0:o.patient_name)||"未命名"}_${Date.now()}.png`,i.href=e.toDataURL("image/png"),i.click(),k.msgSuccess("图片已下载")}catch{k.msgError("下载图片失败")}},Tt=async()=>{var o;try{const e=await Qe(),i=e.toDataURL("image/png"),r=new bs({orientation:"portrait",unit:"mm",format:"a5"}),_=r.internal.pageSize.getWidth(),v=r.internal.pageSize.getHeight(),m=Math.min(_/e.width,v/e.height),y=e.width*m,p=e.height*m;r.addImage(i,"PNG",0,0,y,p);const h=await It();if(h){r.addPage("a3","p");const E=Math.min(297/h.width,420/h.height),z=h.width*E,D=h.height*E;r.addImage(h.toDataURL("image/png"),"PNG",0,0,z,D)}r.save(`处方_${((o=n.value)==null?void 0:o.patient_name)||"未命名"}_${Date.now()}.pdf`),k.msgSuccess("PDF已下载")}catch{k.msgError("下载PDF失败")}};return ot({open:yt,openById:wt}),(o,e)=>{const i=Ft,r=Bt,_=Gt,v=jt,m=Ht,y=qt,p=Kt,h=Jt,U=Qt,L=Xt,E=Yt,z=Mt,D=Zt,B=es,q=ts,J=Wt,K=as,Lt=ls,zt=ns,Ye=ss,At=os;return b(),V(Q,null,[l(J,{modelValue:s(O),"onUpdate:modelValue":e[22]||(e[22]=w=>I(O)?O.value=w:null),title:s(nt),size:"1200px","close-on-click-modal":!1,onClose:ge},Cs({default:d(()=>{var w,N;return[s(n)?(b(),V("div",qs,[a("div",Js,[a("div",{ref_key:"prescriptionPrintRef",ref:ke,class:"prescription-print"},[a("div",Ks,[a("h2",Xs,c(s(G).stationName)+"处方笺",1),a("div",Qs,[s(n).void_status===1?(b(),P(D,{key:0,type:"danger",size:"small"},{default:d(()=>[...e[48]||(e[48]=[u("已作废",-1)])]),_:1})):s(te)?(b(),P(D,{key:1,type:"success",size:"small",class:"mr-1"},{default:d(()=>[...e[49]||(e[49]=[u("已通过",-1)])]),_:1})):Number(s(n).audit_status)===0?(b(),P(D,{key:2,type:"warning",size:"small",class:"mr-1"},{default:d(()=>[...e[50]||(e[50]=[u("待审核",-1)])]),_:1})):x("",!0),s(n).void_status!==1?(b(),V(Q,{key:3},[e[51]||(e[51]=a("div",null,"普通处方",-1)),e[52]||(e[52]=a("div",{class:"text-sm"},"当日有效",-1))],64)):x("",!0)])]),s(n).void_status===1?(b(),V("div",Ys," 作废人:"+c(s(n).void_by_name||"—")+",作废时间:"+c(Dt(s(n).void_time)),1)):x("",!0),a("div",Zs,[a("div",eo,[a("span",to,[e[53]||(e[53]=a("em",null,"日期",-1)),u(c(s(n).prescription_date),1)]),a("span",so,[e[54]||(e[54]=a("em",null,"电话",-1)),u(c(s(n).phone),1)]),a("span",oo,[e[55]||(e[55]=a("em",null,"门诊号",-1)),u(c(s(n).visit_no),1)])]),a("div",ao,[a("span",lo,[e[56]||(e[56]=a("em",null,"姓名",-1)),u(c(s(n).patient_name),1)]),a("span",no,[e[57]||(e[57]=a("em",null,"性别",-1)),u(c(s(n).gender_desc),1)]),a("span",io,[e[58]||(e[58]=a("em",null,"年龄",-1)),u(c(s(n).age!=null?s(n).age+"岁":"—"),1)])]),a("div",ro,[s(n).pulse?(b(),V("span",uo,[e[59]||(e[59]=a("em",null,"面象",-1)),u(c(s(n).pulse||"—"),1)])):x("",!0),s(n).tongue?(b(),V("span",co,[e[60]||(e[60]=a("em",null,"舌象",-1)),u(c(s(n).tongue||"—"),1)])):x("",!0)]),a("div",po,[a("span",_o,[e[61]||(e[61]=a("em",null,"临床诊断",-1)),u(c(s(n).clinical_diagnosis),1)])])]),a("div",mo,[e[62]||(e[62]=a("div",{class:"rp-label"},"RP",-1)),a("div",go,[(b(!0),V(Q,null,we(s(n).herbs,(g,R)=>(b(),V("div",{key:R,class:"herb-cell"},c(g.name)+" "+c(g.dosage)+"克 ",1))),128))])]),s(G).showDisclaimer?(b(),V("div",fo,c(s(G).disclaimer),1)):x("",!0),a("div",vo,[a("div",bo,[a("div",yo," 服用"+c(s(n).usage_days||s(n).dose_count)+"天"+c(s(n).times_per_day?",每天"+s(n).times_per_day+"次":"")+c(s(xe)?","+s(xe):"")+", "+c(s(n).prescription_type)+" "+c(s(n).usage_instruction),1),a("div",wo,[u(" 服用时间: "+c(s(n).usage_time?" "+s(n).usage_time:"")+" ",1),e[63]||(e[63]=a("text",{style:{"margin-left":"20px"}},null,-1)),u("服用方式: "+c(s(n).usage_way?" "+s(n).usage_way:""),1)]),s(n).dietary_taboo&&s(n).dietary_taboo.length?(b(),V("div",ho," 忌口:"+c(Array.isArray(s(n).dietary_taboo)?s(n).dietary_taboo.join("、"):s(n).dietary_taboo),1)):x("",!0),s(n).usage_notes?(b(),V("div",ko,c(s(n).usage_notes),1)):x("",!0)]),a("div",Vo,[a("span",So,[e[64]||(e[64]=u(" 医师 ",-1)),s(n).doctor_signature?(b(),V("img",{key:0,src:s(n).doctor_signature,alt:"医师签名",class:"doctor-signature-img"},null,8,xo)):(b(),V("span",Co,c(s(n).doctor_name||"医师"),1))])])]),e[65]||(e[65]=a("div",{class:"prescription-area"},[a("div",null,"成都双流甄养堂互联网医院有限公司 联系方式:4001667339"),a("div",null,"地址 :四川省成都市双流区黄甲街道黄龙大道二段280号")],-1))],512),s(n).case_record?(b(),V("div",{key:0,ref_key:"caseRecordPrintRef",ref:Ve,class:"case-record-a3"},[a("div",Po,[a("h2",Uo,c(s(G).stationName)+" 详细病历",1),a("div",Do,[a("div",No,[e[76]||(e[76]=a("div",{class:"cr-section-title"},"基本信息",-1)),a("div",Ro,[a("div",$o,[e[66]||(e[66]=a("span",{class:"cr-label"},"诊单ID",-1)),u(c(s(n).case_record.patient_id||"—"),1)]),a("div",Eo,[e[67]||(e[67]=a("span",{class:"cr-label"},"姓名",-1)),u(c(s(n).case_record.patient_name||"—"),1)]),a("div",Io,[e[68]||(e[68]=a("span",{class:"cr-label"},"身份证号",-1)),u(c(s(n).case_record.id_card||"—"),1)]),a("div",Oo,[e[69]||(e[69]=a("span",{class:"cr-label"},"手机号",-1)),u(c(s(n).case_record.phone||"—"),1)]),a("div",To,[e[70]||(e[70]=a("span",{class:"cr-label"},"性别",-1)),u(c(s(n).gender_desc),1)]),a("div",Lo,[e[71]||(e[71]=a("span",{class:"cr-label"},"年龄",-1)),u(c(s(n).case_record.age??"—")+"岁",1)]),a("div",zo,[e[72]||(e[72]=a("span",{class:"cr-label"},"婚姻状态",-1)),u(c(["未婚","已婚","离异"][s(n).case_record.marital_status]??"—"),1)]),a("div",Ao,[e[73]||(e[73]=a("span",{class:"cr-label"},"身高",-1)),u(c(s(n).case_record.height??"—")+"cm",1)]),a("div",Wo,[e[74]||(e[74]=a("span",{class:"cr-label"},"体重",-1)),u(c(s(n).case_record.weight??"—")+"kg",1)]),a("div",Ho,[e[75]||(e[75]=a("span",{class:"cr-label"},"地区",-1)),u(c(s(n).case_record.region||"—"),1)])])]),a("div",Mo,[e[79]||(e[79]=a("div",{class:"cr-section-title"},"生命体征",-1)),a("div",jo,[a("div",Bo,[e[77]||(e[77]=a("span",{class:"cr-label"},"血压",-1)),u(c(s(n).case_record.systolic_pressure!=null&&s(n).case_record.diastolic_pressure!=null?s(n).case_record.systolic_pressure+"/"+s(n).case_record.diastolic_pressure+" mmHg":"—"),1)]),a("div",Fo,[e[78]||(e[78]=a("span",{class:"cr-label"},"空腹血糖",-1)),u(c(s(n).case_record.fasting_blood_sugar!=null?s(n).case_record.fasting_blood_sugar+" mmol/L":"—"),1)])])]),a("div",Go,[e[87]||(e[87]=a("div",{class:"cr-section-title"},"主诉",-1)),a("div",qo,[a("div",Jo,[e[80]||(e[80]=a("span",{class:"cr-label"},"诊断日期",-1)),u(c(s(n).case_record.diagnosis_date||"—"),1)]),a("div",Ko,[e[81]||(e[81]=a("span",{class:"cr-label"},"诊断类型",-1)),u(c($(s(_e),s(n).case_record.diagnosis_type)||"—"),1)]),a("div",Xo,[e[82]||(e[82]=a("span",{class:"cr-label"},"证型",-1)),u(c($(s(me),s(n).case_record.syndrome_type)||"—"),1)]),a("div",Qo,[e[83]||(e[83]=a("span",{class:"cr-label"},"糖尿病期数",-1)),u(c($(s(Ne),s(n).case_record.diabetes_type)||"—"),1)]),a("div",Yo,[e[84]||(e[84]=a("span",{class:"cr-label"},"发现糖尿病患病史",-1)),u(c(s(ps)((w=s(n).case_record)==null?void 0:w.diabetes_discovery_year)),1)]),a("div",Zo,[e[85]||(e[85]=a("span",{class:"cr-label"},"当地医院诊断",-1)),u(c(vt(s(n).case_record.local_hospital_diagnosis)),1)]),a("div",ea,[e[86]||(e[86]=a("span",{class:"cr-label"},"当地就诊医院",-1)),u(c(s(n).case_record.local_hospital_name||"—"),1)])])]),a("div",ta,[e[103]||(e[103]=a("div",{class:"cr-section-title"},"现病史",-1)),a("div",sa,[a("div",oa,[e[88]||(e[88]=a("span",{class:"cr-label"},"口腔感觉",-1)),u(c(C(s($e),s(n).case_record.appetite)),1)]),a("div",aa,[e[89]||(e[89]=a("span",{class:"cr-label"},"每日饮水量",-1)),u(c($(s(Ee),s(n).case_record.water_intake)||"—"),1)]),a("div",la,[e[90]||(e[90]=a("span",{class:"cr-label"},"体重变化",-1)),u(c($(s(Oe),s(n).case_record.weight_change)||"—"),1)]),a("div",na,[e[91]||(e[91]=a("span",{class:"cr-label"},"脂肪肝程度",-1)),u(c($(s(Fe),s(n).case_record.fatty_liver_degree)||"—"),1)]),a("div",ia,[e[92]||(e[92]=a("span",{class:"cr-label"},"饮食情况",-1)),u(c(C(s(Ie),s(n).case_record.diet_condition)),1)]),a("div",ra,[e[93]||(e[93]=a("span",{class:"cr-label"},"肢体感觉",-1)),u(c(C(s(Te),s(n).case_record.body_feeling)),1)]),a("div",da,[e[94]||(e[94]=a("span",{class:"cr-label"},"睡眠情况",-1)),u(c(C(s(Le),s(n).case_record.sleep_condition)),1)]),a("div",ua,[e[95]||(e[95]=a("span",{class:"cr-label"},"眼睛情况",-1)),u(c(C(s(ze),s(n).case_record.eye_condition)),1)]),a("div",ca,[e[96]||(e[96]=a("span",{class:"cr-label"},"头部感觉",-1)),u(c(C(s(Ae),s(n).case_record.head_feeling)),1)]),a("div",pa,[e[97]||(e[97]=a("span",{class:"cr-label"},"出汗情况",-1)),u(c(C(s(We),s(n).case_record.sweat_condition)),1)]),a("div",_a,[e[98]||(e[98]=a("span",{class:"cr-label"},"皮肤情况",-1)),u(c(C(s(He),s(n).case_record.skin_condition)),1)]),a("div",ma,[e[99]||(e[99]=a("span",{class:"cr-label"},"小便情况",-1)),u(c(C(s(Me),s(n).case_record.urine_condition)),1)]),a("div",ga,[e[100]||(e[100]=a("span",{class:"cr-label"},"大便情况",-1)),u(c(C(s(je),s(n).case_record.stool_condition)),1)]),a("div",fa,[e[101]||(e[101]=a("span",{class:"cr-label"},"腰肾情况",-1)),u(c(C(s(Be),s(n).case_record.kidney_condition)),1)]),a("div",va,[e[102]||(e[102]=a("span",{class:"cr-label"},"其他补充",-1)),u(c(s(n).case_record.symptoms||"—"),1)])])]),a("div",ba,[e[105]||(e[105]=a("div",{class:"cr-section-title"},"既往史",-1)),a("div",ya,[e[104]||(e[104]=a("span",{class:"cr-label"},null,-1)),u(c(C(s(Re),s(n).case_record.past_history)),1)])]),a("div",wa,[e[111]||(e[111]=a("div",{class:"cr-section-title"},"其他病史",-1)),a("div",ha,[a("div",ka,[e[106]||(e[106]=a("span",{class:"cr-label"},"外伤史",-1)),u(c(s(n).case_record.trauma_history===1?"有":"无"),1)]),a("div",Va,[e[107]||(e[107]=a("span",{class:"cr-label"},"手术史",-1)),u(c(s(n).case_record.surgery_history===1?"有":"无"),1)]),a("div",Sa,[e[108]||(e[108]=a("span",{class:"cr-label"},"过敏史",-1)),u(c(s(n).case_record.allergy_history===1?"有":"无"),1)]),a("div",xa,[e[109]||(e[109]=a("span",{class:"cr-label"},"家族病史",-1)),u(c(s(n).case_record.family_history===1?"有":"无"),1)]),a("div",Ca,[e[110]||(e[110]=a("span",{class:"cr-label"},"妊娠哺乳史",-1)),u(c(s(n).case_record.pregnancy_history===1?"有":"无"),1)])])]),a("div",Pa,[e[114]||(e[114]=a("div",{class:"cr-section-title"},"诊断信息",-1)),(N=s(n).case_record.tongue_images)!=null&&N.length?(b(),V("div",Ua,[a("div",Da,[e[112]||(e[112]=a("span",{class:"cr-label"},"舌苔照片",-1)),a("div",Na,[(b(!0),V(Q,null,we(s(n).case_record.tongue_images,(g,R)=>(b(),V("img",{key:R,src:ft(g),class:"cr-img",crossorigin:"anonymous"},null,8,Ra))),128))])])])):x("",!0),a("div",$a,[a("div",Ea,[e[113]||(e[113]=a("span",{class:"cr-label"},"舌象",-1)),u(c(s(n).case_record.tongue_coating||"—"),1)])])])])])],512)):x("",!0)]),a("div",Ia,[l(m,{onClick:Ot},{default:d(()=>[l(B,null,{default:d(()=>[l(s(ks))]),_:1}),e[115]||(e[115]=u(" 下载图片 ",-1))]),_:1}),l(m,{type:"primary",onClick:Tt},{default:d(()=>[l(B,null,{default:d(()=>[l(s(Vs))]),_:1}),e[116]||(e[116]=u(" 下载PDF ",-1))]),_:1}),s(n).void_status!==1&&!s(te)?(b(),P(q,{key:0,disabled:!s(Se),content:"该处方已存在业务订单,无法作废,请前往已开处方里修改",placement:"top"},{default:d(()=>[a("span",Oa,[l(m,{type:"danger",plain:"",disabled:s(Se),loading:s(de),onClick:Nt},{default:d(()=>[...e[117]||(e[117]=[u(" 作废处方 ",-1)])]),_:1},8,["disabled","loading"])])]),_:1},8,["disabled"])):x("",!0),s(te)?x("",!0):(b(),P(m,{key:1,onClick:$t},{default:d(()=>[...e[118]||(e[118]=[u("新建处方",-1)])]),_:1})),l(m,{onClick:ge},{default:d(()=>[...e[119]||(e[119]=[u("关闭",-1)])]),_:1})])])):(b(),V("div",Ds,[l(z,{ref_key:"formRef",ref:lt,model:s(t),"label-width":"100px",class:"prescription-form"},{default:d(()=>[a("div",Ns,[e[32]||(e[32]=a("div",{class:"section-title"},"患者信息",-1)),l(v,{gutter:16},{default:d(()=>[l(r,{span:8},{default:d(()=>[l(i,{label:"姓名"},{default:d(()=>[a("span",null,c(s(t).patient_name),1)]),_:1})]),_:1}),l(r,{span:8},{default:d(()=>[l(i,{label:"性别"},{default:d(()=>[a("span",null,c(s(t).gender_desc),1)]),_:1})]),_:1}),l(r,{span:8},{default:d(()=>[l(i,{label:"年龄"},{default:d(()=>[a("span",null,c(s(t).age),1)]),_:1})]),_:1}),l(r,{span:12},{default:d(()=>[l(i,{label:"电话"},{default:d(()=>[a("span",null,c(s(t).phone),1)]),_:1})]),_:1}),l(r,{span:12},{default:d(()=>[l(i,{label:"门诊号"},{default:d(()=>[l(_,{modelValue:s(t).visit_no,"onUpdate:modelValue":e[0]||(e[0]=g=>s(t).visit_no=g),placeholder:"门诊号"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})]),a("div",Rs,[e[33]||(e[33]=a("div",{class:"section-title"},"诊断信息",-1)),l(v,{gutter:16},{default:d(()=>[l(r,{span:12},{default:d(()=>[l(i,{label:"面象",prop:"pulse"},{default:d(()=>[l(_,{modelValue:s(t).pulse,"onUpdate:modelValue":e[1]||(e[1]=g=>s(t).pulse=g),placeholder:"面象"},null,8,["modelValue"])]),_:1})]),_:1}),l(r,{span:12},{default:d(()=>[l(i,{label:"舌象",prop:"tongue"},{default:d(()=>[l(_,{modelValue:s(t).tongue,"onUpdate:modelValue":e[2]||(e[2]=g=>s(t).tongue=g),placeholder:"舌象"},null,8,["modelValue"])]),_:1})]),_:1}),l(r,{span:24},{default:d(()=>[l(i,{label:"临床诊断",prop:"clinical_diagnosis"},{default:d(()=>[l(_,{modelValue:s(t).clinical_diagnosis,"onUpdate:modelValue":e[3]||(e[3]=g=>s(t).clinical_diagnosis=g),type:"textarea",rows:2,placeholder:"请输入临床诊断"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})]),a("div",$s,[a("div",Es,[a("div",Is,[e[37]||(e[37]=a("span",{class:"rp-toolbar__marker","aria-hidden":"true"},null,-1)),a("div",Os,[e[36]||(e[36]=a("h3",{class:"rp-toolbar__heading"},[u(" 中药处方 "),a("span",{class:"rp-toolbar__abbr"},"(RP)")],-1)),a("p",Ts,[e[34]||(e[34]=u(" 共 ",-1)),a("strong",null,c(s(t).herbs.length),1),e[35]||(e[35]=u(" 味药材 · 可手动添加、从处方库或粘贴药方批量录入(药品库同名匹配) ",-1))])])]),a("div",Ls,[l(m,{type:"primary",size:"small",icon:s(ys),onClick:xt},{default:d(()=>[...e[38]||(e[38]=[u(" 添加中药 ",-1)])]),_:1},8,["icon"]),l(m,{type:"primary",plain:"",size:"small",icon:s(ws),onClick:e[4]||(e[4]=g=>A.value=!0)},{default:d(()=>[...e[39]||(e[39]=[u(" 从处方库导入 ",-1)])]),_:1},8,["icon"]),l(m,{type:"primary",plain:"",size:"small",icon:s(hs),onClick:_t},{default:d(()=>[...e[40]||(e[40]=[u(" 导入药方 ",-1)])]),_:1},8,["icon"])])]),a("div",zs,[l(i,{label:"处方价格",prop:"amount",class:"!mb-0"},{default:d(()=>[l(y,{modelValue:s(t).amount,"onUpdate:modelValue":e[5]||(e[5]=g=>s(t).amount=g),min:0,precision:2,placeholder:"请输入处方总价(元)",class:"!w-40"},null,8,["modelValue"]),e[41]||(e[41]=a("span",{class:"ml-2 text-gray-500"},"元",-1))]),_:1})]),a("div",As,[(b(!0),V(Q,null,we(s(t).herbs,(g,R)=>(b(),V("div",{key:"herb-"+R,class:Us(["herb-editor-card",{"herb-editor-card--dup":Ke(R)}])},[a("div",Ws,"中药 "+c(R+1),1),l(rs,{modelValue:g.name,"onUpdate:modelValue":le=>g.name=le,class:"herb-editor-card__select"},null,8,["modelValue","onUpdate:modelValue"]),Ke(R)?(b(),V("div",Hs," 该药名与其他行重复,请合并剂量或删除多余行 ")):x("",!0),a("div",Ms,[l(y,{modelValue:g.dosage,"onUpdate:modelValue":le=>g.dosage=le,min:.1,step:1,precision:1,placeholder:"剂量(克)",class:"herb-editor-card__dose"},null,8,["modelValue","onUpdate:modelValue"]),e[43]||(e[43]=a("span",{class:"text-gray-500 shrink-0"},"克",-1)),l(m,{type:"danger",size:"small",link:"",onClick:le=>Ct(R)},{default:d(()=>[...e[42]||(e[42]=[u(" 删除 ",-1)])]),_:1},8,["onClick"])])],2))),128))])]),a("div",js,[l(v,{gutter:16},{default:d(()=>[l(r,{span:8},{default:d(()=>[l(i,{label:"处方类型",prop:"prescription_type"},{default:d(()=>[l(h,{modelValue:s(t).prescription_type,"onUpdate:modelValue":e[6]||(e[6]=g=>s(t).prescription_type=g),placeholder:"请选择处方类型",class:"!w-full"},{default:d(()=>[l(p,{label:"浓缩水丸",value:"浓缩水丸"}),l(p,{label:"饮片",value:"饮片"})]),_:1},8,["modelValue"])]),_:1})]),_:1}),l(r,{span:8},{default:d(()=>[l(i,{label:"用量",prop:"dosage_amount"},{default:d(()=>[s(t).prescription_type==="浓缩水丸"?(b(),P(h,{key:0,modelValue:s(t).dosage_amount,"onUpdate:modelValue":e[7]||(e[7]=g=>s(t).dosage_amount=g),placeholder:"请选择用量",class:"!w-full"},{default:d(()=>[l(p,{label:"1g",value:1}),l(p,{label:"2g",value:2}),l(p,{label:"3g",value:3}),l(p,{label:"4g",value:4}),l(p,{label:"5g",value:5}),l(p,{label:"6g",value:6}),l(p,{label:"7g",value:7}),l(p,{label:"8g",value:8}),l(p,{label:"9g",value:9}),l(p,{label:"10g",value:10})]),_:1},8,["modelValue"])):s(t).prescription_type==="饮片"?(b(),P(h,{key:1,modelValue:s(t).dosage_amount,"onUpdate:modelValue":e[8]||(e[8]=g=>s(t).dosage_amount=g),placeholder:"请选择用量",class:"!w-full"},{default:d(()=>[l(p,{label:"50ml",value:50}),l(p,{label:"100ml",value:100}),l(p,{label:"120ml",value:120}),l(p,{label:"150ml",value:150}),l(p,{label:"180ml",value:180}),l(p,{label:"200ml",value:200}),l(p,{label:"250ml",value:250})]),_:1},8,["modelValue"])):(b(),P(y,{key:2,modelValue:s(t).dosage_amount,"onUpdate:modelValue":e[9]||(e[9]=g=>s(t).dosage_amount=g),min:0,precision:2,class:"!w-full"},null,8,["modelValue"])),s(t).prescription_type!=="浓缩水丸"&&s(t).prescription_type!=="饮片"?(b(),V("span",Bs,c(s(t).dosage_unit),1)):x("",!0)]),_:1})]),_:1}),s(t).prescription_type==="浓缩水丸"?(b(),P(r,{key:0,span:8},{default:d(()=>[l(i,{label:" ",prop:"dosage_bag_count","label-width":"12px"},{default:d(()=>[l(h,{modelValue:s(t).dosage_bag_count,"onUpdate:modelValue":e[10]||(e[10]=g=>s(t).dosage_bag_count=g),placeholder:"请选择袋数",class:"!w-[120px]"},{default:d(()=>[l(p,{label:"1袋",value:1}),l(p,{label:"2袋",value:2}),l(p,{label:"3袋",value:3}),l(p,{label:"4袋",value:4}),l(p,{label:"5袋",value:5})]),_:1},8,["modelValue"])]),_:1})]),_:1})):x("",!0),s(t).prescription_type==="饮片"?(b(),P(r,{key:1,span:8},{default:d(()=>[l(i,{label:"每贴出包数",prop:"bags_per_dose"},{default:d(()=>[l(h,{modelValue:s(t).bags_per_dose,"onUpdate:modelValue":e[11]||(e[11]=g=>s(t).bags_per_dose=g),placeholder:"请选择",class:"!w-full"},{default:d(()=>[l(p,{label:"1包",value:1}),l(p,{label:"2包",value:2}),l(p,{label:"3包",value:3}),l(p,{label:"4包",value:4}),l(p,{label:"5包",value:5}),l(p,{label:"6包",value:6}),l(p,{label:"7包",value:7}),l(p,{label:"8包",value:8}),l(p,{label:"9包",value:9})]),_:1},8,["modelValue"])]),_:1})]),_:1})):x("",!0),s(t).prescription_type==="饮片"?(b(),P(r,{key:2,span:8},{default:d(()=>[l(i,{label:"是否代煎",prop:"need_decoction"},{default:d(()=>[l(L,{modelValue:s(t).need_decoction,"onUpdate:modelValue":e[12]||(e[12]=g=>s(t).need_decoction=g)},{default:d(()=>[l(U,{label:!0},{default:d(()=>[...e[44]||(e[44]=[u("代煎",-1)])]),_:1}),l(U,{label:!1},{default:d(()=>[...e[45]||(e[45]=[u("不代煎",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1})):x("",!0),l(r,{span:8},{default:d(()=>[l(i,{label:"服用天数",prop:"usage_days"},{default:d(()=>[l(y,{modelValue:s(t).usage_days,"onUpdate:modelValue":e[13]||(e[13]=g=>s(t).usage_days=g),min:1,max:365,class:"!w-full"},null,8,["modelValue"])]),_:1})]),_:1}),l(r,{span:8},{default:d(()=>[l(i,{label:"每天几次",prop:"times_per_day"},{default:d(()=>[l(y,{modelValue:s(t).times_per_day,"onUpdate:modelValue":e[14]||(e[14]=g=>s(t).times_per_day=g),min:1,max:6,class:"!w-full",placeholder:"每天服用次数"},null,8,["modelValue"])]),_:1})]),_:1}),l(r,{span:24},{default:d(()=>[l(i,{label:"用法",prop:"usage_instruction"},{default:d(()=>[l(_,{modelValue:s(t).usage_instruction,"onUpdate:modelValue":e[15]||(e[15]=g=>s(t).usage_instruction=g),placeholder:"",maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1}),l(r,{span:12},{default:d(()=>[l(i,{label:"服用时间",prop:"usage_time"},{default:d(()=>[l(h,{modelValue:s(t).usage_time,"onUpdate:modelValue":e[16]||(e[16]=g=>s(t).usage_time=g),placeholder:"请选择服用时间",class:"!w-full"},{default:d(()=>[l(p,{label:"饭前",value:"饭前"}),l(p,{label:"饭后",value:"饭后"}),l(p,{label:"饭中",value:"饭中"}),l(p,{label:"空腹",value:"空腹"}),l(p,{label:"睡前",value:"睡前"}),l(p,{label:"晨起",value:"晨起"}),l(p,{label:"随时",value:"随时"})]),_:1},8,["modelValue"])]),_:1})]),_:1}),l(r,{span:12},{default:d(()=>[l(i,{label:"服用方式",prop:"usage_way"},{default:d(()=>[l(h,{modelValue:s(t).usage_way,"onUpdate:modelValue":e[17]||(e[17]=g=>s(t).usage_way=g),placeholder:"请选择服用方式",class:"!w-full"},{default:d(()=>[l(p,{label:"温水送服",value:"温水送服"}),l(p,{label:"开水冲服",value:"开水冲服"}),l(p,{label:"黄酒送服",value:"黄酒送服"}),l(p,{label:"淡盐水送服",value:"淡盐水送服"}),l(p,{label:"米汤送服",value:"米汤送服"}),l(p,{label:"嚼服",value:"嚼服"}),l(p,{label:"含化",value:"含化"})]),_:1},8,["modelValue"])]),_:1})]),_:1}),l(r,{span:24},{default:d(()=>[l(i,{label:"忌口",prop:"dietary_taboo"},{default:d(()=>[l(h,{modelValue:s(t).dietary_taboo,"onUpdate:modelValue":e[18]||(e[18]=g=>s(t).dietary_taboo=g),multiple:"",placeholder:"请选择忌口内容(可多选)",class:"!w-full"},{default:d(()=>[l(p,{label:"辛辣食物",value:"辛辣食物"}),l(p,{label:"生冷食物",value:"生冷食物"}),l(p,{label:"油腻食物",value:"油腻食物"}),l(p,{label:"海鲜",value:"海鲜"}),l(p,{label:"牛羊肉",value:"牛羊肉"}),l(p,{label:"鸡蛋",value:"鸡蛋"}),l(p,{label:"豆制品",value:"豆制品"}),l(p,{label:"酒类",value:"酒类"}),l(p,{label:"浓茶",value:"浓茶"}),l(p,{label:"咖啡",value:"咖啡"}),l(p,{label:"烟草",value:"烟草"}),l(p,{label:"萝卜",value:"萝卜"})]),_:1},8,["modelValue"])]),_:1})]),_:1}),l(r,{span:24},{default:d(()=>[l(i,{label:"其他说明",prop:"usage_notes"},{default:d(()=>[l(_,{modelValue:s(t).usage_notes,"onUpdate:modelValue":e[19]||(e[19]=g=>s(t).usage_notes=g),type:"textarea",rows:2,placeholder:"其他服用注意事项",maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1}),l(r,{span:12},{default:d(()=>[l(i,{label:"医师",prop:"doctor_name"},{default:d(()=>[l(_,{modelValue:s(t).doctor_name,"onUpdate:modelValue":e[20]||(e[20]=g=>s(t).doctor_name=g),placeholder:"医师姓名"},null,8,["modelValue"])]),_:1})]),_:1}),l(r,{span:12},{default:d(()=>[l(i,{label:"是否共享",prop:"is_shared"},{default:d(()=>[l(E,{modelValue:s(t).is_shared,"onUpdate:modelValue":e[21]||(e[21]=g=>s(t).is_shared=g),"active-value":1,"inactive-value":0,"active-text":"所有人可见","inactive-text":"仅自己可见"},null,8,["modelValue"])]),_:1})]),_:1}),l(r,{span:24},{default:d(()=>[l(i,{label:"医师签名",prop:"doctor_signature",required:""},{default:d(()=>[a("div",Fs,[a("canvas",{ref_key:"signatureCanvasRef",ref:T,class:"signature-canvas",onPointerdown:X(kt,["prevent"]),onPointermove:X(Vt,["prevent"]),onPointerup:X(Je,["prevent"]),onPointercancel:X(Je,["prevent"])},null,544),a("div",Gs,[l(m,{size:"small",onClick:St},{default:d(()=>[...e[46]||(e[46]=[u("清空签名",-1)])]),_:1})])]),e[47]||(e[47]=a("div",{class:"text-xs text-amber-600 mt-1"},"* 必填,请在框内手写医师签名",-1))]),_:1})]),_:1})]),_:1})])]),_:1},8,["model"])]))]}),_:2},[s(n)?void 0:{name:"footer",fn:d(()=>[a("div",Ta,[l(m,{onClick:ge},{default:d(()=>[...e[120]||(e[120]=[u("取消",-1)])]),_:1}),l(m,{type:"primary",onClick:Ut,loading:s(re)},{default:d(()=>[...e[121]||(e[121]=[u("保存处方",-1)])]),_:1},8,["loading"])])]),key:"0"}]),1032,["modelValue","title"]),l(Ye,{modelValue:s(A),"onUpdate:modelValue":e[26]||(e[26]=w=>I(A)?A.value=w:null),title:"从处方库导入",width:"800px","close-on-click-modal":!1},{default:d(()=>[a("div",La,[l(_,{modelValue:s(F),"onUpdate:modelValue":e[23]||(e[23]=w=>I(F)?F.value=w:null),placeholder:"请输入处方名称搜索",clearable:"",onKeyup:is(ye,["enter"]),onClear:ye},{append:d(()=>[l(m,{icon:s(Ss),onClick:ye},null,8,["icon"])]),_:1},8,["modelValue"])]),Ps((b(),P(Lt,{data:s(Ce),height:"400",onRowClick:Pt,style:{cursor:"pointer"}},{default:d(()=>[l(K,{label:"处方名称",prop:"prescription_name","min-width":"150","show-overflow-tooltip":""}),l(K,{label:"药材数量",width:"100"},{default:d(({row:w})=>{var N;return[u(c(((N=w.herbs)==null?void 0:N.length)||0)+"味 ",1)]}),_:1}),l(K,{label:"药材明细","min-width":"300","show-overflow-tooltip":""},{default:d(({row:w})=>[w.herbs&&w.herbs.length>0?(b(),V("span",za,c(w.herbs.map(N=>`${N.name} ${N.dosage}g`).join("、")),1)):(b(),V("span",Aa,"暂无药材"))]),_:1}),l(K,{label:"创建人",prop:"creator_name",width:"100"}),l(K,{label:"操作",width:"100",fixed:"right"},{default:d(({row:w})=>[l(m,{type:"primary",link:"",onClick:X(N=>Xe(w),["stop"])},{default:d(()=>[...e[122]||(e[122]=[u(" 导入 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[At,s(ue)]]),a("div",Wa,[l(zt,{"current-page":s(H),"onUpdate:currentPage":e[24]||(e[24]=w=>I(H)?H.value=w:null),"page-size":s(se),"onUpdate:pageSize":e[25]||(e[25]=w=>I(se)?se.value=w:null),total:s(Pe),"page-sizes":[10,15,20,50],layout:"total, sizes, prev, pager, next",onCurrentChange:ae,onSizeChange:ae},null,8,["current-page","page-size","total"])])]),_:1},8,["modelValue"]),l(Ye,{modelValue:s(M),"onUpdate:modelValue":e[30]||(e[30]=w=>I(M)?M.value=w:null),title:"导入药方(识别药材)",width:"560px","close-on-click-modal":!1,"destroy-on-close":"",onClosed:e[31]||(e[31]=w=>j.value="")},{footer:d(()=>[l(m,{onClick:e[29]||(e[29]=w=>M.value=!1)},{default:d(()=>[...e[126]||(e[126]=[u("取消",-1)])]),_:1}),l(m,{type:"primary",loading:s(ce),onClick:mt},{default:d(()=>[...e[127]||(e[127]=[u(" 识别并导入 ",-1)])]),_:1},8,["loading"])]),default:d(()=>[e[128]||(e[128]=a("p",{class:"text-gray-500 text-sm mb-2 leading-relaxed"}," 粘贴整张药方文本,系统按「药名 + 剂量」解析;药名须与药品库中名称完全一致才会录入,否则跳过。支持顿号/逗号/换行分隔;单行可用空格分味(如「黄芪15g 白术10g」);「黄芪、党参各10克」等同剂量写法亦可识别。 ",-1)),l(_,{modelValue:s(j),"onUpdate:modelValue":e[27]||(e[27]=w=>I(j)?j.value=w:null),type:"textarea",rows:10,placeholder:`示例: 黄芪15 党参12 茯苓10 柴胡10g、黄芩10、半夏12克 黄芪、白术、茯苓各15克`},null,8,["modelValue"]),a("div",Ha,[e[125]||(e[125]=a("span",{class:"text-sm text-gray-600 shrink-0"},"导入方式",-1)),l(L,{modelValue:s(oe),"onUpdate:modelValue":e[28]||(e[28]=w=>I(oe)?oe.value=w:null)},{default:d(()=>[l(U,{label:"replace"},{default:d(()=>[...e[123]||(e[123]=[u("覆盖现有药材",-1)])]),_:1}),l(U,{label:"append"},{default:d(()=>[...e[124]||(e[124]=[u("追加到末尾",-1)])]),_:1})]),_:1},8,["modelValue"])])]),_:1},8,["modelValue"])],64)}}}),$l=cs(Ma,[["__scopeId","data-v-fb1133ec"]]);export{$l as default}; diff --git a/server/public/admin/assets/index-OPSjrJvJ.js b/server/public/admin/assets/index-BHHQOM-n.js similarity index 74% rename from server/public/admin/assets/index-OPSjrJvJ.js rename to server/public/admin/assets/index-BHHQOM-n.js index 1bf15b10..56b1c28a 100644 --- a/server/public/admin/assets/index-OPSjrJvJ.js +++ b/server/public/admin/assets/index-BHHQOM-n.js @@ -1 +1 @@ -import i from"./attr-CLlbMhxO.js";import{_}from"./content.vue_vue_type_script_setup_true_lang-B9VzIZnv.js";import{_ as s}from"./attr.vue_vue_type_script_setup_true_lang-BN--zfly.js";import a from"./content-B6YfxEbd.js";import{_ as r}from"./attr.vue_vue_type_script_setup_true_lang-BIDjj2ZQ.js";import{_ as l}from"./content.vue_vue_type_script_setup_true_lang-C4EWc4Ny.js";import{_ as c}from"./attr.vue_vue_type_script_setup_true_lang-CVwolQf4.js";import m from"./content-Cj4lK4l8.js";import{_ as d}from"./attr.vue_vue_type_script_setup_true_lang-BVV-rQuy.js";import{_ as p}from"./content.vue_vue_type_script_setup_true_lang-CuEc-gLQ.js";import{_ as f}from"./attr.vue_vue_type_script_setup_true_lang-DnkDutJb.js";import b from"./content-Dyh_0iwA.js";import{_ as g}from"./attr.vue_vue_type_script_setup_true_lang-CTVcHVd7.js";import u from"./content-B1b0mSAw.js";import{_ as y}from"./content.vue_vue_type_script_setup_true_lang-hItYL1wr.js";import{_ as $}from"./attr.vue_vue_type_script_setup_true_lang-ChKJn1wI.js";import v from"./content-B7VEJItb.js";import{_ as x}from"./attr.vue_vue_type_script_setup_true_lang-A0LOU1hn.js";import{_ as j}from"./content.vue_vue_type_script_setup_true_lang-zA2x9af7.js";import{_ as O}from"./attr.vue_vue_type_script_setup_true_lang-9MDVGbdQ.js";import S from"./content-CgQTA2IB.js";const z=()=>({title:"首页轮播图",name:"banner",content:{enabled:1,style:1,bg_style:0,data:[{is_show:"1",image:"",bg:"",name:"",link:{}}]},styles:{}}),M={attr:i,content:_,options:z},P=Object.freeze(Object.defineProperty({__proto__:null,default:M},Symbol.toStringTag,{value:"Module"})),T=()=>({title:"客服设置",name:"customer-service",content:{title:"添加客服二维码",time:"",mobile:"",qrcode:"",remark:""},styles:{}}),w={attr:s,content:a,options:T},h=Object.freeze(Object.defineProperty({__proto__:null,default:w},Symbol.toStringTag,{value:"Module"})),k=()=>({title:"首页中部轮播图",name:"middle-banner",content:{enabled:1,data:[{is_show:"1",image:"",name:"",link:{}}]},styles:{}}),q={attr:r,content:l,options:k},E=Object.freeze(Object.defineProperty({__proto__:null,default:q},Symbol.toStringTag,{value:"Module"})),N=()=>({title:"我的服务",name:"my-service",content:{style:1,title:"我的服务",data:[{image:"",name:"导航名称",link:{}}]},styles:{}}),W={attr:c,content:m,options:N},A=Object.freeze(Object.defineProperty({__proto__:null,default:W},Symbol.toStringTag,{value:"Module"})),B=()=>({title:"导航菜单",name:"nav",content:{enabled:1,style:1,per_line:5,show_line:2,data:[{image:"",name:"导航名称",link:{}}]},styles:{}}),C={attr:d,content:p,options:B},D=Object.freeze(Object.defineProperty({__proto__:null,default:C},Symbol.toStringTag,{value:"Module"})),F=()=>({title:"资讯",name:"news",disabled:1,content:{},styles:{}}),G={attr:f,content:b,options:F},H=Object.freeze(Object.defineProperty({__proto__:null,default:G},Symbol.toStringTag,{value:"Module"})),I=()=>({title:"页面设置",name:"page-meta",content:{title_type:1,title:"",title_img:"",bg_type:1,bg_color:"",bg_image:"",text_color:""},styles:{}}),J={attr:g,content:u,options:I},K=Object.freeze(Object.defineProperty({__proto__:null,default:J},Symbol.toStringTag,{value:"Module"})),L=()=>({title:"首页轮播图",name:"pc-banner",content:{enabled:1,data:[{image:"",name:"",link:{}}]},styles:{}}),Q={content:y,options:L},R=Object.freeze(Object.defineProperty({__proto__:null,default:Q},Symbol.toStringTag,{value:"Module"})),U=()=>({title:"搜索",name:"search",disabled:1,content:{},styles:{}}),V={attr:$,content:v,options:U},X=Object.freeze(Object.defineProperty({__proto__:null,default:V},Symbol.toStringTag,{value:"Module"})),Y=()=>({title:"个人中心广告图",name:"user-banner",content:{enabled:1,data:[{is_show:"1",image:"",name:"",link:{}}]},styles:{}}),Z={attr:x,content:j,options:Y},tt=Object.freeze(Object.defineProperty({__proto__:null,default:Z},Symbol.toStringTag,{value:"Module"})),et=()=>({title:"用户信息",name:"user-info",disabled:1,content:{},styles:{}}),ot={attr:O,content:S,options:et},nt=Object.freeze(Object.defineProperty({__proto__:null,default:ot},Symbol.toStringTag,{value:"Module"})),o=Object.assign({"./banner/index.ts":P,"./customer-service/index.ts":h,"./middle-banner/index.ts":E,"./my-service/index.ts":A,"./nav/index.ts":D,"./news/index.ts":H,"./page-meta/index.ts":K,"./pc-banner/index.ts":R,"./search/index.ts":X,"./user-banner/index.ts":tt,"./user-info/index.ts":nt}),it={};Object.keys(o).forEach(t=>{var e;const n=t.replace(/^\.\/([\w-]+).*/gi,"$1");it[n]=(e=o[t])==null?void 0:e.default});export{it as e}; +import i from"./attr-BsXOKCNj.js";import{_}from"./content.vue_vue_type_script_setup_true_lang-u1kTovEN.js";import{_ as s}from"./attr.vue_vue_type_script_setup_true_lang-c_YeWJqI.js";import a from"./content-Dyki4H78.js";import{_ as r}from"./attr.vue_vue_type_script_setup_true_lang-Dy891kIt.js";import{_ as l}from"./content.vue_vue_type_script_setup_true_lang-uukcy-Ti.js";import{_ as c}from"./attr.vue_vue_type_script_setup_true_lang-6A60mJbu.js";import m from"./content-Sf3nxxVG.js";import{_ as d}from"./attr.vue_vue_type_script_setup_true_lang-Ca7p7CQy.js";import{_ as p}from"./content.vue_vue_type_script_setup_true_lang-B-SEL-YW.js";import{_ as f}from"./attr.vue_vue_type_script_setup_true_lang-DnkDutJb.js";import b from"./content-DblaaeJD.js";import{_ as g}from"./attr.vue_vue_type_script_setup_true_lang-BnCnHgo6.js";import u from"./content-PkioGtTh.js";import{_ as y}from"./content.vue_vue_type_script_setup_true_lang-BK6uSq1e.js";import{_ as $}from"./attr.vue_vue_type_script_setup_true_lang-ChKJn1wI.js";import v from"./content-BeOu4XYf.js";import{_ as x}from"./attr.vue_vue_type_script_setup_true_lang-mOGAGDW2.js";import{_ as j}from"./content.vue_vue_type_script_setup_true_lang-DtEQqPIi.js";import{_ as O}from"./attr.vue_vue_type_script_setup_true_lang-9MDVGbdQ.js";import S from"./content-C_MRybMI.js";const z=()=>({title:"首页轮播图",name:"banner",content:{enabled:1,style:1,bg_style:0,data:[{is_show:"1",image:"",bg:"",name:"",link:{}}]},styles:{}}),M={attr:i,content:_,options:z},P=Object.freeze(Object.defineProperty({__proto__:null,default:M},Symbol.toStringTag,{value:"Module"})),T=()=>({title:"客服设置",name:"customer-service",content:{title:"添加客服二维码",time:"",mobile:"",qrcode:"",remark:""},styles:{}}),w={attr:s,content:a,options:T},h=Object.freeze(Object.defineProperty({__proto__:null,default:w},Symbol.toStringTag,{value:"Module"})),k=()=>({title:"首页中部轮播图",name:"middle-banner",content:{enabled:1,data:[{is_show:"1",image:"",name:"",link:{}}]},styles:{}}),q={attr:r,content:l,options:k},E=Object.freeze(Object.defineProperty({__proto__:null,default:q},Symbol.toStringTag,{value:"Module"})),N=()=>({title:"我的服务",name:"my-service",content:{style:1,title:"我的服务",data:[{image:"",name:"导航名称",link:{}}]},styles:{}}),W={attr:c,content:m,options:N},A=Object.freeze(Object.defineProperty({__proto__:null,default:W},Symbol.toStringTag,{value:"Module"})),B=()=>({title:"导航菜单",name:"nav",content:{enabled:1,style:1,per_line:5,show_line:2,data:[{image:"",name:"导航名称",link:{}}]},styles:{}}),C={attr:d,content:p,options:B},D=Object.freeze(Object.defineProperty({__proto__:null,default:C},Symbol.toStringTag,{value:"Module"})),F=()=>({title:"资讯",name:"news",disabled:1,content:{},styles:{}}),G={attr:f,content:b,options:F},H=Object.freeze(Object.defineProperty({__proto__:null,default:G},Symbol.toStringTag,{value:"Module"})),I=()=>({title:"页面设置",name:"page-meta",content:{title_type:1,title:"",title_img:"",bg_type:1,bg_color:"",bg_image:"",text_color:""},styles:{}}),J={attr:g,content:u,options:I},K=Object.freeze(Object.defineProperty({__proto__:null,default:J},Symbol.toStringTag,{value:"Module"})),L=()=>({title:"首页轮播图",name:"pc-banner",content:{enabled:1,data:[{image:"",name:"",link:{}}]},styles:{}}),Q={content:y,options:L},R=Object.freeze(Object.defineProperty({__proto__:null,default:Q},Symbol.toStringTag,{value:"Module"})),U=()=>({title:"搜索",name:"search",disabled:1,content:{},styles:{}}),V={attr:$,content:v,options:U},X=Object.freeze(Object.defineProperty({__proto__:null,default:V},Symbol.toStringTag,{value:"Module"})),Y=()=>({title:"个人中心广告图",name:"user-banner",content:{enabled:1,data:[{is_show:"1",image:"",name:"",link:{}}]},styles:{}}),Z={attr:x,content:j,options:Y},tt=Object.freeze(Object.defineProperty({__proto__:null,default:Z},Symbol.toStringTag,{value:"Module"})),et=()=>({title:"用户信息",name:"user-info",disabled:1,content:{},styles:{}}),ot={attr:O,content:S,options:et},nt=Object.freeze(Object.defineProperty({__proto__:null,default:ot},Symbol.toStringTag,{value:"Module"})),o=Object.assign({"./banner/index.ts":P,"./customer-service/index.ts":h,"./middle-banner/index.ts":E,"./my-service/index.ts":A,"./nav/index.ts":D,"./news/index.ts":H,"./page-meta/index.ts":K,"./pc-banner/index.ts":R,"./search/index.ts":X,"./user-banner/index.ts":tt,"./user-info/index.ts":nt}),it={};Object.keys(o).forEach(t=>{var e;const n=t.replace(/^\.\/([\w-]+).*/gi,"$1");it[n]=(e=o[t])==null?void 0:e.default});export{it as e}; diff --git a/server/public/admin/assets/index-DFiWKjQO.js b/server/public/admin/assets/index-B_fvWke_.js similarity index 94% rename from server/public/admin/assets/index-DFiWKjQO.js rename to server/public/admin/assets/index-B_fvWke_.js index de83052d..c499d4fd 100644 --- a/server/public/admin/assets/index-DFiWKjQO.js +++ b/server/public/admin/assets/index-B_fvWke_.js @@ -1 +1 @@ -import{O as G,D as M,B as Q,P as W,Q as X,C as Y,i as Z,J as ee,M as te,N as ae,T as oe,L as le}from"./element-plus-0wC3naml.js";import{_ as ne}from"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import{c as ie,i as se}from"./index-E47--KT7.js";import{w as de}from"./@vue/runtime-dom-DDAG46FW.js";import{c as re,e as me,f as pe}from"./dict-Nvtnb8GD.js";import{u as ue}from"./usePaging-VsbTxSU0.js";import{_ as ce}from"./edit.vue_vue_type_script_setup_true_lang-DItGEiu-.js";import{u as _e}from"./vue-router-QlpZ4wdW.js";import{f as R,as as fe,ak as i,I as V,a as t,aN as a,F as ye,ap as ve,G as r,O as m,J as D,aP as v,H as ge,n as F}from"./@vue/runtime-core-C6bnekPw.js";import{r as N,y as o,a as be,n as L,q as ke}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-nymJKQXP.js";const we={class:"dict-type"},Ce={class:"mt-4"},Ve={class:"flex justify-end mt-4"},De=R({name:"dictData"}),_t=R({...De,setup(Ee){const{query:S}=_e(),g=L(!1),_=ke(),s=N({type:"",type_id:Number(S.id),name:"",status:""}),w=N({dict_type:[]}),{pager:f,getLists:y,resetPage:E,resetParams:I}=ue({fetchFun:re,params:s}),C=L([]),U=n=>{C.value=n.map(({id:e})=>e)},q=async()=>{var e,p;g.value=!0,await F();const n=w.dict_type.find(u=>u.id==s.type_id);(e=_.value)==null||e.setFormData({type_value:n==null?void 0:n.type,type_id:n.id}),(p=_.value)==null||p.open("add")},K=async n=>{var e,p;g.value=!0,await F(),(e=_.value)==null||e.open("edit"),(p=_.value)==null||p.setFormData(n)},x=async n=>{await se.confirm("确定要删除?"),await me({id:n}),y()},O=async()=>{const n=await pe({page_type:0});w.dict_type=n.lists};return y(),O(),(n,e)=>{const p=G,u=X,$=W,b=Q,h=Y,c=Z,H=M,P=ee,T=ie,d=ae,B=oe,J=te,j=ne,k=fe("perms"),z=le;return i(),V("div",we,[t(P,{class:"!border-none",shadow:"never"},{default:a(()=>[t(p,{class:"mb-4",content:"数据管理",onBack:e[0]||(e[0]=l=>n.$router.back())}),t(H,{ref:"formRef",class:"mb-[-16px]",model:o(s),inline:""},{default:a(()=>[t(b,{class:"w-[280px]",label:"字典名称"},{default:a(()=>[t($,{modelValue:o(s).type_id,"onUpdate:modelValue":e[1]||(e[1]=l=>o(s).type_id=l),onChange:o(y)},{default:a(()=>[(i(!0),V(ye,null,ve(o(w).dict_type,l=>(i(),r(u,{label:l.name,value:l.id,key:l.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","onChange"])]),_:1}),t(b,{class:"w-[280px]",label:"数据名称"},{default:a(()=>[t(h,{modelValue:o(s).name,"onUpdate:modelValue":e[2]||(e[2]=l=>o(s).name=l),clearable:"",onKeyup:de(o(E),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(b,{class:"w-[280px]",label:"数据状态"},{default:a(()=>[t($,{modelValue:o(s).status,"onUpdate:modelValue":e[3]||(e[3]=l=>o(s).status=l)},{default:a(()=>[t(u,{label:"全部",value:""}),t(u,{label:"正常",value:1}),t(u,{label:"停用",value:0})]),_:1},8,["modelValue"])]),_:1}),t(b,null,{default:a(()=>[t(c,{type:"primary",onClick:o(E)},{default:a(()=>[...e[7]||(e[7]=[m("查询",-1)])]),_:1},8,["onClick"]),t(c,{onClick:o(I)},{default:a(()=>[...e[8]||(e[8]=[m("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),t(P,{class:"!border-none mt-4",shadow:"never"},{default:a(()=>[D("div",null,[v((i(),r(c,{type:"primary",onClick:q},{icon:a(()=>[t(T,{name:"el-icon-Plus"})]),default:a(()=>[e[9]||(e[9]=m(" 添加数据 ",-1))]),_:1})),[[k,["setting.dict.dict_data/add"]]]),v((i(),r(c,{disabled:!o(C).length,type:"danger",onClick:e[4]||(e[4]=l=>x(o(C)))},{icon:a(()=>[t(T,{name:"el-icon-Delete"})]),default:a(()=>[e[10]||(e[10]=m(" 删除 ",-1))]),_:1},8,["disabled"])),[[k,["setting.dict.dict_data/delete"]]])]),v((i(),V("div",Ce,[D("div",null,[t(J,{data:o(f).lists,size:"large",onSelectionChange:U},{default:a(()=>[t(d,{type:"selection",width:"55"}),t(d,{label:"ID",prop:"id"}),t(d,{label:"数据名称",prop:"name","min-width":"120"}),t(d,{label:"数据值",prop:"value","min-width":"120"}),t(d,{label:"状态"},{default:a(({row:l})=>[l.status==1?(i(),r(B,{key:0},{default:a(()=>[...e[11]||(e[11]=[m("正常",-1)])]),_:1})):(i(),r(B,{key:1,type:"danger"},{default:a(()=>[...e[12]||(e[12]=[m("停用",-1)])]),_:1}))]),_:1}),t(d,{label:"备注",prop:"remark","min-width":"120","show-tooltip-when-overflow":""}),t(d,{label:"排序",prop:"sort"}),t(d,{label:"操作",width:"120",fixed:"right"},{default:a(({row:l})=>[v((i(),r(c,{link:"",type:"primary",onClick:A=>K(l)},{default:a(()=>[...e[13]||(e[13]=[m(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[k,["setting.dict.dict_data/edit"]]]),v((i(),r(c,{link:"",type:"danger",onClick:A=>x(l.id)},{default:a(()=>[...e[14]||(e[14]=[m(" 删除 ",-1)])]),_:1},8,["onClick"])),[[k,["setting.dict.dict_data/delete"]]])]),_:1})]),_:1},8,["data"])]),D("div",Ve,[t(j,{modelValue:o(f),"onUpdate:modelValue":e[5]||(e[5]=l=>be(f)?f.value=l:null),onChange:o(y)},null,8,["modelValue","onChange"])])])),[[z,o(f).loading]])]),_:1}),o(g)?(i(),r(ce,{key:0,ref_key:"editRef",ref:_,onSuccess:o(y),onClose:e[6]||(e[6]=l=>g.value=!1)},null,8,["onSuccess"])):ge("",!0)])}}});export{_t as default}; +import{O as G,D as M,B as Q,P as W,Q as X,C as Y,i as Z,J as ee,M as te,N as ae,T as oe,L as le}from"./element-plus-DFTWCWyi.js";import{_ as ne}from"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import{c as ie,i as se}from"./index-DBREMm_z.js";import{w as de}from"./@vue/runtime-dom-DDAG46FW.js";import{c as re,e as me,f as pe}from"./dict-BKviBR_7.js";import{u as ue}from"./usePaging-VsbTxSU0.js";import{_ as ce}from"./edit.vue_vue_type_script_setup_true_lang-SN25urAl.js";import{u as _e}from"./vue-router-QlpZ4wdW.js";import{f as R,as as fe,ak as i,I as V,a as t,aN as a,F as ye,ap as ve,G as r,O as m,J as D,aP as v,H as ge,n as F}from"./@vue/runtime-core-C6bnekPw.js";import{r as N,y as o,a as be,n as L,q as ke}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-BwF7vczx.js";const we={class:"dict-type"},Ce={class:"mt-4"},Ve={class:"flex justify-end mt-4"},De=R({name:"dictData"}),_t=R({...De,setup(Ee){const{query:S}=_e(),g=L(!1),_=ke(),s=N({type:"",type_id:Number(S.id),name:"",status:""}),w=N({dict_type:[]}),{pager:f,getLists:y,resetPage:E,resetParams:I}=ue({fetchFun:re,params:s}),C=L([]),U=n=>{C.value=n.map(({id:e})=>e)},q=async()=>{var e,p;g.value=!0,await F();const n=w.dict_type.find(u=>u.id==s.type_id);(e=_.value)==null||e.setFormData({type_value:n==null?void 0:n.type,type_id:n.id}),(p=_.value)==null||p.open("add")},K=async n=>{var e,p;g.value=!0,await F(),(e=_.value)==null||e.open("edit"),(p=_.value)==null||p.setFormData(n)},x=async n=>{await se.confirm("确定要删除?"),await me({id:n}),y()},O=async()=>{const n=await pe({page_type:0});w.dict_type=n.lists};return y(),O(),(n,e)=>{const p=G,u=X,$=W,b=Q,h=Y,c=Z,H=M,P=ee,T=ie,d=ae,B=oe,J=te,j=ne,k=fe("perms"),z=le;return i(),V("div",we,[t(P,{class:"!border-none",shadow:"never"},{default:a(()=>[t(p,{class:"mb-4",content:"数据管理",onBack:e[0]||(e[0]=l=>n.$router.back())}),t(H,{ref:"formRef",class:"mb-[-16px]",model:o(s),inline:""},{default:a(()=>[t(b,{class:"w-[280px]",label:"字典名称"},{default:a(()=>[t($,{modelValue:o(s).type_id,"onUpdate:modelValue":e[1]||(e[1]=l=>o(s).type_id=l),onChange:o(y)},{default:a(()=>[(i(!0),V(ye,null,ve(o(w).dict_type,l=>(i(),r(u,{label:l.name,value:l.id,key:l.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","onChange"])]),_:1}),t(b,{class:"w-[280px]",label:"数据名称"},{default:a(()=>[t(h,{modelValue:o(s).name,"onUpdate:modelValue":e[2]||(e[2]=l=>o(s).name=l),clearable:"",onKeyup:de(o(E),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(b,{class:"w-[280px]",label:"数据状态"},{default:a(()=>[t($,{modelValue:o(s).status,"onUpdate:modelValue":e[3]||(e[3]=l=>o(s).status=l)},{default:a(()=>[t(u,{label:"全部",value:""}),t(u,{label:"正常",value:1}),t(u,{label:"停用",value:0})]),_:1},8,["modelValue"])]),_:1}),t(b,null,{default:a(()=>[t(c,{type:"primary",onClick:o(E)},{default:a(()=>[...e[7]||(e[7]=[m("查询",-1)])]),_:1},8,["onClick"]),t(c,{onClick:o(I)},{default:a(()=>[...e[8]||(e[8]=[m("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),t(P,{class:"!border-none mt-4",shadow:"never"},{default:a(()=>[D("div",null,[v((i(),r(c,{type:"primary",onClick:q},{icon:a(()=>[t(T,{name:"el-icon-Plus"})]),default:a(()=>[e[9]||(e[9]=m(" 添加数据 ",-1))]),_:1})),[[k,["setting.dict.dict_data/add"]]]),v((i(),r(c,{disabled:!o(C).length,type:"danger",onClick:e[4]||(e[4]=l=>x(o(C)))},{icon:a(()=>[t(T,{name:"el-icon-Delete"})]),default:a(()=>[e[10]||(e[10]=m(" 删除 ",-1))]),_:1},8,["disabled"])),[[k,["setting.dict.dict_data/delete"]]])]),v((i(),V("div",Ce,[D("div",null,[t(J,{data:o(f).lists,size:"large",onSelectionChange:U},{default:a(()=>[t(d,{type:"selection",width:"55"}),t(d,{label:"ID",prop:"id"}),t(d,{label:"数据名称",prop:"name","min-width":"120"}),t(d,{label:"数据值",prop:"value","min-width":"120"}),t(d,{label:"状态"},{default:a(({row:l})=>[l.status==1?(i(),r(B,{key:0},{default:a(()=>[...e[11]||(e[11]=[m("正常",-1)])]),_:1})):(i(),r(B,{key:1,type:"danger"},{default:a(()=>[...e[12]||(e[12]=[m("停用",-1)])]),_:1}))]),_:1}),t(d,{label:"备注",prop:"remark","min-width":"120","show-tooltip-when-overflow":""}),t(d,{label:"排序",prop:"sort"}),t(d,{label:"操作",width:"120",fixed:"right"},{default:a(({row:l})=>[v((i(),r(c,{link:"",type:"primary",onClick:A=>K(l)},{default:a(()=>[...e[13]||(e[13]=[m(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[k,["setting.dict.dict_data/edit"]]]),v((i(),r(c,{link:"",type:"danger",onClick:A=>x(l.id)},{default:a(()=>[...e[14]||(e[14]=[m(" 删除 ",-1)])]),_:1},8,["onClick"])),[[k,["setting.dict.dict_data/delete"]]])]),_:1})]),_:1},8,["data"])]),D("div",Ve,[t(j,{modelValue:o(f),"onUpdate:modelValue":e[5]||(e[5]=l=>be(f)?f.value=l:null),onChange:o(y)},null,8,["modelValue","onChange"])])])),[[z,o(f).loading]])]),_:1}),o(g)?(i(),r(ce,{key:0,ref_key:"editRef",ref:_,onSuccess:o(y),onClose:e[6]||(e[6]=l=>g.value=!1)},null,8,["onSuccess"])):ge("",!0)])}}});export{_t as default}; diff --git a/server/public/admin/assets/index-B56X8bEB.js b/server/public/admin/assets/index-BiPYXDtP.js similarity index 97% rename from server/public/admin/assets/index-B56X8bEB.js rename to server/public/admin/assets/index-BiPYXDtP.js index 3e64e56c..cce74724 100644 --- a/server/public/admin/assets/index-B56X8bEB.js +++ b/server/public/admin/assets/index-BiPYXDtP.js @@ -1 +1 @@ -import{v as Ye,E as Re,V as qe,Y as Ke,L as Qe,s as Ze,Z as Je,n as He,o as Oe,i as Xe,P as et,C as tt,r as lt,H as nt,M as st,N as at,_ as ot,p as it,Q as dt}from"./element-plus-0wC3naml.js";import{_ as ut}from"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import{_ as rt}from"./index-BHTgr4Ka.js";import{_ as De,c as Ie,i as ce,p as ct}from"./index-E47--KT7.js";import{_ as mt}from"./index-nymJKQXP.js";import{U as ft}from"./index-Ci4dcEQh.js";import{_ as pt}from"./index.vue_vue_type_script_setup_true_lang-Bl0f8aX8.js";import{q as me,s as K,w as vt}from"./@vue/runtime-dom-DDAG46FW.js";import{f as fe,ak as i,I as m,J as o,G as h,a as n,H as p,aq as yt,w as Q,n as Ee,aP as Z,aN as s,A as Le,a5 as _t,b as gt,O as r,F as D,ap as W}from"./@vue/runtime-core-C6bnekPw.js";import{p as Te,o as ze,Q as ue}from"./@vue/shared-mAAVTE9n.js";import{f as Ct,b as ht,c as kt,d as $e,e as wt,g as bt,h as xt,i as At}from"./file-DoYUJmkp.js";import{u as St}from"./usePaging-VsbTxSU0.js";import{n as E,q as pe,r as Vt,y as l,a as T,K as Et}from"./@vue/reactivity-DiY1c2vO.js";const zt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAgCAYAAABgrToAAAACJElEQVRYR+2YMWsUURSFz3m7s+nskjUIQSutbMRi7WzUVjSadMHCbVLkByjmLygaCVYWRqMEUhkFS9Gg0cJfYCPZjYUQFbPs+I7c2R1Q2ZjZfRNYYS4MAzPv3vnmvDvL3kMA2Hl5/CjLI9ckf4ZwY3Zt15C+gfwIao3So0rt3XsJtPUk9M/cAW6y9ap2DIyfAjgCwANwGeoYiEFtk/5e5CvXeer1D2neATcGgiTZM4+t9RNLEKcBtAFEGeBsiRWzl7EoSXo+8rV9gWc/fDc1B1VSEoEnDpj0KTB33tS26DGaEezvZQZpRxmODyoT5+vwBwS3zeTcT4yjTdZNJEiPSykk1bjZX6HeD/WQJ1zUApgq2w+etcsniBuAVlH9vELOx6Yo1VywgkmTB4X1kEGGhyAtg/Ecq3NNqnknDwVTrNBaactEts88OHs5b8Bw/Tof4M+kr4WrwwhoL9n5uRPWhxWwsxPEl+EGNMacP5I8evCPGgVgqKSFgoWCoQqE5hc9WCgYqkBoftGDeSiYz1/+UJLe+foftvh2A2B1fwQIrapkaFoDcK4PVyH0qVnyU4fjGdW4NQ2WlgDE5hLkMoJmQdh9zW9Dk59K5lhtLjyE01TX/jDILP5MGEbvbFPOJroIXvc5PjvTBbx7GM4vAjjd9WdSc2g/IPaqaTv5Aq58haP1TSb2Au20GGErvgTxIqiTAA7tVSnn+2Z9vAXdCsa4bD6Nsf0C/gYA5PMzcW0AAAAASUVORK5CYII=",$t=fe({props:{uri:{type:String},fileSize:{type:String,default:"100px"},width:{type:String,default:""},height:{type:String,default:""},type:{type:String,default:"image"}},emits:["close"]}),Rt=["src"],Dt={key:3,class:"absolute left-1/2 top-1/2 translate-x-[-50%] translate-y-[-50%] rounded-full w-5 h-5 flex justify-center items-center bg-[rgba(0,0,0,0.3)]"};function It(a,$,x,_,k,z){const A=Ye,u=Ie;return i(),m("div",null,[o("div",{class:"file-item relative",style:Te({height:a.height||a.fileSize,width:a.width||a.fileSize})},[a.type=="image"?(i(),h(A,{key:0,class:"image",fit:"contain",src:a.uri},null,8,["src"])):a.type=="video"?(i(),m("video",{key:1,class:"video",src:a.uri},null,8,Rt)):(i(),h(A,{key:2,class:"image",src:"https://img95.699pic.com/element/40103/3946.png_860.png"})),a.type=="video"?(i(),m("div",Dt,[n(u,{name:"el-icon-CaretRight",size:18,color:"#fff"})])):p("",!0),yt(a.$slots,"default",{},void 0,!0)],4)])}const re=De($t,[["render",It],["__scopeId","data-v-60d59d9e"]]);function Lt(a){const $=pe(),x=E([]),_=E(""),k=async()=>{const f=await Ct({page_type:0,type:a}),C=[{name:"全部",id:""},{name:"未分组",id:0}];x.value=f.lists,x.value.unshift(...C),setTimeout(()=>{var w;(w=$.value)==null||w.setCurrentKey(_.value)},0)};return{treeRef:$,cateId:_,cateLists:x,handleAddCate:async f=>{await $e({type:a,name:f,pid:0}),k()},handleAddChildCate:async(f,C)=>{await $e({type:a,name:f,pid:C}),k()},handleEditCate:async(f,C)=>{await kt({id:C,name:f}),k()},handleDeleteCate:async(f,C)=>{C?await ce.confirm("删除文件夹将会永久删除文件夹及其所有内容。您确定要继续吗?"):await ce.confirm("确定要删除?"),await ht({id:f}),_.value="",k()},getCateLists:k,handleCatSelect:f=>{_.value=f.id}}}function Tt(a,$,x,_){const k=pe(),z=E("normal"),A=E(0),u=E([]),R=E(!1),g=E(!1),f=Vt({name:"",type:$,cid:a,source:""}),{pager:C,getLists:w,resetPage:j}=St({fetchFun:At,params:f,firstLoading:!0,size:_}),F=()=>{w()},J=()=>{j()},H=c=>!!u.value.find(d=>d.id==c),O=async c=>{await ce.confirm("确认删除后,本地或云存储文件也将同步删除,如文件已被使用,请谨慎操作!");const d=c||u.value.map(V=>V.id);await xt({ids:d}),F(),U()},X=async()=>{const c=u.value.map(d=>d.id);await bt({ids:c,cid:A.value}),A.value=0,F(),U()},ee=c=>{const d=u.value.findIndex(V=>V.id==c.id);if(d!=-1){u.value.splice(d,1);return}if(u.value.length==x.value){if(x.value==1){u.value=[],u.value.push(c);return}Re.warning("已达到选择上限");return}u.value.push(c)},U=()=>{u.value=[]};return{listShowType:z,tableRef:k,moveId:A,pager:C,fileParams:f,select:u,isCheckAll:R,isIndeterminate:g,getFileList:F,refresh:J,batchFileDelete:O,batchFileMove:X,selectFile:ee,isSelect:H,clearSelect:U,cancelSelete:c=>{u.value=u.value.filter(d=>d.id!=c)},selectAll:c=>{var d;if(g.value=!1,(d=k.value)==null||d.toggleAllSelection(),c){u.value=[...C.lists];return}U()},handleFileRename:async(c,d)=>{await wt({id:d,name:c}),F()}}}const Ft={key:0},Ut={key:1},Pt={class:"aspect-video overflow-hidden"},jt={class:"size-full",controls:""},Mt=["src"],Bt=fe({__name:"preview",props:{modelValue:{type:Boolean,default:!1},url:{type:String,default:""},type:{type:String,default:"image"}},emits:["update:modelValue"],setup(a,{emit:$}){const x=a,_=$,k=pe(),z=Le({get(){return x.modelValue},set(R){_("update:modelValue",R)}}),A=()=>{_("update:modelValue",!1)},u=E([]);return Q(()=>x.modelValue,R=>{R?Ee(()=>{var g;u.value=[x.url],(g=k.value)==null||g.play()}):Ee(()=>{var g;u.value=[],(g=k.value)==null||g.pause()})}),(R,g)=>{const f=Ke,C=qe;return Z((i(),m("div",null,[a.type=="image"?(i(),m("div",Ft,[l(u).length?(i(),h(f,{key:0,"url-list":l(u),"hide-on-click-modal":"",onClose:A},null,8,["url-list"])):p("",!0)])):p("",!0),a.type=="video"?(i(),m("div",Ut,[n(C,{modelValue:l(z),"onUpdate:modelValue":g[0]||(g[0]=w=>T(z)?z.value=w:null),width:"740px",title:"视频预览","before-close":A},{default:s(()=>[o("div",Pt,[o("video",jt,[o("source",{src:a.url,type:"video/mp4"},null,8,Mt)])])]),_:1},8,["modelValue"])])):p("",!0)],512)),[[me,a.modelValue]])}}}),Nt={class:"material"},Gt={class:"material__left"},Wt={class:"flex-1 min-h-0"},Yt={class:"material-left__content pt-4 p-b-4"},qt={class:"flex flex-1 items-center min-w-0 pr-4"},Kt={class:"flex-1 truncate mr-2"},Qt=["onClick"],Zt={class:"flex justify-center p-2 border-t border-br"},Jt={class:"material__center flex flex-col"},Ht={class:"operate-btn flex"},Ot={class:"flex-1 flex"},Xt={class:"flex items-center ml-2"},el={key:0,class:"mt-3"},tl={class:"material-center__content flex flex-col flex-1 mb-1 min-h-0"},ll={class:"file-list flex flex-wrap mt-4"},nl={key:0,class:"item-selected"},sl={class:"operation-btns flex items-center"},al={class:"inline-block"},ol={class:"inline-block"},il={class:"inline-block"},dl={key:1,class:"flex flex-1 justify-center items-center"},ul={class:"material-center__footer flex justify-between items-center mt-2"},rl={class:"flex"},cl={class:"mr-3"},ml={key:0,class:"material__right"},fl={class:"flex justify-between p-2 flex-wrap"},pl={class:"sm flex items-center"},vl={key:0},yl={class:"flex-1 min-h-0"},_l={class:"select-lists flex flex-col p-t-3"},gl={class:"select-item"},Cl=fe({__name:"index",props:{fileSize:{type:String,default:"100px"},limit:{type:Number,default:1},type:{type:String,default:"image"},mode:{type:String,default:"picker"},pageSize:{type:Number,default:15}},emits:["change"],setup(a,{expose:$,emit:x}){const _=a,k=x,{limit:z}=Et(_),A=Le(()=>{switch(_.type){case"image":return 10;case"video":return 20;case"file":return 30;default:return 0}}),u=[{value:"0",label:"后台上传"},{value:"1",label:"前端上传"}],R=_t("visible",E(!1)),g=E(""),f=E(!1),{treeRef:C,cateId:w,cateLists:j,handleAddCate:F,handleAddChildCate:J,handleEditCate:H,handleDeleteCate:O,getCateLists:X,handleCatSelect:ee}=Lt(A.value),{tableRef:U,listShowType:I,moveId:L,pager:S,fileParams:c,select:d,isCheckAll:V,isIndeterminate:M,getFileList:ve,refresh:P,batchFileDelete:Y,batchFileMove:ye,selectFile:te,isSelect:_e,clearSelect:ge,cancelSelete:Fe,selectAll:Ce,handleFileRename:he}=Tt(w,A,z,_.pageSize),ke=async()=>{var b;await X(),(b=C.value)==null||b.setCurrentKey(w.value),ve()},le=b=>{g.value=b,f.value=!0};Q(()=>R.value,async b=>{b&&ke()},{immediate:!0}),Q(w,()=>{c.name="",P()}),Q(d,b=>{if(k("change",b),b.length==S.lists.length&&b.length!==0){M.value=!1,V.value=!0;return}b.length>0?M.value=!0:(V.value=!1,M.value=!1)},{deep:!0}),gt(()=>{_.mode=="page"&&ke()}),$({clearSelect:ge});const we=E(),Ue=b=>{const e=b,B=we.value;B.value=e,B.select(),document.execCommand("copy"),Re({message:"地址复制成功",type:"success"})};return(b,e)=>{const B=ct,ne=Oe,N=pt,Pe=He,je=it,Me=Je,se=Ze,y=Xe,ae=ft,oe=dt,ie=et,be=mt,q=Ie,Be=tt,xe=lt,de=nt,Ae=rt,Se=ot,G=at,Ne=st,Ge=ut,We=Qe;return Z((i(),m("div",Nt,[o("div",Gt,[o("div",Wt,[n(se,null,{default:s(()=>[o("div",Yt,[n(Me,{ref_key:"treeRef",ref:C,"node-key":"id",data:l(j),"empty-text":"","highlight-current":!0,"expand-on-click-node":!1,"current-node-key":l(w),onNodeClick:l(ee)},{default:s(({data:t})=>[o("div",qt,[e[16]||(e[16]=o("img",{class:"w-[20px] h-[16px] mr-3",src:zt},null,-1)),o("span",Kt,[n(B,{content:t.name},null,8,["content"])]),t.id>0?(i(),h(je,{key:0,"hide-on-click":!1},{dropdown:s(()=>[n(Pe,null,{default:s(()=>[n(N,{onConfirm:v=>l(H)(v,t.id),size:"default",value:t.name,width:"400px",limit:20,"show-limit":"",teleported:""},{default:s(()=>[o("div",null,[n(ne,null,{default:s(()=>[...e[12]||(e[12]=[r(" 命名分组 ",-1)])]),_:1})])]),_:1},8,["onConfirm","value"]),n(N,{onConfirm:v=>l(J)(v,t.id),size:"default",width:"400px",limit:20,"show-limit":"",teleported:""},{default:s(()=>[o("div",null,[n(ne,null,{default:s(()=>[...e[13]||(e[13]=[r(" 添加分组 ",-1)])]),_:1})])]),_:1},8,["onConfirm"]),o("div",{onClick:v=>{var Ve;return l(O)(t.id,(Ve=t==null?void 0:t.children)==null?void 0:Ve.length)}},[n(ne,null,{default:s(()=>[...e[14]||(e[14]=[r("删除分组",-1)])]),_:1})],8,Qt)]),_:2},1024)]),default:s(()=>[e[15]||(e[15]=o("span",{class:"muted m-r-10"},"···",-1))]),_:2},1024)):p("",!0)])]),_:1},8,["data","current-node-key","onNodeClick"])])]),_:1})]),o("div",Zt,[n(N,{onConfirm:l(F),size:"default",width:"400px",limit:20,"show-limit":"",teleported:""},{default:s(()=>[n(y,null,{default:s(()=>[...e[17]||(e[17]=[r(" 添加分组 ",-1)])]),_:1})]),_:1},8,["onConfirm"])])]),o("div",Jt,[o("div",Ht,[o("div",Ot,[a.type=="image"?(i(),h(ae,{key:0,class:"mr-3",data:{cid:l(w)},type:a.type,"show-progress":!0,onChange:l(P)},{default:s(()=>[n(y,{type:"primary"},{default:s(()=>[...e[18]||(e[18]=[r("本地上传",-1)])]),_:1})]),_:1},8,["data","type","onChange"])):p("",!0),a.type=="video"?(i(),h(ae,{key:1,class:"mr-3",data:{cid:l(w)},type:a.type,"show-progress":!0,onAllSuccess:l(P)},{default:s(()=>[n(y,{type:"primary"},{default:s(()=>[...e[19]||(e[19]=[r("本地上传",-1)])]),_:1})]),_:1},8,["data","type","onAllSuccess"])):p("",!0),a.type=="file"?(i(),h(ae,{key:2,class:"mr-3",data:{cid:l(w)},type:a.type,"show-progress":!0,onAllSuccess:l(P)},{default:s(()=>[n(y,{type:"primary"},{default:s(()=>[...e[20]||(e[20]=[r("本地上传",-1)])]),_:1})]),_:1},8,["data","type","onAllSuccess"])):p("",!0),a.mode=="page"?(i(),h(y,{key:3,disabled:!l(d).length,onClick:e[0]||(e[0]=K(t=>l(Y)(),["stop"]))},{default:s(()=>[...e[21]||(e[21]=[r(" 删除 ",-1)])]),_:1},8,["disabled"])):p("",!0),a.mode=="page"?(i(),h(be,{key:4,class:"ml-3",onConfirm:l(ye),disabled:!l(d).length,title:"移动文件"},{trigger:s(()=>[n(y,{disabled:!l(d).length},{default:s(()=>[...e[22]||(e[22]=[r("移动",-1)])]),_:1},8,["disabled"])]),default:s(()=>[o("div",null,[e[23]||(e[23]=o("span",{class:"mr-5"},"移动文件至",-1)),n(ie,{modelValue:l(L),"onUpdate:modelValue":e[1]||(e[1]=t=>T(L)?L.value=t:null),placeholder:"请选择"},{default:s(()=>[(i(!0),m(D,null,W(l(j),t=>(i(),m(D,{key:t.id},[t.id!==""?(i(),h(oe,{key:0,label:t.name,value:t.id},null,8,["label","value"])):p("",!0)],64))),128))]),_:1},8,["modelValue"])])]),_:1},8,["onConfirm","disabled"])):p("",!0)]),n(ie,{modelValue:l(c).source,"onUpdate:modelValue":e[2]||(e[2]=t=>l(c).source=t),placeholder:"请选择文件来源",clearable:"",style:{"margin-right":"20px"},class:"max-w-52 ml-3"},{default:s(()=>[(i(),m(D,null,W(u,t=>n(oe,{key:t.value,label:t.label,value:t.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"]),n(Be,{class:"w-60",placeholder:"请输入名称",modelValue:l(c).name,"onUpdate:modelValue":e[3]||(e[3]=t=>l(c).name=t),onKeyup:vt(l(P),["enter"])},{append:s(()=>[n(y,{onClick:l(P)},{icon:s(()=>[n(q,{name:"el-icon-Search"})]),_:1},8,["onClick"])]),_:1},8,["modelValue","onKeyup"]),o("div",Xt,[n(xe,{content:"列表视图",placement:"top"},{default:s(()=>[o("div",{class:ze(["list-icon",{select:l(I)=="table"}]),onClick:e[4]||(e[4]=t=>I.value="table")},[n(q,{name:"local-icon-list-2",size:18})],2)]),_:1}),n(xe,{content:"平铺视图",placement:"top"},{default:s(()=>[o("div",{class:ze(["list-icon",{select:l(I)=="normal"}]),onClick:e[5]||(e[5]=t=>I.value="normal")},[n(q,{name:"el-icon-Menu",size:18})],2)]),_:1})])]),a.mode=="page"?(i(),m("div",el,[n(de,{disabled:!l(S).lists.length,modelValue:l(V),"onUpdate:modelValue":e[6]||(e[6]=t=>T(V)?V.value=t:null),onChange:l(Ce),indeterminate:l(M)},{default:s(()=>[...e[24]||(e[24]=[r(" 当页全选 ",-1)])]),_:1},8,["disabled","modelValue","onChange","indeterminate"])])):p("",!0),o("div",tl,[l(S).lists.length?Z((i(),h(se,{key:0},{default:s(()=>[o("ul",ll,[(i(!0),m(D,null,W(l(S).lists,t=>(i(),m("li",{class:"file-item-wrap",key:t.id,style:Te({width:a.fileSize})},[n(Ae,{onClose:v=>l(Y)([t.id])},{default:s(()=>[n(re,{uri:t.url,"file-size":a.fileSize,type:a.type,onClick:v=>l(te)(t)},{default:s(()=>[l(_e)(t.id)?(i(),m("div",nl,[n(q,{size:24,name:"el-icon-Check",color:"#fff"})])):p("",!0)]),_:2},1032,["uri","file-size","type","onClick"])]),_:2},1032,["onClose"]),n(B,{class:"mt-1",content:t.name},null,8,["content"]),o("div",sl,[n(N,{onConfirm:v=>l(he)(v,t.id),size:"default",value:t.name,width:"400px",limit:50,"show-limit":"",teleported:""},{default:s(()=>[n(y,{type:"primary",link:""},{default:s(()=>[...e[25]||(e[25]=[r(" 重命名 ",-1)])]),_:1})]),_:1},8,["onConfirm","value"]),t.type===10||t.type===20?(i(),h(y,{key:0,type:"primary",link:"",onClick:v=>le(t.url)},{default:s(()=>[...e[26]||(e[26]=[r(" 查看 ",-1)])]),_:1},8,["onClick"])):p("",!0),t.type===10||t.type===20?(i(),h(y,{key:1,type:"primary",link:"",onClick:v=>Ue(t.url),style:{"margin-left":"1px"}},{default:s(()=>[...e[27]||(e[27]=[r("地址",-1)])]),_:1},8,["onClick"])):(i(),h(Se,{key:2,type:"primary",underline:!1,style:{"margin-left":"25px"},href:t.url},{default:s(()=>[...e[28]||(e[28]=[r("下载",-1)])]),_:1},8,["href"]))])],4))),128))])]),_:1},512)),[[me,l(I)=="normal"]]):p("",!0),Z(n(Ne,{ref_key:"tableRef",ref:U,class:"mt-4",data:l(S).lists,width:"100%",height:"100%",size:"large",onRowClick:l(te)},{default:s(()=>[n(G,{width:"55"},{default:s(({row:t})=>[n(de,{modelValue:l(_e)(t.id),onChange:v=>l(te)(t)},null,8,["modelValue","onChange"])]),_:1}),n(G,{label:"图片",width:"100"},{default:s(({row:t})=>[n(re,{uri:t.url,"file-size":"50px",type:a.type},null,8,["uri","type"])]),_:1}),n(G,{label:"名称","min-width":"100","show-overflow-tooltip":""},{default:s(({row:t})=>[n(Se,{onClick:K(v=>le(t.url),["stop"]),underline:!1},{default:s(()=>[r(ue(t.name),1)]),_:2},1032,["onClick"])]),_:1}),n(G,{prop:"create_time",label:"上传时间","min-width":"100"}),n(G,{label:"操作",width:"150",fixed:"right"},{default:s(({row:t})=>[o("div",al,[n(N,{onConfirm:v=>l(he)(v,t.id),size:"default",value:t.name,width:"400px",limit:50,"show-limit":"",teleported:""},{default:s(()=>[n(y,{type:"primary",link:""},{default:s(()=>[...e[29]||(e[29]=[r(" 重命名 ",-1)])]),_:1})]),_:1},8,["onConfirm","value"])]),o("div",ol,[n(y,{type:"primary",link:"",onClick:K(v=>le(t.url),["stop"])},{default:s(()=>[...e[30]||(e[30]=[r(" 查看 ",-1)])]),_:1},8,["onClick"])]),o("div",il,[n(y,{type:"primary",link:"",onClick:K(v=>l(Y)([t.id]),["stop"])},{default:s(()=>[...e[31]||(e[31]=[r(" 删除 ",-1)])]),_:1},8,["onClick"])])]),_:1})]),_:1},8,["data","onRowClick"]),[[me,l(I)=="table"]]),!l(S).loading&&!l(S).lists.length?(i(),m("div",dl," 暂无数据~ ")):p("",!0)]),o("div",ul,[o("div",rl,[a.mode=="page"?(i(),m(D,{key:0},[o("span",cl,[n(de,{disabled:!l(S).lists.length,modelValue:l(V),"onUpdate:modelValue":e[7]||(e[7]=t=>T(V)?V.value=t:null),onChange:l(Ce),indeterminate:l(M)},{default:s(()=>[...e[32]||(e[32]=[r(" 当页全选 ",-1)])]),_:1},8,["disabled","modelValue","onChange","indeterminate"])]),n(y,{disabled:!l(d).length,onClick:e[8]||(e[8]=t=>l(Y)())},{default:s(()=>[...e[33]||(e[33]=[r(" 删除 ",-1)])]),_:1},8,["disabled"]),n(be,{class:"ml-3 inline",onConfirm:l(ye),disabled:!l(d).length,title:"移动文件"},{trigger:s(()=>[n(y,{disabled:!l(d).length},{default:s(()=>[...e[34]||(e[34]=[r("移动",-1)])]),_:1},8,["disabled"])]),default:s(()=>[o("div",null,[e[35]||(e[35]=o("span",{class:"mr-5"},"移动文件至",-1)),n(ie,{modelValue:l(L),"onUpdate:modelValue":e[9]||(e[9]=t=>T(L)?L.value=t:null),placeholder:"请选择"},{default:s(()=>[(i(!0),m(D,null,W(l(j),t=>(i(),m(D,{key:t.id},[t.id!==""?(i(),h(oe,{key:0,label:t.name,value:t.id},null,8,["label","value"])):p("",!0)],64))),128))]),_:1},8,["modelValue"])])]),_:1},8,["onConfirm","disabled"])],64)):p("",!0)]),n(Ge,{modelValue:l(S),"onUpdate:modelValue":e[10]||(e[10]=t=>T(S)?S.value=t:null),onChange:l(ve),layout:"total, prev, pager, next, jumper"},null,8,["modelValue","onChange"])])]),a.mode=="picker"?(i(),m("div",ml,[o("div",fl,[o("div",pl,[r(" 已选择 "+ue(l(d).length)+" ",1),l(z)?(i(),m("span",vl,"/"+ue(l(z)),1)):p("",!0)]),n(y,{type:"primary",link:"",onClick:l(ge)},{default:s(()=>[...e[36]||(e[36]=[r("清空",-1)])]),_:1},8,["onClick"])]),o("div",yl,[n(se,{class:"ls-scrollbar"},{default:s(()=>[o("ul",_l,[(i(!0),m(D,null,W(l(d),t=>(i(),m("li",{class:"mb-4",key:t.id},[o("div",gl,[n(Ae,{onClose:v=>l(Fe)(t.id)},{default:s(()=>[n(re,{uri:t.url,"file-size":"100px",type:a.type},null,8,["uri","type"])]),_:2},1032,["onClose"])])]))),128))])]),_:1})])])):p("",!0),n(Bt,{modelValue:l(f),"onUpdate:modelValue":e[11]||(e[11]=t=>T(f)?f.value=t:null),url:l(g),type:a.type},null,8,["modelValue","url","type"]),o("input",{ref_key:"textCopys",ref:we,id:"textCopys",value:"",style:{opacity:"0",position:"absolute"}},null,512)])),[[We,l(S).loading]])}}}),Il=De(Cl,[["__scopeId","data-v-1e1d2cd0"]]);export{re as F,Bt as _,Il as a}; +import{v as Ye,E as Re,V as qe,Y as Ke,L as Qe,s as Ze,Z as Je,n as He,o as Oe,i as Xe,P as et,C as tt,r as lt,H as nt,M as st,N as at,_ as ot,p as it,Q as dt}from"./element-plus-DFTWCWyi.js";import{_ as ut}from"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import{_ as rt}from"./index-CbfZXeGu.js";import{_ as De,c as Ie,i as ce,p as ct}from"./index-DBREMm_z.js";import{_ as mt}from"./index-BwF7vczx.js";import{U as ft}from"./index-CRoZWY-W.js";import{_ as pt}from"./index.vue_vue_type_script_setup_true_lang-x0oL2ShL.js";import{q as me,s as K,w as vt}from"./@vue/runtime-dom-DDAG46FW.js";import{f as fe,ak as i,I as m,J as o,G as h,a as n,H as p,aq as yt,w as Q,n as Ee,aP as Z,aN as s,A as Le,a5 as _t,b as gt,O as r,F as D,ap as W}from"./@vue/runtime-core-C6bnekPw.js";import{p as Te,o as ze,Q as ue}from"./@vue/shared-mAAVTE9n.js";import{f as Ct,b as ht,c as kt,d as $e,e as wt,g as bt,h as xt,i as At}from"./file-BimpIRb_.js";import{u as St}from"./usePaging-VsbTxSU0.js";import{n as E,q as pe,r as Vt,y as l,a as T,K as Et}from"./@vue/reactivity-DiY1c2vO.js";const zt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAgCAYAAABgrToAAAACJElEQVRYR+2YMWsUURSFz3m7s+nskjUIQSutbMRi7WzUVjSadMHCbVLkByjmLygaCVYWRqMEUhkFS9Gg0cJfYCPZjYUQFbPs+I7c2R1Q2ZjZfRNYYS4MAzPv3vnmvDvL3kMA2Hl5/CjLI9ckf4ZwY3Zt15C+gfwIao3So0rt3XsJtPUk9M/cAW6y9ap2DIyfAjgCwANwGeoYiEFtk/5e5CvXeer1D2neATcGgiTZM4+t9RNLEKcBtAFEGeBsiRWzl7EoSXo+8rV9gWc/fDc1B1VSEoEnDpj0KTB33tS26DGaEezvZQZpRxmODyoT5+vwBwS3zeTcT4yjTdZNJEiPSykk1bjZX6HeD/WQJ1zUApgq2w+etcsniBuAVlH9vELOx6Yo1VywgkmTB4X1kEGGhyAtg/Ecq3NNqnknDwVTrNBaactEts88OHs5b8Bw/Tof4M+kr4WrwwhoL9n5uRPWhxWwsxPEl+EGNMacP5I8evCPGgVgqKSFgoWCoQqE5hc9WCgYqkBoftGDeSiYz1/+UJLe+foftvh2A2B1fwQIrapkaFoDcK4PVyH0qVnyU4fjGdW4NQ2WlgDE5hLkMoJmQdh9zW9Dk59K5lhtLjyE01TX/jDILP5MGEbvbFPOJroIXvc5PjvTBbx7GM4vAjjd9WdSc2g/IPaqaTv5Aq58haP1TSb2Au20GGErvgTxIqiTAA7tVSnn+2Z9vAXdCsa4bD6Nsf0C/gYA5PMzcW0AAAAASUVORK5CYII=",$t=fe({props:{uri:{type:String},fileSize:{type:String,default:"100px"},width:{type:String,default:""},height:{type:String,default:""},type:{type:String,default:"image"}},emits:["close"]}),Rt=["src"],Dt={key:3,class:"absolute left-1/2 top-1/2 translate-x-[-50%] translate-y-[-50%] rounded-full w-5 h-5 flex justify-center items-center bg-[rgba(0,0,0,0.3)]"};function It(a,$,x,_,k,z){const A=Ye,u=Ie;return i(),m("div",null,[o("div",{class:"file-item relative",style:Te({height:a.height||a.fileSize,width:a.width||a.fileSize})},[a.type=="image"?(i(),h(A,{key:0,class:"image",fit:"contain",src:a.uri},null,8,["src"])):a.type=="video"?(i(),m("video",{key:1,class:"video",src:a.uri},null,8,Rt)):(i(),h(A,{key:2,class:"image",src:"https://img95.699pic.com/element/40103/3946.png_860.png"})),a.type=="video"?(i(),m("div",Dt,[n(u,{name:"el-icon-CaretRight",size:18,color:"#fff"})])):p("",!0),yt(a.$slots,"default",{},void 0,!0)],4)])}const re=De($t,[["render",It],["__scopeId","data-v-60d59d9e"]]);function Lt(a){const $=pe(),x=E([]),_=E(""),k=async()=>{const f=await Ct({page_type:0,type:a}),C=[{name:"全部",id:""},{name:"未分组",id:0}];x.value=f.lists,x.value.unshift(...C),setTimeout(()=>{var w;(w=$.value)==null||w.setCurrentKey(_.value)},0)};return{treeRef:$,cateId:_,cateLists:x,handleAddCate:async f=>{await $e({type:a,name:f,pid:0}),k()},handleAddChildCate:async(f,C)=>{await $e({type:a,name:f,pid:C}),k()},handleEditCate:async(f,C)=>{await kt({id:C,name:f}),k()},handleDeleteCate:async(f,C)=>{C?await ce.confirm("删除文件夹将会永久删除文件夹及其所有内容。您确定要继续吗?"):await ce.confirm("确定要删除?"),await ht({id:f}),_.value="",k()},getCateLists:k,handleCatSelect:f=>{_.value=f.id}}}function Tt(a,$,x,_){const k=pe(),z=E("normal"),A=E(0),u=E([]),R=E(!1),g=E(!1),f=Vt({name:"",type:$,cid:a,source:""}),{pager:C,getLists:w,resetPage:j}=St({fetchFun:At,params:f,firstLoading:!0,size:_}),F=()=>{w()},J=()=>{j()},H=c=>!!u.value.find(d=>d.id==c),O=async c=>{await ce.confirm("确认删除后,本地或云存储文件也将同步删除,如文件已被使用,请谨慎操作!");const d=c||u.value.map(V=>V.id);await xt({ids:d}),F(),U()},X=async()=>{const c=u.value.map(d=>d.id);await bt({ids:c,cid:A.value}),A.value=0,F(),U()},ee=c=>{const d=u.value.findIndex(V=>V.id==c.id);if(d!=-1){u.value.splice(d,1);return}if(u.value.length==x.value){if(x.value==1){u.value=[],u.value.push(c);return}Re.warning("已达到选择上限");return}u.value.push(c)},U=()=>{u.value=[]};return{listShowType:z,tableRef:k,moveId:A,pager:C,fileParams:f,select:u,isCheckAll:R,isIndeterminate:g,getFileList:F,refresh:J,batchFileDelete:O,batchFileMove:X,selectFile:ee,isSelect:H,clearSelect:U,cancelSelete:c=>{u.value=u.value.filter(d=>d.id!=c)},selectAll:c=>{var d;if(g.value=!1,(d=k.value)==null||d.toggleAllSelection(),c){u.value=[...C.lists];return}U()},handleFileRename:async(c,d)=>{await wt({id:d,name:c}),F()}}}const Ft={key:0},Ut={key:1},Pt={class:"aspect-video overflow-hidden"},jt={class:"size-full",controls:""},Mt=["src"],Bt=fe({__name:"preview",props:{modelValue:{type:Boolean,default:!1},url:{type:String,default:""},type:{type:String,default:"image"}},emits:["update:modelValue"],setup(a,{emit:$}){const x=a,_=$,k=pe(),z=Le({get(){return x.modelValue},set(R){_("update:modelValue",R)}}),A=()=>{_("update:modelValue",!1)},u=E([]);return Q(()=>x.modelValue,R=>{R?Ee(()=>{var g;u.value=[x.url],(g=k.value)==null||g.play()}):Ee(()=>{var g;u.value=[],(g=k.value)==null||g.pause()})}),(R,g)=>{const f=Ke,C=qe;return Z((i(),m("div",null,[a.type=="image"?(i(),m("div",Ft,[l(u).length?(i(),h(f,{key:0,"url-list":l(u),"hide-on-click-modal":"",onClose:A},null,8,["url-list"])):p("",!0)])):p("",!0),a.type=="video"?(i(),m("div",Ut,[n(C,{modelValue:l(z),"onUpdate:modelValue":g[0]||(g[0]=w=>T(z)?z.value=w:null),width:"740px",title:"视频预览","before-close":A},{default:s(()=>[o("div",Pt,[o("video",jt,[o("source",{src:a.url,type:"video/mp4"},null,8,Mt)])])]),_:1},8,["modelValue"])])):p("",!0)],512)),[[me,a.modelValue]])}}}),Nt={class:"material"},Gt={class:"material__left"},Wt={class:"flex-1 min-h-0"},Yt={class:"material-left__content pt-4 p-b-4"},qt={class:"flex flex-1 items-center min-w-0 pr-4"},Kt={class:"flex-1 truncate mr-2"},Qt=["onClick"],Zt={class:"flex justify-center p-2 border-t border-br"},Jt={class:"material__center flex flex-col"},Ht={class:"operate-btn flex"},Ot={class:"flex-1 flex"},Xt={class:"flex items-center ml-2"},el={key:0,class:"mt-3"},tl={class:"material-center__content flex flex-col flex-1 mb-1 min-h-0"},ll={class:"file-list flex flex-wrap mt-4"},nl={key:0,class:"item-selected"},sl={class:"operation-btns flex items-center"},al={class:"inline-block"},ol={class:"inline-block"},il={class:"inline-block"},dl={key:1,class:"flex flex-1 justify-center items-center"},ul={class:"material-center__footer flex justify-between items-center mt-2"},rl={class:"flex"},cl={class:"mr-3"},ml={key:0,class:"material__right"},fl={class:"flex justify-between p-2 flex-wrap"},pl={class:"sm flex items-center"},vl={key:0},yl={class:"flex-1 min-h-0"},_l={class:"select-lists flex flex-col p-t-3"},gl={class:"select-item"},Cl=fe({__name:"index",props:{fileSize:{type:String,default:"100px"},limit:{type:Number,default:1},type:{type:String,default:"image"},mode:{type:String,default:"picker"},pageSize:{type:Number,default:15}},emits:["change"],setup(a,{expose:$,emit:x}){const _=a,k=x,{limit:z}=Et(_),A=Le(()=>{switch(_.type){case"image":return 10;case"video":return 20;case"file":return 30;default:return 0}}),u=[{value:"0",label:"后台上传"},{value:"1",label:"前端上传"}],R=_t("visible",E(!1)),g=E(""),f=E(!1),{treeRef:C,cateId:w,cateLists:j,handleAddCate:F,handleAddChildCate:J,handleEditCate:H,handleDeleteCate:O,getCateLists:X,handleCatSelect:ee}=Lt(A.value),{tableRef:U,listShowType:I,moveId:L,pager:S,fileParams:c,select:d,isCheckAll:V,isIndeterminate:M,getFileList:ve,refresh:P,batchFileDelete:Y,batchFileMove:ye,selectFile:te,isSelect:_e,clearSelect:ge,cancelSelete:Fe,selectAll:Ce,handleFileRename:he}=Tt(w,A,z,_.pageSize),ke=async()=>{var b;await X(),(b=C.value)==null||b.setCurrentKey(w.value),ve()},le=b=>{g.value=b,f.value=!0};Q(()=>R.value,async b=>{b&&ke()},{immediate:!0}),Q(w,()=>{c.name="",P()}),Q(d,b=>{if(k("change",b),b.length==S.lists.length&&b.length!==0){M.value=!1,V.value=!0;return}b.length>0?M.value=!0:(V.value=!1,M.value=!1)},{deep:!0}),gt(()=>{_.mode=="page"&&ke()}),$({clearSelect:ge});const we=E(),Ue=b=>{const e=b,B=we.value;B.value=e,B.select(),document.execCommand("copy"),Re({message:"地址复制成功",type:"success"})};return(b,e)=>{const B=ct,ne=Oe,N=pt,Pe=He,je=it,Me=Je,se=Ze,y=Xe,ae=ft,oe=dt,ie=et,be=mt,q=Ie,Be=tt,xe=lt,de=nt,Ae=rt,Se=ot,G=at,Ne=st,Ge=ut,We=Qe;return Z((i(),m("div",Nt,[o("div",Gt,[o("div",Wt,[n(se,null,{default:s(()=>[o("div",Yt,[n(Me,{ref_key:"treeRef",ref:C,"node-key":"id",data:l(j),"empty-text":"","highlight-current":!0,"expand-on-click-node":!1,"current-node-key":l(w),onNodeClick:l(ee)},{default:s(({data:t})=>[o("div",qt,[e[16]||(e[16]=o("img",{class:"w-[20px] h-[16px] mr-3",src:zt},null,-1)),o("span",Kt,[n(B,{content:t.name},null,8,["content"])]),t.id>0?(i(),h(je,{key:0,"hide-on-click":!1},{dropdown:s(()=>[n(Pe,null,{default:s(()=>[n(N,{onConfirm:v=>l(H)(v,t.id),size:"default",value:t.name,width:"400px",limit:20,"show-limit":"",teleported:""},{default:s(()=>[o("div",null,[n(ne,null,{default:s(()=>[...e[12]||(e[12]=[r(" 命名分组 ",-1)])]),_:1})])]),_:1},8,["onConfirm","value"]),n(N,{onConfirm:v=>l(J)(v,t.id),size:"default",width:"400px",limit:20,"show-limit":"",teleported:""},{default:s(()=>[o("div",null,[n(ne,null,{default:s(()=>[...e[13]||(e[13]=[r(" 添加分组 ",-1)])]),_:1})])]),_:1},8,["onConfirm"]),o("div",{onClick:v=>{var Ve;return l(O)(t.id,(Ve=t==null?void 0:t.children)==null?void 0:Ve.length)}},[n(ne,null,{default:s(()=>[...e[14]||(e[14]=[r("删除分组",-1)])]),_:1})],8,Qt)]),_:2},1024)]),default:s(()=>[e[15]||(e[15]=o("span",{class:"muted m-r-10"},"···",-1))]),_:2},1024)):p("",!0)])]),_:1},8,["data","current-node-key","onNodeClick"])])]),_:1})]),o("div",Zt,[n(N,{onConfirm:l(F),size:"default",width:"400px",limit:20,"show-limit":"",teleported:""},{default:s(()=>[n(y,null,{default:s(()=>[...e[17]||(e[17]=[r(" 添加分组 ",-1)])]),_:1})]),_:1},8,["onConfirm"])])]),o("div",Jt,[o("div",Ht,[o("div",Ot,[a.type=="image"?(i(),h(ae,{key:0,class:"mr-3",data:{cid:l(w)},type:a.type,"show-progress":!0,onChange:l(P)},{default:s(()=>[n(y,{type:"primary"},{default:s(()=>[...e[18]||(e[18]=[r("本地上传",-1)])]),_:1})]),_:1},8,["data","type","onChange"])):p("",!0),a.type=="video"?(i(),h(ae,{key:1,class:"mr-3",data:{cid:l(w)},type:a.type,"show-progress":!0,onAllSuccess:l(P)},{default:s(()=>[n(y,{type:"primary"},{default:s(()=>[...e[19]||(e[19]=[r("本地上传",-1)])]),_:1})]),_:1},8,["data","type","onAllSuccess"])):p("",!0),a.type=="file"?(i(),h(ae,{key:2,class:"mr-3",data:{cid:l(w)},type:a.type,"show-progress":!0,onAllSuccess:l(P)},{default:s(()=>[n(y,{type:"primary"},{default:s(()=>[...e[20]||(e[20]=[r("本地上传",-1)])]),_:1})]),_:1},8,["data","type","onAllSuccess"])):p("",!0),a.mode=="page"?(i(),h(y,{key:3,disabled:!l(d).length,onClick:e[0]||(e[0]=K(t=>l(Y)(),["stop"]))},{default:s(()=>[...e[21]||(e[21]=[r(" 删除 ",-1)])]),_:1},8,["disabled"])):p("",!0),a.mode=="page"?(i(),h(be,{key:4,class:"ml-3",onConfirm:l(ye),disabled:!l(d).length,title:"移动文件"},{trigger:s(()=>[n(y,{disabled:!l(d).length},{default:s(()=>[...e[22]||(e[22]=[r("移动",-1)])]),_:1},8,["disabled"])]),default:s(()=>[o("div",null,[e[23]||(e[23]=o("span",{class:"mr-5"},"移动文件至",-1)),n(ie,{modelValue:l(L),"onUpdate:modelValue":e[1]||(e[1]=t=>T(L)?L.value=t:null),placeholder:"请选择"},{default:s(()=>[(i(!0),m(D,null,W(l(j),t=>(i(),m(D,{key:t.id},[t.id!==""?(i(),h(oe,{key:0,label:t.name,value:t.id},null,8,["label","value"])):p("",!0)],64))),128))]),_:1},8,["modelValue"])])]),_:1},8,["onConfirm","disabled"])):p("",!0)]),n(ie,{modelValue:l(c).source,"onUpdate:modelValue":e[2]||(e[2]=t=>l(c).source=t),placeholder:"请选择文件来源",clearable:"",style:{"margin-right":"20px"},class:"max-w-52 ml-3"},{default:s(()=>[(i(),m(D,null,W(u,t=>n(oe,{key:t.value,label:t.label,value:t.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"]),n(Be,{class:"w-60",placeholder:"请输入名称",modelValue:l(c).name,"onUpdate:modelValue":e[3]||(e[3]=t=>l(c).name=t),onKeyup:vt(l(P),["enter"])},{append:s(()=>[n(y,{onClick:l(P)},{icon:s(()=>[n(q,{name:"el-icon-Search"})]),_:1},8,["onClick"])]),_:1},8,["modelValue","onKeyup"]),o("div",Xt,[n(xe,{content:"列表视图",placement:"top"},{default:s(()=>[o("div",{class:ze(["list-icon",{select:l(I)=="table"}]),onClick:e[4]||(e[4]=t=>I.value="table")},[n(q,{name:"local-icon-list-2",size:18})],2)]),_:1}),n(xe,{content:"平铺视图",placement:"top"},{default:s(()=>[o("div",{class:ze(["list-icon",{select:l(I)=="normal"}]),onClick:e[5]||(e[5]=t=>I.value="normal")},[n(q,{name:"el-icon-Menu",size:18})],2)]),_:1})])]),a.mode=="page"?(i(),m("div",el,[n(de,{disabled:!l(S).lists.length,modelValue:l(V),"onUpdate:modelValue":e[6]||(e[6]=t=>T(V)?V.value=t:null),onChange:l(Ce),indeterminate:l(M)},{default:s(()=>[...e[24]||(e[24]=[r(" 当页全选 ",-1)])]),_:1},8,["disabled","modelValue","onChange","indeterminate"])])):p("",!0),o("div",tl,[l(S).lists.length?Z((i(),h(se,{key:0},{default:s(()=>[o("ul",ll,[(i(!0),m(D,null,W(l(S).lists,t=>(i(),m("li",{class:"file-item-wrap",key:t.id,style:Te({width:a.fileSize})},[n(Ae,{onClose:v=>l(Y)([t.id])},{default:s(()=>[n(re,{uri:t.url,"file-size":a.fileSize,type:a.type,onClick:v=>l(te)(t)},{default:s(()=>[l(_e)(t.id)?(i(),m("div",nl,[n(q,{size:24,name:"el-icon-Check",color:"#fff"})])):p("",!0)]),_:2},1032,["uri","file-size","type","onClick"])]),_:2},1032,["onClose"]),n(B,{class:"mt-1",content:t.name},null,8,["content"]),o("div",sl,[n(N,{onConfirm:v=>l(he)(v,t.id),size:"default",value:t.name,width:"400px",limit:50,"show-limit":"",teleported:""},{default:s(()=>[n(y,{type:"primary",link:""},{default:s(()=>[...e[25]||(e[25]=[r(" 重命名 ",-1)])]),_:1})]),_:1},8,["onConfirm","value"]),t.type===10||t.type===20?(i(),h(y,{key:0,type:"primary",link:"",onClick:v=>le(t.url)},{default:s(()=>[...e[26]||(e[26]=[r(" 查看 ",-1)])]),_:1},8,["onClick"])):p("",!0),t.type===10||t.type===20?(i(),h(y,{key:1,type:"primary",link:"",onClick:v=>Ue(t.url),style:{"margin-left":"1px"}},{default:s(()=>[...e[27]||(e[27]=[r("地址",-1)])]),_:1},8,["onClick"])):(i(),h(Se,{key:2,type:"primary",underline:!1,style:{"margin-left":"25px"},href:t.url},{default:s(()=>[...e[28]||(e[28]=[r("下载",-1)])]),_:1},8,["href"]))])],4))),128))])]),_:1},512)),[[me,l(I)=="normal"]]):p("",!0),Z(n(Ne,{ref_key:"tableRef",ref:U,class:"mt-4",data:l(S).lists,width:"100%",height:"100%",size:"large",onRowClick:l(te)},{default:s(()=>[n(G,{width:"55"},{default:s(({row:t})=>[n(de,{modelValue:l(_e)(t.id),onChange:v=>l(te)(t)},null,8,["modelValue","onChange"])]),_:1}),n(G,{label:"图片",width:"100"},{default:s(({row:t})=>[n(re,{uri:t.url,"file-size":"50px",type:a.type},null,8,["uri","type"])]),_:1}),n(G,{label:"名称","min-width":"100","show-overflow-tooltip":""},{default:s(({row:t})=>[n(Se,{onClick:K(v=>le(t.url),["stop"]),underline:!1},{default:s(()=>[r(ue(t.name),1)]),_:2},1032,["onClick"])]),_:1}),n(G,{prop:"create_time",label:"上传时间","min-width":"100"}),n(G,{label:"操作",width:"150",fixed:"right"},{default:s(({row:t})=>[o("div",al,[n(N,{onConfirm:v=>l(he)(v,t.id),size:"default",value:t.name,width:"400px",limit:50,"show-limit":"",teleported:""},{default:s(()=>[n(y,{type:"primary",link:""},{default:s(()=>[...e[29]||(e[29]=[r(" 重命名 ",-1)])]),_:1})]),_:1},8,["onConfirm","value"])]),o("div",ol,[n(y,{type:"primary",link:"",onClick:K(v=>le(t.url),["stop"])},{default:s(()=>[...e[30]||(e[30]=[r(" 查看 ",-1)])]),_:1},8,["onClick"])]),o("div",il,[n(y,{type:"primary",link:"",onClick:K(v=>l(Y)([t.id]),["stop"])},{default:s(()=>[...e[31]||(e[31]=[r(" 删除 ",-1)])]),_:1},8,["onClick"])])]),_:1})]),_:1},8,["data","onRowClick"]),[[me,l(I)=="table"]]),!l(S).loading&&!l(S).lists.length?(i(),m("div",dl," 暂无数据~ ")):p("",!0)]),o("div",ul,[o("div",rl,[a.mode=="page"?(i(),m(D,{key:0},[o("span",cl,[n(de,{disabled:!l(S).lists.length,modelValue:l(V),"onUpdate:modelValue":e[7]||(e[7]=t=>T(V)?V.value=t:null),onChange:l(Ce),indeterminate:l(M)},{default:s(()=>[...e[32]||(e[32]=[r(" 当页全选 ",-1)])]),_:1},8,["disabled","modelValue","onChange","indeterminate"])]),n(y,{disabled:!l(d).length,onClick:e[8]||(e[8]=t=>l(Y)())},{default:s(()=>[...e[33]||(e[33]=[r(" 删除 ",-1)])]),_:1},8,["disabled"]),n(be,{class:"ml-3 inline",onConfirm:l(ye),disabled:!l(d).length,title:"移动文件"},{trigger:s(()=>[n(y,{disabled:!l(d).length},{default:s(()=>[...e[34]||(e[34]=[r("移动",-1)])]),_:1},8,["disabled"])]),default:s(()=>[o("div",null,[e[35]||(e[35]=o("span",{class:"mr-5"},"移动文件至",-1)),n(ie,{modelValue:l(L),"onUpdate:modelValue":e[9]||(e[9]=t=>T(L)?L.value=t:null),placeholder:"请选择"},{default:s(()=>[(i(!0),m(D,null,W(l(j),t=>(i(),m(D,{key:t.id},[t.id!==""?(i(),h(oe,{key:0,label:t.name,value:t.id},null,8,["label","value"])):p("",!0)],64))),128))]),_:1},8,["modelValue"])])]),_:1},8,["onConfirm","disabled"])],64)):p("",!0)]),n(Ge,{modelValue:l(S),"onUpdate:modelValue":e[10]||(e[10]=t=>T(S)?S.value=t:null),onChange:l(ve),layout:"total, prev, pager, next, jumper"},null,8,["modelValue","onChange"])])]),a.mode=="picker"?(i(),m("div",ml,[o("div",fl,[o("div",pl,[r(" 已选择 "+ue(l(d).length)+" ",1),l(z)?(i(),m("span",vl,"/"+ue(l(z)),1)):p("",!0)]),n(y,{type:"primary",link:"",onClick:l(ge)},{default:s(()=>[...e[36]||(e[36]=[r("清空",-1)])]),_:1},8,["onClick"])]),o("div",yl,[n(se,{class:"ls-scrollbar"},{default:s(()=>[o("ul",_l,[(i(!0),m(D,null,W(l(d),t=>(i(),m("li",{class:"mb-4",key:t.id},[o("div",gl,[n(Ae,{onClose:v=>l(Fe)(t.id)},{default:s(()=>[n(re,{uri:t.url,"file-size":"100px",type:a.type},null,8,["uri","type"])]),_:2},1032,["onClose"])])]))),128))])]),_:1})])])):p("",!0),n(Bt,{modelValue:l(f),"onUpdate:modelValue":e[11]||(e[11]=t=>T(f)?f.value=t:null),url:l(g),type:a.type},null,8,["modelValue","url","type"]),o("input",{ref_key:"textCopys",ref:we,id:"textCopys",value:"",style:{opacity:"0",position:"absolute"}},null,512)])),[[We,l(S).loading]])}}}),Il=De(Cl,[["__scopeId","data-v-1e1d2cd0"]]);export{re as F,Bt as _,Il as a}; diff --git a/server/public/admin/assets/index-nymJKQXP.js b/server/public/admin/assets/index-BwF7vczx.js similarity index 94% rename from server/public/admin/assets/index-nymJKQXP.js rename to server/public/admin/assets/index-BwF7vczx.js index 4ab3ed10..d27f30ba 100644 --- a/server/public/admin/assets/index-nymJKQXP.js +++ b/server/public/admin/assets/index-BwF7vczx.js @@ -1 +1 @@ -import{i as g,V as B}from"./element-plus-0wC3naml.js";import{f as k,n as C,am as b,ak as r,I as S,J as f,aq as p,a as T,M as V,aN as a,O as s,G as m,H as v}from"./@vue/runtime-core-C6bnekPw.js";import{n as $}from"./@vue/reactivity-DiY1c2vO.js";import{_ as E}from"./index-E47--KT7.js";import{Q as i,o as N}from"./@vue/shared-mAAVTE9n.js";const w=k({props:{title:{type:String,default:""},content:{type:String,default:""},confirmButtonText:{type:[String,Boolean],default:"确定"},cancelButtonText:{type:[String,Boolean],default:"取消"},width:{type:String,default:"400px"},disabled:{type:Boolean,default:!1},async:{type:Boolean,default:!1},clickModalClose:{type:Boolean,default:!1},center:{type:Boolean,default:!1},customClass:{type:String,default:""},zIndex:{type:Number,default:void 0}},emits:["confirm","cancel","close","open"],setup(e,{emit:o}){const t=$(!1),u=n=>{o(n),(!e.async||n==="cancel")&&d()},d=()=>{t.value=!1,C(()=>{o("close")})},c=()=>{e.disabled||(o("open"),t.value=!0)};return b("visible",t),{visible:t,handleEvent:u,close:d,open:c}}}),z={class:"dialog"},h={class:"dialog-footer"};function I(e,o,t,u,d,c){const n=g,y=B;return r(),S("div",z,[f("div",{class:"dialog__trigger",onClick:o[0]||(o[0]=(...l)=>e.open&&e.open(...l))},[p(e.$slots,"trigger",{},void 0,!0)]),T(y,{modelValue:e.visible,"onUpdate:modelValue":o[3]||(o[3]=l=>e.visible=l),class:N(e.customClass),center:e.center,"append-to-body":!0,width:e.width,"close-on-click-modal":e.clickModalClose,"z-index":e.zIndex,onClosed:e.close},V({footer:a(()=>[f("div",h,[e.cancelButtonText?(r(),m(n,{key:0,onClick:o[1]||(o[1]=l=>e.handleEvent("cancel"))},{default:a(()=>[s(i(e.cancelButtonText),1)]),_:1})):v("",!0),e.confirmButtonText?(r(),m(n,{key:1,type:"primary",onClick:o[2]||(o[2]=l=>e.handleEvent("confirm"))},{default:a(()=>[s(i(e.confirmButtonText),1)]),_:1})):v("",!0)])]),default:a(()=>[p(e.$slots,"default",{},()=>[s(i(e.content),1)],!0)]),_:2},[e.title?{name:"header",fn:a(()=>[s(i(e.title),1)]),key:"0"}:void 0]),1032,["modelValue","class","center","width","close-on-click-modal","z-index","onClosed"])])}const H=E(w,[["render",I],["__scopeId","data-v-40005f05"]]);export{H as _}; +import{i as g,V as B}from"./element-plus-DFTWCWyi.js";import{f as k,n as C,am as b,ak as r,I as S,J as f,aq as p,a as T,M as V,aN as a,O as s,G as m,H as v}from"./@vue/runtime-core-C6bnekPw.js";import{n as $}from"./@vue/reactivity-DiY1c2vO.js";import{_ as E}from"./index-DBREMm_z.js";import{Q as i,o as N}from"./@vue/shared-mAAVTE9n.js";const w=k({props:{title:{type:String,default:""},content:{type:String,default:""},confirmButtonText:{type:[String,Boolean],default:"确定"},cancelButtonText:{type:[String,Boolean],default:"取消"},width:{type:String,default:"400px"},disabled:{type:Boolean,default:!1},async:{type:Boolean,default:!1},clickModalClose:{type:Boolean,default:!1},center:{type:Boolean,default:!1},customClass:{type:String,default:""},zIndex:{type:Number,default:void 0}},emits:["confirm","cancel","close","open"],setup(e,{emit:o}){const t=$(!1),u=n=>{o(n),(!e.async||n==="cancel")&&d()},d=()=>{t.value=!1,C(()=>{o("close")})},c=()=>{e.disabled||(o("open"),t.value=!0)};return b("visible",t),{visible:t,handleEvent:u,close:d,open:c}}}),z={class:"dialog"},h={class:"dialog-footer"};function I(e,o,t,u,d,c){const n=g,y=B;return r(),S("div",z,[f("div",{class:"dialog__trigger",onClick:o[0]||(o[0]=(...l)=>e.open&&e.open(...l))},[p(e.$slots,"trigger",{},void 0,!0)]),T(y,{modelValue:e.visible,"onUpdate:modelValue":o[3]||(o[3]=l=>e.visible=l),class:N(e.customClass),center:e.center,"append-to-body":!0,width:e.width,"close-on-click-modal":e.clickModalClose,"z-index":e.zIndex,onClosed:e.close},V({footer:a(()=>[f("div",h,[e.cancelButtonText?(r(),m(n,{key:0,onClick:o[1]||(o[1]=l=>e.handleEvent("cancel"))},{default:a(()=>[s(i(e.cancelButtonText),1)]),_:1})):v("",!0),e.confirmButtonText?(r(),m(n,{key:1,type:"primary",onClick:o[2]||(o[2]=l=>e.handleEvent("confirm"))},{default:a(()=>[s(i(e.confirmButtonText),1)]),_:1})):v("",!0)])]),default:a(()=>[p(e.$slots,"default",{},()=>[s(i(e.content),1)],!0)]),_:2},[e.title?{name:"header",fn:a(()=>[s(i(e.title),1)]),key:"0"}:void 0]),1032,["modelValue","class","center","width","close-on-click-modal","z-index","onClosed"])])}const H=E(w,[["render",I],["__scopeId","data-v-40005f05"]]);export{H as _}; diff --git a/server/public/admin/assets/index-Bou06sos.js b/server/public/admin/assets/index-BzJ9Ke9Q.js similarity index 94% rename from server/public/admin/assets/index-Bou06sos.js rename to server/public/admin/assets/index-BzJ9Ke9Q.js index 27cb5755..420d3f46 100644 --- a/server/public/admin/assets/index-Bou06sos.js +++ b/server/public/admin/assets/index-BzJ9Ke9Q.js @@ -1 +1 @@ -var en=Object.defineProperty;var nn=(i,n,a)=>n in i?en(i,n,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[n]=a;var L=(i,n,a)=>nn(i,typeof n!="symbol"?n+"":n,a);import{d as on,i as an,r as sn,K as rn}from"./element-plus-0wC3naml.js";import{q as Pt,s as dt}from"./@vue/runtime-dom-DDAG46FW.js";import{c as ue,ag as ln,ah as cn,l as un,ai as dn,aj as fn}from"./@element-plus/icons-vue-HOEUG8sr.js";import{u as mn,l as hn}from"./file-DoYUJmkp.js";import{a as pn}from"./patient-DKQ1nUyC.js";import{H as Vt,a5 as gn,aq as vn,ar as yn,as as _n}from"./tcm-SLIwsL8z.js";import{_ as we,u as wn,i as M}from"./index-E47--KT7.js";import{E as Sn}from"./@tencentcloud/chat-uikit-vue3-CLQ__Wr9.js";import{p as Cn}from"./im-business-message-parse-QKjFLn3X.js";import{g as Tn,G as En,C as An,M as In,a as kn,O as bn,E as Rn,N as Mn,S as Ln,A as Dn,b as xn}from"./tuikit-atomicx-vue3-Dln8Zi6e.js";import{f as Se,aB as Un,ak as R,I as H,H as B,J as A,G as q,ab as Pn,A as F,b as Vn,d as Hn,w as Nn,aP as Ht,a as S,aN as b,O as On,T as Kn,n as Nt}from"./@vue/runtime-core-C6bnekPw.js";import{Q as G,p as de,o as $n}from"./@vue/shared-mAAVTE9n.js";import{y as E,n as y}from"./@vue/reactivity-DiY1c2vO.js";import{T as Z}from"./@tencentcloud/chat-AC2Y2r2A.js";import{X as fe}from"./@tencentcloud/chat-uikit-engine-zx802ozq.js";import{u as zn,F as x,z as Bn,g as $,a as z,l as N}from"./@tencentcloud/call-uikit-vue-DB7vt9Ht.js";import{c as ft}from"./@tencentcloud/call-engine-js-BX2W9Lhf.js";import{D as jn}from"./@tencentcloud/uikit-base-component-vue3-YgTqL4da.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./@tencentcloud/tui-core-8M7p1XHw.js";import"./tim-upload-plugin-HO4N4AW9.js";import"./tim-profanity-filter-plugin-Dn_Cf-mP.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./@tencentcloud/tuiroom-engine-js-Br9swJyU.js";import"./rtc-detect-Chu-fZvE.js";import"./tcplayer.js-qpFBCYzN.js";function Wn(){const i=["video/webm;codecs=vp9,opus","video/webm;codecs=vp8,opus","video/webm;codecs=vp9","video/webm;codecs=vp8","video/webm"];for(const n of i)if(MediaRecorder.isTypeSupported(n))return n;return""}function qn(){const i=window;return i.AudioContext||i.webkitAudioContext||null}function me(i,n,a,s,r,u){const f=n.videoWidth||n.clientWidth||1,d=n.videoHeight||n.clientHeight||1,p=Math.max(r/f,u/d),c=f*p,m=d*p,_=a+(r-c)/2,D=s+(u-m)/2;try{i.drawImage(n,_,D,c,m)}catch{}}function Fn(i,n,a,s){i.fillStyle="#0b0b0b",i.fillRect(0,0,a,s);const r=n.filter(c=>c.readyState>=HTMLMediaElement.HAVE_CURRENT_DATA);if(r.length===0)return;if(r.length===1){me(i,r[0],0,0,a,s);return}const u=Math.ceil(Math.sqrt(r.length)),f=Math.ceil(r.length/u),d=a/u,p=s/f;r.forEach((c,m)=>{const _=m%u,D=Math.floor(m/u);me(i,c,_*d,D*p,d,p)})}function Gn(i){const n=new Set,a=[];for(const s of i){const r=s.srcObject;if(r instanceof MediaStream)for(const u of r.getAudioTracks())u.kind!=="audio"||u.readyState==="ended"||!u.enabled||n.has(u.id)||(n.add(u.id),a.push(u))}return a}function Xn(i){var s;const n=new Set,a=[];for(const r of i){if(r.readyState{const p=[];for(const c of d)n.has(c)||(n.add(c),p.push(c));return p},s=[...i.querySelectorAll("video")];if(s.length>0)return a(s);const r=document.getElementById("tuicallkit-id");if(r){const d=[...r.querySelectorAll("video")];if(d.length>0)return a(d)}const f=[...document.body.querySelectorAll("video")].filter(d=>{const p=d.srcObject;return p instanceof MediaStream?p.getVideoTracks().some(c=>c.readyState==="live"):!1});return a(f)}class Jn{constructor(){L(this,"canvas",null);L(this,"ctx",null);L(this,"rafId",0);L(this,"container",null);L(this,"mediaRecorder",null);L(this,"chunks",[]);L(this,"mimeType","");L(this,"audioCtx",null);L(this,"audioDestination",null);L(this,"wiredTrackIds",new Set);L(this,"canvasVideoTrack",null);L(this,"silentOsc",null);L(this,"silentGain",null);L(this,"micStream",null);L(this,"stopResultPromise",null)}isRecording(){return this.mediaRecorder!==null&&this.mediaRecorder.state==="recording"}beginStopNow(){if(this.stopResultPromise)return;cancelAnimationFrame(this.rafId),this.rafId=0;const n=this.mediaRecorder,a=this.mimeType;!n||n.state==="inactive"||(this.stopResultPromise=new Promise(s=>{var r;n.onstop=()=>{this.teardownAudioGraph();const u=n.mimeType||a||"video/webm",f=this.chunks.length>0?new Blob(this.chunks,{type:u}):null;this.chunks=[],this.mediaRecorder=null,this.container=null,this.canvas=null,this.ctx=null,this.canvasVideoTrack=null,s(f&&f.size>0?f:null)};try{const u=n;(r=u.requestData)==null||r.call(u),n.stop()}catch{this.teardownAudioGraph(),this.chunks=[],this.mediaRecorder=null,this.container=null,this.canvas=null,this.ctx=null,this.canvasVideoTrack=null,s(null)}}))}teardownAudioGraph(){var n;try{(n=this.silentOsc)==null||n.stop()}catch{}if(this.silentOsc=null,this.silentGain=null,this.micStream){for(const a of this.micStream.getTracks())try{a.stop()}catch{}this.micStream=null}this.wiredTrackIds.clear(),this.audioDestination=null,this.audioCtx&&(this.audioCtx.close().catch(()=>{}),this.audioCtx=null)}connectTrackToMixer(n){if(!(n.kind!=="audio"||n.readyState==="ended"||!n.enabled)&&!(!this.audioCtx||!this.audioDestination)&&!this.wiredTrackIds.has(n.id))try{const a=this.audioCtx.createMediaStreamSource(new MediaStream([n])),s=this.audioCtx.createGain();s.gain.value=1.25,a.connect(s),s.connect(this.audioDestination),this.wiredTrackIds.add(n.id)}catch{}}attachMicForMixer(){if(!this.audioCtx||!this.audioDestination)return;const n=navigator.mediaDevices;n!=null&&n.getUserMedia&&n.getUserMedia({audio:!0,video:!1}).then(a=>{if(!this.audioDestination||!this.audioCtx){a.getTracks().forEach(s=>s.stop());return}if(this.micStream){a.getTracks().forEach(s=>s.stop());return}this.micStream=a;for(const s of a.getAudioTracks())this.connectTrackToMixer(s)}).catch(()=>{})}wireIncomingAudio(){var f;if(!this.audioCtx||!this.audioDestination||!this.container)return;this.audioCtx.state==="suspended"&&this.audioCtx.resume().catch(()=>{});const n=Ot(this.container),a=document.getElementById("tuicallkit-id"),s=[...document.body.querySelectorAll("audio"),...this.container.querySelectorAll("audio"),...a?a.querySelectorAll("audio"):[]],r=new Set,u=[];for(const d of n)r.has(d)||(r.add(d),u.push(d));for(const d of s)r.has(d)||(r.add(d),u.push(d));for(const d of u){const p=d.srcObject;if(p instanceof MediaStream)for(const c of p.getAudioTracks())this.connectTrackToMixer(c);if(d instanceof HTMLVideoElement&&d.readyState>=HTMLMediaElement.HAVE_CURRENT_DATA){const c=(f=d.captureStream)==null?void 0:f.call(d);if(c)for(const m of c.getAudioTracks())this.connectTrackToMixer(m)}}}reset(){if(cancelAnimationFrame(this.rafId),this.rafId=0,this.stopResultPromise=null,this.canvasVideoTrack=null,this.mediaRecorder&&this.mediaRecorder.state!=="inactive")try{this.mediaRecorder.stop()}catch{}this.mediaRecorder=null,this.chunks=[],this.canvas=null,this.ctx=null,this.container=null,this.mimeType="",this.teardownAudioGraph()}start(n){if(typeof MediaRecorder>"u")return!1;this.reset(),this.container=n;const a=Wn();if(this.mimeType=a||"video/webm",this.canvas=document.createElement("canvas"),this.canvas.width=1280,this.canvas.height=720,this.ctx=this.canvas.getContext("2d",{alpha:!1}),!this.ctx)return!1;const r=this.canvas.captureStream(30).getVideoTracks();this.canvasVideoTrack=r[0]??null;const u=Ot(n),f=qn();let d;if(f)try{this.audioCtx=new f,this.audioDestination=this.audioCtx.createMediaStreamDestination(),this.audioCtx.resume().catch(()=>{}),this.wireIncomingAudio(),this.attachMicForMixer();const c=this.audioDestination.stream.getAudioTracks(),m=this.audioCtx.createOscillator(),_=this.audioCtx.createGain();_.gain.value=1e-5,m.frequency.value=20,m.connect(_),_.connect(this.audioDestination),m.start(),this.silentOsc=m,this.silentGain=_,d=new MediaStream([...r,...c])}catch{this.teardownAudioGraph(),d=this.buildStreamWithoutMixer(r,u)}else d=this.buildStreamWithoutMixer(r,u);try{this.mediaRecorder=a?new MediaRecorder(d,{mimeType:a}):new MediaRecorder(d)}catch{try{this.mediaRecorder=new MediaRecorder(d)}catch{return this.reset(),!1}}this.chunks=[],this.mediaRecorder.ondataavailable=c=>{c.data&&c.data.size>0&&this.chunks.push(c.data)},this.mediaRecorder.onerror=c=>{console.error("[call-local-recorder] MediaRecorder 错误",c)};const p=()=>{var m,_;if(!this.ctx||!this.canvas||!this.container)return;this.wireIncomingAudio();const c=Ot(this.container);Fn(this.ctx,c,this.canvas.width,this.canvas.height),(_=(m=this.canvasVideoTrack)==null?void 0:m.requestFrame)==null||_.call(m),this.rafId=requestAnimationFrame(p)};this.rafId=requestAnimationFrame(p);try{this.mediaRecorder.start(250)}catch{return this.reset(),!1}return!0}buildStreamWithoutMixer(n,a){const s=new Set,r=[],u=f=>{for(const d of f)s.has(d.id)||(s.add(d.id),r.push(d))};return u(Gn(a)),u(Xn(a)),u(Yn(this.container)),new MediaStream([...n,...r])}async stop(){this.beginStopNow();const n=this.stopResultPromise;return n||null}}function he(i){const n=i.srcObject;return n instanceof MediaStream?n.getVideoTracks().some(a=>a.readyState==="live"):!1}function et(i){const n=i.getBoundingClientRect();return Math.max(0,n.width)*Math.max(0,n.height)}function pe(i){const n=i.videoWidth||i.clientWidth,a=i.videoHeight||i.clientHeight;return n*a}function Qn(i){const n=new Map,a=new Map;for(const s of i){const r=s.srcObject;if(!(r instanceof MediaStream))continue;const u=r.getVideoTracks(),f=r.id&&String(r.id)||u.map(c=>c.id).filter(Boolean).join("|")||`${u.length}`,d=et(s),p=a.get(f)??0;d>=p&&(n.set(f,s),a.set(f,d))}return n.size===0?i:Array.from(n.values())}function Zn(i){if(i.length<2)return i;let n=0;for(const s of i)n=Math.max(n,et(s));return n<=1||Math.min(...i.map(s=>et(s)))/n>=.25?i:i.filter(s=>et(s)>=n*.25)}function to(i){let n=i;for(let a=0;a<12&&n;a++){const s=getComputedStyle(n).transform;if(s&&s!=="none"&&(/matrix\(\s*-1\s*,/.test(s)||/scaleX\(\s*-1/.test(s)))return!0;n=n.parentElement}return!1}function eo(i){const n=/local|self|pusher|mini[_-]?stream|preview[_-]?self|own[_-]?camera|tui-local|tencent-local|stream-local|publisher|send|pip|picture[_-]?in[_-]?picture/i,a=/remote|subscriber|peer|other|tui-remote|stream-remote|big-stream|play[_-]?stream|receiver|pull|substream/i;let s=i;for(let r=0;r<20&&s;r++){const u=`${s.className||""} ${s.id||""} ${s.getAttribute("data-type")||""}`;if(a.test(u))return!1;if(n.test(u))return!0;s=s.parentElement}return!1}async function no(i,n){const a=(n==null?void 0:n.preferRemote)!==!1,s=[i,...(n==null?void 0:n.extraRoots)||[]].filter(g=>!!g),r=new Set;for(const g of s)for(const w of g.querySelectorAll("video"))w instanceof HTMLVideoElement&&r.add(w);if(r.size===0){const g=document.querySelector(".chat-dialog-call-kit-wrapper");if(g)for(const w of g.querySelectorAll("video"))w instanceof HTMLVideoElement&&r.add(w)}r.size===0&&document.body.querySelectorAll("video").forEach(g=>{g instanceof HTMLVideoElement&&he(g)&&r.add(g)});let u=Array.from(r).filter(g=>g.readyState>=HTMLMediaElement.HAVE_CURRENT_DATA&&he(g));if(u.length===0&&(u=Array.from(r).filter(g=>g.readyState>=2)),u.length===0)return null;u=Qn(u);let f=null,d=0,p=0;if(a){const g=u.map(C=>({v:C,layout:et(C),pixel:pe(C),localClass:eo(C),mirror:to(C)}));let w=g.filter(C=>!C.localClass&&!C.mirror);w.length===0&&(w=g.filter(C=>!C.localClass)),w.length===0&&(w=g.filter(C=>!C.mirror)),w.length===0&&(w=g);let O=w.map(C=>C.v);O=Zn(O),w=w.filter(C=>O.includes(C.v));for(const C of w)(C.layout>d||C.layout===d&&C.pixel>p)&&(d=C.layout,p=C.pixel,f=C.v)}else for(const g of u){const w=et(g),O=pe(g);(w>d||w===d&&O>p)&&(d=w,p=O,f=g)}if(!f)return null;const c=f.videoWidth||f.clientWidth,m=f.videoHeight||f.clientHeight;if(!c||!m)return null;const _=document.createElement("canvas");_.width=c,_.height=m;const D=_.getContext("2d");if(!D)return null;try{D.drawImage(f,0,0,c,m)}catch{return null}return new Promise(g=>{_.toBlob(w=>g(w),"image/jpeg",.92)})}function oo(i){const n=[];let a=i,s=0;for(;a!=null&&s<6;){if(typeof a=="string"){n.push(a);break}if(typeof a=="object"){const r=a;typeof r.message=="string"&&n.push(r.message),typeof r.name=="string"&&n.push(r.name),typeof r.code<"u"&&n.push(String(r.code)),a=r.cause}else{n.push(String(a));break}s++}return n.join(" ").toLowerCase()}const ge=-1001;function tt(i){if(i&&typeof i=="object"){const a=i,s=a.code??a.error_code;if(s===ge||s===String(ge))return!0}const n=oo(i);return n.includes("does not support this ability")||n.includes("package you purchased")||n.includes("-1001")&&n.includes("does not support")}function Ce(){return"套餐欠费或未开通该能力,请联系管理员在腾讯云续费或升级套餐。"}function ao(i,n="通话操作失败"){return tt(i)?Ce():i instanceof Error?i.message||n:typeof i=="string"&&i||n}const io={key:0,class:"chat-uikit-custom-msg"},so={key:0,class:"chat-uikit-custom-msg__tag"},ro={class:"chat-uikit-custom-msg__main"},lo={key:1,class:"chat-uikit-custom-msg__sub"},co={key:1,class:"chat-uikit-custom-msg chat-uikit-custom-msg--plain"},uo={class:"chat-uikit-custom-msg__main"},fo={key:2,class:"chat-uikit-custom-msg chat-uikit-custom-msg--plain"},mo={key:0,class:"chat-uikit-custom-msg__sub"},ho=Se({inheritAttrs:!1,__name:"ChatMessageItem",props:{message:{}},setup(i){const n=i,a=Un();function s(c){if(!c||typeof c!="object")return null;const m=c,_=m.data;if(typeof _=="string")return _;if(_&&typeof _=="object")return JSON.stringify(_);const D=m.extension;return typeof D=="string"&&D.trim().startsWith("{")?D:null}const r=F(()=>{var m;const c=(m=n.message)==null?void 0:m.type;return!!(c===En.CUSTOM||typeof c=="string"&&/custom/i.test(c))}),u=F(()=>{var m;if(!r.value)return null;const c=(m=s(n.message.payload))==null?void 0:m.trim();return c?Cn(c):null}),f=F(()=>r.value&&!!u.value),d=F(()=>{const c=n.message.payload,m=c==null?void 0:c.description;return typeof m=="string"&&m.trim()?m.trim():""}),p=F(()=>{var m;const c=(m=s(n.message.payload))==null?void 0:m.trim();return!c||c.length<2?"":c.length<=120?c:`${c.slice(0,117)}…`});return(c,m)=>f.value?(R(),H("div",io,[u.value.tag?(R(),H("span",so,G(u.value.tag),1)):B("",!0),A("div",ro,G(u.value.main),1),u.value.sub?(R(),H("div",lo,G(u.value.sub),1)):B("",!0)])):r.value&&d.value?(R(),H("div",co,[A("div",uo,G(d.value),1)])):r.value?(R(),H("div",fo,[m[0]||(m[0]=A("div",{class:"chat-uikit-custom-msg__main"},"系统消息",-1)),p.value?(R(),H("div",mo,G(p.value),1)):B("",!0)])):(R(),q(E(Tn),Pn({key:3},E(a),{message:i.message}),null,16,["message"]))}}),po=we(ho,[["__scopeId","data-v-1c506f55"]]);function go(i){if(i==null)return null;if(typeof i=="object"&&!Array.isArray(i))return i;if(typeof i!="string")return null;const n=i.trim();if(!n.startsWith("{"))return null;try{return JSON.parse(n)}catch{return null}}function ve(i){const n=i.toLowerCase();return["hangup","cancel","reject","timeout","linebusy","end"].includes(n)}function vo(i){const n=i.trim();if(!n)return!1;if(/\bcall_end\b/i.test(n)&&(/call_engine|call_record|rtc/i.test(n)||/"reason"\s*:\s*\d/.test(n))||/call_engine_srv\.[a-z_]*call[a-z_]*/i.test(n)&&/hangup|end|leave|reject|cancel/i.test(n))return!0;if(!n.startsWith("{"))return!1;let a;try{a=JSON.parse(n)}catch{return!1}if(a.businessID===1||a.businessID==="1"){const r=go(a.data);if(r){const u=String(r.cmd??"");if(ve(u))return!0}}if((a.businessID==="rtc_call"||typeof a.cmd=="string")&&ve(String(a.cmd??"")))return!0;const s=JSON.stringify(a);return!!(s.includes("call_engine_srv")&&/hangup|call_end|CALL_END|reject|cancel/i.test(s))}const yo=["title"],_o={class:"chat-container"},wo={key:0,class:"loading-container"},So={key:1,class:"error-container"},Co={key:2,class:"chat-content"},To={class:"chat-layout"},Eo={class:"message-toolbar"},Ao={class:"call-kit-drag-handle-left"},Io={key:0,class:"call-local-recording-hint"},ko={class:"call-kit-drag-handle-actions"},mt="idle",ht="calling",W="connected",ye=40,bo=100,Ro=1500,Mo=2600,Lo=667,_e=16,Do=Se({__name:"index",setup(i,{expose:n}){const a=y(""),s=y(!1),r=y(!1),u=y(!1),f=y(""),d=y(""),p=y(null),c=y(null),m=y("正在初始化..."),_=y(""),D=y(""),g=y(!1),w=y(!1),{login:O}=xn(),{setActiveConversation:C,createC2CConversation:Te,activeConversation:Ee}=Dn(),Ae=wn(),nt=y("");let K=null,X=null,Et=0;const P=new Jn,At=y(!1),ot=y(!1);let It=0,Y=null,at=null,pt=Promise.resolve(),kt=null;function J(){Y&&(clearTimeout(Y),Y=null)}function bt(e){At.value=!!(e!=null&&e.isLochostVod)}function gt(){return at||(at=(async()=>{if(J(),ot.value=!1,!At.value)return;P.beginStopNow();const e=kt??c.value;try{await pt}catch{}const t=await P.stop();if(!t){console.warn("[chat-dialog] 本地录制无有效文件(若通话较长仍出现,请换 Chrome 并看控制台是否有 MediaRecorder 报错)");return}if(e==null){M.msgWarning("缺少诊单信息,本地录制无法保存到通话记录");return}try{const o=await hn(t,`call-rec-${e}-${Date.now()}.webm`),l=o.uri||o.url;if(!l){M.msgError("上传成功但未返回文件地址");return}await gn({diagnosis_id:e,file_url:l}),M.msgSuccess("本地录制已上传并关联到通话记录")}catch(o){const l=o instanceof Error?o.message:String(o);console.warn("[chat-dialog] 本地录制上传/关联失败",o),M.msgError(l||"本地录制上传失败")}})().finally(()=>{at=null}),at)}function Ie(){const e=$.getData(z.CALL,N.ROOM_ID);if(e==null)return"";if(typeof e=="number")return e===0?"":String(e);const t=String(e).trim();return!t||t==="0"?"":t}function ke(){var e,t;try{const o=(t=(e=x).getTUICallEngineInstance)==null?void 0:t.call(e);if(!o)return"";const l=[o.roomId,o.roomID,o._roomId,o._roomID,o.strRoomID];for(const h of l){if(h==null||h==="")continue;const v=String(h).trim();if(v&&v!=="0")return v}}catch{}return""}function Rt(){return Ie()||ke()}function vt(e,t){if(t!=null&&String(t).trim()!==""&&String(t)!=="0")return String(t).trim();if(typeof e=="number"&&e>0)return String(e);if(typeof e=="string"){const o=e.trim();if(o&&o!=="0")return o}return""}function Kt(e){if(e==null||typeof e!="object")return"";const t=e,o=vt(t.roomID,t.strRoomID)||vt(t.roomId,t.strRoomId);if(o)return o;const l=t.data;if(l&&typeof l=="object"){const h=l,v=vt(h.roomID,h.strRoomID)||vt(h.roomId,h.strRoomId);if(v)return v}return""}function Q(){X&&(clearTimeout(X),X=null),Et=0}function be(){Q();const e=()=>{X=null;const t=$.getData(z.CALL,N.CALL_STATUS);if(t===mt||t!==ht&&t!==W)return;const o=Rt();if(o){rt(o);return}if(Et++,Et>=ye){console.warn("[chat-dialog] 仍未解析到有效房间号(已重试",ye,"次)");return}X=setTimeout(e,bo)};X=setTimeout(e,0)}async function $t(e){if(!(p.value==null||c.value==null)){await Nt();for(let t=0;t<40;t++){const o=Rt();if(o){await rt(o);return}await new Promise(l=>setTimeout(l,50))}console.warn("[chat-dialog] 发起通话后仍未解析到房间号(API:",e,")")}}function Re(){var l,h;const e=window;if(e.__zytEngineRoomCapture__)return;const t=(h=(l=x).getTUICallEngineInstance)==null?void 0:h.call(l);if(!t||typeof t.calls!="function")return;e.__zytEngineRoomCapture__=!0,t.__zytEngineRoomCapture__=!0;const o=v=>{const T=t[v];typeof T=="function"&&(t[v]=async function(...k){const U=await T.apply(t,k),V=Kt(U);return V&&rt(V),await $t("engine."+v),U})};o("calls"),o("call"),o("groupCall")}function Me(){const e=window;if(e.__zytHangupPreStop__)return;const t=x,o=t.hangup;typeof o=="function"&&(e.__zytHangupPreStop__=!0,t.hangup=function(...h){return P.beginStopNow(),o.apply(x,h)})}function zt(){var v,T;const e=window;if(e.__zytTrtcPreStop__)return;const t=(T=(v=x).getTUICallEngineInstance)==null?void 0:T.call(v),o=t==null?void 0:t.trtcCloud;if(!o||typeof o!="object")return;let l=0;const h=["stopLocalVideo","stopLocalAudio"];for(const I of h){const k=o[I];typeof k=="function"&&(o[I]=function(...V){return P.beginStopNow(),k.apply(o,V)},l++)}l>0&&(e.__zytTrtcPreStop__=!0)}let it=[],st=null,Bt=0;async function yt(){const e=kt??c.value;if(e==null){console.warn("[chat-dialog] endCall 跳过:无诊单 ID(快照与当前均为空)");return}try{await vn({diagnosis_id:e}),console.log("[chat-dialog] endCall 已同步",{diagnosis_id:e})}catch(t){console.warn("[chat-dialog] endCall 失败",t)}}function jt(e){const t=Date.now();t-Bt{if(!r.value)return;const l=_.value;if(!l)return;const h=l.startsWith("C2C")?l:`C2C${l}`,v=Array.isArray(o.data)?o.data:[];for(const T of v){if(!T||T.conversationID!==h)continue;const I=T.type;if(!(I===Z.TYPES.MSG_CUSTOM||I==="TIMCustomElem"||typeof I=="string"&&/custom/i.test(I)))continue;const U=T.payload,V=typeof(U==null?void 0:U.data)=="string"?U.data:"";if(!(!V||!vo(V))){jt("IM");break}}},t.on(Z.EVENT.MESSAGE_RECEIVED,st)}catch(t){console.warn("[chat-dialog] 绑定 IM 挂断监听失败",t)}}function Mt(){var e,t;if(st){try{const o=(e=fe)==null?void 0:e.chat;(t=o==null?void 0:o.off)==null||t.call(o,Z.EVENT.MESSAGE_RECEIVED,st)}catch{}st=null}}function De(){var e,t;try{const o=(t=(e=x).getTUICallEngineInstance)==null?void 0:t.call(e),l=o==null?void 0:o.on;if(!o||typeof l!="function"||o.__zytRoomEvents)return;o.__zytRoomEvents=!0;const h=k=>{const U=Kt(k);if(U){rt(U);return}Lt()},v=()=>{jt("TUICallEngine")},T=[ft.TUICallEvent.CALL_END,ft.TUICallEvent.USER_LEAVE,ft.TUICallEvent.ON_CALL_NOT_CONNECTED];for(const k of T)l.call(o,k,v),it.push({event:k,fn:v});const I=[ft.TUICallEvent.USER_ENTER,ft.TUICallEvent.ON_CALL_BEGIN];for(const k of I)l.call(o,k,h),it.push({event:k,fn:h})}catch(o){console.warn("[chat-dialog] 绑定引擎房间事件失败",o)}}function xe(){var e,t;try{const o=(t=(e=x).getTUICallEngineInstance)==null?void 0:t.call(e);if(!(o!=null&&o.off)){it=[];return}for(const{event:l,fn:h}of it)o.off(l,h);o.__zytRoomEvents=!1}catch{}it=[]}function Ue(){const e=window;if(e.__zytTUICallRoomHooks__)return;e.__zytTUICallRoomHooks__=!0;const t=x,o=l=>{const h=t[l];typeof h=="function"&&(t[l]=async function(...T){const I=await h.apply(t,T);return await $t(l),I})};o("calls"),o("call"),o("groupCall")}async function rt(e){try{await pt}catch{}if(p.value==null||c.value==null)return;const t=`${c.value}:${e}`;if(t===nt.value){Q();return}nt.value=t;try{const o=await yn({diagnosis_id:c.value,room_id:e});Q(),console.log("[chat-dialog] bindCallRoom 成功",{room_id:e,bindRes:o});const l=o==null?void 0:o.cloud_recording;l&&l.started===!1&&l.message&&M.msgWarning(`云端合流录制未启动(关闭控制台全局录制后仅依赖 API):${l.message}`)}catch(o){console.warn("[chat-dialog] bindCallRoom 失败",o),nt.value=""}}async function Lt(){if(p.value==null||c.value==null)return;const e=$.getData(z.CALL,N.CALL_STATUS);if(e===mt){Q(),nt.value="";return}if(e!==ht&&e!==W)return;await Nt();const t=Rt();if(t){await rt(t);return}be()}async function Pe(){if(!(p.value==null||c.value==null))try{await _n({diagnosis_id:c.value,patient_id:p.value,call_type:2})}catch(e){console.warn("[chat-dialog] startCall 记录失败",e)}}function Ve(){K==null||K();let e=$.getData(z.CALL,N.CALL_STATUS)??mt;const t=l=>{const h=l??mt;if(h===mt){(e===ht||e===W)&&P.beginStopNow(),J(),ot.value=!1,(e===ht||e===W)&&(async()=>(await yt(),w.value=!1,await gt()))(),Q(),nt.value="",e=h;return}if(h===W){if(Lt(),J(),!At.value){e=h;return}const v=It,T=(I=0)=>{if(v!==It){console.log("[chat-dialog] 录制轮次已变化,取消启动");return}const k=xt.value,U=$.getData(z.CALL,N.CALL_STATUS);if(!k||U!==W){console.warn("[chat-dialog] 录制启动条件不满足",{root:!!k,status:U});return}console.log(`[chat-dialog] 尝试启动本地录制(第 ${I+1} 次)`);let V=Array.from(k.querySelectorAll("video"));if(V.length===0&&(V=Array.from(document.body.querySelectorAll("video")).filter(Ze=>{const ce=Ze.srcObject;return ce instanceof MediaStream?ce.getVideoTracks().some(tn=>tn.readyState==="live"):!1}),console.log("[chat-dialog] 在 body 中找到活跃视频:",V.length)),V.length===0){I<10?(console.warn("[chat-dialog] 未找到视频元素,300ms 后重试"),Y=setTimeout(()=>T(I+1),300)):console.error("[chat-dialog] 重试 10 次后仍未找到视频元素,放弃录制");return}if(!V.some(le=>le.readyState>=HTMLMediaElement.HAVE_CURRENT_DATA)){I<10?(console.warn("[chat-dialog] 视频元素未就绪,300ms 后重试"),Y=setTimeout(()=>T(I+1),300)):console.error("[chat-dialog] 重试 10 次后视频仍未就绪,放弃录制");return}console.log("[chat-dialog] 视频元素已就绪,立即启动录制");const re=P.start(k);ot.value=re,re?console.log("[chat-dialog] ✅ 本地录制已成功启动"):console.error("[chat-dialog] 本地录制启动失败(MediaRecorder 或画布初始化失败)")};Y=setTimeout(()=>T(0),500)}else J();e=h},o=()=>{Lt()};$.watch(z.CALL,{[N.CALL_STATUS]:t,[N.ROOM_ID]:o}),K=()=>{try{$.unwatch(z.CALL,{[N.CALL_STATUS]:t,[N.ROOM_ID]:o})}catch{}Q(),K=null}}let Wt=0;function lt(){const e=Date.now();e-Wt{if(ct(...e),!r.value||!g.value)return;const t=e.map(o=>{if(typeof o=="string")return o;if(o instanceof Error)return o.message;try{return JSON.stringify(o)}catch{return String(o)}}).join(" ");tt(t)&<()})}function Ne(){_t&&ct&&(console.error=ct),_t=!1,ct=null}function Oe(){var e,t,o;try{const l=(t=(e=x).getTUICallEngineInstance)==null?void 0:t.call(e);if(!(l!=null&&l.on))return;j&&((o=l.off)==null||o.call(l,"error",j)),j=h=>{!r.value||!g.value||tt(h)&<()},l.on("error",j)}catch(l){console.warn("绑定 TUICallEngine error 监听失败:",l)}}function Ke(){var e,t;try{const o=(t=(e=x).getTUICallEngineInstance)==null?void 0:t.call(e);o!=null&&o.off&&j&&o.off("error",j)}catch{}j=null}async function $e(e,t){try{const o=Z.create({SDKAppID:e}),l={businessID:"doctor_entered_consult_room",time:Date.now()},h=o.createCustomMessage({to:t,conversationType:Z.TYPES.CONV_C2C,payload:{data:JSON.stringify(l)}});await o.sendMessage(h),console.log("已发送医生进入诊室信令(患者端聊天列表不展示)")}catch(o){console.warn("发送医生进入诊室信令失败:",o)}}const qt=e=>{!r.value||!g.value||tt(e.reason)&<()};Vn(()=>{He(),window.addEventListener("unhandledrejection",qt)}),Hn(()=>{J(),P.reset(),K==null||K(),xe(),Mt(),Ne(),Ke(),window.removeEventListener("unhandledrejection",qt)});const ze=async(e,t)=>{try{if(!e){console.warn("头像 URL 为空,跳过更新");return}console.log("开始更新头像到 IM:",e);const o=await new Promise((l,h)=>{setTimeout(async()=>{try{const T=await Z.create({SDKAppID:t}).updateMyProfile({avatar:e});console.log("IM 头像更新成功:",T),l(T)}catch(v){console.error("更新头像异常:",v),l(null)}},500)})}catch(o){console.error("IM 头像更新失败:",o.message||o)}};Nn(()=>Ee.value,async e=>{if(e){if(d.value=e.getShowName()||d.value,console.log("会话切换:",e.conversationID,"名称:",d.value,e),e.userProfile.userID.includes("doctor"))console.log("当前会话是医生,跳过获取 assistant_id");else try{const t=await Vt({patient_id:e.userProfile.userID.replace("patient_",""),diagnosis_id:c.value});bt(t),_.value=t.patientUserId,a.value=t.assistant_id,console.log("会话切换后获取到 assistant_id:",a.value,"完整响应:",t)}catch(t){console.error("获取 assistant_id 失败:",t)}console.log("会话切换完成,userID:",e.userProfile.userID)}});const Be=async e=>{r.value=!0,s.value=!1,wt.value=100,St.value=80,Qt(),d.value=e.patientName,p.value=e.patientId,c.value=e.diagnosisId||null,f.value="",u.value=!1,g.value=!1,w.value=!1,m.value="正在获取签名...";try{const t=await Vt({patient_id:e.patientId,diagnosis_id:e.diagnosisId||0});if(bt(t),a.value=t.assistant_id,console.log("后端返回的签名数据:",t),console.log("assistant_id:",a.value),!t||!t.userSig)throw new Error("获取签名失败");t.assistant_id||console.warn("警告:后端未返回 assistant_id,群视频通话可能无法正常工作"),_.value=t.patientUserId||`patient_${e.patientId}`,m.value="正在登录聊天...",await O({sdkAppId:Number(t.sdkAppId),userId:t.userId,userSig:t.userSig,useUploadPlugin:!0}),Le();const o=Number(t.sdkAppId);if(!window.__TUICallKitInited__){m.value="正在初始化通话能力...";try{await x.init({userID:t.userId,userSig:t.userSig,SDKAppID:o}),window.__TUICallKitInited__=!0}catch(l){console.warn("TUICallKit 初始化失败,聊天仍可用,音视频通话不可用:",(l==null?void 0:l.message)||l),tt(l)&<()}}g.value=!!window.__TUICallKitInited__,g.value&&(x.setCallback({beforeCalling:()=>{zt(),J(),P.reset(),ot.value=!1,It++,kt=c.value,Qt(),w.value=!0,pt=Pe()},afterCalling:()=>{P.beginStopNow(),(async()=>(await yt(),w.value=!1,await gt()))()}}),Ue(),Re(),Me(),zt(),De(),Ve(),Oe()),console.log("Chat UIKit 登录成功,患者用户ID:",_.value),m.value="加载聊天界面...",setTimeout(async()=>{var h;u.value=!0,await Nt(),await new Promise(v=>setTimeout(v,1e3));const l=(h=Ae.userInfo)==null?void 0:h.avatar;console.log("准备更新头像,avatar:",l),l&&await ze(l,o);try{const v=await Te(_.value);D.value=v.conversationID,console.log("已创建/获取会话:",D.value),C(D.value),console.log("已激活会话"),await $e(o,_.value)}catch(v){console.error("创建/激活会话失败:",v)}},800)}catch(t){console.error("初始化聊天失败:",t),f.value=t.message||"初始化聊天失败",M.msgError(f.value)}},je=async()=>{if(!g.value){M.msgWarning("通话服务初始化中,请稍后再试");return}if(!_.value){M.msgWarning("未找到患者通话ID,无法发起群视频");return}try{if(!a.value){console.warn("assistant_id 为空,尝试重新获取");const t=await Vt({patient_id:p.value,diagnosis_id:c.value});bt(t),a.value=t.assistant_id,console.log("重新获取 assistant_id:",a.value)}const e=[_.value,a.value].filter(t=>t);if(e.length<2){M.msgWarning("助理ID获取失败,无法发起群视频"),console.error("userIDList 不完整:",e,"assistant_ids:",a.value);return}console.log("发起群视频通话,参与者:",e),await x.calls({userIDList:e,type:Bn.VIDEO_CALL})}catch(e){console.error("发起群视频失败:",e),tt(e)?lt():M.msgError(ao(e,"发起群视频失败"))}},We=y(),wt=y(100),St=y(80),Dt=y(!1),Ft=y(0),Gt=y(0),Xt=y(0),Yt=y(0),Jt=y(),xt=y(),ut=y(!1),Ct=y(0),Tt=y(0);function Qt(){Ct.value=_e,Tt.value=Math.max(_e,Math.floor((window.innerHeight-Lo)/2))}const Ut=y(!1),Zt=y(0),te=y(0),ee=y(0),ne=y(0),qe=F(()=>({left:`${Ct.value}px`,top:`${Tt.value}px`})),Fe=e=>{Ut.value=!0,Zt.value=e.clientX,te.value=e.clientY,ee.value=Ct.value,ne.value=Tt.value,document.addEventListener("mousemove",oe),document.addEventListener("mouseup",ae)},oe=e=>{Ut.value&&(Ct.value=Math.max(0,ee.value+e.clientX-Zt.value),Tt.value=Math.max(0,ne.value+e.clientY-te.value))},ae=()=>{Ut.value=!1,document.removeEventListener("mousemove",oe),document.removeEventListener("mouseup",ae)},Ge=async()=>{if(!ut.value){ut.value=!0;try{if(p.value==null){M.msgWarning("缺少患者信息,无法同步舌苔照片");return}const e=Jt.value,t=xt.value,o=e||t;if(!o)return;const l=await no(o,{extraRoots:[t].filter(Boolean)});if(!l){M.msgWarning("截屏失败,请确认视频画面已加载");return}const h=await mn(l,`callshot-${Date.now()}.jpg`),v=h.url||h.uri;if(!v){M.msgError("上传未返回图片路径");return}if(c.value==null){M.msgWarning("请先保存诊单后再从视频同步舌苔照片");return}await pn({diagnosis_id:c.value,tongue_images:[v]}),M.msgSuccess("舌苔照片已保存")}catch(e){const t=e;console.error(t),M.msgError((t==null?void 0:t.message)||"上传失败")}finally{ut.value=!1}}},Xe=async()=>{if(g.value)try{P.beginStopNow(),await gt(),await x.hangup()}catch(e){console.warn("关闭视频窗口时挂断失败:",e)}w.value=!1},Ye=F(()=>({left:`${wt.value}px`,top:`${St.value}px`})),Je=e=>{const t=e.target;t.closest(".chat-close-btn")||t.closest(".chat-header-actions")||(Dt.value=!0,Ft.value=e.clientX,Gt.value=e.clientY,Xt.value=wt.value,Yt.value=St.value,document.addEventListener("mousemove",ie),document.addEventListener("mouseup",se))},ie=e=>{Dt.value&&(wt.value=Math.max(0,Xt.value+e.clientX-Ft.value),St.value=Math.max(0,Yt.value+e.clientY-Gt.value))},se=()=>{Dt.value=!1,document.removeEventListener("mousemove",ie),document.removeEventListener("mouseup",se)},Qe=async()=>{if(Mt(),g.value){const e=$.getData(z.CALL,N.CALL_STATUS);if(e===ht||e===W)try{P.beginStopNow(),await gt(),await x.hangup()}catch(t){console.warn("挂断通话时出错:",t)}}c.value!=null&&await yt(),r.value=!1,w.value=!1};return n({open:Be}),(e,t)=>{const o=on,l=an,h=sn,v=rn;return R(),q(Kn,{to:"body"},[Ht(A("div",{ref_key:"chatWindowRef",ref:We,class:$n(["chat-floating-window",{"chat-floating-window--minimized":s.value}]),style:de(Ye.value)},[A("div",{class:"chat-window-header",onMousedown:Je},[A("span",{class:"chat-window-title",title:d.value},"与 "+G(d.value)+" 通讯",9,yo),A("div",{class:"chat-header-actions",onMousedown:t[2]||(t[2]=dt(()=>{},["stop"]))},[S(l,{type:"danger",link:"",class:"chat-close-btn",onClick:Qe},{default:b(()=>[S(o,null,{default:b(()=>[S(E(ue))]),_:1})]),_:1}),s.value?(R(),q(h,{key:1,content:"展开聊天窗口",placement:"top"},{default:b(()=>[S(l,{type:"primary",link:"",class:"chat-expand-btn",onClick:t[1]||(t[1]=T=>s.value=!1)},{default:b(()=>[S(o,null,{default:b(()=>[S(E(cn))]),_:1}),t[6]||(t[6]=A("span",{class:"chat-header-btn-text"},"展开",-1))]),_:1})]),_:1})):(R(),q(h,{key:0,content:"缩小为标题条,不关闭会话",placement:"top"},{default:b(()=>[S(l,{type:"primary",link:"",class:"chat-minimize-btn",onClick:t[0]||(t[0]=T=>s.value=!0)},{default:b(()=>[S(o,null,{default:b(()=>[S(E(ln))]),_:1}),t[5]||(t[5]=A("span",{class:"chat-header-btn-text"},"缩小",-1))]),_:1})]),_:1}))],32)],32),Ht(A("div",_o,[u.value?f.value?(R(),H("div",So,[S(v,{title:f.value,type:"error",closable:!1},null,8,["title"])])):(R(),H("div",Co,[S(E(jn),{language:"zh-CN",theme:"light"},{default:b(()=>[A("div",To,[S(E(Sn),{class:"chat-area"},{default:b(()=>[S(E(An),{conversationID:D.value,Message:po},null,8,["conversationID"]),S(E(In),null,{headerToolbar:b(()=>[A("div",Eo,[S(E(kn)),S(E(bn)),S(E(Rn)),g.value?(R(),q(E(Mn),{key:0})):B("",!0),g.value?(R(),q(E(Ln),{key:1})):B("",!0),g.value?(R(),q(l,{key:2,size:"small",type:"primary",onClick:je},{default:b(()=>[...t[7]||(t[7]=[On(" 群视频 ",-1)])]),_:1})):B("",!0)])]),_:1})]),_:1})])]),_:1})])):(R(),H("div",wo,[S(o,{class:"is-loading"},{default:b(()=>[S(E(un))]),_:1}),A("span",null,G(m.value),1)]))],512),[[Pt,!s.value]]),g.value?Ht((R(),H("div",{key:0,ref_key:"callKitWrapperRef",ref:Jt,class:"chat-dialog-call-kit-wrapper",style:de(qe.value)},[A("div",{class:"call-kit-drag-handle",onMousedown:Fe},[A("div",Ao,[t[8]||(t[8]=A("span",{class:"drag-handle-text"},"视频通话",-1)),ot.value?(R(),H("span",Io,"本地录制中")):B("",!0)]),A("div",ko,[S(l,{type:"primary",link:"",class:"call-kit-screenshot-btn",loading:ut.value,disabled:ut.value,onMousedown:t[3]||(t[3]=dt(()=>{},["stop"])),onClick:dt(Ge,["stop","prevent"])},{default:b(()=>[S(o,null,{default:b(()=>[S(E(dn))]),_:1}),t[9]||(t[9]=A("span",{class:"call-kit-screenshot-text"},"截屏",-1))]),_:1},8,["loading","disabled"]),S(l,{type:"danger",link:"",class:"call-kit-close-btn",onMousedown:t[4]||(t[4]=dt(()=>{},["stop"])),onClick:dt(Xe,["stop"])},{default:b(()=>[S(o,null,{default:b(()=>[S(E(ue))]),_:1})]),_:1}),S(o,{class:"drag-handle-icon"},{default:b(()=>[S(E(fn))]),_:1})])],32),A("div",{ref_key:"callKitContentRef",ref:xt,class:"call-kit-content"},[S(E(zn),{allowedMinimized:!0,allowedFullScreen:!0,class:"chat-dialog-call-kit"})],512)],4)),[[Pt,w.value]]):B("",!0)],6),[[Pt,r.value]])])}}}),Na=we(Do,[["__scopeId","data-v-09c808b4"]]);export{Na as default}; +var en=Object.defineProperty;var nn=(i,n,a)=>n in i?en(i,n,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[n]=a;var L=(i,n,a)=>nn(i,typeof n!="symbol"?n+"":n,a);import{d as on,i as an,r as sn,K as rn}from"./element-plus-DFTWCWyi.js";import{q as Pt,s as dt}from"./@vue/runtime-dom-DDAG46FW.js";import{c as ue,ag as ln,ah as cn,l as un,ai as dn,aj as fn}from"./@element-plus/icons-vue-HOEUG8sr.js";import{u as mn,l as hn}from"./file-BimpIRb_.js";import{a as pn}from"./patient-DdWkVUZB.js";import{I as Vt,a6 as gn,ar as vn,as as yn,at as _n}from"./tcm-BcqaE0lo.js";import{_ as we,u as wn,i as M}from"./index-DBREMm_z.js";import{E as Sn}from"./@tencentcloud/chat-uikit-vue3-CLQ__Wr9.js";import{p as Cn}from"./im-business-message-parse-QKjFLn3X.js";import{g as Tn,G as En,C as An,M as In,a as kn,O as bn,E as Rn,N as Mn,S as Ln,A as Dn,b as xn}from"./tuikit-atomicx-vue3-Dln8Zi6e.js";import{f as Se,aB as Un,ak as R,I as H,H as B,J as A,G as F,ab as Pn,A as q,b as Vn,d as Hn,w as Nn,aP as Ht,a as S,aN as b,O as On,T as Kn,n as Nt}from"./@vue/runtime-core-C6bnekPw.js";import{Q as G,p as de,o as $n}from"./@vue/shared-mAAVTE9n.js";import{y as E,n as y}from"./@vue/reactivity-DiY1c2vO.js";import{T as Z}from"./@tencentcloud/chat-AC2Y2r2A.js";import{X as fe}from"./@tencentcloud/chat-uikit-engine-zx802ozq.js";import{u as zn,F as x,z as Bn,g as $,a as z,l as N}from"./@tencentcloud/call-uikit-vue-DB7vt9Ht.js";import{c as ft}from"./@tencentcloud/call-engine-js-BX2W9Lhf.js";import{D as jn}from"./@tencentcloud/uikit-base-component-vue3-YgTqL4da.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./@tencentcloud/tui-core-8M7p1XHw.js";import"./tim-upload-plugin-HO4N4AW9.js";import"./tim-profanity-filter-plugin-Dn_Cf-mP.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./@tencentcloud/tuiroom-engine-js-Br9swJyU.js";import"./rtc-detect-Chu-fZvE.js";import"./tcplayer.js-qpFBCYzN.js";function Wn(){const i=["video/webm;codecs=vp9,opus","video/webm;codecs=vp8,opus","video/webm;codecs=vp9","video/webm;codecs=vp8","video/webm"];for(const n of i)if(MediaRecorder.isTypeSupported(n))return n;return""}function Fn(){const i=window;return i.AudioContext||i.webkitAudioContext||null}function me(i,n,a,s,r,u){const f=n.videoWidth||n.clientWidth||1,d=n.videoHeight||n.clientHeight||1,p=Math.max(r/f,u/d),c=f*p,m=d*p,_=a+(r-c)/2,D=s+(u-m)/2;try{i.drawImage(n,_,D,c,m)}catch{}}function qn(i,n,a,s){i.fillStyle="#0b0b0b",i.fillRect(0,0,a,s);const r=n.filter(c=>c.readyState>=HTMLMediaElement.HAVE_CURRENT_DATA);if(r.length===0)return;if(r.length===1){me(i,r[0],0,0,a,s);return}const u=Math.ceil(Math.sqrt(r.length)),f=Math.ceil(r.length/u),d=a/u,p=s/f;r.forEach((c,m)=>{const _=m%u,D=Math.floor(m/u);me(i,c,_*d,D*p,d,p)})}function Gn(i){const n=new Set,a=[];for(const s of i){const r=s.srcObject;if(r instanceof MediaStream)for(const u of r.getAudioTracks())u.kind!=="audio"||u.readyState==="ended"||!u.enabled||n.has(u.id)||(n.add(u.id),a.push(u))}return a}function Xn(i){var s;const n=new Set,a=[];for(const r of i){if(r.readyState{const p=[];for(const c of d)n.has(c)||(n.add(c),p.push(c));return p},s=[...i.querySelectorAll("video")];if(s.length>0)return a(s);const r=document.getElementById("tuicallkit-id");if(r){const d=[...r.querySelectorAll("video")];if(d.length>0)return a(d)}const f=[...document.body.querySelectorAll("video")].filter(d=>{const p=d.srcObject;return p instanceof MediaStream?p.getVideoTracks().some(c=>c.readyState==="live"):!1});return a(f)}class Jn{constructor(){L(this,"canvas",null);L(this,"ctx",null);L(this,"rafId",0);L(this,"container",null);L(this,"mediaRecorder",null);L(this,"chunks",[]);L(this,"mimeType","");L(this,"audioCtx",null);L(this,"audioDestination",null);L(this,"wiredTrackIds",new Set);L(this,"canvasVideoTrack",null);L(this,"silentOsc",null);L(this,"silentGain",null);L(this,"micStream",null);L(this,"stopResultPromise",null)}isRecording(){return this.mediaRecorder!==null&&this.mediaRecorder.state==="recording"}beginStopNow(){if(this.stopResultPromise)return;cancelAnimationFrame(this.rafId),this.rafId=0;const n=this.mediaRecorder,a=this.mimeType;!n||n.state==="inactive"||(this.stopResultPromise=new Promise(s=>{var r;n.onstop=()=>{this.teardownAudioGraph();const u=n.mimeType||a||"video/webm",f=this.chunks.length>0?new Blob(this.chunks,{type:u}):null;this.chunks=[],this.mediaRecorder=null,this.container=null,this.canvas=null,this.ctx=null,this.canvasVideoTrack=null,s(f&&f.size>0?f:null)};try{const u=n;(r=u.requestData)==null||r.call(u),n.stop()}catch{this.teardownAudioGraph(),this.chunks=[],this.mediaRecorder=null,this.container=null,this.canvas=null,this.ctx=null,this.canvasVideoTrack=null,s(null)}}))}teardownAudioGraph(){var n;try{(n=this.silentOsc)==null||n.stop()}catch{}if(this.silentOsc=null,this.silentGain=null,this.micStream){for(const a of this.micStream.getTracks())try{a.stop()}catch{}this.micStream=null}this.wiredTrackIds.clear(),this.audioDestination=null,this.audioCtx&&(this.audioCtx.close().catch(()=>{}),this.audioCtx=null)}connectTrackToMixer(n){if(!(n.kind!=="audio"||n.readyState==="ended"||!n.enabled)&&!(!this.audioCtx||!this.audioDestination)&&!this.wiredTrackIds.has(n.id))try{const a=this.audioCtx.createMediaStreamSource(new MediaStream([n])),s=this.audioCtx.createGain();s.gain.value=1.25,a.connect(s),s.connect(this.audioDestination),this.wiredTrackIds.add(n.id)}catch{}}attachMicForMixer(){if(!this.audioCtx||!this.audioDestination)return;const n=navigator.mediaDevices;n!=null&&n.getUserMedia&&n.getUserMedia({audio:!0,video:!1}).then(a=>{if(!this.audioDestination||!this.audioCtx){a.getTracks().forEach(s=>s.stop());return}if(this.micStream){a.getTracks().forEach(s=>s.stop());return}this.micStream=a;for(const s of a.getAudioTracks())this.connectTrackToMixer(s)}).catch(()=>{})}wireIncomingAudio(){var f;if(!this.audioCtx||!this.audioDestination||!this.container)return;this.audioCtx.state==="suspended"&&this.audioCtx.resume().catch(()=>{});const n=Ot(this.container),a=document.getElementById("tuicallkit-id"),s=[...document.body.querySelectorAll("audio"),...this.container.querySelectorAll("audio"),...a?a.querySelectorAll("audio"):[]],r=new Set,u=[];for(const d of n)r.has(d)||(r.add(d),u.push(d));for(const d of s)r.has(d)||(r.add(d),u.push(d));for(const d of u){const p=d.srcObject;if(p instanceof MediaStream)for(const c of p.getAudioTracks())this.connectTrackToMixer(c);if(d instanceof HTMLVideoElement&&d.readyState>=HTMLMediaElement.HAVE_CURRENT_DATA){const c=(f=d.captureStream)==null?void 0:f.call(d);if(c)for(const m of c.getAudioTracks())this.connectTrackToMixer(m)}}}reset(){if(cancelAnimationFrame(this.rafId),this.rafId=0,this.stopResultPromise=null,this.canvasVideoTrack=null,this.mediaRecorder&&this.mediaRecorder.state!=="inactive")try{this.mediaRecorder.stop()}catch{}this.mediaRecorder=null,this.chunks=[],this.canvas=null,this.ctx=null,this.container=null,this.mimeType="",this.teardownAudioGraph()}start(n){if(typeof MediaRecorder>"u")return!1;this.reset(),this.container=n;const a=Wn();if(this.mimeType=a||"video/webm",this.canvas=document.createElement("canvas"),this.canvas.width=1280,this.canvas.height=720,this.ctx=this.canvas.getContext("2d",{alpha:!1}),!this.ctx)return!1;const r=this.canvas.captureStream(30).getVideoTracks();this.canvasVideoTrack=r[0]??null;const u=Ot(n),f=Fn();let d;if(f)try{this.audioCtx=new f,this.audioDestination=this.audioCtx.createMediaStreamDestination(),this.audioCtx.resume().catch(()=>{}),this.wireIncomingAudio(),this.attachMicForMixer();const c=this.audioDestination.stream.getAudioTracks(),m=this.audioCtx.createOscillator(),_=this.audioCtx.createGain();_.gain.value=1e-5,m.frequency.value=20,m.connect(_),_.connect(this.audioDestination),m.start(),this.silentOsc=m,this.silentGain=_,d=new MediaStream([...r,...c])}catch{this.teardownAudioGraph(),d=this.buildStreamWithoutMixer(r,u)}else d=this.buildStreamWithoutMixer(r,u);try{this.mediaRecorder=a?new MediaRecorder(d,{mimeType:a}):new MediaRecorder(d)}catch{try{this.mediaRecorder=new MediaRecorder(d)}catch{return this.reset(),!1}}this.chunks=[],this.mediaRecorder.ondataavailable=c=>{c.data&&c.data.size>0&&this.chunks.push(c.data)},this.mediaRecorder.onerror=c=>{console.error("[call-local-recorder] MediaRecorder 错误",c)};const p=()=>{var m,_;if(!this.ctx||!this.canvas||!this.container)return;this.wireIncomingAudio();const c=Ot(this.container);qn(this.ctx,c,this.canvas.width,this.canvas.height),(_=(m=this.canvasVideoTrack)==null?void 0:m.requestFrame)==null||_.call(m),this.rafId=requestAnimationFrame(p)};this.rafId=requestAnimationFrame(p);try{this.mediaRecorder.start(250)}catch{return this.reset(),!1}return!0}buildStreamWithoutMixer(n,a){const s=new Set,r=[],u=f=>{for(const d of f)s.has(d.id)||(s.add(d.id),r.push(d))};return u(Gn(a)),u(Xn(a)),u(Yn(this.container)),new MediaStream([...n,...r])}async stop(){this.beginStopNow();const n=this.stopResultPromise;return n||null}}function he(i){const n=i.srcObject;return n instanceof MediaStream?n.getVideoTracks().some(a=>a.readyState==="live"):!1}function et(i){const n=i.getBoundingClientRect();return Math.max(0,n.width)*Math.max(0,n.height)}function pe(i){const n=i.videoWidth||i.clientWidth,a=i.videoHeight||i.clientHeight;return n*a}function Qn(i){const n=new Map,a=new Map;for(const s of i){const r=s.srcObject;if(!(r instanceof MediaStream))continue;const u=r.getVideoTracks(),f=r.id&&String(r.id)||u.map(c=>c.id).filter(Boolean).join("|")||`${u.length}`,d=et(s),p=a.get(f)??0;d>=p&&(n.set(f,s),a.set(f,d))}return n.size===0?i:Array.from(n.values())}function Zn(i){if(i.length<2)return i;let n=0;for(const s of i)n=Math.max(n,et(s));return n<=1||Math.min(...i.map(s=>et(s)))/n>=.25?i:i.filter(s=>et(s)>=n*.25)}function to(i){let n=i;for(let a=0;a<12&&n;a++){const s=getComputedStyle(n).transform;if(s&&s!=="none"&&(/matrix\(\s*-1\s*,/.test(s)||/scaleX\(\s*-1/.test(s)))return!0;n=n.parentElement}return!1}function eo(i){const n=/local|self|pusher|mini[_-]?stream|preview[_-]?self|own[_-]?camera|tui-local|tencent-local|stream-local|publisher|send|pip|picture[_-]?in[_-]?picture/i,a=/remote|subscriber|peer|other|tui-remote|stream-remote|big-stream|play[_-]?stream|receiver|pull|substream/i;let s=i;for(let r=0;r<20&&s;r++){const u=`${s.className||""} ${s.id||""} ${s.getAttribute("data-type")||""}`;if(a.test(u))return!1;if(n.test(u))return!0;s=s.parentElement}return!1}async function no(i,n){const a=(n==null?void 0:n.preferRemote)!==!1,s=[i,...(n==null?void 0:n.extraRoots)||[]].filter(g=>!!g),r=new Set;for(const g of s)for(const w of g.querySelectorAll("video"))w instanceof HTMLVideoElement&&r.add(w);if(r.size===0){const g=document.querySelector(".chat-dialog-call-kit-wrapper");if(g)for(const w of g.querySelectorAll("video"))w instanceof HTMLVideoElement&&r.add(w)}r.size===0&&document.body.querySelectorAll("video").forEach(g=>{g instanceof HTMLVideoElement&&he(g)&&r.add(g)});let u=Array.from(r).filter(g=>g.readyState>=HTMLMediaElement.HAVE_CURRENT_DATA&&he(g));if(u.length===0&&(u=Array.from(r).filter(g=>g.readyState>=2)),u.length===0)return null;u=Qn(u);let f=null,d=0,p=0;if(a){const g=u.map(C=>({v:C,layout:et(C),pixel:pe(C),localClass:eo(C),mirror:to(C)}));let w=g.filter(C=>!C.localClass&&!C.mirror);w.length===0&&(w=g.filter(C=>!C.localClass)),w.length===0&&(w=g.filter(C=>!C.mirror)),w.length===0&&(w=g);let O=w.map(C=>C.v);O=Zn(O),w=w.filter(C=>O.includes(C.v));for(const C of w)(C.layout>d||C.layout===d&&C.pixel>p)&&(d=C.layout,p=C.pixel,f=C.v)}else for(const g of u){const w=et(g),O=pe(g);(w>d||w===d&&O>p)&&(d=w,p=O,f=g)}if(!f)return null;const c=f.videoWidth||f.clientWidth,m=f.videoHeight||f.clientHeight;if(!c||!m)return null;const _=document.createElement("canvas");_.width=c,_.height=m;const D=_.getContext("2d");if(!D)return null;try{D.drawImage(f,0,0,c,m)}catch{return null}return new Promise(g=>{_.toBlob(w=>g(w),"image/jpeg",.92)})}function oo(i){const n=[];let a=i,s=0;for(;a!=null&&s<6;){if(typeof a=="string"){n.push(a);break}if(typeof a=="object"){const r=a;typeof r.message=="string"&&n.push(r.message),typeof r.name=="string"&&n.push(r.name),typeof r.code<"u"&&n.push(String(r.code)),a=r.cause}else{n.push(String(a));break}s++}return n.join(" ").toLowerCase()}const ge=-1001;function tt(i){if(i&&typeof i=="object"){const a=i,s=a.code??a.error_code;if(s===ge||s===String(ge))return!0}const n=oo(i);return n.includes("does not support this ability")||n.includes("package you purchased")||n.includes("-1001")&&n.includes("does not support")}function Ce(){return"套餐欠费或未开通该能力,请联系管理员在腾讯云续费或升级套餐。"}function ao(i,n="通话操作失败"){return tt(i)?Ce():i instanceof Error?i.message||n:typeof i=="string"&&i||n}const io={key:0,class:"chat-uikit-custom-msg"},so={key:0,class:"chat-uikit-custom-msg__tag"},ro={class:"chat-uikit-custom-msg__main"},lo={key:1,class:"chat-uikit-custom-msg__sub"},co={key:1,class:"chat-uikit-custom-msg chat-uikit-custom-msg--plain"},uo={class:"chat-uikit-custom-msg__main"},fo={key:2,class:"chat-uikit-custom-msg chat-uikit-custom-msg--plain"},mo={key:0,class:"chat-uikit-custom-msg__sub"},ho=Se({inheritAttrs:!1,__name:"ChatMessageItem",props:{message:{}},setup(i){const n=i,a=Un();function s(c){if(!c||typeof c!="object")return null;const m=c,_=m.data;if(typeof _=="string")return _;if(_&&typeof _=="object")return JSON.stringify(_);const D=m.extension;return typeof D=="string"&&D.trim().startsWith("{")?D:null}const r=q(()=>{var m;const c=(m=n.message)==null?void 0:m.type;return!!(c===En.CUSTOM||typeof c=="string"&&/custom/i.test(c))}),u=q(()=>{var m;if(!r.value)return null;const c=(m=s(n.message.payload))==null?void 0:m.trim();return c?Cn(c):null}),f=q(()=>r.value&&!!u.value),d=q(()=>{const c=n.message.payload,m=c==null?void 0:c.description;return typeof m=="string"&&m.trim()?m.trim():""}),p=q(()=>{var m;const c=(m=s(n.message.payload))==null?void 0:m.trim();return!c||c.length<2?"":c.length<=120?c:`${c.slice(0,117)}…`});return(c,m)=>f.value?(R(),H("div",io,[u.value.tag?(R(),H("span",so,G(u.value.tag),1)):B("",!0),A("div",ro,G(u.value.main),1),u.value.sub?(R(),H("div",lo,G(u.value.sub),1)):B("",!0)])):r.value&&d.value?(R(),H("div",co,[A("div",uo,G(d.value),1)])):r.value?(R(),H("div",fo,[m[0]||(m[0]=A("div",{class:"chat-uikit-custom-msg__main"},"系统消息",-1)),p.value?(R(),H("div",mo,G(p.value),1)):B("",!0)])):(R(),F(E(Tn),Pn({key:3},E(a),{message:i.message}),null,16,["message"]))}}),po=we(ho,[["__scopeId","data-v-1c506f55"]]);function go(i){if(i==null)return null;if(typeof i=="object"&&!Array.isArray(i))return i;if(typeof i!="string")return null;const n=i.trim();if(!n.startsWith("{"))return null;try{return JSON.parse(n)}catch{return null}}function ve(i){const n=i.toLowerCase();return["hangup","cancel","reject","timeout","linebusy","end"].includes(n)}function vo(i){const n=i.trim();if(!n)return!1;if(/\bcall_end\b/i.test(n)&&(/call_engine|call_record|rtc/i.test(n)||/"reason"\s*:\s*\d/.test(n))||/call_engine_srv\.[a-z_]*call[a-z_]*/i.test(n)&&/hangup|end|leave|reject|cancel/i.test(n))return!0;if(!n.startsWith("{"))return!1;let a;try{a=JSON.parse(n)}catch{return!1}if(a.businessID===1||a.businessID==="1"){const r=go(a.data);if(r){const u=String(r.cmd??"");if(ve(u))return!0}}if((a.businessID==="rtc_call"||typeof a.cmd=="string")&&ve(String(a.cmd??"")))return!0;const s=JSON.stringify(a);return!!(s.includes("call_engine_srv")&&/hangup|call_end|CALL_END|reject|cancel/i.test(s))}const yo=["title"],_o={class:"chat-container"},wo={key:0,class:"loading-container"},So={key:1,class:"error-container"},Co={key:2,class:"chat-content"},To={class:"chat-layout"},Eo={class:"message-toolbar"},Ao={class:"call-kit-drag-handle-left"},Io={key:0,class:"call-local-recording-hint"},ko={class:"call-kit-drag-handle-actions"},mt="idle",ht="calling",W="connected",ye=40,bo=100,Ro=1500,Mo=2600,Lo=667,_e=16,Do=Se({__name:"index",setup(i,{expose:n}){const a=y(""),s=y(!1),r=y(!1),u=y(!1),f=y(""),d=y(""),p=y(null),c=y(null),m=y("正在初始化..."),_=y(""),D=y(""),g=y(!1),w=y(!1),{login:O}=xn(),{setActiveConversation:C,createC2CConversation:Te,activeConversation:Ee}=Dn(),Ae=wn(),nt=y("");let K=null,X=null,Et=0;const P=new Jn,At=y(!1),ot=y(!1);let It=0,Y=null,at=null,pt=Promise.resolve(),kt=null;function J(){Y&&(clearTimeout(Y),Y=null)}function bt(e){At.value=!!(e!=null&&e.isLochostVod)}function gt(){return at||(at=(async()=>{if(J(),ot.value=!1,!At.value)return;P.beginStopNow();const e=kt??c.value;try{await pt}catch{}const t=await P.stop();if(!t){console.warn("[chat-dialog] 本地录制无有效文件(若通话较长仍出现,请换 Chrome 并看控制台是否有 MediaRecorder 报错)");return}if(e==null){M.msgWarning("缺少诊单信息,本地录制无法保存到通话记录");return}try{const o=await hn(t,`call-rec-${e}-${Date.now()}.webm`),l=o.uri||o.url;if(!l){M.msgError("上传成功但未返回文件地址");return}await gn({diagnosis_id:e,file_url:l}),M.msgSuccess("本地录制已上传并关联到通话记录")}catch(o){const l=o instanceof Error?o.message:String(o);console.warn("[chat-dialog] 本地录制上传/关联失败",o),M.msgError(l||"本地录制上传失败")}})().finally(()=>{at=null}),at)}function Ie(){const e=$.getData(z.CALL,N.ROOM_ID);if(e==null)return"";if(typeof e=="number")return e===0?"":String(e);const t=String(e).trim();return!t||t==="0"?"":t}function ke(){var e,t;try{const o=(t=(e=x).getTUICallEngineInstance)==null?void 0:t.call(e);if(!o)return"";const l=[o.roomId,o.roomID,o._roomId,o._roomID,o.strRoomID];for(const h of l){if(h==null||h==="")continue;const v=String(h).trim();if(v&&v!=="0")return v}}catch{}return""}function Rt(){return Ie()||ke()}function vt(e,t){if(t!=null&&String(t).trim()!==""&&String(t)!=="0")return String(t).trim();if(typeof e=="number"&&e>0)return String(e);if(typeof e=="string"){const o=e.trim();if(o&&o!=="0")return o}return""}function Kt(e){if(e==null||typeof e!="object")return"";const t=e,o=vt(t.roomID,t.strRoomID)||vt(t.roomId,t.strRoomId);if(o)return o;const l=t.data;if(l&&typeof l=="object"){const h=l,v=vt(h.roomID,h.strRoomID)||vt(h.roomId,h.strRoomId);if(v)return v}return""}function Q(){X&&(clearTimeout(X),X=null),Et=0}function be(){Q();const e=()=>{X=null;const t=$.getData(z.CALL,N.CALL_STATUS);if(t===mt||t!==ht&&t!==W)return;const o=Rt();if(o){rt(o);return}if(Et++,Et>=ye){console.warn("[chat-dialog] 仍未解析到有效房间号(已重试",ye,"次)");return}X=setTimeout(e,bo)};X=setTimeout(e,0)}async function $t(e){if(!(p.value==null||c.value==null)){await Nt();for(let t=0;t<40;t++){const o=Rt();if(o){await rt(o);return}await new Promise(l=>setTimeout(l,50))}console.warn("[chat-dialog] 发起通话后仍未解析到房间号(API:",e,")")}}function Re(){var l,h;const e=window;if(e.__zytEngineRoomCapture__)return;const t=(h=(l=x).getTUICallEngineInstance)==null?void 0:h.call(l);if(!t||typeof t.calls!="function")return;e.__zytEngineRoomCapture__=!0,t.__zytEngineRoomCapture__=!0;const o=v=>{const T=t[v];typeof T=="function"&&(t[v]=async function(...k){const U=await T.apply(t,k),V=Kt(U);return V&&rt(V),await $t("engine."+v),U})};o("calls"),o("call"),o("groupCall")}function Me(){const e=window;if(e.__zytHangupPreStop__)return;const t=x,o=t.hangup;typeof o=="function"&&(e.__zytHangupPreStop__=!0,t.hangup=function(...h){return P.beginStopNow(),o.apply(x,h)})}function zt(){var v,T;const e=window;if(e.__zytTrtcPreStop__)return;const t=(T=(v=x).getTUICallEngineInstance)==null?void 0:T.call(v),o=t==null?void 0:t.trtcCloud;if(!o||typeof o!="object")return;let l=0;const h=["stopLocalVideo","stopLocalAudio"];for(const I of h){const k=o[I];typeof k=="function"&&(o[I]=function(...V){return P.beginStopNow(),k.apply(o,V)},l++)}l>0&&(e.__zytTrtcPreStop__=!0)}let it=[],st=null,Bt=0;async function yt(){const e=kt??c.value;if(e==null){console.warn("[chat-dialog] endCall 跳过:无诊单 ID(快照与当前均为空)");return}try{await vn({diagnosis_id:e}),console.log("[chat-dialog] endCall 已同步",{diagnosis_id:e})}catch(t){console.warn("[chat-dialog] endCall 失败",t)}}function jt(e){const t=Date.now();t-Bt{if(!r.value)return;const l=_.value;if(!l)return;const h=l.startsWith("C2C")?l:`C2C${l}`,v=Array.isArray(o.data)?o.data:[];for(const T of v){if(!T||T.conversationID!==h)continue;const I=T.type;if(!(I===Z.TYPES.MSG_CUSTOM||I==="TIMCustomElem"||typeof I=="string"&&/custom/i.test(I)))continue;const U=T.payload,V=typeof(U==null?void 0:U.data)=="string"?U.data:"";if(!(!V||!vo(V))){jt("IM");break}}},t.on(Z.EVENT.MESSAGE_RECEIVED,st)}catch(t){console.warn("[chat-dialog] 绑定 IM 挂断监听失败",t)}}function Mt(){var e,t;if(st){try{const o=(e=fe)==null?void 0:e.chat;(t=o==null?void 0:o.off)==null||t.call(o,Z.EVENT.MESSAGE_RECEIVED,st)}catch{}st=null}}function De(){var e,t;try{const o=(t=(e=x).getTUICallEngineInstance)==null?void 0:t.call(e),l=o==null?void 0:o.on;if(!o||typeof l!="function"||o.__zytRoomEvents)return;o.__zytRoomEvents=!0;const h=k=>{const U=Kt(k);if(U){rt(U);return}Lt()},v=()=>{jt("TUICallEngine")},T=[ft.TUICallEvent.CALL_END,ft.TUICallEvent.USER_LEAVE,ft.TUICallEvent.ON_CALL_NOT_CONNECTED];for(const k of T)l.call(o,k,v),it.push({event:k,fn:v});const I=[ft.TUICallEvent.USER_ENTER,ft.TUICallEvent.ON_CALL_BEGIN];for(const k of I)l.call(o,k,h),it.push({event:k,fn:h})}catch(o){console.warn("[chat-dialog] 绑定引擎房间事件失败",o)}}function xe(){var e,t;try{const o=(t=(e=x).getTUICallEngineInstance)==null?void 0:t.call(e);if(!(o!=null&&o.off)){it=[];return}for(const{event:l,fn:h}of it)o.off(l,h);o.__zytRoomEvents=!1}catch{}it=[]}function Ue(){const e=window;if(e.__zytTUICallRoomHooks__)return;e.__zytTUICallRoomHooks__=!0;const t=x,o=l=>{const h=t[l];typeof h=="function"&&(t[l]=async function(...T){const I=await h.apply(t,T);return await $t(l),I})};o("calls"),o("call"),o("groupCall")}async function rt(e){try{await pt}catch{}if(p.value==null||c.value==null)return;const t=`${c.value}:${e}`;if(t===nt.value){Q();return}nt.value=t;try{const o=await yn({diagnosis_id:c.value,room_id:e});Q(),console.log("[chat-dialog] bindCallRoom 成功",{room_id:e,bindRes:o});const l=o==null?void 0:o.cloud_recording;l&&l.started===!1&&l.message&&M.msgWarning(`云端合流录制未启动(关闭控制台全局录制后仅依赖 API):${l.message}`)}catch(o){console.warn("[chat-dialog] bindCallRoom 失败",o),nt.value=""}}async function Lt(){if(p.value==null||c.value==null)return;const e=$.getData(z.CALL,N.CALL_STATUS);if(e===mt){Q(),nt.value="";return}if(e!==ht&&e!==W)return;await Nt();const t=Rt();if(t){await rt(t);return}be()}async function Pe(){if(!(p.value==null||c.value==null))try{await _n({diagnosis_id:c.value,patient_id:p.value,call_type:2})}catch(e){console.warn("[chat-dialog] startCall 记录失败",e)}}function Ve(){K==null||K();let e=$.getData(z.CALL,N.CALL_STATUS)??mt;const t=l=>{const h=l??mt;if(h===mt){(e===ht||e===W)&&P.beginStopNow(),J(),ot.value=!1,(e===ht||e===W)&&(async()=>(await yt(),w.value=!1,await gt()))(),Q(),nt.value="",e=h;return}if(h===W){if(Lt(),J(),!At.value){e=h;return}const v=It,T=(I=0)=>{if(v!==It){console.log("[chat-dialog] 录制轮次已变化,取消启动");return}const k=xt.value,U=$.getData(z.CALL,N.CALL_STATUS);if(!k||U!==W){console.warn("[chat-dialog] 录制启动条件不满足",{root:!!k,status:U});return}console.log(`[chat-dialog] 尝试启动本地录制(第 ${I+1} 次)`);let V=Array.from(k.querySelectorAll("video"));if(V.length===0&&(V=Array.from(document.body.querySelectorAll("video")).filter(Ze=>{const ce=Ze.srcObject;return ce instanceof MediaStream?ce.getVideoTracks().some(tn=>tn.readyState==="live"):!1}),console.log("[chat-dialog] 在 body 中找到活跃视频:",V.length)),V.length===0){I<10?(console.warn("[chat-dialog] 未找到视频元素,300ms 后重试"),Y=setTimeout(()=>T(I+1),300)):console.error("[chat-dialog] 重试 10 次后仍未找到视频元素,放弃录制");return}if(!V.some(le=>le.readyState>=HTMLMediaElement.HAVE_CURRENT_DATA)){I<10?(console.warn("[chat-dialog] 视频元素未就绪,300ms 后重试"),Y=setTimeout(()=>T(I+1),300)):console.error("[chat-dialog] 重试 10 次后视频仍未就绪,放弃录制");return}console.log("[chat-dialog] 视频元素已就绪,立即启动录制");const re=P.start(k);ot.value=re,re?console.log("[chat-dialog] ✅ 本地录制已成功启动"):console.error("[chat-dialog] 本地录制启动失败(MediaRecorder 或画布初始化失败)")};Y=setTimeout(()=>T(0),500)}else J();e=h},o=()=>{Lt()};$.watch(z.CALL,{[N.CALL_STATUS]:t,[N.ROOM_ID]:o}),K=()=>{try{$.unwatch(z.CALL,{[N.CALL_STATUS]:t,[N.ROOM_ID]:o})}catch{}Q(),K=null}}let Wt=0;function lt(){const e=Date.now();e-Wt{if(ct(...e),!r.value||!g.value)return;const t=e.map(o=>{if(typeof o=="string")return o;if(o instanceof Error)return o.message;try{return JSON.stringify(o)}catch{return String(o)}}).join(" ");tt(t)&<()})}function Ne(){_t&&ct&&(console.error=ct),_t=!1,ct=null}function Oe(){var e,t,o;try{const l=(t=(e=x).getTUICallEngineInstance)==null?void 0:t.call(e);if(!(l!=null&&l.on))return;j&&((o=l.off)==null||o.call(l,"error",j)),j=h=>{!r.value||!g.value||tt(h)&<()},l.on("error",j)}catch(l){console.warn("绑定 TUICallEngine error 监听失败:",l)}}function Ke(){var e,t;try{const o=(t=(e=x).getTUICallEngineInstance)==null?void 0:t.call(e);o!=null&&o.off&&j&&o.off("error",j)}catch{}j=null}async function $e(e,t){try{const o=Z.create({SDKAppID:e}),l={businessID:"doctor_entered_consult_room",time:Date.now()},h=o.createCustomMessage({to:t,conversationType:Z.TYPES.CONV_C2C,payload:{data:JSON.stringify(l)}});await o.sendMessage(h),console.log("已发送医生进入诊室信令(患者端聊天列表不展示)")}catch(o){console.warn("发送医生进入诊室信令失败:",o)}}const Ft=e=>{!r.value||!g.value||tt(e.reason)&<()};Vn(()=>{He(),window.addEventListener("unhandledrejection",Ft)}),Hn(()=>{J(),P.reset(),K==null||K(),xe(),Mt(),Ne(),Ke(),window.removeEventListener("unhandledrejection",Ft)});const ze=async(e,t)=>{try{if(!e){console.warn("头像 URL 为空,跳过更新");return}console.log("开始更新头像到 IM:",e);const o=await new Promise((l,h)=>{setTimeout(async()=>{try{const T=await Z.create({SDKAppID:t}).updateMyProfile({avatar:e});console.log("IM 头像更新成功:",T),l(T)}catch(v){console.error("更新头像异常:",v),l(null)}},500)})}catch(o){console.error("IM 头像更新失败:",o.message||o)}};Nn(()=>Ee.value,async e=>{if(e){if(d.value=e.getShowName()||d.value,console.log("会话切换:",e.conversationID,"名称:",d.value,e),e.userProfile.userID.includes("doctor"))console.log("当前会话是医生,跳过获取 assistant_id");else try{const t=await Vt({patient_id:e.userProfile.userID.replace("patient_",""),diagnosis_id:c.value});bt(t),_.value=t.patientUserId,a.value=t.assistant_id,console.log("会话切换后获取到 assistant_id:",a.value,"完整响应:",t)}catch(t){console.error("获取 assistant_id 失败:",t)}console.log("会话切换完成,userID:",e.userProfile.userID)}});const Be=async e=>{r.value=!0,s.value=!1,wt.value=100,St.value=80,Qt(),d.value=e.patientName,p.value=e.patientId,c.value=e.diagnosisId||null,f.value="",u.value=!1,g.value=!1,w.value=!1,m.value="正在获取签名...";try{const t=await Vt({patient_id:e.patientId,diagnosis_id:e.diagnosisId||0});if(bt(t),a.value=t.assistant_id,console.log("后端返回的签名数据:",t),console.log("assistant_id:",a.value),!t||!t.userSig)throw new Error("获取签名失败");t.assistant_id||console.warn("警告:后端未返回 assistant_id,群视频通话可能无法正常工作"),_.value=t.patientUserId||`patient_${e.patientId}`,m.value="正在登录聊天...",await O({sdkAppId:Number(t.sdkAppId),userId:t.userId,userSig:t.userSig,useUploadPlugin:!0}),Le();const o=Number(t.sdkAppId);if(!window.__TUICallKitInited__){m.value="正在初始化通话能力...";try{await x.init({userID:t.userId,userSig:t.userSig,SDKAppID:o}),window.__TUICallKitInited__=!0}catch(l){console.warn("TUICallKit 初始化失败,聊天仍可用,音视频通话不可用:",(l==null?void 0:l.message)||l),tt(l)&<()}}g.value=!!window.__TUICallKitInited__,g.value&&(x.setCallback({beforeCalling:()=>{zt(),J(),P.reset(),ot.value=!1,It++,kt=c.value,Qt(),w.value=!0,pt=Pe()},afterCalling:()=>{P.beginStopNow(),(async()=>(await yt(),w.value=!1,await gt()))()}}),Ue(),Re(),Me(),zt(),De(),Ve(),Oe()),console.log("Chat UIKit 登录成功,患者用户ID:",_.value),m.value="加载聊天界面...",setTimeout(async()=>{var h;u.value=!0,await Nt(),await new Promise(v=>setTimeout(v,1e3));const l=(h=Ae.userInfo)==null?void 0:h.avatar;console.log("准备更新头像,avatar:",l),l&&await ze(l,o);try{const v=await Te(_.value);D.value=v.conversationID,console.log("已创建/获取会话:",D.value),C(D.value),console.log("已激活会话"),await $e(o,_.value)}catch(v){console.error("创建/激活会话失败:",v)}},800)}catch(t){console.error("初始化聊天失败:",t),f.value=t.message||"初始化聊天失败",M.msgError(f.value)}},je=async()=>{if(!g.value){M.msgWarning("通话服务初始化中,请稍后再试");return}if(!_.value){M.msgWarning("未找到患者通话ID,无法发起群视频");return}try{if(!a.value){console.warn("assistant_id 为空,尝试重新获取");const t=await Vt({patient_id:p.value,diagnosis_id:c.value});bt(t),a.value=t.assistant_id,console.log("重新获取 assistant_id:",a.value)}const e=[_.value,a.value].filter(t=>t);if(e.length<2){M.msgWarning("助理ID获取失败,无法发起群视频"),console.error("userIDList 不完整:",e,"assistant_ids:",a.value);return}console.log("发起群视频通话,参与者:",e),await x.calls({userIDList:e,type:Bn.VIDEO_CALL})}catch(e){console.error("发起群视频失败:",e),tt(e)?lt():M.msgError(ao(e,"发起群视频失败"))}},We=y(),wt=y(100),St=y(80),Dt=y(!1),qt=y(0),Gt=y(0),Xt=y(0),Yt=y(0),Jt=y(),xt=y(),ut=y(!1),Ct=y(0),Tt=y(0);function Qt(){Ct.value=_e,Tt.value=Math.max(_e,Math.floor((window.innerHeight-Lo)/2))}const Ut=y(!1),Zt=y(0),te=y(0),ee=y(0),ne=y(0),Fe=q(()=>({left:`${Ct.value}px`,top:`${Tt.value}px`})),qe=e=>{Ut.value=!0,Zt.value=e.clientX,te.value=e.clientY,ee.value=Ct.value,ne.value=Tt.value,document.addEventListener("mousemove",oe),document.addEventListener("mouseup",ae)},oe=e=>{Ut.value&&(Ct.value=Math.max(0,ee.value+e.clientX-Zt.value),Tt.value=Math.max(0,ne.value+e.clientY-te.value))},ae=()=>{Ut.value=!1,document.removeEventListener("mousemove",oe),document.removeEventListener("mouseup",ae)},Ge=async()=>{if(!ut.value){ut.value=!0;try{if(p.value==null){M.msgWarning("缺少患者信息,无法同步舌苔照片");return}const e=Jt.value,t=xt.value,o=e||t;if(!o)return;const l=await no(o,{extraRoots:[t].filter(Boolean)});if(!l){M.msgWarning("截屏失败,请确认视频画面已加载");return}const h=await mn(l,`callshot-${Date.now()}.jpg`),v=h.url||h.uri;if(!v){M.msgError("上传未返回图片路径");return}if(c.value==null){M.msgWarning("请先保存诊单后再从视频同步舌苔照片");return}await pn({diagnosis_id:c.value,tongue_images:[v]}),M.msgSuccess("舌苔照片已保存")}catch(e){const t=e;console.error(t),M.msgError((t==null?void 0:t.message)||"上传失败")}finally{ut.value=!1}}},Xe=async()=>{if(g.value)try{P.beginStopNow(),await gt(),await x.hangup()}catch(e){console.warn("关闭视频窗口时挂断失败:",e)}w.value=!1},Ye=q(()=>({left:`${wt.value}px`,top:`${St.value}px`})),Je=e=>{const t=e.target;t.closest(".chat-close-btn")||t.closest(".chat-header-actions")||(Dt.value=!0,qt.value=e.clientX,Gt.value=e.clientY,Xt.value=wt.value,Yt.value=St.value,document.addEventListener("mousemove",ie),document.addEventListener("mouseup",se))},ie=e=>{Dt.value&&(wt.value=Math.max(0,Xt.value+e.clientX-qt.value),St.value=Math.max(0,Yt.value+e.clientY-Gt.value))},se=()=>{Dt.value=!1,document.removeEventListener("mousemove",ie),document.removeEventListener("mouseup",se)},Qe=async()=>{if(Mt(),g.value){const e=$.getData(z.CALL,N.CALL_STATUS);if(e===ht||e===W)try{P.beginStopNow(),await gt(),await x.hangup()}catch(t){console.warn("挂断通话时出错:",t)}}c.value!=null&&await yt(),r.value=!1,w.value=!1};return n({open:Be}),(e,t)=>{const o=on,l=an,h=sn,v=rn;return R(),F(Kn,{to:"body"},[Ht(A("div",{ref_key:"chatWindowRef",ref:We,class:$n(["chat-floating-window",{"chat-floating-window--minimized":s.value}]),style:de(Ye.value)},[A("div",{class:"chat-window-header",onMousedown:Je},[A("span",{class:"chat-window-title",title:d.value},"与 "+G(d.value)+" 通讯",9,yo),A("div",{class:"chat-header-actions",onMousedown:t[2]||(t[2]=dt(()=>{},["stop"]))},[S(l,{type:"danger",link:"",class:"chat-close-btn",onClick:Qe},{default:b(()=>[S(o,null,{default:b(()=>[S(E(ue))]),_:1})]),_:1}),s.value?(R(),F(h,{key:1,content:"展开聊天窗口",placement:"top"},{default:b(()=>[S(l,{type:"primary",link:"",class:"chat-expand-btn",onClick:t[1]||(t[1]=T=>s.value=!1)},{default:b(()=>[S(o,null,{default:b(()=>[S(E(cn))]),_:1}),t[6]||(t[6]=A("span",{class:"chat-header-btn-text"},"展开",-1))]),_:1})]),_:1})):(R(),F(h,{key:0,content:"缩小为标题条,不关闭会话",placement:"top"},{default:b(()=>[S(l,{type:"primary",link:"",class:"chat-minimize-btn",onClick:t[0]||(t[0]=T=>s.value=!0)},{default:b(()=>[S(o,null,{default:b(()=>[S(E(ln))]),_:1}),t[5]||(t[5]=A("span",{class:"chat-header-btn-text"},"缩小",-1))]),_:1})]),_:1}))],32)],32),Ht(A("div",_o,[u.value?f.value?(R(),H("div",So,[S(v,{title:f.value,type:"error",closable:!1},null,8,["title"])])):(R(),H("div",Co,[S(E(jn),{language:"zh-CN",theme:"light"},{default:b(()=>[A("div",To,[S(E(Sn),{class:"chat-area"},{default:b(()=>[S(E(An),{conversationID:D.value,Message:po},null,8,["conversationID"]),S(E(In),null,{headerToolbar:b(()=>[A("div",Eo,[S(E(kn)),S(E(bn)),S(E(Rn)),g.value?(R(),F(E(Mn),{key:0})):B("",!0),g.value?(R(),F(E(Ln),{key:1})):B("",!0),g.value?(R(),F(l,{key:2,size:"small",type:"primary",onClick:je},{default:b(()=>[...t[7]||(t[7]=[On(" 群视频 ",-1)])]),_:1})):B("",!0)])]),_:1})]),_:1})])]),_:1})])):(R(),H("div",wo,[S(o,{class:"is-loading"},{default:b(()=>[S(E(un))]),_:1}),A("span",null,G(m.value),1)]))],512),[[Pt,!s.value]]),g.value?Ht((R(),H("div",{key:0,ref_key:"callKitWrapperRef",ref:Jt,class:"chat-dialog-call-kit-wrapper",style:de(Fe.value)},[A("div",{class:"call-kit-drag-handle",onMousedown:qe},[A("div",Ao,[t[8]||(t[8]=A("span",{class:"drag-handle-text"},"视频通话",-1)),ot.value?(R(),H("span",Io,"本地录制中")):B("",!0)]),A("div",ko,[S(l,{type:"primary",link:"",class:"call-kit-screenshot-btn",loading:ut.value,disabled:ut.value,onMousedown:t[3]||(t[3]=dt(()=>{},["stop"])),onClick:dt(Ge,["stop","prevent"])},{default:b(()=>[S(o,null,{default:b(()=>[S(E(dn))]),_:1}),t[9]||(t[9]=A("span",{class:"call-kit-screenshot-text"},"截屏",-1))]),_:1},8,["loading","disabled"]),S(l,{type:"danger",link:"",class:"call-kit-close-btn",onMousedown:t[4]||(t[4]=dt(()=>{},["stop"])),onClick:dt(Xe,["stop"])},{default:b(()=>[S(o,null,{default:b(()=>[S(E(ue))]),_:1})]),_:1}),S(o,{class:"drag-handle-icon"},{default:b(()=>[S(E(fn))]),_:1})])],32),A("div",{ref_key:"callKitContentRef",ref:xt,class:"call-kit-content"},[S(E(zn),{allowedMinimized:!0,allowedFullScreen:!0,class:"chat-dialog-call-kit"})],512)],4)),[[Pt,w.value]]):B("",!0)],6),[[Pt,r.value]])])}}}),Na=we(Do,[["__scopeId","data-v-09c808b4"]]);export{Na as default}; diff --git a/server/public/admin/assets/index-DsQrRd_r.js b/server/public/admin/assets/index-C2FE2zRB.js similarity index 86% rename from server/public/admin/assets/index-DsQrRd_r.js rename to server/public/admin/assets/index-C2FE2zRB.js index 592dc6f4..9d5c9b3d 100644 --- a/server/public/admin/assets/index-DsQrRd_r.js +++ b/server/public/admin/assets/index-C2FE2zRB.js @@ -1 +1 @@ -import{D as T,B as j,C as q,i as z,J as A,L as J,M,N as G,q as H,g as O}from"./element-plus-0wC3naml.js";import{_ as Q}from"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import{c as W,i as X,_ as Y}from"./index-E47--KT7.js";import{w as k}from"./@vue/runtime-dom-DDAG46FW.js";import{a as Z,b as ee,c as te}from"./admin-DO1zWq80.js";import{u as oe}from"./usePaging-VsbTxSU0.js";import ae from"./edit-BVgeLr6b.js";import{f as x,b as ie,as as ne,ak as m,I as le,a as e,aN as a,O as _,aP as f,G as s,J as V,H as me,n as E}from"./@vue/runtime-core-C6bnekPw.js";import{y as n,a as re,q as se,r as pe,n as de}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./picker-DlbAZkDm.js";import"./index-nymJKQXP.js";import"./index-B56X8bEB.js";import"./index-BHTgr4Ka.js";import"./index-Ci4dcEQh.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-DoYUJmkp.js";import"./index.vue_vue_type_script_setup_true_lang-Bl0f8aX8.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./department-4lF54x8w.js";import"./post-Dq6zumLO.js";import"./useDictOptions-CypOxw17.js";const ce={class:"doctor-list"},ue={class:"mt-4"},_e={class:"flex mt-4 justify-end"},fe=x({name:"doctorList"}),ve=x({...fe,setup(be){const v=se(),r=pe({account:"",name:"",role_id:1,apply_data_scope:1}),b=de(!1),{pager:p,getLists:d,resetParams:D,resetPage:h}=oe({fetchFun:Z,params:r}),P=o=>{ee({id:o.id,avatar:o.avatar,account:o.account,name:o.name,role_id:o.role_id,jobs_id:o.jobs_id,dept_id:o.dept_id,disable:o.disable,multipoint_login:o.multipoint_login}).finally(()=>{d()})},B=async()=>{var o;b.value=!0,await E(),(o=v.value)==null||o.open("add")},I=async o=>{var t,c;b.value=!0,await E(),(t=v.value)==null||t.open("edit"),(c=v.value)==null||c.setFormData(o)},N=async o=>{await X.confirm("确定要删除该医生吗?"),await te({id:o}),d()};return ie(()=>{d()}),(o,t)=>{const c=q,y=j,u=z,$=T,C=A,K=W,l=G,L=H,U=O,F=M,R=Q,w=ne("perms"),S=J;return m(),le("div",ce,[e(C,{class:"!border-none",shadow:"never"},{default:a(()=>[e($,{class:"mb-[-16px]",model:n(r),inline:""},{default:a(()=>[e(y,{class:"w-[280px]",label:"医生账号"},{default:a(()=>[e(c,{modelValue:n(r).account,"onUpdate:modelValue":t[0]||(t[0]=i=>n(r).account=i),placeholder:"请输入医生账号",clearable:"",onKeyup:k(n(h),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(y,{class:"w-[280px]",label:"医生名称"},{default:a(()=>[e(c,{modelValue:n(r).name,"onUpdate:modelValue":t[1]||(t[1]=i=>n(r).name=i),placeholder:"请输入医生名称",clearable:"",onKeyup:k(n(h),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(y,null,{default:a(()=>[e(u,{type:"primary",onClick:n(h)},{default:a(()=>[...t[4]||(t[4]=[_("查询",-1)])]),_:1},8,["onClick"]),e(u,{onClick:n(D)},{default:a(()=>[...t[5]||(t[5]=[_("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),f((m(),s(C,{class:"mt-4 !border-none",shadow:"never"},{default:a(()=>[f((m(),s(u,{type:"primary",onClick:B},{icon:a(()=>[e(K,{name:"el-icon-Plus"})]),default:a(()=>[t[6]||(t[6]=_(" 新增医生 ",-1))]),_:1})),[[w,["auth.admin/add"]]]),V("div",ue,[e(F,{data:n(p).lists,size:"large"},{default:a(()=>[e(l,{label:"ID",prop:"id","min-width":"60"}),e(l,{label:"头像","min-width":"100"},{default:a(({row:i})=>[e(L,{size:50,src:i.avatar},null,8,["src"])]),_:1}),e(l,{label:"账号",prop:"account","min-width":"120"}),e(l,{label:"姓名",prop:"name","min-width":"100"}),e(l,{label:"手机号",prop:"phone","min-width":"120"}),e(l,{label:"创建时间",prop:"create_time","min-width":"180"}),e(l,{label:"最近登录时间",prop:"login_time","min-width":"180"}),e(l,{label:"最近登录IP",prop:"login_ip","min-width":"120"}),f((m(),s(l,{label:"状态","min-width":"100"},{default:a(({row:i})=>[e(U,{modelValue:i.disable,"onUpdate:modelValue":g=>i.disable=g,"active-value":0,"inactive-value":1,onChange:g=>P(i)},null,8,["modelValue","onUpdate:modelValue","onChange"])]),_:1})),[[w,["auth.admin/edit"]]]),e(l,{label:"操作",width:"120",fixed:"right"},{default:a(({row:i})=>[f((m(),s(u,{type:"primary",link:"",onClick:g=>I(i)},{default:a(()=>[...t[7]||(t[7]=[_(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[w,["auth.admin/edit"]]]),f((m(),s(u,{type:"danger",link:"",onClick:g=>N(i.id)},{default:a(()=>[...t[8]||(t[8]=[_(" 删除 ",-1)])]),_:1},8,["onClick"])),[[w,["auth.admin/delete"]]])]),_:1})]),_:1},8,["data"])]),V("div",_e,[e(R,{modelValue:n(p),"onUpdate:modelValue":t[2]||(t[2]=i=>re(p)?p.value=i:null),onChange:n(d)},null,8,["modelValue","onChange"])])]),_:1})),[[S,n(p).loading]]),n(b)?(m(),s(ae,{key:0,ref_key:"editRef",ref:v,onSuccess:n(d),onClose:t[3]||(t[3]=i=>b.value=!1)},null,8,["onSuccess"])):me("",!0)])}}}),yt=Y(ve,[["__scopeId","data-v-72ffb098"]]);export{yt as default}; +import{D as T,B as j,C as q,i as z,J as A,L as J,M,N as G,q as H,g as O}from"./element-plus-DFTWCWyi.js";import{_ as Q}from"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import{c as W,i as X,_ as Y}from"./index-DBREMm_z.js";import{w as k}from"./@vue/runtime-dom-DDAG46FW.js";import{a as Z,b as ee,c as te}from"./admin-DVVxI3fN.js";import{u as oe}from"./usePaging-VsbTxSU0.js";import ae from"./edit-Cgkk3pe8.js";import{f as x,b as ie,as as ne,ak as m,I as le,a as e,aN as a,O as _,aP as f,G as s,J as V,H as me,n as E}from"./@vue/runtime-core-C6bnekPw.js";import{y as n,a as re,q as se,r as pe,n as de}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./picker-BCRrEZaA.js";import"./index-BwF7vczx.js";import"./index-BiPYXDtP.js";import"./index-CbfZXeGu.js";import"./index-CRoZWY-W.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-BimpIRb_.js";import"./index.vue_vue_type_script_setup_true_lang-x0oL2ShL.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./department-CrUndMAW.js";import"./post-RziaWdiV.js";import"./useDictOptions-Dl6xXBty.js";const ce={class:"doctor-list"},ue={class:"mt-4"},_e={class:"flex mt-4 justify-end"},fe=x({name:"doctorList"}),ve=x({...fe,setup(be){const v=se(),r=pe({account:"",name:"",role_id:1,apply_data_scope:1}),b=de(!1),{pager:p,getLists:d,resetParams:D,resetPage:h}=oe({fetchFun:Z,params:r}),P=o=>{ee({id:o.id,avatar:o.avatar,account:o.account,name:o.name,role_id:o.role_id,jobs_id:o.jobs_id,dept_id:o.dept_id,disable:o.disable,multipoint_login:o.multipoint_login}).finally(()=>{d()})},B=async()=>{var o;b.value=!0,await E(),(o=v.value)==null||o.open("add")},I=async o=>{var t,c;b.value=!0,await E(),(t=v.value)==null||t.open("edit"),(c=v.value)==null||c.setFormData(o)},N=async o=>{await X.confirm("确定要删除该医生吗?"),await te({id:o}),d()};return ie(()=>{d()}),(o,t)=>{const c=q,y=j,u=z,$=T,C=A,K=W,l=G,L=H,U=O,F=M,R=Q,w=ne("perms"),S=J;return m(),le("div",ce,[e(C,{class:"!border-none",shadow:"never"},{default:a(()=>[e($,{class:"mb-[-16px]",model:n(r),inline:""},{default:a(()=>[e(y,{class:"w-[280px]",label:"医生账号"},{default:a(()=>[e(c,{modelValue:n(r).account,"onUpdate:modelValue":t[0]||(t[0]=i=>n(r).account=i),placeholder:"请输入医生账号",clearable:"",onKeyup:k(n(h),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(y,{class:"w-[280px]",label:"医生名称"},{default:a(()=>[e(c,{modelValue:n(r).name,"onUpdate:modelValue":t[1]||(t[1]=i=>n(r).name=i),placeholder:"请输入医生名称",clearable:"",onKeyup:k(n(h),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(y,null,{default:a(()=>[e(u,{type:"primary",onClick:n(h)},{default:a(()=>[...t[4]||(t[4]=[_("查询",-1)])]),_:1},8,["onClick"]),e(u,{onClick:n(D)},{default:a(()=>[...t[5]||(t[5]=[_("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),f((m(),s(C,{class:"mt-4 !border-none",shadow:"never"},{default:a(()=>[f((m(),s(u,{type:"primary",onClick:B},{icon:a(()=>[e(K,{name:"el-icon-Plus"})]),default:a(()=>[t[6]||(t[6]=_(" 新增医生 ",-1))]),_:1})),[[w,["auth.admin/add"]]]),V("div",ue,[e(F,{data:n(p).lists,size:"large"},{default:a(()=>[e(l,{label:"ID",prop:"id","min-width":"60"}),e(l,{label:"头像","min-width":"100"},{default:a(({row:i})=>[e(L,{size:50,src:i.avatar},null,8,["src"])]),_:1}),e(l,{label:"账号",prop:"account","min-width":"120"}),e(l,{label:"姓名",prop:"name","min-width":"100"}),e(l,{label:"手机号",prop:"phone","min-width":"120"}),e(l,{label:"创建时间",prop:"create_time","min-width":"180"}),e(l,{label:"最近登录时间",prop:"login_time","min-width":"180"}),e(l,{label:"最近登录IP",prop:"login_ip","min-width":"120"}),f((m(),s(l,{label:"状态","min-width":"100"},{default:a(({row:i})=>[e(U,{modelValue:i.disable,"onUpdate:modelValue":g=>i.disable=g,"active-value":0,"inactive-value":1,onChange:g=>P(i)},null,8,["modelValue","onUpdate:modelValue","onChange"])]),_:1})),[[w,["auth.admin/edit"]]]),e(l,{label:"操作",width:"120",fixed:"right"},{default:a(({row:i})=>[f((m(),s(u,{type:"primary",link:"",onClick:g=>I(i)},{default:a(()=>[...t[7]||(t[7]=[_(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[w,["auth.admin/edit"]]]),f((m(),s(u,{type:"danger",link:"",onClick:g=>N(i.id)},{default:a(()=>[...t[8]||(t[8]=[_(" 删除 ",-1)])]),_:1},8,["onClick"])),[[w,["auth.admin/delete"]]])]),_:1})]),_:1},8,["data"])]),V("div",_e,[e(R,{modelValue:n(p),"onUpdate:modelValue":t[2]||(t[2]=i=>re(p)?p.value=i:null),onChange:n(d)},null,8,["modelValue","onChange"])])]),_:1})),[[S,n(p).loading]]),n(b)?(m(),s(ae,{key:0,ref_key:"editRef",ref:v,onSuccess:n(d),onClose:t[3]||(t[3]=i=>b.value=!1)},null,8,["onSuccess"])):me("",!0)])}}}),yt=Y(ve,[["__scopeId","data-v-72ffb098"]]);export{yt as default}; diff --git a/server/public/admin/assets/index-Ci4dcEQh.js b/server/public/admin/assets/index-CRoZWY-W.js similarity index 95% rename from server/public/admin/assets/index-Ci4dcEQh.js rename to server/public/admin/assets/index-CRoZWY-W.js index bde49dea..662e4f6d 100644 --- a/server/public/admin/assets/index-Ci4dcEQh.js +++ b/server/public/admin/assets/index-CRoZWY-W.js @@ -1 +1 @@ -var A=Object.defineProperty;var F=(e,r,s)=>r in e?A(e,r,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[r]=s;var U=(e,r,s)=>F(e,typeof r!="symbol"?r+"":r,s);import{$ as M,a0 as N,V}from"./element-plus-0wC3naml.js";import{u as j,e as K,q as _,R as b,i as w,_ as H}from"./index-E47--KT7.js";import{C as x}from"./cos-js-sdk-v5-DSMN0LUT.js";import{j as J,k as X}from"./file-DoYUJmkp.js";import{f as G,A as C,ak as E,I as $,a as z,aN as D,aq as Q,G as W,J as P,F as Y,ap as Z,H as ee}from"./@vue/runtime-core-C6bnekPw.js";import{n as L,q as re}from"./@vue/reactivity-DiY1c2vO.js";import{Q as ae}from"./@vue/shared-mAAVTE9n.js";const te=5*1024*1024,se=3;function le(e,r){const s=(r.name.split(".").pop()||"mp4").toLowerCase(),S=Date.now(),p=Math.random().toString(36).slice(2,10);return`${e}${S}-${p}.${s}`}async function ne(e){var o,d;const r=await J({type:e.type});if(r.fallback)throw((o=e.onFallback)==null?void 0:o.call(e,r.provider))??!1?new T(r.provider):new T(r.provider);if(!r.credentials||!r.bucket||!r.region||!r.key_prefix)throw new Error("STS 凭证返回缺失字段");if(r.max_size&&e.file.size>r.max_size){const m=Math.round(r.max_size/1024/1024);throw new Error(`视频体积超出上限(${m}MB)`)}const s=r.credentials,S=r.expired_time??0,p=r.start_time??Math.floor(Date.now()/1e3),y=new x({getAuthorization(m,i){i({TmpSecretId:s.tmpSecretId,TmpSecretKey:s.tmpSecretKey,SecurityToken:s.sessionToken,StartTime:p,ExpiredTime:S})}}),h=le(r.key_prefix,e.file);await new Promise((m,i)=>{y.uploadFile({Bucket:r.bucket,Region:r.region,Key:h,Body:e.file,SliceSize:te,AsyncLimit:se,onProgress(f){if(!e.onProgress)return;const k=f.total||e.file.size;e.onProgress({percent:Math.min(99,Math.round((f.percent||0)*100)),loaded:f.loaded||0,total:k,speed:f.speed||0})}},f=>{if(f){i(f);return}m()})});const u=await X({type:e.type,key:h,name:e.file.name,size:e.file.size,content_type:e.file.type||"",cid:e.cid??0});return(d=e.onProgress)==null||d.call(e,{percent:100,loaded:e.file.size,total:e.file.size,speed:0}),u}class T extends Error{constructor(s){super(`COS 直传不可用,当前驱动: ${s}`);U(this,"provider");this.name="DirectUploadFallbackError",this.provider=s}}const ce=G({components:{},props:{type:{type:String,default:"image"},multiple:{type:Boolean,default:!0},limit:{type:Number,default:10},data:{type:Object,default:()=>({})},showProgress:{type:Boolean,default:!1},direct:{type:Boolean,default:!1}},emits:["change","error","success","allSuccess"],setup(e,{emit:r}){const s=j(),S=K(),p=re(),y=L(`${_.baseUrl}${_.urlPrefix}/upload/${e.type}`),h=C(()=>({token:s.token,version:S.config.version})),u=L(!1),o=L([]),d=C(()=>e.direct&&e.type==="video"),m=()=>{u.value=!0};let i=0;const f=(a,n)=>{i++,i==o.value.length&&(i=0,o.value=[],r("allSuccess")),r("change",n),a.code==b.SUCCESS&&r("success",a),a.code==b.FAIL&&a.msg&&w.msgError(a.msg)},k=(a,n)=>{var l;i++,i==o.value.length&&(i=0,o.value=[],r("allSuccess")),w.msgError(`${n.name}文件上传失败`),(l=p.value)==null||l.abort(n),u.value=!1,r("change",n),r("error",n)},q=()=>{w.msgError(`超出上传上限${e.limit},请重新上传`)},B=()=>{o.value=[],u.value=!1},R=C(()=>{switch(e.type){case"image":return".jpg,.png,.gif,.jpeg,.ico";case"video":return".wmv,.avi,.mpg,.mpeg,.3gp,.mov,.mp4,.flv,.rmvb,.mkv";default:return"*"}}),I=async a=>{var n,l,v;u.value=!0;try{const t=await ne({file:a.file,type:"video",cid:Number(((n=a.data)==null?void 0:n.cid)??0),onProgress(c){var g;(g=a.onProgress)==null||g.call(a,{percent:c.percent,loaded:c.loaded,total:c.total})}});(l=a.onSuccess)==null||l.call(a,{code:b.SUCCESS,msg:"ok",data:t})}catch(t){if(t instanceof T){w.msgWarning("当前存储不支持直传,已切换为普通上传"),await O(a);return}(v=a.onError)==null||v.call(a,t instanceof Error?t:new Error(String((t==null?void 0:t.message)??t)))}},O=a=>new Promise(n=>{const l=new XMLHttpRequest;l.open("POST",y.value),Object.entries(h.value).forEach(([t,c])=>l.setRequestHeader(t,String(c??""))),l.upload.onprogress=t=>{var g;if(!t.lengthComputable)return;const c=t.loaded/t.total*100;(g=a.onProgress)==null||g.call(a,{percent:c,loaded:t.loaded,total:t.total})},l.onload=()=>{var t,c;try{const g=JSON.parse(l.responseText);(t=a.onSuccess)==null||t.call(a,g)}catch{(c=a.onError)==null||c.call(a,new Error("上传响应解析失败"))}n()},l.onerror=()=>{var t;(t=a.onError)==null||t.call(a,new Error("网络错误")),n()};const v=new FormData;v.append("file",a.file),Object.entries(a.data||{}).forEach(([t,c])=>v.append(t,String(c))),l.send(v)});return{uploadRefs:p,action:y,headers:h,visible:u,fileList:o,useDirect:d,httpRequest:I,getAccept:R,handleProgress:m,handleSuccess:f,handleError:k,handleExceed:q,handleClose:B}}}),oe={class:"upload"},de={class:"file-list p-4"},ie={class:"flex-1"};function ue(e,r,s,S,p,y){const h=M,u=N,o=V;return E(),$("div",oe,[z(h,{"file-list":e.fileList,"onUpdate:fileList":r[0]||(r[0]=d=>e.fileList=d),ref:"uploadRefs",action:e.action,multiple:e.multiple,limit:e.limit,"show-file-list":!1,headers:e.headers,data:e.data,"http-request":e.useDirect?e.httpRequest:void 0,"on-progress":e.handleProgress,"on-success":e.handleSuccess,"on-exceed":e.handleExceed,"on-error":e.handleError,accept:e.getAccept},{default:D(()=>[Q(e.$slots,"default")]),_:3},8,["file-list","action","multiple","limit","headers","data","http-request","on-progress","on-success","on-exceed","on-error","accept"]),e.showProgress&&e.fileList.length?(E(),W(o,{key:0,modelValue:e.visible,"onUpdate:modelValue":r[1]||(r[1]=d=>e.visible=d),title:"上传进度","close-on-click-modal":!1,width:"500px",modal:!1,onClose:e.handleClose},{default:D(()=>[P("div",de,[(E(!0),$(Y,null,Z(e.fileList,(d,m)=>(E(),$("div",{key:m,class:"mb-5"},[P("div",null,ae(d.name),1),P("div",ie,[z(u,{percentage:parseInt(d.percentage)},null,8,["percentage"])])]))),128))])]),_:1},8,["modelValue","onClose"])):ee("",!0)])}const we=H(ce,[["render",ue]]);export{we as U}; +var A=Object.defineProperty;var F=(e,r,s)=>r in e?A(e,r,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[r]=s;var U=(e,r,s)=>F(e,typeof r!="symbol"?r+"":r,s);import{$ as M,a0 as N,V}from"./element-plus-DFTWCWyi.js";import{u as j,e as K,q as _,R as b,i as w,_ as H}from"./index-DBREMm_z.js";import{C as x}from"./cos-js-sdk-v5-DSMN0LUT.js";import{j as J,k as X}from"./file-BimpIRb_.js";import{f as G,A as C,ak as E,I as $,a as z,aN as D,aq as Q,G as W,J as P,F as Y,ap as Z,H as ee}from"./@vue/runtime-core-C6bnekPw.js";import{n as L,q as re}from"./@vue/reactivity-DiY1c2vO.js";import{Q as ae}from"./@vue/shared-mAAVTE9n.js";const te=5*1024*1024,se=3;function le(e,r){const s=(r.name.split(".").pop()||"mp4").toLowerCase(),S=Date.now(),p=Math.random().toString(36).slice(2,10);return`${e}${S}-${p}.${s}`}async function ne(e){var o,d;const r=await J({type:e.type});if(r.fallback)throw((o=e.onFallback)==null?void 0:o.call(e,r.provider))??!1?new T(r.provider):new T(r.provider);if(!r.credentials||!r.bucket||!r.region||!r.key_prefix)throw new Error("STS 凭证返回缺失字段");if(r.max_size&&e.file.size>r.max_size){const m=Math.round(r.max_size/1024/1024);throw new Error(`视频体积超出上限(${m}MB)`)}const s=r.credentials,S=r.expired_time??0,p=r.start_time??Math.floor(Date.now()/1e3),y=new x({getAuthorization(m,i){i({TmpSecretId:s.tmpSecretId,TmpSecretKey:s.tmpSecretKey,SecurityToken:s.sessionToken,StartTime:p,ExpiredTime:S})}}),h=le(r.key_prefix,e.file);await new Promise((m,i)=>{y.uploadFile({Bucket:r.bucket,Region:r.region,Key:h,Body:e.file,SliceSize:te,AsyncLimit:se,onProgress(f){if(!e.onProgress)return;const k=f.total||e.file.size;e.onProgress({percent:Math.min(99,Math.round((f.percent||0)*100)),loaded:f.loaded||0,total:k,speed:f.speed||0})}},f=>{if(f){i(f);return}m()})});const u=await X({type:e.type,key:h,name:e.file.name,size:e.file.size,content_type:e.file.type||"",cid:e.cid??0});return(d=e.onProgress)==null||d.call(e,{percent:100,loaded:e.file.size,total:e.file.size,speed:0}),u}class T extends Error{constructor(s){super(`COS 直传不可用,当前驱动: ${s}`);U(this,"provider");this.name="DirectUploadFallbackError",this.provider=s}}const ce=G({components:{},props:{type:{type:String,default:"image"},multiple:{type:Boolean,default:!0},limit:{type:Number,default:10},data:{type:Object,default:()=>({})},showProgress:{type:Boolean,default:!1},direct:{type:Boolean,default:!1}},emits:["change","error","success","allSuccess"],setup(e,{emit:r}){const s=j(),S=K(),p=re(),y=L(`${_.baseUrl}${_.urlPrefix}/upload/${e.type}`),h=C(()=>({token:s.token,version:S.config.version})),u=L(!1),o=L([]),d=C(()=>e.direct&&e.type==="video"),m=()=>{u.value=!0};let i=0;const f=(a,n)=>{i++,i==o.value.length&&(i=0,o.value=[],r("allSuccess")),r("change",n),a.code==b.SUCCESS&&r("success",a),a.code==b.FAIL&&a.msg&&w.msgError(a.msg)},k=(a,n)=>{var l;i++,i==o.value.length&&(i=0,o.value=[],r("allSuccess")),w.msgError(`${n.name}文件上传失败`),(l=p.value)==null||l.abort(n),u.value=!1,r("change",n),r("error",n)},q=()=>{w.msgError(`超出上传上限${e.limit},请重新上传`)},B=()=>{o.value=[],u.value=!1},R=C(()=>{switch(e.type){case"image":return".jpg,.png,.gif,.jpeg,.ico";case"video":return".wmv,.avi,.mpg,.mpeg,.3gp,.mov,.mp4,.flv,.rmvb,.mkv";default:return"*"}}),I=async a=>{var n,l,v;u.value=!0;try{const t=await ne({file:a.file,type:"video",cid:Number(((n=a.data)==null?void 0:n.cid)??0),onProgress(c){var g;(g=a.onProgress)==null||g.call(a,{percent:c.percent,loaded:c.loaded,total:c.total})}});(l=a.onSuccess)==null||l.call(a,{code:b.SUCCESS,msg:"ok",data:t})}catch(t){if(t instanceof T){w.msgWarning("当前存储不支持直传,已切换为普通上传"),await O(a);return}(v=a.onError)==null||v.call(a,t instanceof Error?t:new Error(String((t==null?void 0:t.message)??t)))}},O=a=>new Promise(n=>{const l=new XMLHttpRequest;l.open("POST",y.value),Object.entries(h.value).forEach(([t,c])=>l.setRequestHeader(t,String(c??""))),l.upload.onprogress=t=>{var g;if(!t.lengthComputable)return;const c=t.loaded/t.total*100;(g=a.onProgress)==null||g.call(a,{percent:c,loaded:t.loaded,total:t.total})},l.onload=()=>{var t,c;try{const g=JSON.parse(l.responseText);(t=a.onSuccess)==null||t.call(a,g)}catch{(c=a.onError)==null||c.call(a,new Error("上传响应解析失败"))}n()},l.onerror=()=>{var t;(t=a.onError)==null||t.call(a,new Error("网络错误")),n()};const v=new FormData;v.append("file",a.file),Object.entries(a.data||{}).forEach(([t,c])=>v.append(t,String(c))),l.send(v)});return{uploadRefs:p,action:y,headers:h,visible:u,fileList:o,useDirect:d,httpRequest:I,getAccept:R,handleProgress:m,handleSuccess:f,handleError:k,handleExceed:q,handleClose:B}}}),oe={class:"upload"},de={class:"file-list p-4"},ie={class:"flex-1"};function ue(e,r,s,S,p,y){const h=M,u=N,o=V;return E(),$("div",oe,[z(h,{"file-list":e.fileList,"onUpdate:fileList":r[0]||(r[0]=d=>e.fileList=d),ref:"uploadRefs",action:e.action,multiple:e.multiple,limit:e.limit,"show-file-list":!1,headers:e.headers,data:e.data,"http-request":e.useDirect?e.httpRequest:void 0,"on-progress":e.handleProgress,"on-success":e.handleSuccess,"on-exceed":e.handleExceed,"on-error":e.handleError,accept:e.getAccept},{default:D(()=>[Q(e.$slots,"default")]),_:3},8,["file-list","action","multiple","limit","headers","data","http-request","on-progress","on-success","on-exceed","on-error","accept"]),e.showProgress&&e.fileList.length?(E(),W(o,{key:0,modelValue:e.visible,"onUpdate:modelValue":r[1]||(r[1]=d=>e.visible=d),title:"上传进度","close-on-click-modal":!1,width:"500px",modal:!1,onClose:e.handleClose},{default:D(()=>[P("div",de,[(E(!0),$(Y,null,Z(e.fileList,(d,m)=>(E(),$("div",{key:m,class:"mb-5"},[P("div",null,ae(d.name),1),P("div",ie,[z(u,{percentage:parseInt(d.percentage)},null,8,["percentage"])])]))),128))])]),_:1},8,["modelValue","onClose"])):ee("",!0)])}const we=H(ce,[["render",ue]]);export{we as U}; diff --git a/server/public/admin/assets/index-MIXvCMVf.js b/server/public/admin/assets/index-CS17uynj.js similarity index 95% rename from server/public/admin/assets/index-MIXvCMVf.js rename to server/public/admin/assets/index-CS17uynj.js index 36fc983f..2ef419c4 100644 --- a/server/public/admin/assets/index-MIXvCMVf.js +++ b/server/public/admin/assets/index-CS17uynj.js @@ -1 +1 @@ -import{_ as G}from"./index-9zND60WT.js";import{r as V,c as R,_ as T}from"./index-E47--KT7.js";import{D as z,B as A,G as J,I as $,J as q,i as L,M,N as O,C as P}from"./element-plus-0wC3naml.js";import{f as C,as as Q,ak as i,I as _,a as e,aN as o,J as a,O as m,aP as x,G as y,F as j,ap as H,A as K}from"./@vue/runtime-core-C6bnekPw.js";import{y as d,r as W}from"./@vue/reactivity-DiY1c2vO.js";import{Q as X}from"./@vue/shared-mAAVTE9n.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./lodash-D3kF6u-c.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";function Y(){return V.get({url:"/setting.hot_search/getConfig"})}function Z(u){return V.post({url:"/setting.hot_search/setConfig",params:u})}const tt={class:"hot-search"},et={class:"lg:flex"},ot={class:"flex-1 min-w-0"},st={class:"hot-search-phone mt-4 lg:mt-0 lg:ml-4 flex-none"},at={class:"hot-search-phone-content"},nt={class:"search-com"},rt={class:"search-con flex items-center px-[15px]"},lt={class:"hot-search-text"},it=C({name:"search"}),mt=C({...it,setup(u){const r=W({status:1,data:[]}),k=K(()=>r.data.filter(s=>s.name).sort((s,t)=>t.sort-s.sort)),f=async()=>{try{const s=await Y();for(const t in r)r[t]=s[t]}catch(s){console.log("获取=>",s)}},w=()=>{r.data.push({name:"",sort:0})},E=s=>{r.data.splice(s,1)},D=async()=>{try{await Z(r),f()}catch(s){console.log("保存=>",s)}};return f(),(s,t)=>{const h=$,B=J,I=A,N=z,g=q,p=L,v=P,c=O,S=M,U=R,F=G,b=Q("perms");return i(),_("div",tt,[e(g,{class:"!border-none",shadow:"never"},{default:o(()=>[e(N,{ref:"formRef",model:d(r),"label-width":"100px"},{default:o(()=>[e(I,{label:"功能状态",style:{"margin-bottom":"0"}},{default:o(()=>[a("div",null,[e(B,{modelValue:d(r).status,"onUpdate:modelValue":t[0]||(t[0]=n=>d(r).status=n)},{default:o(()=>[e(h,{value:1},{default:o(()=>[...t[1]||(t[1]=[m("开启",-1)])]),_:1}),e(h,{value:0},{default:o(()=>[...t[2]||(t[2]=[m("关闭",-1)])]),_:1})]),_:1},8,["modelValue"]),t[3]||(t[3]=a("div",{class:"form-tips"},"默认开启,关闭则前端不显示该功能",-1))])]),_:1})]),_:1},8,["model"])]),_:1}),e(g,{class:"!border-none mt-4",shadow:"never"},{default:o(()=>[a("div",et,[a("div",ot,[e(p,{type:"primary",class:"mb-4",onClick:w},{default:o(()=>[...t[4]||(t[4]=[m("添加",-1)])]),_:1}),e(S,{size:"large",data:d(r).data},{default:o(()=>[e(c,{label:"关键词",prop:"describe","min-width":"160"},{default:o(({row:n})=>[e(v,{modelValue:n.name,"onUpdate:modelValue":l=>n.name=l,clearable:"",placeholder:"请输入关键字","show-word-limit":"",maxlength:"30"},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),e(c,{label:"排序",prop:"describe","min-width":"160"},{default:o(({row:n})=>[e(v,{modelValue:n.sort,"onUpdate:modelValue":l=>n.sort=l,type:"number"},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),e(c,{label:"操作","min-width":"80",fixed:"right"},{default:o(({$index:n})=>[x((i(),y(p,{type:"danger",link:"",onClick:l=>E(n)},{default:o(()=>[...t[5]||(t[5]=[m(" 删除 ",-1)])]),_:1},8,["onClick"])),[[b,["setting:storage:edit"]]])]),_:1})]),_:1},8,["data"])]),a("div",st,[t[8]||(t[8]=a("div",{class:"mb-4 text-center"},"- 热搜预览图 -",-1)),a("div",at,[a("div",nt,[a("div",rt,[e(U,{name:"el-icon-Search",size:17}),t[6]||(t[6]=a("span",{class:"ml-[5px]"},"请输入关键词搜索",-1))])]),t[7]||(t[7]=a("div",{class:"hot-search-title"},"热门搜索",-1)),a("div",lt,[(i(!0),_(j,null,H(d(k),(n,l)=>(i(),_("span",{key:l},X(n.name),1))),128))])])])])]),_:1}),x((i(),y(F,null,{default:o(()=>[e(p,{type:"primary",onClick:D},{default:o(()=>[...t[9]||(t[9]=[m("保存",-1)])]),_:1})]),_:1})),[[b,["setting.hot_search/setConfig"]]])])}}}),Ht=T(mt,[["__scopeId","data-v-7cc9d6c3"]]);export{Ht as default}; +import{_ as G}from"./index-x1zzA0a7.js";import{r as V,c as R,_ as T}from"./index-DBREMm_z.js";import{D as z,B as A,G as J,I as $,J as q,i as L,M,N as O,C as P}from"./element-plus-DFTWCWyi.js";import{f as C,as as Q,ak as i,I as _,a as e,aN as o,J as a,O as m,aP as x,G as y,F as j,ap as H,A as K}from"./@vue/runtime-core-C6bnekPw.js";import{y as d,r as W}from"./@vue/reactivity-DiY1c2vO.js";import{Q as X}from"./@vue/shared-mAAVTE9n.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./lodash-D3kF6u-c.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";function Y(){return V.get({url:"/setting.hot_search/getConfig"})}function Z(u){return V.post({url:"/setting.hot_search/setConfig",params:u})}const tt={class:"hot-search"},et={class:"lg:flex"},ot={class:"flex-1 min-w-0"},st={class:"hot-search-phone mt-4 lg:mt-0 lg:ml-4 flex-none"},at={class:"hot-search-phone-content"},nt={class:"search-com"},rt={class:"search-con flex items-center px-[15px]"},lt={class:"hot-search-text"},it=C({name:"search"}),mt=C({...it,setup(u){const r=W({status:1,data:[]}),k=K(()=>r.data.filter(s=>s.name).sort((s,t)=>t.sort-s.sort)),f=async()=>{try{const s=await Y();for(const t in r)r[t]=s[t]}catch(s){console.log("获取=>",s)}},w=()=>{r.data.push({name:"",sort:0})},E=s=>{r.data.splice(s,1)},D=async()=>{try{await Z(r),f()}catch(s){console.log("保存=>",s)}};return f(),(s,t)=>{const h=$,B=J,I=A,N=z,g=q,p=L,v=P,c=O,S=M,U=R,F=G,b=Q("perms");return i(),_("div",tt,[e(g,{class:"!border-none",shadow:"never"},{default:o(()=>[e(N,{ref:"formRef",model:d(r),"label-width":"100px"},{default:o(()=>[e(I,{label:"功能状态",style:{"margin-bottom":"0"}},{default:o(()=>[a("div",null,[e(B,{modelValue:d(r).status,"onUpdate:modelValue":t[0]||(t[0]=n=>d(r).status=n)},{default:o(()=>[e(h,{value:1},{default:o(()=>[...t[1]||(t[1]=[m("开启",-1)])]),_:1}),e(h,{value:0},{default:o(()=>[...t[2]||(t[2]=[m("关闭",-1)])]),_:1})]),_:1},8,["modelValue"]),t[3]||(t[3]=a("div",{class:"form-tips"},"默认开启,关闭则前端不显示该功能",-1))])]),_:1})]),_:1},8,["model"])]),_:1}),e(g,{class:"!border-none mt-4",shadow:"never"},{default:o(()=>[a("div",et,[a("div",ot,[e(p,{type:"primary",class:"mb-4",onClick:w},{default:o(()=>[...t[4]||(t[4]=[m("添加",-1)])]),_:1}),e(S,{size:"large",data:d(r).data},{default:o(()=>[e(c,{label:"关键词",prop:"describe","min-width":"160"},{default:o(({row:n})=>[e(v,{modelValue:n.name,"onUpdate:modelValue":l=>n.name=l,clearable:"",placeholder:"请输入关键字","show-word-limit":"",maxlength:"30"},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),e(c,{label:"排序",prop:"describe","min-width":"160"},{default:o(({row:n})=>[e(v,{modelValue:n.sort,"onUpdate:modelValue":l=>n.sort=l,type:"number"},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),e(c,{label:"操作","min-width":"80",fixed:"right"},{default:o(({$index:n})=>[x((i(),y(p,{type:"danger",link:"",onClick:l=>E(n)},{default:o(()=>[...t[5]||(t[5]=[m(" 删除 ",-1)])]),_:1},8,["onClick"])),[[b,["setting:storage:edit"]]])]),_:1})]),_:1},8,["data"])]),a("div",st,[t[8]||(t[8]=a("div",{class:"mb-4 text-center"},"- 热搜预览图 -",-1)),a("div",at,[a("div",nt,[a("div",rt,[e(U,{name:"el-icon-Search",size:17}),t[6]||(t[6]=a("span",{class:"ml-[5px]"},"请输入关键词搜索",-1))])]),t[7]||(t[7]=a("div",{class:"hot-search-title"},"热门搜索",-1)),a("div",lt,[(i(!0),_(j,null,H(d(k),(n,l)=>(i(),_("span",{key:l},X(n.name),1))),128))])])])])]),_:1}),x((i(),y(F,null,{default:o(()=>[e(p,{type:"primary",onClick:D},{default:o(()=>[...t[9]||(t[9]=[m("保存",-1)])]),_:1})]),_:1})),[[b,["setting.hot_search/setConfig"]]])])}}}),Ht=T(mt,[["__scopeId","data-v-7cc9d6c3"]]);export{Ht as default}; diff --git a/server/public/admin/assets/index-xrZVk_ET.js b/server/public/admin/assets/index-CWCmmZDs.js similarity index 92% rename from server/public/admin/assets/index-xrZVk_ET.js rename to server/public/admin/assets/index-CWCmmZDs.js index b4bc923d..92f62653 100644 --- a/server/public/admin/assets/index-xrZVk_ET.js +++ b/server/public/admin/assets/index-CWCmmZDs.js @@ -1 +1 @@ -import{D as z,B as A,C as G,P as H,Q as M,i as Q,J as W,M as X,N as Y,T as Z,L as ee}from"./element-plus-0wC3naml.js";import{_ as te}from"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import{c as oe,k as le,i as ae}from"./index-E47--KT7.js";import{w as P}from"./@vue/runtime-dom-DDAG46FW.js";import{f as ne,i as ie}from"./dict-Nvtnb8GD.js";import{u as se}from"./usePaging-VsbTxSU0.js";import{_ as re}from"./edit.vue_vue_type_script_setup_true_lang-C3aOnTrX.js";import{f as R,ar as me,as as de,ak as n,I as $,a as t,aN as o,O as s,J as V,aP as u,G as d,H as pe,n as B}from"./@vue/runtime-core-C6bnekPw.js";import{y as l,a as ue,q as ce,n as N,r as _e}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-nymJKQXP.js";const fe={class:"dict-type"},ye={class:"mt-4"},ve={class:"flex justify-end mt-4"},ge=R({name:"dictType"}),rt=R({...ge,setup(ke){const y=ce(),v=N(!1),r=_e({name:"",type:"",status:""}),{pager:c,getLists:g,resetPage:b,resetParams:K}=se({fetchFun:ne,params:r}),C=N([]),S=i=>{C.value=i.map(({id:e})=>e)},F=async()=>{var i;v.value=!0,await B(),(i=y.value)==null||i.open("add")},I=async i=>{var e,_;v.value=!0,await B(),(e=y.value)==null||e.open("edit"),(_=y.value)==null||_.setFormData(i)},E=async i=>{await ae.confirm("确定要删除?"),await ie({id:i}),g()};return g(),(i,e)=>{const _=G,k=A,w=M,L=H,p=Q,U=z,x=W,D=oe,m=Y,T=Z,q=me("router-link"),J=X,O=te,f=de("perms"),h=ee;return n(),$("div",fe,[t(x,{class:"!border-none",shadow:"never"},{default:o(()=>[t(U,{ref:"formRef",class:"mb-[-16px]",model:l(r),inline:""},{default:o(()=>[t(k,{class:"w-[280px]",label:"字典名称"},{default:o(()=>[t(_,{modelValue:l(r).name,"onUpdate:modelValue":e[0]||(e[0]=a=>l(r).name=a),clearable:"",onKeyup:P(l(b),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(k,{class:"w-[280px]",label:"字典类型"},{default:o(()=>[t(_,{modelValue:l(r).type,"onUpdate:modelValue":e[1]||(e[1]=a=>l(r).type=a),clearable:"",onKeyup:P(l(b),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(k,{class:"w-[280px]",label:"状态"},{default:o(()=>[t(L,{modelValue:l(r).status,"onUpdate:modelValue":e[2]||(e[2]=a=>l(r).status=a)},{default:o(()=>[t(w,{label:"全部",value:""}),t(w,{label:"正常",value:1}),t(w,{label:"停用",value:0})]),_:1},8,["modelValue"])]),_:1}),t(k,null,{default:o(()=>[t(p,{type:"primary",onClick:l(b)},{default:o(()=>[...e[6]||(e[6]=[s("查询",-1)])]),_:1},8,["onClick"]),t(p,{onClick:l(K)},{default:o(()=>[...e[7]||(e[7]=[s("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),t(x,{class:"!border-none mt-4",shadow:"never"},{default:o(()=>[V("div",null,[u((n(),d(p,{type:"primary",onClick:F},{icon:o(()=>[t(D,{name:"el-icon-Plus"})]),default:o(()=>[e[8]||(e[8]=s(" 新增 ",-1))]),_:1})),[[f,["setting.dict.dict_type/add"]]]),u((n(),d(p,{disabled:!l(C).length,type:"danger",onClick:e[3]||(e[3]=a=>E(l(C)))},{icon:o(()=>[t(D,{name:"el-icon-Delete"})]),default:o(()=>[e[9]||(e[9]=s(" 删除 ",-1))]),_:1},8,["disabled"])),[[f,["setting.dict.dict_type/delete"]]])]),u((n(),$("div",ye,[V("div",null,[t(J,{data:l(c).lists,size:"large",onSelectionChange:S},{default:o(()=>[t(m,{type:"selection",width:"55"}),t(m,{label:"ID",prop:"id"}),t(m,{label:"字典名称",prop:"name","min-width":"120"}),t(m,{label:"字典类型",prop:"type","min-width":"120"}),t(m,{label:"状态"},{default:o(({row:a})=>[a.status==1?(n(),d(T,{key:0},{default:o(()=>[...e[10]||(e[10]=[s("正常",-1)])]),_:1})):(n(),d(T,{key:1,type:"danger"},{default:o(()=>[...e[11]||(e[11]=[s("停用",-1)])]),_:1}))]),_:1}),t(m,{label:"备注",prop:"remark","show-tooltip-when-overflow":""}),t(m,{label:"创建时间",prop:"create_time","min-width":"180"}),t(m,{label:"操作",width:"190",fixed:"right"},{default:o(({row:a})=>[u((n(),d(p,{link:"",type:"primary",onClick:j=>I(a)},{default:o(()=>[...e[12]||(e[12]=[s(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[f,["setting.dict.dict_type/edit"]]]),u((n(),d(p,{type:"primary",link:""},{default:o(()=>[t(q,{to:{path:l(le)("setting.dict.dict_data/lists"),query:{id:a.id}}},{default:o(()=>[...e[13]||(e[13]=[s(" 数据管理 ",-1)])]),_:1},8,["to"])]),_:2},1024)),[[f,["setting.dict.dict_data/lists"]]]),u((n(),d(p,{link:"",type:"danger",onClick:j=>E(a.id)},{default:o(()=>[...e[14]||(e[14]=[s(" 删除 ",-1)])]),_:1},8,["onClick"])),[[f,["setting.dict.dict_type/delete"]]])]),_:1})]),_:1},8,["data"])]),V("div",ve,[t(O,{modelValue:l(c),"onUpdate:modelValue":e[4]||(e[4]=a=>ue(c)?c.value=a:null),onChange:l(g)},null,8,["modelValue","onChange"])])])),[[h,l(c).loading]])]),_:1}),l(v)?(n(),d(re,{key:0,ref_key:"editRef",ref:y,onSuccess:l(g),onClose:e[5]||(e[5]=a=>v.value=!1)},null,8,["onSuccess"])):pe("",!0)])}}});export{rt as default}; +import{D as z,B as A,C as G,P as H,Q as M,i as Q,J as W,M as X,N as Y,T as Z,L as ee}from"./element-plus-DFTWCWyi.js";import{_ as te}from"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import{c as oe,k as le,i as ae}from"./index-DBREMm_z.js";import{w as P}from"./@vue/runtime-dom-DDAG46FW.js";import{f as ne,i as ie}from"./dict-BKviBR_7.js";import{u as se}from"./usePaging-VsbTxSU0.js";import{_ as re}from"./edit.vue_vue_type_script_setup_true_lang-CZsj0pig.js";import{f as R,ar as me,as as de,ak as n,I as $,a as t,aN as o,O as s,J as V,aP as u,G as d,H as pe,n as B}from"./@vue/runtime-core-C6bnekPw.js";import{y as l,a as ue,q as ce,n as N,r as _e}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-BwF7vczx.js";const fe={class:"dict-type"},ye={class:"mt-4"},ve={class:"flex justify-end mt-4"},ge=R({name:"dictType"}),rt=R({...ge,setup(ke){const y=ce(),v=N(!1),r=_e({name:"",type:"",status:""}),{pager:c,getLists:g,resetPage:b,resetParams:K}=se({fetchFun:ne,params:r}),C=N([]),S=i=>{C.value=i.map(({id:e})=>e)},F=async()=>{var i;v.value=!0,await B(),(i=y.value)==null||i.open("add")},I=async i=>{var e,_;v.value=!0,await B(),(e=y.value)==null||e.open("edit"),(_=y.value)==null||_.setFormData(i)},E=async i=>{await ae.confirm("确定要删除?"),await ie({id:i}),g()};return g(),(i,e)=>{const _=G,k=A,w=M,L=H,p=Q,U=z,x=W,D=oe,m=Y,T=Z,q=me("router-link"),J=X,O=te,f=de("perms"),h=ee;return n(),$("div",fe,[t(x,{class:"!border-none",shadow:"never"},{default:o(()=>[t(U,{ref:"formRef",class:"mb-[-16px]",model:l(r),inline:""},{default:o(()=>[t(k,{class:"w-[280px]",label:"字典名称"},{default:o(()=>[t(_,{modelValue:l(r).name,"onUpdate:modelValue":e[0]||(e[0]=a=>l(r).name=a),clearable:"",onKeyup:P(l(b),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(k,{class:"w-[280px]",label:"字典类型"},{default:o(()=>[t(_,{modelValue:l(r).type,"onUpdate:modelValue":e[1]||(e[1]=a=>l(r).type=a),clearable:"",onKeyup:P(l(b),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(k,{class:"w-[280px]",label:"状态"},{default:o(()=>[t(L,{modelValue:l(r).status,"onUpdate:modelValue":e[2]||(e[2]=a=>l(r).status=a)},{default:o(()=>[t(w,{label:"全部",value:""}),t(w,{label:"正常",value:1}),t(w,{label:"停用",value:0})]),_:1},8,["modelValue"])]),_:1}),t(k,null,{default:o(()=>[t(p,{type:"primary",onClick:l(b)},{default:o(()=>[...e[6]||(e[6]=[s("查询",-1)])]),_:1},8,["onClick"]),t(p,{onClick:l(K)},{default:o(()=>[...e[7]||(e[7]=[s("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),t(x,{class:"!border-none mt-4",shadow:"never"},{default:o(()=>[V("div",null,[u((n(),d(p,{type:"primary",onClick:F},{icon:o(()=>[t(D,{name:"el-icon-Plus"})]),default:o(()=>[e[8]||(e[8]=s(" 新增 ",-1))]),_:1})),[[f,["setting.dict.dict_type/add"]]]),u((n(),d(p,{disabled:!l(C).length,type:"danger",onClick:e[3]||(e[3]=a=>E(l(C)))},{icon:o(()=>[t(D,{name:"el-icon-Delete"})]),default:o(()=>[e[9]||(e[9]=s(" 删除 ",-1))]),_:1},8,["disabled"])),[[f,["setting.dict.dict_type/delete"]]])]),u((n(),$("div",ye,[V("div",null,[t(J,{data:l(c).lists,size:"large",onSelectionChange:S},{default:o(()=>[t(m,{type:"selection",width:"55"}),t(m,{label:"ID",prop:"id"}),t(m,{label:"字典名称",prop:"name","min-width":"120"}),t(m,{label:"字典类型",prop:"type","min-width":"120"}),t(m,{label:"状态"},{default:o(({row:a})=>[a.status==1?(n(),d(T,{key:0},{default:o(()=>[...e[10]||(e[10]=[s("正常",-1)])]),_:1})):(n(),d(T,{key:1,type:"danger"},{default:o(()=>[...e[11]||(e[11]=[s("停用",-1)])]),_:1}))]),_:1}),t(m,{label:"备注",prop:"remark","show-tooltip-when-overflow":""}),t(m,{label:"创建时间",prop:"create_time","min-width":"180"}),t(m,{label:"操作",width:"190",fixed:"right"},{default:o(({row:a})=>[u((n(),d(p,{link:"",type:"primary",onClick:j=>I(a)},{default:o(()=>[...e[12]||(e[12]=[s(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[f,["setting.dict.dict_type/edit"]]]),u((n(),d(p,{type:"primary",link:""},{default:o(()=>[t(q,{to:{path:l(le)("setting.dict.dict_data/lists"),query:{id:a.id}}},{default:o(()=>[...e[13]||(e[13]=[s(" 数据管理 ",-1)])]),_:1},8,["to"])]),_:2},1024)),[[f,["setting.dict.dict_data/lists"]]]),u((n(),d(p,{link:"",type:"danger",onClick:j=>E(a.id)},{default:o(()=>[...e[14]||(e[14]=[s(" 删除 ",-1)])]),_:1},8,["onClick"])),[[f,["setting.dict.dict_type/delete"]]])]),_:1})]),_:1},8,["data"])]),V("div",ve,[t(O,{modelValue:l(c),"onUpdate:modelValue":e[4]||(e[4]=a=>ue(c)?c.value=a:null),onChange:l(g)},null,8,["modelValue","onChange"])])])),[[h,l(c).loading]])]),_:1}),l(v)?(n(),d(re,{key:0,ref_key:"editRef",ref:y,onSuccess:l(g),onClose:e[5]||(e[5]=a=>v.value=!1)},null,8,["onSuccess"])):pe("",!0)])}}});export{rt as default}; diff --git a/server/public/admin/assets/index-8sBm8V5s.js b/server/public/admin/assets/index-CZGt9K8l.js similarity index 93% rename from server/public/admin/assets/index-8sBm8V5s.js rename to server/public/admin/assets/index-CZGt9K8l.js index 922cb786..a153337f 100644 --- a/server/public/admin/assets/index-8sBm8V5s.js +++ b/server/public/admin/assets/index-CZGt9K8l.js @@ -1 +1 @@ -import{_ as B}from"./index-9zND60WT.js";import{D as k,B as y,G as D,I,C as N,J as R,i as G}from"./element-plus-0wC3naml.js";import{r as f}from"./index-E47--KT7.js";import{f as c,as as F,ak as _,I as J,a as e,aN as o,J as a,O as i,aP as O,G as U}from"./@vue/runtime-core-C6bnekPw.js";import{y as n,r as h}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";function j(){return f.get({url:"/recharge.recharge/getConfig"})}function q(l){return f.post({url:"/recharge.recharge/setConfig",params:l})}const P=c({name:"rechargeConfig"}),Bt=c({...P,setup(l){const r=h({status:1,min_amount:""}),s=async()=>{const p=await j();Object.assign(r,p)},g=async()=>{await q(r),s()};return s(),(p,t)=>{const u=I,v=D,d=y,C=N,b=k,V=R,E=G,x=B,w=F("perms");return _(),J("div",null,[e(V,{shadow:"never",class:"!border-none"},{header:o(()=>[...t[2]||(t[2]=[a("span",{class:"font-extrabold text-lg"},"充值设置",-1)])]),default:o(()=>[e(b,{model:n(r),"label-width":"120px"},{default:o(()=>[e(d,{label:"状态"},{default:o(()=>[a("div",null,[e(v,{modelValue:n(r).status,"onUpdate:modelValue":t[0]||(t[0]=m=>n(r).status=m),class:"ml-4"},{default:o(()=>[e(u,{value:1},{default:o(()=>[...t[3]||(t[3]=[i("开启",-1)])]),_:1}),e(u,{value:0},{default:o(()=>[...t[4]||(t[4]=[i("关闭",-1)])]),_:1})]),_:1},8,["modelValue"]),t[5]||(t[5]=a("div",{class:"form-tips"},"关闭或开启充值功能,关闭后将不显示充值入口",-1))])]),_:1}),e(d,{label:"最低充值金额"},{default:o(()=>[a("div",null,[e(C,{modelValue:n(r).min_amount,"onUpdate:modelValue":t[1]||(t[1]=m=>n(r).min_amount=m),placeholder:"请输入最低充值金额",clearable:""},null,8,["modelValue"]),t[6]||(t[6]=a("div",{class:"form-tips"}," 最低充值金额要求,不填或填0表示不限制最低充值金额 ",-1))])]),_:1})]),_:1},8,["model"])]),_:1}),O((_(),U(x,null,{default:o(()=>[e(E,{type:"primary",onClick:g},{default:o(()=>[...t[7]||(t[7]=[i("保存",-1)])]),_:1})]),_:1})),[[w,["recharge.recharge/setConfig"]]])])}}});export{Bt as default}; +import{_ as B}from"./index-x1zzA0a7.js";import{D as k,B as y,G as D,I,C as N,J as R,i as G}from"./element-plus-DFTWCWyi.js";import{r as f}from"./index-DBREMm_z.js";import{f as c,as as F,ak as _,I as J,a as e,aN as o,J as a,O as i,aP as O,G as U}from"./@vue/runtime-core-C6bnekPw.js";import{y as n,r as h}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";function j(){return f.get({url:"/recharge.recharge/getConfig"})}function q(l){return f.post({url:"/recharge.recharge/setConfig",params:l})}const P=c({name:"rechargeConfig"}),Bt=c({...P,setup(l){const r=h({status:1,min_amount:""}),s=async()=>{const p=await j();Object.assign(r,p)},g=async()=>{await q(r),s()};return s(),(p,t)=>{const u=I,v=D,d=y,C=N,b=k,V=R,E=G,x=B,w=F("perms");return _(),J("div",null,[e(V,{shadow:"never",class:"!border-none"},{header:o(()=>[...t[2]||(t[2]=[a("span",{class:"font-extrabold text-lg"},"充值设置",-1)])]),default:o(()=>[e(b,{model:n(r),"label-width":"120px"},{default:o(()=>[e(d,{label:"状态"},{default:o(()=>[a("div",null,[e(v,{modelValue:n(r).status,"onUpdate:modelValue":t[0]||(t[0]=m=>n(r).status=m),class:"ml-4"},{default:o(()=>[e(u,{value:1},{default:o(()=>[...t[3]||(t[3]=[i("开启",-1)])]),_:1}),e(u,{value:0},{default:o(()=>[...t[4]||(t[4]=[i("关闭",-1)])]),_:1})]),_:1},8,["modelValue"]),t[5]||(t[5]=a("div",{class:"form-tips"},"关闭或开启充值功能,关闭后将不显示充值入口",-1))])]),_:1}),e(d,{label:"最低充值金额"},{default:o(()=>[a("div",null,[e(C,{modelValue:n(r).min_amount,"onUpdate:modelValue":t[1]||(t[1]=m=>n(r).min_amount=m),placeholder:"请输入最低充值金额",clearable:""},null,8,["modelValue"]),t[6]||(t[6]=a("div",{class:"form-tips"}," 最低充值金额要求,不填或填0表示不限制最低充值金额 ",-1))])]),_:1})]),_:1},8,["model"])]),_:1}),O((_(),U(x,null,{default:o(()=>[e(E,{type:"primary",onClick:g},{default:o(()=>[...t[7]||(t[7]=[i("保存",-1)])]),_:1})]),_:1})),[[w,["recharge.recharge/setConfig"]]])])}}});export{Bt as default}; diff --git a/server/public/admin/assets/index-BHTgr4Ka.js b/server/public/admin/assets/index-CbfZXeGu.js similarity index 90% rename from server/public/admin/assets/index-BHTgr4Ka.js rename to server/public/admin/assets/index-CbfZXeGu.js index edc335c9..d00932e2 100644 --- a/server/public/admin/assets/index-BHTgr4Ka.js +++ b/server/public/admin/assets/index-CbfZXeGu.js @@ -1 +1 @@ -import{_ as r,c}from"./index-E47--KT7.js";import{f as d,ak as s,I as n,aq as p,a as i,H as m}from"./@vue/runtime-core-C6bnekPw.js";import{s as _}from"./@vue/runtime-dom-DDAG46FW.js";const f=d({props:{showClose:{type:Boolean,default:!0}},emits:["close"],setup(e,{emit:o}){return{handleClose:()=>{o("close")}}}}),u={class:"del-wrap"};function C(e,o,t,h,$,k){const a=c;return s(),n("div",u,[p(e.$slots,"default",{},void 0,!0),e.showClose?(s(),n("div",{key:0,class:"icon-close",onClick:o[0]||(o[0]=_((...l)=>e.handleClose&&e.handleClose(...l),["stop"]))},[i(a,{size:12,name:"el-icon-CloseBold"})])):m("",!0)])}const y=r(f,[["render",C],["__scopeId","data-v-acafd744"]]);export{y as _}; +import{_ as r,c}from"./index-DBREMm_z.js";import{f as d,ak as s,I as n,aq as p,a as i,H as m}from"./@vue/runtime-core-C6bnekPw.js";import{s as _}from"./@vue/runtime-dom-DDAG46FW.js";const f=d({props:{showClose:{type:Boolean,default:!0}},emits:["close"],setup(e,{emit:o}){return{handleClose:()=>{o("close")}}}}),u={class:"del-wrap"};function C(e,o,t,h,$,k){const a=c;return s(),n("div",u,[p(e.$slots,"default",{},void 0,!0),e.showClose?(s(),n("div",{key:0,class:"icon-close",onClick:o[0]||(o[0]=_((...l)=>e.handleClose&&e.handleClose(...l),["stop"]))},[i(a,{size:12,name:"el-icon-CloseBold"})])):m("",!0)])}const y=r(f,[["render",C],["__scopeId","data-v-acafd744"]]);export{y as _}; diff --git a/server/public/admin/assets/index-CbvSIpPP.js b/server/public/admin/assets/index-CbvSIpPP.js deleted file mode 100644 index ac5baa59..00000000 --- a/server/public/admin/assets/index-CbvSIpPP.js +++ /dev/null @@ -1,2 +0,0 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/edit-DlBhR6x6.js","assets/element-plus-0wC3naml.js","assets/@vue/runtime-dom-DDAG46FW.js","assets/lodash-D3kF6u-c.js","assets/@vue/runtime-core-C6bnekPw.js","assets/@vue/reactivity-DiY1c2vO.js","assets/@vue/shared-mAAVTE9n.js","assets/@element-plus/icons-vue-HOEUG8sr.js","assets/lodash-es-C2A-Pj28.js","assets/@popperjs/core-C5az9QE8.js","assets/dayjs-DG77mNTn.js","assets/@ctrl/tinycolor-BuyEbX8F.js","assets/async-validator-CFA_igpM.js","assets/normalize-wheel-es-BQoi3Ox2.js","assets/element-plus-C_YxM8bk.css","assets/tcm-SLIwsL8z.js","assets/index-E47--KT7.js","assets/jspdf-BsthCvR5.js","assets/@babel/runtime-BanGtE2-.js","assets/fflate-_ayOYiT1.js","assets/vue-router-QlpZ4wdW.js","assets/pinia-B8cvXbiZ.js","assets/axios-C80V62Fs.js","assets/@vueuse/core-1S4fJlii.js","assets/@vueuse/shared-Cl3lVqjz.js","assets/css-color-function-DI01JAaZ.js","assets/balanced-match-BdS7OldZ.js","assets/color-B2zxaWkI.js","assets/clone-DBZ6_OiU.js","assets/color-convert-OrFsTA_V.js","assets/color-name-Dju3oUBS.js","assets/color-string-pUQDDJII.js","assets/ms-CzQ2E3wO.js","assets/vue-clipboard3-DByT_rEQ.js","assets/clipboard-CHgxszqY.js","assets/echarts-CNLwa9wG.js","assets/tslib-BDyQ-Jie.js","assets/zrender-DRNXw7y3.js","assets/highlight.js-Bxt7hFFy.js","assets/highlight-BfC0goYb.css","assets/@highlightjs/vue-plugin-C4onkBvW.js","assets/index-Cf-gzPmQ.css","assets/perm-YIJpPBOg.js","assets/DailyMatrix-0DiBlpfB.js","assets/picker-DlbAZkDm.js","assets/index-nymJKQXP.js","assets/index-B3imPWFk.css","assets/index-B56X8bEB.js","assets/index.vue_vue_type_script_setup_true_lang-DXTGI59-.js","assets/index-BHTgr4Ka.js","assets/index-D0f1Mn00.css","assets/index-Ci4dcEQh.js","assets/cos-js-sdk-v5-DSMN0LUT.js","assets/file-DoYUJmkp.js","assets/index.vue_vue_type_script_setup_true_lang-Bl0f8aX8.js","assets/usePaging-VsbTxSU0.js","assets/index-BYOmK9R5.css","assets/vuedraggable-5bKFmC7X.js","assets/vue-BVs68q8v.js","assets/@vue/compiler-dom-CqayqxS7.js","assets/@vue/compiler-core-CvbQOXIO.js","assets/sortablejs-dsEAUXlE.js","assets/picker-XZbUgFct.css","assets/vue-echarts-BNtg2q_G.js","assets/resize-detector-G6vbKCU7.js","assets/DiagnosisTodoList-DC7uqd6f.js","assets/DiagnosisTodoList-D0SBmTHG.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix-zLBaKfXe.css","assets/CaseRecordList-CsyYkwG-.js","assets/CaseRecordList-Cl-c3q7S.css","assets/CallRecordPanel-CLexkvxf.js","assets/RecordingPlaybackBlock-z0PPBYke.js","assets/RecordingVideoPlayer-DWV7klHs.js","assets/RecordingVideoPlayer-4DegHAwm.css","assets/RecordingPlaybackBlock-B3KYFgvg.css","assets/CallRecordPanel-TsjZtTO8.css","assets/ImChatRecordPanel-DiuuXcLT.js","assets/im-business-message-parse-QKjFLn3X.js","assets/ImChatRecordPanel-aX8zpWRQ.css","assets/AssignLogPanel-B0ohl4pV.js","assets/AssignLogPanel-BdKOtd2m.css","assets/AppointmentRecordPanel-BZnhzLjC.js","assets/doctor-6V0qM7Ks.js","assets/AppointmentRecordPanel-DC22GDgn.css","assets/NoteTimeline-CDNv1DMC.js","assets/patient-DKQ1nUyC.js","assets/NoteTimeline-CCWIpEBQ.css","assets/PatientOrderList-DQ7QxnQw.js","assets/PatientOrderList-iKx_Cn9B.css","assets/index-kYFkWYEt.js","assets/index-wwnvQhjf.js","assets/medicine-D-OyzCbR.js","assets/index-tfEElgYq.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/html2canvas-QH1iLAAe.js","assets/index-DGbIWVjL.css","assets/edit-z2mn_utb.css","assets/TrackingNoteTimeline-B9T8pFso.css","assets/detail-41GQnmm8.js","assets/appointment-D0hEffVf.js","assets/appointment-C9G6EGwx.css","assets/AssistantWatchCallDialog-LeKEiefN.js","assets/trtc-sdk-v5-D4DbeRqz.js","assets/AssistantWatchCallDialog-BIPZRgaH.css"])))=>i.map(i=>d[i]); -import{_ as he}from"./jspdf-BsthCvR5.js";import{C as xa,i as Da,d as wa,P as Ea,Q as Aa,J as Ra,M as Na,N as Ia,T as $a,r as Sa,p as Ta,n as za,o as La,L as Pa,V as Fa,D as Oa,B as Wa,h as Ua,a9 as qa,aa as Ma,U as Qa,v as Ya,e as Ba}from"./element-plus-0wC3naml.js";import{_ as Ha}from"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import{w as ja,q as Ga}from"./@vue/runtime-dom-DDAG46FW.js";import{af as be,n as Ja,G as Ka,ag as st,ai as Xa,U as lt,aj as it,ak as Za,al as en,am as tn,an}from"./tcm-SLIwsL8z.js";import{d as nn}from"./department-4lF54x8w.js";import{i as sn}from"./order-BogYGNkX.js";import{k as ln}from"./doctor-6V0qM7Ks.js";import{u as on}from"./usePaging-VsbTxSU0.js";import{u as dn,m as ot,i as v,_ as rn}from"./index-E47--KT7.js";import{g as dt}from"./weapp-C8BHuU_o.js";import{h as B}from"./perm-YIJpPBOg.js";import{e as rt,X as un,O as ut,b as mn,G as pn,H as cn,l as _n}from"./@element-plus/icons-vue-HOEUG8sr.js";import{u as fn}from"./vue-router-QlpZ4wdW.js";import{d as mt}from"./dayjs-DG77mNTn.js";import{f as pt,w as vn,b as gn,d as yn,as as hn,ak as i,I as u,a as s,aN as l,J as r,F as x,ap as R,O as p,H as h,aP as q,G as g,P as ke,A as X}from"./@vue/runtime-core-C6bnekPw.js";import{o as ie,Q as c}from"./@vue/shared-mAAVTE9n.js";import{y as n,a as M,r as Le,n as m}from"./@vue/reactivity-DiY1c2vO.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./lodash-D3kF6u-c.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const bn={class:"tcm-diagnosis"},kn={class:"filter-main"},Cn={class:"date-chips"},Vn=["onClick"],xn={key:0},Dn={class:"search-row"},wn={class:"filter-chips"},En=["onClick"],An=["onClick"],Rn={class:"filter-more"},Nn={class:"list-header"},In={class:"list-actions"},$n={key:0,class:"list-selected"},Sn={class:"table-wrap px-4"},Tn={class:"patient-cell"},zn={class:"patient-info"},Ln={class:"patient-name"},Pn={class:"patient-cell"},Fn={class:"patient-info"},On={class:"patient-name"},Wn={class:"apt-badge"},Un={class:"apt-doctor"},qn={class:"apt-time"},Mn={key:1,class:"apt-none"},Qn={key:0,class:"status-confirmed"},Yn={key:1,class:"status-unconfirmed"},Bn={key:0,class:"followup-cell"},Hn={class:"followup-time"},jn={class:"followup-doctor"},Gn={key:0,class:"followup-count"},Jn={key:1,class:"followup-none"},Kn={class:"assistant-cell"},Xn={class:"assistant-name"},Zn={key:0,class:"assistant-dept"},es={key:0,class:"prescription-status-cell"},ts={class:"prescription-times"},as={key:1,class:"status-unprescribed"},ns={class:"video-watch-col"},ss={class:"video-watch-trigger"},ls={key:1,class:"video-watch-muted"},is={key:1,class:"video-watch-muted"},os={class:"action-cell"},ds={class:"pagination-wrap"},rs={class:"flex flex-col items-center justify-center py-4"},us={key:0,class:"text-center"},ms={key:1,class:"text-center"},ps=["src"],cs={class:"mt-4 text-sm text-gray-600"},_s={class:"mt-2"},fs={key:2,class:"text-center text-gray-500"},vs={class:"text-gray-500"},gs={class:"text-gray-500"},ys={class:"font-medium"},hs={class:"font-medium"},bs={key:0,class:"mb-4"},ks={key:0},Cs={key:0,class:"mt-2"},Vs={key:1,class:"mt-2"},xs={class:"mb-4"},Ds={class:"flex gap-2"},ws={key:0,class:"text-center text-gray-400 py-10"},Es={key:1,class:"record-list"},As={class:"record-header"},Rs={class:"flex items-center gap-2"},Ns={class:"font-medium text-sm"},Is={class:"flex items-center gap-2"},$s={class:"text-xs text-gray-400"},Ss={class:"record-content"},Ts={key:0,class:"mt-1"},zs={key:2,class:"text-center mt-4"},Ls=pt({name:"tcmDiagnosis"}),Ps=pt({...Ls,setup(Fs){const ct=ke(()=>he(()=>import("./edit-DlBhR6x6.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98]))),_t=ke(()=>he(()=>import("./detail-41GQnmm8.js"),__vite__mapDeps([99,45,1,2,3,4,5,6,7,8,9,10,11,12,13,14,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,46,15]))),ft=ke(()=>he(()=>import("./appointment-D0hEffVf.js"),__vite__mapDeps([100,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,83,101]))),vt=ke(()=>he(()=>import("./AssistantWatchCallDialog-LeKEiefN.js"),__vite__mapDeps([102,1,2,3,4,5,6,7,8,9,10,11,12,13,14,103,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,104]))),gt=t=>{if(!t)return"-";const e=String(t).length===10?Number(t)*1e3:Number(t);return mt(e).format("YYYY-MM-DD HH:mm:ss")},Pe={only_has_prescription:"1"},_=Le({patient_name:"",diagnosis_type:"",syndrome_type:"",assistant_dept_id:"",assistant_id:"",start_time:"",end_time:"",diagnosis_confirmed:"",appointment_date:"",has_appointment:"",...Pe}),yt=m("all"),Z=m(!1),ht=[{label:"全部",value:""},{label:"已挂号",value:"1"},{label:"未挂号",value:"0"}],bt=[{label:"全部",value:""},{label:"已确认",value:"1"},{label:"未确认",value:"0"}],kt=t=>{_.has_appointment=t,D.page=1,b(),I()},Ct=t=>{_.diagnosis_confirmed=t,D.page=1,b(),I()},ee=()=>{D.page=1,b(),I()},Vt=X(()=>[{label:"当天挂号",value:de.value},{label:"明天挂号",value:xe.value},{label:"后天挂号",value:De.value},{label:"全部",value:""}]),Ce=m({}),xt=async t=>{_.appointment_date=t,D.page=1,await b(),I()},Ve=t=>({...Pe,patient_name:_.patient_name,diagnosis_type:_.diagnosis_type,syndrome_type:_.syndrome_type,diagnosis_confirmed:_.diagnosis_confirmed,has_appointment:_.has_appointment,assistant_dept_id:_.assistant_dept_id,assistant_id:_.assistant_id,appointment_date:t,page_no:1,page_size:1}),I=async()=>{try{const[t,e,d]=await Promise.all([be(Ve(de.value)),be(Ve(xe.value)),be(Ve(De.value))]);Ce.value={[de.value]:(t==null?void 0:t.count)??0,[xe.value]:(e==null?void 0:e.count)??0,[De.value]:(d==null?void 0:d.count)??0}}catch(t){console.error("获取日期数量失败",t)}};function Dt(){const t=()=>I();typeof requestIdleCallback=="function"?requestIdleCallback(t,{timeout:2500}):setTimeout(t,120)}const wt=1e4;let oe=null;function Et(){typeof document<"u"&&document.hidden||(b({silent:!0}).catch(()=>{}),I())}const H=t=>String(t).padStart(2,"0"),de=X(()=>{const t=new Date;return`${t.getFullYear()}-${H(t.getMonth()+1)}-${H(t.getDate())}`}),xe=X(()=>{const t=new Date;return t.setDate(t.getDate()+1),`${t.getFullYear()}-${H(t.getMonth()+1)}-${H(t.getDate())}`}),De=X(()=>{const t=new Date;return t.setDate(t.getDate()+2),`${t.getFullYear()}-${H(t.getMonth()+1)}-${H(t.getDate())}`}),Fe=m([]),Oe=m([]),z=m([]),We=m([]);function Ue(t,e="",d=[]){for(const o of t||[]){if(o==null)continue;const C=Number(o.id);if(!Number.isFinite(C))continue;const k=e?`${e} / ${o.name}`:String(o.name??"");d.push({id:C,label:k}),Array.isArray(o.children)&&o.children.length&&Ue(o.children,k,d)}return d}const qe=X(()=>{const t=_.assistant_dept_id;if(t===""||t==null)return z.value;const e=Number(t);return Number.isFinite(e)?z.value.filter(d=>{const o=d.dept_ids;return!Array.isArray(o)||o.length===0?!1:o.map(Number).includes(e)}):z.value}),At=()=>{const t=_.assistant_id;if(t!==""&&t!=null){const e=Number(t);qe.value.some(o=>Number(o.id)===e)||(_.assistant_id="")}D.page=1,b(),I()},Rt=async()=>{try{const[t,e,d,o]=await Promise.all([ot({type:"diagnosis_type"}),ot({type:"syndrome_type"}),Ja(),nn()]);Fe.value=(t==null?void 0:t.diagnosis_type)||[],Oe.value=(e==null?void 0:e.syndrome_type)||[],z.value=d||[],We.value=Ue(Array.isArray(o)?o:[])}catch(t){console.error("获取字典数据失败:",t)}},Me=t=>{if(t!==0&&!t)return null;const e=typeof t=="string"?parseInt(t,10):t;return z.value.find(d=>(typeof d.id=="string"?parseInt(d.id,10):d.id)===e)??null},Qe=t=>{if(!t&&t!==0||z.value.length===0)return"-";const e=Me(t);return e?e.name:"-"},Ye=t=>{const e=t.assistant_id||t.assistant,d=Qe(e),o=we(e);return d==="-"&&!o?"":o?`${d} / ${o}`:d},we=t=>{if(!t&&t!==0||z.value.length===0)return"";const e=Me(t),d=e==null?void 0:e.dept_names;return typeof d=="string"?d.trim():""},{pager:D,getLists:b}=on({fetchFun:be,params:_}),Be=()=>b({silent:!0}),Nt=()=>{yt.value="all",_.patient_name="",_.diagnosis_type="",_.syndrome_type="",_.assistant_dept_id="",_.assistant_id="",_.diagnosis_confirmed="",_.appointment_date="",_.has_appointment="",D.page=1,b(),I()},He=t=>{const e=t.DiagnosisViewRecord||[];return e.length>0&&e.some(d=>d.is_confirmed==1)},It=({row:t})=>He(t)?t.has_appointment?"":"row-no-appointment":"row-unconfirmed",te=m(),$t=m(),je=m(),re=m(null),ue=dn();vn([te,re],()=>{const t=re.value,e=te.value;t==null||!(e!=null&&e.open)||(e.open("edit",t),re.value=null)},{flush:"post"});const me=m(!1),Ge=m(0),St=t=>{var d;const e=t.assistant_id??t.assistant;return e==null||e===""?!1:Number(e)===Number((d=ue.userInfo)==null?void 0:d.id)},Tt=t=>{Ge.value=Number(t.id)||0,me.value=!0},zt=t=>St(t)&&B(["tcm.diagnosis/watchCall"]),pe=t=>{var e;return((e=t.video_call_hint)==null?void 0:e.state)||"none"},Lt=t=>{const e=t.video_call_hint,d="点击进入实时房间(仅观看,不推流、不上麦)";return e!=null&&e.start_time?`${d}。开始时间:${gt(e.start_time)}`:d},Pt=t=>{const e=pe(t);return e==="live"||e==="pending_room"},Ft=t=>pe(t)==="pending_room"?"医生尚未接通或未同步房间号,接通后再点此进入":Lt(t),Ot=t=>{if(pe(t)!=="live"){v.msgWarning("医生尚未接通或未同步房间号,请稍后再试");return}Tt(t)},Wt=t=>{const e=t.video_call_hint;return e!=null&&e.label?e.label:"暂无可旁观通话"},Ut=t=>{const e=pe(t);if(e==="none")return"—";if(e==="live")return"通话中";if(e==="pending_room")return"接通中";const d=t.video_call_hint;return(d==null?void 0:d.label)||"—"},j=m(!1),ce=m(),Ee=m(!1),f=Le({patient_id:"",patient_name:"",phone:"",order_type:"",amount:0,remark:"",has_appointment:!1,appointment_time_text:""}),qt={order_type:[{required:!0,message:"请选择订单类型",trigger:"change"}],amount:[{required:!0,message:"请输入订单金额",trigger:"blur"}]},Mt=t=>{var e;f.patient_id=t.patient_id||t.id,f.patient_name=t.patient_name,f.phone=t.phone||"",f.order_type="",f.amount=0,f.remark="",f.has_appointment=!!t.has_appointment,f.appointment_time_text=t.appointment_time_text||"",(e=ce.value)==null||e.clearValidate(),j.value=!0},Qt=()=>{var t;f.patient_id="",f.patient_name="",f.phone="",f.order_type="",f.amount=0,f.remark="",f.has_appointment=!1,f.appointment_time_text="",(t=ce.value)==null||t.clearValidate()},Yt=async()=>{var t;try{await((t=ce.value)==null?void 0:t.validate()),Ee.value=!0;const e=await sn({patient_id:f.patient_id,order_type:f.order_type,amount:f.amount,remark:f.remark});j.value=!1,b();const d=e==null?void 0:e.order_no;if(d){$.value=!0,L.value=!0,P.value="",F.value={patient_name:f.patient_name,has_appointment:f.has_appointment,appointment_time_text:f.appointment_time_text};try{const o=await Ka({order_no:d});o!=null&&o.qrcode_url?P.value=o.qrcode_url:v.msgError("二维码生成失败")}catch(o){v.msgError((o==null?void 0:o.msg)||"生成二维码失败")}finally{L.value=!1}}}catch(e){console.error("创建订单失败:",e)}finally{Ee.value=!1}},$=m(!1),L=m(!1),P=m(""),F=m(null),Bt=X(()=>{const t=F.value;return t?t.has_appointment?t.appointment_time_text||"—":"未挂号":"—"}),Ae=m("小程序二维码"),Re=m("confirm"),O=m([]),Q=m(!1),Ne=m(!1),ae=m("batch"),ne=m(null),W=m({assistant_id:null}),Ht=t=>{O.value=t.map(e=>e.id)},jt=t=>{ae.value="single",ne.value=t,W.value.assistant_id=Number(t.assistant_id)>0?Number(t.assistant_id):null,Q.value=!0},Gt=()=>{if(O.value.length===0){v.msgWarning("请先选择要指派的诊单");return}ae.value="batch",ne.value=null,W.value.assistant_id=null,Q.value=!0},Jt=async()=>{if(!W.value.assistant_id){v.msgWarning("请选择医助");return}Ne.value=!0;try{if(ae.value==="single")await st({id:ne.value.id,assistant_id:W.value.assistant_id});else{const t=O.value.map(e=>st({id:e,assistant_id:W.value.assistant_id}));await Promise.all(t),O.value=[]}Q.value=!1,b()}catch(t){console.error("指派失败:",t)}finally{Ne.value=!1}},Kt=()=>{te.value.open("add")},Xt=t=>{te.value.open("edit",t)},Zt=async t=>{await v.confirm("确定要删除该诊单吗?"),await tn({id:t}),b()},ea=(t,e)=>{switch(t){case"assign":jt(e);break;case"videoQr":if(!se(e)){v.msgWarning("仅「已预约」状态可生成视频二维码");return}Xe(e);break;case"confirmQr":Ze(e);break;case"cancelApt":na(e);break;case"order":Mt(e);break;case"delete":Zt(e.id);break}},ta=t=>{const e=Number(t.appointment_status);return e===3?"已完成":e===4?"已过号":"已挂号"},aa=t=>{const e=Number(t.appointment_status);return{"has-apt":t.has_appointment,"apt-row-done":t.has_appointment&&e===3,"apt-row-missed":t.has_appointment&&e===4}},se=t=>t.has_appointment&&Number(t.appointment_status)===1,Je=t=>{const e=Number(t.appointment_status);return!!(t.has_appointment&&t.appointment_id&&(e===1||e===4))},na=async t=>{if(!Je(t)){const e=Number(t.appointment_status);t.has_appointment&&e===3?v.msgWarning("已完成就诊,无法取消挂号"):v.msgWarning("该诊单未挂号或挂号信息异常");return}try{await v.confirm(`确定要取消患者「${t.patient_name}」的挂号吗?`),await ln({id:t.appointment_id}),v.msgSuccess("取消挂号成功"),b(),I()}catch(e){e!=="cancel"&&v.msgError((e==null?void 0:e.msg)||"取消挂号失败")}},sa=t=>{var e;if(!t.patient_id){v.msgWarning("患者信息不完整");return}(e=je.value)==null||e.open(t)},G=m(!1),Ie=m(!1),Ke=m(),N=Le({id:0,patient_name:"",id_card:""}),la={id_card:[{required:!0,validator:(t,e,d)=>{if(!e){d(new Error("请输入身份证号"));return}const o=/^[1-9]\d{5}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dXx]$/.test(e),C=/^[1-9]\d{5}\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}$/.test(e);o||C?d():d(new Error("请输入15或18位有效身份证号"))},trigger:"blur"}]},ia=t=>{N.id=t.id,N.patient_name=t.patient_name||"-",N.id_card=t.id_card||"",G.value=!0},oa=async()=>{var t;await((t=Ke.value)==null?void 0:t.validate()),Ie.value=!0;try{await Xa({id:N.id,id_card:N.id_card}),v.msgSuccess("补全成功,年龄已自动更新"),G.value=!1,b()}catch(e){v.msgError((e==null?void 0:e.msg)||"补全失败")}finally{Ie.value=!1}},Xe=async t=>{var e;if(!se(t)){v.msgWarning("仅「已预约」状态可生成视频二维码");return}if(!t.patient_id){v.msgWarning("患者信息不完整");return}Re.value="video",F.value=t,$.value=!0,L.value=!0,P.value="",Ae.value="视频二维码";try{const d=await dt();if(!(d!=null&&d.app_id)){v.msgError("小程序未配置,请先配置小程序信息"),$.value=!1;return}const o=await lt({doctor_id:t.appointment_doctor_id,diagnosis_id:t.appointment_doctor_id,patient_id:t.patient_id,share_user_id:((e=ue.userInfo)==null?void 0:e.id)||"",mini_program_path:"pages/login/login"});o!=null&&o.qrcode_url?P.value=o.qrcode_url:v.msgError("二维码生成失败")}catch(d){v.msgError((d==null?void 0:d.msg)||"生成二维码失败,请重试")}finally{L.value=!1}},Ze=async t=>{if(!se(t)){v.msgWarning("仅「已预约」状态可使用诊单二维码");return}if(!t.patient_id){v.msgWarning("患者信息不完整");return}Re.value="confirm",F.value=t,$.value=!0,L.value=!0,P.value="",Ae.value="诊单二维码";try{const e=await dt();if(!(e!=null&&e.app_id)){v.msgError("小程序未配置,请先配置小程序信息"),$.value=!1;return}const d=ue.userInfo,o=await lt({diagnosis_id:t.id,doctor_id:t.appointment_doctor_id,patient_id:t.patient_id,share_user_id:(d==null?void 0:d.id)||""});o!=null&&o.qrcode_url?P.value=o.qrcode_url:v.msgError("二维码生成失败")}catch(e){console.error("生成小程序二维码失败:",e),v.msgError((e==null?void 0:e.msg)||"生成二维码失败,请重试")}finally{L.value=!1}},da=()=>{F.value&&(Re.value==="video"?Xe(F.value):Ze(F.value))},_e=m(!1),w=m(null),U=m([]),fe=m(0),$e=m(!1),E=m(null),Y=m(""),Se=m(!1),Te=m(1),ra=t=>{if(!t)return"-";const e=String(t).length===10?t*1e3:t;return mt(e).format("YYYY-MM-DD HH:mm")},ua=async t=>{w.value=t,_e.value=!0,U.value=[],fe.value=0,E.value=null,Y.value="",Te.value=1,$e.value=!0;try{const[e,d]=await Promise.all([it({diagnosis_id:t.id,patient_id:t.patient_id,page_no:1,page_size:20}),an({patient_id:t.patient_id||t.id}).catch(()=>null)]);U.value=(e==null?void 0:e.lists)||[],fe.value=(e==null?void 0:e.count)||0,E.value=d}catch(e){console.error("加载企业微信记录失败:",e)}finally{$e.value=!1}},ma=async()=>{if(w.value){Te.value++;try{const t=await it({diagnosis_id:w.value.id,patient_id:w.value.patient_id,page_no:Te.value,page_size:20});U.value.push(...(t==null?void 0:t.lists)||[])}catch(t){console.error("加载更多记录失败:",t)}}},pa=async()=>{var t;if(!Y.value.trim()){v.msgWarning("请输入内容");return}Se.value=!0;try{await Za({diagnosis_id:w.value.id,patient_id:w.value.patient_id,content:Y.value.trim(),msg_type:"note",staff_name:((t=ue.userInfo)==null?void 0:t.name)||"",external_name:w.value.patient_name||""}),Y.value="",ua(w.value)}catch(e){v.msgError((e==null?void 0:e.msg)||"添加失败")}finally{Se.value=!1}},ca=async t=>{await v.confirm("确定删除该记录吗?");try{await en({id:t}),U.value=U.value.filter(e=>e.id!==t),fe.value--}catch(e){v.msgError((e==null?void 0:e.msg)||"删除失败")}},_a=fn();return gn(()=>{_.appointment_date=de.value,Rt(),b(),Dt(),oe=setInterval(Et,wt);const t=_a.query.id;if(t!=null&&t!==""){const e=Number(t);Number.isNaN(e)||(re.value=e)}}),yn(()=>{oe!=null&&(clearInterval(oe),oe=null)}),(t,e)=>{var nt;const d=xa,o=Da,C=wa,k=Aa,J=Ea,et=Ra,A=Ia,S=$a,tt=Sa,K=La,fa=za,va=Ta,ga=Na,ya=Ha,ve=Fa,T=Wa,ze=Oa,ha=Ua,ge=Ma,ba=qa,ka=Qa,Ca=Ya,Va=Ba,le=hn("perms"),at=Pa;return i(),u("div",bn,[s(et,{class:"filter-card !border-none",shadow:"never"},{default:l(()=>[r("div",kn,[r("div",Cn,[(i(!0),u(x,null,R(Vt.value,a=>(i(),u("span",{key:a.value,class:ie(["chip",{active:n(_).appointment_date===a.value}]),onClick:V=>xt(a.value)},[p(c(a.label)+" ",1),a.value&&n(Ce)[a.value]!==void 0?(i(),u("em",xn,c(n(Ce)[a.value]),1)):h("",!0)],10,Vn))),128))]),r("div",Dn,[s(d,{modelValue:n(_).patient_name,"onUpdate:modelValue":e[0]||(e[0]=a=>n(_).patient_name=a),placeholder:"患者姓名",clearable:"",class:"search-input",onKeyup:ja(ee,["enter"])},null,8,["modelValue"]),s(o,{type:"primary",onClick:ee},{default:l(()=>[...e[24]||(e[24]=[p("查询",-1)])]),_:1})])]),r("div",wn,[e[25]||(e[25]=r("span",{class:"chip-label"},"挂号:",-1)),(i(),u(x,null,R(ht,a=>r("span",{key:a.value,class:ie(["chip","chip-sm",{active:n(_).has_appointment===a.value}]),onClick:V=>kt(a.value)},c(a.label),11,En)),64)),e[26]||(e[26]=r("span",{class:"chip-divider"},null,-1)),e[27]||(e[27]=r("span",{class:"chip-label"},"确认:",-1)),(i(),u(x,null,R(bt,a=>r("span",{key:a.value,class:ie(["chip","chip-sm",{active:n(_).diagnosis_confirmed===a.value}]),onClick:V=>Ct(a.value)},c(a.label),11,An)),64)),s(o,{link:"",type:"primary",size:"small",class:"more-btn",onClick:e[1]||(e[1]=a=>Z.value=!n(Z))},{default:l(()=>[p(c(n(Z)?"收起":"更多筛选")+" ",1),s(C,{class:ie({"rotate-180":n(Z)})},{default:l(()=>[s(n(rt))]),_:1},8,["class"])]),_:1})]),q(r("div",Rn,[s(J,{modelValue:n(_).assistant_dept_id,"onUpdate:modelValue":e[2]||(e[2]=a=>n(_).assistant_dept_id=a),placeholder:"医助部门",clearable:"",filterable:"",size:"small",class:"filter-dept-select",onChange:At},{default:l(()=>[(i(!0),u(x,null,R(n(We),a=>(i(),g(k,{key:a.id,label:a.label,value:a.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),s(J,{modelValue:n(_).diagnosis_type,"onUpdate:modelValue":e[3]||(e[3]=a=>n(_).diagnosis_type=a),placeholder:"诊断类型",clearable:"",size:"small",onChange:ee},{default:l(()=>[(i(!0),u(x,null,R(n(Fe),a=>(i(),g(k,{key:a.value,label:a.name,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),s(J,{modelValue:n(_).syndrome_type,"onUpdate:modelValue":e[4]||(e[4]=a=>n(_).syndrome_type=a),placeholder:"证型",clearable:"",size:"small",onChange:ee},{default:l(()=>[(i(!0),u(x,null,R(n(Oe),a=>(i(),g(k,{key:a.value,label:a.name,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),s(J,{modelValue:n(_).assistant_id,"onUpdate:modelValue":e[5]||(e[5]=a=>n(_).assistant_id=a),placeholder:"医助",clearable:"",filterable:"",size:"small",onChange:ee},{default:l(()=>[(i(!0),u(x,null,R(qe.value,a=>(i(),g(k,{key:a.id,label:a.name,value:Number(a.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),s(o,{size:"small",onClick:Nt},{default:l(()=>[...e[28]||(e[28]=[p("重置",-1)])]),_:1})],512),[[Ga,n(Z)]])]),_:1}),s(et,{class:"!border-none mt-3 list-card",shadow:"never"},{default:l(()=>[r("div",Nn,[r("div",In,[q((i(),g(o,{type:"primary",onClick:Kt},{default:l(()=>[...e[29]||(e[29]=[p("新增诊单",-1)])]),_:1})),[[le,["tcm.diagnosis/add"]]]),q((i(),g(o,{type:"success",onClick:Gt,disabled:n(O).length===0},{default:l(()=>[...e[30]||(e[30]=[p(" 批量指派医助 ",-1)])]),_:1},8,["disabled"])),[[le,["tcm.diagnosis/assign"]]])]),n(O).length>0?(i(),u("div",$n,"已选 "+c(n(O).length)+" 条",1)):h("",!0)]),r("div",Sn,[q((i(),g(ga,{data:n(D).lists,size:"default",onSelectionChange:Ht,"row-class-name":It,class:"diagnosis-table",stripe:""},{default:l(()=>[s(A,{type:"selection",width:"48",align:"center"}),s(A,{label:"ID","min-width":"70"},{default:l(({row:a})=>[r("div",Tn,[r("div",zn,[r("div",Ln,[p(c(a.id)+" ",1),a.assign_read_at===null&&a.assistant_id>0?(i(),g(S,{key:0,type:"danger",size:"small",effect:"dark",class:"ml-1"},{default:l(()=>[...e[31]||(e[31]=[p("NEW",-1)])]),_:1})):h("",!0)])])])]),_:1}),s(A,{label:"患者","min-width":"60"},{default:l(({row:a})=>[r("div",Pn,[r("div",Fn,[r("div",On,c(a.patient_name),1)])])]),_:1}),s(A,{label:" 性别 / 年龄",width:"100",align:"left"},{default:l(({row:a})=>[r("div",null,c(a.gender_desc||"-")+" · "+c(a.age??"-")+"岁",1)]),_:1}),s(A,{label:"挂号","min-width":"180"},{default:l(({row:a})=>[r("div",{class:ie(["appointment-cell",aa(a)])},[a.has_appointment?(i(),u(x,{key:0},[r("div",Wn,c(ta(a)),1),r("div",Un,c(a.appointment_doctor_name||"-"),1),r("div",qn,c(a.appointment_time_text||"-"),1)],64)):(i(),u("span",Mn,"未挂号"))],2)]),_:1}),s(A,{label:"确认",width:"88",align:"center"},{default:l(({row:a})=>[He(a)?(i(),u("span",Qn,"已确认")):(i(),u("span",Yn,"未确认"))]),_:1}),s(A,{label:"复诊","min-width":"150"},{default:l(({row:a})=>[a.has_prescription?(i(),u("div",Bn,[r("div",Hn,c(a.followup_time_text||"—"),1),r("div",jn,c(a.followup_doctor_name||"—"),1),a.followup_prescription_count>0?(i(),u("div",Gn," 第"+c(a.followup_prescription_count)+"次复诊 ",1)):h("",!0),a.followup_rx_voided?(i(),g(S,{key:1,type:"info",size:"small",effect:"plain",class:"followup-void-tag"},{default:l(()=>[...e[32]||(e[32]=[p(" 处方已作废 ",-1)])]),_:1})):h("",!0)])):(i(),u("span",Jn,"无"))]),_:1}),s(A,{label:"助理","min-width":"120"},{default:l(({row:a})=>[s(tt,{disabled:!Ye(a),content:Ye(a),placement:"top"},{default:l(()=>[r("div",Kn,[r("div",Xn,c(Qe(a.assistant_id||a.assistant)),1),we(a.assistant_id||a.assistant)?(i(),u("div",Zn,c(we(a.assistant_id||a.assistant)),1)):h("",!0)])]),_:2},1032,["disabled","content"])]),_:1}),s(A,{label:"开方","min-width":"96",align:"center"},{default:l(({row:a})=>[a.has_prescription?(i(),u("div",es,[e[33]||(e[33]=r("span",{class:"status-prescribed"},"已开方",-1)),r("span",ts,"("+c(a.followup_prescription_count||1)+"次)",1)])):(i(),u("span",as,"未开方"))]),_:1}),s(A,{label:"视频旁观",width:"120",fixed:"right",align:"center"},{default:l(({row:a})=>[r("div",ns,[zt(a)?(i(),u(x,{key:0},[Pt(a)?(i(),g(tt,{key:0,content:Ft(a),placement:"top"},{default:l(()=>[r("span",ss,[s(o,{type:"primary",link:"",size:"small",onClick:V=>Ot(a)},{default:l(()=>[...e[34]||(e[34]=[p(" 进入旁观 ",-1)])]),_:1},8,["onClick"])])]),_:2},1032,["content"])):(i(),u("span",ls,c(Wt(a)),1))],64)):(i(),u("span",is,c(Ut(a)),1))])]),_:1}),s(A,{label:"操作",width:"260",fixed:"right",align:"left"},{default:l(({row:a})=>[r("div",os,[q((i(),g(o,{type:"primary",link:"",size:"small",onClick:V=>Xt(a.id)},{default:l(()=>[...e[35]||(e[35]=[p("诊单",-1)])]),_:1},8,["onClick"])),[[le,["tcm.diagnosis/edit"]]]),q((i(),g(o,{type:"success",link:"",size:"small",onClick:V=>sa(a)},{default:l(()=>[...e[36]||(e[36]=[p("预约",-1)])]),_:1},8,["onClick"])),[[le,["tcm.diagnosis/guahao"]]]),q((i(),g(o,{type:"warning",link:"",size:"small",onClick:V=>ia(a)},{default:l(()=>[...e[37]||(e[37]=[p("补全身份证",-1)])]),_:1},8,["onClick"])),[[le,["tcm.diagnosis/edit"]]]),s(va,{trigger:"click",onCommand:V=>ea(V,a),placement:"bottom-end"},{dropdown:l(()=>[s(fa,null,{default:l(()=>[n(B)(["tcm.diagnosis/assign"])?(i(),g(K,{key:0,command:"assign"},{default:l(()=>[s(C,null,{default:l(()=>[s(n(un))]),_:1}),e[39]||(e[39]=p("指派",-1))]),_:1})):h("",!0),se(a)&&n(B)(["tcm.diagnosis/videoQr"])?(i(),g(K,{key:1,command:"videoQr"},{default:l(()=>[s(C,null,{default:l(()=>[s(n(ut))]),_:1}),e[40]||(e[40]=p("视频二维码",-1))]),_:1})):h("",!0),n(B)(["tcm.diagnosis/guahao"])&&se(a)?(i(),g(K,{key:2,command:"confirmQr"},{default:l(()=>[s(C,null,{default:l(()=>[s(n(ut))]),_:1}),e[41]||(e[41]=p("二维码",-1))]),_:1})):h("",!0),Je(a)&&n(B)(["tcm.diagnosis/guahao"])?(i(),g(K,{key:3,command:"cancelApt"},{default:l(()=>[s(C,null,{default:l(()=>[s(n(mn))]),_:1}),e[42]||(e[42]=p("取消挂号",-1))]),_:1})):h("",!0),n(B)(["tcm.diagnosis/order"])?(i(),g(K,{key:4,command:"order"},{default:l(()=>[s(C,null,{default:l(()=>[s(n(pn))]),_:1}),e[43]||(e[43]=p("创建订单",-1))]),_:1})):h("",!0),n(B)(["tcm.diagnosis/delete"])?(i(),g(K,{key:5,command:"delete",divided:""},{default:l(()=>[s(C,null,{default:l(()=>[s(n(cn))]),_:1}),e[44]||(e[44]=r("span",{class:"text-danger"},"删除",-1))]),_:1})):h("",!0)]),_:2},1024)]),default:l(()=>[s(o,{type:"info",link:"",size:"small"},{default:l(()=>[e[38]||(e[38]=p("更多",-1)),s(C,{class:"el-icon--right"},{default:l(()=>[s(n(rt))]),_:1})]),_:1})]),_:2},1032,["onCommand"])])]),_:1})]),_:1},8,["data"])),[[at,n(D).loading]]),r("div",ds,[s(ya,{modelValue:n(D),"onUpdate:modelValue":e[6]||(e[6]=a=>M(D)?D.value=a:null),onChange:n(b)},null,8,["modelValue","onChange"])])])]),_:1}),s(n(ct),{ref_key:"editRef",ref:te,onSuccess:Be},null,512),s(n(_t),{ref_key:"detailRef",ref:$t},null,512),s(n(ft),{ref_key:"appointmentRef",ref:je,onSuccess:Be},null,512),s(n(vt),{modelValue:n(me),"onUpdate:modelValue":e[7]||(e[7]=a=>M(me)?me.value=a:null),"diagnosis-id":n(Ge),onClosed:n(b)},null,8,["modelValue","diagnosis-id","onClosed"]),s(ve,{modelValue:n($),"onUpdate:modelValue":e[9]||(e[9]=a=>M($)?$.value=a:null),title:n(Ae),width:"400px","close-on-click-modal":!1},{footer:l(()=>[s(o,{onClick:e[8]||(e[8]=a=>$.value=!1)},{default:l(()=>[...e[47]||(e[47]=[p("关闭",-1)])]),_:1}),n(L)?h("",!0):(i(),g(o,{key:0,type:"primary",onClick:da},{default:l(()=>[...e[48]||(e[48]=[p(" 重新生成 ",-1)])]),_:1}))]),default:l(()=>{var a;return[r("div",rs,[n(L)?(i(),u("div",us,[s(C,{class:"is-loading",size:40},{default:l(()=>[s(n(_n))]),_:1}),e[45]||(e[45]=r("div",{class:"mt-4 text-gray-500"},"生成中...",-1))])):n(P)?(i(),u("div",ms,[r("img",{src:n(P),alt:"小程序二维码",class:"w-64 h-64 border border-gray-200 rounded"},null,8,ps),r("div",cs,[r("div",null,"患者:"+c((a=n(F))==null?void 0:a.patient_name),1),r("div",_s,"挂号时间:"+c(Bt.value),1),e[46]||(e[46]=r("div",{class:"mt-2"},"请使用企业微信扫描二维码,然后转发给患者",-1))])])):(i(),u("div",fs," 生成失败,请重试 "))])]}),_:1},8,["modelValue","title"]),s(ve,{modelValue:n(Q),"onUpdate:modelValue":e[12]||(e[12]=a=>M(Q)?Q.value=a:null),title:n(ae)==="batch"?"批量指派医助":"指派医助",width:"500px"},{footer:l(()=>[s(o,{onClick:e[11]||(e[11]=a=>Q.value=!1)},{default:l(()=>[...e[49]||(e[49]=[p("取消",-1)])]),_:1}),s(o,{type:"primary",onClick:Jt,loading:n(Ne)},{default:l(()=>[...e[50]||(e[50]=[p(" 确定指派 ",-1)])]),_:1},8,["loading"])]),default:l(()=>[s(ze,{model:n(W),"label-width":"100px"},{default:l(()=>[s(T,{label:"选择医助",required:""},{default:l(()=>[s(J,{modelValue:n(W).assistant_id,"onUpdate:modelValue":e[10]||(e[10]=a=>n(W).assistant_id=a),placeholder:"请选择医助",class:"w-full",filterable:"",clearable:"","value-key":"id"},{default:l(()=>[(i(!0),u(x,null,R(n(z),a=>(i(),g(k,{key:a.id,label:a.name,value:Number(a.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),n(ae)==="batch"?(i(),g(T,{key:0,label:"已选择"},{default:l(()=>[r("div",vs,c(n(O).length)+" 条诊单记录",1)]),_:1})):(i(),g(T,{key:1,label:"诊单信息"},{default:l(()=>{var a,V;return[r("div",gs,[r("div",null,"患者:"+c((a=n(ne))==null?void 0:a.patient_name),1),r("div",null,"诊断日期:"+c((V=n(ne))==null?void 0:V.diagnosis_date_text),1)])]}),_:1}))]),_:1},8,["model"])]),_:1},8,["modelValue","title"]),s(ve,{modelValue:n(j),"onUpdate:modelValue":e[17]||(e[17]=a=>M(j)?j.value=a:null),title:"创建订单",width:"600px",onClose:Qt},{footer:l(()=>[s(o,{onClick:e[16]||(e[16]=a=>j.value=!1)},{default:l(()=>[...e[51]||(e[51]=[p("取消",-1)])]),_:1}),s(o,{type:"primary",onClick:Yt,loading:n(Ee)},{default:l(()=>[...e[52]||(e[52]=[p("创建订单",-1)])]),_:1},8,["loading"])]),default:l(()=>[s(ze,{ref_key:"orderFormRef",ref:ce,model:n(f),rules:qt,"label-width":"100px"},{default:l(()=>[s(T,{label:"患者"},{default:l(()=>[r("span",ys,c(n(f).patient_name)+" ("+c(n(f).phone)+")",1)]),_:1}),s(T,{label:"订单类型",prop:"order_type"},{default:l(()=>[s(J,{modelValue:n(f).order_type,"onUpdate:modelValue":e[13]||(e[13]=a=>n(f).order_type=a),placeholder:"请选择",class:"w-full"},{default:l(()=>[s(k,{label:"挂号费",value:1}),s(k,{label:"问诊费",value:2}),s(k,{label:"药品费用",value:3}),s(k,{label:"首付费用",value:4}),s(k,{label:"尾款费用",value:5}),s(k,{label:"其他费用",value:6}),s(k,{label:"全部费用",value:7}),s(k,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1}),s(T,{label:"订单金额",prop:"amount"},{default:l(()=>[s(ha,{modelValue:n(f).amount,"onUpdate:modelValue":e[14]||(e[14]=a=>n(f).amount=a),min:0,step:.01,precision:2,placeholder:"请输入金额",class:"w-full"},null,8,["modelValue"])]),_:1}),s(T,{label:"备注",prop:"remark"},{default:l(()=>[s(d,{modelValue:n(f).remark,"onUpdate:modelValue":e[15]||(e[15]=a=>n(f).remark=a),type:"textarea",rows:3,placeholder:"请输入备注(可选)"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),s(ve,{modelValue:n(G),"onUpdate:modelValue":e[20]||(e[20]=a=>M(G)?G.value=a:null),title:"补全身份证号",width:"400px","close-on-click-modal":!1,onClose:e[21]||(e[21]=a=>n(N).id_card="")},{footer:l(()=>[s(o,{onClick:e[19]||(e[19]=a=>G.value=!1)},{default:l(()=>[...e[53]||(e[53]=[p("取消",-1)])]),_:1}),s(o,{type:"primary",onClick:oa,loading:n(Ie)},{default:l(()=>[...e[54]||(e[54]=[p("提交(自动更新年龄)",-1)])]),_:1},8,["loading"])]),default:l(()=>[s(ze,{ref_key:"fillIdCardFormRef",ref:Ke,model:n(N),rules:la,"label-width":"80px"},{default:l(()=>[s(T,{label:"患者"},{default:l(()=>[r("span",hs,c(n(N).patient_name),1)]),_:1}),s(T,{label:"身份证号",prop:"id_card"},{default:l(()=>[s(d,{modelValue:n(N).id_card,"onUpdate:modelValue":e[18]||(e[18]=a=>n(N).id_card=a),placeholder:"请输入15或18位身份证号",maxlength:"18","show-word-limit":"",clearable:""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),s(Va,{modelValue:n(_e),"onUpdate:modelValue":e[23]||(e[23]=a=>M(_e)?_e.value=a:null),title:`企业微信记录 - ${((nt=n(w))==null?void 0:nt.patient_name)||""}`,size:"600px","destroy-on-close":!0},{default:l(()=>{var a,V;return[n(E)?(i(),u("div",bs,[s(ba,{column:2,border:"",size:"small"},{default:l(()=>[s(ge,{label:"患者姓名"},{default:l(()=>{var y;return[p(c((y=n(w))==null?void 0:y.patient_name),1)]}),_:1}),s(ge,{label:"手机号"},{default:l(()=>[p(c(n(E).phone||"-"),1)]),_:1}),s(ge,{label:"企微联系人ID"},{default:l(()=>[n(E).external_userid?(i(),u("span",ks,c(n(E).external_userid),1)):(i(),g(S,{key:1,type:"info",size:"small"},{default:l(()=>[...e[55]||(e[55]=[p("未关联",-1)])]),_:1}))]),_:1}),s(ge,{label:"会话存档"},{default:l(()=>[n(E).msgaudit_enabled?(i(),g(S,{key:0,type:"success",size:"small"},{default:l(()=>[...e[56]||(e[56]=[p("已开通",-1)])]),_:1})):(i(),g(S,{key:1,type:"info",size:"small"},{default:l(()=>[...e[57]||(e[57]=[p("未配置",-1)])]),_:1}))]),_:1})]),_:1}),(a=n(E).permit_users)!=null&&a.length?(i(),u("div",Cs,[e[58]||(e[58]=r("span",{class:"text-sm text-gray-500 mr-2"},"存档成员:",-1)),(i(!0),u(x,null,R(n(E).permit_users,y=>(i(),g(S,{key:y,size:"small",class:"mr-1"},{default:l(()=>[p(c(y),1)]),_:2},1024))),128))])):h("",!0),(V=n(E).msgaudit_agree)!=null&&V.length?(i(),u("div",Vs,[e[59]||(e[59]=r("span",{class:"text-sm text-gray-500 mr-2"},"存档同意:",-1)),(i(!0),u(x,null,R(n(E).msgaudit_agree,(y,ye)=>(i(),g(S,{key:ye,type:y.agree_status==="Agree"?"success":"warning",size:"small",class:"mr-1"},{default:l(()=>[p(c(y.userid)+": "+c(y.agree_status==="Agree"?"已同意":y.agree_status),1)]),_:2},1032,["type"]))),128))])):h("",!0)])):h("",!0),s(ka),r("div",xs,[r("div",Ds,[s(d,{modelValue:n(Y),"onUpdate:modelValue":e[22]||(e[22]=y=>M(Y)?Y.value=y:null),type:"textarea",rows:2,placeholder:"添加沟通记录...",class:"flex-1"},null,8,["modelValue"]),s(o,{type:"primary",onClick:pa,loading:n(Se),class:"self-end"},{default:l(()=>[...e[60]||(e[60]=[p(" 添加 ",-1)])]),_:1},8,["loading"])])]),q((i(),u("div",null,[n(U).length===0?(i(),u("div",ws," 暂无聊天记录 ")):(i(),u("div",Es,[(i(!0),u(x,null,R(n(U),y=>{var ye;return i(),u("div",{key:y.id,class:"record-item"},[r("div",As,[r("div",Rs,[s(S,{type:y.direction===0?"primary":"success",size:"small"},{default:l(()=>[p(c(y.direction===0?"员工":"客户"),1)]),_:2},1032,["type"]),r("span",Ns,c(y.direction===0?y.staff_name:y.external_name||((ye=n(w))==null?void 0:ye.patient_name)),1),y.msg_type==="note"?(i(),g(S,{key:0,type:"warning",size:"small"},{default:l(()=>[...e[61]||(e[61]=[p("备注",-1)])]),_:1})):h("",!0)]),r("div",Is,[r("span",$s,c(ra(y.chat_time)),1),s(o,{type:"danger",link:"",size:"small",onClick:Ws=>ca(y.id)},{default:l(()=>[...e[62]||(e[62]=[p(" 删除 ",-1)])]),_:1},8,["onClick"])])]),r("div",Ss,c(y.content),1),y.media_url?(i(),u("div",Ts,[s(Ca,{src:y.media_url,style:{"max-width":"200px"},fit:"contain","preview-src-list":[y.media_url]},null,8,["src","preview-src-list"])])):h("",!0)])}),128))])),n(fe)>n(U).length?(i(),u("div",zs,[s(o,{link:"",type:"primary",onClick:ma},{default:l(()=>[...e[63]||(e[63]=[p("加载更多",-1)])]),_:1})])):h("",!0)])),[[at,n($e)]])]}),_:1},8,["modelValue","title"])])}}}),$l=rn(Ps,[["__scopeId","data-v-d65a0220"]]);export{$l as default}; diff --git a/server/public/admin/assets/index-Cf-gzPmQ.css b/server/public/admin/assets/index-Cf-gzPmQ.css deleted file mode 100644 index 071639c0..00000000 --- a/server/public/admin/assets/index-Cf-gzPmQ.css +++ /dev/null @@ -1 +0,0 @@ -.icon-select[data-v-352f3746]{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.app-breadcrumb[data-v-94d84829] .el-breadcrumb__item .el-breadcrumb__inner{color:#303133;font-weight:500}.app-breadcrumb[data-v-94d84829] .el-breadcrumb__item:last-child .el-breadcrumb__inner{color:#303133}.app-breadcrumb[data-v-94d84829] .el-breadcrumb__separator{color:#606266}.app-tabs[data-v-414a904e]{border-top-width:1px;border-color:var(--el-border-color)}.app-tabs[data-v-414a904e] .el-tabs{height:40px}.app-tabs[data-v-414a904e] .el-tabs .el-tabs__header{margin-bottom:0}.app-tabs[data-v-414a904e] .el-tabs .el-tabs__content{display:none}.app-tabs[data-v-414a904e] .el-tabs .el-tabs__nav-next,.app-tabs[data-v-414a904e] .el-tabs .el-tabs__nav-prev{font-size:var( --el-font-size-large)}.app-tabs[data-v-414a904e] .el-tabs .el-tabs__nav-wrap:after{height:0}.app-tabs[data-v-414a904e] .el-tabs .el-tabs__item{font-weight:400;padding:0 15px!important;box-sizing:border-box}.app-tabs[data-v-414a904e] .el-tabs .el-tabs__item.is-active{color:var(--el-text-color-primary);background-color:var(--el-color-primary-light-9)}.app-tabs[data-v-414a904e] .el-tabs .el-tabs__item.is-active:before{content:"";display:inline-block;width:6px;height:6px;background-color:var(--el-color-primary);margin-right:6px;border-radius:50%;vertical-align:2px}.app-tabs[data-v-414a904e] .el-tabs .el-tabs__item.is-active:after{position:absolute;content:"";display:block;top:0;height:2px;left:0;width:100%;background-color:var(--el-color-primary)}.app-tabs[data-v-414a904e] .el-tabs .el-tabs__item .is-icon-close{color:var(--el-text-color-regular);vertical-align:-2px}.app-tabs[data-v-414a904e] .el-tabs .el-tabs__item .is-icon-close:hover{color:var(--color-white);background-color:var(--el-color-danger)}.app-tabs[data-v-414a904e] .el-tabs .el-tabs__active-bar{display:none}.navbar{height:var(--navbar-height);display:flex;background-color:var(--el-bg-color);padding-left:8px;padding-right:8px}.navbar .navbar-item{display:flex;height:100%;align-items:center;justify-content:center}.navbar .navbar-item:hover{background-color:var(--el-bg-color-page)}.el-image[data-v-275301c7]{display:block}.el-image .el-image__error[data-v-275301c7]{font-size:var(--el-font-size-extra-small)}.logo[data-v-590d56e3]{height:var(--navbar-height);overflow:hidden;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;position:relative;display:flex;align-items:center;padding:8px}.logo .logo-title[data-v-590d56e3]{width:70%;position:absolute;font-size:var( --el-font-size-large)}.logo .title-width-enter-active[data-v-590d56e3]{opacity:0;transition:all .3s ease-out}.logo .title-width-leave-active[data-v-590d56e3]{transition:all .3s cubic-bezier(1,.5,.8,1)}.logo .title-width-enter-from[data-v-590d56e3],.logo .title-width-leave-to[data-v-590d56e3]{width:0;opacity:0}.el-menu-item .menu-item-icon[data-v-65172b69],.el-sub-menu__title .menu-item-icon[data-v-65172b69]{margin-right:8px;width:var(--el-menu-icon-width);text-align:center;vertical-align:middle}.menu.theme-dark .el-menu[data-v-6c529f19] .el-menu-item.is-active{border-color:var(--el-color-primary);background-color:var(--el-color-primary)}.menu.theme-dark[data-v-6c529f19] .el-menu--collapse .el-sub-menu.is-active .el-sub-menu__title{background-color:var(--el-color-primary)!important}.menu.theme-light[data-v-6c529f19] .el-menu .el-menu-item{border-color:transparent}.menu.theme-light[data-v-6c529f19] .el-menu .el-menu-item.is-active{border-right-width:2px;border-color:var(--el-color-primary);background-color:var(--el-color-primary-light-9)}.menu.theme-light[data-v-6c529f19] .el-menu .el-menu-item:hover,.menu.theme-light[data-v-6c529f19] .el-menu .el-sub-menu__title:hover{color:var(--el-color-primary)}.menu .el-menu[data-v-6c529f19]{border-right:none}.menu .el-menu[data-v-6c529f19]:not(.el-menu--collapse){width:var(--aside-width)}.side[data-v-ed43753e]{position:relative;z-index:999;display:flex;height:100%;flex-direction:column;border-right-width:1px;border-color:var(--el-border-color-light);background-color:var(--side-dark-color, var(--el-bg-color))}.sidebar[data-v-7243bf96] .el-drawer__body{padding:0}:root.dark{color-scheme:dark;--table-header-bg-color: var(--el-bg-color);--el-bg-color-page: #0a0a0a;--el-bg-color: #1d2124;--el-bg-color-overlay: #1d1e1f;--el-text-color-primary: #e5eaf3;--el-text-color-regular: #cfd3dc;--el-text-color-secondary: #a3a6ad;--el-text-color-placeholder: #8d9095;--el-text-color-disabled: #6c6e72;--el-border-color-darker: #636466;--el-border-color-dark: #58585b;--el-border-color: #4c4d4f;--el-border-color-light: #414243;--el-border-color-lighter: #363637;--el-border-color-extra-light: #2b2b2c;--el-fill-color-darker: #424243;--el-fill-color-dark: #39393a;--el-fill-color: #303030;--el-fill-color-light: #262727;--el-fill-color-lighter: #1d1d1d;--el-fill-color-extra-light: #191919;--el-fill-color-blank: var(--el-bg-color);--el-mask-color: rgba(0, 0, 0, .8);--el-mask-color-extra-light: rgba(0, 0, 0, .3);--el-box-shadow: 0px 12px 32px 4px rgba(0, 0, 0, .36), 0px 8px 20px rgba(0, 0, 0, .72);--el-box-shadow-light: 0px 0px 12px rgba(0, 0, 0, .72);--el-box-shadow-lighter: 0px 0px 6px rgba(0, 0, 0, .72);--el-box-shadow-dark: 0px 16px 48px 16px rgba(0, 0, 0, .72), 0px 12px 32px #000000, 0px 8px 16px -8px #000000 !important;--w-e-textarea-bg-color: var(--el-bg-color);--w-e-textarea-color: var(--el-text-color-primary);--w-e-textarea-border-color: var(--el-border-color);--w-e-textarea-slight-border-color: var(--el-border-color-light);--w-e-textarea-slight-color: var(--el-border-color);--w-e-textarea-slight-bg-color: var(--el-bg-color-page);--w-e-toolbar-color: var(--el-text-color-primary);--w-e-toolbar-bg-color: var(--el-bg-color);--w-e-toolbar-active-color: var(--el-text-color-primary);--w-e-toolbar-active-bg-color: var(--el-bg-color);--w-e-toolbar-disabled-color: var(--el-text-color-disabled);--w-e-toolbar-border-color: var(--el-border-color);--w-e-modal-button-bg-color: var(--el-bg-color);--w-e-modal-button-border-color: var(--el-border-color)}:root{--el-font-family: PingFang SC, Arial, Hiragino Sans GB, Microsoft YaHei, sans-serif;--el-font-weight-primary: 400;--el-menu-item-height: 46px;--el-menu-sub-item-height: var(--el-menu-item-height);--el-menu-icon-width: 18px;--aside-width: 200px;--navbar-height: 50px;--color-white: #ffffff;--table-header-bg-color: #f8f8f8;--el-font-size-extra-large: 18px;--el-menu-base-level-padding: 16px;--el-menu-level-padding: 26px;--el-font-size-large: 16px;--el-font-size-medium: 15px;--el-font-size-base: 14px;--el-font-size-small: 13px;--el-font-size-extra-small: 12px;--el-bg-color: var(--color-white);--el-bg-color-page: #f6f6f6;--el-bg-color-overlay: #ffffff;--el-text-color-primary: #333333;--el-text-color-regular: #666666;--el-text-color-secondary: #999999;--el-text-color-placeholder: #a8abb2;--el-text-color-disabled: #c0c4cc;--el-border-color: #dcdfe6;--el-border-color-light: #e4e7ed;--el-border-color-lighter: #ebeef5;--el-border-color-extra-light: #f2f2f2;--el-border-color-dark: #d4d7de;--el-border-color-darker: #cdd0d6;--el-fill-color: #f0f2f5;--el-fill-color-light: #f8f8f8;--el-fill-color-lighter: #fafafa;--el-fill-color-extra-light: #fafcff;--el-fill-color-dark: #ebedf0;--el-fill-color-darker: #e6e8eb;--el-fill-color-blank: #ffffff;--el-mask-color: rgba(255, 255, 255, .5);--el-mask-color-extra-light: rgba(255, 255, 255, .22);-el-box-shadow:0px 12px 32px 4px rgba(0,0,0,.04),0px 8px 20px rgba(0,0,0,.08);--el-box-shadow-light: 0px 0px 12px rgba(0, 0, 0, .12);--el-box-shadow-lighter: 0px 0px 6px rgba(0, 0, 0, .12);--el-box-shadow-dark: 0px 16px 48px 16px rgba(0, 0, 0, .08), 0px 12px 32px rgba(0, 0, 0, .12), 0px 8px 16px -8px rgba(0, 0, 0, .16)}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:PingFang SC,Arial,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media(min-width:640px){.container{max-width:640px}}@media(min-width:768px){.container{max-width:768px}}@media(min-width:1024px){.container{max-width:1024px}}@media(min-width:1280px){.container{max-width:1280px}}@media(min-width:1536px){.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.\!visible{visibility:visible!important}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.-right-6{right:-24px}.-top-8{top:-32px}.bottom-0{bottom:0}.left-0{left:0}.left-1\/2{left:50%}.right-4{right:16px}.top-0{top:0}.top-1\/2{top:50%}.top-4{top:16px}.z-\[100\]{z-index:100}.\!m-0{margin:0!important}.m-0{margin:0}.m-1{margin:4px}.m-4{margin:16px}.m-5{margin:20px}.mx-1{margin-left:4px;margin-right:4px}.mx-10{margin-left:40px;margin-right:40px}.mx-2{margin-left:8px;margin-right:8px}.mx-4{margin-left:16px;margin-right:16px}.mx-\[10px\]{margin-left:10px;margin-right:10px}.mx-\[18px\]{margin-left:18px;margin-right:18px}.mx-\[30px\]{margin-left:30px;margin-right:30px}.mx-auto{margin-left:auto;margin-right:auto}.my-\[15px\]{margin-top:15px;margin-bottom:15px}.\!mb-0{margin-bottom:0!important}.\!mb-3{margin-bottom:12px!important}.\!mt-0{margin-top:0!important}.-mt-1{margin-top:-4px}.-mt-2{margin-top:-8px}.mb-0\.5{margin-bottom:2px}.mb-1{margin-bottom:4px}.mb-1\.5{margin-bottom:6px}.mb-10{margin-bottom:40px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:16px}.mb-5{margin-bottom:20px}.mb-6{margin-bottom:24px}.mb-7{margin-bottom:28px}.mb-8{margin-bottom:32px}.mb-\[-16px\]{margin-bottom:-16px}.mb-\[10px\]{margin-bottom:10px}.mb-\[15px\]{margin-bottom:15px}.mb-\[16px\]{margin-bottom:16px}.mb-\[18px\]{margin-bottom:18px}.mb-\[20px\]{margin-bottom:20px}.mb-\[24px\]{margin-bottom:24px}.mb-auto{margin-bottom:auto}.ml-0\.5{margin-left:2px}.ml-1{margin-left:4px}.ml-2{margin-left:8px}.ml-2\.5{margin-left:10px}.ml-3{margin-left:12px}.ml-4{margin-left:16px}.ml-5{margin-left:20px}.ml-\[100px\]{margin-left:100px}.ml-\[101px\]{margin-left:101px}.ml-\[10px\]{margin-left:10px}.ml-\[14px\]{margin-left:14px}.ml-\[30px\]{margin-left:30px}.ml-\[40px\]{margin-left:40px}.ml-\[5px\]{margin-left:5px}.ml-\[6px\]{margin-left:6px}.ml-auto{margin-left:auto}.mr-1{margin-right:4px}.mr-2{margin-right:8px}.mr-3{margin-right:12px}.mr-4{margin-right:16px}.mr-5{margin-right:20px}.mr-6{margin-right:24px}.mr-\[10px\]{margin-right:10px}.mr-\[20px\]{margin-right:20px}.mr-\[35px\]{margin-right:35px}.mr-auto{margin-right:auto}.mt-0\.5{margin-top:2px}.mt-1{margin-top:4px}.mt-1\.5{margin-top:6px}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.mt-5{margin-top:20px}.mt-7{margin-top:28px}.mt-8{margin-top:32px}.mt-\[-10px\]{margin-top:-10px}.mt-\[10px\]{margin-top:10px}.mt-\[12px\]{margin-top:12px}.mt-\[15px\]{margin-top:15px}.mt-\[16px\]{margin-top:16px}.mt-\[18px\]{margin-top:18px}.mt-\[20px\]{margin-top:20px}.mt-\[30px\]{margin-top:30px}.mt-\[40px\]{margin-top:40px}.mt-\[4px\]{margin-top:4px}.mt-\[7px\]{margin-top:7px}.mt-\[8px\]{margin-top:8px}.mt-auto{margin-top:auto}.box-border{box-sizing:border-box}.line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.aspect-video{aspect-ratio:16 / 9}.size-full{width:100%;height:100%}.\!h-auto{height:auto!important}.\!h-full{height:100%!important}.h-10{height:40px}.h-16{height:64px}.h-28{height:112px}.h-5{height:20px}.h-64{height:256px}.h-\[122px\]{height:122px}.h-\[150px\]{height:150px}.h-\[16px\]{height:16px}.h-\[280px\]{height:280px}.h-\[34px\]{height:34px}.h-\[400px\]{height:400px}.h-\[50px\]{height:50px}.h-\[530px\]{height:530px}.h-\[58px\]{height:58px}.h-\[60px\]{height:60px}.h-\[90px\]{height:90px}.h-full{height:100%}.h-screen{height:100vh}.max-h-\[320px\]{max-height:320px}.min-h-0{min-height:0px}.min-h-\[100px\]{min-height:100px}.min-h-\[350px\]{min-height:350px}.min-h-\[52px\]{min-height:52px}.min-h-\[56px\]{min-height:56px}.min-h-\[668px\]{min-height:668px}.min-h-screen{min-height:100vh}.\!w-40{width:160px!important}.\!w-\[120px\]{width:120px!important}.\!w-\[260px\]{width:260px!important}.\!w-\[280px\]{width:280px!important}.\!w-full{width:100%!important}.w-1\/2{width:50%}.w-1\/4{width:25%}.w-10{width:40px}.w-14{width:56px}.w-16{width:64px}.w-20{width:80px}.w-28{width:112px}.w-5{width:20px}.w-60{width:240px}.w-64{width:256px}.w-80{width:320px}.w-\[120px\]{width:120px}.w-\[122px\]{width:122px}.w-\[136px\]{width:136px}.w-\[140px\]{width:140px}.w-\[150px\]{width:150px}.w-\[160px\]{width:160px}.w-\[180px\]{width:180px}.w-\[200px\]{width:200px}.w-\[20px\]{width:20px}.w-\[220px\]{width:220px}.w-\[260px\]{width:260px}.w-\[280px\]{width:280px}.w-\[300px\]{width:300px}.w-\[34px\]{width:34px}.w-\[360px\]{width:360px}.w-\[380px\]{width:380px}.w-\[396px\]{width:396px}.w-\[400px\]{width:400px}.w-\[467px\]{width:467px}.w-\[480px\]{width:480px}.w-\[500px\]{width:500px}.w-\[560px\]{width:560px}.w-\[58px\]{width:58px}.w-\[60px\]{width:60px}.w-\[86px\]{width:86px}.w-full{width:100%}.min-w-0{min-width:0px}.min-w-\[100px\]{min-width:100px}.min-w-\[1100px\]{min-width:1100px}.min-w-\[140px\]{min-width:140px}.min-w-\[200px\]{min-width:200px}.min-w-\[240px\]{min-width:240px}.min-w-\[900px\]{min-width:900px}.max-w-52{max-width:208px}.max-w-\[1200px\]{max-width:1200px}.max-w-\[320px\]{max-width:320px}.max-w-\[400px\]{max-width:400px}.max-w-\[900px\]{max-width:900px}.max-w-full{max-width:100%}.flex-1{flex:1 1 0%}.flex-none{flex:none}.flex-shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.basis-40{flex-basis:160px}.border-collapse{border-collapse:collapse}.translate-x-\[-50\%\]{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-default{cursor:default}.cursor-help{cursor:help}.cursor-move{cursor:move}.cursor-pointer{cursor:pointer}.touch-manipulation{touch-action:manipulation}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.\!items-start{align-items:flex-start!important}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:2px}.gap-1{gap:4px}.gap-1\.5{gap:6px}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-x-2{-moz-column-gap:8px;column-gap:8px}.gap-x-3{-moz-column-gap:12px;column-gap:12px}.gap-x-4{-moz-column-gap:16px;column-gap:16px}.gap-y-1{row-gap:4px}.gap-y-2{row-gap:8px}.gap-y-3{row-gap:12px}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2px * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(4px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(4px * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(6px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(6px * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(8px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(8px * var(--tw-space-y-reverse))}.self-end{align-self:flex-end}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.\!whitespace-normal{white-space:normal!important}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.\!rounded-none{border-radius:0!important}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-\[10px\]{border-radius:10px}.rounded-\[3px\]{border-radius:3px}.rounded-\[8px\]{border-radius:8px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.\!border-2{border-width:2px!important}.border{border-width:1px}.border-0{border-width:0px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-r-2{border-right-width:2px}.border-t{border-top-width:1px}.border-solid{border-style:solid}.border-dashed{border-style:dashed}.\!border-none{border-style:none!important}.\!border-red-500{--tw-border-opacity: 1 !important;border-color:rgb(239 68 68 / var(--tw-border-opacity, 1))!important}.border-\[\#dcdfe6\]{--tw-border-opacity: 1;border-color:rgb(220 223 230 / var(--tw-border-opacity, 1))}.border-\[\#e5e5e5\]{--tw-border-opacity: 1;border-color:rgb(229 229 229 / var(--tw-border-opacity, 1))}.border-\[\#f2f2f2\]{--tw-border-opacity: 1;border-color:rgb(242 242 242 / var(--tw-border-opacity, 1))}.border-\[\#f5f5f5\]{--tw-border-opacity: 1;border-color:rgb(245 245 245 / var(--tw-border-opacity, 1))}.border-amber-100{--tw-border-opacity: 1;border-color:rgb(254 243 199 / var(--tw-border-opacity, 1))}.border-br{border-color:var(--el-border-color)}.border-br-light{border-color:var(--el-border-color-light)}.border-emerald-100{--tw-border-opacity: 1;border-color:rgb(209 250 229 / var(--tw-border-opacity, 1))}.border-gray-100{--tw-border-opacity: 1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1))}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-primary{border-color:var(--el-color-primary)}.border-slate-200{--tw-border-opacity: 1;border-color:rgb(226 232 240 / var(--tw-border-opacity, 1))}.border-slate-200\/90{border-color:#e2e8f0e6}.\!bg-primary{background-color:var(--el-color-primary)!important}.bg-\[\#f3f8ff\]{--tw-bg-opacity: 1;background-color:rgb(243 248 255 / var(--tw-bg-opacity, 1))}.bg-\[rgba\(0\,0\,0\,0\.3\)\]{background-color:#0000004d}.bg-amber-50{--tw-bg-opacity: 1;background-color:rgb(255 251 235 / var(--tw-bg-opacity, 1))}.bg-body{background-color:var(--el-bg-color)}.bg-br-extra-light{background-color:var(--el-border-color-extra-light)}.bg-emerald-50{--tw-bg-opacity: 1;background-color:rgb(236 253 245 / var(--tw-bg-opacity, 1))}.bg-emerald-500\/10{background-color:#10b9811a}.bg-fill-light{background-color:var(--el-fill-color-light)}.bg-fill-lighter{background-color:var(--el-fill-color-lighter)}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.bg-gray-50\/50{background-color:#f9fafb80}.bg-gray-50\/80{background-color:#f9fafbcc}.bg-page{background-color:var(--el-bg-color-page)}.bg-primary{background-color:var(--el-color-primary)}.bg-primary-light-9{background-color:var(--el-color-primary-light-9)}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.bg-sky-500\/10{background-color:#0ea5e91a}.bg-slate-100{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.bg-white{background-color:var(--color-white)}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.from-slate-50{--tw-gradient-from: #f8fafc var(--tw-gradient-from-position);--tw-gradient-to: rgb(248 250 252 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.to-white{--tw-gradient-to: var(--color-white) var(--tw-gradient-to-position)}.bg-center{background-position:center}.bg-no-repeat{background-repeat:no-repeat}.object-contain{-o-object-fit:contain;object-fit:contain}.\!p-0{padding:0!important}.\!p-3{padding:12px!important}.p-0{padding:0}.p-1{padding:4px}.p-2{padding:8px}.p-3{padding:12px}.p-4{padding:16px}.p-5{padding:20px}.p-\[15px\]{padding:15px}.px-1{padding-left:4px;padding-right:4px}.px-1\.5{padding-left:6px;padding-right:6px}.px-10{padding-left:40px;padding-right:40px}.px-2{padding-left:8px;padding-right:8px}.px-3{padding-left:12px;padding-right:12px}.px-4{padding-left:16px;padding-right:16px}.px-5{padding-left:20px;padding-right:20px}.px-6{padding-left:24px;padding-right:24px}.px-\[10px\]{padding-left:10px;padding-right:10px}.px-\[12px\]{padding-left:12px;padding-right:12px}.px-\[15px\]{padding-left:15px;padding-right:15px}.px-\[20px\]{padding-left:20px;padding-right:20px}.px-\[25px\]{padding-left:25px;padding-right:25px}.py-0\.5{padding-top:2px;padding-bottom:2px}.py-1\.5{padding-top:6px;padding-bottom:6px}.py-10{padding-top:40px;padding-bottom:40px}.py-2{padding-top:8px;padding-bottom:8px}.py-3\.5{padding-top:14px;padding-bottom:14px}.py-4{padding-top:16px;padding-bottom:16px}.py-5{padding-top:20px;padding-bottom:20px}.py-6{padding-top:24px;padding-bottom:24px}.py-8{padding-top:32px;padding-bottom:32px}.py-\[10px\]{padding-top:10px;padding-bottom:10px}.py-\[16px\]{padding-top:16px;padding-bottom:16px}.py-\[18px\]{padding-top:18px;padding-bottom:18px}.py-\[5px\]{padding-top:5px;padding-bottom:5px}.pb-1{padding-bottom:4px}.pb-2{padding-bottom:8px}.pb-3{padding-bottom:12px}.pb-5{padding-bottom:20px}.pb-6{padding-bottom:24px}.pb-8{padding-bottom:32px}.pb-\[10px\]{padding-bottom:10px}.pb-\[50px\]{padding-bottom:50px}.pb-\[8px\]{padding-bottom:8px}.pl-0{padding-left:0}.pl-2{padding-left:8px}.pl-4{padding-left:16px}.pl-5{padding-left:20px}.pl-\[120px\]{padding-left:120px}.pl-\[84px\]{padding-left:84px}.pl-\[90px\]{padding-left:90px}.pl-\[96px\]{padding-left:96px}.pr-1{padding-right:4px}.pr-10{padding-right:40px}.pr-2{padding-right:8px}.pr-4{padding-right:16px}.pr-8{padding-right:32px}.pt-1{padding-top:4px}.pt-1\.5{padding-top:6px}.pt-2{padding-top:8px}.pt-4{padding-top:16px}.pt-\[15px\]{padding-top:15px}.pt-\[20px\]{padding-top:20px}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-baseline{vertical-align:baseline}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:var( --el-font-size-extra-large)}.text-3xl{font-size:20px}.text-4xl{font-size:24px}.text-6xl{font-size:30px}.text-\[1\.125rem\]{font-size:1.125rem}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[17px\]{font-size:17px}.text-\[18px\]{font-size:18px}.text-base{font-size:var( --el-font-size-base)}.text-lg{font-size:var( --el-font-size-medium)}.text-sm{font-size:var( --el-font-size-small)}.text-xl{font-size:var( --el-font-size-large)}.text-xs{font-size:var(--el-font-size-extra-small)}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-10{line-height:40px}.leading-3{line-height:12px}.leading-5{line-height:20px}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-\[0\.06em\]{letter-spacing:.06em}.tracking-tight{letter-spacing:-.025em}.\!text-red-700{--tw-text-opacity: 1 !important;color:rgb(185 28 28 / var(--tw-text-opacity, 1))!important}.\!text-white{color:var(--color-white)!important}.text-\[\#101010\]{--tw-text-opacity: 1;color:rgb(16 16 16 / var(--tw-text-opacity, 1))}.text-\[\#136bdf\]{--tw-text-opacity: 1;color:rgb(19 107 223 / var(--tw-text-opacity, 1))}.text-\[\#333\]{--tw-text-opacity: 1;color:rgb(51 51 51 / var(--tw-text-opacity, 1))}.text-\[\#999\]{--tw-text-opacity: 1;color:rgb(153 153 153 / var(--tw-text-opacity, 1))}.text-amber-600{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}.text-amber-900{--tw-text-opacity: 1;color:rgb(120 53 15 / var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-danger{color:var(--el-color-danger)}.text-emerald-500{--tw-text-opacity: 1;color:rgb(16 185 129 / var(--tw-text-opacity, 1))}.text-emerald-600{--tw-text-opacity: 1;color:rgb(5 150 105 / var(--tw-text-opacity, 1))}.text-emerald-700{--tw-text-opacity: 1;color:rgb(4 120 87 / var(--tw-text-opacity, 1))}.text-emerald-800{--tw-text-opacity: 1;color:rgb(6 95 70 / var(--tw-text-opacity, 1))}.text-error{color:var(--el-color-error)}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-orange-500{--tw-text-opacity: 1;color:rgb(249 115 22 / var(--tw-text-opacity, 1))}.text-orange-600{--tw-text-opacity: 1;color:rgb(234 88 12 / var(--tw-text-opacity, 1))}.text-primary{color:var(--el-color-primary)}.text-red-100{--tw-text-opacity: 1;color:rgb(254 226 226 / var(--tw-text-opacity, 1))}.text-red-100\/85{color:#fee2e2d9}.text-red-100\/90{color:#fee2e2e6}.text-red-50{--tw-text-opacity: 1;color:rgb(254 242 242 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-red-700{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.text-sky-500{--tw-text-opacity: 1;color:rgb(14 165 233 / var(--tw-text-opacity, 1))}.text-sky-600{--tw-text-opacity: 1;color:rgb(2 132 199 / var(--tw-text-opacity, 1))}.text-sky-700{--tw-text-opacity: 1;color:rgb(3 105 161 / var(--tw-text-opacity, 1))}.text-slate-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.text-slate-600{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}.text-slate-900{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.text-success{color:var(--el-color-success)}.text-tx-regular{color:var(--el-text-color-regular)}.text-tx-secondary{color:var(--el-text-color-secondary)}.text-warning{color:var(--el-color-warning)}.text-white{color:var(--color-white)}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-40{opacity:.4}.shadow{--tw-shadow: var(--el-box-shadow);--tw-shadow-colored: var(--el-box-shadow);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-red-500\/10{--tw-shadow-color: rgb(239 68 68 / .1);--tw-shadow: var(--tw-shadow-colored)}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-red-600\/70{--tw-ring-color: rgb(220 38 38 / .7)}.ring-red-600\/90{--tw-ring-color: rgb(220 38 38 / .9)}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}:root .el-message{z-index:9999!important}:root .el-notification{z-index:9999!important}:root .el-overlay-dialog{display:flex;justify-content:center;align-items:center;min-height:100%;position:static}:root .el-overlay-dialog .el-dialog{--el-dialog-content-font-size: var(--el-font-size-base);--el-dialog-margin-top: 50px;max-width:calc(100vw - 30px);flex:none;display:flex;flex-direction:column;border-radius:5px}:root .el-overlay-dialog .el-dialog.body-padding .el-dialog__body{padding:0}:root .el-overlay-dialog .el-dialog .el-dialog__body{flex:1;padding:15px 20px}:root .el-overlay-dialog .el-dialog .el-dialog__header{font-size:var(--el-font-size-large)}:root .el-menu{-webkit-user-select:none;-moz-user-select:none;user-select:none}:root .el-drawer{--el-drawer-padding-primary: 16px}:root .el-drawer__header{margin-bottom:0;padding:13px 16px;border-bottom:1px solid var(--el-border-color-lighter)}:root .el-drawer__title{color:var(--el-text-color-primary)}:root .el-table{--el-table-header-text-color: var(--el-text-color-primary);--el-table-header-bg-color: var(--table-header-bg-color);font-size:var(--el-font-size-base)}:root .el-table thead th{font-weight:400}:root .el-input-group__prepend{background-color:var(--el-fill-color-blank)}:root .el-checkbox{--el-checkbox-font-size: var(--el-font-size-base)}:root .el-menu--popup-container.theme-light .el-menu .el-menu-item.is-active{border-right-width:2px;border-color:var(--el-color-primary);background-color:var(--el-color-primary-light-9)}:root .el-menu--popup-container.theme-light .el-menu .el-menu-item:hover,:root .el-menu--popup-container.theme-light .el-menu .el-sub-menu__title:hover{color:var(--el-color-primary)}:root .el-menu--popup-container.theme-dark .el-menu .el-menu-item.is-active{background-color:var(--el-color-primary)}:root .el-message-box{--el-messagebox-width: 350px}:root .el-date-editor{--el-date-editor-datetimerange-width: 380px}:root .el-date-editor .el-range-input{font-size:var(--el-font-size-small)}:root .el-button--primary{--el-button-hover-link-text-color: var(--el-color-primary-light-3)}:root .el-button--success{--el-button-hover-link-text-color: var(--el-color-success-light-3)}:root .el-button--info{--el-button-hover-link-text-color: var(--el-color-info-light-3)}:root .el-button--warning{--el-button-hover-link-text-color: var(--el-color-warning-light-3)}:root .el-button--danger{--el-button-hover-link-text-color: var(--el-color-danger-light-3)}:root .el-image__error{font-size:12px}:root .el-tabs__nav-wrap:after{height:1px}:root .el-page-header__breadcrumb{margin-bottom:0}:root .el-input,:root .el-select,:root .el-textarea{--tw-shadow-color: var(--el-color-primary-light-8);--tw-shadow: var(--tw-shadow-colored);box-shadow:0 0 0 0 var(--tw-shadow-color)}:root .el-input:focus-within,:root .el-select:focus-within,:root .el-textarea:focus-within{box-shadow:0 0 0 2px var(--tw-shadow-color);border-radius:var(--el-input-border-radius, var(--el-border-radius-base));transition:box-shadow ease .1s}:root .el-checkbox__input,:root .el-radio__input{--tw-shadow-color: var(--el-color-primary-light-8);--tw-shadow: var(--tw-shadow-colored);border-radius:var(--el-checkbox-border-radius);box-shadow:0 0 0 0 var(--tw-shadow-color)}:root .el-checkbox__input:active,:root .el-radio__input:active{box-shadow:0 0 0 2px var(--tw-shadow-color);transition:box-shadow ease 0s}:root .el-radio__input{border-radius:var(--el-radio-input-border-radius)}:root .el-form-item.is-error .el-input,:root .el-form-item.is-error .el-select,:root .el-form-item.is-error .el-textarea,:root .el-form-item.is-error .el-radio__input,:root .el-form-item.is-error .el-checkbox{--tw-shadow-color: var(--el-color-danger-light-8);--tw-shadow: var(--tw-shadow-colored)}@media(max-width:768px){.el-pagination>.el-pagination__jump{display:none!important}.el-pagination>.el-pagination__sizes{display:none!important}}.el-button{background-color:var(--el-button-bg-color, var(--el-color-white))}.el-button:focus{color:var(--el-button-text-color);border-color:var(--el-button-border-color);background-color:var(--el-button-bg-color)}.el-button:hover{color:var(--el-button-hover-text-color);border-color:var(--el-button-hover-border-color);background-color:var(--el-button-hover-bg-color)}body{min-width:375px;overflow:hidden;font-size:var( --el-font-size-base);color:var(--el-text-color-primary)}.form-tips{margin-top:4px;font-size:var(--el-font-size-extra-small);line-height:24px;color:var(--el-text-color-secondary)}.clearfix:after{content:"";display:block;clear:both;visibility:hidden}#nprogress .bar{background-color:var(--el-color-primary)!important}.before\:mr-2:before{content:var(--tw-content);margin-right:8px}.before\:block:before{content:var(--tw-content);display:block}.before\:h-\[14px\]:before{content:var(--tw-content);height:14px}.before\:w-\[3px\]:before{content:var(--tw-content);width:3px}.before\:bg-primary:before{content:var(--tw-content);background-color:var(--el-color-primary)}.hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.hover\:text-primary:hover{color:var(--el-color-primary)}.hover\:underline:hover{text-decoration-line:underline}.dark\:text-\[\#ffffff\]:is(.dark *){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}@media(min-width:640px){.sm\:flex{display:flex}.sm\:h-\[600px\]{height:600px}.sm\:w-80{width:320px}.sm\:w-auto{width:auto}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:text-\[28px\]{font-size:28px}.sm\:text-sm{font-size:var( --el-font-size-small)}}@media(min-width:768px){.md\:inline-block{display:inline-block}.md\:w-1\/3{width:33.333333%}.md\:w-1\/4{width:25%}.md\:w-\[420px\]{width:420px}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1024px){.lg\:ml-4{margin-left:16px}.lg\:mt-0{margin-top:0}.lg\:flex{display:flex}}@media(min-width:1280px){.xl\:ml-20{margin-left:80px}.xl\:mr-4{margin-right:16px}.xl\:flex{display:flex}}.chat-notify-container[data-v-9276baf6]{position:fixed;top:72px;right:24px;z-index:3000;display:flex;flex-direction:column;gap:12px;max-width:360px;pointer-events:none}.chat-notify-container[data-v-9276baf6]>*{pointer-events:auto}.chat-notify-card[data-v-9276baf6]{display:flex;align-items:flex-start;gap:14px;padding:14px 16px;background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid rgba(34,197,94,.2);border-radius:12px;box-shadow:0 4px 20px #00000014,0 0 0 1px #22c55e0f;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}html.dark .chat-notify-card[data-v-9276baf6]{background:linear-gradient(135deg,#1e293b,#0f172a);border-color:#22c55e4d;box-shadow:0 4px 20px #0000004d}.chat-notify-card[data-v-9276baf6]:hover{transform:translate(-2px);box-shadow:0 6px 24px #0000001a,0 0 0 1px #22c55e1f}html.dark .chat-notify-card[data-v-9276baf6]:hover{box-shadow:0 6px 24px #0006}.chat-notify-icon[data-v-9276baf6]{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;border-radius:10px}.chat-notify-icon-complete[data-v-9276baf6]{background:linear-gradient(135deg,#3b82f6,#2563eb)}.chat-notify-card-left[data-v-9276baf6]{border-color:#94a3b859;box-shadow:0 4px 20px #0000000f,0 0 0 1px #94a3b814}.chat-notify-icon-left[data-v-9276baf6]{background:linear-gradient(135deg,#94a3b8,#64748b)}.chat-notify-body[data-v-9276baf6]{flex:1;min-width:0}.chat-notify-title[data-v-9276baf6]{font-size:14px;font-weight:600;color:#0f172a;margin-bottom:4px}html.dark .chat-notify-title[data-v-9276baf6]{color:#f1f5f9}.chat-notify-desc[data-v-9276baf6]{font-size:13px;color:#475569;line-height:1.45}html.dark .chat-notify-desc[data-v-9276baf6]{color:#94a3b8}.patient-name[data-v-9276baf6]{font-weight:600;color:#16a34a}.doctor-name[data-v-9276baf6]{font-weight:600;color:#2563eb}.chat-notify-time[data-v-9276baf6]{font-size:12px;color:#94a3b8;margin-top:6px}html.dark .chat-notify-time[data-v-9276baf6]{color:#64748b}.chat-notify-close[data-v-9276baf6]{flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:6px;color:#94a3b8;cursor:pointer;transition:color .2s,background .2s}.chat-notify-close[data-v-9276baf6]:hover{color:#64748b;background:#0000000d}html.dark .chat-notify-close[data-v-9276baf6]:hover{color:#94a3b8;background:#ffffff14}.chat-notify-slide-enter-active[data-v-9276baf6],.chat-notify-slide-leave-active[data-v-9276baf6]{transition:all .3s ease}.chat-notify-slide-enter-from[data-v-9276baf6],.chat-notify-slide-leave-to[data-v-9276baf6]{opacity:0;transform:translate(24px)}.chat-notify-slide-move[data-v-9276baf6]{transition:transform .3s ease} diff --git a/server/public/admin/assets/index-B5KYWUG1.js b/server/public/admin/assets/index-CqoQTg2-.js similarity index 93% rename from server/public/admin/assets/index-B5KYWUG1.js rename to server/public/admin/assets/index-CqoQTg2-.js index 4f6f0554..e33629f1 100644 --- a/server/public/admin/assets/index-B5KYWUG1.js +++ b/server/public/admin/assets/index-CqoQTg2-.js @@ -1 +1 @@ -import{D as Jt,B as Xt,C as Ht,P as Zt,Q as el,i as tl,J as ll,m as al,l as ol,M as nl,N as sl,T as rl,L as il,a9 as dl,aa as ul,U as pl,X as ml,V as fl,a2 as yl,K as _l,G as vl,I as gl,g as cl,h as bl,d as kl}from"./element-plus-0wC3naml.js";import{_ as Vl}from"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import{_ as xl}from"./index.vue_vue_type_script_setup_true_lang-DLNQ3IjV.js";import{_ as wl}from"./index.vue_vue_type_script_setup_true_lang-DBEwrTRf.js";import{w as rt,s as it}from"./@vue/runtime-dom-DDAG46FW.js";import{u as Cl}from"./usePaging-VsbTxSU0.js";import{o as Sl,a as Tl,b as Dl,c as El,d as Ul,e as $l,s as dt,f as Pl,g as hl,h as Ll,i as Ol,j as Al,k as Ml,l as Rl,m as ut,n as ql,w as zl,p as Fl,q as Nl,r as Il,t as Wl}from"./order-BogYGNkX.js";import{G as Bl,n as jl}from"./tcm-SLIwsL8z.js";import{l as Yl}from"./@element-plus/icons-vue-HOEUG8sr.js";import{i as g,_ as Ql}from"./index-E47--KT7.js";import{f as pt,b as Gl,as as Kl,ak as d,I as x,a as t,aN as a,F as R,ap as oe,G as v,O as s,aP as S,J as c,H as b,A as Be}from"./@vue/runtime-core-C6bnekPw.js";import{n as u,y as o,a as T,r as je}from"./@vue/reactivity-DiY1c2vO.js";import{Q as p}from"./@vue/shared-mAAVTE9n.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-nymJKQXP.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Jl={class:"order-list"},Xl={class:"flex items-center justify-between mb-4"},Hl={class:"flex items-center gap-4 text-sm"},Zl={class:"text-red-500 font-semibold text-lg"},ea={class:"text-gray-400"},ta={class:"mb-3 flex items-center gap-3"},la={key:0,class:"text-sm text-gray-500"},aa={key:0},oa={key:1,class:"text-amber-600"},na={class:"text-xs text-gray-400"},sa={key:0,class:"text-xs text-gray-400"},ra={class:"text-red-500 font-semibold"},ia={class:"flex justify-end mt-4"},da={class:"text-red-500 font-semibold"},ua={key:2,class:"text-xs text-gray-500 mb-2"},pa={key:4,class:"flex justify-end mt-3"},ma={key:0,class:"text-xs text-gray-500 mb-3"},fa={class:"text-sm text-gray-600 mb-3"},ya={class:"text-red-500 font-semibold"},_a={class:"text-red-500 font-semibold"},va={class:"text-sm text-gray-600 mb-3"},ga={class:"font-mono"},ca={class:"text-red-500 font-semibold"},ba={class:"space-y-2 mb-3 max-h-[320px] overflow-y-auto pr-1"},ka={class:"text-sm text-gray-500 w-14 shrink-0"},Va={class:"flex flex-col items-center justify-center py-4"},xa={key:0,class:"text-center"},wa={key:1,class:"text-center"},Ca=["src"],Sa={class:"mt-4 text-sm text-gray-600"},Ta={key:2,class:"text-center text-gray-500"},Da=pt({name:"orderList"}),Ea=pt({...Da,setup(Ua){const w=je({order_no:"",patient_keyword:"",assistant_id:void 0,order_type:"",status:"",patient_association:"",create_time_start:"",create_time_end:""}),ne=u([]),Ye=u(null),Qe=u([]),F=Be(()=>Qe.value.map(n=>n.id).filter(n=>n>0)),N=u(!1),Ve=u(!1),H=je({assistant_id:void 0}),se=u(""),re=u({amount:"0.00",count:0}),{pager:I,getLists:D,resetPage:Ge,resetParams:mt}=Cl({fetchFun:Sl,params:w}),ft=n=>{Qe.value=n||[]},yt=()=>{if(!F.value.length){g.msgWarning("请先勾选要指派的支付单");return}H.assistant_id=void 0,N.value=!0},_t=async()=>{var n;if(H.assistant_id==null){g.msgWarning("请选择医助");return}Ve.value=!0;try{await Dl({order_ids:[...F.value],assistant_id:H.assistant_id}),g.msgSuccess("指派成功"),N.value=!1,(n=Ye.value)==null||n.clearSelection(),D(),W()}catch(e){e!=null&&e.msg&&g.msgError(e.msg)}finally{Ve.value=!1}},xe=()=>{Ge()},vt=n=>{w.patient_association=n||"",Ge()},W=async()=>{try{const n=await El();re.value=(n==null?void 0:n.data)||n||{amount:"0.00",count:0}}catch{re.value={amount:"0.00",count:0}}},gt=()=>{se.value="",mt()},ie=u(!1),k=u(null),we=u(0),Ce=u(!1),Se=u([]),Te=u(0),B=u(1),de=u(10),ue=u(!1),pe=u(!1),De=u([]),A=u(null),Z=u(""),Ee=async()=>{if(we.value){Ce.value=!0;try{const n=await Ul({order_id:we.value,page_no:B.value,page_size:de.value});Se.value=(n==null?void 0:n.lists)||[],Te.value=(n==null?void 0:n.count)??0}catch{Se.value=[],Te.value=0}finally{Ce.value=!1}}},ct=()=>{B.value=1,Ee()},bt=()=>{A.value=null,Ke()},Ke=async()=>{pe.value=!0;try{const n={};A.value&&A.value.length===2&&(n.start_time=A.value[0],n.end_time=A.value[1]);const e=await $l(Object.keys(n).length?n:void 0);De.value=(e==null?void 0:e.list)||[],e!=null&&e.start_time&&(e!=null&&e.end_time)?Z.value=`${e.start_time} ~ ${e.end_time}`:Z.value=""}catch{De.value=[],Z.value=""}finally{pe.value=!1}},q=u(!1),me=u(!1),f=u({order_id:0,order_no:"",amount:0,fubeiPendingAudit:!1,payment_method:"alipay",payType:"supplement",supplement_order_no:""}),z=u(!1),Ue=u(),$e=u(!1),Pe=u(!1),he=u([]),y=je({createType:"normal",requirePaymentSlipAudit:!1,patient_id:"",order_type:"",amount:0,remark:""}),kt={patient_id:[{required:!0,message:"请选择患者",trigger:"change"}],order_type:[{required:!0,message:"请选择订单类型",trigger:"change"}],amount:[{required:!0,message:"请输入订单金额",trigger:"blur"}]},j=u(!1),Je=u(),Le=u(!1),Oe=u(!1),ee=u([]),L=u(null),Vt={order_type:[{required:!0,message:"请选择订单类型",trigger:"change"}]},xt=async n=>{if(!n){he.value=[];return}try{Pe.value=!0;const e=await dt({keyword:n,page_no:1,page_size:10});he.value=(e==null?void 0:e.lists)||[]}catch(e){console.error("搜索患者失败:",e)}finally{Pe.value=!1}},Xe=()=>{var n;y.createType="normal",y.requirePaymentSlipAudit=!1,y.patient_id="",y.order_type="",y.amount=0,y.remark="",(n=Ue.value)==null||n.clearValidate()},wt=()=>{Xe(),z.value=!0},Y=u(!1),fe=u(!1),Ae=u(!1),ye=u(""),Q=u([new Date(Date.now()-7*864e5).toISOString().slice(0,10),new Date().toISOString().slice(0,10)]),Ct=[{text:"最近7天",value:()=>{const n=new Date,e=new Date;return e.setTime(e.getTime()-7*864e5),[e,n]}},{text:"最近30天",value:()=>{const n=new Date,e=new Date;return e.setTime(e.getTime()-30*864e5),[e,n]}},{text:"今天",value:()=>{const n=new Date;return[n,n]}}],St=()=>{Q.value=[new Date(Date.now()-7*864e5).toISOString().slice(0,10),new Date().toISOString().slice(0,10)],Y.value=!0},Tt=async()=>{var e;const n=Q.value;if(!n||n.length!==2){g.msgError("请先选择时间范围");return}try{Ae.value=!0;const m=await Pl({begin_time:n[0],end_time:n[1],payee_userid:ye.value||void 0}),r=(m==null?void 0:m.data)||m;let i=`配置:${r.config_ok?"✓":"✗"} | token:${r.access_token} | errcode:${r.api_errcode} | errmsg:${r.api_errmsg||"-"} | 账单数:${r.bill_count}`;(e=r.try_payee_userids)!=null&&e.length&&(i+=`。可尝试收款人: ${r.try_payee_userids.join(", ")}`),r.api_errcode!==0&&r.api_errcode!==-999&&(i+="。提示:需使用「对外收款」应用的Secret(管理后台-应用管理-对外收款-API)"),g.msgSuccess(i),console.log("企业微信同步调试:",r)}catch(m){g.msgError((m==null?void 0:m.message)||"排查失败")}finally{Ae.value=!1}},Dt=async()=>{var e;const n=Q.value;if(!n||n.length!==2){g.msgError("请选择时间范围");return}try{fe.value=!0;const m=await hl({begin_time:n[0],end_time:n[1]}),r=(m==null?void 0:m.data)||m;Y.value=!1,D();const i=`同步完成:新增 ${r.created||0} 笔,更新 ${r.updated||0} 笔,跳过 ${r.skipped||0} 笔`+((e=r.errors)!=null&&e.length?`;错误:${r.errors.join(";")}`:"");g.msgSuccess(i),W()}catch(m){g.msgError((m==null?void 0:m.message)||"同步失败")}finally{fe.value=!1}},Et=async()=>{var n,e;try{if(await((n=Ue.value)==null?void 0:n.validate()),$e.value=!0,y.createType==="wechat_work"){const m={patient_id:y.patient_id,order_type:y.order_type,amount:y.amount,remark:y.remark},r=await Ll(m),i=(r==null?void 0:r.order_no)??((e=r==null?void 0:r.data)==null?void 0:e.order_no);z.value=!1,D(),g.msgSuccess(i?`订单创建成功,请在企业微信收款时使用订单号:${i}`:"订单创建成功")}else{const m={patient_id:y.patient_id,order_type:y.order_type,amount:y.amount,remark:y.remark};y.createType==="fubei"?(m.payment_channel="fubei",m.require_payment_slip_audit=y.requirePaymentSlipAudit?1:0):(m.payment_channel="normal",m.require_payment_slip_audit=0),await Ol(m);const r=y.createType==="fubei"&&y.requirePaymentSlipAudit?"订单已创建,支付状态为「待审核」":"订单创建成功";g.msgSuccess(r),z.value=!1,D()}}catch(m){console.error("创建订单失败:",m)}finally{$e.value=!1}},He=n=>({1:"挂号费",2:"问诊费",3:"药品费用",4:"首付费用",5:"尾款费用",6:"其他费用",7:"全部费用",8:"驼奶费用"})[n]||"未知",Ze=n=>({1:"success",2:"info",3:"warning"})[n]||"info",et=n=>({1:"待支付",2:"已支付",3:"已取消",4:"已退款",5:"待审核"})[n]||"未知",tt=n=>({1:"warning",2:"success",3:"info",4:"danger",5:"warning"})[n]||"info",lt=n=>n?{alipay:"支付宝",wechat:"微信",wechat_work:"企业微信",fubei:"付呗",manual:"手动确认"}[n]||"未知":"-",Ut=n=>{L.value={id:n.id,patient_id:n.patient_id||null,order_type:n.order_type},ee.value=n.patient?[n.patient]:[],j.value=!0},$t=async n=>{if(!n){ee.value=[];return}try{Oe.value=!0;const e=await dt({keyword:n,page_no:1,page_size:10});ee.value=(e==null?void 0:e.lists)||[]}catch{ee.value=[]}finally{Oe.value=!1}},Pt=async()=>{var n;if(L.value)try{await((n=Je.value)==null?void 0:n.validate()),Le.value=!0,await Al({id:L.value.id,patient_id:L.value.patient_id??0,order_type:L.value.order_type}),g.msgSuccess("保存成功"),j.value=!1,D(),W()}catch(e){e!=null&&e.message&&g.msgError(e.message)}finally{Le.value=!1}},G=u(!1),P=u(null),K=u(2),J=u([]),te=u([]),Me=u(!1),at=()=>{if(!P.value)return;const n=Number(P.value.amount),e=Math.max(2,Math.min(20,Math.floor(Number(K.value)||2)));K.value=e;const m=Math.round(n*100),r=Math.floor(m/e),i=m%e,U=[];for(let X=0;Xh{P.value=n,K.value=2,at(),G.value=!0},ot=Be(()=>J.value.reduce((n,e)=>n+Number(e||0),0)),_e=Be(()=>{if(!P.value)return!1;const n=Number(P.value.amount);return Math.abs(ot.value-n)<1e-4}),Lt=async()=>{if(!(!P.value||!_e.value)){Me.value=!0;try{await Ml({id:P.value.id,amounts:J.value.map(n=>Number(n)),order_types:te.value.map(n=>Number(n))}),g.msgSuccess("拆分成功"),G.value=!1,D(),W()}catch(n){n!=null&&n.msg&&g.msgError(n.msg)}finally{Me.value=!1}}},Ot=async n=>{try{const e=await Rl({id:n.id});k.value=e,we.value=n.id,B.value=1,ie.value=!0,Ee()}catch(e){console.error("获取详情失败:",e)}},At=n=>{const e=n.status===5&&n.payment_method==="fubei";f.value={order_id:n.id,order_no:n.order_no,amount:n.amount,fubeiPendingAudit:e,payment_method:e?"manual":"alipay",payType:"supplement",supplement_order_no:""},q.value=!0},Mt=async()=>{try{if(f.value.fubeiPendingAudit){me.value=!0,await ut({id:f.value.order_id,payment_method:f.value.payment_method}),g.msgSuccess("已更新为已支付"),q.value=!1,D(),W();return}if(f.value.payType==="supplement"&&!f.value.supplement_order_no){g.msgWarning("请输入支付订单号");return}me.value=!0;let n={};if(f.value.payType==="normal"?n={id:f.value.order_id,order_no:f.value.order_no,amount:f.value.amount,payment_method:f.value.payment_method}:n={order_no:f.value.supplement_order_no,payment_method:f.value.payment_method,is_supplement:1},f.value.payment_method==="wechat_work")await ut(n),g.msgSuccess("补单成功");else{let e;f.value.payment_method==="alipay"?e=await ql(n):f.value.payment_method==="wechat"&&(e=await zl(n)),e&&e.pay_url&&(f.value.payment_method==="alipay"?window.location.href=e.pay_url:f.value.payment_method==="wechat"&&g.msgSuccess("请扫描二维码进行支付"))}q.value=!1,setTimeout(()=>{D()},2e3)}catch(n){console.error("支付失败:",n),g.msgError("支付失败,请重试")}finally{me.value=!1}},Rt=async n=>{try{await g.confirm("确定要取消该订单吗?"),await Fl({id:n.id}),g.msgSuccess("取消成功"),D()}catch{}},qt=async n=>{try{await g.confirm("确定要退款该订单吗?"),await Nl({id:n.id}),g.msgSuccess("退款成功"),D()}catch{}},zt=async n=>{try{await g.confirm("确定要删除该订单吗?此操作不可恢复"),await Il({id:n.id}),g.msgSuccess("删除成功"),D()}catch{}},Ft=async n=>{const e=n.is_exempt===1?0:1,m=e===1?"设为豁免":"取消豁免";try{await g.confirm(`确定要${m}该支付单吗?豁免后关联此单的业务订单将跳过定金门槛校验。`),await Wl({id:n.id,is_exempt:e}),g.msgSuccess(`${m}成功`),D()}catch{}},le=u(!1),ve=u(!1),ge=u(""),ce=u(""),nt=async n=>{if(!n.order_no){g.msgWarning("订单号不存在");return}ce.value=n.order_no,le.value=!0,ve.value=!0,ge.value="";try{const e=await Bl({order_no:n.order_no});e!=null&&e.qrcode_url?ge.value=e.qrcode_url:g.msgError("二维码生成失败")}catch(e){g.msgError((e==null?void 0:e.msg)||"生成二维码失败")}finally{ve.value=!1}},Nt=()=>{ce.value&&nt({order_no:ce.value})},It=async()=>{try{const n=await jl();ne.value=Array.isArray(n)?n:[]}catch{ne.value=[]}};return Gl(()=>{It(),D(),W()}),(n,e)=>{const m=Ht,r=Xt,i=el,U=Zt,be=wl,_=tl,X=xl,h=Jt,Re=ll,qe=ol,Wt=al,C=sl,ae=rl,ze=nl,Bt=Vl,$=ul,jt=dl,Yt=pl,Qt=ml,O=fl,st=yl,ke=_l,M=gl,Fe=vl,Gt=cl,Ne=bl,Kt=kl,E=Kl("perms"),Ie=il;return d(),x("div",Jl,[t(Re,{class:"!border-none",shadow:"never"},{default:a(()=>[t(h,{class:"ls-form",model:o(w),inline:""},{default:a(()=>[t(r,{class:"w-[280px]",label:"订单号"},{default:a(()=>[t(m,{modelValue:o(w).order_no,"onUpdate:modelValue":e[0]||(e[0]=l=>o(w).order_no=l),placeholder:"请输入订单号",clearable:"",onKeyup:rt(xe,["enter"])},null,8,["modelValue"])]),_:1}),t(r,{class:"w-[280px]",label:"患者信息"},{default:a(()=>[t(m,{modelValue:o(w).patient_keyword,"onUpdate:modelValue":e[1]||(e[1]=l=>o(w).patient_keyword=l),placeholder:"患者姓名/手机号",clearable:"",onKeyup:rt(xe,["enter"])},null,8,["modelValue"])]),_:1}),t(r,{class:"w-[280px]",label:"医助"},{default:a(()=>[t(U,{modelValue:o(w).assistant_id,"onUpdate:modelValue":e[2]||(e[2]=l=>o(w).assistant_id=l),placeholder:"全部医助",clearable:"",filterable:"",class:"w-full"},{default:a(()=>[(d(!0),x(R,null,oe(o(ne),l=>(d(),v(i,{key:l.id,label:l.name,value:Number(l.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(r,{class:"w-[280px]",label:"订单类型"},{default:a(()=>[t(U,{modelValue:o(w).order_type,"onUpdate:modelValue":e[3]||(e[3]=l=>o(w).order_type=l),class:"w-full",placeholder:"全部"},{default:a(()=>[t(i,{label:"全部",value:""}),t(i,{label:"挂号费",value:1}),t(i,{label:"问诊费",value:2}),t(i,{label:"药品费用",value:3}),t(i,{label:"首付费用",value:4}),t(i,{label:"尾款费用",value:5}),t(i,{label:"其他费用",value:6}),t(i,{label:"全部费用",value:7}),t(i,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1}),t(r,{class:"w-[280px]",label:"订单状态"},{default:a(()=>[t(U,{modelValue:o(w).status,"onUpdate:modelValue":e[4]||(e[4]=l=>o(w).status=l),class:"w-full",placeholder:"全部"},{default:a(()=>[t(i,{label:"全部",value:""}),t(i,{label:"待支付",value:1}),t(i,{label:"已支付",value:2}),t(i,{label:"已取消",value:3}),t(i,{label:"已退款",value:4}),t(i,{label:"待审核",value:5})]),_:1},8,["modelValue"])]),_:1}),t(r,{label:"创建时间"},{default:a(()=>[t(be,{startTime:o(w).create_time_start,"onUpdate:startTime":e[5]||(e[5]=l=>o(w).create_time_start=l),endTime:o(w).create_time_end,"onUpdate:endTime":e[6]||(e[6]=l=>o(w).create_time_end=l)},null,8,["startTime","endTime"])]),_:1}),t(r,null,{default:a(()=>[t(_,{type:"primary",onClick:xe},{default:a(()=>[...e[47]||(e[47]=[s("查询",-1)])]),_:1}),t(_,{onClick:gt},{default:a(()=>[...e[48]||(e[48]=[s("重置",-1)])]),_:1}),S((d(),v(_,{onClick:e[7]||(e[7]=l=>ue.value=!0)},{default:a(()=>[...e[49]||(e[49]=[s(" 操作统计 ",-1)])]),_:1})),[[E,["order.order/lists"]]]),S(t(X,{class:"ml-2.5","fetch-fun":o(Tl),params:o(w),"page-size":o(I).size},null,8,["fetch-fun","params","page-size"]),[[E,["order.order/export"]]]),S((d(),v(_,{type:"success",class:"ml-2.5",onClick:wt},{default:a(()=>[...e[50]||(e[50]=[s(" + 创建支付单 ",-1)])]),_:1})),[[E,["order.order/create"]]]),S((d(),v(_,{type:"warning",class:"ml-2.5",loading:o(fe),onClick:St},{default:a(()=>[...e[51]||(e[51]=[s(" 同步企业微信收款 ",-1)])]),_:1},8,["loading"])),[[E,["order.order/alltongbu"]]])]),_:1})]),_:1},8,["model"])]),_:1}),t(Re,{class:"!border-none mt-4",shadow:"never"},{default:a(()=>[c("div",Xl,[t(Wt,{modelValue:o(se),"onUpdate:modelValue":e[8]||(e[8]=l=>T(se)?se.value=l:null),onTabChange:vt},{default:a(()=>[t(qe,{label:"全部",name:""}),t(qe,{label:"待关联",name:"pending"}),t(qe,{label:"已关联",name:"associated"})]),_:1},8,["modelValue"]),c("div",Hl,[e[52]||(e[52]=c("span",{class:"text-gray-500"},"今日收益:",-1)),c("span",Zl,"¥"+p(o(re).amount),1),c("span",ea,"("+p(o(re).count)+" 笔)",1)])])]),_:1}),t(Re,{class:"!border-none mt-4",shadow:"never"},{default:a(()=>[S((d(),x("div",ta,[t(_,{type:"primary",disabled:!F.value.length,onClick:yt},{default:a(()=>[...e[53]||(e[53]=[s(" 将创建人指给医助 ",-1)])]),_:1},8,["disabled"]),F.value.length?(d(),x("span",la,"已选 "+p(F.value.length)+" 条",1)):b("",!0)])),[[E,["order.order/zhipai"]]]),S((d(),v(ze,{ref_key:"orderTableRef",ref:Ye,data:o(I).lists,"row-key":"id",size:"large",onSelectionChange:ft},{default:a(()=>[t(C,{type:"selection",width:"48"}),t(C,{label:"订单号",prop:"order_no","min-width":"150"}),t(C,{label:"患者信息","min-width":"150"},{default:a(({row:l})=>{var V;return[l.patient?(d(),x("div",aa,p(l.patient.patient_name),1)):(d(),x("div",oa,"待关联")),c("div",na,p(((V=l.patient)==null?void 0:V.phone)||"-"),1)]}),_:1}),t(C,{label:"创建人","min-width":"120"},{default:a(({row:l})=>{var V;return[c("div",null,p(((V=l.creator)==null?void 0:V.name)||"-"),1),l.payee_userid?(d(),x("div",sa,"收款: "+p(l.payee_userid),1)):b("",!0)]}),_:1}),t(C,{label:"订单类型",width:"100"},{default:a(({row:l})=>[t(ae,{type:Ze(l.order_type)},{default:a(()=>[s(p(He(l.order_type)),1)]),_:2},1032,["type"])]),_:1}),t(C,{label:"金额",width:"100"},{default:a(({row:l})=>[c("span",ra,"¥"+p(l.amount),1)]),_:1}),t(C,{label:"支付方式",width:"100"},{default:a(({row:l})=>[s(p(lt(l.payment_method)),1)]),_:1}),t(C,{label:"订单状态",width:"120"},{default:a(({row:l})=>[t(ae,{type:tt(l.status)},{default:a(()=>[s(p(et(l.status)),1)]),_:2},1032,["type"]),l.is_exempt===1?(d(),v(ae,{key:0,type:"warning",size:"small",class:"ml-1"},{default:a(()=>[...e[54]||(e[54]=[s("豁免",-1)])]),_:1})):b("",!0)]),_:1}),t(C,{label:"支付时间","min-width":"160"},{default:a(({row:l})=>[s(p(l.payment_time||"-"),1)]),_:1}),t(C,{label:"创建时间","min-width":"160"},{default:a(({row:l})=>[s(p(l.create_time),1)]),_:1}),t(C,{label:"操作",width:"340",fixed:"right"},{default:a(({row:l})=>[S((d(),v(_,{type:"primary",link:"",onClick:V=>Ot(l)},{default:a(()=>[...e[55]||(e[55]=[s(" 详情 ",-1)])]),_:1},8,["onClick"])),[[E,["order.order/detail"]]]),S((d(),v(_,{type:"primary",link:"",onClick:V=>Ut(l)},{default:a(()=>[...e[56]||(e[56]=[s(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[E,["order.order/edit"]]]),l.status===1||l.status===2||l.status===5&&l.payment_method==="fubei"?S((d(),v(_,{key:0,type:"primary",link:"",onClick:V=>ht(l)},{default:a(()=>[...e[57]||(e[57]=[s(" 拆分 ",-1)])]),_:1},8,["onClick"])),[[E,["order.order/split"]]]):b("",!0),S((d(),v(_,{type:"primary",link:"",onClick:V=>nt(l)},{default:a(()=>[...e[58]||(e[58]=[s(" 小程序码 ",-1)])]),_:1},8,["onClick"])),[[E,["order.order/wxQrcode"]]]),l.status===1||l.status===5&&l.payment_method==="fubei"?S((d(),v(_,{key:1,type:"success",link:"",onClick:V=>At(l)},{default:a(()=>[...e[59]||(e[59]=[s(" 支付 ",-1)])]),_:1},8,["onClick"])),[[E,["order.order/pay"]]]):b("",!0),l.status===2?S((d(),v(_,{key:2,type:"warning",link:"",onClick:V=>qt(l)},{default:a(()=>[...e[60]||(e[60]=[s(" 退款 ",-1)])]),_:1},8,["onClick"])),[[E,["order.order/refund"]]]):b("",!0),l.status===1||l.status===5&&l.payment_method==="fubei"?S((d(),v(_,{key:3,type:"danger",link:"",onClick:V=>Rt(l)},{default:a(()=>[...e[61]||(e[61]=[s(" 取消 ",-1)])]),_:1},8,["onClick"])),[[E,["order.order/cancel"]]]):b("",!0),S((d(),v(_,{type:"danger",link:"",onClick:V=>zt(l)},{default:a(()=>[...e[62]||(e[62]=[s(" 删除 ",-1)])]),_:1},8,["onClick"])),[[E,["order.order/delete"]]]),S((d(),v(_,{type:l.is_exempt===1?"warning":"default",link:"",onClick:V=>Ft(l)},{default:a(()=>[s(p(l.is_exempt===1?"取消豁免":"设为豁免"),1)]),_:2},1032,["type","onClick"])),[[E,["order.order/setExempt"]]])]),_:1})]),_:1},8,["data"])),[[Ie,o(I).loading]]),c("div",ia,[t(Bt,{modelValue:o(I),"onUpdate:modelValue":e[9]||(e[9]=l=>T(I)?I.value=l:null),onChange:o(D)},null,8,["modelValue","onChange"])])]),_:1}),t(O,{modelValue:o(ie),"onUpdate:modelValue":e[12]||(e[12]=l=>T(ie)?ie.value=l:null),title:"订单详情",width:"820px"},{default:a(()=>[o(k)?(d(),v(jt,{key:0,column:2,border:""},{default:a(()=>[t($,{label:"订单号"},{default:a(()=>[s(p(o(k).order_no),1)]),_:1}),t($,{label:"订单状态"},{default:a(()=>[t(ae,{type:tt(o(k).status)},{default:a(()=>[s(p(et(o(k).status)),1)]),_:1},8,["type"])]),_:1}),t($,{label:"患者姓名"},{default:a(()=>{var l;return[s(p(((l=o(k).patient)==null?void 0:l.patient_name)||"待关联"),1)]}),_:1}),t($,{label:"患者电话"},{default:a(()=>{var l;return[s(p(((l=o(k).patient)==null?void 0:l.phone)||"-"),1)]}),_:1}),t($,{label:"创建人"},{default:a(()=>{var l;return[s(p(((l=o(k).creator)==null?void 0:l.name)||"-"),1)]}),_:1}),o(k).payee_userid?(d(),v($,{key:0,label:"收款人userid"},{default:a(()=>[s(p(o(k).payee_userid),1)]),_:1})):b("",!0),o(k).payer_external_userid?(d(),v($,{key:1,label:"付款人external_userid"},{default:a(()=>[s(p(o(k).payer_external_userid),1)]),_:1})):b("",!0),t($,{label:"订单类型"},{default:a(()=>[t(ae,{type:Ze(o(k).order_type)},{default:a(()=>[s(p(He(o(k).order_type)),1)]),_:1},8,["type"])]),_:1}),t($,{label:"订单金额"},{default:a(()=>[c("span",da,"¥"+p(o(k).amount),1)]),_:1}),t($,{label:"支付方式"},{default:a(()=>[s(p(lt(o(k).payment_method)),1)]),_:1}),t($,{label:"支付时间"},{default:a(()=>[s(p(o(k).payment_time||"-"),1)]),_:1}),t($,{label:"创建时间"},{default:a(()=>[s(p(o(k).create_time),1)]),_:1}),t($,{label:"备注",span:2},{default:a(()=>[s(p(o(k).remark||"无"),1)]),_:1})]),_:1})):b("",!0),o(k)?(d(),v(Yt,{key:1,"content-position":"left"},{default:a(()=>[...e[63]||(e[63]=[s("操作记录",-1)])]),_:1})):b("",!0),o(k)?(d(),x("p",ua,"谁在什么时间对本单做了哪些操作(数据来自服务器记录)。")):b("",!0),o(k)?S((d(),v(ze,{key:3,data:o(Se),size:"small","max-height":"320"},{default:a(()=>[t(C,{label:"操作",prop:"action_label","min-width":"120","show-overflow-tooltip":""}),t(C,{label:"操作人",prop:"admin_name","min-width":"100"}),t(C,{label:"操作时间",prop:"create_time_text","min-width":"160"}),t(C,{label:"说明",prop:"summary","min-width":"140","show-overflow-tooltip":""})]),_:1},8,["data"])),[[Ie,o(Ce)]]):b("",!0),o(k)?(d(),x("div",pa,[t(Qt,{"current-page":o(B),"onUpdate:currentPage":e[10]||(e[10]=l=>T(B)?B.value=l:null),"page-size":o(de),"onUpdate:pageSize":e[11]||(e[11]=l=>T(de)?de.value=l:null),total:o(Te),"page-sizes":[10,20,50],layout:"total, sizes, prev, pager, next",small:"",onSizeChange:ct,onCurrentChange:Ee},null,8,["current-page","page-size","total"])])):b("",!0)]),_:1},8,["modelValue"]),t(O,{modelValue:o(ue),"onUpdate:modelValue":e[15]||(e[15]=l=>T(ue)?ue.value=l:null),title:"支付单操作统计",width:"520px",onOpened:bt},{default:a(()=>[o(Z)?(d(),x("p",ma,"统计范围:"+p(o(Z)),1)):b("",!0),t(h,{class:"mb-3",inline:!0,onSubmit:e[14]||(e[14]=it(()=>{},["prevent"]))},{default:a(()=>[t(r,{label:"时间范围"},{default:a(()=>[t(st,{modelValue:o(A),"onUpdate:modelValue":e[13]||(e[13]=l=>T(A)?A.value=l:null),type:"daterange","value-format":"YYYY-MM-DD","range-separator":"至","start-placeholder":"开始","end-placeholder":"结束",class:"!w-[260px]"},null,8,["modelValue"])]),_:1}),t(r,null,{default:a(()=>[t(_,{type:"primary",loading:o(pe),onClick:Ke},{default:a(()=>[...e[64]||(e[64]=[s("查询",-1)])]),_:1},8,["loading"])]),_:1})]),_:1}),S((d(),v(ze,{data:o(De),size:"small","max-height":"400"},{default:a(()=>[t(C,{label:"操作人",prop:"admin_name","min-width":"120","show-overflow-tooltip":""}),t(C,{label:"操作次数",prop:"cnt",width:"100",align:"right"})]),_:1},8,["data"])),[[Ie,o(pe)]])]),_:1},8,["modelValue"]),t(O,{modelValue:o(N),"onUpdate:modelValue":e[18]||(e[18]=l=>T(N)?N.value=l:null),title:"变更创建人(医助)",width:"440px","destroy-on-close":""},{footer:a(()=>[t(_,{onClick:e[17]||(e[17]=l=>N.value=!1)},{default:a(()=>[...e[65]||(e[65]=[s("取消",-1)])]),_:1}),t(_,{type:"primary",loading:o(Ve),onClick:_t},{default:a(()=>[...e[66]||(e[66]=[s("确定",-1)])]),_:1},8,["loading"])]),default:a(()=>[c("p",fa," 将 "+p(F.value.length)+" 条支付单的「创建人」改为所选医助,并写入各单操作日志。 ",1),t(U,{modelValue:o(H).assistant_id,"onUpdate:modelValue":e[16]||(e[16]=l=>o(H).assistant_id=l),filterable:"",placeholder:"选择医助",class:"w-full"},{default:a(()=>[(d(!0),x(R,null,oe(o(ne),l=>(d(),v(i,{key:l.id,label:l.dept_names?`${l.name}(${l.dept_names})`:l.name,value:Number(l.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1},8,["modelValue"]),t(O,{modelValue:o(q),"onUpdate:modelValue":e[23]||(e[23]=l=>T(q)?q.value=l:null),title:"订单支付",width:"500px"},{footer:a(()=>[t(_,{onClick:e[22]||(e[22]=l=>q.value=!1)},{default:a(()=>[...e[72]||(e[72]=[s("取消",-1)])]),_:1}),t(_,{type:"primary",onClick:Mt,loading:o(me)},{default:a(()=>[...e[73]||(e[73]=[s("确认支付",-1)])]),_:1},8,["loading"])]),default:a(()=>[t(h,{model:o(f),"label-width":"100px"},{default:a(()=>[o(f).fubeiPendingAudit?(d(),v(ke,{key:0,type:"warning",closable:!1,class:"mb-3",title:"该单为付呗·待审核,请选择实际到账方式后确认「已支付」"})):b("",!0),o(f).fubeiPendingAudit?b("",!0):(d(),v(r,{key:1,label:"支付类型",required:""},{default:a(()=>[t(Fe,{modelValue:o(f).payType,"onUpdate:modelValue":e[19]||(e[19]=l=>o(f).payType=l)},{default:a(()=>[t(M,{label:"supplement"},{default:a(()=>[...e[67]||(e[67]=[s("补单支付",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})),o(f).payType==="normal"?(d(),x(R,{key:2},[t(r,{label:"订单号"},{default:a(()=>[c("span",null,p(o(f).order_no),1)]),_:1}),t(r,{label:"订单金额"},{default:a(()=>[c("span",ya,"¥"+p(o(f).amount),1)]),_:1})],64)):b("",!0),!o(f).fubeiPendingAudit&&o(f).payType==="supplement"?(d(),v(r,{key:3,label:"支付订单号",required:""},{default:a(()=>[t(m,{modelValue:o(f).supplement_order_no,"onUpdate:modelValue":e[20]||(e[20]=l=>o(f).supplement_order_no=l),placeholder:"请输入支付订单号"},null,8,["modelValue"])]),_:1})):b("",!0),o(f).fubeiPendingAudit?(d(),x(R,{key:4},[t(r,{label:"订单号"},{default:a(()=>[c("span",null,p(o(f).order_no),1)]),_:1}),t(r,{label:"金额"},{default:a(()=>[c("span",_a,"¥"+p(o(f).amount),1)]),_:1})],64)):b("",!0),t(r,{label:"支付方式",required:""},{default:a(()=>[t(Fe,{modelValue:o(f).payment_method,"onUpdate:modelValue":e[21]||(e[21]=l=>o(f).payment_method=l)},{default:a(()=>[o(f).fubeiPendingAudit?(d(),v(M,{key:0,label:"manual"},{default:a(()=>[...e[68]||(e[68]=[s("手动确认到账",-1)])]),_:1})):b("",!0),t(M,{label:"alipay"},{default:a(()=>[...e[69]||(e[69]=[s("支付宝",-1)])]),_:1}),t(M,{label:"wechat"},{default:a(()=>[...e[70]||(e[70]=[s("微信",-1)])]),_:1}),t(M,{label:"wechat_work"},{default:a(()=>[...e[71]||(e[71]=[s("企业微信",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),t(O,{modelValue:o(z),"onUpdate:modelValue":e[31]||(e[31]=l=>T(z)?z.value=l:null),title:"创建订单",width:"600px",onClose:Xe},{footer:a(()=>[t(_,{onClick:e[30]||(e[30]=l=>z.value=!1)},{default:a(()=>[...e[82]||(e[82]=[s("取消",-1)])]),_:1}),t(_,{type:"primary",onClick:Et,loading:o($e)},{default:a(()=>[s(p(o(y).createType==="wechat_work"?"创建并获取收款订单号":"创建订单"),1)]),_:1},8,["loading"])]),default:a(()=>[t(h,{ref_key:"createFormRef",ref:Ue,model:o(y),rules:kt,"label-width":"100px"},{default:a(()=>[t(r,{label:"创建方式"},{default:a(()=>[t(Fe,{modelValue:o(y).createType,"onUpdate:modelValue":e[24]||(e[24]=l=>o(y).createType=l)},{default:a(()=>[t(M,{label:"normal"},{default:a(()=>[...e[74]||(e[74]=[s("普通订单",-1)])]),_:1}),t(M,{label:"wechat_work"},{default:a(()=>[...e[75]||(e[75]=[s("企业微信对外收款",-1)])]),_:1}),t(M,{label:"fubei"},{default:a(()=>[...e[76]||(e[76]=[s("付呗",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),o(y).createType==="wechat_work"?(d(),v(ke,{key:0,type:"info",closable:!1,"show-icon":"",class:"mb-4"},{title:a(()=>[...e[77]||(e[77]=[s("企业微信对外收款",-1)])]),default:a(()=>[e[78]||(e[78]=s(" 创建后将生成订单号,请在企业微信发起收款时将该订单号填写为「商户订单号」,收款成功后系统将自动更新订单状态。 ",-1))]),_:1})):b("",!0),o(y).createType==="fubei"?(d(),v(ke,{key:1,type:"info",closable:!1,"show-icon":"",class:"mb-4"},{title:a(()=>[...e[79]||(e[79]=[s("付呗",-1)])]),default:a(()=>[e[80]||(e[80]=s(" 通过付呗收款的支付单,创建后请按实际对账/审核流程在列表中处理。 ",-1))]),_:1})):b("",!0),o(y).createType==="fubei"?(d(),v(r,{key:2,label:"支付单审核"},{default:a(()=>[t(Gt,{modelValue:o(y).requirePaymentSlipAudit,"onUpdate:modelValue":e[25]||(e[25]=l=>o(y).requirePaymentSlipAudit=l),"active-text":"申请审核","inactive-text":"不申请"},null,8,["modelValue"]),e[81]||(e[81]=c("div",{class:"text-xs text-gray-500 mt-1"}," 开启后,新订单的支付状态为「待审核」;未开启则为「待支付」。 ",-1))]),_:1})):b("",!0),t(r,{label:"患者",prop:"patient_id"},{default:a(()=>[t(U,{modelValue:o(y).patient_id,"onUpdate:modelValue":e[26]||(e[26]=l=>o(y).patient_id=l),placeholder:"请选择患者",filterable:"",remote:"","remote-method":xt,loading:o(Pe)},{default:a(()=>[(d(!0),x(R,null,oe(o(he),l=>(d(),v(i,{key:l.id,label:`${l.patient_name} (${l.phone})`,value:l.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","loading"])]),_:1}),t(r,{label:"订单类型",prop:"order_type"},{default:a(()=>[t(U,{modelValue:o(y).order_type,"onUpdate:modelValue":e[27]||(e[27]=l=>o(y).order_type=l),placeholder:"请选择"},{default:a(()=>[t(i,{label:"挂号费",value:1}),t(i,{label:"问诊费",value:2}),t(i,{label:"药品费用",value:3}),t(i,{label:"首付费用",value:4}),t(i,{label:"尾款费用",value:5}),t(i,{label:"其他费用",value:6}),t(i,{label:"全部费用",value:7}),t(i,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1}),t(r,{label:"订单金额",prop:"amount"},{default:a(()=>[t(Ne,{modelValue:o(y).amount,"onUpdate:modelValue":e[28]||(e[28]=l=>o(y).amount=l),min:0,step:.01,precision:2,placeholder:"请输入金额"},null,8,["modelValue"])]),_:1}),t(r,{label:"备注",prop:"remark"},{default:a(()=>[t(m,{modelValue:o(y).remark,"onUpdate:modelValue":e[29]||(e[29]=l=>o(y).remark=l),type:"textarea",rows:3,placeholder:"请输入备注(可选)"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),t(O,{modelValue:o(Y),"onUpdate:modelValue":e[35]||(e[35]=l=>T(Y)?Y.value=l:null),title:"同步企业微信对外收款",width:"420px"},{footer:a(()=>[t(_,{onClick:e[34]||(e[34]=l=>Y.value=!1)},{default:a(()=>[...e[83]||(e[83]=[s("取消",-1)])]),_:1}),t(_,{type:"info",loading:o(Ae),onClick:Tt},{default:a(()=>[...e[84]||(e[84]=[s(" 排查同步为0 ",-1)])]),_:1},8,["loading"]),t(_,{type:"primary",loading:o(fe),onClick:Dt},{default:a(()=>[...e[85]||(e[85]=[s(" 开始同步 ",-1)])]),_:1},8,["loading"])]),default:a(()=>[e[86]||(e[86]=c("p",{class:"text-gray-600 mb-4"},"拉取员工在企业微信内直接发起的对外收款记录,自动创建订单(未经过后台创建的收款)",-1)),t(h,{"label-width":"90px"},{default:a(()=>[t(r,{label:"时间范围"},{default:a(()=>[t(st,{modelValue:o(Q),"onUpdate:modelValue":e[32]||(e[32]=l=>T(Q)?Q.value=l:null),type:"daterange","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期","value-format":"YYYY-MM-DD",shortcuts:Ct},null,8,["modelValue"])]),_:1}),t(r,{label:"收款人userid"},{default:a(()=>[t(m,{modelValue:o(ye),"onUpdate:modelValue":e[33]||(e[33]=l=>T(ye)?ye.value=l:null),placeholder:"可选,如 GaoXingLiang,排查时若返回 try_payee_userids 可逐个尝试",clearable:""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),t(O,{modelValue:o(j),"onUpdate:modelValue":e[39]||(e[39]=l=>T(j)?j.value=l:null),title:"编辑订单",width:"480px"},{footer:a(()=>[t(_,{onClick:e[38]||(e[38]=l=>j.value=!1)},{default:a(()=>[...e[87]||(e[87]=[s("取消",-1)])]),_:1}),t(_,{type:"primary",loading:o(Le),onClick:Pt},{default:a(()=>[...e[88]||(e[88]=[s("保存",-1)])]),_:1},8,["loading"])]),default:a(()=>[o(L)?(d(),v(h,{key:0,ref_key:"editOrderFormRef",ref:Je,model:o(L),rules:Vt,"label-width":"100px"},{default:a(()=>[t(r,{label:"关联患者",prop:"patient_id"},{default:a(()=>[t(U,{modelValue:o(L).patient_id,"onUpdate:modelValue":e[36]||(e[36]=l=>o(L).patient_id=l),filterable:"",remote:"",placeholder:"搜索患者姓名/手机号,可留空表示待关联","remote-method":$t,loading:o(Oe),clearable:"",class:"w-full"},{default:a(()=>[(d(!0),x(R,null,oe(o(ee),l=>(d(),v(i,{key:l.id,label:`${l.patient_name||"-"} (${l.phone||"-"})`,value:l.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","loading"])]),_:1}),t(r,{label:"订单类型",prop:"order_type"},{default:a(()=>[t(U,{modelValue:o(L).order_type,"onUpdate:modelValue":e[37]||(e[37]=l=>o(L).order_type=l),placeholder:"请选择",class:"w-full"},{default:a(()=>[t(i,{label:"挂号费",value:1}),t(i,{label:"问诊费",value:2}),t(i,{label:"药品费用",value:3}),t(i,{label:"首付费用",value:4}),t(i,{label:"尾款费用",value:5}),t(i,{label:"其他费用",value:6}),t(i,{label:"全部费用",value:7}),t(i,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["model"])):b("",!0)]),_:1},8,["modelValue"]),t(O,{modelValue:o(G),"onUpdate:modelValue":e[43]||(e[43]=l=>T(G)?G.value=l:null),title:"拆分订单",width:"620px","destroy-on-close":"",onClosed:e[44]||(e[44]=l=>P.value=null)},{footer:a(()=>[t(_,{onClick:e[42]||(e[42]=l=>G.value=!1)},{default:a(()=>[...e[97]||(e[97]=[s("取消",-1)])]),_:1}),t(_,{type:"primary",loading:o(Me),disabled:!_e.value,onClick:Lt},{default:a(()=>[...e[98]||(e[98]=[s(" 确定拆分 ",-1)])]),_:1},8,["loading","disabled"])]),default:a(()=>[o(P)?(d(),x(R,{key:0},[c("p",va,[e[89]||(e[89]=s(" 原订单号 ",-1)),c("span",ga,p(o(P).order_no),1),e[90]||(e[90]=s(",金额 ",-1)),c("span",ca,"¥"+p(o(P).amount),1),e[91]||(e[91]=s("。每笔子单可分别选择",-1)),e[92]||(e[92]=c("strong",null,"订单类型",-1)),e[93]||(e[93]=s(";子单继承患者、创建人及企微收款信息;",-1)),e[94]||(e[94]=c("strong",null,"已支付",-1)),e[95]||(e[95]=s("子单继承支付方式、支付时间与交易号;原单将软删除;若已关联业务订单,关联会同步到全部子单。 ",-1))]),t(h,{"label-width":"88px",onSubmit:e[41]||(e[41]=it(()=>{},["prevent"]))},{default:a(()=>[t(r,{label:"拆分管数"},{default:a(()=>[t(Ne,{modelValue:o(K),"onUpdate:modelValue":e[40]||(e[40]=l=>T(K)?K.value=l:null),min:2,max:20,step:1,"step-strictly":"",onChange:at},null,8,["modelValue"]),e[96]||(e[96]=c("span",{class:"text-xs text-gray-400 ml-2"},"2~20 笔",-1))]),_:1})]),_:1}),c("div",ba,[(d(!0),x(R,null,oe(o(J),(l,V)=>(d(),x("div",{key:V,class:"flex items-center gap-2 flex-wrap"},[c("span",ka,"第 "+p(V+1)+" 笔",1),t(U,{modelValue:o(te)[V],"onUpdate:modelValue":We=>o(te)[V]=We,placeholder:"订单类型",class:"w-[136px] shrink-0"},{default:a(()=>[t(i,{label:"挂号费",value:1}),t(i,{label:"问诊费",value:2}),t(i,{label:"药品费用",value:3}),t(i,{label:"首付费用",value:4}),t(i,{label:"尾款费用",value:5}),t(i,{label:"其他费用",value:6}),t(i,{label:"全部费用",value:7}),t(i,{label:"驼奶费用",value:8})]),_:1},8,["modelValue","onUpdate:modelValue"]),t(Ne,{modelValue:o(J)[V],"onUpdate:modelValue":We=>o(J)[V]=We,min:.01,step:.01,precision:2,class:"flex-1 min-w-[140px]","controls-position":"right"},null,8,["modelValue","onUpdate:modelValue"])]))),128))]),t(ke,{type:_e.value?"success":"warning",closable:!1,"show-icon":""},{title:a(()=>[s(" 子单合计 ¥"+p(ot.value.toFixed(2))+", "+p(_e.value?"与原价一致,可提交":"须与原价完全一致方可拆分"),1)]),_:1},8,["type"])],64)):b("",!0)]),_:1},8,["modelValue"]),t(O,{modelValue:o(le),"onUpdate:modelValue":e[46]||(e[46]=l=>T(le)?le.value=l:null),title:"支付小程序码",width:"400px","close-on-click-modal":!1},{footer:a(()=>[t(_,{onClick:e[45]||(e[45]=l=>le.value=!1)},{default:a(()=>[...e[101]||(e[101]=[s("关闭",-1)])]),_:1}),o(ve)?b("",!0):(d(),v(_,{key:0,type:"primary",onClick:Nt},{default:a(()=>[...e[102]||(e[102]=[s(" 重新生成 ",-1)])]),_:1}))]),default:a(()=>[c("div",Va,[o(ve)?(d(),x("div",xa,[t(Kt,{class:"is-loading",size:40},{default:a(()=>[t(o(Yl))]),_:1}),e[99]||(e[99]=c("div",{class:"mt-4 text-gray-500"},"生成中...",-1))])):o(ge)?(d(),x("div",wa,[c("img",{src:o(ge),alt:"小程序二维码",class:"w-64 h-64 border border-gray-200 rounded"},null,8,Ca),c("div",Sa,[c("div",null,"订单号:"+p(o(ce)),1),e[100]||(e[100]=c("div",{class:"mt-2"},"请使用微信扫描二维码完成支付",-1))])])):(d(),x("div",Ta," 生成失败,请重试 "))])]),_:1},8,["modelValue"])])}}}),Vo=Ql(Ea,[["__scopeId","data-v-f8b1e055"]]);export{Vo as default}; +import{D as Ht,B as Jt,C as Xt,P as Zt,Q as el,i as tl,J as ll,m as al,l as ol,M as nl,N as sl,T as rl,L as il,aa as dl,ab as ul,U as pl,X as ml,V as fl,a2 as yl,K as _l,G as vl,I as gl,g as cl,h as bl,d as kl}from"./element-plus-DFTWCWyi.js";import{_ as Vl}from"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import{_ as xl}from"./index.vue_vue_type_script_setup_true_lang-CCzvLP0c.js";import{_ as wl}from"./index.vue_vue_type_script_setup_true_lang-DPC_NOWM.js";import{w as rt,s as it}from"./@vue/runtime-dom-DDAG46FW.js";import{u as Cl}from"./usePaging-VsbTxSU0.js";import{o as Sl,a as Tl,b as Dl,c as El,d as Ul,e as $l,s as dt,f as Pl,g as hl,h as Ll,i as Ol,j as Al,k as Ml,l as Rl,m as ut,n as ql,w as zl,p as Fl,q as Nl,r as Il,t as Wl}from"./order-DLqQxjqO.js";import{H as Bl,a as jl}from"./tcm-BcqaE0lo.js";import{l as Yl}from"./@element-plus/icons-vue-HOEUG8sr.js";import{i as g,_ as Ql}from"./index-DBREMm_z.js";import{f as pt,b as Gl,as as Kl,ak as d,I as x,a as t,aN as a,F as R,ap as oe,G as v,O as s,aP as S,J as c,H as b,A as Be}from"./@vue/runtime-core-C6bnekPw.js";import{n as u,y as o,a as T,r as je}from"./@vue/reactivity-DiY1c2vO.js";import{Q as p}from"./@vue/shared-mAAVTE9n.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-BwF7vczx.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Hl={class:"order-list"},Jl={class:"flex items-center justify-between mb-4"},Xl={class:"flex items-center gap-4 text-sm"},Zl={class:"text-red-500 font-semibold text-lg"},ea={class:"text-gray-400"},ta={class:"mb-3 flex items-center gap-3"},la={key:0,class:"text-sm text-gray-500"},aa={key:0},oa={key:1,class:"text-amber-600"},na={class:"text-xs text-gray-400"},sa={key:0,class:"text-xs text-gray-400"},ra={class:"text-red-500 font-semibold"},ia={class:"flex justify-end mt-4"},da={class:"text-red-500 font-semibold"},ua={key:2,class:"text-xs text-gray-500 mb-2"},pa={key:4,class:"flex justify-end mt-3"},ma={key:0,class:"text-xs text-gray-500 mb-3"},fa={class:"text-sm text-gray-600 mb-3"},ya={class:"text-red-500 font-semibold"},_a={class:"text-red-500 font-semibold"},va={class:"text-sm text-gray-600 mb-3"},ga={class:"font-mono"},ca={class:"text-red-500 font-semibold"},ba={class:"space-y-2 mb-3 max-h-[320px] overflow-y-auto pr-1"},ka={class:"text-sm text-gray-500 w-14 shrink-0"},Va={class:"flex flex-col items-center justify-center py-4"},xa={key:0,class:"text-center"},wa={key:1,class:"text-center"},Ca=["src"],Sa={class:"mt-4 text-sm text-gray-600"},Ta={key:2,class:"text-center text-gray-500"},Da=pt({name:"orderList"}),Ea=pt({...Da,setup(Ua){const w=je({order_no:"",patient_keyword:"",assistant_id:void 0,order_type:"",status:"",patient_association:"",create_time_start:"",create_time_end:""}),ne=u([]),Ye=u(null),Qe=u([]),F=Be(()=>Qe.value.map(n=>n.id).filter(n=>n>0)),N=u(!1),Ve=u(!1),X=je({assistant_id:void 0}),se=u(""),re=u({amount:"0.00",count:0}),{pager:I,getLists:D,resetPage:Ge,resetParams:mt}=Cl({fetchFun:Sl,params:w}),ft=n=>{Qe.value=n||[]},yt=()=>{if(!F.value.length){g.msgWarning("请先勾选要指派的支付单");return}X.assistant_id=void 0,N.value=!0},_t=async()=>{var n;if(X.assistant_id==null){g.msgWarning("请选择医助");return}Ve.value=!0;try{await Dl({order_ids:[...F.value],assistant_id:X.assistant_id}),g.msgSuccess("指派成功"),N.value=!1,(n=Ye.value)==null||n.clearSelection(),D(),W()}catch(e){e!=null&&e.msg&&g.msgError(e.msg)}finally{Ve.value=!1}},xe=()=>{Ge()},vt=n=>{w.patient_association=n||"",Ge()},W=async()=>{try{const n=await El();re.value=(n==null?void 0:n.data)||n||{amount:"0.00",count:0}}catch{re.value={amount:"0.00",count:0}}},gt=()=>{se.value="",mt()},ie=u(!1),k=u(null),we=u(0),Ce=u(!1),Se=u([]),Te=u(0),B=u(1),de=u(10),ue=u(!1),pe=u(!1),De=u([]),A=u(null),Z=u(""),Ee=async()=>{if(we.value){Ce.value=!0;try{const n=await Ul({order_id:we.value,page_no:B.value,page_size:de.value});Se.value=(n==null?void 0:n.lists)||[],Te.value=(n==null?void 0:n.count)??0}catch{Se.value=[],Te.value=0}finally{Ce.value=!1}}},ct=()=>{B.value=1,Ee()},bt=()=>{A.value=null,Ke()},Ke=async()=>{pe.value=!0;try{const n={};A.value&&A.value.length===2&&(n.start_time=A.value[0],n.end_time=A.value[1]);const e=await $l(Object.keys(n).length?n:void 0);De.value=(e==null?void 0:e.list)||[],e!=null&&e.start_time&&(e!=null&&e.end_time)?Z.value=`${e.start_time} ~ ${e.end_time}`:Z.value=""}catch{De.value=[],Z.value=""}finally{pe.value=!1}},q=u(!1),me=u(!1),f=u({order_id:0,order_no:"",amount:0,fubeiPendingAudit:!1,payment_method:"alipay",payType:"supplement",supplement_order_no:""}),z=u(!1),Ue=u(),$e=u(!1),Pe=u(!1),he=u([]),y=je({createType:"normal",requirePaymentSlipAudit:!1,patient_id:"",order_type:"",amount:0,remark:""}),kt={patient_id:[{required:!0,message:"请选择患者",trigger:"change"}],order_type:[{required:!0,message:"请选择订单类型",trigger:"change"}],amount:[{required:!0,message:"请输入订单金额",trigger:"blur"}]},j=u(!1),He=u(),Le=u(!1),Oe=u(!1),ee=u([]),L=u(null),Vt={order_type:[{required:!0,message:"请选择订单类型",trigger:"change"}]},xt=async n=>{if(!n){he.value=[];return}try{Pe.value=!0;const e=await dt({keyword:n,page_no:1,page_size:10});he.value=(e==null?void 0:e.lists)||[]}catch(e){console.error("搜索患者失败:",e)}finally{Pe.value=!1}},Je=()=>{var n;y.createType="normal",y.requirePaymentSlipAudit=!1,y.patient_id="",y.order_type="",y.amount=0,y.remark="",(n=Ue.value)==null||n.clearValidate()},wt=()=>{Je(),z.value=!0},Y=u(!1),fe=u(!1),Ae=u(!1),ye=u(""),Q=u([new Date(Date.now()-7*864e5).toISOString().slice(0,10),new Date().toISOString().slice(0,10)]),Ct=[{text:"最近7天",value:()=>{const n=new Date,e=new Date;return e.setTime(e.getTime()-7*864e5),[e,n]}},{text:"最近30天",value:()=>{const n=new Date,e=new Date;return e.setTime(e.getTime()-30*864e5),[e,n]}},{text:"今天",value:()=>{const n=new Date;return[n,n]}}],St=()=>{Q.value=[new Date(Date.now()-7*864e5).toISOString().slice(0,10),new Date().toISOString().slice(0,10)],Y.value=!0},Tt=async()=>{var e;const n=Q.value;if(!n||n.length!==2){g.msgError("请先选择时间范围");return}try{Ae.value=!0;const m=await Pl({begin_time:n[0],end_time:n[1],payee_userid:ye.value||void 0}),r=(m==null?void 0:m.data)||m;let i=`配置:${r.config_ok?"✓":"✗"} | token:${r.access_token} | errcode:${r.api_errcode} | errmsg:${r.api_errmsg||"-"} | 账单数:${r.bill_count}`;(e=r.try_payee_userids)!=null&&e.length&&(i+=`。可尝试收款人: ${r.try_payee_userids.join(", ")}`),r.api_errcode!==0&&r.api_errcode!==-999&&(i+="。提示:需使用「对外收款」应用的Secret(管理后台-应用管理-对外收款-API)"),g.msgSuccess(i),console.log("企业微信同步调试:",r)}catch(m){g.msgError((m==null?void 0:m.message)||"排查失败")}finally{Ae.value=!1}},Dt=async()=>{var e;const n=Q.value;if(!n||n.length!==2){g.msgError("请选择时间范围");return}try{fe.value=!0;const m=await hl({begin_time:n[0],end_time:n[1]}),r=(m==null?void 0:m.data)||m;Y.value=!1,D();const i=`同步完成:新增 ${r.created||0} 笔,更新 ${r.updated||0} 笔,跳过 ${r.skipped||0} 笔`+((e=r.errors)!=null&&e.length?`;错误:${r.errors.join(";")}`:"");g.msgSuccess(i),W()}catch(m){g.msgError((m==null?void 0:m.message)||"同步失败")}finally{fe.value=!1}},Et=async()=>{var n,e;try{if(await((n=Ue.value)==null?void 0:n.validate()),$e.value=!0,y.createType==="wechat_work"){const m={patient_id:y.patient_id,order_type:y.order_type,amount:y.amount,remark:y.remark},r=await Ll(m),i=(r==null?void 0:r.order_no)??((e=r==null?void 0:r.data)==null?void 0:e.order_no);z.value=!1,D(),g.msgSuccess(i?`订单创建成功,请在企业微信收款时使用订单号:${i}`:"订单创建成功")}else{const m={patient_id:y.patient_id,order_type:y.order_type,amount:y.amount,remark:y.remark};y.createType==="fubei"?(m.payment_channel="fubei",m.require_payment_slip_audit=y.requirePaymentSlipAudit?1:0):(m.payment_channel="normal",m.require_payment_slip_audit=0),await Ol(m);const r=y.createType==="fubei"&&y.requirePaymentSlipAudit?"订单已创建,支付状态为「待审核」":"订单创建成功";g.msgSuccess(r),z.value=!1,D()}}catch(m){console.error("创建订单失败:",m)}finally{$e.value=!1}},Xe=n=>({1:"挂号费",2:"问诊费",3:"药品费用",4:"首付费用",5:"尾款费用",6:"其他费用",7:"全部费用",8:"驼奶费用"})[n]||"未知",Ze=n=>({1:"success",2:"info",3:"warning"})[n]||"info",et=n=>({1:"待支付",2:"已支付",3:"已取消",4:"已退款",5:"待审核"})[n]||"未知",tt=n=>({1:"warning",2:"success",3:"info",4:"danger",5:"warning"})[n]||"info",lt=n=>n?{alipay:"支付宝",wechat:"微信",wechat_work:"企业微信",fubei:"付呗",manual:"手动确认"}[n]||"未知":"-",Ut=n=>{L.value={id:n.id,patient_id:n.patient_id||null,order_type:n.order_type},ee.value=n.patient?[n.patient]:[],j.value=!0},$t=async n=>{if(!n){ee.value=[];return}try{Oe.value=!0;const e=await dt({keyword:n,page_no:1,page_size:10});ee.value=(e==null?void 0:e.lists)||[]}catch{ee.value=[]}finally{Oe.value=!1}},Pt=async()=>{var n;if(L.value)try{await((n=He.value)==null?void 0:n.validate()),Le.value=!0,await Al({id:L.value.id,patient_id:L.value.patient_id??0,order_type:L.value.order_type}),g.msgSuccess("保存成功"),j.value=!1,D(),W()}catch(e){e!=null&&e.message&&g.msgError(e.message)}finally{Le.value=!1}},G=u(!1),P=u(null),K=u(2),H=u([]),te=u([]),Me=u(!1),at=()=>{if(!P.value)return;const n=Number(P.value.amount),e=Math.max(2,Math.min(20,Math.floor(Number(K.value)||2)));K.value=e;const m=Math.round(n*100),r=Math.floor(m/e),i=m%e,U=[];for(let J=0;Jh{P.value=n,K.value=2,at(),G.value=!0},ot=Be(()=>H.value.reduce((n,e)=>n+Number(e||0),0)),_e=Be(()=>{if(!P.value)return!1;const n=Number(P.value.amount);return Math.abs(ot.value-n)<1e-4}),Lt=async()=>{if(!(!P.value||!_e.value)){Me.value=!0;try{await Ml({id:P.value.id,amounts:H.value.map(n=>Number(n)),order_types:te.value.map(n=>Number(n))}),g.msgSuccess("拆分成功"),G.value=!1,D(),W()}catch(n){n!=null&&n.msg&&g.msgError(n.msg)}finally{Me.value=!1}}},Ot=async n=>{try{const e=await Rl({id:n.id});k.value=e,we.value=n.id,B.value=1,ie.value=!0,Ee()}catch(e){console.error("获取详情失败:",e)}},At=n=>{const e=n.status===5&&n.payment_method==="fubei";f.value={order_id:n.id,order_no:n.order_no,amount:n.amount,fubeiPendingAudit:e,payment_method:e?"manual":"alipay",payType:"supplement",supplement_order_no:""},q.value=!0},Mt=async()=>{try{if(f.value.fubeiPendingAudit){me.value=!0,await ut({id:f.value.order_id,payment_method:f.value.payment_method}),g.msgSuccess("已更新为已支付"),q.value=!1,D(),W();return}if(f.value.payType==="supplement"&&!f.value.supplement_order_no){g.msgWarning("请输入支付订单号");return}me.value=!0;let n={};if(f.value.payType==="normal"?n={id:f.value.order_id,order_no:f.value.order_no,amount:f.value.amount,payment_method:f.value.payment_method}:n={order_no:f.value.supplement_order_no,payment_method:f.value.payment_method,is_supplement:1},f.value.payment_method==="wechat_work")await ut(n),g.msgSuccess("补单成功");else{let e;f.value.payment_method==="alipay"?e=await ql(n):f.value.payment_method==="wechat"&&(e=await zl(n)),e&&e.pay_url&&(f.value.payment_method==="alipay"?window.location.href=e.pay_url:f.value.payment_method==="wechat"&&g.msgSuccess("请扫描二维码进行支付"))}q.value=!1,setTimeout(()=>{D()},2e3)}catch(n){console.error("支付失败:",n),g.msgError("支付失败,请重试")}finally{me.value=!1}},Rt=async n=>{try{await g.confirm("确定要取消该订单吗?"),await Fl({id:n.id}),g.msgSuccess("取消成功"),D()}catch{}},qt=async n=>{try{await g.confirm("确定要退款该订单吗?"),await Nl({id:n.id}),g.msgSuccess("退款成功"),D()}catch{}},zt=async n=>{try{await g.confirm("确定要删除该订单吗?此操作不可恢复"),await Il({id:n.id}),g.msgSuccess("删除成功"),D()}catch{}},Ft=async n=>{const e=n.is_exempt===1?0:1,m=e===1?"设为豁免":"取消豁免";try{await g.confirm(`确定要${m}该支付单吗?豁免后关联此单的业务订单将跳过定金门槛校验。`),await Wl({id:n.id,is_exempt:e}),g.msgSuccess(`${m}成功`),D()}catch{}},le=u(!1),ve=u(!1),ge=u(""),ce=u(""),nt=async n=>{if(!n.order_no){g.msgWarning("订单号不存在");return}ce.value=n.order_no,le.value=!0,ve.value=!0,ge.value="";try{const e=await Bl({order_no:n.order_no});e!=null&&e.qrcode_url?ge.value=e.qrcode_url:g.msgError("二维码生成失败")}catch(e){g.msgError((e==null?void 0:e.msg)||"生成二维码失败")}finally{ve.value=!1}},Nt=()=>{ce.value&&nt({order_no:ce.value})},It=async()=>{try{const n=await jl();ne.value=Array.isArray(n)?n:[]}catch{ne.value=[]}};return Gl(()=>{It(),D(),W()}),(n,e)=>{const m=Xt,r=Jt,i=el,U=Zt,be=wl,_=tl,J=xl,h=Ht,Re=ll,qe=ol,Wt=al,C=sl,ae=rl,ze=nl,Bt=Vl,$=ul,jt=dl,Yt=pl,Qt=ml,O=fl,st=yl,ke=_l,M=gl,Fe=vl,Gt=cl,Ne=bl,Kt=kl,E=Kl("perms"),Ie=il;return d(),x("div",Hl,[t(Re,{class:"!border-none",shadow:"never"},{default:a(()=>[t(h,{class:"ls-form",model:o(w),inline:""},{default:a(()=>[t(r,{class:"w-[280px]",label:"订单号"},{default:a(()=>[t(m,{modelValue:o(w).order_no,"onUpdate:modelValue":e[0]||(e[0]=l=>o(w).order_no=l),placeholder:"请输入订单号",clearable:"",onKeyup:rt(xe,["enter"])},null,8,["modelValue"])]),_:1}),t(r,{class:"w-[280px]",label:"患者信息"},{default:a(()=>[t(m,{modelValue:o(w).patient_keyword,"onUpdate:modelValue":e[1]||(e[1]=l=>o(w).patient_keyword=l),placeholder:"患者姓名/手机号",clearable:"",onKeyup:rt(xe,["enter"])},null,8,["modelValue"])]),_:1}),t(r,{class:"w-[280px]",label:"医助"},{default:a(()=>[t(U,{modelValue:o(w).assistant_id,"onUpdate:modelValue":e[2]||(e[2]=l=>o(w).assistant_id=l),placeholder:"全部医助",clearable:"",filterable:"",class:"w-full"},{default:a(()=>[(d(!0),x(R,null,oe(o(ne),l=>(d(),v(i,{key:l.id,label:l.name,value:Number(l.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(r,{class:"w-[280px]",label:"订单类型"},{default:a(()=>[t(U,{modelValue:o(w).order_type,"onUpdate:modelValue":e[3]||(e[3]=l=>o(w).order_type=l),class:"w-full",placeholder:"全部"},{default:a(()=>[t(i,{label:"全部",value:""}),t(i,{label:"挂号费",value:1}),t(i,{label:"问诊费",value:2}),t(i,{label:"药品费用",value:3}),t(i,{label:"首付费用",value:4}),t(i,{label:"尾款费用",value:5}),t(i,{label:"其他费用",value:6}),t(i,{label:"全部费用",value:7}),t(i,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1}),t(r,{class:"w-[280px]",label:"订单状态"},{default:a(()=>[t(U,{modelValue:o(w).status,"onUpdate:modelValue":e[4]||(e[4]=l=>o(w).status=l),class:"w-full",placeholder:"全部"},{default:a(()=>[t(i,{label:"全部",value:""}),t(i,{label:"待支付",value:1}),t(i,{label:"已支付",value:2}),t(i,{label:"已取消",value:3}),t(i,{label:"已退款",value:4}),t(i,{label:"待审核",value:5})]),_:1},8,["modelValue"])]),_:1}),t(r,{label:"创建时间"},{default:a(()=>[t(be,{startTime:o(w).create_time_start,"onUpdate:startTime":e[5]||(e[5]=l=>o(w).create_time_start=l),endTime:o(w).create_time_end,"onUpdate:endTime":e[6]||(e[6]=l=>o(w).create_time_end=l)},null,8,["startTime","endTime"])]),_:1}),t(r,null,{default:a(()=>[t(_,{type:"primary",onClick:xe},{default:a(()=>[...e[47]||(e[47]=[s("查询",-1)])]),_:1}),t(_,{onClick:gt},{default:a(()=>[...e[48]||(e[48]=[s("重置",-1)])]),_:1}),S((d(),v(_,{onClick:e[7]||(e[7]=l=>ue.value=!0)},{default:a(()=>[...e[49]||(e[49]=[s(" 操作统计 ",-1)])]),_:1})),[[E,["order.order/lists"]]]),S(t(J,{class:"ml-2.5","fetch-fun":o(Tl),params:o(w),"page-size":o(I).size},null,8,["fetch-fun","params","page-size"]),[[E,["order.order/export"]]]),S((d(),v(_,{type:"success",class:"ml-2.5",onClick:wt},{default:a(()=>[...e[50]||(e[50]=[s(" + 创建支付单 ",-1)])]),_:1})),[[E,["order.order/create"]]]),S((d(),v(_,{type:"warning",class:"ml-2.5",loading:o(fe),onClick:St},{default:a(()=>[...e[51]||(e[51]=[s(" 同步企业微信收款 ",-1)])]),_:1},8,["loading"])),[[E,["order.order/alltongbu"]]])]),_:1})]),_:1},8,["model"])]),_:1}),t(Re,{class:"!border-none mt-4",shadow:"never"},{default:a(()=>[c("div",Jl,[t(Wt,{modelValue:o(se),"onUpdate:modelValue":e[8]||(e[8]=l=>T(se)?se.value=l:null),onTabChange:vt},{default:a(()=>[t(qe,{label:"全部",name:""}),t(qe,{label:"待关联",name:"pending"}),t(qe,{label:"已关联",name:"associated"})]),_:1},8,["modelValue"]),c("div",Xl,[e[52]||(e[52]=c("span",{class:"text-gray-500"},"今日收益:",-1)),c("span",Zl,"¥"+p(o(re).amount),1),c("span",ea,"("+p(o(re).count)+" 笔)",1)])])]),_:1}),t(Re,{class:"!border-none mt-4",shadow:"never"},{default:a(()=>[S((d(),x("div",ta,[t(_,{type:"primary",disabled:!F.value.length,onClick:yt},{default:a(()=>[...e[53]||(e[53]=[s(" 将创建人指给医助 ",-1)])]),_:1},8,["disabled"]),F.value.length?(d(),x("span",la,"已选 "+p(F.value.length)+" 条",1)):b("",!0)])),[[E,["order.order/zhipai"]]]),S((d(),v(ze,{ref_key:"orderTableRef",ref:Ye,data:o(I).lists,"row-key":"id",size:"large",onSelectionChange:ft},{default:a(()=>[t(C,{type:"selection",width:"48"}),t(C,{label:"订单号",prop:"order_no","min-width":"150"}),t(C,{label:"患者信息","min-width":"150"},{default:a(({row:l})=>{var V;return[l.patient?(d(),x("div",aa,p(l.patient.patient_name),1)):(d(),x("div",oa,"待关联")),c("div",na,p(((V=l.patient)==null?void 0:V.phone)||"-"),1)]}),_:1}),t(C,{label:"创建人","min-width":"120"},{default:a(({row:l})=>{var V;return[c("div",null,p(((V=l.creator)==null?void 0:V.name)||"-"),1),l.payee_userid?(d(),x("div",sa,"收款: "+p(l.payee_userid),1)):b("",!0)]}),_:1}),t(C,{label:"订单类型",width:"100"},{default:a(({row:l})=>[t(ae,{type:Ze(l.order_type)},{default:a(()=>[s(p(Xe(l.order_type)),1)]),_:2},1032,["type"])]),_:1}),t(C,{label:"金额",width:"100"},{default:a(({row:l})=>[c("span",ra,"¥"+p(l.amount),1)]),_:1}),t(C,{label:"支付方式",width:"100"},{default:a(({row:l})=>[s(p(lt(l.payment_method)),1)]),_:1}),t(C,{label:"订单状态",width:"120"},{default:a(({row:l})=>[t(ae,{type:tt(l.status)},{default:a(()=>[s(p(et(l.status)),1)]),_:2},1032,["type"]),l.is_exempt===1?(d(),v(ae,{key:0,type:"warning",size:"small",class:"ml-1"},{default:a(()=>[...e[54]||(e[54]=[s("豁免",-1)])]),_:1})):b("",!0)]),_:1}),t(C,{label:"支付时间","min-width":"160"},{default:a(({row:l})=>[s(p(l.payment_time||"-"),1)]),_:1}),t(C,{label:"创建时间","min-width":"160"},{default:a(({row:l})=>[s(p(l.create_time),1)]),_:1}),t(C,{label:"操作",width:"340",fixed:"right"},{default:a(({row:l})=>[S((d(),v(_,{type:"primary",link:"",onClick:V=>Ot(l)},{default:a(()=>[...e[55]||(e[55]=[s(" 详情 ",-1)])]),_:1},8,["onClick"])),[[E,["order.order/detail"]]]),S((d(),v(_,{type:"primary",link:"",onClick:V=>Ut(l)},{default:a(()=>[...e[56]||(e[56]=[s(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[E,["order.order/edit"]]]),l.status===1||l.status===2||l.status===5&&l.payment_method==="fubei"?S((d(),v(_,{key:0,type:"primary",link:"",onClick:V=>ht(l)},{default:a(()=>[...e[57]||(e[57]=[s(" 拆分 ",-1)])]),_:1},8,["onClick"])),[[E,["order.order/split"]]]):b("",!0),S((d(),v(_,{type:"primary",link:"",onClick:V=>nt(l)},{default:a(()=>[...e[58]||(e[58]=[s(" 小程序码 ",-1)])]),_:1},8,["onClick"])),[[E,["order.order/wxQrcode"]]]),l.status===1||l.status===5&&l.payment_method==="fubei"?S((d(),v(_,{key:1,type:"success",link:"",onClick:V=>At(l)},{default:a(()=>[...e[59]||(e[59]=[s(" 支付 ",-1)])]),_:1},8,["onClick"])),[[E,["order.order/pay"]]]):b("",!0),l.status===2?S((d(),v(_,{key:2,type:"warning",link:"",onClick:V=>qt(l)},{default:a(()=>[...e[60]||(e[60]=[s(" 退款 ",-1)])]),_:1},8,["onClick"])),[[E,["order.order/refund"]]]):b("",!0),l.status===1||l.status===5&&l.payment_method==="fubei"?S((d(),v(_,{key:3,type:"danger",link:"",onClick:V=>Rt(l)},{default:a(()=>[...e[61]||(e[61]=[s(" 取消 ",-1)])]),_:1},8,["onClick"])),[[E,["order.order/cancel"]]]):b("",!0),S((d(),v(_,{type:"danger",link:"",onClick:V=>zt(l)},{default:a(()=>[...e[62]||(e[62]=[s(" 删除 ",-1)])]),_:1},8,["onClick"])),[[E,["order.order/delete"]]]),S((d(),v(_,{type:l.is_exempt===1?"warning":"default",link:"",onClick:V=>Ft(l)},{default:a(()=>[s(p(l.is_exempt===1?"取消豁免":"设为豁免"),1)]),_:2},1032,["type","onClick"])),[[E,["order.order/setExempt"]]])]),_:1})]),_:1},8,["data"])),[[Ie,o(I).loading]]),c("div",ia,[t(Bt,{modelValue:o(I),"onUpdate:modelValue":e[9]||(e[9]=l=>T(I)?I.value=l:null),onChange:o(D)},null,8,["modelValue","onChange"])])]),_:1}),t(O,{modelValue:o(ie),"onUpdate:modelValue":e[12]||(e[12]=l=>T(ie)?ie.value=l:null),title:"订单详情",width:"820px"},{default:a(()=>[o(k)?(d(),v(jt,{key:0,column:2,border:""},{default:a(()=>[t($,{label:"订单号"},{default:a(()=>[s(p(o(k).order_no),1)]),_:1}),t($,{label:"订单状态"},{default:a(()=>[t(ae,{type:tt(o(k).status)},{default:a(()=>[s(p(et(o(k).status)),1)]),_:1},8,["type"])]),_:1}),t($,{label:"患者姓名"},{default:a(()=>{var l;return[s(p(((l=o(k).patient)==null?void 0:l.patient_name)||"待关联"),1)]}),_:1}),t($,{label:"患者电话"},{default:a(()=>{var l;return[s(p(((l=o(k).patient)==null?void 0:l.phone)||"-"),1)]}),_:1}),t($,{label:"创建人"},{default:a(()=>{var l;return[s(p(((l=o(k).creator)==null?void 0:l.name)||"-"),1)]}),_:1}),o(k).payee_userid?(d(),v($,{key:0,label:"收款人userid"},{default:a(()=>[s(p(o(k).payee_userid),1)]),_:1})):b("",!0),o(k).payer_external_userid?(d(),v($,{key:1,label:"付款人external_userid"},{default:a(()=>[s(p(o(k).payer_external_userid),1)]),_:1})):b("",!0),t($,{label:"订单类型"},{default:a(()=>[t(ae,{type:Ze(o(k).order_type)},{default:a(()=>[s(p(Xe(o(k).order_type)),1)]),_:1},8,["type"])]),_:1}),t($,{label:"订单金额"},{default:a(()=>[c("span",da,"¥"+p(o(k).amount),1)]),_:1}),t($,{label:"支付方式"},{default:a(()=>[s(p(lt(o(k).payment_method)),1)]),_:1}),t($,{label:"支付时间"},{default:a(()=>[s(p(o(k).payment_time||"-"),1)]),_:1}),t($,{label:"创建时间"},{default:a(()=>[s(p(o(k).create_time),1)]),_:1}),t($,{label:"备注",span:2},{default:a(()=>[s(p(o(k).remark||"无"),1)]),_:1})]),_:1})):b("",!0),o(k)?(d(),v(Yt,{key:1,"content-position":"left"},{default:a(()=>[...e[63]||(e[63]=[s("操作记录",-1)])]),_:1})):b("",!0),o(k)?(d(),x("p",ua,"谁在什么时间对本单做了哪些操作(数据来自服务器记录)。")):b("",!0),o(k)?S((d(),v(ze,{key:3,data:o(Se),size:"small","max-height":"320"},{default:a(()=>[t(C,{label:"操作",prop:"action_label","min-width":"120","show-overflow-tooltip":""}),t(C,{label:"操作人",prop:"admin_name","min-width":"100"}),t(C,{label:"操作时间",prop:"create_time_text","min-width":"160"}),t(C,{label:"说明",prop:"summary","min-width":"140","show-overflow-tooltip":""})]),_:1},8,["data"])),[[Ie,o(Ce)]]):b("",!0),o(k)?(d(),x("div",pa,[t(Qt,{"current-page":o(B),"onUpdate:currentPage":e[10]||(e[10]=l=>T(B)?B.value=l:null),"page-size":o(de),"onUpdate:pageSize":e[11]||(e[11]=l=>T(de)?de.value=l:null),total:o(Te),"page-sizes":[10,20,50],layout:"total, sizes, prev, pager, next",small:"",onSizeChange:ct,onCurrentChange:Ee},null,8,["current-page","page-size","total"])])):b("",!0)]),_:1},8,["modelValue"]),t(O,{modelValue:o(ue),"onUpdate:modelValue":e[15]||(e[15]=l=>T(ue)?ue.value=l:null),title:"支付单操作统计",width:"520px",onOpened:bt},{default:a(()=>[o(Z)?(d(),x("p",ma,"统计范围:"+p(o(Z)),1)):b("",!0),t(h,{class:"mb-3",inline:!0,onSubmit:e[14]||(e[14]=it(()=>{},["prevent"]))},{default:a(()=>[t(r,{label:"时间范围"},{default:a(()=>[t(st,{modelValue:o(A),"onUpdate:modelValue":e[13]||(e[13]=l=>T(A)?A.value=l:null),type:"daterange","value-format":"YYYY-MM-DD","range-separator":"至","start-placeholder":"开始","end-placeholder":"结束",class:"!w-[260px]"},null,8,["modelValue"])]),_:1}),t(r,null,{default:a(()=>[t(_,{type:"primary",loading:o(pe),onClick:Ke},{default:a(()=>[...e[64]||(e[64]=[s("查询",-1)])]),_:1},8,["loading"])]),_:1})]),_:1}),S((d(),v(ze,{data:o(De),size:"small","max-height":"400"},{default:a(()=>[t(C,{label:"操作人",prop:"admin_name","min-width":"120","show-overflow-tooltip":""}),t(C,{label:"操作次数",prop:"cnt",width:"100",align:"right"})]),_:1},8,["data"])),[[Ie,o(pe)]])]),_:1},8,["modelValue"]),t(O,{modelValue:o(N),"onUpdate:modelValue":e[18]||(e[18]=l=>T(N)?N.value=l:null),title:"变更创建人(医助)",width:"440px","destroy-on-close":""},{footer:a(()=>[t(_,{onClick:e[17]||(e[17]=l=>N.value=!1)},{default:a(()=>[...e[65]||(e[65]=[s("取消",-1)])]),_:1}),t(_,{type:"primary",loading:o(Ve),onClick:_t},{default:a(()=>[...e[66]||(e[66]=[s("确定",-1)])]),_:1},8,["loading"])]),default:a(()=>[c("p",fa," 将 "+p(F.value.length)+" 条支付单的「创建人」改为所选医助,并写入各单操作日志。 ",1),t(U,{modelValue:o(X).assistant_id,"onUpdate:modelValue":e[16]||(e[16]=l=>o(X).assistant_id=l),filterable:"",placeholder:"选择医助",class:"w-full"},{default:a(()=>[(d(!0),x(R,null,oe(o(ne),l=>(d(),v(i,{key:l.id,label:l.dept_names?`${l.name}(${l.dept_names})`:l.name,value:Number(l.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1},8,["modelValue"]),t(O,{modelValue:o(q),"onUpdate:modelValue":e[23]||(e[23]=l=>T(q)?q.value=l:null),title:"订单支付",width:"500px"},{footer:a(()=>[t(_,{onClick:e[22]||(e[22]=l=>q.value=!1)},{default:a(()=>[...e[72]||(e[72]=[s("取消",-1)])]),_:1}),t(_,{type:"primary",onClick:Mt,loading:o(me)},{default:a(()=>[...e[73]||(e[73]=[s("确认支付",-1)])]),_:1},8,["loading"])]),default:a(()=>[t(h,{model:o(f),"label-width":"100px"},{default:a(()=>[o(f).fubeiPendingAudit?(d(),v(ke,{key:0,type:"warning",closable:!1,class:"mb-3",title:"该单为付呗·待审核,请选择实际到账方式后确认「已支付」"})):b("",!0),o(f).fubeiPendingAudit?b("",!0):(d(),v(r,{key:1,label:"支付类型",required:""},{default:a(()=>[t(Fe,{modelValue:o(f).payType,"onUpdate:modelValue":e[19]||(e[19]=l=>o(f).payType=l)},{default:a(()=>[t(M,{label:"supplement"},{default:a(()=>[...e[67]||(e[67]=[s("补单支付",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})),o(f).payType==="normal"?(d(),x(R,{key:2},[t(r,{label:"订单号"},{default:a(()=>[c("span",null,p(o(f).order_no),1)]),_:1}),t(r,{label:"订单金额"},{default:a(()=>[c("span",ya,"¥"+p(o(f).amount),1)]),_:1})],64)):b("",!0),!o(f).fubeiPendingAudit&&o(f).payType==="supplement"?(d(),v(r,{key:3,label:"支付订单号",required:""},{default:a(()=>[t(m,{modelValue:o(f).supplement_order_no,"onUpdate:modelValue":e[20]||(e[20]=l=>o(f).supplement_order_no=l),placeholder:"请输入支付订单号"},null,8,["modelValue"])]),_:1})):b("",!0),o(f).fubeiPendingAudit?(d(),x(R,{key:4},[t(r,{label:"订单号"},{default:a(()=>[c("span",null,p(o(f).order_no),1)]),_:1}),t(r,{label:"金额"},{default:a(()=>[c("span",_a,"¥"+p(o(f).amount),1)]),_:1})],64)):b("",!0),t(r,{label:"支付方式",required:""},{default:a(()=>[t(Fe,{modelValue:o(f).payment_method,"onUpdate:modelValue":e[21]||(e[21]=l=>o(f).payment_method=l)},{default:a(()=>[o(f).fubeiPendingAudit?(d(),v(M,{key:0,label:"manual"},{default:a(()=>[...e[68]||(e[68]=[s("手动确认到账",-1)])]),_:1})):b("",!0),t(M,{label:"alipay"},{default:a(()=>[...e[69]||(e[69]=[s("支付宝",-1)])]),_:1}),t(M,{label:"wechat"},{default:a(()=>[...e[70]||(e[70]=[s("微信",-1)])]),_:1}),t(M,{label:"wechat_work"},{default:a(()=>[...e[71]||(e[71]=[s("企业微信",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),t(O,{modelValue:o(z),"onUpdate:modelValue":e[31]||(e[31]=l=>T(z)?z.value=l:null),title:"创建订单",width:"600px",onClose:Je},{footer:a(()=>[t(_,{onClick:e[30]||(e[30]=l=>z.value=!1)},{default:a(()=>[...e[82]||(e[82]=[s("取消",-1)])]),_:1}),t(_,{type:"primary",onClick:Et,loading:o($e)},{default:a(()=>[s(p(o(y).createType==="wechat_work"?"创建并获取收款订单号":"创建订单"),1)]),_:1},8,["loading"])]),default:a(()=>[t(h,{ref_key:"createFormRef",ref:Ue,model:o(y),rules:kt,"label-width":"100px"},{default:a(()=>[t(r,{label:"创建方式"},{default:a(()=>[t(Fe,{modelValue:o(y).createType,"onUpdate:modelValue":e[24]||(e[24]=l=>o(y).createType=l)},{default:a(()=>[t(M,{label:"normal"},{default:a(()=>[...e[74]||(e[74]=[s("普通订单",-1)])]),_:1}),t(M,{label:"wechat_work"},{default:a(()=>[...e[75]||(e[75]=[s("企业微信对外收款",-1)])]),_:1}),t(M,{label:"fubei"},{default:a(()=>[...e[76]||(e[76]=[s("付呗",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),o(y).createType==="wechat_work"?(d(),v(ke,{key:0,type:"info",closable:!1,"show-icon":"",class:"mb-4"},{title:a(()=>[...e[77]||(e[77]=[s("企业微信对外收款",-1)])]),default:a(()=>[e[78]||(e[78]=s(" 创建后将生成订单号,请在企业微信发起收款时将该订单号填写为「商户订单号」,收款成功后系统将自动更新订单状态。 ",-1))]),_:1})):b("",!0),o(y).createType==="fubei"?(d(),v(ke,{key:1,type:"info",closable:!1,"show-icon":"",class:"mb-4"},{title:a(()=>[...e[79]||(e[79]=[s("付呗",-1)])]),default:a(()=>[e[80]||(e[80]=s(" 通过付呗收款的支付单,创建后请按实际对账/审核流程在列表中处理。 ",-1))]),_:1})):b("",!0),o(y).createType==="fubei"?(d(),v(r,{key:2,label:"支付单审核"},{default:a(()=>[t(Gt,{modelValue:o(y).requirePaymentSlipAudit,"onUpdate:modelValue":e[25]||(e[25]=l=>o(y).requirePaymentSlipAudit=l),"active-text":"申请审核","inactive-text":"不申请"},null,8,["modelValue"]),e[81]||(e[81]=c("div",{class:"text-xs text-gray-500 mt-1"}," 开启后,新订单的支付状态为「待审核」;未开启则为「待支付」。 ",-1))]),_:1})):b("",!0),t(r,{label:"患者",prop:"patient_id"},{default:a(()=>[t(U,{modelValue:o(y).patient_id,"onUpdate:modelValue":e[26]||(e[26]=l=>o(y).patient_id=l),placeholder:"请选择患者",filterable:"",remote:"","remote-method":xt,loading:o(Pe)},{default:a(()=>[(d(!0),x(R,null,oe(o(he),l=>(d(),v(i,{key:l.id,label:`${l.patient_name} (${l.phone})`,value:l.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","loading"])]),_:1}),t(r,{label:"订单类型",prop:"order_type"},{default:a(()=>[t(U,{modelValue:o(y).order_type,"onUpdate:modelValue":e[27]||(e[27]=l=>o(y).order_type=l),placeholder:"请选择"},{default:a(()=>[t(i,{label:"挂号费",value:1}),t(i,{label:"问诊费",value:2}),t(i,{label:"药品费用",value:3}),t(i,{label:"首付费用",value:4}),t(i,{label:"尾款费用",value:5}),t(i,{label:"其他费用",value:6}),t(i,{label:"全部费用",value:7}),t(i,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1}),t(r,{label:"订单金额",prop:"amount"},{default:a(()=>[t(Ne,{modelValue:o(y).amount,"onUpdate:modelValue":e[28]||(e[28]=l=>o(y).amount=l),min:0,step:.01,precision:2,placeholder:"请输入金额"},null,8,["modelValue"])]),_:1}),t(r,{label:"备注",prop:"remark"},{default:a(()=>[t(m,{modelValue:o(y).remark,"onUpdate:modelValue":e[29]||(e[29]=l=>o(y).remark=l),type:"textarea",rows:3,placeholder:"请输入备注(可选)"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),t(O,{modelValue:o(Y),"onUpdate:modelValue":e[35]||(e[35]=l=>T(Y)?Y.value=l:null),title:"同步企业微信对外收款",width:"420px"},{footer:a(()=>[t(_,{onClick:e[34]||(e[34]=l=>Y.value=!1)},{default:a(()=>[...e[83]||(e[83]=[s("取消",-1)])]),_:1}),t(_,{type:"info",loading:o(Ae),onClick:Tt},{default:a(()=>[...e[84]||(e[84]=[s(" 排查同步为0 ",-1)])]),_:1},8,["loading"]),t(_,{type:"primary",loading:o(fe),onClick:Dt},{default:a(()=>[...e[85]||(e[85]=[s(" 开始同步 ",-1)])]),_:1},8,["loading"])]),default:a(()=>[e[86]||(e[86]=c("p",{class:"text-gray-600 mb-4"},"拉取员工在企业微信内直接发起的对外收款记录,自动创建订单(未经过后台创建的收款)",-1)),t(h,{"label-width":"90px"},{default:a(()=>[t(r,{label:"时间范围"},{default:a(()=>[t(st,{modelValue:o(Q),"onUpdate:modelValue":e[32]||(e[32]=l=>T(Q)?Q.value=l:null),type:"daterange","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期","value-format":"YYYY-MM-DD",shortcuts:Ct},null,8,["modelValue"])]),_:1}),t(r,{label:"收款人userid"},{default:a(()=>[t(m,{modelValue:o(ye),"onUpdate:modelValue":e[33]||(e[33]=l=>T(ye)?ye.value=l:null),placeholder:"可选,如 GaoXingLiang,排查时若返回 try_payee_userids 可逐个尝试",clearable:""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),t(O,{modelValue:o(j),"onUpdate:modelValue":e[39]||(e[39]=l=>T(j)?j.value=l:null),title:"编辑订单",width:"480px"},{footer:a(()=>[t(_,{onClick:e[38]||(e[38]=l=>j.value=!1)},{default:a(()=>[...e[87]||(e[87]=[s("取消",-1)])]),_:1}),t(_,{type:"primary",loading:o(Le),onClick:Pt},{default:a(()=>[...e[88]||(e[88]=[s("保存",-1)])]),_:1},8,["loading"])]),default:a(()=>[o(L)?(d(),v(h,{key:0,ref_key:"editOrderFormRef",ref:He,model:o(L),rules:Vt,"label-width":"100px"},{default:a(()=>[t(r,{label:"关联患者",prop:"patient_id"},{default:a(()=>[t(U,{modelValue:o(L).patient_id,"onUpdate:modelValue":e[36]||(e[36]=l=>o(L).patient_id=l),filterable:"",remote:"",placeholder:"搜索患者姓名/手机号,可留空表示待关联","remote-method":$t,loading:o(Oe),clearable:"",class:"w-full"},{default:a(()=>[(d(!0),x(R,null,oe(o(ee),l=>(d(),v(i,{key:l.id,label:`${l.patient_name||"-"} (${l.phone||"-"})`,value:l.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","loading"])]),_:1}),t(r,{label:"订单类型",prop:"order_type"},{default:a(()=>[t(U,{modelValue:o(L).order_type,"onUpdate:modelValue":e[37]||(e[37]=l=>o(L).order_type=l),placeholder:"请选择",class:"w-full"},{default:a(()=>[t(i,{label:"挂号费",value:1}),t(i,{label:"问诊费",value:2}),t(i,{label:"药品费用",value:3}),t(i,{label:"首付费用",value:4}),t(i,{label:"尾款费用",value:5}),t(i,{label:"其他费用",value:6}),t(i,{label:"全部费用",value:7}),t(i,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["model"])):b("",!0)]),_:1},8,["modelValue"]),t(O,{modelValue:o(G),"onUpdate:modelValue":e[43]||(e[43]=l=>T(G)?G.value=l:null),title:"拆分订单",width:"620px","destroy-on-close":"",onClosed:e[44]||(e[44]=l=>P.value=null)},{footer:a(()=>[t(_,{onClick:e[42]||(e[42]=l=>G.value=!1)},{default:a(()=>[...e[97]||(e[97]=[s("取消",-1)])]),_:1}),t(_,{type:"primary",loading:o(Me),disabled:!_e.value,onClick:Lt},{default:a(()=>[...e[98]||(e[98]=[s(" 确定拆分 ",-1)])]),_:1},8,["loading","disabled"])]),default:a(()=>[o(P)?(d(),x(R,{key:0},[c("p",va,[e[89]||(e[89]=s(" 原订单号 ",-1)),c("span",ga,p(o(P).order_no),1),e[90]||(e[90]=s(",金额 ",-1)),c("span",ca,"¥"+p(o(P).amount),1),e[91]||(e[91]=s("。每笔子单可分别选择",-1)),e[92]||(e[92]=c("strong",null,"订单类型",-1)),e[93]||(e[93]=s(";子单继承患者、创建人及企微收款信息;",-1)),e[94]||(e[94]=c("strong",null,"已支付",-1)),e[95]||(e[95]=s("子单继承支付方式、支付时间与交易号;原单将软删除;若已关联业务订单,关联会同步到全部子单。 ",-1))]),t(h,{"label-width":"88px",onSubmit:e[41]||(e[41]=it(()=>{},["prevent"]))},{default:a(()=>[t(r,{label:"拆分管数"},{default:a(()=>[t(Ne,{modelValue:o(K),"onUpdate:modelValue":e[40]||(e[40]=l=>T(K)?K.value=l:null),min:2,max:20,step:1,"step-strictly":"",onChange:at},null,8,["modelValue"]),e[96]||(e[96]=c("span",{class:"text-xs text-gray-400 ml-2"},"2~20 笔",-1))]),_:1})]),_:1}),c("div",ba,[(d(!0),x(R,null,oe(o(H),(l,V)=>(d(),x("div",{key:V,class:"flex items-center gap-2 flex-wrap"},[c("span",ka,"第 "+p(V+1)+" 笔",1),t(U,{modelValue:o(te)[V],"onUpdate:modelValue":We=>o(te)[V]=We,placeholder:"订单类型",class:"w-[136px] shrink-0"},{default:a(()=>[t(i,{label:"挂号费",value:1}),t(i,{label:"问诊费",value:2}),t(i,{label:"药品费用",value:3}),t(i,{label:"首付费用",value:4}),t(i,{label:"尾款费用",value:5}),t(i,{label:"其他费用",value:6}),t(i,{label:"全部费用",value:7}),t(i,{label:"驼奶费用",value:8})]),_:1},8,["modelValue","onUpdate:modelValue"]),t(Ne,{modelValue:o(H)[V],"onUpdate:modelValue":We=>o(H)[V]=We,min:.01,step:.01,precision:2,class:"flex-1 min-w-[140px]","controls-position":"right"},null,8,["modelValue","onUpdate:modelValue"])]))),128))]),t(ke,{type:_e.value?"success":"warning",closable:!1,"show-icon":""},{title:a(()=>[s(" 子单合计 ¥"+p(ot.value.toFixed(2))+", "+p(_e.value?"与原价一致,可提交":"须与原价完全一致方可拆分"),1)]),_:1},8,["type"])],64)):b("",!0)]),_:1},8,["modelValue"]),t(O,{modelValue:o(le),"onUpdate:modelValue":e[46]||(e[46]=l=>T(le)?le.value=l:null),title:"支付小程序码",width:"400px","close-on-click-modal":!1},{footer:a(()=>[t(_,{onClick:e[45]||(e[45]=l=>le.value=!1)},{default:a(()=>[...e[101]||(e[101]=[s("关闭",-1)])]),_:1}),o(ve)?b("",!0):(d(),v(_,{key:0,type:"primary",onClick:Nt},{default:a(()=>[...e[102]||(e[102]=[s(" 重新生成 ",-1)])]),_:1}))]),default:a(()=>[c("div",Va,[o(ve)?(d(),x("div",xa,[t(Kt,{class:"is-loading",size:40},{default:a(()=>[t(o(Yl))]),_:1}),e[99]||(e[99]=c("div",{class:"mt-4 text-gray-500"},"生成中...",-1))])):o(ge)?(d(),x("div",wa,[c("img",{src:o(ge),alt:"小程序二维码",class:"w-64 h-64 border border-gray-200 rounded"},null,8,Ca),c("div",Sa,[c("div",null,"订单号:"+p(o(ce)),1),e[100]||(e[100]=c("div",{class:"mt-2"},"请使用微信扫描二维码完成支付",-1))])])):(d(),x("div",Ta," 生成失败,请重试 "))])]),_:1},8,["modelValue"])])}}}),Vo=Ql(Ea,[["__scopeId","data-v-f8b1e055"]]);export{Vo as default}; diff --git a/server/public/admin/assets/index-COsry1Al.js b/server/public/admin/assets/index-CwBbPh03.js similarity index 67% rename from server/public/admin/assets/index-COsry1Al.js rename to server/public/admin/assets/index-CwBbPh03.js index 02d56499..2ffed1d4 100644 --- a/server/public/admin/assets/index-COsry1Al.js +++ b/server/public/admin/assets/index-CwBbPh03.js @@ -1 +1 @@ -import{_ as S}from"./index-9zND60WT.js";import{J as C,i as E}from"./element-plus-0wC3naml.js";import{a as I,s as J}from"./decoration-ChND9qat.js";import{s as O,_ as k}from"./index-E47--KT7.js";import{_ as B}from"./attr-setting.vue_vue_type_script_setup_true_lang-Rx2Z7krO.js";import U from"./menu-Cw5oPkn4.js";import h from"./preview-D1vgcnnO.js";import{e as R}from"./index-OPSjrJvJ.js";import{f as w,w as W,as as j,ak as _,I as A,J as G,a as m,aN as l,aP as H,G as $,O as q,A as c}from"./@vue/runtime-core-C6bnekPw.js";import{r as z,y as i,a as v,n as D}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./attr-CLlbMhxO.js";import"./index-BHTgr4Ka.js";import"./picker-B9b8bj5N.js";import"./index-nymJKQXP.js";import"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import"./article-DJnP6RZd.js";import"./usePaging-VsbTxSU0.js";import"./picker-DlbAZkDm.js";import"./index-B56X8bEB.js";import"./index-Ci4dcEQh.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-DoYUJmkp.js";import"./index.vue_vue_type_script_setup_true_lang-Bl0f8aX8.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./content.vue_vue_type_script_setup_true_lang-B9VzIZnv.js";import"./decoration-img-CZl9mrsf.js";import"./attr.vue_vue_type_script_setup_true_lang-BN--zfly.js";import"./content-B6YfxEbd.js";import"./attr.vue_vue_type_script_setup_true_lang-BIDjj2ZQ.js";import"./content.vue_vue_type_script_setup_true_lang-C4EWc4Ny.js";import"./attr.vue_vue_type_script_setup_true_lang-CVwolQf4.js";import"./add-nav.vue_vue_type_script_setup_true_lang-DqZ_o5sa.js";import"./content-Cj4lK4l8.js";import"./attr.vue_vue_type_script_setup_true_lang-BVV-rQuy.js";import"./content.vue_vue_type_script_setup_true_lang-CuEc-gLQ.js";import"./attr.vue_vue_type_script_setup_true_lang-DnkDutJb.js";import"./content-Dyh_0iwA.js";import"./attr.vue_vue_type_script_setup_true_lang-CTVcHVd7.js";import"./index.vue_vue_type_script_setup_true_lang-C384XBPz.js";import"./content-B1b0mSAw.js";import"./content.vue_vue_type_script_setup_true_lang-hItYL1wr.js";import"./attr.vue_vue_type_script_setup_true_lang-ChKJn1wI.js";import"./content-B7VEJItb.js";import"./attr.vue_vue_type_script_setup_true_lang-A0LOU1hn.js";import"./content.vue_vue_type_script_setup_true_lang-zA2x9af7.js";import"./attr.vue_vue_type_script_setup_true_lang-9MDVGbdQ.js";import"./content-CgQTA2IB.js";const F={class:"decoration-pages min-w-[1100px]"},K={class:"flex flex-1 h-full justify-between"},L=w({name:"decorationPages"}),Q=w({...L,setup(T){let u;(t=>{t.HOME="1",t.USER="2",t.SERVICE="3"})(u||(u={}));const x=t=>{o[a.value].pageData=[...t]},p=t=>t.map(e=>{var n;return{id:O(),...((n=R[e])==null?void 0:n.options())||{}}}),M=t=>{var e;(e=o[a.value])!=null&&e.pageData&&(o[a.value].pageData[r.value].content=t)},o=z({1:{id:1,type:1,name:"首页装修",pageMeta:p(["page-meta"]),pageData:p(["search","banner","nav","news"])},2:{id:2,type:2,name:"个人中心",pageMeta:p(["page-meta"]),pageData:p(["user-info","my-service","user-banner"])},3:{id:3,type:3,name:"客服设置",pageMeta:null,pageData:p(["customer-service"])}}),a=D("1"),r=D(-1),d=c(()=>{var t;return((t=o[a.value])==null?void 0:t.pageData)??[]}),y=c(()=>{var t;return((t=o[a.value])==null?void 0:t.pageMeta)??null}),b=c(()=>{var t,e;return r.value===-1?((t=o[a.value])==null?void 0:t.pageMeta[0])??"":((e=o[a.value])==null?void 0:e.pageData[r.value])??""}),g=async()=>{const t=await I({id:a.value});o[String(t.id)].pageData=JSON.parse(t.data),o[String(t.id)].pageMeta=t!=null&&t.meta?JSON.parse(t==null?void 0:t.meta):null},P=async()=>{const t=o[a.value];await J({...t,data:JSON.stringify(t.pageData),meta:t!=null&&t.pageMeta?JSON.stringify(t==null?void 0:t.pageMeta):null}),g()};return W(a,()=>{r.value=d.value.findIndex(t=>!t.disabled),g()},{immediate:!0}),(t,e)=>{const f=C,n=E,V=S,N=j("perms");return _(),A("div",F,[G("div",K,[m(f,{shadow:"never",class:"!border-none flex scroll-view-content","body-style":{"padding-right":0}},{default:l(()=>[m(U,{modelValue:i(a),"onUpdate:modelValue":e[0]||(e[0]=s=>v(a)?a.value=s:null),menus:i(o)},null,8,["modelValue","menus"])]),_:1}),m(h,{class:"flex-1 scroll-view-content",modelValue:i(r),"onUpdate:modelValue":e[1]||(e[1]=s=>v(r)?r.value=s:null),onUpdatePageData:x,pageData:i(d),pageMeta:i(y)},null,8,["modelValue","pageData","pageMeta"]),m(B,{class:"w-[560px] scroll-view-content",widget:i(b),"onUpdate:content":M},null,8,["widget"])]),H((_(),$(V,{class:"mt-4",fixed:!1},{default:l(()=>[m(n,{type:"primary",onClick:P},{default:l(()=>[...e[2]||(e[2]=[q("保存",-1)])]),_:1})]),_:1})),[[N,["decorate:pages:save"]]])])}}}),Se=k(Q,[["__scopeId","data-v-8a7bf3bc"]]);export{Se as default}; +import{_ as S}from"./index-x1zzA0a7.js";import{J as C,i as E}from"./element-plus-DFTWCWyi.js";import{a as I,s as J}from"./decoration-C799ML-U.js";import{s as O,_ as k}from"./index-DBREMm_z.js";import{_ as B}from"./attr-setting.vue_vue_type_script_setup_true_lang-fvUxwXKi.js";import U from"./menu-CVGDEBOV.js";import h from"./preview-5Me2qt_f.js";import{e as R}from"./index-BHHQOM-n.js";import{f as w,w as W,as as j,ak as _,I as A,J as G,a as m,aN as l,aP as H,G as $,O as q,A as c}from"./@vue/runtime-core-C6bnekPw.js";import{r as z,y as i,a as v,n as D}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./attr-BsXOKCNj.js";import"./index-CbfZXeGu.js";import"./picker-DPnqJ8Gk.js";import"./index-BwF7vczx.js";import"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import"./article-BnVIxFkr.js";import"./usePaging-VsbTxSU0.js";import"./picker-BCRrEZaA.js";import"./index-BiPYXDtP.js";import"./index-CRoZWY-W.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-BimpIRb_.js";import"./index.vue_vue_type_script_setup_true_lang-x0oL2ShL.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./content.vue_vue_type_script_setup_true_lang-u1kTovEN.js";import"./decoration-img-CZLpkXPN.js";import"./attr.vue_vue_type_script_setup_true_lang-c_YeWJqI.js";import"./content-Dyki4H78.js";import"./attr.vue_vue_type_script_setup_true_lang-Dy891kIt.js";import"./content.vue_vue_type_script_setup_true_lang-uukcy-Ti.js";import"./attr.vue_vue_type_script_setup_true_lang-6A60mJbu.js";import"./add-nav.vue_vue_type_script_setup_true_lang-BN-blUPj.js";import"./content-Sf3nxxVG.js";import"./attr.vue_vue_type_script_setup_true_lang-Ca7p7CQy.js";import"./content.vue_vue_type_script_setup_true_lang-B-SEL-YW.js";import"./attr.vue_vue_type_script_setup_true_lang-DnkDutJb.js";import"./content-DblaaeJD.js";import"./attr.vue_vue_type_script_setup_true_lang-BnCnHgo6.js";import"./index.vue_vue_type_script_setup_true_lang-3vCdLVB9.js";import"./content-PkioGtTh.js";import"./content.vue_vue_type_script_setup_true_lang-BK6uSq1e.js";import"./attr.vue_vue_type_script_setup_true_lang-ChKJn1wI.js";import"./content-BeOu4XYf.js";import"./attr.vue_vue_type_script_setup_true_lang-mOGAGDW2.js";import"./content.vue_vue_type_script_setup_true_lang-DtEQqPIi.js";import"./attr.vue_vue_type_script_setup_true_lang-9MDVGbdQ.js";import"./content-C_MRybMI.js";const F={class:"decoration-pages min-w-[1100px]"},K={class:"flex flex-1 h-full justify-between"},L=w({name:"decorationPages"}),Q=w({...L,setup(T){let u;(t=>{t.HOME="1",t.USER="2",t.SERVICE="3"})(u||(u={}));const x=t=>{o[a.value].pageData=[...t]},p=t=>t.map(e=>{var n;return{id:O(),...((n=R[e])==null?void 0:n.options())||{}}}),M=t=>{var e;(e=o[a.value])!=null&&e.pageData&&(o[a.value].pageData[r.value].content=t)},o=z({1:{id:1,type:1,name:"首页装修",pageMeta:p(["page-meta"]),pageData:p(["search","banner","nav","news"])},2:{id:2,type:2,name:"个人中心",pageMeta:p(["page-meta"]),pageData:p(["user-info","my-service","user-banner"])},3:{id:3,type:3,name:"客服设置",pageMeta:null,pageData:p(["customer-service"])}}),a=D("1"),r=D(-1),d=c(()=>{var t;return((t=o[a.value])==null?void 0:t.pageData)??[]}),y=c(()=>{var t;return((t=o[a.value])==null?void 0:t.pageMeta)??null}),b=c(()=>{var t,e;return r.value===-1?((t=o[a.value])==null?void 0:t.pageMeta[0])??"":((e=o[a.value])==null?void 0:e.pageData[r.value])??""}),g=async()=>{const t=await I({id:a.value});o[String(t.id)].pageData=JSON.parse(t.data),o[String(t.id)].pageMeta=t!=null&&t.meta?JSON.parse(t==null?void 0:t.meta):null},P=async()=>{const t=o[a.value];await J({...t,data:JSON.stringify(t.pageData),meta:t!=null&&t.pageMeta?JSON.stringify(t==null?void 0:t.pageMeta):null}),g()};return W(a,()=>{r.value=d.value.findIndex(t=>!t.disabled),g()},{immediate:!0}),(t,e)=>{const f=C,n=E,V=S,N=j("perms");return _(),A("div",F,[G("div",K,[m(f,{shadow:"never",class:"!border-none flex scroll-view-content","body-style":{"padding-right":0}},{default:l(()=>[m(U,{modelValue:i(a),"onUpdate:modelValue":e[0]||(e[0]=s=>v(a)?a.value=s:null),menus:i(o)},null,8,["modelValue","menus"])]),_:1}),m(h,{class:"flex-1 scroll-view-content",modelValue:i(r),"onUpdate:modelValue":e[1]||(e[1]=s=>v(r)?r.value=s:null),onUpdatePageData:x,pageData:i(d),pageMeta:i(y)},null,8,["modelValue","pageData","pageMeta"]),m(B,{class:"w-[560px] scroll-view-content",widget:i(b),"onUpdate:content":M},null,8,["widget"])]),H((_(),$(V,{class:"mt-4",fixed:!1},{default:l(()=>[m(n,{type:"primary",onClick:P},{default:l(()=>[...e[2]||(e[2]=[q("保存",-1)])]),_:1})]),_:1})),[[N,["decorate:pages:save"]]])])}}}),Se=k(Q,[["__scopeId","data-v-8a7bf3bc"]]);export{Se as default}; diff --git a/server/public/admin/assets/index-BLhBiyLa.js b/server/public/admin/assets/index-D0GoVLGM.js similarity index 65% rename from server/public/admin/assets/index-BLhBiyLa.js rename to server/public/admin/assets/index-D0GoVLGM.js index f80b2a97..b50a36e5 100644 --- a/server/public/admin/assets/index-BLhBiyLa.js +++ b/server/public/admin/assets/index-D0GoVLGM.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-Bou06sos.js","assets/element-plus-0wC3naml.js","assets/@vue/runtime-dom-DDAG46FW.js","assets/lodash-D3kF6u-c.js","assets/@vue/runtime-core-C6bnekPw.js","assets/@vue/reactivity-DiY1c2vO.js","assets/@vue/shared-mAAVTE9n.js","assets/@element-plus/icons-vue-HOEUG8sr.js","assets/lodash-es-C2A-Pj28.js","assets/@popperjs/core-C5az9QE8.js","assets/dayjs-DG77mNTn.js","assets/@ctrl/tinycolor-BuyEbX8F.js","assets/async-validator-CFA_igpM.js","assets/normalize-wheel-es-BQoi3Ox2.js","assets/element-plus-C_YxM8bk.css","assets/file-DoYUJmkp.js","assets/index-E47--KT7.js","assets/jspdf-BsthCvR5.js","assets/@babel/runtime-BanGtE2-.js","assets/fflate-_ayOYiT1.js","assets/vue-router-QlpZ4wdW.js","assets/pinia-B8cvXbiZ.js","assets/axios-C80V62Fs.js","assets/@vueuse/core-1S4fJlii.js","assets/@vueuse/shared-Cl3lVqjz.js","assets/css-color-function-DI01JAaZ.js","assets/balanced-match-BdS7OldZ.js","assets/color-B2zxaWkI.js","assets/clone-DBZ6_OiU.js","assets/color-convert-OrFsTA_V.js","assets/color-name-Dju3oUBS.js","assets/color-string-pUQDDJII.js","assets/ms-CzQ2E3wO.js","assets/vue-clipboard3-DByT_rEQ.js","assets/clipboard-CHgxszqY.js","assets/echarts-CNLwa9wG.js","assets/tslib-BDyQ-Jie.js","assets/zrender-DRNXw7y3.js","assets/highlight.js-Bxt7hFFy.js","assets/highlight-BfC0goYb.css","assets/@highlightjs/vue-plugin-C4onkBvW.js","assets/index-Cf-gzPmQ.css","assets/patient-DKQ1nUyC.js","assets/tcm-SLIwsL8z.js","assets/@tencentcloud/chat-uikit-vue3-CLQ__Wr9.js","assets/@tencentcloud/uikit-base-component-vue3-YgTqL4da.js","assets/@tencentcloud/uikit-base-component-vue3-BkrtIuVN.css","assets/tuikit-atomicx-vue3-Dln8Zi6e.js","assets/@tencentcloud/chat-uikit-engine-zx802ozq.js","assets/@tencentcloud/chat-AC2Y2r2A.js","assets/tim-upload-plugin-HO4N4AW9.js","assets/tim-profanity-filter-plugin-Dn_Cf-mP.js","assets/@tencentcloud/tui-core-8M7p1XHw.js","assets/vue-BVs68q8v.js","assets/@vue/compiler-dom-CqayqxS7.js","assets/@vue/compiler-core-CvbQOXIO.js","assets/@tencentcloud/tuiroom-engine-js-Br9swJyU.js","assets/rtc-detect-Chu-fZvE.js","assets/tcplayer.js-qpFBCYzN.js","assets/tuikit-atomicx-vue3-Qhi9ezz1.css","assets/@tencentcloud/chat-uikit-vue3-Cj2eB1Uk.css","assets/im-business-message-parse-QKjFLn3X.js","assets/@tencentcloud/call-uikit-vue-DB7vt9Ht.js","assets/@tencentcloud/call-engine-js-BX2W9Lhf.js","assets/index-BqRj5hg7.css","assets/edit-DlBhR6x6.js","assets/perm-YIJpPBOg.js","assets/DailyMatrix-0DiBlpfB.js","assets/picker-DlbAZkDm.js","assets/index-nymJKQXP.js","assets/index-B3imPWFk.css","assets/index-B56X8bEB.js","assets/index.vue_vue_type_script_setup_true_lang-DXTGI59-.js","assets/index-BHTgr4Ka.js","assets/index-D0f1Mn00.css","assets/index-Ci4dcEQh.js","assets/cos-js-sdk-v5-DSMN0LUT.js","assets/index.vue_vue_type_script_setup_true_lang-Bl0f8aX8.js","assets/usePaging-VsbTxSU0.js","assets/index-BYOmK9R5.css","assets/vuedraggable-5bKFmC7X.js","assets/sortablejs-dsEAUXlE.js","assets/picker-XZbUgFct.css","assets/vue-echarts-BNtg2q_G.js","assets/resize-detector-G6vbKCU7.js","assets/DiagnosisTodoList-DC7uqd6f.js","assets/DiagnosisTodoList-D0SBmTHG.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix-zLBaKfXe.css","assets/CaseRecordList-CsyYkwG-.js","assets/CaseRecordList-Cl-c3q7S.css","assets/CallRecordPanel-CLexkvxf.js","assets/RecordingPlaybackBlock-z0PPBYke.js","assets/RecordingVideoPlayer-DWV7klHs.js","assets/RecordingVideoPlayer-4DegHAwm.css","assets/RecordingPlaybackBlock-B3KYFgvg.css","assets/CallRecordPanel-TsjZtTO8.css","assets/ImChatRecordPanel-DiuuXcLT.js","assets/ImChatRecordPanel-aX8zpWRQ.css","assets/AssignLogPanel-B0ohl4pV.js","assets/AssignLogPanel-BdKOtd2m.css","assets/AppointmentRecordPanel-BZnhzLjC.js","assets/doctor-6V0qM7Ks.js","assets/AppointmentRecordPanel-DC22GDgn.css","assets/NoteTimeline-CDNv1DMC.js","assets/NoteTimeline-CCWIpEBQ.css","assets/PatientOrderList-DQ7QxnQw.js","assets/PatientOrderList-iKx_Cn9B.css","assets/index-kYFkWYEt.js","assets/index-wwnvQhjf.js","assets/medicine-D-OyzCbR.js","assets/index-tfEElgYq.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/html2canvas-QH1iLAAe.js","assets/index-DGbIWVjL.css","assets/edit-z2mn_utb.css","assets/TrackingNoteTimeline-B9T8pFso.css"])))=>i.map(i=>d[i]); -import{_ as qe}from"./jspdf-BsthCvR5.js";import{d as Ye,C as Ze,L as Xe,T as et,r as tt,R as at,i as nt,V as st}from"./element-plus-0wC3naml.js";import{w as ot,s as it,T as lt}from"./@vue/runtime-dom-DDAG46FW.js";import{r as Ie,n as rt,a as ut,b as dt}from"./patient-DKQ1nUyC.js";import ct from"./NoteTimeline-CDNv1DMC.js";import mt from"./PatientInfoCard-BuXf4C8w.js";import pt from"./PatientCaseCard-Dkbl8NTI.js";import vt from"./DailyMatrix-0DiBlpfB.js";import{j as ft}from"./doctor-6V0qM7Ks.js";import{H as gt}from"./tcm-SLIwsL8z.js";import{i as g,_ as _t}from"./index-E47--KT7.js";import{f as ht}from"./diag-display-DCz_VAqj.js";import{N as yt,l as kt,J as St,a6 as Ct}from"./@element-plus/icons-vue-HOEUG8sr.js";import{f as wt,w as Et,b as Dt,n as bt,d as qt,as as It,ak as u,I as h,J as s,a as d,aN as m,aP as B,F as xe,ap as xt,O as b,G as w,H as q,at as Re,P as Ne,A as W}from"./@vue/runtime-core-C6bnekPw.js";import{Q as S,o as J}from"./@vue/shared-mAAVTE9n.js";import{y as a,a as re,n as l}from"./@vue/reactivity-DiY1c2vO.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./picker-DlbAZkDm.js";import"./index-nymJKQXP.js";import"./index-B56X8bEB.js";import"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import"./index-BHTgr4Ka.js";import"./index-Ci4dcEQh.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-DoYUJmkp.js";import"./index.vue_vue_type_script_setup_true_lang-Bl0f8aX8.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./usePaging-VsbTxSU0.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./blood-thresholds-CJ1fqMjh.js";import"./diabetes-discovery-display-B_wmGXQJ.js";import"./vue-echarts-BNtg2q_G.js";import"./resize-detector-G6vbKCU7.js";import"./DiagnosisTodoList-DC7uqd6f.js";import"./perm-YIJpPBOg.js";const Rt={class:"reception-page"},Nt={class:"reception-header"},Tt={class:"header-left"},$t={class:"header-meta"},Vt={class:"header-right"},Pt={class:"live-pill"},Lt={class:"filter-shell"},Mt={class:"filter-tabs"},zt={class:"main-area"},At={class:"queue-col"},jt={class:"queue-panel"},Bt={class:"queue-head"},Ft={class:"queue-title"},Ot={class:"queue-meta"},Ut=["onClick"],Gt={class:"row-name"},Qt={class:"name-line"},Ht={class:"name-meta"},Wt={class:"time-line"},Jt=["disabled","onClick"],Kt=["onClick"],Yt={key:0},Zt={key:1,class:"no-more"},Xt={class:"sidebar"},ea={key:0,class:"placeholder-card"},ta={class:"card note-card"},aa={class:"card metric-card"},na={key:0,class:"float-bar"},ue=5e3,de=15,sa=wt({__name:"index",setup(oa){const Te=Ne(()=>qe(()=>import("./index-Bou06sos.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64]))),$e=Ne(()=>qe(()=>import("./edit-DlBhR6x6.js"),__vite__mapDeps([65,1,2,3,4,5,6,7,8,9,10,11,12,13,14,43,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,66,67,68,69,70,71,72,73,74,75,76,15,77,78,79,80,53,54,55,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,61,98,99,100,101,102,103,104,42,105,106,107,108,109,110,111,112,113,114,115,116]))),_=l(1),y=l([]),F=l(0),K=l(0),Y=l(0),Z=l(1),O=l(!0),U=l(!1),G=l(!1),X=l(!1),c=l(null),v=l(null),ee=l(!1),C=l(""),V=l(!1),P=l(ue/1e3),L=l(null);let I=null,x=null,te=!1,M=!1,E=null,Q=0,R=0;const ae=l(null),H=l(null),ce=l(),me=l(),N=l(!1),z=l(""),ne=l(!1),T=W(()=>{var e;return((e=v.value)==null?void 0:e.appointment)||{}}),k=W(()=>{var e;return((e=v.value)==null?void 0:e.diagnosis)||{}}),Ve=W(()=>{var e;return((e=v.value)==null?void 0:e.doctor_notes)||[]}),Pe=W(()=>{const e=new Date,t=["周日","周一","周二","周三","周四","周五","周六"][e.getDay()],n=o=>String(o).padStart(2,"0");return`${e.getFullYear()}-${n(e.getMonth()+1)}-${n(e.getDate())} ${t}`}),Le=()=>{const e=new Date,t=n=>String(n).padStart(2,"0");return`${e.getFullYear()}-${t(e.getMonth()+1)}-${t(e.getDate())}`},Me=e=>[ht(e.gender),e.age!=null?e.age+"岁":""].filter(n=>n&&n!=="—").join(" "),ze=e=>e?e.replace(/^(\d{2}:\d{2})(:\d{2})?$/,"$1"):"—",se=async(e,t,n)=>{const o=Le(),i=await dt({status:t??_.value,start_date:o,end_date:o,patient_name:(n??C.value)||void 0,page_no:e,page_size:de}),D=(i==null?void 0:i.lists)||(i==null?void 0:i.data)||[],p=Number((i==null?void 0:i.count)??(i==null?void 0:i.total)??0);return{list:D,count:p}},Ae=async(e,t,n)=>{const o=e===1?4:1;try{const{count:i}=await se(1,o,t||void 0);if(n!==Q||_.value!==e||C.value!==t)return;o===1?K.value=i:Y.value=i}catch{}},A=async e=>{const t=(e==null?void 0:e.silent)===!0;if(t&&te)return;const n=++Q,o=_.value,i=C.value,D=(e==null?void 0:e.autoSelect)??!t;te=!0,t||(G.value=!0);try{Z.value=1;const{list:p,count:f}=await se(1,o,i||void 0);if(n!==Q||_.value!==o||C.value!==i)return;y.value=p,F.value=f||p.length,o===1?K.value=f:Y.value=f,O.value=p.length>=de&&y.value.length<(f||0),Ae(o,i,n),c.value&&!p.some(ie=>ie.id===c.value)&&(c.value=null,v.value=null),!c.value&&D&&p.length>0&&await pe(p[0])}catch(p){t||console.error("加载队列失败:",p)}finally{n===Q&&(G.value=!1,te=!1)}},je=async()=>{if(U.value||!O.value)return;const e=_.value,t=C.value;U.value=!0;try{const n=Z.value+1,{list:o,count:i}=await se(n,e,t||void 0);if(_.value!==e||C.value!==t)return;const D=new Set(y.value.map(f=>f.id)),p=o.filter(f=>!D.has(f.id));y.value=[...y.value,...p],Z.value=n,F.value=i||F.value,O.value=o.length>=de&&y.value.length<(i||0)}catch(n){console.error("加载更多失败:",n)}finally{U.value=!1}},Be=async()=>{if(!c.value||M)return;const e=c.value,t=++R;M=!0;try{const n=await Ie({id:e});if(t!==R||c.value!==e)return;v.value=n||v.value}catch{}finally{t===R&&(M=!1)}},pe=async e=>{if(c.value===e.id)return;const t=e.id,n=++R;c.value=e.id,v.value=null,X.value=!0,M=!0,j();try{const o=await Ie({id:t});if(n!==R||c.value!==t)return;v.value=o||null}catch(o){console.error("加载详情失败:",o),g.msgError("加载患者详情失败")}finally{n===R&&(X.value=!1,M=!1)}},ve=async e=>{_.value!==e&&(_.value=e,c.value=null,v.value=null,await A(),j())},fe=async()=>{c.value=null,v.value=null,await A(),j()},Fe=async e=>{var t;if(!e.patient_id){g.msgWarning("患者信息不完整");return}try{const n=await gt({patient_id:e.patient_id,diagnosis_id:e.diagnosis_id||e.id});(t=ce.value)==null||t.open({patientId:e.patient_id,patientName:e.patient_name,diagnosisId:e.diagnosis_id||e.id,signatureData:n})}catch(n){console.error("获取通话签名失败:",n),g.msgError((n==null?void 0:n.message)||"获取通话签名失败")}},Oe=async e=>{if(!L.value){L.value=e.id;try{await rt({id:e.id}),g.msgSuccess(`已通知医助 ${e.assistant_name||""}`),await $()}catch(t){g.msgError((t==null?void 0:t.message)||"通知失败")}finally{L.value=null}}},Ue=()=>{var e,t;(e=k.value)!=null&&e.patient_id&&((t=me.value)==null||t.open("edit",k.value.patient_id))},Ge=async()=>{await $()},$=async()=>{const e=c.value;await A({silent:!0,autoSelect:!1}),e&&c.value===e&&await Be(),j()},Qe=async()=>{var e;if((e=T.value)!=null&&e.id){try{await g.confirm("确认将该患者标记为「已完成接诊」?此操作不可撤销。")}catch{return}ee.value=!0;try{await ft({id:T.value.id}),g.msgSuccess("已完成接诊"),c.value=null,v.value=null,await A({autoSelect:!0}),j()}catch(t){g.msgError((t==null?void 0:t.message)||"操作失败")}finally{ee.value=!1}}},He=async()=>{var n;const e=(n=k.value)==null?void 0:n.id;if(!e){g.msgWarning("当前患者无诊单,无法添加备注");return}const t=z.value.trim();if(!t){g.msgWarning("请输入备注内容");return}ne.value=!0;try{await ut({diagnosis_id:e,content:t}),g.msgSuccess("备注保存成功"),z.value="",N.value=!1,await $()}catch(o){g.msgError((o==null?void 0:o.message)||"保存失败")}finally{ne.value=!1}},We=()=>{P.value=ue/1e3},Je=()=>{x&&clearInterval(x),We(),x=setInterval(()=>{V.value||(P.value>1?P.value-=1:P.value=1)},1e3)},ge=()=>{I&&clearTimeout(I),!V.value&&(Je(),I=setTimeout(async()=>{await $()},ue))},j=()=>{ge()},Ke=()=>{oe(),ge()},oe=()=>{I&&(clearTimeout(I),I=null),x&&(clearInterval(x),x=null)},_e=()=>{V.value=document.hidden,document.hidden?oe():$()},he=e=>{var n;const t=String(((n=e==null?void 0:e.reason)==null?void 0:n.message)||(e==null?void 0:e.reason)||"");/Receiving end does not exist|Could not establish connection/i.test(t)&&e.preventDefault()},ye=()=>{!H.value||!ae.value||(E==null||E.disconnect(),E=new IntersectionObserver(e=>{for(const t of e)t.isIntersecting&&je()},{root:ae.value,rootMargin:"80px",threshold:0}),E.observe(H.value))};return Et(H,()=>ye()),Dt(()=>{A(),Ke(),document.addEventListener("visibilitychange",_e),window.addEventListener("unhandledrejection",he),bt(()=>ye())}),qt(()=>{oe(),E==null||E.disconnect(),document.removeEventListener("visibilitychange",_e),window.removeEventListener("unhandledrejection",he)}),(e,t)=>{var Se,Ce,we,Ee,De;const n=Ye,o=Ze,i=et,D=tt,p=at,f=nt,ie=st,ke=Xe,le=It("perms");return u(),h("div",Rt,[s("div",Nt,[s("div",Tt,[t[8]||(t[8]=s("h1",{class:"header-title"},"接诊台",-1)),s("div",$t,S(a(Pe)),1)]),s("div",Vt,[s("div",Pt,[s("span",{class:J(["live-dot",{paused:a(V)}])},null,2),s("span",null,S(a(V)?"已暂停":`${a(P)}s 后刷新`),1)])])]),s("div",Lt,[d(o,{modelValue:a(C),"onUpdate:modelValue":t[0]||(t[0]=r=>re(C)?C.value=r:null),placeholder:"请输入患者姓名",clearable:"",size:"default",class:"search-input",onKeyup:ot(fe,["enter"]),onClear:fe},{prefix:m(()=>[d(n,null,{default:m(()=>[d(a(yt))]),_:1})]),_:1},8,["modelValue"]),s("div",Mt,[s("span",{class:J(["filter-tab",{active:a(_)===1}]),onClick:t[1]||(t[1]=r=>ve(1))},"待接诊 "+S(a(K))+" 人",3),t[9]||(t[9]=s("span",{class:"filter-sep"},"·",-1)),s("span",{class:J(["filter-tab",{active:a(_)===4}]),onClick:t[2]||(t[2]=r=>ve(4))},"已过号 "+S(a(Y))+" 人",3)])]),s("div",zt,[s("aside",At,[s("div",jt,[s("div",Bt,[s("span",Ft,S(a(_)===1?"待接诊":"已过号"),1),s("span",Ot,S(a(F))+" 人",1)]),B((u(),h("div",{ref_key:"queueScrollRef",ref:ae,class:"queue-list"},[(u(!0),h(xe,null,xt(a(y),r=>(u(),h("div",{key:r.id,class:J(["queue-row",{active:a(c)===r.id,passed:r.status===4}]),onClick:be=>pe(r)},[s("div",Gt,[s("div",Qt,[b(S(r.patient_name||"未命名")+" ",1),s("span",Ht,S(Me(r)),1),r.status===4?(u(),w(i,{key:0,size:"small",type:"warning",class:"ml-1"},{default:m(()=>[...t[10]||(t[10]=[b("已过号",-1)])]),_:1})):q("",!0)]),s("div",Wt,S(ze(r.appointment_time))+" · 医助 "+S(r.assistant_name||"—"),1)]),s("div",{class:"row-actions",onClick:t[3]||(t[3]=it(()=>{},["stop"]))},[d(D,{content:"通知医助(企业微信)",placement:"top"},{default:m(()=>[s("button",{class:"row-icon-btn notify",disabled:a(L)===r.id,onClick:be=>Oe(r)},[a(L)===r.id?(u(),w(n,{key:0,class:"is-loading"},{default:m(()=>[d(a(kt))]),_:1})):(u(),w(n,{key:1},{default:m(()=>[d(a(St))]),_:1}))],8,Jt)]),_:2},1024),d(D,{content:"发起通话",placement:"top"},{default:m(()=>[s("button",{class:"row-icon-btn call",onClick:be=>Fe(r)},[d(n,null,{default:m(()=>[d(a(Ct))]),_:1})],8,Kt)]),_:2},1024)])],10,Ut))),128)),a(y).length>0?(u(),h("div",{key:0,ref_key:"sentinelRef",ref:H,class:"scroll-sentinel"},[a(U)?(u(),h("span",Yt,"加载中…")):a(O)?q("",!0):(u(),h("span",Zt,"— 已全部加载 —"))],512)):q("",!0),!a(G)&&a(y).length===0?(u(),w(p,{key:1,description:"暂无待接诊患者","image-size":64})):q("",!0)])),[[ke,a(G)&&a(y).length===0]])])]),B((u(),h("section",Xt,[a(c)?a(v)?(u(),h(xe,{key:1},[d(mt,{apt:a(T),diag:a(k)},null,8,["apt","diag"]),d(pt,{apt:a(T),diag:a(k)},null,8,["apt","diag"]),s("div",ta,[t[11]||(t[11]=s("div",{class:"card-title"},"医生备注 & 舌苔照片 & 检查报告",-1)),d(ct,{notes:a(Ve),"diagnosis-id":(Se=a(k))==null?void 0:Se.id,onRefresh:$},null,8,["notes","diagnosis-id"])]),s("div",aa,[t[12]||(t[12]=s("div",{class:"card-title"},"日常记录",-1)),d(vt,{"diagnosis-id":Number(((Ce=a(k))==null?void 0:Ce.id)??0),"patient-id":Number(((we=a(k))==null?void 0:we.patient_id)??0),age:((Ee=a(k))==null?void 0:Ee.age)??null,"patient-name":((De=a(k))==null?void 0:De.patient_name)||"","read-only":!0},null,8,["diagnosis-id","patient-id","age","patient-name"])])],64)):q("",!0):(u(),h("div",ea,[d(p,{description:"请从左侧选择一位待接诊患者"})]))])),[[ke,a(X)&&!a(v)]])]),d(lt,{name:"fade"},{default:m(()=>[a(c)&&a(v)?(u(),h("div",na,[B((u(),w(f,{class:"float-action note",size:"large",onClick:t[4]||(t[4]=r=>N.value=!0)},{default:m(()=>[...t[13]||(t[13]=[b(" 备注 ",-1)])]),_:1})),[[le,["doctor.appointment/addDoctorNote"]]]),B((u(),w(f,{class:"float-action edit",size:"large",onClick:Ue},{default:m(()=>[...t[14]||(t[14]=[b(" 编辑病历 ",-1)])]),_:1})),[[le,["tcm.diagnosis/edit"]]]),a(T).status===1||a(T).status===4?B((u(),w(f,{key:0,class:"float-action finish",size:"large",loading:a(ee),onClick:Qe},{default:m(()=>[...t[15]||(t[15]=[b(" 完成接诊 ",-1)])]),_:1},8,["loading"])),[[le,["doctor.appointment/complete"]]]):q("",!0)])):q("",!0)]),_:1}),d(ie,{modelValue:a(N),"onUpdate:modelValue":t[7]||(t[7]=r=>re(N)?N.value=r:null),title:"添加备注",width:"480px","append-to-body":""},{footer:m(()=>[d(f,{onClick:t[6]||(t[6]=r=>N.value=!1)},{default:m(()=>[...t[16]||(t[16]=[b("取消",-1)])]),_:1}),d(f,{type:"primary",loading:a(ne),onClick:He},{default:m(()=>[...t[17]||(t[17]=[b("保存",-1)])]),_:1},8,["loading"])]),default:m(()=>[d(o,{modelValue:a(z),"onUpdate:modelValue":t[5]||(t[5]=r=>re(z)?z.value=r:null),type:"textarea",rows:4,placeholder:"输入今日备注...",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1},8,["modelValue"]),(u(),w(Re(a(Te)),{ref_key:"chatDialogRef",ref:ce},null,512)),(u(),w(Re(a($e)),{ref_key:"diagnosisEditRef",ref:me,onSuccess:Ge},null,544))])}}}),yn=_t(sa,[["__scopeId","data-v-2cfceb5b"]]);export{yn as default}; +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-BzJ9Ke9Q.js","assets/element-plus-DFTWCWyi.js","assets/@vue/runtime-dom-DDAG46FW.js","assets/lodash-D3kF6u-c.js","assets/@vue/runtime-core-C6bnekPw.js","assets/@vue/reactivity-DiY1c2vO.js","assets/@vue/shared-mAAVTE9n.js","assets/@element-plus/icons-vue-HOEUG8sr.js","assets/lodash-es-C2A-Pj28.js","assets/@popperjs/core-C5az9QE8.js","assets/dayjs-DG77mNTn.js","assets/@ctrl/tinycolor-BuyEbX8F.js","assets/async-validator-CFA_igpM.js","assets/normalize-wheel-es-BQoi3Ox2.js","assets/element-plus-C_YxM8bk.css","assets/file-BimpIRb_.js","assets/index-DBREMm_z.js","assets/jspdf-BsthCvR5.js","assets/@babel/runtime-BanGtE2-.js","assets/fflate-_ayOYiT1.js","assets/vue-router-QlpZ4wdW.js","assets/pinia-B8cvXbiZ.js","assets/axios-C80V62Fs.js","assets/@vueuse/core-1S4fJlii.js","assets/@vueuse/shared-Cl3lVqjz.js","assets/css-color-function-DI01JAaZ.js","assets/balanced-match-BdS7OldZ.js","assets/color-B2zxaWkI.js","assets/clone-DBZ6_OiU.js","assets/color-convert-OrFsTA_V.js","assets/color-name-Dju3oUBS.js","assets/color-string-pUQDDJII.js","assets/ms-CzQ2E3wO.js","assets/vue-clipboard3-DByT_rEQ.js","assets/clipboard-CHgxszqY.js","assets/echarts-CNLwa9wG.js","assets/tslib-BDyQ-Jie.js","assets/zrender-DRNXw7y3.js","assets/highlight.js-Bxt7hFFy.js","assets/highlight-BfC0goYb.css","assets/@highlightjs/vue-plugin-C4onkBvW.js","assets/index-3wNXRrXZ.css","assets/patient-DdWkVUZB.js","assets/tcm-BcqaE0lo.js","assets/@tencentcloud/chat-uikit-vue3-CLQ__Wr9.js","assets/@tencentcloud/uikit-base-component-vue3-YgTqL4da.js","assets/@tencentcloud/uikit-base-component-vue3-BkrtIuVN.css","assets/tuikit-atomicx-vue3-Dln8Zi6e.js","assets/@tencentcloud/chat-uikit-engine-zx802ozq.js","assets/@tencentcloud/chat-AC2Y2r2A.js","assets/tim-upload-plugin-HO4N4AW9.js","assets/tim-profanity-filter-plugin-Dn_Cf-mP.js","assets/@tencentcloud/tui-core-8M7p1XHw.js","assets/vue-BVs68q8v.js","assets/@vue/compiler-dom-CqayqxS7.js","assets/@vue/compiler-core-CvbQOXIO.js","assets/@tencentcloud/tuiroom-engine-js-Br9swJyU.js","assets/rtc-detect-Chu-fZvE.js","assets/tcplayer.js-qpFBCYzN.js","assets/tuikit-atomicx-vue3-Qhi9ezz1.css","assets/@tencentcloud/chat-uikit-vue3-Cj2eB1Uk.css","assets/im-business-message-parse-QKjFLn3X.js","assets/@tencentcloud/call-uikit-vue-DB7vt9Ht.js","assets/@tencentcloud/call-engine-js-BX2W9Lhf.js","assets/index-BqRj5hg7.css","assets/edit-BG1q_jZS.js","assets/perm-Bo9eM8XD.js","assets/DailyMatrix-CZKqLaUg.js","assets/picker-BCRrEZaA.js","assets/index-BwF7vczx.js","assets/index-B3imPWFk.css","assets/index-BiPYXDtP.js","assets/index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js","assets/index-CbfZXeGu.js","assets/index-D0f1Mn00.css","assets/index-CRoZWY-W.js","assets/cos-js-sdk-v5-DSMN0LUT.js","assets/index.vue_vue_type_script_setup_true_lang-x0oL2ShL.js","assets/usePaging-VsbTxSU0.js","assets/index-BYOmK9R5.css","assets/vuedraggable-5bKFmC7X.js","assets/sortablejs-dsEAUXlE.js","assets/picker-XZbUgFct.css","assets/vue-echarts-BNtg2q_G.js","assets/resize-detector-G6vbKCU7.js","assets/DiagnosisTodoList-CgT2M9eR.js","assets/DiagnosisTodoList-D0SBmTHG.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix-zLBaKfXe.css","assets/CaseRecordList-X66GZZcg.js","assets/CaseRecordList-Cl-c3q7S.css","assets/CallRecordPanel-D709DmJk.js","assets/RecordingPlaybackBlock-COxLgEiR.js","assets/RecordingVideoPlayer-DJ_BP9x7.js","assets/RecordingVideoPlayer-4DegHAwm.css","assets/RecordingPlaybackBlock-B3KYFgvg.css","assets/CallRecordPanel-TsjZtTO8.css","assets/ImChatRecordPanel-C40Ue1e_.js","assets/ImChatRecordPanel-aX8zpWRQ.css","assets/AssignLogPanel-B1RENXkE.js","assets/AssignLogPanel-BdKOtd2m.css","assets/AppointmentRecordPanel-DH84Bquy.js","assets/doctor-ul0r578d.js","assets/AppointmentRecordPanel-DC22GDgn.css","assets/NoteTimeline-BzPD6QHw.js","assets/NoteTimeline-CCWIpEBQ.css","assets/PatientOrderList-Vzhj0FzC.js","assets/PatientOrderList-iKx_Cn9B.css","assets/index-B91OSiYQ.js","assets/index-DcDP_Tmx.js","assets/medicine-CCdxjQY6.js","assets/index-tfEElgYq.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/html2canvas-QH1iLAAe.js","assets/index-DGbIWVjL.css","assets/edit-z2mn_utb.css","assets/TrackingNoteTimeline-B9T8pFso.css"])))=>i.map(i=>d[i]); +import{_ as Ie}from"./jspdf-BsthCvR5.js";import{d as Ye,C as Ze,L as Xe,T as et,r as tt,R as at,i as nt,V as st}from"./element-plus-DFTWCWyi.js";import{w as ot,s as it,T as lt}from"./@vue/runtime-dom-DDAG46FW.js";import{r as qe,n as rt,a as ut,b as dt}from"./patient-DdWkVUZB.js";import ct from"./NoteTimeline-BzPD6QHw.js";import mt from"./PatientInfoCard-pcwXrrnQ.js";import pt from"./PatientCaseCard-8RzolaE2.js";import vt from"./DailyMatrix-CZKqLaUg.js";import{k as ft}from"./doctor-ul0r578d.js";import{I as gt}from"./tcm-BcqaE0lo.js";import{i as g,_ as _t}from"./index-DBREMm_z.js";import{f as ht}from"./diag-display-DCz_VAqj.js";import{N as yt,l as kt,J as St,a6 as Ct}from"./@element-plus/icons-vue-HOEUG8sr.js";import{f as wt,w as Et,b as Dt,n as bt,d as It,as as qt,ak as u,I as h,J as s,a as d,aN as m,aP as F,F as xe,ap as xt,O as b,G as w,H as I,at as Re,P as Ne,A as H}from"./@vue/runtime-core-C6bnekPw.js";import{Q as S,o as J}from"./@vue/shared-mAAVTE9n.js";import{y as a,a as re,n as l}from"./@vue/reactivity-DiY1c2vO.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./picker-BCRrEZaA.js";import"./index-BwF7vczx.js";import"./index-BiPYXDtP.js";import"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import"./index-CbfZXeGu.js";import"./index-CRoZWY-W.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-BimpIRb_.js";import"./index.vue_vue_type_script_setup_true_lang-x0oL2ShL.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./usePaging-VsbTxSU0.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./blood-thresholds-CJ1fqMjh.js";import"./diabetes-discovery-display-B_wmGXQJ.js";import"./vue-echarts-BNtg2q_G.js";import"./resize-detector-G6vbKCU7.js";import"./DiagnosisTodoList-CgT2M9eR.js";import"./perm-Bo9eM8XD.js";const Rt={class:"reception-page"},Nt={class:"reception-header"},Tt={class:"header-left"},$t={class:"header-meta"},Vt={class:"header-right"},Pt={class:"live-pill"},Lt={class:"filter-shell"},Mt={class:"filter-tabs"},zt={class:"main-area"},At={class:"queue-col"},Bt={class:"queue-panel"},Ft={class:"queue-head"},Ot={class:"queue-title"},Ut={class:"queue-meta"},jt=["onClick"],Gt={class:"row-name"},Qt={class:"name-line"},Wt={class:"name-meta"},Ht={class:"time-line"},Jt=["disabled","onClick"],Kt=["onClick"],Yt={key:0},Zt={key:1,class:"no-more"},Xt={class:"sidebar"},ea={key:0,class:"placeholder-card"},ta={class:"card note-card"},aa={class:"card metric-card"},na={key:0,class:"float-bar"},ue=5e3,de=15,sa=wt({__name:"index",setup(oa){const Te=Ne(()=>Ie(()=>import("./index-BzJ9Ke9Q.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64]))),$e=Ne(()=>Ie(()=>import("./edit-BG1q_jZS.js"),__vite__mapDeps([65,1,2,3,4,5,6,7,8,9,10,11,12,13,14,43,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,66,67,68,69,70,71,72,73,74,75,76,15,77,78,79,80,53,54,55,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,61,98,99,100,101,102,103,104,42,105,106,107,108,109,110,111,112,113,114,115,116]))),_=l(1),y=l([]),O=l(0),K=l(0),Y=l(0),Z=l(1),U=l(!0),j=l(!1),G=l(!1),X=l(!1),c=l(null),v=l(null),ee=l(!1),C=l(""),V=l(!1),P=l(ue/1e3),L=l(null);let q=null,x=null,te=!1,M=!1,E=null,Q=0,R=0;const ae=l(null),W=l(null),ce=l(),me=l(),N=l(!1),z=l(""),ne=l(!1),T=H(()=>{var e;return((e=v.value)==null?void 0:e.appointment)||{}}),k=H(()=>{var e;return((e=v.value)==null?void 0:e.diagnosis)||{}}),Ve=H(()=>{var e;return((e=v.value)==null?void 0:e.doctor_notes)||[]}),Pe=H(()=>{const e=new Date,t=["周日","周一","周二","周三","周四","周五","周六"][e.getDay()],n=o=>String(o).padStart(2,"0");return`${e.getFullYear()}-${n(e.getMonth()+1)}-${n(e.getDate())} ${t}`}),Le=()=>{const e=new Date,t=n=>String(n).padStart(2,"0");return`${e.getFullYear()}-${t(e.getMonth()+1)}-${t(e.getDate())}`},Me=e=>[ht(e.gender),e.age!=null?e.age+"岁":""].filter(n=>n&&n!=="—").join(" "),ze=e=>e?e.replace(/^(\d{2}:\d{2})(:\d{2})?$/,"$1"):"—",se=async(e,t,n)=>{const o=Le(),i=await dt({status:t??_.value,start_date:o,end_date:o,patient_name:(n??C.value)||void 0,page_no:e,page_size:de}),D=(i==null?void 0:i.lists)||(i==null?void 0:i.data)||[],p=Number((i==null?void 0:i.count)??(i==null?void 0:i.total)??0);return{list:D,count:p}},Ae=async(e,t,n)=>{const o=e===1?4:1;try{const{count:i}=await se(1,o,t||void 0);if(n!==Q||_.value!==e||C.value!==t)return;o===1?K.value=i:Y.value=i}catch{}},A=async e=>{const t=(e==null?void 0:e.silent)===!0;if(t&&te)return;const n=++Q,o=_.value,i=C.value,D=(e==null?void 0:e.autoSelect)??!t;te=!0,t||(G.value=!0);try{Z.value=1;const{list:p,count:f}=await se(1,o,i||void 0);if(n!==Q||_.value!==o||C.value!==i)return;y.value=p,O.value=f||p.length,o===1?K.value=f:Y.value=f,U.value=p.length>=de&&y.value.length<(f||0),Ae(o,i,n),c.value&&!p.some(ie=>ie.id===c.value)&&(c.value=null,v.value=null),!c.value&&D&&p.length>0&&await pe(p[0])}catch(p){t||console.error("加载队列失败:",p)}finally{n===Q&&(G.value=!1,te=!1)}},Be=async()=>{if(j.value||!U.value)return;const e=_.value,t=C.value;j.value=!0;try{const n=Z.value+1,{list:o,count:i}=await se(n,e,t||void 0);if(_.value!==e||C.value!==t)return;const D=new Set(y.value.map(f=>f.id)),p=o.filter(f=>!D.has(f.id));y.value=[...y.value,...p],Z.value=n,O.value=i||O.value,U.value=o.length>=de&&y.value.length<(i||0)}catch(n){console.error("加载更多失败:",n)}finally{j.value=!1}},Fe=async()=>{if(!c.value||M)return;const e=c.value,t=++R;M=!0;try{const n=await qe({id:e});if(t!==R||c.value!==e)return;v.value=n||v.value}catch{}finally{t===R&&(M=!1)}},pe=async e=>{if(c.value===e.id)return;const t=e.id,n=++R;c.value=e.id,v.value=null,X.value=!0,M=!0,B();try{const o=await qe({id:t});if(n!==R||c.value!==t)return;v.value=o||null}catch(o){console.error("加载详情失败:",o),g.msgError("加载患者详情失败")}finally{n===R&&(X.value=!1,M=!1)}},ve=async e=>{_.value!==e&&(_.value=e,c.value=null,v.value=null,await A(),B())},fe=async()=>{c.value=null,v.value=null,await A(),B()},Oe=async e=>{var t;if(!e.patient_id){g.msgWarning("患者信息不完整");return}try{const n=await gt({patient_id:e.patient_id,diagnosis_id:e.diagnosis_id||e.id});(t=ce.value)==null||t.open({patientId:e.patient_id,patientName:e.patient_name,diagnosisId:e.diagnosis_id||e.id,signatureData:n})}catch(n){console.error("获取通话签名失败:",n),g.msgError((n==null?void 0:n.message)||"获取通话签名失败")}},Ue=async e=>{if(!L.value){L.value=e.id;try{await rt({id:e.id}),g.msgSuccess(`已通知医助 ${e.assistant_name||""}`),await $()}catch(t){g.msgError((t==null?void 0:t.message)||"通知失败")}finally{L.value=null}}},je=()=>{var e,t;(e=k.value)!=null&&e.patient_id&&((t=me.value)==null||t.open("edit",k.value.patient_id))},Ge=async()=>{await $()},$=async()=>{const e=c.value;await A({silent:!0,autoSelect:!1}),e&&c.value===e&&await Fe(),B()},Qe=async()=>{var e;if((e=T.value)!=null&&e.id){try{await g.confirm("确认将该患者标记为「已完成接诊」?此操作不可撤销。")}catch{return}ee.value=!0;try{await ft({id:T.value.id}),g.msgSuccess("已完成接诊"),c.value=null,v.value=null,await A({autoSelect:!0}),B()}catch(t){g.msgError((t==null?void 0:t.message)||"操作失败")}finally{ee.value=!1}}},We=async()=>{var n;const e=(n=k.value)==null?void 0:n.id;if(!e){g.msgWarning("当前患者无诊单,无法添加备注");return}const t=z.value.trim();if(!t){g.msgWarning("请输入备注内容");return}ne.value=!0;try{await ut({diagnosis_id:e,content:t}),g.msgSuccess("备注保存成功"),z.value="",N.value=!1,await $()}catch(o){g.msgError((o==null?void 0:o.message)||"保存失败")}finally{ne.value=!1}},He=()=>{P.value=ue/1e3},Je=()=>{x&&clearInterval(x),He(),x=setInterval(()=>{V.value||(P.value>1?P.value-=1:P.value=1)},1e3)},ge=()=>{q&&clearTimeout(q),!V.value&&(Je(),q=setTimeout(async()=>{await $()},ue))},B=()=>{ge()},Ke=()=>{oe(),ge()},oe=()=>{q&&(clearTimeout(q),q=null),x&&(clearInterval(x),x=null)},_e=()=>{V.value=document.hidden,document.hidden?oe():$()},he=e=>{var n;const t=String(((n=e==null?void 0:e.reason)==null?void 0:n.message)||(e==null?void 0:e.reason)||"");/Receiving end does not exist|Could not establish connection/i.test(t)&&e.preventDefault()},ye=()=>{!W.value||!ae.value||(E==null||E.disconnect(),E=new IntersectionObserver(e=>{for(const t of e)t.isIntersecting&&Be()},{root:ae.value,rootMargin:"80px",threshold:0}),E.observe(W.value))};return Et(W,()=>ye()),Dt(()=>{A(),Ke(),document.addEventListener("visibilitychange",_e),window.addEventListener("unhandledrejection",he),bt(()=>ye())}),It(()=>{oe(),E==null||E.disconnect(),document.removeEventListener("visibilitychange",_e),window.removeEventListener("unhandledrejection",he)}),(e,t)=>{var Se,Ce,we,Ee,De;const n=Ye,o=Ze,i=et,D=tt,p=at,f=nt,ie=st,ke=Xe,le=qt("perms");return u(),h("div",Rt,[s("div",Nt,[s("div",Tt,[t[8]||(t[8]=s("h1",{class:"header-title"},"接诊台",-1)),s("div",$t,S(a(Pe)),1)]),s("div",Vt,[s("div",Pt,[s("span",{class:J(["live-dot",{paused:a(V)}])},null,2),s("span",null,S(a(V)?"已暂停":`${a(P)}s 后刷新`),1)])])]),s("div",Lt,[d(o,{modelValue:a(C),"onUpdate:modelValue":t[0]||(t[0]=r=>re(C)?C.value=r:null),placeholder:"请输入患者姓名",clearable:"",size:"default",class:"search-input",onKeyup:ot(fe,["enter"]),onClear:fe},{prefix:m(()=>[d(n,null,{default:m(()=>[d(a(yt))]),_:1})]),_:1},8,["modelValue"]),s("div",Mt,[s("span",{class:J(["filter-tab",{active:a(_)===1}]),onClick:t[1]||(t[1]=r=>ve(1))},"待接诊 "+S(a(K))+" 人",3),t[9]||(t[9]=s("span",{class:"filter-sep"},"·",-1)),s("span",{class:J(["filter-tab",{active:a(_)===4}]),onClick:t[2]||(t[2]=r=>ve(4))},"已过号 "+S(a(Y))+" 人",3)])]),s("div",zt,[s("aside",At,[s("div",Bt,[s("div",Ft,[s("span",Ot,S(a(_)===1?"待接诊":"已过号"),1),s("span",Ut,S(a(O))+" 人",1)]),F((u(),h("div",{ref_key:"queueScrollRef",ref:ae,class:"queue-list"},[(u(!0),h(xe,null,xt(a(y),r=>(u(),h("div",{key:r.id,class:J(["queue-row",{active:a(c)===r.id,passed:r.status===4}]),onClick:be=>pe(r)},[s("div",Gt,[s("div",Qt,[b(S(r.patient_name||"未命名")+" ",1),s("span",Wt,S(Me(r)),1),r.status===4?(u(),w(i,{key:0,size:"small",type:"warning",class:"ml-1"},{default:m(()=>[...t[10]||(t[10]=[b("已过号",-1)])]),_:1})):I("",!0)]),s("div",Ht,S(ze(r.appointment_time))+" · 医助 "+S(r.assistant_name||"—"),1)]),s("div",{class:"row-actions",onClick:t[3]||(t[3]=it(()=>{},["stop"]))},[d(D,{content:"通知医助(企业微信)",placement:"top"},{default:m(()=>[s("button",{class:"row-icon-btn notify",disabled:a(L)===r.id,onClick:be=>Ue(r)},[a(L)===r.id?(u(),w(n,{key:0,class:"is-loading"},{default:m(()=>[d(a(kt))]),_:1})):(u(),w(n,{key:1},{default:m(()=>[d(a(St))]),_:1}))],8,Jt)]),_:2},1024),d(D,{content:"发起通话",placement:"top"},{default:m(()=>[s("button",{class:"row-icon-btn call",onClick:be=>Oe(r)},[d(n,null,{default:m(()=>[d(a(Ct))]),_:1})],8,Kt)]),_:2},1024)])],10,jt))),128)),a(y).length>0?(u(),h("div",{key:0,ref_key:"sentinelRef",ref:W,class:"scroll-sentinel"},[a(j)?(u(),h("span",Yt,"加载中…")):a(U)?I("",!0):(u(),h("span",Zt,"— 已全部加载 —"))],512)):I("",!0),!a(G)&&a(y).length===0?(u(),w(p,{key:1,description:"暂无待接诊患者","image-size":64})):I("",!0)])),[[ke,a(G)&&a(y).length===0]])])]),F((u(),h("section",Xt,[a(c)?a(v)?(u(),h(xe,{key:1},[d(mt,{apt:a(T),diag:a(k)},null,8,["apt","diag"]),d(pt,{apt:a(T),diag:a(k)},null,8,["apt","diag"]),s("div",ta,[t[11]||(t[11]=s("div",{class:"card-title"},"医生备注 & 舌苔照片 & 检查报告",-1)),d(ct,{notes:a(Ve),"diagnosis-id":(Se=a(k))==null?void 0:Se.id,onRefresh:$},null,8,["notes","diagnosis-id"])]),s("div",aa,[t[12]||(t[12]=s("div",{class:"card-title"},"日常记录",-1)),d(vt,{"diagnosis-id":Number(((Ce=a(k))==null?void 0:Ce.id)??0),"patient-id":Number(((we=a(k))==null?void 0:we.patient_id)??0),age:((Ee=a(k))==null?void 0:Ee.age)??null,"patient-name":((De=a(k))==null?void 0:De.patient_name)||"","read-only":!0},null,8,["diagnosis-id","patient-id","age","patient-name"])])],64)):I("",!0):(u(),h("div",ea,[d(p,{description:"请从左侧选择一位待接诊患者"})]))])),[[ke,a(X)&&!a(v)]])]),d(lt,{name:"fade"},{default:m(()=>[a(c)&&a(v)?(u(),h("div",na,[F((u(),w(f,{class:"float-action note",size:"large",onClick:t[4]||(t[4]=r=>N.value=!0)},{default:m(()=>[...t[13]||(t[13]=[b(" 备注 ",-1)])]),_:1})),[[le,["doctor.appointment/addDoctorNote"]]]),F((u(),w(f,{class:"float-action edit",size:"large",onClick:je},{default:m(()=>[...t[14]||(t[14]=[b(" 编辑病历 ",-1)])]),_:1})),[[le,["tcm.diagnosis/edit"]]]),a(T).status===1||a(T).status===4?F((u(),w(f,{key:0,class:"float-action finish",size:"large",loading:a(ee),onClick:Qe},{default:m(()=>[...t[15]||(t[15]=[b(" 完成接诊 ",-1)])]),_:1},8,["loading"])),[[le,["doctor.appointment/complete"]]]):I("",!0)])):I("",!0)]),_:1}),d(ie,{modelValue:a(N),"onUpdate:modelValue":t[7]||(t[7]=r=>re(N)?N.value=r:null),title:"添加备注",width:"480px","append-to-body":""},{footer:m(()=>[d(f,{onClick:t[6]||(t[6]=r=>N.value=!1)},{default:m(()=>[...t[16]||(t[16]=[b("取消",-1)])]),_:1}),d(f,{type:"primary",loading:a(ne),onClick:We},{default:m(()=>[...t[17]||(t[17]=[b("保存",-1)])]),_:1},8,["loading"])]),default:m(()=>[d(o,{modelValue:a(z),"onUpdate:modelValue":t[5]||(t[5]=r=>re(z)?z.value=r:null),type:"textarea",rows:4,placeholder:"输入今日备注...",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1},8,["modelValue"]),(u(),w(Re(a(Te)),{ref_key:"chatDialogRef",ref:ce},null,512)),(u(),w(Re(a($e)),{ref_key:"diagnosisEditRef",ref:me,onSuccess:Ge},null,544))])}}}),yn=_t(sa,[["__scopeId","data-v-2cfceb5b"]]);export{yn as default}; diff --git a/server/public/admin/assets/index-PPsi8ojx.js b/server/public/admin/assets/index-DAHlNz9_.js similarity index 94% rename from server/public/admin/assets/index-PPsi8ojx.js rename to server/public/admin/assets/index-DAHlNz9_.js index 1dddfde6..de3649c1 100644 --- a/server/public/admin/assets/index-PPsi8ojx.js +++ b/server/public/admin/assets/index-DAHlNz9_.js @@ -1 +1 @@ -import{D as T,B as $,C as j,P as q,Q as A,i as J,J as z,M as G,N as H,g as M,L as Q}from"./element-plus-0wC3naml.js";import{_ as W}from"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import{k as C,c as X,h as Y,i as Z}from"./index-E47--KT7.js";import{w as ee}from"./@vue/runtime-dom-DDAG46FW.js";import{k as te,l as ae,m as le,j as oe}from"./article-DJnP6RZd.js";import{u as ie}from"./useDictOptions-CypOxw17.js";import{u as ne}from"./usePaging-VsbTxSU0.js";import{f as D,ac as re,ar as se,as as me,ak as r,I as E,a as e,aN as a,F as pe,ap as de,G as m,O as u,J as x,aP as _,H as ce}from"./@vue/runtime-core-C6bnekPw.js";import{y as o,a as ue,r as _e}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const fe={class:"article-lists"},we={class:"flex justify-end mt-4"},be=D({name:"articleLists"}),nt=D({...be,setup(ve){const n=_e({title:"",cid:"",is_show:""}),{pager:p,getLists:s,resetPage:h,resetParams:P}=ne({fetchFun:te,params:n}),{optionsData:B}=ie({article_cate:{api:oe}}),L=async(f,l)=>{try{await ae({id:l,is_show:f}),s()}catch{s()}},N=async f=>{await Z.confirm("确定要删除?"),await le({id:f}),s()};return re(()=>{s()}),s(),(f,l)=>{const g=j,w=$,d=A,k=q,c=J,U=T,V=z,F=X,y=se("router-link"),i=H,S=Y,I=M,K=G,O=W,b=me("perms"),R=Q;return r(),E("div",fe,[e(V,{class:"!border-none",shadow:"never"},{default:a(()=>[e(U,{ref:"formRef",class:"mb-[-16px]",model:o(n),inline:!0},{default:a(()=>[e(w,{class:"w-[280px]",label:"文章标题"},{default:a(()=>[e(g,{modelValue:o(n).title,"onUpdate:modelValue":l[0]||(l[0]=t=>o(n).title=t),placeholder:"输入文章标题",clearable:"",onKeyup:ee(o(h),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(w,{class:"w-[280px]",label:"栏目名称"},{default:a(()=>[e(k,{modelValue:o(n).cid,"onUpdate:modelValue":l[1]||(l[1]=t=>o(n).cid=t)},{default:a(()=>[e(d,{label:"全部",value:""}),(r(!0),E(pe,null,de(o(B).article_cate,t=>(r(),m(d,{key:t.id,label:t.name,value:t.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),e(w,{class:"w-[280px]",label:"文章状态"},{default:a(()=>[e(k,{modelValue:o(n).is_show,"onUpdate:modelValue":l[2]||(l[2]=t=>o(n).is_show=t)},{default:a(()=>[e(d,{label:"全部",value:""}),e(d,{label:"显示",value:1}),e(d,{label:"隐藏",value:0})]),_:1},8,["modelValue"])]),_:1}),e(w,null,{default:a(()=>[e(c,{type:"primary",onClick:o(h)},{default:a(()=>[...l[4]||(l[4]=[u("查询",-1)])]),_:1},8,["onClick"]),e(c,{onClick:o(P)},{default:a(()=>[...l[5]||(l[5]=[u("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),e(V,{class:"!border-none mt-4",shadow:"never"},{default:a(()=>[x("div",null,[_((r(),m(y,{to:{path:o(C)("article.article/add:edit")}},{default:a(()=>[e(c,{type:"primary",class:"mb-4"},{icon:a(()=>[e(F,{name:"el-icon-Plus"})]),default:a(()=>[l[6]||(l[6]=u(" 发布文章 ",-1))]),_:1})]),_:1},8,["to"])),[[b,["article.article/add","article.article/add:edit"]]])]),_((r(),m(K,{size:"large",data:o(p).lists},{default:a(()=>[e(i,{label:"ID",prop:"id","min-width":"80"}),e(i,{label:"封面","min-width":"100"},{default:a(({row:t})=>[t.image?(r(),m(S,{key:0,src:t.image,width:60,height:45,"preview-src-list":[t.image],"preview-teleported":"",fit:"contain"},null,8,["src","preview-src-list"])):ce("",!0)]),_:1}),e(i,{label:"标题",prop:"title","min-width":"160","show-tooltip-when-overflow":""}),e(i,{label:"栏目",prop:"cate_name","min-width":"100"}),e(i,{label:"作者",prop:"author","min-width":"120"}),e(i,{label:"浏览量",prop:"click","min-width":"100"}),e(i,{label:"状态","min-width":"100"},{default:a(({row:t})=>[_(e(I,{modelValue:t.is_show,"onUpdate:modelValue":v=>t.is_show=v,"active-value":1,"inactive-value":0,onChange:v=>L(v,t.id)},null,8,["modelValue","onUpdate:modelValue","onChange"]),[[b,["article.article/updateStatus"]]])]),_:1}),e(i,{label:"排序",prop:"sort","min-width":"100"}),e(i,{label:"发布时间",prop:"create_time","min-width":"120"}),e(i,{label:"操作",width:"120",fixed:"right"},{default:a(({row:t})=>[_((r(),m(c,{type:"primary",link:""},{default:a(()=>[e(y,{to:{path:o(C)("article.article/add:edit"),query:{id:t.id}}},{default:a(()=>[...l[7]||(l[7]=[u(" 编辑 ",-1)])]),_:1},8,["to"])]),_:2},1024)),[[b,["article.article/edit","article.article/add:edit"]]]),_((r(),m(c,{type:"danger",link:"",onClick:v=>N(t.id)},{default:a(()=>[...l[8]||(l[8]=[u(" 删除 ",-1)])]),_:1},8,["onClick"])),[[b,["article.article/delete"]]])]),_:1})]),_:1},8,["data"])),[[R,o(p).loading]]),x("div",we,[e(O,{modelValue:o(p),"onUpdate:modelValue":l[3]||(l[3]=t=>ue(p)?p.value=t:null),onChange:o(s)},null,8,["modelValue","onChange"])])]),_:1})])}}});export{nt as default}; +import{D as T,B as $,C as j,P as q,Q as A,i as J,J as z,M as G,N as H,g as M,L as Q}from"./element-plus-DFTWCWyi.js";import{_ as W}from"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import{k as C,c as X,h as Y,i as Z}from"./index-DBREMm_z.js";import{w as ee}from"./@vue/runtime-dom-DDAG46FW.js";import{k as te,l as ae,m as le,j as oe}from"./article-BnVIxFkr.js";import{u as ie}from"./useDictOptions-Dl6xXBty.js";import{u as ne}from"./usePaging-VsbTxSU0.js";import{f as D,ac as re,ar as se,as as me,ak as r,I as E,a as e,aN as a,F as pe,ap as de,G as m,O as u,J as x,aP as _,H as ce}from"./@vue/runtime-core-C6bnekPw.js";import{y as o,a as ue,r as _e}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const fe={class:"article-lists"},we={class:"flex justify-end mt-4"},be=D({name:"articleLists"}),nt=D({...be,setup(ve){const n=_e({title:"",cid:"",is_show:""}),{pager:p,getLists:s,resetPage:h,resetParams:P}=ne({fetchFun:te,params:n}),{optionsData:B}=ie({article_cate:{api:oe}}),L=async(f,l)=>{try{await ae({id:l,is_show:f}),s()}catch{s()}},N=async f=>{await Z.confirm("确定要删除?"),await le({id:f}),s()};return re(()=>{s()}),s(),(f,l)=>{const g=j,w=$,d=A,k=q,c=J,U=T,V=z,F=X,y=se("router-link"),i=H,S=Y,I=M,K=G,O=W,b=me("perms"),R=Q;return r(),E("div",fe,[e(V,{class:"!border-none",shadow:"never"},{default:a(()=>[e(U,{ref:"formRef",class:"mb-[-16px]",model:o(n),inline:!0},{default:a(()=>[e(w,{class:"w-[280px]",label:"文章标题"},{default:a(()=>[e(g,{modelValue:o(n).title,"onUpdate:modelValue":l[0]||(l[0]=t=>o(n).title=t),placeholder:"输入文章标题",clearable:"",onKeyup:ee(o(h),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(w,{class:"w-[280px]",label:"栏目名称"},{default:a(()=>[e(k,{modelValue:o(n).cid,"onUpdate:modelValue":l[1]||(l[1]=t=>o(n).cid=t)},{default:a(()=>[e(d,{label:"全部",value:""}),(r(!0),E(pe,null,de(o(B).article_cate,t=>(r(),m(d,{key:t.id,label:t.name,value:t.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),e(w,{class:"w-[280px]",label:"文章状态"},{default:a(()=>[e(k,{modelValue:o(n).is_show,"onUpdate:modelValue":l[2]||(l[2]=t=>o(n).is_show=t)},{default:a(()=>[e(d,{label:"全部",value:""}),e(d,{label:"显示",value:1}),e(d,{label:"隐藏",value:0})]),_:1},8,["modelValue"])]),_:1}),e(w,null,{default:a(()=>[e(c,{type:"primary",onClick:o(h)},{default:a(()=>[...l[4]||(l[4]=[u("查询",-1)])]),_:1},8,["onClick"]),e(c,{onClick:o(P)},{default:a(()=>[...l[5]||(l[5]=[u("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),e(V,{class:"!border-none mt-4",shadow:"never"},{default:a(()=>[x("div",null,[_((r(),m(y,{to:{path:o(C)("article.article/add:edit")}},{default:a(()=>[e(c,{type:"primary",class:"mb-4"},{icon:a(()=>[e(F,{name:"el-icon-Plus"})]),default:a(()=>[l[6]||(l[6]=u(" 发布文章 ",-1))]),_:1})]),_:1},8,["to"])),[[b,["article.article/add","article.article/add:edit"]]])]),_((r(),m(K,{size:"large",data:o(p).lists},{default:a(()=>[e(i,{label:"ID",prop:"id","min-width":"80"}),e(i,{label:"封面","min-width":"100"},{default:a(({row:t})=>[t.image?(r(),m(S,{key:0,src:t.image,width:60,height:45,"preview-src-list":[t.image],"preview-teleported":"",fit:"contain"},null,8,["src","preview-src-list"])):ce("",!0)]),_:1}),e(i,{label:"标题",prop:"title","min-width":"160","show-tooltip-when-overflow":""}),e(i,{label:"栏目",prop:"cate_name","min-width":"100"}),e(i,{label:"作者",prop:"author","min-width":"120"}),e(i,{label:"浏览量",prop:"click","min-width":"100"}),e(i,{label:"状态","min-width":"100"},{default:a(({row:t})=>[_(e(I,{modelValue:t.is_show,"onUpdate:modelValue":v=>t.is_show=v,"active-value":1,"inactive-value":0,onChange:v=>L(v,t.id)},null,8,["modelValue","onUpdate:modelValue","onChange"]),[[b,["article.article/updateStatus"]]])]),_:1}),e(i,{label:"排序",prop:"sort","min-width":"100"}),e(i,{label:"发布时间",prop:"create_time","min-width":"120"}),e(i,{label:"操作",width:"120",fixed:"right"},{default:a(({row:t})=>[_((r(),m(c,{type:"primary",link:""},{default:a(()=>[e(y,{to:{path:o(C)("article.article/add:edit"),query:{id:t.id}}},{default:a(()=>[...l[7]||(l[7]=[u(" 编辑 ",-1)])]),_:1},8,["to"])]),_:2},1024)),[[b,["article.article/edit","article.article/add:edit"]]]),_((r(),m(c,{type:"danger",link:"",onClick:v=>N(t.id)},{default:a(()=>[...l[8]||(l[8]=[u(" 删除 ",-1)])]),_:1},8,["onClick"])),[[b,["article.article/delete"]]])]),_:1})]),_:1},8,["data"])),[[R,o(p).loading]]),x("div",we,[e(O,{modelValue:o(p),"onUpdate:modelValue":l[3]||(l[3]=t=>ue(p)?p.value=t:null),onChange:o(s)},null,8,["modelValue","onChange"])])]),_:1})])}}});export{nt as default}; diff --git a/server/public/admin/assets/index-DBREMm_z.js b/server/public/admin/assets/index-DBREMm_z.js new file mode 100644 index 00000000..70bc2bf4 --- /dev/null +++ b/server/public/admin/assets/index-DBREMm_z.js @@ -0,0 +1,2 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/404-CYPI5auS.js","assets/error-CyjCcUCY.js","assets/element-plus-DFTWCWyi.js","assets/@vue/runtime-dom-DDAG46FW.js","assets/lodash-D3kF6u-c.js","assets/@vue/runtime-core-C6bnekPw.js","assets/@vue/reactivity-DiY1c2vO.js","assets/@vue/shared-mAAVTE9n.js","assets/@element-plus/icons-vue-HOEUG8sr.js","assets/lodash-es-C2A-Pj28.js","assets/@popperjs/core-C5az9QE8.js","assets/dayjs-DG77mNTn.js","assets/@ctrl/tinycolor-BuyEbX8F.js","assets/async-validator-CFA_igpM.js","assets/normalize-wheel-es-BQoi3Ox2.js","assets/element-plus-C_YxM8bk.css","assets/vue-router-QlpZ4wdW.js","assets/jspdf-BsthCvR5.js","assets/@babel/runtime-BanGtE2-.js","assets/fflate-_ayOYiT1.js","assets/pinia-B8cvXbiZ.js","assets/axios-C80V62Fs.js","assets/@vueuse/core-1S4fJlii.js","assets/@vueuse/shared-Cl3lVqjz.js","assets/css-color-function-DI01JAaZ.js","assets/balanced-match-BdS7OldZ.js","assets/color-B2zxaWkI.js","assets/clone-DBZ6_OiU.js","assets/color-convert-OrFsTA_V.js","assets/color-name-Dju3oUBS.js","assets/color-string-pUQDDJII.js","assets/ms-CzQ2E3wO.js","assets/vue-clipboard3-DByT_rEQ.js","assets/clipboard-CHgxszqY.js","assets/echarts-CNLwa9wG.js","assets/tslib-BDyQ-Jie.js","assets/zrender-DRNXw7y3.js","assets/highlight.js-Bxt7hFFy.js","assets/highlight-BfC0goYb.css","assets/@highlightjs/vue-plugin-C4onkBvW.js","assets/error-Cz3CexuM.css","assets/403-s-2fq8XB.js","assets/login-BXCcNT2S.js","assets/useLockFn-X4Qce5KO.js","assets/footer.vue_vue_type_script_setup_true_lang-CGxuEXz5.js","assets/login-Bt4SvQsz.css","assets/change-password-CSbxsbOa.js","assets/change-password-DRfsLJ26.css","assets/bind-work-wechat-CWkTPdoN.js","assets/wecomOauthPostMessage-C_e6VGrO.js","assets/bind-work-wechat-BX1gqwq1.css","assets/setting-H_keQ8CE.js","assets/index-x1zzA0a7.js","assets/index-DoFDMZdP.css","assets/picker-BCRrEZaA.js","assets/index-BwF7vczx.js","assets/index-B3imPWFk.css","assets/index-BiPYXDtP.js","assets/index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js","assets/index-CbfZXeGu.js","assets/index-D0f1Mn00.css","assets/index-CRoZWY-W.js","assets/cos-js-sdk-v5-DSMN0LUT.js","assets/file-BimpIRb_.js","assets/index.vue_vue_type_script_setup_true_lang-x0oL2ShL.js","assets/usePaging-VsbTxSU0.js","assets/index-BYOmK9R5.css","assets/vuedraggable-5bKFmC7X.js","assets/vue-BVs68q8v.js","assets/@vue/compiler-dom-CqayqxS7.js","assets/@vue/compiler-core-CvbQOXIO.js","assets/sortablejs-dsEAUXlE.js","assets/picker-XZbUgFct.css","assets/setting-CxqqGetv.css","assets/progress-DM-687gY.js","assets/doctor-ul0r578d.js","assets/progress-CQXIT7YT.css","assets/pc_details-BuqzzP4c.js","assets/decoration-C799ML-U.js","assets/preview-pc-C3rY5bdw.js","assets/index-BHHQOM-n.js","assets/attr-BsXOKCNj.js","assets/picker-DPnqJ8Gk.js","assets/article-BnVIxFkr.js","assets/picker-JBYDNsl5.css","assets/attr-lNortPsv.css","assets/content.vue_vue_type_script_setup_true_lang-u1kTovEN.js","assets/decoration-img-CZLpkXPN.js","assets/decoration-img-C5XvHl9_.css","assets/attr.vue_vue_type_script_setup_true_lang-c_YeWJqI.js","assets/content-Dyki4H78.js","assets/content-DXAsZ7EV.css","assets/attr.vue_vue_type_script_setup_true_lang-Dy891kIt.js","assets/content.vue_vue_type_script_setup_true_lang-uukcy-Ti.js","assets/attr.vue_vue_type_script_setup_true_lang-6A60mJbu.js","assets/add-nav.vue_vue_type_script_setup_true_lang-BN-blUPj.js","assets/content-Sf3nxxVG.js","assets/content-Dy_alH9u.css","assets/attr.vue_vue_type_script_setup_true_lang-Ca7p7CQy.js","assets/content.vue_vue_type_script_setup_true_lang-B-SEL-YW.js","assets/attr.vue_vue_type_script_setup_true_lang-DnkDutJb.js","assets/content-DblaaeJD.js","assets/content-Cl-9UIip.css","assets/attr.vue_vue_type_script_setup_true_lang-BnCnHgo6.js","assets/index.vue_vue_type_script_setup_true_lang-3vCdLVB9.js","assets/content-PkioGtTh.js","assets/content.vue_vue_type_script_setup_true_lang-BK6uSq1e.js","assets/attr.vue_vue_type_script_setup_true_lang-ChKJn1wI.js","assets/content-BeOu4XYf.js","assets/content-Bd3rHJ5J.css","assets/attr.vue_vue_type_script_setup_true_lang-mOGAGDW2.js","assets/content.vue_vue_type_script_setup_true_lang-DtEQqPIi.js","assets/attr.vue_vue_type_script_setup_true_lang-9MDVGbdQ.js","assets/content-C_MRybMI.js","assets/content-DxNvUNZR.css","assets/preview-pc-BRQDo0AR.css","assets/pc_details-nlJo1_D0.css","assets/h5-Bbv5vJWD.js","assets/fans-KouiHeJ-.js","assets/h5-BSFcFSny.css","assets/index_h5-kGvFYcr5.js","assets/tcm-BcqaE0lo.js","assets/order-DLqQxjqO.js","assets/weapp-Bi3HP3df.js","assets/perm-Bo9eM8XD.js","assets/index_h5-B4VTGZps.css","assets/readonly-okM0Gs_x.js","assets/patient-DdWkVUZB.js","assets/diag-display-DCz_VAqj.js","assets/PatientInfoCard-pcwXrrnQ.js","assets/PatientInfoCard-BrBnXtc9.css","assets/PatientCaseCard-8RzolaE2.js","assets/blood-thresholds-CJ1fqMjh.js","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/PatientCaseCard-De53cbHo.css","assets/DailyMatrix-CZKqLaUg.js","assets/vue-echarts-BNtg2q_G.js","assets/resize-detector-G6vbKCU7.js","assets/DiagnosisTodoList-CgT2M9eR.js","assets/DiagnosisTodoList-D0SBmTHG.css","assets/DailyMatrix-zLBaKfXe.css","assets/CallRecordPanel-D709DmJk.js","assets/RecordingPlaybackBlock-COxLgEiR.js","assets/RecordingVideoPlayer-DJ_BP9x7.js","assets/RecordingVideoPlayer-4DegHAwm.css","assets/RecordingPlaybackBlock-B3KYFgvg.css","assets/CallRecordPanel-TsjZtTO8.css","assets/ImChatRecordPanel-C40Ue1e_.js","assets/im-business-message-parse-QKjFLn3X.js","assets/ImChatRecordPanel-aX8zpWRQ.css","assets/AssignLogPanel-B1RENXkE.js","assets/AssignLogPanel-BdKOtd2m.css","assets/AppointmentRecordPanel-DH84Bquy.js","assets/AppointmentRecordPanel-DC22GDgn.css","assets/PatientOrderList-Vzhj0FzC.js","assets/PatientOrderList-iKx_Cn9B.css","assets/NoteTimeline-BzPD6QHw.js","assets/NoteTimeline-CCWIpEBQ.css","assets/readonly-CE3_Vnn1.css","assets/index-CZGt9K8l.js","assets/edit-ClO9w8qS.js","assets/edit.vue_vue_type_script_setup_true_name_articleColumnEdit_lang-DPHyz3nQ.js","assets/index-DfNQvvZ_.js","assets/edit-B_gi1DEq.js","assets/index.vue_vue_type_style_index_0_lang-CV_qr4dh.js","assets/@wangeditor/editor-Cyf37SuL.js","assets/@wangeditor/editor-nHDhGvq6.css","assets/@wangeditor/editor-for-vue-D1vSph3l.js","assets/index-DX96drV3.css","assets/useDictOptions-Dl6xXBty.js","assets/index-DAHlNz9_.js","assets/h5-3XP2M5m8.js","assets/open_setting-BzVgH1fa.js","assets/weapp-BHw48loO.js","assets/config-BTlTjBYC.js","assets/wx_oa-sVQft6O9.js","assets/menu-AjX2ndQ-.js","assets/oa-attr-pvWnhivq.js","assets/oa-menu-form.vue_vue_type_script_setup_true_lang-kNW0U_x0.js","assets/useMenuOa-Bk-XiPjw.js","assets/oa-menu-form-edit.vue_vue_type_script_setup_true_lang-BvN7D7qM.js","assets/oa-phone-YKGiM_hq.js","assets/oa-phone-CctIyraX.css","assets/oa-menu-form-edit-CMEKTjXo.js","assets/oa-menu-form-DqBMzEuA.js","assets/default_reply-Dl6lTkU1.js","assets/edit.vue_vue_type_script_setup_true_lang-W1DUlHN3.js","assets/edit-CRO3r4qf.js","assets/follow_reply-CHQeIYfB.js","assets/keyword_reply-CW2cAvxC.js","assets/MessageBubble-joJCVvzv.js","assets/MessageBubble-BwtdPM6K.css","assets/SendPanel-CSQRMLER.js","assets/SendPanel-DaGPWlQG.css","assets/index-DZRyIHZb.js","assets/index-CMsGEvq_.css","assets/edit-BhpztwAz.js","assets/admin-DVVxI3fN.js","assets/department-CrUndMAW.js","assets/post-RziaWdiV.js","assets/edit-CObVTcPU.css","assets/index-DlsUzUTw.js","assets/index-CjSHFu-R.css","assets/account-adjust-fW1njHts.js","assets/account-adjust.vue_vue_type_script_setup_true_lang-DxyP7JSE.js","assets/edit-Cgkk3pe8.js","assets/edit-D-D8bVPM.css","assets/index-C2FE2zRB.js","assets/index-Oppei429.css","assets/paiban-CTSeMF1D.js","assets/paiban-CXjt7GKw.css","assets/detail-D1BwcPGJ.js","assets/consumer-BHPpijRv.js","assets/index-_vjMvBRf.js","assets/index.vue_vue_type_script_setup_true_lang-CCzvLP0c.js","assets/index.vue_vue_type_script_setup_true_lang-DPC_NOWM.js","assets/guahao-DVVPVWg_.js","assets/index-1heYt356.js","assets/medicine-CCdxjQY6.js","assets/role-DTNlgcHU.js","assets/index-DcDP_Tmx.js","assets/index-tfEElgYq.css","assets/html2canvas-QH1iLAAe.js","assets/index-zpbrqInc.css","assets/list-DLTQ2P3_.js","assets/list-DCr5iNO-.css","assets/order_list-CvyF-dAE.js","assets/order_list-B0KwyADf.css","assets/order_list_h5-vgNomJoJ.js","assets/order_list_h5-BTXk0uO3.css","assets/add-nav-DLGX-0mX.js","assets/attr-setting-D8C9Ndmf.js","assets/attr-setting.vue_vue_type_script_setup_true_lang-fvUxwXKi.js","assets/menu-CVGDEBOV.js","assets/menu-DYFusokT.css","assets/preview-5Me2qt_f.js","assets/preview-C7oaKmYo.css","assets/attr-DCpF99zs.js","assets/attr.vue_vue_type_script_setup_true_lang-MNr7rU8G.js","assets/content-cVLu-KHW.js","assets/content-DaxRy47P.css","assets/attr-BPRvWNmc.js","assets/menu-set.vue_vue_type_script_setup_true_lang-DE6tDAas.js","assets/content-C1yNkqxj.js","assets/content-sMbqkta2.css","assets/menu-set-CySN509A.js","assets/content-Cko7KRov.js","assets/attr-BjTmZ7w3.js","assets/attr-CNNqdFK4.js","assets/content-cljmXW2f.js","assets/attr-CSIKeGUb.js","assets/attr-DbcwTpUD.js","assets/content-BXP6L3kv.js","assets/attr-Db6EuK6T.js","assets/attr-Vhqry8Wo.js","assets/content-DXKcrTu3.js","assets/attr-BS21VV6Q.js","assets/attr-BGQKZVLO.js","assets/content-D083YTRY.js","assets/attr-gr_OE7on.js","assets/index-CwBbPh03.js","assets/index-57RdOFNo.css","assets/pc-D2RluI6q.js","assets/mobile-style-CkTSiBRJ.js","assets/mobile-style.vue_vue_type_script_setup_true_lang-CT_5pzF5.js","assets/theme-picker-Bl2LhPUt.js","assets/theme-picker-BsELUxM9.css","assets/style-C75vK4tk.js","assets/tabbar-B1cPuNEq.js","assets/tabbar-DJsOahKR.css","assets/edit-g9E_gOwG.js","assets/menu-CvPcniJ1.js","assets/dict-BKviBR_7.js","assets/code-UKo2HpQE.js","assets/relations-add.vue_vue_type_script_setup_true_lang-o4iTfF3G.js","assets/edit-CAJZpU7c.css","assets/index-TcIijaGO.js","assets/code-preview.vue_vue_type_script_setup_true_lang-BZ5QuyM7.js","assets/data-table.vue_vue_type_script_setup_true_lang-CfariYw3.js","assets/code-preview-K7YJDJFP.js","assets/data-table-CRN3dt_k.js","assets/relations-add-DdShaMEa.js","assets/dept-tongji-BDo1JncR.js","assets/dept-tongji-ky7rOYoi.css","assets/medicine-B-s4KVF6.js","assets/medicine-DO6x6zrS.css","assets/roster-CS04CDja.js","assets/roster-rVaxg-O6.css","assets/tongji-Cm9SFDRa.js","assets/tongji-C0VnzFxy.css","assets/commission-settlement-Cjunto85.js","assets/stats-5gQHPT0U.js","assets/commission-settlement-Ddhkz5ks.css","assets/index-JlpAaSFI.js","assets/qywx-CDUwdD49.js","assets/qywx-BzfLWvoO.css","assets/yeji-CvtPQpO5.js","assets/finance-YaEgIEMc.js","assets/yeji-BWZylxIy.css","assets/edit-Dx70kQ0n.js","assets/edit.vue_vue_type_script_setup_true_lang-Bn53gSK4.js","assets/index-X_g26ryT.js","assets/balance_details-DPuAKDSi.js","assets/refund-log-BFUpCtiy.js","assets/refund-log.vue_vue_type_script_setup_true_lang-DDZenc1e.js","assets/mubiao-dept-card-BMP1O6eb.js","assets/mubiao-dept-card-naMqyghz.css","assets/mubiao-dept-node-CxpszDCM.js","assets/mubiao-dept-node-CANQUVWv.css","assets/mubiao-ChpFpWDb.js","assets/mubiao-B6IOi2bJ.css","assets/recharge_record-kXf5tdAp.js","assets/refund_record-DtgtLzt_.js","assets/index-zdLAMdxW.js","assets/index-DhR2yeiO.css","assets/edit-l-loh2uY.js","assets/message-Dx96dhoI.js","assets/index-Dgae4aqh.js","assets/edit-Nqt6NFjX.js","assets/edit.vue_vue_type_script_setup_true_lang-CwKzaRbZ.js","assets/index-B4rNqPUW.js","assets/index-CqoQTg2-.js","assets/index-DYTH4Nwn.css","assets/edit-Bkhnc9Ab.js","assets/edit.vue_vue_type_script_setup_true_lang-Cw38i8Af.js","assets/index-rvJjLcdw.js","assets/edit-BNPso8Y3.js","assets/edit.vue_vue_type_script_setup_true_lang-BCQfswVh.js","assets/index-so-VB1Hz.js","assets/index-D0GoVLGM.js","assets/index-Bqs56mLH.css","assets/edit-CLzx_CbK.js","assets/edit.vue_vue_type_script_setup_true_lang-DAbW78Jr.js","assets/index-DByJM22v.js","assets/edit-DfWwbZ4V.js","assets/edit.vue_vue_type_script_setup_true_lang-BBq07rga.js","assets/picker.vue_vue_type_script_setup_true_lang-CqrG0MgW.js","assets/index-DNKCKo6Y.js","assets/auth-DSRMKMRZ.js","assets/auth.vue_vue_type_script_setup_true_lang-D4rvURhD.js","assets/edit-DLrF_4OV.js","assets/edit.vue_vue_type_script_setup_true_lang-Bo8W-Bev.js","assets/index-hj1pTK4-.js","assets/edit-CGm0fUcE.js","assets/edit.vue_vue_type_script_setup_true_lang-SN25urAl.js","assets/index-B_fvWke_.js","assets/edit-wVdfkaAz.js","assets/edit.vue_vue_type_script_setup_true_lang-CZsj0pig.js","assets/index-CWCmmZDs.js","assets/edit-BRBBltgC.js","assets/pay-BWtHlaJr.js","assets/getExposeType-MUpmx9zy.js","assets/edit-C1NtFi7N.css","assets/index-DMPJBdKP.js","assets/index-v17NoY-J.js","assets/index-CS17uynj.js","assets/index-BzrSkGWL.css","assets/edit-DjUf2sPY.js","assets/edit.vue_vue_type_script_setup_true_lang-DK2-d75P.js","assets/index-Tvsjz0wd.js","assets/cache-DxTWDONP.js","assets/environment-9GeasEYL.js","assets/journal-DkUT-HXG.js","assets/edit-YD1kWr3g.js","assets/index-DbBC0Fdf.js","assets/login_register-oQ1xFBPI.js","assets/user-NxKTn5aX.js","assets/setup-Ci855w05.js","assets/filing-dKtuLeZ_.js","assets/website-DzUyNaPG.js","assets/information-ZLGOOW0y.js","assets/protocol-C4zGl9Ye.js","assets/statistics-aW4uDjkt.js","assets/index-I1dwAKUm.js","assets/index-DRKXaI9h.css","assets/prescription-drawer-tIAJb1vL.js","assets/prescription-drawer-_wsVAGl0.css","assets/list-SPx5xYsC.js","assets/list-D5ZA4Hyd.css","assets/add-BbPxW38e.js","assets/add-GuwNtREU.css","assets/appointment-CgztbjDp.js","assets/appointment-DHf6UVnR.css","assets/AssistantWatchCallDialog-BRyYQCK0.js","assets/trtc-sdk-v5-D4DbeRqz.js","assets/AssistantWatchCallDialog-BIPZRgaH.css","assets/BloodRecordList-C0paVrWv.js","assets/BloodRecordList-DhVK-Y_e.css","assets/CaseRecordList-X66GZZcg.js","assets/CaseRecordList-Cl-c3q7S.css","assets/DietRecordList-CS8Yg4vf.js","assets/DietRecordList-Cc-xUr2B.css","assets/ExerciseRecordList-D_Lyt-5M.js","assets/ExerciseRecordList-DGtgtzou.css","assets/TrackingMatrix-DXSAP7vt.js","assets/TrackingMatrix-zyxtXYPb.css","assets/TrackingNoteTimeline-DmUVTWFb.js","assets/TrackingNoteTimeline-B9T8pFso.css","assets/detail-47n6zBhj.js","assets/edit-BG1q_jZS.js","assets/index-B91OSiYQ.js","assets/index-DGbIWVjL.css","assets/edit-z2mn_utb.css","assets/index-B232AZ6A.js","assets/index-Bf1Q24wB.css","assets/index-DYJjtMwl.js","assets/index-BqqzElnH.css","assets/file-D8DF5QQr.js","assets/icon-cbJvAFB6.js","assets/link-P1xmJba2.js","assets/overflow-DDgjXnJF.js","assets/popover_input-BPLcgSyk.js","assets/rich_text-DWxR2pX7.js","assets/upload-oPgqnsUb.js","assets/patient-call-BXY2Pazd.js","assets/@tencentcloud/call-uikit-vue-DB7vt9Ht.js","assets/@tencentcloud/call-engine-js-BX2W9Lhf.js","assets/@tencentcloud/chat-AC2Y2r2A.js","assets/rtc-detect-Chu-fZvE.js","assets/@tencentcloud/tui-core-8M7p1XHw.js","assets/tim-upload-plugin-HO4N4AW9.js","assets/tim-profanity-filter-plugin-Dn_Cf-mP.js","assets/patient-call-k8V9hV2G.css","assets/index-DIwVY3Ar.js","assets/index-DtDaTXOB.css"])))=>i.map(i=>d[i]); +var E1=Object.defineProperty;var H1=(a,o,e)=>o in a?E1(a,o,{enumerable:!0,configurable:!0,writable:!0,value:e}):a[o]=e;var U=(a,o,e)=>H1(a,typeof o!="symbol"?o+"":o,e);import{_ as i}from"./jspdf-BsthCvR5.js";import{u as V3,a as n3,c as T1,b as O1,R as I3}from"./vue-router-QlpZ4wdW.js";import{d as L3,c as I1}from"./pinia-B8cvXbiZ.js";import{a as J3,A as p3}from"./axios-C80V62Fs.js";import{l as C}from"./lodash-D3kF6u-c.js";import{y as m,a as k,n as c3,q as R1}from"./@vue/reactivity-DiY1c2vO.js";import{E as u3,a as Z,b as d3,c as P1,d as Q3,e as a1,f as B1,g as D1,h as C1,i as S1,j as k1,k as j1,l as N1,m as q1,n as o1,o as e1,p as t1,q as W1,r as i1,s as l1,u as G1,t as $1,v as U1,w as F1,x as Y1,y as Z1,z as X1,A as K1}from"./element-plus-DFTWCWyi.js";import{u as c1,a as n1,b as J1,c as Q1}from"./@vueuse/core-1S4fJlii.js";import{n as a0,f as V,A as b,ak as h,I as g,J as d,a as u,ar as s3,i as o0,aN as z,F as B,ap as K,O as I,G as A,H as D,w as s1,K as e0,at as r1,ab as j3,aP as m1,Z as t0,aq as i0,b as u1,d as l0,T as c0}from"./@vue/runtime-core-C6bnekPw.js";import{a as d1,p as r3,Q as R,o as b3,P as n0}from"./@vue/shared-mAAVTE9n.js";import{c as s0}from"./css-color-function-DI01JAaZ.js";import{I as h1,J as r0,d as m0,K as u0,c as d0}from"./@element-plus/icons-vue-HOEUG8sr.js";import{u as h0,h as v0}from"./@vueuse/shared-Cl3lVqjz.js";import{T as _0,q as v1,s as p0,a as z0,c as b0}from"./@vue/runtime-dom-DDAG46FW.js";import{u as y0}from"./vue-clipboard3-DByT_rEQ.js";import{u as g0,a as w0,b as f0,c as A0,d as V0,e as L0,f as M0,g as x0,h as E0,j as H0,k as T0,l as O0,m as I0,n as R0,o as P0,p as B0,q as D0,r as C0,s as S0,v as k0,w as j0,x as N0,y as q0,z as W0,A as G0,B as $0}from"./echarts-CNLwa9wG.js";import{a as U0}from"./highlight.js-Bxt7hFFy.js";import{o as F0}from"./@highlightjs/vue-plugin-C4onkBvW.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./clipboard-CHgxszqY.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";(function(){const o=document.createElement("link").relList;if(o&&o.supports&&o.supports("modulepreload"))return;for(const l of document.querySelectorAll('link[rel="modulepreload"]'))t(l);new MutationObserver(l=>{for(const c of l)if(c.type==="childList")for(const n of c.addedNodes)n.tagName==="LINK"&&n.rel==="modulepreload"&&t(n)}).observe(document,{childList:!0,subtree:!0});function e(l){const c={};return l.integrity&&(c.integrity=l.integrity),l.referrerPolicy&&(c.referrerPolicy=l.referrerPolicy),l.crossOrigin==="use-credentials"?c.credentials="include":l.crossOrigin==="anonymous"?c.credentials="omit":c.credentials="same-origin",c}function t(l){if(l.ep)return;l.ep=!0;const c=e(l);fetch(l.href,c)}})();const N={terminal:1,title:"后台管理系统",version:"1.9.4",baseUrl:"https://admin.zhenyangtang.com.cn//",urlPrefix:"adminapi",timeout:6e4};var T=(a=>(a.LOGIN="/login",a.ERROR_403="/403",a.INDEX="/",a))(T||{}),_1=(a=>(a.LIGHT="light",a.DARK="dark",a))(_1||{}),y3=(a=>(a.CATALOGUE="M",a.MENU="C",a.BUTTON="A",a))(y3||{}),R3=(a=>(a[a.SM=640]="SM",a[a.MD=768]="MD",a[a.LG=1024]="LG",a[a.XL=1280]="XL",a[a["2XL"]=1536]="2XL",a))(R3||{});const n7={1:"微信小程序",2:"微信公众号",3:"手机H5",4:"电脑PC",5:"苹果APP",6:"安卓APP"};var p1=(a=>(a.JSON="application/json;charset=UTF-8",a.FORM_DATA="multipart/form-data;charset=UTF-8",a))(p1||{}),e3=(a=>(a.GET="GET",a.POST="POST",a))(e3||{}),F=(a=>(a[a.NOT_INSTALL=-2]="NOT_INSTALL",a[a.LOGIN_FAILURE=-1]="LOGIN_FAILURE",a[a.FAIL=0]="FAIL",a[a.SUCCESS=1]="SUCCESS",a[a.OPEN_NEW_PAGE=2]="OPEN_NEW_PAGE",a[a.NEED_BIND_WORK_WECHAT=10]="NEED_BIND_WORK_WECHAT",a))(F||{});const g3="token",s7="account",w3="setting";function J(a){return/^(https?:|mailto:|tel:)/.test(a)}const Y0=(a,o)=>o.findIndex(e=>e.fullPath==a),N3=a=>a.name==null||a.name===""?"":`${String(a.name)}::${a.path}`,Z0=(a,o)=>{const{path:e,meta:t,name:l}=a;return!!(!e||J(e)||t!=null&&t.hideTab||!o.hasRoute(l)||[T.LOGIN,T.ERROR_403].includes(e))},X0=(a,o)=>o.findIndex(e=>e.fullPath===a),E3=a=>{var o,e,t;return(t=(e=(o=a.matched.at(-1))==null?void 0:o.components)==null?void 0:e.default)==null?void 0:t.name},z1=a=>{const{params:o,path:e,query:t}=a;return{params:o||{},path:e,query:t||{}}},m3=L3({id:"tabs",state:()=>({cacheTabList:new Set,tabList:[],tasMap:{},indexRouteName:""}),getters:{getTabList(){return this.tabList},getCacheTabList(){return Array.from(this.cacheTabList)}},actions:{setRouteName(a){this.indexRouteName=a},addCache(a){a&&this.cacheTabList.add(a)},removeCache(a){a&&this.cacheTabList.has(a)&&this.cacheTabList.delete(a)},clearCache(){this.cacheTabList.clear()},resetState(){this.cacheTabList=new Set,this.tabList=[],this.tasMap={},this.indexRouteName=""},addTab(a){const o=m(a.currentRoute),{name:e,query:t,meta:l,params:c,fullPath:n,path:r}=o;if(Z0(o,a))return;const s=Y0(n,this.tabList),_=E3(o),p={name:e,path:r,fullPath:n,title:l==null?void 0:l.title,query:t,params:c};if(l!=null&&l.keepAlive&&this.addCache(_),s!==-1){this.tabList[s]=p,this.tasMap[n]=p;return}const v=N3(p);if(v){const w=[];if(this.tabList.forEach((O,M)=>{N3(O)===v&&w.push(M)}),w.length>0){const O=w[0];for(let E=w.length-1;E>=1;E--){const f=w[E];delete this.tasMap[this.tabList[f].fullPath],this.tabList.splice(f,1)}const M=this.tabList[O];M.fullPath!==n&&delete this.tasMap[M.fullPath],this.tabList[O]=p,this.tasMap[n]=p;return}}this.tasMap[n]=p,this.tabList.push(p)},removeTab(a,o){const{currentRoute:e,push:t}=o,l=X0(a,this.tabList);this.tabList.length>1&&l!==-1&&this.tabList.splice(l,1);const c=E3(e.value);if(this.removeCache(c),a!==e.value.fullPath)return;let n=null;l===0?n=this.tabList[l]:n=this.tabList[l-1];const r=z1(n);t(r)},removeOtherTab(a){this.tabList=this.tabList.filter(e=>e.fullPath==a.fullPath);const o=E3(a);this.cacheTabList.forEach(e=>{o!==e&&this.removeCache(e)})},removeAllTab(a){const{push:o,currentRoute:e}=a,{name:t}=m(e);if(t==this.indexRouteName){this.removeOtherTab(e.value);return}this.tabList=[],this.clearCache(),o(T.INDEX)}}}),q={key:"like_admin_",set(a,o,e){a=this.getKey(a);let t={expire:e?this.time()+e:"",value:o};typeof t=="object"&&(t=JSON.stringify(t));try{window.localStorage.setItem(a,t)}catch{return null}},get(a){a=this.getKey(a);try{const o=window.localStorage.getItem(a);if(!o)return null;const{value:e,expire:t}=JSON.parse(o);return t&&t{a3.has(e)||a3.set(e,t)})}remove(o){if(a3.has(o)){const e=a3.get(o);e&&e(o),a3.delete(o)}}};U(A3,"instance");let B3=A3;const q3=B3.createInstance();class J0{constructor(o){U(this,"axiosInstance");U(this,"config");U(this,"options");this.config=o,this.options=o.requestOptions,this.axiosInstance=J3.create(o),this.setupInterceptors()}getAxiosInstance(){return this.axiosInstance}setupInterceptors(){if(!this.config.axiosHooks)return;const{requestInterceptorsHook:o,requestInterceptorsCatchHook:e,responseInterceptorsHook:t,responseInterceptorsCatchHook:l}=this.config.axiosHooks;this.axiosInstance.interceptors.request.use(c=>(this.addCancelToken(c),C.isFunction(o)&&(c=o(c)),c),c=>(C.isFunction(e)&&e(c),c)),this.axiosInstance.interceptors.response.use(c=>(this.removeCancelToken(c.config.url),C.isFunction(t)&&(c=t(c)),c),c=>{var n;return C.isFunction(l)&&l(c),c.code!=p3.ERR_CANCELED&&this.removeCancelToken((n=c.config)==null?void 0:n.url),c.code==p3.ECONNABORTED||c.code==p3.ERR_NETWORK?new Promise(r=>setTimeout(r,500)).then(()=>this.retryRequest(c)):Promise.reject(c)})}addCancelToken(o){const{ignoreCancelToken:e}=o.requestOptions;!e&&q3.add(o)}removeCancelToken(o){q3.remove(o)}retryRequest(o){var c;const e=o.config,{retryCount:t,isOpenRetry:l}=e.requestOptions;return!l||((c=e.method)==null?void 0:c.toUpperCase())==e3.POST||(e.retryCount=e.retryCount??0,e.retryCount>=t)?Promise.reject(o):(e.retryCount++,this.axiosInstance.request(e))}get(o,e){return this.request({...o,method:e3.GET},e)}post(o,e){return this.request({...o,method:e3.POST},e)}request(o,e){const t=C.merge({},this.options,e),l={...C.cloneDeep(o),requestOptions:t},{urlPrefix:c}=t;return c&&(l.url=`${c}${o.url}`),new Promise((n,r)=>{this.axiosInstance.request(l).then(s=>{n(s)}).catch(s=>{r(s)})})}}function Q0(){if(typeof window>"u")return!1;const{pathname:a,search:o}=window.location;return a.includes("bind-work-wechat")?/(?:^|[?&])code=/.test(o):!1}const W3="/bind-work-wechat";let G3=0;const a2={requestInterceptorsHook(a){var c;const{withToken:o,isParamsToData:e}=a.requestOptions,t=a.params||{},l=a.headers||{};if(o){const n=b1();l.token=n}return e&&!Reflect.has(a,"data")&&((c=a.method)==null?void 0:c.toUpperCase())===e3.POST&&(a.data=t,a.params={}),a.headers=l,a},requestInterceptorsCatchHook(a){return a},async responseInterceptorsHook(a){const{isTransformResponse:o,isReturnDefaultResponse:e}=a.config.requestOptions;if(e)return a;if(!o)return a.data;const{code:t,data:l,show:c,msg:n}=a.data;switch(t){case F.SUCCESS:return c&&n&&X.msgSuccess(n),l;case F.FAIL:return c&&n&&X.msgError(n),Promise.reject(l);case F.LOGIN_FAILURE:return t3(),H.push(T.LOGIN),Promise.reject();case F.NEED_BIND_WORK_WECHAT:if(H.currentRoute.value.path===W3||Q0())return Promise.reject(l);{const r=Date.now();r-G3>400&&(G3=r,H.replace(W3).catch(()=>{}))}return Promise.reject(l);case F.OPEN_NEW_PAGE:return window.location.href=l.url,l;case F.NOT_INSTALL:window.location.replace("/install/install.php");break;default:return l}},responseInterceptorsCatchHook(a){return a.code!==p3.ERR_CANCELED&&a.message&&X.msgError(a.message),Promise.reject(a)}},o2={timeout:N.timeout,baseURL:N.baseUrl,headers:{"Content-Type":p1.JSON,version:N.version},axiosHooks:a2,requestOptions:{isParamsToData:!0,isReturnDefaultResponse:!1,isTransformResponse:!0,urlPrefix:N.urlPrefix,ignoreCancelToken:!1,withToken:!0,isOpenRetry:!0,retryCount:2}};function e2(a){return new J0(C.merge(o2,{}))}const L=e2();function t2(a){return L.post({url:"/login/account",params:{...a,terminal:N.terminal}})}function i2(){return L.post({url:"/login/logout"})}function l2(){return L.get({url:"/auth.admin/mySelf"})}function r7(a){return L.post({url:"/auth.admin/editSelf",params:a})}function m7(){return L.get({url:"/login/workWechatConfig"})}function c2(a){return L.post({url:"/login/workWechatLogin",params:{...a,terminal:N.terminal}})}function u7(a){return L.post({url:"/auth.admin/bindWorkWechat",params:a})}function d7(){return L.post({url:"/auth.admin/unbindWorkWechat"})}function h7(a){return L.post({url:"/login/changeFirstPassword",params:a})}const Y=L3({id:"user",state:()=>({token:b1()||"",userInfo:{},routes:[],perms:[],isPaw:1}),getters:{},actions:{resetState(){this.token="",this.userInfo={},this.perms=[],this.isPaw=1},login(a){const{account:o,password:e}=a;return new Promise((t,l)=>{t2({account:o.trim(),password:e}).then(c=>{this.token=c.token,this.isPaw=c.is_paw??1,q.set(g3,c.token),t(c)}).catch(c=>{l(c)})})},logout(){return new Promise((a,o)=>{i2().then(async e=>{this.token="",await H.push(T.LOGIN),t3(),a(e)}).catch(e=>{o(e)})})},workWechatLogin(a){return new Promise((o,e)=>{c2({code:a}).then(t=>{this.token=t.token,this.isPaw=t.is_paw??1,q.set(g3,t.token),o(t)}).catch(t=>{e(t)})})},getUserInfo(){return new Promise((a,o)=>{l2().then(e=>{this.userInfo=e.user,this.perms=e.permissions,this.routes=f1(e.menu),this.isPaw=e.user.is_paw??1,a(e)}).catch(e=>{o(e)})})}}});function y1(){return L.get({url:"/config/getConfig"})}function v7(){return L.get({url:"/workbench/index"})}function _7(a){return L.get({url:"/config/dict",params:a})}const S=L3({id:"app",state:()=>({config:{},configFetchAttempted:!1,isMobile:!0,isCollapsed:!1,isRouteShow:!0}),actions:{getImageUrl(a){if(!a||typeof a!="string")return"";if(a.startsWith("http://")||a.startsWith("https://"))return a;const o=a.startsWith("/")?a:"/"+a,e=String(this.config.oss_domain||"").replace(/\/$/,"");if(e)return`${e}${o}`;const t=String(N.baseUrl||"/").replace(/\/+$/,"");if(t.startsWith("http://")||t.startsWith("https://"))try{return new URL(o,`${t}/`).href}catch{return`${t}${o}`}const l=typeof window<"u"?window.location.origin:"";return l?`${l}${o}`:o},getConfig(){return new Promise((a,o)=>{y1().then(e=>{this.config=e,a(e)}).catch(e=>{o(e)})})},setMobile(a){this.isMobile=a},toggleCollapsed(a){this.isCollapsed=a??!this.isCollapsed},refreshView(){this.isRouteShow=!1,a0(()=>{this.isRouteShow=!0})}}}),z3={showCrumb:!0,showLogo:!1,isUniqueOpened:!0,sideWidth:183,sideTheme:"dark",sideDarkColor:"#1d2124",openMultipleTabs:!0,theme:"#4A5DFF",successTheme:"#67c23a",warningTheme:"#e6a23c",dangerTheme:"#f56c6c",errorTheme:"#f56c6c",infoTheme:"#909399"},j=1,n2={1:["sideTheme","sideDarkColor"]},s2={"dark-2":"shade(20%)","light-3":"tint(30%)","light-5":"tint(50%)","light-7":"tint(70%)","light-8":"tint(80%)","light-9":"tint(90%)"},r2={"light-3":"shade(20%)","light-5":"shade(30%)","light-7":"shade(50%)","light-8":"shade(60%)","light-9":"shade(70%)","dark-2":"tint(20%)"},$3="theme-vars",m2=(a,o="primary",e=!1)=>{const t={[`--el-color-${o}`]:a},l=e?r2:s2;for(const c in l)t[`--el-color-${o}-${c}`]=`color(${a} ${l[c]})`;return t},u2=(a,o=!1)=>{const e=Object.keys(a).reduce((c,n)=>Object.assign(c,m2(a[n],n,o)),{});let t=Object.keys(e).reduce((c,n)=>{const r=s0.convert(e[n]);return`${c}${n}:${r};`},"");t=`:root{${t}}`;let l=document.getElementById($3);if(l){l.innerHTML=t;return}l=document.createElement("style"),l.setAttribute("type","text/css"),l.setAttribute("id",$3),l.innerHTML=t,document.head.append(l)},h3=q.get(w3);function d2(a,o){if(o>=j)return;for(let l=o+1;l<=j;l++){const c=n2[l];if(c)for(const n of c)a[n]=z3[n]}a._settingSchemaVersion=j;const{showDrawer:e,...t}=a;q.set(w3,t)}const W=L3({id:"setting",state:()=>{const a={showDrawer:!1,...z3};let o=j;return d1(h3)&&(o=typeof h3._settingSchemaVersion=="number"?h3._settingSchemaVersion:0,Object.assign(a,h3),oObject.is(Number(a),NaN)?a:`${a}${o}`,U3=a=>a==null&&typeof a>"u",b7=(a,o={children:"children"})=>{a=C.cloneDeep(a);const{children:e}=o,t=[],l=[];for(a.forEach(c=>l.push(c));l.length;){const c=l.shift();c[e]&&(c[e].forEach(n=>l.push(n)),delete c[e]),t.push(c)}return t},y7=(a,o={id:"id",parentId:"pid",children:"children"})=>{a=C.cloneDeep(a);const{id:e,parentId:t,children:l}=o,c=[],n=new Map;return a.forEach(r=>{n.set(r[e],r);const s=n.get(r[t]);s?(s[l]=s[l]??[],s[l].push(r)):c.push(r)}),c};function _2(a){if(a.length===0||!a||a=="undefined")return a;const o=a.replace("//","/"),e=o.length;return o[e-1]==="/"?o.slice(0,e-1):o}function p2(a){let o="";for(const e of Object.keys(a)){const t=a[e],l=encodeURIComponent(e)+"=";if(!U3(t))if(d1(t)){for(const c of Object.keys(t))if(!U3(t[c])){const n=e+"["+c+"]",r=encodeURIComponent(n)+"=";o+=r+encodeURIComponent(t[c])+"&"}}else o+=l+encodeURIComponent(t)+"&"}return o.slice(0,-1)}const g7=(a,o="yyyy-mm-dd")=>{a||(a=Number(new Date)),a.toString().length==10&&(a*=1e3);const e=new Date(a);let t;const l={"y+":e.getFullYear().toString(),"m+":(e.getMonth()+1).toString(),"d+":e.getDate().toString(),"h+":e.getHours().toString(),"M+":e.getMinutes().toString(),"s+":e.getSeconds().toString()};for(const c in l)t=new RegExp("("+c+")").exec(o),t&&(o=o.replace(t[1],t[1].length==1?l[c]:l[c].padStart(t[1].length,"0")));return o},w7=(a=8)=>{let o=Date.now().toString(36);return o+=Math.random().toString(36).substring(3,a),o},f7=(a,o)=>{o=Math.min(1,Math.max(0,o));const e=/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,t=/^rgb\(\s*\d+\s*,\s*\d+\s*,\s*\d+\s*\)$/,l=/^rgba\(\s*\d+\s*,\s*\d+\s*,\s*\d+\s*,\s*[0-9.]+\s*\)$/;let c=0,n=0,r=0;if(e.test(a)){const s=a.slice(1),_=s.length===3?s.split("").map(p=>p+p).join(""):s;c=parseInt(_.substring(0,2),16),n=parseInt(_.substring(2,4),16),r=parseInt(_.substring(4,6),16)}else if(t.test(a)){const s=a.match(/\d+/g);s&&(c=parseInt(s[0]),n=parseInt(s[1]),r=parseInt(s[2]))}else if(l.test(a)){const s=a.match(/\d+(\.\d+)?/g);s&&(c=parseInt(s[0]),n=parseInt(s[1]),r=parseInt(s[2]))}else throw new Error("Unsupported color format");return`rgba(${c}, ${n}, ${r}, ${o})`},z2=V({props:{name:{type:String,required:!0},size:{type:[Number,String],default:16},color:{type:String,default:"inherit"}},setup(a){const o=b(()=>`#${a.name}`),e=b(()=>({width:i3(a.size),height:i3(a.size),color:a.color}));return{symbolId:o,styles:e}}}),P=(a,o)=>{const e=a.__vccOpts||a;for(const[t,l]of o)e[t]=l;return e},b2=["xlink:href"];function y2(a,o,e,t,l,c){return h(),g("svg",{"aria-hidden":"true",style:r3(a.styles)},[d("use",{"xlink:href":a.symbolId,fill:"currentColor"},null,8,b2)],4)}const g2=P(z2,[["render",y2]]),G=V({name:"Icon",props:{name:{type:String,required:!0},size:{type:[String,Number],default:"14px"},color:{type:String,default:"inherit"}},setup(a){return()=>a.name.indexOf(D3)===0?u(Q3,{size:a.size,color:a.color},{default:()=>u(s3(a.name.replace(D3,"")))}):a.name.indexOf(v2)===0?o0("i",{class:["local-icon"]},u(g2,{...a})):null}}),w2="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALcAAACHCAYAAABUFMgyAAAABHNCSVQICAgIfAhkiAAACbtJREFUeF7tm39olVUYx++92wo0ZiL0V2v/SKMcVMzUtMTyjzL/KUpwWCpuzbZVxpikIWQLBIMUnLiMSWXYJhSYsiA1dNaQCSqkadGGOQdj/dpubM79uPf2nts9l7Oz8/66976/nvsdXO6v957zPM/53A/Pe967cAh/qADRCoSJ5oW0UIEQ4AYEZCsAuMkuLRJzC2635sGKBqcCCadDzRV0uRrH6XwxfnAqkDX8uYLSaJxczRGcZUGkVitgBLCncMvQGj0H4FaXO3+OE+GVQTZ7bqlKdqFTHc9fE9/Te2wpKByUNxXQA9wO+LrFyhZu9nkRbhXobHK78+TN6uZxonp2Zq/z9+R7Vi7L7Yod6GRwZaiToLe0fP5wJBJu/HsounhqcrLQjcV7fNFj/65YvmTYjbkwR+YVCIfDKjAnx8fHu3p6er6oqKi4lYKXA64HuSXArcCtajG4sdOA72s+dPK7k+eW37jRZ2XMzCuk+GR93YZQXe2GnI6JwdyvQDweH79z587h2bNnvyHZW4TcqGWZFrQVEFXGTsPd2npkSdf5S6e6uy/d5X45/p+xrnZ9qL5uo1fTY94cVyAWiw329vY+W1ZWdl0yOW9LVO3KjCjM4DYCO3LgwGdfHWk7tnpoKGo2To7Tnz4c4Ha0vJ4Mnkgk4iMjI7uLi4vfTwEeN7C5MkYzKJV9tTZSRLuFN25qiF64cNkzY/OMALcn/Dk+6dTU1F9FRUUlEtx6/XhW5magJ6Fm93v2Hvyh9VD7QscztDAB4LZQpIAeMjY2dnTWrFms5+Tm1jN4RnCLJ48c8Miq1a+O3rzZb2Z+V0oKuF0psyeTaO3JRCQSuTcFNwdbtLfuzokZnCLYaWvv39+6qOXgl2e1ic0+70pBALcrZfZqksTFixcXan/XFPY2PLE0glNpbNaStHx8+JPm/Z+u8ypbeV7A7ZeVcCaO4eHhprlz5+4W7C0bnE08w+B6cMsnkmlrM7ibPth7vf3o8QecScX+qIDbfs2C9Amt7/5R67ufk+AWAc8Y7mlgp+C+BriDhEewY9WBm/fdDPKs4GaAp2+auX8G3MEGJkjRp+B+Xos5pmhNbMEtX26fBrY2eIEG91XAHSQ8gh2rADcDWQSc2ZvDPcPeqp5bfE1uSQpSbQngDjYvgYr+9u3bXdrvTVYJ1uaAZww33y0RAWdwa+beo8F9gl058sUfTih9sQyOBZGCW2xLGNwcbNVPZJOxGJlbhFtsTQC3Y8uIgVUVUMDNWhG9K5bpITKBu3Db9l1dx0+cWuCXpYC5/bISzsSRgnt1qt9W9dzKizl24U62JW+9vePk6dNdi5xJxf6ogNt+zYL0CVfhrq3f1tHZ2b3MLwUC3H5ZCWfikOAWd0zEvptNPu0qZUbmBtzOLCJGVVcAcOM/cch+NwA34AbcaEvIMkA2MZgb5gbcFM29uWZdaHPNK2QXN98TGx0dbZ83b97rqX3u/Notqa5aG6quqsx3BsjmPzQ09GFpaekuwE12ifM3McANc5OlH3ADbsBN8YQSPTdZrpOJwdwwN1nCATfgBtxoS8gyQDYxmBvmBtwwN1kGyCYGc8PcgBvmJssA2cRgbpgbcMPcZBkgmxjMDXMDbpibLANkE4O5YW7ADXOTZYBsYjA3zA24YW6yDJBNDOaGuQE3zE2WAbKJwdwwN+CGuckyQDYxmBvmBtwwN1kGyCYGc8PcgBvmJssA2cRgbpgbcMPcZBkgmxjMDXMDbpibLANkE4O5YW7ADXOTZYBsYjA3zA24YW6yDJBNDOaGuQE3zE2WAbKJwdwwN+CGuckyQDYxmBvmBtwwN1kGyCYGc8PcgBvmJssA2cRgbpgbcMPcZBkgmxjMDXMDbpibLANkE4O5YW7ADXOTZYBsYjA3zA24YW6yDJBNDOaGuQE3zE2WAbKJwdwwN+CGuckyQDYxmBvmBtwwN1kGyCYGc8PcgBvmJssA2cRgbpgbcMPcZBkgmxjMDXMDbpibLANkE4O5YW7ADXOTZYBsYjA3zA24YW6yDJBNDOaGuQE3zE2WAbKJwdwwN+CGuckyQDYxmBvmzhe4Y1qi8dQtIdyz/Nnz9F9YURH+Grtnt4h0K6yt39bR2dm9zC/VrK5aG6oG3H5ZjpzHIZnbUbgLNLi/Bdw5X0MMqFOBaDS6u6SkZJf2tgg2s3dOzM0NXqANWLD1naatHR1ndvhlNWBuv6yEM3H09fW9XF5efkqAm0Eugs3bEcttCYuUtSRia5KEu66uofzsuctdzqRif1TAbb9mQfpEe3t7WU1NzYAWM++1ucEZzPzGUrIFt9xzM7iTPfjSJ1/4Z3g4yh57/ge4PV8CxwJIJBJ/zJkz50EF2GJbwuc3hZsdKJ5UivZOmpvBXf/mu1+fOXN+pWNZ2RgYcNsoVsAO1U4mm0pLS/ek4GbGlq3NIJ9hbRFiOWU9uPnOSUFxcXHhiqdfutnT+/s9XtcLcHu9As7MPz4+3jl//vwXtRNKEWpxG5D33RnDzVsTufeObNmy/anz3Ve+GRkZ9bQ9AdzOwOXlqPF4fLi1tfWJxsZGsdfmYMuAZwW3ar87afH1mzY/NDEWOfbTlV/u86oYgNuryjsz79jY2PctLS11O3fu/FNoQ/TAVu6UGLUlct+tsne6RWE9ekPDex9dvfZbZX//wN3OpKw/6mvVlaGqTWvdnhbz5bgCk5OTvw4MDOzTtv2OpnpsBrTYY1vaAuRhqa5QiiHzq5TivXzFctp24Zo1G+/XNtwrJyZji2OxWBEfLBFKmM2VcakefWRB/8pnlt7KeAB80NUKhMPh9K6G9nhicHDwSltb24Xm5uaoFgjvo2VTy62IvA04Iwcz4DjU3OTyvjd/LrYt4heBf85sHleLi8l8UQF5f1qEVf7tiNFvSaZt/8lmNspU/p2J+HsTsVWRH8tfCsDtC558FYQZ3Px9+TK74YWbTOAWDSwDrnouG1uEG6D7ijFXgxEtK54Iyo850LLNVa1IxuZWnViqQBfNDbBd5SVwk2UDOEtW93K7XAkrFpWtK7cqcj8ufiGMHgduVRBwTiqggptDy++5uVUw633e9gmlqoUR4VZZXAYagOeECRKDmIEtwqwytO6etqo6Vsyt16PrQW4GN4lVQhJZV8AIdBliy7bWg9VKtPKXQQYcYFupIo7hFZBPBlVm1jvGtIp2zc0H1INcBbfea6bB4QDSFVDtcui1Hbo7IkYVyhRueUyjcXI1B+mVzuPk9MDNCOhs2hK9NQDAeUynQ6n7Bm6z/AC/WYXy7/2s4TUrGaAzqxDeD2wFAHdglw6Bm1UAcJtVCO8HtgKAO7BLh8DNKvAfR+rWAIVxGVEAAAAASUVORK5CYII=",f2="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALcAAACHCAYAAABUFMgyAAAABHNCSVQICAgIfAhkiAAACbZJREFUeF7t201oXFUUB/DMRyJNpE0JuJqYTWtQs2pLqxSzcWGiK8FNceOqiLiMOxe1i0IFXdhFIXSli6agoJS6aBEM2o2QlbXFfkBNhRBNbRIyTTOTzHjv8O5wc3Pf55x578y7/0LI1+S8c8/95eTMfdNCH/6hAjmtQCGn68KyUIE+4AaC3FYAuHO7tVhYWrjTug52tHcq0Ox2qlToqOJ0e72I3zsV6Bg/FcqgOFTX6J1tQaZRKxAEOFPcJtqgzwE86na78zgdrwk57PNIVYqLzvZ49TX9e34fR0oKD3KmAn7A48D3LVanuOXP67ht0OXF417Hmd11eKF+3Vl+XX3PfC/LFXlciYPOhGuibkG/d+/eK5VKZWZgYOBEs9ksp7F5Ozs7641GYzWNa+EayStQKBRsMOtbW1s379+//83Ro0cfeXgVcD/kkYBHwW0bMVTHbgOv1WrXy+XypFhAlJjJK4SfzG0FRIPaevbs2ddDQ0MfG91bRx40suyqTRSIto7dxr24uPia6NQ3hOmB3FYdC0u1AuIv8fKDBw/eGh8fv2N0cjWW2MaVPTmG4Q6CXRR/Tr4V48c7mKlT3XsnLiZG2sbGxsb5/fv3f+YBbwR0c2tN4uDWR5GiBC3+jKyhYzthLZNFbm9vr/T3948auP3m8Y46t8TdQi3f1+v1X8SMfSyTVeOizlRgc3PzyuDg4Adiwapz+3XwRLj1jq2AF8WfjSrGEWeMZbZQ4axWLBaHPdwKtt69fU9OoowlCne7a9+9e/f44cOHfwbuzPbcpQs3FxYWjol/ty3dO/CJZRBua8eWI8nTp09n9+3b975LFcZas6vA6urq2YMHD57XurfZwWVyezq4H27zBk27a0vcYtC/UyqVXsxuubiySxUQc/evYu6eMnDrwBPj3gXbw30buF3ile1afXCruVsi7wi3BN5+E537D+DOdsNdurqH+22x5h3LaBILt3m7fRdsEbwkcN8Cbpd4ZbtWDbeErAOX3Vvh3tO9bTO3/jVzJCl5YwlwZ7vfTl1dHGDcFK83mda6tgKeGPeeI0DZteWbeJHULe/OkVNFxmKzqYCHWx9LJG4F2/YS2VaiQZ1bx62PJsCdzR47e1ULbjmK+N2xbNcpCe6yfP2teMHUq85WGwtPtQIebvkCPdmxbTO39WZOXNytsURc7Lq4iXM81RXiYs5WIFXc1Wr1mjhUP+lstbHwVCtg4NZPTPS5O9ZpiW3mbnVu4E51b52/GHA7TyC/BQDu/O6t8ysDbucJ5LcAwJ3fvXV+ZU7jFv9buk+83sV5BHktgDjAmBsZGflQO+M2b7/TnXNzOy0RLwfoEzeW8rq3zq/ryZMnn4+NjZ0Dbucp5K8AwI3OnT/V3oqAG7iB2/h/lIleW4KZO7eOWC4MnRudmyVMiqSAG7gpHLGMAdzAzRImRVLADdwUjljGAG7gZgmTIingBm4KRyxjADdws4RJkRRwAzeFI5YxgBu4WcKkSAq4gZvCEcsYwA3cLGFSJAXcwE3hiGUM4AZuljApkgJu4KZwxDIGcAM3S5gUSQE3cFM4YhkDuIGbJUyKpIAbuCkcsYwB3MDNEiZFUsAN3BSOWMYAbuBmCZMiKeAGbgpHLGMAN3CzhEmRFHADN4UjljGAG7hZwqRICriBm8IRyxjADdwsYVIkBdzATeGIZQzgBm6WMCmSAm7gpnDEMgZwAzdLmBRJATdwUzhiGQO4gZslTIqkgBu4KRyxjAHcwM0SJkVSwA3cFI5YxgBu4GYJkyIp4AZuCkcsYwA3cLOESZEUcAM3hSOWMYAbuFnCpEgKuIGbwhHLGMAN3CxhUiQF3MBN4YhlDOAGbpYwKZICbuCmcMQyBnADN0uYFEkBN3BTOGIZA7iBmyVMiqSAG7gpHLGMAdzAzRImRVLADdwUjljGAG7gZgmTIingBm4KRyxjADdws4RJkRRwAzeFI5YxgBu4WcKkSAq4gZvCEcsYwA3cLGFSJAXcwE3hiGUM4AZuljApkgJu4KZwxDIGcAM3S5gUSQE3cFM4YhkDuIGbJUyKpIAbuCkcsYwB3MDNEiZFUsAN3BSOWMYwcO+IJBveW1N7L3OXn7f/FSyrUV+T7+Vb0XgrV6vVa4ODgye5VKJWq/VtATeX7SDPI03cJYH7R+Am30ME9KnA2tra+dHR0XPi23rXlt2bpHOrDl4SAUsrKyufjIyMfMplN9C5uexEd/JYXFx8b2Ji4oaGWyLXYatxJPJYIjOVI4k+mrRwz8/PT0xOTt7szlLiRwXu+DXrpZ+Ym5sbP3369JLIWc3aqoNLzOpNLikWbnPmlrhbM3ij0fivUCjIjzP/B9yZb0HXEmg2m/8cOHDgJQtsfSxR1w/FLR+oP6nUu3erc0vcGxsb3w0NDb3ZtVXFCAzcMYrVYw8VTybPjo2Nfenhlh3b7NoS+Z6urSM2l+yHW52clCqVSvnhw4d/lUql57OuF3BnvQPdub44AZs/dOjQu+IJpY5aPwZUc3di3Go0MWfv4sLCwhtHjhz5wRtVurPCCFGBO0KReuwhYuxdvXTp0uszMzP6rK1gm8A7wm0772518atXr748NTX1fblcfiGr+gF3VpXvznU3Nzd/unjx4kdnzpz5VxtD/GBbT0qCxhJz7rZ17/aIImf0x48ffzE8PHyqWCw+150l+0cF7rQr3p3r1ev1P5eWlr4Sx35XvBlbgtZn7EhHgCo72x1KPXN1l1J/b96x3HVcODs7W5menj4loJ8QgfpVMPGsN+xaiSsmftP/Xl9ff5Q4AH4w1QqIU7b2qYb4uLa8vPz75cuXf7tw4cKaSETN0WanNkcR8xhwzxrCwCnUqpOb597qc31s0X8R1M+FXSfV4uJiLCpgnk/rWM3XjgS9lmTX8Z/ZmYNWar7ORH+9iT6qmB+bvxTAzcITqyTCcKvvm7fZA2/cJMGtd2ATuO1zs2PruAGdlbFUk9G7rP5E0PxYgTa7uW0USdy5bU8sbdD1zg3YqXrpuYt1Alwu1vd2u1mJKF3U7LrmqGLO4/ovRNDHPbcrSJikAjbcCq16rzq3DbPfz8d+QmkbYXTcti5uggZwEhO5CBIGW8ds69C+Z9q26kTp3H4zuh/yMNy52CUsouMKBEE3EUfu1n5Yo2Rr/jKYwAE7ShXxGFUB88mgrTP7PSa0inE7twroh9yG2+9rocnhAbmugO2Uw2/s8D0RCapQUtxmzKA4VNfI9U47vDg/uIlAdzKW+O0BADuss0tLZ4M7bH3AH1Yh977fMd6wkgFdWIXw/Z6tAHD37NYh8bAKAHdYhfD9nq0AcPfs1iHxsAr8D7xvfQ8bZ0PpAAAAAElFTkSuQmCC",A2={class:"setting-drawer"},V2={class:"h-full flex flex-col"},L2={class:"setting-item mb-5"},M2={class:"flex mt-4 cursor-pointer"},x2=["onClick"],E2=["src"],H2={class:"setting-item mb-5 flex justify-between items-center"},T2={class:"setting-item mb-5 flex justify-between items-center"},O2={class:"setting-item mb-5 flex justify-between items-center"},I2={class:"setting-item mb-5 flex justify-between items-center"},R2={class:"setting-item mb-5 flex justify-between items-center"},P2={class:"setting-item mb-5 flex justify-between items-center"},B2={class:"setting-item mb-5 flex justify-between items-center"},D2={class:"setting-item flex justify-between items-center mt-auto"},C2=V({__name:"drawer",setup(a){const o=W(),e=c3(["#409EFF","#28C76F","#EA5455","#FF9F43","#01CFE8","#4A5DFF"]),t=[{type:"dark",image:w2},{type:"light",image:f2}],l=b({get(){return o.sideTheme},set(f){o.setSetting({key:"sideTheme",value:f})}}),c=b({get(){return o.openMultipleTabs},set(f){o.setSetting({key:"openMultipleTabs",value:f})}}),n=b({get(){return o.isUniqueOpened},set(f){o.setSetting({key:"isUniqueOpened",value:f})}}),r=b({get(){return o.sideWidth},set(f){o.setSetting({key:"sideWidth",value:f})}}),s=b({get(){return o.showDrawer},set(f){o.setSetting({key:"showDrawer",value:f})}}),_=b({get(){return o.theme},set(f){o.setSetting({key:"theme",value:f}),O()}}),p=b({get(){return o.showLogo},set(f){o.setSetting({key:"showLogo",value:f})}}),v=b({get(){return o.showCrumb},set(f){o.setSetting({key:"showCrumb",value:f})}}),w=c1(),O=()=>{o.setTheme(w.value)},M=()=>{h0(w)(),O()},E=()=>{w.value=!1,o.resetTheme(),O()};return(f,y)=>{const x3=G,$=B1,Q=D1,L1=C1,M1=S1,x1=a1;return h(),g("div",A2,[u(x1,{modelValue:m(s),"onUpdate:modelValue":y[6]||(y[6]=x=>k(s)?s.value=x:null),"append-to-body":"",direction:"rtl",size:"250px",title:"主题设置"},{default:z(()=>[d("div",V2,[d("div",L2,[y[7]||(y[7]=d("span",{class:"text-tx-secondary"},"风格设置",-1)),d("div",M2,[(h(),g(B,null,K(t,x=>d("div",{class:"mr-4 flex relative text-primary",key:x.type,onClick:A4=>l.value=x.type},[d("img",{src:x.image,width:"52",height:"36"},null,8,E2),m(l)==x.type?(h(),A(x3,{key:0,class:"icon-select",name:"el-icon-Select"})):D("",!0)],8,x2)),64))])]),d("div",H2,[y[8]||(y[8]=d("span",{class:"text-tx-secondary"},"主题颜色",-1)),d("div",null,[u($,{modelValue:m(_),"onUpdate:modelValue":y[0]||(y[0]=x=>k(_)?_.value=x:null),predefine:m(e)},null,8,["modelValue","predefine"])])]),d("div",T2,[y[9]||(y[9]=d("span",{class:"text-tx-secondary"},"开启黑暗模式",-1)),d("div",null,[u(Q,{"model-value":m(w),onChange:M},null,8,["model-value"])])]),d("div",O2,[y[10]||(y[10]=d("span",{class:"text-tx-secondary"},"开启多页签栏",-1)),d("div",null,[u(Q,{modelValue:m(c),"onUpdate:modelValue":y[1]||(y[1]=x=>k(c)?c.value=x:null),"active-value":!0,"inactive-value":!1},null,8,["modelValue"])])]),d("div",I2,[y[11]||(y[11]=d("span",{class:"text-tx-secondary"},"只展开一个一级菜单",-1)),d("div",null,[u(Q,{modelValue:m(n),"onUpdate:modelValue":y[2]||(y[2]=x=>k(n)?n.value=x:null),"active-value":!0,"inactive-value":!1},null,8,["modelValue"])])]),d("div",R2,[y[12]||(y[12]=d("div",{class:"text-tx-secondary flex-none mr-3"},"菜单栏宽度",-1)),d("div",null,[u(L1,{modelValue:m(r),"onUpdate:modelValue":y[3]||(y[3]=x=>k(r)?r.value=x:null),min:180,max:250},null,8,["modelValue"])])]),d("div",P2,[y[13]||(y[13]=d("div",{class:"text-tx-secondary flex-none mr-3"},"显示LOGO",-1)),d("div",null,[u(Q,{modelValue:m(p),"onUpdate:modelValue":y[4]||(y[4]=x=>k(p)?p.value=x:null),"active-value":!0,"inactive-value":!1},null,8,["modelValue"])])]),d("div",B2,[y[14]||(y[14]=d("div",{class:"text-tx-secondary flex-none mr-3"},"显示面包屑",-1)),d("div",null,[u(Q,{modelValue:m(v),"onUpdate:modelValue":y[5]||(y[5]=x=>k(v)?v.value=x:null),"active-value":!0,"inactive-value":!1},null,8,["modelValue"])])]),d("div",D2,[u(M1,{onClick:E,class:"w-full"},{default:z(()=>[...y[15]||(y[15]=[I("重置主题",-1)])]),_:1})])])]),_:1},8,["modelValue"])])}}}),S2=P(C2,[["__scopeId","data-v-352f3746"]]),k2=V({__name:"index",setup(a){const o=W(),e=()=>{o.setSetting({key:"showDrawer",value:!0})};return(t,l)=>{const c=G;return h(),g("div",{class:"setting flex cursor-pointer h-full items-center px-2",onClick:e},[u(c,{size:16,name:"el-icon-Setting"}),u(S2)])}}});function w1(a){const o=V3();return s1(o,()=>{a(o)},{immediate:!0}),{route:o}}const j2=V({__name:"breadcrumb",setup(a){const o=c3([]),e=t=>{const l=t.matched.filter(c=>c.meta&&c.meta.title);o.value=l};return w1(t=>{e(t)}),(t,l)=>{const c=k1,n=j1;return h(),A(n,{class:"app-breadcrumb"},{default:z(()=>[(h(!0),g(B,null,K(m(o),r=>(h(),A(c,{key:r.path},{default:z(()=>[I(R(r.meta.title),1)]),_:2},1024))),128))]),_:1})}}}),N2=P(j2,[["__scopeId","data-v-94d84829"]]),q2=V({__name:"fold",setup(a){const o=S(),e=b(()=>o.isCollapsed),t=()=>{o.toggleCollapsed()};return(l,c)=>{const n=G;return h(),g("div",{class:"fold h-full cursor-pointer flex items-center px-2",onClick:t},[u(n,{name:`local-icon-${m(e)?"expand":"collapse"}`,size:18},null,8,["name"])])}}}),W2=V({__name:"full-screen",setup(a){const{toggle:o,isFullscreen:e}=n1();return(t,l)=>{const c=G;return h(),g("div",{class:"full-screen h-full cursor-pointer flex items-center px-2",onClick:l[0]||(l[0]=(...n)=>m(o)&&m(o)(...n))},[u(c,{size:16,name:`local-icon-${m(e)?"fullscreen-exit":"fullscreen"}`},null,8,["name"])])}}});function G2(){const a=n3(),o=V3(),e=m3(),t=W(),l=b(()=>e.getTabList),c=b(()=>o.fullPath);return{tabsLists:l,currentTab:c,addTab:()=>{t.openMultipleTabs&&e.addTab(a)},removeTab:p=>{t.openMultipleTabs&&(p=p??o.fullPath,e.removeTab(p,a))},removeOtherTab:()=>{t.openMultipleTabs&&e.removeOtherTab(o)},removeAllTab:()=>{t.openMultipleTabs&&e.removeAllTab(a)}}}const $2={class:"app-tabs pl-4 flex bg-body"},U2={class:"flex-1 min-w-0"},F2={class:"flex items-center px-3"},Y2=V({__name:"multiple-tabs",setup(a){const o=n3(),e=m3(),{removeOtherTab:t,addTab:l,removeAllTab:c,removeTab:n,tabsLists:r,currentTab:s}=G2();w1(()=>{l()});const _=v=>{const w=e.tasMap[v];o.push(z1(w))},p=v=>{switch(v){case"closeCurrent":n();break;case"closeOther":t();break;case"closeAll":c();break}};return(v,w)=>{const O=N1,M=q1,E=G,f=e1,y=o1,x3=t1;return h(),g("div",$2,[d("div",U2,[u(M,{"model-value":m(s),closable:m(r).length>1,onTabChange:_,onTabRemove:w[0]||(w[0]=$=>m(n)($))},{default:z(()=>[(h(!0),g(B,null,K(m(r),$=>(h(),A(O,{key:$.fullPath,label:$.title,name:$.fullPath},null,8,["label","name"]))),128))]),_:1},8,["model-value","closable"])]),u(x3,{onCommand:p},{dropdown:z(()=>[u(y,null,{default:z(()=>[u(f,{command:"closeCurrent"},{default:z(()=>[...w[1]||(w[1]=[I(" 关闭当前 ",-1)])]),_:1}),u(f,{command:"closeOther"},{default:z(()=>[...w[2]||(w[2]=[I(" 关闭其他 ",-1)])]),_:1}),u(f,{command:"closeAll"},{default:z(()=>[...w[3]||(w[3]=[I(" 关闭全部 ",-1)])]),_:1})]),_:1})]),default:z(()=>[d("span",F2,[u(E,{size:16,name:"el-icon-arrow-down"})])]),_:1})])}}}),Z2=P(Y2,[["__scopeId","data-v-414a904e"]]),X2=V({__name:"refresh",setup(a){const o=S(),e=()=>{o.refreshView()};return(t,l)=>{const c=G;return h(),g("div",{class:"refresh cursor-pointer h-full flex items-center px-2",onClick:e},[u(c,{name:"el-icon-RefreshRight",size:18})])}}});function A7(){return L.get({url:"/setting.system.system/info"})}function V7(a){return L.get({url:"/setting.system.log/lists",params:a},{ignoreCancelToken:!0})}function K2(){return L.post({url:"/setting.system.cache/clear"})}function L7(a){return L.get({url:"/crontab.crontab/lists",params:a})}function M7(a){return L.post({url:"/crontab.crontab/add",params:a})}function x7(a){return L.get({url:"/crontab.crontab/detail",params:a})}function E7(a){return L.post({url:"/crontab.crontab/edit",params:a})}function H7(a){return L.post({url:"/crontab.crontab/delete",params:a})}function T7(a){return L.get({url:"/crontab.crontab/expression",params:a})}const J2={class:"flex items-center"},Q2={class:"ml-3 mr-1"},a6=V({__name:"user-drop-down",setup(a){const o=Y(),e=b(()=>o.userInfo),t=async l=>{switch(l){case"logout":await X.confirm("确定退出登录吗?"),o.logout();break;case"cache":await K2(),window.location.reload();break}};return(l,c)=>{const n=W1,r=G,s=e1,_=s3("router-link"),p=o1,v=t1;return h(),A(v,{class:"px-2",onCommand:t},{dropdown:z(()=>[u(p,null,{default:z(()=>[u(_,{to:"/user/setting"},{default:z(()=>[u(s,null,{default:z(()=>[...c[0]||(c[0]=[I("个人设置",-1)])]),_:1})]),_:1}),u(s,{command:"cache"},{default:z(()=>[...c[1]||(c[1]=[I("清除缓存",-1)])]),_:1}),u(s,{command:"logout"},{default:z(()=>[...c[2]||(c[2]=[I("退出登录",-1)])]),_:1})]),_:1})]),default:z(()=>[d("div",J2,[u(n,{size:34,src:m(e).avatar},null,8,["src"]),d("div",Q2,R(m(e).name),1),u(r,{name:"el-icon-ArrowDown"})])]),_:1})}}}),o6={class:"header"},e6={class:"navbar"},t6={class:"flex-1 flex"},i6={class:"navbar-item"},l6={class:"navbar-item"},c6={key:0,class:"flex items-center px-2"},n6={class:"flex"},s6={key:0,class:"navbar-item"},r6={class:"navbar-item"},m6={class:"navbar-item"},u6=V({__name:"index",setup(a){const o=S(),e=b(()=>o.isMobile),t=b(()=>o.isCollapsed),l=W(),{isFullscreen:c}=n1();return(n,r)=>{const s=i1;return h(),g("header",o6,[d("div",e6,[d("div",t6,[d("div",i6,[u(s,{class:"box-item",effect:"dark",content:m(t)?"展开菜单":"收起菜单",placement:"bottom"},{default:z(()=>[u(q2)]),_:1},8,["content"])]),d("div",l6,[u(s,{class:"box-item",effect:"dark",content:"刷新",placement:"bottom"},{default:z(()=>[u(X2)]),_:1})]),!m(e)&&m(l).showCrumb?(h(),g("div",c6,[u(N2)])):D("",!0)]),d("div",n6,[m(e)?D("",!0):(h(),g("div",s6,[u(s,{class:"box-item",effect:"dark",content:m(c)?"退出全屏":"全屏模式",placement:"bottom"},{default:z(()=>[u(W2)]),_:1},8,["content"])])),d("div",r6,[u(a6)]),d("div",m6,[u(s,{class:"box-item",effect:"dark",content:"主题设置",placement:"bottom"},{default:z(()=>[u(k2)]),_:1})])])]),m(l).openMultipleTabs?(h(),A(Z2,{key:0})):D("",!0)])}}}),d6={class:"main-wrap h-full bg-page"},h6={class:"px-2 py-4"},v6=V({__name:"main",setup(a){const o=S(),e=m3(),t=W(),l=b(()=>o.isRouteShow),c=b(()=>t.openMultipleTabs?e.getCacheTabList:[]);return(n,r)=>{const s=s3("router-view"),_=l1;return h(),g("main",d6,[u(_,null,{default:z(()=>[d("div",h6,[m(l)?(h(),A(s,{key:0},{default:z(({Component:p,route:v})=>[(h(),A(e0,{include:m(c),max:20},[(h(),A(r1(p),{key:v.fullPath}))],1032,["include"]))]),_:1})):D("",!0)])]),_:1})])}}}),_6=V({__name:"index",props:{...G1,teleported:{type:Boolean,default:!1},placement:{type:String,default:"top"},overfloType:{type:String,default:"ellipsis"}},setup(a){const o=a,e=R1(),t=c3(!1);return J1(e,"mouseenter",()=>{var l,c;((l=e.value)==null?void 0:l.scrollWidth)>((c=e.value)==null?void 0:c.offsetWidth)?t.value=!1:t.value=!0}),(l,c)=>{const n=i1;return h(),g("div",null,[u(n,j3(o,{disabled:m(t)}),{default:z(()=>[d("div",{ref_key:"textRef",ref:e,class:"overflow-text truncate",style:r3({textOverflow:a.overfloType})},R(l.content),5)]),_:1},16,["disabled"])])}}}),p6=V({__name:"index",props:{width:{type:[String,Number],default:"auto"},height:{type:[String,Number],default:"auto"},radius:{type:[String,Number],default:0},...$1},setup(a){const o=a,e=b(()=>({width:i3(o.width),height:i3(o.height),borderRadius:i3(o.radius)}));return(t,l)=>{const c=U1;return h(),A(c,j3({style:e.value},o),null,16,["style"])}}}),z6=P(p6,[["__scopeId","data-v-275301c7"]]),b6=V({__name:"logo",props:{szie:{type:Number,default:34},title:{type:String},theme:{type:String},showTitle:{type:Boolean,default:!0}},setup(a){const o=S(),e=b(()=>o.config),t=n3(),l=()=>{t.push("/")};return(c,n)=>{const r=z6,s=_6;return h(),g("div",{class:"logo",onClick:l},[u(r,{width:a.szie,height:a.szie,src:m(e).web_logo},null,8,["width","height","src"]),u(_0,{name:"title-width"},{default:z(()=>[m1(d("div",{class:b3(["logo-title overflow-hidden whitespace-nowrap",{"text-white":a.theme==m(_1).DARK}]),style:r3({left:`${a.szie+16}px`})},[u(s,{content:a.title||m(e).web_name,teleported:!0,placement:"bottom","overflo-type":"unset"},null,8,["content"])],6),[[v1,a.showTitle]])]),_:1})])}}}),y6=P(b6,[["__scopeId","data-v-590d56e3"]]),g6=V({__name:"index",props:{to:{},replace:{type:Boolean}},setup(a){const o=a,e=b(()=>typeof o.to!="object"&&J(o.to)),t=b(()=>e.value?"a":"router-link"),l=b(()=>e.value?{href:o.to,target:"_blank"}:o);return(c,n)=>(h(),A(r1(m(t)),n0(t0(m(l))),{default:z(()=>[i0(c.$slots,"default")]),_:3},16))}}),w6=V({__name:"menu-item",props:{route:{},routePath:{},popperClass:{}},setup(a){const o=a,e=b(()=>!!(o.route.children??[]).filter(r=>{var s;return!((s=r.meta)!=null&&s.hidden)}).length),t=b(()=>o.route.meta),l=n=>J(n)?n:_2(`${o.routePath}/${n}`),c=b(()=>{var r;const n=(r=o.route.meta)==null?void 0:r.query;try{const s=JSON.parse(n);return p2(s)}catch{return n}});return(n,r)=>{var O;const s=G,_=F1,p=g6,v=s3("menu-item",!0),w=Y1;return(O=a.route.meta)!=null&&O.hidden?D("",!0):(h(),g(B,{key:0},[m(e)?(h(),A(w,{key:1,index:a.routePath,"popper-class":a.popperClass},{title:z(()=>{var M,E,f;return[(M=m(t))!=null&&M.icon?(h(),A(s,{key:0,class:"menu-item-icon",size:16,name:(E=m(t))==null?void 0:E.icon},null,8,["name"])):D("",!0),d("span",null,R((f=m(t))==null?void 0:f.title),1)]}),default:z(()=>{var M;return[(h(!0),g(B,null,K((M=a.route)==null?void 0:M.children,E=>(h(),A(v,{key:l(E.path),route:E,"route-path":l(E.path),"popper-class":a.popperClass},null,8,["route","route-path","popper-class"]))),128))]}),_:1},8,["index","popper-class"])):(h(),A(p,{key:0,to:`${a.routePath}?${m(c)}`},{default:z(()=>[u(_,{index:a.routePath},{title:z(()=>{var M;return[d("span",null,R((M=m(t))==null?void 0:M.title),1)]}),default:z(()=>{var M,E;return[(M=m(t))!=null&&M.icon?(h(),A(s,{key:0,class:"menu-item-icon",size:16,name:(E=m(t))==null?void 0:E.icon},null,8,["name"])):D("",!0)]}),_:1},8,["index"])]),_:1},8,["to"]))],64))}}}),f6=P(w6,[["__scopeId","data-v-65172b69"]]),A6=V({__name:"menu",props:{routes:{type:Object},config:{type:Object},uniqueOpened:{type:Boolean,default:!1},isCollapsed:{type:Boolean,default:!1},theme:{type:String},width:{type:Number,default:200}},emits:["select"],setup(a){const o=a,e=V3(),t=b(()=>{var c;return((c=e.meta)==null?void 0:c.activeMenu)||e.path}),l=b(()=>`theme-${o.theme}`);return(c,n)=>{const r=Z1,s=l1;return h(),g("div",{class:b3(["menu flex-1 min-h-0",m(l)]),style:r3(a.isCollapsed?"":`--aside-width: ${a.width}px`)},[u(s,null,{default:z(()=>[u(r,j3(a.config,{"default-active":m(t),collapse:a.isCollapsed,mode:"vertical","unique-opened":a.uniqueOpened,onSelect:n[0]||(n[0]=_=>c.$emit("select"))}),{default:z(()=>[(h(!0),g(B,null,K(a.routes,_=>(h(),A(f6,{key:_.path,route:_,"route-path":_.path,"popper-class":m(l)},null,8,["route","route-path","popper-class"]))),128))]),_:1},16,["default-active","collapse","unique-opened"])]),_:1})],6)}}}),V6=P(A6,[["__scopeId","data-v-6c529f19"]]),L6=V({__name:"side",setup(a){const o=S(),e=b(()=>o.isMobile?!1:o.isCollapsed),t=W(),l=b(()=>t.sideTheme),c=Y(),n=b(()=>c.routes),r=b(()=>l.value=="dark"?{"--side-dark-color":t.sideDarkColor}:""),s=b(()=>({backgroundColor:l.value=="dark"?t.sideDarkColor:"",textColor:l.value=="dark"?"var(--el-color-white)":"",activeTextColor:l.value=="dark"?"var(--el-color-white)":""})),_=()=>{o.isMobile&&o.toggleCollapsed(!0)};return(p,v)=>(h(),g("div",{class:"side",style:r3(m(r))},[m(t).showLogo?(h(),A(y6,{key:0,"show-title":!m(e),theme:m(l)},null,8,["show-title","theme"])):D("",!0),u(V6,{routes:m(n),"is-collapsed":m(e),width:m(t).sideWidth,"unique-opened":m(t).isUniqueOpened,config:m(s),theme:m(l),onSelect:_},null,8,["routes","is-collapsed","width","unique-opened","config","theme"])],4))}}),F3=P(L6,[["__scopeId","data-v-ed43753e"]]),M6={class:"sidebar h-full"},x6=V({__name:"index",setup(a){const o=S(),e=W(),t=b(()=>o.isMobile),l=b({get(){return!o.isCollapsed&&t.value},set(n){o.toggleCollapsed(!n)}}),c=b(()=>`${e.sideWidth+1}px`);return(n,r)=>{const s=a1;return h(),g("aside",M6,[u(s,{modelValue:m(l),"onUpdate:modelValue":r[0]||(r[0]=_=>k(l)?l.value=_:null),direction:"ltr",size:m(c),title:"主题设置","with-header":!1},{default:z(()=>[u(F3)]),_:1},8,["modelValue","size"]),m1(u(F3,null,null,512),[[v1,!m(t)]])])}}}),E6=P(x6,[["__scopeId","data-v-7243bf96"]]),H6={class:"layout-default flex h-screen w-full"},T6={class:"app-aside shrink-0"},O6={class:"flex-1 flex flex-col min-w-0"},I6={class:"app-header"},R6={class:"app-main flex-1 min-h-0"},P6=V({__name:"index",setup(a){return(o,e)=>(h(),g("div",H6,[d("div",T6,[u(E6)]),d("div",O6,[d("div",I6,[u(u6)]),d("div",R6,[u(v6)])])]))}}),l3=()=>Promise.resolve(P6),M3=Symbol(),B6=[{path:"/:pathMatch(.*)*",component:()=>i(()=>import("./404-CYPI5auS.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40]))},{path:T.ERROR_403,component:()=>i(()=>import("./403-s-2fq8XB.js"),__vite__mapDeps([41,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40]))},{path:T.LOGIN,component:()=>i(()=>import("./login-BXCcNT2S.js"),__vite__mapDeps([42,2,3,4,5,6,7,8,9,10,11,12,13,14,15,43,44,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,45]))},{path:"/change-password",component:()=>i(()=>import("./change-password-CSbxsbOa.js"),__vite__mapDeps([46,2,3,4,5,6,7,8,9,10,11,12,13,14,15,43,44,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,47]))},{path:"/bind-work-wechat",component:()=>i(()=>import("./bind-work-wechat-CWkTPdoN.js"),__vite__mapDeps([48,2,3,4,5,6,7,8,9,10,11,12,13,14,15,44,49,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,50]))},{path:"/user",component:l3,children:[{path:"setting",component:()=>i(()=>import("./setting-H_keQ8CE.js"),__vite__mapDeps([51,2,3,4,5,6,7,8,9,10,11,12,13,14,15,52,53,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,49,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,73])),name:Symbol(),meta:{title:"个人设置"}}]},{path:"/doctor",component:l3,children:[{path:"progress",component:()=>i(()=>import("./progress-DM-687gY.js"),__vite__mapDeps([74,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,75,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,76])),name:"doctorFaceProgress",meta:{title:"面诊进度"}}]},{path:"/decoration/pc_details",component:()=>i(()=>import("./pc_details-BuqzzP4c.js"),__vite__mapDeps([77,2,3,4,5,6,7,8,9,10,11,12,13,14,15,78,79,80,81,59,60,82,55,56,58,83,65,84,54,57,61,62,63,64,22,23,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116]))},{path:"/fans/h5",component:()=>i(()=>import("./h5-Bbv5vJWD.js"),__vite__mapDeps([117,2,3,4,5,6,7,8,9,10,11,12,13,14,15,118,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,119]))},{path:"/tcm/diagnosis/h5",component:()=>i(()=>import("./index_h5-kGvFYcr5.js"),__vite__mapDeps([120,17,18,19,2,3,4,5,6,7,8,9,10,11,12,13,14,15,121,122,75,123,65,124,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,125]))},{path:"/tcm/diagnosis-readonly",component:l3,meta:{hidden:!0},children:[{path:"",component:()=>i(()=>import("./readonly-okM0Gs_x.js"),__vite__mapDeps([126,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,121,127,128,124,129,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,130,131,132,133,134,135,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,75,153,154,155,156,157,158])),name:"tcmDiagnosisReadonly",meta:{title:"患者信息详情",hidden:!0,activeMenu:"/tcm/diagnosis"}}]}],v3={path:T.INDEX,component:l3,name:M3},C3=Object.assign({"/src/views/account/bind-work-wechat.vue":()=>i(()=>import("./bind-work-wechat-CWkTPdoN.js"),__vite__mapDeps([48,2,3,4,5,6,7,8,9,10,11,12,13,14,15,44,49,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,50])),"/src/views/account/change-password.vue":()=>i(()=>import("./change-password-CSbxsbOa.js"),__vite__mapDeps([46,2,3,4,5,6,7,8,9,10,11,12,13,14,15,43,44,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,47])),"/src/views/account/login.vue":()=>i(()=>import("./login-BXCcNT2S.js"),__vite__mapDeps([42,2,3,4,5,6,7,8,9,10,11,12,13,14,15,43,44,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,45])),"/src/views/app/recharge/index.vue":()=>i(()=>import("./index-CZGt9K8l.js"),__vite__mapDeps([159,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/article/column/edit.vue":()=>i(()=>import("./edit-ClO9w8qS.js"),__vite__mapDeps([160,161,2,3,4,5,6,7,8,9,10,11,12,13,14,15,83,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/article/column/index.vue":()=>i(()=>import("./index-DfNQvvZ_.js"),__vite__mapDeps([162,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,83,65,161,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/article/lists/edit.vue":()=>i(()=>import("./edit-B_gi1DEq.js"),__vite__mapDeps([163,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,164,165,166,167,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,168,83,169,16,17,18,19,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/article/lists/index.vue":()=>i(()=>import("./index-DAHlNz9_.js"),__vite__mapDeps([170,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,83,169,65,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/channel/h5.vue":()=>i(()=>import("./h5-3XP2M5m8.js"),__vite__mapDeps([171,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/channel/open_setting.vue":()=>i(()=>import("./open_setting-BzVgH1fa.js"),__vite__mapDeps([172,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/channel/weapp.vue":()=>i(()=>import("./weapp-BHw48loO.js"),__vite__mapDeps([173,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,123,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/channel/wx_oa/config.vue":()=>i(()=>import("./config-BTlTjBYC.js"),__vite__mapDeps([174,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,175,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/channel/wx_oa/menu.vue":()=>i(()=>import("./menu-AjX2ndQ-.js"),__vite__mapDeps([176,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,177,59,60,55,56,178,179,175,180,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,181,182])),"/src/views/channel/wx_oa/menu_com/oa-attr.vue":()=>i(()=>import("./oa-attr-pvWnhivq.js"),__vite__mapDeps([177,59,5,6,7,4,3,60,55,2,8,9,10,11,12,13,14,15,56,178,179,175,180,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/channel/wx_oa/menu_com/oa-menu-form-edit.vue":()=>i(()=>import("./oa-menu-form-edit-CMEKTjXo.js"),__vite__mapDeps([183,180,55,2,3,4,5,6,7,8,9,10,11,12,13,14,15,56,178,179,175,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/channel/wx_oa/menu_com/oa-menu-form.vue":()=>i(()=>import("./oa-menu-form-DqBMzEuA.js"),__vite__mapDeps([184,178,2,3,4,5,6,7,8,9,10,11,12,13,14,15,179,175,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/channel/wx_oa/menu_com/oa-phone.vue":()=>i(()=>import("./oa-phone-YKGiM_hq.js"),__vite__mapDeps([181,2,3,4,5,6,7,8,9,10,11,12,13,14,15,179,175,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,182])),"/src/views/channel/wx_oa/reply/default_reply.vue":()=>i(()=>import("./default_reply-Dl6lTkU1.js"),__vite__mapDeps([185,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,175,65,186,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/channel/wx_oa/reply/edit.vue":()=>i(()=>import("./edit-CRO3r4qf.js"),__vite__mapDeps([187,186,2,3,4,5,6,7,8,9,10,11,12,13,14,15,175,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/channel/wx_oa/reply/follow_reply.vue":()=>i(()=>import("./follow_reply-CHQeIYfB.js"),__vite__mapDeps([188,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,175,65,186,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/channel/wx_oa/reply/keyword_reply.vue":()=>i(()=>import("./keyword_reply-CW2cAvxC.js"),__vite__mapDeps([189,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,175,65,186,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/chat/components/MessageBubble.vue":()=>i(()=>import("./MessageBubble-joJCVvzv.js"),__vite__mapDeps([190,2,3,4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,191])),"/src/views/chat/components/SendPanel.vue":()=>i(()=>import("./SendPanel-CSQRMLER.js").then(a=>a.i),__vite__mapDeps([192,2,3,4,5,6,7,8,9,10,11,12,13,14,15,63,193])),"/src/views/chat/index.vue":()=>i(()=>import("./index-DZRyIHZb.js"),__vite__mapDeps([194,2,3,4,5,6,7,8,9,10,11,12,13,14,15,65,190,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,191,192,63,193,195])),"/src/views/consumer/assistant/edit.vue":()=>i(()=>import("./edit-BhpztwAz.js"),__vite__mapDeps([196,2,3,4,5,6,7,8,9,10,11,12,13,14,15,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,197,198,199,169,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,200])),"/src/views/consumer/assistant/index.vue":()=>i(()=>import("./index-DlsUzUTw.js"),__vite__mapDeps([201,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,197,65,196,54,55,56,57,59,60,61,62,63,64,22,23,66,67,68,69,70,71,72,198,199,169,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,200,202])),"/src/views/consumer/components/account-adjust.vue":()=>i(()=>import("./account-adjust-fW1njHts.js"),__vite__mapDeps([203,204,2,3,4,5,6,7,8,9,10,11,12,13,14,15,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/consumer/doctor/edit.vue":()=>i(()=>import("./edit-Cgkk3pe8.js"),__vite__mapDeps([205,2,3,4,5,6,7,8,9,10,11,12,13,14,15,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,197,198,199,169,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,206])),"/src/views/consumer/doctor/index.vue":()=>i(()=>import("./index-C2FE2zRB.js"),__vite__mapDeps([207,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,197,65,205,54,55,56,57,59,60,61,62,63,64,22,23,66,67,68,69,70,71,72,198,199,169,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,206,208])),"/src/views/consumer/doctor/paiban.vue":()=>i(()=>import("./paiban-CTSeMF1D.js"),__vite__mapDeps([209,2,3,4,5,6,7,8,9,10,11,12,13,14,15,121,75,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,210])),"/src/views/consumer/lists/detail.vue":()=>i(()=>import("./detail-D1BwcPGJ.js"),__vite__mapDeps([211,2,3,4,5,6,7,8,9,10,11,12,13,14,15,64,22,23,212,204,55,56,16,17,18,19,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/consumer/lists/index.vue":()=>i(()=>import("./index-_vjMvBRf.js"),__vite__mapDeps([213,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,214,55,56,215,212,65,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/consumer/prescription/guahao.vue":()=>i(()=>import("./guahao-DVVPVWg_.js"),__vite__mapDeps([216,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,215,75,121,65,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/consumer/prescription/index.vue":()=>i(()=>import("./index-1heYt356.js"),__vite__mapDeps([217,17,18,19,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,121,218,219,65,215,220,221,16,222,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,223])),"/src/views/consumer/prescription/list.vue":()=>i(()=>import("./list-DLTQ2P3_.js"),__vite__mapDeps([224,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,121,65,220,218,221,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,225])),"/src/views/consumer/prescription/order_list.vue":()=>i(()=>import("./order_list-CvyF-dAE.js"),__vite__mapDeps([226,17,18,19,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,214,55,56,16,215,121,222,198,65,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,227])),"/src/views/consumer/prescription/order_list_h5.vue":()=>i(()=>import("./order_list_h5-vgNomJoJ.js"),__vite__mapDeps([228,17,18,19,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,215,121,222,198,65,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,229])),"/src/views/decoration/component/add-nav.vue":()=>i(()=>import("./add-nav-DLGX-0mX.js"),__vite__mapDeps([230,95,2,3,4,5,6,7,8,9,10,11,12,13,14,15,59,60,82,55,56,58,83,65,84,54,57,61,62,63,64,22,23,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/decoration/component/decoration-img.vue":()=>i(()=>import("./decoration-img-CZLpkXPN.js"),__vite__mapDeps([87,2,3,4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,88])),"/src/views/decoration/component/pages/attr-setting.vue":()=>i(()=>import("./attr-setting-D8C9Ndmf.js"),__vite__mapDeps([231,232,2,3,4,5,6,7,8,9,10,11,12,13,14,15,80,81,59,60,82,55,56,58,83,65,84,54,57,61,62,63,64,22,23,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,78,102,103,104,105,106,107,108,109,110,111,112,113,114])),"/src/views/decoration/component/pages/menu.vue":()=>i(()=>import("./menu-CVGDEBOV.js"),__vite__mapDeps([233,2,3,4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,234])),"/src/views/decoration/component/pages/preview-pc.vue":()=>i(()=>import("./preview-pc-C3rY5bdw.js"),__vite__mapDeps([79,2,3,4,5,6,7,8,9,10,11,12,13,14,15,80,81,59,60,82,55,56,58,83,65,84,54,57,61,62,63,64,22,23,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,78,102,103,104,105,106,107,108,109,110,111,112,113,114,115])),"/src/views/decoration/component/pages/preview.vue":()=>i(()=>import("./preview-5Me2qt_f.js"),__vite__mapDeps([235,2,3,4,5,6,7,8,9,10,11,12,13,14,15,80,81,59,60,82,55,56,58,83,65,84,54,57,61,62,63,64,22,23,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,78,102,103,104,105,106,107,108,109,110,111,112,113,114,236])),"/src/views/decoration/component/tabbar/mobile/attr.vue":()=>i(()=>import("./attr-DCpF99zs.js"),__vite__mapDeps([237,238,2,3,4,5,6,7,8,9,10,11,12,13,14,15,59,60,82,55,56,58,83,65,84,54,57,61,62,63,64,22,23,66,67,68,69,70,71,72,104,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/decoration/component/tabbar/mobile/content.vue":()=>i(()=>import("./content-cVLu-KHW.js"),__vite__mapDeps([239,87,2,3,4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,88,240])),"/src/views/decoration/component/tabbar/pc/attr.vue":()=>i(()=>import("./attr-BPRvWNmc.js"),__vite__mapDeps([241,2,3,4,5,6,7,8,9,10,11,12,13,14,15,242,59,60,82,55,56,58,83,65,84,54,57,61,62,63,64,22,23,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/decoration/component/tabbar/pc/content.vue":()=>i(()=>import("./content-C1yNkqxj.js"),__vite__mapDeps([243,2,3,4,5,6,7,8,9,10,11,12,13,14,15,87,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,88,244])),"/src/views/decoration/component/tabbar/pc/menu-set.vue":()=>i(()=>import("./menu-set-CySN509A.js"),__vite__mapDeps([245,242,2,3,4,5,6,7,8,9,10,11,12,13,14,15,59,60,82,55,56,58,83,65,84,54,57,61,62,63,64,22,23,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/decoration/component/widgets/banner/attr.vue":()=>i(()=>import("./attr-BsXOKCNj.js"),__vite__mapDeps([81,2,3,4,5,6,7,8,9,10,11,12,13,14,15,59,60,82,55,56,58,83,65,84,54,57,61,62,63,64,22,23,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,85])),"/src/views/decoration/component/widgets/banner/content.vue":()=>i(()=>import("./content-Cko7KRov.js"),__vite__mapDeps([246,86,87,2,3,4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,88])),"/src/views/decoration/component/widgets/customer-service/attr.vue":()=>i(()=>import("./attr-BjTmZ7w3.js"),__vite__mapDeps([247,89,2,3,4,5,6,7,8,9,10,11,12,13,14,15,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/decoration/component/widgets/customer-service/content.vue":()=>i(()=>import("./content-Dyki4H78.js"),__vite__mapDeps([90,87,2,3,4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,88,91])),"/src/views/decoration/component/widgets/middle-banner/attr.vue":()=>i(()=>import("./attr-CNNqdFK4.js"),__vite__mapDeps([248,92,2,3,4,5,6,7,8,9,10,11,12,13,14,15,59,60,82,55,56,58,83,65,84,54,57,61,62,63,64,22,23,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/decoration/component/widgets/middle-banner/content.vue":()=>i(()=>import("./content-cljmXW2f.js"),__vite__mapDeps([249,93,87,2,3,4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,88])),"/src/views/decoration/component/widgets/my-service/attr.vue":()=>i(()=>import("./attr-CSIKeGUb.js"),__vite__mapDeps([250,94,2,3,4,5,6,7,8,9,10,11,12,13,14,15,95,59,60,82,55,56,58,83,65,84,54,57,61,62,63,64,22,23,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/decoration/component/widgets/my-service/content.vue":()=>i(()=>import("./content-Sf3nxxVG.js"),__vite__mapDeps([96,87,2,3,4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,88,97])),"/src/views/decoration/component/widgets/nav/attr.vue":()=>i(()=>import("./attr-DbcwTpUD.js"),__vite__mapDeps([251,98,2,3,4,5,6,7,8,9,10,11,12,13,14,15,95,59,60,82,55,56,58,83,65,84,54,57,61,62,63,64,22,23,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/decoration/component/widgets/nav/content.vue":()=>i(()=>import("./content-BXP6L3kv.js"),__vite__mapDeps([252,99,87,2,3,4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,88])),"/src/views/decoration/component/widgets/news/attr.vue":()=>i(()=>import("./attr-Db6EuK6T.js"),__vite__mapDeps([253,100,5,6,7,4])),"/src/views/decoration/component/widgets/news/content.vue":()=>i(()=>import("./content-DblaaeJD.js"),__vite__mapDeps([101,78,5,6,7,4,17,18,19,16,20,21,2,3,8,9,10,11,12,13,14,15,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,102])),"/src/views/decoration/component/widgets/page-meta/attr.vue":()=>i(()=>import("./attr-Vhqry8Wo.js"),__vite__mapDeps([254,103,2,3,4,5,6,7,8,9,10,11,12,13,14,15,104,22,23,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/decoration/component/widgets/page-meta/content.vue":()=>i(()=>import("./content-PkioGtTh.js"),__vite__mapDeps([105,5,6,7,4,17,18,19,16,20,21,2,3,8,9,10,11,12,13,14,15,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/decoration/component/widgets/pc-banner/content.vue":()=>i(()=>import("./content-DXKcrTu3.js"),__vite__mapDeps([255,106,2,3,4,5,6,7,8,9,10,11,12,13,14,15,59,60,82,55,56,58,83,65,84,54,57,61,62,63,64,22,23,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/decoration/component/widgets/search/attr.vue":()=>i(()=>import("./attr-BS21VV6Q.js"),__vite__mapDeps([256,107,5,6,7,4])),"/src/views/decoration/component/widgets/search/content.vue":()=>i(()=>import("./content-BeOu4XYf.js"),__vite__mapDeps([108,5,6,7,4,17,18,19,16,20,21,2,3,8,9,10,11,12,13,14,15,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,109])),"/src/views/decoration/component/widgets/user-banner/attr.vue":()=>i(()=>import("./attr-BGQKZVLO.js"),__vite__mapDeps([257,110,2,3,4,5,6,7,8,9,10,11,12,13,14,15,59,60,82,55,56,58,83,65,84,54,57,61,62,63,64,22,23,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/decoration/component/widgets/user-banner/content.vue":()=>i(()=>import("./content-D083YTRY.js"),__vite__mapDeps([258,111,87,2,3,4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,88])),"/src/views/decoration/component/widgets/user-info/attr.vue":()=>i(()=>import("./attr-gr_OE7on.js"),__vite__mapDeps([259,112,5,6,7,4])),"/src/views/decoration/component/widgets/user-info/content.vue":()=>i(()=>import("./content-C_MRybMI.js"),__vite__mapDeps([113,5,6,7,4,17,18,19,16,20,21,2,3,8,9,10,11,12,13,14,15,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,114])),"/src/views/decoration/pages/index.vue":()=>i(()=>import("./index-CwBbPh03.js"),__vite__mapDeps([260,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,78,232,80,81,59,60,82,55,56,58,83,65,84,54,57,61,62,63,64,22,23,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,233,234,235,236,261])),"/src/views/decoration/pc.vue":()=>i(()=>import("./pc-D2RluI6q.js"),__vite__mapDeps([262,2,3,4,5,6,7,8,9,10,11,12,13,14,15,78,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/decoration/pc_details.vue":()=>i(()=>import("./pc_details-BuqzzP4c.js"),__vite__mapDeps([77,2,3,4,5,6,7,8,9,10,11,12,13,14,15,78,79,80,81,59,60,82,55,56,58,83,65,84,54,57,61,62,63,64,22,23,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116])),"/src/views/decoration/style/components/mobile-style.vue":()=>i(()=>import("./mobile-style-CkTSiBRJ.js"),__vite__mapDeps([263,264,2,3,4,5,6,7,8,9,10,11,12,13,14,15,104,22,23,265,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,266])),"/src/views/decoration/style/components/theme-picker.vue":()=>i(()=>import("./theme-picker-Bl2LhPUt.js"),__vite__mapDeps([265,22,23,6,7,4,5,17,18,19,16,20,21,2,3,8,9,10,11,12,13,14,15,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,266])),"/src/views/decoration/style/style.vue":()=>i(()=>import("./style-C75vK4tk.js"),__vite__mapDeps([267,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,78,264,104,22,23,265,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,266])),"/src/views/decoration/tabbar.vue":()=>i(()=>import("./tabbar-B1cPuNEq.js"),__vite__mapDeps([268,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,78,233,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,234,238,59,60,82,55,56,58,83,65,84,54,57,61,62,63,64,66,67,68,69,70,71,72,104,239,87,88,240,269])),"/src/views/dev_tools/code/edit.vue":()=>i(()=>import("./edit-g9E_gOwG.js"),__vite__mapDeps([270,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,271,272,273,169,274,55,56,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,275])),"/src/views/dev_tools/code/index.vue":()=>i(()=>import("./index-TcIijaGO.js"),__vite__mapDeps([276,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,273,65,277,32,33,278,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,34,35,36,37,38,39])),"/src/views/dev_tools/components/code-preview.vue":()=>i(()=>import("./code-preview-K7YJDJFP.js"),__vite__mapDeps([279,277,2,3,4,5,6,7,8,9,10,11,12,13,14,15,32,33,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,34,35,36,37,38,39])),"/src/views/dev_tools/components/data-table.vue":()=>i(()=>import("./data-table-CRN3dt_k.js"),__vite__mapDeps([280,278,2,3,4,5,6,7,8,9,10,11,12,13,14,15,273,58,55,56,65,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/dev_tools/components/relations-add.vue":()=>i(()=>import("./relations-add-DdShaMEa.js"),__vite__mapDeps([281,274,2,3,4,5,6,7,8,9,10,11,12,13,14,15,273,55,56,169,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/doctor/dept-tongji.vue":()=>i(()=>import("./dept-tongji-BDo1JncR.js"),__vite__mapDeps([282,2,3,4,5,6,7,8,9,10,11,12,13,14,15,75,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,283])),"/src/views/doctor/medicine.vue":()=>i(()=>import("./medicine-B-s4KVF6.js"),__vite__mapDeps([284,2,3,4,5,6,7,8,9,10,11,12,13,14,15,218,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,285])),"/src/views/doctor/progress.vue":()=>i(()=>import("./progress-DM-687gY.js"),__vite__mapDeps([74,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,75,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,76])),"/src/views/doctor/roster.vue":()=>i(()=>import("./roster-CS04CDja.js"),__vite__mapDeps([286,2,3,4,5,6,7,8,9,10,11,12,13,14,15,197,75,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,287])),"/src/views/doctor/tongji.vue":()=>i(()=>import("./tongji-Cm9SFDRa.js"),__vite__mapDeps([288,2,3,4,5,6,7,8,9,10,11,12,13,14,15,75,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,289])),"/src/views/error/403.vue":()=>i(()=>import("./403-s-2fq8XB.js"),__vite__mapDeps([41,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40])),"/src/views/error/404.vue":()=>i(()=>import("./404-CYPI5auS.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40])),"/src/views/error/components/error.vue":()=>i(()=>import("./error-CyjCcUCY.js"),__vite__mapDeps([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40])),"/src/views/fans/commission-settlement.vue":()=>i(()=>import("./commission-settlement-Cjunto85.js"),__vite__mapDeps([290,2,3,4,5,6,7,8,9,10,11,12,13,14,15,291,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,292])),"/src/views/fans/h5.vue":()=>i(()=>import("./h5-Bbv5vJWD.js"),__vite__mapDeps([117,2,3,4,5,6,7,8,9,10,11,12,13,14,15,118,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,119])),"/src/views/fans/index.vue":()=>i(()=>import("./index-JlpAaSFI.js"),__vite__mapDeps([293,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,118,65,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/fans/qywx.vue":()=>i(()=>import("./qywx-CDUwdD49.js"),__vite__mapDeps([294,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,65,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,295])),"/src/views/fans/yeji.vue":()=>i(()=>import("./yeji-CvtPQpO5.js"),__vite__mapDeps([296,2,3,4,5,6,7,8,9,10,11,12,13,14,15,21,136,137,34,35,36,291,297,121,17,18,19,16,20,22,23,24,25,26,27,28,29,30,31,32,33,37,38,39,298])),"/src/views/finance/account_cost/edit.vue":()=>i(()=>import("./edit-Dx70kQ0n.js"),__vite__mapDeps([299,300,2,3,4,5,6,7,8,9,10,11,12,13,14,15,297,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/finance/account_cost/index.vue":()=>i(()=>import("./index-X_g26ryT.js"),__vite__mapDeps([301,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,215,297,65,300,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/finance/balance_details.vue":()=>i(()=>import("./balance_details-DPuAKDSi.js"),__vite__mapDeps([302,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,215,297,169,65,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/finance/component/refund-log.vue":()=>i(()=>import("./refund-log-BFUpCtiy.js"),__vite__mapDeps([303,304,2,3,4,5,6,7,8,9,10,11,12,13,14,15,297,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/finance/mubiao-dept-card.vue":()=>i(()=>import("./mubiao-dept-card-BMP1O6eb.js"),__vite__mapDeps([305,2,3,4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,306])),"/src/views/finance/mubiao-dept-node.vue":()=>i(()=>import("./mubiao-dept-node-CxpszDCM.js"),__vite__mapDeps([307,2,3,4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,308])),"/src/views/finance/mubiao.vue":()=>i(()=>import("./mubiao-ChpFpWDb.js"),__vite__mapDeps([309,2,3,4,5,6,7,8,9,10,11,12,13,14,15,305,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,306,297,310])),"/src/views/finance/recharge_record.vue":()=>i(()=>import("./recharge_record-kXf5tdAp.js"),__vite__mapDeps([311,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,214,55,56,215,297,65,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/finance/refund_record.vue":()=>i(()=>import("./refund_record-DtgtLzt_.js"),__vite__mapDeps([312,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,215,297,65,304,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/material/index.vue":()=>i(()=>import("./index-zdLAMdxW.js"),__vite__mapDeps([313,2,3,4,5,6,7,8,9,10,11,12,13,14,15,57,58,59,60,55,56,61,62,63,64,22,23,65,66,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,314])),"/src/views/message/notice/edit.vue":()=>i(()=>import("./edit-l-loh2uY.js"),__vite__mapDeps([315,2,3,4,5,6,7,8,9,10,11,12,13,14,15,52,53,316,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/message/notice/index.vue":()=>i(()=>import("./index-Dgae4aqh.js"),__vite__mapDeps([317,2,3,4,5,6,7,8,9,10,11,12,13,14,15,316,65,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/message/short_letter/edit.vue":()=>i(()=>import("./edit-Nqt6NFjX.js"),__vite__mapDeps([318,319,2,3,4,5,6,7,8,9,10,11,12,13,14,15,316,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/message/short_letter/index.vue":()=>i(()=>import("./index-B4rNqPUW.js"),__vite__mapDeps([320,2,3,4,5,6,7,8,9,10,11,12,13,14,15,316,319,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/order/index.vue":()=>i(()=>import("./index-CqoQTg2-.js"),__vite__mapDeps([321,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,214,55,56,215,65,122,121,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,322])),"/src/views/organization/department/edit.vue":()=>i(()=>import("./edit-Bkhnc9Ab.js"),__vite__mapDeps([323,324,2,3,4,5,6,7,8,9,10,11,12,13,14,15,198,55,56,169,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/organization/department/index.vue":()=>i(()=>import("./index-rvJjLcdw.js"),__vite__mapDeps([325,2,3,4,5,6,7,8,9,10,11,12,13,14,15,198,324,55,56,169,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/organization/post/edit.vue":()=>i(()=>import("./edit-BNPso8Y3.js"),__vite__mapDeps([326,327,2,3,4,5,6,7,8,9,10,11,12,13,14,15,199,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/organization/post/index.vue":()=>i(()=>import("./index-so-VB1Hz.js"),__vite__mapDeps([328,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,214,55,56,199,65,327,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/patient/reception/components/NoteTimeline.vue":()=>i(()=>import("./NoteTimeline-BzPD6QHw.js"),__vite__mapDeps([156,2,3,4,5,6,7,8,9,10,11,12,13,14,15,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,127,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,157])),"/src/views/patient/reception/index.vue":()=>i(()=>import("./index-D0GoVLGM.js"),__vite__mapDeps([329,17,18,19,2,3,4,5,6,7,8,9,10,11,12,13,14,15,127,156,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,157,129,128,130,131,132,133,134,135,136,137,138,121,124,139,140,75,330])),"/src/views/permission/admin/edit.vue":()=>i(()=>import("./edit-CLzx_CbK.js"),__vite__mapDeps([331,332,2,3,4,5,6,7,8,9,10,11,12,13,14,15,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,198,199,197,219,169,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/permission/admin/index.vue":()=>i(()=>import("./index-DByJM22v.js"),__vite__mapDeps([333,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,214,55,56,197,219,169,65,332,54,57,59,60,61,62,63,64,22,23,66,67,68,69,70,71,72,198,199,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/permission/menu/edit.vue":()=>i(()=>import("./edit-DfWwbZ4V.js"),__vite__mapDeps([334,335,2,3,4,5,6,7,8,9,10,11,12,13,14,15,336,22,23,271,55,56,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/permission/menu/index.vue":()=>i(()=>import("./index-DNKCKo6Y.js"),__vite__mapDeps([337,2,3,4,5,6,7,8,9,10,11,12,13,14,15,271,65,335,336,22,23,55,56,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/permission/role/auth.vue":()=>i(()=>import("./auth-DSRMKMRZ.js"),__vite__mapDeps([338,339,2,3,4,5,6,7,8,9,10,11,12,13,14,15,271,219,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/permission/role/edit.vue":()=>i(()=>import("./edit-DLrF_4OV.js"),__vite__mapDeps([340,341,2,3,4,5,6,7,8,9,10,11,12,13,14,15,219,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/permission/role/index.vue":()=>i(()=>import("./index-hj1pTK4-.js"),__vite__mapDeps([342,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,219,65,339,271,55,56,341,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/setting/dict/data/edit.vue":()=>i(()=>import("./edit-CGm0fUcE.js"),__vite__mapDeps([343,344,2,3,4,5,6,7,8,9,10,11,12,13,14,15,272,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/setting/dict/data/index.vue":()=>i(()=>import("./index-B_fvWke_.js"),__vite__mapDeps([345,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,272,65,344,55,56,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/setting/dict/type/edit.vue":()=>i(()=>import("./edit-wVdfkaAz.js"),__vite__mapDeps([346,347,2,3,4,5,6,7,8,9,10,11,12,13,14,15,272,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/setting/dict/type/index.vue":()=>i(()=>import("./index-CWCmmZDs.js"),__vite__mapDeps([348,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,272,65,347,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/setting/pay/config/edit.vue":()=>i(()=>import("./edit-BRBBltgC.js"),__vite__mapDeps([349,2,3,4,5,6,7,8,9,10,11,12,13,14,15,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,350,43,351,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,352])),"/src/views/setting/pay/config/index.vue":()=>i(()=>import("./index-DMPJBdKP.js"),__vite__mapDeps([353,2,3,4,5,6,7,8,9,10,11,12,13,14,15,350,351,349,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,43,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,352])),"/src/views/setting/pay/method/index.vue":()=>i(()=>import("./index-v17NoY-J.js"),__vite__mapDeps([354,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,350,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/setting/search/index.vue":()=>i(()=>import("./index-CS17uynj.js"),__vite__mapDeps([355,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,356])),"/src/views/setting/storage/edit.vue":()=>i(()=>import("./edit-DjUf2sPY.js"),__vite__mapDeps([357,358,2,3,4,5,6,7,8,9,10,11,12,13,14,15,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/setting/storage/index.vue":()=>i(()=>import("./index-Tvsjz0wd.js"),__vite__mapDeps([359,2,3,4,5,6,7,8,9,10,11,12,13,14,15,358,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/setting/system/cache.vue":()=>i(()=>import("./cache-DxTWDONP.js"),__vite__mapDeps([360,2,3,4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/setting/system/environment.vue":()=>i(()=>import("./environment-9GeasEYL.js"),__vite__mapDeps([361,2,3,4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/setting/system/journal.vue":()=>i(()=>import("./journal-DkUT-HXG.js"),__vite__mapDeps([362,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,214,55,56,215,65,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/setting/system/scheduled_task/edit.vue":()=>i(()=>import("./edit-YD1kWr3g.js"),__vite__mapDeps([363,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/setting/system/scheduled_task/index.vue":()=>i(()=>import("./index-DbBC0Fdf.js"),__vite__mapDeps([364,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,65,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/setting/user/login_register.vue":()=>i(()=>import("./login_register-oQ1xFBPI.js"),__vite__mapDeps([365,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,366,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/setting/user/setup.vue":()=>i(()=>import("./setup-Ci855w05.js"),__vite__mapDeps([367,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,366,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/setting/website/filing.vue":()=>i(()=>import("./filing-dKtuLeZ_.js"),__vite__mapDeps([368,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,59,60,369,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/setting/website/information.vue":()=>i(()=>import("./information-ZLGOOW0y.js"),__vite__mapDeps([370,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,369,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/setting/website/protocol.vue":()=>i(()=>import("./protocol-C4zGl9Ye.js"),__vite__mapDeps([371,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,164,165,166,167,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,168,369,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/setting/website/statistics.vue":()=>i(()=>import("./statistics-aW4uDjkt.js"),__vite__mapDeps([372,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,369,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/stats/conversion/index.vue":()=>i(()=>import("./index-I1dwAKUm.js"),__vite__mapDeps([373,58,2,3,4,5,6,7,8,9,10,11,12,13,14,15,136,137,34,35,36,291,65,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,37,38,39,374])),"/src/views/tcm/appointment/components/prescription-drawer.vue":()=>i(()=>import("./prescription-drawer-tIAJb1vL.js"),__vite__mapDeps([375,2,3,4,5,6,7,8,9,10,11,12,13,14,15,121,220,218,221,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,376])),"/src/views/tcm/appointment/list.vue":()=>i(()=>import("./list-SPx5xYsC.js"),__vite__mapDeps([377,17,18,19,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,215,65,75,121,133,123,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,378])),"/src/views/tcm/diagnosis/add.vue":()=>i(()=>import("./add-BbPxW38e.js"),__vite__mapDeps([379,2,3,4,5,6,7,8,9,10,11,12,13,14,15,121,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,380])),"/src/views/tcm/diagnosis/appointment.vue":()=>i(()=>import("./appointment-CgztbjDp.js"),__vite__mapDeps([381,2,3,4,5,6,7,8,9,10,11,12,13,14,15,121,75,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,382])),"/src/views/tcm/diagnosis/components/AppointmentRecordPanel.vue":()=>i(()=>import("./AppointmentRecordPanel-DH84Bquy.js"),__vite__mapDeps([152,2,3,4,5,6,7,8,9,10,11,12,13,14,15,75,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,153])),"/src/views/tcm/diagnosis/components/AssignLogPanel.vue":()=>i(()=>import("./AssignLogPanel-B1RENXkE.js"),__vite__mapDeps([150,2,3,4,5,6,7,8,9,10,11,12,13,14,15,121,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,151])),"/src/views/tcm/diagnosis/components/AssistantWatchCallDialog.vue":()=>i(()=>import("./AssistantWatchCallDialog-BRyYQCK0.js"),__vite__mapDeps([383,2,3,4,5,6,7,8,9,10,11,12,13,14,15,384,121,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,385])),"/src/views/tcm/diagnosis/components/BloodRecordList.vue":()=>i(()=>import("./BloodRecordList-C0paVrWv.js"),__vite__mapDeps([386,2,3,4,5,6,7,8,9,10,11,12,13,14,15,121,34,35,36,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,37,38,39,387])),"/src/views/tcm/diagnosis/components/CallRecordPanel.vue":()=>i(()=>import("./CallRecordPanel-D709DmJk.js"),__vite__mapDeps([141,2,3,4,5,6,7,8,9,10,11,12,13,14,15,142,143,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,144,145,61,62,63,121,146])),"/src/views/tcm/diagnosis/components/CaseRecordList.vue":()=>i(()=>import("./CaseRecordList-X66GZZcg.js"),__vite__mapDeps([388,2,3,4,5,6,7,8,9,10,11,12,13,14,15,121,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,389])),"/src/views/tcm/diagnosis/components/DailyMatrix.vue":()=>i(()=>import("./DailyMatrix-CZKqLaUg.js"),__vite__mapDeps([135,2,3,4,5,6,7,8,9,10,11,12,13,14,15,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,136,137,34,35,36,138,121,124,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,37,38,39,139,132,140])),"/src/views/tcm/diagnosis/components/DiagnosisTodoList.vue":()=>i(()=>import("./DiagnosisTodoList-CgT2M9eR.js"),__vite__mapDeps([138,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,121,124,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,139])),"/src/views/tcm/diagnosis/components/DietRecordList.vue":()=>i(()=>import("./DietRecordList-CS8Yg4vf.js"),__vite__mapDeps([390,2,3,4,5,6,7,8,9,10,11,12,13,14,15,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,121,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,391])),"/src/views/tcm/diagnosis/components/ExerciseRecordList.vue":()=>i(()=>import("./ExerciseRecordList-D_Lyt-5M.js"),__vite__mapDeps([392,2,3,4,5,6,7,8,9,10,11,12,13,14,15,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,121,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,393])),"/src/views/tcm/diagnosis/components/ImChatRecordPanel.vue":()=>i(()=>import("./ImChatRecordPanel-C40Ue1e_.js"),__vite__mapDeps([147,2,3,4,5,6,7,8,9,10,11,12,13,14,15,121,148,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,149])),"/src/views/tcm/diagnosis/components/PatientCaseCard.vue":()=>i(()=>import("./PatientCaseCard-8RzolaE2.js"),__vite__mapDeps([131,132,128,133,5,6,7,4,17,18,19,16,20,21,2,3,8,9,10,11,12,13,14,15,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,134])),"/src/views/tcm/diagnosis/components/PatientInfoCard.vue":()=>i(()=>import("./PatientInfoCard-pcwXrrnQ.js"),__vite__mapDeps([129,128,5,6,7,4,17,18,19,16,20,21,2,3,8,9,10,11,12,13,14,15,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,130])),"/src/views/tcm/diagnosis/components/PatientOrderList.vue":()=>i(()=>import("./PatientOrderList-Vzhj0FzC.js"),__vite__mapDeps([154,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,65,121,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,155])),"/src/views/tcm/diagnosis/components/RecordingPlaybackBlock.vue":()=>i(()=>import("./RecordingPlaybackBlock-COxLgEiR.js"),__vite__mapDeps([142,2,3,4,5,6,7,8,9,10,11,12,13,14,15,143,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,144,145])),"/src/views/tcm/diagnosis/components/RecordingVideoPlayer.vue":()=>i(()=>import("./RecordingVideoPlayer-DJ_BP9x7.js"),__vite__mapDeps([143,17,18,19,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,144])),"/src/views/tcm/diagnosis/components/TrackingMatrix.vue":()=>i(()=>import("./TrackingMatrix-DXSAP7vt.js"),__vite__mapDeps([394,2,3,4,5,6,7,8,9,10,11,12,13,14,15,132,121,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,395])),"/src/views/tcm/diagnosis/components/TrackingNoteTimeline.vue":()=>i(()=>import("./TrackingNoteTimeline-DmUVTWFb.js"),__vite__mapDeps([396,2,3,4,5,6,7,8,9,10,11,12,13,14,15,121,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,397])),"/src/views/tcm/diagnosis/detail.vue":()=>i(()=>import("./detail-47n6zBhj.js"),__vite__mapDeps([398,55,2,3,4,5,6,7,8,9,10,11,12,13,14,15,56,121,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/tcm/diagnosis/edit.vue":()=>i(()=>import("./edit-BG1q_jZS.js"),__vite__mapDeps([399,2,3,4,5,6,7,8,9,10,11,12,13,14,15,121,124,135,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,136,137,34,35,36,138,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,37,38,39,139,132,140,388,389,141,142,143,144,145,146,147,148,149,150,151,152,75,153,156,127,157,154,155,400,220,218,221,133,222,401,402,397])),"/src/views/tcm/diagnosis/index.vue":()=>i(()=>import("./index-B232AZ6A.js"),__vite__mapDeps([403,17,18,19,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,121,122,75,65,123,124,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,404])),"/src/views/tcm/diagnosis/index_h5.vue":()=>i(()=>import("./index_h5-kGvFYcr5.js"),__vite__mapDeps([120,17,18,19,2,3,4,5,6,7,8,9,10,11,12,13,14,15,121,122,75,123,65,124,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,125])),"/src/views/tcm/diagnosis/readonly.vue":()=>i(()=>import("./readonly-okM0Gs_x.js"),__vite__mapDeps([126,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,121,127,128,124,129,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,130,131,132,133,134,135,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,75,153,154,155,156,157,158])),"/src/views/tcm/follow/index.vue":()=>i(()=>import("./index-DYJjtMwl.js"),__vite__mapDeps([405,17,18,19,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,121,198,122,75,65,123,124,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,406])),"/src/views/template/component/file.vue":()=>i(()=>import("./file-D8DF5QQr.js"),__vite__mapDeps([407,2,3,4,5,6,7,8,9,10,11,12,13,14,15,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/template/component/icon.vue":()=>i(()=>import("./icon-cbJvAFB6.js"),__vite__mapDeps([408,2,3,4,5,6,7,8,9,10,11,12,13,14,15,336,22,23,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/template/component/link.vue":()=>i(()=>import("./link-P1xmJba2.js"),__vite__mapDeps([409,2,3,4,5,6,7,8,9,10,11,12,13,14,15,82,55,56,58,83,65,84,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/template/component/overflow.vue":()=>i(()=>import("./overflow-DDgjXnJF.js"),__vite__mapDeps([410,2,3,4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/template/component/popover_input.vue":()=>i(()=>import("./popover_input-BPLcgSyk.js"),__vite__mapDeps([411,2,3,4,5,6,7,8,9,10,11,12,13,14,15,64,22,23])),"/src/views/template/component/rich_text.vue":()=>i(()=>import("./rich_text-DWxR2pX7.js"),__vite__mapDeps([412,2,3,4,5,6,7,8,9,10,11,12,13,14,15,164,165,166,167,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,168,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/template/component/upload.vue":()=>i(()=>import("./upload-oPgqnsUb.js"),__vite__mapDeps([413,2,3,4,5,6,7,8,9,10,11,12,13,14,15,61,62,63,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/test/patient-call.vue":()=>i(()=>import("./patient-call-BXY2Pazd.js"),__vite__mapDeps([414,2,3,4,5,6,7,8,9,10,11,12,13,14,15,415,416,417,418,419,420,421,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,422])),"/src/views/user/setting.vue":()=>i(()=>import("./setting-H_keQ8CE.js"),__vite__mapDeps([51,2,3,4,5,6,7,8,9,10,11,12,13,14,15,52,53,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,49,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,73])),"/src/views/workbench/index.vue":()=>i(()=>import("./index-DIwVY3Ar.js"),__vite__mapDeps([423,2,3,4,5,6,7,8,9,10,11,12,13,14,15,136,137,34,35,36,121,122,351,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,37,38,39,424]))});function O7(){return Object.keys(C3).map(a=>a.replace("/src/views/","").replace(".vue",""))}function f1(a,o=!0){return a.map(e=>{const t=D6(e,o);return e.children!=null&&e.children&&e.children.length&&(t.children=f1(e.children,!1)),t})}function D6(a,o){const e=A1(a.paths),t={path:J(a.paths)?a.paths:o?`/${e}`:e,name:Symbol(a.paths),meta:{hidden:!a.is_show,keepAlive:!!a.is_cache,title:a.name,perms:a.perms,query:a.params,icon:a.icon,type:a.type,activeMenu:a.selected}};switch(a.type){case y3.CATALOGUE:t.component=o?l3:I3,a.children||(t.component=I3);break;case y3.MENU:t.component=C6(a.component);break}return t}function C6(a){try{const o=A1(a),e=Object.keys(C3).find(t=>t.includes(`/${o}.vue`));if(e)return C3[e];throw Error(`找不到组件${a},请确保组件路径正确`)}catch(o){return console.error(o),I3}}function A1(a){return String(a||"").replace(/^\/+/,"").replace(/\/+$/,"")}function S3(a){var o,e;for(const t of a){if(((o=t.meta)==null?void 0:o.type)==y3.MENU&&!((e=t.meta)!=null&&e.hidden)&&!J(t.path))return t.name;if(t.children){const l=S3(t.children);if(l)return l}}}function I7(a){var e;return((e=(n3()||H).getRoutes().find(t=>{var l;return((l=t.meta)==null?void 0:l.perms)==a}))==null?void 0:e.path)||""}function S6(){H.removeRoute(M3);const{routes:a}=Y();a.forEach(o=>{const e=o.name;e&&H.hasRoute(e)&&H.removeRoute(e)})}const H=T1({history:O1("/admin/"),routes:B6});function H3(a){if(a==null)return"";if(Array.isArray(a)){const o=a[0];return o==null?"":String(o).trim()}return String(a).trim()}function Y3(a){if(!H3(a.query.code))return!1;const e=H3(a.query.state);return e==="bind_wxwork"||e==="admin_bind_wx"?!0:H3(a.query.bind_wxwork)==="1"}const k3=(a,o="")=>{try{a.forEach(e=>{if(J(e.path))return;const t=o+e.path,l={...e,path:t,name:e.name||t.replace(/\//g,"_").replace("_","")};e.children?H.addRoute(l):H.addRoute(M3,l),e.children&&e.children.length>0&&k3(e.children,t+"/")})}catch(e){console.error("Error adding routes:",e)}},o3=T.LOGIN,k6=T.INDEX,T3="/change-password",_3="/bind-work-wechat",j6=[T.LOGIN,T.ERROR_403];H.beforeEach(async(a,o,e)=>{var c,n,r,s;document.title=a.meta.title??N.title;const t=Y(),l=m3();if(a.path===_3){if(!t.token){e({path:o3});return}e();return}if(a.path===T3){if(!t.token){e({path:o3});return}e();return}if(j6.includes(a.path))e();else if(t.token)if(Object.keys(t.userInfo).length!==0){if(t.isPaw===0){e({path:T3});return}if((c=t.userInfo)!=null&&c.need_bind_work_wechat&&a.path!==_3){if(Y3(a)){e();return}e({path:_3});return}if(!((n=t.userInfo)!=null&&n.need_bind_work_wechat)&&((r=t.routes)==null?void 0:r.length)>0&&!H.hasRoute(M3)){const p=S3(t.routes);if(!p){t3(),e(T.ERROR_403);return}l.setRouteName(p),v3.redirect={name:p},H.addRoute(v3),k3(t.routes),e({...a,replace:!0});return}a.path===o3?e({path:k6}):e()}else try{if(await t.getUserInfo(),t.isPaw===0){e({path:T3});return}if((s=t.userInfo)!=null&&s.need_bind_work_wechat){if(Y3(a)){e({...a,replace:!0});return}e({path:_3});return}const p=t.routes,v=S3(p);if(!v){t3(),e(T.ERROR_403);return}l.setRouteName(v),v3.redirect={name:v},H.addRoute(v3),k3(p),e({...a,replace:!0})}catch{t3(),e({path:o3,query:{redirect:a.fullPath}})}else e({path:o3,query:{redirect:a.fullPath}})});if(typeof window<"u"){let a=function(){var o=document.body,e=document.getElementById("__svg__icons__dom__");e||(e=document.createElementNS("http://www.w3.org/2000/svg","svg"),e.style.position="absolute",e.style.width="0",e.style.height="0",e.id="__svg__icons__dom__",e.setAttribute("xmlns","http://www.w3.org/2000/svg"),e.setAttribute("xmlns:link","http://www.w3.org/1999/xlink")),e.innerHTML='',o.insertBefore(e,o.lastChild)};document.readyState==="loading"?document.addEventListener("DOMContentLoaded",a):a()}function N6(){return L.get({url:"/chat/notifications"})}const q6=["onClick"],W6={class:"chat-notify-body"},G6={class:"chat-notify-title"},$6={class:"chat-notify-desc"},U6={class:"patient-name"},F6={class:"doctor-name"},Y6={class:"patient-name"},Z6={class:"patient-name"},X6={class:"chat-notify-time"},K6=["onClick"],J6=5e3,Q6=V({__name:"index",setup(a){const o=n3(),e=c3([]),t=c3(null);function l(s){if(!s)return"";const _=new Date(s*1e3),v=new Date().getTime()-_.getTime();return v<6e4?"刚刚":v<36e5?`${Math.floor(v/6e4)} 分钟前`:v<864e5?`${Math.floor(v/36e5)} 小时前`:_.toLocaleDateString("zh-CN",{month:"numeric",day:"numeric",hour:"2-digit",minute:"2-digit"})}function c(s){e.value=e.value.filter(_=>_.id!==s)}function n(s){c(s.id),s.type==="consultation_complete"&&s.diagnosis_id&&o.push({path:"/tcm/diagnosis",query:{id:s.diagnosis_id}})}async function r(){try{const s=await N6();Array.isArray(s)&&s.length>0&&(e.value=[...s,...e.value].slice(0,10))}catch{}}return u1(()=>{r(),t.value=setInterval(r,J6)}),l0(()=>{t.value&&clearInterval(t.value)}),(s,_)=>{const p=Q3;return h(),A(c0,{to:"body"},[u(z0,{name:"chat-notify-slide",tag:"div",class:"chat-notify-container"},{default:z(()=>[(h(!0),g(B,null,K(e.value,v=>(h(),g("div",{key:v.id,class:b3(["chat-notify-card",{"chat-notify-card-complete":v.type==="consultation_complete","chat-notify-card-left":v.type==="patient_left_chat"}]),onClick:w=>n(v)},[d("div",{class:b3(["chat-notify-icon",{"chat-notify-icon-complete":v.type==="consultation_complete","chat-notify-icon-left":v.type==="patient_left_chat"}])},[u(p,{size:22},{default:z(()=>[v.type!=="consultation_complete"&&v.type!=="patient_left_chat"?(h(),A(m(r0),{key:0})):v.type==="consultation_complete"?(h(),A(m(m0),{key:1})):(h(),A(m(u0),{key:2}))]),_:2},1024)],2),d("div",W6,[d("div",G6,R(v.type==="consultation_complete"?"面诊结束":v.type==="patient_left_chat"?"患者离开会话":"患者打开会话"),1),d("div",$6,[v.type==="consultation_complete"?(h(),g(B,{key:0},[d("span",U6,R(v.patient_name||"患者"),1),_[0]||(_[0]=I(" 的面诊已由 ",-1)),d("span",F6,R(v.doctor_name||"医生"),1),_[1]||(_[1]=I(" 完成,请及时跟进 ",-1))],64)):v.type==="patient_left_chat"?(h(),g(B,{key:1},[d("span",Y6,R(v.patient_name||"患者"),1),_[2]||(_[2]=I(" 已离开问诊会话页面 ",-1))],64)):(h(),g(B,{key:2},[d("span",Z6,R(v.patient_name||"患者"),1),_[3]||(_[3]=I(" 已打开与您的会话,请及时查看 ",-1))],64))]),d("div",X6,R(l(v.created_at)),1)]),d("button",{class:"chat-notify-close",onClick:p0(w=>c(v.id),["stop"]),"aria-label":"关闭"},[u(p,{size:14},{default:z(()=>[u(m(d0))]),_:1})],8,K6)],10,q6))),128))]),_:1})])}}}),a4=P(Q6,[["__scopeId","data-v-9276baf6"]]),o4=V({__name:"App",setup(a){const o=S(),e=W(),t=Y(),l=V3(),c=b(()=>{var _;return!!t.token&&l.path!=="/bind-work-wechat"&&!((_=t.userInfo)!=null&&_.need_bind_work_wechat)}),n={zIndex:2e3,locale:K1},r=c1();u1(async()=>{console.log("主题颜色",r.value),e.setTheme(r.value)});const{width:s}=Q1();return s1(s,v0(_=>{_>R3.SM?(o.setMobile(!1),o.toggleCollapsed(!1)):(o.setMobile(!0),o.toggleCollapsed(!0)),_{const v=s3("router-view"),w=X1;return h(),A(w,{locale:n.locale,"z-index":n.zIndex},{default:z(()=>[u(v),c.value?(h(),A(a4,{key:0})):D("",!0)]),_:1},8,["locale","z-index"])}}}),O3="data-clipboard-text",e4={mounted:(a,o)=>{a.setAttribute(O3,o.value);const{toClipboard:e}=y0();a.onclick=()=>{e(a.getAttribute(O3)).then(()=>{X.msgSuccess("复制成功")}).catch(()=>{X.msgError("复制失败")})}},updated:(a,o)=>{a.setAttribute(O3,o.value)}},t4=Object.freeze(Object.defineProperty({__proto__:null,default:e4},Symbol.toStringTag,{value:"Module"}));function Z3(a,o){const{value:e}=o,l=Y().perms||[],c="*";if(!Array.isArray(e))throw new Error(`like v-perms="['auth.menu/edit']"`);if(e.length===0){a.style.removeProperty("display");return}l.some(r=>c==r||e.includes(r))?a.style.removeProperty("display"):a.style.display="none"}const i4={mounted:(a,o)=>{Z3(a,o)},updated:(a,o)=>{Z3(a,o)}},l4=Object.freeze(Object.defineProperty({__proto__:null,default:i4},Symbol.toStringTag,{value:"Module"}));g0([w0,f0,A0,V0,L0,M0,x0,E0,H0,T0,O0,I0,R0,P0,B0,D0,C0,S0,k0,j0,N0,q0,W0,G0,$0]);const c4=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),n4=a=>{for(const[o,e]of Object.entries(h1))a.component(o,e)},s4=Object.freeze(Object.defineProperty({__proto__:null,default:n4},Symbol.toStringTag,{value:"Module"}));console.log(U0);const r4=a=>{a.use(F0)},m4=Object.freeze(Object.defineProperty({__proto__:null,default:r4},Symbol.toStringTag,{value:"Module"})),u4=I1(),d4=a=>{a.use(u4)},h4=Object.freeze(Object.defineProperty({__proto__:null,default:d4},Symbol.toStringTag,{value:"Module"}));function v4(a){a.beforeEach(async()=>{const o=S();if(!o.configFetchAttempted){o.$patch({configFetchAttempted:!0});try{const e=await o.getConfig();let t=document.querySelector('link[rel="icon"]');t&&(e!=null&&e.web_favicon)&&(t.href=e.web_favicon),e!=null&&e.web_favicon&&(t=document.createElement("link"),t.rel="icon",t.href=e.web_favicon,document.head.appendChild(t))}catch{}}})}const _4=Object.freeze(Object.defineProperty({__proto__:null,default:v4},Symbol.toStringTag,{value:"Module"})),X3=Object.assign({"./init.ts":_4});function p4(a){Object.keys(X3).forEach(o=>{const e=X3[o].default;typeof e=="function"&&e(a)})}const z4=a=>{p4(H),a.use(H)},b4=Object.freeze(Object.defineProperty({__proto__:null,default:z4},Symbol.toStringTag,{value:"Module"}));function y4(a){typeof window<"u"&&(window.__TUIKIT_INITIALIZED__=!0)}const g4=Object.freeze(Object.defineProperty({__proto__:null,default:y4},Symbol.toStringTag,{value:"Module"})),K3=Object.assign({"./directives/copy.ts":t4,"./directives/perms.ts":l4,"./plugins/echart.ts":c4,"./plugins/element.ts":s4,"./plugins/hljs.ts":m4,"./plugins/pinia.ts":h4,"./plugins/router.ts":b4,"./plugins/tuikit.ts":g4});function w4(a){Object.keys(K3).forEach(o=>{const e=o.replace(/(.*\/)*([^.]+).*/gi,"$2"),t=o.replace(/^\.\/([\w-]+).*/gi,"$1"),l=K3[o];if(l.default)switch(t){case"directives":a.directive(e,l.default);break;case"plugins":typeof l.default=="function"&&l.default(a);break}})}const f4={install:w4},V1=b0(o4);V1.use(f4);V1.mount("#app");y1().then(a=>{console.log(`%c likeadmin %c v${a.version} `,"padding: 4px 1px; border-radius: 3px 0 0 3px; color: #fff; background: #bbb; font-weight: bold;","padding: 4px 1px; border-radius: 0 3px 3px 0; color: #fff; background: #4A5DFF; font-weight: bold;")});export{s7 as A,K2 as B,n7 as C,A7 as D,V7 as E,x7 as F,T7 as G,E7 as H,M7 as I,L7 as J,H7 as K,d7 as L,y3 as M,r7 as N,f7 as O,T as P,v7 as Q,F as R,P as _,m7 as a,u7 as b,G as c,h7 as d,S as e,q as f,b1 as g,z6 as h,X as i,G2 as j,I7 as k,W as l,_7 as m,U3 as n,i3 as o,_6 as p,N as q,L as r,w7 as s,g7 as t,Y as u,O7 as v,y7 as w,b7 as x,p7 as y,z7 as z}; diff --git a/server/public/admin/assets/index-fhARdqxo.js b/server/public/admin/assets/index-DByJM22v.js similarity index 86% rename from server/public/admin/assets/index-fhARdqxo.js rename to server/public/admin/assets/index-DByJM22v.js index 94ec67eb..14078371 100644 --- a/server/public/admin/assets/index-fhARdqxo.js +++ b/server/public/admin/assets/index-DByJM22v.js @@ -1 +1 @@ -import{D as M,B as G,C as H,P as Q,Q as W,i as X,J as Y,L as Z,M as ee,N as oe,q as te,g as ae}from"./element-plus-0wC3naml.js";import{_ as le}from"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import{c as ne,i as ie}from"./index-E47--KT7.js";import{_ as me}from"./index.vue_vue_type_script_setup_true_lang-DLNQ3IjV.js";import{w as E}from"./@vue/runtime-dom-DDAG46FW.js";import{a as x,b as re,c as se}from"./admin-DO1zWq80.js";import{r as pe}from"./role-DPqAO58h.js";import{u as de}from"./useDictOptions-CypOxw17.js";import{u as ue}from"./usePaging-VsbTxSU0.js";import{_ as ce}from"./edit.vue_vue_type_script_setup_true_lang-3m13EY17.js";import{f as B,b as _e,as as fe,ak as m,I as D,a as e,aN as l,F as ve,ap as be,G as s,O as u,aP as v,J as $,H as k,n as P}from"./@vue/runtime-core-C6bnekPw.js";import{y as a,a as we,q as ge,r as he,n as ye}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-nymJKQXP.js";import"./picker-DlbAZkDm.js";import"./index-B56X8bEB.js";import"./index-BHTgr4Ka.js";import"./index-Ci4dcEQh.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-DoYUJmkp.js";import"./index.vue_vue_type_script_setup_true_lang-Bl0f8aX8.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./department-4lF54x8w.js";import"./post-Dq6zumLO.js";const ke={class:"admin"},Ce={class:"mt-4"},Ve={class:"flex mt-4 justify-end"},Ee=B({name:"admin"}),Uo=B({...Ee,setup(xe){const b=ge(),r=he({account:"",name:"",role_id:""}),w=ye(!1),{pager:p,getLists:c,resetParams:F,resetPage:y}=ue({fetchFun:x,params:r}),N=n=>{re({id:n.id,avatar:n.avatar,account:n.account,name:n.name,role_id:n.role_id,job_id:n.job_id,dept_id:n.dept_id,disable:n.disable,multipoint_login:n.multipoint_login}).finally(()=>{c()})},U=async()=>{var n;w.value=!0,await P(),(n=b.value)==null||n.open("add")},z=async n=>{var o,_;w.value=!0,await P(),(o=b.value)==null||o.open("edit"),(_=b.value)==null||_.setFormData(n)},I=async n=>{await ie.confirm("确定要删除?"),await se({id:n}),c()},{optionsData:K}=de({role:{api:pe}});return _e(()=>{c()}),(n,o)=>{const _=H,g=G,C=W,L=Q,f=X,S=me,R=M,V=Y,T=ne,i=oe,j=te,A=ae,O=ee,q=le,h=fe("perms"),J=Z;return m(),D("div",ke,[e(V,{class:"!border-none",shadow:"never"},{default:l(()=>[e(R,{class:"mb-[-16px]",model:a(r),inline:""},{default:l(()=>[e(g,{class:"w-[280px]",label:"管理员账号"},{default:l(()=>[e(_,{modelValue:a(r).account,"onUpdate:modelValue":o[0]||(o[0]=t=>a(r).account=t),placeholder:"请输入管理员账号",clearable:"",onKeyup:E(a(y),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(g,{class:"w-[280px]",label:"管理员名称"},{default:l(()=>[e(_,{modelValue:a(r).name,"onUpdate:modelValue":o[1]||(o[1]=t=>a(r).name=t),placeholder:"请输入管理员名称",clearable:"",onKeyup:E(a(y),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(g,{class:"w-[280px]",label:"管理员角色"},{default:l(()=>[e(L,{modelValue:a(r).role_id,"onUpdate:modelValue":o[2]||(o[2]=t=>a(r).role_id=t)},{default:l(()=>[e(C,{label:"全部",value:""}),(m(!0),D(ve,null,be(a(K).role,(t,d)=>(m(),s(C,{key:d,label:t.name,value:t.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),e(g,null,{default:l(()=>[e(f,{type:"primary",onClick:a(y)},{default:l(()=>[...o[5]||(o[5]=[u("查询",-1)])]),_:1},8,["onClick"]),e(f,{onClick:a(F)},{default:l(()=>[...o[6]||(o[6]=[u("重置",-1)])]),_:1},8,["onClick"]),e(S,{class:"ml-2.5","fetch-fun":a(x),params:a(r),"page-size":a(p).size},null,8,["fetch-fun","params","page-size"])]),_:1})]),_:1},8,["model"])]),_:1}),v((m(),s(V,{class:"mt-4 !border-none",shadow:"never"},{default:l(()=>[v((m(),s(f,{type:"primary",onClick:U},{icon:l(()=>[e(T,{name:"el-icon-Plus"})]),default:l(()=>[o[7]||(o[7]=u(" 新增 ",-1))]),_:1})),[[h,["auth.admin/add"]]]),$("div",Ce,[e(O,{data:a(p).lists,size:"large"},{default:l(()=>[e(i,{label:"ID",prop:"id","min-width":"60"}),o[10]||(o[10]=u("> ",-1)),e(i,{label:"头像","min-width":"100"},{default:l(({row:t})=>[e(j,{size:50,src:t.avatar},null,8,["src"])]),_:1}),e(i,{label:"账号",prop:"account","min-width":"100"}),e(i,{label:"名称",prop:"name","min-width":"100"}),e(i,{label:"角色",prop:"role_name","min-width":"100","show-tooltip-when-overflow":""}),e(i,{label:"部门",prop:"dept_name","min-width":"100","show-tooltip-when-overflow":""}),e(i,{label:"创建时间",prop:"create_time","min-width":"180"}),e(i,{label:"最近登录时间",prop:"login_time","min-width":"180"}),e(i,{label:"最近登录IP",prop:"login_ip","min-width":"120"}),v((m(),s(i,{label:"状态","min-width":"100"},{default:l(({row:t})=>[t.root!=1?(m(),s(A,{key:0,modelValue:t.disable,"onUpdate:modelValue":d=>t.disable=d,"active-value":0,"inactive-value":1,onChange:d=>N(t)},null,8,["modelValue","onUpdate:modelValue","onChange"])):k("",!0)]),_:1})),[[h,["auth.admin/edit"]]]),e(i,{label:"操作",width:"120",fixed:"right"},{default:l(({row:t})=>[v((m(),s(f,{type:"primary",link:"",onClick:d=>z(t)},{default:l(()=>[...o[8]||(o[8]=[u(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[h,["auth.admin/edit"]]]),t.root!=1?v((m(),s(f,{key:0,type:"danger",link:"",onClick:d=>I(t.id)},{default:l(()=>[...o[9]||(o[9]=[u(" 删除 ",-1)])]),_:1},8,["onClick"])),[[h,["auth.admin/delete"]]]):k("",!0)]),_:1})]),_:1},8,["data"])]),$("div",Ve,[e(q,{modelValue:a(p),"onUpdate:modelValue":o[3]||(o[3]=t=>we(p)?p.value=t:null),onChange:a(c)},null,8,["modelValue","onChange"])])]),_:1})),[[J,a(p).loading]]),a(w)?(m(),s(ce,{key:0,ref_key:"editRef",ref:b,onSuccess:a(c),onClose:o[4]||(o[4]=t=>w.value=!1)},null,8,["onSuccess"])):k("",!0)])}}});export{Uo as default}; +import{D as M,B as G,C as H,P as Q,Q as W,i as X,J as Y,L as Z,M as ee,N as oe,q as te,g as ae}from"./element-plus-DFTWCWyi.js";import{_ as le}from"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import{c as ne,i as ie}from"./index-DBREMm_z.js";import{_ as me}from"./index.vue_vue_type_script_setup_true_lang-CCzvLP0c.js";import{w as E}from"./@vue/runtime-dom-DDAG46FW.js";import{a as x,b as re,c as se}from"./admin-DVVxI3fN.js";import{r as pe}from"./role-DTNlgcHU.js";import{u as de}from"./useDictOptions-Dl6xXBty.js";import{u as ue}from"./usePaging-VsbTxSU0.js";import{_ as ce}from"./edit.vue_vue_type_script_setup_true_lang-DAbW78Jr.js";import{f as B,b as _e,as as fe,ak as m,I as D,a as e,aN as l,F as ve,ap as be,G as s,O as u,aP as v,J as $,H as k,n as P}from"./@vue/runtime-core-C6bnekPw.js";import{y as a,a as we,q as ge,r as he,n as ye}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-BwF7vczx.js";import"./picker-BCRrEZaA.js";import"./index-BiPYXDtP.js";import"./index-CbfZXeGu.js";import"./index-CRoZWY-W.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-BimpIRb_.js";import"./index.vue_vue_type_script_setup_true_lang-x0oL2ShL.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./department-CrUndMAW.js";import"./post-RziaWdiV.js";const ke={class:"admin"},Ce={class:"mt-4"},Ve={class:"flex mt-4 justify-end"},Ee=B({name:"admin"}),Uo=B({...Ee,setup(xe){const b=ge(),r=he({account:"",name:"",role_id:""}),w=ye(!1),{pager:p,getLists:c,resetParams:F,resetPage:y}=ue({fetchFun:x,params:r}),N=n=>{re({id:n.id,avatar:n.avatar,account:n.account,name:n.name,role_id:n.role_id,job_id:n.job_id,dept_id:n.dept_id,disable:n.disable,multipoint_login:n.multipoint_login}).finally(()=>{c()})},U=async()=>{var n;w.value=!0,await P(),(n=b.value)==null||n.open("add")},z=async n=>{var o,_;w.value=!0,await P(),(o=b.value)==null||o.open("edit"),(_=b.value)==null||_.setFormData(n)},I=async n=>{await ie.confirm("确定要删除?"),await se({id:n}),c()},{optionsData:K}=de({role:{api:pe}});return _e(()=>{c()}),(n,o)=>{const _=H,g=G,C=W,L=Q,f=X,S=me,R=M,V=Y,T=ne,i=oe,j=te,A=ae,O=ee,q=le,h=fe("perms"),J=Z;return m(),D("div",ke,[e(V,{class:"!border-none",shadow:"never"},{default:l(()=>[e(R,{class:"mb-[-16px]",model:a(r),inline:""},{default:l(()=>[e(g,{class:"w-[280px]",label:"管理员账号"},{default:l(()=>[e(_,{modelValue:a(r).account,"onUpdate:modelValue":o[0]||(o[0]=t=>a(r).account=t),placeholder:"请输入管理员账号",clearable:"",onKeyup:E(a(y),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(g,{class:"w-[280px]",label:"管理员名称"},{default:l(()=>[e(_,{modelValue:a(r).name,"onUpdate:modelValue":o[1]||(o[1]=t=>a(r).name=t),placeholder:"请输入管理员名称",clearable:"",onKeyup:E(a(y),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(g,{class:"w-[280px]",label:"管理员角色"},{default:l(()=>[e(L,{modelValue:a(r).role_id,"onUpdate:modelValue":o[2]||(o[2]=t=>a(r).role_id=t)},{default:l(()=>[e(C,{label:"全部",value:""}),(m(!0),D(ve,null,be(a(K).role,(t,d)=>(m(),s(C,{key:d,label:t.name,value:t.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),e(g,null,{default:l(()=>[e(f,{type:"primary",onClick:a(y)},{default:l(()=>[...o[5]||(o[5]=[u("查询",-1)])]),_:1},8,["onClick"]),e(f,{onClick:a(F)},{default:l(()=>[...o[6]||(o[6]=[u("重置",-1)])]),_:1},8,["onClick"]),e(S,{class:"ml-2.5","fetch-fun":a(x),params:a(r),"page-size":a(p).size},null,8,["fetch-fun","params","page-size"])]),_:1})]),_:1},8,["model"])]),_:1}),v((m(),s(V,{class:"mt-4 !border-none",shadow:"never"},{default:l(()=>[v((m(),s(f,{type:"primary",onClick:U},{icon:l(()=>[e(T,{name:"el-icon-Plus"})]),default:l(()=>[o[7]||(o[7]=u(" 新增 ",-1))]),_:1})),[[h,["auth.admin/add"]]]),$("div",Ce,[e(O,{data:a(p).lists,size:"large"},{default:l(()=>[e(i,{label:"ID",prop:"id","min-width":"60"}),o[10]||(o[10]=u("> ",-1)),e(i,{label:"头像","min-width":"100"},{default:l(({row:t})=>[e(j,{size:50,src:t.avatar},null,8,["src"])]),_:1}),e(i,{label:"账号",prop:"account","min-width":"100"}),e(i,{label:"名称",prop:"name","min-width":"100"}),e(i,{label:"角色",prop:"role_name","min-width":"100","show-tooltip-when-overflow":""}),e(i,{label:"部门",prop:"dept_name","min-width":"100","show-tooltip-when-overflow":""}),e(i,{label:"创建时间",prop:"create_time","min-width":"180"}),e(i,{label:"最近登录时间",prop:"login_time","min-width":"180"}),e(i,{label:"最近登录IP",prop:"login_ip","min-width":"120"}),v((m(),s(i,{label:"状态","min-width":"100"},{default:l(({row:t})=>[t.root!=1?(m(),s(A,{key:0,modelValue:t.disable,"onUpdate:modelValue":d=>t.disable=d,"active-value":0,"inactive-value":1,onChange:d=>N(t)},null,8,["modelValue","onUpdate:modelValue","onChange"])):k("",!0)]),_:1})),[[h,["auth.admin/edit"]]]),e(i,{label:"操作",width:"120",fixed:"right"},{default:l(({row:t})=>[v((m(),s(f,{type:"primary",link:"",onClick:d=>z(t)},{default:l(()=>[...o[8]||(o[8]=[u(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[h,["auth.admin/edit"]]]),t.root!=1?v((m(),s(f,{key:0,type:"danger",link:"",onClick:d=>I(t.id)},{default:l(()=>[...o[9]||(o[9]=[u(" 删除 ",-1)])]),_:1},8,["onClick"])),[[h,["auth.admin/delete"]]]):k("",!0)]),_:1})]),_:1},8,["data"])]),$("div",Ve,[e(q,{modelValue:a(p),"onUpdate:modelValue":o[3]||(o[3]=t=>we(p)?p.value=t:null),onChange:a(c)},null,8,["modelValue","onChange"])])]),_:1})),[[J,a(p).loading]]),a(w)?(m(),s(ce,{key:0,ref_key:"editRef",ref:b,onSuccess:a(c),onClose:o[4]||(o[4]=t=>w.value=!1)},null,8,["onSuccess"])):k("",!0)])}}});export{Uo as default}; diff --git a/server/public/admin/assets/index-DrH_NTKn.js b/server/public/admin/assets/index-DIwVY3Ar.js similarity index 93% rename from server/public/admin/assets/index-DrH_NTKn.js rename to server/public/admin/assets/index-DIwVY3Ar.js index ddf7c10f..949432ca 100644 --- a/server/public/admin/assets/index-DrH_NTKn.js +++ b/server/public/admin/assets/index-DIwVY3Ar.js @@ -1,4 +1,4 @@ -import{i as nt,d as dt,Q as ct,P as pt,a4 as ut,a3 as bt,R as mt}from"./element-plus-0wC3naml.js";import{H as O}from"./vue-echarts-BNtg2q_G.js";import{L as Q,ae as _t,af as ht,a4 as yt}from"./@element-plus/icons-vue-HOEUG8sr.js";import{l as wt,O as V,Q as ft,_ as vt}from"./index-E47--KT7.js";import{ap as gt}from"./tcm-SLIwsL8z.js";import{u as kt}from"./order-BogYGNkX.js";import{u as U}from"./getExposeType-MUpmx9zy.js";import{f as Y,w as xt,b as St,ak as l,I as c,J as t,a,aN as r,O as C,F as A,ap as D,G as w,H as B,A as S}from"./@vue/runtime-core-C6bnekPw.js";import{r as M,y as f,n as J}from"./@vue/reactivity-DiY1c2vO.js";import{Q as n}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./resize-detector-G6vbKCU7.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Ot={class:"workbench-page"},Ct={class:"wb-hero"},At={class:"wb-section wb-section--order"},Dt={class:"wb-section-head"},Nt={class:"wb-section-title"},$t={class:"wb-section-icon wb-section-icon--violet"},zt={class:"wb-section-sub"},Et={class:"wb-toolbar"},Lt={class:"wb-section-body"},Vt={class:"wb-kpi wb-kpi--violet"},Rt={class:"wb-kpi-value"},Pt={class:"wb-kpi wb-kpi--amber"},Ft={class:"wb-kpi-value wb-kpi-value--sm"},Wt={class:"wb-rank-strip wb-rank-strip--compact"},Bt={key:0,class:"wb-rank-chips"},Ht={key:1,class:"wb-rank-empty"},Tt={class:"wb-chart-card"},It={class:"wb-chart-card"},Qt={class:"wb-chart-card"},Ut={class:"wb-chart-card wb-ranking-card"},Mt={key:0,class:"wb-ranking-list"},jt={class:"wb-ranking-rank"},Gt={class:"wb-ranking-name"},Jt={class:"wb-ranking-meta"},Yt={class:"wb-ranking-money"},qt={key:0,class:"wb-dept-block"},Kt={class:"wb-dept-card wb-dept-card--order"},Xt={class:"wb-dept-card-head"},Zt={class:"wb-dept-total"},te={class:"wb-dept-list"},ee={class:"wb-dept-num"},se={key:0,class:"wb-dept-empty"},ae={class:"wb-section wb-section--diagnosis"},oe={class:"wb-section-head"},le={class:"wb-section-title"},re={class:"wb-section-icon wb-section-icon--blue"},ie={class:"wb-section-sub"},ne={class:"wb-toolbar"},de={class:"wb-section-body"},ce={class:"wb-kpi wb-kpi--blue"},pe={class:"wb-kpi-value"},ue={class:"wb-rank-strip"},be={key:0,class:"wb-rank-chips"},me={key:1,class:"wb-rank-empty"},_e={class:"wb-chart-card"},he={class:"wb-chart-card"},ye={key:0,class:"wb-dept-block"},we={class:"wb-dept-card"},fe={class:"wb-dept-card-head"},ve={class:"wb-dept-total"},ge={class:"wb-dept-list"},ke={class:"wb-dept-num"},xe={key:0,class:"wb-dept-empty"},Se={class:"wb-section wb-section--trend"},Oe={class:"wb-section-head"},Ce={class:"wb-section-title"},Ae={class:"wb-section-icon wb-section-icon--teal"},De={class:"wb-section-body wb-trend-body"},Ne={class:"wb-chart-card wb-trend-card"},$e={class:"wb-chart-card wb-trend-card"},ze=Y({name:"workbench"}),Ee=Y({...ze,setup(Le){const g=wt(),H=U(),T=U(),q=U(),I=["#5b7cfa","#36cfc9","#ffc53d","#ff7a45","#b37feb","#597ef7","#73d13d","#ff85c0"];function j(s){if(s==null)return 0;const e=parseFloat(String(s).replace(/,/g,""));return Number.isFinite(e)?e:0}const p=M({days:0,departments:[],today_ranking:[],ranking:[],chart:{xAxis:[],series:[]}}),K=S(()=>(p.departments||[]).some(s=>Number(s.total)>0)),X=S(()=>{const s=(p.departments||[]).filter(e=>Number(e.total)>0).map(e=>({name:e.dept_name||"—",value:Number(e.total)}));return{color:I,tooltip:{trigger:"item",formatter:"{b}
{c} 单 ({d}%)"},legend:{type:"scroll",bottom:0,textStyle:{fontSize:11}},series:[{name:"诊单",type:"pie",radius:["46%","72%"],center:["50%","46%"],avoidLabelOverlap:!0,itemStyle:{borderRadius:6,borderColor:"#fff",borderWidth:2},label:{formatter:`{b} -{c}`},data:s}]}}),Z=S(()=>{var b;const s=g.theme,e=(p.chart.series||[]).map(i=>({...i,name:i.name||"诊单数",type:"bar",barWidth:"46%",itemStyle:{borderRadius:[8,8,0,0],color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:V(s,.75)},{offset:1,color:s}]}}})),h=((b=e[0])==null?void 0:b.data)||[];return{color:[s,"#f0b429"],legend:{data:["诊单数","趋势"],top:4},xAxis:{type:"category",data:p.chart.xAxis||[],axisLabel:{rotate:28,fontSize:11},axisLine:{lineStyle:{color:"#e4e7ec"}}},yAxis:{type:"value",name:"诊单数",splitLine:{lineStyle:{type:"dashed",color:"#eef0f4"}}},tooltip:{trigger:"axis"},grid:{left:"2%",right:"2%",bottom:"12%",top:48,containLabel:!0},series:[...e,{name:"趋势",type:"line",smooth:.35,symbol:"circle",symbolSize:7,lineStyle:{width:3,color:"#f0b429"},itemStyle:{color:"#f0b429"},data:h}]}}),R=()=>{gt({days:p.days}).then(s=>{p.date_range=s.date_range,p.today_total=s.today_total??0,p.today_ranking=s.today_ranking||[],p.departments=s.departments||[],p.ranking=s.ranking||[],p.chart=s.chart||{xAxis:[],series:[]}}).catch(()=>{})},P=J(-1),F=J(0),_=M({order_type_name:"",date_range:[],today_total:0,today_amount:"0.00",today_ranking:[],departments:[],ranking:[],chart:{xAxis:[],series:[]}}),tt=S(()=>(_.departments||[]).some(s=>Number(s.total)>0)),et=S(()=>(_.departments||[]).some(s=>j(s.amount)>0)),st=S(()=>{const s=(_.departments||[]).filter(e=>Number(e.total)>0).map(e=>({name:e.dept_name||"—",value:Number(e.total)}));return{color:I,tooltip:{trigger:"item",formatter:"{b}
{c} 单 ({d}%)"},legend:{type:"scroll",bottom:0,textStyle:{fontSize:11}},series:[{name:"单数",type:"pie",radius:["44%","70%"],center:["50%","46%"],itemStyle:{borderRadius:6,borderColor:"#fff",borderWidth:2},label:{formatter:`{b} +import{i as nt,d as dt,Q as ct,P as pt,a5 as ut,a4 as bt,R as mt}from"./element-plus-DFTWCWyi.js";import{H as O}from"./vue-echarts-BNtg2q_G.js";import{L as Q,ae as _t,af as ht,a4 as yt}from"./@element-plus/icons-vue-HOEUG8sr.js";import{l as wt,O as V,Q as ft,_ as vt}from"./index-DBREMm_z.js";import{aq as gt}from"./tcm-BcqaE0lo.js";import{u as kt}from"./order-DLqQxjqO.js";import{u as U}from"./getExposeType-MUpmx9zy.js";import{f as J,w as xt,b as St,ak as l,I as c,J as t,a,aN as r,O as C,F as A,ap as D,G as w,H as B,A as S}from"./@vue/runtime-core-C6bnekPw.js";import{r as M,y as f,n as G}from"./@vue/reactivity-DiY1c2vO.js";import{Q as n}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./resize-detector-G6vbKCU7.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Ot={class:"workbench-page"},Ct={class:"wb-hero"},At={class:"wb-section wb-section--order"},Dt={class:"wb-section-head"},Nt={class:"wb-section-title"},$t={class:"wb-section-icon wb-section-icon--violet"},zt={class:"wb-section-sub"},Et={class:"wb-toolbar"},Lt={class:"wb-section-body"},Vt={class:"wb-kpi wb-kpi--violet"},Rt={class:"wb-kpi-value"},Pt={class:"wb-kpi wb-kpi--amber"},Ft={class:"wb-kpi-value wb-kpi-value--sm"},Wt={class:"wb-rank-strip wb-rank-strip--compact"},Bt={key:0,class:"wb-rank-chips"},Ht={key:1,class:"wb-rank-empty"},Tt={class:"wb-chart-card"},It={class:"wb-chart-card"},Qt={class:"wb-chart-card"},Ut={class:"wb-chart-card wb-ranking-card"},Mt={key:0,class:"wb-ranking-list"},jt={class:"wb-ranking-rank"},qt={class:"wb-ranking-name"},Gt={class:"wb-ranking-meta"},Jt={class:"wb-ranking-money"},Yt={key:0,class:"wb-dept-block"},Kt={class:"wb-dept-card wb-dept-card--order"},Xt={class:"wb-dept-card-head"},Zt={class:"wb-dept-total"},te={class:"wb-dept-list"},ee={class:"wb-dept-num"},se={key:0,class:"wb-dept-empty"},ae={class:"wb-section wb-section--diagnosis"},oe={class:"wb-section-head"},le={class:"wb-section-title"},re={class:"wb-section-icon wb-section-icon--blue"},ie={class:"wb-section-sub"},ne={class:"wb-toolbar"},de={class:"wb-section-body"},ce={class:"wb-kpi wb-kpi--blue"},pe={class:"wb-kpi-value"},ue={class:"wb-rank-strip"},be={key:0,class:"wb-rank-chips"},me={key:1,class:"wb-rank-empty"},_e={class:"wb-chart-card"},he={class:"wb-chart-card"},ye={key:0,class:"wb-dept-block"},we={class:"wb-dept-card"},fe={class:"wb-dept-card-head"},ve={class:"wb-dept-total"},ge={class:"wb-dept-list"},ke={class:"wb-dept-num"},xe={key:0,class:"wb-dept-empty"},Se={class:"wb-section wb-section--trend"},Oe={class:"wb-section-head"},Ce={class:"wb-section-title"},Ae={class:"wb-section-icon wb-section-icon--teal"},De={class:"wb-section-body wb-trend-body"},Ne={class:"wb-chart-card wb-trend-card"},$e={class:"wb-chart-card wb-trend-card"},ze=J({name:"workbench"}),Ee=J({...ze,setup(Le){const g=wt(),H=U(),T=U(),Y=U(),I=["#5b7cfa","#36cfc9","#ffc53d","#ff7a45","#b37feb","#597ef7","#73d13d","#ff85c0"];function j(s){if(s==null)return 0;const e=parseFloat(String(s).replace(/,/g,""));return Number.isFinite(e)?e:0}const p=M({days:0,departments:[],today_ranking:[],ranking:[],chart:{xAxis:[],series:[]}}),K=S(()=>(p.departments||[]).some(s=>Number(s.total)>0)),X=S(()=>{const s=(p.departments||[]).filter(e=>Number(e.total)>0).map(e=>({name:e.dept_name||"—",value:Number(e.total)}));return{color:I,tooltip:{trigger:"item",formatter:"{b}
{c} 单 ({d}%)"},legend:{type:"scroll",bottom:0,textStyle:{fontSize:11}},series:[{name:"诊单",type:"pie",radius:["46%","72%"],center:["50%","46%"],avoidLabelOverlap:!0,itemStyle:{borderRadius:6,borderColor:"#fff",borderWidth:2},label:{formatter:`{b} +{c}`},data:s}]}}),Z=S(()=>{var b;const s=g.theme,e=(p.chart.series||[]).map(i=>({...i,name:i.name||"诊单数",type:"bar",barWidth:"46%",itemStyle:{borderRadius:[8,8,0,0],color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:V(s,.75)},{offset:1,color:s}]}}})),h=((b=e[0])==null?void 0:b.data)||[];return{color:[s,"#f0b429"],legend:{data:["诊单数","趋势"],top:4},xAxis:{type:"category",data:p.chart.xAxis||[],axisLabel:{rotate:28,fontSize:11},axisLine:{lineStyle:{color:"#e4e7ec"}}},yAxis:{type:"value",name:"诊单数",splitLine:{lineStyle:{type:"dashed",color:"#eef0f4"}}},tooltip:{trigger:"axis"},grid:{left:"2%",right:"2%",bottom:"12%",top:48,containLabel:!0},series:[...e,{name:"趋势",type:"line",smooth:.35,symbol:"circle",symbolSize:7,lineStyle:{width:3,color:"#f0b429"},itemStyle:{color:"#f0b429"},data:h}]}}),R=()=>{gt({days:p.days}).then(s=>{p.date_range=s.date_range,p.today_total=s.today_total??0,p.today_ranking=s.today_ranking||[],p.departments=s.departments||[],p.ranking=s.ranking||[],p.chart=s.chart||{xAxis:[],series:[]}}).catch(()=>{})},P=G(-1),F=G(0),_=M({order_type_name:"",date_range:[],today_total:0,today_amount:"0.00",today_ranking:[],departments:[],ranking:[],chart:{xAxis:[],series:[]}}),tt=S(()=>(_.departments||[]).some(s=>Number(s.total)>0)),et=S(()=>(_.departments||[]).some(s=>j(s.amount)>0)),st=S(()=>{const s=(_.departments||[]).filter(e=>Number(e.total)>0).map(e=>({name:e.dept_name||"—",value:Number(e.total)}));return{color:I,tooltip:{trigger:"item",formatter:"{b}
{c} 单 ({d}%)"},legend:{type:"scroll",bottom:0,textStyle:{fontSize:11}},series:[{name:"单数",type:"pie",radius:["44%","70%"],center:["50%","46%"],itemStyle:{borderRadius:6,borderColor:"#fff",borderWidth:2},label:{formatter:`{b} {c}`},data:s}]}}),at=S(()=>{const s=(_.departments||[]).map(e=>({name:e.dept_name||"—",value:j(e.amount)})).filter(e=>e.value>0);return{color:I,tooltip:{trigger:"item",formatter:e=>{const h=e.value;return`${e.name}
¥${Number(h).toFixed(2)} (${e.percent}%)`}},legend:{type:"scroll",bottom:0,textStyle:{fontSize:11}},series:[{name:"金额",type:"pie",radius:["44%","70%"],center:["50%","46%"],itemStyle:{borderRadius:6,borderColor:"#fff",borderWidth:2},label:{formatter:e=>`${e.name} -¥${Number(e.value).toFixed(0)}`},data:s}]}}),ot=S(()=>{const s=_.date_range;if((s==null?void 0:s.length)>=2)return`${s[0]} 至 ${s[1]}`;const e=F.value,h=new Date,b=new Date;return e===0?(b.setHours(0,0,0,0),`${W(b)} 至 ${W(h)}`):(b.setDate(b.getDate()-(e||7)),`${W(b)} 至 ${W(h)}`)});function W(s){return s.getFullYear()+"-"+String(s.getMonth()+1).padStart(2,"0")+"-"+String(s.getDate()).padStart(2,"0")}const lt=S(()=>{var b,i,k;const s=g.theme,e=(((b=_.chart)==null?void 0:b.series)||[]).map(m=>({...m,name:m.name||"单数",type:"bar",barWidth:"46%",itemStyle:{borderRadius:[8,8,0,0],color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:V(s,.72)},{offset:1,color:s}]}}})),h=((i=e[0])==null?void 0:i.data)||[];return{color:[s,"#fa8c16"],legend:{data:["单数","趋势"],top:4},xAxis:{type:"category",data:((k=_.chart)==null?void 0:k.xAxis)||[],axisLabel:{rotate:28,fontSize:11},axisLine:{lineStyle:{color:"#e4e7ec"}}},yAxis:{type:"value",name:"单数",splitLine:{lineStyle:{type:"dashed",color:"#eef0f4"}}},tooltip:{trigger:"axis"},grid:{left:"2%",right:"2%",bottom:"12%",top:48,containLabel:!0},series:[...e,{name:"趋势",type:"line",smooth:.35,symbol:"circle",symbolSize:7,lineStyle:{width:3,color:"#fa8c16"},itemStyle:{color:"#fa8c16"},data:h}]}}),N=()=>{kt({order_type:P.value,days:F.value}).then(s=>{Object.assign(_,{order_type_name:s.order_type_name??"",date_range:s.date_range||[],today_total:s.today_total??0,today_amount:s.today_amount??"0.00",today_ranking:s.today_ranking||[],departments:s.departments||[],ranking:s.ranking||[],chart:s.chart||{xAxis:[],series:[]}})}).catch(()=>{})},rt=()=>{G(),R(),N()};xt(()=>g.theme,()=>{it()});const u=M({version:{version:"",website:"",based:"",channel:{gitee:"",website:""}},support:[],today:{},menu:[],visitor:[],article:[],visitorOption:{xAxis:{type:"category",data:[]},yAxis:{type:"value"},legend:{data:["访问量"],top:8},tooltip:{trigger:"axis"},grid:{left:"2%",right:"3%",bottom:"3%",top:40,containLabel:!0},series:[{name:"访问量",data:[],type:"line",smooth:!0,color:g.theme,lineStyle:{color:g.theme,width:2},areaStyle:{color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:g.theme},{offset:1,color:g.theme}]},opacity:.12}}]},saleOption:{xAxis:{type:"category",data:[]},yAxis:{type:"value",name:"万"},tooltip:{trigger:"axis"},grid:{left:"2%",right:"3%",bottom:"3%",top:36,containLabel:!0},series:[{name:"销售量",data:[],type:"bar",showBackground:!0,backgroundStyle:{color:"rgba(120, 130, 150, 0.08)",borderRadius:[10,10,0,0]},barWidth:"42%",itemStyle:{borderRadius:[10,10,0,0],color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:V(g.theme,.65)},{offset:1,color:g.theme}]}}}]}}),G=()=>{ft().then(s=>{var e,h,b,i,k,m,v,x,$,z,E,L;u.version=s.version,u.today=s.today,u.menu=s.menu,u.visitor=s.visitor,u.support=s.support,u.visitorOption.xAxis.data=[],u.visitorOption.series[0].data=[],u.saleOption.xAxis.data=[],u.saleOption.series[0].data=[],(h=(e=s.visitor)==null?void 0:e.date)==null||h.reverse().forEach(o=>{u.visitorOption.xAxis.data.push(o)}),(m=(k=(i=(b=s.visitor)==null?void 0:b.list)==null?void 0:i[0])==null?void 0:k.data)==null||m.forEach(o=>{u.visitorOption.series[0].data.push(o)}),(x=(v=s.sale)==null?void 0:v.date)==null||x.reverse().forEach(o=>{u.saleOption.xAxis.data.push(o)}),(L=(E=(z=($=s.sale)==null?void 0:$.list)==null?void 0:z[0])==null?void 0:E.data)==null||L.forEach(o=>{let d=o;o<=50&&(d={value:o,itemStyle:{color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:V("#ff8729",.7)},{offset:1,color:"#ff8729"}]}}}),u.saleOption.series[0].data.push(d)})}).catch(s=>{console.log("err",s)})},it=()=>{var e,h,b,i;const s=g.theme;u.visitorOption.series[0].color=s,u.visitorOption.series[0].lineStyle.color=s,u.visitorOption.series[0].areaStyle.color.colorStops=[{offset:0,color:s},{offset:1,color:s}],u.saleOption.series[0].itemStyle.color.colorStops=[{offset:0,color:V(s,.65)},{offset:1,color:s}],(e=H.value)==null||e.clear(),(h=T.value)==null||h.clear(),(b=H.value)==null||b.setOption(u.saleOption),(i=T.value)==null||i.setOption(u.visitorOption)};return St(()=>{G(),R(),N()}),(s,e)=>{var $,z,E,L;const h=nt,b=dt,i=ct,k=pt,m=ut,v=bt,x=mt;return l(),c("div",Ot,[t("header",Ct,[e[4]||(e[4]=t("div",{class:"wb-hero-text"},[t("h1",{class:"wb-hero-title"},"数据工作台"),t("p",{class:"wb-hero-desc"},"医助诊单、订单营收与运营趋势一屏掌握")],-1)),a(h,{type:"primary",icon:f(Q),round:"",class:"wb-refresh-btn",onClick:rt},{default:r(()=>[...e[3]||(e[3]=[C(" 刷新全部 ",-1)])]),_:1},8,["icon"])]),t("section",At,[t("div",Dt,[t("div",Nt,[t("span",$t,[a(b,null,{default:r(()=>[a(f(_t))]),_:1})]),t("div",null,[e[5]||(e[5]=t("div",{class:"wb-section-name"},"订单统计",-1)),t("div",zt,n(ot.value)+" · "+n(_.order_type_name||"—"),1)])]),t("div",Et,[a(k,{modelValue:P.value,"onUpdate:modelValue":e[0]||(e[0]=o=>P.value=o),class:"wb-select wb-select--wide",onChange:N},{default:r(()=>[a(i,{label:"全部(已支付)",value:-1}),a(i,{label:"挂号费",value:1}),a(i,{label:"问诊费",value:2}),a(i,{label:"药品费用",value:3}),a(i,{label:"首付费用",value:4}),a(i,{label:"尾款费用",value:5}),a(i,{label:"其他费用",value:6}),a(i,{label:"全部费用",value:7}),a(i,{label:"驼奶费用",value:8}),a(i,{label:"退款统计",value:0})]),_:1},8,["modelValue"]),a(k,{modelValue:F.value,"onUpdate:modelValue":e[1]||(e[1]=o=>F.value=o),class:"wb-select",onChange:N},{default:r(()=>[a(i,{label:"今天",value:0}),a(i,{label:"最近7天",value:7}),a(i,{label:"最近30天",value:30})]),_:1},8,["modelValue"]),a(h,{icon:f(Q),circle:"",onClick:N},null,8,["icon"])])]),t("div",Lt,[a(v,{gutter:16,class:"wb-kpi-row"},{default:r(()=>[a(m,{xs:24,sm:8},{default:r(()=>[t("div",Vt,[e[6]||(e[6]=t("div",{class:"wb-kpi-label"},"今日单数",-1)),t("div",Rt,n(_.today_total??0),1)])]),_:1}),a(m,{xs:24,sm:8},{default:r(()=>[t("div",Pt,[e[7]||(e[7]=t("div",{class:"wb-kpi-label"},"今日金额",-1)),t("div",Ft,"¥"+n(_.today_amount??"0.00"),1)])]),_:1}),a(m,{xs:24,sm:8},{default:r(()=>{var o;return[t("div",Wt,[e[8]||(e[8]=t("span",{class:"wb-rank-strip-label"},"今日 TOP",-1)),(o=_.today_ranking)!=null&&o.length?(l(),c("div",Bt,[(l(!0),c(A,null,D(_.today_ranking.slice(0,4),(d,y)=>(l(),c("span",{key:d.id,class:"wb-rank-chip wb-rank-chip--dense"},[t("em",null,n(Number(y)+1),1),C(" "+n(d.name)+" ",1),t("strong",null,n(d.count),1),t("small",null,"¥"+n(d.amount),1)]))),128))])):(l(),c("span",Ht,"暂无"))])]}),_:1})]),_:1}),a(v,{gutter:20,class:"wb-chart-row"},{default:r(()=>[a(m,{xs:24,lg:10},{default:r(()=>[t("div",Tt,[e[9]||(e[9]=t("div",{class:"wb-chart-card-head"},[t("span",{class:"wb-chart-title"},"部门单数占比")],-1)),tt.value?(l(),w(f(O),{key:0,class:"wb-chart",style:{height:"300px"},option:st.value,autoresize:!0},null,8,["option"])):(l(),w(x,{key:1,class:"wb-chart-empty",description:"暂无数据"}))])]),_:1}),a(m,{xs:24,lg:14},{default:r(()=>{var o,d;return[t("div",It,[e[10]||(e[10]=t("div",{class:"wb-chart-card-head"},[t("span",{class:"wb-chart-title"},"开单人 · 单数排行"),t("span",{class:"wb-chart-hint"},"柱状 + 趋势")],-1)),(d=(o=_.chart)==null?void 0:o.xAxis)!=null&&d.length?(l(),w(f(O),{key:"order-bar-"+P.value,class:"wb-chart",style:{height:"300px"},option:lt.value,autoresize:!0},null,8,["option"])):(l(),w(x,{key:1,class:"wb-chart-empty",description:"暂无图表数据"}))])]}),_:1})]),_:1}),a(v,{gutter:20,class:"wb-chart-row"},{default:r(()=>[a(m,{xs:24,lg:10},{default:r(()=>[t("div",Qt,[e[11]||(e[11]=t("div",{class:"wb-chart-card-head"},[t("span",{class:"wb-chart-title"},"部门金额占比")],-1)),et.value?(l(),w(f(O),{key:0,class:"wb-chart",style:{height:"300px"},option:at.value,autoresize:!0},null,8,["option"])):(l(),w(x,{key:1,class:"wb-chart-empty",description:"暂无数据"}))])]),_:1}),a(m,{xs:24,lg:14},{default:r(()=>{var o;return[t("div",Ut,[e[13]||(e[13]=t("div",{class:"wb-chart-card-head"},[t("span",{class:"wb-chart-title"},"周期内排行"),t("span",{class:"wb-chart-hint"},"单数 / 金额")],-1)),(o=_.ranking)!=null&&o.length?(l(),c("div",Mt,[(l(!0),c(A,null,D(_.ranking,(d,y)=>(l(),c("div",{key:d.id,class:"wb-ranking-item"},[t("span",jt,n(Number(y)+1),1),t("span",Gt,n(d.name),1),t("span",Jt,[t("b",null,n(d.count),1),e[12]||(e[12]=C(" 单 ",-1)),t("span",Yt,"¥"+n(d.amount),1)])]))),128))])):(l(),w(x,{key:1,description:"暂无排行"}))])]}),_:1})]),_:1}),($=_.departments)!=null&&$.length?(l(),c("div",qt,[e[14]||(e[14]=t("div",{class:"wb-dept-title"},"按部门统计",-1)),a(v,{gutter:16},{default:r(()=>[(l(!0),c(A,null,D(_.departments,o=>(l(),w(m,{key:o.dept_id,xs:24,sm:12,lg:8},{default:r(()=>{var d;return[t("div",Kt,[t("div",Xt,[C(n(o.dept_name)+" ",1),t("span",Zt,n(o.total)+" 单 · ¥"+n(o.amount),1)]),t("div",te,[(l(!0),c(A,null,D(o.members,y=>(l(),c("div",{key:`${o.dept_id}-${y.id}`,class:"wb-dept-row"},[t("span",null,n(y.name),1),t("span",ee,[C(n(y.count)+" ",1),t("small",null,"¥"+n(y.amount),1)])]))),128)),(d=o.members)!=null&&d.length?B("",!0):(l(),c("div",se,"暂无"))])])]}),_:2},1024))),128))]),_:1})])):B("",!0)])]),t("section",ae,[t("div",oe,[t("div",le,[t("span",re,[a(b,null,{default:r(()=>[a(f(ht))]),_:1})]),t("div",null,[e[15]||(e[15]=t("div",{class:"wb-section-name"},"医助理诊单统计",-1)),t("div",ie,n((z=p.date_range)==null?void 0:z[0])+" 至 "+n((E=p.date_range)==null?void 0:E[1]),1)])]),t("div",ne,[a(k,{modelValue:p.days,"onUpdate:modelValue":e[2]||(e[2]=o=>p.days=o),class:"wb-select",onChange:R},{default:r(()=>[a(i,{label:"今天",value:0}),a(i,{label:"最近7天",value:7}),a(i,{label:"最近14天",value:14}),a(i,{label:"最近30天",value:30})]),_:1},8,["modelValue"]),a(h,{icon:f(Q),circle:"",onClick:R},null,8,["icon"])])]),t("div",de,[a(v,{gutter:16,class:"wb-kpi-row"},{default:r(()=>[a(m,{xs:24,sm:8,lg:6},{default:r(()=>[t("div",ce,[e[16]||(e[16]=t("div",{class:"wb-kpi-label"},"今日创建诊单",-1)),t("div",pe,n(p.today_total??0),1),e[17]||(e[17]=t("div",{class:"wb-kpi-hint"},"当日新增总量",-1))])]),_:1}),a(m,{xs:24,sm:16,lg:18},{default:r(()=>{var o;return[t("div",ue,[e[18]||(e[18]=t("span",{class:"wb-rank-strip-label"},"今日排行",-1)),(o=p.today_ranking)!=null&&o.length?(l(),c("div",be,[(l(!0),c(A,null,D(p.today_ranking.slice(0,6),(d,y)=>(l(),c("span",{key:d.id,class:"wb-rank-chip"},[t("em",null,n(y+1),1),C(" "+n(d.name)+" ",1),t("strong",null,n(d.count),1)]))),128))])):(l(),c("span",me,"暂无排行数据"))])]}),_:1})]),_:1}),a(v,{gutter:20,class:"wb-chart-row"},{default:r(()=>[a(m,{xs:24,lg:15},{default:r(()=>{var o;return[t("div",_e,[e[19]||(e[19]=t("div",{class:"wb-chart-card-head"},[t("span",{class:"wb-chart-title"},"诊单量分布"),t("span",{class:"wb-chart-hint"},"柱状 + 趋势线")],-1)),(o=p.chart.xAxis)!=null&&o.length?(l(),w(f(O),{key:0,ref_key:"assistantChart",ref:q,class:"wb-chart",style:{height:"340px"},option:Z.value,autoresize:!0},null,8,["option"])):(l(),w(x,{key:1,class:"wb-chart-empty",description:"暂无图表数据"}))])]}),_:1}),a(m,{xs:24,lg:9},{default:r(()=>[t("div",he,[e[20]||(e[20]=t("div",{class:"wb-chart-card-head"},[t("span",{class:"wb-chart-title"},"部门占比"),t("span",{class:"wb-chart-hint"},"按诊单数")],-1)),K.value?(l(),w(f(O),{key:0,class:"wb-chart",style:{height:"340px"},option:X.value,autoresize:!0},null,8,["option"])):(l(),w(x,{key:1,class:"wb-chart-empty",description:"暂无部门数据"}))])]),_:1})]),_:1}),(L=p.departments)!=null&&L.length?(l(),c("div",ye,[e[21]||(e[21]=t("div",{class:"wb-dept-title"},"按部门明细",-1)),a(v,{gutter:16},{default:r(()=>[(l(!0),c(A,null,D(p.departments,o=>(l(),w(m,{key:o.dept_id,xs:24,sm:12,lg:8},{default:r(()=>{var d;return[t("div",we,[t("div",fe,[C(n(o.dept_name)+" ",1),t("span",ve,"共 "+n(o.total),1)]),t("div",ge,[(l(!0),c(A,null,D(o.assistants,y=>(l(),c("div",{key:`${o.dept_id}-${y.id}`,class:"wb-dept-row"},[t("span",null,n(y.name),1),t("span",ke,n(y.count),1)]))),128)),(d=o.assistants)!=null&&d.length?B("",!0):(l(),c("div",xe,"暂无医助"))])])]}),_:2},1024))),128))]),_:1})])):B("",!0)])]),t("section",Se,[t("div",Oe,[t("div",Ce,[t("span",Ae,[a(b,null,{default:r(()=>[a(f(yt))]),_:1})]),e[22]||(e[22]=t("div",null,[t("div",{class:"wb-section-name"},"运营趋势"),t("div",{class:"wb-section-sub"},"访问量与销售额走势")],-1))])]),t("div",De,[a(v,{gutter:20},{default:r(()=>[a(m,{xs:24,lg:14},{default:r(()=>[t("div",Ne,[e[23]||(e[23]=t("div",{class:"wb-chart-card-head"},[t("span",{class:"wb-chart-title"},"访问量趋势")],-1)),a(f(O),{ref_key:"visitorChart",ref:T,class:"wb-chart",style:{height:"320px"},option:u.visitorOption,autoresize:!0},null,8,["option"])])]),_:1}),a(m,{xs:24,lg:10},{default:r(()=>[t("div",$e,[e[24]||(e[24]=t("div",{class:"wb-chart-card-head"},[t("span",{class:"wb-chart-title"},"销售额趋势"),t("span",{class:"wb-chart-hint"},"单位(万)")],-1)),a(f(O),{ref_key:"saleChart",ref:H,class:"wb-chart",style:{height:"320px"},option:u.saleOption,autoresize:!0},null,8,["option"])])]),_:1})]),_:1})])])])}}}),ks=vt(Ee,[["__scopeId","data-v-2f6eaa33"]]);export{ks as default}; +¥${Number(e.value).toFixed(0)}`},data:s}]}}),ot=S(()=>{const s=_.date_range;if((s==null?void 0:s.length)>=2)return`${s[0]} 至 ${s[1]}`;const e=F.value,h=new Date,b=new Date;return e===0?(b.setHours(0,0,0,0),`${W(b)} 至 ${W(h)}`):(b.setDate(b.getDate()-(e||7)),`${W(b)} 至 ${W(h)}`)});function W(s){return s.getFullYear()+"-"+String(s.getMonth()+1).padStart(2,"0")+"-"+String(s.getDate()).padStart(2,"0")}const lt=S(()=>{var b,i,k;const s=g.theme,e=(((b=_.chart)==null?void 0:b.series)||[]).map(m=>({...m,name:m.name||"单数",type:"bar",barWidth:"46%",itemStyle:{borderRadius:[8,8,0,0],color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:V(s,.72)},{offset:1,color:s}]}}})),h=((i=e[0])==null?void 0:i.data)||[];return{color:[s,"#fa8c16"],legend:{data:["单数","趋势"],top:4},xAxis:{type:"category",data:((k=_.chart)==null?void 0:k.xAxis)||[],axisLabel:{rotate:28,fontSize:11},axisLine:{lineStyle:{color:"#e4e7ec"}}},yAxis:{type:"value",name:"单数",splitLine:{lineStyle:{type:"dashed",color:"#eef0f4"}}},tooltip:{trigger:"axis"},grid:{left:"2%",right:"2%",bottom:"12%",top:48,containLabel:!0},series:[...e,{name:"趋势",type:"line",smooth:.35,symbol:"circle",symbolSize:7,lineStyle:{width:3,color:"#fa8c16"},itemStyle:{color:"#fa8c16"},data:h}]}}),N=()=>{kt({order_type:P.value,days:F.value}).then(s=>{Object.assign(_,{order_type_name:s.order_type_name??"",date_range:s.date_range||[],today_total:s.today_total??0,today_amount:s.today_amount??"0.00",today_ranking:s.today_ranking||[],departments:s.departments||[],ranking:s.ranking||[],chart:s.chart||{xAxis:[],series:[]}})}).catch(()=>{})},rt=()=>{q(),R(),N()};xt(()=>g.theme,()=>{it()});const u=M({version:{version:"",website:"",based:"",channel:{gitee:"",website:""}},support:[],today:{},menu:[],visitor:[],article:[],visitorOption:{xAxis:{type:"category",data:[]},yAxis:{type:"value"},legend:{data:["访问量"],top:8},tooltip:{trigger:"axis"},grid:{left:"2%",right:"3%",bottom:"3%",top:40,containLabel:!0},series:[{name:"访问量",data:[],type:"line",smooth:!0,color:g.theme,lineStyle:{color:g.theme,width:2},areaStyle:{color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:g.theme},{offset:1,color:g.theme}]},opacity:.12}}]},saleOption:{xAxis:{type:"category",data:[]},yAxis:{type:"value",name:"万"},tooltip:{trigger:"axis"},grid:{left:"2%",right:"3%",bottom:"3%",top:36,containLabel:!0},series:[{name:"销售量",data:[],type:"bar",showBackground:!0,backgroundStyle:{color:"rgba(120, 130, 150, 0.08)",borderRadius:[10,10,0,0]},barWidth:"42%",itemStyle:{borderRadius:[10,10,0,0],color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:V(g.theme,.65)},{offset:1,color:g.theme}]}}}]}}),q=()=>{ft().then(s=>{var e,h,b,i,k,m,v,x,$,z,E,L;u.version=s.version,u.today=s.today,u.menu=s.menu,u.visitor=s.visitor,u.support=s.support,u.visitorOption.xAxis.data=[],u.visitorOption.series[0].data=[],u.saleOption.xAxis.data=[],u.saleOption.series[0].data=[],(h=(e=s.visitor)==null?void 0:e.date)==null||h.reverse().forEach(o=>{u.visitorOption.xAxis.data.push(o)}),(m=(k=(i=(b=s.visitor)==null?void 0:b.list)==null?void 0:i[0])==null?void 0:k.data)==null||m.forEach(o=>{u.visitorOption.series[0].data.push(o)}),(x=(v=s.sale)==null?void 0:v.date)==null||x.reverse().forEach(o=>{u.saleOption.xAxis.data.push(o)}),(L=(E=(z=($=s.sale)==null?void 0:$.list)==null?void 0:z[0])==null?void 0:E.data)==null||L.forEach(o=>{let d=o;o<=50&&(d={value:o,itemStyle:{color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:V("#ff8729",.7)},{offset:1,color:"#ff8729"}]}}}),u.saleOption.series[0].data.push(d)})}).catch(s=>{console.log("err",s)})},it=()=>{var e,h,b,i;const s=g.theme;u.visitorOption.series[0].color=s,u.visitorOption.series[0].lineStyle.color=s,u.visitorOption.series[0].areaStyle.color.colorStops=[{offset:0,color:s},{offset:1,color:s}],u.saleOption.series[0].itemStyle.color.colorStops=[{offset:0,color:V(s,.65)},{offset:1,color:s}],(e=H.value)==null||e.clear(),(h=T.value)==null||h.clear(),(b=H.value)==null||b.setOption(u.saleOption),(i=T.value)==null||i.setOption(u.visitorOption)};return St(()=>{q(),R(),N()}),(s,e)=>{var $,z,E,L;const h=nt,b=dt,i=ct,k=pt,m=ut,v=bt,x=mt;return l(),c("div",Ot,[t("header",Ct,[e[4]||(e[4]=t("div",{class:"wb-hero-text"},[t("h1",{class:"wb-hero-title"},"数据工作台"),t("p",{class:"wb-hero-desc"},"医助诊单、订单营收与运营趋势一屏掌握")],-1)),a(h,{type:"primary",icon:f(Q),round:"",class:"wb-refresh-btn",onClick:rt},{default:r(()=>[...e[3]||(e[3]=[C(" 刷新全部 ",-1)])]),_:1},8,["icon"])]),t("section",At,[t("div",Dt,[t("div",Nt,[t("span",$t,[a(b,null,{default:r(()=>[a(f(_t))]),_:1})]),t("div",null,[e[5]||(e[5]=t("div",{class:"wb-section-name"},"订单统计",-1)),t("div",zt,n(ot.value)+" · "+n(_.order_type_name||"—"),1)])]),t("div",Et,[a(k,{modelValue:P.value,"onUpdate:modelValue":e[0]||(e[0]=o=>P.value=o),class:"wb-select wb-select--wide",onChange:N},{default:r(()=>[a(i,{label:"全部(已支付)",value:-1}),a(i,{label:"挂号费",value:1}),a(i,{label:"问诊费",value:2}),a(i,{label:"药品费用",value:3}),a(i,{label:"首付费用",value:4}),a(i,{label:"尾款费用",value:5}),a(i,{label:"其他费用",value:6}),a(i,{label:"全部费用",value:7}),a(i,{label:"驼奶费用",value:8}),a(i,{label:"退款统计",value:0})]),_:1},8,["modelValue"]),a(k,{modelValue:F.value,"onUpdate:modelValue":e[1]||(e[1]=o=>F.value=o),class:"wb-select",onChange:N},{default:r(()=>[a(i,{label:"今天",value:0}),a(i,{label:"最近7天",value:7}),a(i,{label:"最近30天",value:30})]),_:1},8,["modelValue"]),a(h,{icon:f(Q),circle:"",onClick:N},null,8,["icon"])])]),t("div",Lt,[a(v,{gutter:16,class:"wb-kpi-row"},{default:r(()=>[a(m,{xs:24,sm:8},{default:r(()=>[t("div",Vt,[e[6]||(e[6]=t("div",{class:"wb-kpi-label"},"今日单数",-1)),t("div",Rt,n(_.today_total??0),1)])]),_:1}),a(m,{xs:24,sm:8},{default:r(()=>[t("div",Pt,[e[7]||(e[7]=t("div",{class:"wb-kpi-label"},"今日金额",-1)),t("div",Ft,"¥"+n(_.today_amount??"0.00"),1)])]),_:1}),a(m,{xs:24,sm:8},{default:r(()=>{var o;return[t("div",Wt,[e[8]||(e[8]=t("span",{class:"wb-rank-strip-label"},"今日 TOP",-1)),(o=_.today_ranking)!=null&&o.length?(l(),c("div",Bt,[(l(!0),c(A,null,D(_.today_ranking.slice(0,4),(d,y)=>(l(),c("span",{key:d.id,class:"wb-rank-chip wb-rank-chip--dense"},[t("em",null,n(Number(y)+1),1),C(" "+n(d.name)+" ",1),t("strong",null,n(d.count),1),t("small",null,"¥"+n(d.amount),1)]))),128))])):(l(),c("span",Ht,"暂无"))])]}),_:1})]),_:1}),a(v,{gutter:20,class:"wb-chart-row"},{default:r(()=>[a(m,{xs:24,lg:10},{default:r(()=>[t("div",Tt,[e[9]||(e[9]=t("div",{class:"wb-chart-card-head"},[t("span",{class:"wb-chart-title"},"部门单数占比")],-1)),tt.value?(l(),w(f(O),{key:0,class:"wb-chart",style:{height:"300px"},option:st.value,autoresize:!0},null,8,["option"])):(l(),w(x,{key:1,class:"wb-chart-empty",description:"暂无数据"}))])]),_:1}),a(m,{xs:24,lg:14},{default:r(()=>{var o,d;return[t("div",It,[e[10]||(e[10]=t("div",{class:"wb-chart-card-head"},[t("span",{class:"wb-chart-title"},"开单人 · 单数排行"),t("span",{class:"wb-chart-hint"},"柱状 + 趋势")],-1)),(d=(o=_.chart)==null?void 0:o.xAxis)!=null&&d.length?(l(),w(f(O),{key:"order-bar-"+P.value,class:"wb-chart",style:{height:"300px"},option:lt.value,autoresize:!0},null,8,["option"])):(l(),w(x,{key:1,class:"wb-chart-empty",description:"暂无图表数据"}))])]}),_:1})]),_:1}),a(v,{gutter:20,class:"wb-chart-row"},{default:r(()=>[a(m,{xs:24,lg:10},{default:r(()=>[t("div",Qt,[e[11]||(e[11]=t("div",{class:"wb-chart-card-head"},[t("span",{class:"wb-chart-title"},"部门金额占比")],-1)),et.value?(l(),w(f(O),{key:0,class:"wb-chart",style:{height:"300px"},option:at.value,autoresize:!0},null,8,["option"])):(l(),w(x,{key:1,class:"wb-chart-empty",description:"暂无数据"}))])]),_:1}),a(m,{xs:24,lg:14},{default:r(()=>{var o;return[t("div",Ut,[e[13]||(e[13]=t("div",{class:"wb-chart-card-head"},[t("span",{class:"wb-chart-title"},"周期内排行"),t("span",{class:"wb-chart-hint"},"单数 / 金额")],-1)),(o=_.ranking)!=null&&o.length?(l(),c("div",Mt,[(l(!0),c(A,null,D(_.ranking,(d,y)=>(l(),c("div",{key:d.id,class:"wb-ranking-item"},[t("span",jt,n(Number(y)+1),1),t("span",qt,n(d.name),1),t("span",Gt,[t("b",null,n(d.count),1),e[12]||(e[12]=C(" 单 ",-1)),t("span",Jt,"¥"+n(d.amount),1)])]))),128))])):(l(),w(x,{key:1,description:"暂无排行"}))])]}),_:1})]),_:1}),($=_.departments)!=null&&$.length?(l(),c("div",Yt,[e[14]||(e[14]=t("div",{class:"wb-dept-title"},"按部门统计",-1)),a(v,{gutter:16},{default:r(()=>[(l(!0),c(A,null,D(_.departments,o=>(l(),w(m,{key:o.dept_id,xs:24,sm:12,lg:8},{default:r(()=>{var d;return[t("div",Kt,[t("div",Xt,[C(n(o.dept_name)+" ",1),t("span",Zt,n(o.total)+" 单 · ¥"+n(o.amount),1)]),t("div",te,[(l(!0),c(A,null,D(o.members,y=>(l(),c("div",{key:`${o.dept_id}-${y.id}`,class:"wb-dept-row"},[t("span",null,n(y.name),1),t("span",ee,[C(n(y.count)+" ",1),t("small",null,"¥"+n(y.amount),1)])]))),128)),(d=o.members)!=null&&d.length?B("",!0):(l(),c("div",se,"暂无"))])])]}),_:2},1024))),128))]),_:1})])):B("",!0)])]),t("section",ae,[t("div",oe,[t("div",le,[t("span",re,[a(b,null,{default:r(()=>[a(f(ht))]),_:1})]),t("div",null,[e[15]||(e[15]=t("div",{class:"wb-section-name"},"医助理诊单统计",-1)),t("div",ie,n((z=p.date_range)==null?void 0:z[0])+" 至 "+n((E=p.date_range)==null?void 0:E[1]),1)])]),t("div",ne,[a(k,{modelValue:p.days,"onUpdate:modelValue":e[2]||(e[2]=o=>p.days=o),class:"wb-select",onChange:R},{default:r(()=>[a(i,{label:"今天",value:0}),a(i,{label:"最近7天",value:7}),a(i,{label:"最近14天",value:14}),a(i,{label:"最近30天",value:30})]),_:1},8,["modelValue"]),a(h,{icon:f(Q),circle:"",onClick:R},null,8,["icon"])])]),t("div",de,[a(v,{gutter:16,class:"wb-kpi-row"},{default:r(()=>[a(m,{xs:24,sm:8,lg:6},{default:r(()=>[t("div",ce,[e[16]||(e[16]=t("div",{class:"wb-kpi-label"},"今日创建诊单",-1)),t("div",pe,n(p.today_total??0),1),e[17]||(e[17]=t("div",{class:"wb-kpi-hint"},"当日新增总量",-1))])]),_:1}),a(m,{xs:24,sm:16,lg:18},{default:r(()=>{var o;return[t("div",ue,[e[18]||(e[18]=t("span",{class:"wb-rank-strip-label"},"今日排行",-1)),(o=p.today_ranking)!=null&&o.length?(l(),c("div",be,[(l(!0),c(A,null,D(p.today_ranking.slice(0,6),(d,y)=>(l(),c("span",{key:d.id,class:"wb-rank-chip"},[t("em",null,n(y+1),1),C(" "+n(d.name)+" ",1),t("strong",null,n(d.count),1)]))),128))])):(l(),c("span",me,"暂无排行数据"))])]}),_:1})]),_:1}),a(v,{gutter:20,class:"wb-chart-row"},{default:r(()=>[a(m,{xs:24,lg:15},{default:r(()=>{var o;return[t("div",_e,[e[19]||(e[19]=t("div",{class:"wb-chart-card-head"},[t("span",{class:"wb-chart-title"},"诊单量分布"),t("span",{class:"wb-chart-hint"},"柱状 + 趋势线")],-1)),(o=p.chart.xAxis)!=null&&o.length?(l(),w(f(O),{key:0,ref_key:"assistantChart",ref:Y,class:"wb-chart",style:{height:"340px"},option:Z.value,autoresize:!0},null,8,["option"])):(l(),w(x,{key:1,class:"wb-chart-empty",description:"暂无图表数据"}))])]}),_:1}),a(m,{xs:24,lg:9},{default:r(()=>[t("div",he,[e[20]||(e[20]=t("div",{class:"wb-chart-card-head"},[t("span",{class:"wb-chart-title"},"部门占比"),t("span",{class:"wb-chart-hint"},"按诊单数")],-1)),K.value?(l(),w(f(O),{key:0,class:"wb-chart",style:{height:"340px"},option:X.value,autoresize:!0},null,8,["option"])):(l(),w(x,{key:1,class:"wb-chart-empty",description:"暂无部门数据"}))])]),_:1})]),_:1}),(L=p.departments)!=null&&L.length?(l(),c("div",ye,[e[21]||(e[21]=t("div",{class:"wb-dept-title"},"按部门明细",-1)),a(v,{gutter:16},{default:r(()=>[(l(!0),c(A,null,D(p.departments,o=>(l(),w(m,{key:o.dept_id,xs:24,sm:12,lg:8},{default:r(()=>{var d;return[t("div",we,[t("div",fe,[C(n(o.dept_name)+" ",1),t("span",ve,"共 "+n(o.total),1)]),t("div",ge,[(l(!0),c(A,null,D(o.assistants,y=>(l(),c("div",{key:`${o.dept_id}-${y.id}`,class:"wb-dept-row"},[t("span",null,n(y.name),1),t("span",ke,n(y.count),1)]))),128)),(d=o.assistants)!=null&&d.length?B("",!0):(l(),c("div",xe,"暂无医助"))])])]}),_:2},1024))),128))]),_:1})])):B("",!0)])]),t("section",Se,[t("div",Oe,[t("div",Ce,[t("span",Ae,[a(b,null,{default:r(()=>[a(f(yt))]),_:1})]),e[22]||(e[22]=t("div",null,[t("div",{class:"wb-section-name"},"运营趋势"),t("div",{class:"wb-section-sub"},"访问量与销售额走势")],-1))])]),t("div",De,[a(v,{gutter:20},{default:r(()=>[a(m,{xs:24,lg:14},{default:r(()=>[t("div",Ne,[e[23]||(e[23]=t("div",{class:"wb-chart-card-head"},[t("span",{class:"wb-chart-title"},"访问量趋势")],-1)),a(f(O),{ref_key:"visitorChart",ref:T,class:"wb-chart",style:{height:"320px"},option:u.visitorOption,autoresize:!0},null,8,["option"])])]),_:1}),a(m,{xs:24,lg:10},{default:r(()=>[t("div",$e,[e[24]||(e[24]=t("div",{class:"wb-chart-card-head"},[t("span",{class:"wb-chart-title"},"销售额趋势"),t("span",{class:"wb-chart-hint"},"单位(万)")],-1)),a(f(O),{ref_key:"saleChart",ref:H,class:"wb-chart",style:{height:"320px"},option:u.saleOption,autoresize:!0},null,8,["option"])])]),_:1})]),_:1})])])])}}}),ks=vt(Ee,[["__scopeId","data-v-2f6eaa33"]]);export{ks as default}; diff --git a/server/public/admin/assets/index-CMwwIkSa.js b/server/public/admin/assets/index-DMPJBdKP.js similarity index 83% rename from server/public/admin/assets/index-CMwwIkSa.js rename to server/public/admin/assets/index-DMPJBdKP.js index abf1670b..cf8a6662 100644 --- a/server/public/admin/assets/index-CMwwIkSa.js +++ b/server/public/admin/assets/index-DMPJBdKP.js @@ -1 +1 @@ -import{K as k,J as E,M as x,N,v as R,i as B}from"./element-plus-0wC3naml.js";import{a as V}from"./pay-wX-vUDcK.js";import{u as T}from"./getExposeType-MUpmx9zy.js";import d from"./edit-D3JE6NlA.js";import{f as D,as as H,ak as n,I,a as t,aN as e,J,aP as L,G as f,O as P,H as $}from"./@vue/runtime-core-C6bnekPw.js";import{y as _,n as u,q}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-E47--KT7.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./picker-DlbAZkDm.js";import"./index-nymJKQXP.js";import"./index-B56X8bEB.js";import"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import"./index-BHTgr4Ka.js";import"./index-Ci4dcEQh.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-DoYUJmkp.js";import"./index.vue_vue_type_script_setup_true_lang-Bl0f8aX8.js";import"./usePaging-VsbTxSU0.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./useLockFn-X4Qce5KO.js";const Ot=D({__name:"index",setup(A){const p=T(),s=u([]),w=q(),l=u(!1),m=async()=>{const{lists:r}=await V();s.value=r},y=async r=>{var o;(o=p.value)==null||o.openHandle(r.id,!1)};return m(),(r,o)=>{const h=k,c=E,i=N,v=R,b=B,g=x,C=H("perms");return n(),I("div",null,[t(c,{class:"!border-none",shadow:"never"},{default:e(()=>[t(h,{type:"warning",title:"温馨提示:设置系统支持的支付方式",closable:!1,"show-icon":""})]),_:1}),t(c,{shadow:"never",class:"mt-4 !border-none"},{default:e(()=>[J("div",null,[t(g,{data:_(s)},{default:e(()=>[t(i,{prop:"pay_way_name",label:"支付方式","min-width":"150"}),t(i,{prop:"name",label:"显示名称","min-width":"150"}),t(i,{label:"图标","min-width":"150"},{default:e(({row:a})=>[t(v,{src:a.icon,alt:"图标",style:{width:"34px",height:"34px"}},null,8,["src"])]),_:1}),t(i,{prop:"sort",label:"排序","min-width":"150"}),t(i,{label:"操作","min-width":"80",fixed:"right"},{default:e(({row:a})=>[L((n(),f(b,{link:"",type:"primary",onClick:G=>y(a)},{default:e(()=>[...o[1]||(o[1]=[P(" 配置 ",-1)])]),_:1},8,["onClick"])),[[C,["setting.pay.pay_config/setConfig"]]])]),_:1})]),_:1},8,["data"])])]),_:1}),_(l)?(n(),f(d,{key:0,ref_key:"editRef",ref:w,onSuccess:m,onClose:o[0]||(o[0]=a=>l.value=!1)},null,512)):$("",!0),t(d,{ref_key:"editNewRef",ref:p,onRefresh:m},null,512)])}}});export{Ot as default}; +import{K as k,J as E,M as x,N,v as R,i as B}from"./element-plus-DFTWCWyi.js";import{a as V}from"./pay-BWtHlaJr.js";import{u as T}from"./getExposeType-MUpmx9zy.js";import d from"./edit-BRBBltgC.js";import{f as D,as as H,ak as n,I,a as t,aN as e,J,aP as L,G as f,O as P,H as $}from"./@vue/runtime-core-C6bnekPw.js";import{y as _,n as u,q}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-DBREMm_z.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./picker-BCRrEZaA.js";import"./index-BwF7vczx.js";import"./index-BiPYXDtP.js";import"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import"./index-CbfZXeGu.js";import"./index-CRoZWY-W.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-BimpIRb_.js";import"./index.vue_vue_type_script_setup_true_lang-x0oL2ShL.js";import"./usePaging-VsbTxSU0.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./useLockFn-X4Qce5KO.js";const Ot=D({__name:"index",setup(A){const p=T(),s=u([]),w=q(),l=u(!1),m=async()=>{const{lists:r}=await V();s.value=r},y=async r=>{var o;(o=p.value)==null||o.openHandle(r.id,!1)};return m(),(r,o)=>{const h=k,c=E,i=N,v=R,b=B,g=x,C=H("perms");return n(),I("div",null,[t(c,{class:"!border-none",shadow:"never"},{default:e(()=>[t(h,{type:"warning",title:"温馨提示:设置系统支持的支付方式",closable:!1,"show-icon":""})]),_:1}),t(c,{shadow:"never",class:"mt-4 !border-none"},{default:e(()=>[J("div",null,[t(g,{data:_(s)},{default:e(()=>[t(i,{prop:"pay_way_name",label:"支付方式","min-width":"150"}),t(i,{prop:"name",label:"显示名称","min-width":"150"}),t(i,{label:"图标","min-width":"150"},{default:e(({row:a})=>[t(v,{src:a.icon,alt:"图标",style:{width:"34px",height:"34px"}},null,8,["src"])]),_:1}),t(i,{prop:"sort",label:"排序","min-width":"150"}),t(i,{label:"操作","min-width":"80",fixed:"right"},{default:e(({row:a})=>[L((n(),f(b,{link:"",type:"primary",onClick:G=>y(a)},{default:e(()=>[...o[1]||(o[1]=[P(" 配置 ",-1)])]),_:1},8,["onClick"])),[[C,["setting.pay.pay_config/setConfig"]]])]),_:1})]),_:1},8,["data"])])]),_:1}),_(l)?(n(),f(d,{key:0,ref_key:"editRef",ref:w,onSuccess:m,onClose:o[0]||(o[0]=a=>l.value=!1)},null,512)):$("",!0),t(d,{ref_key:"editNewRef",ref:p,onRefresh:m},null,512)])}}});export{Ot as default}; diff --git a/server/public/admin/assets/index-BVxwK15h.js b/server/public/admin/assets/index-DNKCKo6Y.js similarity index 93% rename from server/public/admin/assets/index-BVxwK15h.js rename to server/public/admin/assets/index-DNKCKo6Y.js index b685d1c6..8693e530 100644 --- a/server/public/admin/assets/index-BVxwK15h.js +++ b/server/public/admin/assets/index-DNKCKo6Y.js @@ -1 +1 @@ -import{i as A,M as P,N as z,T as F,L as G,J}from"./element-plus-0wC3naml.js";import{c as S,M as y,i as q}from"./index-E47--KT7.js";import{a as H,e as I}from"./menu-CJerAkpY.js";import{u as j}from"./usePaging-VsbTxSU0.js";import{_ as K}from"./edit.vue_vue_type_script_setup_true_lang-C3YGQx3u.js";import{f as D,as as Q,ak as a,I as k,a as n,aN as o,J as N,aP as f,G as p,O as d,H as h,n as B}from"./@vue/runtime-core-C6bnekPw.js";import{y as m,q as $,n as W}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./picker.vue_vue_type_script_setup_true_lang-DBWe-4hk.js";import"./index-nymJKQXP.js";const X={class:"menu-lists"},Y={key:0},Z={key:1},ee={key:2},te={class:"flex"},oe=D({name:"permission-menu"}),Ie=D({...oe,setup(ie){const w=$(),u=$();let v=!1;const _=W(!1),{pager:b,getLists:g}=j({fetchFun:H,params:{page_type:0}}),C=async i=>{var e,s;_.value=!0,await B(),i&&((e=u.value)==null||e.setFormData({pid:i})),(s=u.value)==null||s.open("add")},R=async i=>{var e,s;_.value=!0,await B(),(e=u.value)==null||e.open("edit"),(s=u.value)==null||s.getDetail(i)},L=async i=>{await q.confirm("确定要删除?"),await I({id:i}),g()},M=()=>{v=!v,E(b.lists,v)},E=(i,e=!0)=>{var s;for(const l in i)(s=w.value)==null||s.toggleRowExpansion(i[l],e),i[l].children&&E(i[l].children,e)};return g(),(i,e)=>{const s=S,l=A,r=z,x=F,O=P,U=J,c=Q("perms"),V=G;return a(),k("div",X,[n(U,{class:"!border-none",shadow:"never"},{default:o(()=>[N("div",null,[f((a(),p(l,{type:"primary",onClick:e[0]||(e[0]=t=>C())},{icon:o(()=>[n(s,{name:"el-icon-Plus"})]),default:o(()=>[e[2]||(e[2]=d(" 新增 ",-1))]),_:1})),[[c,["auth.menu/add"]]]),n(l,{onClick:M},{default:o(()=>[...e[3]||(e[3]=[d(" 展开/折叠 ",-1)])]),_:1})]),f((a(),p(O,{ref_key:"tableRef",ref:w,class:"mt-4",size:"large",data:m(b).lists,"row-key":"id","tree-props":{children:"children",hasChildren:"hasChildren"}},{default:o(()=>[n(r,{label:"菜单名称",prop:"name","min-width":"150","show-overflow-tooltip":""}),n(r,{label:"类型",prop:"type","min-width":"80"},{default:o(({row:t})=>[t.type==m(y).CATALOGUE?(a(),k("div",Y,"目录")):t.type==m(y).MENU?(a(),k("div",Z,"菜单")):t.type==m(y).BUTTON?(a(),k("div",ee,"按钮")):h("",!0)]),_:1}),n(r,{label:"图标",prop:"icon","min-width":"80"},{default:o(({row:t})=>[N("div",te,[n(s,{name:t.icon,size:20},null,8,["name"])])]),_:1}),n(r,{label:"权限标识",prop:"perms","min-width":"150","show-overflow-tooltip":""}),n(r,{label:"状态",prop:"is_disable","min-width":"100"},{default:o(({row:t})=>[t.is_disable==0?(a(),p(x,{key:0},{default:o(()=>[...e[4]||(e[4]=[d("正常",-1)])]),_:1})):(a(),p(x,{key:1,type:"danger"},{default:o(()=>[...e[5]||(e[5]=[d("停用",-1)])]),_:1}))]),_:1}),n(r,{label:"排序",prop:"sort","min-width":"100"}),n(r,{label:"更新时间",prop:"update_time","min-width":"180"}),n(r,{label:"操作",width:"160",fixed:"right"},{default:o(({row:t})=>[t.type!==m(y).BUTTON?f((a(),p(l,{key:0,type:"primary",link:"",onClick:T=>C(t.id)},{default:o(()=>[...e[6]||(e[6]=[d(" 新增 ",-1)])]),_:1},8,["onClick"])),[[c,["auth.menu/add"]]]):h("",!0),f((a(),p(l,{type:"primary",link:"",onClick:T=>R(t)},{default:o(()=>[...e[7]||(e[7]=[d(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[c,["auth.menu/edit"]]]),f((a(),p(l,{type:"danger",link:"",onClick:T=>L(t.id)},{default:o(()=>[...e[8]||(e[8]=[d(" 删除 ",-1)])]),_:1},8,["onClick"])),[[c,["auth.menu/delete"]]])]),_:1})]),_:1},8,["data"])),[[V,m(b).loading]])]),_:1}),m(_)?(a(),p(K,{key:0,ref_key:"editRef",ref:u,onSuccess:m(g),onClose:e[1]||(e[1]=t=>_.value=!1)},null,8,["onSuccess"])):h("",!0)])}}});export{Ie as default}; +import{i as A,M as P,N as z,T as F,L as G,J}from"./element-plus-DFTWCWyi.js";import{c as S,M as y,i as q}from"./index-DBREMm_z.js";import{a as H,e as I}from"./menu-CvPcniJ1.js";import{u as j}from"./usePaging-VsbTxSU0.js";import{_ as K}from"./edit.vue_vue_type_script_setup_true_lang-BBq07rga.js";import{f as D,as as Q,ak as a,I as k,a as n,aN as o,J as N,aP as f,G as p,O as d,H as h,n as B}from"./@vue/runtime-core-C6bnekPw.js";import{y as m,q as $,n as W}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./picker.vue_vue_type_script_setup_true_lang-CqrG0MgW.js";import"./index-BwF7vczx.js";const X={class:"menu-lists"},Y={key:0},Z={key:1},ee={key:2},te={class:"flex"},oe=D({name:"permission-menu"}),Ie=D({...oe,setup(ie){const w=$(),u=$();let v=!1;const _=W(!1),{pager:b,getLists:g}=j({fetchFun:H,params:{page_type:0}}),C=async i=>{var e,s;_.value=!0,await B(),i&&((e=u.value)==null||e.setFormData({pid:i})),(s=u.value)==null||s.open("add")},R=async i=>{var e,s;_.value=!0,await B(),(e=u.value)==null||e.open("edit"),(s=u.value)==null||s.getDetail(i)},L=async i=>{await q.confirm("确定要删除?"),await I({id:i}),g()},M=()=>{v=!v,E(b.lists,v)},E=(i,e=!0)=>{var s;for(const l in i)(s=w.value)==null||s.toggleRowExpansion(i[l],e),i[l].children&&E(i[l].children,e)};return g(),(i,e)=>{const s=S,l=A,r=z,x=F,O=P,U=J,c=Q("perms"),V=G;return a(),k("div",X,[n(U,{class:"!border-none",shadow:"never"},{default:o(()=>[N("div",null,[f((a(),p(l,{type:"primary",onClick:e[0]||(e[0]=t=>C())},{icon:o(()=>[n(s,{name:"el-icon-Plus"})]),default:o(()=>[e[2]||(e[2]=d(" 新增 ",-1))]),_:1})),[[c,["auth.menu/add"]]]),n(l,{onClick:M},{default:o(()=>[...e[3]||(e[3]=[d(" 展开/折叠 ",-1)])]),_:1})]),f((a(),p(O,{ref_key:"tableRef",ref:w,class:"mt-4",size:"large",data:m(b).lists,"row-key":"id","tree-props":{children:"children",hasChildren:"hasChildren"}},{default:o(()=>[n(r,{label:"菜单名称",prop:"name","min-width":"150","show-overflow-tooltip":""}),n(r,{label:"类型",prop:"type","min-width":"80"},{default:o(({row:t})=>[t.type==m(y).CATALOGUE?(a(),k("div",Y,"目录")):t.type==m(y).MENU?(a(),k("div",Z,"菜单")):t.type==m(y).BUTTON?(a(),k("div",ee,"按钮")):h("",!0)]),_:1}),n(r,{label:"图标",prop:"icon","min-width":"80"},{default:o(({row:t})=>[N("div",te,[n(s,{name:t.icon,size:20},null,8,["name"])])]),_:1}),n(r,{label:"权限标识",prop:"perms","min-width":"150","show-overflow-tooltip":""}),n(r,{label:"状态",prop:"is_disable","min-width":"100"},{default:o(({row:t})=>[t.is_disable==0?(a(),p(x,{key:0},{default:o(()=>[...e[4]||(e[4]=[d("正常",-1)])]),_:1})):(a(),p(x,{key:1,type:"danger"},{default:o(()=>[...e[5]||(e[5]=[d("停用",-1)])]),_:1}))]),_:1}),n(r,{label:"排序",prop:"sort","min-width":"100"}),n(r,{label:"更新时间",prop:"update_time","min-width":"180"}),n(r,{label:"操作",width:"160",fixed:"right"},{default:o(({row:t})=>[t.type!==m(y).BUTTON?f((a(),p(l,{key:0,type:"primary",link:"",onClick:T=>C(t.id)},{default:o(()=>[...e[6]||(e[6]=[d(" 新增 ",-1)])]),_:1},8,["onClick"])),[[c,["auth.menu/add"]]]):h("",!0),f((a(),p(l,{type:"primary",link:"",onClick:T=>R(t)},{default:o(()=>[...e[7]||(e[7]=[d(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[c,["auth.menu/edit"]]]),f((a(),p(l,{type:"danger",link:"",onClick:T=>L(t.id)},{default:o(()=>[...e[8]||(e[8]=[d(" 删除 ",-1)])]),_:1},8,["onClick"])),[[c,["auth.menu/delete"]]])]),_:1})]),_:1},8,["data"])),[[V,m(b).loading]])]),_:1}),m(_)?(a(),p(K,{key:0,ref_key:"editRef",ref:u,onSuccess:m(g),onClose:e[1]||(e[1]=t=>_.value=!1)},null,8,["onSuccess"])):h("",!0)])}}});export{Ie as default}; diff --git a/server/public/admin/assets/index-DYJjtMwl.js b/server/public/admin/assets/index-DYJjtMwl.js new file mode 100644 index 00000000..edc95225 --- /dev/null +++ b/server/public/admin/assets/index-DYJjtMwl.js @@ -0,0 +1,2 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/edit-BG1q_jZS.js","assets/element-plus-DFTWCWyi.js","assets/@vue/runtime-dom-DDAG46FW.js","assets/lodash-D3kF6u-c.js","assets/@vue/runtime-core-C6bnekPw.js","assets/@vue/reactivity-DiY1c2vO.js","assets/@vue/shared-mAAVTE9n.js","assets/@element-plus/icons-vue-HOEUG8sr.js","assets/lodash-es-C2A-Pj28.js","assets/@popperjs/core-C5az9QE8.js","assets/dayjs-DG77mNTn.js","assets/@ctrl/tinycolor-BuyEbX8F.js","assets/async-validator-CFA_igpM.js","assets/normalize-wheel-es-BQoi3Ox2.js","assets/element-plus-C_YxM8bk.css","assets/tcm-BcqaE0lo.js","assets/index-DBREMm_z.js","assets/jspdf-BsthCvR5.js","assets/@babel/runtime-BanGtE2-.js","assets/fflate-_ayOYiT1.js","assets/vue-router-QlpZ4wdW.js","assets/pinia-B8cvXbiZ.js","assets/axios-C80V62Fs.js","assets/@vueuse/core-1S4fJlii.js","assets/@vueuse/shared-Cl3lVqjz.js","assets/css-color-function-DI01JAaZ.js","assets/balanced-match-BdS7OldZ.js","assets/color-B2zxaWkI.js","assets/clone-DBZ6_OiU.js","assets/color-convert-OrFsTA_V.js","assets/color-name-Dju3oUBS.js","assets/color-string-pUQDDJII.js","assets/ms-CzQ2E3wO.js","assets/vue-clipboard3-DByT_rEQ.js","assets/clipboard-CHgxszqY.js","assets/echarts-CNLwa9wG.js","assets/tslib-BDyQ-Jie.js","assets/zrender-DRNXw7y3.js","assets/highlight.js-Bxt7hFFy.js","assets/highlight-BfC0goYb.css","assets/@highlightjs/vue-plugin-C4onkBvW.js","assets/index-3wNXRrXZ.css","assets/perm-Bo9eM8XD.js","assets/DailyMatrix-CZKqLaUg.js","assets/picker-BCRrEZaA.js","assets/index-BwF7vczx.js","assets/index-B3imPWFk.css","assets/index-BiPYXDtP.js","assets/index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js","assets/index-CbfZXeGu.js","assets/index-D0f1Mn00.css","assets/index-CRoZWY-W.js","assets/cos-js-sdk-v5-DSMN0LUT.js","assets/file-BimpIRb_.js","assets/index.vue_vue_type_script_setup_true_lang-x0oL2ShL.js","assets/usePaging-VsbTxSU0.js","assets/index-BYOmK9R5.css","assets/vuedraggable-5bKFmC7X.js","assets/vue-BVs68q8v.js","assets/@vue/compiler-dom-CqayqxS7.js","assets/@vue/compiler-core-CvbQOXIO.js","assets/sortablejs-dsEAUXlE.js","assets/picker-XZbUgFct.css","assets/vue-echarts-BNtg2q_G.js","assets/resize-detector-G6vbKCU7.js","assets/DiagnosisTodoList-CgT2M9eR.js","assets/DiagnosisTodoList-D0SBmTHG.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix-zLBaKfXe.css","assets/CaseRecordList-X66GZZcg.js","assets/CaseRecordList-Cl-c3q7S.css","assets/CallRecordPanel-D709DmJk.js","assets/RecordingPlaybackBlock-COxLgEiR.js","assets/RecordingVideoPlayer-DJ_BP9x7.js","assets/RecordingVideoPlayer-4DegHAwm.css","assets/RecordingPlaybackBlock-B3KYFgvg.css","assets/CallRecordPanel-TsjZtTO8.css","assets/ImChatRecordPanel-C40Ue1e_.js","assets/im-business-message-parse-QKjFLn3X.js","assets/ImChatRecordPanel-aX8zpWRQ.css","assets/AssignLogPanel-B1RENXkE.js","assets/AssignLogPanel-BdKOtd2m.css","assets/AppointmentRecordPanel-DH84Bquy.js","assets/doctor-ul0r578d.js","assets/AppointmentRecordPanel-DC22GDgn.css","assets/NoteTimeline-BzPD6QHw.js","assets/patient-DdWkVUZB.js","assets/NoteTimeline-CCWIpEBQ.css","assets/PatientOrderList-Vzhj0FzC.js","assets/PatientOrderList-iKx_Cn9B.css","assets/index-B91OSiYQ.js","assets/index-DcDP_Tmx.js","assets/medicine-CCdxjQY6.js","assets/index-tfEElgYq.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/html2canvas-QH1iLAAe.js","assets/index-DGbIWVjL.css","assets/edit-z2mn_utb.css","assets/TrackingNoteTimeline-B9T8pFso.css","assets/detail-47n6zBhj.js","assets/appointment-CgztbjDp.js","assets/appointment-DHf6UVnR.css","assets/AssistantWatchCallDialog-BRyYQCK0.js","assets/trtc-sdk-v5-D4DbeRqz.js","assets/AssistantWatchCallDialog-BIPZRgaH.css"])))=>i.map(i=>d[i]); +import{_ as he}from"./jspdf-BsthCvR5.js";import{C as xa,i as Da,d as wa,P as Ea,Q as Aa,J as Ra,M as Na,N as Ia,T as $a,r as Sa,p as Ta,n as za,o as La,L as Pa,V as Fa,D as Oa,B as Wa,h as Ua,aa as qa,ab as Ma,U as Qa,v as Ya,e as Ba}from"./element-plus-DFTWCWyi.js";import{_ as Ha}from"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import{w as ja,q as Ga}from"./@vue/runtime-dom-DDAG46FW.js";import{ag as be,a as Ja,H as Ka,ah as lt,aj as Xa,V as st,ak as it,al as Za,am as en,an as tn,ao as an}from"./tcm-BcqaE0lo.js";import{d as nn}from"./department-CrUndMAW.js";import{i as ln}from"./order-DLqQxjqO.js";import{l as sn}from"./doctor-ul0r578d.js";import{u as on}from"./usePaging-VsbTxSU0.js";import{u as dn,m as ot,i as v,_ as rn}from"./index-DBREMm_z.js";import{g as dt}from"./weapp-Bi3HP3df.js";import{h as B}from"./perm-Bo9eM8XD.js";import{e as rt,X as un,O as ut,b as mn,G as pn,H as cn,l as _n}from"./@element-plus/icons-vue-HOEUG8sr.js";import{u as fn}from"./vue-router-QlpZ4wdW.js";import{d as mt}from"./dayjs-DG77mNTn.js";import{f as pt,w as vn,b as gn,d as yn,as as hn,ak as i,I as u,a as l,aN as s,J as r,F as x,ap as R,O as p,H as h,aP as q,G as g,P as ke,A as X}from"./@vue/runtime-core-C6bnekPw.js";import{o as ie,Q as c}from"./@vue/shared-mAAVTE9n.js";import{y as n,a as M,r as Le,n as m}from"./@vue/reactivity-DiY1c2vO.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./lodash-D3kF6u-c.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const bn={class:"tcm-diagnosis"},kn={class:"filter-main"},Cn={class:"date-chips"},Vn=["onClick"],xn={key:0},Dn={class:"search-row"},wn={class:"filter-chips"},En=["onClick"],An=["onClick"],Rn={class:"filter-more"},Nn={class:"list-header"},In={class:"list-actions"},$n={key:0,class:"list-selected"},Sn={class:"table-wrap px-4"},Tn={class:"patient-cell"},zn={class:"patient-info"},Ln={class:"patient-name"},Pn={class:"patient-cell"},Fn={class:"patient-info"},On={class:"patient-name"},Wn={class:"apt-badge"},Un={class:"apt-doctor"},qn={class:"apt-time"},Mn={key:1,class:"apt-none"},Qn={key:0,class:"status-confirmed"},Yn={key:1,class:"status-unconfirmed"},Bn={key:0,class:"followup-cell"},Hn={class:"followup-time"},jn={class:"followup-doctor"},Gn={key:0,class:"followup-count"},Jn={key:1,class:"followup-none"},Kn={class:"assistant-cell"},Xn={class:"assistant-name"},Zn={key:0,class:"assistant-dept"},el={key:0,class:"prescription-status-cell"},tl={class:"prescription-times"},al={key:1,class:"status-unprescribed"},nl={class:"video-watch-col"},ll={class:"video-watch-trigger"},sl={key:1,class:"video-watch-muted"},il={key:1,class:"video-watch-muted"},ol={class:"action-cell"},dl={class:"pagination-wrap"},rl={class:"flex flex-col items-center justify-center py-4"},ul={key:0,class:"text-center"},ml={key:1,class:"text-center"},pl=["src"],cl={class:"mt-4 text-sm text-gray-600"},_l={class:"mt-2"},fl={key:2,class:"text-center text-gray-500"},vl={class:"text-gray-500"},gl={class:"text-gray-500"},yl={class:"font-medium"},hl={class:"font-medium"},bl={key:0,class:"mb-4"},kl={key:0},Cl={key:0,class:"mt-2"},Vl={key:1,class:"mt-2"},xl={class:"mb-4"},Dl={class:"flex gap-2"},wl={key:0,class:"text-center text-gray-400 py-10"},El={key:1,class:"record-list"},Al={class:"record-header"},Rl={class:"flex items-center gap-2"},Nl={class:"font-medium text-sm"},Il={class:"flex items-center gap-2"},$l={class:"text-xs text-gray-400"},Sl={class:"record-content"},Tl={key:0,class:"mt-1"},zl={key:2,class:"text-center mt-4"},Ll=pt({name:"tcmDiagnosis"}),Pl=pt({...Ll,setup(Fl){const ct=ke(()=>he(()=>import("./edit-BG1q_jZS.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98]))),_t=ke(()=>he(()=>import("./detail-47n6zBhj.js"),__vite__mapDeps([99,45,1,2,3,4,5,6,7,8,9,10,11,12,13,14,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,46,15]))),ft=ke(()=>he(()=>import("./appointment-CgztbjDp.js"),__vite__mapDeps([100,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,83,101]))),vt=ke(()=>he(()=>import("./AssistantWatchCallDialog-BRyYQCK0.js"),__vite__mapDeps([102,1,2,3,4,5,6,7,8,9,10,11,12,13,14,103,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,104]))),gt=t=>{if(!t)return"-";const e=String(t).length===10?Number(t)*1e3:Number(t);return mt(e).format("YYYY-MM-DD HH:mm:ss")},Pe={only_has_prescription:"1"},_=Le({patient_name:"",diagnosis_type:"",syndrome_type:"",assistant_dept_id:"",assistant_id:"",start_time:"",end_time:"",diagnosis_confirmed:"",appointment_date:"",has_appointment:"",...Pe}),yt=m("all"),Z=m(!1),ht=[{label:"全部",value:""},{label:"已挂号",value:"1"},{label:"未挂号",value:"0"}],bt=[{label:"全部",value:""},{label:"已确认",value:"1"},{label:"未确认",value:"0"}],kt=t=>{_.has_appointment=t,D.page=1,b(),I()},Ct=t=>{_.diagnosis_confirmed=t,D.page=1,b(),I()},ee=()=>{D.page=1,b(),I()},Vt=X(()=>[{label:"当天挂号",value:de.value},{label:"明天挂号",value:xe.value},{label:"后天挂号",value:De.value},{label:"全部",value:""}]),Ce=m({}),xt=async t=>{_.appointment_date=t,D.page=1,await b(),I()},Ve=t=>({...Pe,patient_name:_.patient_name,diagnosis_type:_.diagnosis_type,syndrome_type:_.syndrome_type,diagnosis_confirmed:_.diagnosis_confirmed,has_appointment:_.has_appointment,assistant_dept_id:_.assistant_dept_id,assistant_id:_.assistant_id,appointment_date:t,page_no:1,page_size:1}),I=async()=>{try{const[t,e,d]=await Promise.all([be(Ve(de.value)),be(Ve(xe.value)),be(Ve(De.value))]);Ce.value={[de.value]:(t==null?void 0:t.count)??0,[xe.value]:(e==null?void 0:e.count)??0,[De.value]:(d==null?void 0:d.count)??0}}catch(t){console.error("获取日期数量失败",t)}};function Dt(){const t=()=>I();typeof requestIdleCallback=="function"?requestIdleCallback(t,{timeout:2500}):setTimeout(t,120)}const wt=1e4;let oe=null;function Et(){typeof document<"u"&&document.hidden||(b({silent:!0}).catch(()=>{}),I())}const H=t=>String(t).padStart(2,"0"),de=X(()=>{const t=new Date;return`${t.getFullYear()}-${H(t.getMonth()+1)}-${H(t.getDate())}`}),xe=X(()=>{const t=new Date;return t.setDate(t.getDate()+1),`${t.getFullYear()}-${H(t.getMonth()+1)}-${H(t.getDate())}`}),De=X(()=>{const t=new Date;return t.setDate(t.getDate()+2),`${t.getFullYear()}-${H(t.getMonth()+1)}-${H(t.getDate())}`}),Fe=m([]),Oe=m([]),z=m([]),We=m([]);function Ue(t,e="",d=[]){for(const o of t||[]){if(o==null)continue;const C=Number(o.id);if(!Number.isFinite(C))continue;const k=e?`${e} / ${o.name}`:String(o.name??"");d.push({id:C,label:k}),Array.isArray(o.children)&&o.children.length&&Ue(o.children,k,d)}return d}const qe=X(()=>{const t=_.assistant_dept_id;if(t===""||t==null)return z.value;const e=Number(t);return Number.isFinite(e)?z.value.filter(d=>{const o=d.dept_ids;return!Array.isArray(o)||o.length===0?!1:o.map(Number).includes(e)}):z.value}),At=()=>{const t=_.assistant_id;if(t!==""&&t!=null){const e=Number(t);qe.value.some(o=>Number(o.id)===e)||(_.assistant_id="")}D.page=1,b(),I()},Rt=async()=>{try{const[t,e,d,o]=await Promise.all([ot({type:"diagnosis_type"}),ot({type:"syndrome_type"}),Ja(),nn()]);Fe.value=(t==null?void 0:t.diagnosis_type)||[],Oe.value=(e==null?void 0:e.syndrome_type)||[],z.value=d||[],We.value=Ue(Array.isArray(o)?o:[])}catch(t){console.error("获取字典数据失败:",t)}},Me=t=>{if(t!==0&&!t)return null;const e=typeof t=="string"?parseInt(t,10):t;return z.value.find(d=>(typeof d.id=="string"?parseInt(d.id,10):d.id)===e)??null},Qe=t=>{if(!t&&t!==0||z.value.length===0)return"-";const e=Me(t);return e?e.name:"-"},Ye=t=>{const e=t.assistant_id||t.assistant,d=Qe(e),o=we(e);return d==="-"&&!o?"":o?`${d} / ${o}`:d},we=t=>{if(!t&&t!==0||z.value.length===0)return"";const e=Me(t),d=e==null?void 0:e.dept_names;return typeof d=="string"?d.trim():""},{pager:D,getLists:b}=on({fetchFun:be,params:_}),Be=()=>b({silent:!0}),Nt=()=>{yt.value="all",_.patient_name="",_.diagnosis_type="",_.syndrome_type="",_.assistant_dept_id="",_.assistant_id="",_.diagnosis_confirmed="",_.appointment_date="",_.has_appointment="",D.page=1,b(),I()},He=t=>{const e=t.DiagnosisViewRecord||[];return e.length>0&&e.some(d=>d.is_confirmed==1)},It=({row:t})=>He(t)?t.has_appointment?"":"row-no-appointment":"row-unconfirmed",te=m(),$t=m(),je=m(),re=m(null),ue=dn();vn([te,re],()=>{const t=re.value,e=te.value;t==null||!(e!=null&&e.open)||(e.open("edit",t),re.value=null)},{flush:"post"});const me=m(!1),Ge=m(0),St=t=>{var d;const e=t.assistant_id??t.assistant;return e==null||e===""?!1:Number(e)===Number((d=ue.userInfo)==null?void 0:d.id)},Tt=t=>{Ge.value=Number(t.id)||0,me.value=!0},zt=t=>St(t)&&B(["tcm.diagnosis/watchCall"]),pe=t=>{var e;return((e=t.video_call_hint)==null?void 0:e.state)||"none"},Lt=t=>{const e=t.video_call_hint,d="点击进入实时房间(仅观看,不推流、不上麦)";return e!=null&&e.start_time?`${d}。开始时间:${gt(e.start_time)}`:d},Pt=t=>{const e=pe(t);return e==="live"||e==="pending_room"},Ft=t=>pe(t)==="pending_room"?"医生尚未接通或未同步房间号,接通后再点此进入":Lt(t),Ot=t=>{if(pe(t)!=="live"){v.msgWarning("医生尚未接通或未同步房间号,请稍后再试");return}Tt(t)},Wt=t=>{const e=t.video_call_hint;return e!=null&&e.label?e.label:"暂无可旁观通话"},Ut=t=>{const e=pe(t);if(e==="none")return"—";if(e==="live")return"通话中";if(e==="pending_room")return"接通中";const d=t.video_call_hint;return(d==null?void 0:d.label)||"—"},j=m(!1),ce=m(),Ee=m(!1),f=Le({patient_id:"",patient_name:"",phone:"",order_type:"",amount:0,remark:"",has_appointment:!1,appointment_time_text:""}),qt={order_type:[{required:!0,message:"请选择订单类型",trigger:"change"}],amount:[{required:!0,message:"请输入订单金额",trigger:"blur"}]},Mt=t=>{var e;f.patient_id=t.patient_id||t.id,f.patient_name=t.patient_name,f.phone=t.phone||"",f.order_type="",f.amount=0,f.remark="",f.has_appointment=!!t.has_appointment,f.appointment_time_text=t.appointment_time_text||"",(e=ce.value)==null||e.clearValidate(),j.value=!0},Qt=()=>{var t;f.patient_id="",f.patient_name="",f.phone="",f.order_type="",f.amount=0,f.remark="",f.has_appointment=!1,f.appointment_time_text="",(t=ce.value)==null||t.clearValidate()},Yt=async()=>{var t;try{await((t=ce.value)==null?void 0:t.validate()),Ee.value=!0;const e=await ln({patient_id:f.patient_id,order_type:f.order_type,amount:f.amount,remark:f.remark});j.value=!1,b();const d=e==null?void 0:e.order_no;if(d){$.value=!0,L.value=!0,P.value="",F.value={patient_name:f.patient_name,has_appointment:f.has_appointment,appointment_time_text:f.appointment_time_text};try{const o=await Ka({order_no:d});o!=null&&o.qrcode_url?P.value=o.qrcode_url:v.msgError("二维码生成失败")}catch(o){v.msgError((o==null?void 0:o.msg)||"生成二维码失败")}finally{L.value=!1}}}catch(e){console.error("创建订单失败:",e)}finally{Ee.value=!1}},$=m(!1),L=m(!1),P=m(""),F=m(null),Bt=X(()=>{const t=F.value;return t?t.has_appointment?t.appointment_time_text||"—":"未挂号":"—"}),Ae=m("小程序二维码"),Re=m("confirm"),O=m([]),Q=m(!1),Ne=m(!1),ae=m("batch"),ne=m(null),W=m({assistant_id:null}),Ht=t=>{O.value=t.map(e=>e.id)},jt=t=>{ae.value="single",ne.value=t,W.value.assistant_id=Number(t.assistant_id)>0?Number(t.assistant_id):null,Q.value=!0},Gt=()=>{if(O.value.length===0){v.msgWarning("请先选择要指派的诊单");return}ae.value="batch",ne.value=null,W.value.assistant_id=null,Q.value=!0},Jt=async()=>{if(!W.value.assistant_id){v.msgWarning("请选择医助");return}Ne.value=!0;try{if(ae.value==="single")await lt({id:ne.value.id,assistant_id:W.value.assistant_id});else{const t=O.value.map(e=>lt({id:e,assistant_id:W.value.assistant_id}));await Promise.all(t),O.value=[]}Q.value=!1,b()}catch(t){console.error("指派失败:",t)}finally{Ne.value=!1}},Kt=()=>{te.value.open("add")},Xt=t=>{te.value.open("edit",t)},Zt=async t=>{await v.confirm("确定要删除该诊单吗?"),await tn({id:t}),b()},ea=(t,e)=>{switch(t){case"assign":jt(e);break;case"videoQr":if(!le(e)){v.msgWarning("仅「已预约」状态可生成视频二维码");return}Xe(e);break;case"confirmQr":Ze(e);break;case"cancelApt":na(e);break;case"order":Mt(e);break;case"delete":Zt(e.id);break}},ta=t=>{const e=Number(t.appointment_status);return e===3?"已完成":e===4?"已过号":"已挂号"},aa=t=>{const e=Number(t.appointment_status);return{"has-apt":t.has_appointment,"apt-row-done":t.has_appointment&&e===3,"apt-row-missed":t.has_appointment&&e===4}},le=t=>t.has_appointment&&Number(t.appointment_status)===1,Je=t=>{const e=Number(t.appointment_status);return!!(t.has_appointment&&t.appointment_id&&(e===1||e===4))},na=async t=>{if(!Je(t)){const e=Number(t.appointment_status);t.has_appointment&&e===3?v.msgWarning("已完成就诊,无法取消挂号"):v.msgWarning("该诊单未挂号或挂号信息异常");return}try{await v.confirm(`确定要取消患者「${t.patient_name}」的挂号吗?`),await sn({id:t.appointment_id}),v.msgSuccess("取消挂号成功"),b(),I()}catch(e){e!=="cancel"&&v.msgError((e==null?void 0:e.msg)||"取消挂号失败")}},la=t=>{var e;if(!t.patient_id){v.msgWarning("患者信息不完整");return}(e=je.value)==null||e.open(t)},G=m(!1),Ie=m(!1),Ke=m(),N=Le({id:0,patient_name:"",id_card:""}),sa={id_card:[{required:!0,validator:(t,e,d)=>{if(!e){d(new Error("请输入身份证号"));return}const o=/^[1-9]\d{5}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dXx]$/.test(e),C=/^[1-9]\d{5}\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}$/.test(e);o||C?d():d(new Error("请输入15或18位有效身份证号"))},trigger:"blur"}]},ia=t=>{N.id=t.id,N.patient_name=t.patient_name||"-",N.id_card=t.id_card||"",G.value=!0},oa=async()=>{var t;await((t=Ke.value)==null?void 0:t.validate()),Ie.value=!0;try{await Xa({id:N.id,id_card:N.id_card}),v.msgSuccess("补全成功,年龄已自动更新"),G.value=!1,b()}catch(e){v.msgError((e==null?void 0:e.msg)||"补全失败")}finally{Ie.value=!1}},Xe=async t=>{var e;if(!le(t)){v.msgWarning("仅「已预约」状态可生成视频二维码");return}if(!t.patient_id){v.msgWarning("患者信息不完整");return}Re.value="video",F.value=t,$.value=!0,L.value=!0,P.value="",Ae.value="视频二维码";try{const d=await dt();if(!(d!=null&&d.app_id)){v.msgError("小程序未配置,请先配置小程序信息"),$.value=!1;return}const o=await st({doctor_id:t.appointment_doctor_id,diagnosis_id:t.appointment_doctor_id,patient_id:t.patient_id,share_user_id:((e=ue.userInfo)==null?void 0:e.id)||"",mini_program_path:"pages/login/login"});o!=null&&o.qrcode_url?P.value=o.qrcode_url:v.msgError("二维码生成失败")}catch(d){v.msgError((d==null?void 0:d.msg)||"生成二维码失败,请重试")}finally{L.value=!1}},Ze=async t=>{if(!le(t)){v.msgWarning("仅「已预约」状态可使用诊单二维码");return}if(!t.patient_id){v.msgWarning("患者信息不完整");return}Re.value="confirm",F.value=t,$.value=!0,L.value=!0,P.value="",Ae.value="诊单二维码";try{const e=await dt();if(!(e!=null&&e.app_id)){v.msgError("小程序未配置,请先配置小程序信息"),$.value=!1;return}const d=ue.userInfo,o=await st({diagnosis_id:t.id,doctor_id:t.appointment_doctor_id,patient_id:t.patient_id,share_user_id:(d==null?void 0:d.id)||""});o!=null&&o.qrcode_url?P.value=o.qrcode_url:v.msgError("二维码生成失败")}catch(e){console.error("生成小程序二维码失败:",e),v.msgError((e==null?void 0:e.msg)||"生成二维码失败,请重试")}finally{L.value=!1}},da=()=>{F.value&&(Re.value==="video"?Xe(F.value):Ze(F.value))},_e=m(!1),w=m(null),U=m([]),fe=m(0),$e=m(!1),E=m(null),Y=m(""),Se=m(!1),Te=m(1),ra=t=>{if(!t)return"-";const e=String(t).length===10?t*1e3:t;return mt(e).format("YYYY-MM-DD HH:mm")},ua=async t=>{w.value=t,_e.value=!0,U.value=[],fe.value=0,E.value=null,Y.value="",Te.value=1,$e.value=!0;try{const[e,d]=await Promise.all([it({diagnosis_id:t.id,patient_id:t.patient_id,page_no:1,page_size:20}),an({patient_id:t.patient_id||t.id}).catch(()=>null)]);U.value=(e==null?void 0:e.lists)||[],fe.value=(e==null?void 0:e.count)||0,E.value=d}catch(e){console.error("加载企业微信记录失败:",e)}finally{$e.value=!1}},ma=async()=>{if(w.value){Te.value++;try{const t=await it({diagnosis_id:w.value.id,patient_id:w.value.patient_id,page_no:Te.value,page_size:20});U.value.push(...(t==null?void 0:t.lists)||[])}catch(t){console.error("加载更多记录失败:",t)}}},pa=async()=>{var t;if(!Y.value.trim()){v.msgWarning("请输入内容");return}Se.value=!0;try{await Za({diagnosis_id:w.value.id,patient_id:w.value.patient_id,content:Y.value.trim(),msg_type:"note",staff_name:((t=ue.userInfo)==null?void 0:t.name)||"",external_name:w.value.patient_name||""}),Y.value="",ua(w.value)}catch(e){v.msgError((e==null?void 0:e.msg)||"添加失败")}finally{Se.value=!1}},ca=async t=>{await v.confirm("确定删除该记录吗?");try{await en({id:t}),U.value=U.value.filter(e=>e.id!==t),fe.value--}catch(e){v.msgError((e==null?void 0:e.msg)||"删除失败")}},_a=fn();return gn(()=>{_.appointment_date=de.value,Rt(),b(),Dt(),oe=setInterval(Et,wt);const t=_a.query.id;if(t!=null&&t!==""){const e=Number(t);Number.isNaN(e)||(re.value=e)}}),yn(()=>{oe!=null&&(clearInterval(oe),oe=null)}),(t,e)=>{var nt;const d=xa,o=Da,C=wa,k=Aa,J=Ea,et=Ra,A=Ia,S=$a,tt=Sa,K=La,fa=za,va=Ta,ga=Na,ya=Ha,ve=Fa,T=Wa,ze=Oa,ha=Ua,ge=Ma,ba=qa,ka=Qa,Ca=Ya,Va=Ba,se=hn("perms"),at=Pa;return i(),u("div",bn,[l(et,{class:"filter-card !border-none",shadow:"never"},{default:s(()=>[r("div",kn,[r("div",Cn,[(i(!0),u(x,null,R(Vt.value,a=>(i(),u("span",{key:a.value,class:ie(["chip",{active:n(_).appointment_date===a.value}]),onClick:V=>xt(a.value)},[p(c(a.label)+" ",1),a.value&&n(Ce)[a.value]!==void 0?(i(),u("em",xn,c(n(Ce)[a.value]),1)):h("",!0)],10,Vn))),128))]),r("div",Dn,[l(d,{modelValue:n(_).patient_name,"onUpdate:modelValue":e[0]||(e[0]=a=>n(_).patient_name=a),placeholder:"患者姓名",clearable:"",class:"search-input",onKeyup:ja(ee,["enter"])},null,8,["modelValue"]),l(o,{type:"primary",onClick:ee},{default:s(()=>[...e[24]||(e[24]=[p("查询",-1)])]),_:1})])]),r("div",wn,[e[25]||(e[25]=r("span",{class:"chip-label"},"挂号:",-1)),(i(),u(x,null,R(ht,a=>r("span",{key:a.value,class:ie(["chip","chip-sm",{active:n(_).has_appointment===a.value}]),onClick:V=>kt(a.value)},c(a.label),11,En)),64)),e[26]||(e[26]=r("span",{class:"chip-divider"},null,-1)),e[27]||(e[27]=r("span",{class:"chip-label"},"确认:",-1)),(i(),u(x,null,R(bt,a=>r("span",{key:a.value,class:ie(["chip","chip-sm",{active:n(_).diagnosis_confirmed===a.value}]),onClick:V=>Ct(a.value)},c(a.label),11,An)),64)),l(o,{link:"",type:"primary",size:"small",class:"more-btn",onClick:e[1]||(e[1]=a=>Z.value=!n(Z))},{default:s(()=>[p(c(n(Z)?"收起":"更多筛选")+" ",1),l(C,{class:ie({"rotate-180":n(Z)})},{default:s(()=>[l(n(rt))]),_:1},8,["class"])]),_:1})]),q(r("div",Rn,[l(J,{modelValue:n(_).assistant_dept_id,"onUpdate:modelValue":e[2]||(e[2]=a=>n(_).assistant_dept_id=a),placeholder:"医助部门",clearable:"",filterable:"",size:"small",class:"filter-dept-select",onChange:At},{default:s(()=>[(i(!0),u(x,null,R(n(We),a=>(i(),g(k,{key:a.id,label:a.label,value:a.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),l(J,{modelValue:n(_).diagnosis_type,"onUpdate:modelValue":e[3]||(e[3]=a=>n(_).diagnosis_type=a),placeholder:"诊断类型",clearable:"",size:"small",onChange:ee},{default:s(()=>[(i(!0),u(x,null,R(n(Fe),a=>(i(),g(k,{key:a.value,label:a.name,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),l(J,{modelValue:n(_).syndrome_type,"onUpdate:modelValue":e[4]||(e[4]=a=>n(_).syndrome_type=a),placeholder:"证型",clearable:"",size:"small",onChange:ee},{default:s(()=>[(i(!0),u(x,null,R(n(Oe),a=>(i(),g(k,{key:a.value,label:a.name,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),l(J,{modelValue:n(_).assistant_id,"onUpdate:modelValue":e[5]||(e[5]=a=>n(_).assistant_id=a),placeholder:"医助",clearable:"",filterable:"",size:"small",onChange:ee},{default:s(()=>[(i(!0),u(x,null,R(qe.value,a=>(i(),g(k,{key:a.id,label:a.name,value:Number(a.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),l(o,{size:"small",onClick:Nt},{default:s(()=>[...e[28]||(e[28]=[p("重置",-1)])]),_:1})],512),[[Ga,n(Z)]])]),_:1}),l(et,{class:"!border-none mt-3 list-card",shadow:"never"},{default:s(()=>[r("div",Nn,[r("div",In,[q((i(),g(o,{type:"primary",onClick:Kt},{default:s(()=>[...e[29]||(e[29]=[p("新增诊单",-1)])]),_:1})),[[se,["tcm.diagnosis/add"]]]),q((i(),g(o,{type:"success",onClick:Gt,disabled:n(O).length===0},{default:s(()=>[...e[30]||(e[30]=[p(" 批量指派医助 ",-1)])]),_:1},8,["disabled"])),[[se,["tcm.diagnosis/assign"]]])]),n(O).length>0?(i(),u("div",$n,"已选 "+c(n(O).length)+" 条",1)):h("",!0)]),r("div",Sn,[q((i(),g(ga,{data:n(D).lists,size:"default",onSelectionChange:Ht,"row-class-name":It,class:"diagnosis-table",stripe:""},{default:s(()=>[l(A,{type:"selection",width:"48",align:"center"}),l(A,{label:"ID","min-width":"70"},{default:s(({row:a})=>[r("div",Tn,[r("div",zn,[r("div",Ln,[p(c(a.id)+" ",1),a.assign_read_at===null&&a.assistant_id>0?(i(),g(S,{key:0,type:"danger",size:"small",effect:"dark",class:"ml-1"},{default:s(()=>[...e[31]||(e[31]=[p("NEW",-1)])]),_:1})):h("",!0)])])])]),_:1}),l(A,{label:"患者","min-width":"60"},{default:s(({row:a})=>[r("div",Pn,[r("div",Fn,[r("div",On,c(a.patient_name),1)])])]),_:1}),l(A,{label:" 性别 / 年龄",width:"100",align:"left"},{default:s(({row:a})=>[r("div",null,c(a.gender_desc||"-")+" · "+c(a.age??"-")+"岁",1)]),_:1}),l(A,{label:"挂号","min-width":"180"},{default:s(({row:a})=>[r("div",{class:ie(["appointment-cell",aa(a)])},[a.has_appointment?(i(),u(x,{key:0},[r("div",Wn,c(ta(a)),1),r("div",Un,c(a.appointment_doctor_name||"-"),1),r("div",qn,c(a.appointment_time_text||"-"),1)],64)):(i(),u("span",Mn,"未挂号"))],2)]),_:1}),l(A,{label:"确认",width:"88",align:"center"},{default:s(({row:a})=>[He(a)?(i(),u("span",Qn,"已确认")):(i(),u("span",Yn,"未确认"))]),_:1}),l(A,{label:"复诊","min-width":"150"},{default:s(({row:a})=>[a.has_prescription?(i(),u("div",Bn,[r("div",Hn,c(a.followup_time_text||"—"),1),r("div",jn,c(a.followup_doctor_name||"—"),1),a.followup_prescription_count>0?(i(),u("div",Gn," 第"+c(a.followup_prescription_count)+"次复诊 ",1)):h("",!0),a.followup_rx_voided?(i(),g(S,{key:1,type:"info",size:"small",effect:"plain",class:"followup-void-tag"},{default:s(()=>[...e[32]||(e[32]=[p(" 处方已作废 ",-1)])]),_:1})):h("",!0)])):(i(),u("span",Jn,"无"))]),_:1}),l(A,{label:"助理","min-width":"120"},{default:s(({row:a})=>[l(tt,{disabled:!Ye(a),content:Ye(a),placement:"top"},{default:s(()=>[r("div",Kn,[r("div",Xn,c(Qe(a.assistant_id||a.assistant)),1),we(a.assistant_id||a.assistant)?(i(),u("div",Zn,c(we(a.assistant_id||a.assistant)),1)):h("",!0)])]),_:2},1032,["disabled","content"])]),_:1}),l(A,{label:"开方","min-width":"96",align:"center"},{default:s(({row:a})=>[a.has_prescription?(i(),u("div",el,[e[33]||(e[33]=r("span",{class:"status-prescribed"},"已开方",-1)),r("span",tl,"("+c(a.followup_prescription_count||1)+"次)",1)])):(i(),u("span",al,"未开方"))]),_:1}),l(A,{label:"视频旁观",width:"120",fixed:"right",align:"center"},{default:s(({row:a})=>[r("div",nl,[zt(a)?(i(),u(x,{key:0},[Pt(a)?(i(),g(tt,{key:0,content:Ft(a),placement:"top"},{default:s(()=>[r("span",ll,[l(o,{type:"primary",link:"",size:"small",onClick:V=>Ot(a)},{default:s(()=>[...e[34]||(e[34]=[p(" 进入旁观 ",-1)])]),_:1},8,["onClick"])])]),_:2},1032,["content"])):(i(),u("span",sl,c(Wt(a)),1))],64)):(i(),u("span",il,c(Ut(a)),1))])]),_:1}),l(A,{label:"操作",width:"260",fixed:"right",align:"left"},{default:s(({row:a})=>[r("div",ol,[q((i(),g(o,{type:"primary",link:"",size:"small",onClick:V=>Xt(a.id)},{default:s(()=>[...e[35]||(e[35]=[p("诊单",-1)])]),_:1},8,["onClick"])),[[se,["tcm.diagnosis/edit"]]]),q((i(),g(o,{type:"success",link:"",size:"small",onClick:V=>la(a)},{default:s(()=>[...e[36]||(e[36]=[p("预约",-1)])]),_:1},8,["onClick"])),[[se,["tcm.diagnosis/guahao"]]]),q((i(),g(o,{type:"warning",link:"",size:"small",onClick:V=>ia(a)},{default:s(()=>[...e[37]||(e[37]=[p("补全身份证",-1)])]),_:1},8,["onClick"])),[[se,["tcm.diagnosis/edit"]]]),l(va,{trigger:"click",onCommand:V=>ea(V,a),placement:"bottom-end"},{dropdown:s(()=>[l(fa,null,{default:s(()=>[n(B)(["tcm.diagnosis/assign"])?(i(),g(K,{key:0,command:"assign"},{default:s(()=>[l(C,null,{default:s(()=>[l(n(un))]),_:1}),e[39]||(e[39]=p("指派",-1))]),_:1})):h("",!0),le(a)&&n(B)(["tcm.diagnosis/videoQr"])?(i(),g(K,{key:1,command:"videoQr"},{default:s(()=>[l(C,null,{default:s(()=>[l(n(ut))]),_:1}),e[40]||(e[40]=p("视频二维码",-1))]),_:1})):h("",!0),n(B)(["tcm.diagnosis/guahao"])&&le(a)?(i(),g(K,{key:2,command:"confirmQr"},{default:s(()=>[l(C,null,{default:s(()=>[l(n(ut))]),_:1}),e[41]||(e[41]=p("二维码",-1))]),_:1})):h("",!0),Je(a)&&n(B)(["tcm.diagnosis/guahao"])?(i(),g(K,{key:3,command:"cancelApt"},{default:s(()=>[l(C,null,{default:s(()=>[l(n(mn))]),_:1}),e[42]||(e[42]=p("取消挂号",-1))]),_:1})):h("",!0),n(B)(["tcm.diagnosis/order"])?(i(),g(K,{key:4,command:"order"},{default:s(()=>[l(C,null,{default:s(()=>[l(n(pn))]),_:1}),e[43]||(e[43]=p("创建订单",-1))]),_:1})):h("",!0),n(B)(["tcm.diagnosis/delete"])?(i(),g(K,{key:5,command:"delete",divided:""},{default:s(()=>[l(C,null,{default:s(()=>[l(n(cn))]),_:1}),e[44]||(e[44]=r("span",{class:"text-danger"},"删除",-1))]),_:1})):h("",!0)]),_:2},1024)]),default:s(()=>[l(o,{type:"info",link:"",size:"small"},{default:s(()=>[e[38]||(e[38]=p("更多",-1)),l(C,{class:"el-icon--right"},{default:s(()=>[l(n(rt))]),_:1})]),_:1})]),_:2},1032,["onCommand"])])]),_:1})]),_:1},8,["data"])),[[at,n(D).loading]]),r("div",dl,[l(ya,{modelValue:n(D),"onUpdate:modelValue":e[6]||(e[6]=a=>M(D)?D.value=a:null),onChange:n(b)},null,8,["modelValue","onChange"])])])]),_:1}),l(n(ct),{ref_key:"editRef",ref:te,onSuccess:Be},null,512),l(n(_t),{ref_key:"detailRef",ref:$t},null,512),l(n(ft),{ref_key:"appointmentRef",ref:je,onSuccess:Be},null,512),l(n(vt),{modelValue:n(me),"onUpdate:modelValue":e[7]||(e[7]=a=>M(me)?me.value=a:null),"diagnosis-id":n(Ge),onClosed:n(b)},null,8,["modelValue","diagnosis-id","onClosed"]),l(ve,{modelValue:n($),"onUpdate:modelValue":e[9]||(e[9]=a=>M($)?$.value=a:null),title:n(Ae),width:"400px","close-on-click-modal":!1},{footer:s(()=>[l(o,{onClick:e[8]||(e[8]=a=>$.value=!1)},{default:s(()=>[...e[47]||(e[47]=[p("关闭",-1)])]),_:1}),n(L)?h("",!0):(i(),g(o,{key:0,type:"primary",onClick:da},{default:s(()=>[...e[48]||(e[48]=[p(" 重新生成 ",-1)])]),_:1}))]),default:s(()=>{var a;return[r("div",rl,[n(L)?(i(),u("div",ul,[l(C,{class:"is-loading",size:40},{default:s(()=>[l(n(_n))]),_:1}),e[45]||(e[45]=r("div",{class:"mt-4 text-gray-500"},"生成中...",-1))])):n(P)?(i(),u("div",ml,[r("img",{src:n(P),alt:"小程序二维码",class:"w-64 h-64 border border-gray-200 rounded"},null,8,pl),r("div",cl,[r("div",null,"患者:"+c((a=n(F))==null?void 0:a.patient_name),1),r("div",_l,"挂号时间:"+c(Bt.value),1),e[46]||(e[46]=r("div",{class:"mt-2"},"请使用企业微信扫描二维码,然后转发给患者",-1))])])):(i(),u("div",fl," 生成失败,请重试 "))])]}),_:1},8,["modelValue","title"]),l(ve,{modelValue:n(Q),"onUpdate:modelValue":e[12]||(e[12]=a=>M(Q)?Q.value=a:null),title:n(ae)==="batch"?"批量指派医助":"指派医助",width:"500px"},{footer:s(()=>[l(o,{onClick:e[11]||(e[11]=a=>Q.value=!1)},{default:s(()=>[...e[49]||(e[49]=[p("取消",-1)])]),_:1}),l(o,{type:"primary",onClick:Jt,loading:n(Ne)},{default:s(()=>[...e[50]||(e[50]=[p(" 确定指派 ",-1)])]),_:1},8,["loading"])]),default:s(()=>[l(ze,{model:n(W),"label-width":"100px"},{default:s(()=>[l(T,{label:"选择医助",required:""},{default:s(()=>[l(J,{modelValue:n(W).assistant_id,"onUpdate:modelValue":e[10]||(e[10]=a=>n(W).assistant_id=a),placeholder:"请选择医助",class:"w-full",filterable:"",clearable:"","value-key":"id"},{default:s(()=>[(i(!0),u(x,null,R(n(z),a=>(i(),g(k,{key:a.id,label:a.name,value:Number(a.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),n(ae)==="batch"?(i(),g(T,{key:0,label:"已选择"},{default:s(()=>[r("div",vl,c(n(O).length)+" 条诊单记录",1)]),_:1})):(i(),g(T,{key:1,label:"诊单信息"},{default:s(()=>{var a,V;return[r("div",gl,[r("div",null,"患者:"+c((a=n(ne))==null?void 0:a.patient_name),1),r("div",null,"诊断日期:"+c((V=n(ne))==null?void 0:V.diagnosis_date_text),1)])]}),_:1}))]),_:1},8,["model"])]),_:1},8,["modelValue","title"]),l(ve,{modelValue:n(j),"onUpdate:modelValue":e[17]||(e[17]=a=>M(j)?j.value=a:null),title:"创建订单",width:"600px",onClose:Qt},{footer:s(()=>[l(o,{onClick:e[16]||(e[16]=a=>j.value=!1)},{default:s(()=>[...e[51]||(e[51]=[p("取消",-1)])]),_:1}),l(o,{type:"primary",onClick:Yt,loading:n(Ee)},{default:s(()=>[...e[52]||(e[52]=[p("创建订单",-1)])]),_:1},8,["loading"])]),default:s(()=>[l(ze,{ref_key:"orderFormRef",ref:ce,model:n(f),rules:qt,"label-width":"100px"},{default:s(()=>[l(T,{label:"患者"},{default:s(()=>[r("span",yl,c(n(f).patient_name)+" ("+c(n(f).phone)+")",1)]),_:1}),l(T,{label:"订单类型",prop:"order_type"},{default:s(()=>[l(J,{modelValue:n(f).order_type,"onUpdate:modelValue":e[13]||(e[13]=a=>n(f).order_type=a),placeholder:"请选择",class:"w-full"},{default:s(()=>[l(k,{label:"挂号费",value:1}),l(k,{label:"问诊费",value:2}),l(k,{label:"药品费用",value:3}),l(k,{label:"首付费用",value:4}),l(k,{label:"尾款费用",value:5}),l(k,{label:"其他费用",value:6}),l(k,{label:"全部费用",value:7}),l(k,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1}),l(T,{label:"订单金额",prop:"amount"},{default:s(()=>[l(ha,{modelValue:n(f).amount,"onUpdate:modelValue":e[14]||(e[14]=a=>n(f).amount=a),min:0,step:.01,precision:2,placeholder:"请输入金额",class:"w-full"},null,8,["modelValue"])]),_:1}),l(T,{label:"备注",prop:"remark"},{default:s(()=>[l(d,{modelValue:n(f).remark,"onUpdate:modelValue":e[15]||(e[15]=a=>n(f).remark=a),type:"textarea",rows:3,placeholder:"请输入备注(可选)"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),l(ve,{modelValue:n(G),"onUpdate:modelValue":e[20]||(e[20]=a=>M(G)?G.value=a:null),title:"补全身份证号",width:"400px","close-on-click-modal":!1,onClose:e[21]||(e[21]=a=>n(N).id_card="")},{footer:s(()=>[l(o,{onClick:e[19]||(e[19]=a=>G.value=!1)},{default:s(()=>[...e[53]||(e[53]=[p("取消",-1)])]),_:1}),l(o,{type:"primary",onClick:oa,loading:n(Ie)},{default:s(()=>[...e[54]||(e[54]=[p("提交(自动更新年龄)",-1)])]),_:1},8,["loading"])]),default:s(()=>[l(ze,{ref_key:"fillIdCardFormRef",ref:Ke,model:n(N),rules:sa,"label-width":"80px"},{default:s(()=>[l(T,{label:"患者"},{default:s(()=>[r("span",hl,c(n(N).patient_name),1)]),_:1}),l(T,{label:"身份证号",prop:"id_card"},{default:s(()=>[l(d,{modelValue:n(N).id_card,"onUpdate:modelValue":e[18]||(e[18]=a=>n(N).id_card=a),placeholder:"请输入15或18位身份证号",maxlength:"18","show-word-limit":"",clearable:""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),l(Va,{modelValue:n(_e),"onUpdate:modelValue":e[23]||(e[23]=a=>M(_e)?_e.value=a:null),title:`企业微信记录 - ${((nt=n(w))==null?void 0:nt.patient_name)||""}`,size:"600px","destroy-on-close":!0},{default:s(()=>{var a,V;return[n(E)?(i(),u("div",bl,[l(ba,{column:2,border:"",size:"small"},{default:s(()=>[l(ge,{label:"患者姓名"},{default:s(()=>{var y;return[p(c((y=n(w))==null?void 0:y.patient_name),1)]}),_:1}),l(ge,{label:"手机号"},{default:s(()=>[p(c(n(E).phone||"-"),1)]),_:1}),l(ge,{label:"企微联系人ID"},{default:s(()=>[n(E).external_userid?(i(),u("span",kl,c(n(E).external_userid),1)):(i(),g(S,{key:1,type:"info",size:"small"},{default:s(()=>[...e[55]||(e[55]=[p("未关联",-1)])]),_:1}))]),_:1}),l(ge,{label:"会话存档"},{default:s(()=>[n(E).msgaudit_enabled?(i(),g(S,{key:0,type:"success",size:"small"},{default:s(()=>[...e[56]||(e[56]=[p("已开通",-1)])]),_:1})):(i(),g(S,{key:1,type:"info",size:"small"},{default:s(()=>[...e[57]||(e[57]=[p("未配置",-1)])]),_:1}))]),_:1})]),_:1}),(a=n(E).permit_users)!=null&&a.length?(i(),u("div",Cl,[e[58]||(e[58]=r("span",{class:"text-sm text-gray-500 mr-2"},"存档成员:",-1)),(i(!0),u(x,null,R(n(E).permit_users,y=>(i(),g(S,{key:y,size:"small",class:"mr-1"},{default:s(()=>[p(c(y),1)]),_:2},1024))),128))])):h("",!0),(V=n(E).msgaudit_agree)!=null&&V.length?(i(),u("div",Vl,[e[59]||(e[59]=r("span",{class:"text-sm text-gray-500 mr-2"},"存档同意:",-1)),(i(!0),u(x,null,R(n(E).msgaudit_agree,(y,ye)=>(i(),g(S,{key:ye,type:y.agree_status==="Agree"?"success":"warning",size:"small",class:"mr-1"},{default:s(()=>[p(c(y.userid)+": "+c(y.agree_status==="Agree"?"已同意":y.agree_status),1)]),_:2},1032,["type"]))),128))])):h("",!0)])):h("",!0),l(ka),r("div",xl,[r("div",Dl,[l(d,{modelValue:n(Y),"onUpdate:modelValue":e[22]||(e[22]=y=>M(Y)?Y.value=y:null),type:"textarea",rows:2,placeholder:"添加沟通记录...",class:"flex-1"},null,8,["modelValue"]),l(o,{type:"primary",onClick:pa,loading:n(Se),class:"self-end"},{default:s(()=>[...e[60]||(e[60]=[p(" 添加 ",-1)])]),_:1},8,["loading"])])]),q((i(),u("div",null,[n(U).length===0?(i(),u("div",wl," 暂无聊天记录 ")):(i(),u("div",El,[(i(!0),u(x,null,R(n(U),y=>{var ye;return i(),u("div",{key:y.id,class:"record-item"},[r("div",Al,[r("div",Rl,[l(S,{type:y.direction===0?"primary":"success",size:"small"},{default:s(()=>[p(c(y.direction===0?"员工":"客户"),1)]),_:2},1032,["type"]),r("span",Nl,c(y.direction===0?y.staff_name:y.external_name||((ye=n(w))==null?void 0:ye.patient_name)),1),y.msg_type==="note"?(i(),g(S,{key:0,type:"warning",size:"small"},{default:s(()=>[...e[61]||(e[61]=[p("备注",-1)])]),_:1})):h("",!0)]),r("div",Il,[r("span",$l,c(ra(y.chat_time)),1),l(o,{type:"danger",link:"",size:"small",onClick:Wl=>ca(y.id)},{default:s(()=>[...e[62]||(e[62]=[p(" 删除 ",-1)])]),_:1},8,["onClick"])])]),r("div",Sl,c(y.content),1),y.media_url?(i(),u("div",Tl,[l(Ca,{src:y.media_url,style:{"max-width":"200px"},fit:"contain","preview-src-list":[y.media_url]},null,8,["src","preview-src-list"])])):h("",!0)])}),128))])),n(fe)>n(U).length?(i(),u("div",zl,[l(o,{link:"",type:"primary",onClick:ma},{default:s(()=>[...e[63]||(e[63]=[p("加载更多",-1)])]),_:1})])):h("",!0)])),[[at,n($e)]])]}),_:1},8,["modelValue","title"])])}}}),$s=rn(Pl,[["__scopeId","data-v-d65a0220"]]);export{$s as default}; diff --git a/server/public/admin/assets/index-CEqLgoFP.js b/server/public/admin/assets/index-DZRyIHZb.js similarity index 98% rename from server/public/admin/assets/index-CEqLgoFP.js rename to server/public/admin/assets/index-DZRyIHZb.js index 47bacf97..b60f3ad1 100644 --- a/server/public/admin/assets/index-CEqLgoFP.js +++ b/server/public/admin/assets/index-DZRyIHZb.js @@ -1 +1 @@ -import{K as Je,i as Oe,d as Ge,r as We,Q as je,q as Xe,P as Ye,C as Ze,H as et,L as tt,R as st,S as at,T as lt,l as nt,m as it,U as ot,M as rt,N as ut,V as dt}from"./element-plus-0wC3naml.js";import{w as ct}from"./@vue/runtime-dom-DDAG46FW.js";import{L as fe,M as mt,N as _t,J as ft}from"./@element-plus/icons-vue-HOEUG8sr.js";import{i as C,t as vt,_ as pt}from"./index-E47--KT7.js";import{u as gt}from"./usePaging-VsbTxSU0.js";import yt from"./MessageBubble-c6JPgo9w.js";import{q as ht,S as kt,a as wt,b as bt,c as xt,d as St,e as ae,f as Tt,g as Mt,h as ve}from"./SendPanel-2lfWsLed.js";import{f as zt,w as Et,b as Ct,ae as Vt,ak as o,I as u,G as x,H as _,J as a,a as l,aN as i,F as M,ap as B,O as f,aP as le,A as pe,n as ne}from"./@vue/runtime-core-C6bnekPw.js";import{y,n as m}from"./@vue/reactivity-DiY1c2vO.js";import{Q as d,o as $t}from"./@vue/shared-mAAVTE9n.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./file-DoYUJmkp.js";const Dt={class:"qywx-im"},Lt={class:"im-layout"},qt={class:"col-session"},At={class:"col-header"},It={class:"col-actions"},Bt={class:"col-filters"},Ht={class:"staff-option"},Pt={class:"staff-userid"},Nt={class:"session-list"},Ut={key:0,class:"empty-tip"},Rt=["onClick"],Kt={class:"session-meta"},Ft={class:"session-top"},Qt={class:"session-name"},Jt={class:"session-time"},Ot={class:"session-bottom"},Gt={class:"session-preview"},Wt={key:0,class:"session-staff"},jt={key:1,class:"session-load-more"},Xt={class:"col-message"},Yt={key:0,class:"no-session"},Zt={class:"col-header"},es={class:"msg-header-title"},ts={class:"msg-customer-name"},ss={class:"msg-customer-sub"},as={class:"col-actions"},ls={key:0,class:"load-history"},ns={key:1,class:"load-history end-tip"},is={key:2,class:"empty-tip"},os={class:"col-profile"},rs={class:"profile-panel"},us={class:"profile-name"},ds={class:"profile-fields"},cs={class:"field"},ms={class:"value"},_s={class:"field"},fs=["title"],vs={key:0,class:"field"},ps={class:"value"},gs={key:1,class:"field"},ys={class:"value"},hs={class:"field"},ks={class:"value"},ws={class:"field"},bs={class:"value"},xs={class:"tasks-panel"},Ss={key:0,class:"empty-tip"},Ts={class:"task-top"},Ms={class:"task-time"},zs={class:"task-body"},Es={key:0,class:"task-text"},Cs={key:1,class:"task-attachments"},Vs={key:2,class:"task-error"},$s={class:"task-actions"},Ds={key:1,class:"no-session"},Ls={class:"tips"},qs={key:1,class:"mt-2 text-center"},As=zt({__name:"index",setup(Is){const z=m(null),J=m(!1),ge=pe(()=>{if(!z.value)return"";const t=z.value;return t.enabled?`会话存档 SDK 不可用:${t.error||"未知错误"}`:"「会话内容存档」未启用,实时消息不可用。请在后端 pay.php 中开启 msgaudit_enabled 并配置 SDK 动态库与 RSA 私钥。"});async function ye(){try{z.value=await wt()}catch{}}async function he(){J.value=!0;try{await bt(5,!0),C.msgSuccess("已触发一次拉取,稍后刷新可见"),await S(!0),n.value&&await j()}catch(t){C.msgError((t==null?void 0:t.msg)||(t==null?void 0:t.message)||"拉取失败")}finally{J.value=!1}}const O=m([]);async function ke(){try{const t=await xt();O.value=Array.isArray(t)?t:(t==null?void 0:t.lists)||[]}catch{O.value=[]}}const E=m({staff_userid:"",keyword:"",only_unread:0}),G=m(!1);Et(G,t=>{E.value.only_unread=t?1:0});const{pager:g,getLists:W}=gt({fetchFun:ht,params:E.value,size:30});function S(t=!1){return t||(g.page=1),W()}async function we(){const t=[...g.lists||[]];g.page+=1;try{await W();const e=g.lists||[],r=new Set(t.map(v=>v.id)),c=[...t,...e.filter(v=>!r.has(v.id))];g.lists=c}catch{}}const n=m(null),h=m([]),H=m(!1),V=m(!1),$=m(!1),P=m(0),N=m(0),k=m(null),be=pe(()=>!!n.value&&n.value.session_type!==2);async function xe(t){var e;if(((e=n.value)==null?void 0:e.id)!==t.id){if(n.value=t,h.value=[],P.value=0,N.value=0,$.value=!1,await j(),await re(),t.unread_staff>0)try{await St(t.id),t.unread_staff=0}catch{}U.value="profile"}}async function j(){if(n.value){H.value=!0;try{const t=await ae({session_id:n.value.id,page_no:1,page_size:30}),e=(t==null?void 0:t.lists)||[];h.value=e,e.length&&(P.value=e[0].send_time,N.value=e[e.length-1].send_time),$.value=e.length>=30,await ne(),oe()}catch(t){C.msgError((t==null?void 0:t.msg)||(t==null?void 0:t.message)||"加载消息失败")}finally{H.value=!1}}}async function ie(){var e;if(!n.value||V.value)return;V.value=!0;const t=((e=k.value)==null?void 0:e.scrollHeight)||0;try{const r=await ae({session_id:n.value.id,page_no:1,page_size:30,before_time:P.value}),c=(r==null?void 0:r.lists)||[];c.length&&(P.value=c[0].send_time,h.value=[...c,...h.value]),$.value=c.length>=30,await ne(),k.value&&(k.value.scrollTop=k.value.scrollHeight-t)}finally{V.value=!1}}async function Se(){if(n.value)try{const t=await ae({session_id:n.value.id,page_no:1,page_size:50,after_time:N.value}),e=(t==null?void 0:t.lists)||[];if(!e.length)return;const r=new Set(h.value.map(T=>T.id)),c=e.filter(T=>!r.has(T.id));if(!c.length)return;h.value=[...h.value,...c],N.value=c[c.length-1].send_time;const v=k.value;(v?v.scrollHeight-v.scrollTop-v.clientHeight<120:!0)&&(await ne(),oe())}catch{}}function Te(){const t=k.value;t&&t.scrollTop<40&&$.value&&!V.value&&ie()}function oe(){k.value&&(k.value.scrollTop=k.value.scrollHeight)}async function Me(t){if(n.value)try{await Tt({sender_userid:n.value.staff_userid,external_userids:[n.value.external_userid],msg_payload:t,chat_type:"single"}),C.msgSuccess("已创建群发任务,员工手机确认后送达客户"),await re(),U.value="tasks"}catch(e){C.msgError((e==null?void 0:e.msg)||(e==null?void 0:e.message)||"发送失败")}}const U=m("profile"),R=m([]),X=m(!1);async function re(){if(n.value){X.value=!0;try{const t=await Mt({sender_userid:n.value.staff_userid,page_no:1,page_size:50}),e=(t==null?void 0:t.lists)||[];R.value=e.filter(r=>(r.external_userids||[]).includes(n.value.external_userid))}finally{X.value=!1}}}function ze(t){return{0:"待提交",1:"已提交",2:"已送达",3:"失败"}[t]??`状态${t}`}function Ee(t){return{0:"info",1:"primary",2:"success",3:"danger"}[t]??"info"}function Ce(t){return{image:"图片",video:"视频",file:"文件",link:"链接",miniprogram:"小程序"}[t]||t}const Y=m(!1),D=m(!1),ue=m(0),w=m(null);async function Ve(t){ue.value=t.id,w.value={detail_list:[],next_cursor:""},Y.value=!0,D.value=!0;try{const e=await ve(t.id,"");w.value={detail_list:(e==null?void 0:e.detail_list)||[],next_cursor:(e==null?void 0:e.next_cursor)||"",task:e==null?void 0:e.task}}catch(e){C.msgError((e==null?void 0:e.msg)||(e==null?void 0:e.message)||"加载失败")}finally{D.value=!1}}async function $e(){var t;if((t=w.value)!=null&&t.next_cursor){D.value=!0;try{const e=await ve(ue.value,w.value.next_cursor);w.value={detail_list:[...w.value.detail_list,...(e==null?void 0:e.detail_list)||[]],next_cursor:(e==null?void 0:e.next_cursor)||"",task:e==null?void 0:e.task}}finally{D.value=!1}}}function De(t){switch(t){case 0:return"未发送";case 1:return"已送达";case 2:return"被拒收";case 3:return"已送达(未读)";default:return`状态${t}`}}function Le(t){return t===1?"success":t===2?"warning":t===3?"primary":"info"}function L(t){var e;return(e=t.customer)!=null&&e.name?t.customer.name:t.session_type===2?`群聊 ${t.roomid.slice(-6)}`:t.external_userid||"未命名客户"}function qe(t){const e=t.last_msg_summary||"",r=t.last_msg_type;return e||(r==="image"?"[图片]":r==="video"?"[视频]":r==="voice"?"[语音]":r==="file"?"[文件]":r==="link"?"[链接]":r==="weapp"?"[小程序]":r==="chatrecord"?"[聊天记录]":r?`[${r}]`:"暂无消息")}function Z(t){return t?vt(t*1e3,"yyyy-mm-dd hh:MM"):"-"}function Ae(t){if(!t)return"";const r=Math.floor(Date.now()/1e3)-t;if(r<60)return`${r}秒前`;if(r<3600)return`${Math.floor(r/60)}分前`;if(r<86400)return`${Math.floor(r/3600)}小时前`;const c=new Date(t*1e3);return`${c.getMonth()+1}-${c.getDate()}`}let ee=null,te=null;return Ct(async()=>{await Promise.all([ye(),ke()]),await S(),ee=window.setInterval(()=>{W({silent:!0}).catch(()=>{})},15e3),te=window.setInterval(()=>{Se()},8e3)}),Vt(()=>{ee&&window.clearInterval(ee),te&&window.clearInterval(te)}),(t,e)=>{var ce,me;const r=Je,c=Ge,v=Oe,K=We,T=Xe,Ie=je,Be=Ye,He=Ze,Pe=et,F=st,Ne=at,q=lt,de=nt,Ue=it,Re=ot,Q=ut,Ke=rt,Fe=dt,se=tt;return o(),u("div",Dt,[z.value&&!z.value.available?(o(),x(r,{key:0,title:ge.value,type:"warning",closable:!1,"show-icon":"",class:"archive-warning"},null,8,["title"])):_("",!0),a("div",Lt,[a("section",qt,[a("header",At,[e[11]||(e[11]=a("div",{class:"col-title"},"会话",-1)),a("div",It,[l(K,{content:"刷新"},{default:i(()=>[l(v,{size:"small",link:"",loading:y(g).loading,onClick:e[0]||(e[0]=s=>S(!0))},{default:i(()=>[l(c,null,{default:i(()=>[l(y(fe))]),_:1})]),_:1},8,["loading"])]),_:1}),l(K,{content:"手动拉一次存档"},{default:i(()=>{var s;return[l(v,{size:"small",link:"",disabled:!((s=z.value)!=null&&s.available),loading:J.value,onClick:he},{default:i(()=>[l(c,null,{default:i(()=>[l(y(mt))]),_:1})]),_:1},8,["disabled","loading"])]}),_:1})])]),a("div",Bt,[l(Be,{modelValue:E.value.staff_userid,"onUpdate:modelValue":e[1]||(e[1]=s=>E.value.staff_userid=s),placeholder:"全部员工",clearable:"",filterable:"",size:"default",style:{width:"100%"},onChange:e[2]||(e[2]=s=>S())},{default:i(()=>[(o(!0),u(M,null,B(O.value,s=>(o(),x(Ie,{key:s.userid,label:(s.name||s.userid)+"("+s.userid+")",value:s.userid},{default:i(()=>[a("div",Ht,[l(T,{size:20,src:s.avatar},{default:i(()=>[f(d((s.name||"").slice(-2)),1)]),_:2},1032,["src"]),a("span",null,d(s.name),1),a("span",Pt,d(s.userid),1)])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue"]),l(He,{modelValue:E.value.keyword,"onUpdate:modelValue":e[3]||(e[3]=s=>E.value.keyword=s),placeholder:"搜索客户或消息",clearable:"",size:"default",onKeyup:e[4]||(e[4]=ct(s=>S(),["enter"])),onClear:e[5]||(e[5]=s=>S())},{prefix:i(()=>[l(c,null,{default:i(()=>[l(y(_t))]),_:1})]),_:1},8,["modelValue"]),l(Pe,{modelValue:G.value,"onUpdate:modelValue":e[6]||(e[6]=s=>G.value=s),onChange:e[7]||(e[7]=s=>S())},{default:i(()=>[...e[12]||(e[12]=[f(" 仅未读 ",-1)])]),_:1},8,["modelValue"])]),le((o(),u("div",Nt,[!y(g).lists.length&&!y(g).loading?(o(),u("div",Ut,[l(F,{description:"暂无会话","image-size":80})])):_("",!0),(o(!0),u(M,null,B(y(g).lists,s=>{var p;return o(),u("div",{key:s.id,class:$t(["session-item",{active:((p=n.value)==null?void 0:p.id)===s.id}]),onClick:b=>xe(s)},[l(Ne,{value:s.unread_staff,hidden:!s.unread_staff,max:99},{default:i(()=>{var b;return[l(T,{size:42,src:((b=s.customer)==null?void 0:b.avatar)||""},{default:i(()=>[f(d(L(s).slice(-2)),1)]),_:2},1032,["src"])]}),_:2},1032,["value","hidden"]),a("div",Kt,[a("div",Ft,[a("span",Qt,d(L(s)),1),a("span",Jt,d(Ae(s.last_msg_time)),1)]),a("div",Ot,[a("span",Gt,d(qe(s)),1),s.session_type===2?(o(),x(q,{key:0,size:"small",type:"info",class:"session-tag"},{default:i(()=>[...e[13]||(e[13]=[f(" 群 ",-1)])]),_:1})):_("",!0)]),s.staff?(o(),u("div",Wt," 员工: "+d(s.staff.name||s.staff_userid),1)):_("",!0)])],10,Rt)}),128)),y(g).lists.length[...e[14]||(e[14]=[f(" 加载更多 ",-1)])]),_:1})])):_("",!0)])),[[se,y(g).loading]])]),a("section",Xt,[n.value?(o(),u(M,{key:1},[a("header",Zt,[a("div",es,[a("div",ts,d(L(n.value)),1),a("div",ss,[(ce=n.value.customer)!=null&&ce.corp_name?(o(),u(M,{key:0},[f(d(n.value.customer.corp_name)+" · ",1)],64)):_("",!0),f(" 代发员工: "+d(((me=n.value.staff)==null?void 0:me.name)||n.value.staff_userid)+" ",1),n.value.session_type===2?(o(),x(q,{key:1,size:"small",type:"info",class:"ml-1"},{default:i(()=>[...e[15]||(e[15]=[f(" 群聊 ",-1)])]),_:1})):_("",!0)])]),a("div",as,[l(K,{content:"刷新消息"},{default:i(()=>[l(v,{link:"",size:"small",loading:H.value,onClick:e[8]||(e[8]=s=>j())},{default:i(()=>[l(c,null,{default:i(()=>[l(y(fe))]),_:1})]),_:1},8,["loading"])]),_:1})])]),a("div",{ref_key:"messageListRef",ref:k,class:"message-list",onScroll:Te},[$.value?(o(),u("div",ls,[l(v,{link:"",type:"primary",loading:V.value,onClick:ie},{default:i(()=>[...e[16]||(e[16]=[f(" 加载更早的消息 ",-1)])]),_:1},8,["loading"])])):h.value.length?(o(),u("div",ns," —— 没有更早的消息了 —— ")):_("",!0),!h.value.length&&!H.value?(o(),u("div",is,[l(F,{description:"暂无消息","image-size":80})])):_("",!0),(o(!0),u(M,null,B(h.value,s=>(o(),x(yt,{key:s.id,message:s},null,8,["message"]))),128))],544),l(kt,{"can-send-message":be.value,onSend:Me},null,8,["can-send-message"])],64)):(o(),u("div",Yt,[l(F,{description:"选择左侧会话查看消息"},{image:i(()=>[l(c,{size:60,color:"#ccc"},{default:i(()=>[l(y(ft))]),_:1})]),_:1})]))]),a("section",os,[n.value?(o(),x(Ue,{key:0,modelValue:U.value,"onUpdate:modelValue":e[9]||(e[9]=s=>U.value=s),class:"profile-tabs"},{default:i(()=>[l(de,{label:"客户资料",name:"profile"},{default:i(()=>{var s,p,b,A,I;return[a("div",rs,[l(T,{size:72,src:((s=n.value.customer)==null?void 0:s.avatar)||""},{default:i(()=>[f(d(L(n.value).slice(-2)),1)]),_:1},8,["src"]),a("div",us,d(L(n.value)),1),a("div",ds,[a("div",cs,[e[17]||(e[17]=a("span",{class:"label"},"客户类型",-1)),a("span",ms,d(((p=n.value.customer)==null?void 0:p.type)===2?"@微信":"@企业微信"),1)]),a("div",_s,[e[18]||(e[18]=a("span",{class:"label"},"外部 ID",-1)),a("span",{class:"value ellipsis",title:n.value.external_userid},d(n.value.external_userid||"-"),9,fs)]),(b=n.value.customer)!=null&&b.corp_name?(o(),u("div",vs,[e[19]||(e[19]=a("span",{class:"label"},"所属企业",-1)),a("span",ps,d(n.value.customer.corp_name),1)])):_("",!0),(A=n.value.customer)!=null&&A.gender?(o(),u("div",gs,[e[20]||(e[20]=a("span",{class:"label"},"性别",-1)),a("span",ys,d(n.value.customer.gender===1?"男":n.value.customer.gender===2?"女":"未知"),1)])):_("",!0),a("div",hs,[e[21]||(e[21]=a("span",{class:"label"},"代发员工",-1)),a("span",ks,d(((I=n.value.staff)==null?void 0:I.name)||n.value.staff_userid),1)]),a("div",ws,[e[22]||(e[22]=a("span",{class:"label"},"最近消息",-1)),a("span",bs,d(Z(n.value.last_msg_time)),1)])])])]}),_:1}),l(de,{label:`发送任务(${R.value.length})`,name:"tasks"},{default:i(()=>[le((o(),u("div",xs,[R.value.length?_("",!0):(o(),u("div",Ss,[l(F,{description:"暂无任务","image-size":80})])),(o(!0),u(M,null,B(R.value,s=>{var p,b,A,I;return o(),u("div",{key:s.id,class:"task-item"},[a("div",Ts,[l(q,{type:Ee(s.status),size:"small"},{default:i(()=>[f(d(ze(s.status)),1)]),_:2},1032,["type"]),a("span",Ms,d(Z(s.create_time)),1)]),a("div",zs,[(b=(p=s.msg_payload)==null?void 0:p.text)!=null&&b.content?(o(),u("div",Es,d(s.msg_payload.text.content),1)):_("",!0),(I=(A=s.msg_payload)==null?void 0:A.attachments)!=null&&I.length?(o(),u("div",Cs,[e[23]||(e[23]=f(" 附件: ",-1)),(o(!0),u(M,null,B(s.msg_payload.attachments,(_e,Qe)=>(o(),x(q,{key:Qe,size:"small",type:"info",class:"mr-1"},{default:i(()=>[f(d(Ce(_e.msgtype)),1)]),_:2},1024))),128))])):_("",!0),s.error?(o(),u("div",Vs,d(s.error),1)):_("",!0)]),a("div",$s,[l(v,{size:"small",link:"",type:"primary",onClick:_e=>Ve(s)},{default:i(()=>[...e[24]||(e[24]=[f(" 送达详情 ",-1)])]),_:1},8,["onClick"])])])}),128))])),[[se,X.value]])]),_:1},8,["label"])]),_:1},8,["modelValue"])):(o(),u("div",Ds,[a("div",Ls,[e[25]||(e[25]=a("h4",null,"企业微信 IM",-1)),e[26]||(e[26]=a("p",null,"选择一个会话查看客户资料与群发任务",-1)),l(Re),e[27]||(e[27]=a("p",{class:"text-sm"}," · 实时消息依赖「会话内容存档」,由后台计划任务每 30 秒拉取一次。 ",-1)),e[28]||(e[28]=a("p",{class:"text-sm"}," · 发送使用「企业群发」能力,员工手机端确认后送达客户。 ",-1))])]))])]),l(Fe,{modelValue:Y.value,"onUpdate:modelValue":e[10]||(e[10]=s=>Y.value=s),title:"群发送达详情",width:"640px",top:"8vh"},{default:i(()=>{var s;return[w.value?le((o(),x(Ke,{key:0,data:w.value.detail_list,border:"",size:"small","max-height":"420"},{default:i(()=>[l(Q,{label:"外部客户",prop:"external_userid","min-width":"200"}),l(Q,{label:"员工",prop:"userid","min-width":"120"}),l(Q,{label:"状态",width:"120"},{default:i(({row:p})=>[l(q,{type:Le(p.status),size:"small"},{default:i(()=>[f(d(De(p.status)),1)]),_:2},1032,["type"])]),_:1}),l(Q,{label:"送达时间",width:"160"},{default:i(({row:p})=>[f(d(p.send_time?Z(p.send_time):"-"),1)]),_:1})]),_:1},8,["data"])),[[se,D.value]]):_("",!0),(s=w.value)!=null&&s.next_cursor?(o(),u("div",qs,[l(v,{link:"",type:"primary",onClick:$e},{default:i(()=>[...e[29]||(e[29]=[f(" 加载更多 ",-1)])]),_:1})])):_("",!0)]}),_:1},8,["modelValue"])])}}}),Sa=pt(As,[["__scopeId","data-v-6e4c9382"]]);export{Sa as default}; +import{K as Je,i as Oe,d as Ge,r as We,Q as je,q as Xe,P as Ye,C as Ze,H as et,L as tt,R as st,S as at,T as lt,l as nt,m as it,U as ot,M as rt,N as ut,V as dt}from"./element-plus-DFTWCWyi.js";import{w as ct}from"./@vue/runtime-dom-DDAG46FW.js";import{L as fe,M as mt,N as _t,J as ft}from"./@element-plus/icons-vue-HOEUG8sr.js";import{i as C,t as vt,_ as pt}from"./index-DBREMm_z.js";import{u as gt}from"./usePaging-VsbTxSU0.js";import yt from"./MessageBubble-joJCVvzv.js";import{q as ht,S as kt,a as wt,b as bt,c as xt,d as St,e as ae,f as Tt,g as Mt,h as ve}from"./SendPanel-CSQRMLER.js";import{f as zt,w as Et,b as Ct,ae as Vt,ak as o,I as u,G as x,H as _,J as a,a as l,aN as i,F as M,ap as B,O as f,aP as le,A as pe,n as ne}from"./@vue/runtime-core-C6bnekPw.js";import{y,n as m}from"./@vue/reactivity-DiY1c2vO.js";import{Q as d,o as $t}from"./@vue/shared-mAAVTE9n.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./file-BimpIRb_.js";const Dt={class:"qywx-im"},Lt={class:"im-layout"},qt={class:"col-session"},At={class:"col-header"},It={class:"col-actions"},Bt={class:"col-filters"},Ht={class:"staff-option"},Pt={class:"staff-userid"},Nt={class:"session-list"},Ut={key:0,class:"empty-tip"},Rt=["onClick"],Kt={class:"session-meta"},Ft={class:"session-top"},Qt={class:"session-name"},Jt={class:"session-time"},Ot={class:"session-bottom"},Gt={class:"session-preview"},Wt={key:0,class:"session-staff"},jt={key:1,class:"session-load-more"},Xt={class:"col-message"},Yt={key:0,class:"no-session"},Zt={class:"col-header"},es={class:"msg-header-title"},ts={class:"msg-customer-name"},ss={class:"msg-customer-sub"},as={class:"col-actions"},ls={key:0,class:"load-history"},ns={key:1,class:"load-history end-tip"},is={key:2,class:"empty-tip"},os={class:"col-profile"},rs={class:"profile-panel"},us={class:"profile-name"},ds={class:"profile-fields"},cs={class:"field"},ms={class:"value"},_s={class:"field"},fs=["title"],vs={key:0,class:"field"},ps={class:"value"},gs={key:1,class:"field"},ys={class:"value"},hs={class:"field"},ks={class:"value"},ws={class:"field"},bs={class:"value"},xs={class:"tasks-panel"},Ss={key:0,class:"empty-tip"},Ts={class:"task-top"},Ms={class:"task-time"},zs={class:"task-body"},Es={key:0,class:"task-text"},Cs={key:1,class:"task-attachments"},Vs={key:2,class:"task-error"},$s={class:"task-actions"},Ds={key:1,class:"no-session"},Ls={class:"tips"},qs={key:1,class:"mt-2 text-center"},As=zt({__name:"index",setup(Is){const z=m(null),J=m(!1),ge=pe(()=>{if(!z.value)return"";const t=z.value;return t.enabled?`会话存档 SDK 不可用:${t.error||"未知错误"}`:"「会话内容存档」未启用,实时消息不可用。请在后端 pay.php 中开启 msgaudit_enabled 并配置 SDK 动态库与 RSA 私钥。"});async function ye(){try{z.value=await wt()}catch{}}async function he(){J.value=!0;try{await bt(5,!0),C.msgSuccess("已触发一次拉取,稍后刷新可见"),await S(!0),n.value&&await j()}catch(t){C.msgError((t==null?void 0:t.msg)||(t==null?void 0:t.message)||"拉取失败")}finally{J.value=!1}}const O=m([]);async function ke(){try{const t=await xt();O.value=Array.isArray(t)?t:(t==null?void 0:t.lists)||[]}catch{O.value=[]}}const E=m({staff_userid:"",keyword:"",only_unread:0}),G=m(!1);Et(G,t=>{E.value.only_unread=t?1:0});const{pager:g,getLists:W}=gt({fetchFun:ht,params:E.value,size:30});function S(t=!1){return t||(g.page=1),W()}async function we(){const t=[...g.lists||[]];g.page+=1;try{await W();const e=g.lists||[],r=new Set(t.map(v=>v.id)),c=[...t,...e.filter(v=>!r.has(v.id))];g.lists=c}catch{}}const n=m(null),h=m([]),H=m(!1),V=m(!1),$=m(!1),P=m(0),N=m(0),k=m(null),be=pe(()=>!!n.value&&n.value.session_type!==2);async function xe(t){var e;if(((e=n.value)==null?void 0:e.id)!==t.id){if(n.value=t,h.value=[],P.value=0,N.value=0,$.value=!1,await j(),await re(),t.unread_staff>0)try{await St(t.id),t.unread_staff=0}catch{}U.value="profile"}}async function j(){if(n.value){H.value=!0;try{const t=await ae({session_id:n.value.id,page_no:1,page_size:30}),e=(t==null?void 0:t.lists)||[];h.value=e,e.length&&(P.value=e[0].send_time,N.value=e[e.length-1].send_time),$.value=e.length>=30,await ne(),oe()}catch(t){C.msgError((t==null?void 0:t.msg)||(t==null?void 0:t.message)||"加载消息失败")}finally{H.value=!1}}}async function ie(){var e;if(!n.value||V.value)return;V.value=!0;const t=((e=k.value)==null?void 0:e.scrollHeight)||0;try{const r=await ae({session_id:n.value.id,page_no:1,page_size:30,before_time:P.value}),c=(r==null?void 0:r.lists)||[];c.length&&(P.value=c[0].send_time,h.value=[...c,...h.value]),$.value=c.length>=30,await ne(),k.value&&(k.value.scrollTop=k.value.scrollHeight-t)}finally{V.value=!1}}async function Se(){if(n.value)try{const t=await ae({session_id:n.value.id,page_no:1,page_size:50,after_time:N.value}),e=(t==null?void 0:t.lists)||[];if(!e.length)return;const r=new Set(h.value.map(T=>T.id)),c=e.filter(T=>!r.has(T.id));if(!c.length)return;h.value=[...h.value,...c],N.value=c[c.length-1].send_time;const v=k.value;(v?v.scrollHeight-v.scrollTop-v.clientHeight<120:!0)&&(await ne(),oe())}catch{}}function Te(){const t=k.value;t&&t.scrollTop<40&&$.value&&!V.value&&ie()}function oe(){k.value&&(k.value.scrollTop=k.value.scrollHeight)}async function Me(t){if(n.value)try{await Tt({sender_userid:n.value.staff_userid,external_userids:[n.value.external_userid],msg_payload:t,chat_type:"single"}),C.msgSuccess("已创建群发任务,员工手机确认后送达客户"),await re(),U.value="tasks"}catch(e){C.msgError((e==null?void 0:e.msg)||(e==null?void 0:e.message)||"发送失败")}}const U=m("profile"),R=m([]),X=m(!1);async function re(){if(n.value){X.value=!0;try{const t=await Mt({sender_userid:n.value.staff_userid,page_no:1,page_size:50}),e=(t==null?void 0:t.lists)||[];R.value=e.filter(r=>(r.external_userids||[]).includes(n.value.external_userid))}finally{X.value=!1}}}function ze(t){return{0:"待提交",1:"已提交",2:"已送达",3:"失败"}[t]??`状态${t}`}function Ee(t){return{0:"info",1:"primary",2:"success",3:"danger"}[t]??"info"}function Ce(t){return{image:"图片",video:"视频",file:"文件",link:"链接",miniprogram:"小程序"}[t]||t}const Y=m(!1),D=m(!1),ue=m(0),w=m(null);async function Ve(t){ue.value=t.id,w.value={detail_list:[],next_cursor:""},Y.value=!0,D.value=!0;try{const e=await ve(t.id,"");w.value={detail_list:(e==null?void 0:e.detail_list)||[],next_cursor:(e==null?void 0:e.next_cursor)||"",task:e==null?void 0:e.task}}catch(e){C.msgError((e==null?void 0:e.msg)||(e==null?void 0:e.message)||"加载失败")}finally{D.value=!1}}async function $e(){var t;if((t=w.value)!=null&&t.next_cursor){D.value=!0;try{const e=await ve(ue.value,w.value.next_cursor);w.value={detail_list:[...w.value.detail_list,...(e==null?void 0:e.detail_list)||[]],next_cursor:(e==null?void 0:e.next_cursor)||"",task:e==null?void 0:e.task}}finally{D.value=!1}}}function De(t){switch(t){case 0:return"未发送";case 1:return"已送达";case 2:return"被拒收";case 3:return"已送达(未读)";default:return`状态${t}`}}function Le(t){return t===1?"success":t===2?"warning":t===3?"primary":"info"}function L(t){var e;return(e=t.customer)!=null&&e.name?t.customer.name:t.session_type===2?`群聊 ${t.roomid.slice(-6)}`:t.external_userid||"未命名客户"}function qe(t){const e=t.last_msg_summary||"",r=t.last_msg_type;return e||(r==="image"?"[图片]":r==="video"?"[视频]":r==="voice"?"[语音]":r==="file"?"[文件]":r==="link"?"[链接]":r==="weapp"?"[小程序]":r==="chatrecord"?"[聊天记录]":r?`[${r}]`:"暂无消息")}function Z(t){return t?vt(t*1e3,"yyyy-mm-dd hh:MM"):"-"}function Ae(t){if(!t)return"";const r=Math.floor(Date.now()/1e3)-t;if(r<60)return`${r}秒前`;if(r<3600)return`${Math.floor(r/60)}分前`;if(r<86400)return`${Math.floor(r/3600)}小时前`;const c=new Date(t*1e3);return`${c.getMonth()+1}-${c.getDate()}`}let ee=null,te=null;return Ct(async()=>{await Promise.all([ye(),ke()]),await S(),ee=window.setInterval(()=>{W({silent:!0}).catch(()=>{})},15e3),te=window.setInterval(()=>{Se()},8e3)}),Vt(()=>{ee&&window.clearInterval(ee),te&&window.clearInterval(te)}),(t,e)=>{var ce,me;const r=Je,c=Ge,v=Oe,K=We,T=Xe,Ie=je,Be=Ye,He=Ze,Pe=et,F=st,Ne=at,q=lt,de=nt,Ue=it,Re=ot,Q=ut,Ke=rt,Fe=dt,se=tt;return o(),u("div",Dt,[z.value&&!z.value.available?(o(),x(r,{key:0,title:ge.value,type:"warning",closable:!1,"show-icon":"",class:"archive-warning"},null,8,["title"])):_("",!0),a("div",Lt,[a("section",qt,[a("header",At,[e[11]||(e[11]=a("div",{class:"col-title"},"会话",-1)),a("div",It,[l(K,{content:"刷新"},{default:i(()=>[l(v,{size:"small",link:"",loading:y(g).loading,onClick:e[0]||(e[0]=s=>S(!0))},{default:i(()=>[l(c,null,{default:i(()=>[l(y(fe))]),_:1})]),_:1},8,["loading"])]),_:1}),l(K,{content:"手动拉一次存档"},{default:i(()=>{var s;return[l(v,{size:"small",link:"",disabled:!((s=z.value)!=null&&s.available),loading:J.value,onClick:he},{default:i(()=>[l(c,null,{default:i(()=>[l(y(mt))]),_:1})]),_:1},8,["disabled","loading"])]}),_:1})])]),a("div",Bt,[l(Be,{modelValue:E.value.staff_userid,"onUpdate:modelValue":e[1]||(e[1]=s=>E.value.staff_userid=s),placeholder:"全部员工",clearable:"",filterable:"",size:"default",style:{width:"100%"},onChange:e[2]||(e[2]=s=>S())},{default:i(()=>[(o(!0),u(M,null,B(O.value,s=>(o(),x(Ie,{key:s.userid,label:(s.name||s.userid)+"("+s.userid+")",value:s.userid},{default:i(()=>[a("div",Ht,[l(T,{size:20,src:s.avatar},{default:i(()=>[f(d((s.name||"").slice(-2)),1)]),_:2},1032,["src"]),a("span",null,d(s.name),1),a("span",Pt,d(s.userid),1)])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue"]),l(He,{modelValue:E.value.keyword,"onUpdate:modelValue":e[3]||(e[3]=s=>E.value.keyword=s),placeholder:"搜索客户或消息",clearable:"",size:"default",onKeyup:e[4]||(e[4]=ct(s=>S(),["enter"])),onClear:e[5]||(e[5]=s=>S())},{prefix:i(()=>[l(c,null,{default:i(()=>[l(y(_t))]),_:1})]),_:1},8,["modelValue"]),l(Pe,{modelValue:G.value,"onUpdate:modelValue":e[6]||(e[6]=s=>G.value=s),onChange:e[7]||(e[7]=s=>S())},{default:i(()=>[...e[12]||(e[12]=[f(" 仅未读 ",-1)])]),_:1},8,["modelValue"])]),le((o(),u("div",Nt,[!y(g).lists.length&&!y(g).loading?(o(),u("div",Ut,[l(F,{description:"暂无会话","image-size":80})])):_("",!0),(o(!0),u(M,null,B(y(g).lists,s=>{var p;return o(),u("div",{key:s.id,class:$t(["session-item",{active:((p=n.value)==null?void 0:p.id)===s.id}]),onClick:b=>xe(s)},[l(Ne,{value:s.unread_staff,hidden:!s.unread_staff,max:99},{default:i(()=>{var b;return[l(T,{size:42,src:((b=s.customer)==null?void 0:b.avatar)||""},{default:i(()=>[f(d(L(s).slice(-2)),1)]),_:2},1032,["src"])]}),_:2},1032,["value","hidden"]),a("div",Kt,[a("div",Ft,[a("span",Qt,d(L(s)),1),a("span",Jt,d(Ae(s.last_msg_time)),1)]),a("div",Ot,[a("span",Gt,d(qe(s)),1),s.session_type===2?(o(),x(q,{key:0,size:"small",type:"info",class:"session-tag"},{default:i(()=>[...e[13]||(e[13]=[f(" 群 ",-1)])]),_:1})):_("",!0)]),s.staff?(o(),u("div",Wt," 员工: "+d(s.staff.name||s.staff_userid),1)):_("",!0)])],10,Rt)}),128)),y(g).lists.length[...e[14]||(e[14]=[f(" 加载更多 ",-1)])]),_:1})])):_("",!0)])),[[se,y(g).loading]])]),a("section",Xt,[n.value?(o(),u(M,{key:1},[a("header",Zt,[a("div",es,[a("div",ts,d(L(n.value)),1),a("div",ss,[(ce=n.value.customer)!=null&&ce.corp_name?(o(),u(M,{key:0},[f(d(n.value.customer.corp_name)+" · ",1)],64)):_("",!0),f(" 代发员工: "+d(((me=n.value.staff)==null?void 0:me.name)||n.value.staff_userid)+" ",1),n.value.session_type===2?(o(),x(q,{key:1,size:"small",type:"info",class:"ml-1"},{default:i(()=>[...e[15]||(e[15]=[f(" 群聊 ",-1)])]),_:1})):_("",!0)])]),a("div",as,[l(K,{content:"刷新消息"},{default:i(()=>[l(v,{link:"",size:"small",loading:H.value,onClick:e[8]||(e[8]=s=>j())},{default:i(()=>[l(c,null,{default:i(()=>[l(y(fe))]),_:1})]),_:1},8,["loading"])]),_:1})])]),a("div",{ref_key:"messageListRef",ref:k,class:"message-list",onScroll:Te},[$.value?(o(),u("div",ls,[l(v,{link:"",type:"primary",loading:V.value,onClick:ie},{default:i(()=>[...e[16]||(e[16]=[f(" 加载更早的消息 ",-1)])]),_:1},8,["loading"])])):h.value.length?(o(),u("div",ns," —— 没有更早的消息了 —— ")):_("",!0),!h.value.length&&!H.value?(o(),u("div",is,[l(F,{description:"暂无消息","image-size":80})])):_("",!0),(o(!0),u(M,null,B(h.value,s=>(o(),x(yt,{key:s.id,message:s},null,8,["message"]))),128))],544),l(kt,{"can-send-message":be.value,onSend:Me},null,8,["can-send-message"])],64)):(o(),u("div",Yt,[l(F,{description:"选择左侧会话查看消息"},{image:i(()=>[l(c,{size:60,color:"#ccc"},{default:i(()=>[l(y(ft))]),_:1})]),_:1})]))]),a("section",os,[n.value?(o(),x(Ue,{key:0,modelValue:U.value,"onUpdate:modelValue":e[9]||(e[9]=s=>U.value=s),class:"profile-tabs"},{default:i(()=>[l(de,{label:"客户资料",name:"profile"},{default:i(()=>{var s,p,b,A,I;return[a("div",rs,[l(T,{size:72,src:((s=n.value.customer)==null?void 0:s.avatar)||""},{default:i(()=>[f(d(L(n.value).slice(-2)),1)]),_:1},8,["src"]),a("div",us,d(L(n.value)),1),a("div",ds,[a("div",cs,[e[17]||(e[17]=a("span",{class:"label"},"客户类型",-1)),a("span",ms,d(((p=n.value.customer)==null?void 0:p.type)===2?"@微信":"@企业微信"),1)]),a("div",_s,[e[18]||(e[18]=a("span",{class:"label"},"外部 ID",-1)),a("span",{class:"value ellipsis",title:n.value.external_userid},d(n.value.external_userid||"-"),9,fs)]),(b=n.value.customer)!=null&&b.corp_name?(o(),u("div",vs,[e[19]||(e[19]=a("span",{class:"label"},"所属企业",-1)),a("span",ps,d(n.value.customer.corp_name),1)])):_("",!0),(A=n.value.customer)!=null&&A.gender?(o(),u("div",gs,[e[20]||(e[20]=a("span",{class:"label"},"性别",-1)),a("span",ys,d(n.value.customer.gender===1?"男":n.value.customer.gender===2?"女":"未知"),1)])):_("",!0),a("div",hs,[e[21]||(e[21]=a("span",{class:"label"},"代发员工",-1)),a("span",ks,d(((I=n.value.staff)==null?void 0:I.name)||n.value.staff_userid),1)]),a("div",ws,[e[22]||(e[22]=a("span",{class:"label"},"最近消息",-1)),a("span",bs,d(Z(n.value.last_msg_time)),1)])])])]}),_:1}),l(de,{label:`发送任务(${R.value.length})`,name:"tasks"},{default:i(()=>[le((o(),u("div",xs,[R.value.length?_("",!0):(o(),u("div",Ss,[l(F,{description:"暂无任务","image-size":80})])),(o(!0),u(M,null,B(R.value,s=>{var p,b,A,I;return o(),u("div",{key:s.id,class:"task-item"},[a("div",Ts,[l(q,{type:Ee(s.status),size:"small"},{default:i(()=>[f(d(ze(s.status)),1)]),_:2},1032,["type"]),a("span",Ms,d(Z(s.create_time)),1)]),a("div",zs,[(b=(p=s.msg_payload)==null?void 0:p.text)!=null&&b.content?(o(),u("div",Es,d(s.msg_payload.text.content),1)):_("",!0),(I=(A=s.msg_payload)==null?void 0:A.attachments)!=null&&I.length?(o(),u("div",Cs,[e[23]||(e[23]=f(" 附件: ",-1)),(o(!0),u(M,null,B(s.msg_payload.attachments,(_e,Qe)=>(o(),x(q,{key:Qe,size:"small",type:"info",class:"mr-1"},{default:i(()=>[f(d(Ce(_e.msgtype)),1)]),_:2},1024))),128))])):_("",!0),s.error?(o(),u("div",Vs,d(s.error),1)):_("",!0)]),a("div",$s,[l(v,{size:"small",link:"",type:"primary",onClick:_e=>Ve(s)},{default:i(()=>[...e[24]||(e[24]=[f(" 送达详情 ",-1)])]),_:1},8,["onClick"])])])}),128))])),[[se,X.value]])]),_:1},8,["label"])]),_:1},8,["modelValue"])):(o(),u("div",Ds,[a("div",Ls,[e[25]||(e[25]=a("h4",null,"企业微信 IM",-1)),e[26]||(e[26]=a("p",null,"选择一个会话查看客户资料与群发任务",-1)),l(Re),e[27]||(e[27]=a("p",{class:"text-sm"}," · 实时消息依赖「会话内容存档」,由后台计划任务每 30 秒拉取一次。 ",-1)),e[28]||(e[28]=a("p",{class:"text-sm"}," · 发送使用「企业群发」能力,员工手机端确认后送达客户。 ",-1))])]))])]),l(Fe,{modelValue:Y.value,"onUpdate:modelValue":e[10]||(e[10]=s=>Y.value=s),title:"群发送达详情",width:"640px",top:"8vh"},{default:i(()=>{var s;return[w.value?le((o(),x(Ke,{key:0,data:w.value.detail_list,border:"",size:"small","max-height":"420"},{default:i(()=>[l(Q,{label:"外部客户",prop:"external_userid","min-width":"200"}),l(Q,{label:"员工",prop:"userid","min-width":"120"}),l(Q,{label:"状态",width:"120"},{default:i(({row:p})=>[l(q,{type:Le(p.status),size:"small"},{default:i(()=>[f(d(De(p.status)),1)]),_:2},1032,["type"])]),_:1}),l(Q,{label:"送达时间",width:"160"},{default:i(({row:p})=>[f(d(p.send_time?Z(p.send_time):"-"),1)]),_:1})]),_:1},8,["data"])),[[se,D.value]]):_("",!0),(s=w.value)!=null&&s.next_cursor?(o(),u("div",qs,[l(v,{link:"",type:"primary",onClick:$e},{default:i(()=>[...e[29]||(e[29]=[f(" 加载更多 ",-1)])]),_:1})])):_("",!0)]}),_:1},8,["modelValue"])])}}}),Sa=pt(As,[["__scopeId","data-v-6e4c9382"]]);export{Sa as default}; diff --git a/server/public/admin/assets/index-CZ3wLVRe.js b/server/public/admin/assets/index-DbBC0Fdf.js similarity index 95% rename from server/public/admin/assets/index-CZ3wLVRe.js rename to server/public/admin/assets/index-DbBC0Fdf.js index 1bac270d..328284ce 100644 --- a/server/public/admin/assets/index-CZ3wLVRe.js +++ b/server/public/admin/assets/index-DbBC0Fdf.js @@ -1 +1 @@ -import{i as E,M as N,N as B,T as D,L,J as P}from"./element-plus-0wC3naml.js";import{_ as J}from"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import{J as $,k,c as R,i as j,K as q}from"./index-E47--KT7.js";import{u as F}from"./usePaging-VsbTxSU0.js";import{f as w,ar as G,as as H,ak as r,I,a as t,aN as o,aP as d,G as n,O as s,H as f,J as g}from"./@vue/runtime-core-C6bnekPw.js";import{y as l,a as K}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const M={class:"flex"},O={class:"flex justify-end mt-4"},U=w({name:"scheduledTask"}),Jt=w({...U,setup(z){const{pager:p,getLists:c}=F({fetchFun:$,params:{}}),v=async b=>{await j.confirm("确定要删除?"),await q({id:b}),c()};return c(),(b,e)=>{const h=R,m=E,y=G("router-link"),a=B,u=D,x=N,C=J,T=P,_=H("perms"),V=L;return r(),I("div",null,[t(T,{shadow:"never",class:"!border-none"},{default:o(()=>[d((r(),n(y,{to:l(k)("crontab.crontab/add:edit")},{default:o(()=>[t(m,{type:"primary",class:"mb-[16px]"},{icon:o(()=>[t(h,{name:"el-icon-Plus"})]),default:o(()=>[e[1]||(e[1]=s(" 新增 ",-1))]),_:1})]),_:1},8,["to"])),[[_,["crontab.crontab/add","crontab.crontab/add:edit"]]]),d((r(),n(x,{ref:"paneTable",class:"m-t-24",data:l(p).lists,style:{width:"100%"}},{default:o(()=>[t(a,{prop:"name",label:"名称","min-width":"120"}),t(a,{prop:"type_desc",label:"类型","min-width":"100"}),t(a,{prop:"command",label:"命令","min-width":"100"}),t(a,{prop:"params",label:"参数","min-width":"80"}),t(a,{prop:"expression",label:"规则","min-width":"100"}),t(a,{prop:"status",label:"状态","min-width":"100"},{default:o(({row:i})=>[i.status==1?(r(),n(u,{key:0,type:"success"},{default:o(()=>[...e[2]||(e[2]=[s("运行中",-1)])]),_:1})):f("",!0),i.status==2?(r(),n(u,{key:1,type:"info"},{default:o(()=>[...e[3]||(e[3]=[s("已停止",-1)])]),_:1})):f("",!0),i.status==3?(r(),n(u,{key:2,type:"danger"},{default:o(()=>[...e[4]||(e[4]=[s("错误",-1)])]),_:1})):f("",!0)]),_:1}),t(a,{prop:"error",label:"错误原因","min-width":"120"}),t(a,{prop:"last_time",label:"最后执行时间",width:"180"}),t(a,{prop:"time",label:"时长","min-width":"100"}),t(a,{prop:"max_time",label:"最大时长","min-width":"100"}),t(a,{label:"操作",width:"120",fixed:"right"},{default:o(({row:i})=>[g("div",M,[t(m,{type:"primary",link:""},{default:o(()=>[d((r(),n(y,{to:{path:l(k)("crontab.crontab/add:edit"),query:{id:i.id}}},{default:o(()=>[t(m,{type:"primary",link:""},{default:o(()=>[...e[5]||(e[5]=[s(" 编辑 ",-1)])]),_:1})]),_:1},8,["to"])),[[_,["crontab.crontab/edit","crontab.crontab/add:edit"]]])]),_:2},1024),d((r(),n(m,{type:"danger",link:"",onClick:A=>v(i.id)},{default:o(()=>[...e[6]||(e[6]=[s(" 删除 ",-1)])]),_:1},8,["onClick"])),[[_,["crontab.crontab/delete"]]])])]),_:1})]),_:1},8,["data"])),[[V,l(p).loading]]),g("div",O,[t(C,{modelValue:l(p),"onUpdate:modelValue":e[0]||(e[0]=i=>K(p)?p.value=i:null),onChange:l(c)},null,8,["modelValue","onChange"])])]),_:1})])}}});export{Jt as default}; +import{i as E,M as N,N as B,T as D,L,J as P}from"./element-plus-DFTWCWyi.js";import{_ as J}from"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import{J as $,k,c as R,i as j,K as q}from"./index-DBREMm_z.js";import{u as F}from"./usePaging-VsbTxSU0.js";import{f as w,ar as G,as as H,ak as r,I,a as t,aN as o,aP as d,G as n,O as s,H as f,J as g}from"./@vue/runtime-core-C6bnekPw.js";import{y as l,a as K}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const M={class:"flex"},O={class:"flex justify-end mt-4"},U=w({name:"scheduledTask"}),Jt=w({...U,setup(z){const{pager:p,getLists:c}=F({fetchFun:$,params:{}}),v=async b=>{await j.confirm("确定要删除?"),await q({id:b}),c()};return c(),(b,e)=>{const h=R,m=E,y=G("router-link"),a=B,u=D,x=N,C=J,T=P,_=H("perms"),V=L;return r(),I("div",null,[t(T,{shadow:"never",class:"!border-none"},{default:o(()=>[d((r(),n(y,{to:l(k)("crontab.crontab/add:edit")},{default:o(()=>[t(m,{type:"primary",class:"mb-[16px]"},{icon:o(()=>[t(h,{name:"el-icon-Plus"})]),default:o(()=>[e[1]||(e[1]=s(" 新增 ",-1))]),_:1})]),_:1},8,["to"])),[[_,["crontab.crontab/add","crontab.crontab/add:edit"]]]),d((r(),n(x,{ref:"paneTable",class:"m-t-24",data:l(p).lists,style:{width:"100%"}},{default:o(()=>[t(a,{prop:"name",label:"名称","min-width":"120"}),t(a,{prop:"type_desc",label:"类型","min-width":"100"}),t(a,{prop:"command",label:"命令","min-width":"100"}),t(a,{prop:"params",label:"参数","min-width":"80"}),t(a,{prop:"expression",label:"规则","min-width":"100"}),t(a,{prop:"status",label:"状态","min-width":"100"},{default:o(({row:i})=>[i.status==1?(r(),n(u,{key:0,type:"success"},{default:o(()=>[...e[2]||(e[2]=[s("运行中",-1)])]),_:1})):f("",!0),i.status==2?(r(),n(u,{key:1,type:"info"},{default:o(()=>[...e[3]||(e[3]=[s("已停止",-1)])]),_:1})):f("",!0),i.status==3?(r(),n(u,{key:2,type:"danger"},{default:o(()=>[...e[4]||(e[4]=[s("错误",-1)])]),_:1})):f("",!0)]),_:1}),t(a,{prop:"error",label:"错误原因","min-width":"120"}),t(a,{prop:"last_time",label:"最后执行时间",width:"180"}),t(a,{prop:"time",label:"时长","min-width":"100"}),t(a,{prop:"max_time",label:"最大时长","min-width":"100"}),t(a,{label:"操作",width:"120",fixed:"right"},{default:o(({row:i})=>[g("div",M,[t(m,{type:"primary",link:""},{default:o(()=>[d((r(),n(y,{to:{path:l(k)("crontab.crontab/add:edit"),query:{id:i.id}}},{default:o(()=>[t(m,{type:"primary",link:""},{default:o(()=>[...e[5]||(e[5]=[s(" 编辑 ",-1)])]),_:1})]),_:1},8,["to"])),[[_,["crontab.crontab/edit","crontab.crontab/add:edit"]]])]),_:2},1024),d((r(),n(m,{type:"danger",link:"",onClick:A=>v(i.id)},{default:o(()=>[...e[6]||(e[6]=[s(" 删除 ",-1)])]),_:1},8,["onClick"])),[[_,["crontab.crontab/delete"]]])])]),_:1})]),_:1},8,["data"])),[[V,l(p).loading]]),g("div",O,[t(C,{modelValue:l(p),"onUpdate:modelValue":e[0]||(e[0]=i=>K(p)?p.value=i:null),onChange:l(c)},null,8,["modelValue","onChange"])])]),_:1})])}}});export{Jt as default}; diff --git a/server/public/admin/assets/index-wwnvQhjf.js b/server/public/admin/assets/index-DcDP_Tmx.js similarity index 87% rename from server/public/admin/assets/index-wwnvQhjf.js rename to server/public/admin/assets/index-DcDP_Tmx.js index be9a7098..be65c9b5 100644 --- a/server/public/admin/assets/index-wwnvQhjf.js +++ b/server/public/admin/assets/index-DcDP_Tmx.js @@ -1 +1 @@ -import{Q as V,P as b}from"./element-plus-0wC3naml.js";import{m as k}from"./medicine-D-OyzCbR.js";import{f as w,w as x,ak as l,I as d,G as u,aN as B,F as C,ap as E}from"./@vue/runtime-core-C6bnekPw.js";import{Q as I}from"./@vue/shared-mAAVTE9n.js";import{y as p,n as f}from"./@vue/reactivity-DiY1c2vO.js";import{_ as M}from"./index-E47--KT7.js";const S={key:0,class:"medicine-name-readonly"},F=w({__name:"index",props:{modelValue:{},disabled:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(o,{emit:v}){const i=o,_=v,n=f(!1),a=f([]);function m(){const e=(i.modelValue||"").trim();e&&(a.value.some(t=>t.name===e)||(a.value=[{id:0,name:e},...a.value]))}const c=async e=>{n.value=!0;try{const t=(e||"").trim(),s=await k({name:t||void 0,page_no:1,page_size:100,status:1});a.value=s.lists||[],m()}catch(t){console.error(t),a.value=[]}finally{n.value=!1}},y=e=>{e&&a.value.length===0&&c("")},h=e=>{_("update:modelValue",e||"")};return x(()=>i.modelValue,()=>{m()},{immediate:!0}),(e,t)=>{const s=V,g=b;return o.disabled?(l(),d("span",S,I(o.modelValue||"—"),1)):(l(),u(g,{key:1,"model-value":o.modelValue,class:"medicine-name-select w-full",filterable:"",remote:"","reserve-keyword":"",placeholder:"搜索药材名称或拼音首字母","remote-method":c,loading:p(n),clearable:"",onVisibleChange:y,"onUpdate:modelValue":h},{default:B(()=>[(l(!0),d(C,null,E(p(a),r=>(l(),u(s,{key:r.id,label:r.name,value:r.name},null,8,["label","value"]))),128))]),_:1},8,["model-value","loading"]))}}}),z=M(F,[["__scopeId","data-v-01d726b0"]]);export{z as M}; +import{Q as V,P as b}from"./element-plus-DFTWCWyi.js";import{m as k}from"./medicine-CCdxjQY6.js";import{f as w,w as x,ak as l,I as d,G as u,aN as B,F as C,ap as E}from"./@vue/runtime-core-C6bnekPw.js";import{Q as I}from"./@vue/shared-mAAVTE9n.js";import{y as p,n as f}from"./@vue/reactivity-DiY1c2vO.js";import{_ as M}from"./index-DBREMm_z.js";const S={key:0,class:"medicine-name-readonly"},F=w({__name:"index",props:{modelValue:{},disabled:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(o,{emit:v}){const i=o,_=v,n=f(!1),a=f([]);function m(){const e=(i.modelValue||"").trim();e&&(a.value.some(t=>t.name===e)||(a.value=[{id:0,name:e},...a.value]))}const c=async e=>{n.value=!0;try{const t=(e||"").trim(),s=await k({name:t||void 0,page_no:1,page_size:100,status:1});a.value=s.lists||[],m()}catch(t){console.error(t),a.value=[]}finally{n.value=!1}},y=e=>{e&&a.value.length===0&&c("")},h=e=>{_("update:modelValue",e||"")};return x(()=>i.modelValue,()=>{m()},{immediate:!0}),(e,t)=>{const s=V,g=b;return o.disabled?(l(),d("span",S,I(o.modelValue||"—"),1)):(l(),u(g,{key:1,"model-value":o.modelValue,class:"medicine-name-select w-full",filterable:"",remote:"","reserve-keyword":"",placeholder:"搜索药材名称或拼音首字母","remote-method":c,loading:p(n),clearable:"",onVisibleChange:y,"onUpdate:modelValue":h},{default:B(()=>[(l(!0),d(C,null,E(p(a),r=>(l(),u(s,{key:r.id,label:r.name,value:r.name},null,8,["label","value"]))),128))]),_:1},8,["model-value","loading"]))}}}),z=M(F,[["__scopeId","data-v-01d726b0"]]);export{z as M}; diff --git a/server/public/admin/assets/index-B3yIIPa0.js b/server/public/admin/assets/index-DfNQvvZ_.js similarity index 90% rename from server/public/admin/assets/index-B3yIIPa0.js rename to server/public/admin/assets/index-DfNQvvZ_.js index ec1306ff..c599f889 100644 --- a/server/public/admin/assets/index-B3yIIPa0.js +++ b/server/public/admin/assets/index-DfNQvvZ_.js @@ -1 +1 @@ -import{K as L,J as R,L as T,i as P,M as U,N as A,g as J}from"./element-plus-0wC3naml.js";import{_ as j}from"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import{c as q,i as z}from"./index-E47--KT7.js";import{a as F,b as G,c as H}from"./article-DJnP6RZd.js";import{u as I}from"./usePaging-VsbTxSU0.js";import{_ as K}from"./edit.vue_vue_type_script_setup_true_name_articleColumnEdit_lang-CzxfOEt7.js";import{f as k,as as M,ak as l,I as O,a as t,aN as i,aP as d,G as u,J as h,O as g,H as Q,n as b}from"./@vue/runtime-core-C6bnekPw.js";import{y as r,a as W,q as X,n as Y}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-nymJKQXP.js";const Z={class:"flex justify-end mt-4"},ee=k({name:"articleColumn"}),He=k({...ee,setup(te){const _=X(),f=Y(!1),{pager:s,getLists:n}=I({fetchFun:F}),y=async()=>{var o;f.value=!0,await b(),(o=_.value)==null||o.open("add")},V=async o=>{var e,m;f.value=!0,await b(),(e=_.value)==null||e.open("edit"),(m=_.value)==null||m.getDetail(o)},E=async o=>{await z.confirm("确定要删除?"),await G({id:o}),n()},x=async(o,e)=>{try{await H({id:e,is_show:o}),n()}catch{n()}};return n(),(o,e)=>{const m=L,w=R,$=q,C=P,p=A,N=J,S=U,B=j,v=M("perms"),D=T;return l(),O("div",null,[t(w,{class:"!border-none",shadow:"never"},{default:i(()=>[t(m,{type:"warning",title:"温馨提示:用于管理网站的分类,只可添加到一级",closable:!1,"show-icon":""})]),_:1}),d((l(),u(w,{class:"!border-none mt-4",shadow:"never"},{default:i(()=>[h("div",null,[d((l(),u(C,{class:"mb-4",type:"primary",onClick:e[0]||(e[0]=a=>y())},{icon:i(()=>[t($,{name:"el-icon-Plus"})]),default:i(()=>[e[3]||(e[3]=g(" 新增 ",-1))]),_:1})),[[v,["article.articleCate/add"]]])]),t(S,{size:"large",data:r(s).lists},{default:i(()=>[t(p,{label:"栏目名称",prop:"name","min-width":"120"}),t(p,{label:"文章数",prop:"article_count","min-width":"120"}),t(p,{label:"状态","min-width":"120"},{default:i(({row:a})=>[d(t(N,{modelValue:a.is_show,"onUpdate:modelValue":c=>a.is_show=c,"active-value":1,"inactive-value":0,onChange:c=>x(c,a.id)},null,8,["modelValue","onUpdate:modelValue","onChange"]),[[v,["article.articleCate/updateStatus"]]])]),_:1}),t(p,{label:"排序",prop:"sort","min-width":"120"}),t(p,{label:"操作",width:"120",fixed:"right"},{default:i(({row:a})=>[d((l(),u(C,{type:"primary",link:"",onClick:c=>V(a)},{default:i(()=>[...e[4]||(e[4]=[g(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[v,["article.articleCate/edit"]]]),d((l(),u(C,{type:"danger",link:"",onClick:c=>E(a.id)},{default:i(()=>[...e[5]||(e[5]=[g(" 删除 ",-1)])]),_:1},8,["onClick"])),[[v,["article.articleCate/delete"]]])]),_:1})]),_:1},8,["data"]),h("div",Z,[t(B,{modelValue:r(s),"onUpdate:modelValue":e[1]||(e[1]=a=>W(s)?s.value=a:null),onChange:r(n)},null,8,["modelValue","onChange"])])]),_:1})),[[D,r(s).loading]]),r(f)?(l(),u(K,{key:0,ref_key:"editRef",ref:_,onSuccess:r(n),onClose:e[2]||(e[2]=a=>f.value=!1)},null,8,["onSuccess"])):Q("",!0)])}}});export{He as default}; +import{K as L,J as R,L as T,i as P,M as U,N as A,g as J}from"./element-plus-DFTWCWyi.js";import{_ as j}from"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import{c as q,i as z}from"./index-DBREMm_z.js";import{a as F,b as G,c as H}from"./article-BnVIxFkr.js";import{u as I}from"./usePaging-VsbTxSU0.js";import{_ as K}from"./edit.vue_vue_type_script_setup_true_name_articleColumnEdit_lang-DPHyz3nQ.js";import{f as k,as as M,ak as l,I as O,a as t,aN as i,aP as d,G as u,J as h,O as g,H as Q,n as b}from"./@vue/runtime-core-C6bnekPw.js";import{y as r,a as W,q as X,n as Y}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-BwF7vczx.js";const Z={class:"flex justify-end mt-4"},ee=k({name:"articleColumn"}),He=k({...ee,setup(te){const _=X(),f=Y(!1),{pager:s,getLists:n}=I({fetchFun:F}),y=async()=>{var o;f.value=!0,await b(),(o=_.value)==null||o.open("add")},V=async o=>{var e,m;f.value=!0,await b(),(e=_.value)==null||e.open("edit"),(m=_.value)==null||m.getDetail(o)},E=async o=>{await z.confirm("确定要删除?"),await G({id:o}),n()},x=async(o,e)=>{try{await H({id:e,is_show:o}),n()}catch{n()}};return n(),(o,e)=>{const m=L,w=R,$=q,C=P,p=A,N=J,S=U,B=j,v=M("perms"),D=T;return l(),O("div",null,[t(w,{class:"!border-none",shadow:"never"},{default:i(()=>[t(m,{type:"warning",title:"温馨提示:用于管理网站的分类,只可添加到一级",closable:!1,"show-icon":""})]),_:1}),d((l(),u(w,{class:"!border-none mt-4",shadow:"never"},{default:i(()=>[h("div",null,[d((l(),u(C,{class:"mb-4",type:"primary",onClick:e[0]||(e[0]=a=>y())},{icon:i(()=>[t($,{name:"el-icon-Plus"})]),default:i(()=>[e[3]||(e[3]=g(" 新增 ",-1))]),_:1})),[[v,["article.articleCate/add"]]])]),t(S,{size:"large",data:r(s).lists},{default:i(()=>[t(p,{label:"栏目名称",prop:"name","min-width":"120"}),t(p,{label:"文章数",prop:"article_count","min-width":"120"}),t(p,{label:"状态","min-width":"120"},{default:i(({row:a})=>[d(t(N,{modelValue:a.is_show,"onUpdate:modelValue":c=>a.is_show=c,"active-value":1,"inactive-value":0,onChange:c=>x(c,a.id)},null,8,["modelValue","onUpdate:modelValue","onChange"]),[[v,["article.articleCate/updateStatus"]]])]),_:1}),t(p,{label:"排序",prop:"sort","min-width":"120"}),t(p,{label:"操作",width:"120",fixed:"right"},{default:i(({row:a})=>[d((l(),u(C,{type:"primary",link:"",onClick:c=>V(a)},{default:i(()=>[...e[4]||(e[4]=[g(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[v,["article.articleCate/edit"]]]),d((l(),u(C,{type:"danger",link:"",onClick:c=>E(a.id)},{default:i(()=>[...e[5]||(e[5]=[g(" 删除 ",-1)])]),_:1},8,["onClick"])),[[v,["article.articleCate/delete"]]])]),_:1})]),_:1},8,["data"]),h("div",Z,[t(B,{modelValue:r(s),"onUpdate:modelValue":e[1]||(e[1]=a=>W(s)?s.value=a:null),onChange:r(n)},null,8,["modelValue","onChange"])])]),_:1})),[[D,r(s).loading]]),r(f)?(l(),u(K,{key:0,ref_key:"editRef",ref:_,onSuccess:r(n),onClose:e[2]||(e[2]=a=>f.value=!1)},null,8,["onSuccess"])):Q("",!0)])}}});export{He as default}; diff --git a/server/public/admin/assets/index-D1uCY6l3.js b/server/public/admin/assets/index-Dgae4aqh.js similarity index 94% rename from server/public/admin/assets/index-D1uCY6l3.js rename to server/public/admin/assets/index-Dgae4aqh.js index 9630403e..9f760e32 100644 --- a/server/public/admin/assets/index-D1uCY6l3.js +++ b/server/public/admin/assets/index-Dgae4aqh.js @@ -1 +1 @@ -import{K as A,J as F,m as V,l as B,M,N as O,T as U,i as z,L as D}from"./element-plus-0wC3naml.js";import{a as N}from"./message-CSrefGEU.js";import{u as S}from"./usePaging-VsbTxSU0.js";import{k as q}from"./index-E47--KT7.js";import{f as y,ac as G,ar as I,as as J,ak as n,I as g,a as t,aN as e,F as K,ap as j,aP as v,G as p,O as c}from"./@vue/runtime-core-C6bnekPw.js";import{y as i,a as H,n as Q,r as W}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const X=y({name:"notice"}),zt=y({...X,setup(Y){let d;(r=>{r[r.USER=1]="USER",r[r.PLATFORM=2]="PLATFORM"})(d||(d={}));const s=Q(1),k=[{name:"通知用户",type:1},{name:"通知平台",type:2}],T=W({recipient:s}),{pager:u,getLists:_}=S({fetchFun:N,params:T});return G(()=>{_()}),_(),(r,o)=>{const w=A,f=F,E=B,h=V,l=O,b=U,C=I("router-link"),L=z,P=M,R=J("perms"),x=D;return n(),g("div",null,[t(f,{class:"!border-none",shadow:"never"},{default:e(()=>[t(w,{type:"warning",title:"温馨提示:平台配置在各个场景下的通知发送方式和内容模板",closable:!1,"show-icon":""})]),_:1}),t(f,{class:"!border-none mt-4",shadow:"never"},{default:e(()=>[t(h,{modelValue:i(s),"onUpdate:modelValue":o[0]||(o[0]=a=>H(s)?s.value=a:null),onTabChange:i(_)},{default:e(()=>[(n(),g(K,null,j(k,(a,m)=>t(E,{key:m,label:a.name,name:a.type,lazy:""},null,8,["label","name"])),64))]),_:1},8,["modelValue","onTabChange"]),v((n(),p(P,{size:"large",data:i(u).lists},{default:e(()=>[t(l,{label:"通知场景",prop:"scene_name","min-width":"120"}),t(l,{label:"通知类型",prop:"type_desc","min-width":"160"}),t(l,{label:"短信通知","min-width":"80"},{default:e(({row:a})=>{var m;return[((m=a.sms_notice)==null?void 0:m.status)==1?(n(),p(b,{key:0},{default:e(()=>[...o[1]||(o[1]=[c("开启",-1)])]),_:1})):(n(),p(b,{key:1,type:"danger"},{default:e(()=>[...o[2]||(o[2]=[c("关闭",-1)])]),_:1}))]}),_:1}),t(l,{label:"操作","min-width":"80",fixed:"right"},{default:e(({row:a})=>[v((n(),p(L,{type:"primary",link:""},{default:e(()=>[t(C,{to:{path:i(q)("notice.notice/set"),query:{id:a.id}}},{default:e(()=>[...o[3]||(o[3]=[c(" 设置 ",-1)])]),_:1},8,["to"])]),_:2},1024)),[[R,["notice.notice/set"]]])]),_:1})]),_:1},8,["data"])),[[x,i(u).loading]])]),_:1})])}}});export{zt as default}; +import{K as A,J as F,m as V,l as B,M,N as O,T as U,i as z,L as D}from"./element-plus-DFTWCWyi.js";import{a as N}from"./message-Dx96dhoI.js";import{u as S}from"./usePaging-VsbTxSU0.js";import{k as q}from"./index-DBREMm_z.js";import{f as y,ac as G,ar as I,as as J,ak as n,I as g,a as t,aN as e,F as K,ap as j,aP as v,G as p,O as c}from"./@vue/runtime-core-C6bnekPw.js";import{y as i,a as H,n as Q,r as W}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const X=y({name:"notice"}),zt=y({...X,setup(Y){let d;(r=>{r[r.USER=1]="USER",r[r.PLATFORM=2]="PLATFORM"})(d||(d={}));const s=Q(1),k=[{name:"通知用户",type:1},{name:"通知平台",type:2}],T=W({recipient:s}),{pager:u,getLists:_}=S({fetchFun:N,params:T});return G(()=>{_()}),_(),(r,o)=>{const w=A,f=F,E=B,h=V,l=O,b=U,C=I("router-link"),L=z,P=M,R=J("perms"),x=D;return n(),g("div",null,[t(f,{class:"!border-none",shadow:"never"},{default:e(()=>[t(w,{type:"warning",title:"温馨提示:平台配置在各个场景下的通知发送方式和内容模板",closable:!1,"show-icon":""})]),_:1}),t(f,{class:"!border-none mt-4",shadow:"never"},{default:e(()=>[t(h,{modelValue:i(s),"onUpdate:modelValue":o[0]||(o[0]=a=>H(s)?s.value=a:null),onTabChange:i(_)},{default:e(()=>[(n(),g(K,null,j(k,(a,m)=>t(E,{key:m,label:a.name,name:a.type,lazy:""},null,8,["label","name"])),64))]),_:1},8,["modelValue","onTabChange"]),v((n(),p(P,{size:"large",data:i(u).lists},{default:e(()=>[t(l,{label:"通知场景",prop:"scene_name","min-width":"120"}),t(l,{label:"通知类型",prop:"type_desc","min-width":"160"}),t(l,{label:"短信通知","min-width":"80"},{default:e(({row:a})=>{var m;return[((m=a.sms_notice)==null?void 0:m.status)==1?(n(),p(b,{key:0},{default:e(()=>[...o[1]||(o[1]=[c("开启",-1)])]),_:1})):(n(),p(b,{key:1,type:"danger"},{default:e(()=>[...o[2]||(o[2]=[c("关闭",-1)])]),_:1}))]}),_:1}),t(l,{label:"操作","min-width":"80",fixed:"right"},{default:e(({row:a})=>[v((n(),p(L,{type:"primary",link:""},{default:e(()=>[t(C,{to:{path:i(q)("notice.notice/set"),query:{id:a.id}}},{default:e(()=>[...o[3]||(o[3]=[c(" 设置 ",-1)])]),_:1},8,["to"])]),_:2},1024)),[[R,["notice.notice/set"]]])]),_:1})]),_:1},8,["data"])),[[x,i(u).loading]])]),_:1})])}}});export{zt as default}; diff --git a/server/public/admin/assets/index-CpNKJflv.js b/server/public/admin/assets/index-DlsUzUTw.js similarity index 86% rename from server/public/admin/assets/index-CpNKJflv.js rename to server/public/admin/assets/index-DlsUzUTw.js index 1c14b6da..3fa1da77 100644 --- a/server/public/admin/assets/index-CpNKJflv.js +++ b/server/public/admin/assets/index-DlsUzUTw.js @@ -1 +1 @@ -import{D as T,B as j,C as q,i as z,J as A,L as J,M,N as G,q as H,g as O}from"./element-plus-0wC3naml.js";import{_ as Q}from"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import{c as W,i as X,_ as Y}from"./index-E47--KT7.js";import{w as k}from"./@vue/runtime-dom-DDAG46FW.js";import{a as Z,b as ee,c as te}from"./admin-DO1zWq80.js";import{u as oe}from"./usePaging-VsbTxSU0.js";import ae from"./edit-Ma-5Uh1k.js";import{f as x,b as ie,as as ne,ak as m,I as le,a as e,aN as a,O as _,aP as f,G as s,J as V,H as me,n as E}from"./@vue/runtime-core-C6bnekPw.js";import{y as n,a as re,q as se,r as pe,n as de}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./picker-DlbAZkDm.js";import"./index-nymJKQXP.js";import"./index-B56X8bEB.js";import"./index-BHTgr4Ka.js";import"./index-Ci4dcEQh.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-DoYUJmkp.js";import"./index.vue_vue_type_script_setup_true_lang-Bl0f8aX8.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./department-4lF54x8w.js";import"./post-Dq6zumLO.js";import"./useDictOptions-CypOxw17.js";const ce={class:"doctor-list"},ue={class:"mt-4"},_e={class:"flex mt-4 justify-end"},fe=x({name:"doctorList"}),be=x({...fe,setup(ve){const b=se(),r=pe({account:"",name:"",role_id:2,apply_data_scope:1}),v=de(!1),{pager:p,getLists:d,resetParams:D,resetPage:h}=oe({fetchFun:Z,params:r}),P=o=>{ee({id:o.id,avatar:o.avatar,account:o.account,name:o.name,role_id:o.role_id,jobs_id:o.jobs_id,dept_id:o.dept_id,disable:o.disable,multipoint_login:o.multipoint_login}).finally(()=>{d()})},B=async()=>{var o;v.value=!0,await E(),(o=b.value)==null||o.open("add")},I=async o=>{var t,c;v.value=!0,await E(),(t=b.value)==null||t.open("edit"),(c=b.value)==null||c.setFormData(o)},N=async o=>{await X.confirm("确定要删除该医助吗?"),await te({id:o}),d()};return ie(()=>{d()}),(o,t)=>{const c=q,y=j,u=z,$=T,C=A,K=W,l=G,L=H,U=O,F=M,R=Q,w=ne("perms"),S=J;return m(),le("div",ce,[e(C,{class:"!border-none",shadow:"never"},{default:a(()=>[e($,{class:"mb-[-16px]",model:n(r),inline:""},{default:a(()=>[e(y,{class:"w-[280px]",label:"医助账号"},{default:a(()=>[e(c,{modelValue:n(r).account,"onUpdate:modelValue":t[0]||(t[0]=i=>n(r).account=i),placeholder:"请输入医助账号",clearable:"",onKeyup:k(n(h),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(y,{class:"w-[280px]",label:"医助名称"},{default:a(()=>[e(c,{modelValue:n(r).name,"onUpdate:modelValue":t[1]||(t[1]=i=>n(r).name=i),placeholder:"请输入医助名称",clearable:"",onKeyup:k(n(h),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(y,null,{default:a(()=>[e(u,{type:"primary",onClick:n(h)},{default:a(()=>[...t[4]||(t[4]=[_("查询",-1)])]),_:1},8,["onClick"]),e(u,{onClick:n(D)},{default:a(()=>[...t[5]||(t[5]=[_("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),f((m(),s(C,{class:"mt-4 !border-none",shadow:"never"},{default:a(()=>[f((m(),s(u,{type:"primary",onClick:B},{icon:a(()=>[e(K,{name:"el-icon-Plus"})]),default:a(()=>[t[6]||(t[6]=_(" 新增医助 ",-1))]),_:1})),[[w,["auth.admin/add"]]]),V("div",ue,[e(F,{data:n(p).lists,size:"large"},{default:a(()=>[e(l,{label:"ID",prop:"id","min-width":"60"}),e(l,{label:"头像","min-width":"100"},{default:a(({row:i})=>[e(L,{size:50,src:i.avatar},null,8,["src"])]),_:1}),e(l,{label:"账号",prop:"account","min-width":"120"}),e(l,{label:"姓名",prop:"name","min-width":"100"}),e(l,{label:"手机号",prop:"phone","min-width":"120"}),e(l,{label:"创建时间",prop:"create_time","min-width":"180"}),e(l,{label:"最近登录时间",prop:"login_time","min-width":"180"}),e(l,{label:"最近登录IP",prop:"login_ip","min-width":"120"}),f((m(),s(l,{label:"状态","min-width":"100"},{default:a(({row:i})=>[e(U,{modelValue:i.disable,"onUpdate:modelValue":g=>i.disable=g,"active-value":0,"inactive-value":1,onChange:g=>P(i)},null,8,["modelValue","onUpdate:modelValue","onChange"])]),_:1})),[[w,["auth.admin/edit"]]]),e(l,{label:"操作",width:"120",fixed:"right"},{default:a(({row:i})=>[f((m(),s(u,{type:"primary",link:"",onClick:g=>I(i)},{default:a(()=>[...t[7]||(t[7]=[_(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[w,["auth.admin/edit"]]]),f((m(),s(u,{type:"danger",link:"",onClick:g=>N(i.id)},{default:a(()=>[...t[8]||(t[8]=[_(" 删除 ",-1)])]),_:1},8,["onClick"])),[[w,["auth.admin/delete"]]])]),_:1})]),_:1},8,["data"])]),V("div",_e,[e(R,{modelValue:n(p),"onUpdate:modelValue":t[2]||(t[2]=i=>re(p)?p.value=i:null),onChange:n(d)},null,8,["modelValue","onChange"])])]),_:1})),[[S,n(p).loading]]),n(v)?(m(),s(ae,{key:0,ref_key:"editRef",ref:b,onSuccess:n(d),onClose:t[3]||(t[3]=i=>v.value=!1)},null,8,["onSuccess"])):me("",!0)])}}}),yt=Y(be,[["__scopeId","data-v-64b2cdbe"]]);export{yt as default}; +import{D as T,B as j,C as q,i as z,J as A,L as J,M,N as G,q as H,g as O}from"./element-plus-DFTWCWyi.js";import{_ as Q}from"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import{c as W,i as X,_ as Y}from"./index-DBREMm_z.js";import{w as k}from"./@vue/runtime-dom-DDAG46FW.js";import{a as Z,b as ee,c as te}from"./admin-DVVxI3fN.js";import{u as oe}from"./usePaging-VsbTxSU0.js";import ae from"./edit-BhpztwAz.js";import{f as x,b as ie,as as ne,ak as m,I as le,a as e,aN as a,O as _,aP as f,G as s,J as V,H as me,n as E}from"./@vue/runtime-core-C6bnekPw.js";import{y as n,a as re,q as se,r as pe,n as de}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./picker-BCRrEZaA.js";import"./index-BwF7vczx.js";import"./index-BiPYXDtP.js";import"./index-CbfZXeGu.js";import"./index-CRoZWY-W.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-BimpIRb_.js";import"./index.vue_vue_type_script_setup_true_lang-x0oL2ShL.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./department-CrUndMAW.js";import"./post-RziaWdiV.js";import"./useDictOptions-Dl6xXBty.js";const ce={class:"doctor-list"},ue={class:"mt-4"},_e={class:"flex mt-4 justify-end"},fe=x({name:"doctorList"}),be=x({...fe,setup(ve){const b=se(),r=pe({account:"",name:"",role_id:2,apply_data_scope:1}),v=de(!1),{pager:p,getLists:d,resetParams:D,resetPage:h}=oe({fetchFun:Z,params:r}),P=o=>{ee({id:o.id,avatar:o.avatar,account:o.account,name:o.name,role_id:o.role_id,jobs_id:o.jobs_id,dept_id:o.dept_id,disable:o.disable,multipoint_login:o.multipoint_login}).finally(()=>{d()})},B=async()=>{var o;v.value=!0,await E(),(o=b.value)==null||o.open("add")},I=async o=>{var t,c;v.value=!0,await E(),(t=b.value)==null||t.open("edit"),(c=b.value)==null||c.setFormData(o)},N=async o=>{await X.confirm("确定要删除该医助吗?"),await te({id:o}),d()};return ie(()=>{d()}),(o,t)=>{const c=q,y=j,u=z,$=T,C=A,K=W,l=G,L=H,U=O,F=M,R=Q,w=ne("perms"),S=J;return m(),le("div",ce,[e(C,{class:"!border-none",shadow:"never"},{default:a(()=>[e($,{class:"mb-[-16px]",model:n(r),inline:""},{default:a(()=>[e(y,{class:"w-[280px]",label:"医助账号"},{default:a(()=>[e(c,{modelValue:n(r).account,"onUpdate:modelValue":t[0]||(t[0]=i=>n(r).account=i),placeholder:"请输入医助账号",clearable:"",onKeyup:k(n(h),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(y,{class:"w-[280px]",label:"医助名称"},{default:a(()=>[e(c,{modelValue:n(r).name,"onUpdate:modelValue":t[1]||(t[1]=i=>n(r).name=i),placeholder:"请输入医助名称",clearable:"",onKeyup:k(n(h),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(y,null,{default:a(()=>[e(u,{type:"primary",onClick:n(h)},{default:a(()=>[...t[4]||(t[4]=[_("查询",-1)])]),_:1},8,["onClick"]),e(u,{onClick:n(D)},{default:a(()=>[...t[5]||(t[5]=[_("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),f((m(),s(C,{class:"mt-4 !border-none",shadow:"never"},{default:a(()=>[f((m(),s(u,{type:"primary",onClick:B},{icon:a(()=>[e(K,{name:"el-icon-Plus"})]),default:a(()=>[t[6]||(t[6]=_(" 新增医助 ",-1))]),_:1})),[[w,["auth.admin/add"]]]),V("div",ue,[e(F,{data:n(p).lists,size:"large"},{default:a(()=>[e(l,{label:"ID",prop:"id","min-width":"60"}),e(l,{label:"头像","min-width":"100"},{default:a(({row:i})=>[e(L,{size:50,src:i.avatar},null,8,["src"])]),_:1}),e(l,{label:"账号",prop:"account","min-width":"120"}),e(l,{label:"姓名",prop:"name","min-width":"100"}),e(l,{label:"手机号",prop:"phone","min-width":"120"}),e(l,{label:"创建时间",prop:"create_time","min-width":"180"}),e(l,{label:"最近登录时间",prop:"login_time","min-width":"180"}),e(l,{label:"最近登录IP",prop:"login_ip","min-width":"120"}),f((m(),s(l,{label:"状态","min-width":"100"},{default:a(({row:i})=>[e(U,{modelValue:i.disable,"onUpdate:modelValue":g=>i.disable=g,"active-value":0,"inactive-value":1,onChange:g=>P(i)},null,8,["modelValue","onUpdate:modelValue","onChange"])]),_:1})),[[w,["auth.admin/edit"]]]),e(l,{label:"操作",width:"120",fixed:"right"},{default:a(({row:i})=>[f((m(),s(u,{type:"primary",link:"",onClick:g=>I(i)},{default:a(()=>[...t[7]||(t[7]=[_(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[w,["auth.admin/edit"]]]),f((m(),s(u,{type:"danger",link:"",onClick:g=>N(i.id)},{default:a(()=>[...t[8]||(t[8]=[_(" 删除 ",-1)])]),_:1},8,["onClick"])),[[w,["auth.admin/delete"]]])]),_:1})]),_:1},8,["data"])]),V("div",_e,[e(R,{modelValue:n(p),"onUpdate:modelValue":t[2]||(t[2]=i=>re(p)?p.value=i:null),onChange:n(d)},null,8,["modelValue","onChange"])])]),_:1})),[[S,n(p).loading]]),n(v)?(m(),s(ae,{key:0,ref_key:"editRef",ref:b,onSuccess:n(d),onClose:t[3]||(t[3]=i=>v.value=!1)},null,8,["onSuccess"])):me("",!0)])}}}),yt=Y(be,[["__scopeId","data-v-64b2cdbe"]]);export{yt as default}; diff --git a/server/public/admin/assets/index-E47--KT7.js b/server/public/admin/assets/index-E47--KT7.js deleted file mode 100644 index 03b4fcf9..00000000 --- a/server/public/admin/assets/index-E47--KT7.js +++ /dev/null @@ -1,2 +0,0 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/404-hpF_YYxd.js","assets/error-BJHvk5qu.js","assets/element-plus-0wC3naml.js","assets/@vue/runtime-dom-DDAG46FW.js","assets/lodash-D3kF6u-c.js","assets/@vue/runtime-core-C6bnekPw.js","assets/@vue/reactivity-DiY1c2vO.js","assets/@vue/shared-mAAVTE9n.js","assets/@element-plus/icons-vue-HOEUG8sr.js","assets/lodash-es-C2A-Pj28.js","assets/@popperjs/core-C5az9QE8.js","assets/dayjs-DG77mNTn.js","assets/@ctrl/tinycolor-BuyEbX8F.js","assets/async-validator-CFA_igpM.js","assets/normalize-wheel-es-BQoi3Ox2.js","assets/element-plus-C_YxM8bk.css","assets/vue-router-QlpZ4wdW.js","assets/jspdf-BsthCvR5.js","assets/@babel/runtime-BanGtE2-.js","assets/fflate-_ayOYiT1.js","assets/pinia-B8cvXbiZ.js","assets/axios-C80V62Fs.js","assets/@vueuse/core-1S4fJlii.js","assets/@vueuse/shared-Cl3lVqjz.js","assets/css-color-function-DI01JAaZ.js","assets/balanced-match-BdS7OldZ.js","assets/color-B2zxaWkI.js","assets/clone-DBZ6_OiU.js","assets/color-convert-OrFsTA_V.js","assets/color-name-Dju3oUBS.js","assets/color-string-pUQDDJII.js","assets/ms-CzQ2E3wO.js","assets/vue-clipboard3-DByT_rEQ.js","assets/clipboard-CHgxszqY.js","assets/echarts-CNLwa9wG.js","assets/tslib-BDyQ-Jie.js","assets/zrender-DRNXw7y3.js","assets/highlight.js-Bxt7hFFy.js","assets/highlight-BfC0goYb.css","assets/@highlightjs/vue-plugin-C4onkBvW.js","assets/error-Cz3CexuM.css","assets/403-BQYUcr_f.js","assets/login-fh_9QCs9.js","assets/useLockFn-X4Qce5KO.js","assets/footer.vue_vue_type_script_setup_true_lang-DHdwl9ND.js","assets/login-Bt4SvQsz.css","assets/change-password-CX-eiL2A.js","assets/change-password-DRfsLJ26.css","assets/bind-work-wechat-srD3ph6p.js","assets/wecomOauthPostMessage-C_e6VGrO.js","assets/bind-work-wechat-BX1gqwq1.css","assets/setting-zQ275fvQ.js","assets/index-9zND60WT.js","assets/index-DoFDMZdP.css","assets/picker-DlbAZkDm.js","assets/index-nymJKQXP.js","assets/index-B3imPWFk.css","assets/index-B56X8bEB.js","assets/index.vue_vue_type_script_setup_true_lang-DXTGI59-.js","assets/index-BHTgr4Ka.js","assets/index-D0f1Mn00.css","assets/index-Ci4dcEQh.js","assets/cos-js-sdk-v5-DSMN0LUT.js","assets/file-DoYUJmkp.js","assets/index.vue_vue_type_script_setup_true_lang-Bl0f8aX8.js","assets/usePaging-VsbTxSU0.js","assets/index-BYOmK9R5.css","assets/vuedraggable-5bKFmC7X.js","assets/vue-BVs68q8v.js","assets/@vue/compiler-dom-CqayqxS7.js","assets/@vue/compiler-core-CvbQOXIO.js","assets/sortablejs-dsEAUXlE.js","assets/picker-XZbUgFct.css","assets/setting-CxqqGetv.css","assets/progress-DiQn9RZz.js","assets/doctor-6V0qM7Ks.js","assets/progress-CQXIT7YT.css","assets/pc_details-j9bN0XnC.js","assets/decoration-ChND9qat.js","assets/preview-pc-BmqIs2iT.js","assets/index-OPSjrJvJ.js","assets/attr-CLlbMhxO.js","assets/picker-B9b8bj5N.js","assets/article-DJnP6RZd.js","assets/picker-JBYDNsl5.css","assets/attr-lNortPsv.css","assets/content.vue_vue_type_script_setup_true_lang-B9VzIZnv.js","assets/decoration-img-CZl9mrsf.js","assets/decoration-img-C5XvHl9_.css","assets/attr.vue_vue_type_script_setup_true_lang-BN--zfly.js","assets/content-B6YfxEbd.js","assets/content-DXAsZ7EV.css","assets/attr.vue_vue_type_script_setup_true_lang-BIDjj2ZQ.js","assets/content.vue_vue_type_script_setup_true_lang-C4EWc4Ny.js","assets/attr.vue_vue_type_script_setup_true_lang-CVwolQf4.js","assets/add-nav.vue_vue_type_script_setup_true_lang-DqZ_o5sa.js","assets/content-Cj4lK4l8.js","assets/content-Dy_alH9u.css","assets/attr.vue_vue_type_script_setup_true_lang-BVV-rQuy.js","assets/content.vue_vue_type_script_setup_true_lang-CuEc-gLQ.js","assets/attr.vue_vue_type_script_setup_true_lang-DnkDutJb.js","assets/content-Dyh_0iwA.js","assets/content-Cl-9UIip.css","assets/attr.vue_vue_type_script_setup_true_lang-CTVcHVd7.js","assets/index.vue_vue_type_script_setup_true_lang-C384XBPz.js","assets/content-B1b0mSAw.js","assets/content.vue_vue_type_script_setup_true_lang-hItYL1wr.js","assets/attr.vue_vue_type_script_setup_true_lang-ChKJn1wI.js","assets/content-B7VEJItb.js","assets/content-Bd3rHJ5J.css","assets/attr.vue_vue_type_script_setup_true_lang-A0LOU1hn.js","assets/content.vue_vue_type_script_setup_true_lang-zA2x9af7.js","assets/attr.vue_vue_type_script_setup_true_lang-9MDVGbdQ.js","assets/content-CgQTA2IB.js","assets/content-DxNvUNZR.css","assets/preview-pc-BRQDo0AR.css","assets/pc_details-nlJo1_D0.css","assets/h5-DoiReXRh.js","assets/fans-Cx6ejviX.js","assets/h5-BSFcFSny.css","assets/index_h5-1irCcr3H.js","assets/tcm-SLIwsL8z.js","assets/order-BogYGNkX.js","assets/weapp-C8BHuU_o.js","assets/perm-YIJpPBOg.js","assets/index_h5-B4VTGZps.css","assets/readonly-D4rhgc7P.js","assets/patient-DKQ1nUyC.js","assets/diag-display-DCz_VAqj.js","assets/PatientInfoCard-BuXf4C8w.js","assets/PatientInfoCard-BrBnXtc9.css","assets/PatientCaseCard-Dkbl8NTI.js","assets/blood-thresholds-CJ1fqMjh.js","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/PatientCaseCard-De53cbHo.css","assets/DailyMatrix-0DiBlpfB.js","assets/vue-echarts-BNtg2q_G.js","assets/resize-detector-G6vbKCU7.js","assets/DiagnosisTodoList-DC7uqd6f.js","assets/DiagnosisTodoList-D0SBmTHG.css","assets/DailyMatrix-zLBaKfXe.css","assets/CallRecordPanel-CLexkvxf.js","assets/RecordingPlaybackBlock-z0PPBYke.js","assets/RecordingVideoPlayer-DWV7klHs.js","assets/RecordingVideoPlayer-4DegHAwm.css","assets/RecordingPlaybackBlock-B3KYFgvg.css","assets/CallRecordPanel-TsjZtTO8.css","assets/ImChatRecordPanel-DiuuXcLT.js","assets/im-business-message-parse-QKjFLn3X.js","assets/ImChatRecordPanel-aX8zpWRQ.css","assets/AssignLogPanel-B0ohl4pV.js","assets/AssignLogPanel-BdKOtd2m.css","assets/AppointmentRecordPanel-BZnhzLjC.js","assets/AppointmentRecordPanel-DC22GDgn.css","assets/PatientOrderList-DQ7QxnQw.js","assets/PatientOrderList-iKx_Cn9B.css","assets/NoteTimeline-CDNv1DMC.js","assets/NoteTimeline-CCWIpEBQ.css","assets/readonly-CE3_Vnn1.css","assets/index-8sBm8V5s.js","assets/edit-hgBBPYXJ.js","assets/edit.vue_vue_type_script_setup_true_name_articleColumnEdit_lang-CzxfOEt7.js","assets/index-B3yIIPa0.js","assets/edit-CW0m9s4L.js","assets/index.vue_vue_type_style_index_0_lang-CSw0OmVb.js","assets/@wangeditor/editor-Cyf37SuL.js","assets/@wangeditor/editor-nHDhGvq6.css","assets/@wangeditor/editor-for-vue-D1vSph3l.js","assets/index-DX96drV3.css","assets/useDictOptions-CypOxw17.js","assets/index-PPsi8ojx.js","assets/h5-Db8wr74y.js","assets/open_setting-6S0GqHoV.js","assets/weapp-CFtIuYar.js","assets/config-CYCTw4Fc.js","assets/wx_oa-CMZpCm8a.js","assets/menu-BWXOs8hh.js","assets/oa-attr-BlJTj8od.js","assets/oa-menu-form.vue_vue_type_script_setup_true_lang-CREThn5_.js","assets/useMenuOa-C5oHvLlA.js","assets/oa-menu-form-edit.vue_vue_type_script_setup_true_lang-Bea0Guom.js","assets/oa-phone-n60FNq77.js","assets/oa-phone-CctIyraX.css","assets/oa-menu-form-edit-CkUzHnj9.js","assets/oa-menu-form-B41xqdbc.js","assets/default_reply-BLLS8q8G.js","assets/edit.vue_vue_type_script_setup_true_lang-BsajSW9y.js","assets/edit-BH5h2IG9.js","assets/follow_reply-BSV7U6b5.js","assets/keyword_reply-KE0otsUG.js","assets/MessageBubble-c6JPgo9w.js","assets/MessageBubble-BwtdPM6K.css","assets/SendPanel-2lfWsLed.js","assets/SendPanel-DaGPWlQG.css","assets/index-CEqLgoFP.js","assets/index-CMsGEvq_.css","assets/edit-Ma-5Uh1k.js","assets/admin-DO1zWq80.js","assets/department-4lF54x8w.js","assets/post-Dq6zumLO.js","assets/edit-CObVTcPU.css","assets/index-CpNKJflv.js","assets/index-CjSHFu-R.css","assets/account-adjust-Dqh1AEa3.js","assets/account-adjust.vue_vue_type_script_setup_true_lang-Bsqxx3M3.js","assets/edit-BVgeLr6b.js","assets/edit-D-D8bVPM.css","assets/index-DsQrRd_r.js","assets/index-Oppei429.css","assets/paiban-D6p98E_u.js","assets/paiban-CXjt7GKw.css","assets/detail-DzXhStO7.js","assets/consumer-C-hGL7Bd.js","assets/index-49FAA4lV.js","assets/index.vue_vue_type_script_setup_true_lang-DLNQ3IjV.js","assets/index.vue_vue_type_script_setup_true_lang-DBEwrTRf.js","assets/index-BJ25yAIh.js","assets/medicine-D-OyzCbR.js","assets/role-DPqAO58h.js","assets/index-wwnvQhjf.js","assets/index-tfEElgYq.css","assets/html2canvas-QH1iLAAe.js","assets/index-zpbrqInc.css","assets/list-Biq_8Mno.js","assets/list-DCr5iNO-.css","assets/order_list-pZ0oXEQT.js","assets/order_list-Bm0nTeml.css","assets/order_list_h5-tCnZ1_6u.js","assets/order_list_h5-BTXk0uO3.css","assets/add-nav-BP84JTbJ.js","assets/attr-setting-BQ-x4ArE.js","assets/attr-setting.vue_vue_type_script_setup_true_lang-Rx2Z7krO.js","assets/menu-Cw5oPkn4.js","assets/menu-DYFusokT.css","assets/preview-D1vgcnnO.js","assets/preview-C7oaKmYo.css","assets/attr-BH86F3a-.js","assets/attr.vue_vue_type_script_setup_true_lang-BO_riRgF.js","assets/content-Dt4NHJyv.js","assets/content-DaxRy47P.css","assets/attr-Dta0v7QA.js","assets/menu-set.vue_vue_type_script_setup_true_lang-ZzWuHRXB.js","assets/content-CtN1fP4w.js","assets/content-sMbqkta2.css","assets/menu-set-DesB-ZdE.js","assets/content-DP2jpo2x.js","assets/attr-8ElsMl3U.js","assets/attr-CtBO5Z_O.js","assets/content-Ba9eVUWZ.js","assets/attr-B35dGV5K.js","assets/attr-BkmkxePz.js","assets/content-BcVLO4Yk.js","assets/attr-Db6EuK6T.js","assets/attr-CNph-R0s.js","assets/content-DoO11RHs.js","assets/attr-BS21VV6Q.js","assets/attr-DPrxRs4q.js","assets/content-CfP4zJwT.js","assets/attr-gr_OE7on.js","assets/index-COsry1Al.js","assets/index-57RdOFNo.css","assets/pc-Cxr5rLiS.js","assets/mobile-style-Bbbeu-70.js","assets/mobile-style.vue_vue_type_script_setup_true_lang-kf20_-Gy.js","assets/theme-picker-ZOnz3jM-.js","assets/theme-picker-BsELUxM9.css","assets/style-BWagwxsz.js","assets/tabbar-DXJ2sWWu.js","assets/tabbar-DJsOahKR.css","assets/edit-CktqTQQ_.js","assets/menu-CJerAkpY.js","assets/dict-Nvtnb8GD.js","assets/code-DY1HVNqE.js","assets/relations-add.vue_vue_type_script_setup_true_lang-CKhVzzB6.js","assets/edit-CAJZpU7c.css","assets/index-NHnOTG-4.js","assets/code-preview.vue_vue_type_script_setup_true_lang-C8dEJDd2.js","assets/data-table.vue_vue_type_script_setup_true_lang-Bt3AQScq.js","assets/code-preview-C6qDIvgm.js","assets/data-table-Bk1rmEww.js","assets/relations-add-C6KNKz4Y.js","assets/dept-tongji-BJuS-9pm.js","assets/dept-tongji-ky7rOYoi.css","assets/medicine-r1tvom0T.js","assets/medicine-DO6x6zrS.css","assets/roster-BT97aWzA.js","assets/roster-rVaxg-O6.css","assets/tongji-DUDPbB5C.js","assets/tongji-C0VnzFxy.css","assets/commission-settlement-B3R3uSwd.js","assets/stats-DxFb49QX.js","assets/commission-settlement-Ddhkz5ks.css","assets/index-DxZyYPmh.js","assets/qywx-CXKXaUIE.js","assets/qywx-BzfLWvoO.css","assets/yeji-hPX302E_.js","assets/finance-C48kuhTG.js","assets/yeji-BWZylxIy.css","assets/edit-CTvlHb1B.js","assets/edit.vue_vue_type_script_setup_true_lang-BRxNvBo2.js","assets/index-gJc6Zoby.js","assets/balance_details-CuLNXHHw.js","assets/refund-log-Ce69Mq4B.js","assets/refund-log.vue_vue_type_script_setup_true_lang-zH1cmhVW.js","assets/mubiao-dept-card-BBumqYkN.js","assets/mubiao-dept-card-naMqyghz.css","assets/mubiao-dept-node-DxQpVAOL.js","assets/mubiao-dept-node-CANQUVWv.css","assets/mubiao-BojtsTyp.js","assets/mubiao-B6IOi2bJ.css","assets/recharge_record-6j9RWYrl.js","assets/refund_record-DsraTcjC.js","assets/index-CVVDN2Y9.js","assets/index-DhR2yeiO.css","assets/edit-U_naBmb0.js","assets/message-CSrefGEU.js","assets/index-D1uCY6l3.js","assets/edit-Cj0lyXv8.js","assets/edit.vue_vue_type_script_setup_true_lang-CAjYh8N9.js","assets/index-BA_0yQtx.js","assets/index-B5KYWUG1.js","assets/index-DYTH4Nwn.css","assets/edit-Cne84dsM.js","assets/edit.vue_vue_type_script_setup_true_lang-n7cqpx9_.js","assets/index-ot-C1dYE.js","assets/edit-Dhq5bPXP.js","assets/edit.vue_vue_type_script_setup_true_lang-YNgwqh5W.js","assets/index-CIsW_Bao.js","assets/index-BLhBiyLa.js","assets/index-Bqs56mLH.css","assets/edit-wfA6DpoG.js","assets/edit.vue_vue_type_script_setup_true_lang-3m13EY17.js","assets/index-fhARdqxo.js","assets/edit-aPyRH11x.js","assets/edit.vue_vue_type_script_setup_true_lang-C3YGQx3u.js","assets/picker.vue_vue_type_script_setup_true_lang-DBWe-4hk.js","assets/index-BVxwK15h.js","assets/auth-CnJ8rnDs.js","assets/auth.vue_vue_type_script_setup_true_lang-Cd0iTg-I.js","assets/edit-C5KmTU_p.js","assets/edit.vue_vue_type_script_setup_true_lang-BxJc3obM.js","assets/index-CsSAUW1e.js","assets/edit-DkNQatXb.js","assets/edit.vue_vue_type_script_setup_true_lang-DItGEiu-.js","assets/index-DFiWKjQO.js","assets/edit-D4HOYBIv.js","assets/edit.vue_vue_type_script_setup_true_lang-C3aOnTrX.js","assets/index-xrZVk_ET.js","assets/edit-D3JE6NlA.js","assets/pay-wX-vUDcK.js","assets/getExposeType-MUpmx9zy.js","assets/edit-C1NtFi7N.css","assets/index-CMwwIkSa.js","assets/index-CyZ-wwFn.js","assets/index-MIXvCMVf.js","assets/index-BzrSkGWL.css","assets/edit-CK5zzVEN.js","assets/edit.vue_vue_type_script_setup_true_lang-BdtkGJu8.js","assets/index-BVSryKMe.js","assets/cache-k4QSZNlp.js","assets/environment-Bwhdt1o9.js","assets/journal-BRB574_h.js","assets/edit-Do-kTB4P.js","assets/index-CZ3wLVRe.js","assets/login_register-B0lLvaDu.js","assets/user-y-C1e-zK.js","assets/setup-Bne5IzJ3.js","assets/filing-Bdgu8afO.js","assets/website-BmYKVBCc.js","assets/information-Dc7gSbun.js","assets/protocol-DCNm_frc.js","assets/statistics-Bv1VMAw2.js","assets/index-t9gyn7b5.js","assets/index-DRKXaI9h.css","assets/prescription-drawer-B_oH5vNX.js","assets/prescription-drawer-_wsVAGl0.css","assets/list-BaTlu51A.js","assets/list-D5ZA4Hyd.css","assets/add-DDFfGjpS.js","assets/add-GuwNtREU.css","assets/appointment-D0hEffVf.js","assets/appointment-C9G6EGwx.css","assets/AssistantWatchCallDialog-LeKEiefN.js","assets/trtc-sdk-v5-D4DbeRqz.js","assets/AssistantWatchCallDialog-BIPZRgaH.css","assets/BloodRecordList-D6MglPEn.js","assets/BloodRecordList-DhVK-Y_e.css","assets/CaseRecordList-CsyYkwG-.js","assets/CaseRecordList-Cl-c3q7S.css","assets/DietRecordList-k5hMEz1n.js","assets/DietRecordList-Cc-xUr2B.css","assets/ExerciseRecordList-B5U5W1JH.js","assets/ExerciseRecordList-DGtgtzou.css","assets/TrackingMatrix-6AXA1QSn.js","assets/TrackingMatrix-zyxtXYPb.css","assets/TrackingNoteTimeline-qSUYMPQm.js","assets/TrackingNoteTimeline-B9T8pFso.css","assets/detail-41GQnmm8.js","assets/edit-DlBhR6x6.js","assets/index-kYFkWYEt.js","assets/index-DGbIWVjL.css","assets/edit-z2mn_utb.css","assets/index-Dlmqs7vK.js","assets/index-Bf1Q24wB.css","assets/index-CbvSIpPP.js","assets/index-BqqzElnH.css","assets/file-BU0cMb05.js","assets/icon-Cy-wDZTO.js","assets/link-lbTzaTBT.js","assets/overflow-1YcCzxdD.js","assets/popover_input-CBym-On7.js","assets/rich_text-izxF0JPq.js","assets/upload-Bw3SVd8y.js","assets/patient-call-CdFa74wE.js","assets/@tencentcloud/call-uikit-vue-DB7vt9Ht.js","assets/@tencentcloud/call-engine-js-BX2W9Lhf.js","assets/@tencentcloud/chat-AC2Y2r2A.js","assets/rtc-detect-Chu-fZvE.js","assets/@tencentcloud/tui-core-8M7p1XHw.js","assets/tim-upload-plugin-HO4N4AW9.js","assets/tim-profanity-filter-plugin-Dn_Cf-mP.js","assets/patient-call-k8V9hV2G.css","assets/index-DrH_NTKn.js","assets/index-DtDaTXOB.css"])))=>i.map(i=>d[i]); -var E1=Object.defineProperty;var H1=(a,o,e)=>o in a?E1(a,o,{enumerable:!0,configurable:!0,writable:!0,value:e}):a[o]=e;var U=(a,o,e)=>H1(a,typeof o!="symbol"?o+"":o,e);import{_ as i}from"./jspdf-BsthCvR5.js";import{u as V3,a as n3,c as T1,b as O1,R as I3}from"./vue-router-QlpZ4wdW.js";import{d as L3,c as I1}from"./pinia-B8cvXbiZ.js";import{a as J3,A as p3}from"./axios-C80V62Fs.js";import{l as C}from"./lodash-D3kF6u-c.js";import{y as m,a as k,n as c3,q as R1}from"./@vue/reactivity-DiY1c2vO.js";import{E as u3,a as Z,b as d3,c as P1,d as Q3,e as a1,f as B1,g as D1,h as C1,i as S1,j as k1,k as j1,l as N1,m as q1,n as o1,o as e1,p as t1,q as W1,r as i1,s as l1,u as G1,t as $1,v as U1,w as F1,x as Y1,y as Z1,z as X1,A as K1}from"./element-plus-0wC3naml.js";import{u as c1,a as n1,b as J1,c as Q1}from"./@vueuse/core-1S4fJlii.js";import{n as a0,f as V,A as b,ak as h,I as g,J as d,a as u,ar as s3,i as o0,aN as z,F as B,ap as K,O as I,G as A,H as D,w as s1,K as e0,at as r1,ab as j3,aP as m1,Z as t0,aq as i0,b as u1,d as l0,T as c0}from"./@vue/runtime-core-C6bnekPw.js";import{a as d1,p as r3,Q as R,o as b3,P as n0}from"./@vue/shared-mAAVTE9n.js";import{c as s0}from"./css-color-function-DI01JAaZ.js";import{I as h1,J as r0,d as m0,K as u0,c as d0}from"./@element-plus/icons-vue-HOEUG8sr.js";import{u as h0,h as v0}from"./@vueuse/shared-Cl3lVqjz.js";import{T as _0,q as v1,s as p0,a as z0,c as b0}from"./@vue/runtime-dom-DDAG46FW.js";import{u as y0}from"./vue-clipboard3-DByT_rEQ.js";import{u as g0,a as w0,b as f0,c as A0,d as V0,e as L0,f as M0,g as x0,h as E0,j as H0,k as T0,l as O0,m as I0,n as R0,o as P0,p as B0,q as D0,r as C0,s as S0,v as k0,w as j0,x as N0,y as q0,z as W0,A as G0,B as $0}from"./echarts-CNLwa9wG.js";import{a as U0}from"./highlight.js-Bxt7hFFy.js";import{o as F0}from"./@highlightjs/vue-plugin-C4onkBvW.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./clipboard-CHgxszqY.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";(function(){const o=document.createElement("link").relList;if(o&&o.supports&&o.supports("modulepreload"))return;for(const l of document.querySelectorAll('link[rel="modulepreload"]'))t(l);new MutationObserver(l=>{for(const c of l)if(c.type==="childList")for(const n of c.addedNodes)n.tagName==="LINK"&&n.rel==="modulepreload"&&t(n)}).observe(document,{childList:!0,subtree:!0});function e(l){const c={};return l.integrity&&(c.integrity=l.integrity),l.referrerPolicy&&(c.referrerPolicy=l.referrerPolicy),l.crossOrigin==="use-credentials"?c.credentials="include":l.crossOrigin==="anonymous"?c.credentials="omit":c.credentials="same-origin",c}function t(l){if(l.ep)return;l.ep=!0;const c=e(l);fetch(l.href,c)}})();const N={terminal:1,title:"后台管理系统",version:"1.9.4",baseUrl:"https://admin.zhenyangtang.com.cn//",urlPrefix:"adminapi",timeout:6e4};var T=(a=>(a.LOGIN="/login",a.ERROR_403="/403",a.INDEX="/",a))(T||{}),_1=(a=>(a.LIGHT="light",a.DARK="dark",a))(_1||{}),y3=(a=>(a.CATALOGUE="M",a.MENU="C",a.BUTTON="A",a))(y3||{}),R3=(a=>(a[a.SM=640]="SM",a[a.MD=768]="MD",a[a.LG=1024]="LG",a[a.XL=1280]="XL",a[a["2XL"]=1536]="2XL",a))(R3||{});const n7={1:"微信小程序",2:"微信公众号",3:"手机H5",4:"电脑PC",5:"苹果APP",6:"安卓APP"};var p1=(a=>(a.JSON="application/json;charset=UTF-8",a.FORM_DATA="multipart/form-data;charset=UTF-8",a))(p1||{}),e3=(a=>(a.GET="GET",a.POST="POST",a))(e3||{}),F=(a=>(a[a.NOT_INSTALL=-2]="NOT_INSTALL",a[a.LOGIN_FAILURE=-1]="LOGIN_FAILURE",a[a.FAIL=0]="FAIL",a[a.SUCCESS=1]="SUCCESS",a[a.OPEN_NEW_PAGE=2]="OPEN_NEW_PAGE",a[a.NEED_BIND_WORK_WECHAT=10]="NEED_BIND_WORK_WECHAT",a))(F||{});const g3="token",s7="account",w3="setting";function J(a){return/^(https?:|mailto:|tel:)/.test(a)}const Y0=(a,o)=>o.findIndex(e=>e.fullPath==a),N3=a=>a.name==null||a.name===""?"":`${String(a.name)}::${a.path}`,Z0=(a,o)=>{const{path:e,meta:t,name:l}=a;return!!(!e||J(e)||t!=null&&t.hideTab||!o.hasRoute(l)||[T.LOGIN,T.ERROR_403].includes(e))},X0=(a,o)=>o.findIndex(e=>e.fullPath===a),E3=a=>{var o,e,t;return(t=(e=(o=a.matched.at(-1))==null?void 0:o.components)==null?void 0:e.default)==null?void 0:t.name},z1=a=>{const{params:o,path:e,query:t}=a;return{params:o||{},path:e,query:t||{}}},m3=L3({id:"tabs",state:()=>({cacheTabList:new Set,tabList:[],tasMap:{},indexRouteName:""}),getters:{getTabList(){return this.tabList},getCacheTabList(){return Array.from(this.cacheTabList)}},actions:{setRouteName(a){this.indexRouteName=a},addCache(a){a&&this.cacheTabList.add(a)},removeCache(a){a&&this.cacheTabList.has(a)&&this.cacheTabList.delete(a)},clearCache(){this.cacheTabList.clear()},resetState(){this.cacheTabList=new Set,this.tabList=[],this.tasMap={},this.indexRouteName=""},addTab(a){const o=m(a.currentRoute),{name:e,query:t,meta:l,params:c,fullPath:n,path:r}=o;if(Z0(o,a))return;const s=Y0(n,this.tabList),_=E3(o),p={name:e,path:r,fullPath:n,title:l==null?void 0:l.title,query:t,params:c};if(l!=null&&l.keepAlive&&this.addCache(_),s!==-1){this.tabList[s]=p,this.tasMap[n]=p;return}const v=N3(p);if(v){const w=[];if(this.tabList.forEach((O,M)=>{N3(O)===v&&w.push(M)}),w.length>0){const O=w[0];for(let E=w.length-1;E>=1;E--){const f=w[E];delete this.tasMap[this.tabList[f].fullPath],this.tabList.splice(f,1)}const M=this.tabList[O];M.fullPath!==n&&delete this.tasMap[M.fullPath],this.tabList[O]=p,this.tasMap[n]=p;return}}this.tasMap[n]=p,this.tabList.push(p)},removeTab(a,o){const{currentRoute:e,push:t}=o,l=X0(a,this.tabList);this.tabList.length>1&&l!==-1&&this.tabList.splice(l,1);const c=E3(e.value);if(this.removeCache(c),a!==e.value.fullPath)return;let n=null;l===0?n=this.tabList[l]:n=this.tabList[l-1];const r=z1(n);t(r)},removeOtherTab(a){this.tabList=this.tabList.filter(e=>e.fullPath==a.fullPath);const o=E3(a);this.cacheTabList.forEach(e=>{o!==e&&this.removeCache(e)})},removeAllTab(a){const{push:o,currentRoute:e}=a,{name:t}=m(e);if(t==this.indexRouteName){this.removeOtherTab(e.value);return}this.tabList=[],this.clearCache(),o(T.INDEX)}}}),q={key:"like_admin_",set(a,o,e){a=this.getKey(a);let t={expire:e?this.time()+e:"",value:o};typeof t=="object"&&(t=JSON.stringify(t));try{window.localStorage.setItem(a,t)}catch{return null}},get(a){a=this.getKey(a);try{const o=window.localStorage.getItem(a);if(!o)return null;const{value:e,expire:t}=JSON.parse(o);return t&&t{a3.has(e)||a3.set(e,t)})}remove(o){if(a3.has(o)){const e=a3.get(o);e&&e(o),a3.delete(o)}}};U(A3,"instance");let B3=A3;const q3=B3.createInstance();class J0{constructor(o){U(this,"axiosInstance");U(this,"config");U(this,"options");this.config=o,this.options=o.requestOptions,this.axiosInstance=J3.create(o),this.setupInterceptors()}getAxiosInstance(){return this.axiosInstance}setupInterceptors(){if(!this.config.axiosHooks)return;const{requestInterceptorsHook:o,requestInterceptorsCatchHook:e,responseInterceptorsHook:t,responseInterceptorsCatchHook:l}=this.config.axiosHooks;this.axiosInstance.interceptors.request.use(c=>(this.addCancelToken(c),C.isFunction(o)&&(c=o(c)),c),c=>(C.isFunction(e)&&e(c),c)),this.axiosInstance.interceptors.response.use(c=>(this.removeCancelToken(c.config.url),C.isFunction(t)&&(c=t(c)),c),c=>{var n;return C.isFunction(l)&&l(c),c.code!=p3.ERR_CANCELED&&this.removeCancelToken((n=c.config)==null?void 0:n.url),c.code==p3.ECONNABORTED||c.code==p3.ERR_NETWORK?new Promise(r=>setTimeout(r,500)).then(()=>this.retryRequest(c)):Promise.reject(c)})}addCancelToken(o){const{ignoreCancelToken:e}=o.requestOptions;!e&&q3.add(o)}removeCancelToken(o){q3.remove(o)}retryRequest(o){var c;const e=o.config,{retryCount:t,isOpenRetry:l}=e.requestOptions;return!l||((c=e.method)==null?void 0:c.toUpperCase())==e3.POST||(e.retryCount=e.retryCount??0,e.retryCount>=t)?Promise.reject(o):(e.retryCount++,this.axiosInstance.request(e))}get(o,e){return this.request({...o,method:e3.GET},e)}post(o,e){return this.request({...o,method:e3.POST},e)}request(o,e){const t=C.merge({},this.options,e),l={...C.cloneDeep(o),requestOptions:t},{urlPrefix:c}=t;return c&&(l.url=`${c}${o.url}`),new Promise((n,r)=>{this.axiosInstance.request(l).then(s=>{n(s)}).catch(s=>{r(s)})})}}function Q0(){if(typeof window>"u")return!1;const{pathname:a,search:o}=window.location;return a.includes("bind-work-wechat")?/(?:^|[?&])code=/.test(o):!1}const W3="/bind-work-wechat";let G3=0;const a2={requestInterceptorsHook(a){var c;const{withToken:o,isParamsToData:e}=a.requestOptions,t=a.params||{},l=a.headers||{};if(o){const n=b1();l.token=n}return e&&!Reflect.has(a,"data")&&((c=a.method)==null?void 0:c.toUpperCase())===e3.POST&&(a.data=t,a.params={}),a.headers=l,a},requestInterceptorsCatchHook(a){return a},async responseInterceptorsHook(a){const{isTransformResponse:o,isReturnDefaultResponse:e}=a.config.requestOptions;if(e)return a;if(!o)return a.data;const{code:t,data:l,show:c,msg:n}=a.data;switch(t){case F.SUCCESS:return c&&n&&X.msgSuccess(n),l;case F.FAIL:return c&&n&&X.msgError(n),Promise.reject(l);case F.LOGIN_FAILURE:return t3(),H.push(T.LOGIN),Promise.reject();case F.NEED_BIND_WORK_WECHAT:if(H.currentRoute.value.path===W3||Q0())return Promise.reject(l);{const r=Date.now();r-G3>400&&(G3=r,H.replace(W3).catch(()=>{}))}return Promise.reject(l);case F.OPEN_NEW_PAGE:return window.location.href=l.url,l;case F.NOT_INSTALL:window.location.replace("/install/install.php");break;default:return l}},responseInterceptorsCatchHook(a){return a.code!==p3.ERR_CANCELED&&a.message&&X.msgError(a.message),Promise.reject(a)}},o2={timeout:N.timeout,baseURL:N.baseUrl,headers:{"Content-Type":p1.JSON,version:N.version},axiosHooks:a2,requestOptions:{isParamsToData:!0,isReturnDefaultResponse:!1,isTransformResponse:!0,urlPrefix:N.urlPrefix,ignoreCancelToken:!1,withToken:!0,isOpenRetry:!0,retryCount:2}};function e2(a){return new J0(C.merge(o2,{}))}const L=e2();function t2(a){return L.post({url:"/login/account",params:{...a,terminal:N.terminal}})}function i2(){return L.post({url:"/login/logout"})}function l2(){return L.get({url:"/auth.admin/mySelf"})}function r7(a){return L.post({url:"/auth.admin/editSelf",params:a})}function m7(){return L.get({url:"/login/workWechatConfig"})}function c2(a){return L.post({url:"/login/workWechatLogin",params:{...a,terminal:N.terminal}})}function u7(a){return L.post({url:"/auth.admin/bindWorkWechat",params:a})}function d7(){return L.post({url:"/auth.admin/unbindWorkWechat"})}function h7(a){return L.post({url:"/login/changeFirstPassword",params:a})}const Y=L3({id:"user",state:()=>({token:b1()||"",userInfo:{},routes:[],perms:[],isPaw:1}),getters:{},actions:{resetState(){this.token="",this.userInfo={},this.perms=[],this.isPaw=1},login(a){const{account:o,password:e}=a;return new Promise((t,l)=>{t2({account:o.trim(),password:e}).then(c=>{this.token=c.token,this.isPaw=c.is_paw??1,q.set(g3,c.token),t(c)}).catch(c=>{l(c)})})},logout(){return new Promise((a,o)=>{i2().then(async e=>{this.token="",await H.push(T.LOGIN),t3(),a(e)}).catch(e=>{o(e)})})},workWechatLogin(a){return new Promise((o,e)=>{c2({code:a}).then(t=>{this.token=t.token,this.isPaw=t.is_paw??1,q.set(g3,t.token),o(t)}).catch(t=>{e(t)})})},getUserInfo(){return new Promise((a,o)=>{l2().then(e=>{this.userInfo=e.user,this.perms=e.permissions,this.routes=f1(e.menu),this.isPaw=e.user.is_paw??1,a(e)}).catch(e=>{o(e)})})}}});function y1(){return L.get({url:"/config/getConfig"})}function v7(){return L.get({url:"/workbench/index"})}function _7(a){return L.get({url:"/config/dict",params:a})}const S=L3({id:"app",state:()=>({config:{},configFetchAttempted:!1,isMobile:!0,isCollapsed:!1,isRouteShow:!0}),actions:{getImageUrl(a){if(!a||typeof a!="string")return"";if(a.startsWith("http://")||a.startsWith("https://"))return a;const o=a.startsWith("/")?a:"/"+a,e=String(this.config.oss_domain||"").replace(/\/$/,"");if(e)return`${e}${o}`;const t=String(N.baseUrl||"/").replace(/\/+$/,"");if(t.startsWith("http://")||t.startsWith("https://"))try{return new URL(o,`${t}/`).href}catch{return`${t}${o}`}const l=typeof window<"u"?window.location.origin:"";return l?`${l}${o}`:o},getConfig(){return new Promise((a,o)=>{y1().then(e=>{this.config=e,a(e)}).catch(e=>{o(e)})})},setMobile(a){this.isMobile=a},toggleCollapsed(a){this.isCollapsed=a??!this.isCollapsed},refreshView(){this.isRouteShow=!1,a0(()=>{this.isRouteShow=!0})}}}),z3={showCrumb:!0,showLogo:!1,isUniqueOpened:!0,sideWidth:183,sideTheme:"dark",sideDarkColor:"#1d2124",openMultipleTabs:!0,theme:"#4A5DFF",successTheme:"#67c23a",warningTheme:"#e6a23c",dangerTheme:"#f56c6c",errorTheme:"#f56c6c",infoTheme:"#909399"},j=1,n2={1:["sideTheme","sideDarkColor"]},s2={"dark-2":"shade(20%)","light-3":"tint(30%)","light-5":"tint(50%)","light-7":"tint(70%)","light-8":"tint(80%)","light-9":"tint(90%)"},r2={"light-3":"shade(20%)","light-5":"shade(30%)","light-7":"shade(50%)","light-8":"shade(60%)","light-9":"shade(70%)","dark-2":"tint(20%)"},$3="theme-vars",m2=(a,o="primary",e=!1)=>{const t={[`--el-color-${o}`]:a},l=e?r2:s2;for(const c in l)t[`--el-color-${o}-${c}`]=`color(${a} ${l[c]})`;return t},u2=(a,o=!1)=>{const e=Object.keys(a).reduce((c,n)=>Object.assign(c,m2(a[n],n,o)),{});let t=Object.keys(e).reduce((c,n)=>{const r=s0.convert(e[n]);return`${c}${n}:${r};`},"");t=`:root{${t}}`;let l=document.getElementById($3);if(l){l.innerHTML=t;return}l=document.createElement("style"),l.setAttribute("type","text/css"),l.setAttribute("id",$3),l.innerHTML=t,document.head.append(l)},h3=q.get(w3);function d2(a,o){if(o>=j)return;for(let l=o+1;l<=j;l++){const c=n2[l];if(c)for(const n of c)a[n]=z3[n]}a._settingSchemaVersion=j;const{showDrawer:e,...t}=a;q.set(w3,t)}const W=L3({id:"setting",state:()=>{const a={showDrawer:!1,...z3};let o=j;return d1(h3)&&(o=typeof h3._settingSchemaVersion=="number"?h3._settingSchemaVersion:0,Object.assign(a,h3),oObject.is(Number(a),NaN)?a:`${a}${o}`,U3=a=>a==null&&typeof a>"u",b7=(a,o={children:"children"})=>{a=C.cloneDeep(a);const{children:e}=o,t=[],l=[];for(a.forEach(c=>l.push(c));l.length;){const c=l.shift();c[e]&&(c[e].forEach(n=>l.push(n)),delete c[e]),t.push(c)}return t},y7=(a,o={id:"id",parentId:"pid",children:"children"})=>{a=C.cloneDeep(a);const{id:e,parentId:t,children:l}=o,c=[],n=new Map;return a.forEach(r=>{n.set(r[e],r);const s=n.get(r[t]);s?(s[l]=s[l]??[],s[l].push(r)):c.push(r)}),c};function _2(a){if(a.length===0||!a||a=="undefined")return a;const o=a.replace("//","/"),e=o.length;return o[e-1]==="/"?o.slice(0,e-1):o}function p2(a){let o="";for(const e of Object.keys(a)){const t=a[e],l=encodeURIComponent(e)+"=";if(!U3(t))if(d1(t)){for(const c of Object.keys(t))if(!U3(t[c])){const n=e+"["+c+"]",r=encodeURIComponent(n)+"=";o+=r+encodeURIComponent(t[c])+"&"}}else o+=l+encodeURIComponent(t)+"&"}return o.slice(0,-1)}const g7=(a,o="yyyy-mm-dd")=>{a||(a=Number(new Date)),a.toString().length==10&&(a*=1e3);const e=new Date(a);let t;const l={"y+":e.getFullYear().toString(),"m+":(e.getMonth()+1).toString(),"d+":e.getDate().toString(),"h+":e.getHours().toString(),"M+":e.getMinutes().toString(),"s+":e.getSeconds().toString()};for(const c in l)t=new RegExp("("+c+")").exec(o),t&&(o=o.replace(t[1],t[1].length==1?l[c]:l[c].padStart(t[1].length,"0")));return o},w7=(a=8)=>{let o=Date.now().toString(36);return o+=Math.random().toString(36).substring(3,a),o},f7=(a,o)=>{o=Math.min(1,Math.max(0,o));const e=/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,t=/^rgb\(\s*\d+\s*,\s*\d+\s*,\s*\d+\s*\)$/,l=/^rgba\(\s*\d+\s*,\s*\d+\s*,\s*\d+\s*,\s*[0-9.]+\s*\)$/;let c=0,n=0,r=0;if(e.test(a)){const s=a.slice(1),_=s.length===3?s.split("").map(p=>p+p).join(""):s;c=parseInt(_.substring(0,2),16),n=parseInt(_.substring(2,4),16),r=parseInt(_.substring(4,6),16)}else if(t.test(a)){const s=a.match(/\d+/g);s&&(c=parseInt(s[0]),n=parseInt(s[1]),r=parseInt(s[2]))}else if(l.test(a)){const s=a.match(/\d+(\.\d+)?/g);s&&(c=parseInt(s[0]),n=parseInt(s[1]),r=parseInt(s[2]))}else throw new Error("Unsupported color format");return`rgba(${c}, ${n}, ${r}, ${o})`},z2=V({props:{name:{type:String,required:!0},size:{type:[Number,String],default:16},color:{type:String,default:"inherit"}},setup(a){const o=b(()=>`#${a.name}`),e=b(()=>({width:i3(a.size),height:i3(a.size),color:a.color}));return{symbolId:o,styles:e}}}),P=(a,o)=>{const e=a.__vccOpts||a;for(const[t,l]of o)e[t]=l;return e},b2=["xlink:href"];function y2(a,o,e,t,l,c){return h(),g("svg",{"aria-hidden":"true",style:r3(a.styles)},[d("use",{"xlink:href":a.symbolId,fill:"currentColor"},null,8,b2)],4)}const g2=P(z2,[["render",y2]]),G=V({name:"Icon",props:{name:{type:String,required:!0},size:{type:[String,Number],default:"14px"},color:{type:String,default:"inherit"}},setup(a){return()=>a.name.indexOf(D3)===0?u(Q3,{size:a.size,color:a.color},{default:()=>u(s3(a.name.replace(D3,"")))}):a.name.indexOf(v2)===0?o0("i",{class:["local-icon"]},u(g2,{...a})):null}}),w2="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALcAAACHCAYAAABUFMgyAAAABHNCSVQICAgIfAhkiAAACbtJREFUeF7tm39olVUYx++92wo0ZiL0V2v/SKMcVMzUtMTyjzL/KUpwWCpuzbZVxpikIWQLBIMUnLiMSWXYJhSYsiA1dNaQCSqkadGGOQdj/dpubM79uPf2nts9l7Oz8/66976/nvsdXO6v957zPM/53A/Pe967cAh/qADRCoSJ5oW0UIEQ4AYEZCsAuMkuLRJzC2635sGKBqcCCadDzRV0uRrH6XwxfnAqkDX8uYLSaJxczRGcZUGkVitgBLCncMvQGj0H4FaXO3+OE+GVQTZ7bqlKdqFTHc9fE9/Te2wpKByUNxXQA9wO+LrFyhZu9nkRbhXobHK78+TN6uZxonp2Zq/z9+R7Vi7L7Yod6GRwZaiToLe0fP5wJBJu/HsounhqcrLQjcV7fNFj/65YvmTYjbkwR+YVCIfDKjAnx8fHu3p6er6oqKi4lYKXA64HuSXArcCtajG4sdOA72s+dPK7k+eW37jRZ2XMzCuk+GR93YZQXe2GnI6JwdyvQDweH79z587h2bNnvyHZW4TcqGWZFrQVEFXGTsPd2npkSdf5S6e6uy/d5X45/p+xrnZ9qL5uo1fTY94cVyAWiw329vY+W1ZWdl0yOW9LVO3KjCjM4DYCO3LgwGdfHWk7tnpoKGo2To7Tnz4c4Ha0vJ4Mnkgk4iMjI7uLi4vfTwEeN7C5MkYzKJV9tTZSRLuFN25qiF64cNkzY/OMALcn/Dk+6dTU1F9FRUUlEtx6/XhW5magJ6Fm93v2Hvyh9VD7QscztDAB4LZQpIAeMjY2dnTWrFms5+Tm1jN4RnCLJ48c8Miq1a+O3rzZb2Z+V0oKuF0psyeTaO3JRCQSuTcFNwdbtLfuzokZnCLYaWvv39+6qOXgl2e1ic0+70pBALcrZfZqksTFixcXan/XFPY2PLE0glNpbNaStHx8+JPm/Z+u8ypbeV7A7ZeVcCaO4eHhprlz5+4W7C0bnE08w+B6cMsnkmlrM7ibPth7vf3o8QecScX+qIDbfs2C9Amt7/5R67ufk+AWAc8Y7mlgp+C+BriDhEewY9WBm/fdDPKs4GaAp2+auX8G3MEGJkjRp+B+Xos5pmhNbMEtX26fBrY2eIEG91XAHSQ8gh2rADcDWQSc2ZvDPcPeqp5bfE1uSQpSbQngDjYvgYr+9u3bXdrvTVYJ1uaAZww33y0RAWdwa+beo8F9gl058sUfTih9sQyOBZGCW2xLGNwcbNVPZJOxGJlbhFtsTQC3Y8uIgVUVUMDNWhG9K5bpITKBu3Db9l1dx0+cWuCXpYC5/bISzsSRgnt1qt9W9dzKizl24U62JW+9vePk6dNdi5xJxf6ogNt+zYL0CVfhrq3f1tHZ2b3MLwUC3H5ZCWfikOAWd0zEvptNPu0qZUbmBtzOLCJGVVcAcOM/cch+NwA34AbcaEvIMkA2MZgb5gbcFM29uWZdaHPNK2QXN98TGx0dbZ83b97rqX3u/Notqa5aG6quqsx3BsjmPzQ09GFpaekuwE12ifM3McANc5OlH3ADbsBN8YQSPTdZrpOJwdwwN1nCATfgBtxoS8gyQDYxmBvmBtwwN1kGyCYGc8PcgBvmJssA2cRgbpgbcMPcZBkgmxjMDXMDbpibLANkE4O5YW7ADXOTZYBsYjA3zA24YW6yDJBNDOaGuQE3zE2WAbKJwdwwN+CGuckyQDYxmBvmBtwwN1kGyCYGc8PcgBvmJssA2cRgbpgbcMPcZBkgmxjMDXMDbpibLANkE4O5YW7ADXOTZYBsYjA3zA24YW6yDJBNDOaGuQE3zE2WAbKJwdwwN+CGuckyQDYxmBvmBtwwN1kGyCYGc8PcgBvmJssA2cRgbpgbcMPcZBkgmxjMDXMDbpibLANkE4O5YW7ADXOTZYBsYjA3zA24YW6yDJBNDOaGuQE3zE2WAbKJwdwwN+CGuckyQDYxmBvmBtwwN1kGyCYGc8PcgBvmJssA2cRgbpgbcMPcZBkgmxjMDXMDbpibLANkE4O5YW7ADXOTZYBsYjA3zA24YW6yDJBNDOaGuQE3zE2WAbKJwdwwN+CGuckyQDYxmBvmzhe4Y1qi8dQtIdyz/Nnz9F9YURH+Grtnt4h0K6yt39bR2dm9zC/VrK5aG6oG3H5ZjpzHIZnbUbgLNLi/Bdw5X0MMqFOBaDS6u6SkZJf2tgg2s3dOzM0NXqANWLD1naatHR1ndvhlNWBuv6yEM3H09fW9XF5efkqAm0Eugs3bEcttCYuUtSRia5KEu66uofzsuctdzqRif1TAbb9mQfpEe3t7WU1NzYAWM++1ucEZzPzGUrIFt9xzM7iTPfjSJ1/4Z3g4yh57/ge4PV8CxwJIJBJ/zJkz50EF2GJbwuc3hZsdKJ5UivZOmpvBXf/mu1+fOXN+pWNZ2RgYcNsoVsAO1U4mm0pLS/ek4GbGlq3NIJ9hbRFiOWU9uPnOSUFxcXHhiqdfutnT+/s9XtcLcHu9As7MPz4+3jl//vwXtRNKEWpxG5D33RnDzVsTufeObNmy/anz3Ve+GRkZ9bQ9AdzOwOXlqPF4fLi1tfWJxsZGsdfmYMuAZwW3ar87afH1mzY/NDEWOfbTlV/u86oYgNuryjsz79jY2PctLS11O3fu/FNoQ/TAVu6UGLUlct+tsne6RWE9ekPDex9dvfZbZX//wN3OpKw/6mvVlaGqTWvdnhbz5bgCk5OTvw4MDOzTtv2OpnpsBrTYY1vaAuRhqa5QiiHzq5TivXzFctp24Zo1G+/XNtwrJyZji2OxWBEfLBFKmM2VcakefWRB/8pnlt7KeAB80NUKhMPh9K6G9nhicHDwSltb24Xm5uaoFgjvo2VTy62IvA04Iwcz4DjU3OTyvjd/LrYt4heBf85sHleLi8l8UQF5f1qEVf7tiNFvSaZt/8lmNspU/p2J+HsTsVWRH8tfCsDtC558FYQZ3Px9+TK74YWbTOAWDSwDrnouG1uEG6D7ijFXgxEtK54Iyo850LLNVa1IxuZWnViqQBfNDbBd5SVwk2UDOEtW93K7XAkrFpWtK7cqcj8ufiGMHgduVRBwTiqggptDy++5uVUw633e9gmlqoUR4VZZXAYagOeECRKDmIEtwqwytO6etqo6Vsyt16PrQW4GN4lVQhJZV8AIdBliy7bWg9VKtPKXQQYcYFupIo7hFZBPBlVm1jvGtIp2zc0H1INcBbfea6bB4QDSFVDtcui1Hbo7IkYVyhRueUyjcXI1B+mVzuPk9MDNCOhs2hK9NQDAeUynQ6n7Bm6z/AC/WYXy7/2s4TUrGaAzqxDeD2wFAHdglw6Bm1UAcJtVCO8HtgKAO7BLh8DNKvAfR+rWAIVxGVEAAAAASUVORK5CYII=",f2="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALcAAACHCAYAAABUFMgyAAAABHNCSVQICAgIfAhkiAAACbZJREFUeF7t201oXFUUB/DMRyJNpE0JuJqYTWtQs2pLqxSzcWGiK8FNceOqiLiMOxe1i0IFXdhFIXSli6agoJS6aBEM2o2QlbXFfkBNhRBNbRIyTTOTzHjv8O5wc3Pf55x578y7/0LI1+S8c8/95eTMfdNCH/6hAjmtQCGn68KyUIE+4AaC3FYAuHO7tVhYWrjTug52tHcq0Ox2qlToqOJ0e72I3zsV6Bg/FcqgOFTX6J1tQaZRKxAEOFPcJtqgzwE86na78zgdrwk57PNIVYqLzvZ49TX9e34fR0oKD3KmAn7A48D3LVanuOXP67ht0OXF417Hmd11eKF+3Vl+XX3PfC/LFXlciYPOhGuibkG/d+/eK5VKZWZgYOBEs9ksp7F5Ozs7641GYzWNa+EayStQKBRsMOtbW1s379+//83Ro0cfeXgVcD/kkYBHwW0bMVTHbgOv1WrXy+XypFhAlJjJK4SfzG0FRIPaevbs2ddDQ0MfG91bRx40suyqTRSIto7dxr24uPia6NQ3hOmB3FYdC0u1AuIv8fKDBw/eGh8fv2N0cjWW2MaVPTmG4Q6CXRR/Tr4V48c7mKlT3XsnLiZG2sbGxsb5/fv3f+YBbwR0c2tN4uDWR5GiBC3+jKyhYzthLZNFbm9vr/T3948auP3m8Y46t8TdQi3f1+v1X8SMfSyTVeOizlRgc3PzyuDg4Adiwapz+3XwRLj1jq2AF8WfjSrGEWeMZbZQ4axWLBaHPdwKtt69fU9OoowlCne7a9+9e/f44cOHfwbuzPbcpQs3FxYWjol/ty3dO/CJZRBua8eWI8nTp09n9+3b975LFcZas6vA6urq2YMHD57XurfZwWVyezq4H27zBk27a0vcYtC/UyqVXsxuubiySxUQc/evYu6eMnDrwBPj3gXbw30buF3ile1afXCruVsi7wi3BN5+E537D+DOdsNdurqH+22x5h3LaBILt3m7fRdsEbwkcN8Cbpd4ZbtWDbeErAOX3Vvh3tO9bTO3/jVzJCl5YwlwZ7vfTl1dHGDcFK83mda6tgKeGPeeI0DZteWbeJHULe/OkVNFxmKzqYCHWx9LJG4F2/YS2VaiQZ1bx62PJsCdzR47e1ULbjmK+N2xbNcpCe6yfP2teMHUq85WGwtPtQIebvkCPdmxbTO39WZOXNytsURc7Lq4iXM81RXiYs5WIFXc1Wr1mjhUP+lstbHwVCtg4NZPTPS5O9ZpiW3mbnVu4E51b52/GHA7TyC/BQDu/O6t8ysDbucJ5LcAwJ3fvXV+ZU7jFv9buk+83sV5BHktgDjAmBsZGflQO+M2b7/TnXNzOy0RLwfoEzeW8rq3zq/ryZMnn4+NjZ0Dbucp5K8AwI3OnT/V3oqAG7iB2/h/lIleW4KZO7eOWC4MnRudmyVMiqSAG7gpHLGMAdzAzRImRVLADdwUjljGAG7gZgmTIingBm4KRyxjADdws4RJkRRwAzeFI5YxgBu4WcKkSAq4gZvCEcsYwA3cLGFSJAXcwE3hiGUM4AZuljApkgJu4KZwxDIGcAM3S5gUSQE3cFM4YhkDuIGbJUyKpIAbuCkcsYwB3MDNEiZFUsAN3BSOWMYAbuBmCZMiKeAGbgpHLGMAN3CzhEmRFHADN4UjljGAG7hZwqRICriBm8IRyxjADdwsYVIkBdzATeGIZQzgBm6WMCmSAm7gpnDEMgZwAzdLmBRJATdwUzhiGQO4gZslTIqkgBu4KRyxjAHcwM0SJkVSwA3cFI5YxgBu4GYJkyIp4AZuCkcsYwA3cLOESZEUcAM3hSOWMYAbuFnCpEgKuIGbwhHLGMAN3CxhUiQF3MBN4YhlDOAGbpYwKZICbuCmcMQyBnADN0uYFEkBN3BTOGIZA7iBmyVMiqSAG7gpHLGMAdzAzRImRVLADdwUjljGAG7gZgmTIingBm4KRyxjADdws4RJkRRwAzeFI5YxgBu4WcKkSAq4gZvCEcsYwA3cLGFSJAXcwE3hiGUM4AZuljApkgJu4KZwxDIGcAM3S5gUSQE3cFM4YhkDuIGbJUyKpIAbuCkcsYwB3MDNEiZFUsAN3BSOWMYwcO+IJBveW1N7L3OXn7f/FSyrUV+T7+Vb0XgrV6vVa4ODgye5VKJWq/VtATeX7SDPI03cJYH7R+Am30ME9KnA2tra+dHR0XPi23rXlt2bpHOrDl4SAUsrKyufjIyMfMplN9C5uexEd/JYXFx8b2Ji4oaGWyLXYatxJPJYIjOVI4k+mrRwz8/PT0xOTt7szlLiRwXu+DXrpZ+Ym5sbP3369JLIWc3aqoNLzOpNLikWbnPmlrhbM3ij0fivUCjIjzP/B9yZb0HXEmg2m/8cOHDgJQtsfSxR1w/FLR+oP6nUu3erc0vcGxsb3w0NDb3ZtVXFCAzcMYrVYw8VTybPjo2Nfenhlh3b7NoS+Z6urSM2l+yHW52clCqVSvnhw4d/lUql57OuF3BnvQPdub44AZs/dOjQu+IJpY5aPwZUc3di3Go0MWfv4sLCwhtHjhz5wRtVurPCCFGBO0KReuwhYuxdvXTp0uszMzP6rK1gm8A7wm0772518atXr748NTX1fblcfiGr+gF3VpXvznU3Nzd/unjx4kdnzpz5VxtD/GBbT0qCxhJz7rZ17/aIImf0x48ffzE8PHyqWCw+150l+0cF7rQr3p3r1ev1P5eWlr4Sx35XvBlbgtZn7EhHgCo72x1KPXN1l1J/b96x3HVcODs7W5menj4loJ8QgfpVMPGsN+xaiSsmftP/Xl9ff5Q4AH4w1QqIU7b2qYb4uLa8vPz75cuXf7tw4cKaSETN0WanNkcR8xhwzxrCwCnUqpOb597qc31s0X8R1M+FXSfV4uJiLCpgnk/rWM3XjgS9lmTX8Z/ZmYNWar7ORH+9iT6qmB+bvxTAzcITqyTCcKvvm7fZA2/cJMGtd2ATuO1zs2PruAGdlbFUk9G7rP5E0PxYgTa7uW0USdy5bU8sbdD1zg3YqXrpuYt1Alwu1vd2u1mJKF3U7LrmqGLO4/ovRNDHPbcrSJikAjbcCq16rzq3DbPfz8d+QmkbYXTcti5uggZwEhO5CBIGW8ds69C+Z9q26kTp3H4zuh/yMNy52CUsouMKBEE3EUfu1n5Yo2Rr/jKYwAE7ShXxGFUB88mgrTP7PSa0inE7twroh9yG2+9rocnhAbmugO2Uw2/s8D0RCapQUtxmzKA4VNfI9U47vDg/uIlAdzKW+O0BADuss0tLZ4M7bH3AH1Yh977fMd6wkgFdWIXw/Z6tAHD37NYh8bAKAHdYhfD9nq0AcPfs1iHxsAr8D7xvfQ8bZ0PpAAAAAElFTkSuQmCC",A2={class:"setting-drawer"},V2={class:"h-full flex flex-col"},L2={class:"setting-item mb-5"},M2={class:"flex mt-4 cursor-pointer"},x2=["onClick"],E2=["src"],H2={class:"setting-item mb-5 flex justify-between items-center"},T2={class:"setting-item mb-5 flex justify-between items-center"},O2={class:"setting-item mb-5 flex justify-between items-center"},I2={class:"setting-item mb-5 flex justify-between items-center"},R2={class:"setting-item mb-5 flex justify-between items-center"},P2={class:"setting-item mb-5 flex justify-between items-center"},B2={class:"setting-item mb-5 flex justify-between items-center"},D2={class:"setting-item flex justify-between items-center mt-auto"},C2=V({__name:"drawer",setup(a){const o=W(),e=c3(["#409EFF","#28C76F","#EA5455","#FF9F43","#01CFE8","#4A5DFF"]),t=[{type:"dark",image:w2},{type:"light",image:f2}],l=b({get(){return o.sideTheme},set(f){o.setSetting({key:"sideTheme",value:f})}}),c=b({get(){return o.openMultipleTabs},set(f){o.setSetting({key:"openMultipleTabs",value:f})}}),n=b({get(){return o.isUniqueOpened},set(f){o.setSetting({key:"isUniqueOpened",value:f})}}),r=b({get(){return o.sideWidth},set(f){o.setSetting({key:"sideWidth",value:f})}}),s=b({get(){return o.showDrawer},set(f){o.setSetting({key:"showDrawer",value:f})}}),_=b({get(){return o.theme},set(f){o.setSetting({key:"theme",value:f}),O()}}),p=b({get(){return o.showLogo},set(f){o.setSetting({key:"showLogo",value:f})}}),v=b({get(){return o.showCrumb},set(f){o.setSetting({key:"showCrumb",value:f})}}),w=c1(),O=()=>{o.setTheme(w.value)},M=()=>{h0(w)(),O()},E=()=>{w.value=!1,o.resetTheme(),O()};return(f,y)=>{const x3=G,$=B1,Q=D1,L1=C1,M1=S1,x1=a1;return h(),g("div",A2,[u(x1,{modelValue:m(s),"onUpdate:modelValue":y[6]||(y[6]=x=>k(s)?s.value=x:null),"append-to-body":"",direction:"rtl",size:"250px",title:"主题设置"},{default:z(()=>[d("div",V2,[d("div",L2,[y[7]||(y[7]=d("span",{class:"text-tx-secondary"},"风格设置",-1)),d("div",M2,[(h(),g(B,null,K(t,x=>d("div",{class:"mr-4 flex relative text-primary",key:x.type,onClick:A4=>l.value=x.type},[d("img",{src:x.image,width:"52",height:"36"},null,8,E2),m(l)==x.type?(h(),A(x3,{key:0,class:"icon-select",name:"el-icon-Select"})):D("",!0)],8,x2)),64))])]),d("div",H2,[y[8]||(y[8]=d("span",{class:"text-tx-secondary"},"主题颜色",-1)),d("div",null,[u($,{modelValue:m(_),"onUpdate:modelValue":y[0]||(y[0]=x=>k(_)?_.value=x:null),predefine:m(e)},null,8,["modelValue","predefine"])])]),d("div",T2,[y[9]||(y[9]=d("span",{class:"text-tx-secondary"},"开启黑暗模式",-1)),d("div",null,[u(Q,{"model-value":m(w),onChange:M},null,8,["model-value"])])]),d("div",O2,[y[10]||(y[10]=d("span",{class:"text-tx-secondary"},"开启多页签栏",-1)),d("div",null,[u(Q,{modelValue:m(c),"onUpdate:modelValue":y[1]||(y[1]=x=>k(c)?c.value=x:null),"active-value":!0,"inactive-value":!1},null,8,["modelValue"])])]),d("div",I2,[y[11]||(y[11]=d("span",{class:"text-tx-secondary"},"只展开一个一级菜单",-1)),d("div",null,[u(Q,{modelValue:m(n),"onUpdate:modelValue":y[2]||(y[2]=x=>k(n)?n.value=x:null),"active-value":!0,"inactive-value":!1},null,8,["modelValue"])])]),d("div",R2,[y[12]||(y[12]=d("div",{class:"text-tx-secondary flex-none mr-3"},"菜单栏宽度",-1)),d("div",null,[u(L1,{modelValue:m(r),"onUpdate:modelValue":y[3]||(y[3]=x=>k(r)?r.value=x:null),min:180,max:250},null,8,["modelValue"])])]),d("div",P2,[y[13]||(y[13]=d("div",{class:"text-tx-secondary flex-none mr-3"},"显示LOGO",-1)),d("div",null,[u(Q,{modelValue:m(p),"onUpdate:modelValue":y[4]||(y[4]=x=>k(p)?p.value=x:null),"active-value":!0,"inactive-value":!1},null,8,["modelValue"])])]),d("div",B2,[y[14]||(y[14]=d("div",{class:"text-tx-secondary flex-none mr-3"},"显示面包屑",-1)),d("div",null,[u(Q,{modelValue:m(v),"onUpdate:modelValue":y[5]||(y[5]=x=>k(v)?v.value=x:null),"active-value":!0,"inactive-value":!1},null,8,["modelValue"])])]),d("div",D2,[u(M1,{onClick:E,class:"w-full"},{default:z(()=>[...y[15]||(y[15]=[I("重置主题",-1)])]),_:1})])])]),_:1},8,["modelValue"])])}}}),S2=P(C2,[["__scopeId","data-v-352f3746"]]),k2=V({__name:"index",setup(a){const o=W(),e=()=>{o.setSetting({key:"showDrawer",value:!0})};return(t,l)=>{const c=G;return h(),g("div",{class:"setting flex cursor-pointer h-full items-center px-2",onClick:e},[u(c,{size:16,name:"el-icon-Setting"}),u(S2)])}}});function w1(a){const o=V3();return s1(o,()=>{a(o)},{immediate:!0}),{route:o}}const j2=V({__name:"breadcrumb",setup(a){const o=c3([]),e=t=>{const l=t.matched.filter(c=>c.meta&&c.meta.title);o.value=l};return w1(t=>{e(t)}),(t,l)=>{const c=k1,n=j1;return h(),A(n,{class:"app-breadcrumb"},{default:z(()=>[(h(!0),g(B,null,K(m(o),r=>(h(),A(c,{key:r.path},{default:z(()=>[I(R(r.meta.title),1)]),_:2},1024))),128))]),_:1})}}}),N2=P(j2,[["__scopeId","data-v-94d84829"]]),q2=V({__name:"fold",setup(a){const o=S(),e=b(()=>o.isCollapsed),t=()=>{o.toggleCollapsed()};return(l,c)=>{const n=G;return h(),g("div",{class:"fold h-full cursor-pointer flex items-center px-2",onClick:t},[u(n,{name:`local-icon-${m(e)?"expand":"collapse"}`,size:18},null,8,["name"])])}}}),W2=V({__name:"full-screen",setup(a){const{toggle:o,isFullscreen:e}=n1();return(t,l)=>{const c=G;return h(),g("div",{class:"full-screen h-full cursor-pointer flex items-center px-2",onClick:l[0]||(l[0]=(...n)=>m(o)&&m(o)(...n))},[u(c,{size:16,name:`local-icon-${m(e)?"fullscreen-exit":"fullscreen"}`},null,8,["name"])])}}});function G2(){const a=n3(),o=V3(),e=m3(),t=W(),l=b(()=>e.getTabList),c=b(()=>o.fullPath);return{tabsLists:l,currentTab:c,addTab:()=>{t.openMultipleTabs&&e.addTab(a)},removeTab:p=>{t.openMultipleTabs&&(p=p??o.fullPath,e.removeTab(p,a))},removeOtherTab:()=>{t.openMultipleTabs&&e.removeOtherTab(o)},removeAllTab:()=>{t.openMultipleTabs&&e.removeAllTab(a)}}}const $2={class:"app-tabs pl-4 flex bg-body"},U2={class:"flex-1 min-w-0"},F2={class:"flex items-center px-3"},Y2=V({__name:"multiple-tabs",setup(a){const o=n3(),e=m3(),{removeOtherTab:t,addTab:l,removeAllTab:c,removeTab:n,tabsLists:r,currentTab:s}=G2();w1(()=>{l()});const _=v=>{const w=e.tasMap[v];o.push(z1(w))},p=v=>{switch(v){case"closeCurrent":n();break;case"closeOther":t();break;case"closeAll":c();break}};return(v,w)=>{const O=N1,M=q1,E=G,f=e1,y=o1,x3=t1;return h(),g("div",$2,[d("div",U2,[u(M,{"model-value":m(s),closable:m(r).length>1,onTabChange:_,onTabRemove:w[0]||(w[0]=$=>m(n)($))},{default:z(()=>[(h(!0),g(B,null,K(m(r),$=>(h(),A(O,{key:$.fullPath,label:$.title,name:$.fullPath},null,8,["label","name"]))),128))]),_:1},8,["model-value","closable"])]),u(x3,{onCommand:p},{dropdown:z(()=>[u(y,null,{default:z(()=>[u(f,{command:"closeCurrent"},{default:z(()=>[...w[1]||(w[1]=[I(" 关闭当前 ",-1)])]),_:1}),u(f,{command:"closeOther"},{default:z(()=>[...w[2]||(w[2]=[I(" 关闭其他 ",-1)])]),_:1}),u(f,{command:"closeAll"},{default:z(()=>[...w[3]||(w[3]=[I(" 关闭全部 ",-1)])]),_:1})]),_:1})]),default:z(()=>[d("span",F2,[u(E,{size:16,name:"el-icon-arrow-down"})])]),_:1})])}}}),Z2=P(Y2,[["__scopeId","data-v-414a904e"]]),X2=V({__name:"refresh",setup(a){const o=S(),e=()=>{o.refreshView()};return(t,l)=>{const c=G;return h(),g("div",{class:"refresh cursor-pointer h-full flex items-center px-2",onClick:e},[u(c,{name:"el-icon-RefreshRight",size:18})])}}});function A7(){return L.get({url:"/setting.system.system/info"})}function V7(a){return L.get({url:"/setting.system.log/lists",params:a},{ignoreCancelToken:!0})}function K2(){return L.post({url:"/setting.system.cache/clear"})}function L7(a){return L.get({url:"/crontab.crontab/lists",params:a})}function M7(a){return L.post({url:"/crontab.crontab/add",params:a})}function x7(a){return L.get({url:"/crontab.crontab/detail",params:a})}function E7(a){return L.post({url:"/crontab.crontab/edit",params:a})}function H7(a){return L.post({url:"/crontab.crontab/delete",params:a})}function T7(a){return L.get({url:"/crontab.crontab/expression",params:a})}const J2={class:"flex items-center"},Q2={class:"ml-3 mr-1"},a6=V({__name:"user-drop-down",setup(a){const o=Y(),e=b(()=>o.userInfo),t=async l=>{switch(l){case"logout":await X.confirm("确定退出登录吗?"),o.logout();break;case"cache":await K2(),window.location.reload();break}};return(l,c)=>{const n=W1,r=G,s=e1,_=s3("router-link"),p=o1,v=t1;return h(),A(v,{class:"px-2",onCommand:t},{dropdown:z(()=>[u(p,null,{default:z(()=>[u(_,{to:"/user/setting"},{default:z(()=>[u(s,null,{default:z(()=>[...c[0]||(c[0]=[I("个人设置",-1)])]),_:1})]),_:1}),u(s,{command:"cache"},{default:z(()=>[...c[1]||(c[1]=[I("清除缓存",-1)])]),_:1}),u(s,{command:"logout"},{default:z(()=>[...c[2]||(c[2]=[I("退出登录",-1)])]),_:1})]),_:1})]),default:z(()=>[d("div",J2,[u(n,{size:34,src:m(e).avatar},null,8,["src"]),d("div",Q2,R(m(e).name),1),u(r,{name:"el-icon-ArrowDown"})])]),_:1})}}}),o6={class:"header"},e6={class:"navbar"},t6={class:"flex-1 flex"},i6={class:"navbar-item"},l6={class:"navbar-item"},c6={key:0,class:"flex items-center px-2"},n6={class:"flex"},s6={key:0,class:"navbar-item"},r6={class:"navbar-item"},m6={class:"navbar-item"},u6=V({__name:"index",setup(a){const o=S(),e=b(()=>o.isMobile),t=b(()=>o.isCollapsed),l=W(),{isFullscreen:c}=n1();return(n,r)=>{const s=i1;return h(),g("header",o6,[d("div",e6,[d("div",t6,[d("div",i6,[u(s,{class:"box-item",effect:"dark",content:m(t)?"展开菜单":"收起菜单",placement:"bottom"},{default:z(()=>[u(q2)]),_:1},8,["content"])]),d("div",l6,[u(s,{class:"box-item",effect:"dark",content:"刷新",placement:"bottom"},{default:z(()=>[u(X2)]),_:1})]),!m(e)&&m(l).showCrumb?(h(),g("div",c6,[u(N2)])):D("",!0)]),d("div",n6,[m(e)?D("",!0):(h(),g("div",s6,[u(s,{class:"box-item",effect:"dark",content:m(c)?"退出全屏":"全屏模式",placement:"bottom"},{default:z(()=>[u(W2)]),_:1},8,["content"])])),d("div",r6,[u(a6)]),d("div",m6,[u(s,{class:"box-item",effect:"dark",content:"主题设置",placement:"bottom"},{default:z(()=>[u(k2)]),_:1})])])]),m(l).openMultipleTabs?(h(),A(Z2,{key:0})):D("",!0)])}}}),d6={class:"main-wrap h-full bg-page"},h6={class:"px-2 py-4"},v6=V({__name:"main",setup(a){const o=S(),e=m3(),t=W(),l=b(()=>o.isRouteShow),c=b(()=>t.openMultipleTabs?e.getCacheTabList:[]);return(n,r)=>{const s=s3("router-view"),_=l1;return h(),g("main",d6,[u(_,null,{default:z(()=>[d("div",h6,[m(l)?(h(),A(s,{key:0},{default:z(({Component:p,route:v})=>[(h(),A(e0,{include:m(c),max:20},[(h(),A(r1(p),{key:v.fullPath}))],1032,["include"]))]),_:1})):D("",!0)])]),_:1})])}}}),_6=V({__name:"index",props:{...G1,teleported:{type:Boolean,default:!1},placement:{type:String,default:"top"},overfloType:{type:String,default:"ellipsis"}},setup(a){const o=a,e=R1(),t=c3(!1);return J1(e,"mouseenter",()=>{var l,c;((l=e.value)==null?void 0:l.scrollWidth)>((c=e.value)==null?void 0:c.offsetWidth)?t.value=!1:t.value=!0}),(l,c)=>{const n=i1;return h(),g("div",null,[u(n,j3(o,{disabled:m(t)}),{default:z(()=>[d("div",{ref_key:"textRef",ref:e,class:"overflow-text truncate",style:r3({textOverflow:a.overfloType})},R(l.content),5)]),_:1},16,["disabled"])])}}}),p6=V({__name:"index",props:{width:{type:[String,Number],default:"auto"},height:{type:[String,Number],default:"auto"},radius:{type:[String,Number],default:0},...$1},setup(a){const o=a,e=b(()=>({width:i3(o.width),height:i3(o.height),borderRadius:i3(o.radius)}));return(t,l)=>{const c=U1;return h(),A(c,j3({style:e.value},o),null,16,["style"])}}}),z6=P(p6,[["__scopeId","data-v-275301c7"]]),b6=V({__name:"logo",props:{szie:{type:Number,default:34},title:{type:String},theme:{type:String},showTitle:{type:Boolean,default:!0}},setup(a){const o=S(),e=b(()=>o.config),t=n3(),l=()=>{t.push("/")};return(c,n)=>{const r=z6,s=_6;return h(),g("div",{class:"logo",onClick:l},[u(r,{width:a.szie,height:a.szie,src:m(e).web_logo},null,8,["width","height","src"]),u(_0,{name:"title-width"},{default:z(()=>[m1(d("div",{class:b3(["logo-title overflow-hidden whitespace-nowrap",{"text-white":a.theme==m(_1).DARK}]),style:r3({left:`${a.szie+16}px`})},[u(s,{content:a.title||m(e).web_name,teleported:!0,placement:"bottom","overflo-type":"unset"},null,8,["content"])],6),[[v1,a.showTitle]])]),_:1})])}}}),y6=P(b6,[["__scopeId","data-v-590d56e3"]]),g6=V({__name:"index",props:{to:{},replace:{type:Boolean}},setup(a){const o=a,e=b(()=>typeof o.to!="object"&&J(o.to)),t=b(()=>e.value?"a":"router-link"),l=b(()=>e.value?{href:o.to,target:"_blank"}:o);return(c,n)=>(h(),A(r1(m(t)),n0(t0(m(l))),{default:z(()=>[i0(c.$slots,"default")]),_:3},16))}}),w6=V({__name:"menu-item",props:{route:{},routePath:{},popperClass:{}},setup(a){const o=a,e=b(()=>!!(o.route.children??[]).filter(r=>{var s;return!((s=r.meta)!=null&&s.hidden)}).length),t=b(()=>o.route.meta),l=n=>J(n)?n:_2(`${o.routePath}/${n}`),c=b(()=>{var r;const n=(r=o.route.meta)==null?void 0:r.query;try{const s=JSON.parse(n);return p2(s)}catch{return n}});return(n,r)=>{var O;const s=G,_=F1,p=g6,v=s3("menu-item",!0),w=Y1;return(O=a.route.meta)!=null&&O.hidden?D("",!0):(h(),g(B,{key:0},[m(e)?(h(),A(w,{key:1,index:a.routePath,"popper-class":a.popperClass},{title:z(()=>{var M,E,f;return[(M=m(t))!=null&&M.icon?(h(),A(s,{key:0,class:"menu-item-icon",size:16,name:(E=m(t))==null?void 0:E.icon},null,8,["name"])):D("",!0),d("span",null,R((f=m(t))==null?void 0:f.title),1)]}),default:z(()=>{var M;return[(h(!0),g(B,null,K((M=a.route)==null?void 0:M.children,E=>(h(),A(v,{key:l(E.path),route:E,"route-path":l(E.path),"popper-class":a.popperClass},null,8,["route","route-path","popper-class"]))),128))]}),_:1},8,["index","popper-class"])):(h(),A(p,{key:0,to:`${a.routePath}?${m(c)}`},{default:z(()=>[u(_,{index:a.routePath},{title:z(()=>{var M;return[d("span",null,R((M=m(t))==null?void 0:M.title),1)]}),default:z(()=>{var M,E;return[(M=m(t))!=null&&M.icon?(h(),A(s,{key:0,class:"menu-item-icon",size:16,name:(E=m(t))==null?void 0:E.icon},null,8,["name"])):D("",!0)]}),_:1},8,["index"])]),_:1},8,["to"]))],64))}}}),f6=P(w6,[["__scopeId","data-v-65172b69"]]),A6=V({__name:"menu",props:{routes:{type:Object},config:{type:Object},uniqueOpened:{type:Boolean,default:!1},isCollapsed:{type:Boolean,default:!1},theme:{type:String},width:{type:Number,default:200}},emits:["select"],setup(a){const o=a,e=V3(),t=b(()=>{var c;return((c=e.meta)==null?void 0:c.activeMenu)||e.path}),l=b(()=>`theme-${o.theme}`);return(c,n)=>{const r=Z1,s=l1;return h(),g("div",{class:b3(["menu flex-1 min-h-0",m(l)]),style:r3(a.isCollapsed?"":`--aside-width: ${a.width}px`)},[u(s,null,{default:z(()=>[u(r,j3(a.config,{"default-active":m(t),collapse:a.isCollapsed,mode:"vertical","unique-opened":a.uniqueOpened,onSelect:n[0]||(n[0]=_=>c.$emit("select"))}),{default:z(()=>[(h(!0),g(B,null,K(a.routes,_=>(h(),A(f6,{key:_.path,route:_,"route-path":_.path,"popper-class":m(l)},null,8,["route","route-path","popper-class"]))),128))]),_:1},16,["default-active","collapse","unique-opened"])]),_:1})],6)}}}),V6=P(A6,[["__scopeId","data-v-6c529f19"]]),L6=V({__name:"side",setup(a){const o=S(),e=b(()=>o.isMobile?!1:o.isCollapsed),t=W(),l=b(()=>t.sideTheme),c=Y(),n=b(()=>c.routes),r=b(()=>l.value=="dark"?{"--side-dark-color":t.sideDarkColor}:""),s=b(()=>({backgroundColor:l.value=="dark"?t.sideDarkColor:"",textColor:l.value=="dark"?"var(--el-color-white)":"",activeTextColor:l.value=="dark"?"var(--el-color-white)":""})),_=()=>{o.isMobile&&o.toggleCollapsed(!0)};return(p,v)=>(h(),g("div",{class:"side",style:r3(m(r))},[m(t).showLogo?(h(),A(y6,{key:0,"show-title":!m(e),theme:m(l)},null,8,["show-title","theme"])):D("",!0),u(V6,{routes:m(n),"is-collapsed":m(e),width:m(t).sideWidth,"unique-opened":m(t).isUniqueOpened,config:m(s),theme:m(l),onSelect:_},null,8,["routes","is-collapsed","width","unique-opened","config","theme"])],4))}}),F3=P(L6,[["__scopeId","data-v-ed43753e"]]),M6={class:"sidebar h-full"},x6=V({__name:"index",setup(a){const o=S(),e=W(),t=b(()=>o.isMobile),l=b({get(){return!o.isCollapsed&&t.value},set(n){o.toggleCollapsed(!n)}}),c=b(()=>`${e.sideWidth+1}px`);return(n,r)=>{const s=a1;return h(),g("aside",M6,[u(s,{modelValue:m(l),"onUpdate:modelValue":r[0]||(r[0]=_=>k(l)?l.value=_:null),direction:"ltr",size:m(c),title:"主题设置","with-header":!1},{default:z(()=>[u(F3)]),_:1},8,["modelValue","size"]),m1(u(F3,null,null,512),[[v1,!m(t)]])])}}}),E6=P(x6,[["__scopeId","data-v-7243bf96"]]),H6={class:"layout-default flex h-screen w-full"},T6={class:"app-aside shrink-0"},O6={class:"flex-1 flex flex-col min-w-0"},I6={class:"app-header"},R6={class:"app-main flex-1 min-h-0"},P6=V({__name:"index",setup(a){return(o,e)=>(h(),g("div",H6,[d("div",T6,[u(E6)]),d("div",O6,[d("div",I6,[u(u6)]),d("div",R6,[u(v6)])])]))}}),l3=()=>Promise.resolve(P6),M3=Symbol(),B6=[{path:"/:pathMatch(.*)*",component:()=>i(()=>import("./404-hpF_YYxd.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40]))},{path:T.ERROR_403,component:()=>i(()=>import("./403-BQYUcr_f.js"),__vite__mapDeps([41,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40]))},{path:T.LOGIN,component:()=>i(()=>import("./login-fh_9QCs9.js"),__vite__mapDeps([42,2,3,4,5,6,7,8,9,10,11,12,13,14,15,43,44,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,45]))},{path:"/change-password",component:()=>i(()=>import("./change-password-CX-eiL2A.js"),__vite__mapDeps([46,2,3,4,5,6,7,8,9,10,11,12,13,14,15,43,44,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,47]))},{path:"/bind-work-wechat",component:()=>i(()=>import("./bind-work-wechat-srD3ph6p.js"),__vite__mapDeps([48,2,3,4,5,6,7,8,9,10,11,12,13,14,15,44,49,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,50]))},{path:"/user",component:l3,children:[{path:"setting",component:()=>i(()=>import("./setting-zQ275fvQ.js"),__vite__mapDeps([51,2,3,4,5,6,7,8,9,10,11,12,13,14,15,52,53,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,49,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,73])),name:Symbol(),meta:{title:"个人设置"}}]},{path:"/doctor",component:l3,children:[{path:"progress",component:()=>i(()=>import("./progress-DiQn9RZz.js"),__vite__mapDeps([74,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,75,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,76])),name:"doctorFaceProgress",meta:{title:"面诊进度"}}]},{path:"/decoration/pc_details",component:()=>i(()=>import("./pc_details-j9bN0XnC.js"),__vite__mapDeps([77,2,3,4,5,6,7,8,9,10,11,12,13,14,15,78,79,80,81,59,60,82,55,56,58,83,65,84,54,57,61,62,63,64,22,23,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116]))},{path:"/fans/h5",component:()=>i(()=>import("./h5-DoiReXRh.js"),__vite__mapDeps([117,2,3,4,5,6,7,8,9,10,11,12,13,14,15,118,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,119]))},{path:"/tcm/diagnosis/h5",component:()=>i(()=>import("./index_h5-1irCcr3H.js"),__vite__mapDeps([120,17,18,19,2,3,4,5,6,7,8,9,10,11,12,13,14,15,121,122,75,123,65,124,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,125]))},{path:"/tcm/diagnosis-readonly",component:l3,meta:{hidden:!0},children:[{path:"",component:()=>i(()=>import("./readonly-D4rhgc7P.js"),__vite__mapDeps([126,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,121,127,128,124,129,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,130,131,132,133,134,135,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,75,153,154,155,156,157,158])),name:"tcmDiagnosisReadonly",meta:{title:"患者信息详情",hidden:!0,activeMenu:"/tcm/diagnosis"}}]}],v3={path:T.INDEX,component:l3,name:M3},C3=Object.assign({"/src/views/account/bind-work-wechat.vue":()=>i(()=>import("./bind-work-wechat-srD3ph6p.js"),__vite__mapDeps([48,2,3,4,5,6,7,8,9,10,11,12,13,14,15,44,49,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,50])),"/src/views/account/change-password.vue":()=>i(()=>import("./change-password-CX-eiL2A.js"),__vite__mapDeps([46,2,3,4,5,6,7,8,9,10,11,12,13,14,15,43,44,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,47])),"/src/views/account/login.vue":()=>i(()=>import("./login-fh_9QCs9.js"),__vite__mapDeps([42,2,3,4,5,6,7,8,9,10,11,12,13,14,15,43,44,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,45])),"/src/views/app/recharge/index.vue":()=>i(()=>import("./index-8sBm8V5s.js"),__vite__mapDeps([159,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/article/column/edit.vue":()=>i(()=>import("./edit-hgBBPYXJ.js"),__vite__mapDeps([160,161,2,3,4,5,6,7,8,9,10,11,12,13,14,15,83,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/article/column/index.vue":()=>i(()=>import("./index-B3yIIPa0.js"),__vite__mapDeps([162,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,83,65,161,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/article/lists/edit.vue":()=>i(()=>import("./edit-CW0m9s4L.js"),__vite__mapDeps([163,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,164,165,166,167,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,168,83,169,16,17,18,19,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/article/lists/index.vue":()=>i(()=>import("./index-PPsi8ojx.js"),__vite__mapDeps([170,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,83,169,65,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/channel/h5.vue":()=>i(()=>import("./h5-Db8wr74y.js"),__vite__mapDeps([171,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/channel/open_setting.vue":()=>i(()=>import("./open_setting-6S0GqHoV.js"),__vite__mapDeps([172,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/channel/weapp.vue":()=>i(()=>import("./weapp-CFtIuYar.js"),__vite__mapDeps([173,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,123,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/channel/wx_oa/config.vue":()=>i(()=>import("./config-CYCTw4Fc.js"),__vite__mapDeps([174,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,175,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/channel/wx_oa/menu.vue":()=>i(()=>import("./menu-BWXOs8hh.js"),__vite__mapDeps([176,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,177,59,60,55,56,178,179,175,180,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,181,182])),"/src/views/channel/wx_oa/menu_com/oa-attr.vue":()=>i(()=>import("./oa-attr-BlJTj8od.js"),__vite__mapDeps([177,59,5,6,7,4,3,60,55,2,8,9,10,11,12,13,14,15,56,178,179,175,180,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/channel/wx_oa/menu_com/oa-menu-form-edit.vue":()=>i(()=>import("./oa-menu-form-edit-CkUzHnj9.js"),__vite__mapDeps([183,180,55,2,3,4,5,6,7,8,9,10,11,12,13,14,15,56,178,179,175,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/channel/wx_oa/menu_com/oa-menu-form.vue":()=>i(()=>import("./oa-menu-form-B41xqdbc.js"),__vite__mapDeps([184,178,2,3,4,5,6,7,8,9,10,11,12,13,14,15,179,175,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/channel/wx_oa/menu_com/oa-phone.vue":()=>i(()=>import("./oa-phone-n60FNq77.js"),__vite__mapDeps([181,2,3,4,5,6,7,8,9,10,11,12,13,14,15,179,175,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,182])),"/src/views/channel/wx_oa/reply/default_reply.vue":()=>i(()=>import("./default_reply-BLLS8q8G.js"),__vite__mapDeps([185,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,175,65,186,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/channel/wx_oa/reply/edit.vue":()=>i(()=>import("./edit-BH5h2IG9.js"),__vite__mapDeps([187,186,2,3,4,5,6,7,8,9,10,11,12,13,14,15,175,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/channel/wx_oa/reply/follow_reply.vue":()=>i(()=>import("./follow_reply-BSV7U6b5.js"),__vite__mapDeps([188,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,175,65,186,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/channel/wx_oa/reply/keyword_reply.vue":()=>i(()=>import("./keyword_reply-KE0otsUG.js"),__vite__mapDeps([189,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,175,65,186,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/chat/components/MessageBubble.vue":()=>i(()=>import("./MessageBubble-c6JPgo9w.js"),__vite__mapDeps([190,2,3,4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,191])),"/src/views/chat/components/SendPanel.vue":()=>i(()=>import("./SendPanel-2lfWsLed.js").then(a=>a.i),__vite__mapDeps([192,2,3,4,5,6,7,8,9,10,11,12,13,14,15,63,193])),"/src/views/chat/index.vue":()=>i(()=>import("./index-CEqLgoFP.js"),__vite__mapDeps([194,2,3,4,5,6,7,8,9,10,11,12,13,14,15,65,190,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,191,192,63,193,195])),"/src/views/consumer/assistant/edit.vue":()=>i(()=>import("./edit-Ma-5Uh1k.js"),__vite__mapDeps([196,2,3,4,5,6,7,8,9,10,11,12,13,14,15,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,197,198,199,169,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,200])),"/src/views/consumer/assistant/index.vue":()=>i(()=>import("./index-CpNKJflv.js"),__vite__mapDeps([201,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,197,65,196,54,55,56,57,59,60,61,62,63,64,22,23,66,67,68,69,70,71,72,198,199,169,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,200,202])),"/src/views/consumer/components/account-adjust.vue":()=>i(()=>import("./account-adjust-Dqh1AEa3.js"),__vite__mapDeps([203,204,2,3,4,5,6,7,8,9,10,11,12,13,14,15,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/consumer/doctor/edit.vue":()=>i(()=>import("./edit-BVgeLr6b.js"),__vite__mapDeps([205,2,3,4,5,6,7,8,9,10,11,12,13,14,15,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,197,198,199,169,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,206])),"/src/views/consumer/doctor/index.vue":()=>i(()=>import("./index-DsQrRd_r.js"),__vite__mapDeps([207,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,197,65,205,54,55,56,57,59,60,61,62,63,64,22,23,66,67,68,69,70,71,72,198,199,169,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,206,208])),"/src/views/consumer/doctor/paiban.vue":()=>i(()=>import("./paiban-D6p98E_u.js"),__vite__mapDeps([209,2,3,4,5,6,7,8,9,10,11,12,13,14,15,121,75,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,210])),"/src/views/consumer/lists/detail.vue":()=>i(()=>import("./detail-DzXhStO7.js"),__vite__mapDeps([211,2,3,4,5,6,7,8,9,10,11,12,13,14,15,64,22,23,212,204,55,56,16,17,18,19,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/consumer/lists/index.vue":()=>i(()=>import("./index-49FAA4lV.js"),__vite__mapDeps([213,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,214,55,56,215,212,65,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/consumer/prescription/index.vue":()=>i(()=>import("./index-BJ25yAIh.js"),__vite__mapDeps([216,17,18,19,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,121,217,218,65,215,219,220,16,221,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,222])),"/src/views/consumer/prescription/list.vue":()=>i(()=>import("./list-Biq_8Mno.js"),__vite__mapDeps([223,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,121,65,219,217,220,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,224])),"/src/views/consumer/prescription/order_list.vue":()=>i(()=>import("./order_list-pZ0oXEQT.js"),__vite__mapDeps([225,17,18,19,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,16,215,121,221,198,65,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,226])),"/src/views/consumer/prescription/order_list_h5.vue":()=>i(()=>import("./order_list_h5-tCnZ1_6u.js"),__vite__mapDeps([227,17,18,19,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,215,121,221,198,65,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,228])),"/src/views/decoration/component/add-nav.vue":()=>i(()=>import("./add-nav-BP84JTbJ.js"),__vite__mapDeps([229,95,2,3,4,5,6,7,8,9,10,11,12,13,14,15,59,60,82,55,56,58,83,65,84,54,57,61,62,63,64,22,23,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/decoration/component/decoration-img.vue":()=>i(()=>import("./decoration-img-CZl9mrsf.js"),__vite__mapDeps([87,2,3,4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,88])),"/src/views/decoration/component/pages/attr-setting.vue":()=>i(()=>import("./attr-setting-BQ-x4ArE.js"),__vite__mapDeps([230,231,2,3,4,5,6,7,8,9,10,11,12,13,14,15,80,81,59,60,82,55,56,58,83,65,84,54,57,61,62,63,64,22,23,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,78,102,103,104,105,106,107,108,109,110,111,112,113,114])),"/src/views/decoration/component/pages/menu.vue":()=>i(()=>import("./menu-Cw5oPkn4.js"),__vite__mapDeps([232,2,3,4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,233])),"/src/views/decoration/component/pages/preview-pc.vue":()=>i(()=>import("./preview-pc-BmqIs2iT.js"),__vite__mapDeps([79,2,3,4,5,6,7,8,9,10,11,12,13,14,15,80,81,59,60,82,55,56,58,83,65,84,54,57,61,62,63,64,22,23,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,78,102,103,104,105,106,107,108,109,110,111,112,113,114,115])),"/src/views/decoration/component/pages/preview.vue":()=>i(()=>import("./preview-D1vgcnnO.js"),__vite__mapDeps([234,2,3,4,5,6,7,8,9,10,11,12,13,14,15,80,81,59,60,82,55,56,58,83,65,84,54,57,61,62,63,64,22,23,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,78,102,103,104,105,106,107,108,109,110,111,112,113,114,235])),"/src/views/decoration/component/tabbar/mobile/attr.vue":()=>i(()=>import("./attr-BH86F3a-.js"),__vite__mapDeps([236,237,2,3,4,5,6,7,8,9,10,11,12,13,14,15,59,60,82,55,56,58,83,65,84,54,57,61,62,63,64,22,23,66,67,68,69,70,71,72,104,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/decoration/component/tabbar/mobile/content.vue":()=>i(()=>import("./content-Dt4NHJyv.js"),__vite__mapDeps([238,87,2,3,4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,88,239])),"/src/views/decoration/component/tabbar/pc/attr.vue":()=>i(()=>import("./attr-Dta0v7QA.js"),__vite__mapDeps([240,2,3,4,5,6,7,8,9,10,11,12,13,14,15,241,59,60,82,55,56,58,83,65,84,54,57,61,62,63,64,22,23,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/decoration/component/tabbar/pc/content.vue":()=>i(()=>import("./content-CtN1fP4w.js"),__vite__mapDeps([242,2,3,4,5,6,7,8,9,10,11,12,13,14,15,87,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,88,243])),"/src/views/decoration/component/tabbar/pc/menu-set.vue":()=>i(()=>import("./menu-set-DesB-ZdE.js"),__vite__mapDeps([244,241,2,3,4,5,6,7,8,9,10,11,12,13,14,15,59,60,82,55,56,58,83,65,84,54,57,61,62,63,64,22,23,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/decoration/component/widgets/banner/attr.vue":()=>i(()=>import("./attr-CLlbMhxO.js"),__vite__mapDeps([81,2,3,4,5,6,7,8,9,10,11,12,13,14,15,59,60,82,55,56,58,83,65,84,54,57,61,62,63,64,22,23,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,85])),"/src/views/decoration/component/widgets/banner/content.vue":()=>i(()=>import("./content-DP2jpo2x.js"),__vite__mapDeps([245,86,87,2,3,4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,88])),"/src/views/decoration/component/widgets/customer-service/attr.vue":()=>i(()=>import("./attr-8ElsMl3U.js"),__vite__mapDeps([246,89,2,3,4,5,6,7,8,9,10,11,12,13,14,15,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/decoration/component/widgets/customer-service/content.vue":()=>i(()=>import("./content-B6YfxEbd.js"),__vite__mapDeps([90,87,2,3,4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,88,91])),"/src/views/decoration/component/widgets/middle-banner/attr.vue":()=>i(()=>import("./attr-CtBO5Z_O.js"),__vite__mapDeps([247,92,2,3,4,5,6,7,8,9,10,11,12,13,14,15,59,60,82,55,56,58,83,65,84,54,57,61,62,63,64,22,23,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/decoration/component/widgets/middle-banner/content.vue":()=>i(()=>import("./content-Ba9eVUWZ.js"),__vite__mapDeps([248,93,87,2,3,4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,88])),"/src/views/decoration/component/widgets/my-service/attr.vue":()=>i(()=>import("./attr-B35dGV5K.js"),__vite__mapDeps([249,94,2,3,4,5,6,7,8,9,10,11,12,13,14,15,95,59,60,82,55,56,58,83,65,84,54,57,61,62,63,64,22,23,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/decoration/component/widgets/my-service/content.vue":()=>i(()=>import("./content-Cj4lK4l8.js"),__vite__mapDeps([96,87,2,3,4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,88,97])),"/src/views/decoration/component/widgets/nav/attr.vue":()=>i(()=>import("./attr-BkmkxePz.js"),__vite__mapDeps([250,98,2,3,4,5,6,7,8,9,10,11,12,13,14,15,95,59,60,82,55,56,58,83,65,84,54,57,61,62,63,64,22,23,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/decoration/component/widgets/nav/content.vue":()=>i(()=>import("./content-BcVLO4Yk.js"),__vite__mapDeps([251,99,87,2,3,4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,88])),"/src/views/decoration/component/widgets/news/attr.vue":()=>i(()=>import("./attr-Db6EuK6T.js"),__vite__mapDeps([252,100,5,6,7,4])),"/src/views/decoration/component/widgets/news/content.vue":()=>i(()=>import("./content-Dyh_0iwA.js"),__vite__mapDeps([101,78,5,6,7,4,17,18,19,16,20,21,2,3,8,9,10,11,12,13,14,15,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,102])),"/src/views/decoration/component/widgets/page-meta/attr.vue":()=>i(()=>import("./attr-CNph-R0s.js"),__vite__mapDeps([253,103,2,3,4,5,6,7,8,9,10,11,12,13,14,15,104,22,23,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/decoration/component/widgets/page-meta/content.vue":()=>i(()=>import("./content-B1b0mSAw.js"),__vite__mapDeps([105,5,6,7,4,17,18,19,16,20,21,2,3,8,9,10,11,12,13,14,15,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/decoration/component/widgets/pc-banner/content.vue":()=>i(()=>import("./content-DoO11RHs.js"),__vite__mapDeps([254,106,2,3,4,5,6,7,8,9,10,11,12,13,14,15,59,60,82,55,56,58,83,65,84,54,57,61,62,63,64,22,23,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/decoration/component/widgets/search/attr.vue":()=>i(()=>import("./attr-BS21VV6Q.js"),__vite__mapDeps([255,107,5,6,7,4])),"/src/views/decoration/component/widgets/search/content.vue":()=>i(()=>import("./content-B7VEJItb.js"),__vite__mapDeps([108,5,6,7,4,17,18,19,16,20,21,2,3,8,9,10,11,12,13,14,15,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,109])),"/src/views/decoration/component/widgets/user-banner/attr.vue":()=>i(()=>import("./attr-DPrxRs4q.js"),__vite__mapDeps([256,110,2,3,4,5,6,7,8,9,10,11,12,13,14,15,59,60,82,55,56,58,83,65,84,54,57,61,62,63,64,22,23,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/decoration/component/widgets/user-banner/content.vue":()=>i(()=>import("./content-CfP4zJwT.js"),__vite__mapDeps([257,111,87,2,3,4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,88])),"/src/views/decoration/component/widgets/user-info/attr.vue":()=>i(()=>import("./attr-gr_OE7on.js"),__vite__mapDeps([258,112,5,6,7,4])),"/src/views/decoration/component/widgets/user-info/content.vue":()=>i(()=>import("./content-CgQTA2IB.js"),__vite__mapDeps([113,5,6,7,4,17,18,19,16,20,21,2,3,8,9,10,11,12,13,14,15,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,114])),"/src/views/decoration/pages/index.vue":()=>i(()=>import("./index-COsry1Al.js"),__vite__mapDeps([259,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,78,231,80,81,59,60,82,55,56,58,83,65,84,54,57,61,62,63,64,22,23,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,232,233,234,235,260])),"/src/views/decoration/pc.vue":()=>i(()=>import("./pc-Cxr5rLiS.js"),__vite__mapDeps([261,2,3,4,5,6,7,8,9,10,11,12,13,14,15,78,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/decoration/pc_details.vue":()=>i(()=>import("./pc_details-j9bN0XnC.js"),__vite__mapDeps([77,2,3,4,5,6,7,8,9,10,11,12,13,14,15,78,79,80,81,59,60,82,55,56,58,83,65,84,54,57,61,62,63,64,22,23,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116])),"/src/views/decoration/style/components/mobile-style.vue":()=>i(()=>import("./mobile-style-Bbbeu-70.js"),__vite__mapDeps([262,263,2,3,4,5,6,7,8,9,10,11,12,13,14,15,104,22,23,264,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,265])),"/src/views/decoration/style/components/theme-picker.vue":()=>i(()=>import("./theme-picker-ZOnz3jM-.js"),__vite__mapDeps([264,22,23,6,7,4,5,17,18,19,16,20,21,2,3,8,9,10,11,12,13,14,15,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,265])),"/src/views/decoration/style/style.vue":()=>i(()=>import("./style-BWagwxsz.js"),__vite__mapDeps([266,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,78,263,104,22,23,264,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,265])),"/src/views/decoration/tabbar.vue":()=>i(()=>import("./tabbar-DXJ2sWWu.js"),__vite__mapDeps([267,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,78,232,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,233,237,59,60,82,55,56,58,83,65,84,54,57,61,62,63,64,66,67,68,69,70,71,72,104,238,87,88,239,268])),"/src/views/dev_tools/code/edit.vue":()=>i(()=>import("./edit-CktqTQQ_.js"),__vite__mapDeps([269,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,270,271,272,169,273,55,56,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,274])),"/src/views/dev_tools/code/index.vue":()=>i(()=>import("./index-NHnOTG-4.js"),__vite__mapDeps([275,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,272,65,276,32,33,277,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,34,35,36,37,38,39])),"/src/views/dev_tools/components/code-preview.vue":()=>i(()=>import("./code-preview-C6qDIvgm.js"),__vite__mapDeps([278,276,2,3,4,5,6,7,8,9,10,11,12,13,14,15,32,33,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,34,35,36,37,38,39])),"/src/views/dev_tools/components/data-table.vue":()=>i(()=>import("./data-table-Bk1rmEww.js"),__vite__mapDeps([279,277,2,3,4,5,6,7,8,9,10,11,12,13,14,15,272,58,55,56,65,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/dev_tools/components/relations-add.vue":()=>i(()=>import("./relations-add-C6KNKz4Y.js"),__vite__mapDeps([280,273,2,3,4,5,6,7,8,9,10,11,12,13,14,15,272,55,56,169,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/doctor/dept-tongji.vue":()=>i(()=>import("./dept-tongji-BJuS-9pm.js"),__vite__mapDeps([281,2,3,4,5,6,7,8,9,10,11,12,13,14,15,75,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,282])),"/src/views/doctor/medicine.vue":()=>i(()=>import("./medicine-r1tvom0T.js"),__vite__mapDeps([283,2,3,4,5,6,7,8,9,10,11,12,13,14,15,217,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,284])),"/src/views/doctor/progress.vue":()=>i(()=>import("./progress-DiQn9RZz.js"),__vite__mapDeps([74,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,75,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,76])),"/src/views/doctor/roster.vue":()=>i(()=>import("./roster-BT97aWzA.js"),__vite__mapDeps([285,2,3,4,5,6,7,8,9,10,11,12,13,14,15,197,75,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,286])),"/src/views/doctor/tongji.vue":()=>i(()=>import("./tongji-DUDPbB5C.js"),__vite__mapDeps([287,2,3,4,5,6,7,8,9,10,11,12,13,14,15,75,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,288])),"/src/views/error/403.vue":()=>i(()=>import("./403-BQYUcr_f.js"),__vite__mapDeps([41,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40])),"/src/views/error/404.vue":()=>i(()=>import("./404-hpF_YYxd.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40])),"/src/views/error/components/error.vue":()=>i(()=>import("./error-BJHvk5qu.js"),__vite__mapDeps([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40])),"/src/views/fans/commission-settlement.vue":()=>i(()=>import("./commission-settlement-B3R3uSwd.js"),__vite__mapDeps([289,2,3,4,5,6,7,8,9,10,11,12,13,14,15,290,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,291])),"/src/views/fans/h5.vue":()=>i(()=>import("./h5-DoiReXRh.js"),__vite__mapDeps([117,2,3,4,5,6,7,8,9,10,11,12,13,14,15,118,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,119])),"/src/views/fans/index.vue":()=>i(()=>import("./index-DxZyYPmh.js"),__vite__mapDeps([292,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,118,65,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/fans/qywx.vue":()=>i(()=>import("./qywx-CXKXaUIE.js"),__vite__mapDeps([293,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,65,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,294])),"/src/views/fans/yeji.vue":()=>i(()=>import("./yeji-hPX302E_.js"),__vite__mapDeps([295,2,3,4,5,6,7,8,9,10,11,12,13,14,15,21,136,137,34,35,36,290,296,121,17,18,19,16,20,22,23,24,25,26,27,28,29,30,31,32,33,37,38,39,297])),"/src/views/finance/account_cost/edit.vue":()=>i(()=>import("./edit-CTvlHb1B.js"),__vite__mapDeps([298,299,2,3,4,5,6,7,8,9,10,11,12,13,14,15,296,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/finance/account_cost/index.vue":()=>i(()=>import("./index-gJc6Zoby.js"),__vite__mapDeps([300,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,215,296,65,299,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/finance/balance_details.vue":()=>i(()=>import("./balance_details-CuLNXHHw.js"),__vite__mapDeps([301,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,215,296,169,65,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/finance/component/refund-log.vue":()=>i(()=>import("./refund-log-Ce69Mq4B.js"),__vite__mapDeps([302,303,2,3,4,5,6,7,8,9,10,11,12,13,14,15,296,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/finance/mubiao-dept-card.vue":()=>i(()=>import("./mubiao-dept-card-BBumqYkN.js"),__vite__mapDeps([304,2,3,4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,305])),"/src/views/finance/mubiao-dept-node.vue":()=>i(()=>import("./mubiao-dept-node-DxQpVAOL.js"),__vite__mapDeps([306,2,3,4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,307])),"/src/views/finance/mubiao.vue":()=>i(()=>import("./mubiao-BojtsTyp.js"),__vite__mapDeps([308,2,3,4,5,6,7,8,9,10,11,12,13,14,15,304,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,305,296,309])),"/src/views/finance/recharge_record.vue":()=>i(()=>import("./recharge_record-6j9RWYrl.js"),__vite__mapDeps([310,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,214,55,56,215,296,65,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/finance/refund_record.vue":()=>i(()=>import("./refund_record-DsraTcjC.js"),__vite__mapDeps([311,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,215,296,65,303,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/material/index.vue":()=>i(()=>import("./index-CVVDN2Y9.js"),__vite__mapDeps([312,2,3,4,5,6,7,8,9,10,11,12,13,14,15,57,58,59,60,55,56,61,62,63,64,22,23,65,66,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,313])),"/src/views/message/notice/edit.vue":()=>i(()=>import("./edit-U_naBmb0.js"),__vite__mapDeps([314,2,3,4,5,6,7,8,9,10,11,12,13,14,15,52,53,315,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/message/notice/index.vue":()=>i(()=>import("./index-D1uCY6l3.js"),__vite__mapDeps([316,2,3,4,5,6,7,8,9,10,11,12,13,14,15,315,65,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/message/short_letter/edit.vue":()=>i(()=>import("./edit-Cj0lyXv8.js"),__vite__mapDeps([317,318,2,3,4,5,6,7,8,9,10,11,12,13,14,15,315,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/message/short_letter/index.vue":()=>i(()=>import("./index-BA_0yQtx.js"),__vite__mapDeps([319,2,3,4,5,6,7,8,9,10,11,12,13,14,15,315,318,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/order/index.vue":()=>i(()=>import("./index-B5KYWUG1.js"),__vite__mapDeps([320,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,214,55,56,215,65,122,121,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,321])),"/src/views/organization/department/edit.vue":()=>i(()=>import("./edit-Cne84dsM.js"),__vite__mapDeps([322,323,2,3,4,5,6,7,8,9,10,11,12,13,14,15,198,55,56,169,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/organization/department/index.vue":()=>i(()=>import("./index-ot-C1dYE.js"),__vite__mapDeps([324,2,3,4,5,6,7,8,9,10,11,12,13,14,15,198,323,55,56,169,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/organization/post/edit.vue":()=>i(()=>import("./edit-Dhq5bPXP.js"),__vite__mapDeps([325,326,2,3,4,5,6,7,8,9,10,11,12,13,14,15,199,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/organization/post/index.vue":()=>i(()=>import("./index-CIsW_Bao.js"),__vite__mapDeps([327,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,214,55,56,199,65,326,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/patient/reception/components/NoteTimeline.vue":()=>i(()=>import("./NoteTimeline-CDNv1DMC.js"),__vite__mapDeps([156,2,3,4,5,6,7,8,9,10,11,12,13,14,15,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,127,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,157])),"/src/views/patient/reception/index.vue":()=>i(()=>import("./index-BLhBiyLa.js"),__vite__mapDeps([328,17,18,19,2,3,4,5,6,7,8,9,10,11,12,13,14,15,127,156,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,157,129,128,130,131,132,133,134,135,136,137,138,121,124,139,140,75,329])),"/src/views/permission/admin/edit.vue":()=>i(()=>import("./edit-wfA6DpoG.js"),__vite__mapDeps([330,331,2,3,4,5,6,7,8,9,10,11,12,13,14,15,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,198,199,197,218,169,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/permission/admin/index.vue":()=>i(()=>import("./index-fhARdqxo.js"),__vite__mapDeps([332,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,214,55,56,197,218,169,65,331,54,57,59,60,61,62,63,64,22,23,66,67,68,69,70,71,72,198,199,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/permission/menu/edit.vue":()=>i(()=>import("./edit-aPyRH11x.js"),__vite__mapDeps([333,334,2,3,4,5,6,7,8,9,10,11,12,13,14,15,335,22,23,270,55,56,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/permission/menu/index.vue":()=>i(()=>import("./index-BVxwK15h.js"),__vite__mapDeps([336,2,3,4,5,6,7,8,9,10,11,12,13,14,15,270,65,334,335,22,23,55,56,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/permission/role/auth.vue":()=>i(()=>import("./auth-CnJ8rnDs.js"),__vite__mapDeps([337,338,2,3,4,5,6,7,8,9,10,11,12,13,14,15,270,218,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/permission/role/edit.vue":()=>i(()=>import("./edit-C5KmTU_p.js"),__vite__mapDeps([339,340,2,3,4,5,6,7,8,9,10,11,12,13,14,15,218,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/permission/role/index.vue":()=>i(()=>import("./index-CsSAUW1e.js"),__vite__mapDeps([341,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,218,65,338,270,55,56,340,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/setting/dict/data/edit.vue":()=>i(()=>import("./edit-DkNQatXb.js"),__vite__mapDeps([342,343,2,3,4,5,6,7,8,9,10,11,12,13,14,15,271,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/setting/dict/data/index.vue":()=>i(()=>import("./index-DFiWKjQO.js"),__vite__mapDeps([344,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,271,65,343,55,56,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/setting/dict/type/edit.vue":()=>i(()=>import("./edit-D4HOYBIv.js"),__vite__mapDeps([345,346,2,3,4,5,6,7,8,9,10,11,12,13,14,15,271,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/setting/dict/type/index.vue":()=>i(()=>import("./index-xrZVk_ET.js"),__vite__mapDeps([347,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,271,65,346,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/setting/pay/config/edit.vue":()=>i(()=>import("./edit-D3JE6NlA.js"),__vite__mapDeps([348,2,3,4,5,6,7,8,9,10,11,12,13,14,15,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,349,43,350,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,351])),"/src/views/setting/pay/config/index.vue":()=>i(()=>import("./index-CMwwIkSa.js"),__vite__mapDeps([352,2,3,4,5,6,7,8,9,10,11,12,13,14,15,349,350,348,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,43,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,351])),"/src/views/setting/pay/method/index.vue":()=>i(()=>import("./index-CyZ-wwFn.js"),__vite__mapDeps([353,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,349,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/setting/search/index.vue":()=>i(()=>import("./index-MIXvCMVf.js"),__vite__mapDeps([354,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,355])),"/src/views/setting/storage/edit.vue":()=>i(()=>import("./edit-CK5zzVEN.js"),__vite__mapDeps([356,357,2,3,4,5,6,7,8,9,10,11,12,13,14,15,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/setting/storage/index.vue":()=>i(()=>import("./index-BVSryKMe.js"),__vite__mapDeps([358,2,3,4,5,6,7,8,9,10,11,12,13,14,15,357,55,56,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/setting/system/cache.vue":()=>i(()=>import("./cache-k4QSZNlp.js"),__vite__mapDeps([359,2,3,4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/setting/system/environment.vue":()=>i(()=>import("./environment-Bwhdt1o9.js"),__vite__mapDeps([360,2,3,4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/setting/system/journal.vue":()=>i(()=>import("./journal-BRB574_h.js"),__vite__mapDeps([361,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,214,55,56,215,65,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/setting/system/scheduled_task/edit.vue":()=>i(()=>import("./edit-Do-kTB4P.js"),__vite__mapDeps([362,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/setting/system/scheduled_task/index.vue":()=>i(()=>import("./index-CZ3wLVRe.js"),__vite__mapDeps([363,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,65,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/setting/user/login_register.vue":()=>i(()=>import("./login_register-B0lLvaDu.js"),__vite__mapDeps([364,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,365,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/setting/user/setup.vue":()=>i(()=>import("./setup-Bne5IzJ3.js"),__vite__mapDeps([366,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,365,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/setting/website/filing.vue":()=>i(()=>import("./filing-Bdgu8afO.js"),__vite__mapDeps([367,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,59,60,368,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/setting/website/information.vue":()=>i(()=>import("./information-Dc7gSbun.js"),__vite__mapDeps([369,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,368,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/setting/website/protocol.vue":()=>i(()=>import("./protocol-DCNm_frc.js"),__vite__mapDeps([370,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,164,165,166,167,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,168,368,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/setting/website/statistics.vue":()=>i(()=>import("./statistics-Bv1VMAw2.js"),__vite__mapDeps([371,52,5,6,7,4,53,2,3,8,9,10,11,12,13,14,15,368,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/stats/conversion/index.vue":()=>i(()=>import("./index-t9gyn7b5.js"),__vite__mapDeps([372,58,2,3,4,5,6,7,8,9,10,11,12,13,14,15,136,137,34,35,36,290,65,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,37,38,39,373])),"/src/views/tcm/appointment/components/prescription-drawer.vue":()=>i(()=>import("./prescription-drawer-B_oH5vNX.js"),__vite__mapDeps([374,2,3,4,5,6,7,8,9,10,11,12,13,14,15,121,219,217,220,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,375])),"/src/views/tcm/appointment/list.vue":()=>i(()=>import("./list-BaTlu51A.js"),__vite__mapDeps([376,17,18,19,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,215,65,75,121,133,123,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,377])),"/src/views/tcm/diagnosis/add.vue":()=>i(()=>import("./add-DDFfGjpS.js"),__vite__mapDeps([378,2,3,4,5,6,7,8,9,10,11,12,13,14,15,121,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,379])),"/src/views/tcm/diagnosis/appointment.vue":()=>i(()=>import("./appointment-D0hEffVf.js"),__vite__mapDeps([380,2,3,4,5,6,7,8,9,10,11,12,13,14,15,121,75,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,381])),"/src/views/tcm/diagnosis/components/AppointmentRecordPanel.vue":()=>i(()=>import("./AppointmentRecordPanel-BZnhzLjC.js"),__vite__mapDeps([152,2,3,4,5,6,7,8,9,10,11,12,13,14,15,75,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,153])),"/src/views/tcm/diagnosis/components/AssignLogPanel.vue":()=>i(()=>import("./AssignLogPanel-B0ohl4pV.js"),__vite__mapDeps([150,2,3,4,5,6,7,8,9,10,11,12,13,14,15,121,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,151])),"/src/views/tcm/diagnosis/components/AssistantWatchCallDialog.vue":()=>i(()=>import("./AssistantWatchCallDialog-LeKEiefN.js"),__vite__mapDeps([382,2,3,4,5,6,7,8,9,10,11,12,13,14,15,383,121,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,384])),"/src/views/tcm/diagnosis/components/BloodRecordList.vue":()=>i(()=>import("./BloodRecordList-D6MglPEn.js"),__vite__mapDeps([385,2,3,4,5,6,7,8,9,10,11,12,13,14,15,121,34,35,36,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,37,38,39,386])),"/src/views/tcm/diagnosis/components/CallRecordPanel.vue":()=>i(()=>import("./CallRecordPanel-CLexkvxf.js"),__vite__mapDeps([141,2,3,4,5,6,7,8,9,10,11,12,13,14,15,142,143,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,144,145,61,62,63,121,146])),"/src/views/tcm/diagnosis/components/CaseRecordList.vue":()=>i(()=>import("./CaseRecordList-CsyYkwG-.js"),__vite__mapDeps([387,2,3,4,5,6,7,8,9,10,11,12,13,14,15,121,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,388])),"/src/views/tcm/diagnosis/components/DailyMatrix.vue":()=>i(()=>import("./DailyMatrix-0DiBlpfB.js"),__vite__mapDeps([135,2,3,4,5,6,7,8,9,10,11,12,13,14,15,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,136,137,34,35,36,138,121,124,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,37,38,39,139,132,140])),"/src/views/tcm/diagnosis/components/DiagnosisTodoList.vue":()=>i(()=>import("./DiagnosisTodoList-DC7uqd6f.js"),__vite__mapDeps([138,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,121,124,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,139])),"/src/views/tcm/diagnosis/components/DietRecordList.vue":()=>i(()=>import("./DietRecordList-k5hMEz1n.js"),__vite__mapDeps([389,2,3,4,5,6,7,8,9,10,11,12,13,14,15,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,121,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,390])),"/src/views/tcm/diagnosis/components/ExerciseRecordList.vue":()=>i(()=>import("./ExerciseRecordList-B5U5W1JH.js"),__vite__mapDeps([391,2,3,4,5,6,7,8,9,10,11,12,13,14,15,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,121,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,392])),"/src/views/tcm/diagnosis/components/ImChatRecordPanel.vue":()=>i(()=>import("./ImChatRecordPanel-DiuuXcLT.js"),__vite__mapDeps([147,2,3,4,5,6,7,8,9,10,11,12,13,14,15,121,148,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,149])),"/src/views/tcm/diagnosis/components/PatientCaseCard.vue":()=>i(()=>import("./PatientCaseCard-Dkbl8NTI.js"),__vite__mapDeps([131,132,128,133,5,6,7,4,17,18,19,16,20,21,2,3,8,9,10,11,12,13,14,15,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,134])),"/src/views/tcm/diagnosis/components/PatientInfoCard.vue":()=>i(()=>import("./PatientInfoCard-BuXf4C8w.js"),__vite__mapDeps([129,128,5,6,7,4,17,18,19,16,20,21,2,3,8,9,10,11,12,13,14,15,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,130])),"/src/views/tcm/diagnosis/components/PatientOrderList.vue":()=>i(()=>import("./PatientOrderList-DQ7QxnQw.js"),__vite__mapDeps([154,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,65,121,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,155])),"/src/views/tcm/diagnosis/components/RecordingPlaybackBlock.vue":()=>i(()=>import("./RecordingPlaybackBlock-z0PPBYke.js"),__vite__mapDeps([142,2,3,4,5,6,7,8,9,10,11,12,13,14,15,143,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,144,145])),"/src/views/tcm/diagnosis/components/RecordingVideoPlayer.vue":()=>i(()=>import("./RecordingVideoPlayer-DWV7klHs.js"),__vite__mapDeps([143,17,18,19,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,144])),"/src/views/tcm/diagnosis/components/TrackingMatrix.vue":()=>i(()=>import("./TrackingMatrix-6AXA1QSn.js"),__vite__mapDeps([393,2,3,4,5,6,7,8,9,10,11,12,13,14,15,132,121,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,394])),"/src/views/tcm/diagnosis/components/TrackingNoteTimeline.vue":()=>i(()=>import("./TrackingNoteTimeline-qSUYMPQm.js"),__vite__mapDeps([395,2,3,4,5,6,7,8,9,10,11,12,13,14,15,121,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,396])),"/src/views/tcm/diagnosis/detail.vue":()=>i(()=>import("./detail-41GQnmm8.js"),__vite__mapDeps([397,55,2,3,4,5,6,7,8,9,10,11,12,13,14,15,56,121,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/tcm/diagnosis/edit.vue":()=>i(()=>import("./edit-DlBhR6x6.js"),__vite__mapDeps([398,2,3,4,5,6,7,8,9,10,11,12,13,14,15,121,124,135,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,136,137,34,35,36,138,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,37,38,39,139,132,140,387,388,141,142,143,144,145,146,147,148,149,150,151,152,75,153,156,127,157,154,155,399,219,217,220,133,221,400,401,396])),"/src/views/tcm/diagnosis/index.vue":()=>i(()=>import("./index-Dlmqs7vK.js"),__vite__mapDeps([402,17,18,19,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,121,122,75,65,123,124,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,403])),"/src/views/tcm/diagnosis/index_h5.vue":()=>i(()=>import("./index_h5-1irCcr3H.js"),__vite__mapDeps([120,17,18,19,2,3,4,5,6,7,8,9,10,11,12,13,14,15,121,122,75,123,65,124,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,125])),"/src/views/tcm/diagnosis/readonly.vue":()=>i(()=>import("./readonly-D4rhgc7P.js"),__vite__mapDeps([126,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,121,127,128,124,129,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,130,131,132,133,134,135,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,75,153,154,155,156,157,158])),"/src/views/tcm/follow/index.vue":()=>i(()=>import("./index-CbvSIpPP.js"),__vite__mapDeps([404,17,18,19,2,3,4,5,6,7,8,9,10,11,12,13,14,15,58,121,198,122,75,65,123,124,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,405])),"/src/views/template/component/file.vue":()=>i(()=>import("./file-BU0cMb05.js"),__vite__mapDeps([406,2,3,4,5,6,7,8,9,10,11,12,13,14,15,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/template/component/icon.vue":()=>i(()=>import("./icon-Cy-wDZTO.js"),__vite__mapDeps([407,2,3,4,5,6,7,8,9,10,11,12,13,14,15,335,22,23,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/template/component/link.vue":()=>i(()=>import("./link-lbTzaTBT.js"),__vite__mapDeps([408,2,3,4,5,6,7,8,9,10,11,12,13,14,15,82,55,56,58,83,65,84,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/template/component/overflow.vue":()=>i(()=>import("./overflow-1YcCzxdD.js"),__vite__mapDeps([409,2,3,4,5,6,7,8,9,10,11,12,13,14,15,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/template/component/popover_input.vue":()=>i(()=>import("./popover_input-CBym-On7.js"),__vite__mapDeps([410,2,3,4,5,6,7,8,9,10,11,12,13,14,15,64,22,23])),"/src/views/template/component/rich_text.vue":()=>i(()=>import("./rich_text-izxF0JPq.js"),__vite__mapDeps([411,2,3,4,5,6,7,8,9,10,11,12,13,14,15,164,165,166,167,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,168,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/template/component/upload.vue":()=>i(()=>import("./upload-Bw3SVd8y.js"),__vite__mapDeps([412,2,3,4,5,6,7,8,9,10,11,12,13,14,15,61,62,63,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])),"/src/views/test/patient-call.vue":()=>i(()=>import("./patient-call-CdFa74wE.js"),__vite__mapDeps([413,2,3,4,5,6,7,8,9,10,11,12,13,14,15,414,415,416,417,418,419,420,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,421])),"/src/views/user/setting.vue":()=>i(()=>import("./setting-zQ275fvQ.js"),__vite__mapDeps([51,2,3,4,5,6,7,8,9,10,11,12,13,14,15,52,53,54,55,56,57,58,59,60,61,62,63,64,22,23,65,66,67,68,69,70,71,72,49,17,18,19,16,20,21,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,73])),"/src/views/workbench/index.vue":()=>i(()=>import("./index-DrH_NTKn.js"),__vite__mapDeps([422,2,3,4,5,6,7,8,9,10,11,12,13,14,15,136,137,34,35,36,121,122,350,17,18,19,16,20,21,22,23,24,25,26,27,28,29,30,31,32,33,37,38,39,423]))});function O7(){return Object.keys(C3).map(a=>a.replace("/src/views/","").replace(".vue",""))}function f1(a,o=!0){return a.map(e=>{const t=D6(e,o);return e.children!=null&&e.children&&e.children.length&&(t.children=f1(e.children,!1)),t})}function D6(a,o){const e=A1(a.paths),t={path:J(a.paths)?a.paths:o?`/${e}`:e,name:Symbol(a.paths),meta:{hidden:!a.is_show,keepAlive:!!a.is_cache,title:a.name,perms:a.perms,query:a.params,icon:a.icon,type:a.type,activeMenu:a.selected}};switch(a.type){case y3.CATALOGUE:t.component=o?l3:I3,a.children||(t.component=I3);break;case y3.MENU:t.component=C6(a.component);break}return t}function C6(a){try{const o=A1(a),e=Object.keys(C3).find(t=>t.includes(`/${o}.vue`));if(e)return C3[e];throw Error(`找不到组件${a},请确保组件路径正确`)}catch(o){return console.error(o),I3}}function A1(a){return String(a||"").replace(/^\/+/,"").replace(/\/+$/,"")}function S3(a){var o,e;for(const t of a){if(((o=t.meta)==null?void 0:o.type)==y3.MENU&&!((e=t.meta)!=null&&e.hidden)&&!J(t.path))return t.name;if(t.children){const l=S3(t.children);if(l)return l}}}function I7(a){var e;return((e=(n3()||H).getRoutes().find(t=>{var l;return((l=t.meta)==null?void 0:l.perms)==a}))==null?void 0:e.path)||""}function S6(){H.removeRoute(M3);const{routes:a}=Y();a.forEach(o=>{const e=o.name;e&&H.hasRoute(e)&&H.removeRoute(e)})}const H=T1({history:O1("/admin/"),routes:B6});function H3(a){if(a==null)return"";if(Array.isArray(a)){const o=a[0];return o==null?"":String(o).trim()}return String(a).trim()}function Y3(a){if(!H3(a.query.code))return!1;const e=H3(a.query.state);return e==="bind_wxwork"||e==="admin_bind_wx"?!0:H3(a.query.bind_wxwork)==="1"}const k3=(a,o="")=>{try{a.forEach(e=>{if(J(e.path))return;const t=o+e.path,l={...e,path:t,name:e.name||t.replace(/\//g,"_").replace("_","")};e.children?H.addRoute(l):H.addRoute(M3,l),e.children&&e.children.length>0&&k3(e.children,t+"/")})}catch(e){console.error("Error adding routes:",e)}},o3=T.LOGIN,k6=T.INDEX,T3="/change-password",_3="/bind-work-wechat",j6=[T.LOGIN,T.ERROR_403];H.beforeEach(async(a,o,e)=>{var c,n,r,s;document.title=a.meta.title??N.title;const t=Y(),l=m3();if(a.path===_3){if(!t.token){e({path:o3});return}e();return}if(a.path===T3){if(!t.token){e({path:o3});return}e();return}if(j6.includes(a.path))e();else if(t.token)if(Object.keys(t.userInfo).length!==0){if(t.isPaw===0){e({path:T3});return}if((c=t.userInfo)!=null&&c.need_bind_work_wechat&&a.path!==_3){if(Y3(a)){e();return}e({path:_3});return}if(!((n=t.userInfo)!=null&&n.need_bind_work_wechat)&&((r=t.routes)==null?void 0:r.length)>0&&!H.hasRoute(M3)){const p=S3(t.routes);if(!p){t3(),e(T.ERROR_403);return}l.setRouteName(p),v3.redirect={name:p},H.addRoute(v3),k3(t.routes),e({...a,replace:!0});return}a.path===o3?e({path:k6}):e()}else try{if(await t.getUserInfo(),t.isPaw===0){e({path:T3});return}if((s=t.userInfo)!=null&&s.need_bind_work_wechat){if(Y3(a)){e({...a,replace:!0});return}e({path:_3});return}const p=t.routes,v=S3(p);if(!v){t3(),e(T.ERROR_403);return}l.setRouteName(v),v3.redirect={name:v},H.addRoute(v3),k3(p),e({...a,replace:!0})}catch{t3(),e({path:o3,query:{redirect:a.fullPath}})}else e({path:o3,query:{redirect:a.fullPath}})});if(typeof window<"u"){let a=function(){var o=document.body,e=document.getElementById("__svg__icons__dom__");e||(e=document.createElementNS("http://www.w3.org/2000/svg","svg"),e.style.position="absolute",e.style.width="0",e.style.height="0",e.id="__svg__icons__dom__",e.setAttribute("xmlns","http://www.w3.org/2000/svg"),e.setAttribute("xmlns:link","http://www.w3.org/1999/xlink")),e.innerHTML='',o.insertBefore(e,o.lastChild)};document.readyState==="loading"?document.addEventListener("DOMContentLoaded",a):a()}function N6(){return L.get({url:"/chat/notifications"})}const q6=["onClick"],W6={class:"chat-notify-body"},G6={class:"chat-notify-title"},$6={class:"chat-notify-desc"},U6={class:"patient-name"},F6={class:"doctor-name"},Y6={class:"patient-name"},Z6={class:"patient-name"},X6={class:"chat-notify-time"},K6=["onClick"],J6=5e3,Q6=V({__name:"index",setup(a){const o=n3(),e=c3([]),t=c3(null);function l(s){if(!s)return"";const _=new Date(s*1e3),v=new Date().getTime()-_.getTime();return v<6e4?"刚刚":v<36e5?`${Math.floor(v/6e4)} 分钟前`:v<864e5?`${Math.floor(v/36e5)} 小时前`:_.toLocaleDateString("zh-CN",{month:"numeric",day:"numeric",hour:"2-digit",minute:"2-digit"})}function c(s){e.value=e.value.filter(_=>_.id!==s)}function n(s){c(s.id),s.type==="consultation_complete"&&s.diagnosis_id&&o.push({path:"/tcm/diagnosis",query:{id:s.diagnosis_id}})}async function r(){try{const s=await N6();Array.isArray(s)&&s.length>0&&(e.value=[...s,...e.value].slice(0,10))}catch{}}return u1(()=>{r(),t.value=setInterval(r,J6)}),l0(()=>{t.value&&clearInterval(t.value)}),(s,_)=>{const p=Q3;return h(),A(c0,{to:"body"},[u(z0,{name:"chat-notify-slide",tag:"div",class:"chat-notify-container"},{default:z(()=>[(h(!0),g(B,null,K(e.value,v=>(h(),g("div",{key:v.id,class:b3(["chat-notify-card",{"chat-notify-card-complete":v.type==="consultation_complete","chat-notify-card-left":v.type==="patient_left_chat"}]),onClick:w=>n(v)},[d("div",{class:b3(["chat-notify-icon",{"chat-notify-icon-complete":v.type==="consultation_complete","chat-notify-icon-left":v.type==="patient_left_chat"}])},[u(p,{size:22},{default:z(()=>[v.type!=="consultation_complete"&&v.type!=="patient_left_chat"?(h(),A(m(r0),{key:0})):v.type==="consultation_complete"?(h(),A(m(m0),{key:1})):(h(),A(m(u0),{key:2}))]),_:2},1024)],2),d("div",W6,[d("div",G6,R(v.type==="consultation_complete"?"面诊结束":v.type==="patient_left_chat"?"患者离开会话":"患者打开会话"),1),d("div",$6,[v.type==="consultation_complete"?(h(),g(B,{key:0},[d("span",U6,R(v.patient_name||"患者"),1),_[0]||(_[0]=I(" 的面诊已由 ",-1)),d("span",F6,R(v.doctor_name||"医生"),1),_[1]||(_[1]=I(" 完成,请及时跟进 ",-1))],64)):v.type==="patient_left_chat"?(h(),g(B,{key:1},[d("span",Y6,R(v.patient_name||"患者"),1),_[2]||(_[2]=I(" 已离开问诊会话页面 ",-1))],64)):(h(),g(B,{key:2},[d("span",Z6,R(v.patient_name||"患者"),1),_[3]||(_[3]=I(" 已打开与您的会话,请及时查看 ",-1))],64))]),d("div",X6,R(l(v.created_at)),1)]),d("button",{class:"chat-notify-close",onClick:p0(w=>c(v.id),["stop"]),"aria-label":"关闭"},[u(p,{size:14},{default:z(()=>[u(m(d0))]),_:1})],8,K6)],10,q6))),128))]),_:1})])}}}),a4=P(Q6,[["__scopeId","data-v-9276baf6"]]),o4=V({__name:"App",setup(a){const o=S(),e=W(),t=Y(),l=V3(),c=b(()=>{var _;return!!t.token&&l.path!=="/bind-work-wechat"&&!((_=t.userInfo)!=null&&_.need_bind_work_wechat)}),n={zIndex:2e3,locale:K1},r=c1();u1(async()=>{console.log("主题颜色",r.value),e.setTheme(r.value)});const{width:s}=Q1();return s1(s,v0(_=>{_>R3.SM?(o.setMobile(!1),o.toggleCollapsed(!1)):(o.setMobile(!0),o.toggleCollapsed(!0)),_{const v=s3("router-view"),w=X1;return h(),A(w,{locale:n.locale,"z-index":n.zIndex},{default:z(()=>[u(v),c.value?(h(),A(a4,{key:0})):D("",!0)]),_:1},8,["locale","z-index"])}}}),O3="data-clipboard-text",e4={mounted:(a,o)=>{a.setAttribute(O3,o.value);const{toClipboard:e}=y0();a.onclick=()=>{e(a.getAttribute(O3)).then(()=>{X.msgSuccess("复制成功")}).catch(()=>{X.msgError("复制失败")})}},updated:(a,o)=>{a.setAttribute(O3,o.value)}},t4=Object.freeze(Object.defineProperty({__proto__:null,default:e4},Symbol.toStringTag,{value:"Module"}));function Z3(a,o){const{value:e}=o,l=Y().perms||[],c="*";if(!Array.isArray(e))throw new Error(`like v-perms="['auth.menu/edit']"`);if(e.length===0){a.style.removeProperty("display");return}l.some(r=>c==r||e.includes(r))?a.style.removeProperty("display"):a.style.display="none"}const i4={mounted:(a,o)=>{Z3(a,o)},updated:(a,o)=>{Z3(a,o)}},l4=Object.freeze(Object.defineProperty({__proto__:null,default:i4},Symbol.toStringTag,{value:"Module"}));g0([w0,f0,A0,V0,L0,M0,x0,E0,H0,T0,O0,I0,R0,P0,B0,D0,C0,S0,k0,j0,N0,q0,W0,G0,$0]);const c4=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),n4=a=>{for(const[o,e]of Object.entries(h1))a.component(o,e)},s4=Object.freeze(Object.defineProperty({__proto__:null,default:n4},Symbol.toStringTag,{value:"Module"}));console.log(U0);const r4=a=>{a.use(F0)},m4=Object.freeze(Object.defineProperty({__proto__:null,default:r4},Symbol.toStringTag,{value:"Module"})),u4=I1(),d4=a=>{a.use(u4)},h4=Object.freeze(Object.defineProperty({__proto__:null,default:d4},Symbol.toStringTag,{value:"Module"}));function v4(a){a.beforeEach(async()=>{const o=S();if(!o.configFetchAttempted){o.$patch({configFetchAttempted:!0});try{const e=await o.getConfig();let t=document.querySelector('link[rel="icon"]');t&&(e!=null&&e.web_favicon)&&(t.href=e.web_favicon),e!=null&&e.web_favicon&&(t=document.createElement("link"),t.rel="icon",t.href=e.web_favicon,document.head.appendChild(t))}catch{}}})}const _4=Object.freeze(Object.defineProperty({__proto__:null,default:v4},Symbol.toStringTag,{value:"Module"})),X3=Object.assign({"./init.ts":_4});function p4(a){Object.keys(X3).forEach(o=>{const e=X3[o].default;typeof e=="function"&&e(a)})}const z4=a=>{p4(H),a.use(H)},b4=Object.freeze(Object.defineProperty({__proto__:null,default:z4},Symbol.toStringTag,{value:"Module"}));function y4(a){typeof window<"u"&&(window.__TUIKIT_INITIALIZED__=!0)}const g4=Object.freeze(Object.defineProperty({__proto__:null,default:y4},Symbol.toStringTag,{value:"Module"})),K3=Object.assign({"./directives/copy.ts":t4,"./directives/perms.ts":l4,"./plugins/echart.ts":c4,"./plugins/element.ts":s4,"./plugins/hljs.ts":m4,"./plugins/pinia.ts":h4,"./plugins/router.ts":b4,"./plugins/tuikit.ts":g4});function w4(a){Object.keys(K3).forEach(o=>{const e=o.replace(/(.*\/)*([^.]+).*/gi,"$2"),t=o.replace(/^\.\/([\w-]+).*/gi,"$1"),l=K3[o];if(l.default)switch(t){case"directives":a.directive(e,l.default);break;case"plugins":typeof l.default=="function"&&l.default(a);break}})}const f4={install:w4},V1=b0(o4);V1.use(f4);V1.mount("#app");y1().then(a=>{console.log(`%c likeadmin %c v${a.version} `,"padding: 4px 1px; border-radius: 3px 0 0 3px; color: #fff; background: #bbb; font-weight: bold;","padding: 4px 1px; border-radius: 0 3px 3px 0; color: #fff; background: #4A5DFF; font-weight: bold;")});export{s7 as A,K2 as B,n7 as C,A7 as D,V7 as E,x7 as F,T7 as G,E7 as H,M7 as I,L7 as J,H7 as K,d7 as L,y3 as M,r7 as N,f7 as O,T as P,v7 as Q,F as R,P as _,m7 as a,u7 as b,G as c,h7 as d,S as e,q as f,b1 as g,z6 as h,X as i,G2 as j,I7 as k,W as l,_7 as m,U3 as n,i3 as o,_6 as p,N as q,L as r,w7 as s,g7 as t,Y as u,O7 as v,y7 as w,b7 as x,p7 as y,z7 as z}; diff --git a/server/public/admin/assets/index-t9gyn7b5.js b/server/public/admin/assets/index-I1dwAKUm.js similarity index 97% rename from server/public/admin/assets/index-t9gyn7b5.js rename to server/public/admin/assets/index-I1dwAKUm.js index 0ee49a98..669425e0 100644 --- a/server/public/admin/assets/index-t9gyn7b5.js +++ b/server/public/admin/assets/index-I1dwAKUm.js @@ -1 +1 @@ -import{_ as Te}from"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import{D as we,B as Ne,ak as Pe,W as We,P as ze,Q as De,G as Fe,F as Le,a2 as Re,i as Ie,J as Me,a4 as Be,R as Ue,a3 as $e,M as He,N as Ye,d as Ge,T as Qe,E as je}from"./element-plus-0wC3naml.js";import{X as qe}from"./@element-plus/icons-vue-HOEUG8sr.js";import{H as F}from"./vue-echarts-BNtg2q_G.js";import{q as Je}from"./stats-DxFb49QX.js";import{u as Ke}from"./usePaging-VsbTxSU0.js";import{f as X,b as Xe,ak as r,I as C,a as o,aN as n,G as d,F as N,ap as P,O as y,H as A,J as i,A as f}from"./@vue/runtime-core-C6bnekPw.js";import{y as h,a as Ze,n as k,r as J}from"./@vue/reactivity-DiY1c2vO.js";import{Q as v,o as K}from"./@vue/shared-mAAVTE9n.js";import{_ as et}from"./index-E47--KT7.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./resize-detector-G6vbKCU7.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const tt={class:"conversion-stats-page"},at={class:"stats-kpi-grid"},nt={class:"stats-kpi-label"},lt={class:"card-header"},ot={class:"card-hint"},st={class:"card-header"},rt={class:"card-header-main"},it={class:"card-hint"},dt=["title"],pt={class:"entity-name"},ut={class:"mt-4 flex justify-end"},mt=X({name:"conversionStatsPage"}),ct=X({...mt,setup(_t){const g=k([]),L=k([]),R=k([]),I=k([]),M=k([]),B=k([]),U=k(!1),_=J({dimension:"dept",date_range:[],summary:{},charts:{ranking:{names:[],amounts:[],order_counts:[],fan_counts:[],rois:[]},amount_share:[],fan_share:[]}}),l=J({dimension:"dept",dept_id:void 0,assistant_id:void 0,doctor_id:void 0,media_channel_code:"",time_type:"today",start_date:"",end_date:""}),Z=async e=>{var s;e.include_filters=U.value?0:1,l.time_type==="custom"&&(e.start_date=g.value[0]||"",e.end_date=g.value[1]||"");const t=await Je(e);return Object.assign(_,(t==null?void 0:t.extend)||{}),me((s=t==null?void 0:t.extend)==null?void 0:s.filters),t},{pager:p,getLists:$}=Ke({fetchFun:Z,params:l,firstLoading:!0}),ee=[{label:"部门",value:"dept"},{label:"医助",value:"assistant"},{label:"医生",value:"doctor"}],te={value:"id",label:"name",children:"children"},ae={children:"children"},x=f(()=>l.dimension==="assistant"?"医助":l.dimension==="doctor"?"医生":"部门"),ne=f(()=>l.dimension==="assistant"?I.value:l.dimension==="doctor"?M.value:R.value),S=f({get:()=>l.dimension==="assistant"?l.assistant_id:l.dimension==="doctor"?l.doctor_id:l.dept_id,set:e=>{if(l.dimension==="assistant"){l.assistant_id=e;return}if(l.dimension==="doctor"){l.doctor_id=e;return}l.dept_id=e}}),le=[{key:"add_fans_count",label:"加粉数",type:"count"},{key:"paid_appointment_count",label:"付费挂号",type:"count"},{key:"free_appointment_count",label:"免费挂号",type:"count"},{key:"interview_count",label:"面诊",type:"count"},{key:"completed_order_count",label:"接诊诊单",type:"count"},{key:"paid_appointment_rate",label:"付费挂号率",type:"percent"},{key:"interview_rate",label:"面诊率",type:"percent"},{key:"receive_rate",label:"接诊率",type:"percent"},{key:"interview_receive_rate",label:"面诊接诊率",type:"percent"},{key:"business_order_amount",label:"业务订单额",type:"money"},{key:"completed_order_amount",label:"诊单金额",type:"money"},{key:"avg_unit_price",label:"平均单价",type:"money"},{key:"account_cost",label:"账户消耗",type:"money"},{key:"cash_cost",label:"现金成本",type:"money"},{key:"roi",label:"ROI",type:"ratio"}],oe=[{key:"add_fans_count",label:"加粉数",type:"count"},{key:"total_open_count",label:"总开口",type:"count",placeholder:!0},{key:"unreplied_count",label:"未回复",type:"count",placeholder:!0},{key:"paid_appointment_count",label:"付费挂号",type:"count"},{key:"free_appointment_count",label:"免费挂号",type:"count"},{key:"appointment_total_count",label:"挂号总数",type:"count"},{key:"interview_count",label:"面诊",type:"count"},{key:"completed_order_count",label:"接诊诊单",type:"count"},{key:"completed_order_amount",label:"诊单金额",type:"money",minWidth:120},{key:"paid_appointment_rate",label:"付费挂号率",type:"percent",minWidth:120},{key:"open_appointment_rate",label:"开口挂号率",type:"percent",placeholder:!0,minWidth:120},{key:"interview_rate",label:"面诊率",type:"percent",minWidth:100},{key:"receive_rate",label:"接诊率",type:"percent",minWidth:100},{key:"interview_receive_rate",label:"面诊接诊率",type:"percent",minWidth:130},{key:"open_receive_rate",label:"开口接诊率",type:"percent",placeholder:!0,minWidth:120},{key:"avg_unit_price",label:"平均单价",type:"money",minWidth:110},{key:"cash_cost",label:"现金成本",type:"money",minWidth:110},{key:"roi",label:"ROI",type:"ratio",minWidth:90}],H=f(()=>{var e;return(e=_.date_range)!=null&&e.length?`${_.date_range[0]} 至 ${_.date_range[1]}`:"未选择"}),se=f(()=>_.charts.ranking.names.length>0),re=f(()=>_.charts.amount_share.length>0),ie=f(()=>_.charts.fan_share.length>0),E=f(()=>{var u;const e=((u=_.charts)==null?void 0:u.ranking)||{},t=Array.isArray(e.names)?e.names:[],s=m=>t.map((c,T)=>Number((m==null?void 0:m[T])??0));return{names:t,amounts:s(Array.isArray(e.amounts)?e.amounts:[]),orderCounts:s(Array.isArray(e.order_counts)?e.order_counts:[]),fanCounts:s(Array.isArray(e.fan_counts)?e.fan_counts:[])}}),de=f(()=>({tooltip:{trigger:"axis"},legend:{data:["诊单金额","接诊诊单","加粉数"]},grid:{left:48,right:24,top:48,bottom:48},xAxis:{type:"category",data:E.value.names,axisLabel:{interval:0,rotate:E.value.names.length>6?25:0}},yAxis:[{type:"value",name:"金额 / 数量"}],series:[{name:"诊单金额",type:"bar",barMaxWidth:36,data:E.value.amounts,itemStyle:{color:"#4a78ff"}},{name:"接诊诊单",type:"line",smooth:!0,showSymbol:!0,symbolSize:8,lineStyle:{width:3},data:E.value.orderCounts,itemStyle:{color:"#15b8a6"}},{name:"加粉数",type:"line",smooth:!0,showSymbol:!0,symbolSize:8,lineStyle:{width:3},data:E.value.fanCounts,itemStyle:{color:"#ff9f43"}}]})),pe=f(()=>({tooltip:{trigger:"item"},legend:{bottom:0,type:"scroll",pageIconColor:"#409eff",pageTextStyle:{color:"#909399"}},series:[{name:"诊单金额",type:"pie",radius:["42%","70%"],center:["50%","42%"],avoidLabelOverlap:!0,minAngle:3,label:{show:!0,formatter:"{b}",overflow:"truncate",width:90},labelLayout:{hideOverlap:!0},data:_.charts.amount_share}]})),ue=f(()=>({tooltip:{trigger:"item"},legend:{bottom:0,type:"scroll",pageIconColor:"#409eff",pageTextStyle:{color:"#909399"}},series:[{name:"加粉数",type:"pie",radius:["42%","70%"],center:["50%","42%"],avoidLabelOverlap:!0,minAngle:3,label:{show:!0,formatter:"{b}",overflow:"truncate",width:90},labelLayout:{hideOverlap:!0},data:_.charts.fan_share}]})),Y=e=>{let t=[];return e.forEach(s=>{t.push({id:Number(s.id),name:s.name}),Array.isArray(s.children)&&s.children.length>0&&(t=t.concat(Y(s.children)))}),t},me=e=>{if(!e)return;U.value=!0;const t=Array.isArray(e.departments)?e.departments:[],s=Array.isArray(e.assistants)?e.assistants:[],u=Array.isArray(e.doctors)?e.doctors:[],m=Array.isArray(e.media_channels)?e.media_channels:[];L.value=t,R.value=Y(t),I.value=s.map(c=>({id:Number(c.id),name:c.name})),M.value=u.map(c=>({id:Number(c.id),name:c.name})),B.value=m.map(c=>({code:String(c.code||""),name:String(c.name||"")}))},b=async()=>{try{await $()}catch(e){console.error("获取统计概览失败:",e),je.error((e==null?void 0:e.msg)||"获取统计数据失败")}},ce=()=>{l.dept_id=void 0,l.assistant_id=void 0,l.doctor_id=void 0,p.page=1,b()},G=()=>{p.page=1,b()},_e=()=>{p.page=1,b()},ye=()=>{l.time_type!=="custom"&&(g.value=[],p.page=1,b())},fe=()=>{g.value.length===2&&(p.page=1,b())},be=()=>{p.page=1,b()},he=()=>{l.dimension="dept",l.dept_id=void 0,l.assistant_id=void 0,l.doctor_id=void 0,l.media_channel_code="",l.time_type="today",g.value=[],p.page=1,p.size=15,b()},Q=(e,t,s="count",u=!1)=>{if(u)return"—";const m=(t==null?void 0:t[e])??0;return s==="money"?`¥${Number(m||0).toFixed(2)}`:s==="percent"?`${Number(m||0).toFixed(2)}%`:s==="ratio"?Number(m||0).toFixed(2):String(m??0)},ve=e=>(e==null?void 0:e.id)!==void 0&&(e==null?void 0:e.id)!==null?String(e.id):"",ge=e=>(e==null?void 0:e.type)==="member"||(e==null?void 0:e.type)==="unbound",ke=({row:e})=>(e==null?void 0:e.type)==="unbound"?"member-row member-row--unbound":(e==null?void 0:e.type)==="member"?e.is_leader?"member-row member-row--leader":"member-row":"";return Xe(async()=>{await b()}),(e,t)=>{const s=Pe,u=Ne,m=We,c=De,T=ze,O=Le,Ce=Fe,xe=Re,j=Ie,Ee=we,V=Me,W=Ue,w=Be,z=$e,Oe=Ge,D=Qe,q=Ye,Ve=He,Ae=Te;return r(),C("div",tt,[o(V,{class:"!border-none",shadow:"never"},{default:n(()=>[o(Ee,{inline:!0,model:l,class:"stats-filter-form"},{default:n(()=>[o(u,{label:"统计维度"},{default:n(()=>[o(s,{modelValue:l.dimension,"onUpdate:modelValue":t[0]||(t[0]=a=>l.dimension=a),options:ee,onChange:ce},null,8,["modelValue"])]),_:1}),o(u,{label:x.value},{default:n(()=>[l.dimension==="dept"?(r(),d(m,{key:0,modelValue:S.value,"onUpdate:modelValue":t[1]||(t[1]=a=>S.value=a),data:L.value,placeholder:`全部${x.value}`,clearable:"",filterable:"","node-key":"id","check-strictly":"","default-expand-all":!0,props:te,style:{width:"220px"},onChange:G},null,8,["modelValue","data","placeholder"])):(r(),d(T,{key:1,modelValue:S.value,"onUpdate:modelValue":t[2]||(t[2]=a=>S.value=a),placeholder:`全部${x.value}`,clearable:"",filterable:"",style:{width:"220px"},onChange:G},{default:n(()=>[(r(!0),C(N,null,P(ne.value,a=>(r(),d(c,{key:a.id,label:a.name,value:a.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"]))]),_:1},8,["label"]),o(u,{label:"自媒体渠道"},{default:n(()=>[o(T,{modelValue:l.media_channel_code,"onUpdate:modelValue":t[3]||(t[3]=a=>l.media_channel_code=a),placeholder:"全部渠道",clearable:"",filterable:"",style:{width:"220px"},onChange:_e},{default:n(()=>[(r(!0),C(N,null,P(B.value,a=>(r(),d(c,{key:a.code,label:a.name,value:a.code},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),o(u,{label:"时间范围"},{default:n(()=>[o(Ce,{modelValue:l.time_type,"onUpdate:modelValue":t[4]||(t[4]=a=>l.time_type=a),onChange:ye},{default:n(()=>[o(O,{label:"today"},{default:n(()=>[...t[7]||(t[7]=[y("今天",-1)])]),_:1}),o(O,{label:"yesterday"},{default:n(()=>[...t[8]||(t[8]=[y("昨天",-1)])]),_:1}),o(O,{label:"week"},{default:n(()=>[...t[9]||(t[9]=[y("最近7天",-1)])]),_:1}),o(O,{label:"month"},{default:n(()=>[...t[10]||(t[10]=[y("最近30天",-1)])]),_:1}),o(O,{label:"custom"},{default:n(()=>[...t[11]||(t[11]=[y("自定义",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),l.time_type==="custom"?(r(),d(u,{key:0},{default:n(()=>[o(xe,{modelValue:g.value,"onUpdate:modelValue":t[5]||(t[5]=a=>g.value=a),type:"daterange","value-format":"YYYY-MM-DD","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期",style:{width:"260px"},onChange:fe},null,8,["modelValue"])]),_:1})):A("",!0),o(u,null,{default:n(()=>[o(j,{type:"primary",loading:h(p).loading,onClick:be},{default:n(()=>[...t[12]||(t[12]=[y("查询",-1)])]),_:1},8,["loading"]),o(j,{onClick:he},{default:n(()=>[...t[13]||(t[13]=[y("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),i("div",at,[(r(),C(N,null,P(le,a=>i("div",{key:a.key,class:"stats-kpi-card"},[i("div",nt,v(a.label),1),i("div",{class:K(["stats-kpi-value",{"is-money":a.type==="money"}])},v(Q(a.key,_.summary,a.type,a.placeholder)),3)])),64))]),o(z,{gutter:20,class:"mt-4"},{default:n(()=>[o(w,{span:24},{default:n(()=>[o(V,{class:"!border-none",shadow:"never"},{header:n(()=>[i("div",lt,[t[14]||(t[14]=i("span",null,"转化排行",-1)),i("span",ot,v(H.value)+" · TOP 10",1)])]),default:n(()=>[se.value?(r(),d(h(F),{key:0,class:"stats-chart stats-chart-wide",option:de.value,autoresize:""},null,8,["option"])):(r(),d(W,{key:1,description:"暂无图表数据"}))]),_:1})]),_:1})]),_:1}),o(z,{gutter:20,class:"mt-4"},{default:n(()=>[o(w,{xs:24,lg:12},{default:n(()=>[o(V,{class:"!border-none",shadow:"never"},{header:n(()=>[...t[15]||(t[15]=[i("div",{class:"card-header"},[i("span",null,"诊单金额占比"),i("span",{class:"card-hint"},"TOP 10")],-1)])]),default:n(()=>[re.value?(r(),d(h(F),{key:0,class:"stats-chart",option:pe.value,autoresize:""},null,8,["option"])):(r(),d(W,{key:1,description:"暂无金额数据"}))]),_:1})]),_:1}),o(w,{xs:24,lg:12},{default:n(()=>[o(V,{class:"!border-none",shadow:"never"},{header:n(()=>[...t[16]||(t[16]=[i("div",{class:"card-header"},[i("span",null,"加粉占比"),i("span",{class:"card-hint"},"TOP 10")],-1)])]),default:n(()=>[ie.value?(r(),d(h(F),{key:0,class:"stats-chart",option:ue.value,autoresize:""},null,8,["option"])):(r(),d(W,{key:1,description:"暂无加粉数据"}))]),_:1})]),_:1})]),_:1}),o(z,{gutter:20,class:"mt-4"},{default:n(()=>[o(w,{span:24},{default:n(()=>[o(V,{class:"!border-none stats-detail-card",shadow:"never"},{header:n(()=>[i("div",st,[i("div",rt,[t[17]||(t[17]=i("span",{class:"card-title"},"明细列表",-1)),i("span",it,v(x.value)+"维度 · "+v(H.value),1)])])]),default:n(()=>[o(Ve,{data:h(p).lists,"row-key":ve,"tree-props":l.dimension==="dept"?ae:void 0,"default-expand-all":!1,indent:20,"row-class-name":ke,size:"default",style:{width:"100%"},"max-height":"640",border:""},{default:n(()=>[o(q,{label:x.value,prop:"name",fixed:"left","min-width":"300","class-name":"dept-name-column"},{default:n(({row:a})=>[i("div",{class:"dept-name-cell",title:a.name},[ge(a)?(r(),C("span",{key:0,class:K(["member-icon",{"is-leader":a.is_leader,"is-unbound":a.type==="unbound"}])},[o(Oe,null,{default:n(()=>[o(h(qe))]),_:1})],2)):A("",!0),i("span",pt,v(a.name),1),a.type==="member"&&a.is_leader?(r(),d(D,{key:1,size:"small",type:"warning",effect:"light",round:"",class:"role-tag"},{default:n(()=>[...t[18]||(t[18]=[y(" 组长 ",-1)])]),_:1})):A("",!0),a.type==="member"&&a.role?(r(),d(D,{key:2,size:"small",type:a.role==="医生"?"success":"info",effect:"plain",round:"",class:"role-tag"},{default:n(()=>[y(v(a.role),1)]),_:2},1032,["type"])):A("",!0),a.type==="unbound"?(r(),d(D,{key:3,size:"small",type:"danger",effect:"plain",round:"",class:"role-tag"},{default:n(()=>[...t[19]||(t[19]=[y(" 未绑定 ",-1)])]),_:1})):A("",!0)],8,dt)]),_:1},8,["label"]),(r(),C(N,null,P(oe,a=>o(q,{key:a.key,label:a.label,"min-width":a.minWidth||110,width:a.width,align:a.align||"center"},{default:n(({row:Se})=>[y(v(Q(a.key,Se,a.type,a.placeholder)),1)]),_:2},1032,["label","min-width","width","align"])),64))]),_:1},8,["data","tree-props"]),i("div",ut,[o(Ae,{modelValue:h(p),"onUpdate:modelValue":t[6]||(t[6]=a=>Ze(p)?p.value=a:null),onChange:h($)},null,8,["modelValue","onChange"])])]),_:1})]),_:1})]),_:1})])}}}),na=et(ct,[["__scopeId","data-v-c0358d92"]]);export{na as default}; +import{_ as Te}from"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import{D as we,B as Ne,ak as Pe,W as We,P as ze,Q as De,G as Fe,F as Le,a2 as Re,i as Ie,J as Me,a5 as Be,R as Ue,a4 as $e,M as He,N as Ye,d as Ge,T as Qe,E as je}from"./element-plus-DFTWCWyi.js";import{X as qe}from"./@element-plus/icons-vue-HOEUG8sr.js";import{H as F}from"./vue-echarts-BNtg2q_G.js";import{q as Je}from"./stats-5gQHPT0U.js";import{u as Ke}from"./usePaging-VsbTxSU0.js";import{f as X,b as Xe,ak as r,I as C,a as o,aN as n,G as d,F as N,ap as P,O as y,H as A,J as i,A as f}from"./@vue/runtime-core-C6bnekPw.js";import{y as h,a as Ze,n as k,r as J}from"./@vue/reactivity-DiY1c2vO.js";import{Q as v,o as K}from"./@vue/shared-mAAVTE9n.js";import{_ as et}from"./index-DBREMm_z.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./resize-detector-G6vbKCU7.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const tt={class:"conversion-stats-page"},at={class:"stats-kpi-grid"},nt={class:"stats-kpi-label"},lt={class:"card-header"},ot={class:"card-hint"},st={class:"card-header"},rt={class:"card-header-main"},it={class:"card-hint"},dt=["title"],pt={class:"entity-name"},ut={class:"mt-4 flex justify-end"},mt=X({name:"conversionStatsPage"}),ct=X({...mt,setup(_t){const g=k([]),L=k([]),R=k([]),I=k([]),M=k([]),B=k([]),U=k(!1),_=J({dimension:"dept",date_range:[],summary:{},charts:{ranking:{names:[],amounts:[],order_counts:[],fan_counts:[],rois:[]},amount_share:[],fan_share:[]}}),l=J({dimension:"dept",dept_id:void 0,assistant_id:void 0,doctor_id:void 0,media_channel_code:"",time_type:"today",start_date:"",end_date:""}),Z=async e=>{var s;e.include_filters=U.value?0:1,l.time_type==="custom"&&(e.start_date=g.value[0]||"",e.end_date=g.value[1]||"");const t=await Je(e);return Object.assign(_,(t==null?void 0:t.extend)||{}),me((s=t==null?void 0:t.extend)==null?void 0:s.filters),t},{pager:p,getLists:$}=Ke({fetchFun:Z,params:l,firstLoading:!0}),ee=[{label:"部门",value:"dept"},{label:"医助",value:"assistant"},{label:"医生",value:"doctor"}],te={value:"id",label:"name",children:"children"},ae={children:"children"},x=f(()=>l.dimension==="assistant"?"医助":l.dimension==="doctor"?"医生":"部门"),ne=f(()=>l.dimension==="assistant"?I.value:l.dimension==="doctor"?M.value:R.value),S=f({get:()=>l.dimension==="assistant"?l.assistant_id:l.dimension==="doctor"?l.doctor_id:l.dept_id,set:e=>{if(l.dimension==="assistant"){l.assistant_id=e;return}if(l.dimension==="doctor"){l.doctor_id=e;return}l.dept_id=e}}),le=[{key:"add_fans_count",label:"加粉数",type:"count"},{key:"paid_appointment_count",label:"付费挂号",type:"count"},{key:"free_appointment_count",label:"免费挂号",type:"count"},{key:"interview_count",label:"面诊",type:"count"},{key:"completed_order_count",label:"接诊诊单",type:"count"},{key:"paid_appointment_rate",label:"付费挂号率",type:"percent"},{key:"interview_rate",label:"面诊率",type:"percent"},{key:"receive_rate",label:"接诊率",type:"percent"},{key:"interview_receive_rate",label:"面诊接诊率",type:"percent"},{key:"business_order_amount",label:"业务订单额",type:"money"},{key:"completed_order_amount",label:"诊单金额",type:"money"},{key:"avg_unit_price",label:"平均单价",type:"money"},{key:"account_cost",label:"账户消耗",type:"money"},{key:"cash_cost",label:"现金成本",type:"money"},{key:"roi",label:"ROI",type:"ratio"}],oe=[{key:"add_fans_count",label:"加粉数",type:"count"},{key:"total_open_count",label:"总开口",type:"count",placeholder:!0},{key:"unreplied_count",label:"未回复",type:"count",placeholder:!0},{key:"paid_appointment_count",label:"付费挂号",type:"count"},{key:"free_appointment_count",label:"免费挂号",type:"count"},{key:"appointment_total_count",label:"挂号总数",type:"count"},{key:"interview_count",label:"面诊",type:"count"},{key:"completed_order_count",label:"接诊诊单",type:"count"},{key:"completed_order_amount",label:"诊单金额",type:"money",minWidth:120},{key:"paid_appointment_rate",label:"付费挂号率",type:"percent",minWidth:120},{key:"open_appointment_rate",label:"开口挂号率",type:"percent",placeholder:!0,minWidth:120},{key:"interview_rate",label:"面诊率",type:"percent",minWidth:100},{key:"receive_rate",label:"接诊率",type:"percent",minWidth:100},{key:"interview_receive_rate",label:"面诊接诊率",type:"percent",minWidth:130},{key:"open_receive_rate",label:"开口接诊率",type:"percent",placeholder:!0,minWidth:120},{key:"avg_unit_price",label:"平均单价",type:"money",minWidth:110},{key:"cash_cost",label:"现金成本",type:"money",minWidth:110},{key:"roi",label:"ROI",type:"ratio",minWidth:90}],H=f(()=>{var e;return(e=_.date_range)!=null&&e.length?`${_.date_range[0]} 至 ${_.date_range[1]}`:"未选择"}),se=f(()=>_.charts.ranking.names.length>0),re=f(()=>_.charts.amount_share.length>0),ie=f(()=>_.charts.fan_share.length>0),E=f(()=>{var u;const e=((u=_.charts)==null?void 0:u.ranking)||{},t=Array.isArray(e.names)?e.names:[],s=m=>t.map((c,T)=>Number((m==null?void 0:m[T])??0));return{names:t,amounts:s(Array.isArray(e.amounts)?e.amounts:[]),orderCounts:s(Array.isArray(e.order_counts)?e.order_counts:[]),fanCounts:s(Array.isArray(e.fan_counts)?e.fan_counts:[])}}),de=f(()=>({tooltip:{trigger:"axis"},legend:{data:["诊单金额","接诊诊单","加粉数"]},grid:{left:48,right:24,top:48,bottom:48},xAxis:{type:"category",data:E.value.names,axisLabel:{interval:0,rotate:E.value.names.length>6?25:0}},yAxis:[{type:"value",name:"金额 / 数量"}],series:[{name:"诊单金额",type:"bar",barMaxWidth:36,data:E.value.amounts,itemStyle:{color:"#4a78ff"}},{name:"接诊诊单",type:"line",smooth:!0,showSymbol:!0,symbolSize:8,lineStyle:{width:3},data:E.value.orderCounts,itemStyle:{color:"#15b8a6"}},{name:"加粉数",type:"line",smooth:!0,showSymbol:!0,symbolSize:8,lineStyle:{width:3},data:E.value.fanCounts,itemStyle:{color:"#ff9f43"}}]})),pe=f(()=>({tooltip:{trigger:"item"},legend:{bottom:0,type:"scroll",pageIconColor:"#409eff",pageTextStyle:{color:"#909399"}},series:[{name:"诊单金额",type:"pie",radius:["42%","70%"],center:["50%","42%"],avoidLabelOverlap:!0,minAngle:3,label:{show:!0,formatter:"{b}",overflow:"truncate",width:90},labelLayout:{hideOverlap:!0},data:_.charts.amount_share}]})),ue=f(()=>({tooltip:{trigger:"item"},legend:{bottom:0,type:"scroll",pageIconColor:"#409eff",pageTextStyle:{color:"#909399"}},series:[{name:"加粉数",type:"pie",radius:["42%","70%"],center:["50%","42%"],avoidLabelOverlap:!0,minAngle:3,label:{show:!0,formatter:"{b}",overflow:"truncate",width:90},labelLayout:{hideOverlap:!0},data:_.charts.fan_share}]})),Y=e=>{let t=[];return e.forEach(s=>{t.push({id:Number(s.id),name:s.name}),Array.isArray(s.children)&&s.children.length>0&&(t=t.concat(Y(s.children)))}),t},me=e=>{if(!e)return;U.value=!0;const t=Array.isArray(e.departments)?e.departments:[],s=Array.isArray(e.assistants)?e.assistants:[],u=Array.isArray(e.doctors)?e.doctors:[],m=Array.isArray(e.media_channels)?e.media_channels:[];L.value=t,R.value=Y(t),I.value=s.map(c=>({id:Number(c.id),name:c.name})),M.value=u.map(c=>({id:Number(c.id),name:c.name})),B.value=m.map(c=>({code:String(c.code||""),name:String(c.name||"")}))},b=async()=>{try{await $()}catch(e){console.error("获取统计概览失败:",e),je.error((e==null?void 0:e.msg)||"获取统计数据失败")}},ce=()=>{l.dept_id=void 0,l.assistant_id=void 0,l.doctor_id=void 0,p.page=1,b()},G=()=>{p.page=1,b()},_e=()=>{p.page=1,b()},ye=()=>{l.time_type!=="custom"&&(g.value=[],p.page=1,b())},fe=()=>{g.value.length===2&&(p.page=1,b())},be=()=>{p.page=1,b()},he=()=>{l.dimension="dept",l.dept_id=void 0,l.assistant_id=void 0,l.doctor_id=void 0,l.media_channel_code="",l.time_type="today",g.value=[],p.page=1,p.size=15,b()},Q=(e,t,s="count",u=!1)=>{if(u)return"—";const m=(t==null?void 0:t[e])??0;return s==="money"?`¥${Number(m||0).toFixed(2)}`:s==="percent"?`${Number(m||0).toFixed(2)}%`:s==="ratio"?Number(m||0).toFixed(2):String(m??0)},ve=e=>(e==null?void 0:e.id)!==void 0&&(e==null?void 0:e.id)!==null?String(e.id):"",ge=e=>(e==null?void 0:e.type)==="member"||(e==null?void 0:e.type)==="unbound",ke=({row:e})=>(e==null?void 0:e.type)==="unbound"?"member-row member-row--unbound":(e==null?void 0:e.type)==="member"?e.is_leader?"member-row member-row--leader":"member-row":"";return Xe(async()=>{await b()}),(e,t)=>{const s=Pe,u=Ne,m=We,c=De,T=ze,O=Le,Ce=Fe,xe=Re,j=Ie,Ee=we,V=Me,W=Ue,w=Be,z=$e,Oe=Ge,D=Qe,q=Ye,Ve=He,Ae=Te;return r(),C("div",tt,[o(V,{class:"!border-none",shadow:"never"},{default:n(()=>[o(Ee,{inline:!0,model:l,class:"stats-filter-form"},{default:n(()=>[o(u,{label:"统计维度"},{default:n(()=>[o(s,{modelValue:l.dimension,"onUpdate:modelValue":t[0]||(t[0]=a=>l.dimension=a),options:ee,onChange:ce},null,8,["modelValue"])]),_:1}),o(u,{label:x.value},{default:n(()=>[l.dimension==="dept"?(r(),d(m,{key:0,modelValue:S.value,"onUpdate:modelValue":t[1]||(t[1]=a=>S.value=a),data:L.value,placeholder:`全部${x.value}`,clearable:"",filterable:"","node-key":"id","check-strictly":"","default-expand-all":!0,props:te,style:{width:"220px"},onChange:G},null,8,["modelValue","data","placeholder"])):(r(),d(T,{key:1,modelValue:S.value,"onUpdate:modelValue":t[2]||(t[2]=a=>S.value=a),placeholder:`全部${x.value}`,clearable:"",filterable:"",style:{width:"220px"},onChange:G},{default:n(()=>[(r(!0),C(N,null,P(ne.value,a=>(r(),d(c,{key:a.id,label:a.name,value:a.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"]))]),_:1},8,["label"]),o(u,{label:"自媒体渠道"},{default:n(()=>[o(T,{modelValue:l.media_channel_code,"onUpdate:modelValue":t[3]||(t[3]=a=>l.media_channel_code=a),placeholder:"全部渠道",clearable:"",filterable:"",style:{width:"220px"},onChange:_e},{default:n(()=>[(r(!0),C(N,null,P(B.value,a=>(r(),d(c,{key:a.code,label:a.name,value:a.code},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),o(u,{label:"时间范围"},{default:n(()=>[o(Ce,{modelValue:l.time_type,"onUpdate:modelValue":t[4]||(t[4]=a=>l.time_type=a),onChange:ye},{default:n(()=>[o(O,{label:"today"},{default:n(()=>[...t[7]||(t[7]=[y("今天",-1)])]),_:1}),o(O,{label:"yesterday"},{default:n(()=>[...t[8]||(t[8]=[y("昨天",-1)])]),_:1}),o(O,{label:"week"},{default:n(()=>[...t[9]||(t[9]=[y("最近7天",-1)])]),_:1}),o(O,{label:"month"},{default:n(()=>[...t[10]||(t[10]=[y("最近30天",-1)])]),_:1}),o(O,{label:"custom"},{default:n(()=>[...t[11]||(t[11]=[y("自定义",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),l.time_type==="custom"?(r(),d(u,{key:0},{default:n(()=>[o(xe,{modelValue:g.value,"onUpdate:modelValue":t[5]||(t[5]=a=>g.value=a),type:"daterange","value-format":"YYYY-MM-DD","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期",style:{width:"260px"},onChange:fe},null,8,["modelValue"])]),_:1})):A("",!0),o(u,null,{default:n(()=>[o(j,{type:"primary",loading:h(p).loading,onClick:be},{default:n(()=>[...t[12]||(t[12]=[y("查询",-1)])]),_:1},8,["loading"]),o(j,{onClick:he},{default:n(()=>[...t[13]||(t[13]=[y("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),i("div",at,[(r(),C(N,null,P(le,a=>i("div",{key:a.key,class:"stats-kpi-card"},[i("div",nt,v(a.label),1),i("div",{class:K(["stats-kpi-value",{"is-money":a.type==="money"}])},v(Q(a.key,_.summary,a.type,a.placeholder)),3)])),64))]),o(z,{gutter:20,class:"mt-4"},{default:n(()=>[o(w,{span:24},{default:n(()=>[o(V,{class:"!border-none",shadow:"never"},{header:n(()=>[i("div",lt,[t[14]||(t[14]=i("span",null,"转化排行",-1)),i("span",ot,v(H.value)+" · TOP 10",1)])]),default:n(()=>[se.value?(r(),d(h(F),{key:0,class:"stats-chart stats-chart-wide",option:de.value,autoresize:""},null,8,["option"])):(r(),d(W,{key:1,description:"暂无图表数据"}))]),_:1})]),_:1})]),_:1}),o(z,{gutter:20,class:"mt-4"},{default:n(()=>[o(w,{xs:24,lg:12},{default:n(()=>[o(V,{class:"!border-none",shadow:"never"},{header:n(()=>[...t[15]||(t[15]=[i("div",{class:"card-header"},[i("span",null,"诊单金额占比"),i("span",{class:"card-hint"},"TOP 10")],-1)])]),default:n(()=>[re.value?(r(),d(h(F),{key:0,class:"stats-chart",option:pe.value,autoresize:""},null,8,["option"])):(r(),d(W,{key:1,description:"暂无金额数据"}))]),_:1})]),_:1}),o(w,{xs:24,lg:12},{default:n(()=>[o(V,{class:"!border-none",shadow:"never"},{header:n(()=>[...t[16]||(t[16]=[i("div",{class:"card-header"},[i("span",null,"加粉占比"),i("span",{class:"card-hint"},"TOP 10")],-1)])]),default:n(()=>[ie.value?(r(),d(h(F),{key:0,class:"stats-chart",option:ue.value,autoresize:""},null,8,["option"])):(r(),d(W,{key:1,description:"暂无加粉数据"}))]),_:1})]),_:1})]),_:1}),o(z,{gutter:20,class:"mt-4"},{default:n(()=>[o(w,{span:24},{default:n(()=>[o(V,{class:"!border-none stats-detail-card",shadow:"never"},{header:n(()=>[i("div",st,[i("div",rt,[t[17]||(t[17]=i("span",{class:"card-title"},"明细列表",-1)),i("span",it,v(x.value)+"维度 · "+v(H.value),1)])])]),default:n(()=>[o(Ve,{data:h(p).lists,"row-key":ve,"tree-props":l.dimension==="dept"?ae:void 0,"default-expand-all":!1,indent:20,"row-class-name":ke,size:"default",style:{width:"100%"},"max-height":"640",border:""},{default:n(()=>[o(q,{label:x.value,prop:"name",fixed:"left","min-width":"300","class-name":"dept-name-column"},{default:n(({row:a})=>[i("div",{class:"dept-name-cell",title:a.name},[ge(a)?(r(),C("span",{key:0,class:K(["member-icon",{"is-leader":a.is_leader,"is-unbound":a.type==="unbound"}])},[o(Oe,null,{default:n(()=>[o(h(qe))]),_:1})],2)):A("",!0),i("span",pt,v(a.name),1),a.type==="member"&&a.is_leader?(r(),d(D,{key:1,size:"small",type:"warning",effect:"light",round:"",class:"role-tag"},{default:n(()=>[...t[18]||(t[18]=[y(" 组长 ",-1)])]),_:1})):A("",!0),a.type==="member"&&a.role?(r(),d(D,{key:2,size:"small",type:a.role==="医生"?"success":"info",effect:"plain",round:"",class:"role-tag"},{default:n(()=>[y(v(a.role),1)]),_:2},1032,["type"])):A("",!0),a.type==="unbound"?(r(),d(D,{key:3,size:"small",type:"danger",effect:"plain",round:"",class:"role-tag"},{default:n(()=>[...t[19]||(t[19]=[y(" 未绑定 ",-1)])]),_:1})):A("",!0)],8,dt)]),_:1},8,["label"]),(r(),C(N,null,P(oe,a=>o(q,{key:a.key,label:a.label,"min-width":a.minWidth||110,width:a.width,align:a.align||"center"},{default:n(({row:Se})=>[y(v(Q(a.key,Se,a.type,a.placeholder)),1)]),_:2},1032,["label","min-width","width","align"])),64))]),_:1},8,["data","tree-props"]),i("div",ut,[o(Ae,{modelValue:h(p),"onUpdate:modelValue":t[6]||(t[6]=a=>Ze(p)?p.value=a:null),onChange:h($)},null,8,["modelValue","onChange"])])]),_:1})]),_:1})]),_:1})])}}}),na=et(ct,[["__scopeId","data-v-c0358d92"]]);export{na as default}; diff --git a/server/public/admin/assets/index-DxZyYPmh.js b/server/public/admin/assets/index-JlpAaSFI.js similarity index 98% rename from server/public/admin/assets/index-DxZyYPmh.js rename to server/public/admin/assets/index-JlpAaSFI.js index 0d6cc149..be11ebd8 100644 --- a/server/public/admin/assets/index-DxZyYPmh.js +++ b/server/public/admin/assets/index-JlpAaSFI.js @@ -1 +1 @@ -import{D as xe,B as Ce,C as De,P as Ee,Q as Re,i as Ue,J as Fe,M as Ye,N as $e,T as he,L as Me,h as Te,G as Ne,I as He,V as Le,e as Pe,a2 as Se}from"./element-plus-0wC3naml.js";import{_ as qe}from"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import{w as W}from"./@vue/runtime-dom-DDAG46FW.js";import{f as Be,a as Ie,b as Ke,h as ze,g as Ae,c as Ge,d as je,e as Je}from"./fans-Cx6ejviX.js";import{u as Oe}from"./usePaging-VsbTxSU0.js";import{i as Z}from"./index-E47--KT7.js";import{d as ee}from"./dayjs-DG77mNTn.js";import{f as te,ak as g,I as K,a as l,aN as t,O as n,J as w,aP as le,G as x,H as Qe}from"./@vue/runtime-core-C6bnekPw.js";import{y as o,a as M,n as u}from"./@vue/reactivity-DiY1c2vO.js";import{Q as T}from"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./lodash-D3kF6u-c.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Xe={class:"fans-management"},We={class:"mb-4"},Ze={key:1,class:"text-gray-400"},el={class:"flex mt-4 justify-end"},ll={class:"mb-4"},tl={key:0,class:"text-center mt-4"},al=te({name:"fansManagement"}),Al=te({...al,setup(ol){const ae=i=>{if(!i)return"-";const e=String(i).length===10?Number(i)*1e3:Number(i);return ee(e).format("YYYY-MM-DD HH:mm:ss")},f=u({name:"",phone:"",gender:"",status:""}),{pager:k,getLists:C,resetParams:oe,resetPage:N}=Oe({fetchFun:Be,params:f.value}),b=u(!1),D=u("add"),H=u(),L=u(!1),d=u({id:0,name:"",phone:"",id_card:"",age:0,gender:1,status:1,remark:""}),ie={name:[{required:!0,message:"请输入姓名",trigger:"blur"}],phone:[{required:!0,message:"请输入手机号",trigger:"blur"},{pattern:/^1[3-9]\d{9}$/,message:"手机号格式不正确",trigger:"blur"}],id_card:[{pattern:/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/,message:"身份证号格式不正确",trigger:"blur"}],gender:[{required:!0,message:"请选择性别",trigger:"change"}]},ne=()=>{D.value="add",b.value=!0},de=i=>{D.value="edit",d.value={id:i.id,name:i.name,phone:i.phone,id_card:i.id_card,age:i.age,gender:i.gender,status:i.status,remark:i.remark},b.value=!0},se=()=>{var i;d.value={id:0,name:"",phone:"",id_card:"",age:0,gender:1,status:1,remark:""},(i=H.value)==null||i.resetFields()},re=async()=>{var i;await((i=H.value)==null?void 0:i.validate()),L.value=!0;try{D.value==="add"?await Ie(d.value):await Ke(d.value),b.value=!1,C()}catch{}finally{L.value=!1}},ue=async i=>{await Z.confirm("确定要删除该粉丝吗?");try{await ze({id:i}),C()}catch{}},E=u(!1),R=u(null),y=u([]),P=u(!1),z=u(0),c=u(1),me={1:"",2:"success",3:"info",4:"warning",5:"danger"},pe=i=>{R.value=i,E.value=!0,c.value=1,y.value=[],U()},U=async()=>{P.value=!0;try{const i=await Ae({fan_id:R.value.id,page_no:c.value,page_size:15});c.value===1?y.value=i.lists||[]:y.value=[...y.value,...i.lists||[]],z.value=i.count||0}catch(i){console.error("获取回访记录失败:",i)}finally{P.value=!1}},fe=()=>{c.value++,U()},V=u(!1),F=u("add"),S=u(),q=u(!1),m=u({id:0,fan_id:0,visit_type:1,visit_time:"",content:"",result:"",next_visit_time:""}),ve={visit_type:[{required:!0,message:"请选择回访类型",trigger:"change"}],visit_time:[{required:!0,message:"请选择回访时间",trigger:"change"}],content:[{required:!0,message:"请输入回访内容",trigger:"blur"}]},_e=()=>{F.value="add",m.value={id:0,fan_id:R.value.id,visit_type:1,visit_time:ee().format("YYYY-MM-DD HH:mm:ss"),content:"",result:"",next_visit_time:""},V.value=!0},ge=i=>{F.value="edit",m.value={id:i.id,fan_id:i.fan_id,visit_type:i.visit_type,visit_time:i.visit_time_text||"",content:i.content||"",result:i.result||"",next_visit_time:i.next_visit_time_text||""},V.value=!0},be=()=>{var i;m.value={id:0,fan_id:0,visit_type:1,visit_time:"",content:"",result:"",next_visit_time:""},(i=S.value)==null||i.resetFields()},Ve=async()=>{var i;await((i=S.value)==null?void 0:i.validate()),q.value=!0;try{F.value==="add"?await Ge(m.value):await je(m.value),V.value=!1,c.value=1,U()}catch{}finally{q.value=!1}},ye=async i=>{await Z.confirm("确定要删除该回访记录吗?");try{await Je({id:i}),c.value=1,U()}catch{}};return C(),(i,e)=>{var X;const _=De,r=Ce,v=Re,B=Ee,p=Ue,I=xe,A=Fe,s=$e,Y=he,G=Ye,ce=qe,ke=Te,$=He,j=Ne,J=Le,we=Pe,O=Se,Q=Me;return g(),K("div",Xe,[l(A,{class:"!border-none",shadow:"never"},{default:t(()=>[l(I,{class:"ls-form",model:o(f),inline:""},{default:t(()=>[l(r,{class:"w-[280px]",label:"姓名"},{default:t(()=>[l(_,{placeholder:"请输入姓名",modelValue:o(f).name,"onUpdate:modelValue":e[0]||(e[0]=a=>o(f).name=a),clearable:"",onKeyup:W(o(N),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),l(r,{class:"w-[280px]",label:"手机号"},{default:t(()=>[l(_,{placeholder:"请输入手机号",modelValue:o(f).phone,"onUpdate:modelValue":e[1]||(e[1]=a=>o(f).phone=a),clearable:"",onKeyup:W(o(N),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),l(r,{class:"w-[180px]",label:"性别"},{default:t(()=>[l(B,{modelValue:o(f).gender,"onUpdate:modelValue":e[2]||(e[2]=a=>o(f).gender=a),placeholder:"请选择",clearable:""},{default:t(()=>[l(v,{label:"男",value:1}),l(v,{label:"女",value:2})]),_:1},8,["modelValue"])]),_:1}),l(r,{class:"w-[180px]",label:"状态"},{default:t(()=>[l(B,{modelValue:o(f).status,"onUpdate:modelValue":e[3]||(e[3]=a=>o(f).status=a),placeholder:"请选择",clearable:""},{default:t(()=>[l(v,{label:"启用",value:1}),l(v,{label:"禁用",value:0})]),_:1},8,["modelValue"])]),_:1}),l(r,null,{default:t(()=>[l(p,{type:"primary",onClick:o(N)},{default:t(()=>[...e[22]||(e[22]=[n("查询",-1)])]),_:1},8,["onClick"]),l(p,{onClick:o(oe)},{default:t(()=>[...e[23]||(e[23]=[n("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),l(A,{class:"!border-none mt-4",shadow:"never"},{default:t(()=>[w("div",We,[l(p,{type:"primary",onClick:ne},{default:t(()=>[...e[24]||(e[24]=[n("新增粉丝",-1)])]),_:1})]),le((g(),x(G,{data:o(k).lists,size:"large"},{default:t(()=>[l(s,{label:"ID",prop:"id",width:"70"}),l(s,{label:"姓名",prop:"name","min-width":"100"}),l(s,{label:"手机号",prop:"phone","min-width":"130"}),l(s,{label:"身份证号",prop:"id_card","min-width":"180"}),l(s,{label:"性别",prop:"gender_desc",width:"80"}),l(s,{label:"年龄",prop:"age",width:"70"}),l(s,{label:"备注",prop:"remark","min-width":"150","show-overflow-tooltip":""}),l(s,{label:"登记人",prop:"creator_name","min-width":"100"},{default:t(({row:a})=>[w("span",null,T(a.creator_name||"-"),1)]),_:1}),l(s,{label:"回访次数",width:"90",align:"center"},{default:t(({row:a})=>[a.visit_count>0?(g(),x(Y,{key:0,type:"success"},{default:t(()=>[n(T(a.visit_count),1)]),_:2},1024)):(g(),K("span",Ze,"0"))]),_:1}),l(s,{label:"状态",width:"80"},{default:t(({row:a})=>[a.status==1?(g(),x(Y,{key:0,type:"success"},{default:t(()=>[...e[25]||(e[25]=[n("启用",-1)])]),_:1})):(g(),x(Y,{key:1,type:"danger"},{default:t(()=>[...e[26]||(e[26]=[n("禁用",-1)])]),_:1}))]),_:1}),l(s,{label:"创建时间","min-width":"170"},{default:t(({row:a})=>[w("span",null,T(ae(a.create_time)),1)]),_:1}),l(s,{label:"操作",width:"220",fixed:"right"},{default:t(({row:a})=>[l(p,{type:"primary",link:"",onClick:h=>de(a)},{default:t(()=>[...e[27]||(e[27]=[n("编辑",-1)])]),_:1},8,["onClick"]),l(p,{type:"success",link:"",onClick:h=>pe(a)},{default:t(()=>[...e[28]||(e[28]=[n("回访记录",-1)])]),_:1},8,["onClick"]),l(p,{type:"danger",link:"",onClick:h=>ue(a.id)},{default:t(()=>[...e[29]||(e[29]=[n("删除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[Q,o(k).loading]]),w("div",el,[l(ce,{modelValue:o(k),"onUpdate:modelValue":e[4]||(e[4]=a=>M(k)?k.value=a:null),onChange:o(C)},null,8,["modelValue","onChange"])])]),_:1}),l(J,{modelValue:o(b),"onUpdate:modelValue":e[13]||(e[13]=a=>M(b)?b.value=a:null),title:o(D)==="add"?"新增粉丝":"编辑粉丝",width:"600px","close-on-click-modal":!1,onClosed:se},{footer:t(()=>[l(p,{onClick:e[12]||(e[12]=a=>b.value=!1)},{default:t(()=>[...e[34]||(e[34]=[n("取消",-1)])]),_:1}),l(p,{type:"primary",loading:o(L),onClick:re},{default:t(()=>[...e[35]||(e[35]=[n("确定",-1)])]),_:1},8,["loading"])]),default:t(()=>[l(I,{ref_key:"fanFormRef",ref:H,model:o(d),rules:ie,"label-width":"100px"},{default:t(()=>[l(r,{label:"姓名",prop:"name"},{default:t(()=>[l(_,{modelValue:o(d).name,"onUpdate:modelValue":e[5]||(e[5]=a=>o(d).name=a),placeholder:"请输入姓名",maxlength:"50"},null,8,["modelValue"])]),_:1}),l(r,{label:"手机号",prop:"phone"},{default:t(()=>[l(_,{modelValue:o(d).phone,"onUpdate:modelValue":e[6]||(e[6]=a=>o(d).phone=a),placeholder:"请输入手机号",maxlength:"11"},null,8,["modelValue"])]),_:1}),l(r,{label:"身份证号",prop:"id_card"},{default:t(()=>[l(_,{modelValue:o(d).id_card,"onUpdate:modelValue":e[7]||(e[7]=a=>o(d).id_card=a),placeholder:"请输入身份证号码",maxlength:"18"},null,8,["modelValue"])]),_:1}),l(r,{label:"年龄",prop:"age"},{default:t(()=>[l(ke,{modelValue:o(d).age,"onUpdate:modelValue":e[8]||(e[8]=a=>o(d).age=a),min:0,max:150},null,8,["modelValue"])]),_:1}),l(r,{label:"性别",prop:"gender"},{default:t(()=>[l(j,{modelValue:o(d).gender,"onUpdate:modelValue":e[9]||(e[9]=a=>o(d).gender=a)},{default:t(()=>[l($,{label:1},{default:t(()=>[...e[30]||(e[30]=[n("男",-1)])]),_:1}),l($,{label:2},{default:t(()=>[...e[31]||(e[31]=[n("女",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),l(r,{label:"状态",prop:"status"},{default:t(()=>[l(j,{modelValue:o(d).status,"onUpdate:modelValue":e[10]||(e[10]=a=>o(d).status=a)},{default:t(()=>[l($,{label:1},{default:t(()=>[...e[32]||(e[32]=[n("启用",-1)])]),_:1}),l($,{label:0},{default:t(()=>[...e[33]||(e[33]=[n("禁用",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),l(r,{label:"备注",prop:"remark"},{default:t(()=>[l(_,{modelValue:o(d).remark,"onUpdate:modelValue":e[11]||(e[11]=a=>o(d).remark=a),type:"textarea",rows:3,placeholder:"请输入备注",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"]),l(we,{modelValue:o(E),"onUpdate:modelValue":e[14]||(e[14]=a=>M(E)?E.value=a:null),title:`回访记录 - ${((X=o(R))==null?void 0:X.name)||""}`,size:"700px","close-on-click-modal":!1},{default:t(()=>[w("div",ll,[l(p,{type:"primary",onClick:_e},{default:t(()=>[...e[36]||(e[36]=[n("新增回访记录",-1)])]),_:1})]),le((g(),x(G,{data:o(y),size:"large"},{default:t(()=>[l(s,{label:"回访类型",width:"100"},{default:t(({row:a})=>[l(Y,{type:me[a.visit_type]},{default:t(()=>[n(T(a.visit_type_desc),1)]),_:2},1032,["type"])]),_:1}),l(s,{label:"回访时间",prop:"visit_time_text","min-width":"150"}),l(s,{label:"回访内容",prop:"content","min-width":"200","show-overflow-tooltip":""}),l(s,{label:"回访结果",prop:"result","min-width":"150","show-overflow-tooltip":""}),l(s,{label:"下次回访",prop:"next_visit_time_text","min-width":"150"}),l(s,{label:"操作人",prop:"operator_name",width:"100"}),l(s,{label:"操作",width:"120",fixed:"right"},{default:t(({row:a})=>[l(p,{type:"primary",link:"",onClick:h=>ge(a)},{default:t(()=>[...e[37]||(e[37]=[n("编辑",-1)])]),_:1},8,["onClick"]),l(p,{type:"danger",link:"",onClick:h=>ye(a.id)},{default:t(()=>[...e[38]||(e[38]=[n("删除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[Q,o(P)]]),o(z)>o(y).length?(g(),K("div",tl,[l(p,{link:"",type:"primary",onClick:fe},{default:t(()=>[...e[39]||(e[39]=[n("加载更多",-1)])]),_:1})])):Qe("",!0)]),_:1},8,["modelValue","title"]),l(J,{modelValue:o(V),"onUpdate:modelValue":e[21]||(e[21]=a=>M(V)?V.value=a:null),title:o(F)==="add"?"新增回访记录":"编辑回访记录",width:"600px","close-on-click-modal":!1,onClosed:be},{footer:t(()=>[l(p,{onClick:e[20]||(e[20]=a=>V.value=!1)},{default:t(()=>[...e[40]||(e[40]=[n("取消",-1)])]),_:1}),l(p,{type:"primary",loading:o(q),onClick:Ve},{default:t(()=>[...e[41]||(e[41]=[n("确定",-1)])]),_:1},8,["loading"])]),default:t(()=>[l(I,{ref_key:"visitFormRef",ref:S,model:o(m),rules:ve,"label-width":"120px"},{default:t(()=>[l(r,{label:"回访类型",prop:"visit_type"},{default:t(()=>[l(B,{modelValue:o(m).visit_type,"onUpdate:modelValue":e[15]||(e[15]=a=>o(m).visit_type=a),placeholder:"请选择回访类型"},{default:t(()=>[l(v,{label:"电话",value:1}),l(v,{label:"微信",value:2}),l(v,{label:"短信",value:3}),l(v,{label:"上门",value:4}),l(v,{label:"其他",value:5})]),_:1},8,["modelValue"])]),_:1}),l(r,{label:"回访时间",prop:"visit_time"},{default:t(()=>[l(O,{modelValue:o(m).visit_time,"onUpdate:modelValue":e[16]||(e[16]=a=>o(m).visit_time=a),type:"datetime",placeholder:"请选择回访时间","value-format":"YYYY-MM-DD HH:mm:ss",style:{width:"100%"}},null,8,["modelValue"])]),_:1}),l(r,{label:"回访内容",prop:"content"},{default:t(()=>[l(_,{modelValue:o(m).content,"onUpdate:modelValue":e[17]||(e[17]=a=>o(m).content=a),type:"textarea",rows:4,placeholder:"请输入回访内容"},null,8,["modelValue"])]),_:1}),l(r,{label:"回访结果",prop:"result"},{default:t(()=>[l(_,{modelValue:o(m).result,"onUpdate:modelValue":e[18]||(e[18]=a=>o(m).result=a),type:"textarea",rows:3,placeholder:"请输入回访结果"},null,8,["modelValue"])]),_:1}),l(r,{label:"下次回访时间",prop:"next_visit_time"},{default:t(()=>[l(O,{modelValue:o(m).next_visit_time,"onUpdate:modelValue":e[19]||(e[19]=a=>o(m).next_visit_time=a),type:"datetime",placeholder:"请选择下次回访时间","value-format":"YYYY-MM-DD HH:mm:ss",style:{width:"100%"}},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}});export{Al as default}; +import{D as xe,B as Ce,C as De,P as Ee,Q as Re,i as Ue,J as Fe,M as Ye,N as $e,T as he,L as Me,h as Te,G as Ne,I as He,V as Le,e as Pe,a2 as Se}from"./element-plus-DFTWCWyi.js";import{_ as qe}from"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import{w as W}from"./@vue/runtime-dom-DDAG46FW.js";import{f as Be,a as Ie,b as Ke,h as ze,g as Ae,c as Ge,d as je,e as Je}from"./fans-KouiHeJ-.js";import{u as Oe}from"./usePaging-VsbTxSU0.js";import{i as Z}from"./index-DBREMm_z.js";import{d as ee}from"./dayjs-DG77mNTn.js";import{f as te,ak as g,I as K,a as l,aN as t,O as n,J as w,aP as le,G as x,H as Qe}from"./@vue/runtime-core-C6bnekPw.js";import{y as o,a as M,n as u}from"./@vue/reactivity-DiY1c2vO.js";import{Q as T}from"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./lodash-D3kF6u-c.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Xe={class:"fans-management"},We={class:"mb-4"},Ze={key:1,class:"text-gray-400"},el={class:"flex mt-4 justify-end"},ll={class:"mb-4"},tl={key:0,class:"text-center mt-4"},al=te({name:"fansManagement"}),Al=te({...al,setup(ol){const ae=i=>{if(!i)return"-";const e=String(i).length===10?Number(i)*1e3:Number(i);return ee(e).format("YYYY-MM-DD HH:mm:ss")},f=u({name:"",phone:"",gender:"",status:""}),{pager:k,getLists:C,resetParams:oe,resetPage:N}=Oe({fetchFun:Be,params:f.value}),b=u(!1),D=u("add"),H=u(),L=u(!1),d=u({id:0,name:"",phone:"",id_card:"",age:0,gender:1,status:1,remark:""}),ie={name:[{required:!0,message:"请输入姓名",trigger:"blur"}],phone:[{required:!0,message:"请输入手机号",trigger:"blur"},{pattern:/^1[3-9]\d{9}$/,message:"手机号格式不正确",trigger:"blur"}],id_card:[{pattern:/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/,message:"身份证号格式不正确",trigger:"blur"}],gender:[{required:!0,message:"请选择性别",trigger:"change"}]},ne=()=>{D.value="add",b.value=!0},de=i=>{D.value="edit",d.value={id:i.id,name:i.name,phone:i.phone,id_card:i.id_card,age:i.age,gender:i.gender,status:i.status,remark:i.remark},b.value=!0},se=()=>{var i;d.value={id:0,name:"",phone:"",id_card:"",age:0,gender:1,status:1,remark:""},(i=H.value)==null||i.resetFields()},re=async()=>{var i;await((i=H.value)==null?void 0:i.validate()),L.value=!0;try{D.value==="add"?await Ie(d.value):await Ke(d.value),b.value=!1,C()}catch{}finally{L.value=!1}},ue=async i=>{await Z.confirm("确定要删除该粉丝吗?");try{await ze({id:i}),C()}catch{}},E=u(!1),R=u(null),y=u([]),P=u(!1),z=u(0),c=u(1),me={1:"",2:"success",3:"info",4:"warning",5:"danger"},pe=i=>{R.value=i,E.value=!0,c.value=1,y.value=[],U()},U=async()=>{P.value=!0;try{const i=await Ae({fan_id:R.value.id,page_no:c.value,page_size:15});c.value===1?y.value=i.lists||[]:y.value=[...y.value,...i.lists||[]],z.value=i.count||0}catch(i){console.error("获取回访记录失败:",i)}finally{P.value=!1}},fe=()=>{c.value++,U()},V=u(!1),F=u("add"),S=u(),q=u(!1),m=u({id:0,fan_id:0,visit_type:1,visit_time:"",content:"",result:"",next_visit_time:""}),ve={visit_type:[{required:!0,message:"请选择回访类型",trigger:"change"}],visit_time:[{required:!0,message:"请选择回访时间",trigger:"change"}],content:[{required:!0,message:"请输入回访内容",trigger:"blur"}]},_e=()=>{F.value="add",m.value={id:0,fan_id:R.value.id,visit_type:1,visit_time:ee().format("YYYY-MM-DD HH:mm:ss"),content:"",result:"",next_visit_time:""},V.value=!0},ge=i=>{F.value="edit",m.value={id:i.id,fan_id:i.fan_id,visit_type:i.visit_type,visit_time:i.visit_time_text||"",content:i.content||"",result:i.result||"",next_visit_time:i.next_visit_time_text||""},V.value=!0},be=()=>{var i;m.value={id:0,fan_id:0,visit_type:1,visit_time:"",content:"",result:"",next_visit_time:""},(i=S.value)==null||i.resetFields()},Ve=async()=>{var i;await((i=S.value)==null?void 0:i.validate()),q.value=!0;try{F.value==="add"?await Ge(m.value):await je(m.value),V.value=!1,c.value=1,U()}catch{}finally{q.value=!1}},ye=async i=>{await Z.confirm("确定要删除该回访记录吗?");try{await Je({id:i}),c.value=1,U()}catch{}};return C(),(i,e)=>{var X;const _=De,r=Ce,v=Re,B=Ee,p=Ue,I=xe,A=Fe,s=$e,Y=he,G=Ye,ce=qe,ke=Te,$=He,j=Ne,J=Le,we=Pe,O=Se,Q=Me;return g(),K("div",Xe,[l(A,{class:"!border-none",shadow:"never"},{default:t(()=>[l(I,{class:"ls-form",model:o(f),inline:""},{default:t(()=>[l(r,{class:"w-[280px]",label:"姓名"},{default:t(()=>[l(_,{placeholder:"请输入姓名",modelValue:o(f).name,"onUpdate:modelValue":e[0]||(e[0]=a=>o(f).name=a),clearable:"",onKeyup:W(o(N),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),l(r,{class:"w-[280px]",label:"手机号"},{default:t(()=>[l(_,{placeholder:"请输入手机号",modelValue:o(f).phone,"onUpdate:modelValue":e[1]||(e[1]=a=>o(f).phone=a),clearable:"",onKeyup:W(o(N),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),l(r,{class:"w-[180px]",label:"性别"},{default:t(()=>[l(B,{modelValue:o(f).gender,"onUpdate:modelValue":e[2]||(e[2]=a=>o(f).gender=a),placeholder:"请选择",clearable:""},{default:t(()=>[l(v,{label:"男",value:1}),l(v,{label:"女",value:2})]),_:1},8,["modelValue"])]),_:1}),l(r,{class:"w-[180px]",label:"状态"},{default:t(()=>[l(B,{modelValue:o(f).status,"onUpdate:modelValue":e[3]||(e[3]=a=>o(f).status=a),placeholder:"请选择",clearable:""},{default:t(()=>[l(v,{label:"启用",value:1}),l(v,{label:"禁用",value:0})]),_:1},8,["modelValue"])]),_:1}),l(r,null,{default:t(()=>[l(p,{type:"primary",onClick:o(N)},{default:t(()=>[...e[22]||(e[22]=[n("查询",-1)])]),_:1},8,["onClick"]),l(p,{onClick:o(oe)},{default:t(()=>[...e[23]||(e[23]=[n("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),l(A,{class:"!border-none mt-4",shadow:"never"},{default:t(()=>[w("div",We,[l(p,{type:"primary",onClick:ne},{default:t(()=>[...e[24]||(e[24]=[n("新增粉丝",-1)])]),_:1})]),le((g(),x(G,{data:o(k).lists,size:"large"},{default:t(()=>[l(s,{label:"ID",prop:"id",width:"70"}),l(s,{label:"姓名",prop:"name","min-width":"100"}),l(s,{label:"手机号",prop:"phone","min-width":"130"}),l(s,{label:"身份证号",prop:"id_card","min-width":"180"}),l(s,{label:"性别",prop:"gender_desc",width:"80"}),l(s,{label:"年龄",prop:"age",width:"70"}),l(s,{label:"备注",prop:"remark","min-width":"150","show-overflow-tooltip":""}),l(s,{label:"登记人",prop:"creator_name","min-width":"100"},{default:t(({row:a})=>[w("span",null,T(a.creator_name||"-"),1)]),_:1}),l(s,{label:"回访次数",width:"90",align:"center"},{default:t(({row:a})=>[a.visit_count>0?(g(),x(Y,{key:0,type:"success"},{default:t(()=>[n(T(a.visit_count),1)]),_:2},1024)):(g(),K("span",Ze,"0"))]),_:1}),l(s,{label:"状态",width:"80"},{default:t(({row:a})=>[a.status==1?(g(),x(Y,{key:0,type:"success"},{default:t(()=>[...e[25]||(e[25]=[n("启用",-1)])]),_:1})):(g(),x(Y,{key:1,type:"danger"},{default:t(()=>[...e[26]||(e[26]=[n("禁用",-1)])]),_:1}))]),_:1}),l(s,{label:"创建时间","min-width":"170"},{default:t(({row:a})=>[w("span",null,T(ae(a.create_time)),1)]),_:1}),l(s,{label:"操作",width:"220",fixed:"right"},{default:t(({row:a})=>[l(p,{type:"primary",link:"",onClick:h=>de(a)},{default:t(()=>[...e[27]||(e[27]=[n("编辑",-1)])]),_:1},8,["onClick"]),l(p,{type:"success",link:"",onClick:h=>pe(a)},{default:t(()=>[...e[28]||(e[28]=[n("回访记录",-1)])]),_:1},8,["onClick"]),l(p,{type:"danger",link:"",onClick:h=>ue(a.id)},{default:t(()=>[...e[29]||(e[29]=[n("删除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[Q,o(k).loading]]),w("div",el,[l(ce,{modelValue:o(k),"onUpdate:modelValue":e[4]||(e[4]=a=>M(k)?k.value=a:null),onChange:o(C)},null,8,["modelValue","onChange"])])]),_:1}),l(J,{modelValue:o(b),"onUpdate:modelValue":e[13]||(e[13]=a=>M(b)?b.value=a:null),title:o(D)==="add"?"新增粉丝":"编辑粉丝",width:"600px","close-on-click-modal":!1,onClosed:se},{footer:t(()=>[l(p,{onClick:e[12]||(e[12]=a=>b.value=!1)},{default:t(()=>[...e[34]||(e[34]=[n("取消",-1)])]),_:1}),l(p,{type:"primary",loading:o(L),onClick:re},{default:t(()=>[...e[35]||(e[35]=[n("确定",-1)])]),_:1},8,["loading"])]),default:t(()=>[l(I,{ref_key:"fanFormRef",ref:H,model:o(d),rules:ie,"label-width":"100px"},{default:t(()=>[l(r,{label:"姓名",prop:"name"},{default:t(()=>[l(_,{modelValue:o(d).name,"onUpdate:modelValue":e[5]||(e[5]=a=>o(d).name=a),placeholder:"请输入姓名",maxlength:"50"},null,8,["modelValue"])]),_:1}),l(r,{label:"手机号",prop:"phone"},{default:t(()=>[l(_,{modelValue:o(d).phone,"onUpdate:modelValue":e[6]||(e[6]=a=>o(d).phone=a),placeholder:"请输入手机号",maxlength:"11"},null,8,["modelValue"])]),_:1}),l(r,{label:"身份证号",prop:"id_card"},{default:t(()=>[l(_,{modelValue:o(d).id_card,"onUpdate:modelValue":e[7]||(e[7]=a=>o(d).id_card=a),placeholder:"请输入身份证号码",maxlength:"18"},null,8,["modelValue"])]),_:1}),l(r,{label:"年龄",prop:"age"},{default:t(()=>[l(ke,{modelValue:o(d).age,"onUpdate:modelValue":e[8]||(e[8]=a=>o(d).age=a),min:0,max:150},null,8,["modelValue"])]),_:1}),l(r,{label:"性别",prop:"gender"},{default:t(()=>[l(j,{modelValue:o(d).gender,"onUpdate:modelValue":e[9]||(e[9]=a=>o(d).gender=a)},{default:t(()=>[l($,{label:1},{default:t(()=>[...e[30]||(e[30]=[n("男",-1)])]),_:1}),l($,{label:2},{default:t(()=>[...e[31]||(e[31]=[n("女",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),l(r,{label:"状态",prop:"status"},{default:t(()=>[l(j,{modelValue:o(d).status,"onUpdate:modelValue":e[10]||(e[10]=a=>o(d).status=a)},{default:t(()=>[l($,{label:1},{default:t(()=>[...e[32]||(e[32]=[n("启用",-1)])]),_:1}),l($,{label:0},{default:t(()=>[...e[33]||(e[33]=[n("禁用",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),l(r,{label:"备注",prop:"remark"},{default:t(()=>[l(_,{modelValue:o(d).remark,"onUpdate:modelValue":e[11]||(e[11]=a=>o(d).remark=a),type:"textarea",rows:3,placeholder:"请输入备注",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"]),l(we,{modelValue:o(E),"onUpdate:modelValue":e[14]||(e[14]=a=>M(E)?E.value=a:null),title:`回访记录 - ${((X=o(R))==null?void 0:X.name)||""}`,size:"700px","close-on-click-modal":!1},{default:t(()=>[w("div",ll,[l(p,{type:"primary",onClick:_e},{default:t(()=>[...e[36]||(e[36]=[n("新增回访记录",-1)])]),_:1})]),le((g(),x(G,{data:o(y),size:"large"},{default:t(()=>[l(s,{label:"回访类型",width:"100"},{default:t(({row:a})=>[l(Y,{type:me[a.visit_type]},{default:t(()=>[n(T(a.visit_type_desc),1)]),_:2},1032,["type"])]),_:1}),l(s,{label:"回访时间",prop:"visit_time_text","min-width":"150"}),l(s,{label:"回访内容",prop:"content","min-width":"200","show-overflow-tooltip":""}),l(s,{label:"回访结果",prop:"result","min-width":"150","show-overflow-tooltip":""}),l(s,{label:"下次回访",prop:"next_visit_time_text","min-width":"150"}),l(s,{label:"操作人",prop:"operator_name",width:"100"}),l(s,{label:"操作",width:"120",fixed:"right"},{default:t(({row:a})=>[l(p,{type:"primary",link:"",onClick:h=>ge(a)},{default:t(()=>[...e[37]||(e[37]=[n("编辑",-1)])]),_:1},8,["onClick"]),l(p,{type:"danger",link:"",onClick:h=>ye(a.id)},{default:t(()=>[...e[38]||(e[38]=[n("删除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[Q,o(P)]]),o(z)>o(y).length?(g(),K("div",tl,[l(p,{link:"",type:"primary",onClick:fe},{default:t(()=>[...e[39]||(e[39]=[n("加载更多",-1)])]),_:1})])):Qe("",!0)]),_:1},8,["modelValue","title"]),l(J,{modelValue:o(V),"onUpdate:modelValue":e[21]||(e[21]=a=>M(V)?V.value=a:null),title:o(F)==="add"?"新增回访记录":"编辑回访记录",width:"600px","close-on-click-modal":!1,onClosed:be},{footer:t(()=>[l(p,{onClick:e[20]||(e[20]=a=>V.value=!1)},{default:t(()=>[...e[40]||(e[40]=[n("取消",-1)])]),_:1}),l(p,{type:"primary",loading:o(q),onClick:Ve},{default:t(()=>[...e[41]||(e[41]=[n("确定",-1)])]),_:1},8,["loading"])]),default:t(()=>[l(I,{ref_key:"visitFormRef",ref:S,model:o(m),rules:ve,"label-width":"120px"},{default:t(()=>[l(r,{label:"回访类型",prop:"visit_type"},{default:t(()=>[l(B,{modelValue:o(m).visit_type,"onUpdate:modelValue":e[15]||(e[15]=a=>o(m).visit_type=a),placeholder:"请选择回访类型"},{default:t(()=>[l(v,{label:"电话",value:1}),l(v,{label:"微信",value:2}),l(v,{label:"短信",value:3}),l(v,{label:"上门",value:4}),l(v,{label:"其他",value:5})]),_:1},8,["modelValue"])]),_:1}),l(r,{label:"回访时间",prop:"visit_time"},{default:t(()=>[l(O,{modelValue:o(m).visit_time,"onUpdate:modelValue":e[16]||(e[16]=a=>o(m).visit_time=a),type:"datetime",placeholder:"请选择回访时间","value-format":"YYYY-MM-DD HH:mm:ss",style:{width:"100%"}},null,8,["modelValue"])]),_:1}),l(r,{label:"回访内容",prop:"content"},{default:t(()=>[l(_,{modelValue:o(m).content,"onUpdate:modelValue":e[17]||(e[17]=a=>o(m).content=a),type:"textarea",rows:4,placeholder:"请输入回访内容"},null,8,["modelValue"])]),_:1}),l(r,{label:"回访结果",prop:"result"},{default:t(()=>[l(_,{modelValue:o(m).result,"onUpdate:modelValue":e[18]||(e[18]=a=>o(m).result=a),type:"textarea",rows:3,placeholder:"请输入回访结果"},null,8,["modelValue"])]),_:1}),l(r,{label:"下次回访时间",prop:"next_visit_time"},{default:t(()=>[l(O,{modelValue:o(m).next_visit_time,"onUpdate:modelValue":e[19]||(e[19]=a=>o(m).next_visit_time=a),type:"datetime",placeholder:"请选择下次回访时间","value-format":"YYYY-MM-DD HH:mm:ss",style:{width:"100%"}},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}});export{Al as default}; diff --git a/server/public/admin/assets/index-NHnOTG-4.js b/server/public/admin/assets/index-TcIijaGO.js similarity index 92% rename from server/public/admin/assets/index-NHnOTG-4.js rename to server/public/admin/assets/index-TcIijaGO.js index ad447663..94a123d0 100644 --- a/server/public/admin/assets/index-NHnOTG-4.js +++ b/server/public/admin/assets/index-TcIijaGO.js @@ -1 +1 @@ -import{D as A,B as H,C as O,i as Q,J as W,L as X,M as Y,N as Z,p as ee,n as te,o as oe}from"./element-plus-0wC3naml.js";import{_ as ne}from"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import{c as ae,k as le,i as x}from"./index-E47--KT7.js";import{w as B}from"./@vue/runtime-dom-DDAG46FW.js";import{b as re,c as se,d as ie,e as me,s as de}from"./code-DY1HVNqE.js";import{u as pe}from"./usePaging-VsbTxSU0.js";import{_ as ue}from"./code-preview.vue_vue_type_script_setup_true_lang-C8dEJDd2.js";import{_ as _e}from"./data-table.vue_vue_type_script_setup_true_lang-Bt3AQScq.js";import{f as S,ar as ce,as as fe,ak as r,I as b,a as t,aN as o,O as i,aP as m,G as p,J as w,H as ge}from"./@vue/runtime-core-C6bnekPw.js";import{y as n,a as ye,r as N,n as be}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-nymJKQXP.js";const we={class:"code-generation"},ke={class:"flex"},ve={class:"mt-4"},Ce={class:"flex items-center"},Ve={class:"flex justify-end mt-4"},xe=S({name:"codeGenerate"}),ft=S({...xe,setup(Ee){const u=N({table_name:"",table_comment:""}),_=N({show:!1,loading:!1,code:[]}),{pager:f,getLists:y,resetParams:T,resetPage:k}=pe({fetchFun:re,params:u}),g=be([]),I=a=>{g.value=a.map(({id:e})=>e)},K=async a=>{await x.confirm("确定要同步表结构?"),await de({id:a})},E=async a=>{await x.confirm("确定要删除?"),await se({id:a}),y()},G=async a=>{const e=await ie({id:a});_.code=e,_.show=!0},U=a=>a.some(e=>e.generate_type==1),D=async a=>{if(U(a))return x.msgError("生成方式为生成到模块,请在前端开发模式下使用,详细参考文档");const e=await me({id:a});e.file&&window.open(e.file,"_blank")},F=(a,e)=>{switch(a){case"generate":D([e.id]);break;case"sync":K(e.id);break;case"delete":E(e.id)}};return y(),(a,e)=>{const P=O,v=H,s=Q,L=A,$=W,C=ae,c=Z,M=ce("router-link"),V=oe,z=te,J=ee,R=Y,j=ne,d=fe("perms"),q=X;return r(),b("div",we,[t($,{class:"!border-none",shadow:"never"},{default:o(()=>[t(L,{class:"mb-[-16px]",model:n(u),inline:""},{default:o(()=>[t(v,{class:"w-[280px]",label:"表名称"},{default:o(()=>[t(P,{modelValue:n(u).table_name,"onUpdate:modelValue":e[0]||(e[0]=l=>n(u).table_name=l),clearable:"",onKeyup:B(n(k),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(v,{class:"w-[280px]",label:"表描述"},{default:o(()=>[t(P,{modelValue:n(u).table_comment,"onUpdate:modelValue":e[1]||(e[1]=l=>n(u).table_comment=l),clearable:"",onKeyup:B(n(k),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(v,null,{default:o(()=>[t(s,{type:"primary",onClick:n(k)},{default:o(()=>[...e[6]||(e[6]=[i("查询",-1)])]),_:1},8,["onClick"]),t(s,{onClick:n(T)},{default:o(()=>[...e[7]||(e[7]=[i("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),m((r(),p($,{class:"!border-none mt-4",shadow:"never"},{default:o(()=>[w("div",ke,[m((r(),p(_e,{class:"inline-block mr-[10px]",onSuccess:n(y)},{default:o(()=>[t(s,{type:"primary"},{icon:o(()=>[t(C,{name:"el-icon-Plus"})]),default:o(()=>[e[8]||(e[8]=i(" 导入数据表 ",-1))]),_:1})]),_:1},8,["onSuccess"])),[[d,["tools.generator/selectTable"]]]),m((r(),p(s,{disabled:!n(g).length,onClick:e[2]||(e[2]=l=>E(n(g))),type:"danger"},{icon:o(()=>[t(C,{name:"el-icon-Delete"})]),default:o(()=>[e[9]||(e[9]=i(" 删除 ",-1))]),_:1},8,["disabled"])),[[d,["tools.generator/delete"]]]),m((r(),p(s,{disabled:!n(g).length,onClick:e[3]||(e[3]=l=>D(n(g)))},{default:o(()=>[...e[10]||(e[10]=[i(" 生成代码 ",-1)])]),_:1},8,["disabled"])),[[d,["tools.generator/generate"]]])]),w("div",ve,[t(R,{data:n(f).lists,size:"large",onSelectionChange:I},{default:o(()=>[t(c,{type:"selection",width:"55"}),t(c,{label:"表名称",prop:"table_name","min-width":"180"}),t(c,{label:"表描述",prop:"table_comment","min-width":"180"}),t(c,{label:"创建时间",prop:"create_time","min-width":"180"}),t(c,{label:"更新时间",prop:"update_time","min-width":"180"}),t(c,{label:"操作",width:"160",fixed:"right"},{default:o(({row:l})=>[w("div",Ce,[m((r(),p(s,{type:"primary",link:"",onClick:h=>G(l.id)},{default:o(()=>[...e[11]||(e[11]=[i(" 预览 ",-1)])]),_:1},8,["onClick"])),[[d,["tools.generator/preview"]]]),t(s,{type:"primary",link:""},{default:o(()=>[m((r(),p(M,{to:{path:n(le)("tools.generator/edit"),query:{id:l.id}}},{default:o(()=>[...e[12]||(e[12]=[i(" 编辑 ",-1)])]),_:1},8,["to"])),[[d,["tools.generator/edit"]]])]),_:2},1024),m((r(),p(J,{class:"ml-2",onCommand:h=>F(h,l)},{dropdown:o(()=>[t(z,null,{default:o(()=>[m((r(),b("div",null,[t(V,{command:"generate"},{default:o(()=>[t(s,{type:"primary",link:""},{default:o(()=>[...e[14]||(e[14]=[i(" 生成代码 ",-1)])]),_:1})]),_:1})])),[[d,["tools.generator/generate"]]]),m((r(),b("div",null,[t(V,{command:"sync"},{default:o(()=>[t(s,{type:"primary",link:""},{default:o(()=>[...e[15]||(e[15]=[i(" 同步 ",-1)])]),_:1})]),_:1})])),[[d,["tools.generator/syncColumn"]]]),m((r(),b("div",null,[t(V,{command:"delete"},{default:o(()=>[t(s,{type:"danger",link:""},{default:o(()=>[...e[16]||(e[16]=[i(" 删除 ",-1)])]),_:1})]),_:1})])),[[d,["tools.generator/delete"]]])]),_:1})]),default:o(()=>[t(s,{type:"primary",link:""},{default:o(()=>[e[13]||(e[13]=i(" 更多 ",-1)),t(C,{name:"el-icon-ArrowDown",size:14})]),_:1})]),_:1},8,["onCommand"])),[[d,["tools.generator/generate","tools.generator/syncColumn","tools.generator/delete"]]])])]),_:1})]),_:1},8,["data"])]),w("div",Ve,[t(j,{modelValue:n(f),"onUpdate:modelValue":e[4]||(e[4]=l=>ye(f)?f.value=l:null),onChange:n(y)},null,8,["modelValue","onChange"])])]),_:1})),[[q,n(f).loading]]),n(_).show?(r(),p(ue,{key:0,modelValue:n(_).show,"onUpdate:modelValue":e[5]||(e[5]=l=>n(_).show=l),code:n(_).code},null,8,["modelValue","code"])):ge("",!0)])}}});export{ft as default}; +import{D as A,B as H,C as O,i as Q,J as W,L as X,M as Y,N as Z,p as ee,n as te,o as oe}from"./element-plus-DFTWCWyi.js";import{_ as ne}from"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import{c as ae,k as le,i as x}from"./index-DBREMm_z.js";import{w as B}from"./@vue/runtime-dom-DDAG46FW.js";import{b as re,c as se,d as ie,e as me,s as de}from"./code-UKo2HpQE.js";import{u as pe}from"./usePaging-VsbTxSU0.js";import{_ as ue}from"./code-preview.vue_vue_type_script_setup_true_lang-BZ5QuyM7.js";import{_ as _e}from"./data-table.vue_vue_type_script_setup_true_lang-CfariYw3.js";import{f as S,ar as ce,as as fe,ak as r,I as b,a as t,aN as o,O as i,aP as m,G as p,J as w,H as ge}from"./@vue/runtime-core-C6bnekPw.js";import{y as n,a as ye,r as N,n as be}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-BwF7vczx.js";const we={class:"code-generation"},ke={class:"flex"},ve={class:"mt-4"},Ce={class:"flex items-center"},Ve={class:"flex justify-end mt-4"},xe=S({name:"codeGenerate"}),ft=S({...xe,setup(Ee){const u=N({table_name:"",table_comment:""}),_=N({show:!1,loading:!1,code:[]}),{pager:f,getLists:y,resetParams:T,resetPage:k}=pe({fetchFun:re,params:u}),g=be([]),I=a=>{g.value=a.map(({id:e})=>e)},K=async a=>{await x.confirm("确定要同步表结构?"),await de({id:a})},E=async a=>{await x.confirm("确定要删除?"),await se({id:a}),y()},G=async a=>{const e=await ie({id:a});_.code=e,_.show=!0},U=a=>a.some(e=>e.generate_type==1),D=async a=>{if(U(a))return x.msgError("生成方式为生成到模块,请在前端开发模式下使用,详细参考文档");const e=await me({id:a});e.file&&window.open(e.file,"_blank")},F=(a,e)=>{switch(a){case"generate":D([e.id]);break;case"sync":K(e.id);break;case"delete":E(e.id)}};return y(),(a,e)=>{const P=O,v=H,s=Q,L=A,$=W,C=ae,c=Z,M=ce("router-link"),V=oe,z=te,J=ee,R=Y,j=ne,d=fe("perms"),q=X;return r(),b("div",we,[t($,{class:"!border-none",shadow:"never"},{default:o(()=>[t(L,{class:"mb-[-16px]",model:n(u),inline:""},{default:o(()=>[t(v,{class:"w-[280px]",label:"表名称"},{default:o(()=>[t(P,{modelValue:n(u).table_name,"onUpdate:modelValue":e[0]||(e[0]=l=>n(u).table_name=l),clearable:"",onKeyup:B(n(k),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(v,{class:"w-[280px]",label:"表描述"},{default:o(()=>[t(P,{modelValue:n(u).table_comment,"onUpdate:modelValue":e[1]||(e[1]=l=>n(u).table_comment=l),clearable:"",onKeyup:B(n(k),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(v,null,{default:o(()=>[t(s,{type:"primary",onClick:n(k)},{default:o(()=>[...e[6]||(e[6]=[i("查询",-1)])]),_:1},8,["onClick"]),t(s,{onClick:n(T)},{default:o(()=>[...e[7]||(e[7]=[i("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),m((r(),p($,{class:"!border-none mt-4",shadow:"never"},{default:o(()=>[w("div",ke,[m((r(),p(_e,{class:"inline-block mr-[10px]",onSuccess:n(y)},{default:o(()=>[t(s,{type:"primary"},{icon:o(()=>[t(C,{name:"el-icon-Plus"})]),default:o(()=>[e[8]||(e[8]=i(" 导入数据表 ",-1))]),_:1})]),_:1},8,["onSuccess"])),[[d,["tools.generator/selectTable"]]]),m((r(),p(s,{disabled:!n(g).length,onClick:e[2]||(e[2]=l=>E(n(g))),type:"danger"},{icon:o(()=>[t(C,{name:"el-icon-Delete"})]),default:o(()=>[e[9]||(e[9]=i(" 删除 ",-1))]),_:1},8,["disabled"])),[[d,["tools.generator/delete"]]]),m((r(),p(s,{disabled:!n(g).length,onClick:e[3]||(e[3]=l=>D(n(g)))},{default:o(()=>[...e[10]||(e[10]=[i(" 生成代码 ",-1)])]),_:1},8,["disabled"])),[[d,["tools.generator/generate"]]])]),w("div",ve,[t(R,{data:n(f).lists,size:"large",onSelectionChange:I},{default:o(()=>[t(c,{type:"selection",width:"55"}),t(c,{label:"表名称",prop:"table_name","min-width":"180"}),t(c,{label:"表描述",prop:"table_comment","min-width":"180"}),t(c,{label:"创建时间",prop:"create_time","min-width":"180"}),t(c,{label:"更新时间",prop:"update_time","min-width":"180"}),t(c,{label:"操作",width:"160",fixed:"right"},{default:o(({row:l})=>[w("div",Ce,[m((r(),p(s,{type:"primary",link:"",onClick:h=>G(l.id)},{default:o(()=>[...e[11]||(e[11]=[i(" 预览 ",-1)])]),_:1},8,["onClick"])),[[d,["tools.generator/preview"]]]),t(s,{type:"primary",link:""},{default:o(()=>[m((r(),p(M,{to:{path:n(le)("tools.generator/edit"),query:{id:l.id}}},{default:o(()=>[...e[12]||(e[12]=[i(" 编辑 ",-1)])]),_:1},8,["to"])),[[d,["tools.generator/edit"]]])]),_:2},1024),m((r(),p(J,{class:"ml-2",onCommand:h=>F(h,l)},{dropdown:o(()=>[t(z,null,{default:o(()=>[m((r(),b("div",null,[t(V,{command:"generate"},{default:o(()=>[t(s,{type:"primary",link:""},{default:o(()=>[...e[14]||(e[14]=[i(" 生成代码 ",-1)])]),_:1})]),_:1})])),[[d,["tools.generator/generate"]]]),m((r(),b("div",null,[t(V,{command:"sync"},{default:o(()=>[t(s,{type:"primary",link:""},{default:o(()=>[...e[15]||(e[15]=[i(" 同步 ",-1)])]),_:1})]),_:1})])),[[d,["tools.generator/syncColumn"]]]),m((r(),b("div",null,[t(V,{command:"delete"},{default:o(()=>[t(s,{type:"danger",link:""},{default:o(()=>[...e[16]||(e[16]=[i(" 删除 ",-1)])]),_:1})]),_:1})])),[[d,["tools.generator/delete"]]])]),_:1})]),default:o(()=>[t(s,{type:"primary",link:""},{default:o(()=>[e[13]||(e[13]=i(" 更多 ",-1)),t(C,{name:"el-icon-ArrowDown",size:14})]),_:1})]),_:1},8,["onCommand"])),[[d,["tools.generator/generate","tools.generator/syncColumn","tools.generator/delete"]]])])]),_:1})]),_:1},8,["data"])]),w("div",Ve,[t(j,{modelValue:n(f),"onUpdate:modelValue":e[4]||(e[4]=l=>ye(f)?f.value=l:null),onChange:n(y)},null,8,["modelValue","onChange"])])]),_:1})),[[q,n(f).loading]]),n(_).show?(r(),p(ue,{key:0,modelValue:n(_).show,"onUpdate:modelValue":e[5]||(e[5]=l=>n(_).show=l),code:n(_).code},null,8,["modelValue","code"])):ge("",!0)])}}});export{ft as default}; diff --git a/server/public/admin/assets/index-BVSryKMe.js b/server/public/admin/assets/index-Tvsjz0wd.js similarity index 92% rename from server/public/admin/assets/index-BVSryKMe.js rename to server/public/admin/assets/index-Tvsjz0wd.js index ea7590da..6edbd65c 100644 --- a/server/public/admin/assets/index-BVSryKMe.js +++ b/server/public/admin/assets/index-Tvsjz0wd.js @@ -1 +1 @@ -import{K as C,J as x,L as B,M as N,N as T,T as L,i as R}from"./element-plus-0wC3naml.js";import{_ as V,s as q}from"./edit.vue_vue_type_script_setup_true_lang-BdtkGJu8.js";import{f as v,as as D,ak as a,I as J,a as o,aN as e,J as s,aP as f,G as l,O as p}from"./@vue/runtime-core-C6bnekPw.js";import{y as g,q as S,r as $}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-E47--KT7.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-nymJKQXP.js";const z={class:"storage"},A=v({name:"storage"}),Bt=v({...A,setup(F){const d=S(),i=$({loading:!1,lists:[]}),_=async()=>{try{i.loading=!0,i.lists=await q(),i.loading=!1}catch{i.loading=!1}},b=n=>{var t;(t=d.value)==null||t.open(n)};return _(),(n,t)=>{const w=C,c=x,r=T,u=L,k=R,y=N,h=D("perms"),E=B;return a(),J("div",z,[o(c,{class:"!border-none",shadow:"never"},{default:e(()=>[o(w,{type:"warning",title:"温馨提示:",closable:!1,"show-icon":""},{default:e(()=>[...t[0]||(t[0]=[s("div",null," 1.使用对象存储,需要将public目录下的资源文件保留原来目录路径传输到对象存储空间。 ",-1),s("div",null,"2.请勿随意切换存储方式,可能导致图片无法查看。",-1),s("div",null," 3.需要在对象存储后台设置域名跨域,否则图片生成场景无法使用,例海报合成等。 ",-1),s("div",null," 4.需将对象存储的图片域名添加到微信小程序官方后台request合法域名和downloadFile合法域名。 ",-1)])]),_:1})]),_:1}),f((a(),l(c,{class:"!border-none mt-4",shadow:"never"},{default:e(()=>[o(y,{size:"large",data:g(i).lists},{default:e(()=>[o(r,{label:"储存方式",prop:"name","min-width":"120"}),o(r,{label:"储存位置",prop:"path","min-width":"160"}),o(r,{label:"状态","min-width":"80"},{default:e(({row:m})=>[m.status==1?(a(),l(u,{key:0},{default:e(()=>[...t[1]||(t[1]=[p("开启",-1)])]),_:1})):(a(),l(u,{key:1,type:"danger"},{default:e(()=>[...t[2]||(t[2]=[p("关闭",-1)])]),_:1}))]),_:1}),o(r,{label:"操作","min-width":"80",fixed:"right"},{default:e(({row:m})=>[f((a(),l(k,{type:"primary",link:"",onClick:G=>b(m.engine)},{default:e(()=>[...t[3]||(t[3]=[p(" 设置 ",-1)])]),_:1},8,["onClick"])),[[h,["setting.storage/setup"]]])]),_:1})]),_:1},8,["data"])]),_:1})),[[E,g(i).loading]]),o(V,{ref_key:"editRef",ref:d,onSuccess:_},null,512)])}}});export{Bt as default}; +import{K as C,J as x,L as B,M as N,N as T,T as L,i as R}from"./element-plus-DFTWCWyi.js";import{_ as V,s as q}from"./edit.vue_vue_type_script_setup_true_lang-DK2-d75P.js";import{f as v,as as D,ak as a,I as J,a as o,aN as e,J as s,aP as f,G as l,O as p}from"./@vue/runtime-core-C6bnekPw.js";import{y as g,q as S,r as $}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-DBREMm_z.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-BwF7vczx.js";const z={class:"storage"},A=v({name:"storage"}),Bt=v({...A,setup(F){const d=S(),i=$({loading:!1,lists:[]}),_=async()=>{try{i.loading=!0,i.lists=await q(),i.loading=!1}catch{i.loading=!1}},b=n=>{var t;(t=d.value)==null||t.open(n)};return _(),(n,t)=>{const w=C,c=x,r=T,u=L,k=R,y=N,h=D("perms"),E=B;return a(),J("div",z,[o(c,{class:"!border-none",shadow:"never"},{default:e(()=>[o(w,{type:"warning",title:"温馨提示:",closable:!1,"show-icon":""},{default:e(()=>[...t[0]||(t[0]=[s("div",null," 1.使用对象存储,需要将public目录下的资源文件保留原来目录路径传输到对象存储空间。 ",-1),s("div",null,"2.请勿随意切换存储方式,可能导致图片无法查看。",-1),s("div",null," 3.需要在对象存储后台设置域名跨域,否则图片生成场景无法使用,例海报合成等。 ",-1),s("div",null," 4.需将对象存储的图片域名添加到微信小程序官方后台request合法域名和downloadFile合法域名。 ",-1)])]),_:1})]),_:1}),f((a(),l(c,{class:"!border-none mt-4",shadow:"never"},{default:e(()=>[o(y,{size:"large",data:g(i).lists},{default:e(()=>[o(r,{label:"储存方式",prop:"name","min-width":"120"}),o(r,{label:"储存位置",prop:"path","min-width":"160"}),o(r,{label:"状态","min-width":"80"},{default:e(({row:m})=>[m.status==1?(a(),l(u,{key:0},{default:e(()=>[...t[1]||(t[1]=[p("开启",-1)])]),_:1})):(a(),l(u,{key:1,type:"danger"},{default:e(()=>[...t[2]||(t[2]=[p("关闭",-1)])]),_:1}))]),_:1}),o(r,{label:"操作","min-width":"80",fixed:"right"},{default:e(({row:m})=>[f((a(),l(k,{type:"primary",link:"",onClick:G=>b(m.engine)},{default:e(()=>[...t[3]||(t[3]=[p(" 设置 ",-1)])]),_:1},8,["onClick"])),[[h,["setting.storage/setup"]]])]),_:1})]),_:1},8,["data"])]),_:1})),[[E,g(i).loading]]),o(V,{ref_key:"editRef",ref:d,onSuccess:_},null,512)])}}});export{Bt as default}; diff --git a/server/public/admin/assets/index-gJc6Zoby.js b/server/public/admin/assets/index-X_g26ryT.js similarity index 93% rename from server/public/admin/assets/index-gJc6Zoby.js rename to server/public/admin/assets/index-X_g26ryT.js index 072fdb03..65adebb7 100644 --- a/server/public/admin/assets/index-gJc6Zoby.js +++ b/server/public/admin/assets/index-X_g26ryT.js @@ -1 +1 @@ -import{J as j,D as z,B as G,P as H,Q as W,W as X,C as Y,i as Z,M as ee,N as te,L as ae}from"./element-plus-0wC3naml.js";import{_ as oe}from"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import{c as ne,i as le}from"./index-E47--KT7.js";import{_ as ie}from"./index.vue_vue_type_script_setup_true_lang-DBEwrTRf.js";import{w as se}from"./@vue/runtime-dom-DDAG46FW.js";import{e as de,f as re}from"./finance-C48kuhTG.js";import{u as me}from"./usePaging-VsbTxSU0.js";import{_ as pe}from"./edit.vue_vue_type_script_setup_true_lang-BRxNvBo2.js";import{f as S,as as ce,ak as m,I as E,a as t,aN as n,J as r,F as _e,ap as ue,G as c,O as _,aP as k,H as fe,A as g,n as T}from"./@vue/runtime-core-C6bnekPw.js";import{Q as x}from"./@vue/shared-mAAVTE9n.js";import{y as a,a as ve,q as be,n as we,r as ke}from"./@vue/reactivity-DiY1c2vO.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-nymJKQXP.js";const ye={class:"account-cost-list"},he={class:"flex flex-wrap"},ge={class:"w-1/2 md:w-1/3"},xe={class:"text-4xl"},Ce={class:"w-1/2 md:w-1/3"},Ve={class:"text-4xl"},Ee={class:"flex justify-end mt-4"},Te=S({name:"accountCostList"}),wt=S({...Te,setup(Se){const v=be(),b=we(!1),l=ke({start_date:"",end_date:"",media_channel_code:"",dept_id:"",remark:""}),{pager:s,getLists:w,resetPage:y}=me({fetchFun:de,params:l}),C=g(()=>{const i=s.extend.media_channel_options;return Array.isArray(i)?i.map(e=>({code:String(e.code||""),name:String(e.name||"")})):[]}),V=g(()=>{const i=s.extend.dept_options;return Array.isArray(i)?i:[]}),D=g(()=>String(s.extend.default_media_channel_code||"")),P={value:"id",label:"name",children:"children"},$=async()=>{var i;b.value=!0,await T(),(i=v.value)==null||i.open("add")},A=async i=>{var e,p;b.value=!0,await T(),(e=v.value)==null||e.open("edit"),(p=v.value)==null||p.getDetail(i)},B=async i=>{await le.confirm("确定要删除这条账户消耗记录吗?"),await re({id:i}),w()},L=()=>{l.start_date="",l.end_date="",l.media_channel_code="",l.dept_id="",l.remark="",y()};return w(),(i,e)=>{const p=j,N=ie,u=G,U=W,F=H,R=X,O=Y,f=Z,I=z,K=ne,d=te,q=ee,J=oe,h=ce("perms"),M=ae;return m(),E("div",ye,[t(p,{class:"!border-none mb-4",shadow:"never"},{default:n(()=>[r("div",he,[r("div",ge,[e[7]||(e[7]=r("div",{class:"leading-10"},"当前筛选天数",-1)),r("div",xe,x(a(s).extend.days_count??0),1)]),r("div",Ce,[e[8]||(e[8]=r("div",{class:"leading-10"},"累计账户消耗 (元)",-1)),r("div",Ve,"¥"+x(a(s).extend.total_amount??"0.00"),1)])])]),_:1}),t(p,{class:"!border-none",shadow:"never"},{default:n(()=>[t(I,{class:"mb-[-16px]",model:a(l),inline:""},{default:n(()=>[t(u,{label:"日期范围"},{default:n(()=>[t(N,{startTime:a(l).start_date,"onUpdate:startTime":e[0]||(e[0]=o=>a(l).start_date=o),endTime:a(l).end_date,"onUpdate:endTime":e[1]||(e[1]=o=>a(l).end_date=o)},null,8,["startTime","endTime"])]),_:1}),t(u,{label:"自媒体渠道"},{default:n(()=>[t(F,{modelValue:a(l).media_channel_code,"onUpdate:modelValue":e[2]||(e[2]=o=>a(l).media_channel_code=o),placeholder:"筛选全部渠道",clearable:"",filterable:"",class:"w-[220px]"},{default:n(()=>[(m(!0),E(_e,null,ue(a(C),o=>(m(),c(U,{key:o.code,label:o.name,value:o.code},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(u,{label:"部门"},{default:n(()=>[t(R,{modelValue:a(l).dept_id,"onUpdate:modelValue":e[3]||(e[3]=o=>a(l).dept_id=o),data:a(V),"node-key":"id",props:P,"default-expand-all":!0,"check-strictly":"",placeholder:"筛选全部部门",clearable:"",filterable:"",class:"w-[220px]"},null,8,["modelValue","data"])]),_:1}),t(u,{class:"w-[280px]",label:"备注/维护人"},{default:n(()=>[t(O,{modelValue:a(l).remark,"onUpdate:modelValue":e[4]||(e[4]=o=>a(l).remark=o),placeholder:"备注 / 创建人 / 修改人",clearable:"",onKeyup:se(a(y),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(u,null,{default:n(()=>[t(f,{type:"primary",onClick:a(y)},{default:n(()=>[...e[9]||(e[9]=[_("查询",-1)])]),_:1},8,["onClick"]),t(f,{onClick:L},{default:n(()=>[...e[10]||(e[10]=[_("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),t(p,{class:"!border-none mt-4",shadow:"never"},{default:n(()=>[r("div",null,[k((m(),c(f,{type:"primary",onClick:$},{icon:n(()=>[t(K,{name:"el-icon-Plus"})]),default:n(()=>[e[11]||(e[11]=_(" 新增 ",-1))]),_:1})),[[h,["finance.account_cost/add"]]])]),k((m(),c(q,{class:"mt-4",size:"large",data:a(s).lists},{default:n(()=>[t(d,{label:"日期",prop:"cost_date","min-width":"120"}),t(d,{label:"自媒体渠道",prop:"media_channel_name","min-width":"120"}),t(d,{label:"部门",prop:"dept_name","min-width":"140"}),t(d,{label:"账户消耗","min-width":"120"},{default:n(({row:o})=>[_("¥"+x(o.amount),1)]),_:1}),t(d,{label:"备注",prop:"remark","min-width":"260","show-overflow-tooltip":""}),t(d,{label:"创建人",prop:"creator_name","min-width":"100"}),t(d,{label:"最后修改人",prop:"updater_name","min-width":"100"}),t(d,{label:"更新时间",prop:"update_time","min-width":"180"}),t(d,{label:"操作",width:"160",fixed:"right"},{default:n(({row:o})=>[k((m(),c(f,{type:"primary",link:"",onClick:Q=>A(o)},{default:n(()=>[...e[12]||(e[12]=[_(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[h,["finance.account_cost/edit"]]]),k((m(),c(f,{type:"danger",link:"",onClick:Q=>B(o.id)},{default:n(()=>[...e[13]||(e[13]=[_(" 删除 ",-1)])]),_:1},8,["onClick"])),[[h,["finance.account_cost/delete"]]])]),_:1})]),_:1},8,["data"])),[[M,a(s).loading]]),r("div",Ee,[t(J,{modelValue:a(s),"onUpdate:modelValue":e[5]||(e[5]=o=>ve(s)?s.value=o:null),onChange:a(w)},null,8,["modelValue","onChange"])])]),_:1}),a(b)?(m(),c(pe,{key:0,ref_key:"editRef",ref:v,"media-channel-options":a(C),"dept-options":a(V),"default-media-channel-code":a(D),onSuccess:a(w),onClose:e[6]||(e[6]=o=>b.value=!1)},null,8,["media-channel-options","dept-options","default-media-channel-code","onSuccess"])):fe("",!0)])}}});export{wt as default}; +import{J as j,D as z,B as G,P as H,Q as W,W as X,C as Y,i as Z,M as ee,N as te,L as ae}from"./element-plus-DFTWCWyi.js";import{_ as oe}from"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import{c as ne,i as le}from"./index-DBREMm_z.js";import{_ as ie}from"./index.vue_vue_type_script_setup_true_lang-DPC_NOWM.js";import{w as se}from"./@vue/runtime-dom-DDAG46FW.js";import{e as de,f as re}from"./finance-YaEgIEMc.js";import{u as me}from"./usePaging-VsbTxSU0.js";import{_ as pe}from"./edit.vue_vue_type_script_setup_true_lang-Bn53gSK4.js";import{f as S,as as ce,ak as m,I as E,a as t,aN as n,J as r,F as _e,ap as ue,G as c,O as _,aP as k,H as fe,A as g,n as T}from"./@vue/runtime-core-C6bnekPw.js";import{Q as x}from"./@vue/shared-mAAVTE9n.js";import{y as a,a as ve,q as be,n as we,r as ke}from"./@vue/reactivity-DiY1c2vO.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-BwF7vczx.js";const ye={class:"account-cost-list"},he={class:"flex flex-wrap"},ge={class:"w-1/2 md:w-1/3"},xe={class:"text-4xl"},Ce={class:"w-1/2 md:w-1/3"},Ve={class:"text-4xl"},Ee={class:"flex justify-end mt-4"},Te=S({name:"accountCostList"}),wt=S({...Te,setup(Se){const v=be(),b=we(!1),l=ke({start_date:"",end_date:"",media_channel_code:"",dept_id:"",remark:""}),{pager:s,getLists:w,resetPage:y}=me({fetchFun:de,params:l}),C=g(()=>{const i=s.extend.media_channel_options;return Array.isArray(i)?i.map(e=>({code:String(e.code||""),name:String(e.name||"")})):[]}),V=g(()=>{const i=s.extend.dept_options;return Array.isArray(i)?i:[]}),D=g(()=>String(s.extend.default_media_channel_code||"")),P={value:"id",label:"name",children:"children"},$=async()=>{var i;b.value=!0,await T(),(i=v.value)==null||i.open("add")},A=async i=>{var e,p;b.value=!0,await T(),(e=v.value)==null||e.open("edit"),(p=v.value)==null||p.getDetail(i)},B=async i=>{await le.confirm("确定要删除这条账户消耗记录吗?"),await re({id:i}),w()},L=()=>{l.start_date="",l.end_date="",l.media_channel_code="",l.dept_id="",l.remark="",y()};return w(),(i,e)=>{const p=j,N=ie,u=G,U=W,F=H,R=X,O=Y,f=Z,I=z,K=ne,d=te,q=ee,J=oe,h=ce("perms"),M=ae;return m(),E("div",ye,[t(p,{class:"!border-none mb-4",shadow:"never"},{default:n(()=>[r("div",he,[r("div",ge,[e[7]||(e[7]=r("div",{class:"leading-10"},"当前筛选天数",-1)),r("div",xe,x(a(s).extend.days_count??0),1)]),r("div",Ce,[e[8]||(e[8]=r("div",{class:"leading-10"},"累计账户消耗 (元)",-1)),r("div",Ve,"¥"+x(a(s).extend.total_amount??"0.00"),1)])])]),_:1}),t(p,{class:"!border-none",shadow:"never"},{default:n(()=>[t(I,{class:"mb-[-16px]",model:a(l),inline:""},{default:n(()=>[t(u,{label:"日期范围"},{default:n(()=>[t(N,{startTime:a(l).start_date,"onUpdate:startTime":e[0]||(e[0]=o=>a(l).start_date=o),endTime:a(l).end_date,"onUpdate:endTime":e[1]||(e[1]=o=>a(l).end_date=o)},null,8,["startTime","endTime"])]),_:1}),t(u,{label:"自媒体渠道"},{default:n(()=>[t(F,{modelValue:a(l).media_channel_code,"onUpdate:modelValue":e[2]||(e[2]=o=>a(l).media_channel_code=o),placeholder:"筛选全部渠道",clearable:"",filterable:"",class:"w-[220px]"},{default:n(()=>[(m(!0),E(_e,null,ue(a(C),o=>(m(),c(U,{key:o.code,label:o.name,value:o.code},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(u,{label:"部门"},{default:n(()=>[t(R,{modelValue:a(l).dept_id,"onUpdate:modelValue":e[3]||(e[3]=o=>a(l).dept_id=o),data:a(V),"node-key":"id",props:P,"default-expand-all":!0,"check-strictly":"",placeholder:"筛选全部部门",clearable:"",filterable:"",class:"w-[220px]"},null,8,["modelValue","data"])]),_:1}),t(u,{class:"w-[280px]",label:"备注/维护人"},{default:n(()=>[t(O,{modelValue:a(l).remark,"onUpdate:modelValue":e[4]||(e[4]=o=>a(l).remark=o),placeholder:"备注 / 创建人 / 修改人",clearable:"",onKeyup:se(a(y),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(u,null,{default:n(()=>[t(f,{type:"primary",onClick:a(y)},{default:n(()=>[...e[9]||(e[9]=[_("查询",-1)])]),_:1},8,["onClick"]),t(f,{onClick:L},{default:n(()=>[...e[10]||(e[10]=[_("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),t(p,{class:"!border-none mt-4",shadow:"never"},{default:n(()=>[r("div",null,[k((m(),c(f,{type:"primary",onClick:$},{icon:n(()=>[t(K,{name:"el-icon-Plus"})]),default:n(()=>[e[11]||(e[11]=_(" 新增 ",-1))]),_:1})),[[h,["finance.account_cost/add"]]])]),k((m(),c(q,{class:"mt-4",size:"large",data:a(s).lists},{default:n(()=>[t(d,{label:"日期",prop:"cost_date","min-width":"120"}),t(d,{label:"自媒体渠道",prop:"media_channel_name","min-width":"120"}),t(d,{label:"部门",prop:"dept_name","min-width":"140"}),t(d,{label:"账户消耗","min-width":"120"},{default:n(({row:o})=>[_("¥"+x(o.amount),1)]),_:1}),t(d,{label:"备注",prop:"remark","min-width":"260","show-overflow-tooltip":""}),t(d,{label:"创建人",prop:"creator_name","min-width":"100"}),t(d,{label:"最后修改人",prop:"updater_name","min-width":"100"}),t(d,{label:"更新时间",prop:"update_time","min-width":"180"}),t(d,{label:"操作",width:"160",fixed:"right"},{default:n(({row:o})=>[k((m(),c(f,{type:"primary",link:"",onClick:Q=>A(o)},{default:n(()=>[...e[12]||(e[12]=[_(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[h,["finance.account_cost/edit"]]]),k((m(),c(f,{type:"danger",link:"",onClick:Q=>B(o.id)},{default:n(()=>[...e[13]||(e[13]=[_(" 删除 ",-1)])]),_:1},8,["onClick"])),[[h,["finance.account_cost/delete"]]])]),_:1})]),_:1},8,["data"])),[[M,a(s).loading]]),r("div",Ee,[t(J,{modelValue:a(s),"onUpdate:modelValue":e[5]||(e[5]=o=>ve(s)?s.value=o:null),onChange:a(w)},null,8,["modelValue","onChange"])])]),_:1}),a(b)?(m(),c(pe,{key:0,ref_key:"editRef",ref:v,"media-channel-options":a(C),"dept-options":a(V),"default-media-channel-code":a(D),onSuccess:a(w),onClose:e[6]||(e[6]=o=>b.value=!1)},null,8,["media-channel-options","dept-options","default-media-channel-code","onSuccess"])):fe("",!0)])}}});export{wt as default}; diff --git a/server/public/admin/assets/index-49FAA4lV.js b/server/public/admin/assets/index-_vjMvBRf.js similarity index 90% rename from server/public/admin/assets/index-49FAA4lV.js rename to server/public/admin/assets/index-_vjMvBRf.js index 8799354b..26c22193 100644 --- a/server/public/admin/assets/index-49FAA4lV.js +++ b/server/public/admin/assets/index-_vjMvBRf.js @@ -1 +1 @@ -import{D as N,B as q,C as D,P as I,Q as K,i as R,J as $,M as A,N as J,q as M,L as O}from"./element-plus-0wC3naml.js";import{_ as j}from"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import{_ as G}from"./index.vue_vue_type_script_setup_true_lang-DLNQ3IjV.js";import{_ as Q}from"./index.vue_vue_type_script_setup_true_lang-DBEwrTRf.js";import{w as S}from"./@vue/runtime-dom-DDAG46FW.js";import{b as g}from"./consumer-C-hGL7Bd.js";import{C as H,k as W}from"./index-E47--KT7.js";import{u as X}from"./usePaging-VsbTxSU0.js";import{f as k,ac as Y,ar as Z,as as ee,ak as m,I as v,a as e,aN as r,F as te,ap as oe,G as _,O as u,aP as w,J as ae}from"./@vue/runtime-core-C6bnekPw.js";import{y as t,a as re,r as le}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-nymJKQXP.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const ne={class:"flex justify-end mt-4"},ie=k({name:"consumerLists"}),Ze=k({...ie,setup(me){const l=le({keyword:"",channel:"",create_time_start:"",create_time_end:""}),{pager:i,getLists:p,resetPage:c,resetParams:C}=X({fetchFun:g,params:l});return Y(()=>{p()}),p(),(se,o)=>{const y=D,s=q,V=Q,h=K,E=I,d=R,x=G,T=N,f=$,P=M,n=J,B=Z("router-link"),L=A,U=j,z=ee("perms"),F=O;return m(),v("div",null,[e(f,{class:"!border-none",shadow:"never"},{default:r(()=>[e(T,{ref:"formRef",class:"mb-[-16px]",model:t(l),inline:!0},{default:r(()=>[e(s,{class:"w-[280px]",label:"用户信息"},{default:r(()=>[e(y,{modelValue:t(l).keyword,"onUpdate:modelValue":o[0]||(o[0]=a=>t(l).keyword=a),placeholder:"账号/昵称/手机号码",clearable:"",onKeyup:S(t(c),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(s,{label:"注册时间"},{default:r(()=>[e(V,{startTime:t(l).create_time_start,"onUpdate:startTime":o[1]||(o[1]=a=>t(l).create_time_start=a),endTime:t(l).create_time_end,"onUpdate:endTime":o[2]||(o[2]=a=>t(l).create_time_end=a)},null,8,["startTime","endTime"])]),_:1}),e(s,{class:"w-[280px]",label:"注册来源"},{default:r(()=>[e(E,{modelValue:t(l).channel,"onUpdate:modelValue":o[3]||(o[3]=a=>t(l).channel=a)},{default:r(()=>[(m(!0),v(te,null,oe(t(H),(a,b)=>(m(),_(h,{key:b,label:a,value:b},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),e(s,null,{default:r(()=>[e(d,{type:"primary",onClick:t(c)},{default:r(()=>[...o[5]||(o[5]=[u("查询",-1)])]),_:1},8,["onClick"]),e(d,{onClick:t(C)},{default:r(()=>[...o[6]||(o[6]=[u("重置",-1)])]),_:1},8,["onClick"]),e(x,{class:"ml-2.5","fetch-fun":t(g),params:t(l),"page-size":t(i).size},null,8,["fetch-fun","params","page-size"])]),_:1})]),_:1},8,["model"])]),_:1}),e(f,{class:"!border-none mt-4",shadow:"never"},{default:r(()=>[w((m(),_(L,{size:"large",data:t(i).lists},{default:r(()=>[e(n,{label:"头像","min-width":"100"},{default:r(({row:a})=>[e(P,{src:a.avatar,size:50},null,8,["src"])]),_:1}),e(n,{label:"昵称",prop:"nickname","min-width":"100"}),e(n,{label:"账号",prop:"account","min-width":"120"}),e(n,{label:"手机号码",prop:"mobile","min-width":"100"}),e(n,{label:"注册来源",prop:"channel","min-width":"100"}),e(n,{label:"注册时间",prop:"create_time","min-width":"120"}),e(n,{label:"操作",width:"120",fixed:"right"},{default:r(({row:a})=>[w((m(),_(d,{type:"primary",link:""},{default:r(()=>[e(B,{to:{path:t(W)("user.user/detail"),query:{id:a.id}}},{default:r(()=>[...o[7]||(o[7]=[u(" 详情 ",-1)])]),_:1},8,["to"])]),_:2},1024)),[[z,["user.user/detail"]]])]),_:1})]),_:1},8,["data"])),[[F,t(i).loading]]),ae("div",ne,[e(U,{modelValue:t(i),"onUpdate:modelValue":o[4]||(o[4]=a=>re(i)?i.value=a:null),onChange:t(p)},null,8,["modelValue","onChange"])])]),_:1})])}}});export{Ze as default}; +import{D as N,B as q,C as D,P as I,Q as K,i as R,J as $,M as A,N as J,q as M,L as O}from"./element-plus-DFTWCWyi.js";import{_ as j}from"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import{_ as G}from"./index.vue_vue_type_script_setup_true_lang-CCzvLP0c.js";import{_ as Q}from"./index.vue_vue_type_script_setup_true_lang-DPC_NOWM.js";import{w as S}from"./@vue/runtime-dom-DDAG46FW.js";import{b as g}from"./consumer-BHPpijRv.js";import{C as H,k as W}from"./index-DBREMm_z.js";import{u as X}from"./usePaging-VsbTxSU0.js";import{f as k,ac as Y,ar as Z,as as ee,ak as m,I as v,a as e,aN as r,F as te,ap as oe,G as _,O as u,aP as w,J as ae}from"./@vue/runtime-core-C6bnekPw.js";import{y as t,a as re,r as le}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-BwF7vczx.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const ne={class:"flex justify-end mt-4"},ie=k({name:"consumerLists"}),Ze=k({...ie,setup(me){const l=le({keyword:"",channel:"",create_time_start:"",create_time_end:""}),{pager:i,getLists:p,resetPage:c,resetParams:C}=X({fetchFun:g,params:l});return Y(()=>{p()}),p(),(se,o)=>{const y=D,s=q,V=Q,h=K,E=I,d=R,x=G,T=N,f=$,P=M,n=J,B=Z("router-link"),L=A,U=j,z=ee("perms"),F=O;return m(),v("div",null,[e(f,{class:"!border-none",shadow:"never"},{default:r(()=>[e(T,{ref:"formRef",class:"mb-[-16px]",model:t(l),inline:!0},{default:r(()=>[e(s,{class:"w-[280px]",label:"用户信息"},{default:r(()=>[e(y,{modelValue:t(l).keyword,"onUpdate:modelValue":o[0]||(o[0]=a=>t(l).keyword=a),placeholder:"账号/昵称/手机号码",clearable:"",onKeyup:S(t(c),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(s,{label:"注册时间"},{default:r(()=>[e(V,{startTime:t(l).create_time_start,"onUpdate:startTime":o[1]||(o[1]=a=>t(l).create_time_start=a),endTime:t(l).create_time_end,"onUpdate:endTime":o[2]||(o[2]=a=>t(l).create_time_end=a)},null,8,["startTime","endTime"])]),_:1}),e(s,{class:"w-[280px]",label:"注册来源"},{default:r(()=>[e(E,{modelValue:t(l).channel,"onUpdate:modelValue":o[3]||(o[3]=a=>t(l).channel=a)},{default:r(()=>[(m(!0),v(te,null,oe(t(H),(a,b)=>(m(),_(h,{key:b,label:a,value:b},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),e(s,null,{default:r(()=>[e(d,{type:"primary",onClick:t(c)},{default:r(()=>[...o[5]||(o[5]=[u("查询",-1)])]),_:1},8,["onClick"]),e(d,{onClick:t(C)},{default:r(()=>[...o[6]||(o[6]=[u("重置",-1)])]),_:1},8,["onClick"]),e(x,{class:"ml-2.5","fetch-fun":t(g),params:t(l),"page-size":t(i).size},null,8,["fetch-fun","params","page-size"])]),_:1})]),_:1},8,["model"])]),_:1}),e(f,{class:"!border-none mt-4",shadow:"never"},{default:r(()=>[w((m(),_(L,{size:"large",data:t(i).lists},{default:r(()=>[e(n,{label:"头像","min-width":"100"},{default:r(({row:a})=>[e(P,{src:a.avatar,size:50},null,8,["src"])]),_:1}),e(n,{label:"昵称",prop:"nickname","min-width":"100"}),e(n,{label:"账号",prop:"account","min-width":"120"}),e(n,{label:"手机号码",prop:"mobile","min-width":"100"}),e(n,{label:"注册来源",prop:"channel","min-width":"100"}),e(n,{label:"注册时间",prop:"create_time","min-width":"120"}),e(n,{label:"操作",width:"120",fixed:"right"},{default:r(({row:a})=>[w((m(),_(d,{type:"primary",link:""},{default:r(()=>[e(B,{to:{path:t(W)("user.user/detail"),query:{id:a.id}}},{default:r(()=>[...o[7]||(o[7]=[u(" 详情 ",-1)])]),_:1},8,["to"])]),_:2},1024)),[[z,["user.user/detail"]]])]),_:1})]),_:1},8,["data"])),[[F,t(i).loading]]),ae("div",ne,[e(U,{modelValue:t(i),"onUpdate:modelValue":o[4]||(o[4]=a=>re(i)?i.value=a:null),onChange:t(p)},null,8,["modelValue","onChange"])])]),_:1})])}}});export{Ze as default}; diff --git a/server/public/admin/assets/index-CsSAUW1e.js b/server/public/admin/assets/index-hj1pTK4-.js similarity index 88% rename from server/public/admin/assets/index-CsSAUW1e.js rename to server/public/admin/assets/index-hj1pTK4-.js index f7e0c4bb..b1c1ddd6 100644 --- a/server/public/admin/assets/index-CsSAUW1e.js +++ b/server/public/admin/assets/index-hj1pTK4-.js @@ -1 +1 @@ -import{i as P,M as I,N as J,L as j,J as q}from"./element-plus-0wC3naml.js";import{_ as z}from"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import{c as G,i as H}from"./index-E47--KT7.js";import{c as M,d as O}from"./role-DPqAO58h.js";import{u as Q}from"./usePaging-VsbTxSU0.js";import{_ as U}from"./auth.vue_vue_type_script_setup_true_lang-Cd0iTg-I.js";import{_ as K}from"./edit.vue_vue_type_script_setup_true_lang-BxJc3obM.js";import{f as E,as as W,ak as l,I as g,a as t,aN as i,J as y,aP as u,G as m,O as c,H as $,n as b}from"./@vue/runtime-core-C6bnekPw.js";import{y as s,a as X,q as D,n as x}from"./@vue/reactivity-DiY1c2vO.js";import{Q as Y}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./menu-CJerAkpY.js";import"./index-nymJKQXP.js";const Z={class:"role-lists"},ee={class:"mt-4"},te={class:"flex justify-end mt-4"},oe=E({name:"role"}),Ue=E({...oe,setup(ae){const f=D(),k=D(),_=x(!1),w=x(!1),{pager:p,getLists:d}=Q({fetchFun:M}),N=async()=>{var o;_.value=!0,await b(),(o=f.value)==null||o.open("add")},V=async o=>{var e,r;_.value=!0,await b(),(e=f.value)==null||e.open("edit"),(r=f.value)==null||r.setFormData(o)},R=async o=>{var e,r;w.value=!0,await b(),(e=k.value)==null||e.open(),(r=k.value)==null||r.setFormData(o)},S=o=>{const e=Number(o)||1;return{1:"全部数据(免隔离)",2:"本部门及下级部门",3:"仅本部门",4:"仅本人"}[e]||"全部数据(免隔离)"},B=async o=>{await H.confirm("确定要删除?"),await O({id:o}),d()};return d(),(o,e)=>{const r=G,v=P,n=J,L=I,T=z,A=q,h=W("perms"),F=j;return l(),g("div",Z,[t(A,{class:"!border-none",shadow:"never"},{default:i(()=>[y("div",null,[u((l(),m(v,{type:"primary",onClick:N},{icon:i(()=>[t(r,{name:"el-icon-Plus"})]),default:i(()=>[e[3]||(e[3]=c(" 新增 ",-1))]),_:1})),[[h,["auth.role/add"]]])]),u((l(),g("div",ee,[y("div",null,[t(L,{data:s(p).lists,size:"large"},{default:i(()=>[t(n,{prop:"id",label:"ID","min-width":"100"}),t(n,{prop:"name",label:"名称","min-width":"150"}),t(n,{prop:"desc",label:"备注","min-width":"150","show-overflow-tooltip":""}),t(n,{prop:"sort",label:"排序","min-width":"100"}),t(n,{label:"数据范围","min-width":"140"},{default:i(({row:a})=>[c(Y(S(a.data_scope)),1)]),_:1}),t(n,{prop:"num",label:"管理员人数","min-width":"100"}),t(n,{prop:"create_time",label:"创建时间","min-width":"180"}),t(n,{label:"操作",width:"200",fixed:"right"},{default:i(({row:a})=>[u((l(),m(v,{link:"",type:"primary",onClick:C=>V(a)},{default:i(()=>[...e[4]||(e[4]=[c(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[h,["auth.role/edit"]]]),u((l(),m(v,{link:"",type:"primary",onClick:C=>R(a)},{default:i(()=>[...e[5]||(e[5]=[c(" 分配权限 ",-1)])]),_:1},8,["onClick"])),[[h,["auth.role/edit"]]]),u((l(),m(v,{link:"",type:"danger",onClick:C=>B(a.id)},{default:i(()=>[...e[6]||(e[6]=[c(" 删除 ",-1)])]),_:1},8,["onClick"])),[[h,["auth.role/delete"]]])]),_:1})]),_:1},8,["data"])]),y("div",te,[t(T,{modelValue:s(p),"onUpdate:modelValue":e[0]||(e[0]=a=>X(p)?p.value=a:null),onChange:s(d)},null,8,["modelValue","onChange"])])])),[[F,s(p).loading]])]),_:1}),s(_)?(l(),m(K,{key:0,ref_key:"editRef",ref:f,onSuccess:s(d),onClose:e[1]||(e[1]=a=>_.value=!1)},null,8,["onSuccess"])):$("",!0),s(w)?(l(),m(U,{key:1,ref_key:"authRef",ref:k,onSuccess:s(d),onClose:e[2]||(e[2]=a=>w.value=!1)},null,8,["onSuccess"])):$("",!0)])}}});export{Ue as default}; +import{i as P,M as I,N as J,L as j,J as q}from"./element-plus-DFTWCWyi.js";import{_ as z}from"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import{c as G,i as H}from"./index-DBREMm_z.js";import{c as M,d as O}from"./role-DTNlgcHU.js";import{u as Q}from"./usePaging-VsbTxSU0.js";import{_ as U}from"./auth.vue_vue_type_script_setup_true_lang-D4rvURhD.js";import{_ as K}from"./edit.vue_vue_type_script_setup_true_lang-Bo8W-Bev.js";import{f as E,as as W,ak as l,I as g,a as t,aN as i,J as y,aP as u,G as m,O as c,H as $,n as b}from"./@vue/runtime-core-C6bnekPw.js";import{y as s,a as X,q as D,n as x}from"./@vue/reactivity-DiY1c2vO.js";import{Q as Y}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./menu-CvPcniJ1.js";import"./index-BwF7vczx.js";const Z={class:"role-lists"},ee={class:"mt-4"},te={class:"flex justify-end mt-4"},oe=E({name:"role"}),Ue=E({...oe,setup(ae){const f=D(),k=D(),_=x(!1),w=x(!1),{pager:p,getLists:d}=Q({fetchFun:M}),N=async()=>{var o;_.value=!0,await b(),(o=f.value)==null||o.open("add")},V=async o=>{var e,r;_.value=!0,await b(),(e=f.value)==null||e.open("edit"),(r=f.value)==null||r.setFormData(o)},R=async o=>{var e,r;w.value=!0,await b(),(e=k.value)==null||e.open(),(r=k.value)==null||r.setFormData(o)},S=o=>{const e=Number(o)||1;return{1:"全部数据(免隔离)",2:"本部门及下级部门",3:"仅本部门",4:"仅本人"}[e]||"全部数据(免隔离)"},B=async o=>{await H.confirm("确定要删除?"),await O({id:o}),d()};return d(),(o,e)=>{const r=G,v=P,n=J,L=I,T=z,A=q,h=W("perms"),F=j;return l(),g("div",Z,[t(A,{class:"!border-none",shadow:"never"},{default:i(()=>[y("div",null,[u((l(),m(v,{type:"primary",onClick:N},{icon:i(()=>[t(r,{name:"el-icon-Plus"})]),default:i(()=>[e[3]||(e[3]=c(" 新增 ",-1))]),_:1})),[[h,["auth.role/add"]]])]),u((l(),g("div",ee,[y("div",null,[t(L,{data:s(p).lists,size:"large"},{default:i(()=>[t(n,{prop:"id",label:"ID","min-width":"100"}),t(n,{prop:"name",label:"名称","min-width":"150"}),t(n,{prop:"desc",label:"备注","min-width":"150","show-overflow-tooltip":""}),t(n,{prop:"sort",label:"排序","min-width":"100"}),t(n,{label:"数据范围","min-width":"140"},{default:i(({row:a})=>[c(Y(S(a.data_scope)),1)]),_:1}),t(n,{prop:"num",label:"管理员人数","min-width":"100"}),t(n,{prop:"create_time",label:"创建时间","min-width":"180"}),t(n,{label:"操作",width:"200",fixed:"right"},{default:i(({row:a})=>[u((l(),m(v,{link:"",type:"primary",onClick:C=>V(a)},{default:i(()=>[...e[4]||(e[4]=[c(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[h,["auth.role/edit"]]]),u((l(),m(v,{link:"",type:"primary",onClick:C=>R(a)},{default:i(()=>[...e[5]||(e[5]=[c(" 分配权限 ",-1)])]),_:1},8,["onClick"])),[[h,["auth.role/edit"]]]),u((l(),m(v,{link:"",type:"danger",onClick:C=>B(a.id)},{default:i(()=>[...e[6]||(e[6]=[c(" 删除 ",-1)])]),_:1},8,["onClick"])),[[h,["auth.role/delete"]]])]),_:1})]),_:1},8,["data"])]),y("div",te,[t(T,{modelValue:s(p),"onUpdate:modelValue":e[0]||(e[0]=a=>X(p)?p.value=a:null),onChange:s(d)},null,8,["modelValue","onChange"])])])),[[F,s(p).loading]])]),_:1}),s(_)?(l(),m(K,{key:0,ref_key:"editRef",ref:f,onSuccess:s(d),onClose:e[1]||(e[1]=a=>_.value=!1)},null,8,["onSuccess"])):$("",!0),s(w)?(l(),m(U,{key:1,ref_key:"authRef",ref:k,onSuccess:s(d),onClose:e[2]||(e[2]=a=>w.value=!1)},null,8,["onSuccess"])):$("",!0)])}}});export{Ue as default}; diff --git a/server/public/admin/assets/index-ot-C1dYE.js b/server/public/admin/assets/index-rvJjLcdw.js similarity index 94% rename from server/public/admin/assets/index-ot-C1dYE.js rename to server/public/admin/assets/index-rvJjLcdw.js index 565446ba..7d523f1b 100644 --- a/server/public/admin/assets/index-ot-C1dYE.js +++ b/server/public/admin/assets/index-rvJjLcdw.js @@ -1 +1 @@ -import{D as A,B as G,C as H,P as j,Q as W,i as X,J as Y,M as Z,N as ee,T as te,L as oe}from"./element-plus-0wC3naml.js";import{c as ae,i as le}from"./index-E47--KT7.js";import{w as ne}from"./@vue/runtime-dom-DDAG46FW.js";import{e as se,f as ie}from"./department-4lF54x8w.js";import{_ as re}from"./edit.vue_vue_type_script_setup_true_lang-n7cqpx9_.js";import{f as I,b as pe,n as E,as as me,ak as m,I as de,a as t,aN as o,O as s,J as P,aP as v,G as c,H as F}from"./@vue/runtime-core-C6bnekPw.js";import{y as i,q as x,n as V,r as ue}from"./@vue/reactivity-DiY1c2vO.js";import{Q as L}from"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-nymJKQXP.js";import"./useDictOptions-CypOxw17.js";const fe={class:"department"},ce=I({name:"department"}),at=I({...ce,setup(_e){const D=x(),_=x(),R=x();let b=!1;const w=V(!1),C=V([]),d=ue({status:"",name:""}),y=V(!1),u=async()=>{w.value=!0,C.value=await se(d),w.value=!1},S=()=>{var a;(a=R.value)==null||a.resetFields(),u()},$=async a=>{var e,n;y.value=!0,await E(),a&&((e=_.value)==null||e.setFormData({pid:a})),(n=_.value)==null||n.open("add")},q=async a=>{var e,n;y.value=!0,await E(),(e=_.value)==null||e.open("edit"),(n=_.value)==null||n.getDetail(a)},J=async a=>{await le.confirm("确定要删除?"),await ie({id:a}),u()},B=()=>{b=!b,N(C.value,b)},N=(a,e=!0)=>{var n;for(const r in a)(n=D.value)==null||n.toggleRowExpansion(a[r],e),a[r].children&&N(a[r].children,e)};return pe(async()=>{await u(),E(()=>{B()})}),(a,e)=>{const n=H,r=G,g=W,K=j,p=X,M=A,T=Y,O=ae,f=ee,Q=te,U=Z,k=me("perms"),z=oe;return m(),de("div",fe,[t(T,{class:"!border-none",shadow:"never"},{default:o(()=>[t(M,{ref_key:"formRef",ref:R,class:"mb-[-16px]",model:i(d),inline:!0},{default:o(()=>[t(r,{class:"w-[280px]",label:"部门名称",prop:"name"},{default:o(()=>[t(n,{modelValue:i(d).name,"onUpdate:modelValue":e[0]||(e[0]=l=>i(d).name=l),placeholder:"输入部门名称",clearable:"",onKeyup:ne(u,["enter"])},null,8,["modelValue"])]),_:1}),t(r,{class:"w-[280px]",label:"部门状态",prop:"status"},{default:o(()=>[t(K,{modelValue:i(d).status,"onUpdate:modelValue":e[1]||(e[1]=l=>i(d).status=l)},{default:o(()=>[t(g,{label:"全部",value:""}),t(g,{label:"正常",value:"1"}),t(g,{label:"停用",value:"0"})]),_:1},8,["modelValue"])]),_:1}),t(r,null,{default:o(()=>[t(p,{type:"primary",onClick:u},{default:o(()=>[...e[4]||(e[4]=[s("查询",-1)])]),_:1}),t(p,{onClick:S},{default:o(()=>[...e[5]||(e[5]=[s("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),t(T,{class:"!border-none mt-4",shadow:"never"},{default:o(()=>[P("div",null,[v((m(),c(p,{type:"primary",onClick:e[2]||(e[2]=l=>$())},{icon:o(()=>[t(O,{name:"el-icon-Plus"})]),default:o(()=>[e[6]||(e[6]=s(" 新增 ",-1))]),_:1})),[[k,["dept.dept/add"]]]),t(p,{onClick:B},{default:o(()=>[...e[7]||(e[7]=[s(" 展开/折叠 ",-1)])]),_:1})]),v((m(),c(U,{ref_key:"tableRef",ref:D,class:"mt-4",size:"large",data:i(C),"row-key":"id","tree-props":{children:"children",hasChildren:"hasChildren"}},{default:o(()=>[t(f,{label:"部门名称",prop:"name","min-width":"150","show-overflow-tooltip":""}),t(f,{label:"人数","min-width":"100",align:"center","show-overflow-tooltip":""},{header:o(()=>[...e[8]||(e[8]=[P("span",{title:"含本部门及所有下级部门的管理员数"},"人数(含下级)",-1)])]),default:o(({row:l})=>[s(L(l.admin_count??0),1)]),_:1}),t(f,{label:"部门状态",prop:"status","min-width":"100"},{default:o(({row:l})=>[t(Q,{class:"ml-2",type:l.status?"primary":"danger"},{default:o(()=>[s(L(l.status_desc),1)]),_:2},1032,["type"])]),_:1}),t(f,{label:"排序",prop:"sort","min-width":"100"}),t(f,{label:"更新时间",prop:"update_time","min-width":"180"}),t(f,{label:"操作",width:"160",fixed:"right"},{default:o(({row:l})=>[v((m(),c(p,{type:"primary",link:"",onClick:h=>$(l.id)},{default:o(()=>[...e[9]||(e[9]=[s(" 新增 ",-1)])]),_:1},8,["onClick"])),[[k,["dept.dept/add"]]]),v((m(),c(p,{type:"primary",link:"",onClick:h=>q(l)},{default:o(()=>[...e[10]||(e[10]=[s(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[k,["dept.dept/edit"]]]),l.pid!==0?v((m(),c(p,{key:0,type:"danger",link:"",onClick:h=>J(l.id)},{default:o(()=>[...e[11]||(e[11]=[s(" 删除 ",-1)])]),_:1},8,["onClick"])),[[k,["dept.dept/delete"]]]):F("",!0)]),_:1})]),_:1},8,["data"])),[[z,i(w)]])]),_:1}),i(y)?(m(),c(re,{key:0,ref_key:"editRef",ref:_,onSuccess:u,onClose:e[3]||(e[3]=l=>y.value=!1)},null,512)):F("",!0)])}}});export{at as default}; +import{D as A,B as G,C as H,P as j,Q as W,i as X,J as Y,M as Z,N as ee,T as te,L as oe}from"./element-plus-DFTWCWyi.js";import{c as ae,i as le}from"./index-DBREMm_z.js";import{w as ne}from"./@vue/runtime-dom-DDAG46FW.js";import{e as se,f as ie}from"./department-CrUndMAW.js";import{_ as re}from"./edit.vue_vue_type_script_setup_true_lang-Cw38i8Af.js";import{f as I,b as pe,n as E,as as me,ak as m,I as de,a as t,aN as o,O as s,J as P,aP as v,G as c,H as F}from"./@vue/runtime-core-C6bnekPw.js";import{y as i,q as x,n as V,r as ue}from"./@vue/reactivity-DiY1c2vO.js";import{Q as L}from"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-BwF7vczx.js";import"./useDictOptions-Dl6xXBty.js";const fe={class:"department"},ce=I({name:"department"}),at=I({...ce,setup(_e){const D=x(),_=x(),R=x();let b=!1;const w=V(!1),C=V([]),d=ue({status:"",name:""}),y=V(!1),u=async()=>{w.value=!0,C.value=await se(d),w.value=!1},S=()=>{var a;(a=R.value)==null||a.resetFields(),u()},$=async a=>{var e,n;y.value=!0,await E(),a&&((e=_.value)==null||e.setFormData({pid:a})),(n=_.value)==null||n.open("add")},q=async a=>{var e,n;y.value=!0,await E(),(e=_.value)==null||e.open("edit"),(n=_.value)==null||n.getDetail(a)},J=async a=>{await le.confirm("确定要删除?"),await ie({id:a}),u()},B=()=>{b=!b,N(C.value,b)},N=(a,e=!0)=>{var n;for(const r in a)(n=D.value)==null||n.toggleRowExpansion(a[r],e),a[r].children&&N(a[r].children,e)};return pe(async()=>{await u(),E(()=>{B()})}),(a,e)=>{const n=H,r=G,g=W,K=j,p=X,M=A,T=Y,O=ae,f=ee,Q=te,U=Z,k=me("perms"),z=oe;return m(),de("div",fe,[t(T,{class:"!border-none",shadow:"never"},{default:o(()=>[t(M,{ref_key:"formRef",ref:R,class:"mb-[-16px]",model:i(d),inline:!0},{default:o(()=>[t(r,{class:"w-[280px]",label:"部门名称",prop:"name"},{default:o(()=>[t(n,{modelValue:i(d).name,"onUpdate:modelValue":e[0]||(e[0]=l=>i(d).name=l),placeholder:"输入部门名称",clearable:"",onKeyup:ne(u,["enter"])},null,8,["modelValue"])]),_:1}),t(r,{class:"w-[280px]",label:"部门状态",prop:"status"},{default:o(()=>[t(K,{modelValue:i(d).status,"onUpdate:modelValue":e[1]||(e[1]=l=>i(d).status=l)},{default:o(()=>[t(g,{label:"全部",value:""}),t(g,{label:"正常",value:"1"}),t(g,{label:"停用",value:"0"})]),_:1},8,["modelValue"])]),_:1}),t(r,null,{default:o(()=>[t(p,{type:"primary",onClick:u},{default:o(()=>[...e[4]||(e[4]=[s("查询",-1)])]),_:1}),t(p,{onClick:S},{default:o(()=>[...e[5]||(e[5]=[s("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),t(T,{class:"!border-none mt-4",shadow:"never"},{default:o(()=>[P("div",null,[v((m(),c(p,{type:"primary",onClick:e[2]||(e[2]=l=>$())},{icon:o(()=>[t(O,{name:"el-icon-Plus"})]),default:o(()=>[e[6]||(e[6]=s(" 新增 ",-1))]),_:1})),[[k,["dept.dept/add"]]]),t(p,{onClick:B},{default:o(()=>[...e[7]||(e[7]=[s(" 展开/折叠 ",-1)])]),_:1})]),v((m(),c(U,{ref_key:"tableRef",ref:D,class:"mt-4",size:"large",data:i(C),"row-key":"id","tree-props":{children:"children",hasChildren:"hasChildren"}},{default:o(()=>[t(f,{label:"部门名称",prop:"name","min-width":"150","show-overflow-tooltip":""}),t(f,{label:"人数","min-width":"100",align:"center","show-overflow-tooltip":""},{header:o(()=>[...e[8]||(e[8]=[P("span",{title:"含本部门及所有下级部门的管理员数"},"人数(含下级)",-1)])]),default:o(({row:l})=>[s(L(l.admin_count??0),1)]),_:1}),t(f,{label:"部门状态",prop:"status","min-width":"100"},{default:o(({row:l})=>[t(Q,{class:"ml-2",type:l.status?"primary":"danger"},{default:o(()=>[s(L(l.status_desc),1)]),_:2},1032,["type"])]),_:1}),t(f,{label:"排序",prop:"sort","min-width":"100"}),t(f,{label:"更新时间",prop:"update_time","min-width":"180"}),t(f,{label:"操作",width:"160",fixed:"right"},{default:o(({row:l})=>[v((m(),c(p,{type:"primary",link:"",onClick:h=>$(l.id)},{default:o(()=>[...e[9]||(e[9]=[s(" 新增 ",-1)])]),_:1},8,["onClick"])),[[k,["dept.dept/add"]]]),v((m(),c(p,{type:"primary",link:"",onClick:h=>q(l)},{default:o(()=>[...e[10]||(e[10]=[s(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[k,["dept.dept/edit"]]]),l.pid!==0?v((m(),c(p,{key:0,type:"danger",link:"",onClick:h=>J(l.id)},{default:o(()=>[...e[11]||(e[11]=[s(" 删除 ",-1)])]),_:1},8,["onClick"])),[[k,["dept.dept/delete"]]]):F("",!0)]),_:1})]),_:1},8,["data"])),[[z,i(w)]])]),_:1}),i(y)?(m(),c(re,{key:0,ref_key:"editRef",ref:_,onSuccess:u,onClose:e[3]||(e[3]=l=>y.value=!1)},null,512)):F("",!0)])}}});export{at as default}; diff --git a/server/public/admin/assets/index-CIsW_Bao.js b/server/public/admin/assets/index-so-VB1Hz.js similarity index 91% rename from server/public/admin/assets/index-CIsW_Bao.js rename to server/public/admin/assets/index-so-VB1Hz.js index 1ef5508f..be3eaeb8 100644 --- a/server/public/admin/assets/index-CIsW_Bao.js +++ b/server/public/admin/assets/index-so-VB1Hz.js @@ -1 +1 @@ -import{D as I,B as q,C as J,P as O,Q,i as A,J as G,M as H,N as M,T as W,L as X}from"./element-plus-0wC3naml.js";import{_ as Y}from"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import{c as Z,i as ee}from"./index-E47--KT7.js";import{_ as te}from"./index.vue_vue_type_script_setup_true_lang-DLNQ3IjV.js";import{w as V}from"./@vue/runtime-dom-DDAG46FW.js";import{d as E,e as oe}from"./post-Dq6zumLO.js";import{u as ae}from"./usePaging-VsbTxSU0.js";import{_ as le}from"./edit.vue_vue_type_script_setup_true_lang-YNgwqh5W.js";import{f as D,as as se,ak as m,I as ne,a as e,aN as a,O as p,J as x,aP as y,G as c,H as ie,n as $}from"./@vue/runtime-core-C6bnekPw.js";import{y as o,a as re,q as me,n as pe,r as de}from"./@vue/reactivity-DiY1c2vO.js";import{Q as ue}from"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-nymJKQXP.js";const ce={class:"post-lists"},_e={class:"flex justify-end mt-4"},fe=D({name:"post"}),nt=D({...fe,setup(be){const _=me(),f=pe(!1),s=de({code:"",name:"",status:""}),{pager:r,getLists:b,resetPage:w,resetParams:P}=ae({fetchFun:E,params:s}),h=async()=>{var n;f.value=!0,await $(),(n=_.value)==null||n.open("add")},j=async n=>{var t,d;f.value=!0,await $(),(t=_.value)==null||t.open("edit"),(d=_.value)==null||d.getDetail(n)},B=async n=>{await ee.confirm("确定要删除?"),await oe({id:n}),b()};return b(),(n,t)=>{const d=J,v=q,g=Q,N=O,u=A,T=te,K=I,C=G,R=Z,i=M,z=W,L=H,S=Y,k=se("perms"),U=X;return m(),ne("div",ce,[e(C,{class:"!border-none",shadow:"never"},{default:a(()=>[e(K,{ref:"formRef",class:"mb-[-16px]",model:o(s),inline:!0},{default:a(()=>[e(v,{class:"w-[280px]",label:"岗位编码"},{default:a(()=>[e(d,{modelValue:o(s).code,"onUpdate:modelValue":t[0]||(t[0]=l=>o(s).code=l),placeholder:"请输入岗位编码",clearable:"",onKeyup:V(o(w),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(v,{class:"w-[280px]",label:"岗位名称"},{default:a(()=>[e(d,{modelValue:o(s).name,"onUpdate:modelValue":t[1]||(t[1]=l=>o(s).name=l),clearable:"",onKeyup:V(o(w),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(v,{class:"w-[280px]",label:"岗位状态"},{default:a(()=>[e(N,{modelValue:o(s).status,"onUpdate:modelValue":t[2]||(t[2]=l=>o(s).status=l)},{default:a(()=>[e(g,{label:"全部",value:""}),e(g,{label:"正常",value:1}),e(g,{label:"停用",value:0})]),_:1},8,["modelValue"])]),_:1}),e(v,null,{default:a(()=>[e(u,{type:"primary",onClick:o(w)},{default:a(()=>[...t[6]||(t[6]=[p("查询",-1)])]),_:1},8,["onClick"]),e(u,{onClick:o(P)},{default:a(()=>[...t[7]||(t[7]=[p("重置",-1)])]),_:1},8,["onClick"]),e(T,{class:"ml-2.5","fetch-fun":o(E),params:o(s),"page-size":o(r).size},null,8,["fetch-fun","params","page-size"])]),_:1})]),_:1},8,["model"])]),_:1}),e(C,{class:"!border-none mt-4",shadow:"never"},{default:a(()=>[x("div",null,[y((m(),c(u,{type:"primary",onClick:t[3]||(t[3]=l=>h())},{icon:a(()=>[e(R,{name:"el-icon-Plus"})]),default:a(()=>[t[8]||(t[8]=p(" 新增 ",-1))]),_:1})),[[k,["dept.jobs/add"]]])]),y((m(),c(L,{class:"mt-4",size:"large",data:o(r).lists},{default:a(()=>[e(i,{label:"岗位编码",prop:"code","min-width":"100"}),e(i,{label:"岗位名称",prop:"name","min-width":"100"}),e(i,{label:"排序",prop:"sort","min-width":"100"}),e(i,{label:"备注",prop:"remark","min-width":"100","show-overflow-tooltip":""}),e(i,{label:"添加时间",prop:"create_time","min-width":"180"}),e(i,{label:"状态",prop:"status","min-width":"100"},{default:a(({row:l})=>[e(z,{class:"ml-2",type:l.status?"primary":"danger"},{default:a(()=>[p(ue(l.status_desc),1)]),_:2},1032,["type"])]),_:1}),e(i,{label:"操作",width:"120",fixed:"right"},{default:a(({row:l})=>[y((m(),c(u,{type:"primary",link:"",onClick:F=>j(l)},{default:a(()=>[...t[9]||(t[9]=[p(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[k,["dept.jobs/edit"]]]),y((m(),c(u,{type:"danger",link:"",onClick:F=>B(l.id)},{default:a(()=>[...t[10]||(t[10]=[p(" 删除 ",-1)])]),_:1},8,["onClick"])),[[k,["dept.jobs/delete"]]])]),_:1})]),_:1},8,["data"])),[[U,o(r).loading]]),x("div",_e,[e(S,{modelValue:o(r),"onUpdate:modelValue":t[4]||(t[4]=l=>re(r)?r.value=l:null),onChange:o(b)},null,8,["modelValue","onChange"])])]),_:1}),o(f)?(m(),c(le,{key:0,ref_key:"editRef",ref:_,onSuccess:o(b),onClose:t[5]||(t[5]=l=>f.value=!1)},null,8,["onSuccess"])):ie("",!0)])}}});export{nt as default}; +import{D as I,B as q,C as J,P as O,Q,i as A,J as G,M as H,N as M,T as W,L as X}from"./element-plus-DFTWCWyi.js";import{_ as Y}from"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import{c as Z,i as ee}from"./index-DBREMm_z.js";import{_ as te}from"./index.vue_vue_type_script_setup_true_lang-CCzvLP0c.js";import{w as V}from"./@vue/runtime-dom-DDAG46FW.js";import{d as E,e as oe}from"./post-RziaWdiV.js";import{u as ae}from"./usePaging-VsbTxSU0.js";import{_ as le}from"./edit.vue_vue_type_script_setup_true_lang-BCQfswVh.js";import{f as D,as as se,ak as m,I as ne,a as e,aN as a,O as p,J as x,aP as y,G as c,H as ie,n as $}from"./@vue/runtime-core-C6bnekPw.js";import{y as o,a as re,q as me,n as pe,r as de}from"./@vue/reactivity-DiY1c2vO.js";import{Q as ue}from"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-BwF7vczx.js";const ce={class:"post-lists"},_e={class:"flex justify-end mt-4"},fe=D({name:"post"}),nt=D({...fe,setup(be){const _=me(),f=pe(!1),s=de({code:"",name:"",status:""}),{pager:r,getLists:b,resetPage:w,resetParams:P}=ae({fetchFun:E,params:s}),h=async()=>{var n;f.value=!0,await $(),(n=_.value)==null||n.open("add")},j=async n=>{var t,d;f.value=!0,await $(),(t=_.value)==null||t.open("edit"),(d=_.value)==null||d.getDetail(n)},B=async n=>{await ee.confirm("确定要删除?"),await oe({id:n}),b()};return b(),(n,t)=>{const d=J,v=q,g=Q,N=O,u=A,T=te,K=I,C=G,R=Z,i=M,z=W,L=H,S=Y,k=se("perms"),U=X;return m(),ne("div",ce,[e(C,{class:"!border-none",shadow:"never"},{default:a(()=>[e(K,{ref:"formRef",class:"mb-[-16px]",model:o(s),inline:!0},{default:a(()=>[e(v,{class:"w-[280px]",label:"岗位编码"},{default:a(()=>[e(d,{modelValue:o(s).code,"onUpdate:modelValue":t[0]||(t[0]=l=>o(s).code=l),placeholder:"请输入岗位编码",clearable:"",onKeyup:V(o(w),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(v,{class:"w-[280px]",label:"岗位名称"},{default:a(()=>[e(d,{modelValue:o(s).name,"onUpdate:modelValue":t[1]||(t[1]=l=>o(s).name=l),clearable:"",onKeyup:V(o(w),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(v,{class:"w-[280px]",label:"岗位状态"},{default:a(()=>[e(N,{modelValue:o(s).status,"onUpdate:modelValue":t[2]||(t[2]=l=>o(s).status=l)},{default:a(()=>[e(g,{label:"全部",value:""}),e(g,{label:"正常",value:1}),e(g,{label:"停用",value:0})]),_:1},8,["modelValue"])]),_:1}),e(v,null,{default:a(()=>[e(u,{type:"primary",onClick:o(w)},{default:a(()=>[...t[6]||(t[6]=[p("查询",-1)])]),_:1},8,["onClick"]),e(u,{onClick:o(P)},{default:a(()=>[...t[7]||(t[7]=[p("重置",-1)])]),_:1},8,["onClick"]),e(T,{class:"ml-2.5","fetch-fun":o(E),params:o(s),"page-size":o(r).size},null,8,["fetch-fun","params","page-size"])]),_:1})]),_:1},8,["model"])]),_:1}),e(C,{class:"!border-none mt-4",shadow:"never"},{default:a(()=>[x("div",null,[y((m(),c(u,{type:"primary",onClick:t[3]||(t[3]=l=>h())},{icon:a(()=>[e(R,{name:"el-icon-Plus"})]),default:a(()=>[t[8]||(t[8]=p(" 新增 ",-1))]),_:1})),[[k,["dept.jobs/add"]]])]),y((m(),c(L,{class:"mt-4",size:"large",data:o(r).lists},{default:a(()=>[e(i,{label:"岗位编码",prop:"code","min-width":"100"}),e(i,{label:"岗位名称",prop:"name","min-width":"100"}),e(i,{label:"排序",prop:"sort","min-width":"100"}),e(i,{label:"备注",prop:"remark","min-width":"100","show-overflow-tooltip":""}),e(i,{label:"添加时间",prop:"create_time","min-width":"180"}),e(i,{label:"状态",prop:"status","min-width":"100"},{default:a(({row:l})=>[e(z,{class:"ml-2",type:l.status?"primary":"danger"},{default:a(()=>[p(ue(l.status_desc),1)]),_:2},1032,["type"])]),_:1}),e(i,{label:"操作",width:"120",fixed:"right"},{default:a(({row:l})=>[y((m(),c(u,{type:"primary",link:"",onClick:F=>j(l)},{default:a(()=>[...t[9]||(t[9]=[p(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[k,["dept.jobs/edit"]]]),y((m(),c(u,{type:"danger",link:"",onClick:F=>B(l.id)},{default:a(()=>[...t[10]||(t[10]=[p(" 删除 ",-1)])]),_:1},8,["onClick"])),[[k,["dept.jobs/delete"]]])]),_:1})]),_:1},8,["data"])),[[U,o(r).loading]]),x("div",_e,[e(S,{modelValue:o(r),"onUpdate:modelValue":t[4]||(t[4]=l=>re(r)?r.value=l:null),onChange:o(b)},null,8,["modelValue","onChange"])])]),_:1}),o(f)?(m(),c(le,{key:0,ref_key:"editRef",ref:_,onSuccess:o(b),onClose:t[5]||(t[5]=l=>f.value=!1)},null,8,["onSuccess"])):ie("",!0)])}}});export{nt as default}; diff --git a/server/public/admin/assets/index-CyZ-wwFn.js b/server/public/admin/assets/index-v17NoY-J.js similarity index 93% rename from server/public/admin/assets/index-CyZ-wwFn.js rename to server/public/admin/assets/index-v17NoY-J.js index 1b30fb16..cbc9a504 100644 --- a/server/public/admin/assets/index-CyZ-wwFn.js +++ b/server/public/admin/assets/index-v17NoY-J.js @@ -1 +1 @@ -import{_ as A}from"./index-9zND60WT.js";import{i as F,M as J,N as G,v as L,I as M,T as O,g as Q,J as R}from"./element-plus-0wC3naml.js";import{l as C}from"./lodash-D3kF6u-c.js";import{b as $,c as j}from"./pay-wX-vUDcK.js";import{f as q,as as z,ak as e,I as o,J as i,aP as K,G as m,aN as a,O as l,F as P,ap as X,H as r,a as d}from"./@vue/runtime-core-C6bnekPw.js";import{y as f,n as V}from"./@vue/reactivity-DiY1c2vO.js";import{Q as Y}from"./@vue/shared-mAAVTE9n.js";import"./index-E47--KT7.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";const Z={key:0,class:"text-lg mb-[24px]"},tt={key:1,class:"text-lg mb-[24px]"},et={key:2,class:"text-lg mb-[24px]"},at={key:3,class:"text-lg mb-[24px]"},ot={key:4,class:"text-lg mb-[24px]"},lt={key:1},st={key:1},$t=q({__name:"index",setup(it){const n=V({}),u=V(!1);let v={};const x=async()=>{n.value=await $(),v=C.cloneDeep(n.value)},w=()=>{u.value=!0},E=(g,t)=>{n.value[t].forEach(_=>{_.is_default=0}),n.value[t][g].is_default=1},h=()=>{n.value=C.cloneDeep(v),u.value=!1},W=async()=>{await j(n.value),u.value=!1,x()};return x(),(g,t)=>{const _=F,D=L,y=G,N=M,B=O,T=Q,H=J,S=R,U=A,I=z("perms");return e(),o("div",null,[i("div",null,[K((e(),m(_,{type:"primary",onClick:w},{default:a(()=>[...t[0]||(t[0]=[l(" 设置支付方式 ",-1)])]),_:1})),[[I,["setting.pay.pay_way/setPayWay"]]])]),(e(!0),o(P,null,X(f(n),(k,p)=>(e(),m(S,{shadow:"never",class:"mt-4 !border-none",key:p},{default:a(()=>[i("div",null,[p==1?(e(),o("div",Z,[...t[1]||(t[1]=[l(" 微信小程序 ",-1),i("span",{class:"form-tips ml-[10px]"},"在微信小程序中付款的场景",-1)])])):r("",!0),p==2?(e(),o("div",tt,[...t[2]||(t[2]=[l(" 微信公众号 ",-1),i("span",{class:"form-tips ml-[10px]"}," 在微信公众号H5页面中付款的场景,公众号类型一般为服务号 ",-1)])])):r("",!0),p==3?(e(),o("div",et,[...t[3]||(t[3]=[l(" H5支付 ",-1),i("span",{class:"form-tips ml-[10px]"},"在浏览器H5页面中付款的场景",-1)])])):r("",!0),p==4?(e(),o("div",at,[...t[4]||(t[4]=[l(" PC支付 ",-1),i("span",{class:"form-tips ml-[10px]"},"在浏览器PC页面中付款的场景",-1)])])):r("",!0),p==5?(e(),o("div",ot,[...t[5]||(t[5]=[l(" APP支付 ",-1),i("span",{class:"form-tips ml-[10px]"},"在APP付款的场景",-1)])])):r("",!0),k.length?(e(),m(H,{key:5,data:k,style:{width:"100%"}},{default:a(()=>[d(y,{label:"图标","min-width":"150"},{default:a(({row:s})=>[d(D,{src:s.icon,alt:"图标",style:{width:"34px",height:"34px"}},null,8,["src"])]),_:1}),d(y,{prop:"pay_way_name",label:"支付方式","min-width":"150"}),d(y,{label:"默认支付","min-width":"150"},{default:a(({row:s,$index:c})=>[i("div",null,[f(u)?(e(),m(N,{key:0,modelValue:s.is_default,"onUpdate:modelValue":b=>s.is_default=b,label:1,onChange:b=>E(c,p)},{default:a(()=>[...t[6]||(t[6]=[l(" 设为默认 ",-1)])]),_:1},8,["modelValue","onUpdate:modelValue","onChange"])):(e(),o(P,{key:1},[s.is_default==1?(e(),m(B,{key:0},{default:a(()=>[...t[7]||(t[7]=[l("默认",-1)])]),_:1})):(e(),o("span",lt,"-"))],64))])]),_:2},1024),d(y,{label:"开启状态","min-width":"150"},{default:a(({row:s})=>[f(u)?(e(),m(T,{key:0,modelValue:s.status,"onUpdate:modelValue":c=>s.status=c,"active-value":1,"inactive-value":0},null,8,["modelValue","onUpdate:modelValue"])):(e(),o("span",st,Y(s.status==1?"开启":"关闭"),1))]),_:1})]),_:2},1032,["data"])):r("",!0)])]),_:2},1024))),128)),f(u)?(e(),m(U,{key:0},{default:a(()=>[d(_,{onClick:h},{default:a(()=>[...t[8]||(t[8]=[l("取消",-1)])]),_:1}),d(_,{type:"primary",onClick:W},{default:a(()=>[...t[9]||(t[9]=[l("保存",-1)])]),_:1})]),_:1})):r("",!0)])}}});export{$t as default}; +import{_ as A}from"./index-x1zzA0a7.js";import{i as F,M as J,N as G,v as L,I as M,T as O,g as Q,J as R}from"./element-plus-DFTWCWyi.js";import{l as C}from"./lodash-D3kF6u-c.js";import{b as $,c as j}from"./pay-BWtHlaJr.js";import{f as q,as as z,ak as e,I as o,J as i,aP as K,G as m,aN as a,O as l,F as P,ap as X,H as r,a as d}from"./@vue/runtime-core-C6bnekPw.js";import{y as f,n as V}from"./@vue/reactivity-DiY1c2vO.js";import{Q as Y}from"./@vue/shared-mAAVTE9n.js";import"./index-DBREMm_z.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";const Z={key:0,class:"text-lg mb-[24px]"},tt={key:1,class:"text-lg mb-[24px]"},et={key:2,class:"text-lg mb-[24px]"},at={key:3,class:"text-lg mb-[24px]"},ot={key:4,class:"text-lg mb-[24px]"},lt={key:1},st={key:1},$t=q({__name:"index",setup(it){const n=V({}),u=V(!1);let v={};const x=async()=>{n.value=await $(),v=C.cloneDeep(n.value)},w=()=>{u.value=!0},E=(g,t)=>{n.value[t].forEach(_=>{_.is_default=0}),n.value[t][g].is_default=1},h=()=>{n.value=C.cloneDeep(v),u.value=!1},W=async()=>{await j(n.value),u.value=!1,x()};return x(),(g,t)=>{const _=F,D=L,y=G,N=M,B=O,T=Q,H=J,S=R,U=A,I=z("perms");return e(),o("div",null,[i("div",null,[K((e(),m(_,{type:"primary",onClick:w},{default:a(()=>[...t[0]||(t[0]=[l(" 设置支付方式 ",-1)])]),_:1})),[[I,["setting.pay.pay_way/setPayWay"]]])]),(e(!0),o(P,null,X(f(n),(k,p)=>(e(),m(S,{shadow:"never",class:"mt-4 !border-none",key:p},{default:a(()=>[i("div",null,[p==1?(e(),o("div",Z,[...t[1]||(t[1]=[l(" 微信小程序 ",-1),i("span",{class:"form-tips ml-[10px]"},"在微信小程序中付款的场景",-1)])])):r("",!0),p==2?(e(),o("div",tt,[...t[2]||(t[2]=[l(" 微信公众号 ",-1),i("span",{class:"form-tips ml-[10px]"}," 在微信公众号H5页面中付款的场景,公众号类型一般为服务号 ",-1)])])):r("",!0),p==3?(e(),o("div",et,[...t[3]||(t[3]=[l(" H5支付 ",-1),i("span",{class:"form-tips ml-[10px]"},"在浏览器H5页面中付款的场景",-1)])])):r("",!0),p==4?(e(),o("div",at,[...t[4]||(t[4]=[l(" PC支付 ",-1),i("span",{class:"form-tips ml-[10px]"},"在浏览器PC页面中付款的场景",-1)])])):r("",!0),p==5?(e(),o("div",ot,[...t[5]||(t[5]=[l(" APP支付 ",-1),i("span",{class:"form-tips ml-[10px]"},"在APP付款的场景",-1)])])):r("",!0),k.length?(e(),m(H,{key:5,data:k,style:{width:"100%"}},{default:a(()=>[d(y,{label:"图标","min-width":"150"},{default:a(({row:s})=>[d(D,{src:s.icon,alt:"图标",style:{width:"34px",height:"34px"}},null,8,["src"])]),_:1}),d(y,{prop:"pay_way_name",label:"支付方式","min-width":"150"}),d(y,{label:"默认支付","min-width":"150"},{default:a(({row:s,$index:c})=>[i("div",null,[f(u)?(e(),m(N,{key:0,modelValue:s.is_default,"onUpdate:modelValue":b=>s.is_default=b,label:1,onChange:b=>E(c,p)},{default:a(()=>[...t[6]||(t[6]=[l(" 设为默认 ",-1)])]),_:1},8,["modelValue","onUpdate:modelValue","onChange"])):(e(),o(P,{key:1},[s.is_default==1?(e(),m(B,{key:0},{default:a(()=>[...t[7]||(t[7]=[l("默认",-1)])]),_:1})):(e(),o("span",lt,"-"))],64))])]),_:2},1024),d(y,{label:"开启状态","min-width":"150"},{default:a(({row:s})=>[f(u)?(e(),m(T,{key:0,modelValue:s.status,"onUpdate:modelValue":c=>s.status=c,"active-value":1,"inactive-value":0},null,8,["modelValue","onUpdate:modelValue"])):(e(),o("span",st,Y(s.status==1?"开启":"关闭"),1))]),_:1})]),_:2},1032,["data"])):r("",!0)])]),_:2},1024))),128)),f(u)?(e(),m(U,{key:0},{default:a(()=>[d(_,{onClick:h},{default:a(()=>[...t[8]||(t[8]=[l("取消",-1)])]),_:1}),d(_,{type:"primary",onClick:W},{default:a(()=>[...t[9]||(t[9]=[l("保存",-1)])]),_:1})]),_:1})):r("",!0)])}}});export{$t as default}; diff --git a/server/public/admin/assets/index-9zND60WT.js b/server/public/admin/assets/index-x1zzA0a7.js similarity index 86% rename from server/public/admin/assets/index-9zND60WT.js rename to server/public/admin/assets/index-x1zzA0a7.js index 91f8e2e3..d76b7817 100644 --- a/server/public/admin/assets/index-9zND60WT.js +++ b/server/public/admin/assets/index-x1zzA0a7.js @@ -1 +1 @@ -import{f as t,ak as s,I as n,J as a,aq as r}from"./@vue/runtime-core-C6bnekPw.js";import{p as _}from"./@vue/shared-mAAVTE9n.js";import{_ as i}from"./index-E47--KT7.js";const c={class:"footer-btns"},p=t({__name:"index",props:{fixed:{type:Boolean,default:!0}},setup(e){return(o,d)=>(s(),n("div",c,[a("div",{class:"footer-btns__content",style:_(e.fixed?"position: fixed":"")},[r(o.$slots,"default",{},void 0,!0)],4)]))}}),u=i(p,[["__scopeId","data-v-9f638557"]]);export{u as _}; +import{f as t,ak as s,I as n,J as a,aq as r}from"./@vue/runtime-core-C6bnekPw.js";import{p as _}from"./@vue/shared-mAAVTE9n.js";import{_ as i}from"./index-DBREMm_z.js";const c={class:"footer-btns"},p=t({__name:"index",props:{fixed:{type:Boolean,default:!0}},setup(e){return(o,d)=>(s(),n("div",c,[a("div",{class:"footer-btns__content",style:_(e.fixed?"position: fixed":"")},[r(o.$slots,"default",{},void 0,!0)],4)]))}}),u=i(p,[["__scopeId","data-v-9f638557"]]);export{u as _}; diff --git a/server/public/admin/assets/index-CVVDN2Y9.js b/server/public/admin/assets/index-zdLAMdxW.js similarity index 81% rename from server/public/admin/assets/index-CVVDN2Y9.js rename to server/public/admin/assets/index-zdLAMdxW.js index cc85c6d2..7f49e646 100644 --- a/server/public/admin/assets/index-CVVDN2Y9.js +++ b/server/public/admin/assets/index-zdLAMdxW.js @@ -1 +1 @@ -import{m as c,l as f,J as u}from"./element-plus-0wC3naml.js";import{a as y}from"./index-B56X8bEB.js";import{f as i,ak as m,I as a,a as o,aN as p,F as b,ap as x}from"./@vue/runtime-core-C6bnekPw.js";import{a as g,y as v,n as k}from"./@vue/reactivity-DiY1c2vO.js";import{_ as E}from"./index-E47--KT7.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import"./index-BHTgr4Ka.js";import"./index-nymJKQXP.js";import"./index-Ci4dcEQh.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-DoYUJmkp.js";import"./index.vue_vue_type_script_setup_true_lang-Bl0f8aX8.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./usePaging-VsbTxSU0.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const V={class:"material-index"},z=i({name:"material"}),C=i({...z,setup(T){const n=[{type:"image",name:"图片"},{type:"video",name:"视频"},{type:"file",name:"文件"}],e=k("image");return(h,r)=>{const s=y,l=f,_=c,d=u;return m(),a("div",V,[o(d,{class:"!border-none",shadow:"never"},{default:p(()=>[o(_,{modelValue:v(e),"onUpdate:modelValue":r[0]||(r[0]=t=>g(e)?e.value=t:null)},{default:p(()=>[(m(),a(b,null,x(n,t=>o(l,{label:t.name,name:t.type,index:t.type,key:t.type,lazy:""},{default:p(()=>[o(s,{type:t.type,mode:"page","file-size":"120px",limit:-1,"page-size":20},null,8,["type"])]),_:2},1032,["label","name","index"])),64))]),_:1},8,["modelValue"])]),_:1})])}}}),vt=E(C,[["__scopeId","data-v-01f37926"]]);export{vt as default}; +import{m as c,l as f,J as u}from"./element-plus-DFTWCWyi.js";import{a as y}from"./index-BiPYXDtP.js";import{f as i,ak as m,I as a,a as o,aN as p,F as b,ap as x}from"./@vue/runtime-core-C6bnekPw.js";import{a as g,y as v,n as k}from"./@vue/reactivity-DiY1c2vO.js";import{_ as E}from"./index-DBREMm_z.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import"./index-CbfZXeGu.js";import"./index-BwF7vczx.js";import"./index-CRoZWY-W.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-BimpIRb_.js";import"./index.vue_vue_type_script_setup_true_lang-x0oL2ShL.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./usePaging-VsbTxSU0.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const V={class:"material-index"},z=i({name:"material"}),C=i({...z,setup(T){const n=[{type:"image",name:"图片"},{type:"video",name:"视频"},{type:"file",name:"文件"}],e=k("image");return(h,r)=>{const s=y,l=f,_=c,d=u;return m(),a("div",V,[o(d,{class:"!border-none",shadow:"never"},{default:p(()=>[o(_,{modelValue:v(e),"onUpdate:modelValue":r[0]||(r[0]=t=>g(e)?e.value=t:null)},{default:p(()=>[(m(),a(b,null,x(n,t=>o(l,{label:t.name,name:t.type,index:t.type,key:t.type,lazy:""},{default:p(()=>[o(s,{type:t.type,mode:"page","file-size":"120px",limit:-1,"page-size":20},null,8,["type"])]),_:2},1032,["label","name","index"])),64))]),_:1},8,["modelValue"])]),_:1})])}}}),vt=E(C,[["__scopeId","data-v-01f37926"]]);export{vt as default}; diff --git a/server/public/admin/assets/index.vue_vue_type_script_setup_true_lang-C384XBPz.js b/server/public/admin/assets/index.vue_vue_type_script_setup_true_lang-3vCdLVB9.js similarity index 93% rename from server/public/admin/assets/index.vue_vue_type_script_setup_true_lang-C384XBPz.js rename to server/public/admin/assets/index.vue_vue_type_script_setup_true_lang-3vCdLVB9.js index fe3b51e7..fe8f7e6e 100644 --- a/server/public/admin/assets/index.vue_vue_type_script_setup_true_lang-C384XBPz.js +++ b/server/public/admin/assets/index.vue_vue_type_script_setup_true_lang-3vCdLVB9.js @@ -1 +1 @@ -import{f as c,C as _,i as x}from"./element-plus-0wC3naml.js";import{d as V}from"./@vueuse/core-1S4fJlii.js";import{f as C,ak as k,I as y,a as l,aN as v,O as E}from"./@vue/runtime-core-C6bnekPw.js";import{a,y as s}from"./@vue/reactivity-DiY1c2vO.js";const B={class:"color-select flex flex-1"},b=C({__name:"index",props:{modelValue:{type:String,default:""},resetColor:{type:String,default:""}},emits:["update:modelValue"],setup(r,{emit:m}){const n=r,e=V(n,"modelValue",m),u=["#FF2C3C","#f7971e","#fa444d","#e0a356","#2f80ed","#2ec840"],d=()=>{e.value=n.resetColor};return(g,o)=>{const p=c,i=_,f=x;return k(),y("div",B,[l(p,{modelValue:s(e),"onUpdate:modelValue":o[0]||(o[0]=t=>a(e)?e.value=t:null),predefine:u},null,8,["modelValue"]),l(i,{modelValue:s(e),"onUpdate:modelValue":o[1]||(o[1]=t=>a(e)?e.value=t:null),class:"mx-[10px] flex-1",type:"text",readonly:""},null,8,["modelValue"]),l(f,{type:"text",onClick:d},{default:v(()=>[...o[2]||(o[2]=[E("重置",-1)])]),_:1})])}}});export{b as _}; +import{f as c,C as _,i as x}from"./element-plus-DFTWCWyi.js";import{d as V}from"./@vueuse/core-1S4fJlii.js";import{f as C,ak as k,I as y,a as l,aN as v,O as E}from"./@vue/runtime-core-C6bnekPw.js";import{a,y as s}from"./@vue/reactivity-DiY1c2vO.js";const B={class:"color-select flex flex-1"},b=C({__name:"index",props:{modelValue:{type:String,default:""},resetColor:{type:String,default:""}},emits:["update:modelValue"],setup(r,{emit:m}){const n=r,e=V(n,"modelValue",m),u=["#FF2C3C","#f7971e","#fa444d","#e0a356","#2f80ed","#2ec840"],d=()=>{e.value=n.resetColor};return(g,o)=>{const p=c,i=_,f=x;return k(),y("div",B,[l(p,{modelValue:s(e),"onUpdate:modelValue":o[0]||(o[0]=t=>a(e)?e.value=t:null),predefine:u},null,8,["modelValue"]),l(i,{modelValue:s(e),"onUpdate:modelValue":o[1]||(o[1]=t=>a(e)?e.value=t:null),class:"mx-[10px] flex-1",type:"text",readonly:""},null,8,["modelValue"]),l(f,{type:"text",onClick:d},{default:v(()=>[...o[2]||(o[2]=[E("重置",-1)])]),_:1})])}}});export{b as _}; diff --git a/server/public/admin/assets/index.vue_vue_type_script_setup_true_lang-CCzvLP0c.js b/server/public/admin/assets/index.vue_vue_type_script_setup_true_lang-CCzvLP0c.js new file mode 100644 index 00000000..353d9d57 --- /dev/null +++ b/server/public/admin/assets/index.vue_vue_type_script_setup_true_lang-CCzvLP0c.js @@ -0,0 +1 @@ +import{D as N,B as q,G as D,I as S,C as H,i as I}from"./element-plus-DFTWCWyi.js";import{_ as O}from"./index-BwF7vczx.js";import{i as f}from"./index-DBREMm_z.js";import{f as U,ak as g,I as v,a as t,aN as l,J as c,H as w,O as i,G}from"./@vue/runtime-core-C6bnekPw.js";import{Q as m}from"./@vue/shared-mAAVTE9n.js";import{y as a,q as z,r as E}from"./@vue/reactivity-DiY1c2vO.js";const h={class:"export-data"},j={key:0,class:"text-sm text-gray-500 mb-3 leading-relaxed"},L={class:"flex"},P=U({__name:"index",props:{params:{type:Object,default:()=>({})},pageSize:{type:Number,default:25},fetchFun:{type:Function,required:!0},exportHint:{type:String,default:""}},setup(R){const x=z(),n=R,y=z(),o=E({page_type:0,page_start:1,page_end:200,file_name:""}),k={page_start:[{required:!0,message:"请输入起始页码"},{type:"number",message:"页码必须是整数"},{validator:(r,e,p)=>{if(e<=0)return p(new Error("页码必须大于0"));p()}}],page_end:[{required:!0,message:"请输入结束页码"},{type:"number",message:"页码必须是整数"},{validator:(r,e,p)=>{if(e<=0)return p(new Error("页码必须大于0"));p()}}]},u=E({count:0,sum_page:0,page_size:0,max_page:0,all_max_size:0}),V=async()=>{const r=await n.fetchFun({...n.params,page_size:n.pageSize,export:1});Object.assign(u,r),o.file_name=r.file_name,o.page_end=r.page_end,o.page_start=r.page_start},B=async()=>{var r,e;await((r=x.value)==null?void 0:r.validate()),f.loading("正在导出中...");try{await n.fetchFun({...n.params,...o,page_size:n.pageSize,export:2}),(e=y.value)==null||e.close(),f.closeLoading()}catch{f.closeLoading()}};return V(),(r,e)=>{const p=I,s=q,b=S,C=D,_=H,F=N;return g(),v("div",h,[t(O,{ref_key:"popupRef",ref:y,title:"导出设置",width:"500px","confirm-button-text":"确认导出",onConfirm:B,async:!0,onOpen:V},{trigger:l(()=>[t(p,null,{default:l(()=>[...e[4]||(e[4]=[i("导出",-1)])]),_:1})]),default:l(()=>[c("div",null,[n.exportHint?(g(),v("p",j,m(n.exportHint),1)):w("",!0),t(F,{ref_key:"formRef",ref:x,model:a(o),"label-width":"120px",rules:k},{default:l(()=>[t(s,{label:"数据量:"},{default:l(()=>[i(" 预计导出"+m(a(u).count)+"条数据, 共"+m(a(u).sum_page)+"页,每页"+m(a(u).page_size)+"条数据 ",1)]),_:1}),t(s,{label:"导出限制:"},{default:l(()=>[i(" 每次导出最大允许"+m(a(u).max_page)+"页,共"+m(a(u).all_max_size)+"条数据 ",1)]),_:1}),t(s,{prop:"page_type",label:"导出范围:",required:""},{default:l(()=>[t(C,{modelValue:a(o).page_type,"onUpdate:modelValue":e[0]||(e[0]=d=>a(o).page_type=d)},{default:l(()=>[t(b,{value:0},{default:l(()=>[...e[5]||(e[5]=[i("全部导出",-1)])]),_:1}),t(b,{value:1},{default:l(()=>[...e[6]||(e[6]=[i("分页导出",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(o).page_type==1?(g(),G(s,{key:0,label:"分页范围:"},{default:l(()=>[c("div",L,[t(s,{prop:"page_start"},{default:l(()=>[t(_,{style:{width:"140px"},modelValue:a(o).page_start,"onUpdate:modelValue":e[1]||(e[1]=d=>a(o).page_start=d),modelModifiers:{number:!0},placeholder:""},null,8,["modelValue"])]),_:1}),e[7]||(e[7]=c("span",{class:"flex-none ml-2 mr-2"},"页,至",-1)),t(s,{prop:"page_end"},{default:l(()=>[t(_,{style:{width:"140px"},modelValue:a(o).page_end,"onUpdate:modelValue":e[2]||(e[2]=d=>a(o).page_end=d),modelModifiers:{number:!0},placeholder:""},null,8,["modelValue"])]),_:1})])]),_:1})):w("",!0),t(s,{label:"导出文件名称:",prop:"file_name"},{default:l(()=>[t(_,{modelValue:a(o).file_name,"onUpdate:modelValue":e[3]||(e[3]=d=>a(o).file_name=d),placeholder:"请输入导出文件名称"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])])]),_:1},512)])}}});export{P as _}; diff --git a/server/public/admin/assets/index.vue_vue_type_script_setup_true_lang-DXTGI59-.js b/server/public/admin/assets/index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js similarity index 93% rename from server/public/admin/assets/index.vue_vue_type_script_setup_true_lang-DXTGI59-.js rename to server/public/admin/assets/index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js index c1114162..16695088 100644 --- a/server/public/admin/assets/index.vue_vue_type_script_setup_true_lang-DXTGI59-.js +++ b/server/public/admin/assets/index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js @@ -1 +1 @@ -import{X as m}from"./element-plus-0wC3naml.js";import{f as c,ak as d,I as z,a as f,ab as h,A as C}from"./@vue/runtime-core-C6bnekPw.js";import{y as a}from"./@vue/reactivity-DiY1c2vO.js";const S={class:"pagination"},x=c({__name:"index",props:{modelValue:{default:()=>({})},pageSizes:{default:()=>[15,20,30,40]},layout:{default:"total, sizes, prev, pager, next, jumper"}},emits:["change","update:modelValue"],setup(n,{emit:i}){const p=n,o=i,e=C({get(){return p.modelValue},set(g){o("update:modelValue",g)}}),r=()=>{e.value.page=1,o("change")},l=()=>{o("change")};return(g,t)=>{const u=m;return d(),z("div",S,[f(u,h(p,{"pager-count":5,currentPage:a(e).page,"onUpdate:currentPage":t[0]||(t[0]=s=>a(e).page=s),pageSize:a(e).size,"onUpdate:pageSize":t[1]||(t[1]=s=>a(e).size=s),"page-sizes":n.pageSizes,layout:n.layout,total:a(e).count,"hide-on-single-page":!1,onSizeChange:r,onCurrentChange:l}),null,16,["currentPage","pageSize","page-sizes","layout","total"])])}}});export{x as _}; +import{X as m}from"./element-plus-DFTWCWyi.js";import{f as c,ak as d,I as z,a as f,ab as h,A as C}from"./@vue/runtime-core-C6bnekPw.js";import{y as a}from"./@vue/reactivity-DiY1c2vO.js";const S={class:"pagination"},x=c({__name:"index",props:{modelValue:{default:()=>({})},pageSizes:{default:()=>[15,20,30,40]},layout:{default:"total, sizes, prev, pager, next, jumper"}},emits:["change","update:modelValue"],setup(n,{emit:i}){const p=n,o=i,e=C({get(){return p.modelValue},set(g){o("update:modelValue",g)}}),r=()=>{e.value.page=1,o("change")},l=()=>{o("change")};return(g,t)=>{const u=m;return d(),z("div",S,[f(u,h(p,{"pager-count":5,currentPage:a(e).page,"onUpdate:currentPage":t[0]||(t[0]=s=>a(e).page=s),pageSize:a(e).size,"onUpdate:pageSize":t[1]||(t[1]=s=>a(e).size=s),"page-sizes":n.pageSizes,layout:n.layout,total:a(e).count,"hide-on-single-page":!1,onSizeChange:r,onCurrentChange:l}),null,16,["currentPage","pageSize","page-sizes","layout","total"])])}}});export{x as _}; diff --git a/server/public/admin/assets/index.vue_vue_type_script_setup_true_lang-DLNQ3IjV.js b/server/public/admin/assets/index.vue_vue_type_script_setup_true_lang-DLNQ3IjV.js deleted file mode 100644 index 9e348b55..00000000 --- a/server/public/admin/assets/index.vue_vue_type_script_setup_true_lang-DLNQ3IjV.js +++ /dev/null @@ -1 +0,0 @@ -import{D as C,B as F,G as N,I as q,C as D,i as I}from"./element-plus-0wC3naml.js";import{_ as O}from"./index-nymJKQXP.js";import{i as f}from"./index-E47--KT7.js";import{f as S,ak as b,I as U,a,aN as l,J as g,O as d,G,H as j}from"./@vue/runtime-core-C6bnekPw.js";import{y as t,q as v,r as w}from"./@vue/reactivity-DiY1c2vO.js";import{Q as i}from"./@vue/shared-mAAVTE9n.js";const L={class:"export-data"},M={class:"flex"},K=S({__name:"index",props:{params:{type:Object,default:()=>({})},pageSize:{type:Number,default:25},fetchFun:{type:Function,required:!0}},setup(z){const c=v(),u=z,y=v(),o=w({page_type:0,page_start:1,page_end:200,file_name:""}),E={page_start:[{required:!0,message:"请输入起始页码"},{type:"number",message:"页码必须是整数"},{validator:(r,e,n)=>{if(e<=0)return n(new Error("页码必须大于0"));n()}}],page_end:[{required:!0,message:"请输入结束页码"},{type:"number",message:"页码必须是整数"},{validator:(r,e,n)=>{if(e<=0)return n(new Error("页码必须大于0"));n()}}]},m=w({count:0,sum_page:0,page_size:0,max_page:0,all_max_size:0}),x=async()=>{const r=await u.fetchFun({...u.params,page_size:u.pageSize,export:1});Object.assign(m,r),o.file_name=r.file_name,o.page_end=r.page_end,o.page_start=r.page_start},R=async()=>{var r,e;await((r=c.value)==null?void 0:r.validate()),f.loading("正在导出中...");try{await u.fetchFun({...u.params,...o,page_size:u.pageSize,export:2}),(e=y.value)==null||e.close(),f.closeLoading()}catch{f.closeLoading()}};return x(),(r,e)=>{const n=I,p=F,V=q,k=N,_=D,B=C;return b(),U("div",L,[a(O,{ref_key:"popupRef",ref:y,title:"导出设置",width:"500px","confirm-button-text":"确认导出",onConfirm:R,async:!0,onOpen:x},{trigger:l(()=>[a(n,null,{default:l(()=>[...e[4]||(e[4]=[d("导出",-1)])]),_:1})]),default:l(()=>[g("div",null,[a(B,{ref_key:"formRef",ref:c,model:t(o),"label-width":"120px",rules:E},{default:l(()=>[a(p,{label:"数据量:"},{default:l(()=>[d(" 预计导出"+i(t(m).count)+"条数据, 共"+i(t(m).sum_page)+"页,每页"+i(t(m).page_size)+"条数据 ",1)]),_:1}),a(p,{label:"导出限制:"},{default:l(()=>[d(" 每次导出最大允许"+i(t(m).max_page)+"页,共"+i(t(m).all_max_size)+"条数据 ",1)]),_:1}),a(p,{prop:"page_type",label:"导出范围:",required:""},{default:l(()=>[a(k,{modelValue:t(o).page_type,"onUpdate:modelValue":e[0]||(e[0]=s=>t(o).page_type=s)},{default:l(()=>[a(V,{value:0},{default:l(()=>[...e[5]||(e[5]=[d("全部导出",-1)])]),_:1}),a(V,{value:1},{default:l(()=>[...e[6]||(e[6]=[d("分页导出",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),t(o).page_type==1?(b(),G(p,{key:0,label:"分页范围:"},{default:l(()=>[g("div",M,[a(p,{prop:"page_start"},{default:l(()=>[a(_,{style:{width:"140px"},modelValue:t(o).page_start,"onUpdate:modelValue":e[1]||(e[1]=s=>t(o).page_start=s),modelModifiers:{number:!0},placeholder:""},null,8,["modelValue"])]),_:1}),e[7]||(e[7]=g("span",{class:"flex-none ml-2 mr-2"},"页,至",-1)),a(p,{prop:"page_end"},{default:l(()=>[a(_,{style:{width:"140px"},modelValue:t(o).page_end,"onUpdate:modelValue":e[2]||(e[2]=s=>t(o).page_end=s),modelModifiers:{number:!0},placeholder:""},null,8,["modelValue"])]),_:1})])]),_:1})):j("",!0),a(p,{label:"导出文件名称:",prop:"file_name"},{default:l(()=>[a(_,{modelValue:t(o).file_name,"onUpdate:modelValue":e[3]||(e[3]=s=>t(o).file_name=s),placeholder:"请输入导出文件名称"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])])]),_:1},512)])}}});export{K as _}; diff --git a/server/public/admin/assets/index.vue_vue_type_script_setup_true_lang-DBEwrTRf.js b/server/public/admin/assets/index.vue_vue_type_script_setup_true_lang-DPC_NOWM.js similarity index 93% rename from server/public/admin/assets/index.vue_vue_type_script_setup_true_lang-DBEwrTRf.js rename to server/public/admin/assets/index.vue_vue_type_script_setup_true_lang-DPC_NOWM.js index 3c4b9458..0c8fc13f 100644 --- a/server/public/admin/assets/index.vue_vue_type_script_setup_true_lang-DBEwrTRf.js +++ b/server/public/admin/assets/index.vue_vue_type_script_setup_true_lang-DPC_NOWM.js @@ -1 +1 @@ -import{a2 as s}from"./element-plus-0wC3naml.js";import{f as u,ak as i,G as c,A as p}from"./@vue/runtime-core-C6bnekPw.js";import{a as f,y as T}from"./@vue/reactivity-DiY1c2vO.js";const P=u({__name:"index",props:{startTime:{default:""},endTime:{default:""},pickerType:{default:"datetimerange"},valueFormat:{default:"YYYY-MM-DD HH:mm:ss"},startPlaceholder:{default:"开始时间"},endPlaceholder:{default:"结束时间"}},emits:["update:startTime","update:endTime"],setup(e,{emit:o}){const r=e,t=o,l=p({get:()=>[r.startTime,r.endTime],set:a=>{a===null?(t("update:startTime",""),t("update:endTime","")):(t("update:startTime",a[0]),t("update:endTime",a[1]))}});return(a,d)=>{const n=s;return i(),c(n,{modelValue:T(l),"onUpdate:modelValue":d[0]||(d[0]=m=>f(l)?l.value=m:null),type:e.pickerType,"range-separator":"-","start-placeholder":e.startPlaceholder,"end-placeholder":e.endPlaceholder,"value-format":e.valueFormat,clearable:""},null,8,["modelValue","type","start-placeholder","end-placeholder","value-format"])}}});export{P as _}; +import{a2 as s}from"./element-plus-DFTWCWyi.js";import{f as u,ak as i,G as c,A as p}from"./@vue/runtime-core-C6bnekPw.js";import{a as f,y as T}from"./@vue/reactivity-DiY1c2vO.js";const P=u({__name:"index",props:{startTime:{default:""},endTime:{default:""},pickerType:{default:"datetimerange"},valueFormat:{default:"YYYY-MM-DD HH:mm:ss"},startPlaceholder:{default:"开始时间"},endPlaceholder:{default:"结束时间"}},emits:["update:startTime","update:endTime"],setup(e,{emit:o}){const r=e,t=o,l=p({get:()=>[r.startTime,r.endTime],set:a=>{a===null?(t("update:startTime",""),t("update:endTime","")):(t("update:startTime",a[0]),t("update:endTime",a[1]))}});return(a,d)=>{const n=s;return i(),c(n,{modelValue:T(l),"onUpdate:modelValue":d[0]||(d[0]=m=>f(l)?l.value=m:null),type:e.pickerType,"range-separator":"-","start-placeholder":e.startPlaceholder,"end-placeholder":e.endPlaceholder,"value-format":e.valueFormat,clearable:""},null,8,["modelValue","type","start-placeholder","end-placeholder","value-format"])}}});export{P as _}; diff --git a/server/public/admin/assets/index.vue_vue_type_script_setup_true_lang-Bl0f8aX8.js b/server/public/admin/assets/index.vue_vue_type_script_setup_true_lang-x0oL2ShL.js similarity index 94% rename from server/public/admin/assets/index.vue_vue_type_script_setup_true_lang-Bl0f8aX8.js rename to server/public/admin/assets/index.vue_vue_type_script_setup_true_lang-x0oL2ShL.js index 4fc58d45..d2bbb273 100644 --- a/server/public/admin/assets/index.vue_vue_type_script_setup_true_lang-Bl0f8aX8.js +++ b/server/public/admin/assets/index.vue_vue_type_script_setup_true_lang-x0oL2ShL.js @@ -1 +1 @@ -import{a1 as N,P as L,C as M,i as O,Q as P}from"./element-plus-0wC3naml.js";import{s as w}from"./@vue/runtime-dom-DDAG46FW.js";import{b as U}from"./@vueuse/core-1S4fJlii.js";import{f as $,w as F,ak as a,I as x,a as p,aN as i,J as s,G as m,F as I,ap as q,O as k,aq as A}from"./@vue/runtime-core-C6bnekPw.js";import{a as f,y as v,n as c}from"./@vue/reactivity-DiY1c2vO.js";const G={class:"popover-input__input mr-[10px] flex-1"},J={class:"popover-input__btns flex-none"},H=$({__name:"index",props:{value:{type:String},type:{type:String,default:"text"},width:{type:[Number,String],default:"300px"},placeholder:String,disabled:{type:Boolean,default:!1},options:{type:Array,default:()=>[]},size:{type:String,default:"default"},limit:{type:Number,default:200},showLimit:{type:Boolean,default:!1},teleported:{type:Boolean,default:!0}},emits:["confirm"],setup(t,{emit:g}){const y=t,z=g,n=c(!1),r=c(!1),o=c(),V=()=>{u(),z("confirm",o.value)},B=()=>{y.disabled||(n.value=!0)},u=()=>{n.value=!1};return F(()=>y.value,d=>{o.value=d},{immediate:!0}),U(document.documentElement,"click",()=>{r.value||u()}),(d,e)=>{const C=P,E=L,S=M,b=O,h=N;return a(),x("div",{onMouseenter:e[4]||(e[4]=l=>r.value=!0),onMouseleave:e[5]||(e[5]=l=>r.value=!1)},[p(h,{placement:"top",visible:v(n),"onUpdate:visible":e[3]||(e[3]=l=>f(n)?n.value=l:null),width:t.width,trigger:"contextmenu",class:"popover-input",teleported:t.teleported,persistent:!1,"popper-class":"!p-0"},{reference:i(()=>[s("div",{class:"inline",onClick:w(B,["stop"])},[A(d.$slots,"default")])]),default:i(()=>[s("div",{class:"flex p-3",onClick:e[2]||(e[2]=w(()=>{},["stop"]))},[s("div",G,[t.type=="select"?(a(),m(E,{key:0,class:"flex-1",size:t.size,modelValue:v(o),"onUpdate:modelValue":e[0]||(e[0]=l=>f(o)?o.value=l:null),teleported:t.teleported},{default:i(()=>[(a(!0),x(I,null,q(t.options,l=>(a(),m(C,{key:l.value,label:l.label,value:l.value},null,8,["label","value"]))),128))]),_:1},8,["size","modelValue","teleported"])):(a(),m(S,{key:1,modelValue:v(o),"onUpdate:modelValue":e[1]||(e[1]=l=>f(o)?o.value=l:null),modelModifiers:{trim:!0},maxlength:t.limit,"show-word-limit":t.showLimit,type:t.type,size:t.size,clearable:"",placeholder:t.placeholder},null,8,["modelValue","maxlength","show-word-limit","type","size","placeholder"]))]),s("div",J,[p(b,{link:"",onClick:u},{default:i(()=>[...e[6]||(e[6]=[k("取消",-1)])]),_:1}),p(b,{type:"primary",size:t.size,onClick:V},{default:i(()=>[...e[7]||(e[7]=[k("确定",-1)])]),_:1},8,["size"])])])]),_:3},8,["visible","width","teleported"])],32)}}});export{H as _}; +import{a1 as N,P as L,C as M,i as O,Q as P}from"./element-plus-DFTWCWyi.js";import{s as w}from"./@vue/runtime-dom-DDAG46FW.js";import{b as U}from"./@vueuse/core-1S4fJlii.js";import{f as $,w as F,ak as a,I as x,a as p,aN as i,J as s,G as m,F as I,ap as q,O as k,aq as A}from"./@vue/runtime-core-C6bnekPw.js";import{a as f,y as v,n as c}from"./@vue/reactivity-DiY1c2vO.js";const G={class:"popover-input__input mr-[10px] flex-1"},J={class:"popover-input__btns flex-none"},H=$({__name:"index",props:{value:{type:String},type:{type:String,default:"text"},width:{type:[Number,String],default:"300px"},placeholder:String,disabled:{type:Boolean,default:!1},options:{type:Array,default:()=>[]},size:{type:String,default:"default"},limit:{type:Number,default:200},showLimit:{type:Boolean,default:!1},teleported:{type:Boolean,default:!0}},emits:["confirm"],setup(t,{emit:g}){const y=t,z=g,n=c(!1),r=c(!1),o=c(),V=()=>{u(),z("confirm",o.value)},B=()=>{y.disabled||(n.value=!0)},u=()=>{n.value=!1};return F(()=>y.value,d=>{o.value=d},{immediate:!0}),U(document.documentElement,"click",()=>{r.value||u()}),(d,e)=>{const C=P,E=L,S=M,b=O,h=N;return a(),x("div",{onMouseenter:e[4]||(e[4]=l=>r.value=!0),onMouseleave:e[5]||(e[5]=l=>r.value=!1)},[p(h,{placement:"top",visible:v(n),"onUpdate:visible":e[3]||(e[3]=l=>f(n)?n.value=l:null),width:t.width,trigger:"contextmenu",class:"popover-input",teleported:t.teleported,persistent:!1,"popper-class":"!p-0"},{reference:i(()=>[s("div",{class:"inline",onClick:w(B,["stop"])},[A(d.$slots,"default")])]),default:i(()=>[s("div",{class:"flex p-3",onClick:e[2]||(e[2]=w(()=>{},["stop"]))},[s("div",G,[t.type=="select"?(a(),m(E,{key:0,class:"flex-1",size:t.size,modelValue:v(o),"onUpdate:modelValue":e[0]||(e[0]=l=>f(o)?o.value=l:null),teleported:t.teleported},{default:i(()=>[(a(!0),x(I,null,q(t.options,l=>(a(),m(C,{key:l.value,label:l.label,value:l.value},null,8,["label","value"]))),128))]),_:1},8,["size","modelValue","teleported"])):(a(),m(S,{key:1,modelValue:v(o),"onUpdate:modelValue":e[1]||(e[1]=l=>f(o)?o.value=l:null),modelModifiers:{trim:!0},maxlength:t.limit,"show-word-limit":t.showLimit,type:t.type,size:t.size,clearable:"",placeholder:t.placeholder},null,8,["modelValue","maxlength","show-word-limit","type","size","placeholder"]))]),s("div",J,[p(b,{link:"",onClick:u},{default:i(()=>[...e[6]||(e[6]=[k("取消",-1)])]),_:1}),p(b,{type:"primary",size:t.size,onClick:V},{default:i(()=>[...e[7]||(e[7]=[k("确定",-1)])]),_:1},8,["size"])])])]),_:3},8,["visible","width","teleported"])],32)}}});export{H as _}; diff --git a/server/public/admin/assets/index.vue_vue_type_style_index_0_lang-CSw0OmVb.js b/server/public/admin/assets/index.vue_vue_type_style_index_0_lang-CV_qr4dh.js similarity index 96% rename from server/public/admin/assets/index.vue_vue_type_style_index_0_lang-CSw0OmVb.js rename to server/public/admin/assets/index.vue_vue_type_style_index_0_lang-CV_qr4dh.js index 05e1f4a0..06f5e224 100644 --- a/server/public/admin/assets/index.vue_vue_type_style_index_0_lang-CSw0OmVb.js +++ b/server/public/admin/assets/index.vue_vue_type_style_index_0_lang-CV_qr4dh.js @@ -1 +1 @@ -import"./@wangeditor/editor-Cyf37SuL.js";import{T as k,E as x}from"./@wangeditor/editor-for-vue-D1vSph3l.js";import{_ as R}from"./picker-DlbAZkDm.js";import{o as f}from"./index-E47--KT7.js";import{f as U,ae as _,ak as B,I as E,a as u,A as c,n as P}from"./@vue/runtime-core-C6bnekPw.js";import{p as T}from"./@vue/shared-mAAVTE9n.js";import{y as t,a as A,q as p,n as h}from"./@vue/reactivity-DiY1c2vO.js";const M=U({__name:"index",props:{modelValue:{default:""},mode:{default:"default"},height:{default:"100%"},width:{default:"auto"},toolbarConfig:{default:()=>({})}},emits:["update:modelValue"],setup(a,{emit:g}){const l=a,v=g,d=p(),n=p(),r=h(""),m=h(!1);let s;const C={MENU_CONF:{uploadImage:{customBrowseAndUpload(e){var o;r.value="image",(o=n.value)==null||o.showPopup(-1),s=e}},uploadVideo:{customBrowseAndUpload(e){var o;r.value="video",(o=n.value)==null||o.showPopup(-1),s=e}}}},b=c(()=>({height:f(l.height),width:f(l.width)})),i=c({get(){return l.modelValue},set(e){m.value&&v("update:modelValue",e)}}),y=e=>{e.forEach(o=>{s(o)})};_(()=>{const e=d.value;e!=null&&e.destroy()});const w=e=>{d.value=e,P(()=>{m.value=!0})};return(e,o)=>(B(),E("div",{class:"border border-br flex flex-col",style:T(t(b))},[u(t(k),{class:"border-b border-br",editor:t(d),defaultConfig:a.toolbarConfig,mode:a.mode},null,8,["editor","defaultConfig","mode"]),u(t(x),{class:"flex-1 overflow-hidden",modelValue:t(i),"onUpdate:modelValue":o[0]||(o[0]=V=>A(i)?i.value=V:null),defaultConfig:C,mode:a.mode,onOnCreated:w},null,8,["modelValue","mode"]),u(R,{ref_key:"materialPickerRef",ref:n,type:t(r),limit:-1,"hidden-upload":"",onChange:y},null,8,["type"])],4))}});export{M as _}; +import"./@wangeditor/editor-Cyf37SuL.js";import{T as k,E as x}from"./@wangeditor/editor-for-vue-D1vSph3l.js";import{_ as R}from"./picker-BCRrEZaA.js";import{o as f}from"./index-DBREMm_z.js";import{f as U,ae as _,ak as B,I as E,a as u,A as c,n as P}from"./@vue/runtime-core-C6bnekPw.js";import{p as T}from"./@vue/shared-mAAVTE9n.js";import{y as t,a as A,q as p,n as h}from"./@vue/reactivity-DiY1c2vO.js";const M=U({__name:"index",props:{modelValue:{default:""},mode:{default:"default"},height:{default:"100%"},width:{default:"auto"},toolbarConfig:{default:()=>({})}},emits:["update:modelValue"],setup(a,{emit:g}){const l=a,v=g,d=p(),n=p(),r=h(""),m=h(!1);let s;const C={MENU_CONF:{uploadImage:{customBrowseAndUpload(e){var o;r.value="image",(o=n.value)==null||o.showPopup(-1),s=e}},uploadVideo:{customBrowseAndUpload(e){var o;r.value="video",(o=n.value)==null||o.showPopup(-1),s=e}}}},b=c(()=>({height:f(l.height),width:f(l.width)})),i=c({get(){return l.modelValue},set(e){m.value&&v("update:modelValue",e)}}),y=e=>{e.forEach(o=>{s(o)})};_(()=>{const e=d.value;e!=null&&e.destroy()});const w=e=>{d.value=e,P(()=>{m.value=!0})};return(e,o)=>(B(),E("div",{class:"border border-br flex flex-col",style:T(t(b))},[u(t(k),{class:"border-b border-br",editor:t(d),defaultConfig:a.toolbarConfig,mode:a.mode},null,8,["editor","defaultConfig","mode"]),u(t(x),{class:"flex-1 overflow-hidden",modelValue:t(i),"onUpdate:modelValue":o[0]||(o[0]=V=>A(i)?i.value=V:null),defaultConfig:C,mode:a.mode,onOnCreated:w},null,8,["modelValue","mode"]),u(R,{ref_key:"materialPickerRef",ref:n,type:t(r),limit:-1,"hidden-upload":"",onChange:y},null,8,["type"])],4))}});export{M as _}; diff --git a/server/public/admin/assets/index_h5-1irCcr3H.js b/server/public/admin/assets/index_h5-kGvFYcr5.js similarity index 84% rename from server/public/admin/assets/index_h5-1irCcr3H.js rename to server/public/admin/assets/index_h5-kGvFYcr5.js index 33b56e71..d2bcd202 100644 --- a/server/public/admin/assets/index_h5-1irCcr3H.js +++ b/server/public/admin/assets/index_h5-kGvFYcr5.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/edit-DlBhR6x6.js","assets/element-plus-0wC3naml.js","assets/@vue/runtime-dom-DDAG46FW.js","assets/lodash-D3kF6u-c.js","assets/@vue/runtime-core-C6bnekPw.js","assets/@vue/reactivity-DiY1c2vO.js","assets/@vue/shared-mAAVTE9n.js","assets/@element-plus/icons-vue-HOEUG8sr.js","assets/lodash-es-C2A-Pj28.js","assets/@popperjs/core-C5az9QE8.js","assets/dayjs-DG77mNTn.js","assets/@ctrl/tinycolor-BuyEbX8F.js","assets/async-validator-CFA_igpM.js","assets/normalize-wheel-es-BQoi3Ox2.js","assets/element-plus-C_YxM8bk.css","assets/tcm-SLIwsL8z.js","assets/index-E47--KT7.js","assets/jspdf-BsthCvR5.js","assets/@babel/runtime-BanGtE2-.js","assets/fflate-_ayOYiT1.js","assets/vue-router-QlpZ4wdW.js","assets/pinia-B8cvXbiZ.js","assets/axios-C80V62Fs.js","assets/@vueuse/core-1S4fJlii.js","assets/@vueuse/shared-Cl3lVqjz.js","assets/css-color-function-DI01JAaZ.js","assets/balanced-match-BdS7OldZ.js","assets/color-B2zxaWkI.js","assets/clone-DBZ6_OiU.js","assets/color-convert-OrFsTA_V.js","assets/color-name-Dju3oUBS.js","assets/color-string-pUQDDJII.js","assets/ms-CzQ2E3wO.js","assets/vue-clipboard3-DByT_rEQ.js","assets/clipboard-CHgxszqY.js","assets/echarts-CNLwa9wG.js","assets/tslib-BDyQ-Jie.js","assets/zrender-DRNXw7y3.js","assets/highlight.js-Bxt7hFFy.js","assets/highlight-BfC0goYb.css","assets/@highlightjs/vue-plugin-C4onkBvW.js","assets/index-Cf-gzPmQ.css","assets/perm-YIJpPBOg.js","assets/DailyMatrix-0DiBlpfB.js","assets/picker-DlbAZkDm.js","assets/index-nymJKQXP.js","assets/index-B3imPWFk.css","assets/index-B56X8bEB.js","assets/index.vue_vue_type_script_setup_true_lang-DXTGI59-.js","assets/index-BHTgr4Ka.js","assets/index-D0f1Mn00.css","assets/index-Ci4dcEQh.js","assets/cos-js-sdk-v5-DSMN0LUT.js","assets/file-DoYUJmkp.js","assets/index.vue_vue_type_script_setup_true_lang-Bl0f8aX8.js","assets/usePaging-VsbTxSU0.js","assets/index-BYOmK9R5.css","assets/vuedraggable-5bKFmC7X.js","assets/vue-BVs68q8v.js","assets/@vue/compiler-dom-CqayqxS7.js","assets/@vue/compiler-core-CvbQOXIO.js","assets/sortablejs-dsEAUXlE.js","assets/picker-XZbUgFct.css","assets/vue-echarts-BNtg2q_G.js","assets/resize-detector-G6vbKCU7.js","assets/DiagnosisTodoList-DC7uqd6f.js","assets/DiagnosisTodoList-D0SBmTHG.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix-zLBaKfXe.css","assets/CaseRecordList-CsyYkwG-.js","assets/CaseRecordList-Cl-c3q7S.css","assets/CallRecordPanel-CLexkvxf.js","assets/RecordingPlaybackBlock-z0PPBYke.js","assets/RecordingVideoPlayer-DWV7klHs.js","assets/RecordingVideoPlayer-4DegHAwm.css","assets/RecordingPlaybackBlock-B3KYFgvg.css","assets/CallRecordPanel-TsjZtTO8.css","assets/ImChatRecordPanel-DiuuXcLT.js","assets/im-business-message-parse-QKjFLn3X.js","assets/ImChatRecordPanel-aX8zpWRQ.css","assets/AssignLogPanel-B0ohl4pV.js","assets/AssignLogPanel-BdKOtd2m.css","assets/AppointmentRecordPanel-BZnhzLjC.js","assets/doctor-6V0qM7Ks.js","assets/AppointmentRecordPanel-DC22GDgn.css","assets/NoteTimeline-CDNv1DMC.js","assets/patient-DKQ1nUyC.js","assets/NoteTimeline-CCWIpEBQ.css","assets/PatientOrderList-DQ7QxnQw.js","assets/PatientOrderList-iKx_Cn9B.css","assets/index-kYFkWYEt.js","assets/index-wwnvQhjf.js","assets/medicine-D-OyzCbR.js","assets/index-tfEElgYq.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/html2canvas-QH1iLAAe.js","assets/index-DGbIWVjL.css","assets/edit-z2mn_utb.css","assets/TrackingNoteTimeline-B9T8pFso.css","assets/detail-41GQnmm8.js","assets/appointment-D0hEffVf.js","assets/appointment-C9G6EGwx.css","assets/AssistantWatchCallDialog-LeKEiefN.js","assets/trtc-sdk-v5-D4DbeRqz.js","assets/AssistantWatchCallDialog-BIPZRgaH.css"])))=>i.map(i=>d[i]); -import{_ as se}from"./jspdf-BsthCvR5.js";import{C as va,i as ga,d as fa,Q as ha,P as ya,L as ka,R as ba,e as Ca,D as Va,B as xa,h as Da,V as $a,T as Ea,v as Ra}from"./element-plus-0wC3naml.js";import{w as Ia,q as Aa}from"./@vue/runtime-dom-DDAG46FW.js";import{af as E,n as za,ag as Sa,G as Pa,ai as wa,U as nt,aj as st,an as qa,ak as La,al as Na,am as Ta}from"./tcm-SLIwsL8z.js";import{i as Fa}from"./order-BogYGNkX.js";import{k as Wa}from"./doctor-6V0qM7Ks.js";import{u as Ua,m as lt,i as f,_ as Oa}from"./index-E47--KT7.js";import{g as it}from"./weapp-C8BHuU_o.js";import{u as Ma}from"./usePaging-VsbTxSU0.js";import{h as V}from"./perm-YIJpPBOg.js";import{N as Qa,e as ot,A as Ya,X as Ba,O as dt,b as Ha,ac as Ga,G as ja,J as Ja,H as Ka,l as Xa,P as Za}from"./@element-plus/icons-vue-HOEUG8sr.js";import{d as rt}from"./dayjs-DG77mNTn.js";import{f as ut,b as en,d as tn,ak as l,I as o,J as s,a as n,aN as i,O as g,F as x,ap as z,H as _,aP as Le,G as $,P as le,A as M}from"./@vue/runtime-core-C6bnekPw.js";import{y as m,r as Ne,n as c}from"./@vue/reactivity-DiY1c2vO.js";import{o as S,Q as p}from"./@vue/shared-mAAVTE9n.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./lodash-D3kF6u-c.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const an={class:"dh5"},nn={class:"dh5-topbar"},sn={class:"dh5-search"},ln={class:"dh5-chips dh5-chips--scroll"},on=["onClick"],dn={key:0},rn={key:0},un={key:0},pn={key:0},cn={class:"dh5-quick"},mn={class:"dh5-quick-group"},_n=["onClick"],vn={class:"dh5-quick-group"},gn=["onClick"],fn={class:"dh5-more-filter"},hn={class:"dh5-list"},yn={key:0,class:"dh5-empty"},kn=["onClick"],bn={class:"dh5-card-avatar"},Cn={class:"dh5-card-id-name"},Vn={class:"dh5-card-name"},xn={key:0,class:"dh5-meta-gender"},Dn={key:1,class:"dh5-meta-age"},$n={class:"dh5-card-sub"},En={key:0,class:"dh5-tag-new"},Rn={class:"dh5-card-tags"},In={key:0,class:"dh5-tag dh5-tag--ok"},An={key:1,class:"dh5-tag dh5-tag--warn"},zn={key:2,class:"dh5-tag dh5-tag--info"},Sn=["onClick"],Pn={class:"dh5-row-val"},wn={class:"dh5-apt-status"},qn={class:"dh5-apt-doctor"},Ln={class:"dh5-apt-time"},Nn={class:"dh5-apt-status"},Tn={class:"dh5-apt-doctor"},Fn={class:"dh5-apt-time"},Wn={key:1,class:"dh5-apt-none"},Un={key:0,class:"dh5-row dh5-row--followup"},On={class:"dh5-row-val"},Mn={class:"dh5-meta-doctor"},Qn={key:0,class:"dh5-tag dh5-tag--gray"},Yn={class:"dh5-row"},Bn={class:"dh5-row-val"},Hn={key:1,class:"dh5-row"},Gn={class:"dh5-row-val"},jn={key:0,class:"dh5-meta-mute"},Jn={key:1},Kn={key:0,class:"dh5-card-watch"},Xn={class:"dh5-watch-tip"},Zn={key:1,class:"dh5-watch-mute"},es={class:"dh5-card-foot"},ts={key:2,class:"dh5-no-more"},as={key:0,class:"dh5-actions"},ns={class:"dh5-form-tip"},ss={class:"font-medium"},ls={class:"dh5-qr"},is={key:0,class:"dh5-qr-loading"},os={key:1},ds=["src"],rs={class:"dh5-qr-meta"},us={key:2,class:"dh5-qr-fail"},ps={key:0,class:"dh5-wx-contact"},cs={class:"dh5-wx-contact-row"},ms={class:"dh5-wx-val"},_s={class:"dh5-wx-contact-row"},vs={class:"dh5-wx-val"},gs={key:0},fs={class:"dh5-wx-contact-row"},hs={class:"dh5-wx-val"},ys={class:"dh5-wx-add"},ks={class:"dh5-wx-list-wrap"},bs={key:0,class:"dh5-wx-empty"},Cs={key:1,class:"dh5-wx-list"},Vs={class:"dh5-wx-head"},xs={class:"dh5-wx-head-left"},Ds={class:"dh5-wx-name"},$s={class:"dh5-wx-head-right"},Es={class:"dh5-wx-time"},Rs={class:"dh5-wx-content"},Is={key:0,class:"dh5-wx-media"},As=ut({name:"tcmDiagnosisH5"}),zs=ut({...As,setup(Ss){const pt=le(()=>se(()=>import("./edit-DlBhR6x6.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98]))),ct=le(()=>se(()=>import("./detail-41GQnmm8.js"),__vite__mapDeps([99,45,1,2,3,4,5,6,7,8,9,10,11,12,13,14,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,46,15]))),mt=le(()=>se(()=>import("./index-kYFkWYEt.js"),__vite__mapDeps([90,1,2,3,4,5,6,7,8,9,10,11,12,13,14,91,92,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,93,94,15,95,96]))),_t=le(()=>se(()=>import("./appointment-D0hEffVf.js"),__vite__mapDeps([100,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,83,101]))),vt=le(()=>se(()=>import("./AssistantWatchCallDialog-LeKEiefN.js"),__vite__mapDeps([102,1,2,3,4,5,6,7,8,9,10,11,12,13,14,103,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,104]))),ie=Ua(),gt=t=>{if(!t)return"-";const e=String(t).length===10?Number(t)*1e3:Number(t);return rt(e).format("YYYY-MM-DD HH:mm")},ft=t=>{if(!t)return"-";const e=String(t).length===10?t*1e3:t;return rt(e).format("YYYY-MM-DD HH:mm")},Te=t=>!t||t.length<11?t:t.replace(/(\d{3})\d{4}(\d{4})/,"$1****$2"),R=t=>String(t).padStart(2,"0"),ve=M(()=>{const t=new Date;return t.setDate(t.getDate()-1),`${t.getFullYear()}-${R(t.getMonth()+1)}-${R(t.getDate())}`}),ge=M(()=>{const t=new Date;return t.setDate(t.getDate()-2),`${t.getFullYear()}-${R(t.getMonth()+1)}-${R(t.getDate())}`}),G=M(()=>{const t=new Date;return`${t.getFullYear()}-${R(t.getMonth()+1)}-${R(t.getDate())}`}),fe=M(()=>{const t=new Date;return t.setDate(t.getDate()+1),`${t.getFullYear()}-${R(t.getMonth()+1)}-${R(t.getDate())}`}),he=M(()=>{const t=new Date;return t.setDate(t.getDate()+2),`${t.getFullYear()}-${R(t.getMonth()+1)}-${R(t.getDate())}`}),d=Ne({keyword:"",diagnosis_type:"",syndrome_type:"",assistant_id:"",diagnosis_confirmed:"",appointment_date:"",has_appointment:"",pending_assign:"",pending_booking:"",completed_appointment:""}),j=c(!1),ht=[{label:"全部",value:""},{label:"已挂号",value:"1"},{label:"未挂号",value:"0"}],yt=[{label:"全部",value:""},{label:"已确认",value:"1"},{label:"未确认",value:"0"}],kt=M(()=>[{label:"昨天挂号",value:ve.value},{label:"前天挂号",value:ge.value},{label:"当天挂号",value:G.value},{label:"明天挂号",value:fe.value},{label:"后天挂号",value:he.value},{label:"全部",value:""}]),ye=c({}),ke=c(void 0),be=c(void 0),Ce=c(void 0),{pager:h,getLists:b}=Ma({fetchFun:E,params:d}),Ve=M(()=>h.lists.length<(h.count||0)),Fe=()=>b({silent:!0}),Y=()=>{h.page=1,b(),D()},bt=()=>{d.keyword="",d.diagnosis_type="",d.syndrome_type="",d.assistant_id="",d.diagnosis_confirmed="",d.appointment_date=G.value,d.has_appointment="",d.pending_assign="",d.pending_booking="",d.completed_appointment="",h.page=1,b(),D()},Ct=t=>{d.has_appointment=t,d.pending_booking="",d.completed_appointment="",h.page=1,b(),D()},Vt=t=>{d.diagnosis_confirmed=t,d.pending_booking="",d.completed_appointment="",h.page=1,b(),D()},xt=async t=>{d.pending_assign="",d.pending_booking="",d.completed_appointment="",d.has_appointment="",d.appointment_date=t,h.page=1,await b(),D()},Dt=async()=>{d.pending_assign="",d.pending_booking="1",d.completed_appointment="",d.appointment_date="",d.has_appointment="0",h.page=1,await b(),D()},$t=async()=>{d.pending_assign="",d.pending_booking="",d.completed_appointment="1",d.has_appointment="",d.appointment_date="",h.page=1,await b(),D()},Et=async()=>{d.pending_assign="1",d.pending_booking="",d.completed_appointment="",d.has_appointment="",d.appointment_date="",h.page=1,await b(),D()},D=async()=>{try{const[t,e,r,u,k,C,P,ae,U]=await Promise.all([E({appointment_date:ve.value,page_no:1,page_size:1}),E({appointment_date:ge.value,page_no:1,page_size:1}),E({appointment_date:G.value,page_no:1,page_size:1}),E({appointment_date:fe.value,page_no:1,page_size:1}),E({appointment_date:he.value,page_no:1,page_size:1}),E({page_no:1,page_size:1}),E({has_appointment:0,page_no:1,page_size:1}),E({completed_appointment:1,page_no:1,page_size:1}),E({pending_assign:1,page_no:1,page_size:1})]);ye.value={[ve.value]:(t==null?void 0:t.count)??0,[ge.value]:(e==null?void 0:e.count)??0,[G.value]:(r==null?void 0:r.count)??0,[fe.value]:(u==null?void 0:u.count)??0,[he.value]:(k==null?void 0:k.count)??0,"":(C==null?void 0:C.count)??0},ke.value=(P==null?void 0:P.count)??0,be.value=(ae==null?void 0:ae.count)??0,Ce.value=(U==null?void 0:U.count)??0}catch(t){console.error("获取日期数量失败",t)}},Rt=async()=>{if(h.loading||!Ve.value)return;const t=(h.page||1)+1;h.loading=!0;try{const e=await E({page_no:t,page_size:h.size,...d});h.page=t,h.lists.push(...(e==null?void 0:e.lists)||[]),h.count=(e==null?void 0:e.count)??h.count}catch(e){console.error("加载更多失败:",e)}finally{h.loading=!1}},xe=c([]),De=c([]),J=c([]),It=async()=>{try{const[t,e,r]=await Promise.all([lt({type:"diagnosis_type"}),lt({type:"syndrome_type"}),za()]);xe.value=(t==null?void 0:t.diagnosis_type)||[],De.value=(e==null?void 0:e.syndrome_type)||[],J.value=r||[]}catch(t){console.error("获取字典数据失败:",t)}},We=(t,e)=>{const r=t.find(u=>u.value===e);return r?r.name:e||"-"},At=t=>{if(!t&&t!==0)return"-";const e=typeof t=="string"?parseInt(t):t;if(J.value.length===0)return"...";const r=J.value.find(u=>(typeof u.id=="string"?parseInt(u.id):u.id)===e);return r?r.name:"-"},Ue=t=>{const e=t.DiagnosisViewRecord||[];return e.length>0&&e.some(r=>r.is_confirmed==1)},zt=t=>Ue(t)?t.has_appointment?"":"dh5-card--noapt":"dh5-card--unconfirmed",St=t=>{const e=Number(t.appointment_status);return e===3?"已完成":e===4?"已过号":"已挂号"},Pt=t=>{const e=Number(t);return e===3?"已完成":e===4?"已过号":"已挂号"},Oe=t=>{const e=Array.isArray(t.appointments)?t.appointments:[];return e.length>0?e:t.has_appointment?[{id:t.appointment_id,status:t.appointment_status,doctor_id:t.appointment_doctor_id,doctor_name:t.appointment_doctor_name,time_text:t.appointment_time_text}]:[]},wt=t=>{const e=Number(t==null?void 0:t.status);return{"dh5-apt-item--done":e===3,"dh5-apt-item--missed":e===4,"dh5-apt-item--active":e===1}},qt=t=>{const e=Number(t.appointment_status);return{"has-apt":t.has_appointment,"apt-row-done":t.has_appointment&&e===3,"apt-row-missed":t.has_appointment&&e===4}},K=t=>t.has_appointment&&Number(t.appointment_status)===1,Me=t=>{const e=Number(t.appointment_status);return!!(t.has_appointment&&t.appointment_id&&(e===1||e===4))},Lt=t=>{var r;const e=t.assistant_id??t.assistant;return e==null||e===""?!1:Number(e)===Number((r=ie.userInfo)==null?void 0:r.id)},$e=t=>Lt(t)&&V(["tcm.diagnosis/watchCall"]),X=t=>{var e;return((e=t.video_call_hint)==null?void 0:e.state)||"none"},Nt=t=>{const e=X(t);return e==="live"||e==="pending_room"},Tt=t=>X(t)==="pending_room"?"医生未接通或未同步房间":"点击进入实时房间",Ft=t=>{const e=t.video_call_hint;return e!=null&&e.label?e.label:"暂无可旁观通话"},Wt=t=>{const e=X(t);if(e==="none")return"";if(e==="live")return"通话中";if(e==="pending_room")return"接通中";const r=t.video_call_hint;return(r==null?void 0:r.label)||""},Ut=t=>{if($e(t))return!0;const e=X(t);return e==="live"||e==="pending_room"},Ee=c(!1),Qe=c(0),Ot=t=>{if(X(t)!=="live"){f.msgWarning("医生未接通或未同步房间号,请稍后再试");return}Qe.value=Number(t.id)||0,Ee.value=!0},oe=c(),Ye=c(),Be=c(),He=c(),Mt=()=>{var t;return(t=oe.value)==null?void 0:t.open("add")},Qt=t=>{var e;return(e=oe.value)==null?void 0:e.open("edit",t)},Ge=t=>{var e;return(e=Ye.value)==null?void 0:e.open(t)},je=t=>(t==null?void 0:t.prescription_audit_status)===1&&Number(t==null?void 0:t.prescription_void_status)!==1?"查看":"开方",Yt=t=>{var e;if(!(t!=null&&t.id)){f.msgWarning("诊单信息不完整");return}(e=Be.value)==null||e.open({...t,diagnosis_id:t.id,id:t.appointment_id||0})},Bt=()=>{var t,e;b(),(e=(t=oe.value)==null?void 0:t.refreshCaseList)==null||e.call(t)},Ht=t=>{var e;if(!t.patient_id){f.msgWarning("患者信息不完整");return}(e=He.value)==null||e.open(t)},Gt=async t=>{await f.confirm("确定要删除该诊单吗?"),await Ta({id:t}),b()},de=c(!1),w=c(null),jt=t=>{w.value=t,de.value=!0},q=t=>{const e=w.value;if(de.value=!1,!!e)switch(t){case"assign":Jt(e);break;case"videoQr":if(!K(e)){f.msgWarning("仅「已预约」状态可生成视频二维码");return}Ke(e);break;case"confirmQr":Xe(e);break;case"cancelApt":oa(e);break;case"fillIdCard":na(e);break;case"order":Zt(e);break;case"wechat":Ze(e);break;case"delete":Gt(e.id);break}},Z=c(!1),Re=c(!1),re=c(null),B=c({assistant_id:null}),Jt=t=>{re.value=t,B.value.assistant_id=t.assistant_id?Number(t.assistant_id):null,Z.value=!0},Kt=async()=>{if(!B.value.assistant_id){f.msgWarning("请选择医助");return}Re.value=!0;try{await Sa({id:re.value.id,assistant_id:B.value.assistant_id}),Z.value=!1,b()}catch(t){console.error("指派失败:",t)}finally{Re.value=!1}},ee=c(!1),ue=c(),Ie=c(!1),v=Ne({patient_id:"",patient_name:"",phone:"",order_type:"",amount:0,remark:"",has_appointment:!1,appointment_time_text:""}),Xt={order_type:[{required:!0,message:"请选择订单类型",trigger:"change"}],amount:[{required:!0,message:"请输入订单金额",trigger:"blur"}]},Zt=t=>{var e;v.patient_id=t.patient_id||t.id,v.patient_name=t.patient_name,v.phone=t.phone||"",v.order_type="",v.amount=0,v.remark="",v.has_appointment=!!t.has_appointment,v.appointment_time_text=t.appointment_time_text||"",(e=ue.value)==null||e.clearValidate(),ee.value=!0},ea=()=>{var t;v.patient_id="",v.patient_name="",v.phone="",v.order_type="",v.amount=0,v.remark="",v.has_appointment=!1,v.appointment_time_text="",(t=ue.value)==null||t.clearValidate()},ta=async()=>{var t;try{await((t=ue.value)==null?void 0:t.validate()),Ie.value=!0;const e=await Fa({patient_id:v.patient_id,order_type:v.order_type,amount:v.amount,remark:v.remark});ee.value=!1,b();const r=e==null?void 0:e.order_no;if(r){L.value=!0,N.value=!0,T.value="",pe.value="收款二维码",F.value={patient_name:v.patient_name,has_appointment:v.has_appointment,appointment_time_text:v.appointment_time_text};try{const u=await Pa({order_no:r});u!=null&&u.qrcode_url?T.value=u.qrcode_url:f.msgError("二维码生成失败")}catch(u){f.msgError((u==null?void 0:u.msg)||"生成二维码失败")}finally{N.value=!1}}}catch(e){console.error("创建订单失败:",e)}finally{Ie.value=!1}},te=c(!1),Ae=c(!1),Je=c(),I=Ne({id:0,patient_name:"",id_card:""}),aa={id_card:[{required:!0,validator:(t,e,r)=>{if(!e){r(new Error("请输入身份证号"));return}const u=/^[1-9]\d{5}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dXx]$/.test(e),k=/^[1-9]\d{5}\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}$/.test(e);u||k?r():r(new Error("请输入15或18位有效身份证号"))},trigger:"blur"}]},na=t=>{I.id=t.id,I.patient_name=t.patient_name||"-",I.id_card=t.id_card||"",te.value=!0},sa=async()=>{var t;await((t=Je.value)==null?void 0:t.validate()),Ae.value=!0;try{await wa({id:I.id,id_card:I.id_card}),f.msgSuccess("补全成功,年龄已自动更新"),te.value=!1,b()}catch(e){f.msgError((e==null?void 0:e.msg)||"补全失败")}finally{Ae.value=!1}},L=c(!1),N=c(!1),T=c(""),F=c(null),pe=c("小程序二维码"),ze=c("confirm"),la=M(()=>{const t=F.value;return t?t.has_appointment?t.appointment_time_text||"—":"未挂号":"—"}),Ke=async t=>{var e;if(!K(t)){f.msgWarning("仅「已预约」状态可生成视频二维码");return}if(!t.patient_id){f.msgWarning("患者信息不完整");return}ze.value="video",F.value=t,L.value=!0,N.value=!0,T.value="",pe.value="视频二维码";try{const r=await it();if(!(r!=null&&r.app_id)){f.msgError("小程序未配置"),L.value=!1;return}const u=await nt({doctor_id:t.appointment_doctor_id,diagnosis_id:t.appointment_doctor_id,patient_id:t.patient_id,share_user_id:((e=ie.userInfo)==null?void 0:e.id)||"",mini_program_path:"pages/login/login"});u!=null&&u.qrcode_url?T.value=u.qrcode_url:f.msgError("二维码生成失败")}catch(r){f.msgError((r==null?void 0:r.msg)||"生成二维码失败")}finally{N.value=!1}},Xe=async t=>{var e;if(!K(t)){f.msgWarning("仅「已预约」状态可使用诊单二维码");return}if(!t.patient_id){f.msgWarning("患者信息不完整");return}ze.value="confirm",F.value=t,L.value=!0,N.value=!0,T.value="",pe.value="诊单二维码";try{const r=await it();if(!(r!=null&&r.app_id)){f.msgError("小程序未配置"),L.value=!1;return}const u=await nt({diagnosis_id:t.id,doctor_id:t.appointment_doctor_id,patient_id:t.patient_id,share_user_id:((e=ie.userInfo)==null?void 0:e.id)||""});u!=null&&u.qrcode_url?T.value=u.qrcode_url:f.msgError("二维码生成失败")}catch(r){f.msgError((r==null?void 0:r.msg)||"生成二维码失败")}finally{N.value=!1}},ia=()=>{F.value&&(ze.value==="video"?Ke(F.value):Xe(F.value))},oa=async t=>{if(!Me(t)){const e=Number(t.appointment_status);t.has_appointment&&e===3?f.msgWarning("已完成就诊,无法取消挂号"):f.msgWarning("该诊单未挂号或挂号信息异常");return}try{await f.confirm(`确定要取消患者「${t.patient_name}」的挂号吗?`),await Wa({id:t.appointment_id}),f.msgSuccess("取消挂号成功"),b(),D()}catch(e){e!=="cancel"&&f.msgError((e==null?void 0:e.msg)||"取消挂号失败")}},Se=c(!1),A=c(null),W=c([]),ce=c(0),me=c(!1),Q=c(null),H=c(""),Pe=c(!1),we=c(1),Ze=async t=>{A.value=t,Se.value=!0,W.value=[],ce.value=0,Q.value=null,H.value="",we.value=1,me.value=!0;try{const[e,r]=await Promise.all([st({diagnosis_id:t.id,patient_id:t.patient_id,page_no:1,page_size:20}),qa({patient_id:t.patient_id||t.id}).catch(()=>null)]);W.value=(e==null?void 0:e.lists)||[],ce.value=(e==null?void 0:e.count)||0,Q.value=r}catch(e){console.error(e)}finally{me.value=!1}},da=async()=>{if(A.value){we.value++;try{const t=await st({diagnosis_id:A.value.id,patient_id:A.value.patient_id,page_no:we.value,page_size:20});W.value.push(...(t==null?void 0:t.lists)||[])}catch(t){console.error(t)}}},ra=async()=>{var t;if(!H.value.trim()){f.msgWarning("请输入内容");return}Pe.value=!0;try{await La({diagnosis_id:A.value.id,patient_id:A.value.patient_id,content:H.value.trim(),msg_type:"note",staff_name:((t=ie.userInfo)==null?void 0:t.name)||"",external_name:A.value.patient_name||""}),H.value="",Ze(A.value)}catch(e){f.msgError((e==null?void 0:e.msg)||"添加失败")}finally{Pe.value=!1}},ua=async t=>{await f.confirm("确定删除该记录吗?");try{await Na({id:t}),W.value=W.value.filter(e=>e.id!==t),ce.value--}catch(e){f.msgError((e==null?void 0:e.msg)||"删除失败")}},pa=15e3;let _e=null;const ca=()=>{typeof document<"u"&&document.hidden||(b({silent:!0}).catch(()=>{}),D())};return en(async()=>{document.body.classList.add("h5-mode"),d.appointment_date=G.value,It(),b(),typeof requestIdleCallback=="function"?requestIdleCallback(()=>D(),{timeout:2500}):setTimeout(D,200),_e=setInterval(ca,pa)}),tn(()=>{document.body.classList.remove("h5-mode"),_e&&(clearInterval(_e),_e=null)}),(t,e)=>{var at;const r=va,u=ga,k=fa,C=ha,P=ya,ae=ba,U=Ca,O=xa,qe=Va,ma=Da,et=$a,ne=Ea,_a=Ra,tt=ka;return l(),o("div",an,[s("header",nn,[s("div",sn,[n(r,{modelValue:d.keyword,"onUpdate:modelValue":e[0]||(e[0]=a=>d.keyword=a),placeholder:"患者姓名 / 手机号",clearable:"","prefix-icon":m(Qa),onKeyup:Ia(Y,["enter"]),onClear:Y},null,8,["modelValue","prefix-icon"]),n(u,{class:"dh5-search-btn",type:"primary",onClick:Y},{default:i(()=>[...e[31]||(e[31]=[g("查询",-1)])]),_:1})]),s("div",ln,[(l(!0),o(x,null,z(kt.value,a=>(l(),o("span",{key:a.value||"all",class:S(["dh5-chip",{active:d.pending_assign!=="1"&&d.pending_booking!=="1"&&d.completed_appointment!=="1"&&d.appointment_date===a.value}]),onClick:y=>xt(a.value)},[g(p(a.label)+" ",1),ye.value[a.value]!==void 0?(l(),o("em",dn,p(ye.value[a.value]),1)):_("",!0)],10,on))),128)),s("span",{class:S(["dh5-chip","dh5-chip--booking",{active:d.pending_booking==="1"}]),onClick:Dt},[e[32]||(e[32]=g(" 待预约 ",-1)),ke.value!==void 0?(l(),o("em",rn,p(ke.value),1)):_("",!0)],2),s("span",{class:S(["dh5-chip","dh5-chip--done",{active:d.completed_appointment==="1"}]),onClick:$t},[e[33]||(e[33]=g(" 已完成 ",-1)),be.value!==void 0?(l(),o("em",un,p(be.value),1)):_("",!0)],2),m(V)(["tcm.diagnosis/assign"])?(l(),o("span",{key:0,class:S(["dh5-chip","dh5-chip--pending",{active:d.pending_assign==="1"}]),onClick:Et},[e[34]||(e[34]=g(" 待分配医助 ",-1)),Ce.value!==void 0?(l(),o("em",pn,p(Ce.value),1)):_("",!0)],2)):_("",!0)]),s("div",cn,[s("div",mn,[e[35]||(e[35]=s("span",{class:"dh5-quick-label"},"挂号",-1)),(l(),o(x,null,z(ht,a=>s("span",{key:"a"+a.value,class:S(["dh5-pill",{active:d.has_appointment===a.value}]),onClick:y=>Ct(a.value)},p(a.label),11,_n)),64))]),s("div",vn,[e[36]||(e[36]=s("span",{class:"dh5-quick-label"},"确认",-1)),(l(),o(x,null,z(yt,a=>s("span",{key:"c"+a.value,class:S(["dh5-pill",{active:d.diagnosis_confirmed===a.value}]),onClick:y=>Vt(a.value)},p(a.label),11,gn)),64))]),n(u,{link:"",type:"primary",size:"small",class:"dh5-more-toggle",onClick:e[1]||(e[1]=a=>j.value=!j.value)},{default:i(()=>[g(p(j.value?"收起":"更多")+" ",1),n(k,{class:S({"rotate-180":j.value})},{default:i(()=>[n(m(ot))]),_:1},8,["class"])]),_:1})]),Le(s("div",fn,[n(P,{modelValue:d.diagnosis_type,"onUpdate:modelValue":e[2]||(e[2]=a=>d.diagnosis_type=a),placeholder:"诊断类型",clearable:"",size:"small",onChange:Y},{default:i(()=>[(l(!0),o(x,null,z(xe.value,a=>(l(),$(C,{key:a.value,label:a.name,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),n(P,{modelValue:d.syndrome_type,"onUpdate:modelValue":e[3]||(e[3]=a=>d.syndrome_type=a),placeholder:"证型",clearable:"",size:"small",onChange:Y},{default:i(()=>[(l(!0),o(x,null,z(De.value,a=>(l(),$(C,{key:a.value,label:a.name,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),n(P,{modelValue:d.assistant_id,"onUpdate:modelValue":e[4]||(e[4]=a=>d.assistant_id=a),placeholder:"医助",clearable:"",filterable:"",size:"small",onChange:Y},{default:i(()=>[(l(!0),o(x,null,z(J.value,a=>(l(),$(C,{key:a.id,label:a.name,value:Number(a.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),n(u,{size:"small",onClick:bt},{default:i(()=>[...e[37]||(e[37]=[g("重置",-1)])]),_:1})],512),[[Aa,j.value]])]),Le((l(),o("main",hn,[m(h).lists.length===0&&!m(h).loading?(l(),o("div",yn,[n(ae,{description:"暂无诊单","image-size":120})])):_("",!0),(l(!0),o(x,null,z(m(h).lists,a=>(l(),o("article",{key:a.id,class:S(["dh5-card",zt(a)])},[s("header",{class:"dh5-card-head",onClick:y=>Ge(a.id)},[s("div",bn,p((a.patient_name||"患").charAt(0)),1),s("div",Cn,[s("div",Vn,[g(p(a.patient_name||"-")+" ",1),a.gender_desc?(l(),o("span",xn,p(a.gender_desc),1)):_("",!0),a.age!=null?(l(),o("span",Dn,p(a.age)+"岁",1)):_("",!0)]),s("div",$n,[g(" #"+p(a.id)+" · "+p(a.diagnosis_date_text||gt(a.create_time))+" ",1),a.assign_read_at===null&&a.assistant_id>0?(l(),o("span",En,"NEW")):_("",!0)])]),s("div",Rn,[Ue(a)?(l(),o("span",In,"已确认")):(l(),o("span",An,"未确认")),a.has_prescription?(l(),o("span",zn,"已开方")):_("",!0)])],8,kn),s("section",{class:"dh5-card-body",onClick:y=>Ge(a.id)},[s("div",{class:S(["dh5-row","dh5-row--apt",qt(a)])},[e[38]||(e[38]=s("span",{class:"dh5-row-key"},"挂号",-1)),s("div",Pn,[a.has_appointment?(l(),o(x,{key:0},[Oe(a).length?(l(!0),o(x,{key:0},z(Oe(a),y=>(l(),o("div",{key:y.id||`${y.doctor_id}-${y.time_text}`,class:S(["dh5-apt-item",wt(y)])},[s("span",wn,p(Pt(y.status)),1),s("span",qn,p(y.doctor_name||"-"),1),s("span",Ln,p(y.time_text||"-"),1)],2))),128)):(l(),o(x,{key:1},[s("span",Nn,p(St(a)),1),s("span",Tn,p(a.appointment_doctor_name||"-"),1),s("span",Fn,p(a.appointment_time_text||"-"),1)],64))],64)):(l(),o("span",Wn,"未挂号"))])],2),a.has_prescription?(l(),o("div",Un,[e[39]||(e[39]=s("span",{class:"dh5-row-key"},"复诊",-1)),s("div",On,[s("span",null,p(a.followup_time_text||"—"),1),s("span",Mn,p(a.followup_doctor_name||"—"),1),a.followup_rx_voided?(l(),o("span",Qn,"处方作废")):_("",!0)])])):_("",!0),s("div",Yn,[e[40]||(e[40]=s("span",{class:"dh5-row-key"},"助理",-1)),s("span",Bn,p(At(a.assistant_id||a.assistant)),1)]),a.diagnosis_type?(l(),o("div",Hn,[e[41]||(e[41]=s("span",{class:"dh5-row-key"},"诊断",-1)),s("span",Gn,[g(p(We(xe.value,a.diagnosis_type))+" ",1),a.syndrome_type?(l(),o("span",jn,"·")):_("",!0),a.syndrome_type?(l(),o("span",Jn,p(We(De.value,a.syndrome_type)),1)):_("",!0)])])):_("",!0)],8,Sn),Ut(a)?(l(),o("div",Kn,[$e(a)&&Nt(a)?(l(),o(x,{key:0},[n(u,{type:"primary",size:"small",icon:m(Za),onClick:y=>Ot(a)},{default:i(()=>[...e[42]||(e[42]=[g(" 进入旁观 ",-1)])]),_:1},8,["icon","onClick"]),s("span",Xn,p(Tt(a)),1)],64)):(l(),o("span",Zn,p($e(a)?Ft(a):Wt(a)),1))])):_("",!0),s("footer",es,[m(V)(["tcm.diagnosis/edit"])?(l(),$(u,{key:0,type:"primary",size:"small",plain:"",onClick:y=>Qt(a.id)},{default:i(()=>[...e[43]||(e[43]=[g(" 诊单 ",-1)])]),_:1},8,["onClick"])):_("",!0),m(V)(["tcm.diagnosis/kaifang"])?(l(),$(u,{key:1,type:je(a)==="查看"?"success":"primary",size:"small",onClick:y=>Yt(a)},{default:i(()=>[g(p(je(a)),1)]),_:2},1032,["type","onClick"])):_("",!0),m(V)(["tcm.diagnosis/guahao"])?(l(),$(u,{key:2,type:"success",size:"small",plain:"",onClick:y=>Ht(a)},{default:i(()=>[...e[44]||(e[44]=[g(" 预约 ",-1)])]),_:1},8,["onClick"])):_("",!0),n(u,{size:"small",class:"dh5-more-btn",onClick:y=>jt(a)},{default:i(()=>[e[45]||(e[45]=g(" 更多",-1)),n(k,{class:"el-icon--right"},{default:i(()=>[n(m(ot))]),_:1})]),_:1},8,["onClick"])])],2))),128)),Ve.value?(l(),o("div",{key:1,class:"dh5-load-more",onClick:Rt},p(m(h).loading?"加载中…":"加载更多"),1)):_("",!0),!Ve.value&&m(h).lists.length>0?(l(),o("div",ts,"— 没有更多了 —")):_("",!0)])),[[tt,m(h).loading]]),m(V)(["tcm.diagnosis/add"])?(l(),o("button",{key:0,class:"dh5-fab",type:"button","aria-label":"新增诊单",onClick:Mt},[n(k,{size:22},{default:i(()=>[n(m(Ya))]),_:1})])):_("",!0),n(m(pt),{ref_key:"editRef",ref:oe,onSuccess:Fe},null,512),n(m(ct),{ref_key:"detailRef",ref:Ye},null,512),n(m(mt),{ref_key:"prescriptionRef",ref:Be,onSuccess:Bt},null,512),n(m(_t),{ref_key:"appointmentRef",ref:He,onSuccess:Fe},null,512),n(m(vt),{modelValue:Ee.value,"onUpdate:modelValue":e[5]||(e[5]=a=>Ee.value=a),"diagnosis-id":Qe.value,onClosed:m(b)},null,8,["modelValue","diagnosis-id","onClosed"]),n(U,{modelValue:de.value,"onUpdate:modelValue":e[14]||(e[14]=a=>de.value=a),title:w.value?`${w.value.patient_name||"诊单"} · 更多操作`:"更多操作",direction:"btt",size:"auto","with-header":!0,"destroy-on-close":!0},{default:i(()=>[w.value?(l(),o("div",as,[m(V)(["tcm.diagnosis/assign"])?(l(),o("button",{key:0,class:"dh5-action",onClick:e[6]||(e[6]=a=>q("assign"))},[n(k,null,{default:i(()=>[n(m(Ba))]),_:1}),e[46]||(e[46]=s("span",null,"指派医助",-1))])):_("",!0),K(w.value)&&m(V)(["tcm.diagnosis/videoQr"])?(l(),o("button",{key:1,class:"dh5-action",onClick:e[7]||(e[7]=a=>q("videoQr"))},[n(k,null,{default:i(()=>[n(m(dt))]),_:1}),e[47]||(e[47]=s("span",null,"视频二维码",-1))])):_("",!0),K(w.value)&&m(V)(["tcm.diagnosis/guahao"])?(l(),o("button",{key:2,class:"dh5-action",onClick:e[8]||(e[8]=a=>q("confirmQr"))},[n(k,null,{default:i(()=>[n(m(dt))]),_:1}),e[48]||(e[48]=s("span",null,"诊单二维码",-1))])):_("",!0),Me(w.value)&&m(V)(["tcm.diagnosis/guahao"])?(l(),o("button",{key:3,class:"dh5-action",onClick:e[9]||(e[9]=a=>q("cancelApt"))},[n(k,null,{default:i(()=>[n(m(Ha))]),_:1}),e[49]||(e[49]=s("span",null,"取消挂号",-1))])):_("",!0),m(V)(["tcm.diagnosis/edit"])?(l(),o("button",{key:4,class:"dh5-action",onClick:e[10]||(e[10]=a=>q("fillIdCard"))},[n(k,null,{default:i(()=>[n(m(Ga))]),_:1}),e[50]||(e[50]=s("span",null,"补全身份证",-1))])):_("",!0),m(V)(["tcm.diagnosis/order"])?(l(),o("button",{key:5,class:"dh5-action",onClick:e[11]||(e[11]=a=>q("order"))},[n(k,null,{default:i(()=>[n(m(ja))]),_:1}),e[51]||(e[51]=s("span",null,"创建订单",-1))])):_("",!0),s("button",{class:"dh5-action",onClick:e[12]||(e[12]=a=>q("wechat"))},[n(k,null,{default:i(()=>[n(m(Ja))]),_:1}),e[52]||(e[52]=s("span",null,"企微记录",-1))]),m(V)(["tcm.diagnosis/delete"])?(l(),o("button",{key:6,class:"dh5-action dh5-action--danger",onClick:e[13]||(e[13]=a=>q("delete"))},[n(k,null,{default:i(()=>[n(m(Ka))]),_:1}),e[53]||(e[53]=s("span",null,"删除诊单",-1))])):_("",!0)])):_("",!0)]),_:1},8,["modelValue","title"]),n(U,{modelValue:Z.value,"onUpdate:modelValue":e[17]||(e[17]=a=>Z.value=a),title:"指派医助",direction:"btt",size:"46%"},{footer:i(()=>[n(u,{class:"dh5-flex1",onClick:e[16]||(e[16]=a=>Z.value=!1)},{default:i(()=>[...e[54]||(e[54]=[g("取消",-1)])]),_:1}),n(u,{class:"dh5-flex1",type:"primary",loading:Re.value,onClick:Kt},{default:i(()=>[...e[55]||(e[55]=[g(" 确定指派 ",-1)])]),_:1},8,["loading"])]),default:i(()=>[n(qe,{model:B.value,"label-position":"top",class:"dh5-form"},{default:i(()=>[n(O,{label:"选择医助",required:""},{default:i(()=>[n(P,{modelValue:B.value.assistant_id,"onUpdate:modelValue":e[15]||(e[15]=a=>B.value.assistant_id=a),placeholder:"请选择医助",class:"!w-full",filterable:"",clearable:""},{default:i(()=>[(l(!0),o(x,null,z(J.value,a=>(l(),$(C,{key:a.id,label:a.name,value:Number(a.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),n(O,{label:"诊单信息"},{default:i(()=>{var a,y;return[s("div",ns,[s("div",null,"患者:"+p((a=re.value)==null?void 0:a.patient_name),1),s("div",null,"诊断日期:"+p(((y=re.value)==null?void 0:y.diagnosis_date_text)||"—"),1)])]}),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),n(U,{modelValue:ee.value,"onUpdate:modelValue":e[22]||(e[22]=a=>ee.value=a),title:"创建订单",direction:"btt",size:"64%",onClose:ea},{footer:i(()=>[n(u,{class:"dh5-flex1",onClick:e[21]||(e[21]=a=>ee.value=!1)},{default:i(()=>[...e[56]||(e[56]=[g("取消",-1)])]),_:1}),n(u,{class:"dh5-flex1",type:"primary",loading:Ie.value,onClick:ta},{default:i(()=>[...e[57]||(e[57]=[g(" 创建订单 ",-1)])]),_:1},8,["loading"])]),default:i(()=>[n(qe,{ref_key:"orderFormRef",ref:ue,model:v,rules:Xt,"label-position":"top",class:"dh5-form"},{default:i(()=>[n(O,{label:"患者"},{default:i(()=>[s("span",null,p(v.patient_name)+" ("+p(Te(v.phone))+")",1)]),_:1}),n(O,{label:"订单类型",prop:"order_type"},{default:i(()=>[n(P,{modelValue:v.order_type,"onUpdate:modelValue":e[18]||(e[18]=a=>v.order_type=a),placeholder:"请选择",class:"!w-full"},{default:i(()=>[n(C,{label:"挂号费",value:1}),n(C,{label:"问诊费",value:2}),n(C,{label:"药品费用",value:3}),n(C,{label:"首付费用",value:4}),n(C,{label:"尾款费用",value:5}),n(C,{label:"其他费用",value:6}),n(C,{label:"全部费用",value:7}),n(C,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1}),n(O,{label:"订单金额",prop:"amount"},{default:i(()=>[n(ma,{modelValue:v.amount,"onUpdate:modelValue":e[19]||(e[19]=a=>v.amount=a),min:0,step:.01,precision:2,placeholder:"请输入金额",class:"!w-full"},null,8,["modelValue"])]),_:1}),n(O,{label:"备注",prop:"remark"},{default:i(()=>[n(r,{modelValue:v.remark,"onUpdate:modelValue":e[20]||(e[20]=a=>v.remark=a),type:"textarea",rows:3,placeholder:"请输入备注(可选)"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),n(et,{modelValue:te.value,"onUpdate:modelValue":e[25]||(e[25]=a=>te.value=a),title:"补全身份证号","close-on-click-modal":!1,onClose:e[26]||(e[26]=a=>I.id_card="")},{footer:i(()=>[n(u,{onClick:e[24]||(e[24]=a=>te.value=!1)},{default:i(()=>[...e[58]||(e[58]=[g("取消",-1)])]),_:1}),n(u,{type:"primary",loading:Ae.value,onClick:sa},{default:i(()=>[...e[59]||(e[59]=[g(" 提交 ",-1)])]),_:1},8,["loading"])]),default:i(()=>[n(qe,{ref_key:"fillIdCardFormRef",ref:Je,model:I,rules:aa,"label-position":"top",class:"dh5-form"},{default:i(()=>[n(O,{label:"患者"},{default:i(()=>[s("span",ss,p(I.patient_name),1)]),_:1}),n(O,{label:"身份证号",prop:"id_card"},{default:i(()=>[n(r,{modelValue:I.id_card,"onUpdate:modelValue":e[23]||(e[23]=a=>I.id_card=a),placeholder:"请输入15或18位身份证号",maxlength:"18","show-word-limit":"",clearable:""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),n(et,{modelValue:L.value,"onUpdate:modelValue":e[28]||(e[28]=a=>L.value=a),title:pe.value,"close-on-click-modal":!1},{footer:i(()=>[n(u,{onClick:e[27]||(e[27]=a=>L.value=!1)},{default:i(()=>[...e[62]||(e[62]=[g("关闭",-1)])]),_:1}),N.value?_("",!0):(l(),$(u,{key:0,type:"primary",onClick:ia},{default:i(()=>[...e[63]||(e[63]=[g("重新生成",-1)])]),_:1}))]),default:i(()=>{var a;return[s("div",ls,[N.value?(l(),o("div",is,[n(k,{class:"is-loading",size:36},{default:i(()=>[n(m(Xa))]),_:1}),e[60]||(e[60]=s("div",{class:"dh5-qr-tip"},"生成中...",-1))])):T.value?(l(),o("div",os,[s("img",{src:T.value,alt:"小程序二维码",class:"dh5-qr-img"},null,8,ds),s("div",rs,[s("div",null,"患者:"+p((a=F.value)==null?void 0:a.patient_name),1),s("div",null,"挂号时间:"+p(la.value),1),e[61]||(e[61]=s("div",{class:"dh5-qr-hint"},"请使用企业微信扫描二维码,然后转发给患者",-1))])])):(l(),o("div",us,"生成失败,请重试"))])]}),_:1},8,["modelValue","title"]),n(U,{modelValue:Se.value,"onUpdate:modelValue":e[30]||(e[30]=a=>Se.value=a),title:`企微记录 - ${((at=A.value)==null?void 0:at.patient_name)||""}`,direction:"rtl",size:"100%","destroy-on-close":!0},{default:i(()=>[Q.value?(l(),o("div",ps,[s("div",cs,[e[64]||(e[64]=s("span",{class:"dh5-wx-key"},"手机号",-1)),s("span",ms,p(Te(Q.value.phone)||"-"),1)]),s("div",_s,[e[66]||(e[66]=s("span",{class:"dh5-wx-key"},"企微 ID",-1)),s("span",vs,[Q.value.external_userid?(l(),o("span",gs,p(Q.value.external_userid),1)):(l(),$(ne,{key:1,type:"info",size:"small"},{default:i(()=>[...e[65]||(e[65]=[g("未关联",-1)])]),_:1}))])]),s("div",fs,[e[69]||(e[69]=s("span",{class:"dh5-wx-key"},"会话存档",-1)),s("span",hs,[Q.value.msgaudit_enabled?(l(),$(ne,{key:0,type:"success",size:"small"},{default:i(()=>[...e[67]||(e[67]=[g("已开通",-1)])]),_:1})):(l(),$(ne,{key:1,type:"info",size:"small"},{default:i(()=>[...e[68]||(e[68]=[g("未配置",-1)])]),_:1}))])])])):_("",!0),s("div",ys,[n(r,{modelValue:H.value,"onUpdate:modelValue":e[29]||(e[29]=a=>H.value=a),type:"textarea",rows:2,placeholder:"添加沟通记录..."},null,8,["modelValue"]),n(u,{type:"primary",loading:Pe.value,size:"small",onClick:ra},{default:i(()=>[...e[70]||(e[70]=[g(" 添加 ",-1)])]),_:1},8,["loading"])]),Le((l(),o("div",ks,[W.value.length===0&&!me.value?(l(),o("div",bs," 暂无聊天记录 ")):(l(),o("div",Cs,[(l(!0),o(x,null,z(W.value,a=>{var y;return l(),o("div",{key:a.id,class:"dh5-wx-item"},[s("div",Vs,[s("div",xs,[n(ne,{type:a.direction===0?"primary":"success",size:"small"},{default:i(()=>[g(p(a.direction===0?"员工":"客户"),1)]),_:2},1032,["type"]),s("span",Ds,p(a.direction===0?a.staff_name:a.external_name||((y=A.value)==null?void 0:y.patient_name)),1),a.msg_type==="note"?(l(),$(ne,{key:0,type:"warning",size:"small"},{default:i(()=>[...e[71]||(e[71]=[g("备注",-1)])]),_:1})):_("",!0)]),s("div",$s,[s("span",Es,p(ft(a.chat_time)),1),n(u,{type:"danger",link:"",size:"small",onClick:ws=>ua(a.id)},{default:i(()=>[...e[72]||(e[72]=[g(" 删除 ",-1)])]),_:1},8,["onClick"])])]),s("div",Rs,p(a.content),1),a.media_url?(l(),o("div",Is,[n(_a,{src:a.media_url,style:{"max-width":"200px"},fit:"contain","preview-src-list":[a.media_url]},null,8,["src","preview-src-list"])])):_("",!0)])}),128))])),ce.value>W.value.length?(l(),o("div",{key:2,class:"dh5-load-more",onClick:da}," 加载更多 ")):_("",!0)])),[[tt,me.value]])]),_:1},8,["modelValue","title"])])}}}),xl=Oa(zs,[["__scopeId","data-v-b9d725b4"]]);export{xl as default}; +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/edit-BG1q_jZS.js","assets/element-plus-DFTWCWyi.js","assets/@vue/runtime-dom-DDAG46FW.js","assets/lodash-D3kF6u-c.js","assets/@vue/runtime-core-C6bnekPw.js","assets/@vue/reactivity-DiY1c2vO.js","assets/@vue/shared-mAAVTE9n.js","assets/@element-plus/icons-vue-HOEUG8sr.js","assets/lodash-es-C2A-Pj28.js","assets/@popperjs/core-C5az9QE8.js","assets/dayjs-DG77mNTn.js","assets/@ctrl/tinycolor-BuyEbX8F.js","assets/async-validator-CFA_igpM.js","assets/normalize-wheel-es-BQoi3Ox2.js","assets/element-plus-C_YxM8bk.css","assets/tcm-BcqaE0lo.js","assets/index-DBREMm_z.js","assets/jspdf-BsthCvR5.js","assets/@babel/runtime-BanGtE2-.js","assets/fflate-_ayOYiT1.js","assets/vue-router-QlpZ4wdW.js","assets/pinia-B8cvXbiZ.js","assets/axios-C80V62Fs.js","assets/@vueuse/core-1S4fJlii.js","assets/@vueuse/shared-Cl3lVqjz.js","assets/css-color-function-DI01JAaZ.js","assets/balanced-match-BdS7OldZ.js","assets/color-B2zxaWkI.js","assets/clone-DBZ6_OiU.js","assets/color-convert-OrFsTA_V.js","assets/color-name-Dju3oUBS.js","assets/color-string-pUQDDJII.js","assets/ms-CzQ2E3wO.js","assets/vue-clipboard3-DByT_rEQ.js","assets/clipboard-CHgxszqY.js","assets/echarts-CNLwa9wG.js","assets/tslib-BDyQ-Jie.js","assets/zrender-DRNXw7y3.js","assets/highlight.js-Bxt7hFFy.js","assets/highlight-BfC0goYb.css","assets/@highlightjs/vue-plugin-C4onkBvW.js","assets/index-3wNXRrXZ.css","assets/perm-Bo9eM8XD.js","assets/DailyMatrix-CZKqLaUg.js","assets/picker-BCRrEZaA.js","assets/index-BwF7vczx.js","assets/index-B3imPWFk.css","assets/index-BiPYXDtP.js","assets/index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js","assets/index-CbfZXeGu.js","assets/index-D0f1Mn00.css","assets/index-CRoZWY-W.js","assets/cos-js-sdk-v5-DSMN0LUT.js","assets/file-BimpIRb_.js","assets/index.vue_vue_type_script_setup_true_lang-x0oL2ShL.js","assets/usePaging-VsbTxSU0.js","assets/index-BYOmK9R5.css","assets/vuedraggable-5bKFmC7X.js","assets/vue-BVs68q8v.js","assets/@vue/compiler-dom-CqayqxS7.js","assets/@vue/compiler-core-CvbQOXIO.js","assets/sortablejs-dsEAUXlE.js","assets/picker-XZbUgFct.css","assets/vue-echarts-BNtg2q_G.js","assets/resize-detector-G6vbKCU7.js","assets/DiagnosisTodoList-CgT2M9eR.js","assets/DiagnosisTodoList-D0SBmTHG.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix-zLBaKfXe.css","assets/CaseRecordList-X66GZZcg.js","assets/CaseRecordList-Cl-c3q7S.css","assets/CallRecordPanel-D709DmJk.js","assets/RecordingPlaybackBlock-COxLgEiR.js","assets/RecordingVideoPlayer-DJ_BP9x7.js","assets/RecordingVideoPlayer-4DegHAwm.css","assets/RecordingPlaybackBlock-B3KYFgvg.css","assets/CallRecordPanel-TsjZtTO8.css","assets/ImChatRecordPanel-C40Ue1e_.js","assets/im-business-message-parse-QKjFLn3X.js","assets/ImChatRecordPanel-aX8zpWRQ.css","assets/AssignLogPanel-B1RENXkE.js","assets/AssignLogPanel-BdKOtd2m.css","assets/AppointmentRecordPanel-DH84Bquy.js","assets/doctor-ul0r578d.js","assets/AppointmentRecordPanel-DC22GDgn.css","assets/NoteTimeline-BzPD6QHw.js","assets/patient-DdWkVUZB.js","assets/NoteTimeline-CCWIpEBQ.css","assets/PatientOrderList-Vzhj0FzC.js","assets/PatientOrderList-iKx_Cn9B.css","assets/index-B91OSiYQ.js","assets/index-DcDP_Tmx.js","assets/medicine-CCdxjQY6.js","assets/index-tfEElgYq.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/html2canvas-QH1iLAAe.js","assets/index-DGbIWVjL.css","assets/edit-z2mn_utb.css","assets/TrackingNoteTimeline-B9T8pFso.css","assets/detail-47n6zBhj.js","assets/appointment-CgztbjDp.js","assets/appointment-DHf6UVnR.css","assets/AssistantWatchCallDialog-BRyYQCK0.js","assets/trtc-sdk-v5-D4DbeRqz.js","assets/AssistantWatchCallDialog-BIPZRgaH.css"])))=>i.map(i=>d[i]); +import{_ as se}from"./jspdf-BsthCvR5.js";import{C as va,i as ga,d as fa,Q as ha,P as ya,L as ka,R as ba,e as Ca,D as Va,B as xa,h as Da,V as $a,T as Ea,v as Ra}from"./element-plus-DFTWCWyi.js";import{w as Ia,q as Aa}from"./@vue/runtime-dom-DDAG46FW.js";import{ag as E,a as za,ah as Sa,H as Pa,aj as wa,V as nt,ak as st,ao as qa,al as La,am as Na,an as Ta}from"./tcm-BcqaE0lo.js";import{i as Fa}from"./order-DLqQxjqO.js";import{l as Wa}from"./doctor-ul0r578d.js";import{u as Oa,m as lt,i as f,_ as Ua}from"./index-DBREMm_z.js";import{g as it}from"./weapp-Bi3HP3df.js";import{u as Ma}from"./usePaging-VsbTxSU0.js";import{h as V}from"./perm-Bo9eM8XD.js";import{N as Qa,e as ot,A as Ya,X as Ba,O as dt,b as Ha,ac as ja,G as Ga,J as Ja,H as Ka,l as Xa,P as Za}from"./@element-plus/icons-vue-HOEUG8sr.js";import{d as rt}from"./dayjs-DG77mNTn.js";import{f as ut,b as en,d as tn,ak as l,I as o,J as s,a as n,aN as i,O as g,F as x,ap as z,H as _,aP as Le,G as $,P as le,A as M}from"./@vue/runtime-core-C6bnekPw.js";import{y as m,r as Ne,n as c}from"./@vue/reactivity-DiY1c2vO.js";import{o as S,Q as p}from"./@vue/shared-mAAVTE9n.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./lodash-D3kF6u-c.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const an={class:"dh5"},nn={class:"dh5-topbar"},sn={class:"dh5-search"},ln={class:"dh5-chips dh5-chips--scroll"},on=["onClick"],dn={key:0},rn={key:0},un={key:0},pn={key:0},cn={class:"dh5-quick"},mn={class:"dh5-quick-group"},_n=["onClick"],vn={class:"dh5-quick-group"},gn=["onClick"],fn={class:"dh5-more-filter"},hn={class:"dh5-list"},yn={key:0,class:"dh5-empty"},kn=["onClick"],bn={class:"dh5-card-avatar"},Cn={class:"dh5-card-id-name"},Vn={class:"dh5-card-name"},xn={key:0,class:"dh5-meta-gender"},Dn={key:1,class:"dh5-meta-age"},$n={class:"dh5-card-sub"},En={key:0,class:"dh5-tag-new"},Rn={class:"dh5-card-tags"},In={key:0,class:"dh5-tag dh5-tag--ok"},An={key:1,class:"dh5-tag dh5-tag--warn"},zn={key:2,class:"dh5-tag dh5-tag--info"},Sn=["onClick"],Pn={class:"dh5-row-val"},wn={class:"dh5-apt-status"},qn={class:"dh5-apt-doctor"},Ln={class:"dh5-apt-time"},Nn={class:"dh5-apt-status"},Tn={class:"dh5-apt-doctor"},Fn={class:"dh5-apt-time"},Wn={key:1,class:"dh5-apt-none"},On={key:0,class:"dh5-row dh5-row--followup"},Un={class:"dh5-row-val"},Mn={class:"dh5-meta-doctor"},Qn={key:0,class:"dh5-tag dh5-tag--gray"},Yn={class:"dh5-row"},Bn={class:"dh5-row-val"},Hn={key:1,class:"dh5-row"},jn={class:"dh5-row-val"},Gn={key:0,class:"dh5-meta-mute"},Jn={key:1},Kn={key:0,class:"dh5-card-watch"},Xn={class:"dh5-watch-tip"},Zn={key:1,class:"dh5-watch-mute"},es={class:"dh5-card-foot"},ts={key:2,class:"dh5-no-more"},as={key:0,class:"dh5-actions"},ns={class:"dh5-form-tip"},ss={class:"font-medium"},ls={class:"dh5-qr"},is={key:0,class:"dh5-qr-loading"},os={key:1},ds=["src"],rs={class:"dh5-qr-meta"},us={key:2,class:"dh5-qr-fail"},ps={key:0,class:"dh5-wx-contact"},cs={class:"dh5-wx-contact-row"},ms={class:"dh5-wx-val"},_s={class:"dh5-wx-contact-row"},vs={class:"dh5-wx-val"},gs={key:0},fs={class:"dh5-wx-contact-row"},hs={class:"dh5-wx-val"},ys={class:"dh5-wx-add"},ks={class:"dh5-wx-list-wrap"},bs={key:0,class:"dh5-wx-empty"},Cs={key:1,class:"dh5-wx-list"},Vs={class:"dh5-wx-head"},xs={class:"dh5-wx-head-left"},Ds={class:"dh5-wx-name"},$s={class:"dh5-wx-head-right"},Es={class:"dh5-wx-time"},Rs={class:"dh5-wx-content"},Is={key:0,class:"dh5-wx-media"},As=ut({name:"tcmDiagnosisH5"}),zs=ut({...As,setup(Ss){const pt=le(()=>se(()=>import("./edit-BG1q_jZS.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98]))),ct=le(()=>se(()=>import("./detail-47n6zBhj.js"),__vite__mapDeps([99,45,1,2,3,4,5,6,7,8,9,10,11,12,13,14,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,46,15]))),mt=le(()=>se(()=>import("./index-B91OSiYQ.js"),__vite__mapDeps([90,1,2,3,4,5,6,7,8,9,10,11,12,13,14,91,92,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,93,94,15,95,96]))),_t=le(()=>se(()=>import("./appointment-CgztbjDp.js"),__vite__mapDeps([100,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,83,101]))),vt=le(()=>se(()=>import("./AssistantWatchCallDialog-BRyYQCK0.js"),__vite__mapDeps([102,1,2,3,4,5,6,7,8,9,10,11,12,13,14,103,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,104]))),ie=Oa(),gt=t=>{if(!t)return"-";const e=String(t).length===10?Number(t)*1e3:Number(t);return rt(e).format("YYYY-MM-DD HH:mm")},ft=t=>{if(!t)return"-";const e=String(t).length===10?t*1e3:t;return rt(e).format("YYYY-MM-DD HH:mm")},Te=t=>!t||t.length<11?t:t.replace(/(\d{3})\d{4}(\d{4})/,"$1****$2"),R=t=>String(t).padStart(2,"0"),ve=M(()=>{const t=new Date;return t.setDate(t.getDate()-1),`${t.getFullYear()}-${R(t.getMonth()+1)}-${R(t.getDate())}`}),ge=M(()=>{const t=new Date;return t.setDate(t.getDate()-2),`${t.getFullYear()}-${R(t.getMonth()+1)}-${R(t.getDate())}`}),j=M(()=>{const t=new Date;return`${t.getFullYear()}-${R(t.getMonth()+1)}-${R(t.getDate())}`}),fe=M(()=>{const t=new Date;return t.setDate(t.getDate()+1),`${t.getFullYear()}-${R(t.getMonth()+1)}-${R(t.getDate())}`}),he=M(()=>{const t=new Date;return t.setDate(t.getDate()+2),`${t.getFullYear()}-${R(t.getMonth()+1)}-${R(t.getDate())}`}),d=Ne({keyword:"",diagnosis_type:"",syndrome_type:"",assistant_id:"",diagnosis_confirmed:"",appointment_date:"",has_appointment:"",pending_assign:"",pending_booking:"",completed_appointment:""}),G=c(!1),ht=[{label:"全部",value:""},{label:"已挂号",value:"1"},{label:"未挂号",value:"0"}],yt=[{label:"全部",value:""},{label:"已确认",value:"1"},{label:"未确认",value:"0"}],kt=M(()=>[{label:"昨天挂号",value:ve.value},{label:"前天挂号",value:ge.value},{label:"当天挂号",value:j.value},{label:"明天挂号",value:fe.value},{label:"后天挂号",value:he.value},{label:"全部",value:""}]),ye=c({}),ke=c(void 0),be=c(void 0),Ce=c(void 0),{pager:h,getLists:b}=Ma({fetchFun:E,params:d}),Ve=M(()=>h.lists.length<(h.count||0)),Fe=()=>b({silent:!0}),Y=()=>{h.page=1,b(),D()},bt=()=>{d.keyword="",d.diagnosis_type="",d.syndrome_type="",d.assistant_id="",d.diagnosis_confirmed="",d.appointment_date=j.value,d.has_appointment="",d.pending_assign="",d.pending_booking="",d.completed_appointment="",h.page=1,b(),D()},Ct=t=>{d.has_appointment=t,d.pending_booking="",d.completed_appointment="",h.page=1,b(),D()},Vt=t=>{d.diagnosis_confirmed=t,d.pending_booking="",d.completed_appointment="",h.page=1,b(),D()},xt=async t=>{d.pending_assign="",d.pending_booking="",d.completed_appointment="",d.has_appointment="",d.appointment_date=t,h.page=1,await b(),D()},Dt=async()=>{d.pending_assign="",d.pending_booking="1",d.completed_appointment="",d.appointment_date="",d.has_appointment="0",h.page=1,await b(),D()},$t=async()=>{d.pending_assign="",d.pending_booking="",d.completed_appointment="1",d.has_appointment="",d.appointment_date="",h.page=1,await b(),D()},Et=async()=>{d.pending_assign="1",d.pending_booking="",d.completed_appointment="",d.has_appointment="",d.appointment_date="",h.page=1,await b(),D()},D=async()=>{try{const[t,e,r,u,k,C,P,ae,O]=await Promise.all([E({appointment_date:ve.value,page_no:1,page_size:1}),E({appointment_date:ge.value,page_no:1,page_size:1}),E({appointment_date:j.value,page_no:1,page_size:1}),E({appointment_date:fe.value,page_no:1,page_size:1}),E({appointment_date:he.value,page_no:1,page_size:1}),E({page_no:1,page_size:1}),E({has_appointment:0,page_no:1,page_size:1}),E({completed_appointment:1,page_no:1,page_size:1}),E({pending_assign:1,page_no:1,page_size:1})]);ye.value={[ve.value]:(t==null?void 0:t.count)??0,[ge.value]:(e==null?void 0:e.count)??0,[j.value]:(r==null?void 0:r.count)??0,[fe.value]:(u==null?void 0:u.count)??0,[he.value]:(k==null?void 0:k.count)??0,"":(C==null?void 0:C.count)??0},ke.value=(P==null?void 0:P.count)??0,be.value=(ae==null?void 0:ae.count)??0,Ce.value=(O==null?void 0:O.count)??0}catch(t){console.error("获取日期数量失败",t)}},Rt=async()=>{if(h.loading||!Ve.value)return;const t=(h.page||1)+1;h.loading=!0;try{const e=await E({page_no:t,page_size:h.size,...d});h.page=t,h.lists.push(...(e==null?void 0:e.lists)||[]),h.count=(e==null?void 0:e.count)??h.count}catch(e){console.error("加载更多失败:",e)}finally{h.loading=!1}},xe=c([]),De=c([]),J=c([]),It=async()=>{try{const[t,e,r]=await Promise.all([lt({type:"diagnosis_type"}),lt({type:"syndrome_type"}),za()]);xe.value=(t==null?void 0:t.diagnosis_type)||[],De.value=(e==null?void 0:e.syndrome_type)||[],J.value=r||[]}catch(t){console.error("获取字典数据失败:",t)}},We=(t,e)=>{const r=t.find(u=>u.value===e);return r?r.name:e||"-"},At=t=>{if(!t&&t!==0)return"-";const e=typeof t=="string"?parseInt(t):t;if(J.value.length===0)return"...";const r=J.value.find(u=>(typeof u.id=="string"?parseInt(u.id):u.id)===e);return r?r.name:"-"},Oe=t=>{const e=t.DiagnosisViewRecord||[];return e.length>0&&e.some(r=>r.is_confirmed==1)},zt=t=>Oe(t)?t.has_appointment?"":"dh5-card--noapt":"dh5-card--unconfirmed",St=t=>{const e=Number(t.appointment_status);return e===3?"已完成":e===4?"已过号":"已挂号"},Pt=t=>{const e=Number(t);return e===3?"已完成":e===4?"已过号":"已挂号"},Ue=t=>{const e=Array.isArray(t.appointments)?t.appointments:[];return e.length>0?e:t.has_appointment?[{id:t.appointment_id,status:t.appointment_status,doctor_id:t.appointment_doctor_id,doctor_name:t.appointment_doctor_name,time_text:t.appointment_time_text}]:[]},wt=t=>{const e=Number(t==null?void 0:t.status);return{"dh5-apt-item--done":e===3,"dh5-apt-item--missed":e===4,"dh5-apt-item--active":e===1}},qt=t=>{const e=Number(t.appointment_status);return{"has-apt":t.has_appointment,"apt-row-done":t.has_appointment&&e===3,"apt-row-missed":t.has_appointment&&e===4}},K=t=>t.has_appointment&&Number(t.appointment_status)===1,Me=t=>{const e=Number(t.appointment_status);return!!(t.has_appointment&&t.appointment_id&&(e===1||e===4))},Lt=t=>{var r;const e=t.assistant_id??t.assistant;return e==null||e===""?!1:Number(e)===Number((r=ie.userInfo)==null?void 0:r.id)},$e=t=>Lt(t)&&V(["tcm.diagnosis/watchCall"]),X=t=>{var e;return((e=t.video_call_hint)==null?void 0:e.state)||"none"},Nt=t=>{const e=X(t);return e==="live"||e==="pending_room"},Tt=t=>X(t)==="pending_room"?"医生未接通或未同步房间":"点击进入实时房间",Ft=t=>{const e=t.video_call_hint;return e!=null&&e.label?e.label:"暂无可旁观通话"},Wt=t=>{const e=X(t);if(e==="none")return"";if(e==="live")return"通话中";if(e==="pending_room")return"接通中";const r=t.video_call_hint;return(r==null?void 0:r.label)||""},Ot=t=>{if($e(t))return!0;const e=X(t);return e==="live"||e==="pending_room"},Ee=c(!1),Qe=c(0),Ut=t=>{if(X(t)!=="live"){f.msgWarning("医生未接通或未同步房间号,请稍后再试");return}Qe.value=Number(t.id)||0,Ee.value=!0},oe=c(),Ye=c(),Be=c(),He=c(),Mt=()=>{var t;return(t=oe.value)==null?void 0:t.open("add")},Qt=t=>{var e;return(e=oe.value)==null?void 0:e.open("edit",t)},je=t=>{var e;return(e=Ye.value)==null?void 0:e.open(t)},Ge=t=>(t==null?void 0:t.prescription_audit_status)===1&&Number(t==null?void 0:t.prescription_void_status)!==1?"查看":"开方",Yt=t=>{var e;if(!(t!=null&&t.id)){f.msgWarning("诊单信息不完整");return}(e=Be.value)==null||e.open({...t,diagnosis_id:t.id,id:t.appointment_id||0})},Bt=()=>{var t,e;b(),(e=(t=oe.value)==null?void 0:t.refreshCaseList)==null||e.call(t)},Ht=t=>{var e;if(!t.patient_id){f.msgWarning("患者信息不完整");return}(e=He.value)==null||e.open(t)},jt=async t=>{await f.confirm("确定要删除该诊单吗?"),await Ta({id:t}),b()},de=c(!1),w=c(null),Gt=t=>{w.value=t,de.value=!0},q=t=>{const e=w.value;if(de.value=!1,!!e)switch(t){case"assign":Jt(e);break;case"videoQr":if(!K(e)){f.msgWarning("仅「已预约」状态可生成视频二维码");return}Ke(e);break;case"confirmQr":Xe(e);break;case"cancelApt":oa(e);break;case"fillIdCard":na(e);break;case"order":Zt(e);break;case"wechat":Ze(e);break;case"delete":jt(e.id);break}},Z=c(!1),Re=c(!1),re=c(null),B=c({assistant_id:null}),Jt=t=>{re.value=t,B.value.assistant_id=t.assistant_id?Number(t.assistant_id):null,Z.value=!0},Kt=async()=>{if(!B.value.assistant_id){f.msgWarning("请选择医助");return}Re.value=!0;try{await Sa({id:re.value.id,assistant_id:B.value.assistant_id}),Z.value=!1,b()}catch(t){console.error("指派失败:",t)}finally{Re.value=!1}},ee=c(!1),ue=c(),Ie=c(!1),v=Ne({patient_id:"",patient_name:"",phone:"",order_type:"",amount:0,remark:"",has_appointment:!1,appointment_time_text:""}),Xt={order_type:[{required:!0,message:"请选择订单类型",trigger:"change"}],amount:[{required:!0,message:"请输入订单金额",trigger:"blur"}]},Zt=t=>{var e;v.patient_id=t.patient_id||t.id,v.patient_name=t.patient_name,v.phone=t.phone||"",v.order_type="",v.amount=0,v.remark="",v.has_appointment=!!t.has_appointment,v.appointment_time_text=t.appointment_time_text||"",(e=ue.value)==null||e.clearValidate(),ee.value=!0},ea=()=>{var t;v.patient_id="",v.patient_name="",v.phone="",v.order_type="",v.amount=0,v.remark="",v.has_appointment=!1,v.appointment_time_text="",(t=ue.value)==null||t.clearValidate()},ta=async()=>{var t;try{await((t=ue.value)==null?void 0:t.validate()),Ie.value=!0;const e=await Fa({patient_id:v.patient_id,order_type:v.order_type,amount:v.amount,remark:v.remark});ee.value=!1,b();const r=e==null?void 0:e.order_no;if(r){L.value=!0,N.value=!0,T.value="",pe.value="收款二维码",F.value={patient_name:v.patient_name,has_appointment:v.has_appointment,appointment_time_text:v.appointment_time_text};try{const u=await Pa({order_no:r});u!=null&&u.qrcode_url?T.value=u.qrcode_url:f.msgError("二维码生成失败")}catch(u){f.msgError((u==null?void 0:u.msg)||"生成二维码失败")}finally{N.value=!1}}}catch(e){console.error("创建订单失败:",e)}finally{Ie.value=!1}},te=c(!1),Ae=c(!1),Je=c(),I=Ne({id:0,patient_name:"",id_card:""}),aa={id_card:[{required:!0,validator:(t,e,r)=>{if(!e){r(new Error("请输入身份证号"));return}const u=/^[1-9]\d{5}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dXx]$/.test(e),k=/^[1-9]\d{5}\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}$/.test(e);u||k?r():r(new Error("请输入15或18位有效身份证号"))},trigger:"blur"}]},na=t=>{I.id=t.id,I.patient_name=t.patient_name||"-",I.id_card=t.id_card||"",te.value=!0},sa=async()=>{var t;await((t=Je.value)==null?void 0:t.validate()),Ae.value=!0;try{await wa({id:I.id,id_card:I.id_card}),f.msgSuccess("补全成功,年龄已自动更新"),te.value=!1,b()}catch(e){f.msgError((e==null?void 0:e.msg)||"补全失败")}finally{Ae.value=!1}},L=c(!1),N=c(!1),T=c(""),F=c(null),pe=c("小程序二维码"),ze=c("confirm"),la=M(()=>{const t=F.value;return t?t.has_appointment?t.appointment_time_text||"—":"未挂号":"—"}),Ke=async t=>{var e;if(!K(t)){f.msgWarning("仅「已预约」状态可生成视频二维码");return}if(!t.patient_id){f.msgWarning("患者信息不完整");return}ze.value="video",F.value=t,L.value=!0,N.value=!0,T.value="",pe.value="视频二维码";try{const r=await it();if(!(r!=null&&r.app_id)){f.msgError("小程序未配置"),L.value=!1;return}const u=await nt({doctor_id:t.appointment_doctor_id,diagnosis_id:t.appointment_doctor_id,patient_id:t.patient_id,share_user_id:((e=ie.userInfo)==null?void 0:e.id)||"",mini_program_path:"pages/login/login"});u!=null&&u.qrcode_url?T.value=u.qrcode_url:f.msgError("二维码生成失败")}catch(r){f.msgError((r==null?void 0:r.msg)||"生成二维码失败")}finally{N.value=!1}},Xe=async t=>{var e;if(!K(t)){f.msgWarning("仅「已预约」状态可使用诊单二维码");return}if(!t.patient_id){f.msgWarning("患者信息不完整");return}ze.value="confirm",F.value=t,L.value=!0,N.value=!0,T.value="",pe.value="诊单二维码";try{const r=await it();if(!(r!=null&&r.app_id)){f.msgError("小程序未配置"),L.value=!1;return}const u=await nt({diagnosis_id:t.id,doctor_id:t.appointment_doctor_id,patient_id:t.patient_id,share_user_id:((e=ie.userInfo)==null?void 0:e.id)||""});u!=null&&u.qrcode_url?T.value=u.qrcode_url:f.msgError("二维码生成失败")}catch(r){f.msgError((r==null?void 0:r.msg)||"生成二维码失败")}finally{N.value=!1}},ia=()=>{F.value&&(ze.value==="video"?Ke(F.value):Xe(F.value))},oa=async t=>{if(!Me(t)){const e=Number(t.appointment_status);t.has_appointment&&e===3?f.msgWarning("已完成就诊,无法取消挂号"):f.msgWarning("该诊单未挂号或挂号信息异常");return}try{await f.confirm(`确定要取消患者「${t.patient_name}」的挂号吗?`),await Wa({id:t.appointment_id}),f.msgSuccess("取消挂号成功"),b(),D()}catch(e){e!=="cancel"&&f.msgError((e==null?void 0:e.msg)||"取消挂号失败")}},Se=c(!1),A=c(null),W=c([]),ce=c(0),me=c(!1),Q=c(null),H=c(""),Pe=c(!1),we=c(1),Ze=async t=>{A.value=t,Se.value=!0,W.value=[],ce.value=0,Q.value=null,H.value="",we.value=1,me.value=!0;try{const[e,r]=await Promise.all([st({diagnosis_id:t.id,patient_id:t.patient_id,page_no:1,page_size:20}),qa({patient_id:t.patient_id||t.id}).catch(()=>null)]);W.value=(e==null?void 0:e.lists)||[],ce.value=(e==null?void 0:e.count)||0,Q.value=r}catch(e){console.error(e)}finally{me.value=!1}},da=async()=>{if(A.value){we.value++;try{const t=await st({diagnosis_id:A.value.id,patient_id:A.value.patient_id,page_no:we.value,page_size:20});W.value.push(...(t==null?void 0:t.lists)||[])}catch(t){console.error(t)}}},ra=async()=>{var t;if(!H.value.trim()){f.msgWarning("请输入内容");return}Pe.value=!0;try{await La({diagnosis_id:A.value.id,patient_id:A.value.patient_id,content:H.value.trim(),msg_type:"note",staff_name:((t=ie.userInfo)==null?void 0:t.name)||"",external_name:A.value.patient_name||""}),H.value="",Ze(A.value)}catch(e){f.msgError((e==null?void 0:e.msg)||"添加失败")}finally{Pe.value=!1}},ua=async t=>{await f.confirm("确定删除该记录吗?");try{await Na({id:t}),W.value=W.value.filter(e=>e.id!==t),ce.value--}catch(e){f.msgError((e==null?void 0:e.msg)||"删除失败")}},pa=15e3;let _e=null;const ca=()=>{typeof document<"u"&&document.hidden||(b({silent:!0}).catch(()=>{}),D())};return en(async()=>{document.body.classList.add("h5-mode"),d.appointment_date=j.value,It(),b(),typeof requestIdleCallback=="function"?requestIdleCallback(()=>D(),{timeout:2500}):setTimeout(D,200),_e=setInterval(ca,pa)}),tn(()=>{document.body.classList.remove("h5-mode"),_e&&(clearInterval(_e),_e=null)}),(t,e)=>{var at;const r=va,u=ga,k=fa,C=ha,P=ya,ae=ba,O=Ca,U=xa,qe=Va,ma=Da,et=$a,ne=Ea,_a=Ra,tt=ka;return l(),o("div",an,[s("header",nn,[s("div",sn,[n(r,{modelValue:d.keyword,"onUpdate:modelValue":e[0]||(e[0]=a=>d.keyword=a),placeholder:"患者姓名 / 手机号",clearable:"","prefix-icon":m(Qa),onKeyup:Ia(Y,["enter"]),onClear:Y},null,8,["modelValue","prefix-icon"]),n(u,{class:"dh5-search-btn",type:"primary",onClick:Y},{default:i(()=>[...e[31]||(e[31]=[g("查询",-1)])]),_:1})]),s("div",ln,[(l(!0),o(x,null,z(kt.value,a=>(l(),o("span",{key:a.value||"all",class:S(["dh5-chip",{active:d.pending_assign!=="1"&&d.pending_booking!=="1"&&d.completed_appointment!=="1"&&d.appointment_date===a.value}]),onClick:y=>xt(a.value)},[g(p(a.label)+" ",1),ye.value[a.value]!==void 0?(l(),o("em",dn,p(ye.value[a.value]),1)):_("",!0)],10,on))),128)),s("span",{class:S(["dh5-chip","dh5-chip--booking",{active:d.pending_booking==="1"}]),onClick:Dt},[e[32]||(e[32]=g(" 待预约 ",-1)),ke.value!==void 0?(l(),o("em",rn,p(ke.value),1)):_("",!0)],2),s("span",{class:S(["dh5-chip","dh5-chip--done",{active:d.completed_appointment==="1"}]),onClick:$t},[e[33]||(e[33]=g(" 已完成 ",-1)),be.value!==void 0?(l(),o("em",un,p(be.value),1)):_("",!0)],2),m(V)(["tcm.diagnosis/assign"])?(l(),o("span",{key:0,class:S(["dh5-chip","dh5-chip--pending",{active:d.pending_assign==="1"}]),onClick:Et},[e[34]||(e[34]=g(" 待分配医助 ",-1)),Ce.value!==void 0?(l(),o("em",pn,p(Ce.value),1)):_("",!0)],2)):_("",!0)]),s("div",cn,[s("div",mn,[e[35]||(e[35]=s("span",{class:"dh5-quick-label"},"挂号",-1)),(l(),o(x,null,z(ht,a=>s("span",{key:"a"+a.value,class:S(["dh5-pill",{active:d.has_appointment===a.value}]),onClick:y=>Ct(a.value)},p(a.label),11,_n)),64))]),s("div",vn,[e[36]||(e[36]=s("span",{class:"dh5-quick-label"},"确认",-1)),(l(),o(x,null,z(yt,a=>s("span",{key:"c"+a.value,class:S(["dh5-pill",{active:d.diagnosis_confirmed===a.value}]),onClick:y=>Vt(a.value)},p(a.label),11,gn)),64))]),n(u,{link:"",type:"primary",size:"small",class:"dh5-more-toggle",onClick:e[1]||(e[1]=a=>G.value=!G.value)},{default:i(()=>[g(p(G.value?"收起":"更多")+" ",1),n(k,{class:S({"rotate-180":G.value})},{default:i(()=>[n(m(ot))]),_:1},8,["class"])]),_:1})]),Le(s("div",fn,[n(P,{modelValue:d.diagnosis_type,"onUpdate:modelValue":e[2]||(e[2]=a=>d.diagnosis_type=a),placeholder:"诊断类型",clearable:"",size:"small",onChange:Y},{default:i(()=>[(l(!0),o(x,null,z(xe.value,a=>(l(),$(C,{key:a.value,label:a.name,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),n(P,{modelValue:d.syndrome_type,"onUpdate:modelValue":e[3]||(e[3]=a=>d.syndrome_type=a),placeholder:"证型",clearable:"",size:"small",onChange:Y},{default:i(()=>[(l(!0),o(x,null,z(De.value,a=>(l(),$(C,{key:a.value,label:a.name,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),n(P,{modelValue:d.assistant_id,"onUpdate:modelValue":e[4]||(e[4]=a=>d.assistant_id=a),placeholder:"医助",clearable:"",filterable:"",size:"small",onChange:Y},{default:i(()=>[(l(!0),o(x,null,z(J.value,a=>(l(),$(C,{key:a.id,label:a.name,value:Number(a.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),n(u,{size:"small",onClick:bt},{default:i(()=>[...e[37]||(e[37]=[g("重置",-1)])]),_:1})],512),[[Aa,G.value]])]),Le((l(),o("main",hn,[m(h).lists.length===0&&!m(h).loading?(l(),o("div",yn,[n(ae,{description:"暂无诊单","image-size":120})])):_("",!0),(l(!0),o(x,null,z(m(h).lists,a=>(l(),o("article",{key:a.id,class:S(["dh5-card",zt(a)])},[s("header",{class:"dh5-card-head",onClick:y=>je(a.id)},[s("div",bn,p((a.patient_name||"患").charAt(0)),1),s("div",Cn,[s("div",Vn,[g(p(a.patient_name||"-")+" ",1),a.gender_desc?(l(),o("span",xn,p(a.gender_desc),1)):_("",!0),a.age!=null?(l(),o("span",Dn,p(a.age)+"岁",1)):_("",!0)]),s("div",$n,[g(" #"+p(a.id)+" · "+p(a.diagnosis_date_text||gt(a.create_time))+" ",1),a.assign_read_at===null&&a.assistant_id>0?(l(),o("span",En,"NEW")):_("",!0)])]),s("div",Rn,[Oe(a)?(l(),o("span",In,"已确认")):(l(),o("span",An,"未确认")),a.has_prescription?(l(),o("span",zn,"已开方")):_("",!0)])],8,kn),s("section",{class:"dh5-card-body",onClick:y=>je(a.id)},[s("div",{class:S(["dh5-row","dh5-row--apt",qt(a)])},[e[38]||(e[38]=s("span",{class:"dh5-row-key"},"挂号",-1)),s("div",Pn,[a.has_appointment?(l(),o(x,{key:0},[Ue(a).length?(l(!0),o(x,{key:0},z(Ue(a),y=>(l(),o("div",{key:y.id||`${y.doctor_id}-${y.time_text}`,class:S(["dh5-apt-item",wt(y)])},[s("span",wn,p(Pt(y.status)),1),s("span",qn,p(y.doctor_name||"-"),1),s("span",Ln,p(y.time_text||"-"),1)],2))),128)):(l(),o(x,{key:1},[s("span",Nn,p(St(a)),1),s("span",Tn,p(a.appointment_doctor_name||"-"),1),s("span",Fn,p(a.appointment_time_text||"-"),1)],64))],64)):(l(),o("span",Wn,"未挂号"))])],2),a.has_prescription?(l(),o("div",On,[e[39]||(e[39]=s("span",{class:"dh5-row-key"},"复诊",-1)),s("div",Un,[s("span",null,p(a.followup_time_text||"—"),1),s("span",Mn,p(a.followup_doctor_name||"—"),1),a.followup_rx_voided?(l(),o("span",Qn,"处方作废")):_("",!0)])])):_("",!0),s("div",Yn,[e[40]||(e[40]=s("span",{class:"dh5-row-key"},"助理",-1)),s("span",Bn,p(At(a.assistant_id||a.assistant)),1)]),a.diagnosis_type?(l(),o("div",Hn,[e[41]||(e[41]=s("span",{class:"dh5-row-key"},"诊断",-1)),s("span",jn,[g(p(We(xe.value,a.diagnosis_type))+" ",1),a.syndrome_type?(l(),o("span",Gn,"·")):_("",!0),a.syndrome_type?(l(),o("span",Jn,p(We(De.value,a.syndrome_type)),1)):_("",!0)])])):_("",!0)],8,Sn),Ot(a)?(l(),o("div",Kn,[$e(a)&&Nt(a)?(l(),o(x,{key:0},[n(u,{type:"primary",size:"small",icon:m(Za),onClick:y=>Ut(a)},{default:i(()=>[...e[42]||(e[42]=[g(" 进入旁观 ",-1)])]),_:1},8,["icon","onClick"]),s("span",Xn,p(Tt(a)),1)],64)):(l(),o("span",Zn,p($e(a)?Ft(a):Wt(a)),1))])):_("",!0),s("footer",es,[m(V)(["tcm.diagnosis/edit"])?(l(),$(u,{key:0,type:"primary",size:"small",plain:"",onClick:y=>Qt(a.id)},{default:i(()=>[...e[43]||(e[43]=[g(" 诊单 ",-1)])]),_:1},8,["onClick"])):_("",!0),m(V)(["tcm.diagnosis/kaifang"])?(l(),$(u,{key:1,type:Ge(a)==="查看"?"success":"primary",size:"small",onClick:y=>Yt(a)},{default:i(()=>[g(p(Ge(a)),1)]),_:2},1032,["type","onClick"])):_("",!0),m(V)(["tcm.diagnosis/guahao"])?(l(),$(u,{key:2,type:"success",size:"small",plain:"",onClick:y=>Ht(a)},{default:i(()=>[...e[44]||(e[44]=[g(" 预约 ",-1)])]),_:1},8,["onClick"])):_("",!0),n(u,{size:"small",class:"dh5-more-btn",onClick:y=>Gt(a)},{default:i(()=>[e[45]||(e[45]=g(" 更多",-1)),n(k,{class:"el-icon--right"},{default:i(()=>[n(m(ot))]),_:1})]),_:1},8,["onClick"])])],2))),128)),Ve.value?(l(),o("div",{key:1,class:"dh5-load-more",onClick:Rt},p(m(h).loading?"加载中…":"加载更多"),1)):_("",!0),!Ve.value&&m(h).lists.length>0?(l(),o("div",ts,"— 没有更多了 —")):_("",!0)])),[[tt,m(h).loading]]),m(V)(["tcm.diagnosis/add"])?(l(),o("button",{key:0,class:"dh5-fab",type:"button","aria-label":"新增诊单",onClick:Mt},[n(k,{size:22},{default:i(()=>[n(m(Ya))]),_:1})])):_("",!0),n(m(pt),{ref_key:"editRef",ref:oe,onSuccess:Fe},null,512),n(m(ct),{ref_key:"detailRef",ref:Ye},null,512),n(m(mt),{ref_key:"prescriptionRef",ref:Be,onSuccess:Bt},null,512),n(m(_t),{ref_key:"appointmentRef",ref:He,onSuccess:Fe},null,512),n(m(vt),{modelValue:Ee.value,"onUpdate:modelValue":e[5]||(e[5]=a=>Ee.value=a),"diagnosis-id":Qe.value,onClosed:m(b)},null,8,["modelValue","diagnosis-id","onClosed"]),n(O,{modelValue:de.value,"onUpdate:modelValue":e[14]||(e[14]=a=>de.value=a),title:w.value?`${w.value.patient_name||"诊单"} · 更多操作`:"更多操作",direction:"btt",size:"auto","with-header":!0,"destroy-on-close":!0},{default:i(()=>[w.value?(l(),o("div",as,[m(V)(["tcm.diagnosis/assign"])?(l(),o("button",{key:0,class:"dh5-action",onClick:e[6]||(e[6]=a=>q("assign"))},[n(k,null,{default:i(()=>[n(m(Ba))]),_:1}),e[46]||(e[46]=s("span",null,"指派医助",-1))])):_("",!0),K(w.value)&&m(V)(["tcm.diagnosis/videoQr"])?(l(),o("button",{key:1,class:"dh5-action",onClick:e[7]||(e[7]=a=>q("videoQr"))},[n(k,null,{default:i(()=>[n(m(dt))]),_:1}),e[47]||(e[47]=s("span",null,"视频二维码",-1))])):_("",!0),K(w.value)&&m(V)(["tcm.diagnosis/guahao"])?(l(),o("button",{key:2,class:"dh5-action",onClick:e[8]||(e[8]=a=>q("confirmQr"))},[n(k,null,{default:i(()=>[n(m(dt))]),_:1}),e[48]||(e[48]=s("span",null,"诊单二维码",-1))])):_("",!0),Me(w.value)&&m(V)(["tcm.diagnosis/guahao"])?(l(),o("button",{key:3,class:"dh5-action",onClick:e[9]||(e[9]=a=>q("cancelApt"))},[n(k,null,{default:i(()=>[n(m(Ha))]),_:1}),e[49]||(e[49]=s("span",null,"取消挂号",-1))])):_("",!0),m(V)(["tcm.diagnosis/edit"])?(l(),o("button",{key:4,class:"dh5-action",onClick:e[10]||(e[10]=a=>q("fillIdCard"))},[n(k,null,{default:i(()=>[n(m(ja))]),_:1}),e[50]||(e[50]=s("span",null,"补全身份证",-1))])):_("",!0),m(V)(["tcm.diagnosis/order"])?(l(),o("button",{key:5,class:"dh5-action",onClick:e[11]||(e[11]=a=>q("order"))},[n(k,null,{default:i(()=>[n(m(Ga))]),_:1}),e[51]||(e[51]=s("span",null,"创建订单",-1))])):_("",!0),s("button",{class:"dh5-action",onClick:e[12]||(e[12]=a=>q("wechat"))},[n(k,null,{default:i(()=>[n(m(Ja))]),_:1}),e[52]||(e[52]=s("span",null,"企微记录",-1))]),m(V)(["tcm.diagnosis/delete"])?(l(),o("button",{key:6,class:"dh5-action dh5-action--danger",onClick:e[13]||(e[13]=a=>q("delete"))},[n(k,null,{default:i(()=>[n(m(Ka))]),_:1}),e[53]||(e[53]=s("span",null,"删除诊单",-1))])):_("",!0)])):_("",!0)]),_:1},8,["modelValue","title"]),n(O,{modelValue:Z.value,"onUpdate:modelValue":e[17]||(e[17]=a=>Z.value=a),title:"指派医助",direction:"btt",size:"46%"},{footer:i(()=>[n(u,{class:"dh5-flex1",onClick:e[16]||(e[16]=a=>Z.value=!1)},{default:i(()=>[...e[54]||(e[54]=[g("取消",-1)])]),_:1}),n(u,{class:"dh5-flex1",type:"primary",loading:Re.value,onClick:Kt},{default:i(()=>[...e[55]||(e[55]=[g(" 确定指派 ",-1)])]),_:1},8,["loading"])]),default:i(()=>[n(qe,{model:B.value,"label-position":"top",class:"dh5-form"},{default:i(()=>[n(U,{label:"选择医助",required:""},{default:i(()=>[n(P,{modelValue:B.value.assistant_id,"onUpdate:modelValue":e[15]||(e[15]=a=>B.value.assistant_id=a),placeholder:"请选择医助",class:"!w-full",filterable:"",clearable:""},{default:i(()=>[(l(!0),o(x,null,z(J.value,a=>(l(),$(C,{key:a.id,label:a.name,value:Number(a.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),n(U,{label:"诊单信息"},{default:i(()=>{var a,y;return[s("div",ns,[s("div",null,"患者:"+p((a=re.value)==null?void 0:a.patient_name),1),s("div",null,"诊断日期:"+p(((y=re.value)==null?void 0:y.diagnosis_date_text)||"—"),1)])]}),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),n(O,{modelValue:ee.value,"onUpdate:modelValue":e[22]||(e[22]=a=>ee.value=a),title:"创建订单",direction:"btt",size:"64%",onClose:ea},{footer:i(()=>[n(u,{class:"dh5-flex1",onClick:e[21]||(e[21]=a=>ee.value=!1)},{default:i(()=>[...e[56]||(e[56]=[g("取消",-1)])]),_:1}),n(u,{class:"dh5-flex1",type:"primary",loading:Ie.value,onClick:ta},{default:i(()=>[...e[57]||(e[57]=[g(" 创建订单 ",-1)])]),_:1},8,["loading"])]),default:i(()=>[n(qe,{ref_key:"orderFormRef",ref:ue,model:v,rules:Xt,"label-position":"top",class:"dh5-form"},{default:i(()=>[n(U,{label:"患者"},{default:i(()=>[s("span",null,p(v.patient_name)+" ("+p(Te(v.phone))+")",1)]),_:1}),n(U,{label:"订单类型",prop:"order_type"},{default:i(()=>[n(P,{modelValue:v.order_type,"onUpdate:modelValue":e[18]||(e[18]=a=>v.order_type=a),placeholder:"请选择",class:"!w-full"},{default:i(()=>[n(C,{label:"挂号费",value:1}),n(C,{label:"问诊费",value:2}),n(C,{label:"药品费用",value:3}),n(C,{label:"首付费用",value:4}),n(C,{label:"尾款费用",value:5}),n(C,{label:"其他费用",value:6}),n(C,{label:"全部费用",value:7}),n(C,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1}),n(U,{label:"订单金额",prop:"amount"},{default:i(()=>[n(ma,{modelValue:v.amount,"onUpdate:modelValue":e[19]||(e[19]=a=>v.amount=a),min:0,step:.01,precision:2,placeholder:"请输入金额",class:"!w-full"},null,8,["modelValue"])]),_:1}),n(U,{label:"备注",prop:"remark"},{default:i(()=>[n(r,{modelValue:v.remark,"onUpdate:modelValue":e[20]||(e[20]=a=>v.remark=a),type:"textarea",rows:3,placeholder:"请输入备注(可选)"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),n(et,{modelValue:te.value,"onUpdate:modelValue":e[25]||(e[25]=a=>te.value=a),title:"补全身份证号","close-on-click-modal":!1,onClose:e[26]||(e[26]=a=>I.id_card="")},{footer:i(()=>[n(u,{onClick:e[24]||(e[24]=a=>te.value=!1)},{default:i(()=>[...e[58]||(e[58]=[g("取消",-1)])]),_:1}),n(u,{type:"primary",loading:Ae.value,onClick:sa},{default:i(()=>[...e[59]||(e[59]=[g(" 提交 ",-1)])]),_:1},8,["loading"])]),default:i(()=>[n(qe,{ref_key:"fillIdCardFormRef",ref:Je,model:I,rules:aa,"label-position":"top",class:"dh5-form"},{default:i(()=>[n(U,{label:"患者"},{default:i(()=>[s("span",ss,p(I.patient_name),1)]),_:1}),n(U,{label:"身份证号",prop:"id_card"},{default:i(()=>[n(r,{modelValue:I.id_card,"onUpdate:modelValue":e[23]||(e[23]=a=>I.id_card=a),placeholder:"请输入15或18位身份证号",maxlength:"18","show-word-limit":"",clearable:""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),n(et,{modelValue:L.value,"onUpdate:modelValue":e[28]||(e[28]=a=>L.value=a),title:pe.value,"close-on-click-modal":!1},{footer:i(()=>[n(u,{onClick:e[27]||(e[27]=a=>L.value=!1)},{default:i(()=>[...e[62]||(e[62]=[g("关闭",-1)])]),_:1}),N.value?_("",!0):(l(),$(u,{key:0,type:"primary",onClick:ia},{default:i(()=>[...e[63]||(e[63]=[g("重新生成",-1)])]),_:1}))]),default:i(()=>{var a;return[s("div",ls,[N.value?(l(),o("div",is,[n(k,{class:"is-loading",size:36},{default:i(()=>[n(m(Xa))]),_:1}),e[60]||(e[60]=s("div",{class:"dh5-qr-tip"},"生成中...",-1))])):T.value?(l(),o("div",os,[s("img",{src:T.value,alt:"小程序二维码",class:"dh5-qr-img"},null,8,ds),s("div",rs,[s("div",null,"患者:"+p((a=F.value)==null?void 0:a.patient_name),1),s("div",null,"挂号时间:"+p(la.value),1),e[61]||(e[61]=s("div",{class:"dh5-qr-hint"},"请使用企业微信扫描二维码,然后转发给患者",-1))])])):(l(),o("div",us,"生成失败,请重试"))])]}),_:1},8,["modelValue","title"]),n(O,{modelValue:Se.value,"onUpdate:modelValue":e[30]||(e[30]=a=>Se.value=a),title:`企微记录 - ${((at=A.value)==null?void 0:at.patient_name)||""}`,direction:"rtl",size:"100%","destroy-on-close":!0},{default:i(()=>[Q.value?(l(),o("div",ps,[s("div",cs,[e[64]||(e[64]=s("span",{class:"dh5-wx-key"},"手机号",-1)),s("span",ms,p(Te(Q.value.phone)||"-"),1)]),s("div",_s,[e[66]||(e[66]=s("span",{class:"dh5-wx-key"},"企微 ID",-1)),s("span",vs,[Q.value.external_userid?(l(),o("span",gs,p(Q.value.external_userid),1)):(l(),$(ne,{key:1,type:"info",size:"small"},{default:i(()=>[...e[65]||(e[65]=[g("未关联",-1)])]),_:1}))])]),s("div",fs,[e[69]||(e[69]=s("span",{class:"dh5-wx-key"},"会话存档",-1)),s("span",hs,[Q.value.msgaudit_enabled?(l(),$(ne,{key:0,type:"success",size:"small"},{default:i(()=>[...e[67]||(e[67]=[g("已开通",-1)])]),_:1})):(l(),$(ne,{key:1,type:"info",size:"small"},{default:i(()=>[...e[68]||(e[68]=[g("未配置",-1)])]),_:1}))])])])):_("",!0),s("div",ys,[n(r,{modelValue:H.value,"onUpdate:modelValue":e[29]||(e[29]=a=>H.value=a),type:"textarea",rows:2,placeholder:"添加沟通记录..."},null,8,["modelValue"]),n(u,{type:"primary",loading:Pe.value,size:"small",onClick:ra},{default:i(()=>[...e[70]||(e[70]=[g(" 添加 ",-1)])]),_:1},8,["loading"])]),Le((l(),o("div",ks,[W.value.length===0&&!me.value?(l(),o("div",bs," 暂无聊天记录 ")):(l(),o("div",Cs,[(l(!0),o(x,null,z(W.value,a=>{var y;return l(),o("div",{key:a.id,class:"dh5-wx-item"},[s("div",Vs,[s("div",xs,[n(ne,{type:a.direction===0?"primary":"success",size:"small"},{default:i(()=>[g(p(a.direction===0?"员工":"客户"),1)]),_:2},1032,["type"]),s("span",Ds,p(a.direction===0?a.staff_name:a.external_name||((y=A.value)==null?void 0:y.patient_name)),1),a.msg_type==="note"?(l(),$(ne,{key:0,type:"warning",size:"small"},{default:i(()=>[...e[71]||(e[71]=[g("备注",-1)])]),_:1})):_("",!0)]),s("div",$s,[s("span",Es,p(ft(a.chat_time)),1),n(u,{type:"danger",link:"",size:"small",onClick:ws=>ua(a.id)},{default:i(()=>[...e[72]||(e[72]=[g(" 删除 ",-1)])]),_:1},8,["onClick"])])]),s("div",Rs,p(a.content),1),a.media_url?(l(),o("div",Is,[n(_a,{src:a.media_url,style:{"max-width":"200px"},fit:"contain","preview-src-list":[a.media_url]},null,8,["src","preview-src-list"])])):_("",!0)])}),128))])),ce.value>W.value.length?(l(),o("div",{key:2,class:"dh5-load-more",onClick:da}," 加载更多 ")):_("",!0)])),[[tt,me.value]])]),_:1},8,["modelValue","title"])])}}}),xl=Ua(zs,[["__scopeId","data-v-b9d725b4"]]);export{xl as default}; diff --git a/server/public/admin/assets/information-Dc7gSbun.js b/server/public/admin/assets/information-ZLGOOW0y.js similarity index 92% rename from server/public/admin/assets/information-Dc7gSbun.js rename to server/public/admin/assets/information-ZLGOOW0y.js index 193ec128..570f4eb0 100644 --- a/server/public/admin/assets/information-Dc7gSbun.js +++ b/server/public/admin/assets/information-ZLGOOW0y.js @@ -1 +1 @@ -import{_ as C}from"./index-9zND60WT.js";import{J as q,B as k,C as U,D as y,i as O}from"./element-plus-0wC3naml.js";import{_ as P}from"./picker-DlbAZkDm.js";import{a as M,b as B}from"./website-BmYKVBCc.js";import{e as E}from"./index-E47--KT7.js";import{f,as as G,ak as _,I as D,a as o,aN as m,J as i,aP as L,G as I,O as N}from"./@vue/runtime-core-C6bnekPw.js";import{y as t,n as S,r as W}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-nymJKQXP.js";import"./index-B56X8bEB.js";import"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import"./index-BHTgr4Ka.js";import"./index-Ci4dcEQh.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-DoYUJmkp.js";import"./index.vue_vue_type_script_setup_true_lang-Bl0f8aX8.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./usePaging-VsbTxSU0.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const F={class:"website-information"},J={class:"w-80"},R={class:"w-80"},A={class:"w-80"},T={class:"w-80"},z={class:"w-80"},H=f({name:"webInformation"}),Qe=f({...H,setup(K){const u=S(),b=E(),l=W({name:"",web_favicon:"",web_logo:"",login_image:"",h5_favicon:"",shop_name:"",shop_logo:"",pc_logo:"",pc_title:"",pc_desc:"",pc_ico:"",pc_keywords:""}),v={name:[{required:!0,message:"请输入网站名称",trigger:["blur"]}],web_favicon:[{required:!0,message:"请选择网站图标",trigger:["change"]}],web_logo:[{required:!0,message:"请选择网站logo",trigger:["change"]}],login_image:[{required:!0,message:"请选择登录页广告图",trigger:["change"]}],shop_name:[{required:!0,message:"请输入店铺/商城名称",trigger:["blur"]}],shop_logo:[{required:!0,message:"请选择商城LOGO",trigger:["change"]}],pc_logo:[{required:!0,message:"请选择PC端LOGO",trigger:["change"]}],pc_title:[{required:!0,message:"请输入PC端网站标题",trigger:["blur"]}],pc_ico:[{required:!0,message:"请选择PC端网站图标",trigger:["change"]}]},g=async()=>{const a=await M();for(const e in l)l[e]=a[e]},w=async()=>{var a;await((a=u.value)==null?void 0:a.validate()),await B(l),b.getConfig(),g()};return g(),(a,e)=>{const d=U,p=k,s=P,n=q,V=y,c=O,x=C,j=G("perms");return _(),D("div",F,[o(V,{ref_key:"formRef",ref:u,rules:v,class:"ls-form",model:t(l),"label-width":"120px","scroll-to-error":""},{default:m(()=>[o(n,{shadow:"never",class:"!border-none"},{default:m(()=>[e[15]||(e[15]=i("div",{class:"text-xl font-medium mb-[20px]"},"后台设置",-1)),o(p,{label:"网站名称",prop:"name"},{default:m(()=>[i("div",J,[o(d,{modelValue:t(l).name,"onUpdate:modelValue":e[0]||(e[0]=r=>t(l).name=r),modelModifiers:{trim:!0},placeholder:"请输入网站名称",maxlength:"30","show-word-limit":""},null,8,["modelValue"])])]),_:1}),o(p,{label:"网站图标",prop:"web_favicon",required:""},{default:m(()=>[i("div",null,[o(s,{modelValue:t(l).web_favicon,"onUpdate:modelValue":e[1]||(e[1]=r=>t(l).web_favicon=r),limit:1},null,8,["modelValue"]),e[12]||(e[12]=i("div",{class:"form-tips"},"建议尺寸:100*100像素,支持jpg,jpeg,png格式",-1))])]),_:1}),o(p,{label:"网站LOGO",prop:"web_logo",required:""},{default:m(()=>[i("div",null,[o(s,{modelValue:t(l).web_logo,"onUpdate:modelValue":e[2]||(e[2]=r=>t(l).web_logo=r),modelModifiers:{trim:!0},limit:1},null,8,["modelValue"]),e[13]||(e[13]=i("div",{class:"form-tips"},"建议尺寸:100*100像素,支持jpg,jpeg,png格式",-1))])]),_:1}),o(p,{label:"登录页广告图",prop:"login_image",required:""},{default:m(()=>[i("div",null,[o(s,{modelValue:t(l).login_image,"onUpdate:modelValue":e[3]||(e[3]=r=>t(l).login_image=r),modelModifiers:{trim:!0},limit:1},null,8,["modelValue"]),e[14]||(e[14]=i("div",{class:"form-tips"},"建议尺寸:100*100像素,支持jpg,jpeg,png格式",-1))])]),_:1})]),_:1}),o(n,{shadow:"never",class:"!border-none mt-4"},{default:m(()=>[e[18]||(e[18]=i("div",{class:"text-xl font-medium mb-[20px]"},"前台设置",-1)),o(p,{label:"前台名称",prop:"shop_name"},{default:m(()=>[i("div",R,[o(d,{modelValue:t(l).shop_name,"onUpdate:modelValue":e[4]||(e[4]=r=>t(l).shop_name=r),modelModifiers:{trim:!0},placeholder:"请输入前台名称",maxlength:"30","show-word-limit":""},null,8,["modelValue"])])]),_:1}),o(p,{label:"网站图标",prop:"web_favicon",required:""},{default:m(()=>[i("div",null,[o(s,{modelValue:t(l).h5_favicon,"onUpdate:modelValue":e[5]||(e[5]=r=>t(l).h5_favicon=r),limit:1},null,8,["modelValue"]),e[16]||(e[16]=i("div",{class:"form-tips"},"建议尺寸:100*100像素,支持jpg,jpeg,png格式",-1))])]),_:1}),o(p,{label:"前台LOGO",prop:"shop_logo"},{default:m(()=>[i("div",null,[o(s,{modelValue:t(l).shop_logo,"onUpdate:modelValue":e[6]||(e[6]=r=>t(l).shop_logo=r),limit:1},null,8,["modelValue"]),e[17]||(e[17]=i("div",{class:"form-tips"},"建议尺寸:100*100px,支持jpg,jpeg,png格式",-1))])]),_:1})]),_:1}),o(n,{shadow:"never",class:"!border-none mt-4"},{default:m(()=>[e[21]||(e[21]=i("div",{class:"text-xl font-medium mb-[20px]"},"PC端设置",-1)),o(p,{label:"PC端LOGO",prop:"pc_logo"},{default:m(()=>[i("div",null,[o(s,{modelValue:t(l).pc_logo,"onUpdate:modelValue":e[7]||(e[7]=r=>t(l).pc_logo=r),limit:1},null,8,["modelValue"]),e[19]||(e[19]=i("div",{class:"form-tips"},"建议尺寸:120*28px,支持jpg,jpeg,png格式",-1))])]),_:1}),o(p,{label:"网站标题",prop:"pc_title"},{default:m(()=>[i("div",A,[o(d,{modelValue:t(l).pc_title,"onUpdate:modelValue":e[8]||(e[8]=r=>t(l).pc_title=r),modelModifiers:{trim:!0},placeholder:"请输入PC端网站标题",maxlength:"30","show-word-limit":""},null,8,["modelValue"])])]),_:1}),o(p,{label:"网站图标",prop:"pc_ico"},{default:m(()=>[i("div",null,[o(s,{modelValue:t(l).pc_ico,"onUpdate:modelValue":e[9]||(e[9]=r=>t(l).pc_ico=r),limit:1},null,8,["modelValue"]),e[20]||(e[20]=i("div",{class:"form-tips"},"建议尺寸:100*100像素,支持jpg,jpeg,png格式",-1))])]),_:1}),o(p,{label:"网站描述",prop:"pc_desc"},{default:m(()=>[i("div",T,[o(d,{modelValue:t(l).pc_desc,"onUpdate:modelValue":e[10]||(e[10]=r=>t(l).pc_desc=r),modelModifiers:{trim:!0},placeholder:"请输入PC端网站描述"},null,8,["modelValue"])])]),_:1}),o(p,{label:"网站关键词",prop:"pc_keywords"},{default:m(()=>[i("div",z,[o(d,{modelValue:t(l).pc_keywords,"onUpdate:modelValue":e[11]||(e[11]=r=>t(l).pc_keywords=r),modelModifiers:{trim:!0},placeholder:"请输入PC端网站关键词"},null,8,["modelValue"])])]),_:1})]),_:1})]),_:1},8,["model"]),L((_(),I(x,null,{default:m(()=>[o(c,{type:"primary",onClick:w},{default:m(()=>[...e[22]||(e[22]=[N("保存",-1)])]),_:1})]),_:1})),[[j,["setting.web.web_setting/setWebsite"]]])])}}});export{Qe as default}; +import{_ as C}from"./index-x1zzA0a7.js";import{J as q,B as k,C as U,D as y,i as O}from"./element-plus-DFTWCWyi.js";import{_ as P}from"./picker-BCRrEZaA.js";import{a as M,b as B}from"./website-DzUyNaPG.js";import{e as E}from"./index-DBREMm_z.js";import{f,as as G,ak as _,I as D,a as o,aN as m,J as i,aP as L,G as I,O as N}from"./@vue/runtime-core-C6bnekPw.js";import{y as t,n as S,r as W}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-BwF7vczx.js";import"./index-BiPYXDtP.js";import"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import"./index-CbfZXeGu.js";import"./index-CRoZWY-W.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-BimpIRb_.js";import"./index.vue_vue_type_script_setup_true_lang-x0oL2ShL.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./usePaging-VsbTxSU0.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const F={class:"website-information"},J={class:"w-80"},R={class:"w-80"},A={class:"w-80"},T={class:"w-80"},z={class:"w-80"},H=f({name:"webInformation"}),Qe=f({...H,setup(K){const u=S(),b=E(),l=W({name:"",web_favicon:"",web_logo:"",login_image:"",h5_favicon:"",shop_name:"",shop_logo:"",pc_logo:"",pc_title:"",pc_desc:"",pc_ico:"",pc_keywords:""}),v={name:[{required:!0,message:"请输入网站名称",trigger:["blur"]}],web_favicon:[{required:!0,message:"请选择网站图标",trigger:["change"]}],web_logo:[{required:!0,message:"请选择网站logo",trigger:["change"]}],login_image:[{required:!0,message:"请选择登录页广告图",trigger:["change"]}],shop_name:[{required:!0,message:"请输入店铺/商城名称",trigger:["blur"]}],shop_logo:[{required:!0,message:"请选择商城LOGO",trigger:["change"]}],pc_logo:[{required:!0,message:"请选择PC端LOGO",trigger:["change"]}],pc_title:[{required:!0,message:"请输入PC端网站标题",trigger:["blur"]}],pc_ico:[{required:!0,message:"请选择PC端网站图标",trigger:["change"]}]},g=async()=>{const a=await M();for(const e in l)l[e]=a[e]},w=async()=>{var a;await((a=u.value)==null?void 0:a.validate()),await B(l),b.getConfig(),g()};return g(),(a,e)=>{const d=U,p=k,s=P,n=q,V=y,c=O,x=C,j=G("perms");return _(),D("div",F,[o(V,{ref_key:"formRef",ref:u,rules:v,class:"ls-form",model:t(l),"label-width":"120px","scroll-to-error":""},{default:m(()=>[o(n,{shadow:"never",class:"!border-none"},{default:m(()=>[e[15]||(e[15]=i("div",{class:"text-xl font-medium mb-[20px]"},"后台设置",-1)),o(p,{label:"网站名称",prop:"name"},{default:m(()=>[i("div",J,[o(d,{modelValue:t(l).name,"onUpdate:modelValue":e[0]||(e[0]=r=>t(l).name=r),modelModifiers:{trim:!0},placeholder:"请输入网站名称",maxlength:"30","show-word-limit":""},null,8,["modelValue"])])]),_:1}),o(p,{label:"网站图标",prop:"web_favicon",required:""},{default:m(()=>[i("div",null,[o(s,{modelValue:t(l).web_favicon,"onUpdate:modelValue":e[1]||(e[1]=r=>t(l).web_favicon=r),limit:1},null,8,["modelValue"]),e[12]||(e[12]=i("div",{class:"form-tips"},"建议尺寸:100*100像素,支持jpg,jpeg,png格式",-1))])]),_:1}),o(p,{label:"网站LOGO",prop:"web_logo",required:""},{default:m(()=>[i("div",null,[o(s,{modelValue:t(l).web_logo,"onUpdate:modelValue":e[2]||(e[2]=r=>t(l).web_logo=r),modelModifiers:{trim:!0},limit:1},null,8,["modelValue"]),e[13]||(e[13]=i("div",{class:"form-tips"},"建议尺寸:100*100像素,支持jpg,jpeg,png格式",-1))])]),_:1}),o(p,{label:"登录页广告图",prop:"login_image",required:""},{default:m(()=>[i("div",null,[o(s,{modelValue:t(l).login_image,"onUpdate:modelValue":e[3]||(e[3]=r=>t(l).login_image=r),modelModifiers:{trim:!0},limit:1},null,8,["modelValue"]),e[14]||(e[14]=i("div",{class:"form-tips"},"建议尺寸:100*100像素,支持jpg,jpeg,png格式",-1))])]),_:1})]),_:1}),o(n,{shadow:"never",class:"!border-none mt-4"},{default:m(()=>[e[18]||(e[18]=i("div",{class:"text-xl font-medium mb-[20px]"},"前台设置",-1)),o(p,{label:"前台名称",prop:"shop_name"},{default:m(()=>[i("div",R,[o(d,{modelValue:t(l).shop_name,"onUpdate:modelValue":e[4]||(e[4]=r=>t(l).shop_name=r),modelModifiers:{trim:!0},placeholder:"请输入前台名称",maxlength:"30","show-word-limit":""},null,8,["modelValue"])])]),_:1}),o(p,{label:"网站图标",prop:"web_favicon",required:""},{default:m(()=>[i("div",null,[o(s,{modelValue:t(l).h5_favicon,"onUpdate:modelValue":e[5]||(e[5]=r=>t(l).h5_favicon=r),limit:1},null,8,["modelValue"]),e[16]||(e[16]=i("div",{class:"form-tips"},"建议尺寸:100*100像素,支持jpg,jpeg,png格式",-1))])]),_:1}),o(p,{label:"前台LOGO",prop:"shop_logo"},{default:m(()=>[i("div",null,[o(s,{modelValue:t(l).shop_logo,"onUpdate:modelValue":e[6]||(e[6]=r=>t(l).shop_logo=r),limit:1},null,8,["modelValue"]),e[17]||(e[17]=i("div",{class:"form-tips"},"建议尺寸:100*100px,支持jpg,jpeg,png格式",-1))])]),_:1})]),_:1}),o(n,{shadow:"never",class:"!border-none mt-4"},{default:m(()=>[e[21]||(e[21]=i("div",{class:"text-xl font-medium mb-[20px]"},"PC端设置",-1)),o(p,{label:"PC端LOGO",prop:"pc_logo"},{default:m(()=>[i("div",null,[o(s,{modelValue:t(l).pc_logo,"onUpdate:modelValue":e[7]||(e[7]=r=>t(l).pc_logo=r),limit:1},null,8,["modelValue"]),e[19]||(e[19]=i("div",{class:"form-tips"},"建议尺寸:120*28px,支持jpg,jpeg,png格式",-1))])]),_:1}),o(p,{label:"网站标题",prop:"pc_title"},{default:m(()=>[i("div",A,[o(d,{modelValue:t(l).pc_title,"onUpdate:modelValue":e[8]||(e[8]=r=>t(l).pc_title=r),modelModifiers:{trim:!0},placeholder:"请输入PC端网站标题",maxlength:"30","show-word-limit":""},null,8,["modelValue"])])]),_:1}),o(p,{label:"网站图标",prop:"pc_ico"},{default:m(()=>[i("div",null,[o(s,{modelValue:t(l).pc_ico,"onUpdate:modelValue":e[9]||(e[9]=r=>t(l).pc_ico=r),limit:1},null,8,["modelValue"]),e[20]||(e[20]=i("div",{class:"form-tips"},"建议尺寸:100*100像素,支持jpg,jpeg,png格式",-1))])]),_:1}),o(p,{label:"网站描述",prop:"pc_desc"},{default:m(()=>[i("div",T,[o(d,{modelValue:t(l).pc_desc,"onUpdate:modelValue":e[10]||(e[10]=r=>t(l).pc_desc=r),modelModifiers:{trim:!0},placeholder:"请输入PC端网站描述"},null,8,["modelValue"])])]),_:1}),o(p,{label:"网站关键词",prop:"pc_keywords"},{default:m(()=>[i("div",z,[o(d,{modelValue:t(l).pc_keywords,"onUpdate:modelValue":e[11]||(e[11]=r=>t(l).pc_keywords=r),modelModifiers:{trim:!0},placeholder:"请输入PC端网站关键词"},null,8,["modelValue"])])]),_:1})]),_:1})]),_:1},8,["model"]),L((_(),I(x,null,{default:m(()=>[o(c,{type:"primary",onClick:w},{default:m(()=>[...e[22]||(e[22]=[N("保存",-1)])]),_:1})]),_:1})),[[j,["setting.web.web_setting/setWebsite"]]])])}}});export{Qe as default}; diff --git a/server/public/admin/assets/journal-BRB574_h.js b/server/public/admin/assets/journal-DkUT-HXG.js similarity index 90% rename from server/public/admin/assets/journal-BRB574_h.js rename to server/public/admin/assets/journal-DkUT-HXG.js index 4aa20025..2563d79d 100644 --- a/server/public/admin/assets/journal-BRB574_h.js +++ b/server/public/admin/assets/journal-DkUT-HXG.js @@ -1 +1 @@ -import{D,B as F,C as N,P as z,Q as j,i as $,J,L as M,M as O,N as G}from"./element-plus-0wC3naml.js";import{_ as Q}from"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import{_ as R}from"./index.vue_vue_type_script_setup_true_lang-DLNQ3IjV.js";import{_ as S}from"./index.vue_vue_type_script_setup_true_lang-DBEwrTRf.js";import{w as u}from"./@vue/runtime-dom-DDAG46FW.js";import{E as b}from"./index-E47--KT7.js";import{u as q}from"./usePaging-VsbTxSU0.js";import{f as C,b as A,ak as s,I as v,a as e,aN as n,F as H,ap as W,G as g,O as y,aP as X,J as V}from"./@vue/runtime-core-C6bnekPw.js";import{y as t,a as Y,n as w}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-nymJKQXP.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Z={class:"journal"},ee={class:"flex mt-4 justify-end"},te=C({name:"journal"}),Se=C({...te,setup(le){const a=w({admin_name:"",url:"",ip:"",type:"",start_time:"",end_time:""}),E=w([{label:"全部",value:""},{label:"get",value:"get"},{label:"post",value:"post"},{label:"put",value:"put"},{label:"delete",value:"delete"},{label:"option",value:"option"}]),{pager:r,getLists:_,resetParams:k,resetPage:i}=q({fetchFun:b,params:a.value});return A(()=>{_()}),(oe,l)=>{const d=N,p=F,x=j,T=z,I=S,c=$,K=R,P=D,f=J,m=G,U=O,h=Q,B=M;return s(),v("div",Z,[e(f,{class:"!border-none",shadow:"never"},{default:n(()=>[e(P,{class:"ls-form",model:t(a),inline:""},{default:n(()=>[e(p,{class:"w-[280px]",label:"管理员"},{default:n(()=>[e(d,{placeholder:"请输入",modelValue:t(a).admin_name,"onUpdate:modelValue":l[0]||(l[0]=o=>t(a).admin_name=o),clearable:"",onKeyup:u(t(i),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(p,{class:"w-[280px]",label:"访问方式"},{default:n(()=>[e(T,{modelValue:t(a).type,"onUpdate:modelValue":l[1]||(l[1]=o=>t(a).type=o),placeholder:"请选择"},{default:n(()=>[(s(!0),v(H,null,W(t(E),(o,L)=>(s(),g(x,{key:L,label:o.label,value:o.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),e(p,{class:"w-[280px]",label:"来源IP"},{default:n(()=>[e(d,{placeholder:"请输入",modelValue:t(a).ip,"onUpdate:modelValue":l[2]||(l[2]=o=>t(a).ip=o),clearable:"",onKeyup:u(t(i),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(p,{label:"访问时间"},{default:n(()=>[e(I,{startTime:t(a).start_time,"onUpdate:startTime":l[3]||(l[3]=o=>t(a).start_time=o),endTime:t(a).end_time,"onUpdate:endTime":l[4]||(l[4]=o=>t(a).end_time=o)},null,8,["startTime","endTime"])]),_:1}),e(p,{class:"w-[280px]",label:"访问链接"},{default:n(()=>[e(d,{placeholder:"请输入",modelValue:t(a).url,"onUpdate:modelValue":l[5]||(l[5]=o=>t(a).url=o),clearable:"",onKeyup:u(t(i),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(p,null,{default:n(()=>[e(c,{type:"primary",onClick:t(i)},{default:n(()=>[...l[7]||(l[7]=[y("查询",-1)])]),_:1},8,["onClick"]),e(c,{onClick:t(k)},{default:n(()=>[...l[8]||(l[8]=[y("重置",-1)])]),_:1},8,["onClick"]),e(K,{class:"ml-2.5","fetch-fun":t(b),params:t(a),"page-size":t(r).size},null,8,["fetch-fun","params","page-size"])]),_:1})]),_:1},8,["model"])]),_:1}),X((s(),g(f,{class:"!border-none mt-4",shadow:"never"},{default:n(()=>[V("div",null,[e(U,{data:t(r).lists,size:"large"},{default:n(()=>[e(m,{label:"记录ID",prop:"id"}),e(m,{label:"操作",prop:"action","min-width":"120"}),e(m,{label:"管理员",prop:"admin_name","min-width":"120"}),e(m,{label:"管理员ID",prop:"admin_id","min-width":"120"}),e(m,{label:"访问链接",prop:"url","min-width":"160"}),e(m,{label:"访问方式",prop:"type"}),e(m,{label:"访问参数",prop:"params","min-width":"160"}),e(m,{label:"来源IP",prop:"ip","min-width":"160"}),e(m,{label:"日志时间",prop:"create_time","min-width":"180"})]),_:1},8,["data"])]),V("div",ee,[e(h,{modelValue:t(r),"onUpdate:modelValue":l[6]||(l[6]=o=>Y(r)?r.value=o:null),onChange:t(_)},null,8,["modelValue","onChange"])])]),_:1})),[[B,t(r).loading]])])}}});export{Se as default}; +import{D,B as F,C as N,P as z,Q as j,i as $,J,L as M,M as O,N as G}from"./element-plus-DFTWCWyi.js";import{_ as Q}from"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import{_ as R}from"./index.vue_vue_type_script_setup_true_lang-CCzvLP0c.js";import{_ as S}from"./index.vue_vue_type_script_setup_true_lang-DPC_NOWM.js";import{w as u}from"./@vue/runtime-dom-DDAG46FW.js";import{E as b}from"./index-DBREMm_z.js";import{u as q}from"./usePaging-VsbTxSU0.js";import{f as C,b as A,ak as s,I as v,a as e,aN as n,F as H,ap as W,G as g,O as y,aP as X,J as V}from"./@vue/runtime-core-C6bnekPw.js";import{y as t,a as Y,n as w}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-BwF7vczx.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Z={class:"journal"},ee={class:"flex mt-4 justify-end"},te=C({name:"journal"}),Se=C({...te,setup(le){const a=w({admin_name:"",url:"",ip:"",type:"",start_time:"",end_time:""}),E=w([{label:"全部",value:""},{label:"get",value:"get"},{label:"post",value:"post"},{label:"put",value:"put"},{label:"delete",value:"delete"},{label:"option",value:"option"}]),{pager:r,getLists:_,resetParams:k,resetPage:i}=q({fetchFun:b,params:a.value});return A(()=>{_()}),(oe,l)=>{const d=N,p=F,x=j,T=z,I=S,c=$,K=R,P=D,f=J,m=G,U=O,h=Q,B=M;return s(),v("div",Z,[e(f,{class:"!border-none",shadow:"never"},{default:n(()=>[e(P,{class:"ls-form",model:t(a),inline:""},{default:n(()=>[e(p,{class:"w-[280px]",label:"管理员"},{default:n(()=>[e(d,{placeholder:"请输入",modelValue:t(a).admin_name,"onUpdate:modelValue":l[0]||(l[0]=o=>t(a).admin_name=o),clearable:"",onKeyup:u(t(i),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(p,{class:"w-[280px]",label:"访问方式"},{default:n(()=>[e(T,{modelValue:t(a).type,"onUpdate:modelValue":l[1]||(l[1]=o=>t(a).type=o),placeholder:"请选择"},{default:n(()=>[(s(!0),v(H,null,W(t(E),(o,L)=>(s(),g(x,{key:L,label:o.label,value:o.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),e(p,{class:"w-[280px]",label:"来源IP"},{default:n(()=>[e(d,{placeholder:"请输入",modelValue:t(a).ip,"onUpdate:modelValue":l[2]||(l[2]=o=>t(a).ip=o),clearable:"",onKeyup:u(t(i),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(p,{label:"访问时间"},{default:n(()=>[e(I,{startTime:t(a).start_time,"onUpdate:startTime":l[3]||(l[3]=o=>t(a).start_time=o),endTime:t(a).end_time,"onUpdate:endTime":l[4]||(l[4]=o=>t(a).end_time=o)},null,8,["startTime","endTime"])]),_:1}),e(p,{class:"w-[280px]",label:"访问链接"},{default:n(()=>[e(d,{placeholder:"请输入",modelValue:t(a).url,"onUpdate:modelValue":l[5]||(l[5]=o=>t(a).url=o),clearable:"",onKeyup:u(t(i),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(p,null,{default:n(()=>[e(c,{type:"primary",onClick:t(i)},{default:n(()=>[...l[7]||(l[7]=[y("查询",-1)])]),_:1},8,["onClick"]),e(c,{onClick:t(k)},{default:n(()=>[...l[8]||(l[8]=[y("重置",-1)])]),_:1},8,["onClick"]),e(K,{class:"ml-2.5","fetch-fun":t(b),params:t(a),"page-size":t(r).size},null,8,["fetch-fun","params","page-size"])]),_:1})]),_:1},8,["model"])]),_:1}),X((s(),g(f,{class:"!border-none mt-4",shadow:"never"},{default:n(()=>[V("div",null,[e(U,{data:t(r).lists,size:"large"},{default:n(()=>[e(m,{label:"记录ID",prop:"id"}),e(m,{label:"操作",prop:"action","min-width":"120"}),e(m,{label:"管理员",prop:"admin_name","min-width":"120"}),e(m,{label:"管理员ID",prop:"admin_id","min-width":"120"}),e(m,{label:"访问链接",prop:"url","min-width":"160"}),e(m,{label:"访问方式",prop:"type"}),e(m,{label:"访问参数",prop:"params","min-width":"160"}),e(m,{label:"来源IP",prop:"ip","min-width":"160"}),e(m,{label:"日志时间",prop:"create_time","min-width":"180"})]),_:1},8,["data"])]),V("div",ee,[e(h,{modelValue:t(r),"onUpdate:modelValue":l[6]||(l[6]=o=>Y(r)?r.value=o:null),onChange:t(_)},null,8,["modelValue","onChange"])])]),_:1})),[[B,t(r).loading]])])}}});export{Se as default}; diff --git a/server/public/admin/assets/keyword_reply-KE0otsUG.js b/server/public/admin/assets/keyword_reply-CW2cAvxC.js similarity index 91% rename from server/public/admin/assets/keyword_reply-KE0otsUG.js rename to server/public/admin/assets/keyword_reply-CW2cAvxC.js index af271aeb..4a2083f6 100644 --- a/server/public/admin/assets/keyword_reply-KE0otsUG.js +++ b/server/public/admin/assets/keyword_reply-CW2cAvxC.js @@ -1 +1 @@ -import{K as D,J as L,i as A,M as O,N as P,g as U,L as J}from"./element-plus-0wC3naml.js";import{_ as M}from"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import{c as j,i as q}from"./index-E47--KT7.js";import{d as z,o as F,e as G}from"./wx_oa-CMZpCm8a.js";import{u as H}from"./usePaging-VsbTxSU0.js";import{_ as I}from"./edit.vue_vue_type_script_setup_true_lang-BsajSW9y.js";import{f as K,ak as f,I as Q,a as t,aN as n,J as g,O as m,aP as W,G as v,H as X,A as w,n as h}from"./@vue/runtime-core-C6bnekPw.js";import{y as i,a as Y,q as Z,n as ee}from"./@vue/reactivity-DiY1c2vO.js";import{Q as b}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-nymJKQXP.js";const te={class:"flex justify-end mt-4"},Ge=K({__name:"keyword_reply",setup(oe){const p=Z(),d=ee(!1),k=w(()=>a=>{switch(a){case 1:return"全匹配";case 2:return"模糊匹配"}}),C=w(()=>a=>{switch(a){case 1:return"文本"}}),{pager:s,getLists:r}=H({fetchFun:z,params:{reply_type:2}}),V=async()=>{var a;d.value=!0,await h(),(a=p.value)==null||a.open("add",2)},E=async a=>{var e,c;d.value=!0,await h(),(e=p.value)==null||e.open("edit",2),(c=p.value)==null||c.getDetail(a)},$=async a=>{await q.confirm("确定要删除?"),await F({id:a}),r()},x=async a=>{try{await G({id:a}),r()}catch{r()}};return r(),(a,e)=>{const c=D,y=L,R=j,_=A,l=P,N=U,S=O,T=M,B=J;return f(),Q("div",null,[t(y,{class:"!border-none",shadow:"never"},{default:n(()=>[t(c,{type:"warning",title:"温馨提示:1.粉丝在公众号发送内容时,通过关键词可触发关键词回复;2.同时可启用多个关键词回复,有多条关键词匹配时优选选择排序靠前的一条",closable:!1,"show-icon":""})]),_:1}),t(y,{class:"!border-none mt-4",shadow:"never"},{default:n(()=>[g("div",null,[t(_,{class:"mb-4",type:"primary",onClick:e[0]||(e[0]=o=>V())},{icon:n(()=>[t(R,{name:"el-icon-Plus"})]),default:n(()=>[e[3]||(e[3]=m(" 新增 ",-1))]),_:1})]),W((f(),v(S,{size:"large",data:i(s).lists},{default:n(()=>[t(l,{label:"规则名称",prop:"name","min-width":"120"}),t(l,{label:"关键词",prop:"keyword","min-width":"120"}),t(l,{label:"匹配方式","min-width":"120"},{default:n(({row:o})=>[m(b(i(k)(o.matching_type)),1)]),_:1}),t(l,{label:"回复类型","min-width":"120"},{default:n(({row:o})=>[m(b(i(C)(o.content_type)),1)]),_:1}),t(l,{label:"状态","min-width":"120"},{default:n(({row:o})=>[t(N,{modelValue:o.status,"onUpdate:modelValue":u=>o.status=u,"active-value":1,"inactive-value":0,onChange:u=>x(o.id)},null,8,["modelValue","onUpdate:modelValue","onChange"])]),_:1}),t(l,{label:"排序",prop:"sort","min-width":"120"}),t(l,{label:"操作",width:"120",fixed:"right"},{default:n(({row:o})=>[t(_,{type:"primary",link:"",onClick:u=>E(o)},{default:n(()=>[...e[4]||(e[4]=[m(" 编辑 ",-1)])]),_:1},8,["onClick"]),t(_,{type:"danger",link:"",onClick:u=>$(o.id)},{default:n(()=>[...e[5]||(e[5]=[m(" 删除 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[B,i(s).loading]]),g("div",te,[t(T,{modelValue:i(s),"onUpdate:modelValue":e[1]||(e[1]=o=>Y(s)?s.value=o:null),onChange:i(r)},null,8,["modelValue","onChange"])])]),_:1}),i(d)?(f(),v(I,{key:0,ref_key:"editRef",ref:p,onSuccess:i(r),onClose:e[2]||(e[2]=o=>d.value=!1)},null,8,["onSuccess"])):X("",!0)])}}});export{Ge as default}; +import{K as D,J as L,i as A,M as O,N as P,g as U,L as J}from"./element-plus-DFTWCWyi.js";import{_ as M}from"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import{c as j,i as q}from"./index-DBREMm_z.js";import{d as z,o as F,e as G}from"./wx_oa-sVQft6O9.js";import{u as H}from"./usePaging-VsbTxSU0.js";import{_ as I}from"./edit.vue_vue_type_script_setup_true_lang-W1DUlHN3.js";import{f as K,ak as f,I as Q,a as t,aN as n,J as g,O as m,aP as W,G as v,H as X,A as w,n as h}from"./@vue/runtime-core-C6bnekPw.js";import{y as i,a as Y,q as Z,n as ee}from"./@vue/reactivity-DiY1c2vO.js";import{Q as b}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-BwF7vczx.js";const te={class:"flex justify-end mt-4"},Ge=K({__name:"keyword_reply",setup(oe){const p=Z(),d=ee(!1),k=w(()=>a=>{switch(a){case 1:return"全匹配";case 2:return"模糊匹配"}}),C=w(()=>a=>{switch(a){case 1:return"文本"}}),{pager:s,getLists:r}=H({fetchFun:z,params:{reply_type:2}}),V=async()=>{var a;d.value=!0,await h(),(a=p.value)==null||a.open("add",2)},E=async a=>{var e,c;d.value=!0,await h(),(e=p.value)==null||e.open("edit",2),(c=p.value)==null||c.getDetail(a)},$=async a=>{await q.confirm("确定要删除?"),await F({id:a}),r()},x=async a=>{try{await G({id:a}),r()}catch{r()}};return r(),(a,e)=>{const c=D,y=L,R=j,_=A,l=P,N=U,S=O,T=M,B=J;return f(),Q("div",null,[t(y,{class:"!border-none",shadow:"never"},{default:n(()=>[t(c,{type:"warning",title:"温馨提示:1.粉丝在公众号发送内容时,通过关键词可触发关键词回复;2.同时可启用多个关键词回复,有多条关键词匹配时优选选择排序靠前的一条",closable:!1,"show-icon":""})]),_:1}),t(y,{class:"!border-none mt-4",shadow:"never"},{default:n(()=>[g("div",null,[t(_,{class:"mb-4",type:"primary",onClick:e[0]||(e[0]=o=>V())},{icon:n(()=>[t(R,{name:"el-icon-Plus"})]),default:n(()=>[e[3]||(e[3]=m(" 新增 ",-1))]),_:1})]),W((f(),v(S,{size:"large",data:i(s).lists},{default:n(()=>[t(l,{label:"规则名称",prop:"name","min-width":"120"}),t(l,{label:"关键词",prop:"keyword","min-width":"120"}),t(l,{label:"匹配方式","min-width":"120"},{default:n(({row:o})=>[m(b(i(k)(o.matching_type)),1)]),_:1}),t(l,{label:"回复类型","min-width":"120"},{default:n(({row:o})=>[m(b(i(C)(o.content_type)),1)]),_:1}),t(l,{label:"状态","min-width":"120"},{default:n(({row:o})=>[t(N,{modelValue:o.status,"onUpdate:modelValue":u=>o.status=u,"active-value":1,"inactive-value":0,onChange:u=>x(o.id)},null,8,["modelValue","onUpdate:modelValue","onChange"])]),_:1}),t(l,{label:"排序",prop:"sort","min-width":"120"}),t(l,{label:"操作",width:"120",fixed:"right"},{default:n(({row:o})=>[t(_,{type:"primary",link:"",onClick:u=>E(o)},{default:n(()=>[...e[4]||(e[4]=[m(" 编辑 ",-1)])]),_:1},8,["onClick"]),t(_,{type:"danger",link:"",onClick:u=>$(o.id)},{default:n(()=>[...e[5]||(e[5]=[m(" 删除 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[B,i(s).loading]]),g("div",te,[t(T,{modelValue:i(s),"onUpdate:modelValue":e[1]||(e[1]=o=>Y(s)?s.value=o:null),onChange:i(r)},null,8,["modelValue","onChange"])])]),_:1}),i(d)?(f(),v(I,{key:0,ref_key:"editRef",ref:p,onSuccess:i(r),onClose:e[2]||(e[2]=o=>d.value=!1)},null,8,["onSuccess"])):X("",!0)])}}});export{Ge as default}; diff --git a/server/public/admin/assets/link-lbTzaTBT.js b/server/public/admin/assets/link-P1xmJba2.js similarity index 79% rename from server/public/admin/assets/link-lbTzaTBT.js rename to server/public/admin/assets/link-P1xmJba2.js index 2b9e0828..e0f0ce98 100644 --- a/server/public/admin/assets/link-lbTzaTBT.js +++ b/server/public/admin/assets/link-P1xmJba2.js @@ -1 +1 @@ -import{J as a}from"./element-plus-0wC3naml.js";import{_ as n}from"./picker-B9b8bj5N.js";import{f as l,ak as s,I as _,a as r,aN as u}from"./@vue/runtime-core-C6bnekPw.js";import{y as m,r as c}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-E47--KT7.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-nymJKQXP.js";import"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import"./article-DJnP6RZd.js";import"./usePaging-VsbTxSU0.js";const po=l({__name:"link",setup(d){const o=c({value1:{}});return(f,t)=>{const p=n,i=a;return s(),_("div",null,[r(i,{header:"基础使用",shadow:"never",class:"!border-none"},{default:u(()=>[r(p,{modelValue:m(o).value1,"onUpdate:modelValue":t[0]||(t[0]=e=>m(o).value1=e)},null,8,["modelValue"])]),_:1})])}}});export{po as default}; +import{J as a}from"./element-plus-DFTWCWyi.js";import{_ as n}from"./picker-DPnqJ8Gk.js";import{f as l,ak as s,I as _,a as r,aN as u}from"./@vue/runtime-core-C6bnekPw.js";import{y as m,r as c}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-DBREMm_z.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-BwF7vczx.js";import"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import"./article-BnVIxFkr.js";import"./usePaging-VsbTxSU0.js";const po=l({__name:"link",setup(d){const o=c({value1:{}});return(f,t)=>{const p=n,i=a;return s(),_("div",null,[r(i,{header:"基础使用",shadow:"never",class:"!border-none"},{default:u(()=>[r(p,{modelValue:m(o).value1,"onUpdate:modelValue":t[0]||(t[0]=e=>m(o).value1=e)},null,8,["modelValue"])]),_:1})])}}});export{po as default}; diff --git a/server/public/admin/assets/list-Biq_8Mno.js b/server/public/admin/assets/list-DLTQ2P3_.js similarity index 87% rename from server/public/admin/assets/list-Biq_8Mno.js rename to server/public/admin/assets/list-DLTQ2P3_.js index 8137c9a8..6820a34c 100644 --- a/server/public/admin/assets/list-Biq_8Mno.js +++ b/server/public/admin/assets/list-DLTQ2P3_.js @@ -1 +1 @@ -import{D as ne,B as de,C as pe,P as me,Q as ue,i as ce,J as _e,L as fe,M as be,N as ve,T as ge,h as ye,g as he,V as ke}from"./element-plus-0wC3naml.js";import{_ as we}from"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import{u as Ve,c as Ce,i as _,_ as Ee}from"./index-E47--KT7.js";import{w as xe}from"./@vue/runtime-dom-DDAG46FW.js";import{e as Ne,k as Se,l as Le,m as Pe}from"./tcm-SLIwsL8z.js";import{u as De}from"./usePaging-VsbTxSU0.js";import{M as Ie}from"./index-wwnvQhjf.js";import{f as J,b as Ue,as as $e,ak as u,I as S,a as t,aN as o,O as p,aP as h,G as g,J as V,H as L,M as Oe}from"./@vue/runtime-core-C6bnekPw.js";import{y as a,a as M,r as B,n as C}from"./@vue/reactivity-DiY1c2vO.js";import{Q as P}from"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./medicine-D-OyzCbR.js";const Ae={class:"prescription-library"},Me={class:"mt-4"},Be={key:0},Je={key:1,class:"text-gray-400"},Re={class:"flex mt-4 justify-end"},Te={class:"w-full"},Fe=J({name:"prescriptionLibrary"}),He=J({...Fe,setup(Ke){const f=B({prescription_name:"",is_public:""}),c=C(!1),n=C("add"),E=C(!1),x=C(),s=B({id:0,prescription_name:"",herbs:[],is_public:0}),R={prescription_name:[{required:!0,message:"请输入处方名称",trigger:"blur"}]},D=Ve(),T=[0,3],{pager:y,getLists:k,resetParams:F,resetPage:I}=De({fetchFun:Ne,params:f}),H=l=>{var e;return Number(l.creator_id)===Number((e=D.userInfo)==null?void 0:e.id)},K=()=>{const l=D.userInfo;if(!l)return!1;if(Number(l.root)===1)return!0;const e=Array.isArray(l.role_ids)?l.role_ids.map(b=>Number(b)):[];return T.some(b=>e.includes(b))},U=l=>K()||H(l),j=U,q=()=>{s.herbs.push({name:"",dosage:0})},z=l=>{s.herbs.splice(l,1)},G=()=>{s.id=0,s.prescription_name="",s.herbs=[],s.is_public=0},Q=()=>{G(),n.value="add",c.value=!0},W=l=>{n.value="view",s.id=l.id,s.prescription_name=l.prescription_name||"",s.herbs=l.herbs?JSON.parse(JSON.stringify(l.herbs)):[],s.is_public=l.is_public??0,c.value=!0},X=l=>{n.value="edit",s.id=l.id,s.prescription_name=l.prescription_name||"",s.herbs=l.herbs?JSON.parse(JSON.stringify(l.herbs)):[],s.is_public=l.is_public??0,c.value=!0},Y=async()=>{if(x.value){if(await x.value.validate(),!s.herbs||s.herbs.length===0){_.msgError("请至少添加一味药材");return}for(let l=0;l{await _.confirm("确定要删除该处方吗?"),await Pe({id:l}),_.msgSuccess("删除成功"),k()};return Ue(()=>{k()}),(l,e)=>{const b=pe,v=de,N=ue,ee=me,m=ce,$=ne,O=_e,te=Ce,d=ve,le=ge,A=be,ie=we,oe=ye,ae=he,se=ke,w=$e("perms"),re=fe;return u(),S("div",Ae,[t(O,{class:"!border-none",shadow:"never"},{default:o(()=>[t($,{class:"mb-[-16px]",model:a(f),inline:""},{default:o(()=>[t(v,{class:"w-[280px]",label:"处方名称"},{default:o(()=>[t(b,{modelValue:a(f).prescription_name,"onUpdate:modelValue":e[0]||(e[0]=i=>a(f).prescription_name=i),placeholder:"请输入处方名称",clearable:"",onKeyup:xe(a(I),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(v,{class:"w-[200px]",label:"是否公开"},{default:o(()=>[t(ee,{modelValue:a(f).is_public,"onUpdate:modelValue":e[1]||(e[1]=i=>a(f).is_public=i),placeholder:"全部",clearable:""},{default:o(()=>[t(N,{label:"全部",value:""}),t(N,{label:"仅自己可见",value:0}),t(N,{label:"所有人可见",value:1})]),_:1},8,["modelValue"])]),_:1}),t(v,null,{default:o(()=>[t(m,{type:"primary",onClick:a(I)},{default:o(()=>[...e[7]||(e[7]=[p("查询",-1)])]),_:1},8,["onClick"]),t(m,{onClick:a(F)},{default:o(()=>[...e[8]||(e[8]=[p("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),h((u(),g(O,{class:"mt-4 !border-none",shadow:"never"},{default:o(()=>[h((u(),g(m,{type:"primary",onClick:Q},{icon:o(()=>[t(te,{name:"el-icon-Plus"})]),default:o(()=>[e[9]||(e[9]=p(" 新增处方 ",-1))]),_:1})),[[w,["wcf.prescription/add"]]]),V("div",Me,[t(A,{data:a(y).lists,size:"large"},{default:o(()=>[t(d,{label:"ID",prop:"id","min-width":"60"}),t(d,{label:"处方名称",prop:"prescription_name","min-width":"200","show-overflow-tooltip":""}),t(d,{label:"药材数量","min-width":"100"},{default:o(({row:i})=>{var r;return[p(P(((r=i.herbs)==null?void 0:r.length)||0)+"味 ",1)]}),_:1}),t(d,{label:"药材明细","min-width":"300","show-overflow-tooltip":""},{default:o(({row:i})=>[i.herbs&&i.herbs.length>0?(u(),S("span",Be,P(i.herbs.map(r=>`${r.name} ${r.dosage}g`).join("、")),1)):(u(),S("span",Je,"暂无药材"))]),_:1}),t(d,{label:"是否公开","min-width":"120"},{default:o(({row:i})=>[t(le,{type:i.is_public?"success":"info"},{default:o(()=>[p(P(i.is_public?"所有人可见":"仅自己可见"),1)]),_:2},1032,["type"])]),_:1}),t(d,{label:"创建人",prop:"creator_name","min-width":"100"}),t(d,{label:"创建时间",prop:"create_time","min-width":"160"}),t(d,{label:"操作",width:"180",fixed:"right"},{default:o(({row:i})=>[h((u(),g(m,{type:"primary",link:"",onClick:r=>W(i)},{default:o(()=>[...e[10]||(e[10]=[p(" 查看 ",-1)])]),_:1},8,["onClick"])),[[w,["wcf.prescription/read"]]]),U(i)?h((u(),g(m,{key:0,type:"primary",link:"",onClick:r=>X(i)},{default:o(()=>[...e[11]||(e[11]=[p(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[w,["wcf.prescription/edit"]]]):L("",!0),a(j)(i)?h((u(),g(m,{key:1,type:"danger",link:"",onClick:r=>Z(i.id)},{default:o(()=>[...e[12]||(e[12]=[p(" 删除 ",-1)])]),_:1},8,["onClick"])),[[w,["wcf.prescription/delete"]]]):L("",!0)]),_:1})]),_:1},8,["data"])]),V("div",Re,[t(ie,{modelValue:a(y),"onUpdate:modelValue":e[2]||(e[2]=i=>M(y)?y.value=i:null),onChange:a(k)},null,8,["modelValue","onChange"])])]),_:1})),[[re,a(y).loading]]),t(se,{modelValue:a(c),"onUpdate:modelValue":e[6]||(e[6]=i=>M(c)?c.value=i:null),title:a(n)==="add"?"新增处方":a(n)==="edit"?"编辑处方":"查看处方",width:"800px","close-on-click-modal":!1},Oe({default:o(()=>[t($,{ref_key:"formRef",ref:x,model:a(s),rules:R,"label-width":"120px",disabled:a(n)==="view"},{default:o(()=>[t(v,{label:"处方名称",prop:"prescription_name"},{default:o(()=>[t(b,{modelValue:a(s).prescription_name,"onUpdate:modelValue":e[3]||(e[3]=i=>a(s).prescription_name=i),placeholder:"请输入处方名称,例如:六味地黄丸、补中益气汤",maxlength:"100","show-word-limit":""},null,8,["modelValue"])]),_:1}),t(v,{label:"药材配方",prop:"herbs",required:""},{default:o(()=>[V("div",Te,[t(m,{type:"primary",size:"small",onClick:q,disabled:a(n)==="view"},{default:o(()=>[...e[13]||(e[13]=[p(" 添加药材 ",-1)])]),_:1},8,["disabled"]),t(A,{data:a(s).herbs,class:"mt-2",border:""},{default:o(()=>[t(d,{label:"序号",type:"index",width:"60"}),t(d,{label:"药材名称","min-width":"220"},{default:o(({row:i})=>[t(Ie,{modelValue:i.name,"onUpdate:modelValue":r=>i.name=r,disabled:a(n)==="view"},null,8,["modelValue","onUpdate:modelValue","disabled"])]),_:1}),t(d,{label:"剂量(克)","min-width":"150"},{default:o(({row:i})=>[t(oe,{modelValue:i.dosage,"onUpdate:modelValue":r=>i.dosage=r,min:0,precision:1,step:.5,placeholder:"剂量",class:"w-full",disabled:a(n)==="view"},null,8,["modelValue","onUpdate:modelValue","disabled"])]),_:1}),a(n)!=="view"?(u(),g(d,{key:0,label:"操作",width:"80"},{default:o(({$index:i})=>[t(m,{type:"danger",link:"",onClick:r=>z(i)},{default:o(()=>[...e[14]||(e[14]=[p(" 删除 ",-1)])]),_:1},8,["onClick"])]),_:1})):L("",!0)]),_:1},8,["data"])])]),_:1}),t(v,{label:"是否公开",prop:"is_public"},{default:o(()=>[t(ae,{modelValue:a(s).is_public,"onUpdate:modelValue":e[4]||(e[4]=i=>a(s).is_public=i),"active-value":1,"inactive-value":0,"active-text":"所有人可见","inactive-text":"仅自己可见"},null,8,["modelValue"]),e[15]||(e[15]=V("div",{class:"text-xs text-gray-400 mt-1"}," 勾选后,所有医生都可以查看和使用此处方模板 ",-1))]),_:1})]),_:1},8,["model","disabled"])]),_:2},[a(n)!=="view"?{name:"footer",fn:o(()=>[t(m,{onClick:e[5]||(e[5]=i=>c.value=!1)},{default:o(()=>[...e[16]||(e[16]=[p("取消",-1)])]),_:1}),t(m,{type:"primary",onClick:Y,loading:a(E)},{default:o(()=>[...e[17]||(e[17]=[p(" 确定 ",-1)])]),_:1},8,["loading"])]),key:"0"}:void 0]),1032,["modelValue","title"])])}}}),Ut=Ee(He,[["__scopeId","data-v-7bf658f6"]]);export{Ut as default}; +import{D as ne,B as de,C as pe,P as me,Q as ue,i as ce,J as _e,L as fe,M as be,N as ve,T as ge,h as ye,g as he,V as we}from"./element-plus-DFTWCWyi.js";import{_ as ke}from"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import{u as Ve,c as Ce,i as _,_ as Ee}from"./index-DBREMm_z.js";import{w as xe}from"./@vue/runtime-dom-DDAG46FW.js";import{f as Ne,l as Se,m as Le,n as Pe}from"./tcm-BcqaE0lo.js";import{u as De}from"./usePaging-VsbTxSU0.js";import{M as Ie}from"./index-DcDP_Tmx.js";import{f as J,b as Ue,as as $e,ak as u,I as S,a as t,aN as o,O as p,aP as h,G as g,J as V,H as L,M as Oe}from"./@vue/runtime-core-C6bnekPw.js";import{y as a,a as M,r as B,n as C}from"./@vue/reactivity-DiY1c2vO.js";import{Q as P}from"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./medicine-CCdxjQY6.js";const Ae={class:"prescription-library"},Me={class:"mt-4"},Be={key:0},Je={key:1,class:"text-gray-400"},Re={class:"flex mt-4 justify-end"},Te={class:"w-full"},Fe=J({name:"prescriptionLibrary"}),He=J({...Fe,setup(Ke){const f=B({prescription_name:"",is_public:""}),c=C(!1),n=C("add"),E=C(!1),x=C(),s=B({id:0,prescription_name:"",herbs:[],is_public:0}),R={prescription_name:[{required:!0,message:"请输入处方名称",trigger:"blur"}]},D=Ve(),T=[0,3],{pager:y,getLists:w,resetParams:F,resetPage:I}=De({fetchFun:Ne,params:f}),H=l=>{var e;return Number(l.creator_id)===Number((e=D.userInfo)==null?void 0:e.id)},K=()=>{const l=D.userInfo;if(!l)return!1;if(Number(l.root)===1)return!0;const e=Array.isArray(l.role_ids)?l.role_ids.map(b=>Number(b)):[];return T.some(b=>e.includes(b))},U=l=>K()||H(l),j=U,q=()=>{s.herbs.push({name:"",dosage:0})},z=l=>{s.herbs.splice(l,1)},G=()=>{s.id=0,s.prescription_name="",s.herbs=[],s.is_public=0},Q=()=>{G(),n.value="add",c.value=!0},W=l=>{n.value="view",s.id=l.id,s.prescription_name=l.prescription_name||"",s.herbs=l.herbs?JSON.parse(JSON.stringify(l.herbs)):[],s.is_public=l.is_public??0,c.value=!0},X=l=>{n.value="edit",s.id=l.id,s.prescription_name=l.prescription_name||"",s.herbs=l.herbs?JSON.parse(JSON.stringify(l.herbs)):[],s.is_public=l.is_public??0,c.value=!0},Y=async()=>{if(x.value){if(await x.value.validate(),!s.herbs||s.herbs.length===0){_.msgError("请至少添加一味药材");return}for(let l=0;l{await _.confirm("确定要删除该处方吗?"),await Pe({id:l}),_.msgSuccess("删除成功"),w()};return Ue(()=>{w()}),(l,e)=>{const b=pe,v=de,N=ue,ee=me,m=ce,$=ne,O=_e,te=Ce,d=ve,le=ge,A=be,ie=ke,oe=ye,ae=he,se=we,k=$e("perms"),re=fe;return u(),S("div",Ae,[t(O,{class:"!border-none",shadow:"never"},{default:o(()=>[t($,{class:"mb-[-16px]",model:a(f),inline:""},{default:o(()=>[t(v,{class:"w-[280px]",label:"处方名称"},{default:o(()=>[t(b,{modelValue:a(f).prescription_name,"onUpdate:modelValue":e[0]||(e[0]=i=>a(f).prescription_name=i),placeholder:"请输入处方名称",clearable:"",onKeyup:xe(a(I),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(v,{class:"w-[200px]",label:"是否公开"},{default:o(()=>[t(ee,{modelValue:a(f).is_public,"onUpdate:modelValue":e[1]||(e[1]=i=>a(f).is_public=i),placeholder:"全部",clearable:""},{default:o(()=>[t(N,{label:"全部",value:""}),t(N,{label:"仅自己可见",value:0}),t(N,{label:"所有人可见",value:1})]),_:1},8,["modelValue"])]),_:1}),t(v,null,{default:o(()=>[t(m,{type:"primary",onClick:a(I)},{default:o(()=>[...e[7]||(e[7]=[p("查询",-1)])]),_:1},8,["onClick"]),t(m,{onClick:a(F)},{default:o(()=>[...e[8]||(e[8]=[p("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),h((u(),g(O,{class:"mt-4 !border-none",shadow:"never"},{default:o(()=>[h((u(),g(m,{type:"primary",onClick:Q},{icon:o(()=>[t(te,{name:"el-icon-Plus"})]),default:o(()=>[e[9]||(e[9]=p(" 新增处方 ",-1))]),_:1})),[[k,["wcf.prescription/add"]]]),V("div",Me,[t(A,{data:a(y).lists,size:"large"},{default:o(()=>[t(d,{label:"ID",prop:"id","min-width":"60"}),t(d,{label:"处方名称",prop:"prescription_name","min-width":"200","show-overflow-tooltip":""}),t(d,{label:"药材数量","min-width":"100"},{default:o(({row:i})=>{var r;return[p(P(((r=i.herbs)==null?void 0:r.length)||0)+"味 ",1)]}),_:1}),t(d,{label:"药材明细","min-width":"300","show-overflow-tooltip":""},{default:o(({row:i})=>[i.herbs&&i.herbs.length>0?(u(),S("span",Be,P(i.herbs.map(r=>`${r.name} ${r.dosage}g`).join("、")),1)):(u(),S("span",Je,"暂无药材"))]),_:1}),t(d,{label:"是否公开","min-width":"120"},{default:o(({row:i})=>[t(le,{type:i.is_public?"success":"info"},{default:o(()=>[p(P(i.is_public?"所有人可见":"仅自己可见"),1)]),_:2},1032,["type"])]),_:1}),t(d,{label:"创建人",prop:"creator_name","min-width":"100"}),t(d,{label:"创建时间",prop:"create_time","min-width":"160"}),t(d,{label:"操作",width:"180",fixed:"right"},{default:o(({row:i})=>[h((u(),g(m,{type:"primary",link:"",onClick:r=>W(i)},{default:o(()=>[...e[10]||(e[10]=[p(" 查看 ",-1)])]),_:1},8,["onClick"])),[[k,["wcf.prescription/read"]]]),U(i)?h((u(),g(m,{key:0,type:"primary",link:"",onClick:r=>X(i)},{default:o(()=>[...e[11]||(e[11]=[p(" 编辑 ",-1)])]),_:1},8,["onClick"])),[[k,["wcf.prescription/edit"]]]):L("",!0),a(j)(i)?h((u(),g(m,{key:1,type:"danger",link:"",onClick:r=>Z(i.id)},{default:o(()=>[...e[12]||(e[12]=[p(" 删除 ",-1)])]),_:1},8,["onClick"])),[[k,["wcf.prescription/delete"]]]):L("",!0)]),_:1})]),_:1},8,["data"])]),V("div",Re,[t(ie,{modelValue:a(y),"onUpdate:modelValue":e[2]||(e[2]=i=>M(y)?y.value=i:null),onChange:a(w)},null,8,["modelValue","onChange"])])]),_:1})),[[re,a(y).loading]]),t(se,{modelValue:a(c),"onUpdate:modelValue":e[6]||(e[6]=i=>M(c)?c.value=i:null),title:a(n)==="add"?"新增处方":a(n)==="edit"?"编辑处方":"查看处方",width:"800px","close-on-click-modal":!1},Oe({default:o(()=>[t($,{ref_key:"formRef",ref:x,model:a(s),rules:R,"label-width":"120px",disabled:a(n)==="view"},{default:o(()=>[t(v,{label:"处方名称",prop:"prescription_name"},{default:o(()=>[t(b,{modelValue:a(s).prescription_name,"onUpdate:modelValue":e[3]||(e[3]=i=>a(s).prescription_name=i),placeholder:"请输入处方名称,例如:六味地黄丸、补中益气汤",maxlength:"100","show-word-limit":""},null,8,["modelValue"])]),_:1}),t(v,{label:"药材配方",prop:"herbs",required:""},{default:o(()=>[V("div",Te,[t(m,{type:"primary",size:"small",onClick:q,disabled:a(n)==="view"},{default:o(()=>[...e[13]||(e[13]=[p(" 添加药材 ",-1)])]),_:1},8,["disabled"]),t(A,{data:a(s).herbs,class:"mt-2",border:""},{default:o(()=>[t(d,{label:"序号",type:"index",width:"60"}),t(d,{label:"药材名称","min-width":"220"},{default:o(({row:i})=>[t(Ie,{modelValue:i.name,"onUpdate:modelValue":r=>i.name=r,disabled:a(n)==="view"},null,8,["modelValue","onUpdate:modelValue","disabled"])]),_:1}),t(d,{label:"剂量(克)","min-width":"150"},{default:o(({row:i})=>[t(oe,{modelValue:i.dosage,"onUpdate:modelValue":r=>i.dosage=r,min:0,precision:1,step:.5,placeholder:"剂量",class:"w-full",disabled:a(n)==="view"},null,8,["modelValue","onUpdate:modelValue","disabled"])]),_:1}),a(n)!=="view"?(u(),g(d,{key:0,label:"操作",width:"80"},{default:o(({$index:i})=>[t(m,{type:"danger",link:"",onClick:r=>z(i)},{default:o(()=>[...e[14]||(e[14]=[p(" 删除 ",-1)])]),_:1},8,["onClick"])]),_:1})):L("",!0)]),_:1},8,["data"])])]),_:1}),t(v,{label:"是否公开",prop:"is_public"},{default:o(()=>[t(ae,{modelValue:a(s).is_public,"onUpdate:modelValue":e[4]||(e[4]=i=>a(s).is_public=i),"active-value":1,"inactive-value":0,"active-text":"所有人可见","inactive-text":"仅自己可见"},null,8,["modelValue"]),e[15]||(e[15]=V("div",{class:"text-xs text-gray-400 mt-1"}," 勾选后,所有医生都可以查看和使用此处方模板 ",-1))]),_:1})]),_:1},8,["model","disabled"])]),_:2},[a(n)!=="view"?{name:"footer",fn:o(()=>[t(m,{onClick:e[5]||(e[5]=i=>c.value=!1)},{default:o(()=>[...e[16]||(e[16]=[p("取消",-1)])]),_:1}),t(m,{type:"primary",onClick:Y,loading:a(E)},{default:o(()=>[...e[17]||(e[17]=[p(" 确定 ",-1)])]),_:1},8,["loading"])]),key:"0"}:void 0]),1032,["modelValue","title"])])}}}),Ut=Ee(He,[["__scopeId","data-v-7bf658f6"]]);export{Ut as default}; diff --git a/server/public/admin/assets/list-BaTlu51A.js b/server/public/admin/assets/list-SPx5xYsC.js similarity index 75% rename from server/public/admin/assets/list-BaTlu51A.js rename to server/public/admin/assets/list-SPx5xYsC.js index 3b567f84..17b3d98f 100644 --- a/server/public/admin/assets/list-BaTlu51A.js +++ b/server/public/admin/assets/list-SPx5xYsC.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/edit-DlBhR6x6.js","assets/element-plus-0wC3naml.js","assets/@vue/runtime-dom-DDAG46FW.js","assets/lodash-D3kF6u-c.js","assets/@vue/runtime-core-C6bnekPw.js","assets/@vue/reactivity-DiY1c2vO.js","assets/@vue/shared-mAAVTE9n.js","assets/@element-plus/icons-vue-HOEUG8sr.js","assets/lodash-es-C2A-Pj28.js","assets/@popperjs/core-C5az9QE8.js","assets/dayjs-DG77mNTn.js","assets/@ctrl/tinycolor-BuyEbX8F.js","assets/async-validator-CFA_igpM.js","assets/normalize-wheel-es-BQoi3Ox2.js","assets/element-plus-C_YxM8bk.css","assets/tcm-SLIwsL8z.js","assets/index-E47--KT7.js","assets/jspdf-BsthCvR5.js","assets/@babel/runtime-BanGtE2-.js","assets/fflate-_ayOYiT1.js","assets/vue-router-QlpZ4wdW.js","assets/pinia-B8cvXbiZ.js","assets/axios-C80V62Fs.js","assets/@vueuse/core-1S4fJlii.js","assets/@vueuse/shared-Cl3lVqjz.js","assets/css-color-function-DI01JAaZ.js","assets/balanced-match-BdS7OldZ.js","assets/color-B2zxaWkI.js","assets/clone-DBZ6_OiU.js","assets/color-convert-OrFsTA_V.js","assets/color-name-Dju3oUBS.js","assets/color-string-pUQDDJII.js","assets/ms-CzQ2E3wO.js","assets/vue-clipboard3-DByT_rEQ.js","assets/clipboard-CHgxszqY.js","assets/echarts-CNLwa9wG.js","assets/tslib-BDyQ-Jie.js","assets/zrender-DRNXw7y3.js","assets/highlight.js-Bxt7hFFy.js","assets/highlight-BfC0goYb.css","assets/@highlightjs/vue-plugin-C4onkBvW.js","assets/index-Cf-gzPmQ.css","assets/perm-YIJpPBOg.js","assets/DailyMatrix-0DiBlpfB.js","assets/picker-DlbAZkDm.js","assets/index-nymJKQXP.js","assets/index-B3imPWFk.css","assets/index-B56X8bEB.js","assets/index.vue_vue_type_script_setup_true_lang-DXTGI59-.js","assets/index-BHTgr4Ka.js","assets/index-D0f1Mn00.css","assets/index-Ci4dcEQh.js","assets/cos-js-sdk-v5-DSMN0LUT.js","assets/file-DoYUJmkp.js","assets/index.vue_vue_type_script_setup_true_lang-Bl0f8aX8.js","assets/usePaging-VsbTxSU0.js","assets/index-BYOmK9R5.css","assets/vuedraggable-5bKFmC7X.js","assets/vue-BVs68q8v.js","assets/@vue/compiler-dom-CqayqxS7.js","assets/@vue/compiler-core-CvbQOXIO.js","assets/sortablejs-dsEAUXlE.js","assets/picker-XZbUgFct.css","assets/vue-echarts-BNtg2q_G.js","assets/resize-detector-G6vbKCU7.js","assets/DiagnosisTodoList-DC7uqd6f.js","assets/DiagnosisTodoList-D0SBmTHG.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix-zLBaKfXe.css","assets/CaseRecordList-CsyYkwG-.js","assets/CaseRecordList-Cl-c3q7S.css","assets/CallRecordPanel-CLexkvxf.js","assets/RecordingPlaybackBlock-z0PPBYke.js","assets/RecordingVideoPlayer-DWV7klHs.js","assets/RecordingVideoPlayer-4DegHAwm.css","assets/RecordingPlaybackBlock-B3KYFgvg.css","assets/CallRecordPanel-TsjZtTO8.css","assets/ImChatRecordPanel-DiuuXcLT.js","assets/im-business-message-parse-QKjFLn3X.js","assets/ImChatRecordPanel-aX8zpWRQ.css","assets/AssignLogPanel-B0ohl4pV.js","assets/AssignLogPanel-BdKOtd2m.css","assets/AppointmentRecordPanel-BZnhzLjC.js","assets/doctor-6V0qM7Ks.js","assets/AppointmentRecordPanel-DC22GDgn.css","assets/NoteTimeline-CDNv1DMC.js","assets/patient-DKQ1nUyC.js","assets/NoteTimeline-CCWIpEBQ.css","assets/PatientOrderList-DQ7QxnQw.js","assets/PatientOrderList-iKx_Cn9B.css","assets/index-kYFkWYEt.js","assets/index-wwnvQhjf.js","assets/medicine-D-OyzCbR.js","assets/index-tfEElgYq.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/html2canvas-QH1iLAAe.js","assets/index-DGbIWVjL.css","assets/edit-z2mn_utb.css","assets/TrackingNoteTimeline-B9T8pFso.css","assets/index-Bou06sos.js","assets/@tencentcloud/chat-uikit-vue3-CLQ__Wr9.js","assets/@tencentcloud/uikit-base-component-vue3-YgTqL4da.js","assets/@tencentcloud/uikit-base-component-vue3-BkrtIuVN.css","assets/tuikit-atomicx-vue3-Dln8Zi6e.js","assets/@tencentcloud/chat-uikit-engine-zx802ozq.js","assets/@tencentcloud/chat-AC2Y2r2A.js","assets/tim-upload-plugin-HO4N4AW9.js","assets/tim-profanity-filter-plugin-Dn_Cf-mP.js","assets/@tencentcloud/tui-core-8M7p1XHw.js","assets/@tencentcloud/tuiroom-engine-js-Br9swJyU.js","assets/rtc-detect-Chu-fZvE.js","assets/tcplayer.js-qpFBCYzN.js","assets/tuikit-atomicx-vue3-Qhi9ezz1.css","assets/@tencentcloud/chat-uikit-vue3-Cj2eB1Uk.css","assets/@tencentcloud/call-uikit-vue-DB7vt9Ht.js","assets/@tencentcloud/call-engine-js-BX2W9Lhf.js","assets/index-BqRj5hg7.css"])))=>i.map(i=>d[i]); -import{_ as Z}from"./jspdf-BsthCvR5.js";import{m as Ht,l as Qt,d as jt,S as Gt,C as Yt,i as Jt,p as Kt,n as Xt,o as Zt,G as te,F as ee,V as se,M as ae,N as le,T as ie,L as ne,J as oe}from"./element-plus-0wC3naml.js";import{_ as de}from"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import{_ as re}from"./index.vue_vue_type_script_setup_true_lang-DBEwrTRf.js";import{w as pe,s as ut}from"./@vue/runtime-dom-DDAG46FW.js";import{u as ue}from"./usePaging-VsbTxSU0.js";import{c as _e,k as me,j as ce}from"./doctor-6V0qM7Ks.js";import{H as fe,U as ge,V as ve}from"./tcm-SLIwsL8z.js";import{u as ye,i as v,_ as be}from"./index-E47--KT7.js";import{i as ke,f as De}from"./diabetes-discovery-display-B_wmGXQJ.js";import{g as Ce}from"./weapp-C8BHuU_o.js";import{j as Ve,a7 as Ee,a8 as _t,b as mt,d as Se,e as ct,k as ft,x as we,O as he,G as tt,X as Te,l as $e}from"./@element-plus/icons-vue-HOEUG8sr.js";import{f as ze,w as Pe,b as Ie,d as qe,as as xe,ak as _,I as y,a,aN as i,J as e,O as p,G as g,H as f,aP as P,F as Re,P as et,A as gt}from"./@vue/runtime-core-C6bnekPw.js";import{a as B,y as s,r as Ae,n as b}from"./@vue/reactivity-DiY1c2vO.js";import{Q as u}from"./@vue/shared-mAAVTE9n.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Le={class:"appointment-list"},Ue={class:"list-toolbar"},Be={class:"tab-label tab-priority"},Me={class:"tab-label"},Oe={class:"tab-label"},Fe={class:"tab-label"},Ne={class:"tab-label"},We={class:"toolbar-actions"},He={class:"filter-bar"},Qe={class:"filter-group"},je={class:"filter-group"},Ge={class:"table-wrap"},Ye={class:"patient-cell"},Je={class:"patient-info"},Ke={class:"patient-name"},Xe={class:"patient-phone"},Ze={class:"patient-extra"},ts={class:"datetime-cell"},es={class:"date-text"},ss={class:"time-text"},as={class:"prescription-tags"},ls={class:"action-btns"},is={class:"flex justify-end py-4 px-4"},ns={key:0,class:"detail-content"},os={class:"detail-section"},ds={class:"detail-section-title"},rs={class:"detail-grid"},ps={class:"detail-item"},us={class:"detail-value"},_s={class:"detail-item"},ms={class:"detail-item"},cs={class:"detail-value"},fs={class:"detail-item"},gs={class:"detail-value"},vs={class:"detail-item"},ys={class:"detail-value"},bs={class:"detail-item"},ks={class:"detail-value"},Ds={class:"detail-section"},Cs={class:"detail-section-title"},Vs={class:"detail-grid"},Es={class:"detail-item"},Ss={class:"detail-value"},ws={class:"detail-item"},hs={class:"detail-value"},Ts={class:"detail-item"},$s={class:"detail-value"},zs={class:"detail-item"},Ps={class:"detail-value"},Is={class:"detail-item"},qs={class:"detail-value"},xs={class:"detail-item"},Rs={class:"detail-value"},As={class:"detail-item"},Ls={class:"detail-value"},Us={class:"detail-item"},Bs={class:"detail-value"},Ms={class:"detail-item"},Os={class:"detail-value"},Fs={class:"detail-item"},Ns={class:"detail-value"},Ws={class:"detail-item"},Hs={class:"detail-value"},Qs={class:"detail-item"},js={class:"detail-value"},Gs={class:"detail-item"},Ys={class:"detail-value"},Js={class:"detail-item"},Ks={class:"detail-value"},Xs={class:"detail-item"},Zs={class:"detail-value"},ta={class:"detail-item"},ea={class:"detail-value"},sa={key:0,class:"detail-section"},aa={class:"detail-section-title"},la={class:"detail-grid"},ia={key:0,class:"detail-item"},na={class:"detail-value"},oa={key:1,class:"detail-item"},da={class:"detail-value"},ra={key:2,class:"detail-item detail-item-full"},pa={class:"detail-value"},ua={key:3,class:"detail-item detail-item-full"},_a={class:"detail-value"},ma={key:1,class:"detail-section"},ca={class:"detail-section-title"},fa={class:"detail-grid"},ga={key:0,class:"detail-item"},va={class:"detail-value"},ya={key:1,class:"detail-item"},ba={class:"detail-value"},ka={key:2,class:"detail-item detail-item-full"},Da={class:"detail-value"},Ca={key:3,class:"detail-item detail-item-full"},Va={class:"detail-value"},Ea={class:"detail-section"},Sa={class:"detail-remark"},wa={class:"qrcode-content"},ha={key:0,class:"qrcode-loading"},Ta={key:1,class:"qrcode-success"},$a={class:"qrcode-image-wrap"},za=["src"],Pa={class:"qrcode-info"},Ia={class:"qrcode-patient"},qa={key:2,class:"qrcode-error"},xa=2e4,Ra=ze({__name:"list",setup(Aa){const vt=et(()=>Z(()=>import("./edit-DlBhR6x6.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98]))),yt=et(()=>Z(()=>import("./index-kYFkWYEt.js"),__vite__mapDeps([90,1,2,3,4,5,6,7,8,9,10,11,12,13,14,91,92,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,93,94,15,95,96]))),bt=et(()=>Z(()=>import("./index-Bou06sos.js"),__vite__mapDeps([99,1,2,3,4,5,6,7,8,9,10,11,12,13,14,53,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,86,15,100,101,102,103,104,105,106,107,108,58,59,60,109,110,111,112,113,78,114,115,116]))),st=ye(),kt=gt(()=>st.userInfo),Dt=l=>!l||l.length<11?l:l.replace(/(\d{3})\d{4}(\d{4})/,"$1****$2"),Ct=gt(()=>{const l=kt.value.role_id;return Array.isArray(l)?!l.includes(1)&&!l.includes(2):l!==1&&l!==2}),r=Ae({patient_name:"",doctor_name:"",status:"",start_date:"",end_date:"",date_preset:"today",diagnosis_confirmed:"",include_status_counts:0}),M=b("1"),x=b(!1),S=b({1:0,2:0,3:0,4:0}),{pager:V,getLists:at,resetPage:Vt}=ue({fetchFun:_e,params:r,firstLoading:!0});Pe(()=>[r.start_date,r.end_date],([l,t])=>{if(!r.date_preset)return;const o=new Date,c=I=>String(I).padStart(2,"0"),m=I=>`${I.getFullYear()}-${c(I.getMonth()+1)}-${c(I.getDate())}`,w=m(o),T=new Date(o);T.setDate(T.getDate()-1);const k=m(T),h=new Date(o);h.setDate(h.getDate()-2);const Q=m(h),A=new Date(o);A.setDate(A.getDate()+1);const E=m(A),L=new Date(o);L.setDate(L.getDate()+2);const X=m(L),$=r.date_preset,C=$==="yesterday"?k:$==="day_before"?Q:$==="today"?w:$==="tomorrow"?E:X;(l||"").split(" ")[0]!==C&&(r.date_preset="")});const Et=l=>{l==="all"?r.status="":r.status=Number(l),Vt()};let O=null;const D=async l=>{const t=(l==null?void 0:l.silent)===!0;r.include_status_counts=1;try{await at({silent:t});const o=V.extend,c=o==null?void 0:o.status_count;if(c)for(const m of[1,2,3,4]){const w=c[m]??c[String(m)];typeof w=="number"&&(S.value[m]=w)}}catch(o){if(!t)throw o}finally{r.include_status_counts=0}},St=l=>{l==="customDate"?x.value=!0:l==="reset"&&$t()},wt=()=>{r.date_preset="",x.value=!1,V.page=1,D()},ht=()=>{V.page=1,D()},Tt=l=>{const t=String(l||"");if(!t){r.date_preset="",r.start_date="",r.end_date="",D();return}const o=new Date,c=T=>String(T).padStart(2,"0");let m;t==="yesterday"?(m=new Date(o),m.setDate(m.getDate()-1)):t==="day_before"?(m=new Date(o),m.setDate(m.getDate()-2)):t==="today"?m=o:t==="tomorrow"?(m=new Date(o),m.setDate(m.getDate()+1)):(m=new Date(o),m.setDate(m.getDate()+2));const w=`${m.getFullYear()}-${c(m.getMonth()+1)}-${c(m.getDate())}`;r.date_preset=t,r.start_date=w,r.end_date=w,V.page=1,D()},lt=()=>{V.page=1,D()},$t=()=>{M.value="1",r.patient_name="",r.doctor_name="",r.date_preset="today",r.diagnosis_confirmed="";const l=new Date,t=o=>String(o).padStart(2,"0");r.start_date=`${l.getFullYear()}-${t(l.getMonth()+1)}-${t(l.getDate())}`,r.end_date=r.start_date,r.status=1,V.page=1,D()},j=b(!1),d=b(null),zt=b([]),Pt=b([]),It=b([]),qt=b([]),F=(l,t)=>{if(!t)return"-";const o=l.find(c=>c.value===t);return o?o.name:t},xt=l=>(Array.isArray(l)?l:typeof l=="string"?l.split(/[,,、]/):[]).map(o=>F(qt.value,o.trim())).filter(Boolean).join("、")||"-",G=b(),Y=b(),it=b(),R=b(!1),N=b(!1),W=b(""),H=b(null),Rt=(l,t)=>{switch(l){case"edit":ot(t);break;case"viewCase":Mt(t);break;case"complete":nt(t);break;case"chat":dt(t);break;case"qrcode":J(t);break;case"prescription":rt(t);break;case"cancel":At(t);break}},At=async l=>{try{await v.confirm("确定要取消该挂号吗?"),await me({id:l.id}),v.msgSuccess("取消成功"),D()}catch{}},nt=async l=>{try{await v.confirm("确认患者已就诊完成?"),await ce({id:l.id}),v.msgSuccess("操作成功"),D()}catch{}},ot=l=>{var t;if(!l.patient_id){v.msgWarning("该预约没有关联诊单信息");return}(t=G.value)==null||t.open("edit",l.patient_id)},Lt=l=>{ot(l)},dt=async l=>{var t;if(!l.patient_id){v.msgWarning("患者信息不完整");return}if(!l.diagnosis_id&&!l.id){v.msgWarning("预约信息不完整,无法发起聊天");return}try{const o=await fe({patient_id:l.patient_id,diagnosis_id:l.diagnosis_id||l.id});console.log("获取聊天签名成功:",o),(t=it.value)==null||t.open({patientId:l.patient_id,patientName:l.patient_name,diagnosisId:l.diagnosis_id||l.id,signatureData:o})}catch(o){console.error("获取聊天签名失败:",o),v.msgError(o.message||"获取聊天签名失败")}},J=async l=>{if(!l.patient_id){v.msgWarning("患者信息不完整");return}H.value=l,R.value=!0,N.value=!0,W.value="";try{const t=await Ce();if(!(t!=null&&t.app_id)){v.msgError("小程序未配置,请先配置小程序信息"),R.value=!1;return}const o=st.userInfo,c=await ge({diagnosis_id:l.doctor_id||"",patient_id:l.patient_id,share_user_id:(o==null?void 0:o.id)||"",mini_program_path:"pages/login/login"});c!=null&&c.qrcode_url?W.value=c.qrcode_url:v.msgError("二维码生成失败")}catch(t){console.error("生成小程序二维码失败:",t),v.msgError((t==null?void 0:t.msg)||"生成二维码失败,请重试")}finally{N.value=!1}},Ut=()=>{var l,t;D(),(t=(l=G.value)==null?void 0:l.refreshCaseList)==null||t.call(l)};function Bt(l){return(l==null?void 0:l.prescription_audit_status)===1&&Number(l==null?void 0:l.prescription_void_status)!==1?"查看":"开方"}const rt=l=>{var t;if(!l.diagnosis_id&&!l.patient_id){v.msgWarning("该预约缺少诊单信息,请先编辑患者");return}(t=Y.value)==null||t.open(l)},Mt=async l=>{var t;if(!l.id){v.msgWarning("预约信息不完整");return}try{const o=await ve({appointment_id:l.id});o!=null&&o.id?(t=Y.value)==null||t.openById(o.id):v.msgWarning("该预约暂无病历记录,请先开方")}catch(o){v.msgError((o==null?void 0:o.msg)||"获取病历失败")}},Ot=()=>{H.value&&J(H.value)},K=new Date,pt=l=>String(l).padStart(2,"0");return r.start_date=`${K.getFullYear()}-${pt(K.getMonth()+1)}-${pt(K.getDate())}`,r.end_date=r.start_date,r.status=1,Ie(()=>{D(),O=setInterval(()=>{D({silent:!0})},xa)}),qe(()=>{O!==null&&(clearInterval(O),O=null)}),(l,t)=>{const o=jt,c=Gt,m=Qt,w=Ht,T=Yt,k=Jt,h=Zt,Q=Xt,A=Kt,E=ee,L=te,X=re,$=se,C=le,z=ie,I=ae,Ft=de,Nt=oe,q=xe("perms"),Wt=ne;return _(),y("div",Le,[a(Nt,{class:"list-card !border-none",shadow:"never"},{default:i(()=>[e("div",Ue,[a(w,{modelValue:s(M),"onUpdate:modelValue":t[0]||(t[0]=n=>B(M)?M.value=n:null),onTabChange:Et,class:"list-tabs"},{default:i(()=>[a(m,{name:"1"},{label:i(()=>[e("span",Be,[a(o,null,{default:i(()=>[a(s(Ve))]),_:1}),t[16]||(t[16]=p("待接诊",-1)),s(S)[1]?(_(),g(c,{key:0,value:s(S)[1],class:"tab-badge tab-badge-success"},null,8,["value"])):f("",!0)])]),_:1}),a(m,{name:"all"},{label:i(()=>[e("span",Me,[a(o,null,{default:i(()=>[a(s(Ee))]),_:1}),t[17]||(t[17]=p("全部",-1))])]),_:1}),a(m,{name:"4"},{label:i(()=>[e("span",Oe,[a(o,null,{default:i(()=>[a(s(_t))]),_:1}),t[18]||(t[18]=p("已过号",-1)),s(S)[4]?(_(),g(c,{key:0,value:s(S)[4],class:"tab-badge tab-badge-danger"},null,8,["value"])):f("",!0)])]),_:1}),a(m,{name:"2"},{label:i(()=>[e("span",Fe,[a(o,null,{default:i(()=>[a(s(mt))]),_:1}),t[19]||(t[19]=p("已取消",-1)),s(S)[2]?(_(),g(c,{key:0,value:s(S)[2],class:"tab-badge tab-badge-info"},null,8,["value"])):f("",!0)])]),_:1}),a(m,{name:"3"},{label:i(()=>[e("span",Ne,[a(o,null,{default:i(()=>[a(s(Se))]),_:1}),t[20]||(t[20]=p("已完成",-1)),s(S)[3]?(_(),g(c,{key:0,value:s(S)[3],class:"tab-badge tab-badge-primary"},null,8,["value"])):f("",!0)])]),_:1})]),_:1},8,["modelValue"]),e("div",We,[a(T,{modelValue:s(r).patient_name,"onUpdate:modelValue":t[1]||(t[1]=n=>s(r).patient_name=n),placeholder:"患者姓名",clearable:"",size:"small",class:"action-input",onKeyup:pe(lt,["enter"])},null,8,["modelValue"]),a(k,{type:"primary",size:"small",onClick:lt},{default:i(()=>[...t[21]||(t[21]=[p("查询",-1)])]),_:1}),a(A,{trigger:"click",onCommand:St},{dropdown:i(()=>[a(Q,null,{default:i(()=>[s(Ct)?(_(),g(h,{key:0,class:"dropdown-item-with-input",onClick:t[4]||(t[4]=ut(()=>{},["stop"]))},{default:i(()=>[t[23]||(t[23]=e("span",{class:"dropdown-label"},"医生",-1)),a(T,{modelValue:s(r).doctor_name,"onUpdate:modelValue":t[2]||(t[2]=n=>s(r).doctor_name=n),placeholder:"医生",size:"small",class:"dropdown-input",onClick:t[3]||(t[3]=ut(()=>{},["stop"]))},null,8,["modelValue"])]),_:1})):f("",!0),a(h,{command:"customDate",divided:""},{default:i(()=>[a(o,null,{default:i(()=>[a(s(ft))]),_:1}),t[24]||(t[24]=p(" 自定义日期 ",-1))]),_:1}),a(h,{command:"reset"},{default:i(()=>[a(o,null,{default:i(()=>[a(s(we))]),_:1}),t[25]||(t[25]=p(" 重置 ",-1))]),_:1})]),_:1})]),default:i(()=>[a(k,{size:"small"},{default:i(()=>[t[22]||(t[22]=p("更多",-1)),a(o,{class:"el-icon--right"},{default:i(()=>[a(s(ct))]),_:1})]),_:1})]),_:1})])]),e("div",He,[e("div",Qe,[t[32]||(t[32]=e("span",{class:"filter-label"},"日期",-1)),a(L,{modelValue:s(r).date_preset,"onUpdate:modelValue":t[5]||(t[5]=n=>s(r).date_preset=n),size:"small",onChange:Tt,class:"filter-radio"},{default:i(()=>[a(E,{value:"yesterday"},{default:i(()=>[...t[26]||(t[26]=[p("昨天挂号",-1)])]),_:1}),a(E,{value:"day_before"},{default:i(()=>[...t[27]||(t[27]=[p("前天挂号",-1)])]),_:1}),a(E,{value:"today"},{default:i(()=>[...t[28]||(t[28]=[p("当天挂号",-1)])]),_:1}),a(E,{value:"tomorrow"},{default:i(()=>[...t[29]||(t[29]=[p("明天挂号",-1)])]),_:1}),a(E,{value:"day_after"},{default:i(()=>[...t[30]||(t[30]=[p("后天挂号",-1)])]),_:1}),a(E,{value:""},{default:i(()=>[...t[31]||(t[31]=[p("不限",-1)])]),_:1})]),_:1},8,["modelValue"])]),e("div",je,[t[36]||(t[36]=e("span",{class:"filter-label"},"确认诊单",-1)),a(L,{modelValue:s(r).diagnosis_confirmed,"onUpdate:modelValue":t[6]||(t[6]=n=>s(r).diagnosis_confirmed=n),size:"small",onChange:ht,class:"filter-radio"},{default:i(()=>[a(E,{value:""},{default:i(()=>[...t[33]||(t[33]=[p("全部",-1)])]),_:1}),a(E,{value:"1"},{default:i(()=>[...t[34]||(t[34]=[p("已确认",-1)])]),_:1}),a(E,{value:"0"},{default:i(()=>[...t[35]||(t[35]=[p("未确认",-1)])]),_:1})]),_:1},8,["modelValue"])])]),a($,{modelValue:s(x),"onUpdate:modelValue":t[10]||(t[10]=n=>B(x)?x.value=n:null),title:"自定义日期",width:"400px","append-to-body":"","close-on-click-modal":!0},{footer:i(()=>[a(k,{onClick:t[9]||(t[9]=n=>x.value=!1)},{default:i(()=>[...t[37]||(t[37]=[p("取消",-1)])]),_:1}),a(k,{type:"primary",onClick:wt},{default:i(()=>[...t[38]||(t[38]=[p("确定",-1)])]),_:1})]),default:i(()=>[a(X,{startTime:s(r).start_date,"onUpdate:startTime":t[7]||(t[7]=n=>s(r).start_date=n),endTime:s(r).end_date,"onUpdate:endTime":t[8]||(t[8]=n=>s(r).end_date=n)},null,8,["startTime","endTime"])]),_:1},8,["modelValue"]),e("div",Ge,[P((_(),g(I,{data:s(V).lists,size:"default",class:"appointment-table"},{default:i(()=>[a(C,{label:"ID",prop:"id",width:"72",align:"center"}),a(C,{label:"患者信息","min-width":"140"},{default:i(({row:n})=>[e("div",Ye,[e("div",Je,[e("div",Ke,u(n.patient_name),1),e("div",Xe,u(Dt(n.patient_phone)),1),e("div",Ze,u([n.gender===1?"男":n.gender===0?"女":"",n.age!=null?n.age+"岁":"",n.height!=null?n.height+"cm":"",n.weight!=null?n.weight+"kg":""].filter(Boolean).join(" ")||"-"),1)])])]),_:1}),a(C,{label:"医生",prop:"doctor_name",width:"90","show-overflow-tooltip":""}),a(C,{label:"预约时间","min-width":"120"},{default:i(({row:n})=>[e("div",ts,[e("div",es,u(n.appointment_date),1),e("div",ss,u(n.appointment_time),1)])]),_:1}),a(C,{label:"助理",prop:"assistant_name",width:"100","show-overflow-tooltip":""},{default:i(({row:n})=>[p(u(n.assistant_name||"—"),1)]),_:1}),a(C,{label:"确认诊单",width:"90",align:"center"},{default:i(({row:n})=>[n.diagnosis_confirmed?(_(),g(z,{key:0,type:"success",size:"small",effect:"plain"},{default:i(()=>[...t[39]||(t[39]=[p("已确认",-1)])]),_:1})):(_(),g(z,{key:1,type:"warning",size:"small",effect:"plain"},{default:i(()=>[...t[40]||(t[40]=[p("未确认",-1)])]),_:1}))]),_:1}),a(C,{label:"开方",width:"120",align:"center"},{default:i(({row:n})=>[e("div",as,[n.has_prescription?(_(),g(z,{key:0,type:"success",size:"small",effect:"plain"},{default:i(()=>[...t[41]||(t[41]=[p("已开方",-1)])]),_:1})):(_(),g(z,{key:1,type:"info",size:"small",effect:"plain"},{default:i(()=>[...t[42]||(t[42]=[p("未开方",-1)])]),_:1})),n.has_prescription&&n.prescription_is_system_auto===1?(_(),g(z,{key:2,type:"warning",size:"small",effect:"plain"},{default:i(()=>[...t[43]||(t[43]=[p(" 系统代开 ",-1)])]),_:1})):f("",!0)])]),_:1}),a(C,{label:"状态",width:"90",align:"center"},{default:i(({row:n})=>[a(z,{type:n.status===1?"success":n.status===2?"info":n.status===3?"primary":"danger",size:"small",effect:"light",round:""},{default:i(()=>[p(u(n.status_desc),1)]),_:2},1032,["type"])]),_:1}),a(C,{label:"备注",prop:"remark","min-width":"120","show-overflow-tooltip":""}),a(C,{label:"操作",width:"380",fixed:"right",align:"left"},{default:i(({row:n})=>[e("div",ls,[P((_(),g(k,{type:"primary",link:"",size:"small",onClick:U=>Lt(n)},{default:i(()=>[...t[44]||(t[44]=[p(" 编辑患者 ",-1)])]),_:1},8,["onClick"])),[[q,["tcm.diagnosis/edit"]]]),n.status!==3?(_(),y(Re,{key:0},[P((_(),g(k,{type:"warning",link:"",size:"small",onClick:U=>J(n),class:"action-qrcode"},{default:i(()=>[a(o,null,{default:i(()=>[a(s(he))]),_:1}),t[45]||(t[45]=p(" 视频二维码 ",-1))]),_:1},8,["onClick"])),[[q,["tcm.diagnosis/videoQr"]]]),P((_(),g(k,{type:"primary",link:"",size:"small",onClick:U=>dt(n)},{default:i(()=>[...t[46]||(t[46]=[p(" 通话 ",-1)])]),_:1},8,["onClick"])),[[q,["doctor.appointment/prescription"]]]),P((_(),g(k,{type:"success",link:"",size:"small",onClick:U=>nt(n)},{default:i(()=>[...t[47]||(t[47]=[p(" 完成 ",-1)])]),_:1},8,["onClick"])),[[q,["doctor.appointment/complete"]]])],64)):f("",!0),P((_(),g(k,{type:"primary",link:"",size:"small",onClick:U=>rt(n)},{default:i(()=>[p(u(Bt(n)),1)]),_:2},1032,["onClick"])),[[q,["tcm.diagnosis/kaifang"]]]),a(A,{trigger:"click",onCommand:U=>Rt(U,n),placement:"bottom-end"},{dropdown:i(()=>[a(Q,null,{default:i(()=>[P((_(),g(h,{command:"viewCase"},{default:i(()=>[a(o,null,{default:i(()=>[a(s(tt))]),_:1}),t[49]||(t[49]=p(" 病历 ",-1))]),_:1})),[[q,["tcm.diagnosis/kaifang"]]]),n.status===1?P((_(),g(h,{key:0,command:"cancel",divided:""},{default:i(()=>[a(o,null,{default:i(()=>[a(s(mt))]),_:1}),t[50]||(t[50]=e("span",{class:"text-danger"},"取消挂号",-1))]),_:1})),[[q,["doctor.appointment/cancel"]]]):f("",!0)]),_:2},1024)]),default:i(()=>[a(k,{type:"info",link:"",size:"small"},{default:i(()=>[t[48]||(t[48]=p(" 更多 ",-1)),a(o,{class:"el-icon--right"},{default:i(()=>[a(s(ct))]),_:1})]),_:1})]),_:2},1032,["onCommand"])])]),_:1})]),_:1},8,["data"])),[[Wt,s(V).loading]]),e("div",is,[a(Ft,{modelValue:s(V),"onUpdate:modelValue":t[11]||(t[11]=n=>B(V)?V.value=n:null),onChange:s(at)},null,8,["modelValue","onChange"])])])]),_:1}),a($,{modelValue:s(j),"onUpdate:modelValue":t[12]||(t[12]=n=>B(j)?j.value=n:null),title:"挂号详情",width:"720px",class:"detail-dialog","destroy-on-close":""},{default:i(()=>[s(d)?(_(),y("div",ns,[e("div",os,[e("div",ds,[a(o,null,{default:i(()=>[a(s(ft))]),_:1}),t[51]||(t[51]=p(" 预约信息 ",-1))]),e("div",rs,[e("div",ps,[t[52]||(t[52]=e("span",{class:"detail-label"},"挂号ID",-1)),e("span",us,u(s(d).id),1)]),e("div",_s,[t[53]||(t[53]=e("span",{class:"detail-label"},"状态",-1)),a(z,{type:s(d).status===1?"success":s(d).status===2?"info":s(d).status===3?"primary":"danger",size:"small",effect:"light"},{default:i(()=>[p(u(s(d).status_desc),1)]),_:1},8,["type"])]),e("div",ms,[t[54]||(t[54]=e("span",{class:"detail-label"},"医生",-1)),e("span",cs,u(s(d).doctor_name),1)]),e("div",fs,[t[55]||(t[55]=e("span",{class:"detail-label"},"预约时间",-1)),e("span",gs,u(s(d).appointment_date)+" "+u(s(d).appointment_time),1)]),e("div",vs,[t[56]||(t[56]=e("span",{class:"detail-label"},"时段",-1)),e("span",ys,u(s(d).period==="morning"?"上午":"下午"),1)]),e("div",bs,[t[57]||(t[57]=e("span",{class:"detail-label"},"预约类型",-1)),e("span",ks,u(s(d).appointment_type_desc),1)])])]),e("div",Ds,[e("div",Cs,[a(o,null,{default:i(()=>[a(s(Te))]),_:1}),t[58]||(t[58]=p(" 患者信息 ",-1))]),e("div",Vs,[e("div",Es,[t[59]||(t[59]=e("span",{class:"detail-label"},"姓名",-1)),e("span",Ss,u(s(d).patient_name||"-"),1)]),e("div",ws,[t[60]||(t[60]=e("span",{class:"detail-label"},"手机号",-1)),e("span",hs,u(s(d).phone||s(d).patient_phone||"-"),1)]),e("div",Ts,[t[61]||(t[61]=e("span",{class:"detail-label"},"身份证号",-1)),e("span",$s,u(s(d).id_card||"-"),1)]),e("div",zs,[t[62]||(t[62]=e("span",{class:"detail-label"},"性别",-1)),e("span",Ps,u(s(d).gender===1?"男":s(d).gender===0?"女":"-"),1)]),e("div",Is,[t[63]||(t[63]=e("span",{class:"detail-label"},"年龄",-1)),e("span",qs,u(s(d).age!=null?s(d).age+"岁":"-"),1)]),e("div",xs,[t[64]||(t[64]=e("span",{class:"detail-label"},"诊断日期",-1)),e("span",Rs,u(s(d).diagnosis_date||"-"),1)]),e("div",As,[t[65]||(t[65]=e("span",{class:"detail-label"},"婚姻状态",-1)),e("span",Ls,u(s(d).marital_status===0?"未婚":s(d).marital_status===1?"已婚":s(d).marital_status===2?"离异":"-"),1)]),e("div",Us,[t[66]||(t[66]=e("span",{class:"detail-label"},"身高(cm)",-1)),e("span",Bs,u(s(d).height??"-"),1)]),e("div",Ms,[t[67]||(t[67]=e("span",{class:"detail-label"},"体重(kg)",-1)),e("span",Os,u(s(d).weight??"-"),1)]),e("div",Fs,[t[68]||(t[68]=e("span",{class:"detail-label"},"地区",-1)),e("span",Ns,u(s(d).region||"-"),1)]),e("div",Ws,[t[69]||(t[69]=e("span",{class:"detail-label"},"收缩压(mmHg)",-1)),e("span",Hs,u(s(d).systolic_pressure??"-"),1)]),e("div",Qs,[t[70]||(t[70]=e("span",{class:"detail-label"},"舒张压(mmHg)",-1)),e("span",js,u(s(d).diastolic_pressure??"-"),1)]),e("div",Gs,[t[71]||(t[71]=e("span",{class:"detail-label"},"空腹血糖(mmol/L)",-1)),e("span",Ys,u(s(d).fasting_blood_sugar??"-"),1)]),e("div",Js,[t[72]||(t[72]=e("span",{class:"detail-label"},"诊断类型",-1)),e("span",Ks,u(F(s(zt),s(d).diagnosis_type)||"-"),1)]),e("div",Xs,[t[73]||(t[73]=e("span",{class:"detail-label"},"证型",-1)),e("span",Zs,u(F(s(Pt),s(d).syndrome_type)||"-"),1)]),e("div",ta,[t[74]||(t[74]=e("span",{class:"detail-label"},"糖尿病期数",-1)),e("span",ea,u(F(s(It),s(d).diabetes_type)||"-"),1)])])]),s(d).symptoms||s(d).local_hospital_name||s(d).past_history&&s(d).past_history.length?(_(),y("div",sa,[e("div",aa,[a(o,null,{default:i(()=>[a(s(tt))]),_:1}),t[75]||(t[75]=p(" 病史信息 ",-1))]),e("div",la,[s(ke)(s(d).diabetes_discovery_year)?(_(),y("div",ia,[t[76]||(t[76]=e("span",{class:"detail-label"},"发现糖尿病病史",-1)),e("span",na,u(s(De)(s(d).diabetes_discovery_year)),1)])):f("",!0),s(d).local_hospital_name?(_(),y("div",oa,[t[77]||(t[77]=e("span",{class:"detail-label"},"当地就诊医院",-1)),e("span",da,u(s(d).local_hospital_name),1)])):f("",!0),s(d).symptoms?(_(),y("div",ra,[t[78]||(t[78]=e("span",{class:"detail-label"},"症状补充",-1)),e("span",pa,u(s(d).symptoms),1)])):f("",!0),s(d).past_history&&s(d).past_history.length?(_(),y("div",ua,[t[79]||(t[79]=e("span",{class:"detail-label"},"既往史",-1)),e("span",_a,u(xt(s(d).past_history)),1)])):f("",!0)])])):f("",!0),s(d).tongue_coating||s(d).pulse||s(d).treatment_principle||s(d).prescription?(_(),y("div",ma,[e("div",ca,[a(o,null,{default:i(()=>[a(s(tt))]),_:1}),t[80]||(t[80]=p(" 诊断信息 ",-1))]),e("div",fa,[s(d).tongue_coating?(_(),y("div",ga,[t[81]||(t[81]=e("span",{class:"detail-label"},"舌苔",-1)),e("span",va,u(s(d).tongue_coating),1)])):f("",!0),s(d).pulse?(_(),y("div",ya,[t[82]||(t[82]=e("span",{class:"detail-label"},"脉象",-1)),e("span",ba,u(s(d).pulse),1)])):f("",!0),s(d).treatment_principle?(_(),y("div",ka,[t[83]||(t[83]=e("span",{class:"detail-label"},"治则",-1)),e("span",Da,u(s(d).treatment_principle),1)])):f("",!0),s(d).prescription?(_(),y("div",Ca,[t[84]||(t[84]=e("span",{class:"detail-label"},"处方",-1)),e("span",Va,u(s(d).prescription),1)])):f("",!0)])])):f("",!0),e("div",Ea,[t[85]||(t[85]=e("div",{class:"detail-section-title"},"备注",-1)),e("p",Sa,u(s(d).remark||"无"),1)])])):f("",!0)]),_:1},8,["modelValue"]),a(s(vt),{ref_key:"editRef",ref:G,onSuccess:t[13]||(t[13]=()=>D({silent:!0}))},null,512),a(s(yt),{ref_key:"prescriptionRef",ref:Y,onSuccess:Ut},null,512),a(s(bt),{ref_key:"chatDialogRef",ref:it},null,512),a($,{modelValue:s(R),"onUpdate:modelValue":t[15]||(t[15]=n=>B(R)?R.value=n:null),title:"小程序二维码",width:"380px","close-on-click-modal":!1,class:"qrcode-dialog"},{footer:i(()=>[a(k,{onClick:t[14]||(t[14]=n=>R.value=!1)},{default:i(()=>[...t[90]||(t[90]=[p("关闭",-1)])]),_:1}),s(N)?f("",!0):(_(),g(k,{key:0,type:"primary",onClick:Ot},{default:i(()=>[...t[91]||(t[91]=[p(" 重新生成 ",-1)])]),_:1}))]),default:i(()=>{var n;return[e("div",wa,[s(N)?(_(),y("div",ha,[a(o,{class:"is-loading",size:48},{default:i(()=>[a(s($e))]),_:1}),t[86]||(t[86]=e("div",{class:"qrcode-loading-text"},"生成中...",-1))])):s(W)?(_(),y("div",Ta,[e("div",$a,[e("img",{src:s(W),alt:"小程序二维码",class:"qrcode-image"},null,8,za)]),e("div",Pa,[e("div",Ia,"患者:"+u((n=s(H))==null?void 0:n.patient_name),1),t[87]||(t[87]=e("div",{class:"qrcode-tip"},"请使用微信扫描二维码",-1)),t[88]||(t[88]=e("div",{class:"qrcode-path"},"pages/login/login",-1))])])):(_(),y("div",qa,[a(o,{size:40},{default:i(()=>[a(s(_t))]),_:1}),t[89]||(t[89]=e("div",null,"生成失败,请重试",-1))]))])]}),_:1},8,["modelValue"])])}}}),hl=be(Ra,[["__scopeId","data-v-6d7279ec"]]);export{hl as default}; +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/edit-BG1q_jZS.js","assets/element-plus-DFTWCWyi.js","assets/@vue/runtime-dom-DDAG46FW.js","assets/lodash-D3kF6u-c.js","assets/@vue/runtime-core-C6bnekPw.js","assets/@vue/reactivity-DiY1c2vO.js","assets/@vue/shared-mAAVTE9n.js","assets/@element-plus/icons-vue-HOEUG8sr.js","assets/lodash-es-C2A-Pj28.js","assets/@popperjs/core-C5az9QE8.js","assets/dayjs-DG77mNTn.js","assets/@ctrl/tinycolor-BuyEbX8F.js","assets/async-validator-CFA_igpM.js","assets/normalize-wheel-es-BQoi3Ox2.js","assets/element-plus-C_YxM8bk.css","assets/tcm-BcqaE0lo.js","assets/index-DBREMm_z.js","assets/jspdf-BsthCvR5.js","assets/@babel/runtime-BanGtE2-.js","assets/fflate-_ayOYiT1.js","assets/vue-router-QlpZ4wdW.js","assets/pinia-B8cvXbiZ.js","assets/axios-C80V62Fs.js","assets/@vueuse/core-1S4fJlii.js","assets/@vueuse/shared-Cl3lVqjz.js","assets/css-color-function-DI01JAaZ.js","assets/balanced-match-BdS7OldZ.js","assets/color-B2zxaWkI.js","assets/clone-DBZ6_OiU.js","assets/color-convert-OrFsTA_V.js","assets/color-name-Dju3oUBS.js","assets/color-string-pUQDDJII.js","assets/ms-CzQ2E3wO.js","assets/vue-clipboard3-DByT_rEQ.js","assets/clipboard-CHgxszqY.js","assets/echarts-CNLwa9wG.js","assets/tslib-BDyQ-Jie.js","assets/zrender-DRNXw7y3.js","assets/highlight.js-Bxt7hFFy.js","assets/highlight-BfC0goYb.css","assets/@highlightjs/vue-plugin-C4onkBvW.js","assets/index-3wNXRrXZ.css","assets/perm-Bo9eM8XD.js","assets/DailyMatrix-CZKqLaUg.js","assets/picker-BCRrEZaA.js","assets/index-BwF7vczx.js","assets/index-B3imPWFk.css","assets/index-BiPYXDtP.js","assets/index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js","assets/index-CbfZXeGu.js","assets/index-D0f1Mn00.css","assets/index-CRoZWY-W.js","assets/cos-js-sdk-v5-DSMN0LUT.js","assets/file-BimpIRb_.js","assets/index.vue_vue_type_script_setup_true_lang-x0oL2ShL.js","assets/usePaging-VsbTxSU0.js","assets/index-BYOmK9R5.css","assets/vuedraggable-5bKFmC7X.js","assets/vue-BVs68q8v.js","assets/@vue/compiler-dom-CqayqxS7.js","assets/@vue/compiler-core-CvbQOXIO.js","assets/sortablejs-dsEAUXlE.js","assets/picker-XZbUgFct.css","assets/vue-echarts-BNtg2q_G.js","assets/resize-detector-G6vbKCU7.js","assets/DiagnosisTodoList-CgT2M9eR.js","assets/DiagnosisTodoList-D0SBmTHG.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix-zLBaKfXe.css","assets/CaseRecordList-X66GZZcg.js","assets/CaseRecordList-Cl-c3q7S.css","assets/CallRecordPanel-D709DmJk.js","assets/RecordingPlaybackBlock-COxLgEiR.js","assets/RecordingVideoPlayer-DJ_BP9x7.js","assets/RecordingVideoPlayer-4DegHAwm.css","assets/RecordingPlaybackBlock-B3KYFgvg.css","assets/CallRecordPanel-TsjZtTO8.css","assets/ImChatRecordPanel-C40Ue1e_.js","assets/im-business-message-parse-QKjFLn3X.js","assets/ImChatRecordPanel-aX8zpWRQ.css","assets/AssignLogPanel-B1RENXkE.js","assets/AssignLogPanel-BdKOtd2m.css","assets/AppointmentRecordPanel-DH84Bquy.js","assets/doctor-ul0r578d.js","assets/AppointmentRecordPanel-DC22GDgn.css","assets/NoteTimeline-BzPD6QHw.js","assets/patient-DdWkVUZB.js","assets/NoteTimeline-CCWIpEBQ.css","assets/PatientOrderList-Vzhj0FzC.js","assets/PatientOrderList-iKx_Cn9B.css","assets/index-B91OSiYQ.js","assets/index-DcDP_Tmx.js","assets/medicine-CCdxjQY6.js","assets/index-tfEElgYq.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/html2canvas-QH1iLAAe.js","assets/index-DGbIWVjL.css","assets/edit-z2mn_utb.css","assets/TrackingNoteTimeline-B9T8pFso.css","assets/index-BzJ9Ke9Q.js","assets/@tencentcloud/chat-uikit-vue3-CLQ__Wr9.js","assets/@tencentcloud/uikit-base-component-vue3-YgTqL4da.js","assets/@tencentcloud/uikit-base-component-vue3-BkrtIuVN.css","assets/tuikit-atomicx-vue3-Dln8Zi6e.js","assets/@tencentcloud/chat-uikit-engine-zx802ozq.js","assets/@tencentcloud/chat-AC2Y2r2A.js","assets/tim-upload-plugin-HO4N4AW9.js","assets/tim-profanity-filter-plugin-Dn_Cf-mP.js","assets/@tencentcloud/tui-core-8M7p1XHw.js","assets/@tencentcloud/tuiroom-engine-js-Br9swJyU.js","assets/rtc-detect-Chu-fZvE.js","assets/tcplayer.js-qpFBCYzN.js","assets/tuikit-atomicx-vue3-Qhi9ezz1.css","assets/@tencentcloud/chat-uikit-vue3-Cj2eB1Uk.css","assets/@tencentcloud/call-uikit-vue-DB7vt9Ht.js","assets/@tencentcloud/call-engine-js-BX2W9Lhf.js","assets/index-BqRj5hg7.css"])))=>i.map(i=>d[i]); +import{_ as Z}from"./jspdf-BsthCvR5.js";import{m as Qt,l as Gt,d as Ht,S as jt,C as Yt,i as Jt,p as Kt,n as Xt,o as Zt,G as te,F as ee,V as se,M as ae,N as le,T as ie,L as ne,J as oe}from"./element-plus-DFTWCWyi.js";import{_ as de}from"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import{_ as re}from"./index.vue_vue_type_script_setup_true_lang-DPC_NOWM.js";import{w as pe,s as ut}from"./@vue/runtime-dom-DDAG46FW.js";import{u as ue}from"./usePaging-VsbTxSU0.js";import{a as _e,l as me,k as ce}from"./doctor-ul0r578d.js";import{I as fe,V as ge,W as ve}from"./tcm-BcqaE0lo.js";import{u as ye,i as v,_ as be}from"./index-DBREMm_z.js";import{i as ke,f as De}from"./diabetes-discovery-display-B_wmGXQJ.js";import{g as Ce}from"./weapp-Bi3HP3df.js";import{j as Ve,a7 as Ee,a8 as _t,b as mt,d as Se,e as ct,k as ft,x as we,O as he,G as tt,X as Te,l as $e}from"./@element-plus/icons-vue-HOEUG8sr.js";import{f as ze,w as Ie,b as Pe,d as qe,as as xe,ak as _,I as y,a,aN as i,J as e,O as p,G as g,H as f,aP as I,F as Re,P as et,A as gt}from"./@vue/runtime-core-C6bnekPw.js";import{a as U,y as s,r as Ae,n as b}from"./@vue/reactivity-DiY1c2vO.js";import{Q as u}from"./@vue/shared-mAAVTE9n.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Le={class:"appointment-list"},Be={class:"list-toolbar"},Ue={class:"tab-label tab-priority"},Me={class:"tab-label"},Oe={class:"tab-label"},Fe={class:"tab-label"},We={class:"tab-label"},Ne={class:"toolbar-actions"},Qe={class:"filter-bar"},Ge={class:"filter-group"},He={class:"filter-group"},je={class:"table-wrap"},Ye={class:"patient-cell"},Je={class:"patient-info"},Ke={class:"patient-name"},Xe={class:"patient-phone"},Ze={class:"patient-extra"},ts={class:"datetime-cell"},es={class:"date-text"},ss={class:"time-text"},as={class:"prescription-tags"},ls={class:"action-btns"},is={class:"flex justify-end py-4 px-4"},ns={key:0,class:"detail-content"},os={class:"detail-section"},ds={class:"detail-section-title"},rs={class:"detail-grid"},ps={class:"detail-item"},us={class:"detail-value"},_s={class:"detail-item"},ms={class:"detail-item"},cs={class:"detail-value"},fs={class:"detail-item"},gs={class:"detail-value"},vs={class:"detail-item"},ys={class:"detail-value"},bs={class:"detail-item"},ks={class:"detail-value"},Ds={class:"detail-section"},Cs={class:"detail-section-title"},Vs={class:"detail-grid"},Es={class:"detail-item"},Ss={class:"detail-value"},ws={class:"detail-item"},hs={class:"detail-value"},Ts={class:"detail-item"},$s={class:"detail-value"},zs={class:"detail-item"},Is={class:"detail-value"},Ps={class:"detail-item"},qs={class:"detail-value"},xs={class:"detail-item"},Rs={class:"detail-value"},As={class:"detail-item"},Ls={class:"detail-value"},Bs={class:"detail-item"},Us={class:"detail-value"},Ms={class:"detail-item"},Os={class:"detail-value"},Fs={class:"detail-item"},Ws={class:"detail-value"},Ns={class:"detail-item"},Qs={class:"detail-value"},Gs={class:"detail-item"},Hs={class:"detail-value"},js={class:"detail-item"},Ys={class:"detail-value"},Js={class:"detail-item"},Ks={class:"detail-value"},Xs={class:"detail-item"},Zs={class:"detail-value"},ta={class:"detail-item"},ea={class:"detail-value"},sa={key:0,class:"detail-section"},aa={class:"detail-section-title"},la={class:"detail-grid"},ia={key:0,class:"detail-item"},na={class:"detail-value"},oa={key:1,class:"detail-item"},da={class:"detail-value"},ra={key:2,class:"detail-item detail-item-full"},pa={class:"detail-value"},ua={key:3,class:"detail-item detail-item-full"},_a={class:"detail-value"},ma={key:1,class:"detail-section"},ca={class:"detail-section-title"},fa={class:"detail-grid"},ga={key:0,class:"detail-item"},va={class:"detail-value"},ya={key:1,class:"detail-item"},ba={class:"detail-value"},ka={key:2,class:"detail-item detail-item-full"},Da={class:"detail-value"},Ca={key:3,class:"detail-item detail-item-full"},Va={class:"detail-value"},Ea={class:"detail-section"},Sa={class:"detail-remark"},wa={class:"qrcode-content"},ha={key:0,class:"qrcode-loading"},Ta={key:1,class:"qrcode-success"},$a={class:"qrcode-image-wrap"},za=["src"],Ia={class:"qrcode-info"},Pa={class:"qrcode-patient"},qa={key:2,class:"qrcode-error"},xa=2e4,Ra=ze({__name:"list",setup(Aa){const vt=et(()=>Z(()=>import("./edit-BG1q_jZS.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98]))),yt=et(()=>Z(()=>import("./index-B91OSiYQ.js"),__vite__mapDeps([90,1,2,3,4,5,6,7,8,9,10,11,12,13,14,91,92,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,93,94,15,95,96]))),bt=et(()=>Z(()=>import("./index-BzJ9Ke9Q.js"),__vite__mapDeps([99,1,2,3,4,5,6,7,8,9,10,11,12,13,14,53,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,86,15,100,101,102,103,104,105,106,107,108,58,59,60,109,110,111,112,113,78,114,115,116]))),st=ye(),kt=gt(()=>st.userInfo),Dt=l=>!l||l.length<11?l:l.replace(/(\d{3})\d{4}(\d{4})/,"$1****$2"),Ct=gt(()=>{const l=kt.value.role_id;return Array.isArray(l)?!l.includes(1)&&!l.includes(2):l!==1&&l!==2}),r=Ae({patient_name:"",doctor_name:"",status:"",start_date:"",end_date:"",date_preset:"today",diagnosis_confirmed:"",include_status_counts:0}),M=b("1"),x=b(!1),S=b({1:0,2:0,3:0,4:0}),{pager:V,getLists:at,resetPage:Vt}=ue({fetchFun:_e,params:r,firstLoading:!0});Ie(()=>[r.start_date,r.end_date],([l,t])=>{if(!r.date_preset)return;const o=new Date,c=P=>String(P).padStart(2,"0"),m=P=>`${P.getFullYear()}-${c(P.getMonth()+1)}-${c(P.getDate())}`,w=m(o),T=new Date(o);T.setDate(T.getDate()-1);const k=m(T),h=new Date(o);h.setDate(h.getDate()-2);const G=m(h),A=new Date(o);A.setDate(A.getDate()+1);const E=m(A),L=new Date(o);L.setDate(L.getDate()+2);const X=m(L),$=r.date_preset,C=$==="yesterday"?k:$==="day_before"?G:$==="today"?w:$==="tomorrow"?E:X;(l||"").split(" ")[0]!==C&&(r.date_preset="")});const Et=l=>{l==="all"?r.status="":r.status=Number(l),Vt()};let O=null;const D=async l=>{const t=(l==null?void 0:l.silent)===!0;r.include_status_counts=1;try{await at({silent:t});const o=V.extend,c=o==null?void 0:o.status_count;if(c)for(const m of[1,2,3,4]){const w=c[m]??c[String(m)];typeof w=="number"&&(S.value[m]=w)}}catch(o){if(!t)throw o}finally{r.include_status_counts=0}},St=l=>{l==="customDate"?x.value=!0:l==="reset"&&$t()},wt=()=>{r.date_preset="",x.value=!1,V.page=1,D()},ht=()=>{V.page=1,D()},Tt=l=>{const t=String(l||"");if(!t){r.date_preset="",r.start_date="",r.end_date="",D();return}const o=new Date,c=T=>String(T).padStart(2,"0");let m;t==="yesterday"?(m=new Date(o),m.setDate(m.getDate()-1)):t==="day_before"?(m=new Date(o),m.setDate(m.getDate()-2)):t==="today"?m=o:t==="tomorrow"?(m=new Date(o),m.setDate(m.getDate()+1)):(m=new Date(o),m.setDate(m.getDate()+2));const w=`${m.getFullYear()}-${c(m.getMonth()+1)}-${c(m.getDate())}`;r.date_preset=t,r.start_date=w,r.end_date=w,V.page=1,D()},lt=()=>{V.page=1,D()},$t=()=>{M.value="1",r.patient_name="",r.doctor_name="",r.date_preset="today",r.diagnosis_confirmed="";const l=new Date,t=o=>String(o).padStart(2,"0");r.start_date=`${l.getFullYear()}-${t(l.getMonth()+1)}-${t(l.getDate())}`,r.end_date=r.start_date,r.status=1,V.page=1,D()},H=b(!1),d=b(null),zt=b([]),It=b([]),Pt=b([]),qt=b([]),F=(l,t)=>{if(!t)return"-";const o=l.find(c=>c.value===t);return o?o.name:t},xt=l=>(Array.isArray(l)?l:typeof l=="string"?l.split(/[,,、]/):[]).map(o=>F(qt.value,o.trim())).filter(Boolean).join("、")||"-",j=b(),Y=b(),it=b(),R=b(!1),W=b(!1),N=b(""),Q=b(null),Rt=(l,t)=>{switch(l){case"edit":ot(t);break;case"viewCase":Mt(t);break;case"complete":nt(t);break;case"chat":dt(t);break;case"qrcode":J(t);break;case"prescription":rt(t);break;case"cancel":At(t);break}},At=async l=>{try{await v.confirm("确定要取消该挂号吗?"),await me({id:l.id}),v.msgSuccess("取消成功"),D()}catch{}},nt=async l=>{try{await v.confirm("确认患者已就诊完成?"),await ce({id:l.id}),v.msgSuccess("操作成功"),D()}catch{}},ot=l=>{var t;if(!l.patient_id){v.msgWarning("该预约没有关联诊单信息");return}(t=j.value)==null||t.open("edit",l.patient_id)},Lt=l=>{ot(l)},dt=async l=>{var t;if(!l.patient_id){v.msgWarning("患者信息不完整");return}if(!l.diagnosis_id&&!l.id){v.msgWarning("预约信息不完整,无法发起聊天");return}try{const o=await fe({patient_id:l.patient_id,diagnosis_id:l.diagnosis_id||l.id});console.log("获取聊天签名成功:",o),(t=it.value)==null||t.open({patientId:l.patient_id,patientName:l.patient_name,diagnosisId:l.diagnosis_id||l.id,signatureData:o})}catch(o){console.error("获取聊天签名失败:",o),v.msgError(o.message||"获取聊天签名失败")}},J=async l=>{if(!l.patient_id){v.msgWarning("患者信息不完整");return}Q.value=l,R.value=!0,W.value=!0,N.value="";try{const t=await Ce();if(!(t!=null&&t.app_id)){v.msgError("小程序未配置,请先配置小程序信息"),R.value=!1;return}const o=st.userInfo,c=await ge({diagnosis_id:l.doctor_id||"",patient_id:l.patient_id,share_user_id:(o==null?void 0:o.id)||"",mini_program_path:"pages/login/login"});c!=null&&c.qrcode_url?N.value=c.qrcode_url:v.msgError("二维码生成失败")}catch(t){console.error("生成小程序二维码失败:",t),v.msgError((t==null?void 0:t.msg)||"生成二维码失败,请重试")}finally{W.value=!1}},Bt=()=>{var l,t;D(),(t=(l=j.value)==null?void 0:l.refreshCaseList)==null||t.call(l)};function Ut(l){return(l==null?void 0:l.prescription_audit_status)===1&&Number(l==null?void 0:l.prescription_void_status)!==1?"查看":"开方"}const rt=l=>{var t;if(!l.diagnosis_id&&!l.patient_id){v.msgWarning("该预约缺少诊单信息,请先编辑患者");return}(t=Y.value)==null||t.open(l)},Mt=async l=>{var t;if(!l.id){v.msgWarning("预约信息不完整");return}try{const o=await ve({appointment_id:l.id});o!=null&&o.id?(t=Y.value)==null||t.openById(o.id):v.msgWarning("该预约暂无病历记录,请先开方")}catch(o){v.msgError((o==null?void 0:o.msg)||"获取病历失败")}},Ot=()=>{Q.value&&J(Q.value)},K=new Date,pt=l=>String(l).padStart(2,"0");return r.start_date=`${K.getFullYear()}-${pt(K.getMonth()+1)}-${pt(K.getDate())}`,r.end_date=r.start_date,r.status=1,Pe(()=>{D(),O=setInterval(()=>{D({silent:!0})},xa)}),qe(()=>{O!==null&&(clearInterval(O),O=null)}),(l,t)=>{const o=Ht,c=jt,m=Gt,w=Qt,T=Yt,k=Jt,h=Zt,G=Xt,A=Kt,E=ee,L=te,X=re,$=se,C=le,z=ie,P=ae,Ft=de,Wt=oe,q=xe("perms"),Nt=ne;return _(),y("div",Le,[a(Wt,{class:"list-card !border-none",shadow:"never"},{default:i(()=>[e("div",Be,[a(w,{modelValue:s(M),"onUpdate:modelValue":t[0]||(t[0]=n=>U(M)?M.value=n:null),onTabChange:Et,class:"list-tabs"},{default:i(()=>[a(m,{name:"1"},{label:i(()=>[e("span",Ue,[a(o,null,{default:i(()=>[a(s(Ve))]),_:1}),t[16]||(t[16]=p("待接诊",-1)),s(S)[1]?(_(),g(c,{key:0,value:s(S)[1],class:"tab-badge tab-badge-success"},null,8,["value"])):f("",!0)])]),_:1}),a(m,{name:"all"},{label:i(()=>[e("span",Me,[a(o,null,{default:i(()=>[a(s(Ee))]),_:1}),t[17]||(t[17]=p("全部",-1))])]),_:1}),a(m,{name:"4"},{label:i(()=>[e("span",Oe,[a(o,null,{default:i(()=>[a(s(_t))]),_:1}),t[18]||(t[18]=p("已过号",-1)),s(S)[4]?(_(),g(c,{key:0,value:s(S)[4],class:"tab-badge tab-badge-danger"},null,8,["value"])):f("",!0)])]),_:1}),a(m,{name:"2"},{label:i(()=>[e("span",Fe,[a(o,null,{default:i(()=>[a(s(mt))]),_:1}),t[19]||(t[19]=p("已取消",-1)),s(S)[2]?(_(),g(c,{key:0,value:s(S)[2],class:"tab-badge tab-badge-info"},null,8,["value"])):f("",!0)])]),_:1}),a(m,{name:"3"},{label:i(()=>[e("span",We,[a(o,null,{default:i(()=>[a(s(Se))]),_:1}),t[20]||(t[20]=p("已完成",-1)),s(S)[3]?(_(),g(c,{key:0,value:s(S)[3],class:"tab-badge tab-badge-primary"},null,8,["value"])):f("",!0)])]),_:1})]),_:1},8,["modelValue"]),e("div",Ne,[a(T,{modelValue:s(r).patient_name,"onUpdate:modelValue":t[1]||(t[1]=n=>s(r).patient_name=n),placeholder:"患者姓名",clearable:"",size:"small",class:"action-input",onKeyup:pe(lt,["enter"])},null,8,["modelValue"]),a(k,{type:"primary",size:"small",onClick:lt},{default:i(()=>[...t[21]||(t[21]=[p("查询",-1)])]),_:1}),a(A,{trigger:"click",onCommand:St},{dropdown:i(()=>[a(G,null,{default:i(()=>[s(Ct)?(_(),g(h,{key:0,class:"dropdown-item-with-input",onClick:t[4]||(t[4]=ut(()=>{},["stop"]))},{default:i(()=>[t[23]||(t[23]=e("span",{class:"dropdown-label"},"医生",-1)),a(T,{modelValue:s(r).doctor_name,"onUpdate:modelValue":t[2]||(t[2]=n=>s(r).doctor_name=n),placeholder:"医生",size:"small",class:"dropdown-input",onClick:t[3]||(t[3]=ut(()=>{},["stop"]))},null,8,["modelValue"])]),_:1})):f("",!0),a(h,{command:"customDate",divided:""},{default:i(()=>[a(o,null,{default:i(()=>[a(s(ft))]),_:1}),t[24]||(t[24]=p(" 自定义日期 ",-1))]),_:1}),a(h,{command:"reset"},{default:i(()=>[a(o,null,{default:i(()=>[a(s(we))]),_:1}),t[25]||(t[25]=p(" 重置 ",-1))]),_:1})]),_:1})]),default:i(()=>[a(k,{size:"small"},{default:i(()=>[t[22]||(t[22]=p("更多",-1)),a(o,{class:"el-icon--right"},{default:i(()=>[a(s(ct))]),_:1})]),_:1})]),_:1})])]),e("div",Qe,[e("div",Ge,[t[32]||(t[32]=e("span",{class:"filter-label"},"日期",-1)),a(L,{modelValue:s(r).date_preset,"onUpdate:modelValue":t[5]||(t[5]=n=>s(r).date_preset=n),size:"small",onChange:Tt,class:"filter-radio"},{default:i(()=>[a(E,{value:"yesterday"},{default:i(()=>[...t[26]||(t[26]=[p("昨天挂号",-1)])]),_:1}),a(E,{value:"day_before"},{default:i(()=>[...t[27]||(t[27]=[p("前天挂号",-1)])]),_:1}),a(E,{value:"today"},{default:i(()=>[...t[28]||(t[28]=[p("当天挂号",-1)])]),_:1}),a(E,{value:"tomorrow"},{default:i(()=>[...t[29]||(t[29]=[p("明天挂号",-1)])]),_:1}),a(E,{value:"day_after"},{default:i(()=>[...t[30]||(t[30]=[p("后天挂号",-1)])]),_:1}),a(E,{value:""},{default:i(()=>[...t[31]||(t[31]=[p("不限",-1)])]),_:1})]),_:1},8,["modelValue"])]),e("div",He,[t[36]||(t[36]=e("span",{class:"filter-label"},"确认诊单",-1)),a(L,{modelValue:s(r).diagnosis_confirmed,"onUpdate:modelValue":t[6]||(t[6]=n=>s(r).diagnosis_confirmed=n),size:"small",onChange:ht,class:"filter-radio"},{default:i(()=>[a(E,{value:""},{default:i(()=>[...t[33]||(t[33]=[p("全部",-1)])]),_:1}),a(E,{value:"1"},{default:i(()=>[...t[34]||(t[34]=[p("已确认",-1)])]),_:1}),a(E,{value:"0"},{default:i(()=>[...t[35]||(t[35]=[p("未确认",-1)])]),_:1})]),_:1},8,["modelValue"])])]),a($,{modelValue:s(x),"onUpdate:modelValue":t[10]||(t[10]=n=>U(x)?x.value=n:null),title:"自定义日期",width:"400px","append-to-body":"","close-on-click-modal":!0},{footer:i(()=>[a(k,{onClick:t[9]||(t[9]=n=>x.value=!1)},{default:i(()=>[...t[37]||(t[37]=[p("取消",-1)])]),_:1}),a(k,{type:"primary",onClick:wt},{default:i(()=>[...t[38]||(t[38]=[p("确定",-1)])]),_:1})]),default:i(()=>[a(X,{startTime:s(r).start_date,"onUpdate:startTime":t[7]||(t[7]=n=>s(r).start_date=n),endTime:s(r).end_date,"onUpdate:endTime":t[8]||(t[8]=n=>s(r).end_date=n)},null,8,["startTime","endTime"])]),_:1},8,["modelValue"]),e("div",je,[I((_(),g(P,{data:s(V).lists,size:"default",class:"appointment-table"},{default:i(()=>[a(C,{label:"ID",prop:"id",width:"72",align:"center"}),a(C,{label:"患者信息","min-width":"140"},{default:i(({row:n})=>[e("div",Ye,[e("div",Je,[e("div",Ke,u(n.patient_name),1),e("div",Xe,u(Dt(n.patient_phone)),1),e("div",Ze,u([n.gender===1?"男":n.gender===0?"女":"",n.age!=null?n.age+"岁":"",n.height!=null?n.height+"cm":"",n.weight!=null?n.weight+"kg":""].filter(Boolean).join(" ")||"-"),1)])])]),_:1}),a(C,{label:"医生",prop:"doctor_name",width:"90","show-overflow-tooltip":""}),a(C,{label:"预约时间","min-width":"120"},{default:i(({row:n})=>[e("div",ts,[e("div",es,u(n.appointment_date),1),e("div",ss,u(n.appointment_time),1)])]),_:1}),a(C,{label:"助理",prop:"assistant_name",width:"100","show-overflow-tooltip":""},{default:i(({row:n})=>[p(u(n.assistant_name||"—"),1)]),_:1}),a(C,{label:"确认诊单",width:"90",align:"center"},{default:i(({row:n})=>[n.diagnosis_confirmed?(_(),g(z,{key:0,type:"success",size:"small",effect:"plain"},{default:i(()=>[...t[39]||(t[39]=[p("已确认",-1)])]),_:1})):(_(),g(z,{key:1,type:"warning",size:"small",effect:"plain"},{default:i(()=>[...t[40]||(t[40]=[p("未确认",-1)])]),_:1}))]),_:1}),a(C,{label:"开方",width:"120",align:"center"},{default:i(({row:n})=>[e("div",as,[n.has_prescription?(_(),g(z,{key:0,type:"success",size:"small",effect:"plain"},{default:i(()=>[...t[41]||(t[41]=[p("已开方",-1)])]),_:1})):(_(),g(z,{key:1,type:"info",size:"small",effect:"plain"},{default:i(()=>[...t[42]||(t[42]=[p("未开方",-1)])]),_:1})),n.has_prescription&&n.prescription_is_system_auto===1?(_(),g(z,{key:2,type:"warning",size:"small",effect:"plain"},{default:i(()=>[...t[43]||(t[43]=[p(" 系统代开 ",-1)])]),_:1})):f("",!0)])]),_:1}),a(C,{label:"状态",width:"90",align:"center"},{default:i(({row:n})=>[a(z,{type:n.status===1?"success":n.status===2?"info":n.status===3?"primary":"danger",size:"small",effect:"light",round:""},{default:i(()=>[p(u(n.status_desc),1)]),_:2},1032,["type"])]),_:1}),a(C,{label:"备注",prop:"remark","min-width":"120","show-overflow-tooltip":""}),a(C,{label:"操作",width:"380",fixed:"right",align:"left"},{default:i(({row:n})=>[e("div",ls,[I((_(),g(k,{type:"primary",link:"",size:"small",onClick:B=>Lt(n)},{default:i(()=>[...t[44]||(t[44]=[p(" 编辑患者 ",-1)])]),_:1},8,["onClick"])),[[q,["tcm.diagnosis/edit"]]]),n.status!==3?(_(),y(Re,{key:0},[I((_(),g(k,{type:"warning",link:"",size:"small",onClick:B=>J(n),class:"action-qrcode"},{default:i(()=>[a(o,null,{default:i(()=>[a(s(he))]),_:1}),t[45]||(t[45]=p(" 视频二维码 ",-1))]),_:1},8,["onClick"])),[[q,["tcm.diagnosis/videoQr"]]]),I((_(),g(k,{type:"primary",link:"",size:"small",onClick:B=>dt(n)},{default:i(()=>[...t[46]||(t[46]=[p(" 通话 ",-1)])]),_:1},8,["onClick"])),[[q,["doctor.appointment/prescription"]]]),I((_(),g(k,{type:"success",link:"",size:"small",onClick:B=>nt(n)},{default:i(()=>[...t[47]||(t[47]=[p(" 完成 ",-1)])]),_:1},8,["onClick"])),[[q,["doctor.appointment/complete"]]])],64)):f("",!0),I((_(),g(k,{type:"primary",link:"",size:"small",onClick:B=>rt(n)},{default:i(()=>[p(u(Ut(n)),1)]),_:2},1032,["onClick"])),[[q,["tcm.diagnosis/kaifang"]]]),a(A,{trigger:"click",onCommand:B=>Rt(B,n),placement:"bottom-end"},{dropdown:i(()=>[a(G,null,{default:i(()=>[I((_(),g(h,{command:"viewCase"},{default:i(()=>[a(o,null,{default:i(()=>[a(s(tt))]),_:1}),t[49]||(t[49]=p(" 病历 ",-1))]),_:1})),[[q,["tcm.diagnosis/kaifang"]]]),n.status===1?I((_(),g(h,{key:0,command:"cancel",divided:""},{default:i(()=>[a(o,null,{default:i(()=>[a(s(mt))]),_:1}),t[50]||(t[50]=e("span",{class:"text-danger"},"取消挂号",-1))]),_:1})),[[q,["doctor.appointment/cancel"]]]):f("",!0)]),_:2},1024)]),default:i(()=>[a(k,{type:"info",link:"",size:"small"},{default:i(()=>[t[48]||(t[48]=p(" 更多 ",-1)),a(o,{class:"el-icon--right"},{default:i(()=>[a(s(ct))]),_:1})]),_:1})]),_:2},1032,["onCommand"])])]),_:1})]),_:1},8,["data"])),[[Nt,s(V).loading]]),e("div",is,[a(Ft,{modelValue:s(V),"onUpdate:modelValue":t[11]||(t[11]=n=>U(V)?V.value=n:null),onChange:s(at)},null,8,["modelValue","onChange"])])])]),_:1}),a($,{modelValue:s(H),"onUpdate:modelValue":t[12]||(t[12]=n=>U(H)?H.value=n:null),title:"挂号详情",width:"720px",class:"detail-dialog","destroy-on-close":""},{default:i(()=>[s(d)?(_(),y("div",ns,[e("div",os,[e("div",ds,[a(o,null,{default:i(()=>[a(s(ft))]),_:1}),t[51]||(t[51]=p(" 预约信息 ",-1))]),e("div",rs,[e("div",ps,[t[52]||(t[52]=e("span",{class:"detail-label"},"挂号ID",-1)),e("span",us,u(s(d).id),1)]),e("div",_s,[t[53]||(t[53]=e("span",{class:"detail-label"},"状态",-1)),a(z,{type:s(d).status===1?"success":s(d).status===2?"info":s(d).status===3?"primary":"danger",size:"small",effect:"light"},{default:i(()=>[p(u(s(d).status_desc),1)]),_:1},8,["type"])]),e("div",ms,[t[54]||(t[54]=e("span",{class:"detail-label"},"医生",-1)),e("span",cs,u(s(d).doctor_name),1)]),e("div",fs,[t[55]||(t[55]=e("span",{class:"detail-label"},"预约时间",-1)),e("span",gs,u(s(d).appointment_date)+" "+u(s(d).appointment_time),1)]),e("div",vs,[t[56]||(t[56]=e("span",{class:"detail-label"},"时段",-1)),e("span",ys,u(s(d).period==="morning"?"上午":"下午"),1)]),e("div",bs,[t[57]||(t[57]=e("span",{class:"detail-label"},"预约类型",-1)),e("span",ks,u(s(d).appointment_type_desc),1)])])]),e("div",Ds,[e("div",Cs,[a(o,null,{default:i(()=>[a(s(Te))]),_:1}),t[58]||(t[58]=p(" 患者信息 ",-1))]),e("div",Vs,[e("div",Es,[t[59]||(t[59]=e("span",{class:"detail-label"},"姓名",-1)),e("span",Ss,u(s(d).patient_name||"-"),1)]),e("div",ws,[t[60]||(t[60]=e("span",{class:"detail-label"},"手机号",-1)),e("span",hs,u(s(d).phone||s(d).patient_phone||"-"),1)]),e("div",Ts,[t[61]||(t[61]=e("span",{class:"detail-label"},"身份证号",-1)),e("span",$s,u(s(d).id_card||"-"),1)]),e("div",zs,[t[62]||(t[62]=e("span",{class:"detail-label"},"性别",-1)),e("span",Is,u(s(d).gender===1?"男":s(d).gender===0?"女":"-"),1)]),e("div",Ps,[t[63]||(t[63]=e("span",{class:"detail-label"},"年龄",-1)),e("span",qs,u(s(d).age!=null?s(d).age+"岁":"-"),1)]),e("div",xs,[t[64]||(t[64]=e("span",{class:"detail-label"},"诊断日期",-1)),e("span",Rs,u(s(d).diagnosis_date||"-"),1)]),e("div",As,[t[65]||(t[65]=e("span",{class:"detail-label"},"婚姻状态",-1)),e("span",Ls,u(s(d).marital_status===0?"未婚":s(d).marital_status===1?"已婚":s(d).marital_status===2?"离异":"-"),1)]),e("div",Bs,[t[66]||(t[66]=e("span",{class:"detail-label"},"身高(cm)",-1)),e("span",Us,u(s(d).height??"-"),1)]),e("div",Ms,[t[67]||(t[67]=e("span",{class:"detail-label"},"体重(kg)",-1)),e("span",Os,u(s(d).weight??"-"),1)]),e("div",Fs,[t[68]||(t[68]=e("span",{class:"detail-label"},"地区",-1)),e("span",Ws,u(s(d).region||"-"),1)]),e("div",Ns,[t[69]||(t[69]=e("span",{class:"detail-label"},"收缩压(mmHg)",-1)),e("span",Qs,u(s(d).systolic_pressure??"-"),1)]),e("div",Gs,[t[70]||(t[70]=e("span",{class:"detail-label"},"舒张压(mmHg)",-1)),e("span",Hs,u(s(d).diastolic_pressure??"-"),1)]),e("div",js,[t[71]||(t[71]=e("span",{class:"detail-label"},"空腹血糖(mmol/L)",-1)),e("span",Ys,u(s(d).fasting_blood_sugar??"-"),1)]),e("div",Js,[t[72]||(t[72]=e("span",{class:"detail-label"},"诊断类型",-1)),e("span",Ks,u(F(s(zt),s(d).diagnosis_type)||"-"),1)]),e("div",Xs,[t[73]||(t[73]=e("span",{class:"detail-label"},"证型",-1)),e("span",Zs,u(F(s(It),s(d).syndrome_type)||"-"),1)]),e("div",ta,[t[74]||(t[74]=e("span",{class:"detail-label"},"糖尿病期数",-1)),e("span",ea,u(F(s(Pt),s(d).diabetes_type)||"-"),1)])])]),s(d).symptoms||s(d).local_hospital_name||s(d).past_history&&s(d).past_history.length?(_(),y("div",sa,[e("div",aa,[a(o,null,{default:i(()=>[a(s(tt))]),_:1}),t[75]||(t[75]=p(" 病史信息 ",-1))]),e("div",la,[s(ke)(s(d).diabetes_discovery_year)?(_(),y("div",ia,[t[76]||(t[76]=e("span",{class:"detail-label"},"发现糖尿病病史",-1)),e("span",na,u(s(De)(s(d).diabetes_discovery_year)),1)])):f("",!0),s(d).local_hospital_name?(_(),y("div",oa,[t[77]||(t[77]=e("span",{class:"detail-label"},"当地就诊医院",-1)),e("span",da,u(s(d).local_hospital_name),1)])):f("",!0),s(d).symptoms?(_(),y("div",ra,[t[78]||(t[78]=e("span",{class:"detail-label"},"症状补充",-1)),e("span",pa,u(s(d).symptoms),1)])):f("",!0),s(d).past_history&&s(d).past_history.length?(_(),y("div",ua,[t[79]||(t[79]=e("span",{class:"detail-label"},"既往史",-1)),e("span",_a,u(xt(s(d).past_history)),1)])):f("",!0)])])):f("",!0),s(d).tongue_coating||s(d).pulse||s(d).treatment_principle||s(d).prescription?(_(),y("div",ma,[e("div",ca,[a(o,null,{default:i(()=>[a(s(tt))]),_:1}),t[80]||(t[80]=p(" 诊断信息 ",-1))]),e("div",fa,[s(d).tongue_coating?(_(),y("div",ga,[t[81]||(t[81]=e("span",{class:"detail-label"},"舌苔",-1)),e("span",va,u(s(d).tongue_coating),1)])):f("",!0),s(d).pulse?(_(),y("div",ya,[t[82]||(t[82]=e("span",{class:"detail-label"},"脉象",-1)),e("span",ba,u(s(d).pulse),1)])):f("",!0),s(d).treatment_principle?(_(),y("div",ka,[t[83]||(t[83]=e("span",{class:"detail-label"},"治则",-1)),e("span",Da,u(s(d).treatment_principle),1)])):f("",!0),s(d).prescription?(_(),y("div",Ca,[t[84]||(t[84]=e("span",{class:"detail-label"},"处方",-1)),e("span",Va,u(s(d).prescription),1)])):f("",!0)])])):f("",!0),e("div",Ea,[t[85]||(t[85]=e("div",{class:"detail-section-title"},"备注",-1)),e("p",Sa,u(s(d).remark||"无"),1)])])):f("",!0)]),_:1},8,["modelValue"]),a(s(vt),{ref_key:"editRef",ref:j,onSuccess:t[13]||(t[13]=()=>D({silent:!0}))},null,512),a(s(yt),{ref_key:"prescriptionRef",ref:Y,onSuccess:Bt},null,512),a(s(bt),{ref_key:"chatDialogRef",ref:it},null,512),a($,{modelValue:s(R),"onUpdate:modelValue":t[15]||(t[15]=n=>U(R)?R.value=n:null),title:"小程序二维码",width:"380px","close-on-click-modal":!1,class:"qrcode-dialog"},{footer:i(()=>[a(k,{onClick:t[14]||(t[14]=n=>R.value=!1)},{default:i(()=>[...t[90]||(t[90]=[p("关闭",-1)])]),_:1}),s(W)?f("",!0):(_(),g(k,{key:0,type:"primary",onClick:Ot},{default:i(()=>[...t[91]||(t[91]=[p(" 重新生成 ",-1)])]),_:1}))]),default:i(()=>{var n;return[e("div",wa,[s(W)?(_(),y("div",ha,[a(o,{class:"is-loading",size:48},{default:i(()=>[a(s($e))]),_:1}),t[86]||(t[86]=e("div",{class:"qrcode-loading-text"},"生成中...",-1))])):s(N)?(_(),y("div",Ta,[e("div",$a,[e("img",{src:s(N),alt:"小程序二维码",class:"qrcode-image"},null,8,za)]),e("div",Ia,[e("div",Pa,"患者:"+u((n=s(Q))==null?void 0:n.patient_name),1),t[87]||(t[87]=e("div",{class:"qrcode-tip"},"请使用微信扫描二维码",-1)),t[88]||(t[88]=e("div",{class:"qrcode-path"},"pages/login/login",-1))])])):(_(),y("div",qa,[a(o,{size:40},{default:i(()=>[a(s(_t))]),_:1}),t[89]||(t[89]=e("div",null,"生成失败,请重试",-1))]))])]}),_:1},8,["modelValue"])])}}}),hl=be(Ra,[["__scopeId","data-v-6d7279ec"]]);export{hl as default}; diff --git a/server/public/admin/assets/login-fh_9QCs9.js b/server/public/admin/assets/login-BXCcNT2S.js similarity index 97% rename from server/public/admin/assets/login-fh_9QCs9.js rename to server/public/admin/assets/login-BXCcNT2S.js index 928e7477..edd6de91 100644 --- a/server/public/admin/assets/login-fh_9QCs9.js +++ b/server/public/admin/assets/login-BXCcNT2S.js @@ -1 +1 @@ -import{d as Z,F as ee,G as oe,B as te,C as ne,D as re,H as ae,i as se,E as ie}from"./element-plus-0wC3naml.js";import{e as ce,u as le,f as N,A as B,a as de,h as ue,c as me,P as pe,_ as _e}from"./index-E47--KT7.js";import{w as $}from"./@vue/runtime-dom-DDAG46FW.js";import{l as j}from"./@element-plus/icons-vue-HOEUG8sr.js";import{u as we}from"./useLockFn-X4Qce5KO.js";import{_ as fe}from"./footer.vue_vue_type_script_setup_true_lang-DHdwl9ND.js";import{u as ge,a as xe}from"./vue-router-QlpZ4wdW.js";import{f as ve,w as he,n as E,b as ke,ak as l,I as d,J as a,a as t,aN as r,F as C,O as V,H as U,A as ye}from"./@vue/runtime-core-C6bnekPw.js";import{Q as be}from"./@vue/shared-mAAVTE9n.js";import{y as c,q as P,n as _,r as Ee}from"./@vue/reactivity-DiY1c2vO.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Ce={class:"login flex flex-col"},Ve={class:"flex-1 flex items-center justify-center"},Ue={class:"login-card flex rounded-md overflow-hidden"},We={class:"flex-1 h-full hidden md:inline-block"},qe={class:"login-form bg-body flex flex-col justify-center px-10 py-10 md:w-[420px] w-[380px] flex-none mx-auto"},Le={class:"text-center text-3xl font-medium mb-8"},Re={key:0,class:"text-center py-10"},ze={key:0,class:"flex justify-center mb-6"},Ie={class:"mb-5"},Se={class:"wxwork-qrcode-wrap"},Ae={key:0,class:"text-center py-10"},Fe={key:1,id:"wxwork_qrcode_container",class:"wxwork-qrcode"},Ne=ve({__name:"login",setup(Be){const W=P(),q=P(),D=ce(),L=le(),h=ge(),w=xe(),f=_(!1),R=ye(()=>D.config),s=Ee({account:"",password:""}),K={account:[{required:!0,message:"请输入账号",trigger:["blur"]}],password:[{required:!0,message:"请输入密码",trigger:["blur"]}]},m=_("account"),z=_(!1),g=_({corp_id:"",agent_id:""}),x=_(!1),k=_(!1),M=()=>/wxwork/i.test(navigator.userAgent),I=()=>window.location.origin+window.location.pathname,T=()=>{var o;if(!s.password)return(o=W.value)==null?void 0:o.focus();y()},y=async()=>{var e;await((e=q.value)==null?void 0:e.validate()),N.set(B,{remember:f.value,account:f.value?s.account:""});const o=await L.login(s);if(o.is_paw===0){w.push("/change-password");return}if(o.need_bind_work_wechat){w.push("/bind-work-wechat");return}S()},{isLock:G,lockFn:H}=we(y),S=()=>{const{query:{redirect:o}}=h,e=typeof o=="string"?o:pe.INDEX;w.push(e)},J=async o=>{x.value=!0;try{const e=await L.workWechatLogin(o);if(e.is_paw===0){w.push("/change-password");return}if(e.need_bind_work_wechat){w.push("/bind-work-wechat");return}S()}catch(e){console.error("企业微信登录失败:",e),ie.error((e==null?void 0:e.msg)||(e==null?void 0:e.message)||"企业微信登录失败,请使用账号密码登录"),x.value=!1,m.value="account"}},O=async()=>{if(!g.value.corp_id)return;k.value=!0,window.WwLogin||await new Promise((e,p)=>{const i=document.createElement("script");i.src="https://wwcdn.weixin.qq.com/node/wework/wwopen/js/wwLogin-1.2.7.js",i.onload=()=>e(),i.onerror=()=>p(new Error("加载企业微信JS失败")),document.head.appendChild(i)}),await E(),k.value=!1,await E();const o=encodeURIComponent(I());new window.WwLogin({id:"wxwork_qrcode_container",appid:g.value.corp_id,agentid:g.value.agent_id,redirect_uri:o,lang:"zh",state:"admin_login",href:"",self_redirect:!1})};return he(m,o=>{o==="wxwork"&&E(()=>O())}),ke(async()=>{const o=N.get(B);o!=null&&o.remember&&(f.value=o.remember,s.account=o.account);const e=new URLSearchParams(window.location.search),p=e.get("code"),i=e.get("state");if(p&&i==="admin_login"){const n=window.location.pathname+(h.query.redirect?`?redirect=${h.query.redirect}`:"");window.history.replaceState({},"",n),J(p);return}try{const n=await de();if(n!=null&&n.enabled&&(z.value=!0,g.value={corp_id:n.corp_id,agent_id:n.agent_id},M())){const b=encodeURIComponent(I()),v=`https://open.weixin.qq.com/connect/oauth2/authorize?appid=${n.corp_id}&redirect_uri=${b}&response_type=code&scope=snsapi_privateinfo&agentid=${n.agent_id}&state=admin_login#wechat_redirect`;window.location.href=v,x.value=!0;return}}catch(n){console.warn("获取企业微信配置失败:",n)}}),(o,e)=>{const p=ue,i=Z,n=ee,b=oe,v=me,A=ne,F=te,Q=re,X=ae,Y=se;return l(),d("div",Ce,[a("div",Ve,[a("div",Ue,[a("div",We,[t(p,{src:R.value.login_image,width:400,height:"100%"},null,8,["src"])]),a("div",qe,[a("div",Le,be(R.value.web_name),1),x.value?(l(),d("div",Re,[t(i,{class:"is-loading mb-4",size:40,color:"var(--el-color-primary)"},{default:r(()=>[t(c(j))]),_:1}),e[4]||(e[4]=a("div",{class:"text-gray-500"},"企业微信授权登录中...",-1))])):(l(),d(C,{key:1},[z.value?(l(),d("div",ze,[t(b,{modelValue:m.value,"onUpdate:modelValue":e[0]||(e[0]=u=>m.value=u),size:"large"},{default:r(()=>[t(n,{value:"account"},{default:r(()=>[...e[5]||(e[5]=[V("账号登录",-1)])]),_:1}),t(n,{value:"wxwork"},{default:r(()=>[...e[6]||(e[6]=[V("企业微信",-1)])]),_:1})]),_:1},8,["modelValue"])])):U("",!0),m.value==="account"?(l(),d(C,{key:1},[t(Q,{ref_key:"formRef",ref:q,model:c(s),size:"large",rules:K},{default:r(()=>[t(F,{prop:"account"},{default:r(()=>[t(A,{modelValue:c(s).account,"onUpdate:modelValue":e[1]||(e[1]=u=>c(s).account=u),placeholder:"请输入账号",onKeyup:$(T,["enter"])},{prepend:r(()=>[t(v,{name:"el-icon-User",size:"16"})]),_:1},8,["modelValue"])]),_:1}),t(F,{prop:"password"},{default:r(()=>[t(A,{ref_key:"passwordRef",ref:W,modelValue:c(s).password,"onUpdate:modelValue":e[2]||(e[2]=u=>c(s).password=u),"show-password":"",placeholder:"请输入密码",onKeyup:$(y,["enter"])},{prepend:r(()=>[t(v,{name:"el-icon-Lock",size:"16"})]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["model"]),a("div",Ie,[t(X,{modelValue:f.value,"onUpdate:modelValue":e[3]||(e[3]=u=>f.value=u),label:"记住账号"},null,8,["modelValue"])]),t(Y,{type:"primary",size:"large",loading:c(G),onClick:c(H)},{default:r(()=>[...e[7]||(e[7]=[V(" 登录 ",-1)])]),_:1},8,["loading","onClick"])],64)):U("",!0),m.value==="wxwork"?(l(),d(C,{key:2},[a("div",Se,[k.value?(l(),d("div",Ae,[t(i,{class:"is-loading",size:32,color:"var(--el-color-primary)"},{default:r(()=>[t(c(j))]),_:1}),e[8]||(e[8]=a("div",{class:"mt-2 text-gray-400 text-sm"},"加载企业微信扫码...",-1))])):(l(),d("div",Fe))]),e[9]||(e[9]=a("div",{class:"text-center text-sm text-gray-400 mt-4"}," 请使用企业微信扫描二维码登录 ",-1))],64)):U("",!0)],64))])])]),t(fe)])}}}),Co=_e(Ne,[["__scopeId","data-v-3d794186"]]);export{Co as default}; +import{d as Z,F as ee,G as oe,B as te,C as ne,D as re,H as ae,i as se,E as ie}from"./element-plus-DFTWCWyi.js";import{e as ce,u as le,f as N,A as B,a as de,h as ue,c as me,P as pe,_ as _e}from"./index-DBREMm_z.js";import{w as $}from"./@vue/runtime-dom-DDAG46FW.js";import{l as j}from"./@element-plus/icons-vue-HOEUG8sr.js";import{u as we}from"./useLockFn-X4Qce5KO.js";import{_ as fe}from"./footer.vue_vue_type_script_setup_true_lang-CGxuEXz5.js";import{u as ge,a as xe}from"./vue-router-QlpZ4wdW.js";import{f as ve,w as he,n as E,b as ke,ak as l,I as d,J as a,a as t,aN as r,F as C,O as V,H as U,A as ye}from"./@vue/runtime-core-C6bnekPw.js";import{Q as be}from"./@vue/shared-mAAVTE9n.js";import{y as c,q as P,n as _,r as Ee}from"./@vue/reactivity-DiY1c2vO.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Ce={class:"login flex flex-col"},Ve={class:"flex-1 flex items-center justify-center"},Ue={class:"login-card flex rounded-md overflow-hidden"},We={class:"flex-1 h-full hidden md:inline-block"},qe={class:"login-form bg-body flex flex-col justify-center px-10 py-10 md:w-[420px] w-[380px] flex-none mx-auto"},Le={class:"text-center text-3xl font-medium mb-8"},Re={key:0,class:"text-center py-10"},ze={key:0,class:"flex justify-center mb-6"},Ie={class:"mb-5"},Se={class:"wxwork-qrcode-wrap"},Ae={key:0,class:"text-center py-10"},Fe={key:1,id:"wxwork_qrcode_container",class:"wxwork-qrcode"},Ne=ve({__name:"login",setup(Be){const W=P(),q=P(),D=ce(),L=le(),h=ge(),w=xe(),f=_(!1),R=ye(()=>D.config),s=Ee({account:"",password:""}),K={account:[{required:!0,message:"请输入账号",trigger:["blur"]}],password:[{required:!0,message:"请输入密码",trigger:["blur"]}]},m=_("account"),z=_(!1),g=_({corp_id:"",agent_id:""}),x=_(!1),k=_(!1),M=()=>/wxwork/i.test(navigator.userAgent),I=()=>window.location.origin+window.location.pathname,T=()=>{var o;if(!s.password)return(o=W.value)==null?void 0:o.focus();y()},y=async()=>{var e;await((e=q.value)==null?void 0:e.validate()),N.set(B,{remember:f.value,account:f.value?s.account:""});const o=await L.login(s);if(o.is_paw===0){w.push("/change-password");return}if(o.need_bind_work_wechat){w.push("/bind-work-wechat");return}S()},{isLock:G,lockFn:H}=we(y),S=()=>{const{query:{redirect:o}}=h,e=typeof o=="string"?o:pe.INDEX;w.push(e)},J=async o=>{x.value=!0;try{const e=await L.workWechatLogin(o);if(e.is_paw===0){w.push("/change-password");return}if(e.need_bind_work_wechat){w.push("/bind-work-wechat");return}S()}catch(e){console.error("企业微信登录失败:",e),ie.error((e==null?void 0:e.msg)||(e==null?void 0:e.message)||"企业微信登录失败,请使用账号密码登录"),x.value=!1,m.value="account"}},O=async()=>{if(!g.value.corp_id)return;k.value=!0,window.WwLogin||await new Promise((e,p)=>{const i=document.createElement("script");i.src="https://wwcdn.weixin.qq.com/node/wework/wwopen/js/wwLogin-1.2.7.js",i.onload=()=>e(),i.onerror=()=>p(new Error("加载企业微信JS失败")),document.head.appendChild(i)}),await E(),k.value=!1,await E();const o=encodeURIComponent(I());new window.WwLogin({id:"wxwork_qrcode_container",appid:g.value.corp_id,agentid:g.value.agent_id,redirect_uri:o,lang:"zh",state:"admin_login",href:"",self_redirect:!1})};return he(m,o=>{o==="wxwork"&&E(()=>O())}),ke(async()=>{const o=N.get(B);o!=null&&o.remember&&(f.value=o.remember,s.account=o.account);const e=new URLSearchParams(window.location.search),p=e.get("code"),i=e.get("state");if(p&&i==="admin_login"){const n=window.location.pathname+(h.query.redirect?`?redirect=${h.query.redirect}`:"");window.history.replaceState({},"",n),J(p);return}try{const n=await de();if(n!=null&&n.enabled&&(z.value=!0,g.value={corp_id:n.corp_id,agent_id:n.agent_id},M())){const b=encodeURIComponent(I()),v=`https://open.weixin.qq.com/connect/oauth2/authorize?appid=${n.corp_id}&redirect_uri=${b}&response_type=code&scope=snsapi_privateinfo&agentid=${n.agent_id}&state=admin_login#wechat_redirect`;window.location.href=v,x.value=!0;return}}catch(n){console.warn("获取企业微信配置失败:",n)}}),(o,e)=>{const p=ue,i=Z,n=ee,b=oe,v=me,A=ne,F=te,Q=re,X=ae,Y=se;return l(),d("div",Ce,[a("div",Ve,[a("div",Ue,[a("div",We,[t(p,{src:R.value.login_image,width:400,height:"100%"},null,8,["src"])]),a("div",qe,[a("div",Le,be(R.value.web_name),1),x.value?(l(),d("div",Re,[t(i,{class:"is-loading mb-4",size:40,color:"var(--el-color-primary)"},{default:r(()=>[t(c(j))]),_:1}),e[4]||(e[4]=a("div",{class:"text-gray-500"},"企业微信授权登录中...",-1))])):(l(),d(C,{key:1},[z.value?(l(),d("div",ze,[t(b,{modelValue:m.value,"onUpdate:modelValue":e[0]||(e[0]=u=>m.value=u),size:"large"},{default:r(()=>[t(n,{value:"account"},{default:r(()=>[...e[5]||(e[5]=[V("账号登录",-1)])]),_:1}),t(n,{value:"wxwork"},{default:r(()=>[...e[6]||(e[6]=[V("企业微信",-1)])]),_:1})]),_:1},8,["modelValue"])])):U("",!0),m.value==="account"?(l(),d(C,{key:1},[t(Q,{ref_key:"formRef",ref:q,model:c(s),size:"large",rules:K},{default:r(()=>[t(F,{prop:"account"},{default:r(()=>[t(A,{modelValue:c(s).account,"onUpdate:modelValue":e[1]||(e[1]=u=>c(s).account=u),placeholder:"请输入账号",onKeyup:$(T,["enter"])},{prepend:r(()=>[t(v,{name:"el-icon-User",size:"16"})]),_:1},8,["modelValue"])]),_:1}),t(F,{prop:"password"},{default:r(()=>[t(A,{ref_key:"passwordRef",ref:W,modelValue:c(s).password,"onUpdate:modelValue":e[2]||(e[2]=u=>c(s).password=u),"show-password":"",placeholder:"请输入密码",onKeyup:$(y,["enter"])},{prepend:r(()=>[t(v,{name:"el-icon-Lock",size:"16"})]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["model"]),a("div",Ie,[t(X,{modelValue:f.value,"onUpdate:modelValue":e[3]||(e[3]=u=>f.value=u),label:"记住账号"},null,8,["modelValue"])]),t(Y,{type:"primary",size:"large",loading:c(G),onClick:c(H)},{default:r(()=>[...e[7]||(e[7]=[V(" 登录 ",-1)])]),_:1},8,["loading","onClick"])],64)):U("",!0),m.value==="wxwork"?(l(),d(C,{key:2},[a("div",Se,[k.value?(l(),d("div",Ae,[t(i,{class:"is-loading",size:32,color:"var(--el-color-primary)"},{default:r(()=>[t(c(j))]),_:1}),e[8]||(e[8]=a("div",{class:"mt-2 text-gray-400 text-sm"},"加载企业微信扫码...",-1))])):(l(),d("div",Fe))]),e[9]||(e[9]=a("div",{class:"text-center text-sm text-gray-400 mt-4"}," 请使用企业微信扫描二维码登录 ",-1))],64)):U("",!0)],64))])])]),t(fe)])}}}),Co=_e(Ne,[["__scopeId","data-v-3d794186"]]);export{Co as default}; diff --git a/server/public/admin/assets/login_register-B0lLvaDu.js b/server/public/admin/assets/login_register-oQ1xFBPI.js similarity index 95% rename from server/public/admin/assets/login_register-B0lLvaDu.js rename to server/public/admin/assets/login_register-oQ1xFBPI.js index c1c2b411..be7965b8 100644 --- a/server/public/admin/assets/login_register-B0lLvaDu.js +++ b/server/public/admin/assets/login_register-oQ1xFBPI.js @@ -1 +1 @@ -import{_ as q}from"./index-9zND60WT.js";import{J as C,B,ae as D,H as U,g as N,i as P,D as R}from"./element-plus-0wC3naml.js";import{g as F,s as S}from"./user-y-C1e-zK.js";import{f as y,as as W,ak as b,I as G,a as l,aN as r,J as t,O as a,aP as I,G as J}from"./@vue/runtime-core-C6bnekPw.js";import{y as i,n as L,r as w}from"./@vue/reactivity-DiY1c2vO.js";import{Q as _}from"./@vue/shared-mAAVTE9n.js";import"./index-E47--KT7.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./lodash-D3kF6u-c.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";const j={class:"login-register"},A={class:"mt-1 ml-2"},H={class:"mt-1 ml-2"},O={class:"mt-1 ml-2"},Q={href:"https://open.weixin.qq.com/",target:"_blank"},T=y({name:"loginRegister"}),Re=y({...T,setup(z){const d=L(),o=w({login_way:[],coerce_mobile:0,login_agreement:0,third_auth:0,wechat_auth:0,qq_auth:0}),V=w({loginWay:[{required:!0,validator:(s,e,m)=>{if(o.login_way.join("").length===0)m(new Error("登录方式至少选择一项!"));else{if(o.login_way!==""){if(!d.value)return;d.value.validateField("checkPass")}m()}},trigger:"change"}],coerce_mobile:[{required:!0,trigger:"blur"}],login_agreement:[{required:!0,trigger:"blur"}],third_auth:[{required:!0,trigger:"blur"}]}),f=async()=>{try{const s=await F();for(const e in o)o[e]=s[e]}catch(s){console.log("获取=>",s)}},k=async()=>{var s;await((s=d.value)==null?void 0:s.validate());try{await S(o),f()}catch(e){console.log("保存=>",e)}};return f(),(s,e)=>{const m=U,g=D,u=B,p=N,v=C,c=P,h=R,x=q,E=W("perms");return b(),G("div",j,[l(h,{ref_key:"formRef",ref:d,rules:i(V),model:i(o),"label-width":"120px"},{default:r(()=>[l(v,{shadow:"never",class:"!border-none"},{default:r(()=>[e[10]||(e[10]=t("div",{class:"font-medium mb-7"},"通用设置",-1)),l(u,{label:"登录方式",prop:"login_way"},{default:r(()=>[t("div",null,[l(g,{modelValue:i(o).login_way,"onUpdate:modelValue":e[0]||(e[0]=n=>i(o).login_way=n)},{default:r(()=>[l(m,{value:"1"},{default:r(()=>[...e[5]||(e[5]=[a("账号密码登录",-1)])]),_:1}),l(m,{value:"2"},{default:r(()=>[...e[6]||(e[6]=[a("手机验证码登录",-1)])]),_:1})]),_:1},8,["modelValue"]),e[7]||(e[7]=t("div",{class:"form-tips"},"系统通用登录方式,至少选择一项",-1))])]),_:1}),l(u,{label:"强制绑定手机",prop:"coerce_mobile"},{default:r(()=>[t("div",null,[l(p,{modelValue:i(o).coerce_mobile,"onUpdate:modelValue":e[1]||(e[1]=n=>i(o).coerce_mobile=n),"active-value":1,"inactive-value":0},null,8,["modelValue"]),t("span",A,_(i(o).coerce_mobile?"开启":"关闭"),1),e[8]||(e[8]=t("div",{class:"form-tips"},[a(" 1、如果开启,则新用户在注册完成之后要强制绑定手机号"),t("br"),a(" 2、老用户登录时如果检测到没有绑定手机,则要重新绑定手机号 ")],-1))])]),_:1}),l(u,{label:"政策协议",prop:"login_agreement"},{default:r(()=>[t("div",null,[l(p,{modelValue:i(o).login_agreement,"onUpdate:modelValue":e[2]||(e[2]=n=>i(o).login_agreement=n),"active-value":1,"inactive-value":0},null,8,["modelValue"]),t("span",H,_(i(o).login_agreement?"开启":"关闭"),1),e[9]||(e[9]=t("div",{class:"form-tips"},"登录/注册会员时,是否显示服务协议和隐私政策",-1))])]),_:1})]),_:1}),l(v,{shadow:"never",class:"!border-none mt-4"},{default:r(()=>[e[15]||(e[15]=t("div",{class:"font-medium mb-7"},"第三方设置",-1)),l(u,{label:"第三方登录",prop:"third_auth"},{default:r(()=>[t("div",null,[l(p,{modelValue:i(o).third_auth,"onUpdate:modelValue":e[3]||(e[3]=n=>i(o).third_auth=n),"active-value":1,"inactive-value":0},null,8,["modelValue"]),t("span",O,_(i(o).third_auth?"开启":"关闭"),1),e[12]||(e[12]=t("div",{class:"form-tips"},"登录时支持第三方登录,新用户授权即自动注册账号",-1)),t("div",null,[l(m,{modelValue:i(o).wechat_auth,"onUpdate:modelValue":e[4]||(e[4]=n=>i(o).wechat_auth=n),"true-value":1,"false-value":0},{default:r(()=>[...e[11]||(e[11]=[a(" 微信登录 ",-1)])]),_:1},8,["modelValue"])])])]),_:1}),l(u,{label:"微信开放平台"},{default:r(()=>[t("div",null,[t("a",Q,[l(c,{type:"primary",link:"",class:"underline"},{default:r(()=>[...e[13]||(e[13]=[a(" 前往微信开放平台 ",-1)])]),_:1})]),e[14]||(e[14]=t("div",{class:"form-tips"},[a(" 1、在各渠道使用微信授权登录时,强烈建议配置微信开放平台"),t("br"),a(" 2、微信开放平台关联公众号、小程序和APP后,可实现各端用户账号统一,识别买家唯一微信身份"),t("br"),a(" 3、没有配置微信开放平台,同一微信号会生成多个用户,配置微信开放平台后已生成的用户账号无法合并 ")],-1))])]),_:1})]),_:1})]),_:1},8,["rules","model"]),I((b(),J(x,null,{default:r(()=>[l(c,{type:"primary",onClick:k},{default:r(()=>[...e[16]||(e[16]=[a("保存",-1)])]),_:1})]),_:1})),[[E,["setting.user.user/setRegisterConfig"]]])])}}});export{Re as default}; +import{_ as q}from"./index-x1zzA0a7.js";import{J as C,B,af as D,H as U,g as N,i as P,D as R}from"./element-plus-DFTWCWyi.js";import{g as F,s as S}from"./user-NxKTn5aX.js";import{f as y,as as W,ak as b,I as G,a as l,aN as r,J as t,O as a,aP as I,G as J}from"./@vue/runtime-core-C6bnekPw.js";import{y as i,n as L,r as w}from"./@vue/reactivity-DiY1c2vO.js";import{Q as _}from"./@vue/shared-mAAVTE9n.js";import"./index-DBREMm_z.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./lodash-D3kF6u-c.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";const j={class:"login-register"},A={class:"mt-1 ml-2"},H={class:"mt-1 ml-2"},O={class:"mt-1 ml-2"},Q={href:"https://open.weixin.qq.com/",target:"_blank"},T=y({name:"loginRegister"}),Re=y({...T,setup(z){const d=L(),o=w({login_way:[],coerce_mobile:0,login_agreement:0,third_auth:0,wechat_auth:0,qq_auth:0}),V=w({loginWay:[{required:!0,validator:(s,e,m)=>{if(o.login_way.join("").length===0)m(new Error("登录方式至少选择一项!"));else{if(o.login_way!==""){if(!d.value)return;d.value.validateField("checkPass")}m()}},trigger:"change"}],coerce_mobile:[{required:!0,trigger:"blur"}],login_agreement:[{required:!0,trigger:"blur"}],third_auth:[{required:!0,trigger:"blur"}]}),f=async()=>{try{const s=await F();for(const e in o)o[e]=s[e]}catch(s){console.log("获取=>",s)}},k=async()=>{var s;await((s=d.value)==null?void 0:s.validate());try{await S(o),f()}catch(e){console.log("保存=>",e)}};return f(),(s,e)=>{const m=U,g=D,u=B,p=N,v=C,c=P,h=R,x=q,E=W("perms");return b(),G("div",j,[l(h,{ref_key:"formRef",ref:d,rules:i(V),model:i(o),"label-width":"120px"},{default:r(()=>[l(v,{shadow:"never",class:"!border-none"},{default:r(()=>[e[10]||(e[10]=t("div",{class:"font-medium mb-7"},"通用设置",-1)),l(u,{label:"登录方式",prop:"login_way"},{default:r(()=>[t("div",null,[l(g,{modelValue:i(o).login_way,"onUpdate:modelValue":e[0]||(e[0]=n=>i(o).login_way=n)},{default:r(()=>[l(m,{value:"1"},{default:r(()=>[...e[5]||(e[5]=[a("账号密码登录",-1)])]),_:1}),l(m,{value:"2"},{default:r(()=>[...e[6]||(e[6]=[a("手机验证码登录",-1)])]),_:1})]),_:1},8,["modelValue"]),e[7]||(e[7]=t("div",{class:"form-tips"},"系统通用登录方式,至少选择一项",-1))])]),_:1}),l(u,{label:"强制绑定手机",prop:"coerce_mobile"},{default:r(()=>[t("div",null,[l(p,{modelValue:i(o).coerce_mobile,"onUpdate:modelValue":e[1]||(e[1]=n=>i(o).coerce_mobile=n),"active-value":1,"inactive-value":0},null,8,["modelValue"]),t("span",A,_(i(o).coerce_mobile?"开启":"关闭"),1),e[8]||(e[8]=t("div",{class:"form-tips"},[a(" 1、如果开启,则新用户在注册完成之后要强制绑定手机号"),t("br"),a(" 2、老用户登录时如果检测到没有绑定手机,则要重新绑定手机号 ")],-1))])]),_:1}),l(u,{label:"政策协议",prop:"login_agreement"},{default:r(()=>[t("div",null,[l(p,{modelValue:i(o).login_agreement,"onUpdate:modelValue":e[2]||(e[2]=n=>i(o).login_agreement=n),"active-value":1,"inactive-value":0},null,8,["modelValue"]),t("span",H,_(i(o).login_agreement?"开启":"关闭"),1),e[9]||(e[9]=t("div",{class:"form-tips"},"登录/注册会员时,是否显示服务协议和隐私政策",-1))])]),_:1})]),_:1}),l(v,{shadow:"never",class:"!border-none mt-4"},{default:r(()=>[e[15]||(e[15]=t("div",{class:"font-medium mb-7"},"第三方设置",-1)),l(u,{label:"第三方登录",prop:"third_auth"},{default:r(()=>[t("div",null,[l(p,{modelValue:i(o).third_auth,"onUpdate:modelValue":e[3]||(e[3]=n=>i(o).third_auth=n),"active-value":1,"inactive-value":0},null,8,["modelValue"]),t("span",O,_(i(o).third_auth?"开启":"关闭"),1),e[12]||(e[12]=t("div",{class:"form-tips"},"登录时支持第三方登录,新用户授权即自动注册账号",-1)),t("div",null,[l(m,{modelValue:i(o).wechat_auth,"onUpdate:modelValue":e[4]||(e[4]=n=>i(o).wechat_auth=n),"true-value":1,"false-value":0},{default:r(()=>[...e[11]||(e[11]=[a(" 微信登录 ",-1)])]),_:1},8,["modelValue"])])])]),_:1}),l(u,{label:"微信开放平台"},{default:r(()=>[t("div",null,[t("a",Q,[l(c,{type:"primary",link:"",class:"underline"},{default:r(()=>[...e[13]||(e[13]=[a(" 前往微信开放平台 ",-1)])]),_:1})]),e[14]||(e[14]=t("div",{class:"form-tips"},[a(" 1、在各渠道使用微信授权登录时,强烈建议配置微信开放平台"),t("br"),a(" 2、微信开放平台关联公众号、小程序和APP后,可实现各端用户账号统一,识别买家唯一微信身份"),t("br"),a(" 3、没有配置微信开放平台,同一微信号会生成多个用户,配置微信开放平台后已生成的用户账号无法合并 ")],-1))])]),_:1})]),_:1})]),_:1},8,["rules","model"]),I((b(),J(x,null,{default:r(()=>[l(c,{type:"primary",onClick:k},{default:r(()=>[...e[16]||(e[16]=[a("保存",-1)])]),_:1})]),_:1})),[[E,["setting.user.user/setRegisterConfig"]]])])}}});export{Re as default}; diff --git a/server/public/admin/assets/medicine-r1tvom0T.js b/server/public/admin/assets/medicine-B-s4KVF6.js similarity index 97% rename from server/public/admin/assets/medicine-r1tvom0T.js rename to server/public/admin/assets/medicine-B-s4KVF6.js index 0ab628d3..9e4cde04 100644 --- a/server/public/admin/assets/medicine-r1tvom0T.js +++ b/server/public/admin/assets/medicine-B-s4KVF6.js @@ -1 +1 @@ -import{D as ie,B as ne,C as ue,i as pe,M as de,N as me,v as ce,T as ge,L as fe,X as _e,d as ve,J as be,P as ye,Q as we,h as Ve,$ as ke,G as xe,I as Ee,V as Ce,a as he}from"./element-plus-0wC3naml.js";import{A as q}from"./@element-plus/icons-vue-HOEUG8sr.js";import{g as Ue,i as d,_ as ze}from"./index-E47--KT7.js";import{a as Be,b as Te,c as De,m as Se}from"./medicine-D-OyzCbR.js";import{f as M,b as Ie,ak as _,I as h,a as l,aN as a,O as n,aP as Ne,G as U,J as m,A as z}from"./@vue/runtime-core-C6bnekPw.js";import{Q as V}from"./@vue/shared-mAAVTE9n.js";import{y as L,n as g,r as qe}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Le={class:"medicine-library"},Me={class:"flex justify-between items-center"},Pe={key:1,class:"text-gray-400"},Re={class:"text-blue-600"},Ae={class:"text-green-600 font-medium"},Fe={class:"flex justify-end mt-4"},je=["src"],$e=M({name:"medicineLibrary"}),Ge=M({...$e,setup(Qe){const k=g(!1),x=g(!1),f=g(!1),y=g(),r=qe({page_no:1,page_size:20,name:"",supplier:""}),B=g([]),T=g(0),s=g({name:"",supplier:"",unit:"克",settlement_price:0,retail_price:0,stock:0,image:"",status:1,remark:""}),P={name:[{required:!0,message:"请输入药材名称",trigger:"blur"}],supplier:[{required:!0,message:"请输入供应商名称",trigger:"blur"}],unit:[{required:!0,message:"请选择单位",trigger:"change"}],settlement_price:[{required:!0,message:"请输入结算价",trigger:"blur"}],retail_price:[{required:!0,message:"请输入零售价",trigger:"blur"}]},R=z(()=>s.value.id?"编辑药品":"添加药品"),A=z(()=>"https://admin.zhenyangtang.com.cn//api/upload/image"),F=z(()=>({token:Ue()})),D=o=>{if(o==null||o==="")return"0.00";const e=typeof o=="string"?parseFloat(o):o;return isNaN(e)?"0.00":e.toFixed(2)},j=o=>o===0?"danger":o<10?"warning":"success",E=()=>{v()},$=()=>{r.name="",r.supplier="",r.page_no=1,v()},G=()=>{s.value={name:"",supplier:"",unit:"克",settlement_price:0,retail_price:0,stock:0,image:"",status:1,remark:""},f.value=!0},Q=o=>{s.value={...o},f.value=!0},J=async o=>{try{await he.confirm("确定要删除该药品吗?","提示",{type:"warning",confirmButtonText:"确定",cancelButtonText:"取消"}),await Be({id:o.id}),d.msgSuccess("删除成功"),v()}catch(e){e!=="cancel"&&d.msgError("删除失败")}},O=async()=>{y.value&&await y.value.validate(async o=>{if(o){x.value=!0;try{s.value.id?await Te(s.value):await De(s.value),d.msgSuccess("保存成功"),f.value=!1,v()}catch{d.msgError("保存失败")}finally{x.value=!1}}})},H=()=>{var o;(o=y.value)==null||o.resetFields()},W=o=>{const e=o.type.startsWith("image/"),w=o.size/1024/1024<2;return e?w?!0:(d.msgError("图片大小不能超过 2MB!"),!1):(d.msgError("只能上传图片文件!"),!1)},X=o=>{var e;o.code===1&&((e=o.data)!=null&&e.url)?(s.value.image=o.data.url,d.msgSuccess("上传成功")):d.msgError(o.msg||"上传失败")},v=async()=>{k.value=!0;try{const o=await Se(r);B.value=o.lists||[],T.value=o.count||0}catch(o){console.error("加载数据失败:",o),d.msgError("加载数据失败")}finally{k.value=!1}};return Ie(()=>{v()}),(o,e)=>{const w=ve,c=pe,b=ue,i=ne,S=ie,u=me,K=ce,I=ge,Y=de,Z=_e,ee=be,p=we,le=ye,C=Ve,te=ke,N=Ee,ae=xe,oe=Ce,se=fe;return _(),h("div",Le,[l(ee,{shadow:"never"},{header:a(()=>[m("div",Me,[e[15]||(e[15]=m("span",{class:"text-lg font-medium"},"药品库管理",-1)),l(c,{type:"primary",onClick:G},{default:a(()=>[l(w,{class:"mr-1"},{default:a(()=>[l(L(q))]),_:1}),e[14]||(e[14]=n(" 添加药品 ",-1))]),_:1})])]),default:a(()=>[l(S,{inline:"",class:"mb-4"},{default:a(()=>[l(i,{label:"药材名称"},{default:a(()=>[l(b,{modelValue:r.name,"onUpdate:modelValue":e[0]||(e[0]=t=>r.name=t),placeholder:"请输入药材名称",clearable:"",style:{width:"200px"}},null,8,["modelValue"])]),_:1}),l(i,{label:"供应商"},{default:a(()=>[l(b,{modelValue:r.supplier,"onUpdate:modelValue":e[1]||(e[1]=t=>r.supplier=t),placeholder:"请输入供应商名称",clearable:"",style:{width:"200px"}},null,8,["modelValue"])]),_:1}),l(i,null,{default:a(()=>[l(c,{type:"primary",onClick:E},{default:a(()=>[...e[16]||(e[16]=[n("查询",-1)])]),_:1}),l(c,{onClick:$},{default:a(()=>[...e[17]||(e[17]=[n("重置",-1)])]),_:1})]),_:1})]),_:1}),Ne((_(),U(Y,{data:B.value,border:"",stripe:""},{default:a(()=>[l(u,{type:"index",label:"序号",width:"60",align:"center"}),l(u,{prop:"image",label:"图片",width:"100",align:"center"},{default:a(({row:t})=>[t.image?(_(),U(K,{key:0,src:t.image,"preview-src-list":[t.image],fit:"cover",class:"w-16 h-16 rounded"},null,8,["src","preview-src-list"])):(_(),h("span",Pe,"暂无图片"))]),_:1}),l(u,{prop:"name",label:"药材名称","min-width":"120","show-overflow-tooltip":""}),l(u,{prop:"supplier",label:"供应商","min-width":"120","show-overflow-tooltip":""}),l(u,{prop:"unit",label:"单位",width:"80",align:"center"}),l(u,{prop:"settlement_price",label:"结算价(元)",width:"110",align:"right"},{default:a(({row:t})=>[m("span",Re,V(D(t.settlement_price)),1)]),_:1}),l(u,{prop:"retail_price",label:"零售价(元)",width:"110",align:"right"},{default:a(({row:t})=>[m("span",Ae,V(D(t.retail_price)),1)]),_:1}),l(u,{prop:"stock",label:"库存",width:"100",align:"center"},{default:a(({row:t})=>[l(I,{type:j(t.stock),size:"small"},{default:a(()=>[n(V(t.stock||0),1)]),_:2},1032,["type"])]),_:1}),l(u,{prop:"status",label:"状态",width:"80",align:"center"},{default:a(({row:t})=>[l(I,{type:t.status===1?"success":"info",size:"small"},{default:a(()=>[n(V(t.status===1?"启用":"停用"),1)]),_:2},1032,["type"])]),_:1}),l(u,{label:"操作",width:"160",fixed:"right",align:"center"},{default:a(({row:t})=>[l(c,{type:"primary",link:"",onClick:re=>Q(t)},{default:a(()=>[...e[18]||(e[18]=[n("编辑",-1)])]),_:1},8,["onClick"]),l(c,{type:"danger",link:"",onClick:re=>J(t)},{default:a(()=>[...e[19]||(e[19]=[n("删除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[se,k.value]]),m("div",Fe,[l(Z,{"current-page":r.page_no,"onUpdate:currentPage":e[2]||(e[2]=t=>r.page_no=t),"page-size":r.page_size,"onUpdate:pageSize":e[3]||(e[3]=t=>r.page_size=t),total:T.value,"page-sizes":[10,20,50,100],layout:"total, sizes, prev, pager, next, jumper",onSizeChange:E,onCurrentChange:E},null,8,["current-page","page-size","total"])])]),_:1}),l(oe,{modelValue:f.value,"onUpdate:modelValue":e[13]||(e[13]=t=>f.value=t),title:R.value,width:"600px","destroy-on-close":"",onClose:H},{footer:a(()=>[l(c,{onClick:e[12]||(e[12]=t=>f.value=!1)},{default:a(()=>[...e[25]||(e[25]=[n("取消",-1)])]),_:1}),l(c,{type:"primary",loading:x.value,onClick:O},{default:a(()=>[...e[26]||(e[26]=[n("确定",-1)])]),_:1},8,["loading"])]),default:a(()=>[l(S,{ref_key:"formRef",ref:y,model:s.value,rules:P,"label-width":"100px"},{default:a(()=>[l(i,{label:"药材名称",prop:"name"},{default:a(()=>[l(b,{modelValue:s.value.name,"onUpdate:modelValue":e[4]||(e[4]=t=>s.value.name=t),placeholder:"请输入药材名称",maxlength:"100","show-word-limit":""},null,8,["modelValue"])]),_:1}),l(i,{label:"供应商",prop:"supplier"},{default:a(()=>[l(b,{modelValue:s.value.supplier,"onUpdate:modelValue":e[5]||(e[5]=t=>s.value.supplier=t),placeholder:"请输入供应商名称",maxlength:"100","show-word-limit":""},null,8,["modelValue"])]),_:1}),l(i,{label:"单位",prop:"unit"},{default:a(()=>[l(le,{modelValue:s.value.unit,"onUpdate:modelValue":e[6]||(e[6]=t=>s.value.unit=t),placeholder:"请选择单位",clearable:"",style:{width:"100%"}},{default:a(()=>[l(p,{label:"克",value:"克"}),l(p,{label:"千克",value:"千克"}),l(p,{label:"斤",value:"斤"}),l(p,{label:"盒",value:"盒"}),l(p,{label:"瓶",value:"瓶"}),l(p,{label:"袋",value:"袋"}),l(p,{label:"包",value:"包"}),l(p,{label:"片",value:"片"}),l(p,{label:"粒",value:"粒"}),l(p,{label:"支",value:"支"})]),_:1},8,["modelValue"])]),_:1}),l(i,{label:"结算价",prop:"settlement_price"},{default:a(()=>[l(C,{modelValue:s.value.settlement_price,"onUpdate:modelValue":e[7]||(e[7]=t=>s.value.settlement_price=t),min:0,precision:2,step:.1,"controls-position":"right",style:{width:"100%"}},null,8,["modelValue"]),e[20]||(e[20]=m("span",{class:"ml-2 text-gray-500 text-sm"},"元",-1))]),_:1}),l(i,{label:"零售价",prop:"retail_price"},{default:a(()=>[l(C,{modelValue:s.value.retail_price,"onUpdate:modelValue":e[8]||(e[8]=t=>s.value.retail_price=t),min:0,precision:2,step:.1,"controls-position":"right",style:{width:"100%"}},null,8,["modelValue"]),e[21]||(e[21]=m("span",{class:"ml-2 text-gray-500 text-sm"},"元",-1))]),_:1}),l(i,{label:"库存",prop:"stock"},{default:a(()=>[l(C,{modelValue:s.value.stock,"onUpdate:modelValue":e[9]||(e[9]=t=>s.value.stock=t),min:0,step:1,"controls-position":"right",style:{width:"100%"}},null,8,["modelValue"])]),_:1}),l(i,{label:"药品图片",prop:"image"},{default:a(()=>[l(te,{class:"medicine-uploader",action:A.value,headers:F.value,"show-file-list":!1,"on-success":X,"before-upload":W,accept:"image/*"},{default:a(()=>[s.value.image?(_(),h("img",{key:0,src:s.value.image,class:"medicine-image"},null,8,je)):(_(),U(w,{key:1,class:"medicine-uploader-icon"},{default:a(()=>[l(L(q))]),_:1}))]),_:1},8,["action","headers"]),e[22]||(e[22]=m("div",{class:"text-gray-500 text-xs mt-1"},"建议尺寸:300x300像素,支持jpg、png格式,大小不超过2MB",-1))]),_:1}),l(i,{label:"状态",prop:"status"},{default:a(()=>[l(ae,{modelValue:s.value.status,"onUpdate:modelValue":e[10]||(e[10]=t=>s.value.status=t)},{default:a(()=>[l(N,{label:1},{default:a(()=>[...e[23]||(e[23]=[n("启用",-1)])]),_:1}),l(N,{label:0},{default:a(()=>[...e[24]||(e[24]=[n("停用",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),l(i,{label:"备注"},{default:a(()=>[l(b,{modelValue:s.value.remark,"onUpdate:modelValue":e[11]||(e[11]=t=>s.value.remark=t),type:"textarea",rows:3,placeholder:"请输入备注信息",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}}),Tl=ze(Ge,[["__scopeId","data-v-ff8ad457"]]);export{Tl as default}; +import{D as ie,B as ne,C as ue,i as pe,M as de,N as me,v as ce,T as ge,L as fe,X as _e,d as ve,J as be,P as ye,Q as we,h as Ve,$ as ke,G as xe,I as Ee,V as Ce,a as he}from"./element-plus-DFTWCWyi.js";import{A as q}from"./@element-plus/icons-vue-HOEUG8sr.js";import{g as Ue,i as d,_ as ze}from"./index-DBREMm_z.js";import{a as Be,b as Te,c as De,m as Se}from"./medicine-CCdxjQY6.js";import{f as M,b as Ie,ak as _,I as h,a as l,aN as a,O as n,aP as Ne,G as U,J as m,A as z}from"./@vue/runtime-core-C6bnekPw.js";import{Q as V}from"./@vue/shared-mAAVTE9n.js";import{y as L,n as g,r as qe}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Le={class:"medicine-library"},Me={class:"flex justify-between items-center"},Pe={key:1,class:"text-gray-400"},Re={class:"text-blue-600"},Ae={class:"text-green-600 font-medium"},Fe={class:"flex justify-end mt-4"},je=["src"],$e=M({name:"medicineLibrary"}),Ge=M({...$e,setup(Qe){const k=g(!1),x=g(!1),f=g(!1),y=g(),r=qe({page_no:1,page_size:20,name:"",supplier:""}),B=g([]),T=g(0),s=g({name:"",supplier:"",unit:"克",settlement_price:0,retail_price:0,stock:0,image:"",status:1,remark:""}),P={name:[{required:!0,message:"请输入药材名称",trigger:"blur"}],supplier:[{required:!0,message:"请输入供应商名称",trigger:"blur"}],unit:[{required:!0,message:"请选择单位",trigger:"change"}],settlement_price:[{required:!0,message:"请输入结算价",trigger:"blur"}],retail_price:[{required:!0,message:"请输入零售价",trigger:"blur"}]},R=z(()=>s.value.id?"编辑药品":"添加药品"),A=z(()=>"https://admin.zhenyangtang.com.cn//api/upload/image"),F=z(()=>({token:Ue()})),D=o=>{if(o==null||o==="")return"0.00";const e=typeof o=="string"?parseFloat(o):o;return isNaN(e)?"0.00":e.toFixed(2)},j=o=>o===0?"danger":o<10?"warning":"success",E=()=>{v()},$=()=>{r.name="",r.supplier="",r.page_no=1,v()},G=()=>{s.value={name:"",supplier:"",unit:"克",settlement_price:0,retail_price:0,stock:0,image:"",status:1,remark:""},f.value=!0},Q=o=>{s.value={...o},f.value=!0},J=async o=>{try{await he.confirm("确定要删除该药品吗?","提示",{type:"warning",confirmButtonText:"确定",cancelButtonText:"取消"}),await Be({id:o.id}),d.msgSuccess("删除成功"),v()}catch(e){e!=="cancel"&&d.msgError("删除失败")}},O=async()=>{y.value&&await y.value.validate(async o=>{if(o){x.value=!0;try{s.value.id?await Te(s.value):await De(s.value),d.msgSuccess("保存成功"),f.value=!1,v()}catch{d.msgError("保存失败")}finally{x.value=!1}}})},H=()=>{var o;(o=y.value)==null||o.resetFields()},W=o=>{const e=o.type.startsWith("image/"),w=o.size/1024/1024<2;return e?w?!0:(d.msgError("图片大小不能超过 2MB!"),!1):(d.msgError("只能上传图片文件!"),!1)},X=o=>{var e;o.code===1&&((e=o.data)!=null&&e.url)?(s.value.image=o.data.url,d.msgSuccess("上传成功")):d.msgError(o.msg||"上传失败")},v=async()=>{k.value=!0;try{const o=await Se(r);B.value=o.lists||[],T.value=o.count||0}catch(o){console.error("加载数据失败:",o),d.msgError("加载数据失败")}finally{k.value=!1}};return Ie(()=>{v()}),(o,e)=>{const w=ve,c=pe,b=ue,i=ne,S=ie,u=me,K=ce,I=ge,Y=de,Z=_e,ee=be,p=we,le=ye,C=Ve,te=ke,N=Ee,ae=xe,oe=Ce,se=fe;return _(),h("div",Le,[l(ee,{shadow:"never"},{header:a(()=>[m("div",Me,[e[15]||(e[15]=m("span",{class:"text-lg font-medium"},"药品库管理",-1)),l(c,{type:"primary",onClick:G},{default:a(()=>[l(w,{class:"mr-1"},{default:a(()=>[l(L(q))]),_:1}),e[14]||(e[14]=n(" 添加药品 ",-1))]),_:1})])]),default:a(()=>[l(S,{inline:"",class:"mb-4"},{default:a(()=>[l(i,{label:"药材名称"},{default:a(()=>[l(b,{modelValue:r.name,"onUpdate:modelValue":e[0]||(e[0]=t=>r.name=t),placeholder:"请输入药材名称",clearable:"",style:{width:"200px"}},null,8,["modelValue"])]),_:1}),l(i,{label:"供应商"},{default:a(()=>[l(b,{modelValue:r.supplier,"onUpdate:modelValue":e[1]||(e[1]=t=>r.supplier=t),placeholder:"请输入供应商名称",clearable:"",style:{width:"200px"}},null,8,["modelValue"])]),_:1}),l(i,null,{default:a(()=>[l(c,{type:"primary",onClick:E},{default:a(()=>[...e[16]||(e[16]=[n("查询",-1)])]),_:1}),l(c,{onClick:$},{default:a(()=>[...e[17]||(e[17]=[n("重置",-1)])]),_:1})]),_:1})]),_:1}),Ne((_(),U(Y,{data:B.value,border:"",stripe:""},{default:a(()=>[l(u,{type:"index",label:"序号",width:"60",align:"center"}),l(u,{prop:"image",label:"图片",width:"100",align:"center"},{default:a(({row:t})=>[t.image?(_(),U(K,{key:0,src:t.image,"preview-src-list":[t.image],fit:"cover",class:"w-16 h-16 rounded"},null,8,["src","preview-src-list"])):(_(),h("span",Pe,"暂无图片"))]),_:1}),l(u,{prop:"name",label:"药材名称","min-width":"120","show-overflow-tooltip":""}),l(u,{prop:"supplier",label:"供应商","min-width":"120","show-overflow-tooltip":""}),l(u,{prop:"unit",label:"单位",width:"80",align:"center"}),l(u,{prop:"settlement_price",label:"结算价(元)",width:"110",align:"right"},{default:a(({row:t})=>[m("span",Re,V(D(t.settlement_price)),1)]),_:1}),l(u,{prop:"retail_price",label:"零售价(元)",width:"110",align:"right"},{default:a(({row:t})=>[m("span",Ae,V(D(t.retail_price)),1)]),_:1}),l(u,{prop:"stock",label:"库存",width:"100",align:"center"},{default:a(({row:t})=>[l(I,{type:j(t.stock),size:"small"},{default:a(()=>[n(V(t.stock||0),1)]),_:2},1032,["type"])]),_:1}),l(u,{prop:"status",label:"状态",width:"80",align:"center"},{default:a(({row:t})=>[l(I,{type:t.status===1?"success":"info",size:"small"},{default:a(()=>[n(V(t.status===1?"启用":"停用"),1)]),_:2},1032,["type"])]),_:1}),l(u,{label:"操作",width:"160",fixed:"right",align:"center"},{default:a(({row:t})=>[l(c,{type:"primary",link:"",onClick:re=>Q(t)},{default:a(()=>[...e[18]||(e[18]=[n("编辑",-1)])]),_:1},8,["onClick"]),l(c,{type:"danger",link:"",onClick:re=>J(t)},{default:a(()=>[...e[19]||(e[19]=[n("删除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[se,k.value]]),m("div",Fe,[l(Z,{"current-page":r.page_no,"onUpdate:currentPage":e[2]||(e[2]=t=>r.page_no=t),"page-size":r.page_size,"onUpdate:pageSize":e[3]||(e[3]=t=>r.page_size=t),total:T.value,"page-sizes":[10,20,50,100],layout:"total, sizes, prev, pager, next, jumper",onSizeChange:E,onCurrentChange:E},null,8,["current-page","page-size","total"])])]),_:1}),l(oe,{modelValue:f.value,"onUpdate:modelValue":e[13]||(e[13]=t=>f.value=t),title:R.value,width:"600px","destroy-on-close":"",onClose:H},{footer:a(()=>[l(c,{onClick:e[12]||(e[12]=t=>f.value=!1)},{default:a(()=>[...e[25]||(e[25]=[n("取消",-1)])]),_:1}),l(c,{type:"primary",loading:x.value,onClick:O},{default:a(()=>[...e[26]||(e[26]=[n("确定",-1)])]),_:1},8,["loading"])]),default:a(()=>[l(S,{ref_key:"formRef",ref:y,model:s.value,rules:P,"label-width":"100px"},{default:a(()=>[l(i,{label:"药材名称",prop:"name"},{default:a(()=>[l(b,{modelValue:s.value.name,"onUpdate:modelValue":e[4]||(e[4]=t=>s.value.name=t),placeholder:"请输入药材名称",maxlength:"100","show-word-limit":""},null,8,["modelValue"])]),_:1}),l(i,{label:"供应商",prop:"supplier"},{default:a(()=>[l(b,{modelValue:s.value.supplier,"onUpdate:modelValue":e[5]||(e[5]=t=>s.value.supplier=t),placeholder:"请输入供应商名称",maxlength:"100","show-word-limit":""},null,8,["modelValue"])]),_:1}),l(i,{label:"单位",prop:"unit"},{default:a(()=>[l(le,{modelValue:s.value.unit,"onUpdate:modelValue":e[6]||(e[6]=t=>s.value.unit=t),placeholder:"请选择单位",clearable:"",style:{width:"100%"}},{default:a(()=>[l(p,{label:"克",value:"克"}),l(p,{label:"千克",value:"千克"}),l(p,{label:"斤",value:"斤"}),l(p,{label:"盒",value:"盒"}),l(p,{label:"瓶",value:"瓶"}),l(p,{label:"袋",value:"袋"}),l(p,{label:"包",value:"包"}),l(p,{label:"片",value:"片"}),l(p,{label:"粒",value:"粒"}),l(p,{label:"支",value:"支"})]),_:1},8,["modelValue"])]),_:1}),l(i,{label:"结算价",prop:"settlement_price"},{default:a(()=>[l(C,{modelValue:s.value.settlement_price,"onUpdate:modelValue":e[7]||(e[7]=t=>s.value.settlement_price=t),min:0,precision:2,step:.1,"controls-position":"right",style:{width:"100%"}},null,8,["modelValue"]),e[20]||(e[20]=m("span",{class:"ml-2 text-gray-500 text-sm"},"元",-1))]),_:1}),l(i,{label:"零售价",prop:"retail_price"},{default:a(()=>[l(C,{modelValue:s.value.retail_price,"onUpdate:modelValue":e[8]||(e[8]=t=>s.value.retail_price=t),min:0,precision:2,step:.1,"controls-position":"right",style:{width:"100%"}},null,8,["modelValue"]),e[21]||(e[21]=m("span",{class:"ml-2 text-gray-500 text-sm"},"元",-1))]),_:1}),l(i,{label:"库存",prop:"stock"},{default:a(()=>[l(C,{modelValue:s.value.stock,"onUpdate:modelValue":e[9]||(e[9]=t=>s.value.stock=t),min:0,step:1,"controls-position":"right",style:{width:"100%"}},null,8,["modelValue"])]),_:1}),l(i,{label:"药品图片",prop:"image"},{default:a(()=>[l(te,{class:"medicine-uploader",action:A.value,headers:F.value,"show-file-list":!1,"on-success":X,"before-upload":W,accept:"image/*"},{default:a(()=>[s.value.image?(_(),h("img",{key:0,src:s.value.image,class:"medicine-image"},null,8,je)):(_(),U(w,{key:1,class:"medicine-uploader-icon"},{default:a(()=>[l(L(q))]),_:1}))]),_:1},8,["action","headers"]),e[22]||(e[22]=m("div",{class:"text-gray-500 text-xs mt-1"},"建议尺寸:300x300像素,支持jpg、png格式,大小不超过2MB",-1))]),_:1}),l(i,{label:"状态",prop:"status"},{default:a(()=>[l(ae,{modelValue:s.value.status,"onUpdate:modelValue":e[10]||(e[10]=t=>s.value.status=t)},{default:a(()=>[l(N,{label:1},{default:a(()=>[...e[23]||(e[23]=[n("启用",-1)])]),_:1}),l(N,{label:0},{default:a(()=>[...e[24]||(e[24]=[n("停用",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),l(i,{label:"备注"},{default:a(()=>[l(b,{modelValue:s.value.remark,"onUpdate:modelValue":e[11]||(e[11]=t=>s.value.remark=t),type:"textarea",rows:3,placeholder:"请输入备注信息",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}}),Tl=ze(Ge,[["__scopeId","data-v-ff8ad457"]]);export{Tl as default}; diff --git a/server/public/admin/assets/medicine-D-OyzCbR.js b/server/public/admin/assets/medicine-CCdxjQY6.js similarity index 81% rename from server/public/admin/assets/medicine-D-OyzCbR.js rename to server/public/admin/assets/medicine-CCdxjQY6.js index ea460bfc..3f7de675 100644 --- a/server/public/admin/assets/medicine-D-OyzCbR.js +++ b/server/public/admin/assets/medicine-CCdxjQY6.js @@ -1 +1 @@ -import{r as i}from"./index-E47--KT7.js";function r(e){return i.get({url:"/doctor.medicine/lists",params:e})}function n(e){return i.post({url:"/doctor.medicine/add",params:e})}function d(e){return i.post({url:"/doctor.medicine/edit",params:e})}function o(e){return i.post({url:"/doctor.medicine/delete",params:e})}export{o as a,d as b,n as c,r as m}; +import{r as i}from"./index-DBREMm_z.js";function r(e){return i.get({url:"/doctor.medicine/lists",params:e})}function n(e){return i.post({url:"/doctor.medicine/add",params:e})}function d(e){return i.post({url:"/doctor.medicine/edit",params:e})}function o(e){return i.post({url:"/doctor.medicine/delete",params:e})}export{o as a,d as b,n as c,r as m}; diff --git a/server/public/admin/assets/menu-BWXOs8hh.js b/server/public/admin/assets/menu-AjX2ndQ-.js similarity index 79% rename from server/public/admin/assets/menu-BWXOs8hh.js rename to server/public/admin/assets/menu-AjX2ndQ-.js index 9c3a3e00..1fbe5112 100644 --- a/server/public/admin/assets/menu-BWXOs8hh.js +++ b/server/public/admin/assets/menu-AjX2ndQ-.js @@ -1 +1 @@ -import{_ as x}from"./index-9zND60WT.js";import{K as k,J as w,i as b}from"./element-plus-0wC3naml.js";import C from"./oa-attr-BlJTj8od.js";import y from"./oa-phone-n60FNq77.js";import{u as O}from"./useMenuOa-C5oHvLlA.js";import{f as _,as as g,ak as e,I as B,a as o,aN as t,J as p,aP as n,G as s,O as l}from"./@vue/runtime-core-C6bnekPw.js";import{y as c}from"./@vue/reactivity-DiY1c2vO.js";import{_ as M}from"./index-E47--KT7.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-BHTgr4Ka.js";import"./index-nymJKQXP.js";import"./oa-menu-form.vue_vue_type_script_setup_true_lang-CREThn5_.js";import"./oa-menu-form-edit.vue_vue_type_script_setup_true_lang-Bea0Guom.js";import"./wx_oa-CMZpCm8a.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const E={class:"menu-oa"},N={class:"lg:flex flex-1"},P={class:"mt-4 lg:mt-0 max-w-[400px]"},V=_({name:"wxOaMenu"}),A=_({...V,setup(D){const{getOaMenuFunc:d,handleSave:u,handlePublish:f}=O(void 0);return d(),(I,r)=>{const v=k,i=w,m=b,h=x,a=g("perms");return e(),B("div",E,[o(i,{class:"!border-none",shadow:"never"},{default:t(()=>[o(v,{type:"warning",title:"配置微信公众号菜单,点击确认,保存菜单并发布至微信公众号",closable:!1,"show-icon":""})]),_:1}),o(i,{class:"!border-none mt-4",shadow:"never"},{default:t(()=>[p("div",N,[o(y),p("div",P,[o(C)])])]),_:1}),o(h,null,{default:t(()=>[n((e(),s(m,{type:"primary",onClick:c(u)},{default:t(()=>[...r[0]||(r[0]=[l(" 保存 ",-1)])]),_:1},8,["onClick"])),[[a,["channel:oaMenu:save"]]]),n((e(),s(m,{type:"primary",onClick:c(f)},{default:t(()=>[...r[1]||(r[1]=[l(" 发布 ",-1)])]),_:1},8,["onClick"])),[[a,["channel:oaMenu:publish"]]])]),_:1})])}}}),Eo=M(A,[["__scopeId","data-v-f59ca9a4"]]);export{Eo as default}; +import{_ as x}from"./index-x1zzA0a7.js";import{K as k,J as w,i as b}from"./element-plus-DFTWCWyi.js";import C from"./oa-attr-pvWnhivq.js";import y from"./oa-phone-YKGiM_hq.js";import{u as O}from"./useMenuOa-Bk-XiPjw.js";import{f as _,as as g,ak as e,I as B,a as o,aN as t,J as p,aP as n,G as s,O as l}from"./@vue/runtime-core-C6bnekPw.js";import{y as c}from"./@vue/reactivity-DiY1c2vO.js";import{_ as M}from"./index-DBREMm_z.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-CbfZXeGu.js";import"./index-BwF7vczx.js";import"./oa-menu-form.vue_vue_type_script_setup_true_lang-kNW0U_x0.js";import"./oa-menu-form-edit.vue_vue_type_script_setup_true_lang-BvN7D7qM.js";import"./wx_oa-sVQft6O9.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const E={class:"menu-oa"},N={class:"lg:flex flex-1"},P={class:"mt-4 lg:mt-0 max-w-[400px]"},V=_({name:"wxOaMenu"}),A=_({...V,setup(D){const{getOaMenuFunc:d,handleSave:u,handlePublish:f}=O(void 0);return d(),(I,r)=>{const v=k,i=w,m=b,h=x,a=g("perms");return e(),B("div",E,[o(i,{class:"!border-none",shadow:"never"},{default:t(()=>[o(v,{type:"warning",title:"配置微信公众号菜单,点击确认,保存菜单并发布至微信公众号",closable:!1,"show-icon":""})]),_:1}),o(i,{class:"!border-none mt-4",shadow:"never"},{default:t(()=>[p("div",N,[o(y),p("div",P,[o(C)])])]),_:1}),o(h,null,{default:t(()=>[n((e(),s(m,{type:"primary",onClick:c(u)},{default:t(()=>[...r[0]||(r[0]=[l(" 保存 ",-1)])]),_:1},8,["onClick"])),[[a,["channel:oaMenu:save"]]]),n((e(),s(m,{type:"primary",onClick:c(f)},{default:t(()=>[...r[1]||(r[1]=[l(" 发布 ",-1)])]),_:1},8,["onClick"])),[[a,["channel:oaMenu:publish"]]])]),_:1})])}}}),Eo=M(A,[["__scopeId","data-v-f59ca9a4"]]);export{Eo as default}; diff --git a/server/public/admin/assets/menu-Cw5oPkn4.js b/server/public/admin/assets/menu-CVGDEBOV.js similarity index 93% rename from server/public/admin/assets/menu-Cw5oPkn4.js rename to server/public/admin/assets/menu-CVGDEBOV.js index 198369b4..f54a26e7 100644 --- a/server/public/admin/assets/menu-Cw5oPkn4.js +++ b/server/public/admin/assets/menu-CVGDEBOV.js @@ -1 +1 @@ -import{y as u,w as d}from"./element-plus-0wC3naml.js";import{f as _,ak as t,I as r,a as f,aN as i,F as x,ap as V,G as h,J as k}from"./@vue/runtime-core-C6bnekPw.js";import{Q as y}from"./@vue/shared-mAAVTE9n.js";import{_ as g}from"./index-E47--KT7.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const v={class:"pages-menu"},B=_({__name:"menu",props:{menus:{type:Object,default:()=>({})},modelValue:{type:String,default:"1"}},emits:["update:modelValue"],setup(e,{emit:p}){const a=p,n=o=>{a("update:modelValue",o)};return(o,S)=>{const s=d,l=u;return t(),r("div",v,[f(l,{"default-active":e.modelValue,class:"w-[160px] min-h-[668px]",onSelect:n},{default:i(()=>[(t(!0),r(x,null,V(e.menus,(m,c)=>(t(),h(s,{index:c,key:m.id},{default:i(()=>[k("span",null,y(m.name),1)]),_:2},1032,["index"]))),128))]),_:1},8,["default-active"])])}}}),nt=g(B,[["__scopeId","data-v-99909138"]]);export{nt as default}; +import{y as u,w as d}from"./element-plus-DFTWCWyi.js";import{f as _,ak as t,I as r,a as f,aN as i,F as x,ap as V,G as h,J as k}from"./@vue/runtime-core-C6bnekPw.js";import{Q as y}from"./@vue/shared-mAAVTE9n.js";import{_ as g}from"./index-DBREMm_z.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const v={class:"pages-menu"},B=_({__name:"menu",props:{menus:{type:Object,default:()=>({})},modelValue:{type:String,default:"1"}},emits:["update:modelValue"],setup(e,{emit:p}){const a=p,n=o=>{a("update:modelValue",o)};return(o,S)=>{const s=d,l=u;return t(),r("div",v,[f(l,{"default-active":e.modelValue,class:"w-[160px] min-h-[668px]",onSelect:n},{default:i(()=>[(t(!0),r(x,null,V(e.menus,(m,c)=>(t(),h(s,{index:c,key:m.id},{default:i(()=>[k("span",null,y(m.name),1)]),_:2},1032,["index"]))),128))]),_:1},8,["default-active"])])}}}),nt=g(B,[["__scopeId","data-v-99909138"]]);export{nt as default}; diff --git a/server/public/admin/assets/menu-CJerAkpY.js b/server/public/admin/assets/menu-CvPcniJ1.js similarity index 86% rename from server/public/admin/assets/menu-CJerAkpY.js rename to server/public/admin/assets/menu-CvPcniJ1.js index 50444eae..56af3c07 100644 --- a/server/public/admin/assets/menu-CJerAkpY.js +++ b/server/public/admin/assets/menu-CvPcniJ1.js @@ -1 +1 @@ -import{r as t}from"./index-E47--KT7.js";function n(u){return t.get({url:"/auth.menu/lists",params:u})}function r(u){return t.get({url:"/auth.menu/all",params:u})}function a(u){return t.post({url:"/auth.menu/add",params:u})}function l(u){return t.post({url:"/auth.menu/edit",params:u})}function m(u){return t.post({url:"/auth.menu/delete",params:u})}function s(u){return t.get({url:"/auth.menu/detail",params:u})}export{n as a,l as b,a as c,s as d,m as e,r as m}; +import{r as t}from"./index-DBREMm_z.js";function n(u){return t.get({url:"/auth.menu/lists",params:u})}function r(u){return t.get({url:"/auth.menu/all",params:u})}function a(u){return t.post({url:"/auth.menu/add",params:u})}function l(u){return t.post({url:"/auth.menu/edit",params:u})}function m(u){return t.post({url:"/auth.menu/delete",params:u})}function s(u){return t.get({url:"/auth.menu/detail",params:u})}export{n as a,l as b,a as c,s as d,m as e,r as m}; diff --git a/server/public/admin/assets/menu-set-DesB-ZdE.js b/server/public/admin/assets/menu-set-CySN509A.js similarity index 67% rename from server/public/admin/assets/menu-set-DesB-ZdE.js rename to server/public/admin/assets/menu-set-CySN509A.js index c68b9e79..226fc5d9 100644 --- a/server/public/admin/assets/menu-set-DesB-ZdE.js +++ b/server/public/admin/assets/menu-set-CySN509A.js @@ -1 +1 @@ -import{_ as o}from"./menu-set.vue_vue_type_script_setup_true_lang-ZzWuHRXB.js";import"./element-plus-0wC3naml.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-BHTgr4Ka.js";import"./index-E47--KT7.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./picker-B9b8bj5N.js";import"./index-nymJKQXP.js";import"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import"./article-DJnP6RZd.js";import"./usePaging-VsbTxSU0.js";import"./picker-DlbAZkDm.js";import"./index-B56X8bEB.js";import"./index-Ci4dcEQh.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-DoYUJmkp.js";import"./index.vue_vue_type_script_setup_true_lang-Bl0f8aX8.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";export{o as default}; +import{_ as o}from"./menu-set.vue_vue_type_script_setup_true_lang-DE6tDAas.js";import"./element-plus-DFTWCWyi.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-CbfZXeGu.js";import"./index-DBREMm_z.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./picker-DPnqJ8Gk.js";import"./index-BwF7vczx.js";import"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import"./article-BnVIxFkr.js";import"./usePaging-VsbTxSU0.js";import"./picker-BCRrEZaA.js";import"./index-BiPYXDtP.js";import"./index-CRoZWY-W.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-BimpIRb_.js";import"./index.vue_vue_type_script_setup_true_lang-x0oL2ShL.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";export{o as default}; diff --git a/server/public/admin/assets/menu-set.vue_vue_type_script_setup_true_lang-ZzWuHRXB.js b/server/public/admin/assets/menu-set.vue_vue_type_script_setup_true_lang-DE6tDAas.js similarity index 92% rename from server/public/admin/assets/menu-set.vue_vue_type_script_setup_true_lang-ZzWuHRXB.js rename to server/public/admin/assets/menu-set.vue_vue_type_script_setup_true_lang-DE6tDAas.js index 016d86bf..497af77a 100644 --- a/server/public/admin/assets/menu-set.vue_vue_type_script_setup_true_lang-ZzWuHRXB.js +++ b/server/public/admin/assets/menu-set.vue_vue_type_script_setup_true_lang-DE6tDAas.js @@ -1 +1 @@ -import{B,C as D,g as z,i as N}from"./element-plus-0wC3naml.js";import{_ as $}from"./index-BHTgr4Ka.js";import{_ as F}from"./picker-B9b8bj5N.js";import{_ as I}from"./picker-DlbAZkDm.js";import{c as A,i as x}from"./index-E47--KT7.js";import{D as P}from"./vuedraggable-5bKFmC7X.js";import{k as R}from"./lodash-es-C2A-Pj28.js";import{f as G,ak as n,I as H,J as d,a,aN as l,G as m,H as p,O as J,F as O,A as S}from"./@vue/runtime-core-C6bnekPw.js";import{a as T,y as _}from"./@vue/reactivity-DiY1c2vO.js";const j={class:"mb-[18px] max-w-[400px]"},q={class:"bg-fill-light w-full p-4 mt-4"},K={class:"upload-btn w-[60px] h-[60px]"},L={class:"upload-btn w-[60px] h-[60px]"},M={class:"flex-1 flex items-center"},Q={class:"drag-move cursor-move ml-auto"},se=G({__name:"menu-set",props:{modelValue:{},max:{default:9999},min:{default:-1},itemData:{default:()=>({name:"",selected:"",unselected:"",is_show:"1",link:{}})}},emits:["update:modelValue"],setup(f,{emit:v}){const u=f,g=v,t=S({get(){return u.modelValue},set(i){g("update:modelValue",i)}}),k=()=>{var i;((i=t.value)==null?void 0:i.length){if(t.value.length<=u.min&&u.min>-1)return x.msgError(`最少保留${u.min}个`);t.value.splice(i,1)};return(i,s)=>{const r=A,V=I,c=B,b=D,w=F,y=z,U=$,C=N;return n(),H(O,null,[d("div",j,[a(_(P),{class:"draggable",modelValue:_(t),"onUpdate:modelValue":s[0]||(s[0]=e=>T(t)?t.value=e:null),animation:"300",handle:".drag-move","item-key":"index"},{item:l(({element:e,index:E})=>[a(U,{onClose:o=>h(E),class:"max-w-[400px]"},{default:l(()=>[d("div",q,[e.unselected!==void 0||e.selected!==void 0?(n(),m(c,{key:0,label:"导航图标"},{default:l(()=>[e.unselected!==void 0?(n(),m(V,{key:0,modelValue:e.unselected,"onUpdate:modelValue":o=>e.unselected=o,"upload-class":"bg-body","exclude-domain":"",size:"60px"},{upload:l(()=>[d("div",K,[a(r,{name:"el-icon-Plus",size:16}),s[1]||(s[1]=d("span",{class:"text-xs leading-5"}," 未选中 ",-1))])]),_:1},8,["modelValue","onUpdate:modelValue"])):p("",!0),e.selected!==void 0?(n(),m(V,{key:1,modelValue:e.selected,"onUpdate:modelValue":o=>e.selected=o,"upload-class":"bg-body","exclude-domain":"",size:"60px"},{upload:l(()=>[d("div",L,[a(r,{name:"el-icon-Plus",size:16}),s[2]||(s[2]=d("span",{class:"text-xs leading-5"}," 选中 ",-1))])]),_:1},8,["modelValue","onUpdate:modelValue"])):p("",!0)]),_:2},1024)):p("",!0),e.name!==void 0?(n(),m(c,{key:1,label:"导航名称"},{default:l(()=>[a(b,{modelValue:e.name,"onUpdate:modelValue":o=>e.name=o,placeholder:"请输入名称"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024)):p("",!0),e.link!==void 0?(n(),m(c,{key:2,label:"链接地址"},{default:l(()=>[a(w,{modelValue:e.link,"onUpdate:modelValue":o=>e.link=o,type:"pc"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024)):p("",!0),e.is_show!==void 0?(n(),m(c,{key:3,label:"是否显示"},{default:l(()=>[d("div",M,[a(y,{modelValue:e.is_show,"onUpdate:modelValue":o=>e.is_show=o,"active-value":"1","inactive-value":"0"},null,8,["modelValue","onUpdate:modelValue"]),d("div",Q,[a(r,{name:"el-icon-Rank",size:"18"})])])]),_:2},1024)):p("",!0)])]),_:2},1032,["onClose"])]),_:1},8,["modelValue"])]),_(t).length[a(C,{type:"primary",onClick:k},{default:l(()=>[...s[3]||(s[3]=[J(" 添加导航 ",-1)])]),_:1})]),_:1})):p("",!0)],64)}}});export{se as _}; +import{B,C as D,g as z,i as N}from"./element-plus-DFTWCWyi.js";import{_ as $}from"./index-CbfZXeGu.js";import{_ as F}from"./picker-DPnqJ8Gk.js";import{_ as I}from"./picker-BCRrEZaA.js";import{c as A,i as x}from"./index-DBREMm_z.js";import{D as P}from"./vuedraggable-5bKFmC7X.js";import{k as R}from"./lodash-es-C2A-Pj28.js";import{f as G,ak as n,I as H,J as d,a,aN as l,G as m,H as p,O as J,F as O,A as S}from"./@vue/runtime-core-C6bnekPw.js";import{a as T,y as _}from"./@vue/reactivity-DiY1c2vO.js";const j={class:"mb-[18px] max-w-[400px]"},q={class:"bg-fill-light w-full p-4 mt-4"},K={class:"upload-btn w-[60px] h-[60px]"},L={class:"upload-btn w-[60px] h-[60px]"},M={class:"flex-1 flex items-center"},Q={class:"drag-move cursor-move ml-auto"},se=G({__name:"menu-set",props:{modelValue:{},max:{default:9999},min:{default:-1},itemData:{default:()=>({name:"",selected:"",unselected:"",is_show:"1",link:{}})}},emits:["update:modelValue"],setup(f,{emit:v}){const u=f,g=v,t=S({get(){return u.modelValue},set(i){g("update:modelValue",i)}}),k=()=>{var i;((i=t.value)==null?void 0:i.length){if(t.value.length<=u.min&&u.min>-1)return x.msgError(`最少保留${u.min}个`);t.value.splice(i,1)};return(i,s)=>{const r=A,V=I,c=B,b=D,w=F,y=z,U=$,C=N;return n(),H(O,null,[d("div",j,[a(_(P),{class:"draggable",modelValue:_(t),"onUpdate:modelValue":s[0]||(s[0]=e=>T(t)?t.value=e:null),animation:"300",handle:".drag-move","item-key":"index"},{item:l(({element:e,index:E})=>[a(U,{onClose:o=>h(E),class:"max-w-[400px]"},{default:l(()=>[d("div",q,[e.unselected!==void 0||e.selected!==void 0?(n(),m(c,{key:0,label:"导航图标"},{default:l(()=>[e.unselected!==void 0?(n(),m(V,{key:0,modelValue:e.unselected,"onUpdate:modelValue":o=>e.unselected=o,"upload-class":"bg-body","exclude-domain":"",size:"60px"},{upload:l(()=>[d("div",K,[a(r,{name:"el-icon-Plus",size:16}),s[1]||(s[1]=d("span",{class:"text-xs leading-5"}," 未选中 ",-1))])]),_:1},8,["modelValue","onUpdate:modelValue"])):p("",!0),e.selected!==void 0?(n(),m(V,{key:1,modelValue:e.selected,"onUpdate:modelValue":o=>e.selected=o,"upload-class":"bg-body","exclude-domain":"",size:"60px"},{upload:l(()=>[d("div",L,[a(r,{name:"el-icon-Plus",size:16}),s[2]||(s[2]=d("span",{class:"text-xs leading-5"}," 选中 ",-1))])]),_:1},8,["modelValue","onUpdate:modelValue"])):p("",!0)]),_:2},1024)):p("",!0),e.name!==void 0?(n(),m(c,{key:1,label:"导航名称"},{default:l(()=>[a(b,{modelValue:e.name,"onUpdate:modelValue":o=>e.name=o,placeholder:"请输入名称"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024)):p("",!0),e.link!==void 0?(n(),m(c,{key:2,label:"链接地址"},{default:l(()=>[a(w,{modelValue:e.link,"onUpdate:modelValue":o=>e.link=o,type:"pc"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024)):p("",!0),e.is_show!==void 0?(n(),m(c,{key:3,label:"是否显示"},{default:l(()=>[d("div",M,[a(y,{modelValue:e.is_show,"onUpdate:modelValue":o=>e.is_show=o,"active-value":"1","inactive-value":"0"},null,8,["modelValue","onUpdate:modelValue"]),d("div",Q,[a(r,{name:"el-icon-Rank",size:"18"})])])]),_:2},1024)):p("",!0)])]),_:2},1032,["onClose"])]),_:1},8,["modelValue"])]),_(t).length[a(C,{type:"primary",onClick:k},{default:l(()=>[...s[3]||(s[3]=[J(" 添加导航 ",-1)])]),_:1})]),_:1})):p("",!0)],64)}}});export{se as _}; diff --git a/server/public/admin/assets/message-CSrefGEU.js b/server/public/admin/assets/message-Dx96dhoI.js similarity index 87% rename from server/public/admin/assets/message-CSrefGEU.js rename to server/public/admin/assets/message-Dx96dhoI.js index 71c6e10c..44c8793e 100644 --- a/server/public/admin/assets/message-CSrefGEU.js +++ b/server/public/admin/assets/message-Dx96dhoI.js @@ -1 +1 @@ -import{r as n}from"./index-E47--KT7.js";function i(t){return n.get({url:"/notice.notice/settingLists",params:t})}function s(t){return n.get({url:"/notice.notice/detail",params:t})}function o(t){return n.post({url:"/notice.notice/set",params:t})}function r(){return n.get({url:"/notice.sms_config/getConfig"})}function c(t){return n.get({url:"/notice.sms_config/detail",params:t})}function u(t){return n.post({url:"/notice.sms_config/setConfig",params:t})}export{i as a,u as b,c,r as d,s as n,o as s}; +import{r as n}from"./index-DBREMm_z.js";function i(t){return n.get({url:"/notice.notice/settingLists",params:t})}function s(t){return n.get({url:"/notice.notice/detail",params:t})}function o(t){return n.post({url:"/notice.notice/set",params:t})}function r(){return n.get({url:"/notice.sms_config/getConfig"})}function c(t){return n.get({url:"/notice.sms_config/detail",params:t})}function u(t){return n.post({url:"/notice.sms_config/setConfig",params:t})}export{i as a,u as b,c,r as d,s as n,o as s}; diff --git a/server/public/admin/assets/mobile-style-Bbbeu-70.js b/server/public/admin/assets/mobile-style-CkTSiBRJ.js similarity index 86% rename from server/public/admin/assets/mobile-style-Bbbeu-70.js rename to server/public/admin/assets/mobile-style-CkTSiBRJ.js index 45394c6f..dfa48e6c 100644 --- a/server/public/admin/assets/mobile-style-Bbbeu-70.js +++ b/server/public/admin/assets/mobile-style-CkTSiBRJ.js @@ -1 +1 @@ -import{_ as o}from"./mobile-style.vue_vue_type_script_setup_true_lang-kf20_-Gy.js";import"./element-plus-0wC3naml.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index.vue_vue_type_script_setup_true_lang-C384XBPz.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./theme-picker-ZOnz3jM-.js";import"./index-E47--KT7.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";export{o as default}; +import{_ as o}from"./mobile-style.vue_vue_type_script_setup_true_lang-CT_5pzF5.js";import"./element-plus-DFTWCWyi.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index.vue_vue_type_script_setup_true_lang-3vCdLVB9.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./theme-picker-Bl2LhPUt.js";import"./index-DBREMm_z.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";export{o as default}; diff --git a/server/public/admin/assets/mobile-style.vue_vue_type_script_setup_true_lang-kf20_-Gy.js b/server/public/admin/assets/mobile-style.vue_vue_type_script_setup_true_lang-CT_5pzF5.js similarity index 95% rename from server/public/admin/assets/mobile-style.vue_vue_type_script_setup_true_lang-kf20_-Gy.js rename to server/public/admin/assets/mobile-style.vue_vue_type_script_setup_true_lang-CT_5pzF5.js index 96448a3c..61769032 100644 --- a/server/public/admin/assets/mobile-style.vue_vue_type_script_setup_true_lang-kf20_-Gy.js +++ b/server/public/admin/assets/mobile-style.vue_vue_type_script_setup_true_lang-CT_5pzF5.js @@ -1 +1 @@ -import{B as k,G as B,I,D as y}from"./element-plus-0wC3naml.js";import{_ as D}from"./index.vue_vue_type_script_setup_true_lang-C384XBPz.js";import{d as E}from"./@vueuse/core-1S4fJlii.js";import N from"./theme-picker-ZOnz3jM-.js";import{f as T,ak as m,G as c,aN as n,J as o,a as t,O as C,H as i,I as d}from"./@vue/runtime-core-C6bnekPw.js";import{y as e,n as z}from"./@vue/reactivity-DiY1c2vO.js";const U="/admin/assets/blue1-gLOo1H0w.png",q="/admin/assets/blue2-CRQPdLZd.png",P="/admin/assets/blue3-D3K9OqGO.png",G="/admin/assets/green1-h1zqes95.png",O="/admin/assets/green2-C-VRKLSN.png",L="/admin/assets/green3-CPorIQiC.png",R="/admin/assets/purple1-BpMq9FWz.png",W="/admin/assets/purple2-C0tQkldV.png",K="/admin/assets/purple3-BGd0LxTa.png",Q="/admin/assets/yellow1-Ebw0T5sw.png",Z="/admin/assets/yellow2-B-WtqITJ.png",A="/admin/assets/yellow3-C_qd9cqN.png",H="/admin/assets/red1-C6Y3UuNB.png",J="/admin/assets/red2-Dw8p71sP.png",M="/admin/assets/red3-NOuWP8DK.png",S="/admin/assets/pink1-BWNZrP7C.png",Y="/admin/assets/pink2-BpEp33zy.png",$="/admin/assets/pink3-BxZ4Y6CS.png",j={key:0,class:"flex"},X={key:1,class:"flex"},h={key:2,class:"flex"},ll={key:3,class:"flex"},ol={key:4,class:"flex"},sl={key:5,class:"flex"},il=T({__name:"mobile-style",props:{modelValue:{}},emits:["update:modelValue"],setup(_,{emit:f}){const w=_,v=z([{id:1,name:"科技蓝",color1:"#2F80ED",color2:"#56CCF2",btnColor:"white"},{id:2,name:"偏绿蓝",color1:"#2EC840",color2:"#3DE650",btnColor:"white"},{id:3,name:"商务紫",color1:"#A74BFD",color2:"#CB60FF",btnColor:"white"},{id:4,name:"活力橙",color1:"#F7971E",color2:"#FFD200",btnColor:"black"},{id:5,name:"经典红",color1:"#FF2C3C",color2:"#EF1D2D",btnColor:"white"},{id:6,name:"美妆色",color1:"#FD498F",color2:"#FA444D",btnColor:"white"},{id:7,name:"自定义",color1:"#F8F8F8",color2:"#F5F5F5",btnColor:"white"}]),F=f,b=a=>{a.id!=7&&(s.value.themeColor1=a.color1,s.value.themeColor2=a.color2,s.value.navigationBarColor=a.color1,s.value.buttonColor=a.btnColor,s.value.topTextColor=a.btnColor)},s=E(w,"modelValue",F);return(a,l)=>{const p=k,u=I,g=B,x=D,V=y;return m(),c(V,{"label-width":"140px"},{default:n(()=>[o("div",null,[l[6]||(l[6]=o("div",{class:"text-xl font-medium mb-[20px]"},"系统主题色",-1)),t(p,{"label-width":"50"},{default:n(()=>[t(N,{modelValue:e(s).themeColorId,"onUpdate:modelValue":l[0]||(l[0]=r=>e(s).themeColorId=r),"theme-colors":e(v),onChange:b},null,8,["modelValue","theme-colors"])]),_:1})]),o("div",null,[l[14]||(l[14]=o("div",{class:"text-xl font-medium mt-[40px] mb-[20px]"},"样式设置",-1)),t(p,{label:"导航顶部文字颜色"},{default:n(()=>[o("div",null,[t(g,{modelValue:e(s).topTextColor,"onUpdate:modelValue":l[1]||(l[1]=r=>e(s).topTextColor=r)},{default:n(()=>[t(u,{value:"white",size:"large"},{default:n(()=>[...l[7]||(l[7]=[C("白色",-1)])]),_:1}),t(u,{value:"black",size:"large"},{default:n(()=>[...l[8]||(l[8]=[C("黑色",-1)])]),_:1})]),_:1},8,["modelValue"]),l[9]||(l[9]=o("div",null,[o("span",{class:"form-tips"},"页面导航栏文字的颜色")],-1))])]),_:1}),t(p,{label:"导航顶部背景颜色"},{default:n(()=>[o("div",null,[t(x,{resetColor:e(s).themeColor1,modelValue:e(s).navigationBarColor,"onUpdate:modelValue":l[2]||(l[2]=r=>e(s).navigationBarColor=r)},null,8,["resetColor","modelValue"]),l[10]||(l[10]=o("div",null,[o("span",{class:"form-tips"}," 页面顶部导航栏背景颜色,不设置则跟随主题色 ")],-1))])]),_:1}),e(s).themeColorId==7?(m(),c(p,{key:0,label:"自定义主题颜色"},{default:n(()=>[o("div",null,[t(x,{modelValue:e(s).themeColor1,"onUpdate:modelValue":l[3]||(l[3]=r=>e(s).themeColor1=r),"default-color":"#F8F8F8"},null,8,["modelValue"]),t(x,{modelValue:e(s).themeColor2,"onUpdate:modelValue":l[4]||(l[4]=r=>e(s).themeColor2=r),"default-color":"#F8F8F8",class:"mt-2"},null,8,["modelValue"]),l[11]||(l[11]=o("div",null,[o("span",{class:"form-tips"},"自定义主题渐变色,用于按钮类和主要文字")],-1))])]),_:1})):i("",!0),t(p,{label:"按钮文字颜色"},{default:n(()=>[o("div",null,[t(g,{modelValue:e(s).buttonColor,"onUpdate:modelValue":l[5]||(l[5]=r=>e(s).buttonColor=r)},{default:n(()=>[t(u,{value:"white",size:"large"},{default:n(()=>[...l[12]||(l[12]=[C("白色",-1)])]),_:1}),t(u,{value:"black",size:"large"},{default:n(()=>[...l[13]||(l[13]=[C("黑色",-1)])]),_:1})]),_:1},8,["modelValue"])])]),_:1})]),o("div",null,[e(s).themeColorId==1?(m(),d("div",j,[...l[15]||(l[15]=[o("img",{class:"w-[200px]",src:U},null,-1),o("img",{class:"w-[200px] ml-[30px]",src:q},null,-1),o("img",{class:"w-[200px] ml-[30px]",src:P},null,-1)])])):i("",!0),e(s).themeColorId==2?(m(),d("div",X,[...l[16]||(l[16]=[o("img",{class:"w-[200px]",src:G},null,-1),o("img",{class:"w-[200px] ml-[30px]",src:O},null,-1),o("img",{class:"w-[200px] ml-[30px]",src:L},null,-1)])])):i("",!0),e(s).themeColorId==3?(m(),d("div",h,[...l[17]||(l[17]=[o("img",{class:"w-[200px]",src:R},null,-1),o("img",{class:"w-[200px] ml-[30px]",src:W},null,-1),o("img",{class:"w-[200px] ml-[30px]",src:K},null,-1)])])):i("",!0),e(s).themeColorId==4?(m(),d("div",ll,[...l[18]||(l[18]=[o("img",{class:"w-[200px]",src:Q},null,-1),o("img",{class:"w-[200px] ml-[30px]",src:Z},null,-1),o("img",{class:"w-[200px] ml-[30px]",src:A},null,-1)])])):i("",!0),e(s).themeColorId==5?(m(),d("div",ol,[...l[19]||(l[19]=[o("img",{class:"w-[200px]",src:H},null,-1),o("img",{class:"w-[200px] ml-[30px]",src:J},null,-1),o("img",{class:"w-[200px] ml-[30px]",src:M},null,-1)])])):i("",!0),e(s).themeColorId==6?(m(),d("div",sl,[...l[20]||(l[20]=[o("img",{class:"w-[200px]",src:S},null,-1),o("img",{class:"w-[200px] ml-[30px]",src:Y},null,-1),o("img",{class:"w-[200px] ml-[30px]",src:$},null,-1)])])):i("",!0)])]),_:1})}}});export{il as _}; +import{B as k,G as B,I,D as y}from"./element-plus-DFTWCWyi.js";import{_ as D}from"./index.vue_vue_type_script_setup_true_lang-3vCdLVB9.js";import{d as E}from"./@vueuse/core-1S4fJlii.js";import N from"./theme-picker-Bl2LhPUt.js";import{f as T,ak as m,G as c,aN as n,J as o,a as t,O as C,H as i,I as d}from"./@vue/runtime-core-C6bnekPw.js";import{y as e,n as z}from"./@vue/reactivity-DiY1c2vO.js";const U="/admin/assets/blue1-gLOo1H0w.png",q="/admin/assets/blue2-CRQPdLZd.png",P="/admin/assets/blue3-D3K9OqGO.png",G="/admin/assets/green1-h1zqes95.png",O="/admin/assets/green2-C-VRKLSN.png",L="/admin/assets/green3-CPorIQiC.png",R="/admin/assets/purple1-BpMq9FWz.png",W="/admin/assets/purple2-C0tQkldV.png",K="/admin/assets/purple3-BGd0LxTa.png",Q="/admin/assets/yellow1-Ebw0T5sw.png",Z="/admin/assets/yellow2-B-WtqITJ.png",A="/admin/assets/yellow3-C_qd9cqN.png",H="/admin/assets/red1-C6Y3UuNB.png",J="/admin/assets/red2-Dw8p71sP.png",M="/admin/assets/red3-NOuWP8DK.png",S="/admin/assets/pink1-BWNZrP7C.png",Y="/admin/assets/pink2-BpEp33zy.png",$="/admin/assets/pink3-BxZ4Y6CS.png",j={key:0,class:"flex"},X={key:1,class:"flex"},h={key:2,class:"flex"},ll={key:3,class:"flex"},ol={key:4,class:"flex"},sl={key:5,class:"flex"},il=T({__name:"mobile-style",props:{modelValue:{}},emits:["update:modelValue"],setup(_,{emit:f}){const w=_,v=z([{id:1,name:"科技蓝",color1:"#2F80ED",color2:"#56CCF2",btnColor:"white"},{id:2,name:"偏绿蓝",color1:"#2EC840",color2:"#3DE650",btnColor:"white"},{id:3,name:"商务紫",color1:"#A74BFD",color2:"#CB60FF",btnColor:"white"},{id:4,name:"活力橙",color1:"#F7971E",color2:"#FFD200",btnColor:"black"},{id:5,name:"经典红",color1:"#FF2C3C",color2:"#EF1D2D",btnColor:"white"},{id:6,name:"美妆色",color1:"#FD498F",color2:"#FA444D",btnColor:"white"},{id:7,name:"自定义",color1:"#F8F8F8",color2:"#F5F5F5",btnColor:"white"}]),F=f,b=a=>{a.id!=7&&(s.value.themeColor1=a.color1,s.value.themeColor2=a.color2,s.value.navigationBarColor=a.color1,s.value.buttonColor=a.btnColor,s.value.topTextColor=a.btnColor)},s=E(w,"modelValue",F);return(a,l)=>{const p=k,u=I,g=B,x=D,V=y;return m(),c(V,{"label-width":"140px"},{default:n(()=>[o("div",null,[l[6]||(l[6]=o("div",{class:"text-xl font-medium mb-[20px]"},"系统主题色",-1)),t(p,{"label-width":"50"},{default:n(()=>[t(N,{modelValue:e(s).themeColorId,"onUpdate:modelValue":l[0]||(l[0]=r=>e(s).themeColorId=r),"theme-colors":e(v),onChange:b},null,8,["modelValue","theme-colors"])]),_:1})]),o("div",null,[l[14]||(l[14]=o("div",{class:"text-xl font-medium mt-[40px] mb-[20px]"},"样式设置",-1)),t(p,{label:"导航顶部文字颜色"},{default:n(()=>[o("div",null,[t(g,{modelValue:e(s).topTextColor,"onUpdate:modelValue":l[1]||(l[1]=r=>e(s).topTextColor=r)},{default:n(()=>[t(u,{value:"white",size:"large"},{default:n(()=>[...l[7]||(l[7]=[C("白色",-1)])]),_:1}),t(u,{value:"black",size:"large"},{default:n(()=>[...l[8]||(l[8]=[C("黑色",-1)])]),_:1})]),_:1},8,["modelValue"]),l[9]||(l[9]=o("div",null,[o("span",{class:"form-tips"},"页面导航栏文字的颜色")],-1))])]),_:1}),t(p,{label:"导航顶部背景颜色"},{default:n(()=>[o("div",null,[t(x,{resetColor:e(s).themeColor1,modelValue:e(s).navigationBarColor,"onUpdate:modelValue":l[2]||(l[2]=r=>e(s).navigationBarColor=r)},null,8,["resetColor","modelValue"]),l[10]||(l[10]=o("div",null,[o("span",{class:"form-tips"}," 页面顶部导航栏背景颜色,不设置则跟随主题色 ")],-1))])]),_:1}),e(s).themeColorId==7?(m(),c(p,{key:0,label:"自定义主题颜色"},{default:n(()=>[o("div",null,[t(x,{modelValue:e(s).themeColor1,"onUpdate:modelValue":l[3]||(l[3]=r=>e(s).themeColor1=r),"default-color":"#F8F8F8"},null,8,["modelValue"]),t(x,{modelValue:e(s).themeColor2,"onUpdate:modelValue":l[4]||(l[4]=r=>e(s).themeColor2=r),"default-color":"#F8F8F8",class:"mt-2"},null,8,["modelValue"]),l[11]||(l[11]=o("div",null,[o("span",{class:"form-tips"},"自定义主题渐变色,用于按钮类和主要文字")],-1))])]),_:1})):i("",!0),t(p,{label:"按钮文字颜色"},{default:n(()=>[o("div",null,[t(g,{modelValue:e(s).buttonColor,"onUpdate:modelValue":l[5]||(l[5]=r=>e(s).buttonColor=r)},{default:n(()=>[t(u,{value:"white",size:"large"},{default:n(()=>[...l[12]||(l[12]=[C("白色",-1)])]),_:1}),t(u,{value:"black",size:"large"},{default:n(()=>[...l[13]||(l[13]=[C("黑色",-1)])]),_:1})]),_:1},8,["modelValue"])])]),_:1})]),o("div",null,[e(s).themeColorId==1?(m(),d("div",j,[...l[15]||(l[15]=[o("img",{class:"w-[200px]",src:U},null,-1),o("img",{class:"w-[200px] ml-[30px]",src:q},null,-1),o("img",{class:"w-[200px] ml-[30px]",src:P},null,-1)])])):i("",!0),e(s).themeColorId==2?(m(),d("div",X,[...l[16]||(l[16]=[o("img",{class:"w-[200px]",src:G},null,-1),o("img",{class:"w-[200px] ml-[30px]",src:O},null,-1),o("img",{class:"w-[200px] ml-[30px]",src:L},null,-1)])])):i("",!0),e(s).themeColorId==3?(m(),d("div",h,[...l[17]||(l[17]=[o("img",{class:"w-[200px]",src:R},null,-1),o("img",{class:"w-[200px] ml-[30px]",src:W},null,-1),o("img",{class:"w-[200px] ml-[30px]",src:K},null,-1)])])):i("",!0),e(s).themeColorId==4?(m(),d("div",ll,[...l[18]||(l[18]=[o("img",{class:"w-[200px]",src:Q},null,-1),o("img",{class:"w-[200px] ml-[30px]",src:Z},null,-1),o("img",{class:"w-[200px] ml-[30px]",src:A},null,-1)])])):i("",!0),e(s).themeColorId==5?(m(),d("div",ol,[...l[19]||(l[19]=[o("img",{class:"w-[200px]",src:H},null,-1),o("img",{class:"w-[200px] ml-[30px]",src:J},null,-1),o("img",{class:"w-[200px] ml-[30px]",src:M},null,-1)])])):i("",!0),e(s).themeColorId==6?(m(),d("div",sl,[...l[20]||(l[20]=[o("img",{class:"w-[200px]",src:S},null,-1),o("img",{class:"w-[200px] ml-[30px]",src:Y},null,-1),o("img",{class:"w-[200px] ml-[30px]",src:$},null,-1)])])):i("",!0)])]),_:1})}}});export{il as _}; diff --git a/server/public/admin/assets/mubiao-BojtsTyp.js b/server/public/admin/assets/mubiao-ChpFpWDb.js similarity index 96% rename from server/public/admin/assets/mubiao-BojtsTyp.js rename to server/public/admin/assets/mubiao-ChpFpWDb.js index 9d70823e..d925128b 100644 --- a/server/public/admin/assets/mubiao-BojtsTyp.js +++ b/server/public/admin/assets/mubiao-ChpFpWDb.js @@ -1 +1 @@ -import{d as Q,a2 as U,i as W,L as j}from"./element-plus-0wC3naml.js";import{a as q}from"./@vue/runtime-dom-DDAG46FW.js";import{a4 as H,L as B,f as K,a5 as X}from"./@element-plus/icons-vue-HOEUG8sr.js";import I from"./mubiao-dept-card-BBumqYkN.js";import{d as Z,i as tt}from"./finance-C48kuhTG.js";import{i as F,_ as et}from"./index-E47--KT7.js";import{f as z,b as at,as as ot,ak as r,I as f,J as a,a as i,aN as s,O as g,aP as L,G as x,F as T,ap as V,A as Y}from"./@vue/runtime-core-C6bnekPw.js";import{n as _,y}from"./@vue/reactivity-DiY1c2vO.js";import{Q as b}from"./@vue/shared-mAAVTE9n.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const lt={class:"mubiao-page"},it={class:"toolbar"},nt={class:"toolbar__left"},rt={class:"toolbar__icon"},st={class:"toolbar__center"},dt={class:"month-picker-wrap"},ut={class:"toolbar__right"},mt={class:"summary-strip"},ct={class:"summary-item"},_t={class:"summary-item__val"},pt={class:"summary-item"},ft={class:"summary-item__val primary"},vt={"element-loading-text":"数据加载中…",class:"board-wrap"},ht={key:0,class:"empty-state"},gt={class:"empty-state__icon"},yt={class:"empty-state__title"},bt={class:"empty-state__desc"},kt={key:1,class:"board-grid"},wt=z({name:"financeMubiao"}),St=z({...wt,setup(xt){function k(t){const e={dept_id:Number(t.dept_id??0),dept_name:String(t.dept_name??""),dept_path:String(t.dept_path??""),target_id:Number(t.target_id??0),target_amount:Number(t.target_amount??0),remark:String(t.remark??"")},o=t.children;return Array.isArray(o)&&o.length>0&&(e.children=o.map(k)),e}function C(t){var o;let e=0;for(const l of t)e+=Number(l.target_amount??0),(o=l.children)!=null&&o.length&&(e+=C(l.children));return Math.round(e*100)/100}function M(t){var o;let e=0;for(const l of t)e+=1,(o=l.children)!=null&&o.length&&(e+=M(l.children));return e}function D(t){var o;const e=[];for(const l of t)e.push({dept_id:l.dept_id,target_amount:Number(l.target_amount??0),remark:l.remark||""}),(o=l.children)!=null&&o.length&&e.push(...D(l.children));return e}function E(){const t=new Date;return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}`}function P(t){return t>=1e4?(t/1e4).toFixed(1)+"w":t.toLocaleString("zh-CN",{maximumFractionDigits:0})}const d=_(E()),p=_(!1),w=_(!1),u=_([]),v=_(!1),n=_([]),c=_(null),A=Y(()=>C(u.value)),$=Y(()=>M(u.value));function N(t){if(n.value.some(e=>e.dept_id===t.dept_id)){c.value=t.dept_id;return}n.value.push(t),c.value=t.dept_id}function G(t){const e=n.value.findIndex(o=>o.dept_id===t);e!==-1&&n.value.splice(e),c.value=n.value.length>0?n.value[n.value.length-1].dept_id:null}async function h(){if(d.value){p.value=!0,n.value=[],c.value=null;try{const t=await Z({year_month:d.value});u.value=((t==null?void 0:t.rows)||[]).map(k),v.value=!!(t!=null&&t.data_scope_limited)}catch{u.value=[],v.value=!1}finally{p.value=!1}}}async function R(){if(!d.value){F.msgWarning("请选择月份");return}await F.confirm("确认保存「"+d.value+"」各部门业绩目标?"),w.value=!0;try{const t=await tt({year_month:d.value,items:D(u.value)});t!=null&&t.rows?(u.value=t.rows.map(k),v.value=!!(t!=null&&t.data_scope_limited),n.value=[],c.value=null):await h()}finally{w.value=!1}}return at(h),(t,e)=>{const o=Q,l=U,S=W,J=ot("perms"),O=j;return r(),f("div",lt,[a("div",it,[a("div",nt,[a("div",rt,[i(o,null,{default:s(()=>[i(y(H))]),_:1})]),e[1]||(e[1]=a("div",null,[a("div",{class:"toolbar__title"},"制定业绩目标"),a("div",{class:"toolbar__desc"},[g(" 按部门设置每月销售目标,填 0 并保存将删除该记录。列表按当前账号 "),a("strong",null,"角色数据权限"),g(" 仅展示"),a("strong",null,"本部门及下级"),g("(不展示权限外的上级组织;口径与业绩看板数据范围一致)。 ")])],-1))]),a("div",st,[a("div",dt,[e[2]||(e[2]=a("span",{class:"month-picker-wrap__label"},"目标月份",-1)),i(l,{modelValue:d.value,"onUpdate:modelValue":e[0]||(e[0]=m=>d.value=m),type:"month","value-format":"YYYY-MM",placeholder:"选择月份",clearable:!1,size:"default",class:"month-picker",onChange:h},null,8,["modelValue"])])]),a("div",ut,[a("div",mt,[a("div",ct,[a("span",_t,b($.value),1),e[3]||(e[3]=a("span",{class:"summary-item__label"},"部门",-1))]),e[5]||(e[5]=a("div",{class:"summary-divider"},null,-1)),a("div",pt,[a("span",ft,"¥"+b(P(A.value)),1),e[4]||(e[4]=a("span",{class:"summary-item__label"},"目标合计",-1))])]),i(S,{circle:"",loading:p.value,onClick:h,title:"刷新"},{default:s(()=>[i(o,null,{default:s(()=>[i(y(B))]),_:1})]),_:1},8,["loading"]),L((r(),x(S,{type:"primary",loading:w.value,disabled:p.value||!d.value,onClick:R},{default:s(()=>[i(o,null,{default:s(()=>[i(y(K))]),_:1}),e[6]||(e[6]=g("保存目标 ",-1))]),_:1},8,["loading","disabled"])),[[J,["finance.dept_performance_target/batchSave"]]])])]),L((r(),f("div",vt,[!p.value&&u.value.length===0?(r(),f("div",ht,[a("div",gt,[i(o,null,{default:s(()=>[i(y(X))]),_:1})]),a("p",yt,b(v.value?"数据权限内无可选部门":"暂无部门数据"),1),a("p",bt,b(v.value?"当前角色数据范围未包含任何部门,或需在权限中绑定部门后再试。":"请检查部门配置后重试"),1),i(S,{size:"small",onClick:h},{default:s(()=>[i(o,null,{default:s(()=>[i(y(B))]),_:1}),e[7]||(e[7]=g("重新加载",-1))]),_:1})])):(r(),f("div",kt,[i(q,{name:"card",tag:"div",class:"board-grid__inner"},{default:s(()=>[(r(!0),f(T,null,V(u.value,m=>(r(),x(I,{key:"root-"+m.dept_id,node:m,"is-root":!0,"drilled-id":c.value,onDrillIn:N},null,8,["node","drilled-id"]))),128)),(r(!0),f(T,null,V(n.value,m=>(r(),x(I,{key:"drill-"+m.dept_id,node:m,"is-root":!1,"drilled-id":c.value,class:"card--drilled",onDrillIn:N,onClose:Ct=>G(m.dept_id)},null,8,["node","drilled-id","onClose"]))),128))]),_:1})]))])),[[O,p.value]])])}}}),me=et(St,[["__scopeId","data-v-9d32b132"]]);export{me as default}; +import{d as Q,a2 as U,i as W,L as j}from"./element-plus-DFTWCWyi.js";import{a as q}from"./@vue/runtime-dom-DDAG46FW.js";import{a4 as H,L as B,f as K,a5 as X}from"./@element-plus/icons-vue-HOEUG8sr.js";import I from"./mubiao-dept-card-BMP1O6eb.js";import{d as Z,i as tt}from"./finance-YaEgIEMc.js";import{i as F,_ as et}from"./index-DBREMm_z.js";import{f as z,b as at,as as ot,ak as r,I as f,J as a,a as i,aN as s,O as g,aP as L,G as x,F as T,ap as V,A as Y}from"./@vue/runtime-core-C6bnekPw.js";import{n as _,y}from"./@vue/reactivity-DiY1c2vO.js";import{Q as b}from"./@vue/shared-mAAVTE9n.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const lt={class:"mubiao-page"},it={class:"toolbar"},nt={class:"toolbar__left"},rt={class:"toolbar__icon"},st={class:"toolbar__center"},dt={class:"month-picker-wrap"},ut={class:"toolbar__right"},mt={class:"summary-strip"},ct={class:"summary-item"},_t={class:"summary-item__val"},pt={class:"summary-item"},ft={class:"summary-item__val primary"},vt={"element-loading-text":"数据加载中…",class:"board-wrap"},ht={key:0,class:"empty-state"},gt={class:"empty-state__icon"},yt={class:"empty-state__title"},bt={class:"empty-state__desc"},kt={key:1,class:"board-grid"},wt=z({name:"financeMubiao"}),St=z({...wt,setup(xt){function k(t){const e={dept_id:Number(t.dept_id??0),dept_name:String(t.dept_name??""),dept_path:String(t.dept_path??""),target_id:Number(t.target_id??0),target_amount:Number(t.target_amount??0),remark:String(t.remark??"")},o=t.children;return Array.isArray(o)&&o.length>0&&(e.children=o.map(k)),e}function C(t){var o;let e=0;for(const l of t)e+=Number(l.target_amount??0),(o=l.children)!=null&&o.length&&(e+=C(l.children));return Math.round(e*100)/100}function M(t){var o;let e=0;for(const l of t)e+=1,(o=l.children)!=null&&o.length&&(e+=M(l.children));return e}function D(t){var o;const e=[];for(const l of t)e.push({dept_id:l.dept_id,target_amount:Number(l.target_amount??0),remark:l.remark||""}),(o=l.children)!=null&&o.length&&e.push(...D(l.children));return e}function E(){const t=new Date;return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}`}function P(t){return t>=1e4?(t/1e4).toFixed(1)+"w":t.toLocaleString("zh-CN",{maximumFractionDigits:0})}const d=_(E()),p=_(!1),w=_(!1),u=_([]),v=_(!1),n=_([]),c=_(null),A=Y(()=>C(u.value)),$=Y(()=>M(u.value));function N(t){if(n.value.some(e=>e.dept_id===t.dept_id)){c.value=t.dept_id;return}n.value.push(t),c.value=t.dept_id}function G(t){const e=n.value.findIndex(o=>o.dept_id===t);e!==-1&&n.value.splice(e),c.value=n.value.length>0?n.value[n.value.length-1].dept_id:null}async function h(){if(d.value){p.value=!0,n.value=[],c.value=null;try{const t=await Z({year_month:d.value});u.value=((t==null?void 0:t.rows)||[]).map(k),v.value=!!(t!=null&&t.data_scope_limited)}catch{u.value=[],v.value=!1}finally{p.value=!1}}}async function R(){if(!d.value){F.msgWarning("请选择月份");return}await F.confirm("确认保存「"+d.value+"」各部门业绩目标?"),w.value=!0;try{const t=await tt({year_month:d.value,items:D(u.value)});t!=null&&t.rows?(u.value=t.rows.map(k),v.value=!!(t!=null&&t.data_scope_limited),n.value=[],c.value=null):await h()}finally{w.value=!1}}return at(h),(t,e)=>{const o=Q,l=U,S=W,J=ot("perms"),O=j;return r(),f("div",lt,[a("div",it,[a("div",nt,[a("div",rt,[i(o,null,{default:s(()=>[i(y(H))]),_:1})]),e[1]||(e[1]=a("div",null,[a("div",{class:"toolbar__title"},"制定业绩目标"),a("div",{class:"toolbar__desc"},[g(" 按部门设置每月销售目标,填 0 并保存将删除该记录。列表按当前账号 "),a("strong",null,"角色数据权限"),g(" 仅展示"),a("strong",null,"本部门及下级"),g("(不展示权限外的上级组织;口径与业绩看板数据范围一致)。 ")])],-1))]),a("div",st,[a("div",dt,[e[2]||(e[2]=a("span",{class:"month-picker-wrap__label"},"目标月份",-1)),i(l,{modelValue:d.value,"onUpdate:modelValue":e[0]||(e[0]=m=>d.value=m),type:"month","value-format":"YYYY-MM",placeholder:"选择月份",clearable:!1,size:"default",class:"month-picker",onChange:h},null,8,["modelValue"])])]),a("div",ut,[a("div",mt,[a("div",ct,[a("span",_t,b($.value),1),e[3]||(e[3]=a("span",{class:"summary-item__label"},"部门",-1))]),e[5]||(e[5]=a("div",{class:"summary-divider"},null,-1)),a("div",pt,[a("span",ft,"¥"+b(P(A.value)),1),e[4]||(e[4]=a("span",{class:"summary-item__label"},"目标合计",-1))])]),i(S,{circle:"",loading:p.value,onClick:h,title:"刷新"},{default:s(()=>[i(o,null,{default:s(()=>[i(y(B))]),_:1})]),_:1},8,["loading"]),L((r(),x(S,{type:"primary",loading:w.value,disabled:p.value||!d.value,onClick:R},{default:s(()=>[i(o,null,{default:s(()=>[i(y(K))]),_:1}),e[6]||(e[6]=g("保存目标 ",-1))]),_:1},8,["loading","disabled"])),[[J,["finance.dept_performance_target/batchSave"]]])])]),L((r(),f("div",vt,[!p.value&&u.value.length===0?(r(),f("div",ht,[a("div",gt,[i(o,null,{default:s(()=>[i(y(X))]),_:1})]),a("p",yt,b(v.value?"数据权限内无可选部门":"暂无部门数据"),1),a("p",bt,b(v.value?"当前角色数据范围未包含任何部门,或需在权限中绑定部门后再试。":"请检查部门配置后重试"),1),i(S,{size:"small",onClick:h},{default:s(()=>[i(o,null,{default:s(()=>[i(y(B))]),_:1}),e[7]||(e[7]=g("重新加载",-1))]),_:1})])):(r(),f("div",kt,[i(q,{name:"card",tag:"div",class:"board-grid__inner"},{default:s(()=>[(r(!0),f(T,null,V(u.value,m=>(r(),x(I,{key:"root-"+m.dept_id,node:m,"is-root":!0,"drilled-id":c.value,onDrillIn:N},null,8,["node","drilled-id"]))),128)),(r(!0),f(T,null,V(n.value,m=>(r(),x(I,{key:"drill-"+m.dept_id,node:m,"is-root":!1,"drilled-id":c.value,class:"card--drilled",onDrillIn:N,onClose:Ct=>G(m.dept_id)},null,8,["node","drilled-id","onClose"]))),128))]),_:1})]))])),[[O,p.value]])])}}}),me=et(St,[["__scopeId","data-v-9d32b132"]]);export{me as default}; diff --git a/server/public/admin/assets/mubiao-dept-card-BBumqYkN.js b/server/public/admin/assets/mubiao-dept-card-BMP1O6eb.js similarity index 98% rename from server/public/admin/assets/mubiao-dept-card-BBumqYkN.js rename to server/public/admin/assets/mubiao-dept-card-BMP1O6eb.js index 844f0d12..76264d22 100644 --- a/server/public/admin/assets/mubiao-dept-card-BBumqYkN.js +++ b/server/public/admin/assets/mubiao-dept-card-BMP1O6eb.js @@ -1 +1 @@ -import{d as R,h as A,C as G,T as H}from"./element-plus-0wC3naml.js";import{g as S,c as J}from"./@element-plus/icons-vue-HOEUG8sr.js";import{f as O,ak as n,I as d,F as h,ap as E,J as t,G as F,aN as b,a as m,H as c,O as U,A as u}from"./@vue/runtime-core-C6bnekPw.js";import{o as v,Q as s,p as Q}from"./@vue/shared-mAAVTE9n.js";import{y as w}from"./@vue/reactivity-DiY1c2vO.js";import{_ as j}from"./index-E47--KT7.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const q={key:0,class:"dept-card__crumb"},K={class:"crumb-seg__text"},P={class:"dept-card__header"},W={class:"dept-card__meta"},X={class:"dept-card__name"},Y={key:0,class:"dept-card__sub-count"},Z={key:0,class:"dept-card__sub-total"},ee={class:"dept-card__actions"},te={key:0,class:"status-badge status-badge--saved"},ae={key:1,class:"status-badge status-badge--new"},oe={class:"dept-card__body"},le={class:"field-row"},ne={class:"field-block"},de={key:0,class:"field-block__hint"},re={class:"field-block field-block--remark"},se={class:"child-header"},ie={class:"child-header__count"},ce={class:"child-list"},me={class:"child-row__name-wrap"},ue={class:"child-row__name"},_e={class:"child-row__inputs"},pe=["title"],ge=["title","onClick"],fe={class:"dept-card__footer"},he=O({__name:"mubiao-dept-card",props:{node:{},isRoot:{type:Boolean},drilledId:{}},emits:["drill-in","close"],setup(l,{emit:D}){const i=l,C=D;function p(o){var r;let e=Number(o.target_amount??0);if((r=o.children)!=null&&r.length)for(const g of o.children)e+=p(g);return e}const k=u(()=>{var o;return(o=i.node.children)!=null&&o.length?i.node.children.reduce((e,r)=>e+p(r),0):0}),y=u(()=>Number(i.node.target_amount??0)+k.value),T=u(()=>y.value===0),$=u(()=>{var o;return i.node.target_id?(o=i.node.children)!=null&&o.length?i.node.children.every(e=>e.target_id>0):!0:!1}),V=u(()=>{if(!i.node.dept_path)return null;const o=i.node.dept_path.split(/\s*\/\s*/).filter(Boolean);return o.length>1?o:null}),L=u(()=>{const o=["linear-gradient(135deg,#667eea,#764ba2)","linear-gradient(135deg,#f093fb,#f5576c)","linear-gradient(135deg,#4facfe,#00f2fe)","linear-gradient(135deg,#43e97b,#38f9d7)","linear-gradient(135deg,#fa709a,#fee140)","linear-gradient(135deg,#30cfd0,#330867)","linear-gradient(135deg,#a18cd1,#fbc2eb)","linear-gradient(135deg,#fccb90,#d57eeb)","linear-gradient(135deg,#e0c3fc,#8ec5fc)","linear-gradient(135deg,#f6d365,#fda085)"];let e=0;for(let r=0;r=1e4?(o/1e4).toFixed(1)+"w":o.toLocaleString("zh-CN",{maximumFractionDigits:0})}return(o,e)=>{var z,B;const r=R,g=A,I=G,M=H;return n(),d("div",{class:v(["dept-card",{"dept-card--saved":$.value,"dept-card--empty":T.value}])},[!l.isRoot&&V.value?(n(),d("div",q,[(n(!0),d(h,null,E(V.value,(a,_)=>(n(),d("span",{key:_,class:"crumb-seg"},[t("span",K,s(a),1),_[m(w(S))]),_:1})):c("",!0)]))),128))])):c("",!0),t("div",P,[t("div",{class:"dept-card__avatar",style:Q({background:L.value})},s(l.node.dept_name.slice(0,1)),5),t("div",W,[t("div",X,s(l.node.dept_name),1),(z=l.node.children)!=null&&z.length?(n(),d("div",Y,[U(s(l.node.children.length)+" 个子部门 ",1),k.value>0?(n(),d("span",Z,"· ¥"+s(N(k.value)),1)):c("",!0)])):c("",!0)]),t("div",ee,[l.node.target_id?(n(),d("span",te,"已保存")):(n(),d("span",ae,"未设置")),l.isRoot?c("",!0):(n(),d("button",{key:2,class:"close-btn",title:"关闭此卡片",onClick:e[0]||(e[0]=a=>C("close"))},[m(r,null,{default:b(()=>[m(w(J))]),_:1})]))])]),t("div",oe,[t("div",le,[t("div",ne,[e[3]||(e[3]=t("label",{class:"field-block__label"},"目标金额",-1)),m(g,{modelValue:l.node.target_amount,"onUpdate:modelValue":e[1]||(e[1]=a=>l.node.target_amount=a),min:0,precision:2,step:1e3,"controls-position":"right",placeholder:"0.00",class:"field-block__input"},null,8,["modelValue"]),l.node.target_amount>0?(n(),d("span",de," ¥ "+s(x(l.node.target_amount)),1)):c("",!0)]),t("div",re,[e[4]||(e[4]=t("label",{class:"field-block__label"},"备注",-1)),m(I,{modelValue:l.node.remark,"onUpdate:modelValue":e[2]||(e[2]=a=>l.node.remark=a),maxlength:"255",placeholder:"备注(选填)",clearable:""},null,8,["modelValue"])])])]),(B=l.node.children)!=null&&B.length?(n(),d(h,{key:1},[t("div",se,[e[5]||(e[5]=t("span",{class:"child-header__title"},"子部门",-1)),t("span",ie,s(l.node.children.length),1)]),t("div",ce,[(n(!0),d(h,null,E(l.node.children,a=>{var _;return n(),d("div",{key:a.dept_id,class:v(["child-row",{"child-row--active":l.drilledId===a.dept_id}])},[t("div",me,[e[7]||(e[7]=t("div",{class:"child-row__dot"},null,-1)),t("span",ue,s(a.dept_name),1),a.target_id?(n(),F(M,{key:0,size:"small",type:"success",effect:"plain",round:"",class:"child-row__tag"},{default:b(()=>[...e[6]||(e[6]=[U("已保存",-1)])]),_:1})):c("",!0)]),t("div",_e,[m(g,{modelValue:a.target_amount,"onUpdate:modelValue":f=>a.target_amount=f,min:0,precision:2,step:1e3,"controls-position":"right",placeholder:"0.00",class:"child-row__amount"},null,8,["modelValue","onUpdate:modelValue"]),m(I,{modelValue:a.remark,"onUpdate:modelValue":f=>a.remark=f,maxlength:"255",placeholder:"备注",clearable:"",size:"small",class:"child-row__remark"},null,8,["modelValue","onUpdate:modelValue"]),(_=a.children)!=null&&_.length?(n(),d(h,{key:0},[p(a)>0?(n(),d("span",{key:0,class:"child-subtree-total",title:`「${a.dept_name}」含下级合计`}," ="+s(N(p(a))),9,pe)):c("",!0),t("button",{class:v(["drill-btn",{"drill-btn--active":l.drilledId===a.dept_id}]),title:`展开「${a.dept_name}」的 ${a.children.length} 个子部门`,onClick:f=>C("drill-in",a)},[m(r,null,{default:b(()=>[m(w(S))]),_:1}),t("span",null,s(a.children.length),1)],10,ge)],64)):c("",!0)])],2)}),128))])],64)):c("",!0),t("div",fe,[e[8]||(e[8]=t("span",{class:"dept-card__footer-label"},"本卡合计",-1)),t("span",{class:v(["dept-card__footer-total",{"is-nonzero":y.value>0}])}," ¥ "+s(x(y.value)),3)])],2)}}}),tt=j(he,[["__scopeId","data-v-27adbc27"]]);export{tt as default}; +import{d as R,h as A,C as G,T as H}from"./element-plus-DFTWCWyi.js";import{g as S,c as J}from"./@element-plus/icons-vue-HOEUG8sr.js";import{f as O,ak as n,I as d,F as h,ap as E,J as t,G as F,aN as b,a as m,H as c,O as U,A as u}from"./@vue/runtime-core-C6bnekPw.js";import{o as v,Q as s,p as Q}from"./@vue/shared-mAAVTE9n.js";import{y as w}from"./@vue/reactivity-DiY1c2vO.js";import{_ as j}from"./index-DBREMm_z.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const q={key:0,class:"dept-card__crumb"},K={class:"crumb-seg__text"},P={class:"dept-card__header"},W={class:"dept-card__meta"},X={class:"dept-card__name"},Y={key:0,class:"dept-card__sub-count"},Z={key:0,class:"dept-card__sub-total"},ee={class:"dept-card__actions"},te={key:0,class:"status-badge status-badge--saved"},ae={key:1,class:"status-badge status-badge--new"},oe={class:"dept-card__body"},le={class:"field-row"},ne={class:"field-block"},de={key:0,class:"field-block__hint"},re={class:"field-block field-block--remark"},se={class:"child-header"},ie={class:"child-header__count"},ce={class:"child-list"},me={class:"child-row__name-wrap"},ue={class:"child-row__name"},_e={class:"child-row__inputs"},pe=["title"],ge=["title","onClick"],fe={class:"dept-card__footer"},he=O({__name:"mubiao-dept-card",props:{node:{},isRoot:{type:Boolean},drilledId:{}},emits:["drill-in","close"],setup(l,{emit:D}){const i=l,C=D;function p(o){var r;let e=Number(o.target_amount??0);if((r=o.children)!=null&&r.length)for(const g of o.children)e+=p(g);return e}const k=u(()=>{var o;return(o=i.node.children)!=null&&o.length?i.node.children.reduce((e,r)=>e+p(r),0):0}),y=u(()=>Number(i.node.target_amount??0)+k.value),T=u(()=>y.value===0),$=u(()=>{var o;return i.node.target_id?(o=i.node.children)!=null&&o.length?i.node.children.every(e=>e.target_id>0):!0:!1}),V=u(()=>{if(!i.node.dept_path)return null;const o=i.node.dept_path.split(/\s*\/\s*/).filter(Boolean);return o.length>1?o:null}),L=u(()=>{const o=["linear-gradient(135deg,#667eea,#764ba2)","linear-gradient(135deg,#f093fb,#f5576c)","linear-gradient(135deg,#4facfe,#00f2fe)","linear-gradient(135deg,#43e97b,#38f9d7)","linear-gradient(135deg,#fa709a,#fee140)","linear-gradient(135deg,#30cfd0,#330867)","linear-gradient(135deg,#a18cd1,#fbc2eb)","linear-gradient(135deg,#fccb90,#d57eeb)","linear-gradient(135deg,#e0c3fc,#8ec5fc)","linear-gradient(135deg,#f6d365,#fda085)"];let e=0;for(let r=0;r=1e4?(o/1e4).toFixed(1)+"w":o.toLocaleString("zh-CN",{maximumFractionDigits:0})}return(o,e)=>{var z,B;const r=R,g=A,I=G,M=H;return n(),d("div",{class:v(["dept-card",{"dept-card--saved":$.value,"dept-card--empty":T.value}])},[!l.isRoot&&V.value?(n(),d("div",q,[(n(!0),d(h,null,E(V.value,(a,_)=>(n(),d("span",{key:_,class:"crumb-seg"},[t("span",K,s(a),1),_[m(w(S))]),_:1})):c("",!0)]))),128))])):c("",!0),t("div",P,[t("div",{class:"dept-card__avatar",style:Q({background:L.value})},s(l.node.dept_name.slice(0,1)),5),t("div",W,[t("div",X,s(l.node.dept_name),1),(z=l.node.children)!=null&&z.length?(n(),d("div",Y,[U(s(l.node.children.length)+" 个子部门 ",1),k.value>0?(n(),d("span",Z,"· ¥"+s(N(k.value)),1)):c("",!0)])):c("",!0)]),t("div",ee,[l.node.target_id?(n(),d("span",te,"已保存")):(n(),d("span",ae,"未设置")),l.isRoot?c("",!0):(n(),d("button",{key:2,class:"close-btn",title:"关闭此卡片",onClick:e[0]||(e[0]=a=>C("close"))},[m(r,null,{default:b(()=>[m(w(J))]),_:1})]))])]),t("div",oe,[t("div",le,[t("div",ne,[e[3]||(e[3]=t("label",{class:"field-block__label"},"目标金额",-1)),m(g,{modelValue:l.node.target_amount,"onUpdate:modelValue":e[1]||(e[1]=a=>l.node.target_amount=a),min:0,precision:2,step:1e3,"controls-position":"right",placeholder:"0.00",class:"field-block__input"},null,8,["modelValue"]),l.node.target_amount>0?(n(),d("span",de," ¥ "+s(x(l.node.target_amount)),1)):c("",!0)]),t("div",re,[e[4]||(e[4]=t("label",{class:"field-block__label"},"备注",-1)),m(I,{modelValue:l.node.remark,"onUpdate:modelValue":e[2]||(e[2]=a=>l.node.remark=a),maxlength:"255",placeholder:"备注(选填)",clearable:""},null,8,["modelValue"])])])]),(B=l.node.children)!=null&&B.length?(n(),d(h,{key:1},[t("div",se,[e[5]||(e[5]=t("span",{class:"child-header__title"},"子部门",-1)),t("span",ie,s(l.node.children.length),1)]),t("div",ce,[(n(!0),d(h,null,E(l.node.children,a=>{var _;return n(),d("div",{key:a.dept_id,class:v(["child-row",{"child-row--active":l.drilledId===a.dept_id}])},[t("div",me,[e[7]||(e[7]=t("div",{class:"child-row__dot"},null,-1)),t("span",ue,s(a.dept_name),1),a.target_id?(n(),F(M,{key:0,size:"small",type:"success",effect:"plain",round:"",class:"child-row__tag"},{default:b(()=>[...e[6]||(e[6]=[U("已保存",-1)])]),_:1})):c("",!0)]),t("div",_e,[m(g,{modelValue:a.target_amount,"onUpdate:modelValue":f=>a.target_amount=f,min:0,precision:2,step:1e3,"controls-position":"right",placeholder:"0.00",class:"child-row__amount"},null,8,["modelValue","onUpdate:modelValue"]),m(I,{modelValue:a.remark,"onUpdate:modelValue":f=>a.remark=f,maxlength:"255",placeholder:"备注",clearable:"",size:"small",class:"child-row__remark"},null,8,["modelValue","onUpdate:modelValue"]),(_=a.children)!=null&&_.length?(n(),d(h,{key:0},[p(a)>0?(n(),d("span",{key:0,class:"child-subtree-total",title:`「${a.dept_name}」含下级合计`}," ="+s(N(p(a))),9,pe)):c("",!0),t("button",{class:v(["drill-btn",{"drill-btn--active":l.drilledId===a.dept_id}]),title:`展开「${a.dept_name}」的 ${a.children.length} 个子部门`,onClick:f=>C("drill-in",a)},[m(r,null,{default:b(()=>[m(w(S))]),_:1}),t("span",null,s(a.children.length),1)],10,ge)],64)):c("",!0)])],2)}),128))])],64)):c("",!0),t("div",fe,[e[8]||(e[8]=t("span",{class:"dept-card__footer-label"},"本卡合计",-1)),t("span",{class:v(["dept-card__footer-total",{"is-nonzero":y.value>0}])}," ¥ "+s(x(y.value)),3)])],2)}}}),tt=j(he,[["__scopeId","data-v-27adbc27"]]);export{tt as default}; diff --git a/server/public/admin/assets/mubiao-dept-node-DxQpVAOL.js b/server/public/admin/assets/mubiao-dept-node-CxpszDCM.js similarity index 96% rename from server/public/admin/assets/mubiao-dept-node-DxQpVAOL.js rename to server/public/admin/assets/mubiao-dept-node-CxpszDCM.js index 8a2b1422..09d73e0a 100644 --- a/server/public/admin/assets/mubiao-dept-node-DxQpVAOL.js +++ b/server/public/admin/assets/mubiao-dept-node-CxpszDCM.js @@ -1 +1 @@ -import{d as N,h as x,C as B,T as C}from"./element-plus-0wC3naml.js";import{a3 as D}from"./@element-plus/icons-vue-HOEUG8sr.js";import{f as E,ar as I,ak as a,I as d,J as o,a as s,aN as r,O as i,G as l,F as m,ap as k,H as p,A as w}from"./@vue/runtime-core-C6bnekPw.js";import{y as M}from"./@vue/reactivity-DiY1c2vO.js";import{Q as u,p as U}from"./@vue/shared-mAAVTE9n.js";import{_ as z}from"./index-E47--KT7.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const S={key:0,class:"group"},T={class:"group__header"},F={class:"group__name"},j={class:"group__amount-wrap"},A={class:"group__remark-wrap"},G={class:"group__badge-wrap"},H={key:1,class:"group__unsaved-dot"},J={key:0,class:"group__body"},L=["data-depth"],O={class:"row__dept"},P={class:"row__dept-text"},Q={class:"row__name"},$={key:0,class:"row__path"},q={class:"row__amount"},K={class:"row__remark"},R=E({name:"MubiaoDeptNode",__name:"mubiao-dept-node",props:{node:{},depth:{}},setup(e){const y=e,V=w(()=>y.node.dept_path.split(/\s*\/\s*/).filter(Boolean)),c=w(()=>V.value.slice(0,-1).join(" › "));return(W,t)=>{var v;const b=N,_=x,g=B,h=C,f=I("MubiaoDeptNode",!0);return e.depth===0?(a(),d("div",S,[o("div",T,[t[5]||(t[5]=o("div",{class:"group__accent"},null,-1)),o("div",F,[s(b,{class:"group__name-icon"},{default:r(()=>[s(M(D))]),_:1}),i(" "+u(e.node.dept_name),1)]),o("div",j,[s(_,{modelValue:e.node.target_amount,"onUpdate:modelValue":t[0]||(t[0]=n=>e.node.target_amount=n),min:0,precision:2,step:1e3,"controls-position":"right",placeholder:"0.00",class:"group__amount-input"},null,8,["modelValue"])]),o("div",A,[s(g,{modelValue:e.node.remark,"onUpdate:modelValue":t[1]||(t[1]=n=>e.node.remark=n),maxlength:"255",placeholder:"备注(选填)",clearable:""},null,8,["modelValue"])]),o("div",G,[e.node.target_id?(a(),l(h,{key:0,size:"small",type:"success",effect:"plain",round:""},{default:r(()=>[...t[4]||(t[4]=[i("已保存",-1)])]),_:1})):(a(),d("span",H))])]),(v=e.node.children)!=null&&v.length?(a(),d("div",J,[(a(!0),d(m,null,k(e.node.children,n=>(a(),l(f,{key:n.dept_id,node:n,depth:1},null,8,["node"]))),128))])):p("",!0)])):(a(),d(m,{key:1},[o("div",{class:"row","data-depth":String(Math.min(e.depth,4))},[o("div",{class:"row__indent",style:U({width:`${(e.depth-1)*20+16}px`})},[...t[6]||(t[6]=[o("div",{class:"row__connector"},null,-1)])],4),o("div",O,[t[8]||(t[8]=o("div",{class:"row__dot"},null,-1)),o("div",P,[o("span",Q,u(e.node.dept_name),1),c.value?(a(),d("span",$,u(c.value),1)):p("",!0)]),e.node.target_id?(a(),l(h,{key:0,size:"small",type:"success",effect:"plain",round:"",class:"row__saved"},{default:r(()=>[...t[7]||(t[7]=[i("已保存",-1)])]),_:1})):p("",!0)]),o("div",q,[s(_,{modelValue:e.node.target_amount,"onUpdate:modelValue":t[2]||(t[2]=n=>e.node.target_amount=n),min:0,precision:2,step:1e3,"controls-position":"right",placeholder:"0.00",class:"row__amount-input"},null,8,["modelValue"])]),o("div",K,[s(g,{modelValue:e.node.remark,"onUpdate:modelValue":t[3]||(t[3]=n=>e.node.remark=n),maxlength:"255",placeholder:"备注(选填)",clearable:""},null,8,["modelValue"])])],8,L),(a(!0),d(m,null,k(e.node.children,n=>(a(),l(f,{key:n.dept_id,node:n,depth:e.depth+1},null,8,["node","depth"]))),128))],64))}}}),Se=z(R,[["__scopeId","data-v-02198f38"]]);export{Se as default}; +import{d as N,h as x,C as B,T as C}from"./element-plus-DFTWCWyi.js";import{a3 as D}from"./@element-plus/icons-vue-HOEUG8sr.js";import{f as E,ar as I,ak as a,I as d,J as o,a as s,aN as r,O as i,G as l,F as m,ap as k,H as p,A as w}from"./@vue/runtime-core-C6bnekPw.js";import{y as M}from"./@vue/reactivity-DiY1c2vO.js";import{Q as u,p as U}from"./@vue/shared-mAAVTE9n.js";import{_ as z}from"./index-DBREMm_z.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const S={key:0,class:"group"},T={class:"group__header"},F={class:"group__name"},j={class:"group__amount-wrap"},A={class:"group__remark-wrap"},G={class:"group__badge-wrap"},H={key:1,class:"group__unsaved-dot"},J={key:0,class:"group__body"},L=["data-depth"],O={class:"row__dept"},P={class:"row__dept-text"},Q={class:"row__name"},$={key:0,class:"row__path"},q={class:"row__amount"},K={class:"row__remark"},R=E({name:"MubiaoDeptNode",__name:"mubiao-dept-node",props:{node:{},depth:{}},setup(e){const y=e,V=w(()=>y.node.dept_path.split(/\s*\/\s*/).filter(Boolean)),c=w(()=>V.value.slice(0,-1).join(" › "));return(W,t)=>{var v;const b=N,_=x,g=B,h=C,f=I("MubiaoDeptNode",!0);return e.depth===0?(a(),d("div",S,[o("div",T,[t[5]||(t[5]=o("div",{class:"group__accent"},null,-1)),o("div",F,[s(b,{class:"group__name-icon"},{default:r(()=>[s(M(D))]),_:1}),i(" "+u(e.node.dept_name),1)]),o("div",j,[s(_,{modelValue:e.node.target_amount,"onUpdate:modelValue":t[0]||(t[0]=n=>e.node.target_amount=n),min:0,precision:2,step:1e3,"controls-position":"right",placeholder:"0.00",class:"group__amount-input"},null,8,["modelValue"])]),o("div",A,[s(g,{modelValue:e.node.remark,"onUpdate:modelValue":t[1]||(t[1]=n=>e.node.remark=n),maxlength:"255",placeholder:"备注(选填)",clearable:""},null,8,["modelValue"])]),o("div",G,[e.node.target_id?(a(),l(h,{key:0,size:"small",type:"success",effect:"plain",round:""},{default:r(()=>[...t[4]||(t[4]=[i("已保存",-1)])]),_:1})):(a(),d("span",H))])]),(v=e.node.children)!=null&&v.length?(a(),d("div",J,[(a(!0),d(m,null,k(e.node.children,n=>(a(),l(f,{key:n.dept_id,node:n,depth:1},null,8,["node"]))),128))])):p("",!0)])):(a(),d(m,{key:1},[o("div",{class:"row","data-depth":String(Math.min(e.depth,4))},[o("div",{class:"row__indent",style:U({width:`${(e.depth-1)*20+16}px`})},[...t[6]||(t[6]=[o("div",{class:"row__connector"},null,-1)])],4),o("div",O,[t[8]||(t[8]=o("div",{class:"row__dot"},null,-1)),o("div",P,[o("span",Q,u(e.node.dept_name),1),c.value?(a(),d("span",$,u(c.value),1)):p("",!0)]),e.node.target_id?(a(),l(h,{key:0,size:"small",type:"success",effect:"plain",round:"",class:"row__saved"},{default:r(()=>[...t[7]||(t[7]=[i("已保存",-1)])]),_:1})):p("",!0)]),o("div",q,[s(_,{modelValue:e.node.target_amount,"onUpdate:modelValue":t[2]||(t[2]=n=>e.node.target_amount=n),min:0,precision:2,step:1e3,"controls-position":"right",placeholder:"0.00",class:"row__amount-input"},null,8,["modelValue"])]),o("div",K,[s(g,{modelValue:e.node.remark,"onUpdate:modelValue":t[3]||(t[3]=n=>e.node.remark=n),maxlength:"255",placeholder:"备注(选填)",clearable:""},null,8,["modelValue"])])],8,L),(a(!0),d(m,null,k(e.node.children,n=>(a(),l(f,{key:n.dept_id,node:n,depth:e.depth+1},null,8,["node","depth"]))),128))],64))}}}),Se=z(R,[["__scopeId","data-v-02198f38"]]);export{Se as default}; diff --git a/server/public/admin/assets/oa-attr-BlJTj8od.js b/server/public/admin/assets/oa-attr-pvWnhivq.js similarity index 84% rename from server/public/admin/assets/oa-attr-BlJTj8od.js rename to server/public/admin/assets/oa-attr-pvWnhivq.js index 3145ac96..5e2f9dbc 100644 --- a/server/public/admin/assets/oa-attr-BlJTj8od.js +++ b/server/public/admin/assets/oa-attr-pvWnhivq.js @@ -1 +1 @@ -import{_ as S}from"./index-BHTgr4Ka.js";import{_ as A}from"./index-nymJKQXP.js";import{i as B,d as N}from"./element-plus-0wC3naml.js";import{q as $}from"./@vue/runtime-dom-DDAG46FW.js";import{_ as O}from"./oa-menu-form.vue_vue_type_script_setup_true_lang-CREThn5_.js";import{_ as y}from"./oa-menu-form-edit.vue_vue_type_script_setup_true_lang-Bea0Guom.js";import{u as R}from"./useMenuOa-C5oHvLlA.js";import{f as V,ar as g,ak as r,I as s,ap as h,aP as q,J as i,a as t,aN as n,F as v,O as b}from"./@vue/runtime-core-C6bnekPw.js";import{y as p,q as F}from"./@vue/reactivity-DiY1c2vO.js";import{Q as U}from"./@vue/shared-mAAVTE9n.js";import{_ as L}from"./index-E47--KT7.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./wx_oa-CMZpCm8a.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const J={class:"flex items-center w-full p-4 mt-4 rounded bg-fill-light"},Q={class:"flex-1"},j={class:"mr-auto"},z=V({__name:"oa-attr",setup(G){const u=F(),{menuList:k,menuIndex:m,handleAddSubMenu:x,handleEditSubMenu:T,handleDelMenu:E,handleDelSubMenu:w}=R(u);return(H,a)=>{const P=g("EditPen"),_=N,l=B,C=g("Delete"),D=A,M=S;return r(!0),s(v,null,h(p(k),(e,f)=>q((r(),s("div",{key:f,class:"flex-1 oa-attr min-w-0"},[a[2]||(a[2]=i("div",{class:"text-base oa-attr-title"},"菜单配置",-1)),t(M,{onClose:a[0]||(a[0]=o=>p(E)(p(m)))},{default:n(()=>[i("div",J,[t(O,{ref_for:!0,ref_key:"menuRef",ref:u,modular:"master",name:e.name,"onUpdate:name":o=>e.name=o,menuType:e.has_menu,"onUpdate:menuType":o=>e.has_menu=o,visitType:e.type,"onUpdate:visitType":o=>e.type=o,url:e.url,"onUpdate:url":o=>e.url=o,appId:e.appid,"onUpdate:appId":o=>e.appid=o,pagePath:e.pagepath,"onUpdate:pagePath":o=>e.pagepath=o},{default:n(()=>[i("div",Q,[i("ul",null,[(r(!0),s(v,null,h(e.sub_button,(o,d)=>(r(),s("li",{class:"flex",key:d,style:{padding:"8px"}},[i("span",j,U(o.name),1),t(y,{modular:"edit",subItem:o,onEdit:c=>p(T)(c,d)},{default:n(()=>[t(l,{link:""},{default:n(()=>[t(_,null,{default:n(()=>[t(P)]),_:1})]),_:1})]),_:1},8,["subItem","onEdit"]),t(D,{onConfirm:c=>p(w)(p(m),d)},{trigger:n(()=>[t(l,{link:""},{default:n(()=>[t(_,{class:"ml-5"},{default:n(()=>[t(C)]),_:1})]),_:1})]),default:n(()=>[a[1]||(a[1]=b(" 是否删除当前子菜单? ",-1))]),_:1},8,["onConfirm"])]))),128))]),t(y,{modular:"add",onAdd:p(x)},{default:n(()=>[t(l,{type:"primary",link:"",disabled:e.sub_button.length>=5},{default:n(()=>[b(" 添加子菜单("+U(e.sub_button.length)+"/5) ",1)]),_:2},1032,["disabled"])]),_:2},1032,["onAdd"])])]),_:2},1032,["name","onUpdate:name","menuType","onUpdate:menuType","visitType","onUpdate:visitType","url","onUpdate:url","appId","onUpdate:appId","pagePath","onUpdate:pagePath"])])]),_:2},1024)],512)),[[$,f===p(m)]])),128)}}}),Re=L(z,[["__scopeId","data-v-0fd60009"]]);export{Re as default}; +import{_ as S}from"./index-CbfZXeGu.js";import{_ as A}from"./index-BwF7vczx.js";import{i as B,d as N}from"./element-plus-DFTWCWyi.js";import{q as $}from"./@vue/runtime-dom-DDAG46FW.js";import{_ as O}from"./oa-menu-form.vue_vue_type_script_setup_true_lang-kNW0U_x0.js";import{_ as y}from"./oa-menu-form-edit.vue_vue_type_script_setup_true_lang-BvN7D7qM.js";import{u as R}from"./useMenuOa-Bk-XiPjw.js";import{f as V,ar as g,ak as r,I as s,ap as h,aP as q,J as i,a as t,aN as n,F as v,O as b}from"./@vue/runtime-core-C6bnekPw.js";import{y as p,q as F}from"./@vue/reactivity-DiY1c2vO.js";import{Q as U}from"./@vue/shared-mAAVTE9n.js";import{_ as L}from"./index-DBREMm_z.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./wx_oa-sVQft6O9.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const J={class:"flex items-center w-full p-4 mt-4 rounded bg-fill-light"},Q={class:"flex-1"},j={class:"mr-auto"},z=V({__name:"oa-attr",setup(G){const u=F(),{menuList:k,menuIndex:m,handleAddSubMenu:x,handleEditSubMenu:T,handleDelMenu:E,handleDelSubMenu:w}=R(u);return(H,a)=>{const P=g("EditPen"),_=N,l=B,C=g("Delete"),D=A,M=S;return r(!0),s(v,null,h(p(k),(e,f)=>q((r(),s("div",{key:f,class:"flex-1 oa-attr min-w-0"},[a[2]||(a[2]=i("div",{class:"text-base oa-attr-title"},"菜单配置",-1)),t(M,{onClose:a[0]||(a[0]=o=>p(E)(p(m)))},{default:n(()=>[i("div",J,[t(O,{ref_for:!0,ref_key:"menuRef",ref:u,modular:"master",name:e.name,"onUpdate:name":o=>e.name=o,menuType:e.has_menu,"onUpdate:menuType":o=>e.has_menu=o,visitType:e.type,"onUpdate:visitType":o=>e.type=o,url:e.url,"onUpdate:url":o=>e.url=o,appId:e.appid,"onUpdate:appId":o=>e.appid=o,pagePath:e.pagepath,"onUpdate:pagePath":o=>e.pagepath=o},{default:n(()=>[i("div",Q,[i("ul",null,[(r(!0),s(v,null,h(e.sub_button,(o,d)=>(r(),s("li",{class:"flex",key:d,style:{padding:"8px"}},[i("span",j,U(o.name),1),t(y,{modular:"edit",subItem:o,onEdit:c=>p(T)(c,d)},{default:n(()=>[t(l,{link:""},{default:n(()=>[t(_,null,{default:n(()=>[t(P)]),_:1})]),_:1})]),_:1},8,["subItem","onEdit"]),t(D,{onConfirm:c=>p(w)(p(m),d)},{trigger:n(()=>[t(l,{link:""},{default:n(()=>[t(_,{class:"ml-5"},{default:n(()=>[t(C)]),_:1})]),_:1})]),default:n(()=>[a[1]||(a[1]=b(" 是否删除当前子菜单? ",-1))]),_:1},8,["onConfirm"])]))),128))]),t(y,{modular:"add",onAdd:p(x)},{default:n(()=>[t(l,{type:"primary",link:"",disabled:e.sub_button.length>=5},{default:n(()=>[b(" 添加子菜单("+U(e.sub_button.length)+"/5) ",1)]),_:2},1032,["disabled"])]),_:2},1032,["onAdd"])])]),_:2},1032,["name","onUpdate:name","menuType","onUpdate:menuType","visitType","onUpdate:visitType","url","onUpdate:url","appId","onUpdate:appId","pagePath","onUpdate:pagePath"])])]),_:2},1024)],512)),[[$,f===p(m)]])),128)}}}),Re=L(z,[["__scopeId","data-v-0fd60009"]]);export{Re as default}; diff --git a/server/public/admin/assets/oa-menu-form-B41xqdbc.js b/server/public/admin/assets/oa-menu-form-DqBMzEuA.js similarity index 86% rename from server/public/admin/assets/oa-menu-form-B41xqdbc.js rename to server/public/admin/assets/oa-menu-form-DqBMzEuA.js index 639752ac..dead2683 100644 --- a/server/public/admin/assets/oa-menu-form-B41xqdbc.js +++ b/server/public/admin/assets/oa-menu-form-DqBMzEuA.js @@ -1 +1 @@ -import{_ as o}from"./oa-menu-form.vue_vue_type_script_setup_true_lang-CREThn5_.js";import"./element-plus-0wC3naml.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./useMenuOa-C5oHvLlA.js";import"./wx_oa-CMZpCm8a.js";import"./index-E47--KT7.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";export{o as default}; +import{_ as o}from"./oa-menu-form.vue_vue_type_script_setup_true_lang-kNW0U_x0.js";import"./element-plus-DFTWCWyi.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./useMenuOa-Bk-XiPjw.js";import"./wx_oa-sVQft6O9.js";import"./index-DBREMm_z.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";export{o as default}; diff --git a/server/public/admin/assets/oa-menu-form-edit-CkUzHnj9.js b/server/public/admin/assets/oa-menu-form-edit-CMEKTjXo.js similarity index 79% rename from server/public/admin/assets/oa-menu-form-edit-CkUzHnj9.js rename to server/public/admin/assets/oa-menu-form-edit-CMEKTjXo.js index 748d855f..a7d69e6b 100644 --- a/server/public/admin/assets/oa-menu-form-edit-CkUzHnj9.js +++ b/server/public/admin/assets/oa-menu-form-edit-CMEKTjXo.js @@ -1 +1 @@ -import{_ as o}from"./oa-menu-form-edit.vue_vue_type_script_setup_true_lang-Bea0Guom.js";import"./index-nymJKQXP.js";import"./element-plus-0wC3naml.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-E47--KT7.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./oa-menu-form.vue_vue_type_script_setup_true_lang-CREThn5_.js";import"./useMenuOa-C5oHvLlA.js";import"./wx_oa-CMZpCm8a.js";export{o as default}; +import{_ as o}from"./oa-menu-form-edit.vue_vue_type_script_setup_true_lang-BvN7D7qM.js";import"./index-BwF7vczx.js";import"./element-plus-DFTWCWyi.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-DBREMm_z.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./oa-menu-form.vue_vue_type_script_setup_true_lang-kNW0U_x0.js";import"./useMenuOa-Bk-XiPjw.js";import"./wx_oa-sVQft6O9.js";export{o as default}; diff --git a/server/public/admin/assets/oa-menu-form-edit.vue_vue_type_script_setup_true_lang-Bea0Guom.js b/server/public/admin/assets/oa-menu-form-edit.vue_vue_type_script_setup_true_lang-BvN7D7qM.js similarity index 90% rename from server/public/admin/assets/oa-menu-form-edit.vue_vue_type_script_setup_true_lang-Bea0Guom.js rename to server/public/admin/assets/oa-menu-form-edit.vue_vue_type_script_setup_true_lang-BvN7D7qM.js index 4fa8d94a..532b07d0 100644 --- a/server/public/admin/assets/oa-menu-form-edit.vue_vue_type_script_setup_true_lang-Bea0Guom.js +++ b/server/public/admin/assets/oa-menu-form-edit.vue_vue_type_script_setup_true_lang-BvN7D7qM.js @@ -1 +1 @@ -import{_ as y}from"./index-nymJKQXP.js";import{_ as g}from"./oa-menu-form.vue_vue_type_script_setup_true_lang-CREThn5_.js";import{f as c,aJ as k,ak as v,G as R,aN as d,a as F,aq as _}from"./@vue/runtime-core-C6bnekPw.js";import{q as i}from"./@vue/reactivity-DiY1c2vO.js";const b=c({__name:"oa-menu-form-edit",props:{modular:{default:"edit"},subItem:{default:{}}},emits:["add","edit"],setup(m,{emit:l}){const r=l,n=m,p=i(),s=i(),e={name:"",type:"view",url:"",appid:"",pagepath:""};k(()=>{if(Object.keys(n.subItem).length!=0)for(const o in e)e[o]=n.subItem[o]});const u=async()=>{await p.value.menuFormRef.validate(),n.modular==="edit"?r("edit",{...e}):r("add",{...e}),s.value.close(),p.value.menuFormRef.resetFields()};return(o,t)=>{const f=y;return v(),R(f,{ref_key:"menuFromPopupRef",ref:s,async:"",clickModalClose:!1,title:`${m.modular==="add"?"新增":"编辑"}子菜单`,onConfirm:u},{trigger:d(()=>[_(o.$slots,"default")]),default:d(()=>[F(g,{ref_key:"menuFormEditRef",ref:p,modular:"secondary",name:e.name,"onUpdate:name":t[0]||(t[0]=a=>e.name=a),visitType:e.type,"onUpdate:visitType":t[1]||(t[1]=a=>e.type=a),url:e.url,"onUpdate:url":t[2]||(t[2]=a=>e.url=a),appId:e.appid,"onUpdate:appId":t[3]||(t[3]=a=>e.appid=a),pagePath:e.pagepath,"onUpdate:pagePath":t[4]||(t[4]=a=>e.pagepath=a)},null,8,["name","visitType","url","appId","pagePath"])]),_:3},8,["title"])}}});export{b as _}; +import{_ as y}from"./index-BwF7vczx.js";import{_ as g}from"./oa-menu-form.vue_vue_type_script_setup_true_lang-kNW0U_x0.js";import{f as c,aJ as k,ak as v,G as R,aN as d,a as F,aq as _}from"./@vue/runtime-core-C6bnekPw.js";import{q as i}from"./@vue/reactivity-DiY1c2vO.js";const b=c({__name:"oa-menu-form-edit",props:{modular:{default:"edit"},subItem:{default:{}}},emits:["add","edit"],setup(m,{emit:l}){const r=l,n=m,p=i(),s=i(),e={name:"",type:"view",url:"",appid:"",pagepath:""};k(()=>{if(Object.keys(n.subItem).length!=0)for(const o in e)e[o]=n.subItem[o]});const u=async()=>{await p.value.menuFormRef.validate(),n.modular==="edit"?r("edit",{...e}):r("add",{...e}),s.value.close(),p.value.menuFormRef.resetFields()};return(o,t)=>{const f=y;return v(),R(f,{ref_key:"menuFromPopupRef",ref:s,async:"",clickModalClose:!1,title:`${m.modular==="add"?"新增":"编辑"}子菜单`,onConfirm:u},{trigger:d(()=>[_(o.$slots,"default")]),default:d(()=>[F(g,{ref_key:"menuFormEditRef",ref:p,modular:"secondary",name:e.name,"onUpdate:name":t[0]||(t[0]=a=>e.name=a),visitType:e.type,"onUpdate:visitType":t[1]||(t[1]=a=>e.type=a),url:e.url,"onUpdate:url":t[2]||(t[2]=a=>e.url=a),appId:e.appid,"onUpdate:appId":t[3]||(t[3]=a=>e.appid=a),pagePath:e.pagepath,"onUpdate:pagePath":t[4]||(t[4]=a=>e.pagepath=a)},null,8,["name","visitType","url","appId","pagePath"])]),_:3},8,["title"])}}});export{b as _}; diff --git a/server/public/admin/assets/oa-menu-form.vue_vue_type_script_setup_true_lang-CREThn5_.js b/server/public/admin/assets/oa-menu-form.vue_vue_type_script_setup_true_lang-kNW0U_x0.js similarity index 95% rename from server/public/admin/assets/oa-menu-form.vue_vue_type_script_setup_true_lang-CREThn5_.js rename to server/public/admin/assets/oa-menu-form.vue_vue_type_script_setup_true_lang-kNW0U_x0.js index 035cbde4..df2471b6 100644 --- a/server/public/admin/assets/oa-menu-form.vue_vue_type_script_setup_true_lang-CREThn5_.js +++ b/server/public/admin/assets/oa-menu-form.vue_vue_type_script_setup_true_lang-kNW0U_x0.js @@ -1 +1 @@ -import{B as E,C as F,G as P,I as U,D as x}from"./element-plus-0wC3naml.js";import{r as B}from"./useMenuOa-C5oHvLlA.js";import{f as R,w as C,aJ as N,ak as d,G as V,aN as u,a as t,O as f,H as i,aq as G,I as _,F as g}from"./@vue/runtime-core-C6bnekPw.js";import{n as q,y as l,q as A}from"./@vue/reactivity-DiY1c2vO.js";const S=R({__name:"oa-menu-form",props:{modular:{default:"master"},name:{default:""},menuType:{type:Boolean,default:!1},visitType:{default:"view"},url:{default:""},appId:{default:""},pagePath:{default:""}},emits:["update:name","update:menuType","update:visitType","update:url","update:appId","update:pagePath"],setup(r,{expose:b,emit:k}){const m=k,y=r,T=A(),e=q({...y});return C(()=>y,v=>{e.value=v},{immediate:!0}),N(()=>{y.modular==="master"&&m("update:menuType",e.value.menuType),m("update:name",e.value.name),m("update:visitType",e.value.visitType),m("update:url",e.value.url),m("update:appId",e.value.appId),m("update:pagePath",e.value.pagePath)}),b({menuFormRef:T}),(v,a)=>{const n=F,p=E,s=U,I=P,w=x;return d(),V(w,{ref_key:"menuFormRef",ref:T,rules:l(B),model:l(e),"label-width":"100px"},{default:u(()=>[t(p,{label:r.modular==="master"?"主菜单名称":"子菜单名称",prop:"name"},{default:u(()=>[t(n,{modelValue:l(e).name,"onUpdate:modelValue":a[0]||(a[0]=o=>l(e).name=o)},null,8,["modelValue"])]),_:1},8,["label"]),r.modular==="master"?(d(),V(p,{key:0,label:"主菜单类型",prop:"menuType"},{default:u(()=>[t(I,{modelValue:l(e).menuType,"onUpdate:modelValue":a[1]||(a[1]=o=>l(e).menuType=o)},{default:u(()=>[t(s,{value:!1},{default:u(()=>[...a[6]||(a[6]=[f("不配置子菜单",-1)])]),_:1}),t(s,{value:!0},{default:u(()=>[...a[7]||(a[7]=[f("配置子菜单",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})):i("",!0),l(e).menuType&&r.modular==="master"?(d(),V(p,{key:1,label:""},{default:u(()=>[G(v.$slots,"default")]),_:3})):i("",!0),l(e).menuType?i("",!0):(d(),_(g,{key:2},[t(p,{label:"跳转链接",prop:"visitType"},{default:u(()=>[t(I,{modelValue:l(e).visitType,"onUpdate:modelValue":a[2]||(a[2]=o=>l(e).visitType=o)},{default:u(()=>[t(s,{value:"view"},{default:u(()=>[...a[8]||(a[8]=[f("网页",-1)])]),_:1}),t(s,{value:"miniprogram"},{default:u(()=>[...a[9]||(a[9]=[f("小程序",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),t(p,{label:"网址",prop:"url"},{default:u(()=>[t(n,{modelValue:l(e).url,"onUpdate:modelValue":a[3]||(a[3]=o=>l(e).url=o)},null,8,["modelValue"])]),_:1}),l(e).visitType=="miniprogram"?(d(),_(g,{key:0},[t(p,{label:"AppId",prop:"appId"},{default:u(()=>[t(n,{modelValue:l(e).appId,"onUpdate:modelValue":a[4]||(a[4]=o=>l(e).appId=o)},null,8,["modelValue"])]),_:1}),t(p,{label:"路径",prop:"pagePath"},{default:u(()=>[t(n,{modelValue:l(e).pagePath,"onUpdate:modelValue":a[5]||(a[5]=o=>l(e).pagePath=o)},null,8,["modelValue"])]),_:1})],64)):i("",!0)],64))]),_:3},8,["rules","model"])}}});export{S as _}; +import{B as E,C as F,G as P,I as U,D as x}from"./element-plus-DFTWCWyi.js";import{r as B}from"./useMenuOa-Bk-XiPjw.js";import{f as R,w as C,aJ as N,ak as d,G as V,aN as u,a as t,O as f,H as i,aq as G,I as _,F as g}from"./@vue/runtime-core-C6bnekPw.js";import{n as q,y as l,q as A}from"./@vue/reactivity-DiY1c2vO.js";const S=R({__name:"oa-menu-form",props:{modular:{default:"master"},name:{default:""},menuType:{type:Boolean,default:!1},visitType:{default:"view"},url:{default:""},appId:{default:""},pagePath:{default:""}},emits:["update:name","update:menuType","update:visitType","update:url","update:appId","update:pagePath"],setup(r,{expose:b,emit:k}){const m=k,y=r,T=A(),e=q({...y});return C(()=>y,v=>{e.value=v},{immediate:!0}),N(()=>{y.modular==="master"&&m("update:menuType",e.value.menuType),m("update:name",e.value.name),m("update:visitType",e.value.visitType),m("update:url",e.value.url),m("update:appId",e.value.appId),m("update:pagePath",e.value.pagePath)}),b({menuFormRef:T}),(v,a)=>{const n=F,p=E,s=U,I=P,w=x;return d(),V(w,{ref_key:"menuFormRef",ref:T,rules:l(B),model:l(e),"label-width":"100px"},{default:u(()=>[t(p,{label:r.modular==="master"?"主菜单名称":"子菜单名称",prop:"name"},{default:u(()=>[t(n,{modelValue:l(e).name,"onUpdate:modelValue":a[0]||(a[0]=o=>l(e).name=o)},null,8,["modelValue"])]),_:1},8,["label"]),r.modular==="master"?(d(),V(p,{key:0,label:"主菜单类型",prop:"menuType"},{default:u(()=>[t(I,{modelValue:l(e).menuType,"onUpdate:modelValue":a[1]||(a[1]=o=>l(e).menuType=o)},{default:u(()=>[t(s,{value:!1},{default:u(()=>[...a[6]||(a[6]=[f("不配置子菜单",-1)])]),_:1}),t(s,{value:!0},{default:u(()=>[...a[7]||(a[7]=[f("配置子菜单",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})):i("",!0),l(e).menuType&&r.modular==="master"?(d(),V(p,{key:1,label:""},{default:u(()=>[G(v.$slots,"default")]),_:3})):i("",!0),l(e).menuType?i("",!0):(d(),_(g,{key:2},[t(p,{label:"跳转链接",prop:"visitType"},{default:u(()=>[t(I,{modelValue:l(e).visitType,"onUpdate:modelValue":a[2]||(a[2]=o=>l(e).visitType=o)},{default:u(()=>[t(s,{value:"view"},{default:u(()=>[...a[8]||(a[8]=[f("网页",-1)])]),_:1}),t(s,{value:"miniprogram"},{default:u(()=>[...a[9]||(a[9]=[f("小程序",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),t(p,{label:"网址",prop:"url"},{default:u(()=>[t(n,{modelValue:l(e).url,"onUpdate:modelValue":a[3]||(a[3]=o=>l(e).url=o)},null,8,["modelValue"])]),_:1}),l(e).visitType=="miniprogram"?(d(),_(g,{key:0},[t(p,{label:"AppId",prop:"appId"},{default:u(()=>[t(n,{modelValue:l(e).appId,"onUpdate:modelValue":a[4]||(a[4]=o=>l(e).appId=o)},null,8,["modelValue"])]),_:1}),t(p,{label:"路径",prop:"pagePath"},{default:u(()=>[t(n,{modelValue:l(e).pagePath,"onUpdate:modelValue":a[5]||(a[5]=o=>l(e).pagePath=o)},null,8,["modelValue"])]),_:1})],64)):i("",!0)],64))]),_:3},8,["rules","model"])}}});export{S as _}; diff --git a/server/public/admin/assets/oa-phone-n60FNq77.js b/server/public/admin/assets/oa-phone-YKGiM_hq.js similarity index 92% rename from server/public/admin/assets/oa-phone-n60FNq77.js rename to server/public/admin/assets/oa-phone-YKGiM_hq.js index 4d01191d..48b93764 100644 --- a/server/public/admin/assets/oa-phone-n60FNq77.js +++ b/server/public/admin/assets/oa-phone-YKGiM_hq.js @@ -1 +1 @@ -import{d as w}from"./element-plus-0wC3naml.js";import{f as F,q as N}from"./@vue/runtime-dom-DDAG46FW.js";import{l as P,_ as V}from"./index-E47--KT7.js";import{u as d}from"./useMenuOa-C5oHvLlA.js";import{f as j,A,ar as _,ak as e,I as o,J as r,a as i,aN as f,F as h,ap as v,aP as B,H as D}from"./@vue/runtime-core-C6bnekPw.js";import{y as s}from"./@vue/reactivity-DiY1c2vO.js";import{o as E,Q as x}from"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./wx_oa-CMZpCm8a.js";const G={class:"oa-phone mr-[35px]"},L={class:"flex oa-phone-menu"},M={class:"flex items-center justify-center oa-phone-menu-switch"},O=["onClick"],q={class:"oa-phone-menu-subitem"},z=j({__name:"oa-phone",setup(H){F(y=>({v5d8c0dd7:s(k)}));const C=P(),k=A(()=>C.theme||"#4A5DFF"),{menuList:a,menuIndex:p,handleAddMenu:l}=d(d);return(y,n)=>{const b=_("Grid"),c=w,g=_("Plus");return e(),o("div",G,[n[1]||(n[1]=r("div",{class:"oa-phone-content"},null,-1)),r("div",L,[r("div",M,[i(c,null,{default:f(()=>[i(b)]),_:1})]),(e(!0),o(h,null,v(s(a),(t,m)=>(e(),o("div",{key:m,class:"relative flex-1",onClick:u=>p.value=m},[r("div",{class:E(["flex items-center justify-center flex-1 text-sm oa-phone-menu-item",{"active-menu":s(p)===m}])},x(t.name),3),B(r("div",q,[(e(!0),o(h,null,v(t.sub_button,(u,S)=>(e(),o("div",{key:S,class:"oa-phone-menu-subitem-title"},x(u.name),1))),128))],512),[[N,t.sub_button.length&&t.has_menu]])],8,O))),128)),s(a).length<=2?(e(),o("div",{key:0,class:"flex items-center justify-center flex-1 h-full",onClick:n[0]||(n[0]=(...t)=>s(l)&&s(l)(...t))},[i(c,null,{default:f(()=>[i(g)]),_:1})])):D("",!0)])])}}}),Nt=V(z,[["__scopeId","data-v-e8e53db5"]]);export{Nt as default}; +import{d as w}from"./element-plus-DFTWCWyi.js";import{f as F,q as N}from"./@vue/runtime-dom-DDAG46FW.js";import{l as P,_ as V}from"./index-DBREMm_z.js";import{u as d}from"./useMenuOa-Bk-XiPjw.js";import{f as j,A,ar as _,ak as e,I as o,J as r,a as i,aN as f,F as h,ap as v,aP as B,H as D}from"./@vue/runtime-core-C6bnekPw.js";import{y as s}from"./@vue/reactivity-DiY1c2vO.js";import{o as E,Q as x}from"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./wx_oa-sVQft6O9.js";const G={class:"oa-phone mr-[35px]"},L={class:"flex oa-phone-menu"},M={class:"flex items-center justify-center oa-phone-menu-switch"},O=["onClick"],q={class:"oa-phone-menu-subitem"},z=j({__name:"oa-phone",setup(H){F(y=>({v5d8c0dd7:s(k)}));const C=P(),k=A(()=>C.theme||"#4A5DFF"),{menuList:a,menuIndex:p,handleAddMenu:l}=d(d);return(y,n)=>{const b=_("Grid"),c=w,g=_("Plus");return e(),o("div",G,[n[1]||(n[1]=r("div",{class:"oa-phone-content"},null,-1)),r("div",L,[r("div",M,[i(c,null,{default:f(()=>[i(b)]),_:1})]),(e(!0),o(h,null,v(s(a),(t,m)=>(e(),o("div",{key:m,class:"relative flex-1",onClick:u=>p.value=m},[r("div",{class:E(["flex items-center justify-center flex-1 text-sm oa-phone-menu-item",{"active-menu":s(p)===m}])},x(t.name),3),B(r("div",q,[(e(!0),o(h,null,v(t.sub_button,(u,S)=>(e(),o("div",{key:S,class:"oa-phone-menu-subitem-title"},x(u.name),1))),128))],512),[[N,t.sub_button.length&&t.has_menu]])],8,O))),128)),s(a).length<=2?(e(),o("div",{key:0,class:"flex items-center justify-center flex-1 h-full",onClick:n[0]||(n[0]=(...t)=>s(l)&&s(l)(...t))},[i(c,null,{default:f(()=>[i(g)]),_:1})])):D("",!0)])])}}}),Nt=V(z,[["__scopeId","data-v-e8e53db5"]]);export{Nt as default}; diff --git a/server/public/admin/assets/open_setting-6S0GqHoV.js b/server/public/admin/assets/open_setting-BzVgH1fa.js similarity index 94% rename from server/public/admin/assets/open_setting-6S0GqHoV.js rename to server/public/admin/assets/open_setting-BzVgH1fa.js index 90a81da5..51d56a81 100644 --- a/server/public/admin/assets/open_setting-6S0GqHoV.js +++ b/server/public/admin/assets/open_setting-BzVgH1fa.js @@ -1 +1 @@ -import{_ as y}from"./index-9zND60WT.js";import{K as k,J as A,B as E,C as x,D as B,i as I}from"./element-plus-0wC3naml.js";import{r as f}from"./index-E47--KT7.js";import{f as g,as as S,ak as u,I as q,a as t,aN as r,J as a,aP as N,G as R,O}from"./@vue/runtime-core-C6bnekPw.js";import{y as n,r as F,q as J}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";function U(s){return f.post({url:"/channel.open_setting/setConfig",params:s})}function G(){return f.get({url:"/channel.open_setting/getConfig"})}const K={class:"w-80"},P={class:"w-80"},T=g({name:"wxDevConfig"}),Ee=g({...T,setup(s){const o=F({app_id:"",app_secret:""}),l=J(),v={app_id:[{required:!0,message:"请输入AppID",trigger:["blur","change"]}],app_secret:[{required:!0,message:"请输入AppSecret",trigger:["blur","change"]}]},m=async()=>{const p=await G();for(const e in o)o[e]=p[e]},w=async()=>{var p;await((p=l.value)==null?void 0:p.validate()),await U(o),m()};return m(),(p,e)=>{const b=k,_=A,c=x,d=E,C=B,h=I,D=y,V=S("perms");return u(),q("div",null,[t(_,{class:"!border-none",shadow:"never"},{default:r(()=>[t(b,{type:"warning",title:"温馨提示:填写微信开放平台开发配置,请前往微信开放平台创建应用并完成认证;网站应用配置主要用于网站微信登录和微信支付",closable:!1,"show-icon":""})]),_:1}),t(C,{ref_key:"formRef",ref:l,model:n(o),rules:v,"label-width":"160px"},{default:r(()=>[t(_,{class:"!border-none mt-4",shadow:"never"},{default:r(()=>[e[2]||(e[2]=a("div",{class:"font-medium mb-7"},"网站应用",-1)),t(d,{label:"AppID",prop:"app_id"},{default:r(()=>[a("div",K,[t(c,{modelValue:n(o).app_id,"onUpdate:modelValue":e[0]||(e[0]=i=>n(o).app_id=i),placeholder:"请输入AppID"},null,8,["modelValue"])])]),_:1}),t(d,{label:"AppSecret",prop:"app_secret"},{default:r(()=>[a("div",null,[a("div",P,[t(c,{modelValue:n(o).app_secret,"onUpdate:modelValue":e[1]||(e[1]=i=>n(o).app_secret=i),placeholder:"请输入AppSecret"},null,8,["modelValue"])])])]),_:1})]),_:1})]),_:1},8,["model"]),N((u(),R(D,null,{default:r(()=>[t(h,{type:"primary",onClick:w},{default:r(()=>[...e[3]||(e[3]=[O("保存",-1)])]),_:1})]),_:1})),[[V,["channel.open_setting/setConfig"]]])])}}});export{Ee as default}; +import{_ as y}from"./index-x1zzA0a7.js";import{K as k,J as A,B as E,C as x,D as B,i as I}from"./element-plus-DFTWCWyi.js";import{r as f}from"./index-DBREMm_z.js";import{f as g,as as S,ak as u,I as q,a as t,aN as r,J as a,aP as N,G as R,O}from"./@vue/runtime-core-C6bnekPw.js";import{y as n,r as F,q as J}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";function U(s){return f.post({url:"/channel.open_setting/setConfig",params:s})}function G(){return f.get({url:"/channel.open_setting/getConfig"})}const K={class:"w-80"},P={class:"w-80"},T=g({name:"wxDevConfig"}),Ee=g({...T,setup(s){const o=F({app_id:"",app_secret:""}),l=J(),v={app_id:[{required:!0,message:"请输入AppID",trigger:["blur","change"]}],app_secret:[{required:!0,message:"请输入AppSecret",trigger:["blur","change"]}]},m=async()=>{const p=await G();for(const e in o)o[e]=p[e]},w=async()=>{var p;await((p=l.value)==null?void 0:p.validate()),await U(o),m()};return m(),(p,e)=>{const b=k,_=A,c=x,d=E,C=B,h=I,D=y,V=S("perms");return u(),q("div",null,[t(_,{class:"!border-none",shadow:"never"},{default:r(()=>[t(b,{type:"warning",title:"温馨提示:填写微信开放平台开发配置,请前往微信开放平台创建应用并完成认证;网站应用配置主要用于网站微信登录和微信支付",closable:!1,"show-icon":""})]),_:1}),t(C,{ref_key:"formRef",ref:l,model:n(o),rules:v,"label-width":"160px"},{default:r(()=>[t(_,{class:"!border-none mt-4",shadow:"never"},{default:r(()=>[e[2]||(e[2]=a("div",{class:"font-medium mb-7"},"网站应用",-1)),t(d,{label:"AppID",prop:"app_id"},{default:r(()=>[a("div",K,[t(c,{modelValue:n(o).app_id,"onUpdate:modelValue":e[0]||(e[0]=i=>n(o).app_id=i),placeholder:"请输入AppID"},null,8,["modelValue"])])]),_:1}),t(d,{label:"AppSecret",prop:"app_secret"},{default:r(()=>[a("div",null,[a("div",P,[t(c,{modelValue:n(o).app_secret,"onUpdate:modelValue":e[1]||(e[1]=i=>n(o).app_secret=i),placeholder:"请输入AppSecret"},null,8,["modelValue"])])])]),_:1})]),_:1})]),_:1},8,["model"]),N((u(),R(D,null,{default:r(()=>[t(h,{type:"primary",onClick:w},{default:r(()=>[...e[3]||(e[3]=[O("保存",-1)])]),_:1})]),_:1})),[[V,["channel.open_setting/setConfig"]]])])}}});export{Ee as default}; diff --git a/server/public/admin/assets/order-BogYGNkX.js b/server/public/admin/assets/order-DLqQxjqO.js similarity index 96% rename from server/public/admin/assets/order-BogYGNkX.js rename to server/public/admin/assets/order-DLqQxjqO.js index ab96449b..fc0decf4 100644 --- a/server/public/admin/assets/order-BogYGNkX.js +++ b/server/public/admin/assets/order-DLqQxjqO.js @@ -1 +1 @@ -import{r as e}from"./index-E47--KT7.js";function o(r){return e.get({url:"/order.order/lists",params:r})}function n(r){return e.get({url:"/order.order/syncWechatWorkBills",params:r})}function u(r){return e.get({url:"/order.order/syncWechatWorkBillsDebug",params:r})}function s(){return e.get({url:"/order.order/todayRevenue"})}function d(r){return e.get({url:"/order.order/orderStats",params:r})}function a(r){return e.post({url:"/order.order/detail",params:r})}function i(r){return e.post({url:"/order.order/create",params:r})}function c(r){return e.post({url:"/order.order/createForWechatWork",params:r})}function l(r){return e.post({url:"/order.order/edit",params:r})}function f(r){return e.post({url:"/order.order/delete",params:r})}function p(r){return e.post({url:"/order.order/pay",params:r})}function g(r){return e.post({url:"/order.order/alipay",params:r})}function h(r){return e.post({url:"/order.order/wechat",params:r})}function y(r){return e.post({url:"/order.order/cancel",params:r})}function W(r){return e.post({url:"/order.order/refund",params:r})}function k(r){return e.get({url:"/order.order/export",params:r},{isReturnDefaultResponse:!0})}function m(r){return e.post({url:"/order.order/split",params:r})}function S(r){return e.get({url:"/tcm.diagnosis/searchPatient",params:r})}function x(r){return e.get({url:"/order.order/actionLogs",params:r})}function A(r){return e.get({url:"/order.order/actionLogStats",params:r})}function B(r){return e.post({url:"/order.order/assignAssistant",params:r})}function D(r){return e.post({url:"/order.order/setExempt",params:r})}export{k as a,B as b,s as c,x as d,A as e,u as f,n as g,c as h,i,l as j,m as k,a as l,p as m,g as n,o,y as p,W as q,f as r,S as s,D as t,d as u,h as w}; +import{r as e}from"./index-DBREMm_z.js";function o(r){return e.get({url:"/order.order/lists",params:r})}function n(r){return e.get({url:"/order.order/syncWechatWorkBills",params:r})}function u(r){return e.get({url:"/order.order/syncWechatWorkBillsDebug",params:r})}function s(){return e.get({url:"/order.order/todayRevenue"})}function d(r){return e.get({url:"/order.order/orderStats",params:r})}function a(r){return e.post({url:"/order.order/detail",params:r})}function i(r){return e.post({url:"/order.order/create",params:r})}function c(r){return e.post({url:"/order.order/createForWechatWork",params:r})}function l(r){return e.post({url:"/order.order/edit",params:r})}function f(r){return e.post({url:"/order.order/delete",params:r})}function p(r){return e.post({url:"/order.order/pay",params:r})}function g(r){return e.post({url:"/order.order/alipay",params:r})}function h(r){return e.post({url:"/order.order/wechat",params:r})}function y(r){return e.post({url:"/order.order/cancel",params:r})}function W(r){return e.post({url:"/order.order/refund",params:r})}function k(r){return e.get({url:"/order.order/export",params:r},{isReturnDefaultResponse:!0})}function m(r){return e.post({url:"/order.order/split",params:r})}function S(r){return e.get({url:"/tcm.diagnosis/searchPatient",params:r})}function x(r){return e.get({url:"/order.order/actionLogs",params:r})}function A(r){return e.get({url:"/order.order/actionLogStats",params:r})}function B(r){return e.post({url:"/order.order/assignAssistant",params:r})}function D(r){return e.post({url:"/order.order/setExempt",params:r})}export{k as a,B as b,s as c,x as d,A as e,u as f,n as g,c as h,i,l as j,m as k,a as l,p as m,g as n,o,y as p,W as q,f as r,S as s,D as t,d as u,h as w}; diff --git a/server/public/admin/assets/order_list-B0KwyADf.css b/server/public/admin/assets/order_list-B0KwyADf.css new file mode 100644 index 00000000..6f7a314e --- /dev/null +++ b/server/public/admin/assets/order_list-B0KwyADf.css @@ -0,0 +1 @@ +@charset "UTF-8";.prescription-order-page[data-v-7e159aff]{margin:0 auto}.po-page-title[data-v-7e159aff]{margin:0 0 6px;font-size:20px;font-weight:600;color:var(--el-text-color-primary);letter-spacing:.02em}.po-page-desc[data-v-7e159aff]{margin:0;font-size:13px;line-height:1.55;color:var(--el-text-color-secondary)}.po-filter-card[data-v-7e159aff]{border-radius:8px}.po-filter-card[data-v-7e159aff] .el-card__body{padding-bottom:12px}.po-list-stats[data-v-7e159aff]{--po-stat-order-a: color-mix(in srgb, var(--el-color-primary) 12%, white);--po-stat-order-b: color-mix(in srgb, var(--el-color-primary) 5%, transparent);--po-stat-pay-a: color-mix(in srgb, #10b981 10%, white);--po-stat-pay-b: color-mix(in srgb, #10b981 4%, transparent)}.po-stat-surface[data-v-7e159aff]{transition:box-shadow .2s ease,border-color .2s ease}.po-stat-surface[data-v-7e159aff]:hover{box-shadow:0 10px 28px -12px #0f172a2e;border-color:color-mix(in srgb,var(--el-color-primary) 22%,var(--el-border-color))}.po-stat-surface--order[data-v-7e159aff]{background:linear-gradient(135deg,var(--po-stat-order-a) 0%,#fff 48%,var(--po-stat-order-b) 100%)}.po-stat-surface--pay[data-v-7e159aff]{background:linear-gradient(135deg,var(--po-stat-pay-a) 0%,#fff 48%,var(--po-stat-pay-b) 100%)}.po-stat-deco--o[data-v-7e159aff]{background:radial-gradient(circle,color-mix(in srgb,var(--el-color-primary) 45%,transparent) 0%,transparent 70%)}.po-stat-deco--p[data-v-7e159aff]{background:radial-gradient(circle,color-mix(in srgb,#10b981 40%,transparent) 0%,transparent 70%)}.stat-icon-wrap[data-v-7e159aff]{box-shadow:inset 0 1px #ffffffb3}.po-table-card[data-v-7e159aff]{border-radius:8px}.po-table-card[data-v-7e159aff] .el-card__body{padding-top:16px}.po-table-toolbar[data-v-7e159aff]{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:14px}.po-table-toolbar__title-wrap[data-v-7e159aff]{display:flex;align-items:baseline;gap:10px}.po-table-title[data-v-7e159aff]{font-size:16px;font-weight:600}.po-focus-board[data-v-7e159aff]{display:grid;grid-template-columns:repeat(4,minmax(106px,1fr));gap:8px;width:min(100%,520px)}.po-focus-board__item[data-v-7e159aff]{display:flex;align-items:center;justify-content:space-between;gap:8px;border-radius:8px;border:1px solid var(--el-border-color-lighter);background:#fff;padding:7px 10px;cursor:pointer;transition:all .18s ease}.po-focus-board__item[data-v-7e159aff]:hover{transform:translateY(-1px);box-shadow:0 8px 20px -14px #0f172a61}.po-focus-board__item.is-active[data-v-7e159aff]{box-shadow:0 0 0 2px color-mix(in srgb,var(--el-color-primary) 24%,transparent) inset;transform:translateY(-1px)}.po-focus-board__label[data-v-7e159aff]{font-size:12px;color:var(--el-text-color-secondary)}.po-focus-board__value[data-v-7e159aff]{font-size:18px;line-height:1;font-weight:700;color:var(--el-text-color-primary);font-variant-numeric:tabular-nums}.po-focus-board__item.is-pending-rx[data-v-7e159aff]{border-color:color-mix(in srgb,var(--el-color-warning) 34%,#fff);background:color-mix(in srgb,var(--el-color-warning-light-9) 66%,#fff)}.po-focus-board__item.is-pending-pay[data-v-7e159aff]{border-color:color-mix(in srgb,#2563eb 30%,#fff);background:color-mix(in srgb,#dbeafe 62%,#fff)}.po-focus-board__item.is-pending-ship[data-v-7e159aff]{border-color:color-mix(in srgb,var(--el-color-primary) 30%,#fff);background:color-mix(in srgb,var(--el-color-primary-light-9) 64%,#fff)}.po-focus-board__item.is-risk[data-v-7e159aff]{border-color:color-mix(in srgb,var(--el-color-danger) 34%,#fff);background:color-mix(in srgb,var(--el-color-danger-light-9) 66%,#fff)}@media(max-width:1024px){.po-focus-board[data-v-7e159aff]{width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}}.po-data-table[data-v-7e159aff] th.el-table__cell{font-weight:600;background:var(--el-fill-color-light)!important}.po-order-no-cell[data-v-7e159aff]{display:flex;flex-direction:column;gap:4px}.po-order-no-main[data-v-7e159aff]{font-weight:600;color:var(--el-text-color-primary);line-height:1.35}.po-order-no-sub[data-v-7e159aff]{display:inline-flex;align-items:center;gap:6px;font-size:12px}.po-status-tag[data-v-7e159aff]{font-weight:600}.po-status-tag.is-focus[data-v-7e159aff]{box-shadow:0 0 0 1px color-mix(in srgb,var(--el-color-warning) 24%,transparent) inset}.po-status-tag.is-risk[data-v-7e159aff]{box-shadow:0 0 0 1px color-mix(in srgb,var(--el-color-danger) 30%,transparent) inset}.po-data-table[data-v-7e159aff] .el-table__row.po-row-focus>td.el-table__cell{background:color-mix(in srgb,var(--el-color-warning-light-9) 38%,#fff)!important}.po-data-table[data-v-7e159aff] .el-table__row.po-row-risk>td.el-table__cell{background:color-mix(in srgb,var(--el-color-danger-light-9) 42%,#fff)!important}.po-data-table[data-v-7e159aff] .el-table__row.po-row-done>td.el-table__cell{background:color-mix(in srgb,var(--el-color-success-light-9) 24%,#fff)!important}.po-detail-drawer[data-v-7e159aff] .el-drawer__header{margin-bottom:0;padding:16px 24px;border-bottom:1px solid var(--el-border-color-lighter)}.stat-card[data-v-7e159aff]{border-radius:8px}.stat-title[data-v-7e159aff]{font-weight:500}.po-panel[data-v-7e159aff]{border-radius:8px;transition:all .3s}.po-panel[data-v-7e159aff] .el-card__header{padding:14px 16px;background-color:var(--el-bg-color-page);border-bottom:1px solid var(--el-border-color-lighter)}.po-panel[data-v-7e159aff] .el-card__body{padding:16px}.po-desc[data-v-7e159aff] .el-descriptions__label{width:120px;color:var(--el-text-color-regular)}.po-audit-remark[data-v-7e159aff]{color:var(--el-color-danger);font-weight:600;white-space:pre-wrap;word-break:break-word}.rx-wrap[data-v-7e159aff]{min-height:160px;background:#f5f6f8;padding:12px;margin:-20px}.rx-statusbar[data-v-7e159aff]{display:flex;align-items:center;gap:8px;padding:0 4px 8px}.rx-status[data-v-7e159aff]{margin-bottom:10px;padding:8px 12px;border-radius:4px;font-size:13px;line-height:1.6}.rx-status-danger[data-v-7e159aff]{background:#fef0f0;color:#b91c1c;border:1px solid #fecaca}.rx-paper[data-v-7e159aff]{width:210mm;min-height:297mm;margin:0 auto;background:#fff;box-sizing:border-box;padding:8mm 10mm;color:#1f1f1f;font-size:13px;line-height:1.5;font-family:Microsoft YaHei,PingFang SC,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;box-shadow:0 0 0 1px #d6d6d6,0 6px 24px #0000000f;overflow:visible}.rx-notice[data-v-7e159aff]{display:flex;flex-direction:column;align-items:stretch;gap:10px;background:#f3f4f6;border:1px solid #e5e7eb;padding:14px 12px;border-radius:2px;font-size:12px;color:#1f1f1f;margin-bottom:6px}.rx-notice .rx-notice-text[data-v-7e159aff]{flex:none;width:100%;line-height:1.55;word-break:break-word}.rx-notice .rx-notice-meta[data-v-7e159aff]{display:flex;flex-flow:row nowrap;align-items:center;gap:4px 14px;width:100%;box-sizing:border-box;margin-top:4px;padding:8px 2px 2px;border-top:1px solid #e5e7eb;font-size:10px;line-height:2.35;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.rx-notice .rx-notice-meta .rx-meta-item[data-v-7e159aff]{display:inline-flex;flex:0 0 auto;align-items:baseline;gap:2px;min-width:0;padding:0;margin:0;background:transparent;border:none;border-radius:0;white-space:nowrap;line-height:2.35;height:20px}.rx-notice .rx-notice-meta .rx-meta-item[data-v-7e159aff]:not(:first-child){border-left:1px solid #d1d5db;padding-left:14px;margin-left:2px;line-height:2.35}.rx-notice .rx-notice-meta .rx-meta-label[data-v-7e159aff]{font-weight:600;color:#6b7280;line-height:1.35;flex-shrink:0}.rx-notice .rx-notice-meta .rx-meta-label[data-v-7e159aff]:after{content:":";font-weight:500;color:#9ca3af}.rx-notice .rx-notice-meta .rx-meta-value[data-v-7e159aff]{color:#111827;line-height:1.35;font-variant-numeric:tabular-nums}.rx-title[data-v-7e159aff]{text-align:center;font-size:28px;font-weight:700;line-height:1.2;margin:10px 0 35px;letter-spacing:.08em}.rx-info[data-v-7e159aff]{border:1px solid #c8c8c8;border-bottom:none}.rx-info-row[data-v-7e159aff]{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid #c8c8c8}.rx-info-row-full[data-v-7e159aff]{grid-template-columns:1fr}.rx-info-cell[data-v-7e159aff]{display:flex;align-items:center;gap:6px;padding:16px 10px;font-size:13px;border-right:1px solid #c8c8c8;min-height:32px}.rx-info-cell[data-v-7e159aff]:last-child{border-right:none}.rx-info-cell .rx-key[data-v-7e159aff]{color:#1f1f1f;flex-shrink:0}.rx-info-cell .rx-val[data-v-7e159aff]{flex:1;min-width:0;word-break:break-all}.rx-rp[data-v-7e159aff]{position:relative;border-left:1px solid #c8c8c8;border-right:1px solid #c8c8c8;padding:8px 10px 16px;overflow:hidden;box-sizing:border-box;width:100%}.rx-watermark[data-v-7e159aff]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:88px;font-weight:700;color:#0000000f;transform:rotate(-22deg);letter-spacing:.18em;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:0}.rx-rp-head[data-v-7e159aff]{display:grid;grid-template-columns:36px 1fr;align-items:end;-moz-column-gap:8px;column-gap:8px;border-bottom:1px solid #d4d4d4;margin-bottom:6px;position:relative;z-index:1;width:100%;box-sizing:border-box;padding:10px}.rx-rp-label[data-v-7e159aff]{font-size:16px;font-weight:700;color:#1f1f1f;line-height:1;padding-bottom:15px}.rx-rp-cols-head[data-v-7e159aff]{display:grid;grid-template-columns:1fr 1fr;-moz-column-gap:24px;column-gap:24px;width:100%;box-sizing:border-box;min-width:0}.rx-rp-col-head[data-v-7e159aff]{display:grid;grid-template-columns:1fr 64px;-moz-column-gap:8px;column-gap:8px;font-size:13px;color:#1f1f1f;min-width:0;padding-bottom:15px}.rx-rp-col-head>span[data-v-7e159aff]:last-child{text-align:right}.rx-herbs[data-v-7e159aff]{padding-left:44px;display:grid;grid-template-columns:1fr 1fr;-moz-column-gap:24px;column-gap:24px;row-gap:6px;position:relative;z-index:1;width:100%;box-sizing:border-box}.rx-herb-cell[data-v-7e159aff]{display:grid;grid-template-columns:1fr 64px;-moz-column-gap:8px;column-gap:8px;font-size:13px;line-height:2.5;min-width:0}.rx-herb-name[data-v-7e159aff]{color:#1f1f1f;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rx-herb-total[data-v-7e159aff]{color:#1f1f1f;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.rx-text[data-v-7e159aff]{border:1px solid #c8c8c8;border-top:none;padding:10px 12px;font-size:13px;line-height:1.85}.rx-text p[data-v-7e159aff]{margin:0}.rx-text .rx-text-warn[data-v-7e159aff]{color:#d72424;font-weight:600}.rx-bottom[data-v-7e159aff]{border:1px solid #c8c8c8;border-top:none}.rx-bot-row[data-v-7e159aff]{display:grid;border-bottom:1px solid #c8c8c8}.rx-bot-row[data-v-7e159aff]:last-child{border-bottom:none}.rx-bot-row-1[data-v-7e159aff]{grid-template-columns:1.6fr .6fr .6fr .6fr .6fr 1.7fr .95fr 1.25fr;min-height:70px}.rx-bot-row-2[data-v-7e159aff]{grid-template-columns:repeat(6,1fr)}.rx-hospital-row[data-v-7e159aff]{display:flex;flex-direction:column;align-items:left;justify-content:left;gap:2px;padding:10px 12px;min-height:52px;text-align:left}.rx-hospital-line[data-v-7e159aff]{font-size:12px;color:#374151;line-height:1.6}.rx-bot-cell[data-v-7e159aff]{border-right:1px solid #c8c8c8;padding:6px 10px;font-size:12px;color:#1f1f1f;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;min-height:32px;box-sizing:border-box;line-height:2.5}.rx-bot-cell[data-v-7e159aff]:last-child{border-right:none}.rx-bot-stack[data-v-7e159aff]{flex-direction:column;align-items:flex-start;justify-content:flex-start}.rx-bot-label[data-v-7e159aff]{font-size:13px;color:#1f1f1f;margin-bottom:4px}.rx-bot-label--doctor[data-v-7e159aff]{flex-shrink:0;margin-bottom:0;margin-right:6px;line-height:1.2;align-self:center}.rx-bot-doctor[data-v-7e159aff]{flex-direction:row;align-items:center;flex-wrap:nowrap}.rx-bot-doctor .rx-bot-doctor-body[data-v-7e159aff]{flex:1;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;flex-wrap:nowrap;gap:8px;min-height:0}.rx-bot-doctor .rx-bot-doctor-name[data-v-7e159aff]{font-size:13px;color:#1f1f1f;line-height:1.2;white-space:nowrap}.rx-bot-doctor .rx-bot-sign-img[data-v-7e159aff]{flex-shrink:0;max-height:40px;max-width:110px;-o-object-fit:contain;object-fit:contain}.rx-bot-meta[data-v-7e159aff]{flex-wrap:nowrap}.rx-bot-meta .rx-bot-meta-key[data-v-7e159aff]{color:#1f1f1f;margin-right:6px;white-space:nowrap;flex-shrink:0;line-height:1.4}.rx-bot-meta .rx-bot-meta-val[data-v-7e159aff]{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;line-height:2.5}.rx-fee[data-v-7e159aff]{font-size:13px;line-height:1.4;padding:8px 10px}.rx-fee .rx-fee-key[data-v-7e159aff]{color:#1f1f1f;margin-right:6px;white-space:nowrap}.rx-fee .rx-fee-val[data-v-7e159aff]{font-variant-numeric:tabular-nums;white-space:nowrap}.rx-fee-total[data-v-7e159aff]{font-weight:700;background:#fafafa}.rx-fee-total .rx-fee-val[data-v-7e159aff]{font-weight:700}.rx-audit[data-v-7e159aff]{margin:12px auto 0;max-width:210mm;padding:8px 12px;background:#fafafa;border:1px dashed #d4d4d4;color:#6b7280;font-size:12px;line-height:1.6;border-radius:4px}.audit-stamp[data-v-7e159aff]{position:absolute;top:18px;right:-14px;width:72px;height:72px;border:3px solid currentColor;border-radius:50%;display:flex;align-items:center;justify-content:center;transform:rotate(20deg);opacity:.8;pointer-events:none;z-index:10;-webkit-user-select:none;-moz-user-select:none;user-select:none;font-weight:700;font-size:13px;letter-spacing:1px;box-shadow:inset 0 0 0 1px #ffffff80}.audit-stamp[data-v-7e159aff]:after{content:"";position:absolute;top:4px;left:4px;right:4px;bottom:4px;border:1px double currentColor;border-radius:50%;opacity:.6}.audit-stamp .stamp-inner[data-v-7e159aff]{text-align:center;line-height:1.1}.stamp-pass[data-v-7e159aff]{color:var(--el-color-success)}.stamp-reject[data-v-7e159aff]{color:var(--el-color-danger)}.create-order-dialog[data-v-7e159aff] .el-dialog__header{padding:20px 24px 12px;margin-right:0}.create-order-dialog[data-v-7e159aff] .el-dialog__title{font-size:18px;font-weight:600;letter-spacing:.02em}.create-order-dialog[data-v-7e159aff] .el-dialog__body{padding:8px 24px 20px;max-height:calc(100vh - 200px);overflow:hidden}.create-order-dialog[data-v-7e159aff] .el-dialog__footer{padding:16px 24px 20px;border-top:1px solid var(--el-border-color-lighter);background:var(--el-fill-color-blank)}.create-order-dialog__inner[data-v-7e159aff]{display:flex;flex-direction:column;gap:0}.create-order-rx-card[data-v-7e159aff]{border-radius:10px;border:1px solid var(--el-color-primary-light-5);background:linear-gradient(135deg,var(--el-color-primary-light-9) 0%,var(--el-fill-color-blank) 100%);padding:16px 18px;margin-bottom:20px;box-shadow:0 1px 2px #0000000a}.create-order-rx-card__head[data-v-7e159aff]{display:flex;flex-wrap:wrap;align-items:center;gap:12px 14px;margin-bottom:10px}.create-order-rx-card__badge[data-v-7e159aff]{display:inline-flex;align-items:center;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600;color:#fff;background:var(--el-color-primary);letter-spacing:.04em}.create-order-rx-card__meta[data-v-7e159aff]{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:14px;color:var(--el-text-color-regular)}.create-order-rx-card__id[data-v-7e159aff]{font-weight:600;color:var(--el-text-color-primary)}.create-order-rx-card__sn[data-v-7e159aff]{padding:2px 8px;border-radius:4px;background:var(--el-fill-color);font-size:13px;color:var(--el-text-color-secondary)}.create-order-rx-card__patient[data-v-7e159aff]{font-weight:500;color:var(--el-text-color-primary)}.create-order-rx-card__herbs[data-v-7e159aff]{font-size:13px;line-height:1.55;color:var(--el-text-color-secondary);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;cursor:default;padding-top:2px}.create-order-steps[data-v-7e159aff]{margin-bottom:8px;padding:8px 12px 4px}.create-order-steps[data-v-7e159aff] .el-step__title{font-size:14px;font-weight:500;line-height:1.4}.create-order-steps[data-v-7e159aff] .el-step__description{font-size:12px;margin-top:4px;line-height:1.35;padding-right:6px}.create-order-steps[data-v-7e159aff] .el-step__head{padding-right:8px}.create-order-steps[data-v-7e159aff] .el-step.is-horizontal .el-step__line{top:14px}.create-order-step-lead[data-v-7e159aff]{margin:0 0 20px;padding:12px 16px;font-size:13px;line-height:1.6;color:var(--el-text-color-secondary);background:var(--el-fill-color-light);border-radius:8px;border-left:3px solid var(--el-color-primary-light-5)}.create-order-step-panel[data-v-7e159aff]{max-height:min(56vh,480px);overflow-y:auto;overflow-x:hidden;padding:4px 8px 12px 4px;margin-right:-4px}.create-order-step-panel__row-after-bar[data-v-7e159aff]{margin-top:20px}.create-order-unit-suffix[data-v-7e159aff]{flex-shrink:0;font-size:13px;color:var(--el-text-color-secondary);padding-left:4px}.create-order-footer[data-v-7e159aff]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;width:100%}.create-order-footer__hint[data-v-7e159aff]{flex:1;min-width:200px;display:flex;flex-direction:column;gap:6px;font-size:13px;line-height:1.5;color:var(--el-text-color-secondary)}.create-order-footer__step[data-v-7e159aff]{color:var(--el-text-color-placeholder)}.create-order-footer__warn[data-v-7e159aff]{color:var(--el-color-warning);font-weight:500}.create-order-footer__actions[data-v-7e159aff]{flex-shrink:0;display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}.create-order-deposit-bar[data-v-7e159aff]{display:flex;align-items:stretch;border-radius:10px;border:1px solid var(--el-border-color-lighter);overflow:hidden;font-size:13px;box-shadow:0 1px 2px #0000000a}.create-order-deposit-bar__cell[data-v-7e159aff]{flex:1;padding:16px 20px;display:flex;flex-direction:column;gap:6px;background:var(--el-fill-color-light)}.create-order-deposit-bar__cell strong[data-v-7e159aff]{font-size:20px;font-weight:600;color:var(--el-text-color-primary);letter-spacing:.02em}.create-order-deposit-bar__label[data-v-7e159aff]{font-size:13px;color:var(--el-text-color-secondary)}.create-order-deposit-bar__sub[data-v-7e159aff]{font-size:12px;color:var(--el-text-color-placeholder)}.create-order-deposit-bar__sep[data-v-7e159aff]{width:1px;background:var(--el-border-color-lighter);flex-shrink:0}.create-order-deposit-bar.is-ok .create-order-deposit-bar__cell:last-child strong[data-v-7e159aff]{color:var(--el-color-success)}.create-order-deposit-bar.is-warn .create-order-deposit-bar__cell:last-child strong[data-v-7e159aff]{color:var(--el-color-danger)}.create-order-pay-hint[data-v-7e159aff]{font-size:12px;line-height:1.55;margin-top:8px;color:var(--el-text-color-secondary)}.create-order-form[data-v-7e159aff] .el-form-item{margin-bottom:20px}.create-order-form[data-v-7e159aff] .el-form-item__label{font-size:14px;padding-right:12px}.create-order-form[data-v-7e159aff] .el-input__inner,.create-order-form[data-v-7e159aff] .el-textarea__inner{font-size:14px}.create-order-form-item--inline-num[data-v-7e159aff] .el-form-item__content{line-height:normal}.po-diagnosis-creator-dept-breadcrumb[data-v-7e159aff] .el-breadcrumb__item{display:inline-flex;float:none}.po-diagnosis-creator-dept-breadcrumb[data-v-7e159aff] .el-breadcrumb__separator{margin:0 2px 0 4px} diff --git a/server/public/admin/assets/order_list-Bm0nTeml.css b/server/public/admin/assets/order_list-Bm0nTeml.css deleted file mode 100644 index fa34b96b..00000000 --- a/server/public/admin/assets/order_list-Bm0nTeml.css +++ /dev/null @@ -1 +0,0 @@ -@charset "UTF-8";.prescription-order-page[data-v-32f614b7]{margin:0 auto}.po-page-title[data-v-32f614b7]{margin:0 0 6px;font-size:20px;font-weight:600;color:var(--el-text-color-primary);letter-spacing:.02em}.po-page-desc[data-v-32f614b7]{margin:0;font-size:13px;line-height:1.55;color:var(--el-text-color-secondary)}.po-filter-card[data-v-32f614b7]{border-radius:8px}.po-filter-card[data-v-32f614b7] .el-card__body{padding-bottom:12px}.po-list-stats[data-v-32f614b7]{--po-stat-order-a: color-mix(in srgb, var(--el-color-primary) 12%, white);--po-stat-order-b: color-mix(in srgb, var(--el-color-primary) 5%, transparent);--po-stat-pay-a: color-mix(in srgb, #10b981 10%, white);--po-stat-pay-b: color-mix(in srgb, #10b981 4%, transparent)}.po-stat-surface[data-v-32f614b7]{transition:box-shadow .2s ease,border-color .2s ease}.po-stat-surface[data-v-32f614b7]:hover{box-shadow:0 10px 28px -12px #0f172a2e;border-color:color-mix(in srgb,var(--el-color-primary) 22%,var(--el-border-color))}.po-stat-surface--order[data-v-32f614b7]{background:linear-gradient(135deg,var(--po-stat-order-a) 0%,#fff 48%,var(--po-stat-order-b) 100%)}.po-stat-surface--pay[data-v-32f614b7]{background:linear-gradient(135deg,var(--po-stat-pay-a) 0%,#fff 48%,var(--po-stat-pay-b) 100%)}.po-stat-deco--o[data-v-32f614b7]{background:radial-gradient(circle,color-mix(in srgb,var(--el-color-primary) 45%,transparent) 0%,transparent 70%)}.po-stat-deco--p[data-v-32f614b7]{background:radial-gradient(circle,color-mix(in srgb,#10b981 40%,transparent) 0%,transparent 70%)}.stat-icon-wrap[data-v-32f614b7]{box-shadow:inset 0 1px #ffffffb3}.po-table-card[data-v-32f614b7]{border-radius:8px}.po-table-card[data-v-32f614b7] .el-card__body{padding-top:16px}.po-table-toolbar[data-v-32f614b7]{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:14px}.po-table-toolbar__title-wrap[data-v-32f614b7]{display:flex;align-items:baseline;gap:10px}.po-table-title[data-v-32f614b7]{font-size:16px;font-weight:600}.po-focus-board[data-v-32f614b7]{display:grid;grid-template-columns:repeat(4,minmax(106px,1fr));gap:8px;width:min(100%,520px)}.po-focus-board__item[data-v-32f614b7]{display:flex;align-items:center;justify-content:space-between;gap:8px;border-radius:8px;border:1px solid var(--el-border-color-lighter);background:#fff;padding:7px 10px;cursor:pointer;transition:all .18s ease}.po-focus-board__item[data-v-32f614b7]:hover{transform:translateY(-1px);box-shadow:0 8px 20px -14px #0f172a61}.po-focus-board__item.is-active[data-v-32f614b7]{box-shadow:0 0 0 2px color-mix(in srgb,var(--el-color-primary) 24%,transparent) inset;transform:translateY(-1px)}.po-focus-board__label[data-v-32f614b7]{font-size:12px;color:var(--el-text-color-secondary)}.po-focus-board__value[data-v-32f614b7]{font-size:18px;line-height:1;font-weight:700;color:var(--el-text-color-primary);font-variant-numeric:tabular-nums}.po-focus-board__item.is-pending-rx[data-v-32f614b7]{border-color:color-mix(in srgb,var(--el-color-warning) 34%,#fff);background:color-mix(in srgb,var(--el-color-warning-light-9) 66%,#fff)}.po-focus-board__item.is-pending-pay[data-v-32f614b7]{border-color:color-mix(in srgb,#2563eb 30%,#fff);background:color-mix(in srgb,#dbeafe 62%,#fff)}.po-focus-board__item.is-pending-ship[data-v-32f614b7]{border-color:color-mix(in srgb,var(--el-color-primary) 30%,#fff);background:color-mix(in srgb,var(--el-color-primary-light-9) 64%,#fff)}.po-focus-board__item.is-risk[data-v-32f614b7]{border-color:color-mix(in srgb,var(--el-color-danger) 34%,#fff);background:color-mix(in srgb,var(--el-color-danger-light-9) 66%,#fff)}@media(max-width:1024px){.po-focus-board[data-v-32f614b7]{width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}}.po-data-table[data-v-32f614b7] th.el-table__cell{font-weight:600;background:var(--el-fill-color-light)!important}.po-order-no-cell[data-v-32f614b7]{display:flex;flex-direction:column;gap:4px}.po-order-no-main[data-v-32f614b7]{font-weight:600;color:var(--el-text-color-primary);line-height:1.35}.po-order-no-sub[data-v-32f614b7]{display:inline-flex;align-items:center;gap:6px;font-size:12px}.po-status-tag[data-v-32f614b7]{font-weight:600}.po-status-tag.is-focus[data-v-32f614b7]{box-shadow:0 0 0 1px color-mix(in srgb,var(--el-color-warning) 24%,transparent) inset}.po-status-tag.is-risk[data-v-32f614b7]{box-shadow:0 0 0 1px color-mix(in srgb,var(--el-color-danger) 30%,transparent) inset}.po-data-table[data-v-32f614b7] .el-table__row.po-row-focus>td.el-table__cell{background:color-mix(in srgb,var(--el-color-warning-light-9) 38%,#fff)!important}.po-data-table[data-v-32f614b7] .el-table__row.po-row-risk>td.el-table__cell{background:color-mix(in srgb,var(--el-color-danger-light-9) 42%,#fff)!important}.po-data-table[data-v-32f614b7] .el-table__row.po-row-done>td.el-table__cell{background:color-mix(in srgb,var(--el-color-success-light-9) 24%,#fff)!important}.po-detail-drawer[data-v-32f614b7] .el-drawer__header{margin-bottom:0;padding:16px 24px;border-bottom:1px solid var(--el-border-color-lighter)}.stat-card[data-v-32f614b7]{border-radius:8px}.stat-title[data-v-32f614b7]{font-weight:500}.po-panel[data-v-32f614b7]{border-radius:8px;transition:all .3s}.po-panel[data-v-32f614b7] .el-card__header{padding:14px 16px;background-color:var(--el-bg-color-page);border-bottom:1px solid var(--el-border-color-lighter)}.po-panel[data-v-32f614b7] .el-card__body{padding:16px}.po-desc[data-v-32f614b7] .el-descriptions__label{width:120px;color:var(--el-text-color-regular)}.po-audit-remark[data-v-32f614b7]{color:var(--el-color-danger);font-weight:600;white-space:pre-wrap;word-break:break-word}.rx-wrap[data-v-32f614b7]{min-height:160px;background:#f5f6f8;padding:12px;margin:-20px}.rx-statusbar[data-v-32f614b7]{display:flex;align-items:center;gap:8px;padding:0 4px 8px}.rx-status[data-v-32f614b7]{margin-bottom:10px;padding:8px 12px;border-radius:4px;font-size:13px;line-height:1.6}.rx-status-danger[data-v-32f614b7]{background:#fef0f0;color:#b91c1c;border:1px solid #fecaca}.rx-paper[data-v-32f614b7]{width:210mm;min-height:297mm;margin:0 auto;background:#fff;box-sizing:border-box;padding:8mm 10mm;color:#1f1f1f;font-size:13px;line-height:1.5;font-family:Microsoft YaHei,PingFang SC,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;box-shadow:0 0 0 1px #d6d6d6,0 6px 24px #0000000f;overflow:visible}.rx-notice[data-v-32f614b7]{display:flex;flex-direction:column;align-items:stretch;gap:10px;background:#f3f4f6;border:1px solid #e5e7eb;padding:14px 12px;border-radius:2px;font-size:12px;color:#1f1f1f;margin-bottom:6px}.rx-notice .rx-notice-text[data-v-32f614b7]{flex:none;width:100%;line-height:1.55;word-break:break-word}.rx-notice .rx-notice-meta[data-v-32f614b7]{display:flex;flex-flow:row nowrap;align-items:center;gap:4px 14px;width:100%;box-sizing:border-box;margin-top:4px;padding:8px 2px 2px;border-top:1px solid #e5e7eb;font-size:10px;line-height:2.35;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.rx-notice .rx-notice-meta .rx-meta-item[data-v-32f614b7]{display:inline-flex;flex:0 0 auto;align-items:baseline;gap:2px;min-width:0;padding:0;margin:0;background:transparent;border:none;border-radius:0;white-space:nowrap;line-height:2.35;height:20px}.rx-notice .rx-notice-meta .rx-meta-item[data-v-32f614b7]:not(:first-child){border-left:1px solid #d1d5db;padding-left:14px;margin-left:2px;line-height:2.35}.rx-notice .rx-notice-meta .rx-meta-label[data-v-32f614b7]{font-weight:600;color:#6b7280;line-height:1.35;flex-shrink:0}.rx-notice .rx-notice-meta .rx-meta-label[data-v-32f614b7]:after{content:":";font-weight:500;color:#9ca3af}.rx-notice .rx-notice-meta .rx-meta-value[data-v-32f614b7]{color:#111827;line-height:1.35;font-variant-numeric:tabular-nums}.rx-title[data-v-32f614b7]{text-align:center;font-size:28px;font-weight:700;line-height:1.2;margin:10px 0 35px;letter-spacing:.08em}.rx-info[data-v-32f614b7]{border:1px solid #c8c8c8;border-bottom:none}.rx-info-row[data-v-32f614b7]{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid #c8c8c8}.rx-info-row-full[data-v-32f614b7]{grid-template-columns:1fr}.rx-info-cell[data-v-32f614b7]{display:flex;align-items:center;gap:6px;padding:16px 10px;font-size:13px;border-right:1px solid #c8c8c8;min-height:32px}.rx-info-cell[data-v-32f614b7]:last-child{border-right:none}.rx-info-cell .rx-key[data-v-32f614b7]{color:#1f1f1f;flex-shrink:0}.rx-info-cell .rx-val[data-v-32f614b7]{flex:1;min-width:0;word-break:break-all}.rx-rp[data-v-32f614b7]{position:relative;border-left:1px solid #c8c8c8;border-right:1px solid #c8c8c8;padding:8px 10px 16px;overflow:hidden;box-sizing:border-box;width:100%}.rx-watermark[data-v-32f614b7]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:88px;font-weight:700;color:#0000000f;transform:rotate(-22deg);letter-spacing:.18em;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:0}.rx-rp-head[data-v-32f614b7]{display:grid;grid-template-columns:36px 1fr;align-items:end;-moz-column-gap:8px;column-gap:8px;border-bottom:1px solid #d4d4d4;margin-bottom:6px;position:relative;z-index:1;width:100%;box-sizing:border-box;padding:10px}.rx-rp-label[data-v-32f614b7]{font-size:16px;font-weight:700;color:#1f1f1f;line-height:1;padding-bottom:15px}.rx-rp-cols-head[data-v-32f614b7]{display:grid;grid-template-columns:1fr 1fr;-moz-column-gap:24px;column-gap:24px;width:100%;box-sizing:border-box;min-width:0}.rx-rp-col-head[data-v-32f614b7]{display:grid;grid-template-columns:1fr 64px;-moz-column-gap:8px;column-gap:8px;font-size:13px;color:#1f1f1f;min-width:0;padding-bottom:15px}.rx-rp-col-head>span[data-v-32f614b7]:last-child{text-align:right}.rx-herbs[data-v-32f614b7]{padding-left:44px;display:grid;grid-template-columns:1fr 1fr;-moz-column-gap:24px;column-gap:24px;row-gap:6px;position:relative;z-index:1;width:100%;box-sizing:border-box}.rx-herb-cell[data-v-32f614b7]{display:grid;grid-template-columns:1fr 64px;-moz-column-gap:8px;column-gap:8px;font-size:13px;line-height:2.5;min-width:0}.rx-herb-name[data-v-32f614b7]{color:#1f1f1f;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rx-herb-total[data-v-32f614b7]{color:#1f1f1f;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.rx-text[data-v-32f614b7]{border:1px solid #c8c8c8;border-top:none;padding:10px 12px;font-size:13px;line-height:1.85}.rx-text p[data-v-32f614b7]{margin:0}.rx-text .rx-text-warn[data-v-32f614b7]{color:#d72424;font-weight:600}.rx-bottom[data-v-32f614b7]{border:1px solid #c8c8c8;border-top:none}.rx-bot-row[data-v-32f614b7]{display:grid;border-bottom:1px solid #c8c8c8}.rx-bot-row[data-v-32f614b7]:last-child{border-bottom:none}.rx-bot-row-1[data-v-32f614b7]{grid-template-columns:1.6fr .6fr .6fr .6fr .6fr 1.7fr .95fr 1.25fr;min-height:70px}.rx-bot-row-2[data-v-32f614b7]{grid-template-columns:repeat(6,1fr)}.rx-hospital-row[data-v-32f614b7]{display:flex;flex-direction:column;align-items:left;justify-content:left;gap:2px;padding:10px 12px;min-height:52px;text-align:left}.rx-hospital-line[data-v-32f614b7]{font-size:12px;color:#374151;line-height:1.6}.rx-bot-cell[data-v-32f614b7]{border-right:1px solid #c8c8c8;padding:6px 10px;font-size:12px;color:#1f1f1f;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;min-height:32px;box-sizing:border-box;line-height:2.5}.rx-bot-cell[data-v-32f614b7]:last-child{border-right:none}.rx-bot-stack[data-v-32f614b7]{flex-direction:column;align-items:flex-start;justify-content:flex-start}.rx-bot-label[data-v-32f614b7]{font-size:13px;color:#1f1f1f;margin-bottom:4px}.rx-bot-label--doctor[data-v-32f614b7]{flex-shrink:0;margin-bottom:0;margin-right:6px;line-height:1.2;align-self:center}.rx-bot-doctor[data-v-32f614b7]{flex-direction:row;align-items:center;flex-wrap:nowrap}.rx-bot-doctor .rx-bot-doctor-body[data-v-32f614b7]{flex:1;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;flex-wrap:nowrap;gap:8px;min-height:0}.rx-bot-doctor .rx-bot-doctor-name[data-v-32f614b7]{font-size:13px;color:#1f1f1f;line-height:1.2;white-space:nowrap}.rx-bot-doctor .rx-bot-sign-img[data-v-32f614b7]{flex-shrink:0;max-height:40px;max-width:110px;-o-object-fit:contain;object-fit:contain}.rx-bot-meta[data-v-32f614b7]{flex-wrap:nowrap}.rx-bot-meta .rx-bot-meta-key[data-v-32f614b7]{color:#1f1f1f;margin-right:6px;white-space:nowrap;flex-shrink:0;line-height:1.4}.rx-bot-meta .rx-bot-meta-val[data-v-32f614b7]{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;line-height:2.5}.rx-fee[data-v-32f614b7]{font-size:13px;line-height:1.4;padding:8px 10px}.rx-fee .rx-fee-key[data-v-32f614b7]{color:#1f1f1f;margin-right:6px;white-space:nowrap}.rx-fee .rx-fee-val[data-v-32f614b7]{font-variant-numeric:tabular-nums;white-space:nowrap}.rx-fee-total[data-v-32f614b7]{font-weight:700;background:#fafafa}.rx-fee-total .rx-fee-val[data-v-32f614b7]{font-weight:700}.rx-audit[data-v-32f614b7]{margin:12px auto 0;max-width:210mm;padding:8px 12px;background:#fafafa;border:1px dashed #d4d4d4;color:#6b7280;font-size:12px;line-height:1.6;border-radius:4px}.audit-stamp[data-v-32f614b7]{position:absolute;top:18px;right:-14px;width:72px;height:72px;border:3px solid currentColor;border-radius:50%;display:flex;align-items:center;justify-content:center;transform:rotate(20deg);opacity:.8;pointer-events:none;z-index:10;-webkit-user-select:none;-moz-user-select:none;user-select:none;font-weight:700;font-size:13px;letter-spacing:1px;box-shadow:inset 0 0 0 1px #ffffff80}.audit-stamp[data-v-32f614b7]:after{content:"";position:absolute;top:4px;left:4px;right:4px;bottom:4px;border:1px double currentColor;border-radius:50%;opacity:.6}.audit-stamp .stamp-inner[data-v-32f614b7]{text-align:center;line-height:1.1}.stamp-pass[data-v-32f614b7]{color:var(--el-color-success)}.stamp-reject[data-v-32f614b7]{color:var(--el-color-danger)}.create-order-dialog[data-v-32f614b7] .el-dialog__header{padding:20px 24px 12px;margin-right:0}.create-order-dialog[data-v-32f614b7] .el-dialog__title{font-size:18px;font-weight:600;letter-spacing:.02em}.create-order-dialog[data-v-32f614b7] .el-dialog__body{padding:8px 24px 20px;max-height:calc(100vh - 200px);overflow:hidden}.create-order-dialog[data-v-32f614b7] .el-dialog__footer{padding:16px 24px 20px;border-top:1px solid var(--el-border-color-lighter);background:var(--el-fill-color-blank)}.create-order-dialog__inner[data-v-32f614b7]{display:flex;flex-direction:column;gap:0}.create-order-rx-card[data-v-32f614b7]{border-radius:10px;border:1px solid var(--el-color-primary-light-5);background:linear-gradient(135deg,var(--el-color-primary-light-9) 0%,var(--el-fill-color-blank) 100%);padding:16px 18px;margin-bottom:20px;box-shadow:0 1px 2px #0000000a}.create-order-rx-card__head[data-v-32f614b7]{display:flex;flex-wrap:wrap;align-items:center;gap:12px 14px;margin-bottom:10px}.create-order-rx-card__badge[data-v-32f614b7]{display:inline-flex;align-items:center;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600;color:#fff;background:var(--el-color-primary);letter-spacing:.04em}.create-order-rx-card__meta[data-v-32f614b7]{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:14px;color:var(--el-text-color-regular)}.create-order-rx-card__id[data-v-32f614b7]{font-weight:600;color:var(--el-text-color-primary)}.create-order-rx-card__sn[data-v-32f614b7]{padding:2px 8px;border-radius:4px;background:var(--el-fill-color);font-size:13px;color:var(--el-text-color-secondary)}.create-order-rx-card__patient[data-v-32f614b7]{font-weight:500;color:var(--el-text-color-primary)}.create-order-rx-card__herbs[data-v-32f614b7]{font-size:13px;line-height:1.55;color:var(--el-text-color-secondary);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;cursor:default;padding-top:2px}.create-order-steps[data-v-32f614b7]{margin-bottom:8px;padding:8px 12px 4px}.create-order-steps[data-v-32f614b7] .el-step__title{font-size:14px;font-weight:500;line-height:1.4}.create-order-steps[data-v-32f614b7] .el-step__description{font-size:12px;margin-top:4px;line-height:1.35;padding-right:6px}.create-order-steps[data-v-32f614b7] .el-step__head{padding-right:8px}.create-order-steps[data-v-32f614b7] .el-step.is-horizontal .el-step__line{top:14px}.create-order-step-lead[data-v-32f614b7]{margin:0 0 20px;padding:12px 16px;font-size:13px;line-height:1.6;color:var(--el-text-color-secondary);background:var(--el-fill-color-light);border-radius:8px;border-left:3px solid var(--el-color-primary-light-5)}.create-order-step-panel[data-v-32f614b7]{max-height:min(56vh,480px);overflow-y:auto;overflow-x:hidden;padding:4px 8px 12px 4px;margin-right:-4px}.create-order-step-panel__row-after-bar[data-v-32f614b7]{margin-top:20px}.create-order-unit-suffix[data-v-32f614b7]{flex-shrink:0;font-size:13px;color:var(--el-text-color-secondary);padding-left:4px}.create-order-footer[data-v-32f614b7]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;width:100%}.create-order-footer__hint[data-v-32f614b7]{flex:1;min-width:200px;display:flex;flex-direction:column;gap:6px;font-size:13px;line-height:1.5;color:var(--el-text-color-secondary)}.create-order-footer__step[data-v-32f614b7]{color:var(--el-text-color-placeholder)}.create-order-footer__warn[data-v-32f614b7]{color:var(--el-color-warning);font-weight:500}.create-order-footer__actions[data-v-32f614b7]{flex-shrink:0;display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}.create-order-deposit-bar[data-v-32f614b7]{display:flex;align-items:stretch;border-radius:10px;border:1px solid var(--el-border-color-lighter);overflow:hidden;font-size:13px;box-shadow:0 1px 2px #0000000a}.create-order-deposit-bar__cell[data-v-32f614b7]{flex:1;padding:16px 20px;display:flex;flex-direction:column;gap:6px;background:var(--el-fill-color-light)}.create-order-deposit-bar__cell strong[data-v-32f614b7]{font-size:20px;font-weight:600;color:var(--el-text-color-primary);letter-spacing:.02em}.create-order-deposit-bar__label[data-v-32f614b7]{font-size:13px;color:var(--el-text-color-secondary)}.create-order-deposit-bar__sub[data-v-32f614b7]{font-size:12px;color:var(--el-text-color-placeholder)}.create-order-deposit-bar__sep[data-v-32f614b7]{width:1px;background:var(--el-border-color-lighter);flex-shrink:0}.create-order-deposit-bar.is-ok .create-order-deposit-bar__cell:last-child strong[data-v-32f614b7]{color:var(--el-color-success)}.create-order-deposit-bar.is-warn .create-order-deposit-bar__cell:last-child strong[data-v-32f614b7]{color:var(--el-color-danger)}.create-order-pay-hint[data-v-32f614b7]{font-size:12px;line-height:1.55;margin-top:8px;color:var(--el-text-color-secondary)}.create-order-form[data-v-32f614b7] .el-form-item{margin-bottom:20px}.create-order-form[data-v-32f614b7] .el-form-item__label{font-size:14px;padding-right:12px}.create-order-form[data-v-32f614b7] .el-input__inner,.create-order-form[data-v-32f614b7] .el-textarea__inner{font-size:14px}.create-order-form-item--inline-num[data-v-32f614b7] .el-form-item__content{line-height:normal}.po-diagnosis-creator-dept-breadcrumb[data-v-32f614b7] .el-breadcrumb__item{display:inline-flex;float:none}.po-diagnosis-creator-dept-breadcrumb[data-v-32f614b7] .el-breadcrumb__separator{margin:0 2px 0 4px} diff --git a/server/public/admin/assets/order_list-CvyF-dAE.js b/server/public/admin/assets/order_list-CvyF-dAE.js new file mode 100644 index 00000000..8a185e81 --- /dev/null +++ b/server/public/admin/assets/order_list-CvyF-dAE.js @@ -0,0 +1,3 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/edit-BG1q_jZS.js","assets/element-plus-DFTWCWyi.js","assets/@vue/runtime-dom-DDAG46FW.js","assets/lodash-D3kF6u-c.js","assets/@vue/runtime-core-C6bnekPw.js","assets/@vue/reactivity-DiY1c2vO.js","assets/@vue/shared-mAAVTE9n.js","assets/@element-plus/icons-vue-HOEUG8sr.js","assets/lodash-es-C2A-Pj28.js","assets/@popperjs/core-C5az9QE8.js","assets/dayjs-DG77mNTn.js","assets/@ctrl/tinycolor-BuyEbX8F.js","assets/async-validator-CFA_igpM.js","assets/normalize-wheel-es-BQoi3Ox2.js","assets/element-plus-C_YxM8bk.css","assets/tcm-BcqaE0lo.js","assets/index-DBREMm_z.js","assets/jspdf-BsthCvR5.js","assets/@babel/runtime-BanGtE2-.js","assets/fflate-_ayOYiT1.js","assets/vue-router-QlpZ4wdW.js","assets/pinia-B8cvXbiZ.js","assets/axios-C80V62Fs.js","assets/@vueuse/core-1S4fJlii.js","assets/@vueuse/shared-Cl3lVqjz.js","assets/css-color-function-DI01JAaZ.js","assets/balanced-match-BdS7OldZ.js","assets/color-B2zxaWkI.js","assets/clone-DBZ6_OiU.js","assets/color-convert-OrFsTA_V.js","assets/color-name-Dju3oUBS.js","assets/color-string-pUQDDJII.js","assets/ms-CzQ2E3wO.js","assets/vue-clipboard3-DByT_rEQ.js","assets/clipboard-CHgxszqY.js","assets/echarts-CNLwa9wG.js","assets/tslib-BDyQ-Jie.js","assets/zrender-DRNXw7y3.js","assets/highlight.js-Bxt7hFFy.js","assets/highlight-BfC0goYb.css","assets/@highlightjs/vue-plugin-C4onkBvW.js","assets/index-3wNXRrXZ.css","assets/perm-Bo9eM8XD.js","assets/DailyMatrix-CZKqLaUg.js","assets/picker-BCRrEZaA.js","assets/index-BwF7vczx.js","assets/index-B3imPWFk.css","assets/index-BiPYXDtP.js","assets/index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js","assets/index-CbfZXeGu.js","assets/index-D0f1Mn00.css","assets/index-CRoZWY-W.js","assets/cos-js-sdk-v5-DSMN0LUT.js","assets/file-BimpIRb_.js","assets/index.vue_vue_type_script_setup_true_lang-x0oL2ShL.js","assets/usePaging-VsbTxSU0.js","assets/index-BYOmK9R5.css","assets/vuedraggable-5bKFmC7X.js","assets/vue-BVs68q8v.js","assets/@vue/compiler-dom-CqayqxS7.js","assets/@vue/compiler-core-CvbQOXIO.js","assets/sortablejs-dsEAUXlE.js","assets/picker-XZbUgFct.css","assets/vue-echarts-BNtg2q_G.js","assets/resize-detector-G6vbKCU7.js","assets/DiagnosisTodoList-CgT2M9eR.js","assets/DiagnosisTodoList-D0SBmTHG.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix-zLBaKfXe.css","assets/CaseRecordList-X66GZZcg.js","assets/CaseRecordList-Cl-c3q7S.css","assets/CallRecordPanel-D709DmJk.js","assets/RecordingPlaybackBlock-COxLgEiR.js","assets/RecordingVideoPlayer-DJ_BP9x7.js","assets/RecordingVideoPlayer-4DegHAwm.css","assets/RecordingPlaybackBlock-B3KYFgvg.css","assets/CallRecordPanel-TsjZtTO8.css","assets/ImChatRecordPanel-C40Ue1e_.js","assets/im-business-message-parse-QKjFLn3X.js","assets/ImChatRecordPanel-aX8zpWRQ.css","assets/AssignLogPanel-B1RENXkE.js","assets/AssignLogPanel-BdKOtd2m.css","assets/AppointmentRecordPanel-DH84Bquy.js","assets/doctor-ul0r578d.js","assets/AppointmentRecordPanel-DC22GDgn.css","assets/NoteTimeline-BzPD6QHw.js","assets/patient-DdWkVUZB.js","assets/NoteTimeline-CCWIpEBQ.css","assets/PatientOrderList-Vzhj0FzC.js","assets/PatientOrderList-iKx_Cn9B.css","assets/index-B91OSiYQ.js","assets/index-DcDP_Tmx.js","assets/medicine-CCdxjQY6.js","assets/index-tfEElgYq.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/html2canvas-QH1iLAAe.js","assets/index-DGbIWVjL.css","assets/edit-z2mn_utb.css","assets/TrackingNoteTimeline-B9T8pFso.css"])))=>i.map(i=>d[i]); +import{_ as fn,E as vn}from"./jspdf-BsthCvR5.js";import{J as gn,d as yn,L as bn,D as xn,B as kn,C as hn,P as wn,Q as Sn,W as Vn,i as Nn,M as Cn,N as Pn,T as Tn,a1 as On,r as An,a9 as Rn,K as $n,a6 as En,a7 as Dn,a4 as Un,a5 as zn,aa as Fn,ab as jn,R as Ln,k as In,j as qn,_ as Bn,ac as Mn,ad as Hn,e as Gn,h as Wn,V as Kn,a8 as Qn,g as Yn,G as Jn,I as Xn,m as Zn,l as ei,a as st}from"./element-plus-DFTWCWyi.js";import{_ as ti}from"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import{_ as ai}from"./index.vue_vue_type_script_setup_true_lang-CCzvLP0c.js";import{w as lt,s as ma,q as _a}from"./@vue/runtime-dom-DDAG46FW.js";import{u as si}from"./vue-router-QlpZ4wdW.js";import{k as li,G as ni,R as ii,V as ri,i as oi,W as ui,N as cs,L as di,l as pi}from"./@element-plus/icons-vue-HOEUG8sr.js";import{_ as ci}from"./index.vue_vue_type_script_setup_true_lang-DPC_NOWM.js";import{o as mi,g as _i,a as fi,k as vi,q as ms,r as gi,s as yi,t as K,u as fa,v as bi,w as xi,x as ki,y as _s,z as hi,A as wi,B as Si,C as Vi,D as Ni,E as Ci,F as Pi,b as Ti,p as va,G as Oi}from"./tcm-BcqaE0lo.js";import Ai from"./html2canvas-QH1iLAAe.js";import{u as Ri,i as R,m as $i,_ as Ei}from"./index-DBREMm_z.js";import{d as Di}from"./department-CrUndMAW.js";import{u as Ui}from"./usePaging-VsbTxSU0.js";import{f as fs,w as zi,b as Fi,n as nt,as as ji,ak as r,I as _,a,aN as s,J as n,F as $,ap as I,H as v,aP as O,O as p,G as g,P as Li,A as S}from"./@vue/runtime-core-C6bnekPw.js";import{o as q,Q as o}from"./@vue/shared-mAAVTE9n.js";import{y as F,a as Ii,n as k,r as be}from"./@vue/reactivity-DiY1c2vO.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-BwF7vczx.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const qi={class:"prescription-order-page prescription-order-list px-4 py-4 pb-8"},Bi={class:"flex flex-col gap-3"},Mi={key:0,class:"flex items-center gap-2 flex-wrap"},Hi=["onClick"],Gi={class:"font-medium"},Wi={class:"flex items-center gap-2 flex-wrap"},Ki=["onClick"],Qi={class:"font-medium"},Yi={class:"flex items-center gap-2 flex-wrap"},Ji=["onClick"],Xi={class:"font-medium"},Zi={class:"flex items-center gap-2 flex-wrap"},er=["onClick"],tr={class:"font-medium"},ar={class:"flex items-center gap-2 flex-wrap"},sr=["onClick"],lr={class:"font-medium"},nr={class:"po-list-stats grid grid-cols-1 sm:grid-cols-2 gap-4 mb-5"},ir={class:"po-stat-surface po-stat-surface--order relative overflow-hidden rounded-xl border border-slate-200/90 px-5 py-4 shadow-sm"},rr={class:"relative flex items-start justify-between gap-3"},or={class:"flex items-center gap-2 text-slate-500 text-xs font-medium"},ur={class:"mt-2 space-y-1.5 min-w-0"},dr={class:"text-2xl sm:text-[28px] font-bold text-sky-700 tabular-nums leading-none"},pr={class:"flex flex-wrap gap-x-3 gap-y-1 text-xs text-slate-500 tabular-nums"},cr={class:"text-slate-400"},mr={class:"stat-icon-wrap h-10 w-10 shrink-0 rounded-lg bg-sky-500/10 flex items-center justify-center text-sky-600"},_r={class:"relative mt-2 text-xs text-slate-500 leading-relaxed"},fr={class:"po-stat-surface po-stat-surface--pay relative overflow-hidden rounded-xl border border-slate-200/90 px-5 py-4 shadow-sm"},vr={class:"relative flex items-start justify-between gap-3"},gr={class:"flex items-center gap-2 text-slate-500 text-xs font-medium"},yr={class:"mt-2 space-y-1.5 min-w-0"},br={class:"text-2xl sm:text-[28px] font-bold text-emerald-700 tabular-nums leading-none"},xr={class:"flex flex-wrap gap-x-3 gap-y-1 text-xs text-slate-500 tabular-nums"},kr={class:"text-slate-400"},hr={class:"stat-icon-wrap h-10 w-10 shrink-0 rounded-lg bg-emerald-500/10 flex items-center justify-center text-emerald-600"},wr={class:"relative mt-2 text-xs text-slate-500 leading-relaxed"},Sr={class:"po-table-toolbar"},Vr={class:"po-table-toolbar__title-wrap"},Nr={class:"po-table-hint text-gray-400"},Cr={class:"po-focus-board"},Pr={class:"po-focus-board__value"},Tr={class:"po-focus-board__value"},Or={class:"po-focus-board__value"},Ar={class:"po-focus-board__value"},Rr={class:"po-order-no-cell"},$r={class:"po-order-no-main"},Er={class:"po-order-no-sub"},Dr={class:"text-gray-400"},Ur={key:0,class:"ml-1"},zr={class:"flex items-center gap-1"},Fr={class:"text-red-500 font-medium whitespace-nowrap"},jr={class:"text-sm"},Lr={class:"flex justify-between mb-1"},Ir={class:"font-medium text-red-500"},qr={class:"flex justify-between mb-1"},Br={class:"flex justify-between mb-1"},Mr={class:"font-medium"},Hr={key:0,class:"flex justify-between"},Gr={class:"font-medium text-orange-600"},Wr=["title"],Kr={key:1},Qr={key:0,class:"text-gray-400"},Yr={class:"flex items-center gap-1 flex-wrap"},Jr={class:"flex justify-end mt-4"},Xr={class:"po-detail-drawer-head flex items-center justify-between"},Zr={class:"flex items-center"},eo={key:0,class:"flex items-center gap-2 mr-6"},to={key:1,class:"po-detail-body px-6 pb-6 h-full overflow-y-auto"},ao={class:"text-sm leading-relaxed"},so={class:"font-mono font-semibold text-red-700"},lo={class:"font-mono font-semibold text-red-700"},no={class:"text-sm leading-relaxed space-y-1.5"},io={key:0,class:"flex flex-wrap gap-1.5 items-center"},ro={key:1,class:"list-disc pl-5 space-y-1 text-red-50"},oo={class:"bg-gray-50/80 border border-gray-100 rounded-lg p-5 mb-5 shadow-sm"},uo={key:0,class:"text-red-500 font-medium"},po={key:1},co={key:2,class:"text-green-600"},mo={key:3,class:"text-gray-400"},_o={key:0,class:"text-red-500 font-medium"},fo={key:1},vo={key:2,class:"text-green-600"},go={key:3,class:"text-gray-400"},yo={key:0,class:"text-amber-600 font-medium"},bo={key:1,class:"text-primary font-medium"},xo={key:2},ko={key:3,class:"text-green-600"},ho={key:4,class:"text-red-500 font-medium"},wo={class:"flex items-center justify-between mb-1"},So={class:"stat-value text-red-500 font-bold text-xl"},Vo={class:"stat-value text-green-600 font-bold text-xl"},No={class:"stat-value text-primary font-bold text-xl"},Co={class:"grid grid-cols-1 md:grid-cols-2 gap-4 mb-4"},Po={key:0,class:"audit-stamp stamp-pass"},To={key:1,class:"audit-stamp stamp-reject"},Oo={class:"flex items-center justify-between"},Ao={class:"flex items-center gap-3"},Ro={key:0,class:"text-xs text-gray-500"},$o={class:"text-primary font-medium"},Eo={class:"text-xs text-gray-400"},Do={class:"text-red-500 font-medium"},Uo={key:1,class:"ml-2 text-gray-500"},zo={class:"flex flex-col gap-1.5 text-sm leading-relaxed"},Fo={key:0,class:"mt-4"},jo={class:"flex flex-col gap-4 h-full"},Lo={class:"text-red-500"},Io={key:0,class:"audit-stamp stamp-pass"},qo={key:1,class:"audit-stamp stamp-reject"},Bo={class:"flex items-center justify-between"},Mo={class:"flex items-center gap-3"},Ho={key:0,class:"text-xs text-gray-500"},Go={class:"text-primary font-medium"},Wo={class:"text-red-500"},Ko={class:"font-mono"},Qo={key:0,class:"text-[13px] space-y-1"},Yo={class:"font-medium text-gray-900"},Jo={key:0,class:"text-gray-500 ml-2 font-mono text-xs"},Xo={key:0,class:"text-gray-600 text-xs leading-relaxed"},Zo={key:1,class:"text-gray-400"},eu={key:0,class:"space-y-1.5"},tu={class:"text-gray-800 break-all"},au={key:1,class:"text-gray-400"},su={class:"flex flex-wrap items-center gap-x-4 gap-y-1 text-[13px]"},lu={class:"font-mono text-primary"},nu={class:"text-gray-500"},iu={key:0},ru={key:1,class:"text-gray-500"},ou={key:0,class:"text-xs text-gray-500 mt-1"},uu={key:1,class:"text-gray-400"},du={class:"po-audit-remark"},pu={class:"po-audit-remark"},cu={class:"flex items-center gap-2 flex-wrap"},mu={class:"flex flex-wrap items-center gap-3 mb-4"},_u={class:"ml-2 flex items-center gap-4 border-l pl-4 border-gray-200"},fu={key:1,class:"py-6 text-center text-sm text-gray-500"},vu={key:2,class:"logistics-content bg-gray-50/50 p-4 rounded-md"},gu={key:0,class:"text-sm mb-4 font-medium flex items-center gap-2"},yu={class:"text-gray-800"},bu={key:1,class:"text-xs text-gray-400 ml-1"},xu={key:2,class:"text-xs text-gray-400"},ku={class:"flex items-center gap-2 mb-1"},hu={class:"font-medium text-[13px]"},wu={class:"text-sm text-gray-700 font-medium"},Su={class:"create-order-dialog__inner"},Vu={key:0,class:"create-order-rx-card"},Nu={class:"create-order-rx-card__head"},Cu={class:"create-order-rx-card__meta"},Pu={class:"create-order-rx-card__id"},Tu={key:0,class:"create-order-rx-card__sn"},Ou={class:"create-order-rx-card__patient"},Au={class:"create-order-rx-card__herbs"},Ru={class:"create-order-step-lead"},$u={class:"create-order-step-panel"},Eu={class:"create-order-step-panel"},Du={class:"flex flex-wrap items-center gap-2 pb-2 border-b border-gray-100"},Uu={class:"text-xs text-gray-400"},zu={class:"mt-2 space-y-1.5 text-xs sm:text-sm"},Fu={key:0,class:"space-y-1.5"},ju={class:"text-gray-800 break-all"},Lu={key:1,class:"text-gray-400"},Iu={class:"flex items-center gap-1 w-full"},qu={class:"flex gap-2 w-full"},Bu={class:"flex flex-col gap-0.5",style:{"line-height":"normal"}},Mu={class:"flex items-center justify-between"},Hu={class:"font-medium text-[13px] text-gray-800"},Gu={class:"text-orange-500 font-medium ml-4"},Wu={class:"flex items-center justify-between text-xs text-gray-400 mt-1"},Ku={class:"truncate pr-2"},Qu={class:"shrink-0"},Yu={class:"create-order-pay-hint text-gray-500"},Ju={class:"text-amber-600 font-medium"},Xu={class:"create-order-step-panel"},Zu={class:"create-order-deposit-bar__cell"},ed={class:"create-order-deposit-bar__sub"},td={class:"create-order-deposit-bar__cell"},ad={class:"create-order-deposit-bar__sub"},sd={class:"create-order-footer"},ld={class:"create-order-footer__hint"},nd={class:"create-order-footer__step"},id={key:0,class:"create-order-footer__warn"},rd={class:"create-order-footer__actions"},od={class:"text-sm"},ud={class:"text-gray-600"},dd={class:"text-gray-600"},pd={class:"min-h-[52px]"},cd={class:"text-xs leading-relaxed space-y-1.5"},md={key:0,class:"flex flex-wrap gap-1 items-center"},_d={key:1,class:"list-disc pl-4 space-y-0.5 text-red-50"},fd={class:"flex items-center justify-between"},vd={class:"text-sm"},gd={class:"text-orange-500 font-medium ml-4"},yd={class:"flex items-center justify-between w-full pr-2 gap-3"},bd={key:0,class:"flex items-center gap-2 shrink-0"},xd={class:"rx-wrap"},kd={key:1,class:"rx-statusbar"},hd={key:2,class:"rx-status rx-status-danger"},wd={key:3,class:"rx-status rx-status-danger"},Sd={key:0,class:"mt-1"},Vd={key:4,class:"rx-status rx-status-danger"},Nd={key:0,class:"mt-1"},Cd={class:"rx-title"},Pd={class:"rx-notice"},Td={class:"rx-notice-meta"},Od={class:"rx-meta-item"},Ad={class:"rx-meta-value"},Rd={class:"rx-meta-item"},$d={class:"rx-meta-value"},Ed={class:"rx-meta-item"},Dd={class:"rx-meta-value"},Ud={key:0,class:"rx-meta-item"},zd={class:"rx-meta-value"},Fd={class:"rx-info"},jd={class:"rx-info-row"},Ld={class:"rx-info-cell"},Id={class:"rx-val"},qd={class:"rx-info-cell"},Bd={class:"rx-val"},Md={class:"rx-info-cell"},Hd={class:"rx-val"},Gd={class:"rx-info-cell"},Wd={class:"rx-val"},Kd={class:"rx-info-row rx-info-row-full"},Qd={class:"rx-info-cell"},Yd={class:"rx-val"},Jd={class:"rx-info-row rx-info-row-full"},Xd={class:"rx-info-cell"},Zd={class:"rx-val"},ep={class:"rx-rp"},tp={class:"rx-watermark"},ap={class:"rx-rp-head"},sp={class:"rx-rp-cols-head"},lp={class:"rx-rp-col-head"},np={class:"rx-rp-col-head"},ip={class:"rx-herbs"},rp={key:0,class:"rx-herb-name"},op={key:1,class:"rx-herb-name"},up={key:2,class:"rx-herb-total"},dp={key:3,class:"rx-herb-total"},pp={class:"rx-text"},cp={key:0},mp={key:1},_p={key:2,class:"rx-text-warn"},fp={key:3,class:"rx-text-warn"},vp={class:"rx-bottom"},gp={class:"rx-bot-row rx-bot-row-1"},yp={class:"rx-bot-cell rx-bot-doctor"},bp={class:"rx-bot-doctor-body"},xp=["src"],kp={class:"rx-bot-cell rx-bot-meta"},hp={class:"rx-bot-meta-val"},wp={class:"rx-bot-cell rx-bot-meta"},Sp={class:"rx-bot-meta-val"},Vp={class:"rx-bot-cell rx-bot-meta"},Np={class:"rx-bot-meta-val"},Cp={key:6,class:"rx-audit"},Pp={key:0},Tp={key:0,class:"ml-2 text-gray-400"},Op={key:1,class:"mt-1"},Ap={key:0,class:"px-4"},Rp={class:"flex items-center justify-between"},$p={class:"text-lg font-semibold text-orange-600"},Ep={class:"text-lg font-semibold text-blue-600"},Dp={class:"text-lg font-semibold text-green-600"},Up={class:"text-xl font-bold text-red-600"},zp={class:"text-sm text-gray-500 mt-1.5"},Fp={class:"font-medium text-gray-700"},jp={key:0},Lp={class:"text-sm text-gray-700 leading-relaxed"},Ip={class:"flex items-center justify-between"},qp={class:"text-sm text-gray-500"},Bp={class:"font-medium text-orange-600"},Mp={class:"text-base font-medium"},Hp={class:"text-base font-medium"},Gp=fs({name:"prescriptionOrderList"}),Wp=fs({...Gp,setup(Kp){const vs=Li(()=>fn(()=>import("./edit-BG1q_jZS.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98]))),zt=Ri(),gs=si(),ga=k(null);function ys(){var e,l;const t=Number((e=c.value)==null?void 0:e.diagnosis_id);if(!t){R.msgWarning("本订单未关联诊单,无法查看患者诊单信息");return}(l=ga.value)==null||l.openViewOnly(t)}const bs=2,xs=[0,3,6],_e=S(()=>{const t=zt.userInfo;if(!t||Number(t.root)===1)return!0;const e=Array.isArray(t.role_ids)?t.role_ids.map(l=>Number(l)):[];return e.includes(bs)?e.some(l=>xs.includes(l)):!0}),ks=S(()=>_e.value?"详情/审核":"详情"),hs=[0,3,6],Ft=()=>{const t=zt.userInfo;if(!t)return!1;if(Number(t.root)===1)return!0;const e=Array.isArray(t.role_ids)?t.role_ids.map(l=>Number(l)):[];return hs.some(l=>e.includes(l))},it=k([]),Ee=k([]),jt=k([]),De=k([]),rt=k([]),ws={value:"id",label:"name",children:"children"};function ya(t,e){for(const l of t||[]){if(l==null||typeof l!="object")continue;const u=l;if(Number(u.id)===e)return u;const d=ya(u.children||[],e);if(d)return d}return null}function ba(t){const e=Number(t.id),l=[];Number.isFinite(e)&&e>0&&l.push(e);for(const u of t.children||[])u&&typeof u=="object"&&l.push(...ba(u));return l}function Ss(t,e){const l=ya(e,t);return l?ba(l):[t]}async function Vs(){try{const[t,e,l]=await Promise.all([_i(),fi(),Di()]);jt.value=Array.isArray(t)?t:[],De.value=Array.isArray(e)?e:[];const u=Array.isArray(l)?l:[];rt.value=u}catch{jt.value=[],De.value=[],rt.value=[]}}const Ns=t=>t.map(e=>{var l;return{value:e.province,label:e.province,code:e.code,children:((l=e.citys)==null?void 0:l.map(u=>{var d;return{value:u.city,label:u.city,code:u.code,children:((d=u.areas)==null?void 0:d.map(y=>({value:y.area,label:y.area,code:y.code})))||[]}}))||[]}}),Cs=async()=>{try{console.log("开始加载省市区数据...");const e=await fetch("https://cos.zhenyangtang.com.cn/area/ChinaCitys.json");if(console.log("响应状态:",e.status),!e.ok)throw new Error(`HTTP error! status: ${e.status}`);const l=await e.json();console.log("加载的数据条数:",l==null?void 0:l.length),it.value=Ns(l),console.log("regionOptions 已设置,条数:",it.value.length)}catch(t){console.error("加载省市区数据失败:",t),it.value=[]}},Ps=async()=>{try{const t=await $i({type:"server_order"});Ee.value=((t==null?void 0:t.server_order)||[]).filter(e=>e.status!==0),console.log("服务套餐选项已加载:",Ee.value.length)}catch(t){console.error("加载服务套餐选项失败:",t),Ee.value=[]}},Ts=[{label:"全部",value:""},{label:"待双审通过",value:1},{label:"待发货",value:2},{label:"已发货",value:5},{label:"已签收",value:6},{label:"已完成",value:3},{label:"已取消",value:4},{label:"进行中",value:7},{label:"暂不制药",value:8},{label:"拒收",value:9},{label:"退款",value:10},{label:"保留药方",value:11},{label:"制药缓发",value:12}];function Os(t){Z.value="",b.exclude_fulfillment_cancelled=0,b.fulfillment_status=t,W()}const Z=k(""),As=[{label:"全部",value:""},{label:"甘草",value:"gancao"},{label:"自营",value:"self"}];function Rs(t){b.supply_mode=t,W()}const $s=[{label:"全部",value:""},{label:"顺丰",value:"sf"},{label:"京东",value:"jd"}];function Es(t){b.express_company=t,W()}const b=be({start_time:"",end_time:"",order_no:"",prescription_id:"",patient_keyword:"",express_keyword:"",express_company:"",doctor_id:"",assistant_id:"",assistant_dept_id:"",fulfillment_status:"",prescription_audit_status:"",payment_slip_audit_status:"",supply_mode:"",exclude_fulfillment_cancelled:0}),Ds=[{label:"全部",value:""},{label:"待审核",value:0},{label:"已通过",value:1},{label:"已驳回",value:2}],Us=[{label:"全部",value:""},{label:"待审核",value:0},{label:"已通过",value:1},{label:"已驳回",value:2}];function zs(t){Z.value="",b.exclude_fulfillment_cancelled=0,b.prescription_audit_status=t,W()}function Fs(t){Z.value="",b.exclude_fulfillment_cancelled=0,b.payment_slip_audit_status=t,W()}function ot(t){if(Z.value===t){Z.value="",b.prescription_audit_status="",b.payment_slip_audit_status="",b.fulfillment_status="",b.exclude_fulfillment_cancelled=0,W();return}Z.value=t,b.prescription_audit_status="",b.payment_slip_audit_status="",b.fulfillment_status="",b.exclude_fulfillment_cancelled=0,t==="pendingRx"?(b.prescription_audit_status=0,b.exclude_fulfillment_cancelled=1):t==="pendingPay"?(b.prescription_audit_status=1,b.payment_slip_audit_status=0):t==="pendingShip"?b.fulfillment_status=2:t==="risk"&&(b.payment_slip_audit_status=2),W()}function xa(t){const e={...t};if(e.prescription_id===""||e.prescription_id===void 0?delete e.prescription_id:e.prescription_id=Number(e.prescription_id),e.fulfillment_status===""||e.fulfillment_status===void 0||e.fulfillment_status===null?delete e.fulfillment_status:e.fulfillment_status=Number(e.fulfillment_status),e.prescription_audit_status===""||e.prescription_audit_status===void 0||e.prescription_audit_status===null?delete e.prescription_audit_status:e.prescription_audit_status=Number(e.prescription_audit_status),e.payment_slip_audit_status===""||e.payment_slip_audit_status===void 0||e.payment_slip_audit_status===null?delete e.payment_slip_audit_status:e.payment_slip_audit_status=Number(e.payment_slip_audit_status),(!e.supply_mode||e.supply_mode==="")&&delete e.supply_mode,e.doctor_id===""||e.doctor_id===void 0||e.doctor_id===null?delete e.doctor_id:e.doctor_id=Number(e.doctor_id),e.assistant_id===""||e.assistant_id===void 0||e.assistant_id===null?delete e.assistant_id:e.assistant_id=Number(e.assistant_id),e.assistant_dept_id===""||e.assistant_dept_id===void 0||e.assistant_dept_id===null?delete e.assistant_dept_id:e.assistant_dept_id=Number(e.assistant_dept_id),e.order_no||delete e.order_no,String(e.patient_keyword||"").trim()||delete e.patient_keyword,String(e.express_keyword||"").trim()||delete e.express_keyword,(!e.express_company||e.express_company==="")&&delete e.express_company,Number(e.exclude_fulfillment_cancelled)!==1&&delete e.exclude_fulfillment_cancelled,!String(e.start_time||"").trim()||!String(e.end_time||"").trim())delete e.start_time,delete e.end_time;else{const l=String(e.start_time||"").trim(),u=String(e.end_time||"").trim();/^\d{4}-\d{2}-\d{2}$/.test(l)&&/^\d{4}-\d{2}-\d{2}$/.test(u)&&(e.start_time=`${l} 00:00:00`,e.end_time=`${u} 23:59:59`)}return e}async function js(t){const e=xa({...t});return vi(e)}const Ls=S(()=>xa({...b})),{pager:ne,getLists:G,resetPage:W,resetParams:Is}=Ui({fetchFun:js,params:b});function qs(){const t=gs.query,e=m=>{const N=m!=null?String(m).trim():"";return N?N.length>=10?N.slice(0,10):N:""},l=e(t.start_time),u=e(t.end_time);l&&(b.start_time=l),u&&(b.end_time=u);const d=t.assistant_dept_id;if(d!=null&&String(d)!==""){const m=Number(d);Number.isFinite(m)&&m>0&&(b.assistant_dept_id=m)}const y=t.assistant_id;if(y!=null&&String(y)!==""){const m=Number(y);Number.isFinite(m)&&m>0&&(b.assistant_id=m)}}const ka=S(()=>{const t=b.assistant_dept_id;if(t===""||t==null)return De.value;const e=Number(t);if(!Number.isFinite(e))return De.value;const l=new Set(Ss(e,rt.value));return De.value.filter(u=>{const d=u.dept_ids;return!Array.isArray(d)||d.length===0?!1:d.map(Number).some(y=>l.has(y))})});function Bs(){const t=b.assistant_id;if(t!==""&&t!=null){const e=Number(t);ka.value.some(u=>Number(u.id)===e)||(b.assistant_id="")}W()}const ie=S(()=>{const t=ne.extend,e=(t==null?void 0:t.stats_order_amount)??(t==null?void 0:t.today_order_amount),l=(t==null?void 0:t.stats_linked_pay_amount)??(t==null?void 0:t.today_linked_pay_amount),u=Oe=>{const U=Number(Oe);return Number.isFinite(U)?Math.round(U*100)/100:0},d=Oe=>Oe.toFixed(2),y=(t==null?void 0:t.stats_order_amount_not_cancelled)!==void 0&&(t==null?void 0:t.stats_order_amount_cancelled)!==void 0,m=(t==null?void 0:t.stats_linked_pay_amount_not_cancelled)!==void 0&&(t==null?void 0:t.stats_linked_pay_amount_cancelled)!==void 0,N=u(y?t==null?void 0:t.stats_order_amount_not_cancelled:e),se=y?u(t==null?void 0:t.stats_order_amount_cancelled):0,h=u(m?t==null?void 0:t.stats_linked_pay_amount_not_cancelled:l),de=m?u(t==null?void 0:t.stats_linked_pay_amount_cancelled):0,L=(t==null?void 0:t.stats_order_amount_performance)!==void 0?u(t==null?void 0:t.stats_order_amount_performance):N,A=(t==null?void 0:t.stats_linked_pay_amount_performance)!==void 0?u(t==null?void 0:t.stats_linked_pay_amount_performance):h,P=String((t==null?void 0:t.stats_time_start)??"").trim(),Et=String((t==null?void 0:t.stats_time_end)??"").trim(),ge=P&&Et?`统计时间:${P} ~ ${Et}`:"统计时间:—",Xe=String((t==null?void 0:t.stats_scope)??"restricted");let Te="统计口径:与当前列表数据可见范围一致";Xe==="all"?Te="统计口径:支付单审核白名单角色,按全量订单;与下方筛选项(医生/医助/医助部门/患者等,不含「创建时间」)一致":Xe==="assistant"?Te="统计口径:仅计诊单医助为本人且满足下方其它筛选项的订单":Xe==="own_rx"&&(Te="统计口径:本人创建的订单 + 关联处方开方人为本人的订单(含医助代建);与下方筛选项(不含「创建时间」)一致");const le=String(b.start_time||"").trim()!==""&&String(b.end_time||"").trim()!==""?"区间":"今日";return{order:u(e),pay:u(l),orderStr:d(u(e)),payStr:d(u(l)),orderNotCancelledStr:d(N),orderCancelledStr:d(se),payNotCancelledStr:d(h),payCancelledStr:d(de),orderPerformanceStr:d(L),payPerformanceStr:d(A),orderHeading:`${le}业绩(业务订单额)`,payHeading:`${le}业绩(关联实付)`,periodLine:ge,scopeHint:Te,orderSplitHint:"业绩 = 除履约已取消(4)外全部订单金额;下方为合计与已取消明细"}}),ut=S(()=>{const t=ne.extend,e=m=>{const N=Number(m);return!Number.isFinite(N)||N<0?0:Math.trunc(N)},l=e(t==null?void 0:t.focus_pending_rx_count),u=e(t==null?void 0:t.focus_pending_pay_count),d=e(t==null?void 0:t.focus_pending_ship_count),y=e(t==null?void 0:t.focus_risk_count);return{pendingRx:l,pendingPay:u,pendingShip:d,risk:y}});function Lt(t,e){const l=Number(e==null?void 0:e.prescription_audit_status),u=Number(e==null?void 0:e.payment_slip_audit_status),d=Number(e==null?void 0:e.fulfillment_status);return t==="rx"&&l===0||t==="pay"&&l===1&&u===0||t==="fulfillment"&&d===2?"po-status-tag is-focus":t==="rx"&&l===2||t==="pay"&&u===2||t==="fulfillment"&&d===4?"po-status-tag is-risk":"po-status-tag"}function Ms({row:t}){const e=Number(t==null?void 0:t.prescription_audit_status),l=Number(t==null?void 0:t.payment_slip_audit_status),u=Number(t==null?void 0:t.fulfillment_status),d=ft(t==null?void 0:t.recipient_phone,t==null?void 0:t.prescription_phone);return e===2||l===2||d?"po-row-risk":e===0||e===1&&l===0||u===2?"po-row-focus":u===3||u===6?"po-row-done":""}zi(_e,t=>{t||b.prescription_audit_status===""||b.prescription_audit_status===void 0||(b.prescription_audit_status="",b.exclude_fulfillment_cancelled=0,W())},{immediate:!0});function Hs(){Z.value="",b.start_time="",b.end_time="",b.order_no="",b.prescription_id="",b.patient_keyword="",b.express_keyword="",b.express_company="",b.doctor_id="",b.assistant_id="",b.assistant_dept_id="",b.fulfillment_status="",b.prescription_audit_status="",b.payment_slip_audit_status="",b.supply_mode="",b.exclude_fulfillment_cancelled=0,Is()}function dt(t){return{1:"挂号费",2:"问诊费",3:"药品费用",4:"首付费用",5:"尾款费用",6:"其他费用",7:"全部费用",8:"驼奶费用"}[Number(t)]??"—"}function Gs(t){if(!t)return"—";let e=[];return Array.isArray(t)?e=t:typeof t=="string"&&(e=t.split(",").filter(u=>u.trim()!=="")),e.length===0?"—":e.map(u=>{const d=Ee.value.find(y=>y.value===u);return d?d.name:u}).join("、")}function ha(t){return t===1?"已通过":t===2?"已驳回":"待审核"}function wa(t){return t===1?"success":t===2?"danger":"info"}function It(t){return{1:"待双审通过",2:"待发货",3:"已完成",4:"已取消",5:"已发货",6:"已签收",7:"进行中",8:"暂不制药",9:"拒收",10:"退款",11:"保留药方",12:"制药缓发"}[Number(t)]??"—"}function Ws(t){const e=Number(t);return e===3||e===6?"success":e===5?"primary":e===4?"danger":e===2||e===7?"warning":e===8||e===11||e===12?"info":e===9||e===10?"danger":"info"}function ee(t){const e=Number(t);return Number.isNaN(e)?"—":e.toFixed(2)}function xe(t){if(t==null||t==="")return"—";if(typeof t=="number"&&t>1e9&&t<1e11){const e=new Date(t*1e3);return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")} ${String(e.getHours()).padStart(2,"0")}:${String(e.getMinutes()).padStart(2,"0")}`}return String(t)}function Ks(t){const e=Number(t.fulfillment_status);if(e!==1&&e!==2)return!1;const l=String(t.gancao_reciperl_order_no||"").trim(),u=Number(t.gancao_submit_time||0);return!(l!==""||u>0)}function Qs(t){const e=Number(t.fulfillment_status);return e===3||e===4||e===6?!1:Number(t.prescription_audit_status)===0}function Ys(t){const e=Number(t.fulfillment_status);return e===3||e===4?!1:Number(t.prescription_audit_status)===1&&Number(t.payment_slip_audit_status)===0}function Js(t){const e=Number(t.fulfillment_status);if(e===3||e===4||e===6)return!1;const l=Number(t.prescription_audit_status),u=Number(t.payment_slip_audit_status);return(l===1||l===2)&&u===0}function Xs(t){const e=Number(t.fulfillment_status);if(e===3||e===4||e===6)return!1;const l=Number(t.prescription_audit_status),u=Number(t.payment_slip_audit_status);return l===1&&(u===1||u===2)}function Zs(t){return Number(t.fulfillment_status)===1}function qt(t){return Number(t.fulfillment_status)===2}function Sa(t){const e=Number(t.fulfillment_status);return e===5||e===6}function Va(t){const e=Number(t.fulfillment_status);return(e===5||e===6)&&Number(t.payment_slip_audit_status)===1}function el(t){const e=Number(t.fulfillment_status);return e===5||e===6}function Bt(t){if(!(t!=null&&t.id))return!1;const e=Number(t.fulfillment_status);return e!==3&&e!==4}function tl(t){const e=Number(t.prescription_audit_status),l=String(t.gancao_reciperl_order_no||"").trim();return e===1&&l===""}function Na(t){return{1:"待支付",2:"已支付",3:"已取消",4:"已退款",5:"待审核"}[Number(t)]??"—"}const Q=k(!1),Mt=k(!1),c=k(null),pt=S(()=>{if(!c.value)return 0;const t=Number(c.value.fulfillment_status),e=Number(c.value.prescription_audit_status),l=Number(c.value.payment_slip_audit_status);return t===3||[8,9,10,11,12].includes(t)?5:t===6||t===5||t===7?4:t===4?e===2?1:l===2?2:3:t===2?3:e===0||e===2?1:l===0||l===2?2:3}),ct=S(()=>{var e;const t=Number((e=c.value)==null?void 0:e.prescription_audit_status);return t===1?"success":t===2?"error":pt.value===1?"process":"wait"}),mt=S(()=>{var e;const t=Number((e=c.value)==null?void 0:e.payment_slip_audit_status);return t===1?"success":t===2?"error":pt.value===2?"process":"wait"}),ke=S(()=>{var e;const t=Number((e=c.value)==null?void 0:e.fulfillment_status);return t===3||t===5||t===6||t===8||t===11||t===12?"success":t===4||t===9||t===10?"error":t===7||pt.value===3?"process":"wait"}),Ht=S(()=>{const t=c.value;if(!t)return[];const e=t.linked_pay_orders;return Array.isArray(e)?e:[]}),Ca=S(()=>{const t=c.value;if(!t)return 0;const e=Number(t.amount)||0,l=Number(t.linked_pay_paid_total)||0;return Math.round((e-l)*100)/100}),he=k([]);async function al(t,e,l){var u;if(!t){he.value=[];return}try{const d=await va({diagnosis_id:t,prescription_order_id:e}),y=(d==null?void 0:d.lists)??((u=d==null?void 0:d.data)==null?void 0:u.lists)??[],m=Array.isArray(y)?y.filter(N=>!l.includes(N.id)):[];he.value=m}catch{he.value=[]}}function Pa(t){return t?Array.isArray(t)?t.map(e=>({name:String((e==null?void 0:e.name)??"").trim(),dosage:Number(e==null?void 0:e.dosage)||0})):[]:[]}const T=S(()=>{var e;const t=(e=c.value)==null?void 0:e.prescription;return t&&typeof t=="object"?t:null});function _t(t){return t==null?"":String(t).replace(/\s/g,"").trim()}function ft(t,e){const l=_t(t),u=_t(e);return!l||!u?!1:l!==u}const Ue=S(()=>{var l,u;const t=(l=T.value)==null?void 0:l.phone,e=(u=c.value)==null?void 0:u.recipient_phone;return ft(e,t)}),sl=S(()=>{var e;return _t((e=T.value)==null?void 0:e.phone)||"—"}),ll=S(()=>{var e;return _t((e=c.value)==null?void 0:e.recipient_phone)||"—"}),Ta=S(()=>{var e,l;const t=String(((e=c.value)==null?void 0:e.order_creator_dept_path)??((l=c.value)==null?void 0:l.diagnosis_creator_dept_path)??"").trim();return t?t.split(";").map(u=>u.trim()).filter(Boolean).map(u=>u.includes(" / ")?u.split(" / ").map(d=>d.trim()).filter(Boolean):u.split("/").map(d=>d.trim()).filter(Boolean)).filter(u=>u.length>0):[]}),Oa=S(()=>{const t=c.value;if(!t)return"";const e=String(t.creator_account??"").trim(),l=String(t.creator_mobile??"").trim(),u=[];return e&&u.push(`登录账号:${e}`),l&&u.push(`手机:${l}`),u.join(" · ")}),Y=S(()=>{var e;const t=(e=c.value)==null?void 0:e.linked_appointment;return t&&typeof t=="object"?t:null}),Aa=S(()=>{var e;const t=String(((e=Y.value)==null?void 0:e.resolved_from)||"");return t==="prescription"?"处方绑定挂号":t==="diagnosis"?"诊单关联挂号":""}),Ra=S(()=>{const t=Y.value;if(!t)return"";const e=String(t.channel_source_desc??"").trim();return e||String(t.channel_source??"").trim()}),$a=S(()=>{var t;return Pa((t=T.value)==null?void 0:t.herbs)}),nl=S(()=>{var t;return((t=c.value)==null?void 0:t.prescription_detail_herbs_visible)!==!1}),il=S(()=>{const t=c.value;if(!t)return"—";const e=[];return t.shipping_province&&e.push(t.shipping_province),t.shipping_city&&e.push(t.shipping_city),t.shipping_district&&e.push(t.shipping_district),t.shipping_address&&e.push(t.shipping_address),e.length>0?e.join(" "):"—"}),Ea=S(()=>`${f.dose_unit||"剂"}数`);function rl(t){const e=Number(t);return e===1?"已通过":e===2?"已驳回":"待审核"}function ol(t){const e=Number(t);return e===1?"success":e===2?"danger":"warning"}function Da(t){const e=Number(t);return e===2?"success":e===1?"warning":"info"}function Ua(t){return t==null||t===""?"—":typeof t=="string"&&String(t).includes("-")?String(t):xe(t)}const ze=k("auto"),vt=k(!1),H=k(null),Fe=k(""),we=k([]),je=k(!1),Gt=k(!1),gt=k(),oe=be({id:0,amount:void 0}),ul={amount:[{required:!0,message:"请输入订单金额",trigger:"blur"},{validator:(t,e,l)=>{const u=Number(e);if(!Number.isFinite(u)||u<=0){l(new Error("订单金额必须大于0"));return}l()},trigger:"blur"}]};function dl(){const t=zt.perms||[];return t.includes("*")||t.includes("tcm.prescriptionOrder/logs")}async function Wt(t){if(!dl()){we.value=[];return}try{const e=await Oi({id:t});we.value=(e==null?void 0:e.data)??e??[]}catch{we.value=[]}}function pl(t){return{create:"创建",edit:"编辑",audit_rx_approve:"处方审核",audit_rx_reject:"处方审核",audit_pay_approve:"支付审核",audit_pay_reject:"支付审核",fill_tracking:"填快递单",ship:"确认发货",withdraw:"撤销",link_pay_order:"关联支付单",revoke_rx_audit:"撤回处方审核",revoke_pay_audit:"撤回支付审核",gancao_submit:"甘草下单",patch_rx_patient:"处方患者信息",update_amount:"修改订单金额",complete:"完成订单"}[t]||t}const Kt=S(()=>{var l;const t=String(((l=c.value)==null?void 0:l.tracking_number)||"").trim();if(!t)return{sf:"javascript:void(0)",jd:"javascript:void(0)",jt:"javascript:void(0)"};const e=encodeURIComponent(t);return{sf:`https://www.sf-express.com/cn/sc/dynamic_function/waybill/#search/bill-number/${e}`,jd:`https://www.jdl.com/#/trackQuery?waybillCode=${e}`,jt:`https://www.jtexpress.com.cn/index/query/gzquery.html?bills=${e}`}}),za=S(()=>{const t=H.value;return!t||!Array.isArray(t.traces)?[]:t.traces}),Fa=["拒收","拒签","退件","客户拒收","拦截退回","退回发件","派件退回","无人签收","退回快件"];function yt(t){const e=String(t??"");return Fa.some(l=>e.includes(l))}function cl(t){return yt(t)}function ja(t){if(!t)return{show:!1,keywords:[],lines:[]};const e=Array.isArray(t.traces)?t.traces:[],l=[];t.state_text&&l.push(String(t.state_text)),t.hint&&l.push(String(t.hint));for(const m of e)m.context&&l.push(String(m.context));const u=l.join(` +`),d=Fa.filter(m=>u.includes(m));if(!d.length)return{show:!1,keywords:[],lines:[]};const y=[];for(const m of e){const N=String(m.context||"");if(yt(N)&&(y.push(N),y.length>=5))break}return!y.length&&yt(t.state_text)&&y.push(`最新状态:${t.state_text}`),!y.length&&yt(t.hint)&&y.push(String(t.hint)),{show:!0,keywords:d,lines:y}}const fe=S(()=>ja(H.value)),Se=k(null),bt=k(!1),Le=S(()=>ja(Se.value));function ml(t){const e=String(t||"").toLowerCase();return e==="sf"?"顺丰速运":e==="jd"?"京东快递":e==="jt"||e==="jtexpress"?"极兔速递":"自动识别"}async function Qt(){var e;const t=Number((e=c.value)==null?void 0:e.id);if(t){vt.value=!0;try{const l=String(Fe.value||"").replace(/\D/g,""),u={id:t,express_company:ze.value};l.length>=4&&(u.phone_tail=l);const d=await ms(u);H.value=(d==null?void 0:d.data)??d}catch{H.value=null}finally{vt.value=!1}}}const Ie=k(!1),Yt=k(!1),Jt=k(),te=be({patient_name:"",phone:""}),_l={patient_name:[{required:!0,message:"请输入患者姓名",trigger:"blur"}],phone:[{required:!0,message:"请输入手机号",trigger:"blur"}]};function fl(){const t=T.value,e=c.value;if(!t||!(e!=null&&e.id)||!e.prescription_id){R.msgWarning("无处方数据");return}te.patient_name=String(t.patient_name??"").trim(),te.phone=String(t.phone??"").trim(),Ie.value=!0,nt(()=>{var l;return(l=Jt.value)==null?void 0:l.clearValidate()})}function vl(){te.patient_name="",te.phone=""}function gl(){var t;oe.id=0,oe.amount=void 0,(t=gt.value)==null||t.clearValidate()}function yl(){const t=c.value;if(!Bt(t)){R.msgWarning("当前订单状态不允许修改金额");return}oe.id=Number(t==null?void 0:t.id)||0,oe.amount=Number(t==null?void 0:t.amount)||void 0,je.value=!0,nt(()=>{var e;return(e=gt.value)==null?void 0:e.clearValidate()})}async function La(){var e;const t=(e=c.value)==null?void 0:e.id;if(t)try{const l=await K({id:t}),u=(l==null?void 0:l.data)??l??null;u&&(c.value=u)}catch{}}async function bl(){var l;const t=Jt.value;if(!t)return;try{await t.validate()}catch{return}const e=(l=c.value)==null?void 0:l.id;if(e){Yt.value=!0;try{await gi({id:e,patient_name:te.patient_name.trim(),phone:te.phone.trim()}),Ie.value=!1,await La(),await Wt(e)}catch(u){console.error(u)}finally{Yt.value=!1}}}async function Ia(){const t=gt.value;if(!t)return;try{await t.validate()}catch{return}if(!Bt(c.value)){R.msgWarning("当前订单状态不允许修改金额");return}const e=oe.id;Gt.value=!0;try{await yi({id:e,amount:Number(oe.amount)}),R.msgSuccess("修改成功"),je.value=!1,await La(),await Wt(e),G()}catch{}finally{Gt.value=!1}}async function xl(t){c.value=null,he.value=[],H.value=null,ze.value="auto",Fe.value="",we.value=[],Q.value=!0,Mt.value=!0;try{const e=await K({id:t}),l=(e==null?void 0:e.data)??e??null;if(c.value=l,l){ze.value=String(l.express_company||"auto")||"auto";const u=String(l.recipient_phone||"").replace(/\D/g,"");Fe.value=u.length>=4?u:"",String(l.tracking_number||"").trim()&&Qt(),Wt(t);const d=l.diagnosis_id,y=l.pay_order_ids||[];d&&al(d,t,y)}}catch(e){R.msgError((e==null?void 0:e.message)||"加载失败"),Q.value=!1}finally{Mt.value=!1}}const ve=k(!1),Xt=k(!1),Zt=k(!1),B=k(0),ae=k(null),kl=S(()=>["请核对收货信息,便于发货与物流联系。","按需填写服务与物流,并选择本诊单下需要关联的支付单。","确认费用类别与订单金额;保存前请对照定金门槛是否已满足。"][B.value]??""),qa=S(()=>{const t=ae.value,e=Pa(t==null?void 0:t.herbs);if(!e.length)return"暂无药材明细";const l=e.map(u=>`${u.name} ${u.dosage}g`).join("、");return l.length>120?`${l.slice(0,120)}…`:l}),hl=["recipient_name","recipient_phone","region","shipping_address"],Ve=k(),f=be({id:0,prescription_id:0,diagnosis_id:0,recipient_name:"",recipient_phone:"",region:[],shipping_address:"",is_follow_up:0,medication_days:void 0,dose_count:1,dose_unit:"剂",prev_staff:"",service_channel:"",service_package:[],express_company:"auto",tracking_number:"",fee_type:3,amount:0,remark_extra:"",remark_assistant:"",pay_order_ids:[],internal_cost:void 0,assistant_id:0,diagnosis_creator_id:0,diagnosis_creator_name:"",diagnosis_creator_dept_path:""}),Ba=S(()=>{const t=String(f.diagnosis_creator_dept_path||"").trim();return t?t.split(";").map(e=>e.trim()).filter(Boolean).map(e=>e.includes(" / ")?e.split(" / ").map(l=>l.trim()).filter(Boolean):e.split("/").map(l=>l.trim()).filter(Boolean)).filter(e=>e.length>0):[]}),qe=k([]),ea=k(!1),M=k(0);function ta(t){return{1:"挂号费",2:"问诊费",3:"药品费用",4:"首付",5:"尾款",6:"其他"}[Number(t)]||"未知"}const aa=S(()=>{const t=new Set(f.pay_order_ids.map(l=>Number(l)));let e=0;for(const l of qe.value)t.has(Number(l.id))&&(e+=Number(l.amount)||0);return Math.round(e*100)/100}),wl=S(()=>{const t=M.value;return t>0?Math.round(t*100)/100:0});async function Sl(t,e){var l,u;if(!t){qe.value=[];return}try{ea.value=!0;const d=await va({diagnosis_id:t,...e?{prescription_order_id:e}:{}}),y=(d==null?void 0:d.lists)??((l=d==null?void 0:d.data)==null?void 0:l.lists)??[];qe.value=Array.isArray(y)?y:[];const m=Number((d==null?void 0:d.deposit_min_amount)??((u=d==null?void 0:d.data)==null?void 0:u.deposit_min_amount));!Number.isNaN(m)&&m>=0&&(M.value=m)}catch{qe.value=[]}finally{ea.value=!1}}const Vl=S(()=>{const t={recipient_name:[{required:!0,message:"请输入收货人",trigger:"blur"}],recipient_phone:[{required:!0,message:"请输入收货手机",trigger:"blur"}],region:[{required:!0,message:"请选择省/市/区",trigger:"change",type:"array"}],shipping_address:[{required:!0,message:"请输入收货地址",trigger:"blur"}],fee_type:[{required:!0,message:"请选择费用类别",trigger:"change"}],amount:[{required:!0,message:"请输入订单金额",trigger:"blur"},{validator:(e,l,u)=>{const d=M.value,y=Number(l);if(d>0&&(!Number.isFinite(y)||y0){const e=`已开启关联支付门槛(¥${ee(M.value)}),请至少选择一笔支付单`;t.pay_order_ids=[{type:"array",required:!0,min:1,message:e,trigger:"change"}]}return t});function Nl(){var t;B.value=0,ae.value=null,(t=Ve.value)==null||t.clearValidate()}function Cl(){B.value>0&&(B.value-=1)}async function Pl(){const t=Ve.value;if(t)try{B.value===0?await t.validateField([...hl]):B.value===1&&M.value>0&&await t.validateField(["pay_order_ids"]),B.value<2&&(B.value+=1)}catch{}}async function Tl(t){B.value=0,ae.value=null,ve.value=!0,Xt.value=!0;try{const e=await K({id:t.id}),l=(e==null?void 0:e.data)??e;if(!l){R.msgError("加载数据结构异常"),ve.value=!1;return}const u=l.prescription;u&&typeof u=="object"?ae.value=u:Number(l.prescription_id)>0?ae.value={id:Number(l.prescription_id),sn:"",patient_name:String(l.recipient_name||""),herbs:[]}:ae.value=null,f.id=l.id,f.prescription_id=Number(l.prescription_id)||0,f.diagnosis_id=Number(l.diagnosis_id)||0,f.assistant_id=Number(l.assistant_id)||0,f.diagnosis_creator_id=Number(l.diagnosis_creator_id)||0,f.diagnosis_creator_name=l.diagnosis_creator_name!=null&&l.diagnosis_creator_name!==""?String(l.diagnosis_creator_name):"",f.diagnosis_creator_dept_path=l.diagnosis_creator_dept_path!=null&&l.diagnosis_creator_dept_path!==""?String(l.diagnosis_creator_dept_path):"",f.recipient_name=l.recipient_name||"",f.recipient_phone=l.recipient_phone||"";const d=l.shipping_province||"",y=l.shipping_city||"",m=l.shipping_district||"";d||y||m?f.region=[d,y,m].filter(L=>L!==""):f.region=[],f.shipping_address=l.shipping_address||"",f.is_follow_up=l.is_follow_up?1:0,f.medication_days=l.medication_days>0?l.medication_days:void 0,f.dose_count=l.dose_count>0?l.dose_count:1,f.dose_unit=l.dose_unit||"剂",f.prev_staff=l.prev_staff||"",f.service_channel=l.service_channel||"",l.service_package?Array.isArray(l.service_package)?f.service_package=l.service_package:typeof l.service_package=="string"?f.service_package=l.service_package.split(",").filter(L=>L.trim()!==""):f.service_package=[]:f.service_package=[],f.express_company=String(l.express_company||"auto")||"auto",f.tracking_number=l.tracking_number||"",f.fee_type=Number(l.fee_type)||3,M.value=Number(l.deposit_min_amount)||0;let N=Number(l.amount)||0;const se=Math.round((Number(l.linked_pay_paid_total)||0)*100)/100,h=M.value;if(h>0){const L=Math.round(h*100)/100;NNumber(L)).filter(L=>!Number.isNaN(L)):[],f.internal_cost=l.internal_cost!=null&&l.internal_cost!==""?Number(l.internal_cost):void 0,await Sl(f.diagnosis_id,f.id),nt(()=>{var L;(L=Ve.value)==null||L.clearValidate()})}catch(e){R.msgError((e==null?void 0:e.message)||"加载异常"),ve.value=!1}finally{Xt.value=!1}}async function Ol(){if(!(!Ve.value||B.value!==2)){await Ve.value.validate(),Zt.value=!0;try{const t={id:f.id,recipient_name:f.recipient_name,recipient_phone:f.recipient_phone,shipping_address:f.shipping_address,is_follow_up:f.is_follow_up,prev_staff:f.prev_staff||"",service_channel:f.service_channel||"",service_package:Array.isArray(f.service_package)?f.service_package.join(","):"",express_company:f.express_company||"auto",tracking_number:f.tracking_number||"",fee_type:f.fee_type,amount:f.amount,remark_extra:f.remark_extra||"",remark_assistant:f.remark_assistant||"",medication_days:f.medication_days!=null&&String(f.medication_days).trim()!==""?f.medication_days:"",dose_unit:f.dose_unit||"剂",dose_count:f.dose_count||1,internal_cost:f.internal_cost!=null&&String(f.internal_cost).trim()!==""?f.internal_cost:""};f.region&&f.region.length>0?(t.shipping_province=f.region[0]||"",t.shipping_city=f.region[1]||"",t.shipping_district=f.region[2]||""):(t.shipping_province="",t.shipping_city="",t.shipping_district=""),t.pay_order_ids=[...f.pay_order_ids],await fa(t),R.msgSuccess("保存成功"),ve.value=!1,G()}catch{}finally{Zt.value=!1}}}const Be=k(!1),sa=k("prescription"),xt=k(0),Me=k(null),Ne=k(""),kt=k(!1),Al=S(()=>sa.value==="prescription"?"处方业务审核":"关联支付单审核");function Ma(t,e){sa.value=e,xt.value=t.id,Me.value=t,Ne.value="",Be.value=!0}async function Ha(t){if(t==="reject"&&!Ne.value.trim()){R.msgError("驳回或阻止时必须填写明确的审核意见");return}kt.value=!0;try{const e={id:xt.value,action:t,remark:Ne.value.trim()};if(sa.value==="prescription"?await bi(e):await xi(e),R.msgSuccess(t==="approve"?"审核通过成功":"已成功驳回该单"),Be.value=!1,G(),Q.value&&xt.value)try{const l=await K({id:xt.value}),u=(l==null?void 0:l.data)??l??null;u&&(c.value=u)}catch{}}catch{}finally{kt.value=!1}}async function Rl(t){try{await st.confirm("确认撤回该业务订单?撤回后状态为「已取消」,未双审通过或双审均驳回等场景下均可安全撤回。","撤回警告",{type:"warning",confirmButtonText:"确定撤回",cancelButtonText:"暂不处理"}),await ki({id:t.id}),R.msgSuccess("撤回成功"),G()}catch{}}const la=k(0),ht=k(!1),Ce=k(!1),j=k(null);function na(t){if(!t)return"0.00";const e=Number(t.m_cost)||0,l=Number(t.proces_cost)||0,u=Number(t.lis_cost)||0;return(e+l+u).toFixed(2)}function $l(t,e){const l=parseFloat(na(t))||0,u=Number(e)||0;return u<=0?"—":(l/u*100).toFixed(2)}function El(t){return!Array.isArray(t)||t.length===0?"0":t.reduce((l,u)=>l+(Number(u.quantity)||0),0).toFixed(0)}async function Dl(){if(!f.id){R.msgError("请先保存订单");return}Ce.value=!0;try{const t=await _s({id:f.id,dose_count:f.dose_count||1,medication_days:f.medication_days||void 0}),e=(t==null?void 0:t.data)??t;e&&e.success&&(j.value=e,ht.value=!0,R.msgSuccess("预下单测试成功"))}catch{}finally{Ce.value=!1}}async function Ul(){var t,e;if(!((t=c.value)!=null&&t.id)){R.msgError("订单数据不存在");return}Ce.value=!0;try{const l=await _s({id:c.value.id,dose_count:c.value.dose_count||1,medication_days:c.value.medication_days||void 0}),u=(l==null?void 0:l.data)??l;if(u&&u.success&&(j.value=u,ht.value=!0,Ft()&&u.fee)){const d=na(u.fee);try{const y=await K({id:c.value.id}),m=(y==null?void 0:y.data)??y;if(m!=null&&m.id){const N=m.service_package,se=Array.isArray(N)?N.join(","):String(N||"");if(await fa({id:m.id,recipient_name:m.recipient_name||"",recipient_phone:m.recipient_phone||"",shipping_province:m.shipping_province||"",shipping_city:m.shipping_city||"",shipping_district:m.shipping_district||"",shipping_address:m.shipping_address||"",is_follow_up:m.is_follow_up?1:0,medication_days:m.medication_days!=null&&String(m.medication_days).trim()!==""?m.medication_days:"",dose_unit:m.dose_unit||"剂",dose_count:m.dose_count>0?m.dose_count:1,prev_staff:m.prev_staff||"",service_channel:m.service_channel||"",service_package:se,express_company:m.express_company||"auto",tracking_number:m.tracking_number||"",fee_type:Number(m.fee_type)||3,amount:Number(m.amount)||0,remark_extra:m.remark_extra||"",remark_assistant:m.remark_assistant||"",internal_cost:d,pay_order_ids:Array.isArray(m.pay_order_ids)?m.pay_order_ids:[]}),R.msgSuccess("内部成本已按预报价总计更新"),G(),Q.value&&Number((e=c.value)==null?void 0:e.id)===Number(m.id))try{const h=await K({id:m.id}),de=(h==null?void 0:h.data)??h??null;de&&(c.value=de)}catch{c.value={...c.value,internal_cost:d}}}}catch{}}}catch{}finally{Ce.value=!1}}async function zl(t){var e;try{await st.confirm("将把本单关联处方提交至甘草药管家开放平台(先 CTM_PREVIEW 预检查再 CTM_SUBMIT_RECIPEL 正式下单;成功后将按甘草侧规则扣费,详见 https://apidoc.igancao.com/service-doc/scm-outer-recipel.html )。确定继续?","上传甘草药方",{type:"warning",confirmButtonText:"确定上传",cancelButtonText:"取消"}),la.value=t.id;const l=await hi({id:t.id}),u=(l==null?void 0:l.data)??l,d=(u==null?void 0:u.recipel_order_no)!=null?String(u.recipel_order_no):"";if(R.msgSuccess(d?`上传成功,甘草处方单号:${d}`:"上传成功"),G(),Q.value&&Number((e=c.value)==null?void 0:e.id)===t.id)try{const y=await K({id:t.id}),m=(y==null?void 0:y.data)??y??null;m&&(c.value=m)}catch{}}catch{}finally{la.value=0}}Fi(async()=>{await Cs(),await Ps(),await Vs(),qs(),await nt(),G()});const He=k(!1),wt=k(!1),Ge=k(0),J=be({express_company:"auto",tracking_number:""});function Fl(t){Ge.value=t.id,J.express_company=String(t.express_company||"auto")||"auto",J.tracking_number=String(t.tracking_number||""),He.value=!0}async function Ga(){var t;if(!J.tracking_number.trim()){R.msgError("请填写快递单号");return}wt.value=!0;try{const e=await K({id:Ge.value}),l=(e==null?void 0:e.data)??e;if(!l){R.msgError("加载订单数据失败");return}if(await fa({id:l.id,recipient_name:l.recipient_name||"",recipient_phone:l.recipient_phone||"",shipping_province:l.shipping_province||"",shipping_city:l.shipping_city||"",shipping_district:l.shipping_district||"",shipping_address:l.shipping_address||"",is_follow_up:l.is_follow_up?1:0,medication_days:l.medication_days!=null&&String(l.medication_days).trim()!==""?l.medication_days:"",prev_staff:l.prev_staff||"",service_channel:l.service_channel||"",service_package:l.service_package||"",fee_type:Number(l.fee_type)||3,amount:Number(l.amount)||0,remark_extra:l.remark_extra||"",remark_assistant:l.remark_assistant||"",internal_cost:l.internal_cost!=null&&l.internal_cost!==""?l.internal_cost:"",pay_order_ids:Array.isArray(l.pay_order_ids)?l.pay_order_ids:[],express_company:J.express_company||"auto",tracking_number:J.tracking_number.trim()}),R.msgSuccess("快递单号已保存"),He.value=!1,G(),Q.value&&((t=c.value)==null?void 0:t.id)===Ge.value)try{const u=await K({id:Ge.value}),d=(u==null?void 0:u.data)??u??null;d&&(c.value=d)}catch{}if(qt({fulfillment_status:2,tracking_number:J.tracking_number}))try{await st.confirm(`快递单号「${J.tracking_number}」已保存,是否立即确认发货?`,"确认发货",{type:"success",confirmButtonText:"确认发货",cancelButtonText:"稍后再说"}),ia({id:Ge.value,tracking_number:J.tracking_number,express_company:J.express_company})}catch{}}catch{}finally{wt.value=!1}}const We=k(!1),St=k(!1),Vt=k(0),X=be({ship_mode:"gancao",express_company:"auto",tracking_number:""});function ia(t){Vt.value=t.id,X.ship_mode=String(t.ship_mode||"gancao")||"gancao",X.express_company=String(t.express_company||"auto")||"auto",X.tracking_number=String(t.tracking_number||""),We.value=!0}async function Wa(){var t;if(!X.tracking_number.trim()){R.msgError("请先填写快递单号再确认发货");return}St.value=!0;try{if(await wi({id:Vt.value,ship_mode:X.ship_mode==="direct"?"direct":"gancao",express_company:X.express_company||"auto",tracking_number:X.tracking_number.trim()}),R.msgSuccess("确认发货成功,订单已进入「已发货」状态"),We.value=!1,G(),Q.value&&((t=c.value)==null?void 0:t.id)===Vt.value)try{const e=await K({id:Vt.value}),l=(e==null?void 0:e.data)??e??null;l&&(c.value=l)}catch{}}catch{}finally{St.value=!1}}const jl=[{value:3,label:"已完成"},{value:7,label:"进行中"},{value:8,label:"暂不制药"},{value:9,label:"拒收"},{value:10,label:"退款"},{value:11,label:"保留药方"},{value:12,label:"制药缓发"}],Ke=k(!1),ra=k(0),Nt=k(3),oa=k(!1);function Ll(){ra.value=0,Se.value=null,bt.value=!1}async function Il(t){bt.value=!0,Se.value=null;try{const e=String(t.recipient_phone||"").replace(/\D/g,""),l={id:t.id,express_company:String(t.express_company||"auto")||"auto"};e.length>=4&&(l.phone_tail=e);const u=await ms(l);Se.value=(u==null?void 0:u.data)??u}catch{Se.value=null}finally{bt.value=!1}}async function ql(){var e;const t=ra.value;if(t){oa.value=!0;try{if(await Si({id:t,fulfillment_status:Nt.value}),R.msgSuccess("订单状态已更新"),Ke.value=!1,G(),Q.value&&((e=c.value)==null?void 0:e.id)===t)try{const l=await K({id:t}),u=(l==null?void 0:l.data)??l??null;u&&(c.value=u)}catch{}}catch{}finally{oa.value=!1}}}const Qe=k(!1),Ct=k(!1),Ye=k(0),Pt=k(),ua=k(!1),Tt=k([]),E=be({add_mode:"create",order_type:3,pay_amount:void 0,pay_remark:"",link_pay_order_ids:[],completion_request:0}),Bl={add_mode:[{required:!0,message:"请选择添加方式",trigger:"change"}],order_type:[{required:!0,message:"请选择费用类别",trigger:"change"}],pay_amount:[{required:!0,message:"请输入支付金额",trigger:"blur"},{validator:(t,e,l)=>{const u=Number(e);!Number.isFinite(u)||u<=0?l(new Error("金额须大于 0")):l()},trigger:"blur"}],link_pay_order_ids:[{required:!0,message:"请至少选择一个支付单",trigger:"change",validator:(t,e,l)=>{!Array.isArray(e)||e.length===0?l(new Error("请至少选择一个支付单")):l()}}]};async function Ml(t,e=[]){var l;if(!t){Tt.value=[];return}try{ua.value=!0;const u=await va({diagnosis_id:t}),d=(u==null?void 0:u.lists)??((l=u==null?void 0:u.data)==null?void 0:l.lists)??[],y=Array.isArray(d)?d.filter(m=>!e.includes(m.id)):[];Tt.value=y}catch{Tt.value=[]}finally{ua.value=!1}}function Ka(t){var u,d;Ye.value=t.id,E.add_mode="create",E.order_type=3,E.pay_amount=void 0,E.pay_remark="",E.link_pay_order_ids=[],E.completion_request=0,Qe.value=!0;const e=t.diagnosis_id||((u=c.value)==null?void 0:u.diagnosis_id),l=t.pay_order_ids||((d=c.value)==null?void 0:d.pay_order_ids)||[];e&&Ml(e,l)}async function Hl(){var t;if(Pt.value){await Pt.value.validate(),Ct.value=!0;try{if(E.add_mode==="create")await Vi({id:Ye.value,order_type:E.order_type,pay_amount:E.pay_amount,pay_remark:E.pay_remark||"",completion_request:E.completion_request}),R.msgSuccess("支付单已新增,请等待审核");else{const e=E.link_pay_order_ids;if(e.length===0){R.msgError("请至少选择一个支付单");return}await Ni({id:Ye.value,pay_order_ids:e,completion_request:E.completion_request}),R.msgSuccess(`已关联 ${e.length} 个支付单,请等待审核`)}if(Qe.value=!1,G(),Q.value&&((t=c.value)==null?void 0:t.id)===Ye.value)try{const e=await K({id:Ye.value}),l=(e==null?void 0:e.data)??e??null;l&&(c.value=l)}catch{}}catch{}finally{Ct.value=!1}}}function Qa(t){ra.value=t.id,Nt.value=3,Se.value=null,Ke.value=!0,String(t.tracking_number||"").trim()&&Il(t)}async function Gl(t){var e;try{if(await st.confirm("确认撤回处方审核?撤回后将重置为「待审核」状态。","撤回处方审核",{type:"warning",confirmButtonText:"确认撤回",cancelButtonText:"取消"}),await Ci({id:t.id}),R.msgSuccess("处方审核已撤回"),G(),Q.value&&((e=c.value)==null?void 0:e.id)===t.id)try{const l=await K({id:t.id}),u=(l==null?void 0:l.data)??l??null;u&&(c.value=u)}catch{}}catch{}}async function Wl(t){var e;try{if(await st.confirm("确认撤回支付单审核?撤回后将重置为「待审核」状态。","撤回支付单审核",{type:"warning",confirmButtonText:"确认撤回",cancelButtonText:"取消"}),await Pi({id:t.id}),R.msgSuccess("支付单审核已撤回"),G(),Q.value&&((e=c.value)==null?void 0:e.id)===t.id)try{const l=await K({id:t.id}),u=(l==null?void 0:l.data)??l??null;u&&(c.value=u)}catch{}}catch{}}const Ot=k(!1),At=k(!1),w=k(null),ue=k("internal"),Ya=k(null),Pe=k(!1),Rt=S(()=>{var e;const t=(e=w.value)==null?void 0:e.herbs;return Array.isArray(t)?t:[]}),Kl=S(()=>{const t=w.value;if(!t||(t.prescription_type||"浓缩水丸")!=="浓缩水丸")return null;const e=Number(t.medication_days??t.usage_days??t.dose_count),l=Number(t.times_per_day),u=Number(t.dosage_amount),d=Number(t.dosage_bag_count)>0?Number(t.dosage_bag_count):1;return!Number.isFinite(e)||!Number.isFinite(l)||!Number.isFinite(u)||e<=0||l<=0||u<=0?null:e*l*u*d}),$t=t=>String(t).padStart(2,"0"),Ql=S(()=>{const t=w.value;if(!t)return"—";const e=t.create_time??t.update_time??null;if(e){const l=String(e).length===10?Number(e)*1e3:Number(e),u=new Date(l);if(!isNaN(u.getTime()))return`${u.getFullYear()}-${$t(u.getMonth()+1)}-${$t(u.getDate())} ${$t(u.getHours())}:${$t(u.getMinutes())}`}return t.prescription_date||"—"}),Yl=S(()=>{const t=w.value;if(!t)return"—";const e=String(t.sn??"").trim();if(e)return e;const l=String(t.visit_no??"").trim();return l||"—"}),Jl=S(()=>{const t=w.value;if(!t)return"—";const e=Number(t.appointment_id);return Number.isFinite(e)&&e>0?String(e):"—"}),Ja=S(()=>{const t=w.value;return t?String(t.order_no??"").trim():""}),Xl=S(()=>{const t=w.value;if(!t)return"—";if(t.recipient_text)return t.recipient_text;const e=[];(t.recipient_name||t.patient_name)&&e.push(t.recipient_name||t.patient_name),(t.recipient_phone||t.phone)&&e.push(t.recipient_phone||t.phone);let l=t.region;return Array.isArray(l)&&(l=l.filter(Boolean).join("")),l&&e.push(String(l)),t.shipping_address?e.push(String(t.shipping_address)):t.address&&e.push(String(t.address)),e.length?e.join(","):"—"}),Xa=S(()=>{var e;const t=Number((e=w.value)==null?void 0:e.dose_count);return Number.isFinite(t)&&t>0?t:1}),Zl=S(()=>{const e=Rt.value.reduce((l,u)=>l+(Number(u==null?void 0:u.dosage)||0),0);return Je(e)}),en=t=>{const e=Number(t)||0;return Je(e*Xa.value)},tn=S(()=>{const t=w.value;if(!t)return"—";const e=t.prescription_type||"浓缩水丸";return/丸|散|膏|片/.test(e)?`浓缩丸-${e}`:e}),an=S(()=>{const t=w.value;if(!t)return"—";if(t.usage_text)return t.usage_text;const e=Number(t.times_per_day)>0?Number(t.times_per_day):3,l=t.dosage_amount!=null?Number(t.dosage_amount):10,u=t.dosage_unit||"g",d=t.usage_way||"温水送服",y=t.usage_time||"",m=[];if(m.push(`每天${e}次`),(t.prescription_type||"浓缩水丸")==="浓缩水丸"){const N=Number(t.dosage_bag_count)>0?Number(t.dosage_bag_count):1;m.push(`一次${N}袋`),m.push(`每袋${l}${u}`)}else m.push(`一次${l}${u}`);return m.push(d),y&&m.push(y),m.join(", ")}),sn=S(()=>{const t=Kl.value;if(typeof t=="number"&&isFinite(t)&&t>0)return Je(t);const e=w.value;if(!e)return"";const l=e.out_pellet||e.total_weight;if(l&&Number(l)>0)return Je(Number(l));const u=Rt.value;if(!u.length)return"";const d=u.reduce((y,m)=>y+(Number(m==null?void 0:m.dosage)||0),0);return Je(d*Xa.value)}),Za=S(()=>{const t=w.value;return t&&t.medical_advice||""}),es=S(()=>{const t=w.value;if(!t)return"";const e=[];return e.push(`共${Rt.value.length}味药`),t.usage_notes&&e.push(String(t.usage_notes)),t.remark&&e.push(String(t.remark)),e.join(" ")}),ts=S(()=>{const t=w.value;return t&&(t.pharmacy_remark||t.pharmacy_note)||""}),as=S(()=>{const t=sn.value;return t?`${t}克`:""});function Je(t){return isFinite(t)?Number.isInteger(t)?String(t):t.toFixed(2).replace(/\.?0+$/,""):"0"}function ss(t){if(!t)return"";const e=new Date(t*1e3);return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")} ${String(e.getHours()).padStart(2,"0")}:${String(e.getMinutes()).padStart(2,"0")}`}function ln(t){return t?ss(t):"—"}function nn(t){return t===1||t==="1"?"男":t===0||t==="0"?"女":"—"}function rn(t){return t==null||t===""?"—":`${t}岁`}function on(){ls(f)}async function ls(t){if(!t.prescription_id){R.msgWarning("该订单未关联处方");return}Ot.value=!0,At.value=!0,w.value=null,ue.value="internal";try{const e=await Ti({id:t.prescription_id}),l=(e==null?void 0:e.data)??e??null;if(l){const u=t.medication_days,d={...l};u!=null&&String(u).trim()!==""&&(d.medication_days=u),t.order_no&&!d.order_no&&(d.order_no=t.order_no),t.recipient_name&&!d.recipient_name&&(d.recipient_name=t.recipient_name),t.recipient_phone&&!d.recipient_phone&&(d.recipient_phone=t.recipient_phone),t.shipping_address&&!d.shipping_address&&(d.shipping_address=t.shipping_address),t.amount!=null&&d.order_amount==null&&(d.order_amount=t.amount),t.dose_count!=null&&String(t.dose_count).trim()!==""&&Number(t.dose_count)>0&&(d.dose_count=Number(t.dose_count)),t.dose_unit!=null&&String(t.dose_unit).trim()!==""&&(d.dose_unit=String(t.dose_unit));const y=t.linked_appointment;(!d.appointment_id||Number(d.appointment_id)<=0)&&y&&typeof y=="object"&&Number(y.id)>0&&(d.appointment_id=Number(y.id)),w.value=d}else w.value=null}catch(e){R.msgError((e==null?void 0:e.message)||"加载处方详情失败"),Ot.value=!1}finally{At.value=!1}}async function un(t){const e=t.querySelectorAll('img[src^="http"]'),l=Array.from(e).map(async u=>{try{const d=await fetch(u.src,{mode:"cors"});if(!d.ok)return;const y=await d.blob(),m=await new Promise((N,se)=>{const h=new FileReader;h.onload=()=>N(h.result),h.onerror=se,h.readAsDataURL(y)});u.src=m}catch{}});await Promise.allSettled(l)}async function ns(){await nt();const t=Ya.value;if(!t)throw new Error("未找到处方笺内容");return t.scrollIntoView({behavior:"instant",block:"nearest"}),await un(t),await new Promise(e=>requestAnimationFrame(()=>e(null))),await new Promise(e=>setTimeout(e,250)),Ai(t,{scale:2,useCORS:!0,allowTaint:!1,logging:!1,backgroundColor:"#ffffff",windowWidth:t.scrollWidth,windowHeight:t.scrollHeight,width:t.scrollWidth,height:t.scrollHeight,ignoreElements:e=>e instanceof HTMLElement&&e.classList.contains("cf-slip-no-export")})}function is(){var l;const t=(l=w.value)==null?void 0:l.patient_name;return`处方_${typeof t=="string"&&t.trim()?t.trim().replace(/[\\/:*?"<>|]/g,"_"):"未命名"}_${Date.now()}`}async function dn(){if(w.value){Pe.value=!0;try{const t=await ns(),e=document.createElement("a");e.download=`${is()}.png`,e.href=t.toDataURL("image/png"),e.click(),R.msgSuccess("图片已下载")}catch{R.msgError("下载图片失败")}finally{Pe.value=!1}}}async function pn(){if(w.value){Pe.value=!0;try{const t=await ns(),e=t.toDataURL("image/jpeg",.95),l=new vn({orientation:"portrait",unit:"mm",format:"a4"}),u=210,d=297,y=u,m=t.height*y/t.width;if(m<=d)l.addImage(e,"JPEG",0,0,y,m);else{let N=m,se=0;for(;N>0;)l.addImage(e,"JPEG",0,se,y,m),N-=d,se-=d,N>0&&l.addPage()}l.save(`${is()}.pdf`),R.msgSuccess("PDF已下载")}catch{R.msgError("下载PDF失败")}finally{Pe.value=!1}}}return(t,e)=>{const l=gn,u=yn,d=kn,y=hn,m=Sn,N=wn,se=Vn,h=Nn,de=ai,L=xn,A=Tn,P=Pn,Et=On,Dt=An,ge=Cn,Xe=ti,Te=Rn,pe=$n,le=Dn,Oe=En,U=zn,Ze=Un,C=jn,et=Fn,Ae=Ln,rs=qn,os=In,da=Bn,us=Hn,ds=Mn,pa=Gn,Re=Wn,ce=Kn,cn=Qn,mn=Yn,$e=Xn,ca=Jn,ps=ei,_n=Zn,me=bn,z=ji("perms");return r(),_("div",qi,[a(l,{class:"!border-none shadow-sm mb-4",shadow:"never"},{default:s(()=>[n("div",Bi,[_e.value?(r(),_("div",Mi,[e[83]||(e[83]=n("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"处方审核",-1)),(r(),_($,null,I(Ds,i=>n("div",{key:i.value,class:q(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",b.prescription_audit_status===i.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:x=>zs(i.value)},[n("span",Gi,o(i.label),1)],10,Hi)),64))])):v("",!0),n("div",Wi,[e[84]||(e[84]=n("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"支付单审核",-1)),(r(),_($,null,I(Us,i=>n("div",{key:i.value,class:q(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",b.payment_slip_audit_status===i.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:x=>Fs(i.value)},[n("span",Qi,o(i.label),1)],10,Ki)),64))]),n("div",Yi,[e[85]||(e[85]=n("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"发货状态",-1)),(r(),_($,null,I(Ts,i=>n("div",{key:"fs-"+String(i.value),class:q(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",b.fulfillment_status===i.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:x=>Os(i.value)},[n("span",Xi,o(i.label),1)],10,Ji)),64))]),n("div",Zi,[e[86]||(e[86]=n("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"供货方式",-1)),(r(),_($,null,I(As,i=>n("div",{key:"sm-"+String(i.value),class:q(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",b.supply_mode===i.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:x=>Rs(i.value)},[n("span",tr,o(i.label),1)],10,er)),64))]),n("div",ar,[e[87]||(e[87]=n("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"快递方式",-1)),(r(),_($,null,I($s,i=>n("div",{key:"ec-"+String(i.value),class:q(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",b.express_company===i.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:x=>Es(i.value)},[n("span",lr,o(i.label),1)],10,sr)),64))])])]),_:1}),a(l,{class:"!border-none po-filter-card shadow-sm",shadow:"never"},{default:s(()=>[O((r(),_("div",nr,[n("div",ir,[e[88]||(e[88]=n("div",{class:"po-stat-deco po-stat-deco--o pointer-events-none absolute -right-6 -top-8 h-28 w-28 rounded-full opacity-40"},null,-1)),n("div",rr,[n("div",null,[n("div",or,[a(u,{size:16,class:"text-sky-500"},{default:s(()=>[a(F(li))]),_:1}),p(" "+o(ie.value.orderHeading),1)]),n("div",ur,[n("div",dr," ¥"+o(ie.value.orderPerformanceStr),1),n("div",pr,[n("span",null,"合计 ¥"+o(ie.value.orderStr),1),n("span",cr,"已取消 ¥"+o(ie.value.orderCancelledStr),1)])])]),n("div",mr,[a(u,{size:20},{default:s(()=>[a(F(ni))]),_:1})])]),n("p",_r,o(ie.value.periodLine),1)]),n("div",fr,[e[89]||(e[89]=n("div",{class:"po-stat-deco po-stat-deco--p pointer-events-none absolute -right-6 -top-8 h-28 w-28 rounded-full opacity-40"},null,-1)),n("div",vr,[n("div",null,[n("div",gr,[a(u,{size:16,class:"text-emerald-500"},{default:s(()=>[a(F(ii))]),_:1}),p(" "+o(ie.value.payHeading),1)]),n("div",yr,[n("div",br," ¥"+o(ie.value.payPerformanceStr),1),n("div",xr,[n("span",null,"合计 ¥"+o(ie.value.payStr),1),n("span",kr,"已取消 ¥"+o(ie.value.payCancelledStr),1)])])]),n("div",hr,[a(u,{size:20},{default:s(()=>[a(F(ri))]),_:1})])]),n("p",wr,o(ie.value.periodLine),1)])])),[[me,F(ne).loading]]),a(L,{class:"ls-form",model:b,inline:""},{default:s(()=>[a(d,{class:"w-[360px] min-w-[240px] max-w-full",label:"创建时间"},{default:s(()=>[a(ci,{startTime:b.start_time,"onUpdate:startTime":e[0]||(e[0]=i=>b.start_time=i),endTime:b.end_time,"onUpdate:endTime":e[1]||(e[1]=i=>b.end_time=i),"picker-type":"daterange","value-format":"YYYY-MM-DD","start-placeholder":"开始日期","end-placeholder":"结束日期",class:"!w-full"},null,8,["startTime","endTime"])]),_:1}),a(d,{class:"w-[260px]",label:"订单号"},{default:s(()=>[a(y,{modelValue:b.order_no,"onUpdate:modelValue":e[2]||(e[2]=i=>b.order_no=i),placeholder:"业务订单号",clearable:"",onKeyup:lt(F(W),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),a(d,{class:"w-[140px]",label:"处方ID"},{default:s(()=>[a(y,{modelValue:b.prescription_id,"onUpdate:modelValue":e[3]||(e[3]=i=>b.prescription_id=i),placeholder:"处方ID",clearable:"",onKeyup:lt(F(W),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),a(d,{class:"w-[220px]",label:"患者"},{default:s(()=>[a(y,{modelValue:b.patient_keyword,"onUpdate:modelValue":e[4]||(e[4]=i=>b.patient_keyword=i),placeholder:"姓名 / 手机号",clearable:"",onKeyup:lt(F(W),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),a(d,{class:"w-[220px]",label:"快递"},{default:s(()=>[a(y,{modelValue:b.express_keyword,"onUpdate:modelValue":e[5]||(e[5]=i=>b.express_keyword=i),placeholder:"快递单号 / 公司",clearable:"",onKeyup:lt(F(W),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),a(d,{class:"w-[200px]",label:"医生"},{default:s(()=>[a(N,{modelValue:b.doctor_id,"onUpdate:modelValue":e[6]||(e[6]=i=>b.doctor_id=i),clearable:"",filterable:"",placeholder:"开方医生",class:"!w-full"},{default:s(()=>[(r(!0),_($,null,I(jt.value,i=>(r(),g(m,{key:i.id,label:i.name,value:i.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(d,{class:"w-[220px] min-w-[200px]",label:"医助部门"},{default:s(()=>[a(se,{modelValue:b.assistant_dept_id,"onUpdate:modelValue":e[7]||(e[7]=i=>b.assistant_dept_id=i),data:rt.value,class:"!w-full",clearable:"",filterable:"","check-strictly":"","default-expand-all":!0,"node-key":"id",props:ws,placeholder:"医助部门(选父级含子级)",onChange:Bs},null,8,["modelValue","data"])]),_:1}),a(d,{class:"w-[200px]",label:"医助"},{default:s(()=>[a(N,{modelValue:b.assistant_id,"onUpdate:modelValue":e[8]||(e[8]=i=>b.assistant_id=i),clearable:"",filterable:"",placeholder:"诊单医助",class:"!w-full"},{default:s(()=>[(r(!0),_($,null,I(ka.value,i=>(r(),g(m,{key:i.id,label:i.name,value:i.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(d,null,{default:s(()=>[a(h,{type:"primary",onClick:F(W)},{default:s(()=>[...e[90]||(e[90]=[p("查询",-1)])]),_:1},8,["onClick"]),a(h,{onClick:Hs},{default:s(()=>[...e[91]||(e[91]=[p("重置",-1)])]),_:1}),O(a(de,{class:"ml-2.5","fetch-fun":F(mi),params:Ls.value,"page-size":F(ne).size,"export-hint":"导出范围与上方筛选一致(履约状态、创建时间及其他条件均会生效)。"},null,8,["fetch-fun","params","page-size"]),[[z,["tcm.prescriptionOrder/export"]]])]),_:1})]),_:1},8,["model"])]),_:1}),O((r(),g(l,{class:"!border-none mt-4 po-table-card shadow-sm",shadow:"never"},{default:s(()=>[n("div",Sr,[n("div",Vr,[e[92]||(e[92]=n("span",{class:"po-table-title text-gray-800"},"订单列表",-1)),n("span",Nr,"共 "+o(F(ne).count)+" 条",1)]),n("div",Cr,[n("div",{class:q(["po-focus-board__item is-pending-rx",{"is-active":Z.value==="pendingRx"}]),onClick:e[9]||(e[9]=i=>ot("pendingRx"))},[e[93]||(e[93]=n("span",{class:"po-focus-board__label"},"待处方审核",-1)),n("strong",Pr,o(ut.value.pendingRx),1)],2),n("div",{class:q(["po-focus-board__item is-pending-pay",{"is-active":Z.value==="pendingPay"}]),onClick:e[10]||(e[10]=i=>ot("pendingPay"))},[e[94]||(e[94]=n("span",{class:"po-focus-board__label"},"待支付审核",-1)),n("strong",Tr,o(ut.value.pendingPay),1)],2),n("div",{class:q(["po-focus-board__item is-pending-ship",{"is-active":Z.value==="pendingShip"}]),onClick:e[11]||(e[11]=i=>ot("pendingShip"))},[e[95]||(e[95]=n("span",{class:"po-focus-board__label"},"待发货",-1)),n("strong",Or,o(ut.value.pendingShip),1)],2),n("div",{class:q(["po-focus-board__item is-risk",{"is-active":Z.value==="risk"}]),onClick:e[12]||(e[12]=i=>ot("risk"))},[e[96]||(e[96]=n("span",{class:"po-focus-board__label"},"重点异常",-1)),n("strong",Ar,o(ut.value.risk),1)],2)])]),a(ge,{data:F(ne).lists,size:"default",stripe:"",class:"po-data-table","row-class-name":Ms},{default:s(()=>[a(P,{label:"订单号","min-width":"178","show-overflow-tooltip":""},{default:s(({row:i})=>[n("div",Rr,[n("div",$r,o(i.order_no||"—"),1),n("div",Er,[a(A,{size:"small",effect:"plain",type:String(i.gancao_reciperl_order_no||"").trim()?"success":"info"},{default:s(()=>[p(o(String(i.gancao_reciperl_order_no||"").trim()?"甘草":"自营"),1)]),_:2},1032,["type"]),n("span",Dr,"#"+o(i.id),1)])])]),_:1}),a(P,{label:"处方ID",prop:"prescription_id",width:"86"}),a(P,{label:"诊单ID",prop:"diagnosis_id",width:"86"}),a(P,{label:"收货人","min-width":"100"},{default:s(({row:i})=>[n("div",null,o(i.recipient_name||"—"),1),n("div",{class:q(["text-xs",ft(i.recipient_phone,i.prescription_phone)?"text-red-600 font-semibold":"text-gray-400"])},[p(o(i.recipient_phone||"—")+" ",1),ft(i.recipient_phone,i.prescription_phone)?(r(),_("span",Ur,"(与处方手机不一致)")):v("",!0)],2)]),_:1}),a(P,{label:"费用类别",width:"96"},{default:s(({row:i})=>[p(o(dt(i.fee_type)),1)]),_:1}),a(P,{label:"金额","min-width":"100"},{default:s(({row:i})=>[n("div",zr,[n("span",Fr,"¥"+o(i.amount),1),a(Et,{placement:"top",width:200,trigger:"hover"},{reference:s(()=>[a(u,{class:"text-gray-400 cursor-pointer hover:text-primary"},{default:s(()=>[a(F(oi))]),_:1})]),default:s(()=>[n("div",jr,[n("div",Lr,[e[97]||(e[97]=n("span",{class:"text-gray-500"},"业务订单单据:",-1)),n("span",Ir,"¥"+o(i.amount),1)]),n("div",qr,[e[98]||(e[98]=n("span",{class:"text-gray-500"},"定金下限:",-1)),n("span",null,"¥"+o(ee(i.deposit_min_amount)),1)]),n("div",Br,[e[99]||(e[99]=n("span",{class:"text-gray-500"},"实付(关联):",-1)),n("span",Mr,"¥"+o(ee(i.linked_pay_paid_total)),1)]),Ft()&&i.internal_cost!=null&&i.internal_cost!==""?(r(),_("div",Hr,[e[100]||(e[100]=n("span",{class:"text-gray-500"},"内部成本:",-1)),n("span",Gr,"¥"+o(ee(i.internal_cost)),1)])):v("",!0)])]),_:2},1024)])]),_:1}),Ft()?(r(),g(P,{key:0,label:"内部成本",width:"92"},{default:s(({row:i})=>[p(o(i.internal_cost!=null&&i.internal_cost!==""?`¥${i.internal_cost}`:"—"),1)]),_:1})):v("",!0),a(P,{label:"处方审核",width:"110"},{default:s(({row:i})=>[a(A,{type:wa(i.prescription_audit_status),size:"small",class:q(Lt("rx",i))},{default:s(()=>[p(o(ha(i.prescription_audit_status)),1)]),_:2},1032,["type","class"])]),_:1}),a(P,{label:"支付单审核",width:"110"},{default:s(({row:i})=>[a(A,{type:wa(i.payment_slip_audit_status),size:"small",class:q(Lt("pay",i))},{default:s(()=>[p(o(ha(i.payment_slip_audit_status)),1)]),_:2},1032,["type","class"])]),_:1}),a(P,{label:"履约",width:"108"},{default:s(({row:i})=>[a(A,{type:Ws(i.fulfillment_status),size:"small",class:q(Lt("fulfillment",i))},{default:s(()=>[p(o(It(i.fulfillment_status)),1)]),_:2},1032,["type","class"])]),_:1}),a(P,{label:"关联支付单",width:"100"},{default:s(({row:i})=>[Number(i.linked_pay_order_count)>0?(r(),_("span",{key:0,class:"text-primary cursor-default",title:i.linked_pay_order_id?`#${i.linked_pay_order_id}…`:""},o(i.linked_pay_order_count)+" 笔 ",9,Wr)):(r(),_("span",Kr,"—"))]),_:1}),a(P,{label:"创建时间","min-width":"144"},{default:s(({row:i})=>[p(o(xe(i.create_time)),1)]),_:1}),a(P,{label:"开方人",prop:"doctor_name",width:"90","show-overflow-tooltip":""}),a(P,{label:"创建人",prop:"creator_name",width:"90","show-overflow-tooltip":""}),a(P,{"min-width":"128","show-overflow-tooltip":""},{header:s(()=>[e[101]||(e[101]=n("span",null,"二中心·指派",-1)),a(Dt,{placement:"top","max-width":"320",content:"与诊单「指派记录」快照一致:仅当本条业务单在操作瞬间为快照中的「关联业务单」(创建人+创建时间命中)时显示。绿色=新医助在名称含「二中心」的部门及其下级;灰色=系统自动释放诊单医助。"},{default:s(()=>[a(u,{class:"ml-0.5 align-middle text-gray-400 cursor-help"},{default:s(()=>[a(F(ui))]),_:1})]),_:1})]),default:s(({row:i})=>[Number(i.po_assign_snapshot_hit)?Number(i.po_assign_is_release)?(r(),g(A,{key:1,type:"info",size:"small"},{default:s(()=>[...e[102]||(e[102]=[p("已释放",-1)])]),_:1})):Number(i.po_assign_to_er_center)?(r(),g(A,{key:2,type:"success",size:"small"},{default:s(()=>[p(o(i.po_assign_to_assistant_name||"医助#"+i.po_assign_to_assistant_id),1)]),_:2},1024)):(r(),g(A,{key:3,type:"warning",size:"small",effect:"plain"},{default:s(()=>[p(" 非二中心 "+o(i.po_assign_to_assistant_name||"医助#"+i.po_assign_to_assistant_id),1)]),_:2},1024)):(r(),_("span",Qr,"—"))]),_:1}),a(P,{label:"操作",width:"310",fixed:"right"},{default:s(({row:i})=>[n("div",Yr,[O((r(),g(h,{type:"primary",link:"",onClick:x=>xl(i.id)},{default:s(()=>[p(o(ks.value),1)]),_:1},8,["onClick"])),[[z,["tcm.prescriptionOrder/detail"]]]),Ks(i)?O((r(),g(h,{key:0,type:"primary",link:"",onClick:x=>Tl(i)},{default:s(()=>[...e[103]||(e[103]=[p("编辑",-1)])]),_:1},8,["onClick"])),[[z,["tcm.prescriptionOrder/edit"]]]):v("",!0),el(i)?O((r(),g(h,{key:1,type:"success",link:"",onClick:x=>Fl(i)},{default:s(()=>[...e[104]||(e[104]=[p("修改单号",-1)])]),_:1},8,["onClick"])),[[z,["tcm.prescriptionOrder/ddcode"]]]):v("",!0),qt(i)?O((r(),g(h,{key:2,type:"primary",link:"",onClick:x=>ia(i)},{default:s(()=>[...e[105]||(e[105]=[p("确认发货",-1)])]),_:1},8,["onClick"])),[[z,["tcm.prescriptionOrder/ship"]]]):v("",!0),Sa(i)?O((r(),g(h,{key:3,type:"success",link:"",onClick:x=>Ka(i)},{default:s(()=>[...e[106]||(e[106]=[p("补齐支付单",-1)])]),_:1},8,["onClick"])),[[z,["tcm.prescriptionOrder/addPayOrder"]]]):v("",!0),Va(i)?O((r(),g(h,{key:4,type:"primary",link:"",onClick:x=>Qa(i)},{default:s(()=>[...e[107]||(e[107]=[p("完成订单",-1)])]),_:1},8,["onClick"])),[[z,["tcm.prescriptionOrder/complete"]]]):v("",!0),Zs(i)?O((r(),g(h,{key:5,type:"danger",link:"",onClick:x=>Rl(i)},{default:s(()=>[...e[108]||(e[108]=[p("撤回",-1)])]),_:1},8,["onClick"])),[[z,["tcm.prescriptionOrder/withdraw"]]]):v("",!0),tl(i)?O((r(),g(h,{key:6,type:"warning",link:"",loading:la.value===i.id,onClick:x=>zl(i)},{default:s(()=>[...e[109]||(e[109]=[p("上传药方",-1)])]),_:1},8,["loading","onClick"])),[[z,["tcm.prescriptionOrder/submitGancaoRecipel"]]]):v("",!0)])]),_:1})]),_:1},8,["data"]),n("div",Jr,[a(Xe,{modelValue:F(ne),"onUpdate:modelValue":e[13]||(e[13]=i=>Ii(ne)?ne.value=i:null),"page-sizes":[15,20,30,40,100,150,200],onChange:F(G)},null,8,["modelValue","onChange"])])]),_:1})),[[me,F(ne).loading]]),a(pa,{modelValue:Q.value,"onUpdate:modelValue":e[24]||(e[24]=i=>Q.value=i),class:"po-detail-drawer",size:"80%","destroy-on-close":"","close-on-click-modal":!1},{header:s(()=>{var i,x;return[n("div",Xr,[n("div",Zr,[e[110]||(e[110]=n("span",{class:"po-detail-drawer-title text-gray-800 font-semibold text-lg"},"业务订单详情",-1)),(i=c.value)!=null&&i.order_no?(r(),g(A,{key:0,type:"primary",effect:"plain",round:"",class:"ml-3"},{default:s(()=>[p(o(c.value.order_no),1)]),_:1})):v("",!0),(x=c.value)!=null&&x.gancao_reciperl_order_no?(r(),g(A,{key:1,type:"success",effect:"plain",round:"",class:"ml-2"},{default:s(()=>[p("甘草 "+o(c.value.gancao_reciperl_order_no),1)]),_:1})):v("",!0)]),c.value?(r(),_("div",eo,[Qs(c.value)?O((r(),g(h,{key:0,type:"warning",size:"small",plain:"",onClick:e[14]||(e[14]=V=>Ma(c.value,"prescription"))},{default:s(()=>[...e[111]||(e[111]=[p(" 处方审核 ",-1)])]),_:1})),[[z,["tcm.prescriptionOrder/auditPrescription"]]]):v("",!0),Js(c.value)?O((r(),g(h,{key:1,type:"info",size:"small",plain:"",onClick:e[15]||(e[15]=V=>Gl(c.value))},{default:s(()=>[...e[112]||(e[112]=[p(" 撤回处方审核 ",-1)])]),_:1})),[[z,["tcm.prescriptionOrder/auditPrescription"]]]):v("",!0),Ys(c.value)?O((r(),g(h,{key:2,type:"warning",size:"small",plain:"",onClick:e[16]||(e[16]=V=>Ma(c.value,"payment"))},{default:s(()=>[...e[113]||(e[113]=[p(" 支付审核 ",-1)])]),_:1})),[[z,["tcm.prescriptionOrder/auditPayment"]]]):v("",!0),Xs(c.value)?O((r(),g(h,{key:3,type:"info",size:"small",plain:"",onClick:e[17]||(e[17]=V=>Wl(c.value))},{default:s(()=>[...e[114]||(e[114]=[p(" 撤回支付审核 ",-1)])]),_:1})),[[z,["tcm.prescriptionOrder/auditPayment"]]]):v("",!0),qt(c.value)?O((r(),g(h,{key:4,type:"primary",size:"small",plain:"",onClick:e[18]||(e[18]=V=>ia(c.value))},{default:s(()=>[...e[115]||(e[115]=[p(" 确认发货 ",-1)])]),_:1})),[[z,["tcm.prescriptionOrder/ship"]]]):v("",!0),Sa(c.value)?O((r(),g(h,{key:5,type:"success",size:"small",plain:"",onClick:e[19]||(e[19]=V=>Ka(c.value))},{default:s(()=>[...e[116]||(e[116]=[p(" 关联支付单 ",-1)])]),_:1})),[[z,["tcm.prescriptionOrder/addPayOrder"]]]):v("",!0),Va(c.value)?O((r(),g(h,{key:6,type:"primary",size:"small",plain:"",onClick:e[20]||(e[20]=V=>Qa(c.value))},{default:s(()=>[...e[117]||(e[117]=[p(" 完成订单 ",-1)])]),_:1})),[[z,["tcm.prescriptionOrder/complete"]]]):v("",!0)])):v("",!0)])]}),default:s(()=>{var i;return[Mt.value?(r(),g(Te,{key:0,rows:12,animated:"",class:"px-6 py-4"})):c.value?(r(),_("div",to,[Ue.value?(r(),g(pe,{key:0,type:"error",closable:!1,"show-icon":"",class:"mb-4 !items-start",title:"业务订单收货手机与处方登记手机不一致"},{default:s(()=>[n("div",ao,[n("div",null,[e[118]||(e[118]=p(" 处方手机: ",-1)),n("span",so,o(sl.value),1)]),n("div",null,[e[119]||(e[119]=p(" 订单收货手机: ",-1)),n("span",lo,o(ll.value),1)]),e[120]||(e[120]=n("div",{class:"text-gray-600 mt-1"},"请核对是否代收货或录入错误,避免物流与回访联系错人。",-1))])]),_:1})):v("",!0),fe.value.show&&String(((i=c.value)==null?void 0:i.tracking_number)||"").trim()?(r(),g(pe,{key:1,type:"error",effect:"dark",closable:!1,"show-icon":"",class:"mb-4 !items-start ring-2 ring-red-600/90 shadow-lg",title:"物流异常:轨迹中出现拒收 / 退回等字样,请优先跟进处理"},{default:s(()=>[n("div",no,[fe.value.keywords.length?(r(),_("div",io,[e[121]||(e[121]=n("span",{class:"text-red-100 text-xs"},"命中关键词:",-1)),(r(!0),_($,null,I(fe.value.keywords,x=>(r(),g(A,{key:x,type:"danger",effect:"plain",size:"small",class:"!border-white/40 !text-white"},{default:s(()=>[p(o(x),1)]),_:2},1024))),128))])):v("",!0),fe.value.lines.length?(r(),_("ul",ro,[(r(!0),_($,null,I(fe.value.lines,(x,V)=>(r(),_("li",{key:V},o(x),1))),128))])):v("",!0),e[122]||(e[122]=n("div",{class:"text-xs text-red-100/90 pt-1 border-t border-white/15"}," 请核实是否需改址重发、拦截退件或协调患者签收,并在备注中记录处理结果。 ",-1))])]),_:1})):v("",!0),n("div",oo,[a(Oe,{active:pt.value,"align-center":"","finish-status":"success"},{default:s(()=>[a(le,{title:"业务订单创建",description:xe(c.value.create_time)},null,8,["description"]),a(le,{title:"处方单双审",status:ct.value},{description:s(()=>[ct.value==="error"?(r(),_("span",uo,"处方被驳回")):ct.value==="wait"?(r(),_("span",po,"等待审核")):ct.value==="success"?(r(),_("span",co,"双审通过")):(r(),_("span",mo,"进行中"))]),_:1},8,["status"]),a(le,{title:"支付单审核",status:mt.value},{description:s(()=>[mt.value==="error"?(r(),_("span",_o,"支付审核驳回")):mt.value==="wait"?(r(),_("span",fo,"等待审核")):mt.value==="success"?(r(),_("span",vo,"审核通过")):(r(),_("span",go,"进行中"))]),_:1},8,["status"]),a(le,{title:"发货与履约",status:ke.value},{description:s(()=>{var x,V,D;return[ke.value==="process"&&Number((x=c.value)==null?void 0:x.fulfillment_status)===7?(r(),_("span",yo,"进行中")):ke.value==="process"?(r(),_("span",bo,"等待发货/补充单号")):ke.value==="wait"?(r(),_("span",xo,"待转入履约")):ke.value==="success"?(r(),_("span",ko,o(It((V=c.value)==null?void 0:V.fulfillment_status)),1)):ke.value==="error"?(r(),_("span",ho,o(It((D=c.value)==null?void 0:D.fulfillment_status)),1)):v("",!0)]}),_:1},8,["status"]),a(le,{title:"订单完成"})]),_:1},8,["active"])]),a(Ze,{gutter:16,class:"mb-5"},{default:s(()=>[a(U,{xs:12,sm:6},{default:s(()=>[a(l,{shadow:"never",class:"stat-card border border-gray-100 bg-gray-50/50"},{default:s(()=>[n("div",wo,[e[124]||(e[124]=n("div",{class:"stat-title text-gray-500 text-xs"},"总金额",-1)),Bt(c.value)?O((r(),g(h,{key:0,type:"primary",size:"small",link:"",onClick:yl},{default:s(()=>[...e[123]||(e[123]=[p(" 修改 ",-1)])]),_:1})),[[z,["tcm.prescriptionOrder/updateAmount"]]]):v("",!0)]),n("div",So,"¥"+o(c.value.amount),1)]),_:1})]),_:1}),a(U,{xs:12,sm:6},{default:s(()=>[a(l,{shadow:"never",class:"stat-card border border-gray-100 bg-gray-50/50"},{default:s(()=>[e[125]||(e[125]=n("div",{class:"stat-title text-gray-500 text-xs mb-1"},"已付总额",-1)),n("div",Vo,"¥"+o(c.value.linked_pay_paid_total||0),1)]),_:1})]),_:1}),a(U,{xs:12,sm:6},{default:s(()=>[a(l,{shadow:"never",class:"stat-card border border-gray-100 bg-gray-50/50"},{default:s(()=>[e[126]||(e[126]=n("div",{class:"stat-title text-gray-500 text-xs mb-1"},"需代收",-1)),n("div",{class:q(["stat-value font-bold text-xl",Ca.value>0?"text-amber-600":"text-gray-500"])}," ¥"+o(ee(Ca.value)),3)]),_:1})]),_:1}),a(U,{xs:12,sm:6},{default:s(()=>[a(l,{shadow:"never",class:"stat-card border border-gray-100 bg-gray-50/50"},{default:s(()=>[e[127]||(e[127]=n("div",{class:"stat-title text-gray-500 text-xs mb-1"},"已付笔数",-1)),n("div",No,o(Ht.value.length)+" 笔",1)]),_:1})]),_:1})]),_:1}),n("div",Co,[a(l,{shadow:"never",class:"po-panel po-panel-rx border-gray-100 h-full relative overflow-hidden"},{header:s(()=>[n("div",Oo,[n("div",Ao,[e[134]||(e[134]=n("span",{class:"font-medium text-[15px]"},"处方详情",-1)),c.value.doctor_name?(r(),_("span",Ro,[e[130]||(e[130]=p(" 开方人:",-1)),n("span",$o,o(c.value.doctor_name),1)])):v("",!0),c.value.prescription_id&&T.value&&!String(c.value.prescription_detail_error||"").trim()?O((r(),g(h,{key:1,type:"default",size:"small",link:"",onClick:fl},{default:s(()=>[...e[131]||(e[131]=[p(" 改患者信息 ",-1)])]),_:1})),[[z,["tcm.prescriptionOrder/patchPrescriptionPatient"]]]):v("",!0),c.value.prescription_id&&_e.value?(r(),g(h,{key:2,type:"primary",size:"small",link:"",onClick:e[21]||(e[21]=x=>ls(c.value))},{default:s(()=>[...e[132]||(e[132]=[p(" 详细 ",-1)])]),_:1})):v("",!0),c.value.id&&_e.value?(r(),g(h,{key:3,type:"warning",size:"small",link:"",loading:Ce.value,icon:F(cs),onClick:Ul},{default:s(()=>[...e[133]||(e[133]=[p(" 测试价格 ",-1)])]),_:1},8,["loading","icon"])):v("",!0)]),n("span",Eo,"ID: "+o(c.value.prescription_id||"—"),1)])]),default:s(()=>[c.value.prescription_audit_status===1?(r(),_("div",Po,[...e[128]||(e[128]=[n("div",{class:"stamp-inner"},"审核通过",-1)])])):v("",!0),c.value.prescription_audit_status===2?(r(),_("div",To,[...e[129]||(e[129]=[n("div",{class:"stamp-inner"},"已驳回",-1)])])):v("",!0),String(c.value.prescription_detail_error||"").trim()?(r(),g(pe,{key:2,title:c.value.prescription_detail_error,type:"warning",closable:!1,"show-icon":"",class:"mb-3"},null,8,["title"])):T.value?(r(),_($,{key:3},[a(et,{column:2,border:"",size:"small",class:"po-desc bg-white"},{default:s(()=>[a(C,{label:"处方编号",span:2},{default:s(()=>[p(o(T.value.sn||"—"),1)]),_:1}),a(C,{label:"患者"},{default:s(()=>[p(o(T.value.patient_name||"—"),1)]),_:1}),a(C,{label:"性别 / 年龄"},{default:s(()=>[p(o(T.value.gender_desc||"—")+" · "+o(T.value.age??"—")+"岁 ",1)]),_:1}),a(C,{label:"手机"},{default:s(()=>[n("span",{class:q(Ue.value?"rx-phone-mismatch text-red-600 font-bold":"")},o(T.value.phone||"—"),3),Ue.value?(r(),g(A,{key:0,type:"danger",size:"small",effect:"dark",class:"ml-2 align-middle"},{default:s(()=>[...e[135]||(e[135]=[p(" 与订单手机不一致 ",-1)])]),_:1})):v("",!0)]),_:1}),a(C,{label:"处方日期"},{default:s(()=>[p(o(T.value.prescription_date||"—"),1)]),_:1}),a(C,{label:"医师"},{default:s(()=>[p(o(T.value.doctor_name||"—"),1)]),_:1}),a(C,{label:"类型"},{default:s(()=>[p(o(T.value.prescription_type||"—"),1)]),_:1}),a(C,{label:"临床诊断",span:2},{default:s(()=>[p(o(T.value.clinical_diagnosis||"—"),1)]),_:1}),_e.value?(r(),g(C,{key:0,label:"剂数 / 用法",span:2},{default:s(()=>[p(o(c.value.dose_count??T.value.dose_count??"—")+" "+o(c.value.dose_unit||"剂")+" · "+o(T.value.usage_instruction||T.value.usage_method||"—"),1)]),_:1})):v("",!0),a(C,{label:"处方金额"},{default:s(()=>[n("span",Do,"¥"+o(T.value.amount??"—"),1)]),_:1}),a(C,{label:"消费者审核"},{default:s(()=>[a(A,{type:ol(T.value.audit_status),size:"small"},{default:s(()=>[p(o(rl(T.value.audit_status)),1)]),_:1},8,["type"])]),_:1}),a(C,{label:"用量"},{default:s(()=>[T.value.dosage_amount?(r(),_($,{key:0},[p(o(T.value.dosage_amount)+o(T.value.dosage_unit||"g")+" ",1),T.value.prescription_type==="浓缩水丸"?(r(),_($,{key:0},[p(" · "+o(Number(T.value.dosage_bag_count)>0?Number(T.value.dosage_bag_count):1)+"袋 ",1)],64)):v("",!0),T.value.prescription_type==="饮片"&&T.value.need_decoction!==null?(r(),_("span",Uo," ("+o(T.value.need_decoction?"代煎":"不代煎")+") ",1)):v("",!0)],64)):(r(),_($,{key:1},[p("—")],64))]),_:1}),a(C,{label:"服用方式"},{default:s(()=>[n("div",zo,[n("div",null,[e[136]||(e[136]=n("span",{class:"text-gray-500"},"每天次数:",-1)),p(" "+o(T.value.times_per_day?T.value.times_per_day+" 次":"—"),1)]),n("div",null,[e[137]||(e[137]=n("span",{class:"text-gray-500"},"处方开立:",-1)),p(" "+o(T.value.usage_days!=null&&T.value.usage_days!==""?T.value.usage_days+" 天":"—"),1)]),n("div",null,[e[138]||(e[138]=n("span",{class:"text-gray-500"},"订单设置:",-1)),p(" "+o(c.value.medication_days!=null&&String(c.value.medication_days).trim()!==""?c.value.medication_days+" 天":"—"),1)])])]),_:1}),a(C,{label:"状态",span:2},{default:s(()=>[a(A,{type:Number(T.value.void_status)===1?"danger":"success",size:"small"},{default:s(()=>[p(o(Number(T.value.void_status)===1?"已作废":"正常"),1)]),_:1},8,["type"])]),_:1})]),_:1}),nl.value?(r(),_("div",Fo,[e[139]||(e[139]=n("div",{class:"text-xs font-medium text-gray-500 mb-2 px-1"},"药材明细",-1)),$a.value.length?(r(),g(ge,{key:0,data:$a.value,size:"small",border:"",stripe:"","max-height":"260"},{default:s(()=>[a(P,{type:"index",label:"#",width:"48",align:"center"}),a(P,{prop:"name",label:"药名","min-width":"120","show-overflow-tooltip":""}),a(P,{prop:"dosage",label:"用量(g)",width:"96",align:"right"})]),_:1},8,["data"])):(r(),g(Ae,{key:1,description:"无处方药材明细","image-size":64}))])):v("",!0)],64)):(r(),g(Ae,{key:4,description:"无处方数据","image-size":72}))]),_:1}),n("div",jo,[a(l,{shadow:"never",class:"po-panel border-gray-100"},{header:s(()=>[...e[140]||(e[140]=[n("div",{class:"flex items-center justify-between"},[n("span",{class:"font-medium text-[15px]"},"未关联的收款记录"),n("span",{class:"text-xs text-gray-400"},"本诊单下未被占用的支付单")],-1)])]),default:s(()=>[he.value.length?(r(),g(ge,{key:0,data:he.value,size:"small",border:"",stripe:"",class:"po-pay-table","max-height":"280"},{default:s(()=>[a(P,{prop:"id",label:"ID",width:"70"}),a(P,{prop:"order_no",label:"单号","min-width":"135","show-overflow-tooltip":""}),a(P,{label:"类型",width:"90"},{default:s(({row:x})=>[p(o(x.order_type_desc||dt(x.order_type)),1)]),_:1}),a(P,{label:"金额",width:"86",align:"right"},{default:s(({row:x})=>[n("span",Lo,"¥"+o(x.amount),1)]),_:1}),a(P,{label:"状态",width:"100",align:"center"},{default:s(({row:x})=>[a(A,{type:Da(x.status),size:"small"},{default:s(()=>[p(o(x.status_desc||Na(x.status)),1)]),_:2},1032,["type"]),x.is_exempt===1?(r(),g(A,{key:0,type:"warning",size:"small",class:"ml-1"},{default:s(()=>[...e[141]||(e[141]=[p("豁免",-1)])]),_:1})):v("",!0)]),_:1}),a(P,{prop:"creator_name",label:"创建人",width:"80","show-overflow-tooltip":""}),a(P,{label:"创建时间","min-width":"136"},{default:s(({row:x})=>[p(o(Ua(x.create_time)),1)]),_:1})]),_:1},8,["data"])):(r(),g(Ae,{key:1,description:"无未关联的收款单","image-size":60}))]),_:1}),a(l,{shadow:"never",class:"po-panel po-panel-pay border-gray-100 relative overflow-hidden"},{header:s(()=>[n("div",Bo,[n("div",Mo,[e[145]||(e[145]=n("span",{class:"font-medium text-[15px]"},"关联收款记录",-1)),c.value.creator_name?(r(),_("span",Ho,[e[144]||(e[144]=p(" 创建人:",-1)),n("span",Go,o(c.value.creator_name),1)])):v("",!0)])])]),default:s(()=>[c.value.payment_slip_audit_status===1?(r(),_("div",Io,[...e[142]||(e[142]=[n("div",{class:"stamp-inner"},"审核通过",-1)])])):v("",!0),c.value.payment_slip_audit_status===2?(r(),_("div",qo,[...e[143]||(e[143]=[n("div",{class:"stamp-inner"},"已驳回",-1)])])):v("",!0),Ht.value.length?(r(),g(ge,{key:2,data:Ht.value,size:"small",border:"",stripe:"",class:"po-pay-table","max-height":"280"},{default:s(()=>[a(P,{prop:"id",label:"ID",width:"70"}),a(P,{prop:"order_no",label:"单号","min-width":"135","show-overflow-tooltip":""}),a(P,{label:"类型",width:"90"},{default:s(({row:x})=>[p(o(x.order_type_desc||dt(x.order_type)),1)]),_:1}),a(P,{label:"金额",width:"86",align:"right"},{default:s(({row:x})=>[n("span",Wo,"¥"+o(x.amount),1)]),_:1}),a(P,{label:"状态",width:"100",align:"center"},{default:s(({row:x})=>[a(A,{type:Da(x.status),size:"small"},{default:s(()=>[p(o(x.status_desc||Na(x.status)),1)]),_:2},1032,["type"]),x.is_exempt===1?(r(),g(A,{key:0,type:"warning",size:"small",class:"ml-1"},{default:s(()=>[...e[146]||(e[146]=[p("豁免",-1)])]),_:1})):v("",!0)]),_:1}),a(P,{prop:"creator_name",label:"创建人",width:"80","show-overflow-tooltip":""}),a(P,{label:"创建时间","min-width":"136"},{default:s(({row:x})=>[p(o(Ua(x.create_time)),1)]),_:1})]),_:1},8,["data"])):(r(),g(Ae,{key:3,description:"未关联收款单","image-size":60}))]),_:1})])]),a(l,{shadow:"never",class:"po-panel po-panel-biz border-gray-100 mb-4"},{header:s(()=>[...e[147]||(e[147]=[n("span",{class:"font-medium text-[15px]"},"履约与收货信息",-1)])]),default:s(()=>[a(et,{column:3,border:"",size:"small",class:"po-desc"},{default:s(()=>[a(C,{label:"诊单ID",span:3},{default:s(()=>[n("span",Ko,o(c.value.diagnosis_id),1),Number(c.value.diagnosis_id)>0?(r(),g(h,{key:0,type:"primary",link:"",size:"small",class:"ml-2 align-baseline",onClick:ys},{default:s(()=>[...e[148]||(e[148]=[p(" 查看患者信息 ",-1)])]),_:1})):v("",!0)]),_:1}),a(C,{label:"创建时间",span:1},{default:s(()=>[p(o(xe(c.value.create_time)),1)]),_:1}),a(C,{label:"业务订单创建人",span:2},{default:s(()=>[Number(c.value.creator_id)>0||c.value.creator_name?(r(),_("div",Qo,[n("div",null,[n("span",Yo,o(c.value.creator_name||"—"),1),Number(c.value.creator_id)>0?(r(),_("span",Jo,"ID "+o(c.value.creator_id),1)):v("",!0)]),Oa.value?(r(),_("div",Xo,o(Oa.value),1)):v("",!0)])):(r(),_("span",Zo,"—"))]),_:1}),a(C,{label:"创建人所属部门",span:3},{default:s(()=>[Ta.value.length?(r(),_("div",eu,[(r(!0),_($,null,I(Ta.value,(x,V)=>(r(),_("div",{key:V,class:"min-w-0"},[x.length?(r(),g(os,{key:0,class:"po-diagnosis-creator-dept-breadcrumb text-[13px] leading-relaxed",separator:"/"},{default:s(()=>[(r(!0),_($,null,I(x,(D,ye)=>(r(),g(rs,{key:ye},{default:s(()=>[n("span",tu,o(D),1)]),_:2},1024))),128))]),_:2},1024)):v("",!0)]))),128))])):(r(),_("span",au,"—"))]),_:1}),a(C,{label:"收货人"},{default:s(()=>[p(o(c.value.recipient_name),1)]),_:1}),a(C,{label:"挂号关联",span:3},{default:s(()=>[Y.value?(r(),_($,{key:0},[n("div",su,[n("span",null,[e[149]||(e[149]=p("流转编号(挂号) ",-1)),n("span",lu,"#"+o(Y.value.id),1)]),n("span",nu,"时间:"+o(Y.value.appointment_date)+" "+o(Y.value.period)+" "+o(Y.value.appointment_time),1),a(A,{size:"small",type:"info"},{default:s(()=>[p(o(Y.value.appointment_type_desc),1)]),_:1}),a(A,{size:"small"},{default:s(()=>[p(o(Y.value.status_desc),1)]),_:1}),Y.value.doctor_name?(r(),_("span",iu,"接诊:"+o(Y.value.doctor_name),1)):v("",!0),Ra.value?(r(),_("span",ru,"渠道:"+o(Ra.value),1)):v("",!0),Aa.value?(r(),g(A,{key:2,size:"small",effect:"plain"},{default:s(()=>[p(o(Aa.value),1)]),_:1})):v("",!0)]),String(Y.value.remark||"").trim()?(r(),_("p",ou," 备注:"+o(Y.value.remark),1)):v("",!0)],64)):(r(),_("span",uu,"暂无挂号预约记录(未绑定或诊单下无预约)"))]),_:1}),a(C,{label:"收货手机"},{default:s(()=>[n("span",{class:q(Ue.value?"text-red-600 font-bold font-mono":"font-mono")},o(c.value.recipient_phone||"—"),3),Ue.value?(r(),g(A,{key:0,type:"danger",size:"small",effect:"dark",class:"ml-2 align-middle"},{default:s(()=>[...e[150]||(e[150]=[p(" 与处方手机不一致 ",-1)])]),_:1})):v("",!0)]),_:1}),a(C,{label:"收货地址",span:2},{default:s(()=>[p(o(il.value),1)]),_:1}),a(C,{label:"复诊"},{default:s(()=>[p(o(c.value.is_follow_up?"是":"否"),1)]),_:1}),a(C,{label:"用药疗程"},{default:s(()=>[p(o(c.value.medication_days?c.value.medication_days+" 天":"—"),1)]),_:1}),a(C,{label:"上次医护"},{default:s(()=>[p(o(c.value.prev_staff||"—"),1)]),_:1}),a(C,{label:"服务渠道"},{default:s(()=>[p(o(c.value.service_channel||"—"),1)]),_:1}),a(C,{label:"服务套餐"},{default:s(()=>[p(o(Gs(c.value.service_package)),1)]),_:1}),a(C,{label:"费用类别"},{default:s(()=>[p(o(dt(c.value.fee_type)),1)]),_:1}),c.value.internal_cost!=null&&c.value.internal_cost!==""?(r(),g(C,{key:0,label:"内部成本"},{default:s(()=>[p(" ¥"+o(c.value.internal_cost),1)]),_:1})):v("",!0),a(C,{label:"快递单号",span:c.value.internal_cost!=null&&c.value.internal_cost!==""?1:2},{default:s(()=>[p(o(c.value.tracking_number||"—"),1)]),_:1},8,["span"]),a(C,{label:"快递公司"},{default:s(()=>[p(o(ml(c.value.express_company)),1)]),_:1}),O((r(),g(C,{label:"药房备注",span:3},{default:s(()=>[p(o(c.value.remark_extra||"—"),1)]),_:1})),[[z,["tcm.prescriptionOrder/editRemarkExtra"]]]),a(C,{label:"医助备注",span:3},{default:s(()=>[p(o(c.value.remark_assistant||"—"),1)]),_:1}),a(C,{label:"处方审核意见",span:3},{default:s(()=>[n("span",du,o(c.value.prescription_audit_remark||"—"),1)]),_:1}),a(C,{label:"支付审核意见",span:3},{default:s(()=>[n("span",pu,o(c.value.payment_slip_audit_remark||"—"),1)]),_:1})]),_:1})]),_:1}),String(c.value.tracking_number||"").trim()?(r(),g(l,{key:2,shadow:"never",class:q(["po-panel po-panel-logistics",fe.value.show?"!border-2 !border-red-500 shadow-md shadow-red-500/10":"border-gray-100"])},{header:s(()=>[n("div",cu,[e[152]||(e[152]=n("span",{class:"font-medium text-[15px]"},"物流轨迹",-1)),fe.value.show?(r(),g(A,{key:0,type:"danger",effect:"dark",size:"small"},{default:s(()=>[...e[151]||(e[151]=[p(" 拒收/退回 · 待处理 ",-1)])]),_:1})):v("",!0)])]),default:s(()=>{var x,V,D,ye,tt,at;return[e[158]||(e[158]=n("p",{class:"po-logistics-tip text-gray-400 text-xs mb-3 font-normal"}," 优先读库,无记录时走快递100。顺丰会校验单号+电话(快递100要求完整手机号更易通过);默认预填订单收货手机,若仍提示验证码错误请改成与顺丰面单一致的号码。 ",-1)),n("div",mu,[a(y,{modelValue:Fe.value,"onUpdate:modelValue":e[22]||(e[22]=re=>Fe.value=re),clearable:"",maxlength:"20",placeholder:"收件手机(建议11位,与面单一致)",class:"w-[180px]",onKeyup:lt(Qt,["enter"])},null,8,["modelValue"]),a(N,{modelValue:ze.value,"onUpdate:modelValue":e[23]||(e[23]=re=>ze.value=re),placeholder:"承运商",style:{width:"140px"}},{default:s(()=>[a(m,{label:"自动识别",value:"auto"}),a(m,{label:"顺丰速运",value:"sf"}),a(m,{label:"京东快递",value:"jd"}),a(m,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"]),O((r(),g(h,{type:"primary",plain:"",size:"default",loading:vt.value,onClick:Qt},{icon:s(()=>[a(u,null,{default:s(()=>[a(F(di))]),_:1})]),default:s(()=>[e[153]||(e[153]=p(" 刷新轨迹 ",-1))]),_:1},8,["loading"])),[[z,["tcm.prescriptionOrder/logisticsTrace"]]]),n("div",_u,[a(da,{href:Kt.value.sf,target:"_blank",type:"primary",underline:!1,class:"text-[13px]"},{default:s(()=>[...e[154]||(e[154]=[p("顺丰官网",-1)])]),_:1},8,["href"]),a(da,{href:Kt.value.jd,target:"_blank",type:"primary",underline:!1,class:"text-[13px]"},{default:s(()=>[...e[155]||(e[155]=[p("京东物流",-1)])]),_:1},8,["href"]),a(da,{href:Kt.value.jt,target:"_blank",type:"primary",underline:!1,class:"text-[13px]"},{default:s(()=>[...e[156]||(e[156]=[p("极兔",-1)])]),_:1},8,["href"])])]),String(((x=H.value)==null?void 0:x.hint)||"").trim()?(r(),g(pe,{key:0,title:String(((V=H.value)==null?void 0:V.hint)||""),type:"info",closable:!1,class:"mb-4","show-icon":""},null,8,["title"])):v("",!0),vt.value&&!H.value?(r(),_("div",fu,[a(u,{class:"is-loading mr-1"},{default:s(()=>[a(F(pi))]),_:1}),e[157]||(e[157]=p("正在加载物流轨迹... ",-1))])):H.value?(r(),_("div",vu,[(D=H.value)!=null&&D.state_text?(r(),_("div",gu,[n("span",yu,"状态:"+o(H.value.state_text),1),(ye=H.value)!=null&&ye.carrier_label?(r(),g(A,{key:0,size:"small",type:"info"},{default:s(()=>[p(o(H.value.carrier_label),1)]),_:1})):v("",!0),(tt=H.value)!=null&&tt.source?(r(),_("span",bu," ["+o(H.value.source==="database"?"数据库缓存":"API拉取")+"] ",1)):v("",!0),(at=H.value)!=null&&at.last_query_time?(r(),_("span",xu," 更新时间:"+o(H.value.last_query_time),1)):v("",!0)])):v("",!0),za.value.length?(r(),g(ds,{key:1,class:"mt-2 pl-2"},{default:s(()=>[(r(!0),_($,null,I(za.value,(re,Ut)=>(r(),g(us,{key:Ut,type:Ut===0?"primary":"info",hollow:Ut!==0,timestamp:re.time,placement:"top"},{default:s(()=>[n("span",{class:q([Ut===0?"text-gray-800 font-medium":"text-gray-500",cl(re.context)?"!text-red-700 font-semibold bg-red-50 px-1.5 py-0.5 rounded":""])},o(re.context),3)]),_:2},1032,["type","hollow","timestamp"]))),128))]),_:1})):(r(),g(Ae,{key:2,description:"暂无轨迹节点记录","image-size":64}))])):v("",!0)]}),_:1},8,["class"])):v("",!0),O((r(),g(l,{shadow:"never",class:"po-panel border-gray-100 mt-4"},{header:s(()=>[...e[159]||(e[159]=[n("span",{class:"font-medium text-[15px]"},"操作日志",-1)])]),default:s(()=>[we.value.length?(r(),g(ds,{key:0,class:"mt-2 pl-2"},{default:s(()=>[(r(!0),_($,null,I(we.value,(x,V)=>(r(),g(us,{key:x.id,type:V===0?"primary":"info",hollow:V!==0,timestamp:xe(x.create_time),placement:"top"},{default:s(()=>[n("div",ku,[n("span",hu,o(x.admin_name),1),a(A,{size:"small",type:"info"},{default:s(()=>[p(o(pl(x.action)),1)]),_:2},1024)]),n("span",{class:q(V===0?"text-gray-800 font-medium":"text-gray-500")},o(x.summary),3)]),_:2},1032,["type","hollow","timestamp"]))),128))]),_:1})):(r(),g(Ae,{key:1,description:"暂无操作日志","image-size":64}))]),_:1})),[[z,["tcm.prescriptionOrder/logs"]]])])):v("",!0)]}),_:1},8,["modelValue"]),a(ce,{modelValue:je.value,"onUpdate:modelValue":e[27]||(e[27]=i=>je.value=i),title:"修改订单金额",width:"420px","destroy-on-close":"","close-on-click-modal":!1,onClosed:gl},{footer:s(()=>[a(h,{onClick:e[26]||(e[26]=i=>je.value=!1)},{default:s(()=>[...e[161]||(e[161]=[p("取消",-1)])]),_:1}),a(h,{type:"primary",loading:Gt.value,onClick:Ia},{default:s(()=>[...e[162]||(e[162]=[p(" 确认修改 ",-1)])]),_:1},8,["loading"])]),default:s(()=>[a(L,{ref_key:"updateAmountFormRef",ref:gt,model:oe,rules:ul,"label-width":"96px",class:"pr-2",onSubmit:ma(Ia,["prevent"])},{default:s(()=>[a(d,{label:"当前金额"},{default:s(()=>{var i;return[n("div",wu,"¥"+o(ee((i=c.value)==null?void 0:i.amount)),1)]}),_:1}),a(d,{label:"新金额",prop:"amount"},{default:s(()=>[a(Re,{modelValue:oe.amount,"onUpdate:modelValue":e[25]||(e[25]=i=>oe.amount=i),min:.01,step:.01,precision:2,"controls-position":"right",class:"w-full",placeholder:"请输入新金额"},null,8,["modelValue"])]),_:1}),e[160]||(e[160]=n("div",{class:"text-xs text-gray-400 pl-[96px] -mt-1 leading-relaxed"}," 已完成或已取消订单不可修改。提交成功后会刷新详情与操作日志。 ",-1))]),_:1},8,["model"])]),_:1},8,["modelValue"]),a(ce,{modelValue:ve.value,"onUpdate:modelValue":e[48]||(e[48]=i=>ve.value=i),title:"编辑业务订单",width:"940px",top:"4vh","close-on-click-modal":!1,"destroy-on-close":"",class:"create-order-dialog",onClosed:Nl},{footer:s(()=>[n("div",sd,[n("div",ld,[n("span",nd,"第 "+o(B.value+1)+" / 3 步",1),B.value===2&&M.value>0?(r(),_("span",id," 订单金额与关联支付单合计须 ≥ ¥"+o(ee(M.value)),1)):v("",!0)]),n("div",rd,[a(h,{size:"large",onClick:e[47]||(e[47]=i=>ve.value=!1)},{default:s(()=>[...e[175]||(e[175]=[p("取消",-1)])]),_:1}),B.value>0?(r(),g(h,{key:0,size:"large",onClick:Cl},{default:s(()=>[...e[176]||(e[176]=[p("上一步",-1)])]),_:1})):v("",!0),B.value<2?(r(),g(h,{key:1,type:"primary",size:"large",onClick:Pl},{default:s(()=>[...e[177]||(e[177]=[p(" 下一步 ",-1)])]),_:1})):v("",!0),B.value===2?(r(),g(h,{key:2,type:"primary",size:"large",loading:Zt.value,onClick:Ol},{default:s(()=>[...e[178]||(e[178]=[p(" 确认保存 ",-1)])]),_:1},8,["loading"])):v("",!0)])])]),default:s(()=>[O((r(),_("div",Su,[ae.value?(r(),_("div",Vu,[n("div",Nu,[e[163]||(e[163]=n("span",{class:"create-order-rx-card__badge"},"关联处方",-1)),n("div",Cu,[n("span",Pu,"#"+o(ae.value.id),1),ae.value.sn?(r(),_("span",Tu,o(ae.value.sn),1)):v("",!0),n("span",Ou,o(ae.value.patient_name||"—"),1)])]),a(Dt,{content:qa.value,placement:"bottom","show-after":300},{default:s(()=>[n("div",Au,o(qa.value),1)]),_:1},8,["content"])])):v("",!0),a(Oe,{active:B.value,"finish-status":"success","align-center":"",class:"create-order-steps"},{default:s(()=>[a(le,{title:"患者与收货",description:"诊单与物流地址"}),a(le,{title:"服务与支付单",description:"套餐与关联收款"}),a(le,{title:"金额与确认",description:"费用与备注"})]),_:1},8,["active"]),n("p",Ru,o(kl.value),1),a(L,{ref_key:"editFormRef",ref:Ve,model:f,rules:Vl.value,"label-width":"108px",class:"create-order-form"},{default:s(()=>[O(n("div",$u,[a(Ze,{gutter:20},{default:s(()=>[a(U,{span:12},{default:s(()=>[a(d,{label:"收货人",prop:"recipient_name"},{default:s(()=>[a(y,{modelValue:f.recipient_name,"onUpdate:modelValue":e[28]||(e[28]=i=>f.recipient_name=i),maxlength:"50",placeholder:"姓名"},null,8,["modelValue"])]),_:1})]),_:1}),a(U,{span:12},{default:s(()=>[a(d,{label:"收货手机",prop:"recipient_phone"},{default:s(()=>[a(y,{modelValue:f.recipient_phone,"onUpdate:modelValue":e[29]||(e[29]=i=>f.recipient_phone=i),maxlength:"20",placeholder:"物流联系"},null,8,["modelValue"])]),_:1})]),_:1}),a(U,{span:24},{default:s(()=>[a(d,{label:"省市区",prop:"region"},{default:s(()=>[a(cn,{modelValue:f.region,"onUpdate:modelValue":e[30]||(e[30]=i=>f.region=i),options:it.value,props:{emitPath:!0},placeholder:"省 / 市 / 区",clearable:"",filterable:"",class:"w-full"},null,8,["modelValue","options"])]),_:1})]),_:1}),a(U,{span:24},{default:s(()=>[a(d,{label:"详细地址",prop:"shipping_address"},{default:s(()=>[a(y,{modelValue:f.shipping_address,"onUpdate:modelValue":e[31]||(e[31]=i=>f.shipping_address=i),type:"textarea",rows:3,placeholder:"街道、小区、门牌号等详细地址",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})],512),[[_a,B.value===0]]),O(n("div",Eu,[_e.value?(r(),g(Ze,{key:0,gutter:20,class:"mb-1"},{default:s(()=>[a(U,{span:24},{default:s(()=>[n("div",Du,[e[166]||(e[166]=n("span",{class:"text-sm font-medium text-gray-700 mr-1"},"处方",-1)),f.prescription_id?(r(),g(h,{key:0,type:"primary",size:"small",link:"",onClick:on},{default:s(()=>[...e[164]||(e[164]=[p(" 详细 ",-1)])]),_:1})):v("",!0),f.id?(r(),g(h,{key:1,type:"warning",size:"small",link:"",loading:Ce.value,icon:F(cs),onClick:Dl},{default:s(()=>[...e[165]||(e[165]=[p(" 测试价格 ",-1)])]),_:1},8,["loading","icon"])):v("",!0),n("span",Uu,"ID: "+o(f.prescription_id||"—"),1)]),n("div",zu,[Ba.value.length?(r(),_("div",Fu,[e[167]||(e[167]=n("div",{class:"text-gray-500"},"创建人所属部门",-1)),(r(!0),_($,null,I(Ba.value,(i,x)=>(r(),_("div",{key:x,class:"pl-0 min-w-0"},[i.length?(r(),g(os,{key:0,class:"po-diagnosis-creator-dept-breadcrumb text-[13px] leading-relaxed",separator:"/"},{default:s(()=>[(r(!0),_($,null,I(i,(V,D)=>(r(),g(rs,{key:D},{default:s(()=>[n("span",ju,o(V),1)]),_:2},1024))),128))]),_:2},1024)):v("",!0)]))),128))])):(r(),_("div",Lu,"创建人所属部门:—"))])]),_:1}),a(U,{xs:24,sm:8},{default:s(()=>[a(d,{label:"复诊"},{default:s(()=>[a(mn,{modelValue:f.is_follow_up,"onUpdate:modelValue":e[32]||(e[32]=i=>f.is_follow_up=i),"active-value":1,"inactive-value":0},null,8,["modelValue"])]),_:1})]),_:1}),a(U,{xs:24,sm:8},{default:s(()=>[a(d,{label:"服用天数",class:"create-order-form-item--inline-num"},{default:s(()=>[n("div",Iu,[a(Re,{modelValue:f.medication_days,"onUpdate:modelValue":e[33]||(e[33]=i=>f.medication_days=i),min:1,max:999,step:1,"controls-position":"right",class:"flex-1 min-w-0"},null,8,["modelValue"]),e[168]||(e[168]=n("span",{class:"create-order-unit-suffix"},"天",-1))])]),_:1})]),_:1}),a(U,{xs:24,sm:8},{default:s(()=>[a(d,{label:"上次医生"},{default:s(()=>[a(y,{modelValue:f.prev_staff,"onUpdate:modelValue":e[34]||(e[34]=i=>f.prev_staff=i),placeholder:"可选",maxlength:"100"},null,8,["modelValue"])]),_:1})]),_:1}),a(U,{span:12},{default:s(()=>[a(d,{label:Ea.value,prop:"dose_count"},{default:s(()=>[a(Re,{modelValue:f.dose_count,"onUpdate:modelValue":e[35]||(e[35]=i=>f.dose_count=i),min:1,placeholder:Ea.value,class:"w-full"},null,8,["modelValue","placeholder"])]),_:1},8,["label"])]),_:1}),a(U,{span:12},{default:s(()=>[a(d,{label:"剂量单位",prop:"dose_unit"},{default:s(()=>[a(N,{modelValue:f.dose_unit,"onUpdate:modelValue":e[36]||(e[36]=i=>f.dose_unit=i),placeholder:"请选择",class:"w-full"},{default:s(()=>[a(m,{label:"剂",value:"剂"}),a(m,{label:"丸",value:"丸"}),a(m,{label:"袋",value:"袋"}),a(m,{label:"盒",value:"盒"}),a(m,{label:"瓶",value:"瓶"}),a(m,{label:"膏",value:"膏"}),a(m,{label:"贴",value:"贴"})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1})):v("",!0),a(Ze,{gutter:20},{default:s(()=>[a(U,{span:12},{default:s(()=>[a(d,{label:"服务渠道"},{default:s(()=>[a(y,{modelValue:f.service_channel,"onUpdate:modelValue":e[37]||(e[37]=i=>f.service_channel=i),placeholder:"可选",maxlength:"100"},null,8,["modelValue"])]),_:1})]),_:1}),a(U,{span:12},{default:s(()=>[a(d,{label:"服务套餐"},{default:s(()=>[a(N,{modelValue:f.service_package,"onUpdate:modelValue":e[38]||(e[38]=i=>f.service_package=i),multiple:"","collapse-tags":"","collapse-tags-tooltip":"",placeholder:"请选择服务套餐",clearable:"",class:"w-full"},{default:s(()=>[(r(!0),_($,null,I(Ee.value,i=>(r(),g(m,{key:i.value,label:i.name,value:i.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1}),a(U,{span:24},{default:s(()=>[a(d,{label:"物流设置"},{default:s(()=>[n("div",qu,[a(N,{modelValue:f.express_company,"onUpdate:modelValue":e[39]||(e[39]=i=>f.express_company=i),placeholder:"承运商",class:"w-[140px] shrink-0"},{default:s(()=>[a(m,{label:"自动识别",value:"auto"}),a(m,{label:"顺丰速运",value:"sf"}),a(m,{label:"京东快递",value:"jd"}),a(m,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"]),a(y,{modelValue:f.tracking_number,"onUpdate:modelValue":e[40]||(e[40]=i=>f.tracking_number=i),maxlength:"80",placeholder:"快递单号",class:"flex-1 min-w-0"},null,8,["modelValue"])])]),_:1})]),_:1}),a(U,{span:24},{default:s(()=>[a(d,{label:"关联支付单",prop:"pay_order_ids",required:M.value>0},{default:s(()=>[a(N,{modelValue:f.pay_order_ids,"onUpdate:modelValue":e[41]||(e[41]=i=>f.pay_order_ids=i),class:"w-full",multiple:"","collapse-tags":"","collapse-tags-tooltip":"",placeholder:M.value>0?"请至少选择一笔本诊单支付单(已开启门槛)":"多选本诊单支付单(可选)",loading:ea.value},{default:s(()=>[(r(!0),_($,null,I(qe.value,i=>(r(),g(m,{key:i.id,label:`${i.order_no} · ¥${i.amount} · ${ta(i.order_type)}`,value:i.id,class:"!h-auto py-1.5"},{default:s(()=>[n("div",Bu,[n("div",Mu,[n("span",Hu,o(i.order_no),1),n("span",Gu,"¥"+o(i.amount),1)]),n("div",Wu,[n("span",Ku,[p(o(ta(i.order_type)),1),i.remark?(r(),_($,{key:0},[p(" · "+o(i.remark),1)],64)):v("",!0)]),n("span",Qu,o(String(i.create_time||"").substring(0,16)),1)])])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","loading"]),n("div",Yu,[M.value>0?(r(),_($,{key:0},[n("span",Ju,"当前已开启关联支付门槛(¥"+o(ee(M.value))+"),须至少选择一笔支付单。",1),e[169]||(e[169]=n("span",{class:"mx-1"},null,-1))],64)):v("",!0),e[171]||(e[171]=p(" 主管/本诊单医助可见全部支付单;否则仅本人收款单。已被占用的支付单不列出。 ",-1)),a(Dt,{content:"主管或本诊单医助可见该诊单全部支付单(待支付/已支付),否则仅本人创建的收款单。已被其他有效业务订单占用的支付单不会出现在此列表。",placement:"top"},{default:s(()=>[...e[170]||(e[170]=[n("span",{class:"text-primary cursor-help ml-0.5"},"详情",-1)])]),_:1})])]),_:1},8,["required"])]),_:1})]),_:1})],512),[[_a,B.value===1]]),O(n("div",Xu,[n("div",{class:q(["create-order-deposit-bar",aa.value>=M.value?"is-ok":"is-warn"])},[n("div",Zu,[e[172]||(e[172]=n("span",{class:"create-order-deposit-bar__label"},"定金门槛",-1)),n("strong",null,"¥"+o(ee(M.value)),1),n("span",ed,o(M.value>0?"须 ≥ 此值":"未设置"),1)]),e[174]||(e[174]=n("div",{class:"create-order-deposit-bar__sep"},null,-1)),n("div",td,[e[173]||(e[173]=n("span",{class:"create-order-deposit-bar__label"},"已选收款",-1)),n("strong",null,"¥"+o(ee(aa.value)),1),n("span",ad,o(aa.value>=M.value?"已达标":"未达标"),1)])],2),a(Ze,{gutter:20,class:"create-order-step-panel__row-after-bar"},{default:s(()=>[a(U,{span:12},{default:s(()=>[a(d,{label:"费用类别",prop:"fee_type"},{default:s(()=>[a(N,{modelValue:f.fee_type,"onUpdate:modelValue":e[42]||(e[42]=i=>f.fee_type=i),placeholder:"请选择",class:"w-full"},{default:s(()=>[a(m,{label:"挂号费",value:1}),a(m,{label:"问诊费",value:2}),a(m,{label:"药品费用",value:3}),a(m,{label:"首付费用",value:4}),a(m,{label:"尾款费用",value:5}),a(m,{label:"其他费用",value:6}),a(m,{label:"全部费用",value:7}),a(m,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1})]),_:1}),a(U,{span:12},{default:s(()=>[a(d,{label:"总金额",prop:"amount"},{default:s(()=>[a(Re,{modelValue:f.amount,"onUpdate:modelValue":e[43]||(e[43]=i=>f.amount=i),min:wl.value,step:.01,precision:2,class:"w-full","controls-position":"right",placeholder:"元"},null,8,["modelValue","min"])]),_:1})]),_:1}),O((r(),g(U,{span:12},{default:s(()=>[a(d,{label:"内部成本"},{default:s(()=>[a(Re,{modelValue:f.internal_cost,"onUpdate:modelValue":e[44]||(e[44]=i=>f.internal_cost=i),min:0,step:.01,precision:2,class:"w-full","controls-position":"right",placeholder:"财务可见"},null,8,["modelValue"])]),_:1})]),_:1})),[[z,["finance.account_log/lists"]]]),a(U,{span:24},{default:s(()=>[O((r(),g(d,{label:"药房备注"},{default:s(()=>[a(y,{modelValue:f.remark_extra,"onUpdate:modelValue":e[45]||(e[45]=i=>f.remark_extra=i),type:"textarea",rows:3,placeholder:"选填,对内说明",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})),[[z,["tcm.prescriptionOrder/editRemarkExtra"]]]),a(d,{label:"医助备注"},{default:s(()=>[a(y,{modelValue:f.remark_assistant,"onUpdate:modelValue":e[46]||(e[46]=i=>f.remark_assistant=i),type:"textarea",rows:3,placeholder:"选填,医助对内说明",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})],512),[[_a,B.value===2]])]),_:1},8,["model","rules"])])),[[me,Xt.value]])]),_:1},8,["modelValue"]),a(ce,{modelValue:Be.value,"onUpdate:modelValue":e[53]||(e[53]=i=>Be.value=i),title:Al.value,width:"480px","destroy-on-close":"",onClosed:e[54]||(e[54]=i=>Ne.value="")},{footer:s(()=>[a(h,{onClick:e[50]||(e[50]=i=>Be.value=!1)},{default:s(()=>[...e[180]||(e[180]=[p("取消",-1)])]),_:1}),a(h,{type:"primary",loading:kt.value,onClick:e[51]||(e[51]=i=>Ha("approve"))},{default:s(()=>[...e[181]||(e[181]=[p("同意通过",-1)])]),_:1},8,["loading"]),a(h,{type:"danger",loading:kt.value,onClick:e[52]||(e[52]=i=>Ha("reject"))},{default:s(()=>[...e[182]||(e[182]=[p("驳回阻止",-1)])]),_:1},8,["loading"])]),default:s(()=>[Me.value&&Me.value.completion_request===1?(r(),g(pe,{key:0,title:"完单申请",type:"warning",closable:!1,"show-icon":"",class:"mb-3"},{default:s(()=>[n("div",od,[e[179]||(e[179]=n("div",{class:"font-medium mb-1"},"该订单已申请完成",-1)),n("div",ud," 申请人:"+o(Me.value.completion_request_by_name||"—"),1),n("div",dd," 申请时间:"+o(xe(Me.value.completion_request_time)),1)])]),_:1})):v("",!0),e[183]||(e[183]=n("p",{class:"text-[13px] text-gray-500 mb-3 bg-gray-50/80 border border-gray-100 p-2 rounded"},"驳回时必须填写意见;通过时意见选填。",-1)),a(y,{modelValue:Ne.value,"onUpdate:modelValue":e[49]||(e[49]=i=>Ne.value=i),type:"textarea",rows:4,maxlength:"500","show-word-limit":"",placeholder:"在此输入审核意见..."},null,8,["modelValue"])]),_:1},8,["modelValue","title"]),a(ce,{modelValue:He.value,"onUpdate:modelValue":e[58]||(e[58]=i=>He.value=i),title:"修改快递单号",width:"420px","destroy-on-close":"","close-on-click-modal":!1},{footer:s(()=>[a(h,{onClick:e[57]||(e[57]=i=>He.value=!1)},{default:s(()=>[...e[185]||(e[185]=[p("取消",-1)])]),_:1}),a(h,{type:"primary",loading:wt.value,onClick:Ga},{default:s(()=>[...e[186]||(e[186]=[p("保存单号",-1)])]),_:1},8,["loading"])]),default:s(()=>[O((r(),g(L,{"label-width":"90px",class:"pr-2",onSubmit:ma(Ga,["prevent"])},{default:s(()=>[a(d,{label:"承运商"},{default:s(()=>[a(N,{modelValue:J.express_company,"onUpdate:modelValue":e[55]||(e[55]=i=>J.express_company=i),class:"w-full",placeholder:"选择承运商"},{default:s(()=>[a(m,{label:"自动识别",value:"auto"}),a(m,{label:"顺丰速运",value:"sf"}),a(m,{label:"京东快递",value:"jd"}),a(m,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"])]),_:1}),a(d,{label:"快递单号"},{default:s(()=>[a(y,{modelValue:J.tracking_number,"onUpdate:modelValue":e[56]||(e[56]=i=>J.tracking_number=i),maxlength:"80",placeholder:"请输入快递单号",clearable:"",autofocus:""},null,8,["modelValue"])]),_:1}),e[184]||(e[184]=n("div",{class:"text-xs text-gray-400 pl-[90px] -mt-1 leading-relaxed"}," 仅更新快递信息,其他字段不受影响。 ",-1))]),_:1})),[[me,wt.value]])]),_:1},8,["modelValue"]),a(ce,{modelValue:We.value,"onUpdate:modelValue":e[63]||(e[63]=i=>We.value=i),title:"确认发货",width:"440px","destroy-on-close":"","close-on-click-modal":!1},{footer:s(()=>[a(h,{onClick:e[62]||(e[62]=i=>We.value=!1)},{default:s(()=>[...e[189]||(e[189]=[p("取消",-1)])]),_:1}),a(h,{type:"primary",loading:St.value,onClick:Wa},{default:s(()=>[...e[190]||(e[190]=[p(" 确认发货 ",-1)])]),_:1},8,["loading"])]),default:s(()=>[a(pe,{title:"确认后订单状态将变更为「已发货」,请核对快递信息无误。",type:"warning",closable:!1,"show-icon":"",class:"mb-4"}),O((r(),g(L,{"label-width":"90px",class:"pr-2",onSubmit:ma(Wa,["prevent"])},{default:s(()=>[a(d,{label:"发货方式"},{default:s(()=>[a(ca,{modelValue:X.ship_mode,"onUpdate:modelValue":e[59]||(e[59]=i=>X.ship_mode=i)},{default:s(()=>[a($e,{label:"gancao"},{default:s(()=>[...e[187]||(e[187]=[p("甘草药方发",-1)])]),_:1}),a($e,{label:"direct"},{default:s(()=>[...e[188]||(e[188]=[p("药房直发",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(d,{label:"承运商"},{default:s(()=>[a(N,{modelValue:X.express_company,"onUpdate:modelValue":e[60]||(e[60]=i=>X.express_company=i),class:"w-full"},{default:s(()=>[a(m,{label:"自动识别",value:"auto"}),a(m,{label:"顺丰速运",value:"sf"}),a(m,{label:"京东快递",value:"jd"}),a(m,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"])]),_:1}),a(d,{label:"快递单号"},{default:s(()=>[a(y,{modelValue:X.tracking_number,"onUpdate:modelValue":e[61]||(e[61]=i=>X.tracking_number=i),maxlength:"80",placeholder:"请输入快递单号",clearable:""},null,8,["modelValue"])]),_:1})]),_:1})),[[me,St.value]])]),_:1},8,["modelValue"]),a(ce,{modelValue:Ke.value,"onUpdate:modelValue":e[66]||(e[66]=i=>Ke.value=i),title:"完成订单",width:"480px","close-on-click-modal":!1,"destroy-on-close":"",onClosed:Ll},{footer:s(()=>[a(h,{onClick:e[65]||(e[65]=i=>Ke.value=!1)},{default:s(()=>[...e[194]||(e[194]=[p("取消",-1)])]),_:1}),a(h,{type:"primary",loading:oa.value,onClick:ql},{default:s(()=>[...e[195]||(e[195]=[p(" 确定 ",-1)])]),_:1},8,["loading"])]),default:s(()=>[O((r(),_("div",pd,[Le.value.show?(r(),g(pe,{key:0,type:"error",effect:"dark",closable:!1,"show-icon":"",class:"mb-3 !items-start ring-2 ring-red-600/70",title:"物流异常:轨迹含拒收/退回等,请先核实处理再结案"},{default:s(()=>[n("div",cd,[Le.value.keywords.length?(r(),_("div",md,[e[191]||(e[191]=n("span",{class:"text-red-100/90"},"命中:",-1)),(r(!0),_($,null,I(Le.value.keywords,i=>(r(),g(A,{key:i,type:"danger",effect:"plain",size:"small",class:"!border-white/35 !text-white"},{default:s(()=>[p(o(i),1)]),_:2},1024))),128))])):v("",!0),Le.value.lines.length?(r(),_("ul",_d,[(r(!0),_($,null,I(Le.value.lines,(i,x)=>(r(),_("li",{key:x},o(i),1))),128))])):v("",!0),e[192]||(e[192]=n("div",{class:"text-red-100/85 border-t border-white/15 pt-1.5"}," 确认已协调拒收/退回后续(重发、退款、改址等)后再完成订单。 ",-1))])]),_:1})):v("",!0),e[193]||(e[193]=n("p",{class:"text-sm text-gray-600 mb-3"},"请选择本单结案状态。选择「已完成」时,实付将按已关联的支付单金额汇总。",-1)),a(N,{modelValue:Nt.value,"onUpdate:modelValue":e[64]||(e[64]=i=>Nt.value=i),class:"w-full",placeholder:"请选择"},{default:s(()=>[(r(),_($,null,I(jl,i=>a(m,{key:i.value,label:i.label,value:i.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"])])),[[me,bt.value]])]),_:1},8,["modelValue"]),a(ce,{modelValue:Qe.value,"onUpdate:modelValue":e[74]||(e[74]=i=>Qe.value=i),title:"补齐支付单",width:"600px","close-on-click-modal":!1,"destroy-on-close":"",onClosed:e[75]||(e[75]=i=>{var x;return(x=Pt.value)==null?void 0:x.clearValidate()})},{footer:s(()=>[a(h,{onClick:e[73]||(e[73]=i=>Qe.value=!1)},{default:s(()=>[...e[202]||(e[202]=[p("取消",-1)])]),_:1}),a(h,{type:"primary",loading:Ct.value,onClick:Hl},{default:s(()=>[...e[203]||(e[203]=[p("确认新增",-1)])]),_:1},8,["loading"])]),default:s(()=>[a(pe,{title:"可以手动创建新支付单,或关联已存在但未绑定的支付单。",type:"info",closable:!1,"show-icon":"",class:"mb-4"}),O((r(),g(L,{ref_key:"addPayOrderFormRef",ref:Pt,model:E,rules:Bl,"label-width":"90px",class:"pr-2"},{default:s(()=>[a(d,{label:"添加方式",prop:"add_mode"},{default:s(()=>[a(ca,{modelValue:E.add_mode,"onUpdate:modelValue":e[67]||(e[67]=i=>E.add_mode=i)},{default:s(()=>[a($e,{value:"create"},{default:s(()=>[...e[196]||(e[196]=[p("手动创建",-1)])]),_:1}),a($e,{value:"link"},{default:s(()=>[...e[197]||(e[197]=[p("关联已有",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),E.add_mode==="create"?(r(),_($,{key:0},[a(d,{label:"费用类别",prop:"order_type"},{default:s(()=>[a(N,{modelValue:E.order_type,"onUpdate:modelValue":e[68]||(e[68]=i=>E.order_type=i),class:"w-full"},{default:s(()=>[a(m,{label:"挂号费",value:1}),a(m,{label:"问诊费",value:2}),a(m,{label:"药品费用",value:3}),a(m,{label:"首付费用",value:4}),a(m,{label:"尾款费用",value:5}),a(m,{label:"其他费用",value:6}),a(m,{label:"全部费用",value:7}),a(m,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1}),a(d,{label:"支付金额",prop:"pay_amount"},{default:s(()=>[a(Re,{modelValue:E.pay_amount,"onUpdate:modelValue":e[69]||(e[69]=i=>E.pay_amount=i),min:.01,step:.01,precision:2,class:"w-full",placeholder:"请输入支付金额(元)"},null,8,["modelValue"])]),_:1}),a(d,{label:"备注",prop:"pay_remark"},{default:s(()=>[a(y,{modelValue:E.pay_remark,"onUpdate:modelValue":e[70]||(e[70]=i=>E.pay_remark=i),type:"textarea",rows:3,maxlength:"200","show-word-limit":"",placeholder:"支付说明(选填)"},null,8,["modelValue"])]),_:1})],64)):(r(),g(d,{key:1,label:"选择支付单",prop:"link_pay_order_id"},{default:s(()=>[a(N,{modelValue:E.link_pay_order_ids,"onUpdate:modelValue":e[71]||(e[71]=i=>E.link_pay_order_ids=i),class:"w-full",placeholder:"选择未绑定的支付单(可多选)",loading:ua.value,multiple:"","collapse-tags":"","collapse-tags-tooltip":""},{default:s(()=>[(r(!0),_($,null,I(Tt.value,i=>(r(),g(m,{key:i.id,label:`${i.order_no} · ¥${i.amount} · ${ta(i.order_type)}`,value:i.id},{default:s(()=>[n("div",fd,[n("span",vd,o(i.order_no),1),n("span",gd,"¥"+o(i.amount),1)])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","loading"]),e[198]||(e[198]=n("div",{class:"text-xs text-gray-500 mt-1.5"}," 仅显示本诊单下未被其他业务订单占用的支付单,可同时选择多个 ",-1))]),_:1})),a(d,{label:"完单申请"},{default:s(()=>[a(ca,{modelValue:E.completion_request,"onUpdate:modelValue":e[72]||(e[72]=i=>E.completion_request=i)},{default:s(()=>[a($e,{value:0},{default:s(()=>[...e[199]||(e[199]=[p("不申请",-1)])]),_:1}),a($e,{value:1},{default:s(()=>[...e[200]||(e[200]=[p("申请完成订单",-1)])]),_:1})]),_:1},8,["modelValue"]),e[201]||(e[201]=n("div",{class:"text-xs text-gray-400 mt-1"},' 选择"申请完成订单"后,审核人员可在支付审核时看到此申请 ',-1))]),_:1})]),_:1},8,["model"])),[[me,Ct.value]])]),_:1},8,["modelValue"]),a(ce,{modelValue:Ie.value,"onUpdate:modelValue":e[79]||(e[79]=i=>Ie.value=i),title:"修改处方患者信息",width:"440px","close-on-click-modal":!1,"destroy-on-close":"",onClosed:vl},{footer:s(()=>[a(h,{onClick:e[78]||(e[78]=i=>Ie.value=!1)},{default:s(()=>[...e[204]||(e[204]=[p("取消",-1)])]),_:1}),a(h,{type:"primary",loading:Yt.value,onClick:bl},{default:s(()=>[...e[205]||(e[205]=[p(" 保存 ",-1)])]),_:1},8,["loading"])]),default:s(()=>[a(L,{ref_key:"patchRxPatientFormRef",ref:Jt,model:te,rules:_l,"label-width":"96px"},{default:s(()=>[a(d,{label:"患者姓名",prop:"patient_name"},{default:s(()=>[a(y,{modelValue:te.patient_name,"onUpdate:modelValue":e[76]||(e[76]=i=>te.patient_name=i),maxlength:"50","show-word-limit":"",placeholder:"与处方笺一致",clearable:""},null,8,["modelValue"])]),_:1}),a(d,{label:"手机",prop:"phone"},{default:s(()=>[a(y,{modelValue:te.phone,"onUpdate:modelValue":e[77]||(e[77]=i=>te.phone=i),maxlength:"20",placeholder:"处方登记手机号",clearable:""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),a(pa,{modelValue:Ot.value,"onUpdate:modelValue":e[81]||(e[81]=i=>Ot.value=i),size:"920px","close-on-click-modal":!1},{header:s(()=>[n("div",yd,[e[208]||(e[208]=n("span",{class:"text-base font-medium text-gray-800"},"查看处方",-1)),w.value&&!At.value?(r(),_("div",bd,[a(h,{size:"small",loading:Pe.value,onClick:dn},{default:s(()=>[...e[206]||(e[206]=[p(" 下载图片 ",-1)])]),_:1},8,["loading"]),a(h,{size:"small",loading:Pe.value,onClick:pn},{default:s(()=>[...e[207]||(e[207]=[p(" 下载PDF ",-1)])]),_:1},8,["loading"])])):v("",!0)])]),default:s(()=>[O((r(),_("div",xd,[w.value?(r(),g(_n,{key:0,modelValue:ue.value,"onUpdate:modelValue":e[80]||(e[80]=i=>ue.value=i),class:"mx-4 mt-2",style:{"margin-bottom":"0px","z-index":"1",position:"relative"}},{default:s(()=>[a(ps,{label:"药房联",name:"internal"}),a(ps,{label:"处方联",name:"user"})]),_:1},8,["modelValue"])):v("",!0),w.value?(r(),_("div",kd,[Number(w.value.void_status)===1?(r(),g(A,{key:0,type:"danger",size:"small"},{default:s(()=>[...e[209]||(e[209]=[p("已作废",-1)])]),_:1})):Number(w.value.business_prescription_audit_rejected)===1?(r(),g(A,{key:1,type:"danger",size:"small"},{default:s(()=>[...e[210]||(e[210]=[p("业务订单已驳回",-1)])]),_:1})):Number(w.value.audit_status)===1?(r(),g(A,{key:2,type:"success",size:"small"},{default:s(()=>[...e[211]||(e[211]=[p("已通过",-1)])]),_:1})):Number(w.value.audit_status)===0?(r(),g(A,{key:3,type:"warning",size:"small"},{default:s(()=>[...e[212]||(e[212]=[p("待审核",-1)])]),_:1})):(r(),g(A,{key:4,type:"danger",size:"small"},{default:s(()=>[...e[213]||(e[213]=[p("已驳回",-1)])]),_:1}))])):v("",!0),w.value&&Number(w.value.void_status)===1?(r(),_("div",hd," 作废人:"+o(w.value.void_by_name||"—")+",作废时间:"+o(ln(w.value.void_time)),1)):w.value&&Number(w.value.business_prescription_audit_rejected)===1?(r(),_("div",wd,[e[214]||(e[214]=n("div",{class:"font-medium"},"审核状态:已驳回(业务订单·处方审核)",-1)),w.value.business_prescription_audit_remark?(r(),_("div",Sd," 驳回意见:"+o(w.value.business_prescription_audit_remark),1)):v("",!0)])):w.value&&Number(w.value.audit_status)===2?(r(),_("div",Vd,[e[215]||(e[215]=n("div",{class:"font-medium"},"消费者处方审核:已驳回",-1)),w.value.audit_remark?(r(),_("div",Nd,"驳回意见:"+o(w.value.audit_remark),1)):v("",!0)])):v("",!0),w.value?(r(),_("div",{key:5,ref_key:"prescriptionSlipPrintRef",ref:Ya,class:"rx-paper"},[n("div",Cd,o(ue.value==="internal"?"药房联":"处方单"),1),n("div",Pd,[e[220]||(e[220]=n("span",{class:"rx-notice-text"}," 服药前请核对姓名、电话、医生等信息以及服法、医嘱等要点 ",-1)),n("div",Td,[n("div",Od,[e[216]||(e[216]=n("span",{class:"rx-meta-label"},"日期",-1)),n("span",Ad,o(Ql.value),1)]),n("div",Rd,[e[217]||(e[217]=n("span",{class:"rx-meta-label"},"处方编号",-1)),n("span",$d,o(Yl.value),1)]),n("div",Ed,[e[218]||(e[218]=n("span",{class:"rx-meta-label"},"流转编号(挂号)",-1)),n("span",Dd,o(Jl.value),1)]),Ja.value?(r(),_("div",Ud,[e[219]||(e[219]=n("span",{class:"rx-meta-label"},"业务单号",-1)),n("span",zd,o(Ja.value),1)])):v("",!0)])]),n("div",Fd,[n("div",jd,[n("div",Ld,[e[221]||(e[221]=n("span",{class:"rx-key"},"姓名",-1)),n("span",Id,o(w.value.patient_name||"—"),1)]),n("div",qd,[e[222]||(e[222]=n("span",{class:"rx-key"},"性别",-1)),n("span",Bd,o(nn(w.value.gender)),1)]),n("div",Md,[e[223]||(e[223]=n("span",{class:"rx-key"},"年龄",-1)),n("span",Hd,o(rn(w.value.age)),1)]),n("div",Gd,[e[224]||(e[224]=n("span",{class:"rx-key"},"电话",-1)),n("span",Wd,o(w.value.phone||w.value.recipient_phone||"—"),1)])]),n("div",Kd,[n("div",Qd,[e[225]||(e[225]=n("span",{class:"rx-key"},"收件信息",-1)),n("span",Yd,o(Xl.value),1)])]),n("div",Jd,[n("div",Xd,[e[226]||(e[226]=n("span",{class:"rx-key"},"临床诊断",-1)),n("span",Zd,o(w.value.clinical_diagnosis||"—"),1)])])]),n("div",ep,[n("div",tp,o(ue.value==="internal"?"药房联":"处方联"),1),n("div",ap,[e[229]||(e[229]=n("div",{class:"rx-rp-label"},"Rp.",-1)),n("div",sp,[n("div",lp,[e[227]||(e[227]=n("span",null,"用药 (单剂)",-1)),n("span",null,o(ue.value==="user"?"用量":"总量"),1)]),n("div",np,[e[228]||(e[228]=n("span",null,"用药 (单剂)",-1)),n("span",null,o(ue.value==="user"?"用量":"总量"),1)])])]),n("div",ip,[(r(!0),_($,null,I(Rt.value,(i,x)=>(r(),_("div",{key:x,class:"rx-herb-cell"},[ue.value==="internal"?(r(),_("span",rp,o(i.name)+" ("+o(i.dosage)+"克)",1)):(r(),_("span",op,o(i.name),1)),ue.value==="internal"?(r(),_("span",up,o(en(i.dosage))+"克",1)):(r(),_("span",dp,o(i.dosage)+"克",1))]))),128))])]),n("div",pp,[n("p",null,"服法:"+o(an.value),1),Za.value?(r(),_("p",cp,"医嘱:"+o(Za.value),1)):v("",!0),es.value?(r(),_("p",mp,"备注:"+o(es.value),1)):v("",!0),ts.value?(r(),_("p",_p," 药房备注:"+o(ts.value),1)):v("",!0),as.value?(r(),_("p",fp," 出丸:"+o(as.value),1)):v("",!0)]),n("div",vp,[n("div",gp,[n("div",yp,[e[230]||(e[230]=n("div",{class:"rx-bot-label rx-bot-label--doctor"},"医师",-1)),n("div",bp,[w.value.doctor_signature?(r(),_("img",{key:0,src:w.value.doctor_signature,alt:"医师签名",class:"rx-bot-sign-img"},null,8,xp)):v("",!0)])]),n("div",kp,[e[231]||(e[231]=n("span",{class:"rx-bot-meta-key"},"类型:",-1)),n("span",hp,o(tn.value),1)]),n("div",wp,[e[232]||(e[232]=n("span",{class:"rx-bot-meta-key"},"天数:",-1)),n("span",Sp,o(c.value.medication_days!=null&&String(c.value.medication_days).trim()!==""?c.value.medication_days+" 天":"—"),1)]),n("div",Vp,[e[233]||(e[233]=n("span",{class:"rx-bot-meta-key"},"剂量:",-1)),n("span",Np,o(Zl.value)+"克",1)])])]),e[234]||(e[234]=n("div",{class:"rx-bot-row rx-hospital-row"},[n("div",{class:"rx-hospital-line"},"成都双流甄养堂互联网医院有限公司 联系方式:4001667339"),n("div",{class:"rx-hospital-line"},"地址:四川省成都市双流区黄甲街道黄龙大道二段280号")],-1))],512)):v("",!0),w.value&&(w.value.audit_by_name||w.value.audit_remark)?(r(),_("div",Cp,[w.value.audit_by_name?(r(),_("div",Pp,[p(" 审核人:"+o(w.value.audit_by_name)+" ",1),w.value.audit_time?(r(),_("span",Tp,o(ss(w.value.audit_time)),1)):v("",!0)])):v("",!0),w.value.audit_remark?(r(),_("div",Op,"审核意见:"+o(w.value.audit_remark),1)):v("",!0)])):v("",!0)])),[[me,At.value]])]),_:1},8,["modelValue"]),a(pa,{modelValue:ht.value,"onUpdate:modelValue":e[82]||(e[82]=i=>ht.value=i),title:"甘草预下单测试结果",size:"800px","destroy-on-close":""},{default:s(()=>{var i,x;return[j.value?(r(),_("div",Ap,[a(l,{shadow:"never",class:"mb-4"},{header:s(()=>[n("div",Rp,[e[236]||(e[236]=n("span",{class:"font-semibold"},"价格信息",-1)),a(A,{type:"success"},{default:s(()=>[...e[235]||(e[235]=[p("预下单成功",-1)])]),_:1})])]),default:s(()=>[a(et,{column:2,border:""},{default:s(()=>[a(C,{label:"药材成本"},{default:s(()=>{var V;return[n("span",$p,"¥"+o(((V=j.value.fee)==null?void 0:V.m_cost)||"0.00"),1)]}),_:1}),a(C,{label:"制作费"},{default:s(()=>{var V;return[n("span",Ep,"¥"+o((((V=j.value.fee)==null?void 0:V.proces_cost)||0).toFixed(2)),1)]}),_:1}),a(C,{label:"物流费"},{default:s(()=>{var V;return[n("span",Dp,"¥"+o((((V=j.value.fee)==null?void 0:V.lis_cost)||0).toFixed(2)),1)]}),_:1}),a(C,{label:"总计"},{default:s(()=>[n("div",null,[n("span",Up," ¥"+o(na(j.value.fee)),1),O((r(),_("div",zp,[e[237]||(e[237]=p(" 占订单总金额: ",-1)),n("span",Fp,o($l(j.value.fee,j.value.amount)),1),j.value.amount>0?(r(),_("span",jp,"%(预报价 ÷ 订单金额 × 100)")):v("",!0)])),[[z,["prescription.order/finance"]]])])]),_:1})]),_:1})]),_:1}),a(l,{shadow:"never",class:"mb-4"},{header:s(()=>[...e[238]||(e[238]=[n("span",{class:"font-semibold"},"配送信息",-1)])]),default:s(()=>[a(et,{column:2,border:""},{default:s(()=>[a(C,{label:"调配中心"},{default:s(()=>{var V;return[p(o(((V=j.value.result)==null?void 0:V.ds_name)||"—"),1)]}),_:1}),a(C,{label:"调配中心ID"},{default:s(()=>{var V;return[p(o(((V=j.value.result)==null?void 0:V.ds_id)||"—"),1)]}),_:1}),a(C,{label:"服用天数范围",span:2},{default:s(()=>{var V,D,ye,tt,at,re;return[p(o(((D=(V=j.value.result)==null?void 0:V.take_days)==null?void 0:D.min)||"—")+" - "+o(((tt=(ye=j.value.result)==null?void 0:ye.take_days)==null?void 0:tt.max)||"—")+" 天 (默认: "+o(((re=(at=j.value.result)==null?void 0:at.take_days)==null?void 0:re.default)||"—")+" 天) ",1)]}),_:1})]),_:1})]),_:1}),(x=(i=j.value.result)==null?void 0:i.rule_check)!=null&&x.length?(r(),g(l,{key:0,shadow:"never",class:"mb-4"},{header:s(()=>[...e[239]||(e[239]=[n("span",{class:"font-semibold"},"医嘱备注",-1)])]),default:s(()=>[n("div",Lp,o(j.value.result.rule_check.map(V=>V.msg).join(" ")),1)]),_:1})):v("",!0),a(l,{shadow:"never"},{header:s(()=>{var V,D;return[n("div",Ip,[e[240]||(e[240]=n("span",{class:"font-semibold"},"药材明细",-1)),n("span",qp,"共 "+o(((D=(V=j.value.result)==null?void 0:V.m_list)==null?void 0:D.length)||0)+" 味药",1)])]}),default:s(()=>{var V;return[a(ge,{data:((V=j.value.result)==null?void 0:V.m_list)||[],border:"",stripe:"","max-height":"400"},{default:s(()=>[a(P,{type:"index",label:"#",width:"50",align:"center"}),a(P,{prop:"title",label:"药材名称","min-width":"120","show-overflow-tooltip":""}),a(P,{prop:"quantity",label:"用量",width:"80",align:"right"},{default:s(({row:D})=>[p(o(D.quantity)+o(D.unit),1)]),_:1}),a(P,{prop:"price",label:"单价(元/克)",width:"110",align:"right"},{default:s(({row:D})=>[p(" ¥"+o(Number(D.price).toFixed(4)),1)]),_:1}),a(P,{label:"小计",width:"100",align:"right"},{default:s(({row:D})=>[n("span",Bp," ¥"+o((Number(D.price)*Number(D.quantity)).toFixed(2)),1)]),_:1}),a(P,{prop:"is_available",label:"库存状态",width:"100",align:"center"},{default:s(({row:D})=>[a(A,{type:D.is_available===1?"success":"danger",size:"small"},{default:s(()=>[p(o(D.is_available===1?"有货":"缺货"),1)]),_:2},1032,["type"])]),_:1}),a(P,{prop:"brief",label:"备注","min-width":"120","show-overflow-tooltip":""})]),_:1},8,["data"])]}),_:1}),a(l,{shadow:"never",class:"mt-4"},{header:s(()=>[...e[241]||(e[241]=[n("span",{class:"font-semibold"},"订单信息",-1)])]),default:s(()=>[a(et,{column:2,border:""},{default:s(()=>[a(C,{label:"订单号",span:2},{default:s(()=>[p(o(j.value.order_no||"—"),1)]),_:1}),a(C,{label:"剂数"},{default:s(()=>[n("span",Mp,o(j.value.dose_count||"—")+"剂",1)]),_:1}),a(C,{label:"单剂量"},{default:s(()=>{var V;return[n("span",Hp,o(El((V=j.value.result)==null?void 0:V.m_list))+"克 ",1)]}),_:1})]),_:1})]),_:1})])):v("",!0)]}),_:1},8,["modelValue"]),a(F(vs),{ref_key:"diagnosisViewRef",ref:ga},null,512)])}}}),Lc=Ei(Wp,[["__scopeId","data-v-7e159aff"]]);export{Lc as default}; diff --git a/server/public/admin/assets/order_list-pZ0oXEQT.js b/server/public/admin/assets/order_list-pZ0oXEQT.js deleted file mode 100644 index 746f59f4..00000000 --- a/server/public/admin/assets/order_list-pZ0oXEQT.js +++ /dev/null @@ -1,3 +0,0 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/edit-DlBhR6x6.js","assets/element-plus-0wC3naml.js","assets/@vue/runtime-dom-DDAG46FW.js","assets/lodash-D3kF6u-c.js","assets/@vue/runtime-core-C6bnekPw.js","assets/@vue/reactivity-DiY1c2vO.js","assets/@vue/shared-mAAVTE9n.js","assets/@element-plus/icons-vue-HOEUG8sr.js","assets/lodash-es-C2A-Pj28.js","assets/@popperjs/core-C5az9QE8.js","assets/dayjs-DG77mNTn.js","assets/@ctrl/tinycolor-BuyEbX8F.js","assets/async-validator-CFA_igpM.js","assets/normalize-wheel-es-BQoi3Ox2.js","assets/element-plus-C_YxM8bk.css","assets/tcm-SLIwsL8z.js","assets/index-E47--KT7.js","assets/jspdf-BsthCvR5.js","assets/@babel/runtime-BanGtE2-.js","assets/fflate-_ayOYiT1.js","assets/vue-router-QlpZ4wdW.js","assets/pinia-B8cvXbiZ.js","assets/axios-C80V62Fs.js","assets/@vueuse/core-1S4fJlii.js","assets/@vueuse/shared-Cl3lVqjz.js","assets/css-color-function-DI01JAaZ.js","assets/balanced-match-BdS7OldZ.js","assets/color-B2zxaWkI.js","assets/clone-DBZ6_OiU.js","assets/color-convert-OrFsTA_V.js","assets/color-name-Dju3oUBS.js","assets/color-string-pUQDDJII.js","assets/ms-CzQ2E3wO.js","assets/vue-clipboard3-DByT_rEQ.js","assets/clipboard-CHgxszqY.js","assets/echarts-CNLwa9wG.js","assets/tslib-BDyQ-Jie.js","assets/zrender-DRNXw7y3.js","assets/highlight.js-Bxt7hFFy.js","assets/highlight-BfC0goYb.css","assets/@highlightjs/vue-plugin-C4onkBvW.js","assets/index-Cf-gzPmQ.css","assets/perm-YIJpPBOg.js","assets/DailyMatrix-0DiBlpfB.js","assets/picker-DlbAZkDm.js","assets/index-nymJKQXP.js","assets/index-B3imPWFk.css","assets/index-B56X8bEB.js","assets/index.vue_vue_type_script_setup_true_lang-DXTGI59-.js","assets/index-BHTgr4Ka.js","assets/index-D0f1Mn00.css","assets/index-Ci4dcEQh.js","assets/cos-js-sdk-v5-DSMN0LUT.js","assets/file-DoYUJmkp.js","assets/index.vue_vue_type_script_setup_true_lang-Bl0f8aX8.js","assets/usePaging-VsbTxSU0.js","assets/index-BYOmK9R5.css","assets/vuedraggable-5bKFmC7X.js","assets/vue-BVs68q8v.js","assets/@vue/compiler-dom-CqayqxS7.js","assets/@vue/compiler-core-CvbQOXIO.js","assets/sortablejs-dsEAUXlE.js","assets/picker-XZbUgFct.css","assets/vue-echarts-BNtg2q_G.js","assets/resize-detector-G6vbKCU7.js","assets/DiagnosisTodoList-DC7uqd6f.js","assets/DiagnosisTodoList-D0SBmTHG.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix-zLBaKfXe.css","assets/CaseRecordList-CsyYkwG-.js","assets/CaseRecordList-Cl-c3q7S.css","assets/CallRecordPanel-CLexkvxf.js","assets/RecordingPlaybackBlock-z0PPBYke.js","assets/RecordingVideoPlayer-DWV7klHs.js","assets/RecordingVideoPlayer-4DegHAwm.css","assets/RecordingPlaybackBlock-B3KYFgvg.css","assets/CallRecordPanel-TsjZtTO8.css","assets/ImChatRecordPanel-DiuuXcLT.js","assets/im-business-message-parse-QKjFLn3X.js","assets/ImChatRecordPanel-aX8zpWRQ.css","assets/AssignLogPanel-B0ohl4pV.js","assets/AssignLogPanel-BdKOtd2m.css","assets/AppointmentRecordPanel-BZnhzLjC.js","assets/doctor-6V0qM7Ks.js","assets/AppointmentRecordPanel-DC22GDgn.css","assets/NoteTimeline-CDNv1DMC.js","assets/patient-DKQ1nUyC.js","assets/NoteTimeline-CCWIpEBQ.css","assets/PatientOrderList-DQ7QxnQw.js","assets/PatientOrderList-iKx_Cn9B.css","assets/index-kYFkWYEt.js","assets/index-wwnvQhjf.js","assets/medicine-D-OyzCbR.js","assets/index-tfEElgYq.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/html2canvas-QH1iLAAe.js","assets/index-DGbIWVjL.css","assets/edit-z2mn_utb.css","assets/TrackingNoteTimeline-B9T8pFso.css"])))=>i.map(i=>d[i]); -import{_ as cn,E as mn}from"./jspdf-BsthCvR5.js";import{J as _n,d as fn,L as vn,D as gn,B as yn,C as bn,P as xn,Q as kn,W as hn,i as wn,M as Sn,N as Vn,T as Nn,a1 as Cn,r as Pn,a8 as Tn,K as On,a5 as An,a6 as Rn,a3 as $n,a4 as En,a9 as Dn,aa as Un,R as zn,k as Fn,j as jn,_ as Ln,ab as In,ac as qn,e as Bn,h as Mn,V as Hn,a7 as Gn,g as Wn,G as Kn,I as Yn,m as Qn,l as Jn,a as at}from"./element-plus-0wC3naml.js";import{_ as Xn}from"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import{w as st,s as da,q as pa}from"./@vue/runtime-dom-DDAG46FW.js";import{u as Zn}from"./vue-router-QlpZ4wdW.js";import{k as ei,G as ti,R as ai,V as si,i as li,W as ni,N as us,L as ii,l as ri}from"./@element-plus/icons-vue-HOEUG8sr.js";import{_ as oi}from"./index.vue_vue_type_script_setup_true_lang-DBEwrTRf.js";import{g as ui,n as di,j as pi,o as ds,q as ci,r as mi,s as Z,t as ps,u as _i,v as fi,w as vi,x as cs,y as gi,z as yi,A as bi,B as xi,C as ki,D as hi,E as wi,a as Si,p as ca,F as Vi}from"./tcm-SLIwsL8z.js";import Ni from"./html2canvas-QH1iLAAe.js";import{u as Ci,i as R,m as Pi,_ as Ti}from"./index-E47--KT7.js";import{d as Oi}from"./department-4lF54x8w.js";import{u as Ai}from"./usePaging-VsbTxSU0.js";import{f as ms,w as Ri,b as $i,n as lt,as as Ei,ak as r,I as m,a,aN as s,J as n,F as $,ap as j,H as v,aP as A,O as p,G as g,P as Di,A as V}from"./@vue/runtime-core-C6bnekPw.js";import{o as I,Q as o}from"./@vue/shared-mAAVTE9n.js";import{y as L,a as Ui,n as k,r as ye}from"./@vue/reactivity-DiY1c2vO.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const zi={class:"prescription-order-page prescription-order-list px-4 py-4 pb-8"},Fi={class:"flex flex-col gap-3"},ji={key:0,class:"flex items-center gap-2 flex-wrap"},Li=["onClick"],Ii={class:"font-medium"},qi={class:"flex items-center gap-2 flex-wrap"},Bi=["onClick"],Mi={class:"font-medium"},Hi={class:"flex items-center gap-2 flex-wrap"},Gi=["onClick"],Wi={class:"font-medium"},Ki={class:"flex items-center gap-2 flex-wrap"},Yi=["onClick"],Qi={class:"font-medium"},Ji={class:"flex items-center gap-2 flex-wrap"},Xi=["onClick"],Zi={class:"font-medium"},er={class:"po-list-stats grid grid-cols-1 sm:grid-cols-2 gap-4 mb-5"},tr={class:"po-stat-surface po-stat-surface--order relative overflow-hidden rounded-xl border border-slate-200/90 px-5 py-4 shadow-sm"},ar={class:"relative flex items-start justify-between gap-3"},sr={class:"flex items-center gap-2 text-slate-500 text-xs font-medium"},lr={class:"mt-2 space-y-1.5 min-w-0"},nr={class:"text-2xl sm:text-[28px] font-bold text-sky-700 tabular-nums leading-none"},ir={class:"flex flex-wrap gap-x-3 gap-y-1 text-xs text-slate-500 tabular-nums"},rr={class:"text-slate-400"},or={class:"stat-icon-wrap h-10 w-10 shrink-0 rounded-lg bg-sky-500/10 flex items-center justify-center text-sky-600"},ur={class:"relative mt-2 text-xs text-slate-500 leading-relaxed"},dr={class:"po-stat-surface po-stat-surface--pay relative overflow-hidden rounded-xl border border-slate-200/90 px-5 py-4 shadow-sm"},pr={class:"relative flex items-start justify-between gap-3"},cr={class:"flex items-center gap-2 text-slate-500 text-xs font-medium"},mr={class:"mt-2 space-y-1.5 min-w-0"},_r={class:"text-2xl sm:text-[28px] font-bold text-emerald-700 tabular-nums leading-none"},fr={class:"flex flex-wrap gap-x-3 gap-y-1 text-xs text-slate-500 tabular-nums"},vr={class:"text-slate-400"},gr={class:"stat-icon-wrap h-10 w-10 shrink-0 rounded-lg bg-emerald-500/10 flex items-center justify-center text-emerald-600"},yr={class:"relative mt-2 text-xs text-slate-500 leading-relaxed"},br={class:"po-table-toolbar"},xr={class:"po-table-toolbar__title-wrap"},kr={class:"po-table-hint text-gray-400"},hr={class:"po-focus-board"},wr={class:"po-focus-board__value"},Sr={class:"po-focus-board__value"},Vr={class:"po-focus-board__value"},Nr={class:"po-focus-board__value"},Cr={class:"po-order-no-cell"},Pr={class:"po-order-no-main"},Tr={class:"po-order-no-sub"},Or={class:"text-gray-400"},Ar={key:0,class:"ml-1"},Rr={class:"flex items-center gap-1"},$r={class:"text-red-500 font-medium whitespace-nowrap"},Er={class:"text-sm"},Dr={class:"flex justify-between mb-1"},Ur={class:"font-medium text-red-500"},zr={class:"flex justify-between mb-1"},Fr={class:"flex justify-between mb-1"},jr={class:"font-medium"},Lr={key:0,class:"flex justify-between"},Ir={class:"font-medium text-orange-600"},qr=["title"],Br={key:1},Mr={key:0,class:"text-gray-400"},Hr={class:"flex items-center gap-1 flex-wrap"},Gr={class:"flex justify-end mt-4"},Wr={class:"po-detail-drawer-head flex items-center justify-between"},Kr={class:"flex items-center"},Yr={key:0,class:"flex items-center gap-2 mr-6"},Qr={key:1,class:"po-detail-body px-6 pb-6 h-full overflow-y-auto"},Jr={class:"text-sm leading-relaxed"},Xr={class:"font-mono font-semibold text-red-700"},Zr={class:"font-mono font-semibold text-red-700"},eo={class:"text-sm leading-relaxed space-y-1.5"},to={key:0,class:"flex flex-wrap gap-1.5 items-center"},ao={key:1,class:"list-disc pl-5 space-y-1 text-red-50"},so={class:"bg-gray-50/80 border border-gray-100 rounded-lg p-5 mb-5 shadow-sm"},lo={key:0,class:"text-red-500 font-medium"},no={key:1},io={key:2,class:"text-green-600"},ro={key:3,class:"text-gray-400"},oo={key:0,class:"text-red-500 font-medium"},uo={key:1},po={key:2,class:"text-green-600"},co={key:3,class:"text-gray-400"},mo={key:0,class:"text-amber-600 font-medium"},_o={key:1,class:"text-primary font-medium"},fo={key:2},vo={key:3,class:"text-green-600"},go={key:4,class:"text-red-500 font-medium"},yo={class:"flex items-center justify-between mb-1"},bo={class:"stat-value text-red-500 font-bold text-xl"},xo={class:"stat-value text-green-600 font-bold text-xl"},ko={class:"stat-value text-primary font-bold text-xl"},ho={class:"grid grid-cols-1 md:grid-cols-2 gap-4 mb-4"},wo={key:0,class:"audit-stamp stamp-pass"},So={key:1,class:"audit-stamp stamp-reject"},Vo={class:"flex items-center justify-between"},No={class:"flex items-center gap-3"},Co={key:0,class:"text-xs text-gray-500"},Po={class:"text-primary font-medium"},To={class:"text-xs text-gray-400"},Oo={class:"text-red-500 font-medium"},Ao={key:1,class:"ml-2 text-gray-500"},Ro={class:"flex flex-col gap-1.5 text-sm leading-relaxed"},$o={key:0,class:"mt-4"},Eo={class:"flex flex-col gap-4 h-full"},Do={class:"text-red-500"},Uo={key:0,class:"audit-stamp stamp-pass"},zo={key:1,class:"audit-stamp stamp-reject"},Fo={class:"flex items-center justify-between"},jo={class:"flex items-center gap-3"},Lo={key:0,class:"text-xs text-gray-500"},Io={class:"text-primary font-medium"},qo={class:"text-red-500"},Bo={class:"font-mono"},Mo={key:0,class:"text-[13px] space-y-1"},Ho={class:"font-medium text-gray-900"},Go={key:0,class:"text-gray-500 ml-2 font-mono text-xs"},Wo={key:0,class:"text-gray-600 text-xs leading-relaxed"},Ko={key:1,class:"text-gray-400"},Yo={key:0,class:"space-y-1.5"},Qo={class:"text-gray-800 break-all"},Jo={key:1,class:"text-gray-400"},Xo={class:"flex flex-wrap items-center gap-x-4 gap-y-1 text-[13px]"},Zo={class:"font-mono text-primary"},eu={class:"text-gray-500"},tu={key:0},au={key:1,class:"text-gray-500"},su={key:0,class:"text-xs text-gray-500 mt-1"},lu={key:1,class:"text-gray-400"},nu={class:"po-audit-remark"},iu={class:"po-audit-remark"},ru={class:"flex items-center gap-2 flex-wrap"},ou={class:"flex flex-wrap items-center gap-3 mb-4"},uu={class:"ml-2 flex items-center gap-4 border-l pl-4 border-gray-200"},du={key:1,class:"py-6 text-center text-sm text-gray-500"},pu={key:2,class:"logistics-content bg-gray-50/50 p-4 rounded-md"},cu={key:0,class:"text-sm mb-4 font-medium flex items-center gap-2"},mu={class:"text-gray-800"},_u={key:1,class:"text-xs text-gray-400 ml-1"},fu={key:2,class:"text-xs text-gray-400"},vu={class:"flex items-center gap-2 mb-1"},gu={class:"font-medium text-[13px]"},yu={class:"text-sm text-gray-700 font-medium"},bu={class:"create-order-dialog__inner"},xu={key:0,class:"create-order-rx-card"},ku={class:"create-order-rx-card__head"},hu={class:"create-order-rx-card__meta"},wu={class:"create-order-rx-card__id"},Su={key:0,class:"create-order-rx-card__sn"},Vu={class:"create-order-rx-card__patient"},Nu={class:"create-order-rx-card__herbs"},Cu={class:"create-order-step-lead"},Pu={class:"create-order-step-panel"},Tu={class:"create-order-step-panel"},Ou={class:"flex flex-wrap items-center gap-2 pb-2 border-b border-gray-100"},Au={class:"text-xs text-gray-400"},Ru={class:"mt-2 space-y-1.5 text-xs sm:text-sm"},$u={key:0,class:"space-y-1.5"},Eu={class:"text-gray-800 break-all"},Du={key:1,class:"text-gray-400"},Uu={class:"flex items-center gap-1 w-full"},zu={class:"flex gap-2 w-full"},Fu={class:"flex flex-col gap-0.5",style:{"line-height":"normal"}},ju={class:"flex items-center justify-between"},Lu={class:"font-medium text-[13px] text-gray-800"},Iu={class:"text-orange-500 font-medium ml-4"},qu={class:"flex items-center justify-between text-xs text-gray-400 mt-1"},Bu={class:"truncate pr-2"},Mu={class:"shrink-0"},Hu={class:"create-order-pay-hint text-gray-500"},Gu={class:"text-amber-600 font-medium"},Wu={class:"create-order-step-panel"},Ku={class:"create-order-deposit-bar__cell"},Yu={class:"create-order-deposit-bar__sub"},Qu={class:"create-order-deposit-bar__cell"},Ju={class:"create-order-deposit-bar__sub"},Xu={class:"create-order-footer"},Zu={class:"create-order-footer__hint"},ed={class:"create-order-footer__step"},td={key:0,class:"create-order-footer__warn"},ad={class:"create-order-footer__actions"},sd={class:"text-sm"},ld={class:"text-gray-600"},nd={class:"text-gray-600"},id={class:"min-h-[52px]"},rd={class:"text-xs leading-relaxed space-y-1.5"},od={key:0,class:"flex flex-wrap gap-1 items-center"},ud={key:1,class:"list-disc pl-4 space-y-0.5 text-red-50"},dd={class:"flex items-center justify-between"},pd={class:"text-sm"},cd={class:"text-orange-500 font-medium ml-4"},md={class:"flex items-center justify-between w-full pr-2 gap-3"},_d={key:0,class:"flex items-center gap-2 shrink-0"},fd={class:"rx-wrap"},vd={key:1,class:"rx-statusbar"},gd={key:2,class:"rx-status rx-status-danger"},yd={key:3,class:"rx-status rx-status-danger"},bd={key:0,class:"mt-1"},xd={key:4,class:"rx-status rx-status-danger"},kd={key:0,class:"mt-1"},hd={class:"rx-title"},wd={class:"rx-notice"},Sd={class:"rx-notice-meta"},Vd={class:"rx-meta-item"},Nd={class:"rx-meta-value"},Cd={class:"rx-meta-item"},Pd={class:"rx-meta-value"},Td={class:"rx-meta-item"},Od={class:"rx-meta-value"},Ad={key:0,class:"rx-meta-item"},Rd={class:"rx-meta-value"},$d={class:"rx-info"},Ed={class:"rx-info-row"},Dd={class:"rx-info-cell"},Ud={class:"rx-val"},zd={class:"rx-info-cell"},Fd={class:"rx-val"},jd={class:"rx-info-cell"},Ld={class:"rx-val"},Id={class:"rx-info-cell"},qd={class:"rx-val"},Bd={class:"rx-info-row rx-info-row-full"},Md={class:"rx-info-cell"},Hd={class:"rx-val"},Gd={class:"rx-info-row rx-info-row-full"},Wd={class:"rx-info-cell"},Kd={class:"rx-val"},Yd={class:"rx-rp"},Qd={class:"rx-watermark"},Jd={class:"rx-rp-head"},Xd={class:"rx-rp-cols-head"},Zd={class:"rx-rp-col-head"},ep={class:"rx-rp-col-head"},tp={class:"rx-herbs"},ap={key:0,class:"rx-herb-name"},sp={key:1,class:"rx-herb-name"},lp={key:2,class:"rx-herb-total"},np={key:3,class:"rx-herb-total"},ip={class:"rx-text"},rp={key:0},op={key:1},up={key:2,class:"rx-text-warn"},dp={key:3,class:"rx-text-warn"},pp={class:"rx-bottom"},cp={class:"rx-bot-row rx-bot-row-1"},mp={class:"rx-bot-cell rx-bot-doctor"},_p={class:"rx-bot-doctor-body"},fp=["src"],vp={class:"rx-bot-cell rx-bot-meta"},gp={class:"rx-bot-meta-val"},yp={class:"rx-bot-cell rx-bot-meta"},bp={class:"rx-bot-meta-val"},xp={class:"rx-bot-cell rx-bot-meta"},kp={class:"rx-bot-meta-val"},hp={key:6,class:"rx-audit"},wp={key:0},Sp={key:0,class:"ml-2 text-gray-400"},Vp={key:1,class:"mt-1"},Np={key:0,class:"px-4"},Cp={class:"flex items-center justify-between"},Pp={class:"text-lg font-semibold text-orange-600"},Tp={class:"text-lg font-semibold text-blue-600"},Op={class:"text-lg font-semibold text-green-600"},Ap={class:"text-xl font-bold text-red-600"},Rp={class:"text-sm text-gray-500 mt-1.5"},$p={class:"font-medium text-gray-700"},Ep={key:0},Dp={class:"text-sm text-gray-700 leading-relaxed"},Up={class:"flex items-center justify-between"},zp={class:"text-sm text-gray-500"},Fp={class:"font-medium text-orange-600"},jp={class:"text-base font-medium"},Lp={class:"text-base font-medium"},Ip=ms({name:"prescriptionOrderList"}),qp=ms({...Ip,setup(Bp){const _s=Di(()=>cn(()=>import("./edit-DlBhR6x6.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98]))),Dt=Ci(),fs=Zn(),ma=k(null);function vs(){var e,l;const t=Number((e=c.value)==null?void 0:e.diagnosis_id);if(!t){R.msgWarning("本订单未关联诊单,无法查看患者诊单信息");return}(l=ma.value)==null||l.openViewOnly(t)}const gs=2,ys=[0,3,6],_e=V(()=>{const t=Dt.userInfo;if(!t||Number(t.root)===1)return!0;const e=Array.isArray(t.role_ids)?t.role_ids.map(l=>Number(l)):[];return e.includes(gs)?e.some(l=>ys.includes(l)):!0}),bs=V(()=>_e.value?"详情/审核":"详情"),xs=[0,3,6],_a=()=>{const t=Dt.userInfo;if(!t)return!1;if(Number(t.root)===1)return!0;const e=Array.isArray(t.role_ids)?t.role_ids.map(l=>Number(l)):[];return xs.some(l=>e.includes(l))},nt=k([]),$e=k([]),Ut=k([]),Ee=k([]),it=k([]),ks={value:"id",label:"name",children:"children"};function fa(t,e){for(const l of t||[]){if(l==null||typeof l!="object")continue;const u=l;if(Number(u.id)===e)return u;const d=fa(u.children||[],e);if(d)return d}return null}function va(t){const e=Number(t.id),l=[];Number.isFinite(e)&&e>0&&l.push(e);for(const u of t.children||[])u&&typeof u=="object"&&l.push(...va(u));return l}function hs(t,e){const l=fa(e,t);return l?va(l):[t]}async function ws(){try{const[t,e,l]=await Promise.all([ui(),di(),Oi()]);Ut.value=Array.isArray(t)?t:[],Ee.value=Array.isArray(e)?e:[];const u=Array.isArray(l)?l:[];it.value=u}catch{Ut.value=[],Ee.value=[],it.value=[]}}const Ss=t=>t.map(e=>{var l;return{value:e.province,label:e.province,code:e.code,children:((l=e.citys)==null?void 0:l.map(u=>{var d;return{value:u.city,label:u.city,code:u.code,children:((d=u.areas)==null?void 0:d.map(y=>({value:y.area,label:y.area,code:y.code})))||[]}}))||[]}}),Vs=async()=>{try{console.log("开始加载省市区数据...");const e=await fetch("https://cos.zhenyangtang.com.cn/area/ChinaCitys.json");if(console.log("响应状态:",e.status),!e.ok)throw new Error(`HTTP error! status: ${e.status}`);const l=await e.json();console.log("加载的数据条数:",l==null?void 0:l.length),nt.value=Ss(l),console.log("regionOptions 已设置,条数:",nt.value.length)}catch(t){console.error("加载省市区数据失败:",t),nt.value=[]}},Ns=async()=>{try{const t=await Pi({type:"server_order"});$e.value=((t==null?void 0:t.server_order)||[]).filter(e=>e.status!==0),console.log("服务套餐选项已加载:",$e.value.length)}catch(t){console.error("加载服务套餐选项失败:",t),$e.value=[]}},Cs=[{label:"全部",value:""},{label:"待双审通过",value:1},{label:"待发货",value:2},{label:"已发货",value:5},{label:"已签收",value:6},{label:"已完成",value:3},{label:"已取消",value:4},{label:"进行中",value:7},{label:"暂不制药",value:8},{label:"拒收",value:9},{label:"退款",value:10},{label:"保留药方",value:11},{label:"制药缓发",value:12}];function Ps(t){ee.value="",b.exclude_fulfillment_cancelled=0,b.fulfillment_status=t,H()}const ee=k(""),Ts=[{label:"全部",value:""},{label:"甘草",value:"gancao"},{label:"自营",value:"self"}];function Os(t){b.supply_mode=t,H()}const As=[{label:"全部",value:""},{label:"顺丰",value:"sf"},{label:"京东",value:"jd"}];function Rs(t){b.express_company=t,H()}const b=ye({start_time:"",end_time:"",order_no:"",prescription_id:"",patient_keyword:"",express_keyword:"",express_company:"",doctor_id:"",assistant_id:"",assistant_dept_id:"",fulfillment_status:"",prescription_audit_status:"",payment_slip_audit_status:"",supply_mode:"",exclude_fulfillment_cancelled:0}),$s=[{label:"全部",value:""},{label:"待审核",value:0},{label:"已通过",value:1},{label:"已驳回",value:2}],Es=[{label:"全部",value:""},{label:"待审核",value:0},{label:"已通过",value:1},{label:"已驳回",value:2}];function Ds(t){ee.value="",b.exclude_fulfillment_cancelled=0,b.prescription_audit_status=t,H()}function Us(t){ee.value="",b.exclude_fulfillment_cancelled=0,b.payment_slip_audit_status=t,H()}function rt(t){if(ee.value===t){ee.value="",b.prescription_audit_status="",b.payment_slip_audit_status="",b.fulfillment_status="",b.exclude_fulfillment_cancelled=0,H();return}ee.value=t,b.prescription_audit_status="",b.payment_slip_audit_status="",b.fulfillment_status="",b.exclude_fulfillment_cancelled=0,t==="pendingRx"?(b.prescription_audit_status=0,b.exclude_fulfillment_cancelled=1):t==="pendingPay"?(b.prescription_audit_status=1,b.payment_slip_audit_status=0):t==="pendingShip"?b.fulfillment_status=2:t==="risk"&&(b.payment_slip_audit_status=2),H()}async function zs(t){const e={...t};if(e.prescription_id===""||e.prescription_id===void 0?delete e.prescription_id:e.prescription_id=Number(e.prescription_id),(e.fulfillment_status===""||e.fulfillment_status===void 0)&&delete e.fulfillment_status,(e.prescription_audit_status===""||e.prescription_audit_status===void 0)&&delete e.prescription_audit_status,(e.payment_slip_audit_status===""||e.payment_slip_audit_status===void 0)&&delete e.payment_slip_audit_status,(!e.supply_mode||e.supply_mode==="")&&delete e.supply_mode,e.doctor_id===""||e.doctor_id===void 0||e.doctor_id===null?delete e.doctor_id:e.doctor_id=Number(e.doctor_id),e.assistant_id===""||e.assistant_id===void 0||e.assistant_id===null?delete e.assistant_id:e.assistant_id=Number(e.assistant_id),e.assistant_dept_id===""||e.assistant_dept_id===void 0||e.assistant_dept_id===null?delete e.assistant_dept_id:e.assistant_dept_id=Number(e.assistant_dept_id),e.order_no||delete e.order_no,String(e.patient_keyword||"").trim()||delete e.patient_keyword,String(e.express_keyword||"").trim()||delete e.express_keyword,(!e.express_company||e.express_company==="")&&delete e.express_company,Number(e.exclude_fulfillment_cancelled)!==1&&delete e.exclude_fulfillment_cancelled,!String(e.start_time||"").trim()||!String(e.end_time||"").trim())delete e.start_time,delete e.end_time;else{const l=String(e.start_time||"").trim(),u=String(e.end_time||"").trim();/^\d{4}-\d{2}-\d{2}$/.test(l)&&/^\d{4}-\d{2}-\d{2}$/.test(u)&&(e.start_time=`${l} 00:00:00`,e.end_time=`${u} 23:59:59`)}return pi(e)}const{pager:ie,getLists:G,resetPage:H,resetParams:Fs}=Ai({fetchFun:zs,params:b});function js(){const t=fs.query,e=f=>{const P=f!=null?String(f).trim():"";return P?P.length>=10?P.slice(0,10):P:""},l=e(t.start_time),u=e(t.end_time);l&&(b.start_time=l),u&&(b.end_time=u);const d=t.assistant_dept_id;if(d!=null&&String(d)!==""){const f=Number(d);Number.isFinite(f)&&f>0&&(b.assistant_dept_id=f)}const y=t.assistant_id;if(y!=null&&String(y)!==""){const f=Number(y);Number.isFinite(f)&&f>0&&(b.assistant_id=f)}}const ga=V(()=>{const t=b.assistant_dept_id;if(t===""||t==null)return Ee.value;const e=Number(t);if(!Number.isFinite(e))return Ee.value;const l=new Set(hs(e,it.value));return Ee.value.filter(u=>{const d=u.dept_ids;return!Array.isArray(d)||d.length===0?!1:d.map(Number).some(y=>l.has(y))})});function Ls(){const t=b.assistant_id;if(t!==""&&t!=null){const e=Number(t);ga.value.some(u=>Number(u.id)===e)||(b.assistant_id="")}H()}const le=V(()=>{const t=ie.extend,e=(t==null?void 0:t.stats_order_amount)??(t==null?void 0:t.today_order_amount),l=(t==null?void 0:t.stats_linked_pay_amount)??(t==null?void 0:t.today_linked_pay_amount),u=D=>{const pe=Number(D);return Number.isFinite(pe)?Math.round(pe*100)/100:0},d=D=>D.toFixed(2),y=(t==null?void 0:t.stats_order_amount_not_cancelled)!==void 0&&(t==null?void 0:t.stats_order_amount_cancelled)!==void 0,f=(t==null?void 0:t.stats_linked_pay_amount_not_cancelled)!==void 0&&(t==null?void 0:t.stats_linked_pay_amount_cancelled)!==void 0,P=u(y?t==null?void 0:t.stats_order_amount_not_cancelled:e),ue=y?u(t==null?void 0:t.stats_order_amount_cancelled):0,h=u(f?t==null?void 0:t.stats_linked_pay_amount_not_cancelled:l),X=f?u(t==null?void 0:t.stats_linked_pay_amount_cancelled):0,N=(t==null?void 0:t.stats_order_amount_performance)!==void 0?u(t==null?void 0:t.stats_order_amount_performance):P,T=(t==null?void 0:t.stats_linked_pay_amount_performance)!==void 0?u(t==null?void 0:t.stats_linked_pay_amount_performance):h,$t=String((t==null?void 0:t.stats_time_start)??"").trim(),Pe=String((t==null?void 0:t.stats_time_end)??"").trim(),ia=$t&&Pe?`统计时间:${$t} ~ ${Pe}`:"统计时间:—",Je=String((t==null?void 0:t.stats_scope)??"restricted");let Q="统计口径:与当前列表数据可见范围一致";Je==="all"?Q="统计口径:支付单审核白名单角色,按全量订单;与下方筛选项(医生/医助/医助部门/患者等,不含「创建时间」)一致":Je==="assistant"?Q="统计口径:仅计诊单医助为本人且满足下方其它筛选项的订单":Je==="own_rx"&&(Q="统计口径:本人创建的订单 + 关联处方开方人为本人的订单(含医助代建);与下方筛选项(不含「创建时间」)一致");const Xe=String(b.start_time||"").trim()!==""&&String(b.end_time||"").trim()!==""?"区间":"今日";return{order:u(e),pay:u(l),orderStr:d(u(e)),payStr:d(u(l)),orderNotCancelledStr:d(P),orderCancelledStr:d(ue),payNotCancelledStr:d(h),payCancelledStr:d(X),orderPerformanceStr:d(N),payPerformanceStr:d(T),orderHeading:`${Xe}业绩(业务订单额)`,payHeading:`${Xe}业绩(关联实付)`,periodLine:ia,scopeHint:Q,orderSplitHint:"业绩 = 除履约已取消(4)外全部订单金额;下方为合计与已取消明细"}}),ot=V(()=>{const t=ie.extend,e=f=>{const P=Number(f);return!Number.isFinite(P)||P<0?0:Math.trunc(P)},l=e(t==null?void 0:t.focus_pending_rx_count),u=e(t==null?void 0:t.focus_pending_pay_count),d=e(t==null?void 0:t.focus_pending_ship_count),y=e(t==null?void 0:t.focus_risk_count);return{pendingRx:l,pendingPay:u,pendingShip:d,risk:y}});function zt(t,e){const l=Number(e==null?void 0:e.prescription_audit_status),u=Number(e==null?void 0:e.payment_slip_audit_status),d=Number(e==null?void 0:e.fulfillment_status);return t==="rx"&&l===0||t==="pay"&&l===1&&u===0||t==="fulfillment"&&d===2?"po-status-tag is-focus":t==="rx"&&l===2||t==="pay"&&u===2||t==="fulfillment"&&d===4?"po-status-tag is-risk":"po-status-tag"}function Is({row:t}){const e=Number(t==null?void 0:t.prescription_audit_status),l=Number(t==null?void 0:t.payment_slip_audit_status),u=Number(t==null?void 0:t.fulfillment_status),d=_t(t==null?void 0:t.recipient_phone,t==null?void 0:t.prescription_phone);return e===2||l===2||d?"po-row-risk":e===0||e===1&&l===0||u===2?"po-row-focus":u===3||u===6?"po-row-done":""}Ri(_e,t=>{t||b.prescription_audit_status===""||b.prescription_audit_status===void 0||(b.prescription_audit_status="",b.exclude_fulfillment_cancelled=0,H())},{immediate:!0});function qs(){ee.value="",b.start_time="",b.end_time="",b.order_no="",b.prescription_id="",b.patient_keyword="",b.express_keyword="",b.express_company="",b.doctor_id="",b.assistant_id="",b.assistant_dept_id="",b.fulfillment_status="",b.prescription_audit_status="",b.payment_slip_audit_status="",b.supply_mode="",b.exclude_fulfillment_cancelled=0,Fs()}function ut(t){return{1:"挂号费",2:"问诊费",3:"药品费用",4:"首付费用",5:"尾款费用",6:"其他费用",7:"全部费用",8:"驼奶费用"}[Number(t)]??"—"}function Bs(t){if(!t)return"—";let e=[];return Array.isArray(t)?e=t:typeof t=="string"&&(e=t.split(",").filter(u=>u.trim()!=="")),e.length===0?"—":e.map(u=>{const d=$e.value.find(y=>y.value===u);return d?d.name:u}).join("、")}function ya(t){return t===1?"已通过":t===2?"已驳回":"待审核"}function ba(t){return t===1?"success":t===2?"danger":"info"}function Ft(t){return{1:"待双审通过",2:"待发货",3:"已完成",4:"已取消",5:"已发货",6:"已签收",7:"进行中",8:"暂不制药",9:"拒收",10:"退款",11:"保留药方",12:"制药缓发"}[Number(t)]??"—"}function Ms(t){const e=Number(t);return e===3||e===6?"success":e===5?"primary":e===4?"danger":e===2||e===7?"warning":e===8||e===11||e===12?"info":e===9||e===10?"danger":"info"}function te(t){const e=Number(t);return Number.isNaN(e)?"—":e.toFixed(2)}function be(t){if(t==null||t==="")return"—";if(typeof t=="number"&&t>1e9&&t<1e11){const e=new Date(t*1e3);return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")} ${String(e.getHours()).padStart(2,"0")}:${String(e.getMinutes()).padStart(2,"0")}`}return String(t)}function Hs(t){const e=Number(t.fulfillment_status);if(e!==1&&e!==2)return!1;const l=String(t.gancao_reciperl_order_no||"").trim(),u=Number(t.gancao_submit_time||0);return!(l!==""||u>0)}function Gs(t){const e=Number(t.fulfillment_status);return e===3||e===4||e===6?!1:Number(t.prescription_audit_status)===0}function Ws(t){const e=Number(t.fulfillment_status);return e===3||e===4?!1:Number(t.prescription_audit_status)===1&&Number(t.payment_slip_audit_status)===0}function Ks(t){const e=Number(t.fulfillment_status);if(e===3||e===4||e===6)return!1;const l=Number(t.prescription_audit_status),u=Number(t.payment_slip_audit_status);return(l===1||l===2)&&u===0}function Ys(t){const e=Number(t.fulfillment_status);if(e===3||e===4||e===6)return!1;const l=Number(t.prescription_audit_status),u=Number(t.payment_slip_audit_status);return l===1&&(u===1||u===2)}function Qs(t){return Number(t.fulfillment_status)===1}function jt(t){return Number(t.fulfillment_status)===2}function xa(t){const e=Number(t.fulfillment_status);return e===5||e===6}function ka(t){const e=Number(t.fulfillment_status);return(e===5||e===6)&&Number(t.payment_slip_audit_status)===1}function Js(t){const e=Number(t.fulfillment_status);return e===5||e===6}function Lt(t){if(!(t!=null&&t.id))return!1;const e=Number(t.fulfillment_status);return e!==3&&e!==4}function Xs(t){const e=Number(t.prescription_audit_status),l=String(t.gancao_reciperl_order_no||"").trim();return e===1&&l===""}function ha(t){return{1:"待支付",2:"已支付",3:"已取消",4:"已退款",5:"待审核"}[Number(t)]??"—"}const J=k(!1),It=k(!1),c=k(null),dt=V(()=>{if(!c.value)return 0;const t=Number(c.value.fulfillment_status),e=Number(c.value.prescription_audit_status),l=Number(c.value.payment_slip_audit_status);return t===3||[8,9,10,11,12].includes(t)?5:t===6||t===5||t===7?4:t===4?e===2?1:l===2?2:3:t===2?3:e===0||e===2?1:l===0||l===2?2:3}),pt=V(()=>{var e;const t=Number((e=c.value)==null?void 0:e.prescription_audit_status);return t===1?"success":t===2?"error":dt.value===1?"process":"wait"}),ct=V(()=>{var e;const t=Number((e=c.value)==null?void 0:e.payment_slip_audit_status);return t===1?"success":t===2?"error":dt.value===2?"process":"wait"}),xe=V(()=>{var e;const t=Number((e=c.value)==null?void 0:e.fulfillment_status);return t===3||t===5||t===6||t===8||t===11||t===12?"success":t===4||t===9||t===10?"error":t===7||dt.value===3?"process":"wait"}),qt=V(()=>{const t=c.value;if(!t)return[];const e=t.linked_pay_orders;return Array.isArray(e)?e:[]}),wa=V(()=>{const t=c.value;if(!t)return 0;const e=Number(t.amount)||0,l=Number(t.linked_pay_paid_total)||0;return Math.round((e-l)*100)/100}),ke=k([]);async function Zs(t,e,l){var u;if(!t){ke.value=[];return}try{const d=await ca({diagnosis_id:t,prescription_order_id:e}),y=(d==null?void 0:d.lists)??((u=d==null?void 0:d.data)==null?void 0:u.lists)??[],f=Array.isArray(y)?y.filter(P=>!l.includes(P.id)):[];ke.value=f}catch{ke.value=[]}}function Sa(t){return t?Array.isArray(t)?t.map(e=>({name:String((e==null?void 0:e.name)??"").trim(),dosage:Number(e==null?void 0:e.dosage)||0})):[]:[]}const O=V(()=>{var e;const t=(e=c.value)==null?void 0:e.prescription;return t&&typeof t=="object"?t:null});function mt(t){return t==null?"":String(t).replace(/\s/g,"").trim()}function _t(t,e){const l=mt(t),u=mt(e);return!l||!u?!1:l!==u}const De=V(()=>{var l,u;const t=(l=O.value)==null?void 0:l.phone,e=(u=c.value)==null?void 0:u.recipient_phone;return _t(e,t)}),el=V(()=>{var e;return mt((e=O.value)==null?void 0:e.phone)||"—"}),tl=V(()=>{var e;return mt((e=c.value)==null?void 0:e.recipient_phone)||"—"}),Va=V(()=>{var e,l;const t=String(((e=c.value)==null?void 0:e.order_creator_dept_path)??((l=c.value)==null?void 0:l.diagnosis_creator_dept_path)??"").trim();return t?t.split(";").map(u=>u.trim()).filter(Boolean).map(u=>u.includes(" / ")?u.split(" / ").map(d=>d.trim()).filter(Boolean):u.split("/").map(d=>d.trim()).filter(Boolean)).filter(u=>u.length>0):[]}),Na=V(()=>{const t=c.value;if(!t)return"";const e=String(t.creator_account??"").trim(),l=String(t.creator_mobile??"").trim(),u=[];return e&&u.push(`登录账号:${e}`),l&&u.push(`手机:${l}`),u.join(" · ")}),W=V(()=>{var e;const t=(e=c.value)==null?void 0:e.linked_appointment;return t&&typeof t=="object"?t:null}),Ca=V(()=>{var e;const t=String(((e=W.value)==null?void 0:e.resolved_from)||"");return t==="prescription"?"处方绑定挂号":t==="diagnosis"?"诊单关联挂号":""}),Pa=V(()=>{const t=W.value;if(!t)return"";const e=String(t.channel_source_desc??"").trim();return e||String(t.channel_source??"").trim()}),Ta=V(()=>{var t;return Sa((t=O.value)==null?void 0:t.herbs)}),al=V(()=>{var t;return((t=c.value)==null?void 0:t.prescription_detail_herbs_visible)!==!1}),sl=V(()=>{const t=c.value;if(!t)return"—";const e=[];return t.shipping_province&&e.push(t.shipping_province),t.shipping_city&&e.push(t.shipping_city),t.shipping_district&&e.push(t.shipping_district),t.shipping_address&&e.push(t.shipping_address),e.length>0?e.join(" "):"—"}),Oa=V(()=>`${_.dose_unit||"剂"}数`);function ll(t){const e=Number(t);return e===1?"已通过":e===2?"已驳回":"待审核"}function nl(t){const e=Number(t);return e===1?"success":e===2?"danger":"warning"}function Aa(t){const e=Number(t);return e===2?"success":e===1?"warning":"info"}function Ra(t){return t==null||t===""?"—":typeof t=="string"&&String(t).includes("-")?String(t):be(t)}const Ue=k("auto"),ft=k(!1),M=k(null),ze=k(""),he=k([]),Fe=k(!1),Bt=k(!1),vt=k(),re=ye({id:0,amount:void 0}),il={amount:[{required:!0,message:"请输入订单金额",trigger:"blur"},{validator:(t,e,l)=>{const u=Number(e);if(!Number.isFinite(u)||u<=0){l(new Error("订单金额必须大于0"));return}l()},trigger:"blur"}]};function rl(){const t=Dt.perms||[];return t.includes("*")||t.includes("tcm.prescriptionOrder/logs")}async function Mt(t){if(!rl()){he.value=[];return}try{const e=await Vi({id:t});he.value=(e==null?void 0:e.data)??e??[]}catch{he.value=[]}}function ol(t){return{create:"创建",edit:"编辑",audit_rx_approve:"处方审核",audit_rx_reject:"处方审核",audit_pay_approve:"支付审核",audit_pay_reject:"支付审核",fill_tracking:"填快递单",ship:"确认发货",withdraw:"撤销",link_pay_order:"关联支付单",revoke_rx_audit:"撤回处方审核",revoke_pay_audit:"撤回支付审核",gancao_submit:"甘草下单",patch_rx_patient:"处方患者信息",update_amount:"修改订单金额",complete:"完成订单"}[t]||t}const Ht=V(()=>{var l;const t=String(((l=c.value)==null?void 0:l.tracking_number)||"").trim();if(!t)return{sf:"javascript:void(0)",jd:"javascript:void(0)",jt:"javascript:void(0)"};const e=encodeURIComponent(t);return{sf:`https://www.sf-express.com/cn/sc/dynamic_function/waybill/#search/bill-number/${e}`,jd:`https://www.jdl.com/#/trackQuery?waybillCode=${e}`,jt:`https://www.jtexpress.com.cn/index/query/gzquery.html?bills=${e}`}}),$a=V(()=>{const t=M.value;return!t||!Array.isArray(t.traces)?[]:t.traces}),Ea=["拒收","拒签","退件","客户拒收","拦截退回","退回发件","派件退回","无人签收","退回快件"];function gt(t){const e=String(t??"");return Ea.some(l=>e.includes(l))}function ul(t){return gt(t)}function Da(t){if(!t)return{show:!1,keywords:[],lines:[]};const e=Array.isArray(t.traces)?t.traces:[],l=[];t.state_text&&l.push(String(t.state_text)),t.hint&&l.push(String(t.hint));for(const f of e)f.context&&l.push(String(f.context));const u=l.join(` -`),d=Ea.filter(f=>u.includes(f));if(!d.length)return{show:!1,keywords:[],lines:[]};const y=[];for(const f of e){const P=String(f.context||"");if(gt(P)&&(y.push(P),y.length>=5))break}return!y.length&>(t.state_text)&&y.push(`最新状态:${t.state_text}`),!y.length&>(t.hint)&&y.push(String(t.hint)),{show:!0,keywords:d,lines:y}}const fe=V(()=>Da(M.value)),we=k(null),yt=k(!1),je=V(()=>Da(we.value));function dl(t){const e=String(t||"").toLowerCase();return e==="sf"?"顺丰速运":e==="jd"?"京东快递":e==="jt"||e==="jtexpress"?"极兔速递":"自动识别"}async function Gt(){var e;const t=Number((e=c.value)==null?void 0:e.id);if(t){ft.value=!0;try{const l=String(ze.value||"").replace(/\D/g,""),u={id:t,express_company:Ue.value};l.length>=4&&(u.phone_tail=l);const d=await ds(u);M.value=(d==null?void 0:d.data)??d}catch{M.value=null}finally{ft.value=!1}}}const Le=k(!1),Wt=k(!1),Kt=k(),ae=ye({patient_name:"",phone:""}),pl={patient_name:[{required:!0,message:"请输入患者姓名",trigger:"blur"}],phone:[{required:!0,message:"请输入手机号",trigger:"blur"}]};function cl(){const t=O.value,e=c.value;if(!t||!(e!=null&&e.id)||!e.prescription_id){R.msgWarning("无处方数据");return}ae.patient_name=String(t.patient_name??"").trim(),ae.phone=String(t.phone??"").trim(),Le.value=!0,lt(()=>{var l;return(l=Kt.value)==null?void 0:l.clearValidate()})}function ml(){ae.patient_name="",ae.phone=""}function _l(){var t;re.id=0,re.amount=void 0,(t=vt.value)==null||t.clearValidate()}function fl(){const t=c.value;if(!Lt(t)){R.msgWarning("当前订单状态不允许修改金额");return}re.id=Number(t==null?void 0:t.id)||0,re.amount=Number(t==null?void 0:t.amount)||void 0,Fe.value=!0,lt(()=>{var e;return(e=vt.value)==null?void 0:e.clearValidate()})}async function Ua(){var e;const t=(e=c.value)==null?void 0:e.id;if(t)try{const l=await Z({id:t}),u=(l==null?void 0:l.data)??l??null;u&&(c.value=u)}catch{}}async function vl(){var l;const t=Kt.value;if(!t)return;try{await t.validate()}catch{return}const e=(l=c.value)==null?void 0:l.id;if(e){Wt.value=!0;try{await ci({id:e,patient_name:ae.patient_name.trim(),phone:ae.phone.trim()}),Le.value=!1,await Ua(),await Mt(e)}catch(u){console.error(u)}finally{Wt.value=!1}}}async function za(){const t=vt.value;if(!t)return;try{await t.validate()}catch{return}if(!Lt(c.value)){R.msgWarning("当前订单状态不允许修改金额");return}const e=re.id;Bt.value=!0;try{await mi({id:e,amount:Number(re.amount)}),R.msgSuccess("修改成功"),Fe.value=!1,await Ua(),await Mt(e),G()}catch{}finally{Bt.value=!1}}async function gl(t){c.value=null,ke.value=[],M.value=null,Ue.value="auto",ze.value="",he.value=[],J.value=!0,It.value=!0;try{const e=await Z({id:t}),l=(e==null?void 0:e.data)??e??null;if(c.value=l,l){Ue.value=String(l.express_company||"auto")||"auto";const u=String(l.recipient_phone||"").replace(/\D/g,"");ze.value=u.length>=4?u:"",String(l.tracking_number||"").trim()&&Gt(),Mt(t);const d=l.diagnosis_id,y=l.pay_order_ids||[];d&&Zs(d,t,y)}}catch(e){R.msgError((e==null?void 0:e.message)||"加载失败"),J.value=!1}finally{It.value=!1}}const ve=k(!1),Yt=k(!1),Qt=k(!1),q=k(0),se=k(null),yl=V(()=>["请核对收货信息,便于发货与物流联系。","按需填写服务与物流,并选择本诊单下需要关联的支付单。","确认费用类别与订单金额;保存前请对照定金门槛是否已满足。"][q.value]??""),Fa=V(()=>{const t=se.value,e=Sa(t==null?void 0:t.herbs);if(!e.length)return"暂无药材明细";const l=e.map(u=>`${u.name} ${u.dosage}g`).join("、");return l.length>120?`${l.slice(0,120)}…`:l}),bl=["recipient_name","recipient_phone","region","shipping_address"],Se=k(),_=ye({id:0,prescription_id:0,diagnosis_id:0,recipient_name:"",recipient_phone:"",region:[],shipping_address:"",is_follow_up:0,medication_days:void 0,dose_count:1,dose_unit:"剂",prev_staff:"",service_channel:"",service_package:[],express_company:"auto",tracking_number:"",fee_type:3,amount:0,remark_extra:"",remark_assistant:"",pay_order_ids:[],internal_cost:void 0,assistant_id:0,diagnosis_creator_id:0,diagnosis_creator_name:"",diagnosis_creator_dept_path:""}),ja=V(()=>{const t=String(_.diagnosis_creator_dept_path||"").trim();return t?t.split(";").map(e=>e.trim()).filter(Boolean).map(e=>e.includes(" / ")?e.split(" / ").map(l=>l.trim()).filter(Boolean):e.split("/").map(l=>l.trim()).filter(Boolean)).filter(e=>e.length>0):[]}),Ie=k([]),Jt=k(!1),B=k(0);function Xt(t){return{1:"挂号费",2:"问诊费",3:"药品费用",4:"首付",5:"尾款",6:"其他"}[Number(t)]||"未知"}const Zt=V(()=>{const t=new Set(_.pay_order_ids.map(l=>Number(l)));let e=0;for(const l of Ie.value)t.has(Number(l.id))&&(e+=Number(l.amount)||0);return Math.round(e*100)/100}),xl=V(()=>{const t=B.value;return t>0?Math.round(t*100)/100:0});async function kl(t,e){var l,u;if(!t){Ie.value=[];return}try{Jt.value=!0;const d=await ca({diagnosis_id:t,...e?{prescription_order_id:e}:{}}),y=(d==null?void 0:d.lists)??((l=d==null?void 0:d.data)==null?void 0:l.lists)??[];Ie.value=Array.isArray(y)?y:[];const f=Number((d==null?void 0:d.deposit_min_amount)??((u=d==null?void 0:d.data)==null?void 0:u.deposit_min_amount));!Number.isNaN(f)&&f>=0&&(B.value=f)}catch{Ie.value=[]}finally{Jt.value=!1}}const hl=V(()=>{const t={recipient_name:[{required:!0,message:"请输入收货人",trigger:"blur"}],recipient_phone:[{required:!0,message:"请输入收货手机",trigger:"blur"}],region:[{required:!0,message:"请选择省/市/区",trigger:"change",type:"array"}],shipping_address:[{required:!0,message:"请输入收货地址",trigger:"blur"}],fee_type:[{required:!0,message:"请选择费用类别",trigger:"change"}],amount:[{required:!0,message:"请输入订单金额",trigger:"blur"},{validator:(e,l,u)=>{const d=B.value,y=Number(l);if(d>0&&(!Number.isFinite(y)||y0){const e=`已开启关联支付门槛(¥${te(B.value)}),请至少选择一笔支付单`;t.pay_order_ids=[{type:"array",required:!0,min:1,message:e,trigger:"change"}]}return t});function wl(){var t;q.value=0,se.value=null,(t=Se.value)==null||t.clearValidate()}function Sl(){q.value>0&&(q.value-=1)}async function Vl(){const t=Se.value;if(t)try{q.value===0?await t.validateField([...bl]):q.value===1&&B.value>0&&await t.validateField(["pay_order_ids"]),q.value<2&&(q.value+=1)}catch{}}async function Nl(t){q.value=0,se.value=null,ve.value=!0,Yt.value=!0;try{const e=await Z({id:t.id}),l=(e==null?void 0:e.data)??e;if(!l){R.msgError("加载数据结构异常"),ve.value=!1;return}const u=l.prescription;u&&typeof u=="object"?se.value=u:Number(l.prescription_id)>0?se.value={id:Number(l.prescription_id),sn:"",patient_name:String(l.recipient_name||""),herbs:[]}:se.value=null,_.id=l.id,_.prescription_id=Number(l.prescription_id)||0,_.diagnosis_id=Number(l.diagnosis_id)||0,_.assistant_id=Number(l.assistant_id)||0,_.diagnosis_creator_id=Number(l.diagnosis_creator_id)||0,_.diagnosis_creator_name=l.diagnosis_creator_name!=null&&l.diagnosis_creator_name!==""?String(l.diagnosis_creator_name):"",_.diagnosis_creator_dept_path=l.diagnosis_creator_dept_path!=null&&l.diagnosis_creator_dept_path!==""?String(l.diagnosis_creator_dept_path):"",_.recipient_name=l.recipient_name||"",_.recipient_phone=l.recipient_phone||"";const d=l.shipping_province||"",y=l.shipping_city||"",f=l.shipping_district||"";d||y||f?_.region=[d,y,f].filter(N=>N!==""):_.region=[],_.shipping_address=l.shipping_address||"",_.is_follow_up=l.is_follow_up?1:0,_.medication_days=l.medication_days>0?l.medication_days:void 0,_.dose_count=l.dose_count>0?l.dose_count:1,_.dose_unit=l.dose_unit||"剂",_.prev_staff=l.prev_staff||"",_.service_channel=l.service_channel||"",l.service_package?Array.isArray(l.service_package)?_.service_package=l.service_package:typeof l.service_package=="string"?_.service_package=l.service_package.split(",").filter(N=>N.trim()!==""):_.service_package=[]:_.service_package=[],_.express_company=String(l.express_company||"auto")||"auto",_.tracking_number=l.tracking_number||"",_.fee_type=Number(l.fee_type)||3,B.value=Number(l.deposit_min_amount)||0;let P=Number(l.amount)||0;const ue=Math.round((Number(l.linked_pay_paid_total)||0)*100)/100,h=B.value;if(h>0){const N=Math.round(h*100)/100;PNumber(N)).filter(N=>!Number.isNaN(N)):[],_.internal_cost=l.internal_cost!=null&&l.internal_cost!==""?Number(l.internal_cost):void 0,await kl(_.diagnosis_id,_.id),lt(()=>{var N;(N=Se.value)==null||N.clearValidate()})}catch(e){R.msgError((e==null?void 0:e.message)||"加载异常"),ve.value=!1}finally{Yt.value=!1}}async function Cl(){if(!(!Se.value||q.value!==2)){await Se.value.validate(),Qt.value=!0;try{const t={id:_.id,recipient_name:_.recipient_name,recipient_phone:_.recipient_phone,shipping_address:_.shipping_address,is_follow_up:_.is_follow_up,prev_staff:_.prev_staff||"",service_channel:_.service_channel||"",service_package:Array.isArray(_.service_package)?_.service_package.join(","):"",express_company:_.express_company||"auto",tracking_number:_.tracking_number||"",fee_type:_.fee_type,amount:_.amount,remark_extra:_.remark_extra||"",remark_assistant:_.remark_assistant||"",medication_days:_.medication_days!=null&&String(_.medication_days).trim()!==""?_.medication_days:"",dose_unit:_.dose_unit||"剂",dose_count:_.dose_count||1,internal_cost:_.internal_cost!=null&&String(_.internal_cost).trim()!==""?_.internal_cost:""};_.region&&_.region.length>0?(t.shipping_province=_.region[0]||"",t.shipping_city=_.region[1]||"",t.shipping_district=_.region[2]||""):(t.shipping_province="",t.shipping_city="",t.shipping_district=""),t.pay_order_ids=[..._.pay_order_ids],await ps(t),R.msgSuccess("保存成功"),ve.value=!1,G()}catch{}finally{Qt.value=!1}}}const qe=k(!1),ea=k("prescription"),bt=k(0),Be=k(null),Ve=k(""),xt=k(!1),Pl=V(()=>ea.value==="prescription"?"处方业务审核":"关联支付单审核");function La(t,e){ea.value=e,bt.value=t.id,Be.value=t,Ve.value="",qe.value=!0}async function Ia(t){if(t==="reject"&&!Ve.value.trim()){R.msgError("驳回或阻止时必须填写明确的审核意见");return}xt.value=!0;try{const e={id:bt.value,action:t,remark:Ve.value.trim()};if(ea.value==="prescription"?await _i(e):await fi(e),R.msgSuccess(t==="approve"?"审核通过成功":"已成功驳回该单"),qe.value=!1,G(),J.value&&bt.value)try{const l=await Z({id:bt.value}),u=(l==null?void 0:l.data)??l??null;u&&(c.value=u)}catch{}}catch{}finally{xt.value=!1}}async function Tl(t){try{await at.confirm("确认撤回该业务订单?撤回后状态为「已取消」,未双审通过或双审均驳回等场景下均可安全撤回。","撤回警告",{type:"warning",confirmButtonText:"确定撤回",cancelButtonText:"暂不处理"}),await vi({id:t.id}),R.msgSuccess("撤回成功"),G()}catch{}}const ta=k(0),kt=k(!1),Ne=k(!1),F=k(null);function qa(t){if(!t)return"0.00";const e=Number(t.m_cost)||0,l=Number(t.proces_cost)||0,u=Number(t.lis_cost)||0;return(e+l+u).toFixed(2)}function Ol(t,e){const l=parseFloat(qa(t))||0,u=Number(e)||0;return u<=0?"—":(l/u*100).toFixed(2)}function Al(t){return!Array.isArray(t)||t.length===0?"0":t.reduce((l,u)=>l+(Number(u.quantity)||0),0).toFixed(0)}async function Rl(){if(!_.id){R.msgError("请先保存订单");return}Ne.value=!0;try{const t=await cs({id:_.id,dose_count:_.dose_count||1,medication_days:_.medication_days||void 0}),e=(t==null?void 0:t.data)??t;e&&e.success&&(F.value=e,kt.value=!0,R.msgSuccess("预下单测试成功"))}catch{}finally{Ne.value=!1}}async function $l(){var t;if(!((t=c.value)!=null&&t.id)){R.msgError("订单数据不存在");return}Ne.value=!0;try{const e=await cs({id:c.value.id,dose_count:c.value.dose_count||1,medication_days:c.value.medication_days||void 0}),l=(e==null?void 0:e.data)??e;l&&l.success&&(F.value=l,kt.value=!0)}catch{}finally{Ne.value=!1}}async function El(t){var e;try{await at.confirm("将把本单关联处方提交至甘草药管家开放平台(先 CTM_PREVIEW 预检查再 CTM_SUBMIT_RECIPEL 正式下单;成功后将按甘草侧规则扣费,详见 https://apidoc.igancao.com/service-doc/scm-outer-recipel.html )。确定继续?","上传甘草药方",{type:"warning",confirmButtonText:"确定上传",cancelButtonText:"取消"}),ta.value=t.id;const l=await gi({id:t.id}),u=(l==null?void 0:l.data)??l,d=(u==null?void 0:u.recipel_order_no)!=null?String(u.recipel_order_no):"";if(R.msgSuccess(d?`上传成功,甘草处方单号:${d}`:"上传成功"),G(),J.value&&Number((e=c.value)==null?void 0:e.id)===t.id)try{const y=await Z({id:t.id}),f=(y==null?void 0:y.data)??y??null;f&&(c.value=f)}catch{}}catch{}finally{ta.value=0}}$i(async()=>{await Vs(),await Ns(),await ws(),js(),await lt(),G()});const Me=k(!1),ht=k(!1),He=k(0),K=ye({express_company:"auto",tracking_number:""});function Dl(t){He.value=t.id,K.express_company=String(t.express_company||"auto")||"auto",K.tracking_number=String(t.tracking_number||""),Me.value=!0}async function Ba(){var t;if(!K.tracking_number.trim()){R.msgError("请填写快递单号");return}ht.value=!0;try{const e=await Z({id:He.value}),l=(e==null?void 0:e.data)??e;if(!l){R.msgError("加载订单数据失败");return}if(await ps({id:l.id,recipient_name:l.recipient_name||"",recipient_phone:l.recipient_phone||"",shipping_province:l.shipping_province||"",shipping_city:l.shipping_city||"",shipping_district:l.shipping_district||"",shipping_address:l.shipping_address||"",is_follow_up:l.is_follow_up?1:0,medication_days:l.medication_days!=null&&String(l.medication_days).trim()!==""?l.medication_days:"",prev_staff:l.prev_staff||"",service_channel:l.service_channel||"",service_package:l.service_package||"",fee_type:Number(l.fee_type)||3,amount:Number(l.amount)||0,remark_extra:l.remark_extra||"",remark_assistant:l.remark_assistant||"",internal_cost:l.internal_cost!=null&&l.internal_cost!==""?l.internal_cost:"",pay_order_ids:Array.isArray(l.pay_order_ids)?l.pay_order_ids:[],express_company:K.express_company||"auto",tracking_number:K.tracking_number.trim()}),R.msgSuccess("快递单号已保存"),Me.value=!1,G(),J.value&&((t=c.value)==null?void 0:t.id)===He.value)try{const u=await Z({id:He.value}),d=(u==null?void 0:u.data)??u??null;d&&(c.value=d)}catch{}if(jt({fulfillment_status:2,tracking_number:K.tracking_number}))try{await at.confirm(`快递单号「${K.tracking_number}」已保存,是否立即确认发货?`,"确认发货",{type:"success",confirmButtonText:"确认发货",cancelButtonText:"稍后再说"}),aa({id:He.value,tracking_number:K.tracking_number,express_company:K.express_company})}catch{}}catch{}finally{ht.value=!1}}const Ge=k(!1),wt=k(!1),St=k(0),Y=ye({ship_mode:"gancao",express_company:"auto",tracking_number:""});function aa(t){St.value=t.id,Y.ship_mode=String(t.ship_mode||"gancao")||"gancao",Y.express_company=String(t.express_company||"auto")||"auto",Y.tracking_number=String(t.tracking_number||""),Ge.value=!0}async function Ma(){var t;if(!Y.tracking_number.trim()){R.msgError("请先填写快递单号再确认发货");return}wt.value=!0;try{if(await yi({id:St.value,ship_mode:Y.ship_mode==="direct"?"direct":"gancao",express_company:Y.express_company||"auto",tracking_number:Y.tracking_number.trim()}),R.msgSuccess("确认发货成功,订单已进入「已发货」状态"),Ge.value=!1,G(),J.value&&((t=c.value)==null?void 0:t.id)===St.value)try{const e=await Z({id:St.value}),l=(e==null?void 0:e.data)??e??null;l&&(c.value=l)}catch{}}catch{}finally{wt.value=!1}}const Ul=[{value:3,label:"已完成"},{value:7,label:"进行中"},{value:8,label:"暂不制药"},{value:9,label:"拒收"},{value:10,label:"退款"},{value:11,label:"保留药方"},{value:12,label:"制药缓发"}],We=k(!1),sa=k(0),Vt=k(3),la=k(!1);function zl(){sa.value=0,we.value=null,yt.value=!1}async function Fl(t){yt.value=!0,we.value=null;try{const e=String(t.recipient_phone||"").replace(/\D/g,""),l={id:t.id,express_company:String(t.express_company||"auto")||"auto"};e.length>=4&&(l.phone_tail=e);const u=await ds(l);we.value=(u==null?void 0:u.data)??u}catch{we.value=null}finally{yt.value=!1}}async function jl(){var e;const t=sa.value;if(t){la.value=!0;try{if(await bi({id:t,fulfillment_status:Vt.value}),R.msgSuccess("订单状态已更新"),We.value=!1,G(),J.value&&((e=c.value)==null?void 0:e.id)===t)try{const l=await Z({id:t}),u=(l==null?void 0:l.data)??l??null;u&&(c.value=u)}catch{}}catch{}finally{la.value=!1}}}const Ke=k(!1),Nt=k(!1),Ye=k(0),Ct=k(),na=k(!1),Pt=k([]),E=ye({add_mode:"create",order_type:3,pay_amount:void 0,pay_remark:"",link_pay_order_ids:[],completion_request:0}),Ll={add_mode:[{required:!0,message:"请选择添加方式",trigger:"change"}],order_type:[{required:!0,message:"请选择费用类别",trigger:"change"}],pay_amount:[{required:!0,message:"请输入支付金额",trigger:"blur"},{validator:(t,e,l)=>{const u=Number(e);!Number.isFinite(u)||u<=0?l(new Error("金额须大于 0")):l()},trigger:"blur"}],link_pay_order_ids:[{required:!0,message:"请至少选择一个支付单",trigger:"change",validator:(t,e,l)=>{!Array.isArray(e)||e.length===0?l(new Error("请至少选择一个支付单")):l()}}]};async function Il(t,e=[]){var l;if(!t){Pt.value=[];return}try{na.value=!0;const u=await ca({diagnosis_id:t}),d=(u==null?void 0:u.lists)??((l=u==null?void 0:u.data)==null?void 0:l.lists)??[],y=Array.isArray(d)?d.filter(f=>!e.includes(f.id)):[];Pt.value=y}catch{Pt.value=[]}finally{na.value=!1}}function Ha(t){var u,d;Ye.value=t.id,E.add_mode="create",E.order_type=3,E.pay_amount=void 0,E.pay_remark="",E.link_pay_order_ids=[],E.completion_request=0,Ke.value=!0;const e=t.diagnosis_id||((u=c.value)==null?void 0:u.diagnosis_id),l=t.pay_order_ids||((d=c.value)==null?void 0:d.pay_order_ids)||[];e&&Il(e,l)}async function ql(){var t;if(Ct.value){await Ct.value.validate(),Nt.value=!0;try{if(E.add_mode==="create")await xi({id:Ye.value,order_type:E.order_type,pay_amount:E.pay_amount,pay_remark:E.pay_remark||"",completion_request:E.completion_request}),R.msgSuccess("支付单已新增,请等待审核");else{const e=E.link_pay_order_ids;if(e.length===0){R.msgError("请至少选择一个支付单");return}await ki({id:Ye.value,pay_order_ids:e,completion_request:E.completion_request}),R.msgSuccess(`已关联 ${e.length} 个支付单,请等待审核`)}if(Ke.value=!1,G(),J.value&&((t=c.value)==null?void 0:t.id)===Ye.value)try{const e=await Z({id:Ye.value}),l=(e==null?void 0:e.data)??e??null;l&&(c.value=l)}catch{}}catch{}finally{Nt.value=!1}}}function Ga(t){sa.value=t.id,Vt.value=3,we.value=null,We.value=!0,String(t.tracking_number||"").trim()&&Fl(t)}async function Bl(t){var e;try{if(await at.confirm("确认撤回处方审核?撤回后将重置为「待审核」状态。","撤回处方审核",{type:"warning",confirmButtonText:"确认撤回",cancelButtonText:"取消"}),await hi({id:t.id}),R.msgSuccess("处方审核已撤回"),G(),J.value&&((e=c.value)==null?void 0:e.id)===t.id)try{const l=await Z({id:t.id}),u=(l==null?void 0:l.data)??l??null;u&&(c.value=u)}catch{}}catch{}}async function Ml(t){var e;try{if(await at.confirm("确认撤回支付单审核?撤回后将重置为「待审核」状态。","撤回支付单审核",{type:"warning",confirmButtonText:"确认撤回",cancelButtonText:"取消"}),await wi({id:t.id}),R.msgSuccess("支付单审核已撤回"),G(),J.value&&((e=c.value)==null?void 0:e.id)===t.id)try{const l=await Z({id:t.id}),u=(l==null?void 0:l.data)??l??null;u&&(c.value=u)}catch{}}catch{}}const Tt=k(!1),Ot=k(!1),w=k(null),oe=k("internal"),Wa=k(null),Ce=k(!1),At=V(()=>{var e;const t=(e=w.value)==null?void 0:e.herbs;return Array.isArray(t)?t:[]}),Hl=V(()=>{const t=w.value;if(!t||(t.prescription_type||"浓缩水丸")!=="浓缩水丸")return null;const e=Number(t.medication_days??t.usage_days??t.dose_count),l=Number(t.times_per_day),u=Number(t.dosage_amount),d=Number(t.dosage_bag_count)>0?Number(t.dosage_bag_count):1;return!Number.isFinite(e)||!Number.isFinite(l)||!Number.isFinite(u)||e<=0||l<=0||u<=0?null:e*l*u*d}),Rt=t=>String(t).padStart(2,"0"),Gl=V(()=>{const t=w.value;if(!t)return"—";const e=t.create_time??t.update_time??null;if(e){const l=String(e).length===10?Number(e)*1e3:Number(e),u=new Date(l);if(!isNaN(u.getTime()))return`${u.getFullYear()}-${Rt(u.getMonth()+1)}-${Rt(u.getDate())} ${Rt(u.getHours())}:${Rt(u.getMinutes())}`}return t.prescription_date||"—"}),Wl=V(()=>{const t=w.value;if(!t)return"—";const e=String(t.sn??"").trim();if(e)return e;const l=String(t.visit_no??"").trim();return l||"—"}),Kl=V(()=>{const t=w.value;if(!t)return"—";const e=Number(t.appointment_id);return Number.isFinite(e)&&e>0?String(e):"—"}),Ka=V(()=>{const t=w.value;return t?String(t.order_no??"").trim():""}),Yl=V(()=>{const t=w.value;if(!t)return"—";if(t.recipient_text)return t.recipient_text;const e=[];(t.recipient_name||t.patient_name)&&e.push(t.recipient_name||t.patient_name),(t.recipient_phone||t.phone)&&e.push(t.recipient_phone||t.phone);let l=t.region;return Array.isArray(l)&&(l=l.filter(Boolean).join("")),l&&e.push(String(l)),t.shipping_address?e.push(String(t.shipping_address)):t.address&&e.push(String(t.address)),e.length?e.join(","):"—"}),Ya=V(()=>{var e;const t=Number((e=w.value)==null?void 0:e.dose_count);return Number.isFinite(t)&&t>0?t:1}),Ql=V(()=>{const e=At.value.reduce((l,u)=>l+(Number(u==null?void 0:u.dosage)||0),0);return Qe(e)}),Jl=t=>{const e=Number(t)||0;return Qe(e*Ya.value)},Xl=V(()=>{const t=w.value;if(!t)return"—";const e=t.prescription_type||"浓缩水丸";return/丸|散|膏|片/.test(e)?`浓缩丸-${e}`:e}),Zl=V(()=>{const t=w.value;if(!t)return"—";if(t.usage_text)return t.usage_text;const e=Number(t.times_per_day)>0?Number(t.times_per_day):3,l=t.dosage_amount!=null?Number(t.dosage_amount):10,u=t.dosage_unit||"g",d=t.usage_way||"温水送服",y=t.usage_time||"",f=[];if(f.push(`每天${e}次`),(t.prescription_type||"浓缩水丸")==="浓缩水丸"){const P=Number(t.dosage_bag_count)>0?Number(t.dosage_bag_count):1;f.push(`一次${P}袋`),f.push(`每袋${l}${u}`)}else f.push(`一次${l}${u}`);return f.push(d),y&&f.push(y),f.join(", ")}),en=V(()=>{const t=Hl.value;if(typeof t=="number"&&isFinite(t)&&t>0)return Qe(t);const e=w.value;if(!e)return"";const l=e.out_pellet||e.total_weight;if(l&&Number(l)>0)return Qe(Number(l));const u=At.value;if(!u.length)return"";const d=u.reduce((y,f)=>y+(Number(f==null?void 0:f.dosage)||0),0);return Qe(d*Ya.value)}),Qa=V(()=>{const t=w.value;return t&&t.medical_advice||""}),Ja=V(()=>{const t=w.value;if(!t)return"";const e=[];return e.push(`共${At.value.length}味药`),t.usage_notes&&e.push(String(t.usage_notes)),t.remark&&e.push(String(t.remark)),e.join(" ")}),Xa=V(()=>{const t=w.value;return t&&(t.pharmacy_remark||t.pharmacy_note)||""}),Za=V(()=>{const t=en.value;return t?`${t}克`:""});function Qe(t){return isFinite(t)?Number.isInteger(t)?String(t):t.toFixed(2).replace(/\.?0+$/,""):"0"}function es(t){if(!t)return"";const e=new Date(t*1e3);return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")} ${String(e.getHours()).padStart(2,"0")}:${String(e.getMinutes()).padStart(2,"0")}`}function tn(t){return t?es(t):"—"}function an(t){return t===1||t==="1"?"男":t===0||t==="0"?"女":"—"}function sn(t){return t==null||t===""?"—":`${t}岁`}function ln(){ts(_)}async function ts(t){if(!t.prescription_id){R.msgWarning("该订单未关联处方");return}Tt.value=!0,Ot.value=!0,w.value=null,oe.value="internal";try{const e=await Si({id:t.prescription_id}),l=(e==null?void 0:e.data)??e??null;if(l){const u=t.medication_days,d={...l};u!=null&&String(u).trim()!==""&&(d.medication_days=u),t.order_no&&!d.order_no&&(d.order_no=t.order_no),t.recipient_name&&!d.recipient_name&&(d.recipient_name=t.recipient_name),t.recipient_phone&&!d.recipient_phone&&(d.recipient_phone=t.recipient_phone),t.shipping_address&&!d.shipping_address&&(d.shipping_address=t.shipping_address),t.amount!=null&&d.order_amount==null&&(d.order_amount=t.amount),t.dose_count!=null&&String(t.dose_count).trim()!==""&&Number(t.dose_count)>0&&(d.dose_count=Number(t.dose_count)),t.dose_unit!=null&&String(t.dose_unit).trim()!==""&&(d.dose_unit=String(t.dose_unit));const y=t.linked_appointment;(!d.appointment_id||Number(d.appointment_id)<=0)&&y&&typeof y=="object"&&Number(y.id)>0&&(d.appointment_id=Number(y.id)),w.value=d}else w.value=null}catch(e){R.msgError((e==null?void 0:e.message)||"加载处方详情失败"),Tt.value=!1}finally{Ot.value=!1}}async function nn(t){const e=t.querySelectorAll('img[src^="http"]'),l=Array.from(e).map(async u=>{try{const d=await fetch(u.src,{mode:"cors"});if(!d.ok)return;const y=await d.blob(),f=await new Promise((P,ue)=>{const h=new FileReader;h.onload=()=>P(h.result),h.onerror=ue,h.readAsDataURL(y)});u.src=f}catch{}});await Promise.allSettled(l)}async function as(){await lt();const t=Wa.value;if(!t)throw new Error("未找到处方笺内容");return t.scrollIntoView({behavior:"instant",block:"nearest"}),await nn(t),await new Promise(e=>requestAnimationFrame(()=>e(null))),await new Promise(e=>setTimeout(e,250)),Ni(t,{scale:2,useCORS:!0,allowTaint:!1,logging:!1,backgroundColor:"#ffffff",windowWidth:t.scrollWidth,windowHeight:t.scrollHeight,width:t.scrollWidth,height:t.scrollHeight,ignoreElements:e=>e instanceof HTMLElement&&e.classList.contains("cf-slip-no-export")})}function ss(){var l;const t=(l=w.value)==null?void 0:l.patient_name;return`处方_${typeof t=="string"&&t.trim()?t.trim().replace(/[\\/:*?"<>|]/g,"_"):"未命名"}_${Date.now()}`}async function rn(){if(w.value){Ce.value=!0;try{const t=await as(),e=document.createElement("a");e.download=`${ss()}.png`,e.href=t.toDataURL("image/png"),e.click(),R.msgSuccess("图片已下载")}catch{R.msgError("下载图片失败")}finally{Ce.value=!1}}}async function on(){if(w.value){Ce.value=!0;try{const t=await as(),e=t.toDataURL("image/jpeg",.95),l=new mn({orientation:"portrait",unit:"mm",format:"a4"}),u=210,d=297,y=u,f=t.height*y/t.width;if(f<=d)l.addImage(e,"JPEG",0,0,y,f);else{let P=f,ue=0;for(;P>0;)l.addImage(e,"JPEG",0,ue,y,f),P-=d,ue-=d,P>0&&l.addPage()}l.save(`${ss()}.pdf`),R.msgSuccess("PDF已下载")}catch{R.msgError("下载PDF失败")}finally{Ce.value=!1}}}return(t,e)=>{const l=_n,u=fn,d=yn,y=bn,f=kn,P=xn,ue=hn,h=wn,X=gn,N=Nn,T=Vn,$t=Cn,Pe=Pn,Te=Sn,ia=Xn,Je=Tn,Q=On,de=Rn,Xe=An,D=En,pe=$n,C=Un,Ze=Dn,Oe=zn,ls=jn,ns=Fn,ra=Ln,is=qn,rs=In,oa=Bn,Ae=Mn,ce=Hn,un=Gn,dn=Wn,Re=Yn,ua=Kn,os=Jn,pn=Qn,me=vn,z=Ei("perms");return r(),m("div",zi,[a(l,{class:"!border-none shadow-sm mb-4",shadow:"never"},{default:s(()=>[n("div",Fi,[_e.value?(r(),m("div",ji,[e[83]||(e[83]=n("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"处方审核",-1)),(r(),m($,null,j($s,i=>n("div",{key:i.value,class:I(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",b.prescription_audit_status===i.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:x=>Ds(i.value)},[n("span",Ii,o(i.label),1)],10,Li)),64))])):v("",!0),n("div",qi,[e[84]||(e[84]=n("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"支付单审核",-1)),(r(),m($,null,j(Es,i=>n("div",{key:i.value,class:I(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",b.payment_slip_audit_status===i.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:x=>Us(i.value)},[n("span",Mi,o(i.label),1)],10,Bi)),64))]),n("div",Hi,[e[85]||(e[85]=n("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"发货状态",-1)),(r(),m($,null,j(Cs,i=>n("div",{key:"fs-"+String(i.value),class:I(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",b.fulfillment_status===i.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:x=>Ps(i.value)},[n("span",Wi,o(i.label),1)],10,Gi)),64))]),n("div",Ki,[e[86]||(e[86]=n("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"供货方式",-1)),(r(),m($,null,j(Ts,i=>n("div",{key:"sm-"+String(i.value),class:I(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",b.supply_mode===i.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:x=>Os(i.value)},[n("span",Qi,o(i.label),1)],10,Yi)),64))]),n("div",Ji,[e[87]||(e[87]=n("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"快递方式",-1)),(r(),m($,null,j(As,i=>n("div",{key:"ec-"+String(i.value),class:I(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",b.express_company===i.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:x=>Rs(i.value)},[n("span",Zi,o(i.label),1)],10,Xi)),64))])])]),_:1}),a(l,{class:"!border-none po-filter-card shadow-sm",shadow:"never"},{default:s(()=>[A((r(),m("div",er,[n("div",tr,[e[88]||(e[88]=n("div",{class:"po-stat-deco po-stat-deco--o pointer-events-none absolute -right-6 -top-8 h-28 w-28 rounded-full opacity-40"},null,-1)),n("div",ar,[n("div",null,[n("div",sr,[a(u,{size:16,class:"text-sky-500"},{default:s(()=>[a(L(ei))]),_:1}),p(" "+o(le.value.orderHeading),1)]),n("div",lr,[n("div",nr," ¥"+o(le.value.orderPerformanceStr),1),n("div",ir,[n("span",null,"合计 ¥"+o(le.value.orderStr),1),n("span",rr,"已取消 ¥"+o(le.value.orderCancelledStr),1)])])]),n("div",or,[a(u,{size:20},{default:s(()=>[a(L(ti))]),_:1})])]),n("p",ur,o(le.value.periodLine),1)]),n("div",dr,[e[89]||(e[89]=n("div",{class:"po-stat-deco po-stat-deco--p pointer-events-none absolute -right-6 -top-8 h-28 w-28 rounded-full opacity-40"},null,-1)),n("div",pr,[n("div",null,[n("div",cr,[a(u,{size:16,class:"text-emerald-500"},{default:s(()=>[a(L(ai))]),_:1}),p(" "+o(le.value.payHeading),1)]),n("div",mr,[n("div",_r," ¥"+o(le.value.payPerformanceStr),1),n("div",fr,[n("span",null,"合计 ¥"+o(le.value.payStr),1),n("span",vr,"已取消 ¥"+o(le.value.payCancelledStr),1)])])]),n("div",gr,[a(u,{size:20},{default:s(()=>[a(L(si))]),_:1})])]),n("p",yr,o(le.value.periodLine),1)])])),[[me,L(ie).loading]]),a(X,{class:"ls-form",model:b,inline:""},{default:s(()=>[a(d,{class:"w-[360px] min-w-[240px] max-w-full",label:"创建时间"},{default:s(()=>[a(oi,{startTime:b.start_time,"onUpdate:startTime":e[0]||(e[0]=i=>b.start_time=i),endTime:b.end_time,"onUpdate:endTime":e[1]||(e[1]=i=>b.end_time=i),"picker-type":"daterange","value-format":"YYYY-MM-DD","start-placeholder":"开始日期","end-placeholder":"结束日期",class:"!w-full"},null,8,["startTime","endTime"])]),_:1}),a(d,{class:"w-[260px]",label:"订单号"},{default:s(()=>[a(y,{modelValue:b.order_no,"onUpdate:modelValue":e[2]||(e[2]=i=>b.order_no=i),placeholder:"业务订单号",clearable:"",onKeyup:st(L(H),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),a(d,{class:"w-[140px]",label:"处方ID"},{default:s(()=>[a(y,{modelValue:b.prescription_id,"onUpdate:modelValue":e[3]||(e[3]=i=>b.prescription_id=i),placeholder:"处方ID",clearable:"",onKeyup:st(L(H),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),a(d,{class:"w-[220px]",label:"患者"},{default:s(()=>[a(y,{modelValue:b.patient_keyword,"onUpdate:modelValue":e[4]||(e[4]=i=>b.patient_keyword=i),placeholder:"姓名 / 手机号",clearable:"",onKeyup:st(L(H),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),a(d,{class:"w-[220px]",label:"快递"},{default:s(()=>[a(y,{modelValue:b.express_keyword,"onUpdate:modelValue":e[5]||(e[5]=i=>b.express_keyword=i),placeholder:"快递单号 / 公司",clearable:"",onKeyup:st(L(H),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),a(d,{class:"w-[200px]",label:"医生"},{default:s(()=>[a(P,{modelValue:b.doctor_id,"onUpdate:modelValue":e[6]||(e[6]=i=>b.doctor_id=i),clearable:"",filterable:"",placeholder:"开方医生",class:"!w-full"},{default:s(()=>[(r(!0),m($,null,j(Ut.value,i=>(r(),g(f,{key:i.id,label:i.name,value:i.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(d,{class:"w-[220px] min-w-[200px]",label:"医助部门"},{default:s(()=>[a(ue,{modelValue:b.assistant_dept_id,"onUpdate:modelValue":e[7]||(e[7]=i=>b.assistant_dept_id=i),data:it.value,class:"!w-full",clearable:"",filterable:"","check-strictly":"","default-expand-all":!0,"node-key":"id",props:ks,placeholder:"医助部门(选父级含子级)",onChange:Ls},null,8,["modelValue","data"])]),_:1}),a(d,{class:"w-[200px]",label:"医助"},{default:s(()=>[a(P,{modelValue:b.assistant_id,"onUpdate:modelValue":e[8]||(e[8]=i=>b.assistant_id=i),clearable:"",filterable:"",placeholder:"诊单医助",class:"!w-full"},{default:s(()=>[(r(!0),m($,null,j(ga.value,i=>(r(),g(f,{key:i.id,label:i.name,value:i.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(d,null,{default:s(()=>[a(h,{type:"primary",onClick:L(H)},{default:s(()=>[...e[90]||(e[90]=[p("查询",-1)])]),_:1},8,["onClick"]),a(h,{onClick:qs},{default:s(()=>[...e[91]||(e[91]=[p("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),A((r(),g(l,{class:"!border-none mt-4 po-table-card shadow-sm",shadow:"never"},{default:s(()=>[n("div",br,[n("div",xr,[e[92]||(e[92]=n("span",{class:"po-table-title text-gray-800"},"订单列表",-1)),n("span",kr,"共 "+o(L(ie).count)+" 条",1)]),n("div",hr,[n("div",{class:I(["po-focus-board__item is-pending-rx",{"is-active":ee.value==="pendingRx"}]),onClick:e[9]||(e[9]=i=>rt("pendingRx"))},[e[93]||(e[93]=n("span",{class:"po-focus-board__label"},"待处方审核",-1)),n("strong",wr,o(ot.value.pendingRx),1)],2),n("div",{class:I(["po-focus-board__item is-pending-pay",{"is-active":ee.value==="pendingPay"}]),onClick:e[10]||(e[10]=i=>rt("pendingPay"))},[e[94]||(e[94]=n("span",{class:"po-focus-board__label"},"待支付审核",-1)),n("strong",Sr,o(ot.value.pendingPay),1)],2),n("div",{class:I(["po-focus-board__item is-pending-ship",{"is-active":ee.value==="pendingShip"}]),onClick:e[11]||(e[11]=i=>rt("pendingShip"))},[e[95]||(e[95]=n("span",{class:"po-focus-board__label"},"待发货",-1)),n("strong",Vr,o(ot.value.pendingShip),1)],2),n("div",{class:I(["po-focus-board__item is-risk",{"is-active":ee.value==="risk"}]),onClick:e[12]||(e[12]=i=>rt("risk"))},[e[96]||(e[96]=n("span",{class:"po-focus-board__label"},"重点异常",-1)),n("strong",Nr,o(ot.value.risk),1)],2)])]),a(Te,{data:L(ie).lists,size:"default",stripe:"",class:"po-data-table","row-class-name":Is},{default:s(()=>[a(T,{label:"订单号","min-width":"178","show-overflow-tooltip":""},{default:s(({row:i})=>[n("div",Cr,[n("div",Pr,o(i.order_no||"—"),1),n("div",Tr,[a(N,{size:"small",effect:"plain",type:String(i.gancao_reciperl_order_no||"").trim()?"success":"info"},{default:s(()=>[p(o(String(i.gancao_reciperl_order_no||"").trim()?"甘草":"自营"),1)]),_:2},1032,["type"]),n("span",Or,"#"+o(i.id),1)])])]),_:1}),a(T,{label:"处方ID",prop:"prescription_id",width:"86"}),a(T,{label:"诊单ID",prop:"diagnosis_id",width:"86"}),a(T,{label:"收货人","min-width":"100"},{default:s(({row:i})=>[n("div",null,o(i.recipient_name||"—"),1),n("div",{class:I(["text-xs",_t(i.recipient_phone,i.prescription_phone)?"text-red-600 font-semibold":"text-gray-400"])},[p(o(i.recipient_phone||"—")+" ",1),_t(i.recipient_phone,i.prescription_phone)?(r(),m("span",Ar,"(与处方手机不一致)")):v("",!0)],2)]),_:1}),a(T,{label:"费用类别",width:"96"},{default:s(({row:i})=>[p(o(ut(i.fee_type)),1)]),_:1}),a(T,{label:"金额","min-width":"100"},{default:s(({row:i})=>[n("div",Rr,[n("span",$r,"¥"+o(i.amount),1),a($t,{placement:"top",width:200,trigger:"hover"},{reference:s(()=>[a(u,{class:"text-gray-400 cursor-pointer hover:text-primary"},{default:s(()=>[a(L(li))]),_:1})]),default:s(()=>[n("div",Er,[n("div",Dr,[e[97]||(e[97]=n("span",{class:"text-gray-500"},"业务订单单据:",-1)),n("span",Ur,"¥"+o(i.amount),1)]),n("div",zr,[e[98]||(e[98]=n("span",{class:"text-gray-500"},"定金下限:",-1)),n("span",null,"¥"+o(te(i.deposit_min_amount)),1)]),n("div",Fr,[e[99]||(e[99]=n("span",{class:"text-gray-500"},"实付(关联):",-1)),n("span",jr,"¥"+o(te(i.linked_pay_paid_total)),1)]),_a()&&i.internal_cost!=null&&i.internal_cost!==""?(r(),m("div",Lr,[e[100]||(e[100]=n("span",{class:"text-gray-500"},"内部成本:",-1)),n("span",Ir,"¥"+o(te(i.internal_cost)),1)])):v("",!0)])]),_:2},1024)])]),_:1}),_a()?(r(),g(T,{key:0,label:"内部成本",width:"92"},{default:s(({row:i})=>[p(o(i.internal_cost!=null&&i.internal_cost!==""?`¥${i.internal_cost}`:"—"),1)]),_:1})):v("",!0),a(T,{label:"处方审核",width:"110"},{default:s(({row:i})=>[a(N,{type:ba(i.prescription_audit_status),size:"small",class:I(zt("rx",i))},{default:s(()=>[p(o(ya(i.prescription_audit_status)),1)]),_:2},1032,["type","class"])]),_:1}),a(T,{label:"支付单审核",width:"110"},{default:s(({row:i})=>[a(N,{type:ba(i.payment_slip_audit_status),size:"small",class:I(zt("pay",i))},{default:s(()=>[p(o(ya(i.payment_slip_audit_status)),1)]),_:2},1032,["type","class"])]),_:1}),a(T,{label:"履约",width:"108"},{default:s(({row:i})=>[a(N,{type:Ms(i.fulfillment_status),size:"small",class:I(zt("fulfillment",i))},{default:s(()=>[p(o(Ft(i.fulfillment_status)),1)]),_:2},1032,["type","class"])]),_:1}),a(T,{label:"关联支付单",width:"100"},{default:s(({row:i})=>[Number(i.linked_pay_order_count)>0?(r(),m("span",{key:0,class:"text-primary cursor-default",title:i.linked_pay_order_id?`#${i.linked_pay_order_id}…`:""},o(i.linked_pay_order_count)+" 笔 ",9,qr)):(r(),m("span",Br,"—"))]),_:1}),a(T,{label:"创建时间","min-width":"144"},{default:s(({row:i})=>[p(o(be(i.create_time)),1)]),_:1}),a(T,{label:"开方人",prop:"doctor_name",width:"90","show-overflow-tooltip":""}),a(T,{label:"创建人",prop:"creator_name",width:"90","show-overflow-tooltip":""}),a(T,{"min-width":"128","show-overflow-tooltip":""},{header:s(()=>[e[101]||(e[101]=n("span",null,"二中心·指派",-1)),a(Pe,{placement:"top","max-width":"320",content:"与诊单「指派记录」快照一致:仅当本条业务单在操作瞬间为快照中的「关联业务单」(创建人+创建时间命中)时显示。绿色=新医助在名称含「二中心」的部门及其下级;灰色=系统自动释放诊单医助。"},{default:s(()=>[a(u,{class:"ml-0.5 align-middle text-gray-400 cursor-help"},{default:s(()=>[a(L(ni))]),_:1})]),_:1})]),default:s(({row:i})=>[Number(i.po_assign_snapshot_hit)?Number(i.po_assign_is_release)?(r(),g(N,{key:1,type:"info",size:"small"},{default:s(()=>[...e[102]||(e[102]=[p("已释放",-1)])]),_:1})):Number(i.po_assign_to_er_center)?(r(),g(N,{key:2,type:"success",size:"small"},{default:s(()=>[p(o(i.po_assign_to_assistant_name||"医助#"+i.po_assign_to_assistant_id),1)]),_:2},1024)):(r(),g(N,{key:3,type:"warning",size:"small",effect:"plain"},{default:s(()=>[p(" 非二中心 "+o(i.po_assign_to_assistant_name||"医助#"+i.po_assign_to_assistant_id),1)]),_:2},1024)):(r(),m("span",Mr,"—"))]),_:1}),a(T,{label:"操作",width:"310",fixed:"right"},{default:s(({row:i})=>[n("div",Hr,[A((r(),g(h,{type:"primary",link:"",onClick:x=>gl(i.id)},{default:s(()=>[p(o(bs.value),1)]),_:1},8,["onClick"])),[[z,["tcm.prescriptionOrder/detail"]]]),Hs(i)?A((r(),g(h,{key:0,type:"primary",link:"",onClick:x=>Nl(i)},{default:s(()=>[...e[103]||(e[103]=[p("编辑",-1)])]),_:1},8,["onClick"])),[[z,["tcm.prescriptionOrder/edit"]]]):v("",!0),Js(i)?A((r(),g(h,{key:1,type:"success",link:"",onClick:x=>Dl(i)},{default:s(()=>[...e[104]||(e[104]=[p("修改单号",-1)])]),_:1},8,["onClick"])),[[z,["tcm.prescriptionOrder/ddcode"]]]):v("",!0),jt(i)?A((r(),g(h,{key:2,type:"primary",link:"",onClick:x=>aa(i)},{default:s(()=>[...e[105]||(e[105]=[p("确认发货",-1)])]),_:1},8,["onClick"])),[[z,["tcm.prescriptionOrder/ship"]]]):v("",!0),xa(i)?A((r(),g(h,{key:3,type:"success",link:"",onClick:x=>Ha(i)},{default:s(()=>[...e[106]||(e[106]=[p("补齐支付单",-1)])]),_:1},8,["onClick"])),[[z,["tcm.prescriptionOrder/addPayOrder"]]]):v("",!0),ka(i)?A((r(),g(h,{key:4,type:"primary",link:"",onClick:x=>Ga(i)},{default:s(()=>[...e[107]||(e[107]=[p("完成订单",-1)])]),_:1},8,["onClick"])),[[z,["tcm.prescriptionOrder/complete"]]]):v("",!0),Qs(i)?A((r(),g(h,{key:5,type:"danger",link:"",onClick:x=>Tl(i)},{default:s(()=>[...e[108]||(e[108]=[p("撤回",-1)])]),_:1},8,["onClick"])),[[z,["tcm.prescriptionOrder/withdraw"]]]):v("",!0),Xs(i)?A((r(),g(h,{key:6,type:"warning",link:"",loading:ta.value===i.id,onClick:x=>El(i)},{default:s(()=>[...e[109]||(e[109]=[p("上传药方",-1)])]),_:1},8,["loading","onClick"])),[[z,["tcm.prescriptionOrder/submitGancaoRecipel"]]]):v("",!0)])]),_:1})]),_:1},8,["data"]),n("div",Gr,[a(ia,{modelValue:L(ie),"onUpdate:modelValue":e[13]||(e[13]=i=>Ui(ie)?ie.value=i:null),"page-sizes":[15,20,30,40,100,150,200],onChange:L(G)},null,8,["modelValue","onChange"])])]),_:1})),[[me,L(ie).loading]]),a(oa,{modelValue:J.value,"onUpdate:modelValue":e[24]||(e[24]=i=>J.value=i),class:"po-detail-drawer",size:"80%","destroy-on-close":"","close-on-click-modal":!1},{header:s(()=>{var i,x;return[n("div",Wr,[n("div",Kr,[e[110]||(e[110]=n("span",{class:"po-detail-drawer-title text-gray-800 font-semibold text-lg"},"业务订单详情",-1)),(i=c.value)!=null&&i.order_no?(r(),g(N,{key:0,type:"primary",effect:"plain",round:"",class:"ml-3"},{default:s(()=>[p(o(c.value.order_no),1)]),_:1})):v("",!0),(x=c.value)!=null&&x.gancao_reciperl_order_no?(r(),g(N,{key:1,type:"success",effect:"plain",round:"",class:"ml-2"},{default:s(()=>[p("甘草 "+o(c.value.gancao_reciperl_order_no),1)]),_:1})):v("",!0)]),c.value?(r(),m("div",Yr,[Gs(c.value)?A((r(),g(h,{key:0,type:"warning",size:"small",plain:"",onClick:e[14]||(e[14]=S=>La(c.value,"prescription"))},{default:s(()=>[...e[111]||(e[111]=[p(" 处方审核 ",-1)])]),_:1})),[[z,["tcm.prescriptionOrder/auditPrescription"]]]):v("",!0),Ks(c.value)?A((r(),g(h,{key:1,type:"info",size:"small",plain:"",onClick:e[15]||(e[15]=S=>Bl(c.value))},{default:s(()=>[...e[112]||(e[112]=[p(" 撤回处方审核 ",-1)])]),_:1})),[[z,["tcm.prescriptionOrder/auditPrescription"]]]):v("",!0),Ws(c.value)?A((r(),g(h,{key:2,type:"warning",size:"small",plain:"",onClick:e[16]||(e[16]=S=>La(c.value,"payment"))},{default:s(()=>[...e[113]||(e[113]=[p(" 支付审核 ",-1)])]),_:1})),[[z,["tcm.prescriptionOrder/auditPayment"]]]):v("",!0),Ys(c.value)?A((r(),g(h,{key:3,type:"info",size:"small",plain:"",onClick:e[17]||(e[17]=S=>Ml(c.value))},{default:s(()=>[...e[114]||(e[114]=[p(" 撤回支付审核 ",-1)])]),_:1})),[[z,["tcm.prescriptionOrder/auditPayment"]]]):v("",!0),jt(c.value)?A((r(),g(h,{key:4,type:"primary",size:"small",plain:"",onClick:e[18]||(e[18]=S=>aa(c.value))},{default:s(()=>[...e[115]||(e[115]=[p(" 确认发货 ",-1)])]),_:1})),[[z,["tcm.prescriptionOrder/ship"]]]):v("",!0),xa(c.value)?A((r(),g(h,{key:5,type:"success",size:"small",plain:"",onClick:e[19]||(e[19]=S=>Ha(c.value))},{default:s(()=>[...e[116]||(e[116]=[p(" 关联支付单 ",-1)])]),_:1})),[[z,["tcm.prescriptionOrder/addPayOrder"]]]):v("",!0),ka(c.value)?A((r(),g(h,{key:6,type:"primary",size:"small",plain:"",onClick:e[20]||(e[20]=S=>Ga(c.value))},{default:s(()=>[...e[117]||(e[117]=[p(" 完成订单 ",-1)])]),_:1})),[[z,["tcm.prescriptionOrder/complete"]]]):v("",!0)])):v("",!0)])]}),default:s(()=>{var i;return[It.value?(r(),g(Je,{key:0,rows:12,animated:"",class:"px-6 py-4"})):c.value?(r(),m("div",Qr,[De.value?(r(),g(Q,{key:0,type:"error",closable:!1,"show-icon":"",class:"mb-4 !items-start",title:"业务订单收货手机与处方登记手机不一致"},{default:s(()=>[n("div",Jr,[n("div",null,[e[118]||(e[118]=p(" 处方手机: ",-1)),n("span",Xr,o(el.value),1)]),n("div",null,[e[119]||(e[119]=p(" 订单收货手机: ",-1)),n("span",Zr,o(tl.value),1)]),e[120]||(e[120]=n("div",{class:"text-gray-600 mt-1"},"请核对是否代收货或录入错误,避免物流与回访联系错人。",-1))])]),_:1})):v("",!0),fe.value.show&&String(((i=c.value)==null?void 0:i.tracking_number)||"").trim()?(r(),g(Q,{key:1,type:"error",effect:"dark",closable:!1,"show-icon":"",class:"mb-4 !items-start ring-2 ring-red-600/90 shadow-lg",title:"物流异常:轨迹中出现拒收 / 退回等字样,请优先跟进处理"},{default:s(()=>[n("div",eo,[fe.value.keywords.length?(r(),m("div",to,[e[121]||(e[121]=n("span",{class:"text-red-100 text-xs"},"命中关键词:",-1)),(r(!0),m($,null,j(fe.value.keywords,x=>(r(),g(N,{key:x,type:"danger",effect:"plain",size:"small",class:"!border-white/40 !text-white"},{default:s(()=>[p(o(x),1)]),_:2},1024))),128))])):v("",!0),fe.value.lines.length?(r(),m("ul",ao,[(r(!0),m($,null,j(fe.value.lines,(x,S)=>(r(),m("li",{key:S},o(x),1))),128))])):v("",!0),e[122]||(e[122]=n("div",{class:"text-xs text-red-100/90 pt-1 border-t border-white/15"}," 请核实是否需改址重发、拦截退件或协调患者签收,并在备注中记录处理结果。 ",-1))])]),_:1})):v("",!0),n("div",so,[a(Xe,{active:dt.value,"align-center":"","finish-status":"success"},{default:s(()=>[a(de,{title:"业务订单创建",description:be(c.value.create_time)},null,8,["description"]),a(de,{title:"处方单双审",status:pt.value},{description:s(()=>[pt.value==="error"?(r(),m("span",lo,"处方被驳回")):pt.value==="wait"?(r(),m("span",no,"等待审核")):pt.value==="success"?(r(),m("span",io,"双审通过")):(r(),m("span",ro,"进行中"))]),_:1},8,["status"]),a(de,{title:"支付单审核",status:ct.value},{description:s(()=>[ct.value==="error"?(r(),m("span",oo,"支付审核驳回")):ct.value==="wait"?(r(),m("span",uo,"等待审核")):ct.value==="success"?(r(),m("span",po,"审核通过")):(r(),m("span",co,"进行中"))]),_:1},8,["status"]),a(de,{title:"发货与履约",status:xe.value},{description:s(()=>{var x,S,U;return[xe.value==="process"&&Number((x=c.value)==null?void 0:x.fulfillment_status)===7?(r(),m("span",mo,"进行中")):xe.value==="process"?(r(),m("span",_o,"等待发货/补充单号")):xe.value==="wait"?(r(),m("span",fo,"待转入履约")):xe.value==="success"?(r(),m("span",vo,o(Ft((S=c.value)==null?void 0:S.fulfillment_status)),1)):xe.value==="error"?(r(),m("span",go,o(Ft((U=c.value)==null?void 0:U.fulfillment_status)),1)):v("",!0)]}),_:1},8,["status"]),a(de,{title:"订单完成"})]),_:1},8,["active"])]),a(pe,{gutter:16,class:"mb-5"},{default:s(()=>[a(D,{xs:12,sm:6},{default:s(()=>[a(l,{shadow:"never",class:"stat-card border border-gray-100 bg-gray-50/50"},{default:s(()=>[n("div",yo,[e[124]||(e[124]=n("div",{class:"stat-title text-gray-500 text-xs"},"总金额",-1)),Lt(c.value)?A((r(),g(h,{key:0,type:"primary",size:"small",link:"",onClick:fl},{default:s(()=>[...e[123]||(e[123]=[p(" 修改 ",-1)])]),_:1})),[[z,["tcm.prescriptionOrder/updateAmount"]]]):v("",!0)]),n("div",bo,"¥"+o(c.value.amount),1)]),_:1})]),_:1}),a(D,{xs:12,sm:6},{default:s(()=>[a(l,{shadow:"never",class:"stat-card border border-gray-100 bg-gray-50/50"},{default:s(()=>[e[125]||(e[125]=n("div",{class:"stat-title text-gray-500 text-xs mb-1"},"已付总额",-1)),n("div",xo,"¥"+o(c.value.linked_pay_paid_total||0),1)]),_:1})]),_:1}),a(D,{xs:12,sm:6},{default:s(()=>[a(l,{shadow:"never",class:"stat-card border border-gray-100 bg-gray-50/50"},{default:s(()=>[e[126]||(e[126]=n("div",{class:"stat-title text-gray-500 text-xs mb-1"},"需代收",-1)),n("div",{class:I(["stat-value font-bold text-xl",wa.value>0?"text-amber-600":"text-gray-500"])}," ¥"+o(te(wa.value)),3)]),_:1})]),_:1}),a(D,{xs:12,sm:6},{default:s(()=>[a(l,{shadow:"never",class:"stat-card border border-gray-100 bg-gray-50/50"},{default:s(()=>[e[127]||(e[127]=n("div",{class:"stat-title text-gray-500 text-xs mb-1"},"已付笔数",-1)),n("div",ko,o(qt.value.length)+" 笔",1)]),_:1})]),_:1})]),_:1}),n("div",ho,[a(l,{shadow:"never",class:"po-panel po-panel-rx border-gray-100 h-full relative overflow-hidden"},{header:s(()=>[n("div",Vo,[n("div",No,[e[134]||(e[134]=n("span",{class:"font-medium text-[15px]"},"处方详情",-1)),c.value.doctor_name?(r(),m("span",Co,[e[130]||(e[130]=p(" 开方人:",-1)),n("span",Po,o(c.value.doctor_name),1)])):v("",!0),c.value.prescription_id&&O.value&&!String(c.value.prescription_detail_error||"").trim()?A((r(),g(h,{key:1,type:"default",size:"small",link:"",onClick:cl},{default:s(()=>[...e[131]||(e[131]=[p(" 改患者信息 ",-1)])]),_:1})),[[z,["tcm.prescriptionOrder/patchPrescriptionPatient"]]]):v("",!0),c.value.prescription_id&&_e.value?(r(),g(h,{key:2,type:"primary",size:"small",link:"",onClick:e[21]||(e[21]=x=>ts(c.value))},{default:s(()=>[...e[132]||(e[132]=[p(" 详细 ",-1)])]),_:1})):v("",!0),c.value.id&&_e.value?(r(),g(h,{key:3,type:"warning",size:"small",link:"",loading:Ne.value,icon:L(us),onClick:$l},{default:s(()=>[...e[133]||(e[133]=[p(" 测试价格 ",-1)])]),_:1},8,["loading","icon"])):v("",!0)]),n("span",To,"ID: "+o(c.value.prescription_id||"—"),1)])]),default:s(()=>[c.value.prescription_audit_status===1?(r(),m("div",wo,[...e[128]||(e[128]=[n("div",{class:"stamp-inner"},"审核通过",-1)])])):v("",!0),c.value.prescription_audit_status===2?(r(),m("div",So,[...e[129]||(e[129]=[n("div",{class:"stamp-inner"},"已驳回",-1)])])):v("",!0),String(c.value.prescription_detail_error||"").trim()?(r(),g(Q,{key:2,title:c.value.prescription_detail_error,type:"warning",closable:!1,"show-icon":"",class:"mb-3"},null,8,["title"])):O.value?(r(),m($,{key:3},[a(Ze,{column:2,border:"",size:"small",class:"po-desc bg-white"},{default:s(()=>[a(C,{label:"处方编号",span:2},{default:s(()=>[p(o(O.value.sn||"—"),1)]),_:1}),a(C,{label:"患者"},{default:s(()=>[p(o(O.value.patient_name||"—"),1)]),_:1}),a(C,{label:"性别 / 年龄"},{default:s(()=>[p(o(O.value.gender_desc||"—")+" · "+o(O.value.age??"—")+"岁 ",1)]),_:1}),a(C,{label:"手机"},{default:s(()=>[n("span",{class:I(De.value?"rx-phone-mismatch text-red-600 font-bold":"")},o(O.value.phone||"—"),3),De.value?(r(),g(N,{key:0,type:"danger",size:"small",effect:"dark",class:"ml-2 align-middle"},{default:s(()=>[...e[135]||(e[135]=[p(" 与订单手机不一致 ",-1)])]),_:1})):v("",!0)]),_:1}),a(C,{label:"处方日期"},{default:s(()=>[p(o(O.value.prescription_date||"—"),1)]),_:1}),a(C,{label:"医师"},{default:s(()=>[p(o(O.value.doctor_name||"—"),1)]),_:1}),a(C,{label:"类型"},{default:s(()=>[p(o(O.value.prescription_type||"—"),1)]),_:1}),a(C,{label:"临床诊断",span:2},{default:s(()=>[p(o(O.value.clinical_diagnosis||"—"),1)]),_:1}),_e.value?(r(),g(C,{key:0,label:"剂数 / 用法",span:2},{default:s(()=>[p(o(c.value.dose_count??O.value.dose_count??"—")+" "+o(c.value.dose_unit||"剂")+" · "+o(O.value.usage_instruction||O.value.usage_method||"—"),1)]),_:1})):v("",!0),a(C,{label:"处方金额"},{default:s(()=>[n("span",Oo,"¥"+o(O.value.amount??"—"),1)]),_:1}),a(C,{label:"消费者审核"},{default:s(()=>[a(N,{type:nl(O.value.audit_status),size:"small"},{default:s(()=>[p(o(ll(O.value.audit_status)),1)]),_:1},8,["type"])]),_:1}),a(C,{label:"用量"},{default:s(()=>[O.value.dosage_amount?(r(),m($,{key:0},[p(o(O.value.dosage_amount)+o(O.value.dosage_unit||"g")+" ",1),O.value.prescription_type==="浓缩水丸"?(r(),m($,{key:0},[p(" · "+o(Number(O.value.dosage_bag_count)>0?Number(O.value.dosage_bag_count):1)+"袋 ",1)],64)):v("",!0),O.value.prescription_type==="饮片"&&O.value.need_decoction!==null?(r(),m("span",Ao," ("+o(O.value.need_decoction?"代煎":"不代煎")+") ",1)):v("",!0)],64)):(r(),m($,{key:1},[p("—")],64))]),_:1}),a(C,{label:"服用方式"},{default:s(()=>[n("div",Ro,[n("div",null,[e[136]||(e[136]=n("span",{class:"text-gray-500"},"每天次数:",-1)),p(" "+o(O.value.times_per_day?O.value.times_per_day+" 次":"—"),1)]),n("div",null,[e[137]||(e[137]=n("span",{class:"text-gray-500"},"处方开立:",-1)),p(" "+o(O.value.usage_days!=null&&O.value.usage_days!==""?O.value.usage_days+" 天":"—"),1)]),n("div",null,[e[138]||(e[138]=n("span",{class:"text-gray-500"},"订单设置:",-1)),p(" "+o(c.value.medication_days!=null&&String(c.value.medication_days).trim()!==""?c.value.medication_days+" 天":"—"),1)])])]),_:1}),a(C,{label:"状态",span:2},{default:s(()=>[a(N,{type:Number(O.value.void_status)===1?"danger":"success",size:"small"},{default:s(()=>[p(o(Number(O.value.void_status)===1?"已作废":"正常"),1)]),_:1},8,["type"])]),_:1})]),_:1}),al.value?(r(),m("div",$o,[e[139]||(e[139]=n("div",{class:"text-xs font-medium text-gray-500 mb-2 px-1"},"药材明细",-1)),Ta.value.length?(r(),g(Te,{key:0,data:Ta.value,size:"small",border:"",stripe:"","max-height":"260"},{default:s(()=>[a(T,{type:"index",label:"#",width:"48",align:"center"}),a(T,{prop:"name",label:"药名","min-width":"120","show-overflow-tooltip":""}),a(T,{prop:"dosage",label:"用量(g)",width:"96",align:"right"})]),_:1},8,["data"])):(r(),g(Oe,{key:1,description:"无处方药材明细","image-size":64}))])):v("",!0)],64)):(r(),g(Oe,{key:4,description:"无处方数据","image-size":72}))]),_:1}),n("div",Eo,[a(l,{shadow:"never",class:"po-panel border-gray-100"},{header:s(()=>[...e[140]||(e[140]=[n("div",{class:"flex items-center justify-between"},[n("span",{class:"font-medium text-[15px]"},"未关联的收款记录"),n("span",{class:"text-xs text-gray-400"},"本诊单下未被占用的支付单")],-1)])]),default:s(()=>[ke.value.length?(r(),g(Te,{key:0,data:ke.value,size:"small",border:"",stripe:"",class:"po-pay-table","max-height":"280"},{default:s(()=>[a(T,{prop:"id",label:"ID",width:"70"}),a(T,{prop:"order_no",label:"单号","min-width":"135","show-overflow-tooltip":""}),a(T,{label:"类型",width:"90"},{default:s(({row:x})=>[p(o(x.order_type_desc||ut(x.order_type)),1)]),_:1}),a(T,{label:"金额",width:"86",align:"right"},{default:s(({row:x})=>[n("span",Do,"¥"+o(x.amount),1)]),_:1}),a(T,{label:"状态",width:"100",align:"center"},{default:s(({row:x})=>[a(N,{type:Aa(x.status),size:"small"},{default:s(()=>[p(o(x.status_desc||ha(x.status)),1)]),_:2},1032,["type"]),x.is_exempt===1?(r(),g(N,{key:0,type:"warning",size:"small",class:"ml-1"},{default:s(()=>[...e[141]||(e[141]=[p("豁免",-1)])]),_:1})):v("",!0)]),_:1}),a(T,{prop:"creator_name",label:"创建人",width:"80","show-overflow-tooltip":""}),a(T,{label:"创建时间","min-width":"136"},{default:s(({row:x})=>[p(o(Ra(x.create_time)),1)]),_:1})]),_:1},8,["data"])):(r(),g(Oe,{key:1,description:"无未关联的收款单","image-size":60}))]),_:1}),a(l,{shadow:"never",class:"po-panel po-panel-pay border-gray-100 relative overflow-hidden"},{header:s(()=>[n("div",Fo,[n("div",jo,[e[145]||(e[145]=n("span",{class:"font-medium text-[15px]"},"关联收款记录",-1)),c.value.creator_name?(r(),m("span",Lo,[e[144]||(e[144]=p(" 创建人:",-1)),n("span",Io,o(c.value.creator_name),1)])):v("",!0)])])]),default:s(()=>[c.value.payment_slip_audit_status===1?(r(),m("div",Uo,[...e[142]||(e[142]=[n("div",{class:"stamp-inner"},"审核通过",-1)])])):v("",!0),c.value.payment_slip_audit_status===2?(r(),m("div",zo,[...e[143]||(e[143]=[n("div",{class:"stamp-inner"},"已驳回",-1)])])):v("",!0),qt.value.length?(r(),g(Te,{key:2,data:qt.value,size:"small",border:"",stripe:"",class:"po-pay-table","max-height":"280"},{default:s(()=>[a(T,{prop:"id",label:"ID",width:"70"}),a(T,{prop:"order_no",label:"单号","min-width":"135","show-overflow-tooltip":""}),a(T,{label:"类型",width:"90"},{default:s(({row:x})=>[p(o(x.order_type_desc||ut(x.order_type)),1)]),_:1}),a(T,{label:"金额",width:"86",align:"right"},{default:s(({row:x})=>[n("span",qo,"¥"+o(x.amount),1)]),_:1}),a(T,{label:"状态",width:"100",align:"center"},{default:s(({row:x})=>[a(N,{type:Aa(x.status),size:"small"},{default:s(()=>[p(o(x.status_desc||ha(x.status)),1)]),_:2},1032,["type"]),x.is_exempt===1?(r(),g(N,{key:0,type:"warning",size:"small",class:"ml-1"},{default:s(()=>[...e[146]||(e[146]=[p("豁免",-1)])]),_:1})):v("",!0)]),_:1}),a(T,{prop:"creator_name",label:"创建人",width:"80","show-overflow-tooltip":""}),a(T,{label:"创建时间","min-width":"136"},{default:s(({row:x})=>[p(o(Ra(x.create_time)),1)]),_:1})]),_:1},8,["data"])):(r(),g(Oe,{key:3,description:"未关联收款单","image-size":60}))]),_:1})])]),a(l,{shadow:"never",class:"po-panel po-panel-biz border-gray-100 mb-4"},{header:s(()=>[...e[147]||(e[147]=[n("span",{class:"font-medium text-[15px]"},"履约与收货信息",-1)])]),default:s(()=>[a(Ze,{column:3,border:"",size:"small",class:"po-desc"},{default:s(()=>[a(C,{label:"诊单ID",span:3},{default:s(()=>[n("span",Bo,o(c.value.diagnosis_id),1),Number(c.value.diagnosis_id)>0?(r(),g(h,{key:0,type:"primary",link:"",size:"small",class:"ml-2 align-baseline",onClick:vs},{default:s(()=>[...e[148]||(e[148]=[p(" 查看患者信息 ",-1)])]),_:1})):v("",!0)]),_:1}),a(C,{label:"创建时间",span:1},{default:s(()=>[p(o(be(c.value.create_time)),1)]),_:1}),a(C,{label:"业务订单创建人",span:2},{default:s(()=>[Number(c.value.creator_id)>0||c.value.creator_name?(r(),m("div",Mo,[n("div",null,[n("span",Ho,o(c.value.creator_name||"—"),1),Number(c.value.creator_id)>0?(r(),m("span",Go,"ID "+o(c.value.creator_id),1)):v("",!0)]),Na.value?(r(),m("div",Wo,o(Na.value),1)):v("",!0)])):(r(),m("span",Ko,"—"))]),_:1}),a(C,{label:"创建人所属部门",span:3},{default:s(()=>[Va.value.length?(r(),m("div",Yo,[(r(!0),m($,null,j(Va.value,(x,S)=>(r(),m("div",{key:S,class:"min-w-0"},[x.length?(r(),g(ns,{key:0,class:"po-diagnosis-creator-dept-breadcrumb text-[13px] leading-relaxed",separator:"/"},{default:s(()=>[(r(!0),m($,null,j(x,(U,ge)=>(r(),g(ls,{key:ge},{default:s(()=>[n("span",Qo,o(U),1)]),_:2},1024))),128))]),_:2},1024)):v("",!0)]))),128))])):(r(),m("span",Jo,"—"))]),_:1}),a(C,{label:"收货人"},{default:s(()=>[p(o(c.value.recipient_name),1)]),_:1}),a(C,{label:"挂号关联",span:3},{default:s(()=>[W.value?(r(),m($,{key:0},[n("div",Xo,[n("span",null,[e[149]||(e[149]=p("流转编号(挂号) ",-1)),n("span",Zo,"#"+o(W.value.id),1)]),n("span",eu,"时间:"+o(W.value.appointment_date)+" "+o(W.value.period)+" "+o(W.value.appointment_time),1),a(N,{size:"small",type:"info"},{default:s(()=>[p(o(W.value.appointment_type_desc),1)]),_:1}),a(N,{size:"small"},{default:s(()=>[p(o(W.value.status_desc),1)]),_:1}),W.value.doctor_name?(r(),m("span",tu,"接诊:"+o(W.value.doctor_name),1)):v("",!0),Pa.value?(r(),m("span",au,"渠道:"+o(Pa.value),1)):v("",!0),Ca.value?(r(),g(N,{key:2,size:"small",effect:"plain"},{default:s(()=>[p(o(Ca.value),1)]),_:1})):v("",!0)]),String(W.value.remark||"").trim()?(r(),m("p",su," 备注:"+o(W.value.remark),1)):v("",!0)],64)):(r(),m("span",lu,"暂无挂号预约记录(未绑定或诊单下无预约)"))]),_:1}),a(C,{label:"收货手机"},{default:s(()=>[n("span",{class:I(De.value?"text-red-600 font-bold font-mono":"font-mono")},o(c.value.recipient_phone||"—"),3),De.value?(r(),g(N,{key:0,type:"danger",size:"small",effect:"dark",class:"ml-2 align-middle"},{default:s(()=>[...e[150]||(e[150]=[p(" 与处方手机不一致 ",-1)])]),_:1})):v("",!0)]),_:1}),a(C,{label:"收货地址",span:2},{default:s(()=>[p(o(sl.value),1)]),_:1}),a(C,{label:"复诊"},{default:s(()=>[p(o(c.value.is_follow_up?"是":"否"),1)]),_:1}),a(C,{label:"用药疗程"},{default:s(()=>[p(o(c.value.medication_days?c.value.medication_days+" 天":"—"),1)]),_:1}),a(C,{label:"上次医护"},{default:s(()=>[p(o(c.value.prev_staff||"—"),1)]),_:1}),a(C,{label:"服务渠道"},{default:s(()=>[p(o(c.value.service_channel||"—"),1)]),_:1}),a(C,{label:"服务套餐"},{default:s(()=>[p(o(Bs(c.value.service_package)),1)]),_:1}),a(C,{label:"费用类别"},{default:s(()=>[p(o(ut(c.value.fee_type)),1)]),_:1}),c.value.internal_cost!=null&&c.value.internal_cost!==""?(r(),g(C,{key:0,label:"内部成本"},{default:s(()=>[p(" ¥"+o(c.value.internal_cost),1)]),_:1})):v("",!0),a(C,{label:"快递单号",span:c.value.internal_cost!=null&&c.value.internal_cost!==""?1:2},{default:s(()=>[p(o(c.value.tracking_number||"—"),1)]),_:1},8,["span"]),a(C,{label:"快递公司"},{default:s(()=>[p(o(dl(c.value.express_company)),1)]),_:1}),A((r(),g(C,{label:"药房备注",span:3},{default:s(()=>[p(o(c.value.remark_extra||"—"),1)]),_:1})),[[z,["tcm.prescriptionOrder/editRemarkExtra"]]]),a(C,{label:"医助备注",span:3},{default:s(()=>[p(o(c.value.remark_assistant||"—"),1)]),_:1}),a(C,{label:"处方审核意见",span:3},{default:s(()=>[n("span",nu,o(c.value.prescription_audit_remark||"—"),1)]),_:1}),a(C,{label:"支付审核意见",span:3},{default:s(()=>[n("span",iu,o(c.value.payment_slip_audit_remark||"—"),1)]),_:1})]),_:1})]),_:1}),String(c.value.tracking_number||"").trim()?(r(),g(l,{key:2,shadow:"never",class:I(["po-panel po-panel-logistics",fe.value.show?"!border-2 !border-red-500 shadow-md shadow-red-500/10":"border-gray-100"])},{header:s(()=>[n("div",ru,[e[152]||(e[152]=n("span",{class:"font-medium text-[15px]"},"物流轨迹",-1)),fe.value.show?(r(),g(N,{key:0,type:"danger",effect:"dark",size:"small"},{default:s(()=>[...e[151]||(e[151]=[p(" 拒收/退回 · 待处理 ",-1)])]),_:1})):v("",!0)])]),default:s(()=>{var x,S,U,ge,et,tt;return[e[158]||(e[158]=n("p",{class:"po-logistics-tip text-gray-400 text-xs mb-3 font-normal"}," 优先读库,无记录时走快递100。顺丰会校验单号+电话(快递100要求完整手机号更易通过);默认预填订单收货手机,若仍提示验证码错误请改成与顺丰面单一致的号码。 ",-1)),n("div",ou,[a(y,{modelValue:ze.value,"onUpdate:modelValue":e[22]||(e[22]=ne=>ze.value=ne),clearable:"",maxlength:"20",placeholder:"收件手机(建议11位,与面单一致)",class:"w-[180px]",onKeyup:st(Gt,["enter"])},null,8,["modelValue"]),a(P,{modelValue:Ue.value,"onUpdate:modelValue":e[23]||(e[23]=ne=>Ue.value=ne),placeholder:"承运商",style:{width:"140px"}},{default:s(()=>[a(f,{label:"自动识别",value:"auto"}),a(f,{label:"顺丰速运",value:"sf"}),a(f,{label:"京东快递",value:"jd"}),a(f,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"]),A((r(),g(h,{type:"primary",plain:"",size:"default",loading:ft.value,onClick:Gt},{icon:s(()=>[a(u,null,{default:s(()=>[a(L(ii))]),_:1})]),default:s(()=>[e[153]||(e[153]=p(" 刷新轨迹 ",-1))]),_:1},8,["loading"])),[[z,["tcm.prescriptionOrder/logisticsTrace"]]]),n("div",uu,[a(ra,{href:Ht.value.sf,target:"_blank",type:"primary",underline:!1,class:"text-[13px]"},{default:s(()=>[...e[154]||(e[154]=[p("顺丰官网",-1)])]),_:1},8,["href"]),a(ra,{href:Ht.value.jd,target:"_blank",type:"primary",underline:!1,class:"text-[13px]"},{default:s(()=>[...e[155]||(e[155]=[p("京东物流",-1)])]),_:1},8,["href"]),a(ra,{href:Ht.value.jt,target:"_blank",type:"primary",underline:!1,class:"text-[13px]"},{default:s(()=>[...e[156]||(e[156]=[p("极兔",-1)])]),_:1},8,["href"])])]),String(((x=M.value)==null?void 0:x.hint)||"").trim()?(r(),g(Q,{key:0,title:String(((S=M.value)==null?void 0:S.hint)||""),type:"info",closable:!1,class:"mb-4","show-icon":""},null,8,["title"])):v("",!0),ft.value&&!M.value?(r(),m("div",du,[a(u,{class:"is-loading mr-1"},{default:s(()=>[a(L(ri))]),_:1}),e[157]||(e[157]=p("正在加载物流轨迹... ",-1))])):M.value?(r(),m("div",pu,[(U=M.value)!=null&&U.state_text?(r(),m("div",cu,[n("span",mu,"状态:"+o(M.value.state_text),1),(ge=M.value)!=null&&ge.carrier_label?(r(),g(N,{key:0,size:"small",type:"info"},{default:s(()=>[p(o(M.value.carrier_label),1)]),_:1})):v("",!0),(et=M.value)!=null&&et.source?(r(),m("span",_u," ["+o(M.value.source==="database"?"数据库缓存":"API拉取")+"] ",1)):v("",!0),(tt=M.value)!=null&&tt.last_query_time?(r(),m("span",fu," 更新时间:"+o(M.value.last_query_time),1)):v("",!0)])):v("",!0),$a.value.length?(r(),g(rs,{key:1,class:"mt-2 pl-2"},{default:s(()=>[(r(!0),m($,null,j($a.value,(ne,Et)=>(r(),g(is,{key:Et,type:Et===0?"primary":"info",hollow:Et!==0,timestamp:ne.time,placement:"top"},{default:s(()=>[n("span",{class:I([Et===0?"text-gray-800 font-medium":"text-gray-500",ul(ne.context)?"!text-red-700 font-semibold bg-red-50 px-1.5 py-0.5 rounded":""])},o(ne.context),3)]),_:2},1032,["type","hollow","timestamp"]))),128))]),_:1})):(r(),g(Oe,{key:2,description:"暂无轨迹节点记录","image-size":64}))])):v("",!0)]}),_:1},8,["class"])):v("",!0),A((r(),g(l,{shadow:"never",class:"po-panel border-gray-100 mt-4"},{header:s(()=>[...e[159]||(e[159]=[n("span",{class:"font-medium text-[15px]"},"操作日志",-1)])]),default:s(()=>[he.value.length?(r(),g(rs,{key:0,class:"mt-2 pl-2"},{default:s(()=>[(r(!0),m($,null,j(he.value,(x,S)=>(r(),g(is,{key:x.id,type:S===0?"primary":"info",hollow:S!==0,timestamp:be(x.create_time),placement:"top"},{default:s(()=>[n("div",vu,[n("span",gu,o(x.admin_name),1),a(N,{size:"small",type:"info"},{default:s(()=>[p(o(ol(x.action)),1)]),_:2},1024)]),n("span",{class:I(S===0?"text-gray-800 font-medium":"text-gray-500")},o(x.summary),3)]),_:2},1032,["type","hollow","timestamp"]))),128))]),_:1})):(r(),g(Oe,{key:1,description:"暂无操作日志","image-size":64}))]),_:1})),[[z,["tcm.prescriptionOrder/logs"]]])])):v("",!0)]}),_:1},8,["modelValue"]),a(ce,{modelValue:Fe.value,"onUpdate:modelValue":e[27]||(e[27]=i=>Fe.value=i),title:"修改订单金额",width:"420px","destroy-on-close":"","close-on-click-modal":!1,onClosed:_l},{footer:s(()=>[a(h,{onClick:e[26]||(e[26]=i=>Fe.value=!1)},{default:s(()=>[...e[161]||(e[161]=[p("取消",-1)])]),_:1}),a(h,{type:"primary",loading:Bt.value,onClick:za},{default:s(()=>[...e[162]||(e[162]=[p(" 确认修改 ",-1)])]),_:1},8,["loading"])]),default:s(()=>[a(X,{ref_key:"updateAmountFormRef",ref:vt,model:re,rules:il,"label-width":"96px",class:"pr-2",onSubmit:da(za,["prevent"])},{default:s(()=>[a(d,{label:"当前金额"},{default:s(()=>{var i;return[n("div",yu,"¥"+o(te((i=c.value)==null?void 0:i.amount)),1)]}),_:1}),a(d,{label:"新金额",prop:"amount"},{default:s(()=>[a(Ae,{modelValue:re.amount,"onUpdate:modelValue":e[25]||(e[25]=i=>re.amount=i),min:.01,step:.01,precision:2,"controls-position":"right",class:"w-full",placeholder:"请输入新金额"},null,8,["modelValue"])]),_:1}),e[160]||(e[160]=n("div",{class:"text-xs text-gray-400 pl-[96px] -mt-1 leading-relaxed"}," 已完成或已取消订单不可修改。提交成功后会刷新详情与操作日志。 ",-1))]),_:1},8,["model"])]),_:1},8,["modelValue"]),a(ce,{modelValue:ve.value,"onUpdate:modelValue":e[48]||(e[48]=i=>ve.value=i),title:"编辑业务订单",width:"940px",top:"4vh","close-on-click-modal":!1,"destroy-on-close":"",class:"create-order-dialog",onClosed:wl},{footer:s(()=>[n("div",Xu,[n("div",Zu,[n("span",ed,"第 "+o(q.value+1)+" / 3 步",1),q.value===2&&B.value>0?(r(),m("span",td," 订单金额与关联支付单合计须 ≥ ¥"+o(te(B.value)),1)):v("",!0)]),n("div",ad,[a(h,{size:"large",onClick:e[47]||(e[47]=i=>ve.value=!1)},{default:s(()=>[...e[175]||(e[175]=[p("取消",-1)])]),_:1}),q.value>0?(r(),g(h,{key:0,size:"large",onClick:Sl},{default:s(()=>[...e[176]||(e[176]=[p("上一步",-1)])]),_:1})):v("",!0),q.value<2?(r(),g(h,{key:1,type:"primary",size:"large",onClick:Vl},{default:s(()=>[...e[177]||(e[177]=[p(" 下一步 ",-1)])]),_:1})):v("",!0),q.value===2?(r(),g(h,{key:2,type:"primary",size:"large",loading:Qt.value,onClick:Cl},{default:s(()=>[...e[178]||(e[178]=[p(" 确认保存 ",-1)])]),_:1},8,["loading"])):v("",!0)])])]),default:s(()=>[A((r(),m("div",bu,[se.value?(r(),m("div",xu,[n("div",ku,[e[163]||(e[163]=n("span",{class:"create-order-rx-card__badge"},"关联处方",-1)),n("div",hu,[n("span",wu,"#"+o(se.value.id),1),se.value.sn?(r(),m("span",Su,o(se.value.sn),1)):v("",!0),n("span",Vu,o(se.value.patient_name||"—"),1)])]),a(Pe,{content:Fa.value,placement:"bottom","show-after":300},{default:s(()=>[n("div",Nu,o(Fa.value),1)]),_:1},8,["content"])])):v("",!0),a(Xe,{active:q.value,"finish-status":"success","align-center":"",class:"create-order-steps"},{default:s(()=>[a(de,{title:"患者与收货",description:"诊单与物流地址"}),a(de,{title:"服务与支付单",description:"套餐与关联收款"}),a(de,{title:"金额与确认",description:"费用与备注"})]),_:1},8,["active"]),n("p",Cu,o(yl.value),1),a(X,{ref_key:"editFormRef",ref:Se,model:_,rules:hl.value,"label-width":"108px",class:"create-order-form"},{default:s(()=>[A(n("div",Pu,[a(pe,{gutter:20},{default:s(()=>[a(D,{span:12},{default:s(()=>[a(d,{label:"收货人",prop:"recipient_name"},{default:s(()=>[a(y,{modelValue:_.recipient_name,"onUpdate:modelValue":e[28]||(e[28]=i=>_.recipient_name=i),maxlength:"50",placeholder:"姓名"},null,8,["modelValue"])]),_:1})]),_:1}),a(D,{span:12},{default:s(()=>[a(d,{label:"收货手机",prop:"recipient_phone"},{default:s(()=>[a(y,{modelValue:_.recipient_phone,"onUpdate:modelValue":e[29]||(e[29]=i=>_.recipient_phone=i),maxlength:"20",placeholder:"物流联系"},null,8,["modelValue"])]),_:1})]),_:1}),a(D,{span:24},{default:s(()=>[a(d,{label:"省市区",prop:"region"},{default:s(()=>[a(un,{modelValue:_.region,"onUpdate:modelValue":e[30]||(e[30]=i=>_.region=i),options:nt.value,props:{emitPath:!0},placeholder:"省 / 市 / 区",clearable:"",filterable:"",class:"w-full"},null,8,["modelValue","options"])]),_:1})]),_:1}),a(D,{span:24},{default:s(()=>[a(d,{label:"详细地址",prop:"shipping_address"},{default:s(()=>[a(y,{modelValue:_.shipping_address,"onUpdate:modelValue":e[31]||(e[31]=i=>_.shipping_address=i),type:"textarea",rows:3,placeholder:"街道、小区、门牌号等详细地址",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})],512),[[pa,q.value===0]]),A(n("div",Tu,[_e.value?(r(),g(pe,{key:0,gutter:20,class:"mb-1"},{default:s(()=>[a(D,{span:24},{default:s(()=>[n("div",Ou,[e[166]||(e[166]=n("span",{class:"text-sm font-medium text-gray-700 mr-1"},"处方",-1)),_.prescription_id?(r(),g(h,{key:0,type:"primary",size:"small",link:"",onClick:ln},{default:s(()=>[...e[164]||(e[164]=[p(" 详细 ",-1)])]),_:1})):v("",!0),_.id?(r(),g(h,{key:1,type:"warning",size:"small",link:"",loading:Ne.value,icon:L(us),onClick:Rl},{default:s(()=>[...e[165]||(e[165]=[p(" 测试价格 ",-1)])]),_:1},8,["loading","icon"])):v("",!0),n("span",Au,"ID: "+o(_.prescription_id||"—"),1)]),n("div",Ru,[ja.value.length?(r(),m("div",$u,[e[167]||(e[167]=n("div",{class:"text-gray-500"},"创建人所属部门",-1)),(r(!0),m($,null,j(ja.value,(i,x)=>(r(),m("div",{key:x,class:"pl-0 min-w-0"},[i.length?(r(),g(ns,{key:0,class:"po-diagnosis-creator-dept-breadcrumb text-[13px] leading-relaxed",separator:"/"},{default:s(()=>[(r(!0),m($,null,j(i,(S,U)=>(r(),g(ls,{key:U},{default:s(()=>[n("span",Eu,o(S),1)]),_:2},1024))),128))]),_:2},1024)):v("",!0)]))),128))])):(r(),m("div",Du,"创建人所属部门:—"))])]),_:1}),a(D,{xs:24,sm:8},{default:s(()=>[a(d,{label:"复诊"},{default:s(()=>[a(dn,{modelValue:_.is_follow_up,"onUpdate:modelValue":e[32]||(e[32]=i=>_.is_follow_up=i),"active-value":1,"inactive-value":0},null,8,["modelValue"])]),_:1})]),_:1}),a(D,{xs:24,sm:8},{default:s(()=>[a(d,{label:"服用天数",class:"create-order-form-item--inline-num"},{default:s(()=>[n("div",Uu,[a(Ae,{modelValue:_.medication_days,"onUpdate:modelValue":e[33]||(e[33]=i=>_.medication_days=i),min:1,max:999,step:1,"controls-position":"right",class:"flex-1 min-w-0"},null,8,["modelValue"]),e[168]||(e[168]=n("span",{class:"create-order-unit-suffix"},"天",-1))])]),_:1})]),_:1}),a(D,{xs:24,sm:8},{default:s(()=>[a(d,{label:"上次医生"},{default:s(()=>[a(y,{modelValue:_.prev_staff,"onUpdate:modelValue":e[34]||(e[34]=i=>_.prev_staff=i),placeholder:"可选",maxlength:"100"},null,8,["modelValue"])]),_:1})]),_:1}),a(D,{span:12},{default:s(()=>[a(d,{label:Oa.value,prop:"dose_count"},{default:s(()=>[a(Ae,{modelValue:_.dose_count,"onUpdate:modelValue":e[35]||(e[35]=i=>_.dose_count=i),min:1,placeholder:Oa.value,class:"w-full"},null,8,["modelValue","placeholder"])]),_:1},8,["label"])]),_:1}),a(D,{span:12},{default:s(()=>[a(d,{label:"剂量单位",prop:"dose_unit"},{default:s(()=>[a(P,{modelValue:_.dose_unit,"onUpdate:modelValue":e[36]||(e[36]=i=>_.dose_unit=i),placeholder:"请选择",class:"w-full"},{default:s(()=>[a(f,{label:"剂",value:"剂"}),a(f,{label:"丸",value:"丸"}),a(f,{label:"袋",value:"袋"}),a(f,{label:"盒",value:"盒"}),a(f,{label:"瓶",value:"瓶"}),a(f,{label:"膏",value:"膏"}),a(f,{label:"贴",value:"贴"})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1})):v("",!0),a(pe,{gutter:20},{default:s(()=>[a(D,{span:12},{default:s(()=>[a(d,{label:"服务渠道"},{default:s(()=>[a(y,{modelValue:_.service_channel,"onUpdate:modelValue":e[37]||(e[37]=i=>_.service_channel=i),placeholder:"可选",maxlength:"100"},null,8,["modelValue"])]),_:1})]),_:1}),a(D,{span:12},{default:s(()=>[a(d,{label:"服务套餐"},{default:s(()=>[a(P,{modelValue:_.service_package,"onUpdate:modelValue":e[38]||(e[38]=i=>_.service_package=i),multiple:"","collapse-tags":"","collapse-tags-tooltip":"",placeholder:"请选择服务套餐",clearable:"",class:"w-full"},{default:s(()=>[(r(!0),m($,null,j($e.value,i=>(r(),g(f,{key:i.value,label:i.name,value:i.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1}),a(D,{span:24},{default:s(()=>[a(d,{label:"物流设置"},{default:s(()=>[n("div",zu,[a(P,{modelValue:_.express_company,"onUpdate:modelValue":e[39]||(e[39]=i=>_.express_company=i),placeholder:"承运商",class:"w-[140px] shrink-0"},{default:s(()=>[a(f,{label:"自动识别",value:"auto"}),a(f,{label:"顺丰速运",value:"sf"}),a(f,{label:"京东快递",value:"jd"}),a(f,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"]),a(y,{modelValue:_.tracking_number,"onUpdate:modelValue":e[40]||(e[40]=i=>_.tracking_number=i),maxlength:"80",placeholder:"快递单号",class:"flex-1 min-w-0"},null,8,["modelValue"])])]),_:1})]),_:1}),a(D,{span:24},{default:s(()=>[a(d,{label:"关联支付单",prop:"pay_order_ids",required:B.value>0},{default:s(()=>[a(P,{modelValue:_.pay_order_ids,"onUpdate:modelValue":e[41]||(e[41]=i=>_.pay_order_ids=i),class:"w-full",multiple:"","collapse-tags":"","collapse-tags-tooltip":"",placeholder:B.value>0?"请至少选择一笔本诊单支付单(已开启门槛)":"多选本诊单支付单(可选)",loading:Jt.value},{default:s(()=>[(r(!0),m($,null,j(Ie.value,i=>(r(),g(f,{key:i.id,label:`${i.order_no} · ¥${i.amount} · ${Xt(i.order_type)}`,value:i.id,class:"!h-auto py-1.5"},{default:s(()=>[n("div",Fu,[n("div",ju,[n("span",Lu,o(i.order_no),1),n("span",Iu,"¥"+o(i.amount),1)]),n("div",qu,[n("span",Bu,[p(o(Xt(i.order_type)),1),i.remark?(r(),m($,{key:0},[p(" · "+o(i.remark),1)],64)):v("",!0)]),n("span",Mu,o(String(i.create_time||"").substring(0,16)),1)])])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","loading"]),n("div",Hu,[B.value>0?(r(),m($,{key:0},[n("span",Gu,"当前已开启关联支付门槛(¥"+o(te(B.value))+"),须至少选择一笔支付单。",1),e[169]||(e[169]=n("span",{class:"mx-1"},null,-1))],64)):v("",!0),e[171]||(e[171]=p(" 主管/本诊单医助可见全部支付单;否则仅本人收款单。已被占用的支付单不列出。 ",-1)),a(Pe,{content:"主管或本诊单医助可见该诊单全部支付单(待支付/已支付),否则仅本人创建的收款单。已被其他有效业务订单占用的支付单不会出现在此列表。",placement:"top"},{default:s(()=>[...e[170]||(e[170]=[n("span",{class:"text-primary cursor-help ml-0.5"},"详情",-1)])]),_:1})])]),_:1},8,["required"])]),_:1})]),_:1})],512),[[pa,q.value===1]]),A(n("div",Wu,[n("div",{class:I(["create-order-deposit-bar",Zt.value>=B.value?"is-ok":"is-warn"])},[n("div",Ku,[e[172]||(e[172]=n("span",{class:"create-order-deposit-bar__label"},"定金门槛",-1)),n("strong",null,"¥"+o(te(B.value)),1),n("span",Yu,o(B.value>0?"须 ≥ 此值":"未设置"),1)]),e[174]||(e[174]=n("div",{class:"create-order-deposit-bar__sep"},null,-1)),n("div",Qu,[e[173]||(e[173]=n("span",{class:"create-order-deposit-bar__label"},"已选收款",-1)),n("strong",null,"¥"+o(te(Zt.value)),1),n("span",Ju,o(Zt.value>=B.value?"已达标":"未达标"),1)])],2),a(pe,{gutter:20,class:"create-order-step-panel__row-after-bar"},{default:s(()=>[a(D,{span:12},{default:s(()=>[a(d,{label:"费用类别",prop:"fee_type"},{default:s(()=>[a(P,{modelValue:_.fee_type,"onUpdate:modelValue":e[42]||(e[42]=i=>_.fee_type=i),placeholder:"请选择",class:"w-full"},{default:s(()=>[a(f,{label:"挂号费",value:1}),a(f,{label:"问诊费",value:2}),a(f,{label:"药品费用",value:3}),a(f,{label:"首付费用",value:4}),a(f,{label:"尾款费用",value:5}),a(f,{label:"其他费用",value:6}),a(f,{label:"全部费用",value:7}),a(f,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1})]),_:1}),a(D,{span:12},{default:s(()=>[a(d,{label:"总金额",prop:"amount"},{default:s(()=>[a(Ae,{modelValue:_.amount,"onUpdate:modelValue":e[43]||(e[43]=i=>_.amount=i),min:xl.value,step:.01,precision:2,class:"w-full","controls-position":"right",placeholder:"元"},null,8,["modelValue","min"])]),_:1})]),_:1}),A((r(),g(D,{span:12},{default:s(()=>[a(d,{label:"内部成本"},{default:s(()=>[a(Ae,{modelValue:_.internal_cost,"onUpdate:modelValue":e[44]||(e[44]=i=>_.internal_cost=i),min:0,step:.01,precision:2,class:"w-full","controls-position":"right",placeholder:"财务可见"},null,8,["modelValue"])]),_:1})]),_:1})),[[z,["finance.account_log/lists"]]]),a(D,{span:24},{default:s(()=>[A((r(),g(d,{label:"药房备注"},{default:s(()=>[a(y,{modelValue:_.remark_extra,"onUpdate:modelValue":e[45]||(e[45]=i=>_.remark_extra=i),type:"textarea",rows:3,placeholder:"选填,对内说明",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})),[[z,["tcm.prescriptionOrder/editRemarkExtra"]]]),a(d,{label:"医助备注"},{default:s(()=>[a(y,{modelValue:_.remark_assistant,"onUpdate:modelValue":e[46]||(e[46]=i=>_.remark_assistant=i),type:"textarea",rows:3,placeholder:"选填,医助对内说明",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})],512),[[pa,q.value===2]])]),_:1},8,["model","rules"])])),[[me,Yt.value]])]),_:1},8,["modelValue"]),a(ce,{modelValue:qe.value,"onUpdate:modelValue":e[53]||(e[53]=i=>qe.value=i),title:Pl.value,width:"480px","destroy-on-close":"",onClosed:e[54]||(e[54]=i=>Ve.value="")},{footer:s(()=>[a(h,{onClick:e[50]||(e[50]=i=>qe.value=!1)},{default:s(()=>[...e[180]||(e[180]=[p("取消",-1)])]),_:1}),a(h,{type:"primary",loading:xt.value,onClick:e[51]||(e[51]=i=>Ia("approve"))},{default:s(()=>[...e[181]||(e[181]=[p("同意通过",-1)])]),_:1},8,["loading"]),a(h,{type:"danger",loading:xt.value,onClick:e[52]||(e[52]=i=>Ia("reject"))},{default:s(()=>[...e[182]||(e[182]=[p("驳回阻止",-1)])]),_:1},8,["loading"])]),default:s(()=>[Be.value&&Be.value.completion_request===1?(r(),g(Q,{key:0,title:"完单申请",type:"warning",closable:!1,"show-icon":"",class:"mb-3"},{default:s(()=>[n("div",sd,[e[179]||(e[179]=n("div",{class:"font-medium mb-1"},"该订单已申请完成",-1)),n("div",ld," 申请人:"+o(Be.value.completion_request_by_name||"—"),1),n("div",nd," 申请时间:"+o(be(Be.value.completion_request_time)),1)])]),_:1})):v("",!0),e[183]||(e[183]=n("p",{class:"text-[13px] text-gray-500 mb-3 bg-gray-50/80 border border-gray-100 p-2 rounded"},"驳回时必须填写意见;通过时意见选填。",-1)),a(y,{modelValue:Ve.value,"onUpdate:modelValue":e[49]||(e[49]=i=>Ve.value=i),type:"textarea",rows:4,maxlength:"500","show-word-limit":"",placeholder:"在此输入审核意见..."},null,8,["modelValue"])]),_:1},8,["modelValue","title"]),a(ce,{modelValue:Me.value,"onUpdate:modelValue":e[58]||(e[58]=i=>Me.value=i),title:"修改快递单号",width:"420px","destroy-on-close":"","close-on-click-modal":!1},{footer:s(()=>[a(h,{onClick:e[57]||(e[57]=i=>Me.value=!1)},{default:s(()=>[...e[185]||(e[185]=[p("取消",-1)])]),_:1}),a(h,{type:"primary",loading:ht.value,onClick:Ba},{default:s(()=>[...e[186]||(e[186]=[p("保存单号",-1)])]),_:1},8,["loading"])]),default:s(()=>[A((r(),g(X,{"label-width":"90px",class:"pr-2",onSubmit:da(Ba,["prevent"])},{default:s(()=>[a(d,{label:"承运商"},{default:s(()=>[a(P,{modelValue:K.express_company,"onUpdate:modelValue":e[55]||(e[55]=i=>K.express_company=i),class:"w-full",placeholder:"选择承运商"},{default:s(()=>[a(f,{label:"自动识别",value:"auto"}),a(f,{label:"顺丰速运",value:"sf"}),a(f,{label:"京东快递",value:"jd"}),a(f,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"])]),_:1}),a(d,{label:"快递单号"},{default:s(()=>[a(y,{modelValue:K.tracking_number,"onUpdate:modelValue":e[56]||(e[56]=i=>K.tracking_number=i),maxlength:"80",placeholder:"请输入快递单号",clearable:"",autofocus:""},null,8,["modelValue"])]),_:1}),e[184]||(e[184]=n("div",{class:"text-xs text-gray-400 pl-[90px] -mt-1 leading-relaxed"}," 仅更新快递信息,其他字段不受影响。 ",-1))]),_:1})),[[me,ht.value]])]),_:1},8,["modelValue"]),a(ce,{modelValue:Ge.value,"onUpdate:modelValue":e[63]||(e[63]=i=>Ge.value=i),title:"确认发货",width:"440px","destroy-on-close":"","close-on-click-modal":!1},{footer:s(()=>[a(h,{onClick:e[62]||(e[62]=i=>Ge.value=!1)},{default:s(()=>[...e[189]||(e[189]=[p("取消",-1)])]),_:1}),a(h,{type:"primary",loading:wt.value,onClick:Ma},{default:s(()=>[...e[190]||(e[190]=[p(" 确认发货 ",-1)])]),_:1},8,["loading"])]),default:s(()=>[a(Q,{title:"确认后订单状态将变更为「已发货」,请核对快递信息无误。",type:"warning",closable:!1,"show-icon":"",class:"mb-4"}),A((r(),g(X,{"label-width":"90px",class:"pr-2",onSubmit:da(Ma,["prevent"])},{default:s(()=>[a(d,{label:"发货方式"},{default:s(()=>[a(ua,{modelValue:Y.ship_mode,"onUpdate:modelValue":e[59]||(e[59]=i=>Y.ship_mode=i)},{default:s(()=>[a(Re,{label:"gancao"},{default:s(()=>[...e[187]||(e[187]=[p("甘草药方发",-1)])]),_:1}),a(Re,{label:"direct"},{default:s(()=>[...e[188]||(e[188]=[p("药房直发",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(d,{label:"承运商"},{default:s(()=>[a(P,{modelValue:Y.express_company,"onUpdate:modelValue":e[60]||(e[60]=i=>Y.express_company=i),class:"w-full"},{default:s(()=>[a(f,{label:"自动识别",value:"auto"}),a(f,{label:"顺丰速运",value:"sf"}),a(f,{label:"京东快递",value:"jd"}),a(f,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"])]),_:1}),a(d,{label:"快递单号"},{default:s(()=>[a(y,{modelValue:Y.tracking_number,"onUpdate:modelValue":e[61]||(e[61]=i=>Y.tracking_number=i),maxlength:"80",placeholder:"请输入快递单号",clearable:""},null,8,["modelValue"])]),_:1})]),_:1})),[[me,wt.value]])]),_:1},8,["modelValue"]),a(ce,{modelValue:We.value,"onUpdate:modelValue":e[66]||(e[66]=i=>We.value=i),title:"完成订单",width:"480px","close-on-click-modal":!1,"destroy-on-close":"",onClosed:zl},{footer:s(()=>[a(h,{onClick:e[65]||(e[65]=i=>We.value=!1)},{default:s(()=>[...e[194]||(e[194]=[p("取消",-1)])]),_:1}),a(h,{type:"primary",loading:la.value,onClick:jl},{default:s(()=>[...e[195]||(e[195]=[p(" 确定 ",-1)])]),_:1},8,["loading"])]),default:s(()=>[A((r(),m("div",id,[je.value.show?(r(),g(Q,{key:0,type:"error",effect:"dark",closable:!1,"show-icon":"",class:"mb-3 !items-start ring-2 ring-red-600/70",title:"物流异常:轨迹含拒收/退回等,请先核实处理再结案"},{default:s(()=>[n("div",rd,[je.value.keywords.length?(r(),m("div",od,[e[191]||(e[191]=n("span",{class:"text-red-100/90"},"命中:",-1)),(r(!0),m($,null,j(je.value.keywords,i=>(r(),g(N,{key:i,type:"danger",effect:"plain",size:"small",class:"!border-white/35 !text-white"},{default:s(()=>[p(o(i),1)]),_:2},1024))),128))])):v("",!0),je.value.lines.length?(r(),m("ul",ud,[(r(!0),m($,null,j(je.value.lines,(i,x)=>(r(),m("li",{key:x},o(i),1))),128))])):v("",!0),e[192]||(e[192]=n("div",{class:"text-red-100/85 border-t border-white/15 pt-1.5"}," 确认已协调拒收/退回后续(重发、退款、改址等)后再完成订单。 ",-1))])]),_:1})):v("",!0),e[193]||(e[193]=n("p",{class:"text-sm text-gray-600 mb-3"},"请选择本单结案状态。选择「已完成」时,实付将按已关联的支付单金额汇总。",-1)),a(P,{modelValue:Vt.value,"onUpdate:modelValue":e[64]||(e[64]=i=>Vt.value=i),class:"w-full",placeholder:"请选择"},{default:s(()=>[(r(),m($,null,j(Ul,i=>a(f,{key:i.value,label:i.label,value:i.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"])])),[[me,yt.value]])]),_:1},8,["modelValue"]),a(ce,{modelValue:Ke.value,"onUpdate:modelValue":e[74]||(e[74]=i=>Ke.value=i),title:"补齐支付单",width:"600px","close-on-click-modal":!1,"destroy-on-close":"",onClosed:e[75]||(e[75]=i=>{var x;return(x=Ct.value)==null?void 0:x.clearValidate()})},{footer:s(()=>[a(h,{onClick:e[73]||(e[73]=i=>Ke.value=!1)},{default:s(()=>[...e[202]||(e[202]=[p("取消",-1)])]),_:1}),a(h,{type:"primary",loading:Nt.value,onClick:ql},{default:s(()=>[...e[203]||(e[203]=[p("确认新增",-1)])]),_:1},8,["loading"])]),default:s(()=>[a(Q,{title:"可以手动创建新支付单,或关联已存在但未绑定的支付单。",type:"info",closable:!1,"show-icon":"",class:"mb-4"}),A((r(),g(X,{ref_key:"addPayOrderFormRef",ref:Ct,model:E,rules:Ll,"label-width":"90px",class:"pr-2"},{default:s(()=>[a(d,{label:"添加方式",prop:"add_mode"},{default:s(()=>[a(ua,{modelValue:E.add_mode,"onUpdate:modelValue":e[67]||(e[67]=i=>E.add_mode=i)},{default:s(()=>[a(Re,{value:"create"},{default:s(()=>[...e[196]||(e[196]=[p("手动创建",-1)])]),_:1}),a(Re,{value:"link"},{default:s(()=>[...e[197]||(e[197]=[p("关联已有",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),E.add_mode==="create"?(r(),m($,{key:0},[a(d,{label:"费用类别",prop:"order_type"},{default:s(()=>[a(P,{modelValue:E.order_type,"onUpdate:modelValue":e[68]||(e[68]=i=>E.order_type=i),class:"w-full"},{default:s(()=>[a(f,{label:"挂号费",value:1}),a(f,{label:"问诊费",value:2}),a(f,{label:"药品费用",value:3}),a(f,{label:"首付费用",value:4}),a(f,{label:"尾款费用",value:5}),a(f,{label:"其他费用",value:6}),a(f,{label:"全部费用",value:7}),a(f,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1}),a(d,{label:"支付金额",prop:"pay_amount"},{default:s(()=>[a(Ae,{modelValue:E.pay_amount,"onUpdate:modelValue":e[69]||(e[69]=i=>E.pay_amount=i),min:.01,step:.01,precision:2,class:"w-full",placeholder:"请输入支付金额(元)"},null,8,["modelValue"])]),_:1}),a(d,{label:"备注",prop:"pay_remark"},{default:s(()=>[a(y,{modelValue:E.pay_remark,"onUpdate:modelValue":e[70]||(e[70]=i=>E.pay_remark=i),type:"textarea",rows:3,maxlength:"200","show-word-limit":"",placeholder:"支付说明(选填)"},null,8,["modelValue"])]),_:1})],64)):(r(),g(d,{key:1,label:"选择支付单",prop:"link_pay_order_id"},{default:s(()=>[a(P,{modelValue:E.link_pay_order_ids,"onUpdate:modelValue":e[71]||(e[71]=i=>E.link_pay_order_ids=i),class:"w-full",placeholder:"选择未绑定的支付单(可多选)",loading:na.value,multiple:"","collapse-tags":"","collapse-tags-tooltip":""},{default:s(()=>[(r(!0),m($,null,j(Pt.value,i=>(r(),g(f,{key:i.id,label:`${i.order_no} · ¥${i.amount} · ${Xt(i.order_type)}`,value:i.id},{default:s(()=>[n("div",dd,[n("span",pd,o(i.order_no),1),n("span",cd,"¥"+o(i.amount),1)])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","loading"]),e[198]||(e[198]=n("div",{class:"text-xs text-gray-500 mt-1.5"}," 仅显示本诊单下未被其他业务订单占用的支付单,可同时选择多个 ",-1))]),_:1})),a(d,{label:"完单申请"},{default:s(()=>[a(ua,{modelValue:E.completion_request,"onUpdate:modelValue":e[72]||(e[72]=i=>E.completion_request=i)},{default:s(()=>[a(Re,{value:0},{default:s(()=>[...e[199]||(e[199]=[p("不申请",-1)])]),_:1}),a(Re,{value:1},{default:s(()=>[...e[200]||(e[200]=[p("申请完成订单",-1)])]),_:1})]),_:1},8,["modelValue"]),e[201]||(e[201]=n("div",{class:"text-xs text-gray-400 mt-1"},' 选择"申请完成订单"后,审核人员可在支付审核时看到此申请 ',-1))]),_:1})]),_:1},8,["model"])),[[me,Nt.value]])]),_:1},8,["modelValue"]),a(ce,{modelValue:Le.value,"onUpdate:modelValue":e[79]||(e[79]=i=>Le.value=i),title:"修改处方患者信息",width:"440px","close-on-click-modal":!1,"destroy-on-close":"",onClosed:ml},{footer:s(()=>[a(h,{onClick:e[78]||(e[78]=i=>Le.value=!1)},{default:s(()=>[...e[204]||(e[204]=[p("取消",-1)])]),_:1}),a(h,{type:"primary",loading:Wt.value,onClick:vl},{default:s(()=>[...e[205]||(e[205]=[p(" 保存 ",-1)])]),_:1},8,["loading"])]),default:s(()=>[a(X,{ref_key:"patchRxPatientFormRef",ref:Kt,model:ae,rules:pl,"label-width":"96px"},{default:s(()=>[a(d,{label:"患者姓名",prop:"patient_name"},{default:s(()=>[a(y,{modelValue:ae.patient_name,"onUpdate:modelValue":e[76]||(e[76]=i=>ae.patient_name=i),maxlength:"50","show-word-limit":"",placeholder:"与处方笺一致",clearable:""},null,8,["modelValue"])]),_:1}),a(d,{label:"手机",prop:"phone"},{default:s(()=>[a(y,{modelValue:ae.phone,"onUpdate:modelValue":e[77]||(e[77]=i=>ae.phone=i),maxlength:"20",placeholder:"处方登记手机号",clearable:""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),a(oa,{modelValue:Tt.value,"onUpdate:modelValue":e[81]||(e[81]=i=>Tt.value=i),size:"920px","close-on-click-modal":!1},{header:s(()=>[n("div",md,[e[208]||(e[208]=n("span",{class:"text-base font-medium text-gray-800"},"查看处方",-1)),w.value&&!Ot.value?(r(),m("div",_d,[a(h,{size:"small",loading:Ce.value,onClick:rn},{default:s(()=>[...e[206]||(e[206]=[p(" 下载图片 ",-1)])]),_:1},8,["loading"]),a(h,{size:"small",loading:Ce.value,onClick:on},{default:s(()=>[...e[207]||(e[207]=[p(" 下载PDF ",-1)])]),_:1},8,["loading"])])):v("",!0)])]),default:s(()=>[A((r(),m("div",fd,[w.value?(r(),g(pn,{key:0,modelValue:oe.value,"onUpdate:modelValue":e[80]||(e[80]=i=>oe.value=i),class:"mx-4 mt-2",style:{"margin-bottom":"0px","z-index":"1",position:"relative"}},{default:s(()=>[a(os,{label:"药房联",name:"internal"}),a(os,{label:"处方联",name:"user"})]),_:1},8,["modelValue"])):v("",!0),w.value?(r(),m("div",vd,[Number(w.value.void_status)===1?(r(),g(N,{key:0,type:"danger",size:"small"},{default:s(()=>[...e[209]||(e[209]=[p("已作废",-1)])]),_:1})):Number(w.value.business_prescription_audit_rejected)===1?(r(),g(N,{key:1,type:"danger",size:"small"},{default:s(()=>[...e[210]||(e[210]=[p("业务订单已驳回",-1)])]),_:1})):Number(w.value.audit_status)===1?(r(),g(N,{key:2,type:"success",size:"small"},{default:s(()=>[...e[211]||(e[211]=[p("已通过",-1)])]),_:1})):Number(w.value.audit_status)===0?(r(),g(N,{key:3,type:"warning",size:"small"},{default:s(()=>[...e[212]||(e[212]=[p("待审核",-1)])]),_:1})):(r(),g(N,{key:4,type:"danger",size:"small"},{default:s(()=>[...e[213]||(e[213]=[p("已驳回",-1)])]),_:1}))])):v("",!0),w.value&&Number(w.value.void_status)===1?(r(),m("div",gd," 作废人:"+o(w.value.void_by_name||"—")+",作废时间:"+o(tn(w.value.void_time)),1)):w.value&&Number(w.value.business_prescription_audit_rejected)===1?(r(),m("div",yd,[e[214]||(e[214]=n("div",{class:"font-medium"},"审核状态:已驳回(业务订单·处方审核)",-1)),w.value.business_prescription_audit_remark?(r(),m("div",bd," 驳回意见:"+o(w.value.business_prescription_audit_remark),1)):v("",!0)])):w.value&&Number(w.value.audit_status)===2?(r(),m("div",xd,[e[215]||(e[215]=n("div",{class:"font-medium"},"消费者处方审核:已驳回",-1)),w.value.audit_remark?(r(),m("div",kd,"驳回意见:"+o(w.value.audit_remark),1)):v("",!0)])):v("",!0),w.value?(r(),m("div",{key:5,ref_key:"prescriptionSlipPrintRef",ref:Wa,class:"rx-paper"},[n("div",hd,o(oe.value==="internal"?"药房联":"处方单"),1),n("div",wd,[e[220]||(e[220]=n("span",{class:"rx-notice-text"}," 服药前请核对姓名、电话、医生等信息以及服法、医嘱等要点 ",-1)),n("div",Sd,[n("div",Vd,[e[216]||(e[216]=n("span",{class:"rx-meta-label"},"日期",-1)),n("span",Nd,o(Gl.value),1)]),n("div",Cd,[e[217]||(e[217]=n("span",{class:"rx-meta-label"},"处方编号",-1)),n("span",Pd,o(Wl.value),1)]),n("div",Td,[e[218]||(e[218]=n("span",{class:"rx-meta-label"},"流转编号(挂号)",-1)),n("span",Od,o(Kl.value),1)]),Ka.value?(r(),m("div",Ad,[e[219]||(e[219]=n("span",{class:"rx-meta-label"},"业务单号",-1)),n("span",Rd,o(Ka.value),1)])):v("",!0)])]),n("div",$d,[n("div",Ed,[n("div",Dd,[e[221]||(e[221]=n("span",{class:"rx-key"},"姓名",-1)),n("span",Ud,o(w.value.patient_name||"—"),1)]),n("div",zd,[e[222]||(e[222]=n("span",{class:"rx-key"},"性别",-1)),n("span",Fd,o(an(w.value.gender)),1)]),n("div",jd,[e[223]||(e[223]=n("span",{class:"rx-key"},"年龄",-1)),n("span",Ld,o(sn(w.value.age)),1)]),n("div",Id,[e[224]||(e[224]=n("span",{class:"rx-key"},"电话",-1)),n("span",qd,o(w.value.phone||w.value.recipient_phone||"—"),1)])]),n("div",Bd,[n("div",Md,[e[225]||(e[225]=n("span",{class:"rx-key"},"收件信息",-1)),n("span",Hd,o(Yl.value),1)])]),n("div",Gd,[n("div",Wd,[e[226]||(e[226]=n("span",{class:"rx-key"},"临床诊断",-1)),n("span",Kd,o(w.value.clinical_diagnosis||"—"),1)])])]),n("div",Yd,[n("div",Qd,o(oe.value==="internal"?"药房联":"处方联"),1),n("div",Jd,[e[229]||(e[229]=n("div",{class:"rx-rp-label"},"Rp.",-1)),n("div",Xd,[n("div",Zd,[e[227]||(e[227]=n("span",null,"用药 (单剂)",-1)),n("span",null,o(oe.value==="user"?"用量":"总量"),1)]),n("div",ep,[e[228]||(e[228]=n("span",null,"用药 (单剂)",-1)),n("span",null,o(oe.value==="user"?"用量":"总量"),1)])])]),n("div",tp,[(r(!0),m($,null,j(At.value,(i,x)=>(r(),m("div",{key:x,class:"rx-herb-cell"},[oe.value==="internal"?(r(),m("span",ap,o(i.name)+" ("+o(i.dosage)+"克)",1)):(r(),m("span",sp,o(i.name),1)),oe.value==="internal"?(r(),m("span",lp,o(Jl(i.dosage))+"克",1)):(r(),m("span",np,o(i.dosage)+"克",1))]))),128))])]),n("div",ip,[n("p",null,"服法:"+o(Zl.value),1),Qa.value?(r(),m("p",rp,"医嘱:"+o(Qa.value),1)):v("",!0),Ja.value?(r(),m("p",op,"备注:"+o(Ja.value),1)):v("",!0),Xa.value?(r(),m("p",up," 药房备注:"+o(Xa.value),1)):v("",!0),Za.value?(r(),m("p",dp," 出丸:"+o(Za.value),1)):v("",!0)]),n("div",pp,[n("div",cp,[n("div",mp,[e[230]||(e[230]=n("div",{class:"rx-bot-label rx-bot-label--doctor"},"医师",-1)),n("div",_p,[w.value.doctor_signature?(r(),m("img",{key:0,src:w.value.doctor_signature,alt:"医师签名",class:"rx-bot-sign-img"},null,8,fp)):v("",!0)])]),n("div",vp,[e[231]||(e[231]=n("span",{class:"rx-bot-meta-key"},"类型:",-1)),n("span",gp,o(Xl.value),1)]),n("div",yp,[e[232]||(e[232]=n("span",{class:"rx-bot-meta-key"},"天数:",-1)),n("span",bp,o(c.value.medication_days!=null&&String(c.value.medication_days).trim()!==""?c.value.medication_days+" 天":"—"),1)]),n("div",xp,[e[233]||(e[233]=n("span",{class:"rx-bot-meta-key"},"剂量:",-1)),n("span",kp,o(Ql.value)+"克",1)])])]),e[234]||(e[234]=n("div",{class:"rx-bot-row rx-hospital-row"},[n("div",{class:"rx-hospital-line"},"成都双流甄养堂互联网医院有限公司 联系方式:4001667339"),n("div",{class:"rx-hospital-line"},"地址:四川省成都市双流区黄甲街道黄龙大道二段280号")],-1))],512)):v("",!0),w.value&&(w.value.audit_by_name||w.value.audit_remark)?(r(),m("div",hp,[w.value.audit_by_name?(r(),m("div",wp,[p(" 审核人:"+o(w.value.audit_by_name)+" ",1),w.value.audit_time?(r(),m("span",Sp,o(es(w.value.audit_time)),1)):v("",!0)])):v("",!0),w.value.audit_remark?(r(),m("div",Vp,"审核意见:"+o(w.value.audit_remark),1)):v("",!0)])):v("",!0)])),[[me,Ot.value]])]),_:1},8,["modelValue"]),a(oa,{modelValue:kt.value,"onUpdate:modelValue":e[82]||(e[82]=i=>kt.value=i),title:"甘草预下单测试结果",size:"800px","destroy-on-close":""},{default:s(()=>{var i,x;return[F.value?(r(),m("div",Np,[a(l,{shadow:"never",class:"mb-4"},{header:s(()=>[n("div",Cp,[e[236]||(e[236]=n("span",{class:"font-semibold"},"价格信息",-1)),a(N,{type:"success"},{default:s(()=>[...e[235]||(e[235]=[p("预下单成功",-1)])]),_:1})])]),default:s(()=>[a(Ze,{column:2,border:""},{default:s(()=>[a(C,{label:"药材成本"},{default:s(()=>{var S;return[n("span",Pp,"¥"+o(((S=F.value.fee)==null?void 0:S.m_cost)||"0.00"),1)]}),_:1}),a(C,{label:"制作费"},{default:s(()=>{var S;return[n("span",Tp,"¥"+o((((S=F.value.fee)==null?void 0:S.proces_cost)||0).toFixed(2)),1)]}),_:1}),a(C,{label:"物流费"},{default:s(()=>{var S;return[n("span",Op,"¥"+o((((S=F.value.fee)==null?void 0:S.lis_cost)||0).toFixed(2)),1)]}),_:1}),a(C,{label:"总计"},{default:s(()=>[n("div",null,[n("span",Ap," ¥"+o(qa(F.value.fee)),1),A((r(),m("div",Rp,[e[237]||(e[237]=p(" 占订单总金额: ",-1)),n("span",$p,o(Ol(F.value.fee,F.value.amount)),1),F.value.amount>0?(r(),m("span",Ep,"%(预报价 ÷ 订单金额 × 100)")):v("",!0)])),[[z,["prescription.order/finance"]]])])]),_:1})]),_:1})]),_:1}),a(l,{shadow:"never",class:"mb-4"},{header:s(()=>[...e[238]||(e[238]=[n("span",{class:"font-semibold"},"配送信息",-1)])]),default:s(()=>[a(Ze,{column:2,border:""},{default:s(()=>[a(C,{label:"调配中心"},{default:s(()=>{var S;return[p(o(((S=F.value.result)==null?void 0:S.ds_name)||"—"),1)]}),_:1}),a(C,{label:"调配中心ID"},{default:s(()=>{var S;return[p(o(((S=F.value.result)==null?void 0:S.ds_id)||"—"),1)]}),_:1}),a(C,{label:"服用天数范围",span:2},{default:s(()=>{var S,U,ge,et,tt,ne;return[p(o(((U=(S=F.value.result)==null?void 0:S.take_days)==null?void 0:U.min)||"—")+" - "+o(((et=(ge=F.value.result)==null?void 0:ge.take_days)==null?void 0:et.max)||"—")+" 天 (默认: "+o(((ne=(tt=F.value.result)==null?void 0:tt.take_days)==null?void 0:ne.default)||"—")+" 天) ",1)]}),_:1})]),_:1})]),_:1}),(x=(i=F.value.result)==null?void 0:i.rule_check)!=null&&x.length?(r(),g(l,{key:0,shadow:"never",class:"mb-4"},{header:s(()=>[...e[239]||(e[239]=[n("span",{class:"font-semibold"},"医嘱备注",-1)])]),default:s(()=>[n("div",Dp,o(F.value.result.rule_check.map(S=>S.msg).join(" ")),1)]),_:1})):v("",!0),a(l,{shadow:"never"},{header:s(()=>{var S,U;return[n("div",Up,[e[240]||(e[240]=n("span",{class:"font-semibold"},"药材明细",-1)),n("span",zp,"共 "+o(((U=(S=F.value.result)==null?void 0:S.m_list)==null?void 0:U.length)||0)+" 味药",1)])]}),default:s(()=>{var S;return[a(Te,{data:((S=F.value.result)==null?void 0:S.m_list)||[],border:"",stripe:"","max-height":"400"},{default:s(()=>[a(T,{type:"index",label:"#",width:"50",align:"center"}),a(T,{prop:"title",label:"药材名称","min-width":"120","show-overflow-tooltip":""}),a(T,{prop:"quantity",label:"用量",width:"80",align:"right"},{default:s(({row:U})=>[p(o(U.quantity)+o(U.unit),1)]),_:1}),a(T,{prop:"price",label:"单价(元/克)",width:"110",align:"right"},{default:s(({row:U})=>[p(" ¥"+o(Number(U.price).toFixed(4)),1)]),_:1}),a(T,{label:"小计",width:"100",align:"right"},{default:s(({row:U})=>[n("span",Fp," ¥"+o((Number(U.price)*Number(U.quantity)).toFixed(2)),1)]),_:1}),a(T,{prop:"is_available",label:"库存状态",width:"100",align:"center"},{default:s(({row:U})=>[a(N,{type:U.is_available===1?"success":"danger",size:"small"},{default:s(()=>[p(o(U.is_available===1?"有货":"缺货"),1)]),_:2},1032,["type"])]),_:1}),a(T,{prop:"brief",label:"备注","min-width":"120","show-overflow-tooltip":""})]),_:1},8,["data"])]}),_:1}),a(l,{shadow:"never",class:"mt-4"},{header:s(()=>[...e[241]||(e[241]=[n("span",{class:"font-semibold"},"订单信息",-1)])]),default:s(()=>[a(Ze,{column:2,border:""},{default:s(()=>[a(C,{label:"订单号",span:2},{default:s(()=>[p(o(F.value.order_no||"—"),1)]),_:1}),a(C,{label:"剂数"},{default:s(()=>[n("span",jp,o(F.value.dose_count||"—")+"剂",1)]),_:1}),a(C,{label:"单剂量"},{default:s(()=>{var S;return[n("span",Lp,o(Al((S=F.value.result)==null?void 0:S.m_list))+"克 ",1)]}),_:1})]),_:1})]),_:1})])):v("",!0)]}),_:1},8,["modelValue"]),a(L(_s),{ref_key:"diagnosisViewRef",ref:ma},null,512)])}}}),$c=Ti(qp,[["__scopeId","data-v-32f614b7"]]);export{$c as default}; diff --git a/server/public/admin/assets/order_list_h5-tCnZ1_6u.js b/server/public/admin/assets/order_list_h5-vgNomJoJ.js similarity index 98% rename from server/public/admin/assets/order_list_h5-tCnZ1_6u.js rename to server/public/admin/assets/order_list_h5-vgNomJoJ.js index cdbb2fa3..f6cbee8b 100644 --- a/server/public/admin/assets/order_list_h5-tCnZ1_6u.js +++ b/server/public/admin/assets/order_list_h5-vgNomJoJ.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/edit-DlBhR6x6.js","assets/element-plus-0wC3naml.js","assets/@vue/runtime-dom-DDAG46FW.js","assets/lodash-D3kF6u-c.js","assets/@vue/runtime-core-C6bnekPw.js","assets/@vue/reactivity-DiY1c2vO.js","assets/@vue/shared-mAAVTE9n.js","assets/@element-plus/icons-vue-HOEUG8sr.js","assets/lodash-es-C2A-Pj28.js","assets/@popperjs/core-C5az9QE8.js","assets/dayjs-DG77mNTn.js","assets/@ctrl/tinycolor-BuyEbX8F.js","assets/async-validator-CFA_igpM.js","assets/normalize-wheel-es-BQoi3Ox2.js","assets/element-plus-C_YxM8bk.css","assets/tcm-SLIwsL8z.js","assets/index-E47--KT7.js","assets/jspdf-BsthCvR5.js","assets/@babel/runtime-BanGtE2-.js","assets/fflate-_ayOYiT1.js","assets/vue-router-QlpZ4wdW.js","assets/pinia-B8cvXbiZ.js","assets/axios-C80V62Fs.js","assets/@vueuse/core-1S4fJlii.js","assets/@vueuse/shared-Cl3lVqjz.js","assets/css-color-function-DI01JAaZ.js","assets/balanced-match-BdS7OldZ.js","assets/color-B2zxaWkI.js","assets/clone-DBZ6_OiU.js","assets/color-convert-OrFsTA_V.js","assets/color-name-Dju3oUBS.js","assets/color-string-pUQDDJII.js","assets/ms-CzQ2E3wO.js","assets/vue-clipboard3-DByT_rEQ.js","assets/clipboard-CHgxszqY.js","assets/echarts-CNLwa9wG.js","assets/tslib-BDyQ-Jie.js","assets/zrender-DRNXw7y3.js","assets/highlight.js-Bxt7hFFy.js","assets/highlight-BfC0goYb.css","assets/@highlightjs/vue-plugin-C4onkBvW.js","assets/index-Cf-gzPmQ.css","assets/perm-YIJpPBOg.js","assets/DailyMatrix-0DiBlpfB.js","assets/picker-DlbAZkDm.js","assets/index-nymJKQXP.js","assets/index-B3imPWFk.css","assets/index-B56X8bEB.js","assets/index.vue_vue_type_script_setup_true_lang-DXTGI59-.js","assets/index-BHTgr4Ka.js","assets/index-D0f1Mn00.css","assets/index-Ci4dcEQh.js","assets/cos-js-sdk-v5-DSMN0LUT.js","assets/file-DoYUJmkp.js","assets/index.vue_vue_type_script_setup_true_lang-Bl0f8aX8.js","assets/usePaging-VsbTxSU0.js","assets/index-BYOmK9R5.css","assets/vuedraggable-5bKFmC7X.js","assets/vue-BVs68q8v.js","assets/@vue/compiler-dom-CqayqxS7.js","assets/@vue/compiler-core-CvbQOXIO.js","assets/sortablejs-dsEAUXlE.js","assets/picker-XZbUgFct.css","assets/vue-echarts-BNtg2q_G.js","assets/resize-detector-G6vbKCU7.js","assets/DiagnosisTodoList-DC7uqd6f.js","assets/DiagnosisTodoList-D0SBmTHG.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix-zLBaKfXe.css","assets/CaseRecordList-CsyYkwG-.js","assets/CaseRecordList-Cl-c3q7S.css","assets/CallRecordPanel-CLexkvxf.js","assets/RecordingPlaybackBlock-z0PPBYke.js","assets/RecordingVideoPlayer-DWV7klHs.js","assets/RecordingVideoPlayer-4DegHAwm.css","assets/RecordingPlaybackBlock-B3KYFgvg.css","assets/CallRecordPanel-TsjZtTO8.css","assets/ImChatRecordPanel-DiuuXcLT.js","assets/im-business-message-parse-QKjFLn3X.js","assets/ImChatRecordPanel-aX8zpWRQ.css","assets/AssignLogPanel-B0ohl4pV.js","assets/AssignLogPanel-BdKOtd2m.css","assets/AppointmentRecordPanel-BZnhzLjC.js","assets/doctor-6V0qM7Ks.js","assets/AppointmentRecordPanel-DC22GDgn.css","assets/NoteTimeline-CDNv1DMC.js","assets/patient-DKQ1nUyC.js","assets/NoteTimeline-CCWIpEBQ.css","assets/PatientOrderList-DQ7QxnQw.js","assets/PatientOrderList-iKx_Cn9B.css","assets/index-kYFkWYEt.js","assets/index-wwnvQhjf.js","assets/medicine-D-OyzCbR.js","assets/index-tfEElgYq.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/html2canvas-QH1iLAAe.js","assets/index-DGbIWVjL.css","assets/edit-z2mn_utb.css","assets/TrackingNoteTimeline-B9T8pFso.css"])))=>i.map(i=>d[i]); -import{_ as Xl,E as Zl}from"./jspdf-BsthCvR5.js";import{J as en,d as tn,L as an,T as sn,D as ln,B as nn,C as rn,P as on,Q as un,W as dn,i as pn,R as cn,p as _n,n as mn,o as fn,a8 as vn,K as gn,a5 as yn,a6 as bn,a3 as xn,a4 as kn,a9 as hn,aa as wn,M as Vn,N as Sn,_ as Nn,ab as Cn,ac as Pn,e as An,h as Tn,V as On,r as Rn,a7 as En,k as $n,j as Dn,g as zn,G as Un,I as Fn,a as Je}from"./element-plus-0wC3naml.js";import{_ as jn}from"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import{w as Xe,q as At,s as Tt}from"./@vue/runtime-dom-DDAG46FW.js";import{k as In,G as Ln,R as qn,V as Mn,N as oa,e as ss,i as Bn,X as Hn,L as Gn,l as Wn}from"./@element-plus/icons-vue-HOEUG8sr.js";import{_ as Kn}from"./index.vue_vue_type_script_setup_true_lang-DBEwrTRf.js";import{g as Yn,n as Qn,j as Jn,o as Xn,q as Zn,r as ei,s as Z,t as ls,u as ti,v as ai,w as si,x as ns,y as li,z as ni,A as ii,B as ri,C as oi,D as ui,E as di,a as pi,p as ua,F as ci}from"./tcm-SLIwsL8z.js";import _i from"./html2canvas-QH1iLAAe.js";import{u as mi,i as A,m as fi,_ as vi}from"./index-E47--KT7.js";import{d as gi}from"./department-4lF54x8w.js";import{u as yi}from"./usePaging-VsbTxSU0.js";import{f as is,w as bi,b as xi,as as ki,ak as o,I as m,J as a,a as s,aN as l,F as $,ap as B,H as v,aP as T,O as p,G as g,P as hi,A as V,n as Ot}from"./@vue/runtime-core-C6bnekPw.js";import{o as I,Q as r}from"./@vue/shared-mAAVTE9n.js";import{y as R,a as wi,n as x,r as be}from"./@vue/reactivity-DiY1c2vO.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Vi={class:"prescription-order-page prescription-order-list prescription-order-h5 po-h5-app"},Si={class:"flex flex-col gap-3"},Ni={key:0,class:"flex items-center gap-2 flex-wrap"},Ci=["onClick"],Pi={class:"font-medium"},Ai={class:"flex items-center gap-2 flex-wrap"},Ti=["onClick"],Oi={class:"font-medium"},Ri={class:"flex items-center gap-2 flex-wrap"},Ei=["onClick"],$i={class:"font-medium"},Di={class:"flex items-center gap-2 flex-wrap"},zi=["onClick"],Ui={class:"font-medium"},Fi={class:"flex items-center gap-2 flex-wrap"},ji=["onClick"],Ii={class:"font-medium"},Li={class:"po-list-stats grid grid-cols-1 sm:grid-cols-2 gap-4 mb-5"},qi={class:"po-stat-surface po-stat-surface--order relative overflow-hidden rounded-xl border border-slate-200/90 px-5 py-4 shadow-sm"},Mi={class:"relative flex items-start justify-between gap-3"},Bi={class:"flex items-center gap-2 text-slate-500 text-xs font-medium"},Hi={class:"mt-2 space-y-1.5 min-w-0"},Gi={class:"text-2xl sm:text-[28px] font-bold text-sky-700 tabular-nums leading-none"},Wi={class:"flex flex-wrap gap-x-3 gap-y-1 text-xs text-slate-500 tabular-nums"},Ki={class:"text-slate-400"},Yi={class:"stat-icon-wrap h-10 w-10 shrink-0 rounded-lg bg-sky-500/10 flex items-center justify-center text-sky-600"},Qi={class:"relative mt-2 text-xs text-slate-500 leading-relaxed"},Ji={class:"po-stat-surface po-stat-surface--pay relative overflow-hidden rounded-xl border border-slate-200/90 px-5 py-4 shadow-sm"},Xi={class:"relative flex items-start justify-between gap-3"},Zi={class:"flex items-center gap-2 text-slate-500 text-xs font-medium"},er={class:"mt-2 space-y-1.5 min-w-0"},tr={class:"text-2xl sm:text-[28px] font-bold text-emerald-700 tabular-nums leading-none"},ar={class:"flex flex-wrap gap-x-3 gap-y-1 text-xs text-slate-500 tabular-nums"},sr={class:"text-slate-400"},lr={class:"stat-icon-wrap h-10 w-10 shrink-0 rounded-lg bg-emerald-500/10 flex items-center justify-center text-emerald-600"},nr={class:"relative mt-2 text-xs text-slate-500 leading-relaxed"},ir={class:"po-filter-toggle__label"},rr={class:"po-h5-list-head"},or={class:"po-table-toolbar"},ur={class:"po-table-toolbar__title-wrap"},dr={class:"po-table-hint text-gray-400"},pr={class:"po-focus-board"},cr={class:"po-focus-board__value"},_r={class:"po-focus-board__value"},mr={class:"po-focus-board__value"},fr={class:"po-focus-board__value"},vr={class:"po-card-list"},gr=["onClick"],yr={class:"po-card__head"},br={class:"po-card__order-no"},xr={class:"po-card__order-no-main"},kr={class:"po-card__tags"},hr={class:"po-card__id"},wr={key:0,class:"po-card__alert"},Vr={class:"po-card__row"},Sr={class:"po-card__field"},Nr={class:"po-card__value"},Cr={class:"po-card__field po-card__field--right"},Pr={class:"po-card__value po-card__amount"},Ar={class:"po-card__row"},Tr={class:"po-card__field"},Or={class:"po-card__field po-card__field--right"},Rr={class:"po-card__value"},Er={class:"po-card__row"},$r={class:"po-card__field"},Dr={class:"po-card__value"},zr={class:"po-card__field po-card__field--right"},Ur={class:"po-card__value"},Fr={key:1,class:"po-card__row"},jr={class:"po-card__field"},Ir={class:"po-card__value text-orange-600 font-semibold"},Lr={class:"po-card__field po-card__field--right"},qr={class:"po-card__value"},Mr={key:0,class:"text-primary"},Br={key:1},Hr={key:2,class:"po-card__row"},Gr={class:"po-card__field"},Wr={class:"po-card__value"},Kr={key:0,class:"text-primary"},Yr={key:1},Qr={class:"po-card__field po-card__field--right"},Jr={class:"po-card__value po-card__time"},Xr={class:"po-card__tags-row"},Zr={class:"po-card__meta"},eo={key:0},to={key:1},ao={key:2,class:"po-card__meta-time"},so={class:"flex justify-end mt-4"},lo={class:"po-detail-drawer-head flex w-full min-w-0 flex-col gap-2"},no={class:"po-detail-drawer-head-main flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1"},io={key:0,class:"po-detail-drawer-actions flex flex-wrap items-center gap-2"},ro={key:1,class:"po-detail-body px-6 pb-6 h-full overflow-y-auto"},oo={class:"min-w-0 break-words text-sm leading-relaxed"},uo={class:"font-mono font-semibold text-red-700"},po={class:"font-mono font-semibold text-red-700"},co={class:"po-workflow-steps-wrap bg-gray-50/80 border border-gray-100 rounded-lg p-5 mb-5 shadow-sm"},_o={key:0,class:"text-red-500 font-medium"},mo={key:1},fo={key:2,class:"text-green-600"},vo={key:3,class:"text-gray-400"},go={key:0,class:"text-red-500 font-medium"},yo={key:1},bo={key:2,class:"text-green-600"},xo={key:3,class:"text-gray-400"},ko={key:0,class:"text-amber-600 font-medium"},ho={key:1,class:"text-primary font-medium"},wo={key:2},Vo={key:3,class:"text-green-600"},So={key:4,class:"text-red-500 font-medium"},No={class:"flex items-center justify-between mb-1"},Co={class:"stat-value text-red-500 font-bold text-xl"},Po={class:"stat-value text-green-600 font-bold text-xl"},Ao={class:"stat-value text-primary font-bold text-xl"},To={class:"grid grid-cols-1 md:grid-cols-2 gap-4 mb-4"},Oo={key:0,class:"audit-stamp stamp-pass"},Ro={key:1,class:"audit-stamp stamp-reject"},Eo={class:"po-panel-rx-header flex w-full min-w-0 flex-col gap-2"},$o={class:"flex w-full min-w-0 flex-wrap items-center justify-between gap-x-2 gap-y-1"},Do={class:"shrink-0 text-xs text-gray-400 tabular-nums"},zo={key:0,class:"min-w-0 text-xs leading-snug text-gray-500"},Uo={class:"text-primary font-medium"},Fo={class:"flex w-full min-w-0 flex-wrap items-center gap-x-3 gap-y-1"},jo={class:"text-red-500 font-medium"},Io={key:1,class:"ml-2 text-gray-500"},Lo={class:"flex flex-col gap-1.5 text-sm leading-relaxed"},qo={key:0,class:"mt-4"},Mo={class:"flex flex-col gap-4 h-full"},Bo={class:"text-red-500"},Ho={key:0,class:"audit-stamp stamp-pass"},Go={key:1,class:"audit-stamp stamp-reject"},Wo={class:"flex items-center justify-between"},Ko={class:"flex items-center gap-3"},Yo={key:0,class:"text-xs text-gray-500"},Qo={class:"text-primary font-medium"},Jo={class:"text-red-500"},Xo={class:"po-biz-diagnosis-id flex min-w-0 flex-col gap-3 rounded-2xl border border-slate-200/90 bg-gradient-to-br from-slate-50 to-white px-4 py-3.5 shadow-sm sm:flex-row sm:items-center sm:justify-between"},Zo={class:"flex min-w-0 flex-col gap-1"},eu={class:"font-mono text-[1.125rem] font-semibold leading-tight tracking-tight text-slate-900 tabular-nums"},tu={class:"flex flex-wrap items-center gap-x-4 gap-y-1 text-[13px]"},au={class:"font-mono text-primary"},su={class:"text-gray-500"},lu={key:0},nu={key:1,class:"text-gray-500"},iu={key:0,class:"text-xs text-gray-500 mt-1"},ru={key:1,class:"text-gray-400"},ou={class:"po-audit-remark"},uu={class:"po-audit-remark"},du={class:"po-logistics-toolbar flex flex-wrap items-center gap-2 mb-4"},pu={class:"po-logistics-toolbar__links flex items-center gap-3 w-full pt-1"},cu={key:1,class:"py-6 text-center text-sm text-gray-500"},_u={key:2,class:"logistics-content bg-gray-50/50 p-4 rounded-md"},mu={key:0,class:"text-sm mb-4 font-medium flex items-center gap-2"},fu={class:"text-gray-800"},vu={key:1,class:"text-xs text-gray-400 ml-1"},gu={key:2,class:"text-xs text-gray-400"},yu={class:"flex items-center gap-2 mb-1"},bu={class:"font-medium text-[13px]"},xu={class:"text-sm text-gray-700 font-medium"},ku={class:"create-order-dialog__inner"},hu={key:0,class:"create-order-rx-card"},wu={class:"create-order-rx-card__head"},Vu={class:"create-order-rx-card__meta"},Su={class:"create-order-rx-card__id"},Nu={key:0,class:"create-order-rx-card__sn"},Cu={class:"create-order-rx-card__patient"},Pu={class:"create-order-rx-card__herbs"},Au={class:"create-order-step-lead"},Tu={class:"create-order-step-panel"},Ou={class:"create-order-step-panel"},Ru={class:"flex flex-wrap items-center gap-2 pb-2 border-b border-gray-100"},Eu={class:"text-xs text-gray-400"},$u={class:"mt-2 space-y-1.5 text-xs sm:text-sm"},Du={key:0,class:"space-y-1.5"},zu={class:"text-gray-800 break-all"},Uu={key:1,class:"text-gray-400"},Fu={class:"flex items-center gap-1 w-full"},ju={class:"flex gap-2 w-full"},Iu={class:"flex flex-col gap-0.5",style:{"line-height":"normal"}},Lu={class:"flex items-center justify-between"},qu={class:"font-medium text-[13px] text-gray-800"},Mu={class:"text-orange-500 font-medium ml-4"},Bu={class:"flex items-center justify-between text-xs text-gray-400 mt-1"},Hu={class:"truncate pr-2"},Gu={class:"shrink-0"},Wu={class:"create-order-pay-hint text-gray-500"},Ku={class:"text-amber-600 font-medium"},Yu={class:"create-order-step-panel"},Qu={class:"create-order-deposit-bar__cell"},Ju={class:"create-order-deposit-bar__sub"},Xu={class:"create-order-deposit-bar__cell"},Zu={class:"create-order-deposit-bar__sub"},ed={class:"create-order-footer"},td={class:"create-order-footer__hint"},ad={class:"create-order-footer__step"},sd={key:0,class:"create-order-footer__warn"},ld={class:"create-order-footer__actions"},nd={class:"text-sm"},id={class:"text-gray-600"},rd={class:"text-gray-600"},od={class:"flex items-center justify-between"},ud={class:"text-sm"},dd={class:"text-orange-500 font-medium ml-4"},pd={class:"flex items-center justify-between w-full pr-2 gap-3"},cd={key:0,class:"flex items-center gap-2 shrink-0"},_d={class:"rx-wrap"},md={key:0,class:"rx-statusbar"},fd={key:1,class:"rx-status rx-status-danger"},vd={key:2,class:"rx-status rx-status-danger"},gd={key:0,class:"mt-1"},yd={key:3,class:"rx-status rx-status-danger"},bd={key:0,class:"mt-1"},xd={class:"rx-notice"},kd={class:"rx-notice-meta"},hd={class:"rx-meta-item"},wd={class:"rx-meta-value"},Vd={class:"rx-meta-item"},Sd={class:"rx-meta-value"},Nd={class:"rx-meta-item"},Cd={class:"rx-meta-value"},Pd={key:0,class:"rx-meta-item"},Ad={class:"rx-meta-value"},Td={class:"rx-info"},Od={class:"rx-info-row"},Rd={class:"rx-info-cell"},Ed={class:"rx-val"},$d={class:"rx-info-cell"},Dd={class:"rx-val"},zd={class:"rx-info-cell"},Ud={class:"rx-val"},Fd={class:"rx-info-cell"},jd={class:"rx-val"},Id={class:"rx-info-row rx-info-row-full"},Ld={class:"rx-info-cell"},qd={class:"rx-val"},Md={class:"rx-info-row rx-info-row-full"},Bd={class:"rx-info-cell"},Hd={class:"rx-val"},Gd={class:"rx-rp"},Wd={class:"rx-herbs"},Kd={class:"rx-herb-name"},Yd={class:"rx-herb-total"},Qd={class:"rx-text"},Jd={key:0},Xd={key:1},Zd={key:2,class:"rx-text-warn"},ep={key:3,class:"rx-text-warn"},tp={class:"rx-bottom"},ap={class:"rx-bot-row rx-bot-row-1"},sp={class:"rx-bot-cell rx-bot-doctor"},lp={class:"rx-bot-doctor-body"},np=["src"],ip={class:"rx-bot-cell rx-bot-meta"},rp={class:"rx-bot-meta-val"},op={class:"rx-bot-cell rx-bot-meta"},up={class:"rx-bot-meta-val"},dp={class:"rx-bot-cell rx-bot-meta"},pp={class:"rx-bot-meta-val"},cp={key:5,class:"rx-audit"},_p={key:0},mp={key:0,class:"ml-2 text-gray-400"},fp={key:1,class:"mt-1"},vp={key:0,class:"px-4"},gp={class:"flex items-center justify-between"},yp={class:"text-lg font-semibold text-orange-600"},bp={class:"text-lg font-semibold text-blue-600"},xp={class:"text-lg font-semibold text-green-600"},kp={class:"text-xl font-bold text-red-600"},hp={class:"text-sm text-gray-500 mt-1.5"},wp={class:"font-medium text-gray-700"},Vp={key:0},Sp={class:"text-sm text-gray-700 leading-relaxed"},Np={class:"flex items-center justify-between"},Cp={class:"text-sm text-gray-500"},Pp={class:"font-medium text-orange-600"},Ap={class:"text-base font-medium"},Tp={class:"text-base font-medium"},Op=is({name:"prescriptionOrderListH5"}),Rp=is({...Op,setup(Ep){const rs=hi(()=>Xl(()=>import("./edit-DlBhR6x6.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98]))),Rt=mi(),da=x(null);function os(){var e,n;const t=Number((e=c.value)==null?void 0:e.diagnosis_id);if(!t){A.msgWarning("本订单未关联诊单,无法查看患者诊单信息");return}(n=da.value)==null||n.openViewOnly(t)}const us=2,ds=[0,3,6],_e=V(()=>{const t=Rt.userInfo;if(!t||Number(t.root)===1)return!0;const e=Array.isArray(t.role_ids)?t.role_ids.map(n=>Number(n)):[];return e.includes(us)?e.some(n=>ds.includes(n)):!0}),ps=V(()=>_e.value?"详情/审核":"详情"),cs=[0,3,6],pa=()=>{const t=Rt.userInfo;if(!t)return!1;if(Number(t.root)===1)return!0;const e=Array.isArray(t.role_ids)?t.role_ids.map(n=>Number(n)):[];return cs.some(n=>e.includes(n))},Ze=x([]),Ae=x([]),Et=x([]),Te=x([]),et=x([]),_s={value:"id",label:"name",children:"children"};function ca(t,e){for(const n of t||[]){if(n==null||typeof n!="object")continue;const u=n;if(Number(u.id)===e)return u;const d=ca(u.children||[],e);if(d)return d}return null}function _a(t){const e=Number(t.id),n=[];Number.isFinite(e)&&e>0&&n.push(e);for(const u of t.children||[])u&&typeof u=="object"&&n.push(..._a(u));return n}function ms(t,e){const n=ca(e,t);return n?_a(n):[t]}async function fs(){try{const[t,e,n]=await Promise.all([Yn(),Qn(),gi()]);Et.value=Array.isArray(t)?t:[],Te.value=Array.isArray(e)?e:[];const u=Array.isArray(n)?n:[];et.value=u}catch{Et.value=[],Te.value=[],et.value=[]}}const vs=t=>t.map(e=>{var n;return{value:e.province,label:e.province,code:e.code,children:((n=e.citys)==null?void 0:n.map(u=>{var d;return{value:u.city,label:u.city,code:u.code,children:((d=u.areas)==null?void 0:d.map(f=>({value:f.area,label:f.area,code:f.code})))||[]}}))||[]}}),gs=async()=>{try{console.log("开始加载省市区数据...");const e=await fetch("https://cos.zhenyangtang.com.cn/area/ChinaCitys.json");if(console.log("响应状态:",e.status),!e.ok)throw new Error(`HTTP error! status: ${e.status}`);const n=await e.json();console.log("加载的数据条数:",n==null?void 0:n.length),Ze.value=vs(n),console.log("regionOptions 已设置,条数:",Ze.value.length)}catch(t){console.error("加载省市区数据失败:",t),Ze.value=[]}},ys=async()=>{try{const t=await fi({type:"server_order"});Ae.value=((t==null?void 0:t.server_order)||[]).filter(e=>e.status!==0),console.log("服务套餐选项已加载:",Ae.value.length)}catch(t){console.error("加载服务套餐选项失败:",t),Ae.value=[]}},bs=[{label:"全部",value:""},{label:"待双审通过",value:1},{label:"待发货",value:2},{label:"已发货",value:5},{label:"已签收",value:6},{label:"已完成",value:3},{label:"已取消",value:4},{label:"进行中",value:7},{label:"暂不制药",value:8},{label:"拒收",value:9},{label:"退款",value:10},{label:"保留药方",value:11},{label:"制药缓发",value:12}];function xs(t){ee.value="",b.fulfillment_status=t,G()}const ee=x(""),ks=[{label:"全部",value:""},{label:"甘草",value:"gancao"},{label:"自营",value:"self"}];function hs(t){b.supply_mode=t,G()}const ws=[{label:"全部",value:""},{label:"顺丰",value:"sf"},{label:"京东",value:"jd"}];function Vs(t){b.express_company=t,G()}const b=be({start_time:"",end_time:"",order_no:"",prescription_id:"",patient_keyword:"",express_keyword:"",express_company:"",doctor_id:"",assistant_id:"",assistant_dept_id:"",fulfillment_status:"",prescription_audit_status:"",payment_slip_audit_status:"",supply_mode:""}),Ss=[{label:"全部",value:""},{label:"待审核",value:0},{label:"已通过",value:1},{label:"已驳回",value:2}],Ns=[{label:"全部",value:""},{label:"待审核",value:0},{label:"已通过",value:1},{label:"已驳回",value:2}];function Cs(t){ee.value="",b.prescription_audit_status=t,G()}function Ps(t){ee.value="",b.payment_slip_audit_status=t,G()}function tt(t){if(ee.value===t){ee.value="",b.prescription_audit_status="",b.payment_slip_audit_status="",b.fulfillment_status="",G();return}ee.value=t,b.prescription_audit_status="",b.payment_slip_audit_status="",b.fulfillment_status="",t==="pendingRx"?b.prescription_audit_status=0:t==="pendingPay"?(b.prescription_audit_status=1,b.payment_slip_audit_status=0):t==="pendingShip"?b.fulfillment_status=2:t==="risk"&&(b.payment_slip_audit_status=2),G()}async function As(t){const e={...t};if(e.prescription_id===""||e.prescription_id===void 0?delete e.prescription_id:e.prescription_id=Number(e.prescription_id),(e.fulfillment_status===""||e.fulfillment_status===void 0)&&delete e.fulfillment_status,(e.prescription_audit_status===""||e.prescription_audit_status===void 0)&&delete e.prescription_audit_status,(e.payment_slip_audit_status===""||e.payment_slip_audit_status===void 0)&&delete e.payment_slip_audit_status,(!e.supply_mode||e.supply_mode==="")&&delete e.supply_mode,e.doctor_id===""||e.doctor_id===void 0||e.doctor_id===null?delete e.doctor_id:e.doctor_id=Number(e.doctor_id),e.assistant_id===""||e.assistant_id===void 0||e.assistant_id===null?delete e.assistant_id:e.assistant_id=Number(e.assistant_id),e.assistant_dept_id===""||e.assistant_dept_id===void 0||e.assistant_dept_id===null?delete e.assistant_dept_id:e.assistant_dept_id=Number(e.assistant_dept_id),e.order_no||delete e.order_no,String(e.patient_keyword||"").trim()||delete e.patient_keyword,String(e.express_keyword||"").trim()||delete e.express_keyword,(!e.express_company||e.express_company==="")&&delete e.express_company,!String(e.start_time||"").trim()||!String(e.end_time||"").trim())delete e.start_time,delete e.end_time;else{const n=String(e.start_time||"").trim(),u=String(e.end_time||"").trim();/^\d{4}-\d{2}-\d{2}$/.test(n)&&/^\d{4}-\d{2}-\d{2}$/.test(u)&&(e.start_time=`${n} 00:00:00`,e.end_time=`${u} 23:59:59`)}return Jn(e)}const{pager:te,getLists:K,resetPage:G,resetParams:Ts}=yi({fetchFun:As,params:b}),ma=V(()=>{const t=b.assistant_dept_id;if(t===""||t==null)return Te.value;const e=Number(t);if(!Number.isFinite(e))return Te.value;const n=new Set(ms(e,et.value));return Te.value.filter(u=>{const d=u.dept_ids;return!Array.isArray(d)||d.length===0?!1:d.map(Number).some(f=>n.has(f))})});function Os(){const t=b.assistant_id;if(t!==""&&t!=null){const e=Number(t);ma.value.some(u=>Number(u.id)===e)||(b.assistant_id="")}G()}const ne=V(()=>{const t=te.extend,e=(t==null?void 0:t.stats_order_amount)??(t==null?void 0:t.today_order_amount),n=(t==null?void 0:t.stats_linked_pay_amount)??(t==null?void 0:t.today_linked_pay_amount),u=E=>{const pe=Number(E);return Number.isFinite(pe)?Math.round(pe*100)/100:0},d=E=>E.toFixed(2),f=(t==null?void 0:t.stats_order_amount_not_cancelled)!==void 0&&(t==null?void 0:t.stats_order_amount_cancelled)!==void 0,k=(t==null?void 0:t.stats_linked_pay_amount_not_cancelled)!==void 0&&(t==null?void 0:t.stats_linked_pay_amount_cancelled)!==void 0,y=u(f?t==null?void 0:t.stats_order_amount_not_cancelled:e),F=f?u(t==null?void 0:t.stats_order_amount_cancelled):0,J=u(k?t==null?void 0:t.stats_linked_pay_amount_not_cancelled:n),w=k?u(t==null?void 0:t.stats_linked_pay_amount_cancelled):0,U=(t==null?void 0:t.stats_order_amount_performance)!==void 0?u(t==null?void 0:t.stats_order_amount_performance):y,re=(t==null?void 0:t.stats_linked_pay_amount_performance)!==void 0?u(t==null?void 0:t.stats_linked_pay_amount_performance):J,ve=String((t==null?void 0:t.stats_time_start)??"").trim(),Ct=String((t==null?void 0:t.stats_time_end)??"").trim(),la=ve&&Ct?`统计时间:${ve} ~ ${Ct}`:"统计时间:—",Ge=String((t==null?void 0:t.stats_scope)??"restricted");let le="统计口径:与当前列表数据可见范围一致";Ge==="all"?le="统计口径:支付单审核白名单角色,按全量订单;与下方筛选项(医生/医助/医助部门/患者等,不含「创建时间」)一致":Ge==="assistant"?le="统计口径:仅计诊单医助为本人且满足下方其它筛选项的订单":Ge==="own_rx"&&(le="统计口径:本人创建的订单 + 关联处方开方人为本人的订单(含医助代建);与下方筛选项(不含「创建时间」)一致");const We=String(b.start_time||"").trim()!==""&&String(b.end_time||"").trim()!==""?"区间":"今日";return{order:u(e),pay:u(n),orderStr:d(u(e)),payStr:d(u(n)),orderNotCancelledStr:d(y),orderCancelledStr:d(F),payNotCancelledStr:d(J),payCancelledStr:d(w),orderPerformanceStr:d(U),payPerformanceStr:d(re),orderHeading:`${We}业绩(业务订单额)`,payHeading:`${We}业绩(关联实付)`,periodLine:la,scopeHint:le,orderSplitHint:"业绩 = 除履约已取消(4)外全部订单金额;下方为合计与已取消明细"}}),at=V(()=>{const t=te.extend,e=k=>{const y=Number(k);return!Number.isFinite(y)||y<0?0:Math.trunc(y)},n=e(t==null?void 0:t.focus_pending_rx_count),u=e(t==null?void 0:t.focus_pending_pay_count),d=e(t==null?void 0:t.focus_pending_ship_count),f=e(t==null?void 0:t.focus_risk_count);return{pendingRx:n,pendingPay:u,pendingShip:d,risk:f}});function $t(t,e){const n=Number(e==null?void 0:e.prescription_audit_status),u=Number(e==null?void 0:e.payment_slip_audit_status),d=Number(e==null?void 0:e.fulfillment_status);return t==="rx"&&n===0||t==="pay"&&n===1&&u===0||t==="fulfillment"&&d===2?"po-status-tag is-focus":t==="rx"&&n===2||t==="pay"&&u===2||t==="fulfillment"&&d===4?"po-status-tag is-risk":"po-status-tag"}function st({row:t}){const e=Number(t==null?void 0:t.prescription_audit_status),n=Number(t==null?void 0:t.payment_slip_audit_status),u=Number(t==null?void 0:t.fulfillment_status),d=dt(t==null?void 0:t.recipient_phone,t==null?void 0:t.prescription_phone);return e===2||n===2||d?"po-row-risk":e===0||e===1&&n===0||u===2?"po-row-focus":u===3||u===6?"po-row-done":""}bi(_e,t=>{t||b.prescription_audit_status===""||b.prescription_audit_status===void 0||(b.prescription_audit_status="",G())},{immediate:!0});function Rs(){ee.value="",b.start_time="",b.end_time="",b.order_no="",b.prescription_id="",b.patient_keyword="",b.express_keyword="",b.express_company="",b.doctor_id="",b.assistant_id="",b.assistant_dept_id="",b.fulfillment_status="",b.prescription_audit_status="",b.payment_slip_audit_status="",b.supply_mode="",Ts()}function lt(t){return{1:"挂号费",2:"问诊费",3:"药品费用",4:"首付费用",5:"尾款费用",6:"其他费用",7:"全部费用",8:"驼奶费用"}[Number(t)]??"—"}function Es(t){if(!t)return"—";let e=[];return Array.isArray(t)?e=t:typeof t=="string"&&(e=t.split(",").filter(u=>u.trim()!=="")),e.length===0?"—":e.map(u=>{const d=Ae.value.find(f=>f.value===u);return d?d.name:u}).join("、")}function fa(t){return t===1?"已通过":t===2?"已驳回":"待审核"}function va(t){return t===1?"success":t===2?"danger":"info"}function Dt(t){return{1:"待双审通过",2:"待发货",3:"已完成",4:"已取消",5:"已发货",6:"已签收",7:"进行中",8:"暂不制药",9:"拒收",10:"退款",11:"保留药方",12:"制药缓发"}[Number(t)]??"—"}function $s(t){const e=Number(t);return e===3||e===6?"success":e===5?"primary":e===4?"danger":e===2||e===7?"warning":e===8||e===11||e===12?"info":e===9||e===10?"danger":"info"}function de(t){const e=Number(t);return Number.isNaN(e)?"—":e.toFixed(2)}function me(t){if(t==null||t==="")return"—";if(typeof t=="number"&&t>1e9&&t<1e11){const e=new Date(t*1e3);return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")} ${String(e.getHours()).padStart(2,"0")}:${String(e.getMinutes()).padStart(2,"0")}`}return String(t)}function Ds(t){const e=Number(t.fulfillment_status);if(e!==1&&e!==2)return!1;const n=String(t.gancao_reciperl_order_no||"").trim(),u=Number(t.gancao_submit_time||0);return!(n!==""||u>0)}function zs(t){const e=Number(t.fulfillment_status);return e===3||e===4||e===6?!1:Number(t.prescription_audit_status)===0}function Us(t){const e=Number(t.fulfillment_status);return e===3||e===4?!1:Number(t.prescription_audit_status)===1&&Number(t.payment_slip_audit_status)===0}function Fs(t){const e=Number(t.fulfillment_status);if(e===3||e===4||e===6)return!1;const n=Number(t.prescription_audit_status),u=Number(t.payment_slip_audit_status);return(n===1||n===2)&&u===0}function js(t){const e=Number(t.fulfillment_status);if(e===3||e===4||e===6)return!1;const n=Number(t.prescription_audit_status),u=Number(t.payment_slip_audit_status);return n===1&&(u===1||u===2)}function ga(t){return Number(t.fulfillment_status)===1}function zt(t){return Number(t.fulfillment_status)===2}function Ut(t){const e=Number(t.fulfillment_status);return e===5||e===6}function Ft(t){const e=Number(t.fulfillment_status);return(e===5||e===6)&&Number(t.payment_slip_audit_status)===1}function Is(t){const e=Number(t.fulfillment_status);return e===5||e===6}function ya(t){const e=Number(t.prescription_audit_status),n=String(t.gancao_reciperl_order_no||"").trim();return e===1&&n===""}function ba(t){return{1:"待支付",2:"已支付",3:"已取消",4:"已退款",5:"待审核"}[Number(t)]??"—"}const nt=x(!0),xa=V(()=>{const t=b,e=["start_time","end_time","order_no","prescription_id","patient_keyword","express_keyword","doctor_id","assistant_dept_id","assistant_id"];let n=0;for(const u of e){const d=t[u];d!=null&&(typeof d=="string"&&d.trim()===""||Array.isArray(d)&&d.length===0||(n+=1))}return n});function Ls(t){return Ut(t)||Ft(t)||ya(t)||ga(t)}function qs(t,e){t==="addPayOrder"?Ia(e):t==="complete"?La(e):t==="submitGancao"?hl(e):t==="withdraw"&&gl(e)}function jt(t){if(!(t!=null&&t.id))return!1;const e=Number(t.fulfillment_status);return e!==3&&e!==4}const X=x(!1),It=x(!1),c=x(null),it=V(()=>{if(!c.value)return 0;const t=Number(c.value.fulfillment_status),e=Number(c.value.prescription_audit_status),n=Number(c.value.payment_slip_audit_status);return t===3||[8,9,10,11,12].includes(t)?5:t===6||t===5||t===7?4:t===4?e===2?1:n===2?2:3:t===2?3:e===0||e===2?1:n===0||n===2?2:3}),rt=V(()=>{var e;const t=Number((e=c.value)==null?void 0:e.prescription_audit_status);return t===1?"success":t===2?"error":it.value===1?"process":"wait"}),ot=V(()=>{var e;const t=Number((e=c.value)==null?void 0:e.payment_slip_audit_status);return t===1?"success":t===2?"error":it.value===2?"process":"wait"}),xe=V(()=>{var e;const t=Number((e=c.value)==null?void 0:e.fulfillment_status);return t===3||t===5||t===6||t===8||t===11||t===12?"success":t===4||t===9||t===10?"error":t===7||it.value===3?"process":"wait"}),Lt=V(()=>{const t=c.value;if(!t)return[];const e=t.linked_pay_orders;return Array.isArray(e)?e:[]}),ka=V(()=>{const t=c.value;if(!t)return 0;const e=Number(t.amount)||0,n=Number(t.linked_pay_paid_total)||0;return Math.round((e-n)*100)/100}),ke=x([]);async function Ms(t,e,n){var u;if(!t){ke.value=[];return}try{const d=await ua({diagnosis_id:t,prescription_order_id:e}),f=(d==null?void 0:d.lists)??((u=d==null?void 0:d.data)==null?void 0:u.lists)??[],k=Array.isArray(f)?f.filter(y=>!n.includes(y.id)):[];ke.value=k}catch{ke.value=[]}}function ha(t){return t?Array.isArray(t)?t.map(e=>({name:String((e==null?void 0:e.name)??"").trim(),dosage:Number(e==null?void 0:e.dosage)||0})):[]:[]}const C=V(()=>{var e;const t=(e=c.value)==null?void 0:e.prescription;return t&&typeof t=="object"?t:null});function ut(t){return t==null?"":String(t).replace(/\s/g,"").trim()}function dt(t,e){const n=ut(t),u=ut(e);return!n||!u?!1:n!==u}const Oe=V(()=>{var n,u;const t=(n=C.value)==null?void 0:n.phone,e=(u=c.value)==null?void 0:u.recipient_phone;return dt(e,t)}),Bs=V(()=>{var e;return ut((e=C.value)==null?void 0:e.phone)||"—"}),Hs=V(()=>{var e;return ut((e=c.value)==null?void 0:e.recipient_phone)||"—"}),W=V(()=>{var e;const t=(e=c.value)==null?void 0:e.linked_appointment;return t&&typeof t=="object"?t:null}),wa=V(()=>{var e;const t=String(((e=W.value)==null?void 0:e.resolved_from)||"");return t==="prescription"?"处方绑定挂号":t==="diagnosis"?"诊单关联挂号":""}),Va=V(()=>{var t;return ha((t=C.value)==null?void 0:t.herbs)}),Gs=V(()=>{var t;return((t=c.value)==null?void 0:t.prescription_detail_herbs_visible)!==!1}),Ws=V(()=>{const t=c.value;if(!t)return"—";const e=[];return t.shipping_province&&e.push(t.shipping_province),t.shipping_city&&e.push(t.shipping_city),t.shipping_district&&e.push(t.shipping_district),t.shipping_address&&e.push(t.shipping_address),e.length>0?e.join(" "):"—"}),Sa=V(()=>`${_.dose_unit||"剂"}数`);function Ks(t){const e=Number(t);return e===1?"已通过":e===2?"已驳回":"待审核"}function Ys(t){const e=Number(t);return e===1?"success":e===2?"danger":"warning"}function Na(t){const e=Number(t);return e===2?"success":e===1?"warning":"info"}function Ca(t){return t==null||t===""?"—":typeof t=="string"&&String(t).includes("-")?String(t):me(t)}const Re=x("auto"),pt=x(!1),H=x(null),Ee=x(""),he=x([]),$e=x(!1),qt=x(!1),ct=x(),ie=be({id:0,amount:void 0}),Qs={amount:[{required:!0,message:"请输入订单金额",trigger:"blur"},{validator:(t,e,n)=>{const u=Number(e);if(!Number.isFinite(u)||u<=0){n(new Error("订单金额必须大于0"));return}n()},trigger:"blur"}]};function Js(){const t=Rt.perms||[];return t.includes("*")||t.includes("tcm.prescriptionOrder/logs")}async function Mt(t){if(!Js()){he.value=[];return}try{const e=await ci({id:t});he.value=(e==null?void 0:e.data)??e??[]}catch{he.value=[]}}function Xs(t){return{create:"创建",edit:"编辑",audit_rx_approve:"处方审核",audit_rx_reject:"处方审核",audit_pay_approve:"支付审核",audit_pay_reject:"支付审核",fill_tracking:"填快递单",ship:"确认发货",withdraw:"撤销",link_pay_order:"关联支付单",revoke_rx_audit:"撤回处方审核",revoke_pay_audit:"撤回支付审核",gancao_submit:"甘草下单",patch_rx_patient:"处方患者信息",update_amount:"修改订单金额",complete:"完成订单"}[t]||t}const Bt=V(()=>{var n;const t=String(((n=c.value)==null?void 0:n.tracking_number)||"").trim();if(!t)return{sf:"javascript:void(0)",jd:"javascript:void(0)",jt:"javascript:void(0)"};const e=encodeURIComponent(t);return{sf:`https://www.sf-express.com/cn/sc/dynamic_function/waybill/#search/bill-number/${e}`,jd:`https://www.jdl.com/#/trackQuery?waybillCode=${e}`,jt:`https://www.jtexpress.com.cn/index/query/gzquery.html?bills=${e}`}}),Pa=V(()=>{const t=H.value;return!t||!Array.isArray(t.traces)?[]:t.traces});function Zs(t){const e=String(t||"").toLowerCase();return e==="sf"?"顺丰速运":e==="jd"?"京东快递":e==="jt"||e==="jtexpress"?"极兔速递":"自动识别"}async function Ht(){var e;const t=Number((e=c.value)==null?void 0:e.id);if(t){pt.value=!0;try{const n=String(Ee.value||"").replace(/\D/g,""),u={id:t,express_company:Re.value};n.length>=4&&(u.phone_tail=n);const d=await Xn(u);H.value=(d==null?void 0:d.data)??d}catch{H.value=null}finally{pt.value=!1}}}const De=x(!1),Gt=x(!1),Wt=x(),ae=be({patient_name:"",phone:""}),el={patient_name:[{required:!0,message:"请输入患者姓名",trigger:"blur"}],phone:[{required:!0,message:"请输入手机号",trigger:"blur"}]};function tl(){const t=C.value,e=c.value;if(!t||!(e!=null&&e.id)||!e.prescription_id){A.msgWarning("无处方数据");return}ae.patient_name=String(t.patient_name??"").trim(),ae.phone=String(t.phone??"").trim(),De.value=!0,Ot(()=>{var n;return(n=Wt.value)==null?void 0:n.clearValidate()})}function al(){ae.patient_name="",ae.phone=""}function sl(){var t;ie.id=0,ie.amount=void 0,(t=ct.value)==null||t.clearValidate()}function ll(){const t=c.value;if(!jt(t)){A.msgWarning("当前订单状态不允许修改金额");return}ie.id=Number(t==null?void 0:t.id)||0,ie.amount=Number(t==null?void 0:t.amount)||void 0,$e.value=!0,Ot(()=>{var e;return(e=ct.value)==null?void 0:e.clearValidate()})}async function Aa(){var e;const t=(e=c.value)==null?void 0:e.id;if(t)try{const n=await Z({id:t}),u=(n==null?void 0:n.data)??n??null;u&&(c.value=u)}catch{}}async function nl(){var n;const t=Wt.value;if(!t)return;try{await t.validate()}catch{return}const e=(n=c.value)==null?void 0:n.id;if(e){Gt.value=!0;try{await Zn({id:e,patient_name:ae.patient_name.trim(),phone:ae.phone.trim()}),De.value=!1,await Aa(),await Mt(e)}catch(u){console.error(u)}finally{Gt.value=!1}}}async function Ta(){const t=ct.value;if(!t)return;try{await t.validate()}catch{return}if(!jt(c.value)){A.msgWarning("当前订单状态不允许修改金额");return}const e=ie.id;qt.value=!0;try{await ei({id:e,amount:Number(ie.amount)}),A.msgSuccess("修改成功"),$e.value=!1,await Aa(),await Mt(e),K()}catch{}finally{qt.value=!1}}async function Oa(t){c.value=null,ke.value=[],H.value=null,Re.value="auto",Ee.value="",he.value=[],X.value=!0,It.value=!0;try{const e=await Z({id:t}),n=(e==null?void 0:e.data)??e??null;if(c.value=n,n){Re.value=String(n.express_company||"auto")||"auto";const u=String(n.recipient_phone||"").replace(/\D/g,"");Ee.value=u.length>=4?u:"",String(n.tracking_number||"").trim()&&Ht(),Mt(t);const d=n.diagnosis_id,f=n.pay_order_ids||[];d&&Ms(d,t,f)}}catch(e){A.msgError((e==null?void 0:e.message)||"加载失败"),X.value=!1}finally{It.value=!1}}const fe=x(!1),Kt=x(!1),Yt=x(!1),L=x(0),se=x(null),il=V(()=>["请核对收货信息,便于发货与物流联系。","按需填写服务与物流,并选择本诊单下需要关联的支付单。","确认费用类别与订单金额;保存前请对照定金门槛是否已满足。"][L.value]??""),Ra=V(()=>{const t=se.value,e=ha(t==null?void 0:t.herbs);if(!e.length)return"暂无药材明细";const n=e.map(u=>`${u.name} ${u.dosage}g`).join("、");return n.length>120?`${n.slice(0,120)}…`:n}),rl=["recipient_name","recipient_phone","region","shipping_address"],we=x(),_=be({id:0,prescription_id:0,diagnosis_id:0,recipient_name:"",recipient_phone:"",region:[],shipping_address:"",is_follow_up:0,medication_days:void 0,dose_count:1,dose_unit:"剂",prev_staff:"",service_channel:"",service_package:[],express_company:"auto",tracking_number:"",fee_type:3,amount:0,remark_extra:"",remark_assistant:"",pay_order_ids:[],internal_cost:void 0,assistant_id:0,diagnosis_creator_id:0,diagnosis_creator_name:"",diagnosis_creator_dept_path:""}),Ea=V(()=>{const t=String(_.diagnosis_creator_dept_path||"").trim();return t?t.split(";").map(e=>e.trim()).filter(Boolean).map(e=>e.includes(" / ")?e.split(" / ").map(n=>n.trim()).filter(Boolean):e.split("/").map(n=>n.trim()).filter(Boolean)).filter(e=>e.length>0):[]}),ze=x([]),Qt=x(!1),M=x(0);function Jt(t){return{1:"挂号费",2:"问诊费",3:"药品费用",4:"首付",5:"尾款",6:"其他"}[Number(t)]||"未知"}const Xt=V(()=>{const t=new Set(_.pay_order_ids.map(n=>Number(n)));let e=0;for(const n of ze.value)t.has(Number(n.id))&&(e+=Number(n.amount)||0);return Math.round(e*100)/100}),ol=V(()=>{const t=M.value;return t>0?Math.round(t*100)/100:0});async function ul(t,e){var n,u;if(!t){ze.value=[];return}try{Qt.value=!0;const d=await ua({diagnosis_id:t,...e?{prescription_order_id:e}:{}}),f=(d==null?void 0:d.lists)??((n=d==null?void 0:d.data)==null?void 0:n.lists)??[];ze.value=Array.isArray(f)?f:[];const k=Number((d==null?void 0:d.deposit_min_amount)??((u=d==null?void 0:d.data)==null?void 0:u.deposit_min_amount));!Number.isNaN(k)&&k>=0&&(M.value=k)}catch{ze.value=[]}finally{Qt.value=!1}}const dl=V(()=>{const t={recipient_name:[{required:!0,message:"请输入收货人",trigger:"blur"}],recipient_phone:[{required:!0,message:"请输入收货手机",trigger:"blur"}],region:[{required:!0,message:"请选择省/市/区",trigger:"change",type:"array"}],shipping_address:[{required:!0,message:"请输入收货地址",trigger:"blur"}],fee_type:[{required:!0,message:"请选择费用类别",trigger:"change"}],amount:[{required:!0,message:"请输入订单金额",trigger:"blur"},{validator:(e,n,u)=>{const d=M.value,f=Number(n);if(d>0&&(!Number.isFinite(f)||f0){const e=`已开启关联支付门槛(¥${de(M.value)}),请至少选择一笔支付单`;t.pay_order_ids=[{type:"array",required:!0,min:1,message:e,trigger:"change"}]}return t});function pl(){var t;L.value=0,se.value=null,(t=we.value)==null||t.clearValidate()}function cl(){L.value>0&&(L.value-=1)}async function _l(){const t=we.value;if(t)try{L.value===0?await t.validateField([...rl]):L.value===1&&M.value>0&&await t.validateField(["pay_order_ids"]),L.value<2&&(L.value+=1)}catch{}}async function ml(t){L.value=0,se.value=null,fe.value=!0,Kt.value=!0;try{const e=await Z({id:t.id}),n=(e==null?void 0:e.data)??e;if(!n){A.msgError("加载数据结构异常"),fe.value=!1;return}const u=n.prescription;u&&typeof u=="object"?se.value=u:Number(n.prescription_id)>0?se.value={id:Number(n.prescription_id),sn:"",patient_name:String(n.recipient_name||""),herbs:[]}:se.value=null,_.id=n.id,_.prescription_id=Number(n.prescription_id)||0,_.diagnosis_id=Number(n.diagnosis_id)||0,_.assistant_id=Number(n.assistant_id)||0,_.diagnosis_creator_id=Number(n.diagnosis_creator_id)||0,_.diagnosis_creator_name=n.diagnosis_creator_name!=null&&n.diagnosis_creator_name!==""?String(n.diagnosis_creator_name):"",_.diagnosis_creator_dept_path=n.diagnosis_creator_dept_path!=null&&n.diagnosis_creator_dept_path!==""?String(n.diagnosis_creator_dept_path):"",_.recipient_name=n.recipient_name||"",_.recipient_phone=n.recipient_phone||"";const d=n.shipping_province||"",f=n.shipping_city||"",k=n.shipping_district||"";d||f||k?_.region=[d,f,k].filter(U=>U!==""):_.region=[],_.shipping_address=n.shipping_address||"",_.is_follow_up=n.is_follow_up?1:0,_.medication_days=n.medication_days>0?n.medication_days:void 0,_.dose_count=n.dose_count>0?n.dose_count:1,_.dose_unit=n.dose_unit||"剂",_.prev_staff=n.prev_staff||"",_.service_channel=n.service_channel||"",n.service_package?Array.isArray(n.service_package)?_.service_package=n.service_package:typeof n.service_package=="string"?_.service_package=n.service_package.split(",").filter(U=>U.trim()!==""):_.service_package=[]:_.service_package=[],_.express_company=String(n.express_company||"auto")||"auto",_.tracking_number=n.tracking_number||"",_.fee_type=Number(n.fee_type)||3,M.value=Number(n.deposit_min_amount)||0;let y=Number(n.amount)||0;const F=Math.round((Number(n.linked_pay_paid_total)||0)*100)/100,J=M.value;if(J>0){const U=Math.round(J*100)/100;yNumber(U)).filter(U=>!Number.isNaN(U)):[],_.internal_cost=n.internal_cost!=null&&n.internal_cost!==""?Number(n.internal_cost):void 0,await ul(_.diagnosis_id,_.id),Ot(()=>{var U;(U=we.value)==null||U.clearValidate()})}catch(e){A.msgError((e==null?void 0:e.message)||"加载异常"),fe.value=!1}finally{Kt.value=!1}}async function fl(){if(!(!we.value||L.value!==2)){await we.value.validate(),Yt.value=!0;try{const t={id:_.id,recipient_name:_.recipient_name,recipient_phone:_.recipient_phone,shipping_address:_.shipping_address,is_follow_up:_.is_follow_up,prev_staff:_.prev_staff||"",service_channel:_.service_channel||"",service_package:Array.isArray(_.service_package)?_.service_package.join(","):"",express_company:_.express_company||"auto",tracking_number:_.tracking_number||"",fee_type:_.fee_type,amount:_.amount,remark_extra:_.remark_extra||"",remark_assistant:_.remark_assistant||"",medication_days:_.medication_days!=null&&String(_.medication_days).trim()!==""?_.medication_days:"",dose_unit:_.dose_unit||"剂",dose_count:_.dose_count||1,internal_cost:_.internal_cost!=null&&String(_.internal_cost).trim()!==""?_.internal_cost:""};_.region&&_.region.length>0?(t.shipping_province=_.region[0]||"",t.shipping_city=_.region[1]||"",t.shipping_district=_.region[2]||""):(t.shipping_province="",t.shipping_city="",t.shipping_district=""),t.pay_order_ids=[..._.pay_order_ids],await ls(t),A.msgSuccess("保存成功"),fe.value=!1,K()}catch{}finally{Yt.value=!1}}}const Ue=x(!1),Zt=x("prescription"),_t=x(0),Fe=x(null),Ve=x(""),mt=x(!1),vl=V(()=>Zt.value==="prescription"?"处方业务审核":"关联支付单审核");function $a(t,e){Zt.value=e,_t.value=t.id,Fe.value=t,Ve.value="",Ue.value=!0}async function Da(t){if(t==="reject"&&!Ve.value.trim()){A.msgError("驳回或阻止时必须填写明确的审核意见");return}mt.value=!0;try{const e={id:_t.value,action:t,remark:Ve.value.trim()};if(Zt.value==="prescription"?await ti(e):await ai(e),A.msgSuccess(t==="approve"?"审核通过成功":"已成功驳回该单"),Ue.value=!1,K(),X.value&&_t.value)try{const n=await Z({id:_t.value}),u=(n==null?void 0:n.data)??n??null;u&&(c.value=u)}catch{}}catch{}finally{mt.value=!1}}async function gl(t){try{await Je.confirm("确认撤回该业务订单?撤回后状态为「已取消」,未双审通过或双审均驳回等场景下均可安全撤回。","撤回警告",{type:"warning",confirmButtonText:"确定撤回",cancelButtonText:"暂不处理"}),await si({id:t.id}),A.msgSuccess("撤回成功"),K()}catch{}}const za=x(0),ft=x(!1),Se=x(!1),z=x(null);function Ua(t){if(!t)return"0.00";const e=Number(t.m_cost)||0,n=Number(t.proces_cost)||0,u=Number(t.lis_cost)||0;return(e+n+u).toFixed(2)}function yl(t,e){const n=parseFloat(Ua(t))||0,u=Number(e)||0;return u<=0?"—":(n/u*100).toFixed(2)}function bl(t){return!Array.isArray(t)||t.length===0?"0":t.reduce((n,u)=>n+(Number(u.quantity)||0),0).toFixed(0)}async function xl(){if(!_.id){A.msgError("请先保存订单");return}Se.value=!0;try{const t=await ns({id:_.id,dose_count:_.dose_count||1,medication_days:_.medication_days||void 0}),e=(t==null?void 0:t.data)??t;e&&e.success&&(z.value=e,ft.value=!0,A.msgSuccess("预下单测试成功"))}catch{}finally{Se.value=!1}}async function kl(){var t;if(!((t=c.value)!=null&&t.id)){A.msgError("订单数据不存在");return}Se.value=!0;try{const e=await ns({id:c.value.id,dose_count:c.value.dose_count||1,medication_days:c.value.medication_days||void 0}),n=(e==null?void 0:e.data)??e;n&&n.success&&(z.value=n,ft.value=!0)}catch{}finally{Se.value=!1}}async function hl(t){var e;try{await Je.confirm("将把本单关联处方提交至甘草药管家开放平台(先 CTM_PREVIEW 预检查再 CTM_SUBMIT_RECIPEL 正式下单;成功后将按甘草侧规则扣费,详见 https://apidoc.igancao.com/service-doc/scm-outer-recipel.html )。确定继续?","上传甘草药方",{type:"warning",confirmButtonText:"确定上传",cancelButtonText:"取消"}),za.value=t.id;const n=await li({id:t.id}),u=(n==null?void 0:n.data)??n,d=(u==null?void 0:u.recipel_order_no)!=null?String(u.recipel_order_no):"";if(A.msgSuccess(d?`上传成功,甘草处方单号:${d}`:"上传成功"),K(),X.value&&Number((e=c.value)==null?void 0:e.id)===t.id)try{const f=await Z({id:t.id}),k=(f==null?void 0:f.data)??f??null;k&&(c.value=k)}catch{}}catch{}finally{za.value=0}}xi(async()=>{await gs(),await ys(),await fs(),K()});const je=x(!1),vt=x(!1),Ie=x(0),Y=be({express_company:"auto",tracking_number:""});function wl(t){Ie.value=t.id,Y.express_company=String(t.express_company||"auto")||"auto",Y.tracking_number=String(t.tracking_number||""),je.value=!0}async function Fa(){var t;if(!Y.tracking_number.trim()){A.msgError("请填写快递单号");return}vt.value=!0;try{const e=await Z({id:Ie.value}),n=(e==null?void 0:e.data)??e;if(!n){A.msgError("加载订单数据失败");return}if(await ls({id:n.id,recipient_name:n.recipient_name||"",recipient_phone:n.recipient_phone||"",shipping_province:n.shipping_province||"",shipping_city:n.shipping_city||"",shipping_district:n.shipping_district||"",shipping_address:n.shipping_address||"",is_follow_up:n.is_follow_up?1:0,medication_days:n.medication_days!=null&&String(n.medication_days).trim()!==""?n.medication_days:"",prev_staff:n.prev_staff||"",service_channel:n.service_channel||"",service_package:n.service_package||"",fee_type:Number(n.fee_type)||3,amount:Number(n.amount)||0,remark_extra:n.remark_extra||"",remark_assistant:n.remark_assistant||"",internal_cost:n.internal_cost!=null&&n.internal_cost!==""?n.internal_cost:"",pay_order_ids:Array.isArray(n.pay_order_ids)?n.pay_order_ids:[],express_company:Y.express_company||"auto",tracking_number:Y.tracking_number.trim()}),A.msgSuccess("快递单号已保存"),je.value=!1,K(),X.value&&((t=c.value)==null?void 0:t.id)===Ie.value)try{const u=await Z({id:Ie.value}),d=(u==null?void 0:u.data)??u??null;d&&(c.value=d)}catch{}if(zt({fulfillment_status:2,tracking_number:Y.tracking_number}))try{await Je.confirm(`快递单号「${Y.tracking_number}」已保存,是否立即确认发货?`,"确认发货",{type:"success",confirmButtonText:"确认发货",cancelButtonText:"稍后再说"}),ea({id:Ie.value,tracking_number:Y.tracking_number,express_company:Y.express_company})}catch{}}catch{}finally{vt.value=!1}}const Le=x(!1),gt=x(!1),yt=x(0),Q=be({ship_mode:"gancao",express_company:"auto",tracking_number:""});function ea(t){yt.value=t.id,Q.ship_mode=String(t.ship_mode||"gancao")||"gancao",Q.express_company=String(t.express_company||"auto")||"auto",Q.tracking_number=String(t.tracking_number||""),Le.value=!0}async function ja(){var t;if(!Q.tracking_number.trim()){A.msgError("请先填写快递单号再确认发货");return}gt.value=!0;try{if(await ni({id:yt.value,ship_mode:Q.ship_mode==="direct"?"direct":"gancao",express_company:Q.express_company||"auto",tracking_number:Q.tracking_number.trim()}),A.msgSuccess("确认发货成功,订单已进入「已发货」状态"),Le.value=!1,K(),X.value&&((t=c.value)==null?void 0:t.id)===yt.value)try{const e=await Z({id:yt.value}),n=(e==null?void 0:e.data)??e??null;n&&(c.value=n)}catch{}}catch{}finally{gt.value=!1}}const Vl=[{value:3,label:"已完成"},{value:7,label:"进行中"},{value:8,label:"暂不制药"},{value:9,label:"拒收"},{value:10,label:"退款"},{value:11,label:"保留药方"},{value:12,label:"制药缓发"}],qe=x(!1),ta=x(0),bt=x(3),aa=x(!1);async function Sl(){var e;const t=ta.value;if(t){aa.value=!0;try{if(await ii({id:t,fulfillment_status:bt.value}),A.msgSuccess("订单状态已更新"),qe.value=!1,K(),X.value&&((e=c.value)==null?void 0:e.id)===t)try{const n=await Z({id:t}),u=(n==null?void 0:n.data)??n??null;u&&(c.value=u)}catch{}}catch{}finally{aa.value=!1}}}const Me=x(!1),xt=x(!1),Be=x(0),kt=x(),sa=x(!1),ht=x([]),O=be({add_mode:"create",order_type:3,pay_amount:void 0,pay_remark:"",link_pay_order_ids:[],completion_request:0}),Nl={add_mode:[{required:!0,message:"请选择添加方式",trigger:"change"}],order_type:[{required:!0,message:"请选择费用类别",trigger:"change"}],pay_amount:[{required:!0,message:"请输入支付金额",trigger:"blur"},{validator:(t,e,n)=>{const u=Number(e);!Number.isFinite(u)||u<=0?n(new Error("金额须大于 0")):n()},trigger:"blur"}],link_pay_order_ids:[{required:!0,message:"请至少选择一个支付单",trigger:"change",validator:(t,e,n)=>{!Array.isArray(e)||e.length===0?n(new Error("请至少选择一个支付单")):n()}}]};async function Cl(t,e=[]){var n;if(!t){ht.value=[];return}try{sa.value=!0;const u=await ua({diagnosis_id:t}),d=(u==null?void 0:u.lists)??((n=u==null?void 0:u.data)==null?void 0:n.lists)??[],f=Array.isArray(d)?d.filter(k=>!e.includes(k.id)):[];ht.value=f}catch{ht.value=[]}finally{sa.value=!1}}function Ia(t){var u,d;Be.value=t.id,O.add_mode="create",O.order_type=3,O.pay_amount=void 0,O.pay_remark="",O.link_pay_order_ids=[],O.completion_request=0,Me.value=!0;const e=t.diagnosis_id||((u=c.value)==null?void 0:u.diagnosis_id),n=t.pay_order_ids||((d=c.value)==null?void 0:d.pay_order_ids)||[];e&&Cl(e,n)}async function Pl(){var t;if(kt.value){await kt.value.validate(),xt.value=!0;try{if(O.add_mode==="create")await ri({id:Be.value,order_type:O.order_type,pay_amount:O.pay_amount,pay_remark:O.pay_remark||"",completion_request:O.completion_request}),A.msgSuccess("支付单已新增,请等待审核");else{const e=O.link_pay_order_ids;if(e.length===0){A.msgError("请至少选择一个支付单");return}await oi({id:Be.value,pay_order_ids:e,completion_request:O.completion_request}),A.msgSuccess(`已关联 ${e.length} 个支付单,请等待审核`)}if(Me.value=!1,K(),X.value&&((t=c.value)==null?void 0:t.id)===Be.value)try{const e=await Z({id:Be.value}),n=(e==null?void 0:e.data)??e??null;n&&(c.value=n)}catch{}}catch{}finally{xt.value=!1}}}function La(t){ta.value=t.id,bt.value=3,qe.value=!0}async function Al(t){var e;try{if(await Je.confirm("确认撤回处方审核?撤回后将重置为「待审核」状态。","撤回处方审核",{type:"warning",confirmButtonText:"确认撤回",cancelButtonText:"取消"}),await ui({id:t.id}),A.msgSuccess("处方审核已撤回"),K(),X.value&&((e=c.value)==null?void 0:e.id)===t.id)try{const n=await Z({id:t.id}),u=(n==null?void 0:n.data)??n??null;u&&(c.value=u)}catch{}}catch{}}async function Tl(t){var e;try{if(await Je.confirm("确认撤回支付单审核?撤回后将重置为「待审核」状态。","撤回支付单审核",{type:"warning",confirmButtonText:"确认撤回",cancelButtonText:"取消"}),await di({id:t.id}),A.msgSuccess("支付单审核已撤回"),K(),X.value&&((e=c.value)==null?void 0:e.id)===t.id)try{const n=await Z({id:t.id}),u=(n==null?void 0:n.data)??n??null;u&&(c.value=u)}catch{}}catch{}}const wt=x(!1),Vt=x(!1),h=x(null),qa=x(null),Ne=x(!1),St=V(()=>{var e;const t=(e=h.value)==null?void 0:e.herbs;return Array.isArray(t)?t:[]}),Ol=V(()=>{const t=h.value;if(!t||(t.prescription_type||"浓缩水丸")!=="浓缩水丸")return null;const e=Number(t.medication_days??t.usage_days??t.dose_count),n=Number(t.times_per_day),u=Number(t.dosage_amount),d=Number(t.dosage_bag_count)>0?Number(t.dosage_bag_count):1;return!Number.isFinite(e)||!Number.isFinite(n)||!Number.isFinite(u)||e<=0||n<=0||u<=0?null:e*n*u*d}),Nt=t=>String(t).padStart(2,"0"),Rl=V(()=>{const t=h.value;if(!t)return"—";const e=t.create_time??t.update_time??null;if(e){const n=String(e).length===10?Number(e)*1e3:Number(e),u=new Date(n);if(!isNaN(u.getTime()))return`${u.getFullYear()}-${Nt(u.getMonth()+1)}-${Nt(u.getDate())} ${Nt(u.getHours())}:${Nt(u.getMinutes())}`}return t.prescription_date||"—"}),El=V(()=>{const t=h.value;if(!t)return"—";const e=String(t.sn??"").trim();if(e)return e;const n=String(t.visit_no??"").trim();return n||"—"}),$l=V(()=>{const t=h.value;if(!t)return"—";const e=Number(t.appointment_id);return Number.isFinite(e)&&e>0?String(e):"—"}),Ma=V(()=>{const t=h.value;return t?String(t.order_no??"").trim():""}),Dl=V(()=>{const t=h.value;if(!t)return"—";if(t.recipient_text)return t.recipient_text;const e=[];(t.recipient_name||t.patient_name)&&e.push(t.recipient_name||t.patient_name),(t.recipient_phone||t.phone)&&e.push(t.recipient_phone||t.phone);let n=t.region;return Array.isArray(n)&&(n=n.filter(Boolean).join("")),n&&e.push(String(n)),t.shipping_address?e.push(String(t.shipping_address)):t.address&&e.push(String(t.address)),e.length?e.join(","):"—"}),Ba=V(()=>{var e;const t=Number((e=h.value)==null?void 0:e.dose_count);return Number.isFinite(t)&&t>0?t:1}),zl=V(()=>{const e=St.value.reduce((n,u)=>n+(Number(u==null?void 0:u.dosage)||0),0);return He(e)}),Ul=t=>{const e=Number(t)||0;return He(e*Ba.value)},Fl=V(()=>{const t=h.value;if(!t)return"—";const e=t.prescription_type||"浓缩水丸";return/丸|散|膏|片/.test(e)?`浓缩丸-${e}`:e}),jl=V(()=>{const t=h.value;if(!t)return"—";if(t.usage_text)return t.usage_text;const e=Number(t.times_per_day)>0?Number(t.times_per_day):3,n=t.dosage_amount!=null?Number(t.dosage_amount):10,u=t.dosage_unit||"g",d=t.usage_way||"温水送服",f=t.usage_time||"",k=[];if(k.push(`每天${e}次`),(t.prescription_type||"浓缩水丸")==="浓缩水丸"){const y=Number(t.dosage_bag_count)>0?Number(t.dosage_bag_count):1;k.push(`一次${y}袋`),k.push(`每袋${n}${u}`)}else k.push(`一次${n}${u}`);return k.push(d),f&&k.push(f),k.join(", ")}),Il=V(()=>{const t=Ol.value;if(typeof t=="number"&&isFinite(t)&&t>0)return He(t);const e=h.value;if(!e)return"";const n=e.out_pellet||e.total_weight;if(n&&Number(n)>0)return He(Number(n));const u=St.value;if(!u.length)return"";const d=u.reduce((f,k)=>f+(Number(k==null?void 0:k.dosage)||0),0);return He(d*Ba.value)}),Ha=V(()=>{const t=h.value;return t&&t.medical_advice||""}),Ga=V(()=>{const t=h.value;if(!t)return"";const e=[];return e.push(`共${St.value.length}味药`),t.usage_notes&&e.push(String(t.usage_notes)),t.remark&&e.push(String(t.remark)),e.join(" ")}),Wa=V(()=>{const t=h.value;return t&&(t.pharmacy_remark||t.pharmacy_note)||""}),Ka=V(()=>{const t=Il.value;return t?`${t}克`:""});function He(t){return isFinite(t)?Number.isInteger(t)?String(t):t.toFixed(2).replace(/\.?0+$/,""):"0"}function Ya(t){if(!t)return"";const e=new Date(t*1e3);return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")} ${String(e.getHours()).padStart(2,"0")}:${String(e.getMinutes()).padStart(2,"0")}`}function Ll(t){return t?Ya(t):"—"}function ql(t){return t===1||t==="1"?"男":t===0||t==="0"?"女":"—"}function Ml(t){return t==null||t===""?"—":`${t}岁`}function Bl(){Qa(_)}async function Qa(t){if(!t.prescription_id){A.msgWarning("该订单未关联处方");return}wt.value=!0,Vt.value=!0,h.value=null;try{const e=await pi({id:t.prescription_id}),n=(e==null?void 0:e.data)??e??null;if(n){const u=t.medication_days,d={...n};u!=null&&String(u).trim()!==""&&(d.medication_days=u),t.order_no&&!d.order_no&&(d.order_no=t.order_no),t.recipient_name&&!d.recipient_name&&(d.recipient_name=t.recipient_name),t.recipient_phone&&!d.recipient_phone&&(d.recipient_phone=t.recipient_phone),t.shipping_address&&!d.shipping_address&&(d.shipping_address=t.shipping_address),t.amount!=null&&d.order_amount==null&&(d.order_amount=t.amount),t.dose_count!=null&&String(t.dose_count).trim()!==""&&Number(t.dose_count)>0&&(d.dose_count=Number(t.dose_count)),t.dose_unit!=null&&String(t.dose_unit).trim()!==""&&(d.dose_unit=String(t.dose_unit));const f=t.linked_appointment;(!d.appointment_id||Number(d.appointment_id)<=0)&&f&&typeof f=="object"&&Number(f.id)>0&&(d.appointment_id=Number(f.id)),h.value=d}else h.value=null}catch(e){A.msgError((e==null?void 0:e.message)||"加载处方详情失败"),wt.value=!1}finally{Vt.value=!1}}async function Hl(t){const e=t.querySelectorAll('img[src^="http"]'),n=Array.from(e).map(async u=>{try{const d=await fetch(u.src,{mode:"cors"});if(!d.ok)return;const f=await d.blob(),k=await new Promise((y,F)=>{const J=new FileReader;J.onload=()=>y(J.result),J.onerror=F,J.readAsDataURL(f)});u.src=k}catch{}});await Promise.allSettled(n)}async function Ja(){await Ot();const t=qa.value;if(!t)throw new Error("未找到处方笺内容");return t.scrollIntoView({behavior:"instant",block:"nearest"}),await Hl(t),await new Promise(e=>requestAnimationFrame(()=>e(null))),await new Promise(e=>setTimeout(e,250)),_i(t,{scale:2,useCORS:!0,allowTaint:!1,logging:!1,backgroundColor:"#ffffff",windowWidth:t.scrollWidth,windowHeight:t.scrollHeight,width:t.scrollWidth,height:t.scrollHeight,ignoreElements:e=>e instanceof HTMLElement&&e.classList.contains("cf-slip-no-export")})}function Xa(){var n;const t=(n=h.value)==null?void 0:n.patient_name;return`处方_${typeof t=="string"&&t.trim()?t.trim().replace(/[\\/:*?"<>|]/g,"_"):"未命名"}_${Date.now()}`}async function Gl(){if(h.value){Ne.value=!0;try{const t=await Ja(),e=document.createElement("a");e.download=`${Xa()}.png`,e.href=t.toDataURL("image/png"),e.click(),A.msgSuccess("图片已下载")}catch{A.msgError("下载图片失败")}finally{Ne.value=!1}}}async function Wl(){if(h.value){Ne.value=!0;try{const t=await Ja(),e=t.toDataURL("image/jpeg",.95),n=new Zl({orientation:"portrait",unit:"mm",format:"a4"}),u=210,d=297,f=u,k=t.height*f/t.width;if(k<=d)n.addImage(e,"JPEG",0,0,f,k);else{let y=k,F=0;for(;y>0;)n.addImage(e,"JPEG",0,F,f,k),y-=d,F-=d,y>0&&n.addPage()}n.save(`${Xa()}.pdf`),A.msgSuccess("PDF已下载")}catch{A.msgError("下载PDF失败")}finally{Ne.value=!1}}}return(t,e)=>{const n=en,u=tn,d=sn,f=nn,k=rn,y=un,F=on,J=dn,w=pn,U=ln,re=cn,ve=fn,Ct=mn,Za=_n,la=jn,Ge=vn,le=gn,oe=bn,We=yn,E=kn,pe=xn,S=wn,Ke=hn,D=Sn,Pt=Vn,na=Nn,es=Pn,ts=Cn,ia=An,Ce=Tn,ce=On,as=Rn,Kl=En,Yl=Dn,Ql=$n,Jl=zn,Pe=Fn,ra=Un,ge=an,q=ki("perms");return o(),m("div",Vi,[e[249]||(e[249]=a("header",{class:"po-h5-hero","aria-label":"页面概览"},[a("div",{class:"po-h5-hero__text"},[a("h1",{class:"po-h5-hero__title"},"业务订单"),a("p",{class:"po-h5-hero__sub"},"履约、双审与收款一览;点卡片进入详情")])],-1)),s(n,{class:"po-h5-surface po-h5-surface--chips !mb-3 !border-none shadow-none",shadow:"never"},{default:l(()=>[a("div",Si,[_e.value?(o(),m("div",Ni,[e[85]||(e[85]=a("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"处方审核",-1)),(o(),m($,null,B(Ss,i=>a("div",{key:i.value,class:I(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",b.prescription_audit_status===i.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:P=>Cs(i.value)},[a("span",Pi,r(i.label),1)],10,Ci)),64))])):v("",!0),a("div",Ai,[e[86]||(e[86]=a("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"支付单审核",-1)),(o(),m($,null,B(Ns,i=>a("div",{key:i.value,class:I(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",b.payment_slip_audit_status===i.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:P=>Ps(i.value)},[a("span",Oi,r(i.label),1)],10,Ti)),64))]),a("div",Ri,[e[87]||(e[87]=a("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"发货状态",-1)),(o(),m($,null,B(bs,i=>a("div",{key:"fs-"+String(i.value),class:I(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",b.fulfillment_status===i.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:P=>xs(i.value)},[a("span",$i,r(i.label),1)],10,Ei)),64))]),a("div",Di,[e[88]||(e[88]=a("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"供货方式",-1)),(o(),m($,null,B(ks,i=>a("div",{key:"sm-"+String(i.value),class:I(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",b.supply_mode===i.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:P=>hs(i.value)},[a("span",Ui,r(i.label),1)],10,zi)),64))]),a("div",Fi,[e[89]||(e[89]=a("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"快递方式",-1)),(o(),m($,null,B(ws,i=>a("div",{key:"ec-"+String(i.value),class:I(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",b.express_company===i.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:P=>Vs(i.value)},[a("span",Ii,r(i.label),1)],10,ji)),64))])])]),_:1}),s(n,{class:"po-h5-surface po-filter-card !mb-3 !border-none shadow-none",shadow:"never"},{default:l(()=>[T((o(),m("div",Li,[a("div",qi,[e[90]||(e[90]=a("div",{class:"po-stat-deco po-stat-deco--o pointer-events-none absolute -right-6 -top-8 h-28 w-28 rounded-full opacity-40"},null,-1)),a("div",Mi,[a("div",null,[a("div",Bi,[s(u,{size:16,class:"text-sky-500"},{default:l(()=>[s(R(In))]),_:1}),p(" "+r(ne.value.orderHeading),1)]),a("div",Hi,[a("div",Gi," ¥"+r(ne.value.orderPerformanceStr),1),a("div",Wi,[a("span",null,"合计 ¥"+r(ne.value.orderStr),1),a("span",Ki,"已取消 ¥"+r(ne.value.orderCancelledStr),1)])])]),a("div",Yi,[s(u,{size:20},{default:l(()=>[s(R(Ln))]),_:1})])]),a("p",Qi,r(ne.value.periodLine),1)]),a("div",Ji,[e[91]||(e[91]=a("div",{class:"po-stat-deco po-stat-deco--p pointer-events-none absolute -right-6 -top-8 h-28 w-28 rounded-full opacity-40"},null,-1)),a("div",Xi,[a("div",null,[a("div",Zi,[s(u,{size:16,class:"text-emerald-500"},{default:l(()=>[s(R(qn))]),_:1}),p(" "+r(ne.value.payHeading),1)]),a("div",er,[a("div",tr," ¥"+r(ne.value.payPerformanceStr),1),a("div",ar,[a("span",null,"合计 ¥"+r(ne.value.payStr),1),a("span",sr,"已取消 ¥"+r(ne.value.payCancelledStr),1)])])]),a("div",lr,[s(u,{size:20},{default:l(()=>[s(R(Mn))]),_:1})])]),a("p",nr,r(ne.value.periodLine),1)])])),[[ge,R(te).loading]]),e[95]||(e[95]=a("p",{class:"po-h5-stats-hint text-center text-[12px] leading-snug text-slate-500 px-1 -mt-2 mb-3"},[p(" 上方为接口返回的"),a("strong",{class:"text-slate-600 font-medium"},"业绩汇总"),p("(未选创建日期时为今日;选了则为该区间);下方列表是当前筛选条件下的订单,"),a("strong",{class:"text-slate-600 font-medium"},"条数与金额和上面不必相等"),p("。 ")],-1)),a("div",{class:"po-filter-toggle",onClick:e[0]||(e[0]=i=>nt.value=!nt.value)},[a("div",ir,[s(u,null,{default:l(()=>[s(R(oa))]),_:1}),e[92]||(e[92]=a("span",null,"筛选条件",-1)),xa.value>0?(o(),g(d,{key:0,size:"small",type:"primary",effect:"dark",round:""},{default:l(()=>[p(r(xa.value),1)]),_:1})):v("",!0)]),s(u,{class:I(["po-filter-toggle__arrow",{"is-open":!nt.value}])},{default:l(()=>[s(R(ss))]),_:1},8,["class"])]),T(s(U,{class:"ls-form",model:b,inline:""},{default:l(()=>[s(f,{class:"w-[360px] min-w-[240px] max-w-full",label:"创建时间"},{default:l(()=>[s(Kn,{startTime:b.start_time,"onUpdate:startTime":e[1]||(e[1]=i=>b.start_time=i),endTime:b.end_time,"onUpdate:endTime":e[2]||(e[2]=i=>b.end_time=i),"picker-type":"daterange","value-format":"YYYY-MM-DD","start-placeholder":"开始日期","end-placeholder":"结束日期",class:"!w-full"},null,8,["startTime","endTime"])]),_:1}),s(f,{class:"w-[260px]",label:"订单号"},{default:l(()=>[s(k,{modelValue:b.order_no,"onUpdate:modelValue":e[3]||(e[3]=i=>b.order_no=i),placeholder:"业务订单号",clearable:"",onKeyup:Xe(R(G),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),s(f,{class:"w-[140px]",label:"处方ID"},{default:l(()=>[s(k,{modelValue:b.prescription_id,"onUpdate:modelValue":e[4]||(e[4]=i=>b.prescription_id=i),placeholder:"处方ID",clearable:"",onKeyup:Xe(R(G),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),s(f,{class:"w-[220px]",label:"患者"},{default:l(()=>[s(k,{modelValue:b.patient_keyword,"onUpdate:modelValue":e[5]||(e[5]=i=>b.patient_keyword=i),placeholder:"姓名 / 手机号",clearable:"",onKeyup:Xe(R(G),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),s(f,{class:"w-[220px]",label:"快递"},{default:l(()=>[s(k,{modelValue:b.express_keyword,"onUpdate:modelValue":e[6]||(e[6]=i=>b.express_keyword=i),placeholder:"快递单号 / 公司",clearable:"",onKeyup:Xe(R(G),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),s(f,{class:"w-[200px]",label:"医生"},{default:l(()=>[s(F,{modelValue:b.doctor_id,"onUpdate:modelValue":e[7]||(e[7]=i=>b.doctor_id=i),clearable:"",filterable:"",placeholder:"开方医生",class:"!w-full"},{default:l(()=>[(o(!0),m($,null,B(Et.value,i=>(o(),g(y,{key:i.id,label:i.name,value:i.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),s(f,{class:"w-[220px] min-w-[200px]",label:"医助部门"},{default:l(()=>[s(J,{modelValue:b.assistant_dept_id,"onUpdate:modelValue":e[8]||(e[8]=i=>b.assistant_dept_id=i),data:et.value,class:"!w-full",clearable:"",filterable:"","check-strictly":"","default-expand-all":!0,"node-key":"id",props:_s,placeholder:"医助部门(选父级含子级)",onChange:Os},null,8,["modelValue","data"])]),_:1}),s(f,{class:"w-[200px]",label:"医助"},{default:l(()=>[s(F,{modelValue:b.assistant_id,"onUpdate:modelValue":e[9]||(e[9]=i=>b.assistant_id=i),clearable:"",filterable:"",placeholder:"诊单医助",class:"!w-full"},{default:l(()=>[(o(!0),m($,null,B(ma.value,i=>(o(),g(y,{key:i.id,label:i.name,value:i.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),s(f,null,{default:l(()=>[s(w,{type:"primary",onClick:R(G)},{default:l(()=>[...e[93]||(e[93]=[p("查询",-1)])]),_:1},8,["onClick"]),s(w,{onClick:Rs},{default:l(()=>[...e[94]||(e[94]=[p("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"]),[[At,!nt.value]])]),_:1}),T((o(),g(n,{class:"po-h5-surface po-table-card !mt-0 !border-none shadow-none",shadow:"never"},{default:l(()=>[a("div",rr,[a("div",or,[a("div",ur,[e[96]||(e[96]=a("span",{class:"po-table-title text-gray-800"},"订单列表",-1)),a("span",dr,"共 "+r(R(te).count)+" 条",1)]),a("div",pr,[a("div",{class:I(["po-focus-board__item is-pending-rx",{"is-active":ee.value==="pendingRx"}]),onClick:e[10]||(e[10]=i=>tt("pendingRx"))},[e[97]||(e[97]=a("span",{class:"po-focus-board__label"},"待处方审核",-1)),a("strong",cr,r(at.value.pendingRx),1)],2),a("div",{class:I(["po-focus-board__item is-pending-pay",{"is-active":ee.value==="pendingPay"}]),onClick:e[11]||(e[11]=i=>tt("pendingPay"))},[e[98]||(e[98]=a("span",{class:"po-focus-board__label"},"待支付审核",-1)),a("strong",_r,r(at.value.pendingPay),1)],2),a("div",{class:I(["po-focus-board__item is-pending-ship",{"is-active":ee.value==="pendingShip"}]),onClick:e[12]||(e[12]=i=>tt("pendingShip"))},[e[99]||(e[99]=a("span",{class:"po-focus-board__label"},"待发货",-1)),a("strong",mr,r(at.value.pendingShip),1)],2),a("div",{class:I(["po-focus-board__item is-risk",{"is-active":ee.value==="risk"}]),onClick:e[13]||(e[13]=i=>tt("risk"))},[e[100]||(e[100]=a("span",{class:"po-focus-board__label"},"重点异常",-1)),a("strong",fr,r(at.value.risk),1)],2)])])]),a("div",vr,[!R(te).lists.length&&!R(te).loading?(o(),g(re,{key:0,description:"暂无订单","image-size":88})):v("",!0),(o(!0),m($,null,B(R(te).lists,i=>(o(),m("div",{key:i.id,class:I(["po-card",{"po-card--focus":st&&st({row:i})==="po-row-focus","po-card--risk":st&&st({row:i})==="po-row-risk"}]),onClick:P=>Oa(i.id)},[a("div",yr,[a("div",br,[a("span",xr,r(i.order_no||"—"),1)]),a("div",kr,[s(d,{size:"small",effect:"plain",type:String(i.gancao_reciperl_order_no||"").trim()?"success":"info"},{default:l(()=>[p(r(String(i.gancao_reciperl_order_no||"").trim()?"甘草":"自营"),1)]),_:2},1032,["type"]),a("span",hr,"#"+r(i.id),1)])]),dt(i.recipient_phone,i.prescription_phone)?(o(),m("div",wr,[s(u,null,{default:l(()=>[s(R(Bn))]),_:1}),e[101]||(e[101]=a("span",null,"收货手机与处方手机不一致",-1))])):v("",!0),a("div",Vr,[a("div",Sr,[e[102]||(e[102]=a("span",{class:"po-card__label"},"收货人",-1)),a("span",Nr,r(i.recipient_name||"—"),1)]),a("div",Cr,[e[103]||(e[103]=a("span",{class:"po-card__label"},"金额",-1)),a("span",Pr,"¥"+r(i.amount),1)])]),a("div",Ar,[a("div",Tr,[e[104]||(e[104]=a("span",{class:"po-card__label"},"手机",-1)),a("span",{class:I(["po-card__value",dt(i.recipient_phone,i.prescription_phone)?"text-red-600 font-semibold":""])},r(i.recipient_phone||"—"),3)]),a("div",Or,[e[105]||(e[105]=a("span",{class:"po-card__label"},"费用类别",-1)),a("span",Rr,r(lt(i.fee_type)),1)])]),a("div",Er,[a("div",$r,[e[106]||(e[106]=a("span",{class:"po-card__label"},"处方ID",-1)),a("span",Dr,r(i.prescription_id||"—"),1)]),a("div",zr,[e[107]||(e[107]=a("span",{class:"po-card__label"},"诊单ID",-1)),a("span",Ur,r(i.diagnosis_id||"—"),1)])]),pa()&&i.internal_cost!=null&&i.internal_cost!==""?(o(),m("div",Fr,[a("div",jr,[e[108]||(e[108]=a("span",{class:"po-card__label"},"内部成本",-1)),a("span",Ir,"¥"+r(i.internal_cost),1)]),a("div",Lr,[e[109]||(e[109]=a("span",{class:"po-card__label"},"关联支付",-1)),a("span",qr,[Number(i.linked_pay_order_count)>0?(o(),m("span",Mr,r(i.linked_pay_order_count)+" 笔",1)):(o(),m("span",Br,"—"))])])])):(o(),m("div",Hr,[a("div",Gr,[e[110]||(e[110]=a("span",{class:"po-card__label"},"关联支付",-1)),a("span",Wr,[Number(i.linked_pay_order_count)>0?(o(),m("span",Kr,r(i.linked_pay_order_count)+" 笔",1)):(o(),m("span",Yr,"—"))])]),a("div",Qr,[e[111]||(e[111]=a("span",{class:"po-card__label"},"创建时间",-1)),a("span",Jr,r(me(i.create_time)),1)])])),a("div",Xr,[s(d,{type:va(i.prescription_audit_status),size:"small",class:I($t("rx",i))},{default:l(()=>[p(" 处方审: "+r(fa(i.prescription_audit_status)),1)]),_:2},1032,["type","class"]),s(d,{type:va(i.payment_slip_audit_status),size:"small",class:I($t("pay",i))},{default:l(()=>[p(" 支付审: "+r(fa(i.payment_slip_audit_status)),1)]),_:2},1032,["type","class"]),s(d,{type:$s(i.fulfillment_status),size:"small",class:I($t("fulfillment",i))},{default:l(()=>[p(r(Dt(i.fulfillment_status)),1)]),_:2},1032,["type","class"])]),a("div",Zr,[i.doctor_name?(o(),m("span",eo,"医:"+r(i.doctor_name),1)):v("",!0),i.creator_name?(o(),m("span",to,"建:"+r(i.creator_name),1)):v("",!0),pa()&&i.internal_cost!=null&&i.internal_cost!==""?v("",!0):(o(),m("span",ao,r(me(i.create_time)),1))]),a("div",{class:"po-card__actions",onClick:e[14]||(e[14]=Tt(()=>{},["stop"]))},[T((o(),g(w,{type:"primary",size:"small",onClick:P=>Oa(i.id)},{default:l(()=>[p(r(ps.value),1)]),_:1},8,["onClick"])),[[q,["tcm.prescriptionOrder/detail"]]]),Ds(i)?T((o(),g(w,{key:0,size:"small",onClick:P=>ml(i)},{default:l(()=>[...e[112]||(e[112]=[p("编辑",-1)])]),_:1},8,["onClick"])),[[q,["tcm.prescriptionOrder/edit"]]]):v("",!0),Is(i)?T((o(),g(w,{key:1,type:"success",size:"small",onClick:P=>wl(i)},{default:l(()=>[...e[113]||(e[113]=[p("改单号",-1)])]),_:1},8,["onClick"])),[[q,["tcm.prescriptionOrder/ddcode"]]]):v("",!0),zt(i)?T((o(),g(w,{key:2,type:"primary",size:"small",onClick:P=>ea(i)},{default:l(()=>[...e[114]||(e[114]=[p("发货",-1)])]),_:1},8,["onClick"])),[[q,["tcm.prescriptionOrder/ship"]]]):v("",!0),Ls(i)?(o(),g(Za,{key:3,trigger:"click",onCommand:P=>qs(P,i)},{dropdown:l(()=>[s(Ct,null,{default:l(()=>[Ut(i)?(o(),g(ve,{key:0,command:"addPayOrder"},{default:l(()=>[...e[116]||(e[116]=[p("补齐支付单",-1)])]),_:1})):v("",!0),Ft(i)?(o(),g(ve,{key:1,command:"complete"},{default:l(()=>[...e[117]||(e[117]=[p("完成订单",-1)])]),_:1})):v("",!0),ya(i)?(o(),g(ve,{key:2,command:"submitGancao"},{default:l(()=>[...e[118]||(e[118]=[p("上传药方",-1)])]),_:1})):v("",!0),ga(i)?(o(),g(ve,{key:3,command:"withdraw",divided:""},{default:l(()=>[...e[119]||(e[119]=[a("span",{class:"text-red-500"},"撤回订单",-1)])]),_:1})):v("",!0)]),_:2},1024)]),default:l(()=>[s(w,{size:"small"},{default:l(()=>[e[115]||(e[115]=p(" 更多",-1)),s(u,{class:"el-icon--right"},{default:l(()=>[s(R(ss))]),_:1})]),_:1})]),_:2},1032,["onCommand"])):v("",!0)])],10,gr))),128))]),a("div",so,[s(la,{modelValue:R(te),"onUpdate:modelValue":e[15]||(e[15]=i=>wi(te)?te.value=i:null),onChange:R(K)},null,8,["modelValue","onChange"])])]),_:1})),[[ge,R(te).loading]]),s(ia,{modelValue:X.value,"onUpdate:modelValue":e[26]||(e[26]=i=>X.value=i),class:"po-detail-drawer po-detail-drawer--h5",size:"100%",direction:"btt","destroy-on-close":"","close-on-click-modal":!1},{header:l(()=>{var i,P;return[a("div",lo,[a("div",no,[e[120]||(e[120]=a("span",{class:"po-detail-drawer-title shrink-0 text-gray-800 font-semibold text-lg"},"业务订单详情",-1)),(i=c.value)!=null&&i.order_no?(o(),g(d,{key:0,type:"primary",effect:"plain",round:"",class:"max-w-full !whitespace-normal break-all text-left leading-snug"},{default:l(()=>[p(r(c.value.order_no),1)]),_:1})):v("",!0),(P=c.value)!=null&&P.gancao_reciperl_order_no?(o(),g(d,{key:1,type:"success",effect:"plain",round:"",class:"max-w-full !whitespace-normal break-all text-left leading-snug"},{default:l(()=>[p("甘草 "+r(c.value.gancao_reciperl_order_no),1)]),_:1})):v("",!0)]),c.value?(o(),m("div",io,[zs(c.value)?T((o(),g(w,{key:0,type:"warning",size:"small",plain:"",onClick:e[16]||(e[16]=N=>$a(c.value,"prescription"))},{default:l(()=>[...e[121]||(e[121]=[p(" 处方审核 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/auditPrescription"]]]):v("",!0),Fs(c.value)?T((o(),g(w,{key:1,type:"info",size:"small",plain:"",onClick:e[17]||(e[17]=N=>Al(c.value))},{default:l(()=>[...e[122]||(e[122]=[p(" 撤回处方审核 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/auditPrescription"]]]):v("",!0),Us(c.value)?T((o(),g(w,{key:2,type:"warning",size:"small",plain:"",onClick:e[18]||(e[18]=N=>$a(c.value,"payment"))},{default:l(()=>[...e[123]||(e[123]=[p(" 支付审核 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/auditPayment"]]]):v("",!0),js(c.value)?T((o(),g(w,{key:3,type:"info",size:"small",plain:"",onClick:e[19]||(e[19]=N=>Tl(c.value))},{default:l(()=>[...e[124]||(e[124]=[p(" 撤回支付审核 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/auditPayment"]]]):v("",!0),zt(c.value)?T((o(),g(w,{key:4,type:"primary",size:"small",plain:"",onClick:e[20]||(e[20]=N=>ea(c.value))},{default:l(()=>[...e[125]||(e[125]=[p(" 确认发货 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/ship"]]]):v("",!0),Ut(c.value)?T((o(),g(w,{key:5,type:"success",size:"small",plain:"",onClick:e[21]||(e[21]=N=>Ia(c.value))},{default:l(()=>[...e[126]||(e[126]=[p(" 关联支付单 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/addPayOrder"]]]):v("",!0),Ft(c.value)?T((o(),g(w,{key:6,type:"primary",size:"small",plain:"",onClick:e[22]||(e[22]=N=>La(c.value))},{default:l(()=>[...e[127]||(e[127]=[p(" 完成订单 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/complete"]]]):v("",!0)])):v("",!0)])]}),default:l(()=>[It.value?(o(),g(Ge,{key:0,rows:12,animated:"",class:"px-6 py-4"})):c.value?(o(),m("div",ro,[Oe.value?(o(),g(le,{key:0,type:"error",closable:!1,"show-icon":"",class:"mb-4 !items-start",title:"业务订单收货手机与处方登记手机不一致"},{default:l(()=>[a("div",oo,[a("div",null,[e[128]||(e[128]=p(" 处方手机: ",-1)),a("span",uo,r(Bs.value),1)]),a("div",null,[e[129]||(e[129]=p(" 订单收货手机: ",-1)),a("span",po,r(Hs.value),1)]),e[130]||(e[130]=a("div",{class:"text-gray-600 mt-1"},"请核对是否代收货或录入错误,避免物流与回访联系错人。",-1))])]),_:1})):v("",!0),a("div",co,[s(We,{class:"po-workflow-steps",direction:"vertical",active:it.value,"finish-status":"success"},{default:l(()=>[s(oe,{title:"业务订单创建",description:me(c.value.create_time)},null,8,["description"]),s(oe,{title:"处方单双审",status:rt.value},{description:l(()=>[rt.value==="error"?(o(),m("span",_o,"处方被驳回")):rt.value==="wait"?(o(),m("span",mo,"等待审核")):rt.value==="success"?(o(),m("span",fo,"双审通过")):(o(),m("span",vo,"进行中"))]),_:1},8,["status"]),s(oe,{title:"支付单审核",status:ot.value},{description:l(()=>[ot.value==="error"?(o(),m("span",go,"支付审核驳回")):ot.value==="wait"?(o(),m("span",yo,"等待审核")):ot.value==="success"?(o(),m("span",bo,"审核通过")):(o(),m("span",xo,"进行中"))]),_:1},8,["status"]),s(oe,{title:"发货与履约",status:xe.value},{description:l(()=>{var i,P,N;return[xe.value==="process"&&Number((i=c.value)==null?void 0:i.fulfillment_status)===7?(o(),m("span",ko,"进行中")):xe.value==="process"?(o(),m("span",ho,"等待发货/补充单号")):xe.value==="wait"?(o(),m("span",wo,"待转入履约")):xe.value==="success"?(o(),m("span",Vo,r(Dt((P=c.value)==null?void 0:P.fulfillment_status)),1)):xe.value==="error"?(o(),m("span",So,r(Dt((N=c.value)==null?void 0:N.fulfillment_status)),1)):v("",!0)]}),_:1},8,["status"]),s(oe,{title:"订单完成"})]),_:1},8,["active"])]),s(pe,{gutter:16,class:"mb-5"},{default:l(()=>[s(E,{xs:12,sm:6},{default:l(()=>[s(n,{shadow:"never",class:"stat-card border border-gray-100 bg-gray-50/50"},{default:l(()=>[a("div",No,[e[132]||(e[132]=a("div",{class:"stat-title text-gray-500 text-xs"},"总金额",-1)),jt(c.value)?T((o(),g(w,{key:0,type:"primary",size:"small",link:"",onClick:ll},{default:l(()=>[...e[131]||(e[131]=[p(" 修改 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/updateAmount"]]]):v("",!0)]),a("div",Co,"¥"+r(c.value.amount),1)]),_:1})]),_:1}),s(E,{xs:12,sm:6},{default:l(()=>[s(n,{shadow:"never",class:"stat-card border border-gray-100 bg-gray-50/50"},{default:l(()=>[e[133]||(e[133]=a("div",{class:"stat-title text-gray-500 text-xs mb-1"},"已付总额",-1)),a("div",Po,"¥"+r(c.value.linked_pay_paid_total||0),1)]),_:1})]),_:1}),s(E,{xs:12,sm:6},{default:l(()=>[s(n,{shadow:"never",class:"stat-card border border-gray-100 bg-gray-50/50"},{default:l(()=>[e[134]||(e[134]=a("div",{class:"stat-title text-gray-500 text-xs mb-1"},"需代收",-1)),a("div",{class:I(["stat-value font-bold text-xl",ka.value>0?"text-amber-600":"text-gray-500"])}," ¥"+r(de(ka.value)),3)]),_:1})]),_:1}),s(E,{xs:12,sm:6},{default:l(()=>[s(n,{shadow:"never",class:"stat-card border border-gray-100 bg-gray-50/50"},{default:l(()=>[e[135]||(e[135]=a("div",{class:"stat-title text-gray-500 text-xs mb-1"},"已付笔数",-1)),a("div",Ao,r(Lt.value.length)+" 笔",1)]),_:1})]),_:1})]),_:1}),a("div",To,[s(n,{shadow:"never",class:"po-panel po-panel-rx border-gray-100 h-full relative overflow-hidden"},{header:l(()=>[a("div",Eo,[a("div",$o,[e[138]||(e[138]=a("span",{class:"po-panel-rx-header__title font-medium text-[15px] leading-snug"},"处方详情",-1)),a("span",Do," ID: "+r(c.value.prescription_id||"—"),1)]),c.value.doctor_name?(o(),m("div",zo,[e[139]||(e[139]=p(" 开方人:",-1)),a("span",Uo,r(c.value.doctor_name),1)])):v("",!0),a("div",Fo,[c.value.prescription_id&&C.value&&!String(c.value.prescription_detail_error||"").trim()?T((o(),g(w,{key:0,type:"default",size:"small",link:"",onClick:tl},{default:l(()=>[...e[140]||(e[140]=[p(" 改患者信息 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/patchPrescriptionPatient"]]]):v("",!0),c.value.prescription_id&&_e.value?(o(),g(w,{key:1,type:"primary",size:"small",link:"",onClick:e[23]||(e[23]=i=>Qa(c.value))},{default:l(()=>[...e[141]||(e[141]=[p(" 详细 ",-1)])]),_:1})):v("",!0),c.value.id&&_e.value?(o(),g(w,{key:2,type:"warning",size:"small",link:"",loading:Se.value,icon:R(oa),onClick:kl},{default:l(()=>[...e[142]||(e[142]=[p(" 测试价格 ",-1)])]),_:1},8,["loading","icon"])):v("",!0)])])]),default:l(()=>[c.value.prescription_audit_status===1?(o(),m("div",Oo,[...e[136]||(e[136]=[a("div",{class:"stamp-inner"},"审核通过",-1)])])):v("",!0),c.value.prescription_audit_status===2?(o(),m("div",Ro,[...e[137]||(e[137]=[a("div",{class:"stamp-inner"},"已驳回",-1)])])):v("",!0),String(c.value.prescription_detail_error||"").trim()?(o(),g(le,{key:2,title:c.value.prescription_detail_error,type:"warning",closable:!1,"show-icon":"",class:"mb-3"},null,8,["title"])):C.value?(o(),m($,{key:3},[s(Ke,{column:1,border:"",size:"small",class:"po-desc bg-white"},{default:l(()=>[s(S,{label:"处方编号",span:2},{default:l(()=>[p(r(C.value.sn||"—"),1)]),_:1}),s(S,{label:"患者"},{default:l(()=>[p(r(C.value.patient_name||"—"),1)]),_:1}),s(S,{label:"性别 / 年龄"},{default:l(()=>[p(r(C.value.gender_desc||"—")+" · "+r(C.value.age??"—")+"岁 ",1)]),_:1}),s(S,{label:"手机"},{default:l(()=>[a("span",{class:I(Oe.value?"rx-phone-mismatch text-red-600 font-bold":"")},r(C.value.phone||"—"),3),Oe.value?(o(),g(d,{key:0,type:"danger",size:"small",effect:"dark",class:"ml-2 align-middle"},{default:l(()=>[...e[143]||(e[143]=[p(" 与订单手机不一致 ",-1)])]),_:1})):v("",!0)]),_:1}),s(S,{label:"处方日期"},{default:l(()=>[p(r(C.value.prescription_date||"—"),1)]),_:1}),s(S,{label:"医师"},{default:l(()=>[p(r(C.value.doctor_name||"—"),1)]),_:1}),s(S,{label:"类型"},{default:l(()=>[p(r(C.value.prescription_type||"—"),1)]),_:1}),s(S,{label:"临床诊断",span:2},{default:l(()=>[p(r(C.value.clinical_diagnosis||"—"),1)]),_:1}),_e.value?(o(),g(S,{key:0,label:"剂数 / 用法",span:2},{default:l(()=>[p(r(c.value.dose_count??C.value.dose_count??"—")+" "+r(c.value.dose_unit||"剂")+" · "+r(C.value.usage_instruction||C.value.usage_method||"—"),1)]),_:1})):v("",!0),s(S,{label:"处方金额"},{default:l(()=>[a("span",jo,"¥"+r(C.value.amount??"—"),1)]),_:1}),s(S,{label:"消费者审核"},{default:l(()=>[s(d,{type:Ys(C.value.audit_status),size:"small"},{default:l(()=>[p(r(Ks(C.value.audit_status)),1)]),_:1},8,["type"])]),_:1}),s(S,{label:"用量"},{default:l(()=>[C.value.dosage_amount?(o(),m($,{key:0},[p(r(C.value.dosage_amount)+r(C.value.dosage_unit||"g")+" ",1),C.value.prescription_type==="浓缩水丸"?(o(),m($,{key:0},[p(" · "+r(Number(C.value.dosage_bag_count)>0?Number(C.value.dosage_bag_count):1)+"袋 ",1)],64)):v("",!0),C.value.prescription_type==="饮片"&&C.value.need_decoction!==null?(o(),m("span",Io," ("+r(C.value.need_decoction?"代煎":"不代煎")+") ",1)):v("",!0)],64)):(o(),m($,{key:1},[p("—")],64))]),_:1}),s(S,{label:"服用方式"},{default:l(()=>[a("div",Lo,[a("div",null,[e[144]||(e[144]=a("span",{class:"text-gray-500"},"每天次数:",-1)),p(" "+r(C.value.times_per_day?C.value.times_per_day+" 次":"—"),1)]),a("div",null,[e[145]||(e[145]=a("span",{class:"text-gray-500"},"处方开立:",-1)),p(" "+r(C.value.usage_days!=null&&C.value.usage_days!==""?C.value.usage_days+" 天":"—"),1)]),a("div",null,[e[146]||(e[146]=a("span",{class:"text-gray-500"},"订单设置:",-1)),p(" "+r(c.value.medication_days!=null&&String(c.value.medication_days).trim()!==""?c.value.medication_days+" 天":"—"),1)])])]),_:1}),s(S,{label:"状态",span:2},{default:l(()=>[s(d,{type:Number(C.value.void_status)===1?"danger":"success",size:"small"},{default:l(()=>[p(r(Number(C.value.void_status)===1?"已作废":"正常"),1)]),_:1},8,["type"])]),_:1})]),_:1}),Gs.value?(o(),m("div",qo,[e[147]||(e[147]=a("div",{class:"text-xs font-medium text-gray-500 mb-2 px-1"},"药材明细",-1)),Va.value.length?(o(),g(Pt,{key:0,data:Va.value,size:"small",border:"",stripe:"","max-height":"260"},{default:l(()=>[s(D,{type:"index",label:"#",width:"48",align:"center"}),s(D,{prop:"name",label:"药名","min-width":"120","show-overflow-tooltip":""}),s(D,{prop:"dosage",label:"用量(g)",width:"96",align:"right"})]),_:1},8,["data"])):(o(),g(re,{key:1,description:"无处方药材明细","image-size":64}))])):v("",!0)],64)):(o(),g(re,{key:4,description:"无处方数据","image-size":72}))]),_:1}),a("div",Mo,[s(n,{shadow:"never",class:"po-panel border-gray-100"},{header:l(()=>[...e[148]||(e[148]=[a("div",{class:"flex items-center justify-between"},[a("span",{class:"font-medium text-[15px]"},"未关联的收款记录"),a("span",{class:"text-xs text-gray-400"},"本诊单下未被占用的支付单")],-1)])]),default:l(()=>[ke.value.length?(o(),g(Pt,{key:0,data:ke.value,size:"small",border:"",stripe:"",class:"po-pay-table","max-height":"280"},{default:l(()=>[s(D,{prop:"id",label:"ID",width:"70"}),s(D,{prop:"order_no",label:"单号","min-width":"135","show-overflow-tooltip":""}),s(D,{label:"类型",width:"90"},{default:l(({row:i})=>[p(r(i.order_type_desc||lt(i.order_type)),1)]),_:1}),s(D,{label:"金额",width:"86",align:"right"},{default:l(({row:i})=>[a("span",Bo,"¥"+r(i.amount),1)]),_:1}),s(D,{label:"状态",width:"100",align:"center"},{default:l(({row:i})=>[s(d,{type:Na(i.status),size:"small"},{default:l(()=>[p(r(i.status_desc||ba(i.status)),1)]),_:2},1032,["type"]),i.is_exempt===1?(o(),g(d,{key:0,type:"warning",size:"small",class:"ml-1"},{default:l(()=>[...e[149]||(e[149]=[p("豁免",-1)])]),_:1})):v("",!0)]),_:1}),s(D,{prop:"creator_name",label:"创建人",width:"80","show-overflow-tooltip":""}),s(D,{label:"创建时间","min-width":"136"},{default:l(({row:i})=>[p(r(Ca(i.create_time)),1)]),_:1})]),_:1},8,["data"])):(o(),g(re,{key:1,description:"无未关联的收款单","image-size":60}))]),_:1}),s(n,{shadow:"never",class:"po-panel po-panel-pay border-gray-100 relative overflow-hidden"},{header:l(()=>[a("div",Wo,[a("div",Ko,[e[153]||(e[153]=a("span",{class:"font-medium text-[15px]"},"关联收款记录",-1)),c.value.creator_name?(o(),m("span",Yo,[e[152]||(e[152]=p(" 创建人:",-1)),a("span",Qo,r(c.value.creator_name),1)])):v("",!0)])])]),default:l(()=>[c.value.payment_slip_audit_status===1?(o(),m("div",Ho,[...e[150]||(e[150]=[a("div",{class:"stamp-inner"},"审核通过",-1)])])):v("",!0),c.value.payment_slip_audit_status===2?(o(),m("div",Go,[...e[151]||(e[151]=[a("div",{class:"stamp-inner"},"已驳回",-1)])])):v("",!0),Lt.value.length?(o(),g(Pt,{key:2,data:Lt.value,size:"small",border:"",stripe:"",class:"po-pay-table","max-height":"280"},{default:l(()=>[s(D,{prop:"id",label:"ID",width:"70"}),s(D,{prop:"order_no",label:"单号","min-width":"135","show-overflow-tooltip":""}),s(D,{label:"类型",width:"90"},{default:l(({row:i})=>[p(r(i.order_type_desc||lt(i.order_type)),1)]),_:1}),s(D,{label:"金额",width:"86",align:"right"},{default:l(({row:i})=>[a("span",Jo,"¥"+r(i.amount),1)]),_:1}),s(D,{label:"状态",width:"100",align:"center"},{default:l(({row:i})=>[s(d,{type:Na(i.status),size:"small"},{default:l(()=>[p(r(i.status_desc||ba(i.status)),1)]),_:2},1032,["type"]),i.is_exempt===1?(o(),g(d,{key:0,type:"warning",size:"small",class:"ml-1"},{default:l(()=>[...e[154]||(e[154]=[p("豁免",-1)])]),_:1})):v("",!0)]),_:1}),s(D,{prop:"creator_name",label:"创建人",width:"80","show-overflow-tooltip":""}),s(D,{label:"创建时间","min-width":"136"},{default:l(({row:i})=>[p(r(Ca(i.create_time)),1)]),_:1})]),_:1},8,["data"])):(o(),g(re,{key:3,description:"未关联收款单","image-size":60}))]),_:1})])]),s(n,{shadow:"never",class:"po-panel po-panel-biz border-gray-100 mb-4"},{header:l(()=>[...e[155]||(e[155]=[a("span",{class:"font-medium text-[15px]"},"履约与收货信息",-1)])]),default:l(()=>[s(Ke,{column:1,border:"",size:"small",class:"po-desc"},{default:l(()=>[s(S,{label:"诊单ID"},{default:l(()=>[a("div",Xo,[a("div",Zo,[e[156]||(e[156]=a("span",{class:"text-[11px] font-semibold uppercase tracking-[0.06em] text-slate-500"},"关联诊单",-1)),a("span",eu,r(c.value.diagnosis_id||"—"),1),e[157]||(e[157]=a("span",{class:"text-[12px] leading-snug text-slate-500"},"病历与体征以诊单为准,可全屏查看",-1))]),Number(c.value.diagnosis_id)>0?(o(),g(w,{key:0,type:"primary",plain:"",round:"",size:"default",class:"po-biz-diagnosis-id__btn w-full shrink-0 touch-manipulation sm:w-auto !m-0",icon:R(Hn),"aria-label":"打开关联诊单详情(患者与病历)",onClick:os},{default:l(()=>[...e[158]||(e[158]=[p(" 查看诊单详情 ",-1)])]),_:1},8,["icon"])):v("",!0)])]),_:1}),s(S,{label:"创建时间"},{default:l(()=>[p(r(me(c.value.create_time)),1)]),_:1}),s(S,{label:"收货人"},{default:l(()=>[p(r(c.value.recipient_name),1)]),_:1}),s(S,{label:"挂号关联",span:3},{default:l(()=>[W.value?(o(),m($,{key:0},[a("div",tu,[a("span",null,[e[159]||(e[159]=p("预约 ",-1)),a("span",au,"#"+r(W.value.id),1)]),a("span",su,"时间:"+r(W.value.appointment_date)+" "+r(W.value.period)+" "+r(W.value.appointment_time),1),s(d,{size:"small",type:"info"},{default:l(()=>[p(r(W.value.appointment_type_desc),1)]),_:1}),s(d,{size:"small"},{default:l(()=>[p(r(W.value.status_desc),1)]),_:1}),W.value.doctor_name?(o(),m("span",lu,"接诊:"+r(W.value.doctor_name),1)):v("",!0),W.value.channel_source?(o(),m("span",nu,"渠道:"+r(W.value.channel_source),1)):v("",!0),wa.value?(o(),g(d,{key:2,size:"small",effect:"plain"},{default:l(()=>[p(r(wa.value),1)]),_:1})):v("",!0)]),String(W.value.remark||"").trim()?(o(),m("p",iu," 备注:"+r(W.value.remark),1)):v("",!0)],64)):(o(),m("span",ru,"暂无挂号预约记录(未绑定或诊单下无预约)"))]),_:1}),s(S,{label:"收货手机"},{default:l(()=>[a("span",{class:I(Oe.value?"text-red-600 font-bold font-mono":"font-mono")},r(c.value.recipient_phone||"—"),3),Oe.value?(o(),g(d,{key:0,type:"danger",size:"small",effect:"dark",class:"ml-2 align-middle"},{default:l(()=>[...e[160]||(e[160]=[p(" 与处方手机不一致 ",-1)])]),_:1})):v("",!0)]),_:1}),s(S,{label:"收货地址",span:2},{default:l(()=>[p(r(Ws.value),1)]),_:1}),s(S,{label:"复诊"},{default:l(()=>[p(r(c.value.is_follow_up?"是":"否"),1)]),_:1}),s(S,{label:"用药疗程"},{default:l(()=>[p(r(c.value.medication_days?c.value.medication_days+" 天":"—"),1)]),_:1}),s(S,{label:"上次医护"},{default:l(()=>[p(r(c.value.prev_staff||"—"),1)]),_:1}),s(S,{label:"服务渠道"},{default:l(()=>[p(r(c.value.service_channel||"—"),1)]),_:1}),s(S,{label:"服务套餐"},{default:l(()=>[p(r(Es(c.value.service_package)),1)]),_:1}),s(S,{label:"费用类别"},{default:l(()=>[p(r(lt(c.value.fee_type)),1)]),_:1}),c.value.internal_cost!=null&&c.value.internal_cost!==""?(o(),g(S,{key:0,label:"内部成本"},{default:l(()=>[p(" ¥"+r(c.value.internal_cost),1)]),_:1})):v("",!0),s(S,{label:"快递单号",span:c.value.internal_cost!=null&&c.value.internal_cost!==""?1:2},{default:l(()=>[p(r(c.value.tracking_number||"—"),1)]),_:1},8,["span"]),s(S,{label:"快递公司"},{default:l(()=>[p(r(Zs(c.value.express_company)),1)]),_:1}),T((o(),g(S,{label:"备注",span:3},{default:l(()=>[p(r(c.value.remark_extra||"—"),1)]),_:1})),[[q,["tcm.prescriptionOrder/editRemarkExtra"]]]),s(S,{label:"医助备注",span:3},{default:l(()=>[p(r(c.value.remark_assistant||"—"),1)]),_:1}),s(S,{label:"处方审核意见",span:3},{default:l(()=>[a("span",ou,r(c.value.prescription_audit_remark||"—"),1)]),_:1}),s(S,{label:"支付审核意见",span:3},{default:l(()=>[a("span",uu,r(c.value.payment_slip_audit_remark||"—"),1)]),_:1})]),_:1})]),_:1}),String(c.value.tracking_number||"").trim()?(o(),g(n,{key:1,shadow:"never",class:"po-panel po-panel-logistics border-gray-100"},{header:l(()=>[...e[161]||(e[161]=[a("span",{class:"font-medium text-[15px]"},"物流轨迹",-1)])]),default:l(()=>{var i,P,N,j,Ye,Qe;return[e[167]||(e[167]=a("p",{class:"po-logistics-tip text-gray-400 text-xs mb-3 font-normal"}," 优先读库,无记录时走快递100。顺丰会校验单号+电话(快递100要求完整手机号更易通过);默认预填订单收货手机,若仍提示验证码错误请改成与顺丰面单一致的号码。 ",-1)),a("div",du,[s(k,{modelValue:Ee.value,"onUpdate:modelValue":e[24]||(e[24]=ue=>Ee.value=ue),clearable:"",maxlength:"20",placeholder:"收件手机(建议11位,与面单一致)",class:"po-logistics-toolbar__phone",onKeyup:Xe(Ht,["enter"])},null,8,["modelValue"]),s(F,{modelValue:Re.value,"onUpdate:modelValue":e[25]||(e[25]=ue=>Re.value=ue),placeholder:"承运商",class:"po-logistics-toolbar__carrier"},{default:l(()=>[s(y,{label:"自动识别",value:"auto"}),s(y,{label:"顺丰速运",value:"sf"}),s(y,{label:"京东快递",value:"jd"}),s(y,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"]),T((o(),g(w,{type:"primary",plain:"",size:"default",loading:pt.value,class:"po-logistics-toolbar__btn",onClick:Ht},{icon:l(()=>[s(u,null,{default:l(()=>[s(R(Gn))]),_:1})]),default:l(()=>[e[162]||(e[162]=p(" 刷新轨迹 ",-1))]),_:1},8,["loading"])),[[q,["tcm.prescriptionOrder/logisticsTrace"]]]),a("div",pu,[s(na,{href:Bt.value.sf,target:"_blank",type:"primary",underline:!1,class:"text-[12px]"},{default:l(()=>[...e[163]||(e[163]=[p("顺丰官网",-1)])]),_:1},8,["href"]),s(na,{href:Bt.value.jd,target:"_blank",type:"primary",underline:!1,class:"text-[12px]"},{default:l(()=>[...e[164]||(e[164]=[p("京东物流",-1)])]),_:1},8,["href"]),s(na,{href:Bt.value.jt,target:"_blank",type:"primary",underline:!1,class:"text-[12px]"},{default:l(()=>[...e[165]||(e[165]=[p("极兔",-1)])]),_:1},8,["href"])])]),String(((i=H.value)==null?void 0:i.hint)||"").trim()?(o(),g(le,{key:0,title:String(((P=H.value)==null?void 0:P.hint)||""),type:"info",closable:!1,class:"mb-4","show-icon":""},null,8,["title"])):v("",!0),pt.value&&!H.value?(o(),m("div",cu,[s(u,{class:"is-loading mr-1"},{default:l(()=>[s(R(Wn))]),_:1}),e[166]||(e[166]=p("正在加载物流轨迹... ",-1))])):H.value?(o(),m("div",_u,[(N=H.value)!=null&&N.state_text?(o(),m("div",mu,[a("span",fu,"状态:"+r(H.value.state_text),1),(j=H.value)!=null&&j.carrier_label?(o(),g(d,{key:0,size:"small",type:"info"},{default:l(()=>[p(r(H.value.carrier_label),1)]),_:1})):v("",!0),(Ye=H.value)!=null&&Ye.source?(o(),m("span",vu," ["+r(H.value.source==="database"?"数据库缓存":"API拉取")+"] ",1)):v("",!0),(Qe=H.value)!=null&&Qe.last_query_time?(o(),m("span",gu," 更新时间:"+r(H.value.last_query_time),1)):v("",!0)])):v("",!0),Pa.value.length?(o(),g(ts,{key:1,class:"mt-2 pl-2"},{default:l(()=>[(o(!0),m($,null,B(Pa.value,(ue,ye)=>(o(),g(es,{key:ye,type:ye===0?"primary":"info",hollow:ye!==0,timestamp:ue.time,placement:"top"},{default:l(()=>[a("span",{class:I(ye===0?"text-gray-800 font-medium":"text-gray-500")},r(ue.context),3)]),_:2},1032,["type","hollow","timestamp"]))),128))]),_:1})):(o(),g(re,{key:2,description:"暂无轨迹节点记录","image-size":64}))])):v("",!0)]}),_:1})):v("",!0),T((o(),g(n,{shadow:"never",class:"po-panel border-gray-100 mt-4"},{header:l(()=>[...e[168]||(e[168]=[a("span",{class:"font-medium text-[15px]"},"操作日志",-1)])]),default:l(()=>[he.value.length?(o(),g(ts,{key:0,class:"mt-2 pl-2"},{default:l(()=>[(o(!0),m($,null,B(he.value,(i,P)=>(o(),g(es,{key:i.id,type:P===0?"primary":"info",hollow:P!==0,timestamp:me(i.create_time),placement:"top"},{default:l(()=>[a("div",yu,[a("span",bu,r(i.admin_name),1),s(d,{size:"small",type:"info"},{default:l(()=>[p(r(Xs(i.action)),1)]),_:2},1024)]),a("span",{class:I(P===0?"text-gray-800 font-medium":"text-gray-500")},r(i.summary),3)]),_:2},1032,["type","hollow","timestamp"]))),128))]),_:1})):(o(),g(re,{key:1,description:"暂无操作日志","image-size":64}))]),_:1})),[[q,["tcm.prescriptionOrder/logs"]]])])):v("",!0)]),_:1},8,["modelValue"]),s(ce,{modelValue:$e.value,"onUpdate:modelValue":e[29]||(e[29]=i=>$e.value=i),title:"修改订单金额",width:"92%","destroy-on-close":"","close-on-click-modal":!1,onClosed:sl},{footer:l(()=>[s(w,{onClick:e[28]||(e[28]=i=>$e.value=!1)},{default:l(()=>[...e[170]||(e[170]=[p("取消",-1)])]),_:1}),s(w,{type:"primary",loading:qt.value,onClick:Ta},{default:l(()=>[...e[171]||(e[171]=[p(" 确认修改 ",-1)])]),_:1},8,["loading"])]),default:l(()=>[s(U,{ref_key:"updateAmountFormRef",ref:ct,model:ie,rules:Qs,"label-width":"84px",onSubmit:Tt(Ta,["prevent"])},{default:l(()=>[s(f,{label:"当前金额"},{default:l(()=>{var i;return[a("div",xu,"¥"+r(de((i=c.value)==null?void 0:i.amount)),1)]}),_:1}),s(f,{label:"新金额",prop:"amount"},{default:l(()=>[s(Ce,{modelValue:ie.amount,"onUpdate:modelValue":e[27]||(e[27]=i=>ie.amount=i),min:.01,step:.01,precision:2,"controls-position":"right",class:"w-full",placeholder:"请输入新金额"},null,8,["modelValue"])]),_:1}),e[169]||(e[169]=a("div",{class:"text-xs text-gray-400 pl-[84px] -mt-1 leading-relaxed"}," 已完成或已取消订单不可修改。提交成功后会刷新详情与操作日志。 ",-1))]),_:1},8,["model"])]),_:1},8,["modelValue"]),s(ce,{modelValue:fe.value,"onUpdate:modelValue":e[50]||(e[50]=i=>fe.value=i),title:"编辑业务订单",width:"96%",top:"2vh","close-on-click-modal":!1,"destroy-on-close":"",class:"create-order-dialog create-order-dialog--h5",onClosed:pl},{footer:l(()=>[a("div",ed,[a("div",td,[a("span",ad,"第 "+r(L.value+1)+" / 3 步",1),L.value===2&&M.value>0?(o(),m("span",sd," 订单金额与关联支付单合计须 ≥ ¥"+r(de(M.value)),1)):v("",!0)]),a("div",ld,[s(w,{size:"large",onClick:e[49]||(e[49]=i=>fe.value=!1)},{default:l(()=>[...e[184]||(e[184]=[p("取消",-1)])]),_:1}),L.value>0?(o(),g(w,{key:0,size:"large",onClick:cl},{default:l(()=>[...e[185]||(e[185]=[p("上一步",-1)])]),_:1})):v("",!0),L.value<2?(o(),g(w,{key:1,type:"primary",size:"large",onClick:_l},{default:l(()=>[...e[186]||(e[186]=[p(" 下一步 ",-1)])]),_:1})):v("",!0),L.value===2?(o(),g(w,{key:2,type:"primary",size:"large",loading:Yt.value,onClick:fl},{default:l(()=>[...e[187]||(e[187]=[p(" 确认保存 ",-1)])]),_:1},8,["loading"])):v("",!0)])])]),default:l(()=>[T((o(),m("div",ku,[se.value?(o(),m("div",hu,[a("div",wu,[e[172]||(e[172]=a("span",{class:"create-order-rx-card__badge"},"关联处方",-1)),a("div",Vu,[a("span",Su,"#"+r(se.value.id),1),se.value.sn?(o(),m("span",Nu,r(se.value.sn),1)):v("",!0),a("span",Cu,r(se.value.patient_name||"—"),1)])]),s(as,{content:Ra.value,placement:"bottom","show-after":300},{default:l(()=>[a("div",Pu,r(Ra.value),1)]),_:1},8,["content"])])):v("",!0),s(We,{active:L.value,"finish-status":"success","align-center":"",class:"create-order-steps"},{default:l(()=>[s(oe,{title:"患者与收货",description:"诊单与物流地址"}),s(oe,{title:"服务与支付单",description:"套餐与关联收款"}),s(oe,{title:"金额与确认",description:"费用与备注"})]),_:1},8,["active"]),a("p",Au,r(il.value),1),s(U,{ref_key:"editFormRef",ref:we,model:_,rules:dl.value,"label-width":"108px",class:"create-order-form"},{default:l(()=>[T(a("div",Tu,[s(pe,{gutter:20},{default:l(()=>[s(E,{span:12},{default:l(()=>[s(f,{label:"收货人",prop:"recipient_name"},{default:l(()=>[s(k,{modelValue:_.recipient_name,"onUpdate:modelValue":e[30]||(e[30]=i=>_.recipient_name=i),maxlength:"50",placeholder:"姓名"},null,8,["modelValue"])]),_:1})]),_:1}),s(E,{span:12},{default:l(()=>[s(f,{label:"收货手机",prop:"recipient_phone"},{default:l(()=>[s(k,{modelValue:_.recipient_phone,"onUpdate:modelValue":e[31]||(e[31]=i=>_.recipient_phone=i),maxlength:"20",placeholder:"物流联系"},null,8,["modelValue"])]),_:1})]),_:1}),s(E,{span:24},{default:l(()=>[s(f,{label:"省市区",prop:"region"},{default:l(()=>[s(Kl,{modelValue:_.region,"onUpdate:modelValue":e[32]||(e[32]=i=>_.region=i),options:Ze.value,props:{emitPath:!0},placeholder:"省 / 市 / 区",clearable:"",filterable:"",class:"w-full"},null,8,["modelValue","options"])]),_:1})]),_:1}),s(E,{span:24},{default:l(()=>[s(f,{label:"详细地址",prop:"shipping_address"},{default:l(()=>[s(k,{modelValue:_.shipping_address,"onUpdate:modelValue":e[33]||(e[33]=i=>_.shipping_address=i),type:"textarea",rows:3,placeholder:"街道、小区、门牌号等详细地址",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})],512),[[At,L.value===0]]),T(a("div",Ou,[_e.value?(o(),g(pe,{key:0,gutter:20,class:"mb-1"},{default:l(()=>[s(E,{span:24},{default:l(()=>[a("div",Ru,[e[175]||(e[175]=a("span",{class:"text-sm font-medium text-gray-700 mr-1"},"处方",-1)),_.prescription_id?(o(),g(w,{key:0,type:"primary",size:"small",link:"",onClick:Bl},{default:l(()=>[...e[173]||(e[173]=[p(" 详细 ",-1)])]),_:1})):v("",!0),_.id?(o(),g(w,{key:1,type:"warning",size:"small",link:"",loading:Se.value,icon:R(oa),onClick:xl},{default:l(()=>[...e[174]||(e[174]=[p(" 测试价格 ",-1)])]),_:1},8,["loading","icon"])):v("",!0),a("span",Eu,"ID: "+r(_.prescription_id||"—"),1)]),a("div",$u,[Ea.value.length?(o(),m("div",Du,[e[176]||(e[176]=a("div",{class:"text-gray-500"},"创建人所属部门",-1)),(o(!0),m($,null,B(Ea.value,(i,P)=>(o(),m("div",{key:P,class:"pl-0 min-w-0"},[i.length?(o(),g(Ql,{key:0,class:"po-diagnosis-creator-dept-breadcrumb text-[13px] leading-relaxed",separator:"/"},{default:l(()=>[(o(!0),m($,null,B(i,(N,j)=>(o(),g(Yl,{key:j},{default:l(()=>[a("span",zu,r(N),1)]),_:2},1024))),128))]),_:2},1024)):v("",!0)]))),128))])):(o(),m("div",Uu,"创建人所属部门:—"))])]),_:1}),s(E,{xs:24,sm:8},{default:l(()=>[s(f,{label:"复诊"},{default:l(()=>[s(Jl,{modelValue:_.is_follow_up,"onUpdate:modelValue":e[34]||(e[34]=i=>_.is_follow_up=i),"active-value":1,"inactive-value":0},null,8,["modelValue"])]),_:1})]),_:1}),s(E,{xs:24,sm:8},{default:l(()=>[s(f,{label:"服用天数",class:"create-order-form-item--inline-num"},{default:l(()=>[a("div",Fu,[s(Ce,{modelValue:_.medication_days,"onUpdate:modelValue":e[35]||(e[35]=i=>_.medication_days=i),min:1,max:999,step:1,"controls-position":"right",class:"flex-1 min-w-0"},null,8,["modelValue"]),e[177]||(e[177]=a("span",{class:"create-order-unit-suffix"},"天",-1))])]),_:1})]),_:1}),s(E,{xs:24,sm:8},{default:l(()=>[s(f,{label:"上次医生"},{default:l(()=>[s(k,{modelValue:_.prev_staff,"onUpdate:modelValue":e[36]||(e[36]=i=>_.prev_staff=i),placeholder:"可选",maxlength:"100"},null,8,["modelValue"])]),_:1})]),_:1}),s(E,{span:12},{default:l(()=>[s(f,{label:Sa.value,prop:"dose_count"},{default:l(()=>[s(Ce,{modelValue:_.dose_count,"onUpdate:modelValue":e[37]||(e[37]=i=>_.dose_count=i),min:1,placeholder:Sa.value,class:"w-full"},null,8,["modelValue","placeholder"])]),_:1},8,["label"])]),_:1}),s(E,{span:12},{default:l(()=>[s(f,{label:"剂量单位",prop:"dose_unit"},{default:l(()=>[s(F,{modelValue:_.dose_unit,"onUpdate:modelValue":e[38]||(e[38]=i=>_.dose_unit=i),placeholder:"请选择",class:"w-full"},{default:l(()=>[s(y,{label:"剂",value:"剂"}),s(y,{label:"丸",value:"丸"}),s(y,{label:"袋",value:"袋"}),s(y,{label:"盒",value:"盒"}),s(y,{label:"瓶",value:"瓶"}),s(y,{label:"膏",value:"膏"}),s(y,{label:"贴",value:"贴"})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1})):v("",!0),s(pe,{gutter:20},{default:l(()=>[s(E,{span:12},{default:l(()=>[s(f,{label:"服务渠道"},{default:l(()=>[s(k,{modelValue:_.service_channel,"onUpdate:modelValue":e[39]||(e[39]=i=>_.service_channel=i),placeholder:"可选",maxlength:"100"},null,8,["modelValue"])]),_:1})]),_:1}),s(E,{span:12},{default:l(()=>[s(f,{label:"服务套餐"},{default:l(()=>[s(F,{modelValue:_.service_package,"onUpdate:modelValue":e[40]||(e[40]=i=>_.service_package=i),multiple:"","collapse-tags":"","collapse-tags-tooltip":"",placeholder:"请选择服务套餐",clearable:"",class:"w-full"},{default:l(()=>[(o(!0),m($,null,B(Ae.value,i=>(o(),g(y,{key:i.value,label:i.name,value:i.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1}),s(E,{span:24},{default:l(()=>[s(f,{label:"物流设置"},{default:l(()=>[a("div",ju,[s(F,{modelValue:_.express_company,"onUpdate:modelValue":e[41]||(e[41]=i=>_.express_company=i),placeholder:"承运商",class:"w-[140px] shrink-0"},{default:l(()=>[s(y,{label:"自动识别",value:"auto"}),s(y,{label:"顺丰速运",value:"sf"}),s(y,{label:"京东快递",value:"jd"}),s(y,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"]),s(k,{modelValue:_.tracking_number,"onUpdate:modelValue":e[42]||(e[42]=i=>_.tracking_number=i),maxlength:"80",placeholder:"快递单号",class:"flex-1 min-w-0"},null,8,["modelValue"])])]),_:1})]),_:1}),s(E,{span:24},{default:l(()=>[s(f,{label:"关联支付单",prop:"pay_order_ids",required:M.value>0},{default:l(()=>[s(F,{modelValue:_.pay_order_ids,"onUpdate:modelValue":e[43]||(e[43]=i=>_.pay_order_ids=i),class:"w-full",multiple:"","collapse-tags":"","collapse-tags-tooltip":"",placeholder:M.value>0?"请至少选择一笔本诊单支付单(已开启门槛)":"多选本诊单支付单(可选)",loading:Qt.value},{default:l(()=>[(o(!0),m($,null,B(ze.value,i=>(o(),g(y,{key:i.id,label:`${i.order_no} · ¥${i.amount} · ${Jt(i.order_type)}`,value:i.id,class:"!h-auto py-1.5"},{default:l(()=>[a("div",Iu,[a("div",Lu,[a("span",qu,r(i.order_no),1),a("span",Mu,"¥"+r(i.amount),1)]),a("div",Bu,[a("span",Hu,[p(r(Jt(i.order_type)),1),i.remark?(o(),m($,{key:0},[p(" · "+r(i.remark),1)],64)):v("",!0)]),a("span",Gu,r(String(i.create_time||"").substring(0,16)),1)])])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","loading"]),a("div",Wu,[M.value>0?(o(),m($,{key:0},[a("span",Ku,"当前已开启关联支付门槛(¥"+r(de(M.value))+"),须至少选择一笔支付单。",1),e[178]||(e[178]=a("span",{class:"mx-1"},null,-1))],64)):v("",!0),e[180]||(e[180]=p(" 主管/本诊单医助可见全部支付单;否则仅本人收款单。已被占用的支付单不列出。 ",-1)),s(as,{content:"主管或本诊单医助可见该诊单全部支付单(待支付/已支付),否则仅本人创建的收款单。已被其他有效业务订单占用的支付单不会出现在此列表。",placement:"top"},{default:l(()=>[...e[179]||(e[179]=[a("span",{class:"text-primary cursor-help ml-0.5"},"详情",-1)])]),_:1})])]),_:1},8,["required"])]),_:1})]),_:1})],512),[[At,L.value===1]]),T(a("div",Yu,[a("div",{class:I(["create-order-deposit-bar",Xt.value>=M.value?"is-ok":"is-warn"])},[a("div",Qu,[e[181]||(e[181]=a("span",{class:"create-order-deposit-bar__label"},"定金门槛",-1)),a("strong",null,"¥"+r(de(M.value)),1),a("span",Ju,r(M.value>0?"须 ≥ 此值":"未设置"),1)]),e[183]||(e[183]=a("div",{class:"create-order-deposit-bar__sep"},null,-1)),a("div",Xu,[e[182]||(e[182]=a("span",{class:"create-order-deposit-bar__label"},"已选收款",-1)),a("strong",null,"¥"+r(de(Xt.value)),1),a("span",Zu,r(Xt.value>=M.value?"已达标":"未达标"),1)])],2),s(pe,{gutter:20,class:"create-order-step-panel__row-after-bar"},{default:l(()=>[s(E,{span:12},{default:l(()=>[s(f,{label:"费用类别",prop:"fee_type"},{default:l(()=>[s(F,{modelValue:_.fee_type,"onUpdate:modelValue":e[44]||(e[44]=i=>_.fee_type=i),placeholder:"请选择",class:"w-full"},{default:l(()=>[s(y,{label:"挂号费",value:1}),s(y,{label:"问诊费",value:2}),s(y,{label:"药品费用",value:3}),s(y,{label:"首付费用",value:4}),s(y,{label:"尾款费用",value:5}),s(y,{label:"其他费用",value:6}),s(y,{label:"全部费用",value:7}),s(y,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1})]),_:1}),s(E,{span:12},{default:l(()=>[s(f,{label:"总金额",prop:"amount"},{default:l(()=>[s(Ce,{modelValue:_.amount,"onUpdate:modelValue":e[45]||(e[45]=i=>_.amount=i),min:ol.value,step:.01,precision:2,class:"w-full","controls-position":"right",placeholder:"元"},null,8,["modelValue","min"])]),_:1})]),_:1}),T((o(),g(E,{span:12},{default:l(()=>[s(f,{label:"内部成本"},{default:l(()=>[s(Ce,{modelValue:_.internal_cost,"onUpdate:modelValue":e[46]||(e[46]=i=>_.internal_cost=i),min:0,step:.01,precision:2,class:"w-full","controls-position":"right",placeholder:"财务可见"},null,8,["modelValue"])]),_:1})]),_:1})),[[q,["finance.account_log/lists"]]]),s(E,{span:24},{default:l(()=>[T((o(),g(f,{label:"药房备注"},{default:l(()=>[s(k,{modelValue:_.remark_extra,"onUpdate:modelValue":e[47]||(e[47]=i=>_.remark_extra=i),type:"textarea",rows:3,placeholder:"选填,对内说明",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})),[[q,["tcm.prescriptionOrder/editRemarkExtra"]]]),s(f,{label:"医助备注"},{default:l(()=>[s(k,{modelValue:_.remark_assistant,"onUpdate:modelValue":e[48]||(e[48]=i=>_.remark_assistant=i),type:"textarea",rows:3,placeholder:"选填,医助对内说明",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})],512),[[At,L.value===2]])]),_:1},8,["model","rules"])])),[[ge,Kt.value]])]),_:1},8,["modelValue"]),s(ce,{modelValue:Ue.value,"onUpdate:modelValue":e[55]||(e[55]=i=>Ue.value=i),title:vl.value,width:"92%","destroy-on-close":"",class:"po-h5-dialog",onClosed:e[56]||(e[56]=i=>Ve.value="")},{footer:l(()=>[s(w,{onClick:e[52]||(e[52]=i=>Ue.value=!1)},{default:l(()=>[...e[189]||(e[189]=[p("取消",-1)])]),_:1}),s(w,{type:"primary",loading:mt.value,onClick:e[53]||(e[53]=i=>Da("approve"))},{default:l(()=>[...e[190]||(e[190]=[p("同意通过",-1)])]),_:1},8,["loading"]),s(w,{type:"danger",loading:mt.value,onClick:e[54]||(e[54]=i=>Da("reject"))},{default:l(()=>[...e[191]||(e[191]=[p("驳回阻止",-1)])]),_:1},8,["loading"])]),default:l(()=>[Fe.value&&Fe.value.completion_request===1?(o(),g(le,{key:0,title:"完单申请",type:"warning",closable:!1,"show-icon":"",class:"mb-3"},{default:l(()=>[a("div",nd,[e[188]||(e[188]=a("div",{class:"font-medium mb-1"},"该订单已申请完成",-1)),a("div",id," 申请人:"+r(Fe.value.completion_request_by_name||"—"),1),a("div",rd," 申请时间:"+r(me(Fe.value.completion_request_time)),1)])]),_:1})):v("",!0),e[192]||(e[192]=a("p",{class:"text-[13px] text-gray-500 mb-3 bg-gray-50/80 border border-gray-100 p-2 rounded"},"驳回时必须填写意见;通过时意见选填。",-1)),s(k,{modelValue:Ve.value,"onUpdate:modelValue":e[51]||(e[51]=i=>Ve.value=i),type:"textarea",rows:4,maxlength:"500","show-word-limit":"",placeholder:"在此输入审核意见..."},null,8,["modelValue"])]),_:1},8,["modelValue","title"]),s(ce,{modelValue:je.value,"onUpdate:modelValue":e[60]||(e[60]=i=>je.value=i),title:"修改快递单号",width:"92%","destroy-on-close":"",class:"po-h5-dialog","close-on-click-modal":!1},{footer:l(()=>[s(w,{onClick:e[59]||(e[59]=i=>je.value=!1)},{default:l(()=>[...e[194]||(e[194]=[p("取消",-1)])]),_:1}),s(w,{type:"primary",loading:vt.value,onClick:Fa},{default:l(()=>[...e[195]||(e[195]=[p("保存单号",-1)])]),_:1},8,["loading"])]),default:l(()=>[T((o(),g(U,{"label-width":"90px",class:"pr-2",onSubmit:Tt(Fa,["prevent"])},{default:l(()=>[s(f,{label:"承运商"},{default:l(()=>[s(F,{modelValue:Y.express_company,"onUpdate:modelValue":e[57]||(e[57]=i=>Y.express_company=i),class:"w-full",placeholder:"选择承运商"},{default:l(()=>[s(y,{label:"自动识别",value:"auto"}),s(y,{label:"顺丰速运",value:"sf"}),s(y,{label:"京东快递",value:"jd"}),s(y,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"])]),_:1}),s(f,{label:"快递单号"},{default:l(()=>[s(k,{modelValue:Y.tracking_number,"onUpdate:modelValue":e[58]||(e[58]=i=>Y.tracking_number=i),maxlength:"80",placeholder:"请输入快递单号",clearable:"",autofocus:""},null,8,["modelValue"])]),_:1}),e[193]||(e[193]=a("div",{class:"text-xs text-gray-400 pl-[90px] -mt-1 leading-relaxed"}," 仅更新快递信息,其他字段不受影响。 ",-1))]),_:1})),[[ge,vt.value]])]),_:1},8,["modelValue"]),s(ce,{modelValue:Le.value,"onUpdate:modelValue":e[65]||(e[65]=i=>Le.value=i),title:"确认发货",width:"92%","destroy-on-close":"",class:"po-h5-dialog","close-on-click-modal":!1},{footer:l(()=>[s(w,{onClick:e[64]||(e[64]=i=>Le.value=!1)},{default:l(()=>[...e[198]||(e[198]=[p("取消",-1)])]),_:1}),s(w,{type:"primary",loading:gt.value,onClick:ja},{default:l(()=>[...e[199]||(e[199]=[p(" 确认发货 ",-1)])]),_:1},8,["loading"])]),default:l(()=>[s(le,{title:"确认后订单状态将变更为「已发货」,请核对快递信息无误。",type:"warning",closable:!1,"show-icon":"",class:"mb-4"}),T((o(),g(U,{"label-width":"90px",class:"pr-2",onSubmit:Tt(ja,["prevent"])},{default:l(()=>[s(f,{label:"发货方式"},{default:l(()=>[s(ra,{modelValue:Q.ship_mode,"onUpdate:modelValue":e[61]||(e[61]=i=>Q.ship_mode=i)},{default:l(()=>[s(Pe,{label:"gancao"},{default:l(()=>[...e[196]||(e[196]=[p("甘草药方发",-1)])]),_:1}),s(Pe,{label:"direct"},{default:l(()=>[...e[197]||(e[197]=[p("药房直发",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),s(f,{label:"承运商"},{default:l(()=>[s(F,{modelValue:Q.express_company,"onUpdate:modelValue":e[62]||(e[62]=i=>Q.express_company=i),class:"w-full"},{default:l(()=>[s(y,{label:"自动识别",value:"auto"}),s(y,{label:"顺丰速运",value:"sf"}),s(y,{label:"京东快递",value:"jd"}),s(y,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"])]),_:1}),s(f,{label:"快递单号"},{default:l(()=>[s(k,{modelValue:Q.tracking_number,"onUpdate:modelValue":e[63]||(e[63]=i=>Q.tracking_number=i),maxlength:"80",placeholder:"请输入快递单号",clearable:""},null,8,["modelValue"])]),_:1})]),_:1})),[[ge,gt.value]])]),_:1},8,["modelValue"]),s(ce,{modelValue:qe.value,"onUpdate:modelValue":e[68]||(e[68]=i=>qe.value=i),title:"完成订单",width:"92%","close-on-click-modal":!1,"destroy-on-close":"",class:"po-h5-dialog",onClosed:e[69]||(e[69]=i=>ta.value=0)},{footer:l(()=>[s(w,{onClick:e[67]||(e[67]=i=>qe.value=!1)},{default:l(()=>[...e[200]||(e[200]=[p("取消",-1)])]),_:1}),s(w,{type:"primary",loading:aa.value,onClick:Sl},{default:l(()=>[...e[201]||(e[201]=[p(" 确定 ",-1)])]),_:1},8,["loading"])]),default:l(()=>[e[202]||(e[202]=a("p",{class:"text-sm text-gray-600 mb-3"},"请选择本单结案状态。选择「已完成」时,实付将按已关联的支付单金额汇总。",-1)),s(F,{modelValue:bt.value,"onUpdate:modelValue":e[66]||(e[66]=i=>bt.value=i),class:"w-full",placeholder:"请选择"},{default:l(()=>[(o(),m($,null,B(Vl,i=>s(y,{key:i.value,label:i.label,value:i.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),_:1},8,["modelValue"]),s(ce,{modelValue:Me.value,"onUpdate:modelValue":e[77]||(e[77]=i=>Me.value=i),title:"补齐支付单",width:"94%","close-on-click-modal":!1,"destroy-on-close":"",class:"po-h5-dialog",onClosed:e[78]||(e[78]=i=>{var P;return(P=kt.value)==null?void 0:P.clearValidate()})},{footer:l(()=>[s(w,{onClick:e[76]||(e[76]=i=>Me.value=!1)},{default:l(()=>[...e[209]||(e[209]=[p("取消",-1)])]),_:1}),s(w,{type:"primary",loading:xt.value,onClick:Pl},{default:l(()=>[...e[210]||(e[210]=[p("确认新增",-1)])]),_:1},8,["loading"])]),default:l(()=>[s(le,{title:"可以手动创建新支付单,或关联已存在但未绑定的支付单。",type:"info",closable:!1,"show-icon":"",class:"mb-4"}),T((o(),g(U,{ref_key:"addPayOrderFormRef",ref:kt,model:O,rules:Nl,"label-width":"90px",class:"pr-2"},{default:l(()=>[s(f,{label:"添加方式",prop:"add_mode"},{default:l(()=>[s(ra,{modelValue:O.add_mode,"onUpdate:modelValue":e[70]||(e[70]=i=>O.add_mode=i)},{default:l(()=>[s(Pe,{value:"create"},{default:l(()=>[...e[203]||(e[203]=[p("手动创建",-1)])]),_:1}),s(Pe,{value:"link"},{default:l(()=>[...e[204]||(e[204]=[p("关联已有",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),O.add_mode==="create"?(o(),m($,{key:0},[s(f,{label:"费用类别",prop:"order_type"},{default:l(()=>[s(F,{modelValue:O.order_type,"onUpdate:modelValue":e[71]||(e[71]=i=>O.order_type=i),class:"w-full"},{default:l(()=>[s(y,{label:"挂号费",value:1}),s(y,{label:"问诊费",value:2}),s(y,{label:"药品费用",value:3}),s(y,{label:"首付费用",value:4}),s(y,{label:"尾款费用",value:5}),s(y,{label:"其他费用",value:6}),s(y,{label:"全部费用",value:7}),s(y,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1}),s(f,{label:"支付金额",prop:"pay_amount"},{default:l(()=>[s(Ce,{modelValue:O.pay_amount,"onUpdate:modelValue":e[72]||(e[72]=i=>O.pay_amount=i),min:.01,step:.01,precision:2,class:"w-full",placeholder:"请输入支付金额(元)"},null,8,["modelValue"])]),_:1}),s(f,{label:"备注",prop:"pay_remark"},{default:l(()=>[s(k,{modelValue:O.pay_remark,"onUpdate:modelValue":e[73]||(e[73]=i=>O.pay_remark=i),type:"textarea",rows:3,maxlength:"200","show-word-limit":"",placeholder:"支付说明(选填)"},null,8,["modelValue"])]),_:1})],64)):(o(),g(f,{key:1,label:"选择支付单",prop:"link_pay_order_id"},{default:l(()=>[s(F,{modelValue:O.link_pay_order_ids,"onUpdate:modelValue":e[74]||(e[74]=i=>O.link_pay_order_ids=i),class:"w-full",placeholder:"选择未绑定的支付单(可多选)",loading:sa.value,multiple:"","collapse-tags":"","collapse-tags-tooltip":""},{default:l(()=>[(o(!0),m($,null,B(ht.value,i=>(o(),g(y,{key:i.id,label:`${i.order_no} · ¥${i.amount} · ${Jt(i.order_type)}`,value:i.id},{default:l(()=>[a("div",od,[a("span",ud,r(i.order_no),1),a("span",dd,"¥"+r(i.amount),1)])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","loading"]),e[205]||(e[205]=a("div",{class:"text-xs text-gray-500 mt-1.5"}," 仅显示本诊单下未被其他业务订单占用的支付单,可同时选择多个 ",-1))]),_:1})),s(f,{label:"完单申请"},{default:l(()=>[s(ra,{modelValue:O.completion_request,"onUpdate:modelValue":e[75]||(e[75]=i=>O.completion_request=i)},{default:l(()=>[s(Pe,{value:0},{default:l(()=>[...e[206]||(e[206]=[p("不申请",-1)])]),_:1}),s(Pe,{value:1},{default:l(()=>[...e[207]||(e[207]=[p("申请完成订单",-1)])]),_:1})]),_:1},8,["modelValue"]),e[208]||(e[208]=a("div",{class:"text-xs text-gray-400 mt-1"},' 选择"申请完成订单"后,审核人员可在支付审核时看到此申请 ',-1))]),_:1})]),_:1},8,["model"])),[[ge,xt.value]])]),_:1},8,["modelValue"]),s(ce,{modelValue:De.value,"onUpdate:modelValue":e[82]||(e[82]=i=>De.value=i),title:"修改处方患者信息",width:"92%","close-on-click-modal":!1,"destroy-on-close":"",class:"po-h5-dialog",onClosed:al},{footer:l(()=>[s(w,{onClick:e[81]||(e[81]=i=>De.value=!1)},{default:l(()=>[...e[211]||(e[211]=[p("取消",-1)])]),_:1}),s(w,{type:"primary",loading:Gt.value,onClick:nl},{default:l(()=>[...e[212]||(e[212]=[p(" 保存 ",-1)])]),_:1},8,["loading"])]),default:l(()=>[s(U,{ref_key:"patchRxPatientFormRef",ref:Wt,model:ae,rules:el,"label-width":"96px"},{default:l(()=>[s(f,{label:"患者姓名",prop:"patient_name"},{default:l(()=>[s(k,{modelValue:ae.patient_name,"onUpdate:modelValue":e[79]||(e[79]=i=>ae.patient_name=i),maxlength:"50","show-word-limit":"",placeholder:"与处方笺一致",clearable:""},null,8,["modelValue"])]),_:1}),s(f,{label:"手机",prop:"phone"},{default:l(()=>[s(k,{modelValue:ae.phone,"onUpdate:modelValue":e[80]||(e[80]=i=>ae.phone=i),maxlength:"20",placeholder:"处方登记手机号",clearable:""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),s(ia,{modelValue:wt.value,"onUpdate:modelValue":e[83]||(e[83]=i=>wt.value=i),size:"100%",direction:"btt",class:"po-h5-drawer","close-on-click-modal":!1},{header:l(()=>[a("div",pd,[e[215]||(e[215]=a("span",{class:"text-base font-medium text-gray-800"},"查看处方",-1)),h.value&&!Vt.value?(o(),m("div",cd,[s(w,{size:"small",loading:Ne.value,onClick:Gl},{default:l(()=>[...e[213]||(e[213]=[p(" 下载图片 ",-1)])]),_:1},8,["loading"]),s(w,{size:"small",loading:Ne.value,onClick:Wl},{default:l(()=>[...e[214]||(e[214]=[p(" 下载PDF ",-1)])]),_:1},8,["loading"])])):v("",!0)])]),default:l(()=>[T((o(),m("div",_d,[h.value?(o(),m("div",md,[Number(h.value.void_status)===1?(o(),g(d,{key:0,type:"danger",size:"small"},{default:l(()=>[...e[216]||(e[216]=[p("已作废",-1)])]),_:1})):Number(h.value.business_prescription_audit_rejected)===1?(o(),g(d,{key:1,type:"danger",size:"small"},{default:l(()=>[...e[217]||(e[217]=[p("业务订单已驳回",-1)])]),_:1})):Number(h.value.audit_status)===1?(o(),g(d,{key:2,type:"success",size:"small"},{default:l(()=>[...e[218]||(e[218]=[p("已通过",-1)])]),_:1})):Number(h.value.audit_status)===0?(o(),g(d,{key:3,type:"warning",size:"small"},{default:l(()=>[...e[219]||(e[219]=[p("待审核",-1)])]),_:1})):(o(),g(d,{key:4,type:"danger",size:"small"},{default:l(()=>[...e[220]||(e[220]=[p("已驳回",-1)])]),_:1}))])):v("",!0),h.value&&Number(h.value.void_status)===1?(o(),m("div",fd," 作废人:"+r(h.value.void_by_name||"—")+",作废时间:"+r(Ll(h.value.void_time)),1)):h.value&&Number(h.value.business_prescription_audit_rejected)===1?(o(),m("div",vd,[e[221]||(e[221]=a("div",{class:"font-medium"},"审核状态:已驳回(业务订单·处方审核)",-1)),h.value.business_prescription_audit_remark?(o(),m("div",gd," 驳回意见:"+r(h.value.business_prescription_audit_remark),1)):v("",!0)])):h.value&&Number(h.value.audit_status)===2?(o(),m("div",yd,[e[222]||(e[222]=a("div",{class:"font-medium"},"消费者处方审核:已驳回",-1)),h.value.audit_remark?(o(),m("div",bd,"驳回意见:"+r(h.value.audit_remark),1)):v("",!0)])):v("",!0),h.value?(o(),m("div",{key:4,ref_key:"prescriptionSlipPrintRef",ref:qa,class:"rx-paper"},[e[240]||(e[240]=a("div",{class:"rx-title"},"处方单",-1)),a("div",xd,[e[227]||(e[227]=a("span",{class:"rx-notice-text"}," 服药前请核对姓名、电话、医生等信息以及服法、医嘱等要点 ",-1)),a("div",kd,[a("div",hd,[e[223]||(e[223]=a("span",{class:"rx-meta-label"},"日期",-1)),a("span",wd,r(Rl.value),1)]),a("div",Vd,[e[224]||(e[224]=a("span",{class:"rx-meta-label"},"处方编号",-1)),a("span",Sd,r(El.value),1)]),a("div",Nd,[e[225]||(e[225]=a("span",{class:"rx-meta-label"},"流转编号(挂号)",-1)),a("span",Cd,r($l.value),1)]),Ma.value?(o(),m("div",Pd,[e[226]||(e[226]=a("span",{class:"rx-meta-label"},"业务单号",-1)),a("span",Ad,r(Ma.value),1)])):v("",!0)])]),a("div",Td,[a("div",Od,[a("div",Rd,[e[228]||(e[228]=a("span",{class:"rx-key"},"姓名",-1)),a("span",Ed,r(h.value.patient_name||"—"),1)]),a("div",$d,[e[229]||(e[229]=a("span",{class:"rx-key"},"性别",-1)),a("span",Dd,r(ql(h.value.gender)),1)]),a("div",zd,[e[230]||(e[230]=a("span",{class:"rx-key"},"年龄",-1)),a("span",Ud,r(Ml(h.value.age)),1)]),a("div",Fd,[e[231]||(e[231]=a("span",{class:"rx-key"},"电话",-1)),a("span",jd,r(h.value.phone||h.value.recipient_phone||"—"),1)])]),a("div",Id,[a("div",Ld,[e[232]||(e[232]=a("span",{class:"rx-key"},"收件信息",-1)),a("span",qd,r(Dl.value),1)])]),a("div",Md,[a("div",Bd,[e[233]||(e[233]=a("span",{class:"rx-key"},"临床诊断",-1)),a("span",Hd,r(h.value.clinical_diagnosis||"—"),1)])])]),a("div",Gd,[e[234]||(e[234]=a("div",{class:"rx-watermark"},"药房联",-1)),e[235]||(e[235]=a("div",{class:"rx-rp-head"},[a("div",{class:"rx-rp-label"},"Rp."),a("div",{class:"rx-rp-cols-head"},[a("div",{class:"rx-rp-col-head"},[a("span",null,"用药 (单剂)"),a("span",null,"总量")]),a("div",{class:"rx-rp-col-head"},[a("span",null,"用药 (单剂)"),a("span",null,"总量")])])],-1)),a("div",Wd,[(o(!0),m($,null,B(St.value,(i,P)=>(o(),m("div",{key:P,class:"rx-herb-cell"},[a("span",Kd,r(i.name)+" ("+r(i.dosage)+"克)",1),a("span",Yd,r(Ul(i.dosage))+"克",1)]))),128))])]),a("div",Qd,[a("p",null,"服法:"+r(jl.value),1),Ha.value?(o(),m("p",Jd,"医嘱:"+r(Ha.value),1)):v("",!0),Ga.value?(o(),m("p",Xd,"备注:"+r(Ga.value),1)):v("",!0),Wa.value?(o(),m("p",Zd," 药房备注:"+r(Wa.value),1)):v("",!0),Ka.value?(o(),m("p",ep," 出丸:"+r(Ka.value),1)):v("",!0)]),a("div",tp,[a("div",ap,[a("div",sp,[e[236]||(e[236]=a("div",{class:"rx-bot-label rx-bot-label--doctor"},"医师",-1)),a("div",lp,[h.value.doctor_signature?(o(),m("img",{key:0,src:h.value.doctor_signature,alt:"医师签名",class:"rx-bot-sign-img"},null,8,np)):v("",!0)])]),a("div",ip,[e[237]||(e[237]=a("span",{class:"rx-bot-meta-key"},"类型:",-1)),a("span",rp,r(Fl.value),1)]),a("div",op,[e[238]||(e[238]=a("span",{class:"rx-bot-meta-key"},"天数:",-1)),a("span",up,r(c.value.medication_days!=null&&String(c.value.medication_days).trim()!==""?c.value.medication_days+" 天":"—"),1)]),a("div",dp,[e[239]||(e[239]=a("span",{class:"rx-bot-meta-key"},"剂量:",-1)),a("span",pp,r(zl.value)+"克",1)])])]),e[241]||(e[241]=a("div",{class:"rx-bot-row rx-hospital-row"},[a("div",{class:"rx-hospital-line"},"成都双流甄养堂互联网医院有限公司 联系方式:4001667339"),a("div",{class:"rx-hospital-line"},"地址:四川省成都市双流区黄甲街道黄龙大道二段280号")],-1))],512)):v("",!0),h.value&&(h.value.audit_by_name||h.value.audit_remark)?(o(),m("div",cp,[h.value.audit_by_name?(o(),m("div",_p,[p(" 审核人:"+r(h.value.audit_by_name)+" ",1),h.value.audit_time?(o(),m("span",mp,r(Ya(h.value.audit_time)),1)):v("",!0)])):v("",!0),h.value.audit_remark?(o(),m("div",fp,"审核意见:"+r(h.value.audit_remark),1)):v("",!0)])):v("",!0)])),[[ge,Vt.value]])]),_:1},8,["modelValue"]),s(ia,{modelValue:ft.value,"onUpdate:modelValue":e[84]||(e[84]=i=>ft.value=i),title:"甘草预下单测试结果",size:"100%",direction:"btt",class:"po-h5-drawer","destroy-on-close":""},{default:l(()=>{var i,P;return[z.value?(o(),m("div",vp,[s(n,{shadow:"never",class:"mb-4"},{header:l(()=>[a("div",gp,[e[243]||(e[243]=a("span",{class:"font-semibold"},"价格信息",-1)),s(d,{type:"success"},{default:l(()=>[...e[242]||(e[242]=[p("预下单成功",-1)])]),_:1})])]),default:l(()=>[s(Ke,{column:2,border:""},{default:l(()=>[s(S,{label:"药材成本"},{default:l(()=>{var N;return[a("span",yp,"¥"+r(((N=z.value.fee)==null?void 0:N.m_cost)||"0.00"),1)]}),_:1}),s(S,{label:"制作费"},{default:l(()=>{var N;return[a("span",bp,"¥"+r((((N=z.value.fee)==null?void 0:N.proces_cost)||0).toFixed(2)),1)]}),_:1}),s(S,{label:"物流费"},{default:l(()=>{var N;return[a("span",xp,"¥"+r((((N=z.value.fee)==null?void 0:N.lis_cost)||0).toFixed(2)),1)]}),_:1}),s(S,{label:"总计"},{default:l(()=>[a("div",null,[a("span",kp," ¥"+r(Ua(z.value.fee)),1),T((o(),m("div",hp,[e[244]||(e[244]=p(" 占订单总金额: ",-1)),a("span",wp,r(yl(z.value.fee,z.value.amount)),1),z.value.amount>0?(o(),m("span",Vp,"%(预报价 ÷ 订单金额 × 100)")):v("",!0)])),[[q,["prescription.order/finance"]]])])]),_:1})]),_:1})]),_:1}),s(n,{shadow:"never",class:"mb-4"},{header:l(()=>[...e[245]||(e[245]=[a("span",{class:"font-semibold"},"配送信息",-1)])]),default:l(()=>[s(Ke,{column:2,border:""},{default:l(()=>[s(S,{label:"调配中心"},{default:l(()=>{var N;return[p(r(((N=z.value.result)==null?void 0:N.ds_name)||"—"),1)]}),_:1}),s(S,{label:"调配中心ID"},{default:l(()=>{var N;return[p(r(((N=z.value.result)==null?void 0:N.ds_id)||"—"),1)]}),_:1}),s(S,{label:"服用天数范围",span:2},{default:l(()=>{var N,j,Ye,Qe,ue,ye;return[p(r(((j=(N=z.value.result)==null?void 0:N.take_days)==null?void 0:j.min)||"—")+" - "+r(((Qe=(Ye=z.value.result)==null?void 0:Ye.take_days)==null?void 0:Qe.max)||"—")+" 天 (默认: "+r(((ye=(ue=z.value.result)==null?void 0:ue.take_days)==null?void 0:ye.default)||"—")+" 天) ",1)]}),_:1})]),_:1})]),_:1}),(P=(i=z.value.result)==null?void 0:i.rule_check)!=null&&P.length?(o(),g(n,{key:0,shadow:"never",class:"mb-4"},{header:l(()=>[...e[246]||(e[246]=[a("span",{class:"font-semibold"},"医嘱备注",-1)])]),default:l(()=>[a("div",Sp,r(z.value.result.rule_check.map(N=>N.msg).join(" ")),1)]),_:1})):v("",!0),s(n,{shadow:"never"},{header:l(()=>{var N,j;return[a("div",Np,[e[247]||(e[247]=a("span",{class:"font-semibold"},"药材明细",-1)),a("span",Cp,"共 "+r(((j=(N=z.value.result)==null?void 0:N.m_list)==null?void 0:j.length)||0)+" 味药",1)])]}),default:l(()=>{var N;return[s(Pt,{data:((N=z.value.result)==null?void 0:N.m_list)||[],border:"",stripe:"","max-height":"400"},{default:l(()=>[s(D,{type:"index",label:"#",width:"50",align:"center"}),s(D,{prop:"title",label:"药材名称","min-width":"120","show-overflow-tooltip":""}),s(D,{prop:"quantity",label:"用量",width:"80",align:"right"},{default:l(({row:j})=>[p(r(j.quantity)+r(j.unit),1)]),_:1}),s(D,{prop:"price",label:"单价(元/克)",width:"110",align:"right"},{default:l(({row:j})=>[p(" ¥"+r(Number(j.price).toFixed(4)),1)]),_:1}),s(D,{label:"小计",width:"100",align:"right"},{default:l(({row:j})=>[a("span",Pp," ¥"+r((Number(j.price)*Number(j.quantity)).toFixed(2)),1)]),_:1}),s(D,{prop:"is_available",label:"库存状态",width:"100",align:"center"},{default:l(({row:j})=>[s(d,{type:j.is_available===1?"success":"danger",size:"small"},{default:l(()=>[p(r(j.is_available===1?"有货":"缺货"),1)]),_:2},1032,["type"])]),_:1}),s(D,{prop:"brief",label:"备注","min-width":"120","show-overflow-tooltip":""})]),_:1},8,["data"])]}),_:1}),s(n,{shadow:"never",class:"mt-4"},{header:l(()=>[...e[248]||(e[248]=[a("span",{class:"font-semibold"},"订单信息",-1)])]),default:l(()=>[s(Ke,{column:2,border:""},{default:l(()=>[s(S,{label:"订单号",span:2},{default:l(()=>[p(r(z.value.order_no||"—"),1)]),_:1}),s(S,{label:"剂数"},{default:l(()=>[a("span",Ap,r(z.value.dose_count||"—")+"剂",1)]),_:1}),s(S,{label:"单剂量"},{default:l(()=>{var N;return[a("span",Tp,r(bl((N=z.value.result)==null?void 0:N.m_list))+"克 ",1)]}),_:1})]),_:1})]),_:1})])):v("",!0)]}),_:1},8,["modelValue"]),s(R(rs),{ref_key:"diagnosisViewRef",ref:da},null,512)])}}}),wc=vi(Rp,[["__scopeId","data-v-35ef74bc"]]);export{wc as default}; +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/edit-BG1q_jZS.js","assets/element-plus-DFTWCWyi.js","assets/@vue/runtime-dom-DDAG46FW.js","assets/lodash-D3kF6u-c.js","assets/@vue/runtime-core-C6bnekPw.js","assets/@vue/reactivity-DiY1c2vO.js","assets/@vue/shared-mAAVTE9n.js","assets/@element-plus/icons-vue-HOEUG8sr.js","assets/lodash-es-C2A-Pj28.js","assets/@popperjs/core-C5az9QE8.js","assets/dayjs-DG77mNTn.js","assets/@ctrl/tinycolor-BuyEbX8F.js","assets/async-validator-CFA_igpM.js","assets/normalize-wheel-es-BQoi3Ox2.js","assets/element-plus-C_YxM8bk.css","assets/tcm-BcqaE0lo.js","assets/index-DBREMm_z.js","assets/jspdf-BsthCvR5.js","assets/@babel/runtime-BanGtE2-.js","assets/fflate-_ayOYiT1.js","assets/vue-router-QlpZ4wdW.js","assets/pinia-B8cvXbiZ.js","assets/axios-C80V62Fs.js","assets/@vueuse/core-1S4fJlii.js","assets/@vueuse/shared-Cl3lVqjz.js","assets/css-color-function-DI01JAaZ.js","assets/balanced-match-BdS7OldZ.js","assets/color-B2zxaWkI.js","assets/clone-DBZ6_OiU.js","assets/color-convert-OrFsTA_V.js","assets/color-name-Dju3oUBS.js","assets/color-string-pUQDDJII.js","assets/ms-CzQ2E3wO.js","assets/vue-clipboard3-DByT_rEQ.js","assets/clipboard-CHgxszqY.js","assets/echarts-CNLwa9wG.js","assets/tslib-BDyQ-Jie.js","assets/zrender-DRNXw7y3.js","assets/highlight.js-Bxt7hFFy.js","assets/highlight-BfC0goYb.css","assets/@highlightjs/vue-plugin-C4onkBvW.js","assets/index-3wNXRrXZ.css","assets/perm-Bo9eM8XD.js","assets/DailyMatrix-CZKqLaUg.js","assets/picker-BCRrEZaA.js","assets/index-BwF7vczx.js","assets/index-B3imPWFk.css","assets/index-BiPYXDtP.js","assets/index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js","assets/index-CbfZXeGu.js","assets/index-D0f1Mn00.css","assets/index-CRoZWY-W.js","assets/cos-js-sdk-v5-DSMN0LUT.js","assets/file-BimpIRb_.js","assets/index.vue_vue_type_script_setup_true_lang-x0oL2ShL.js","assets/usePaging-VsbTxSU0.js","assets/index-BYOmK9R5.css","assets/vuedraggable-5bKFmC7X.js","assets/vue-BVs68q8v.js","assets/@vue/compiler-dom-CqayqxS7.js","assets/@vue/compiler-core-CvbQOXIO.js","assets/sortablejs-dsEAUXlE.js","assets/picker-XZbUgFct.css","assets/vue-echarts-BNtg2q_G.js","assets/resize-detector-G6vbKCU7.js","assets/DiagnosisTodoList-CgT2M9eR.js","assets/DiagnosisTodoList-D0SBmTHG.css","assets/blood-thresholds-CJ1fqMjh.js","assets/DailyMatrix-zLBaKfXe.css","assets/CaseRecordList-X66GZZcg.js","assets/CaseRecordList-Cl-c3q7S.css","assets/CallRecordPanel-D709DmJk.js","assets/RecordingPlaybackBlock-COxLgEiR.js","assets/RecordingVideoPlayer-DJ_BP9x7.js","assets/RecordingVideoPlayer-4DegHAwm.css","assets/RecordingPlaybackBlock-B3KYFgvg.css","assets/CallRecordPanel-TsjZtTO8.css","assets/ImChatRecordPanel-C40Ue1e_.js","assets/im-business-message-parse-QKjFLn3X.js","assets/ImChatRecordPanel-aX8zpWRQ.css","assets/AssignLogPanel-B1RENXkE.js","assets/AssignLogPanel-BdKOtd2m.css","assets/AppointmentRecordPanel-DH84Bquy.js","assets/doctor-ul0r578d.js","assets/AppointmentRecordPanel-DC22GDgn.css","assets/NoteTimeline-BzPD6QHw.js","assets/patient-DdWkVUZB.js","assets/NoteTimeline-CCWIpEBQ.css","assets/PatientOrderList-Vzhj0FzC.js","assets/PatientOrderList-iKx_Cn9B.css","assets/index-B91OSiYQ.js","assets/index-DcDP_Tmx.js","assets/medicine-CCdxjQY6.js","assets/index-tfEElgYq.css","assets/diabetes-discovery-display-B_wmGXQJ.js","assets/html2canvas-QH1iLAAe.js","assets/index-DGbIWVjL.css","assets/edit-z2mn_utb.css","assets/TrackingNoteTimeline-B9T8pFso.css"])))=>i.map(i=>d[i]); +import{_ as Xl,E as Zl}from"./jspdf-BsthCvR5.js";import{J as en,d as tn,L as an,T as sn,D as ln,B as nn,C as rn,P as on,Q as un,W as dn,i as pn,R as cn,p as _n,n as mn,o as fn,a9 as vn,K as gn,a6 as yn,a7 as bn,a4 as xn,a5 as kn,aa as hn,ab as wn,M as Vn,N as Sn,_ as Nn,ac as Cn,ad as Pn,e as An,h as Tn,V as On,r as Rn,a8 as En,k as $n,j as Dn,g as zn,G as Un,I as Fn,a as Je}from"./element-plus-DFTWCWyi.js";import{_ as jn}from"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import{w as Xe,q as At,s as Tt}from"./@vue/runtime-dom-DDAG46FW.js";import{k as In,G as Ln,R as qn,V as Mn,N as oa,e as ss,i as Bn,X as Hn,L as Gn,l as Wn}from"./@element-plus/icons-vue-HOEUG8sr.js";import{_ as Kn}from"./index.vue_vue_type_script_setup_true_lang-DPC_NOWM.js";import{g as Yn,a as Qn,k as Jn,q as Xn,r as Zn,s as ei,t as Z,u as ls,v as ti,w as ai,x as si,y as ns,z as li,A as ni,B as ii,C as ri,D as oi,E as ui,F as di,b as pi,p as ua,G as ci}from"./tcm-BcqaE0lo.js";import _i from"./html2canvas-QH1iLAAe.js";import{u as mi,i as A,m as fi,_ as vi}from"./index-DBREMm_z.js";import{d as gi}from"./department-CrUndMAW.js";import{u as yi}from"./usePaging-VsbTxSU0.js";import{f as is,w as bi,b as xi,as as ki,ak as o,I as m,J as a,a as s,aN as l,F as $,ap as B,H as v,aP as T,O as p,G as g,P as hi,A as V,n as Ot}from"./@vue/runtime-core-C6bnekPw.js";import{o as I,Q as r}from"./@vue/shared-mAAVTE9n.js";import{y as R,a as wi,n as x,r as be}from"./@vue/reactivity-DiY1c2vO.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Vi={class:"prescription-order-page prescription-order-list prescription-order-h5 po-h5-app"},Si={class:"flex flex-col gap-3"},Ni={key:0,class:"flex items-center gap-2 flex-wrap"},Ci=["onClick"],Pi={class:"font-medium"},Ai={class:"flex items-center gap-2 flex-wrap"},Ti=["onClick"],Oi={class:"font-medium"},Ri={class:"flex items-center gap-2 flex-wrap"},Ei=["onClick"],$i={class:"font-medium"},Di={class:"flex items-center gap-2 flex-wrap"},zi=["onClick"],Ui={class:"font-medium"},Fi={class:"flex items-center gap-2 flex-wrap"},ji=["onClick"],Ii={class:"font-medium"},Li={class:"po-list-stats grid grid-cols-1 sm:grid-cols-2 gap-4 mb-5"},qi={class:"po-stat-surface po-stat-surface--order relative overflow-hidden rounded-xl border border-slate-200/90 px-5 py-4 shadow-sm"},Mi={class:"relative flex items-start justify-between gap-3"},Bi={class:"flex items-center gap-2 text-slate-500 text-xs font-medium"},Hi={class:"mt-2 space-y-1.5 min-w-0"},Gi={class:"text-2xl sm:text-[28px] font-bold text-sky-700 tabular-nums leading-none"},Wi={class:"flex flex-wrap gap-x-3 gap-y-1 text-xs text-slate-500 tabular-nums"},Ki={class:"text-slate-400"},Yi={class:"stat-icon-wrap h-10 w-10 shrink-0 rounded-lg bg-sky-500/10 flex items-center justify-center text-sky-600"},Qi={class:"relative mt-2 text-xs text-slate-500 leading-relaxed"},Ji={class:"po-stat-surface po-stat-surface--pay relative overflow-hidden rounded-xl border border-slate-200/90 px-5 py-4 shadow-sm"},Xi={class:"relative flex items-start justify-between gap-3"},Zi={class:"flex items-center gap-2 text-slate-500 text-xs font-medium"},er={class:"mt-2 space-y-1.5 min-w-0"},tr={class:"text-2xl sm:text-[28px] font-bold text-emerald-700 tabular-nums leading-none"},ar={class:"flex flex-wrap gap-x-3 gap-y-1 text-xs text-slate-500 tabular-nums"},sr={class:"text-slate-400"},lr={class:"stat-icon-wrap h-10 w-10 shrink-0 rounded-lg bg-emerald-500/10 flex items-center justify-center text-emerald-600"},nr={class:"relative mt-2 text-xs text-slate-500 leading-relaxed"},ir={class:"po-filter-toggle__label"},rr={class:"po-h5-list-head"},or={class:"po-table-toolbar"},ur={class:"po-table-toolbar__title-wrap"},dr={class:"po-table-hint text-gray-400"},pr={class:"po-focus-board"},cr={class:"po-focus-board__value"},_r={class:"po-focus-board__value"},mr={class:"po-focus-board__value"},fr={class:"po-focus-board__value"},vr={class:"po-card-list"},gr=["onClick"],yr={class:"po-card__head"},br={class:"po-card__order-no"},xr={class:"po-card__order-no-main"},kr={class:"po-card__tags"},hr={class:"po-card__id"},wr={key:0,class:"po-card__alert"},Vr={class:"po-card__row"},Sr={class:"po-card__field"},Nr={class:"po-card__value"},Cr={class:"po-card__field po-card__field--right"},Pr={class:"po-card__value po-card__amount"},Ar={class:"po-card__row"},Tr={class:"po-card__field"},Or={class:"po-card__field po-card__field--right"},Rr={class:"po-card__value"},Er={class:"po-card__row"},$r={class:"po-card__field"},Dr={class:"po-card__value"},zr={class:"po-card__field po-card__field--right"},Ur={class:"po-card__value"},Fr={key:1,class:"po-card__row"},jr={class:"po-card__field"},Ir={class:"po-card__value text-orange-600 font-semibold"},Lr={class:"po-card__field po-card__field--right"},qr={class:"po-card__value"},Mr={key:0,class:"text-primary"},Br={key:1},Hr={key:2,class:"po-card__row"},Gr={class:"po-card__field"},Wr={class:"po-card__value"},Kr={key:0,class:"text-primary"},Yr={key:1},Qr={class:"po-card__field po-card__field--right"},Jr={class:"po-card__value po-card__time"},Xr={class:"po-card__tags-row"},Zr={class:"po-card__meta"},eo={key:0},to={key:1},ao={key:2,class:"po-card__meta-time"},so={class:"flex justify-end mt-4"},lo={class:"po-detail-drawer-head flex w-full min-w-0 flex-col gap-2"},no={class:"po-detail-drawer-head-main flex min-w-0 flex-wrap items-center gap-x-2 gap-y-1"},io={key:0,class:"po-detail-drawer-actions flex flex-wrap items-center gap-2"},ro={key:1,class:"po-detail-body px-6 pb-6 h-full overflow-y-auto"},oo={class:"min-w-0 break-words text-sm leading-relaxed"},uo={class:"font-mono font-semibold text-red-700"},po={class:"font-mono font-semibold text-red-700"},co={class:"po-workflow-steps-wrap bg-gray-50/80 border border-gray-100 rounded-lg p-5 mb-5 shadow-sm"},_o={key:0,class:"text-red-500 font-medium"},mo={key:1},fo={key:2,class:"text-green-600"},vo={key:3,class:"text-gray-400"},go={key:0,class:"text-red-500 font-medium"},yo={key:1},bo={key:2,class:"text-green-600"},xo={key:3,class:"text-gray-400"},ko={key:0,class:"text-amber-600 font-medium"},ho={key:1,class:"text-primary font-medium"},wo={key:2},Vo={key:3,class:"text-green-600"},So={key:4,class:"text-red-500 font-medium"},No={class:"flex items-center justify-between mb-1"},Co={class:"stat-value text-red-500 font-bold text-xl"},Po={class:"stat-value text-green-600 font-bold text-xl"},Ao={class:"stat-value text-primary font-bold text-xl"},To={class:"grid grid-cols-1 md:grid-cols-2 gap-4 mb-4"},Oo={key:0,class:"audit-stamp stamp-pass"},Ro={key:1,class:"audit-stamp stamp-reject"},Eo={class:"po-panel-rx-header flex w-full min-w-0 flex-col gap-2"},$o={class:"flex w-full min-w-0 flex-wrap items-center justify-between gap-x-2 gap-y-1"},Do={class:"shrink-0 text-xs text-gray-400 tabular-nums"},zo={key:0,class:"min-w-0 text-xs leading-snug text-gray-500"},Uo={class:"text-primary font-medium"},Fo={class:"flex w-full min-w-0 flex-wrap items-center gap-x-3 gap-y-1"},jo={class:"text-red-500 font-medium"},Io={key:1,class:"ml-2 text-gray-500"},Lo={class:"flex flex-col gap-1.5 text-sm leading-relaxed"},qo={key:0,class:"mt-4"},Mo={class:"flex flex-col gap-4 h-full"},Bo={class:"text-red-500"},Ho={key:0,class:"audit-stamp stamp-pass"},Go={key:1,class:"audit-stamp stamp-reject"},Wo={class:"flex items-center justify-between"},Ko={class:"flex items-center gap-3"},Yo={key:0,class:"text-xs text-gray-500"},Qo={class:"text-primary font-medium"},Jo={class:"text-red-500"},Xo={class:"po-biz-diagnosis-id flex min-w-0 flex-col gap-3 rounded-2xl border border-slate-200/90 bg-gradient-to-br from-slate-50 to-white px-4 py-3.5 shadow-sm sm:flex-row sm:items-center sm:justify-between"},Zo={class:"flex min-w-0 flex-col gap-1"},eu={class:"font-mono text-[1.125rem] font-semibold leading-tight tracking-tight text-slate-900 tabular-nums"},tu={class:"flex flex-wrap items-center gap-x-4 gap-y-1 text-[13px]"},au={class:"font-mono text-primary"},su={class:"text-gray-500"},lu={key:0},nu={key:1,class:"text-gray-500"},iu={key:0,class:"text-xs text-gray-500 mt-1"},ru={key:1,class:"text-gray-400"},ou={class:"po-audit-remark"},uu={class:"po-audit-remark"},du={class:"po-logistics-toolbar flex flex-wrap items-center gap-2 mb-4"},pu={class:"po-logistics-toolbar__links flex items-center gap-3 w-full pt-1"},cu={key:1,class:"py-6 text-center text-sm text-gray-500"},_u={key:2,class:"logistics-content bg-gray-50/50 p-4 rounded-md"},mu={key:0,class:"text-sm mb-4 font-medium flex items-center gap-2"},fu={class:"text-gray-800"},vu={key:1,class:"text-xs text-gray-400 ml-1"},gu={key:2,class:"text-xs text-gray-400"},yu={class:"flex items-center gap-2 mb-1"},bu={class:"font-medium text-[13px]"},xu={class:"text-sm text-gray-700 font-medium"},ku={class:"create-order-dialog__inner"},hu={key:0,class:"create-order-rx-card"},wu={class:"create-order-rx-card__head"},Vu={class:"create-order-rx-card__meta"},Su={class:"create-order-rx-card__id"},Nu={key:0,class:"create-order-rx-card__sn"},Cu={class:"create-order-rx-card__patient"},Pu={class:"create-order-rx-card__herbs"},Au={class:"create-order-step-lead"},Tu={class:"create-order-step-panel"},Ou={class:"create-order-step-panel"},Ru={class:"flex flex-wrap items-center gap-2 pb-2 border-b border-gray-100"},Eu={class:"text-xs text-gray-400"},$u={class:"mt-2 space-y-1.5 text-xs sm:text-sm"},Du={key:0,class:"space-y-1.5"},zu={class:"text-gray-800 break-all"},Uu={key:1,class:"text-gray-400"},Fu={class:"flex items-center gap-1 w-full"},ju={class:"flex gap-2 w-full"},Iu={class:"flex flex-col gap-0.5",style:{"line-height":"normal"}},Lu={class:"flex items-center justify-between"},qu={class:"font-medium text-[13px] text-gray-800"},Mu={class:"text-orange-500 font-medium ml-4"},Bu={class:"flex items-center justify-between text-xs text-gray-400 mt-1"},Hu={class:"truncate pr-2"},Gu={class:"shrink-0"},Wu={class:"create-order-pay-hint text-gray-500"},Ku={class:"text-amber-600 font-medium"},Yu={class:"create-order-step-panel"},Qu={class:"create-order-deposit-bar__cell"},Ju={class:"create-order-deposit-bar__sub"},Xu={class:"create-order-deposit-bar__cell"},Zu={class:"create-order-deposit-bar__sub"},ed={class:"create-order-footer"},td={class:"create-order-footer__hint"},ad={class:"create-order-footer__step"},sd={key:0,class:"create-order-footer__warn"},ld={class:"create-order-footer__actions"},nd={class:"text-sm"},id={class:"text-gray-600"},rd={class:"text-gray-600"},od={class:"flex items-center justify-between"},ud={class:"text-sm"},dd={class:"text-orange-500 font-medium ml-4"},pd={class:"flex items-center justify-between w-full pr-2 gap-3"},cd={key:0,class:"flex items-center gap-2 shrink-0"},_d={class:"rx-wrap"},md={key:0,class:"rx-statusbar"},fd={key:1,class:"rx-status rx-status-danger"},vd={key:2,class:"rx-status rx-status-danger"},gd={key:0,class:"mt-1"},yd={key:3,class:"rx-status rx-status-danger"},bd={key:0,class:"mt-1"},xd={class:"rx-notice"},kd={class:"rx-notice-meta"},hd={class:"rx-meta-item"},wd={class:"rx-meta-value"},Vd={class:"rx-meta-item"},Sd={class:"rx-meta-value"},Nd={class:"rx-meta-item"},Cd={class:"rx-meta-value"},Pd={key:0,class:"rx-meta-item"},Ad={class:"rx-meta-value"},Td={class:"rx-info"},Od={class:"rx-info-row"},Rd={class:"rx-info-cell"},Ed={class:"rx-val"},$d={class:"rx-info-cell"},Dd={class:"rx-val"},zd={class:"rx-info-cell"},Ud={class:"rx-val"},Fd={class:"rx-info-cell"},jd={class:"rx-val"},Id={class:"rx-info-row rx-info-row-full"},Ld={class:"rx-info-cell"},qd={class:"rx-val"},Md={class:"rx-info-row rx-info-row-full"},Bd={class:"rx-info-cell"},Hd={class:"rx-val"},Gd={class:"rx-rp"},Wd={class:"rx-herbs"},Kd={class:"rx-herb-name"},Yd={class:"rx-herb-total"},Qd={class:"rx-text"},Jd={key:0},Xd={key:1},Zd={key:2,class:"rx-text-warn"},ep={key:3,class:"rx-text-warn"},tp={class:"rx-bottom"},ap={class:"rx-bot-row rx-bot-row-1"},sp={class:"rx-bot-cell rx-bot-doctor"},lp={class:"rx-bot-doctor-body"},np=["src"],ip={class:"rx-bot-cell rx-bot-meta"},rp={class:"rx-bot-meta-val"},op={class:"rx-bot-cell rx-bot-meta"},up={class:"rx-bot-meta-val"},dp={class:"rx-bot-cell rx-bot-meta"},pp={class:"rx-bot-meta-val"},cp={key:5,class:"rx-audit"},_p={key:0},mp={key:0,class:"ml-2 text-gray-400"},fp={key:1,class:"mt-1"},vp={key:0,class:"px-4"},gp={class:"flex items-center justify-between"},yp={class:"text-lg font-semibold text-orange-600"},bp={class:"text-lg font-semibold text-blue-600"},xp={class:"text-lg font-semibold text-green-600"},kp={class:"text-xl font-bold text-red-600"},hp={class:"text-sm text-gray-500 mt-1.5"},wp={class:"font-medium text-gray-700"},Vp={key:0},Sp={class:"text-sm text-gray-700 leading-relaxed"},Np={class:"flex items-center justify-between"},Cp={class:"text-sm text-gray-500"},Pp={class:"font-medium text-orange-600"},Ap={class:"text-base font-medium"},Tp={class:"text-base font-medium"},Op=is({name:"prescriptionOrderListH5"}),Rp=is({...Op,setup(Ep){const rs=hi(()=>Xl(()=>import("./edit-BG1q_jZS.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98]))),Rt=mi(),da=x(null);function os(){var e,n;const t=Number((e=c.value)==null?void 0:e.diagnosis_id);if(!t){A.msgWarning("本订单未关联诊单,无法查看患者诊单信息");return}(n=da.value)==null||n.openViewOnly(t)}const us=2,ds=[0,3,6],_e=V(()=>{const t=Rt.userInfo;if(!t||Number(t.root)===1)return!0;const e=Array.isArray(t.role_ids)?t.role_ids.map(n=>Number(n)):[];return e.includes(us)?e.some(n=>ds.includes(n)):!0}),ps=V(()=>_e.value?"详情/审核":"详情"),cs=[0,3,6],pa=()=>{const t=Rt.userInfo;if(!t)return!1;if(Number(t.root)===1)return!0;const e=Array.isArray(t.role_ids)?t.role_ids.map(n=>Number(n)):[];return cs.some(n=>e.includes(n))},Ze=x([]),Ae=x([]),Et=x([]),Te=x([]),et=x([]),_s={value:"id",label:"name",children:"children"};function ca(t,e){for(const n of t||[]){if(n==null||typeof n!="object")continue;const u=n;if(Number(u.id)===e)return u;const d=ca(u.children||[],e);if(d)return d}return null}function _a(t){const e=Number(t.id),n=[];Number.isFinite(e)&&e>0&&n.push(e);for(const u of t.children||[])u&&typeof u=="object"&&n.push(..._a(u));return n}function ms(t,e){const n=ca(e,t);return n?_a(n):[t]}async function fs(){try{const[t,e,n]=await Promise.all([Yn(),Qn(),gi()]);Et.value=Array.isArray(t)?t:[],Te.value=Array.isArray(e)?e:[];const u=Array.isArray(n)?n:[];et.value=u}catch{Et.value=[],Te.value=[],et.value=[]}}const vs=t=>t.map(e=>{var n;return{value:e.province,label:e.province,code:e.code,children:((n=e.citys)==null?void 0:n.map(u=>{var d;return{value:u.city,label:u.city,code:u.code,children:((d=u.areas)==null?void 0:d.map(f=>({value:f.area,label:f.area,code:f.code})))||[]}}))||[]}}),gs=async()=>{try{console.log("开始加载省市区数据...");const e=await fetch("https://cos.zhenyangtang.com.cn/area/ChinaCitys.json");if(console.log("响应状态:",e.status),!e.ok)throw new Error(`HTTP error! status: ${e.status}`);const n=await e.json();console.log("加载的数据条数:",n==null?void 0:n.length),Ze.value=vs(n),console.log("regionOptions 已设置,条数:",Ze.value.length)}catch(t){console.error("加载省市区数据失败:",t),Ze.value=[]}},ys=async()=>{try{const t=await fi({type:"server_order"});Ae.value=((t==null?void 0:t.server_order)||[]).filter(e=>e.status!==0),console.log("服务套餐选项已加载:",Ae.value.length)}catch(t){console.error("加载服务套餐选项失败:",t),Ae.value=[]}},bs=[{label:"全部",value:""},{label:"待双审通过",value:1},{label:"待发货",value:2},{label:"已发货",value:5},{label:"已签收",value:6},{label:"已完成",value:3},{label:"已取消",value:4},{label:"进行中",value:7},{label:"暂不制药",value:8},{label:"拒收",value:9},{label:"退款",value:10},{label:"保留药方",value:11},{label:"制药缓发",value:12}];function xs(t){ee.value="",b.fulfillment_status=t,G()}const ee=x(""),ks=[{label:"全部",value:""},{label:"甘草",value:"gancao"},{label:"自营",value:"self"}];function hs(t){b.supply_mode=t,G()}const ws=[{label:"全部",value:""},{label:"顺丰",value:"sf"},{label:"京东",value:"jd"}];function Vs(t){b.express_company=t,G()}const b=be({start_time:"",end_time:"",order_no:"",prescription_id:"",patient_keyword:"",express_keyword:"",express_company:"",doctor_id:"",assistant_id:"",assistant_dept_id:"",fulfillment_status:"",prescription_audit_status:"",payment_slip_audit_status:"",supply_mode:""}),Ss=[{label:"全部",value:""},{label:"待审核",value:0},{label:"已通过",value:1},{label:"已驳回",value:2}],Ns=[{label:"全部",value:""},{label:"待审核",value:0},{label:"已通过",value:1},{label:"已驳回",value:2}];function Cs(t){ee.value="",b.prescription_audit_status=t,G()}function Ps(t){ee.value="",b.payment_slip_audit_status=t,G()}function tt(t){if(ee.value===t){ee.value="",b.prescription_audit_status="",b.payment_slip_audit_status="",b.fulfillment_status="",G();return}ee.value=t,b.prescription_audit_status="",b.payment_slip_audit_status="",b.fulfillment_status="",t==="pendingRx"?b.prescription_audit_status=0:t==="pendingPay"?(b.prescription_audit_status=1,b.payment_slip_audit_status=0):t==="pendingShip"?b.fulfillment_status=2:t==="risk"&&(b.payment_slip_audit_status=2),G()}async function As(t){const e={...t};if(e.prescription_id===""||e.prescription_id===void 0?delete e.prescription_id:e.prescription_id=Number(e.prescription_id),(e.fulfillment_status===""||e.fulfillment_status===void 0)&&delete e.fulfillment_status,(e.prescription_audit_status===""||e.prescription_audit_status===void 0)&&delete e.prescription_audit_status,(e.payment_slip_audit_status===""||e.payment_slip_audit_status===void 0)&&delete e.payment_slip_audit_status,(!e.supply_mode||e.supply_mode==="")&&delete e.supply_mode,e.doctor_id===""||e.doctor_id===void 0||e.doctor_id===null?delete e.doctor_id:e.doctor_id=Number(e.doctor_id),e.assistant_id===""||e.assistant_id===void 0||e.assistant_id===null?delete e.assistant_id:e.assistant_id=Number(e.assistant_id),e.assistant_dept_id===""||e.assistant_dept_id===void 0||e.assistant_dept_id===null?delete e.assistant_dept_id:e.assistant_dept_id=Number(e.assistant_dept_id),e.order_no||delete e.order_no,String(e.patient_keyword||"").trim()||delete e.patient_keyword,String(e.express_keyword||"").trim()||delete e.express_keyword,(!e.express_company||e.express_company==="")&&delete e.express_company,!String(e.start_time||"").trim()||!String(e.end_time||"").trim())delete e.start_time,delete e.end_time;else{const n=String(e.start_time||"").trim(),u=String(e.end_time||"").trim();/^\d{4}-\d{2}-\d{2}$/.test(n)&&/^\d{4}-\d{2}-\d{2}$/.test(u)&&(e.start_time=`${n} 00:00:00`,e.end_time=`${u} 23:59:59`)}return Jn(e)}const{pager:te,getLists:K,resetPage:G,resetParams:Ts}=yi({fetchFun:As,params:b}),ma=V(()=>{const t=b.assistant_dept_id;if(t===""||t==null)return Te.value;const e=Number(t);if(!Number.isFinite(e))return Te.value;const n=new Set(ms(e,et.value));return Te.value.filter(u=>{const d=u.dept_ids;return!Array.isArray(d)||d.length===0?!1:d.map(Number).some(f=>n.has(f))})});function Os(){const t=b.assistant_id;if(t!==""&&t!=null){const e=Number(t);ma.value.some(u=>Number(u.id)===e)||(b.assistant_id="")}G()}const ne=V(()=>{const t=te.extend,e=(t==null?void 0:t.stats_order_amount)??(t==null?void 0:t.today_order_amount),n=(t==null?void 0:t.stats_linked_pay_amount)??(t==null?void 0:t.today_linked_pay_amount),u=E=>{const pe=Number(E);return Number.isFinite(pe)?Math.round(pe*100)/100:0},d=E=>E.toFixed(2),f=(t==null?void 0:t.stats_order_amount_not_cancelled)!==void 0&&(t==null?void 0:t.stats_order_amount_cancelled)!==void 0,k=(t==null?void 0:t.stats_linked_pay_amount_not_cancelled)!==void 0&&(t==null?void 0:t.stats_linked_pay_amount_cancelled)!==void 0,y=u(f?t==null?void 0:t.stats_order_amount_not_cancelled:e),F=f?u(t==null?void 0:t.stats_order_amount_cancelled):0,J=u(k?t==null?void 0:t.stats_linked_pay_amount_not_cancelled:n),w=k?u(t==null?void 0:t.stats_linked_pay_amount_cancelled):0,U=(t==null?void 0:t.stats_order_amount_performance)!==void 0?u(t==null?void 0:t.stats_order_amount_performance):y,re=(t==null?void 0:t.stats_linked_pay_amount_performance)!==void 0?u(t==null?void 0:t.stats_linked_pay_amount_performance):J,ve=String((t==null?void 0:t.stats_time_start)??"").trim(),Ct=String((t==null?void 0:t.stats_time_end)??"").trim(),la=ve&&Ct?`统计时间:${ve} ~ ${Ct}`:"统计时间:—",Ge=String((t==null?void 0:t.stats_scope)??"restricted");let le="统计口径:与当前列表数据可见范围一致";Ge==="all"?le="统计口径:支付单审核白名单角色,按全量订单;与下方筛选项(医生/医助/医助部门/患者等,不含「创建时间」)一致":Ge==="assistant"?le="统计口径:仅计诊单医助为本人且满足下方其它筛选项的订单":Ge==="own_rx"&&(le="统计口径:本人创建的订单 + 关联处方开方人为本人的订单(含医助代建);与下方筛选项(不含「创建时间」)一致");const We=String(b.start_time||"").trim()!==""&&String(b.end_time||"").trim()!==""?"区间":"今日";return{order:u(e),pay:u(n),orderStr:d(u(e)),payStr:d(u(n)),orderNotCancelledStr:d(y),orderCancelledStr:d(F),payNotCancelledStr:d(J),payCancelledStr:d(w),orderPerformanceStr:d(U),payPerformanceStr:d(re),orderHeading:`${We}业绩(业务订单额)`,payHeading:`${We}业绩(关联实付)`,periodLine:la,scopeHint:le,orderSplitHint:"业绩 = 除履约已取消(4)外全部订单金额;下方为合计与已取消明细"}}),at=V(()=>{const t=te.extend,e=k=>{const y=Number(k);return!Number.isFinite(y)||y<0?0:Math.trunc(y)},n=e(t==null?void 0:t.focus_pending_rx_count),u=e(t==null?void 0:t.focus_pending_pay_count),d=e(t==null?void 0:t.focus_pending_ship_count),f=e(t==null?void 0:t.focus_risk_count);return{pendingRx:n,pendingPay:u,pendingShip:d,risk:f}});function $t(t,e){const n=Number(e==null?void 0:e.prescription_audit_status),u=Number(e==null?void 0:e.payment_slip_audit_status),d=Number(e==null?void 0:e.fulfillment_status);return t==="rx"&&n===0||t==="pay"&&n===1&&u===0||t==="fulfillment"&&d===2?"po-status-tag is-focus":t==="rx"&&n===2||t==="pay"&&u===2||t==="fulfillment"&&d===4?"po-status-tag is-risk":"po-status-tag"}function st({row:t}){const e=Number(t==null?void 0:t.prescription_audit_status),n=Number(t==null?void 0:t.payment_slip_audit_status),u=Number(t==null?void 0:t.fulfillment_status),d=dt(t==null?void 0:t.recipient_phone,t==null?void 0:t.prescription_phone);return e===2||n===2||d?"po-row-risk":e===0||e===1&&n===0||u===2?"po-row-focus":u===3||u===6?"po-row-done":""}bi(_e,t=>{t||b.prescription_audit_status===""||b.prescription_audit_status===void 0||(b.prescription_audit_status="",G())},{immediate:!0});function Rs(){ee.value="",b.start_time="",b.end_time="",b.order_no="",b.prescription_id="",b.patient_keyword="",b.express_keyword="",b.express_company="",b.doctor_id="",b.assistant_id="",b.assistant_dept_id="",b.fulfillment_status="",b.prescription_audit_status="",b.payment_slip_audit_status="",b.supply_mode="",Ts()}function lt(t){return{1:"挂号费",2:"问诊费",3:"药品费用",4:"首付费用",5:"尾款费用",6:"其他费用",7:"全部费用",8:"驼奶费用"}[Number(t)]??"—"}function Es(t){if(!t)return"—";let e=[];return Array.isArray(t)?e=t:typeof t=="string"&&(e=t.split(",").filter(u=>u.trim()!=="")),e.length===0?"—":e.map(u=>{const d=Ae.value.find(f=>f.value===u);return d?d.name:u}).join("、")}function fa(t){return t===1?"已通过":t===2?"已驳回":"待审核"}function va(t){return t===1?"success":t===2?"danger":"info"}function Dt(t){return{1:"待双审通过",2:"待发货",3:"已完成",4:"已取消",5:"已发货",6:"已签收",7:"进行中",8:"暂不制药",9:"拒收",10:"退款",11:"保留药方",12:"制药缓发"}[Number(t)]??"—"}function $s(t){const e=Number(t);return e===3||e===6?"success":e===5?"primary":e===4?"danger":e===2||e===7?"warning":e===8||e===11||e===12?"info":e===9||e===10?"danger":"info"}function de(t){const e=Number(t);return Number.isNaN(e)?"—":e.toFixed(2)}function me(t){if(t==null||t==="")return"—";if(typeof t=="number"&&t>1e9&&t<1e11){const e=new Date(t*1e3);return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")} ${String(e.getHours()).padStart(2,"0")}:${String(e.getMinutes()).padStart(2,"0")}`}return String(t)}function Ds(t){const e=Number(t.fulfillment_status);if(e!==1&&e!==2)return!1;const n=String(t.gancao_reciperl_order_no||"").trim(),u=Number(t.gancao_submit_time||0);return!(n!==""||u>0)}function zs(t){const e=Number(t.fulfillment_status);return e===3||e===4||e===6?!1:Number(t.prescription_audit_status)===0}function Us(t){const e=Number(t.fulfillment_status);return e===3||e===4?!1:Number(t.prescription_audit_status)===1&&Number(t.payment_slip_audit_status)===0}function Fs(t){const e=Number(t.fulfillment_status);if(e===3||e===4||e===6)return!1;const n=Number(t.prescription_audit_status),u=Number(t.payment_slip_audit_status);return(n===1||n===2)&&u===0}function js(t){const e=Number(t.fulfillment_status);if(e===3||e===4||e===6)return!1;const n=Number(t.prescription_audit_status),u=Number(t.payment_slip_audit_status);return n===1&&(u===1||u===2)}function ga(t){return Number(t.fulfillment_status)===1}function zt(t){return Number(t.fulfillment_status)===2}function Ut(t){const e=Number(t.fulfillment_status);return e===5||e===6}function Ft(t){const e=Number(t.fulfillment_status);return(e===5||e===6)&&Number(t.payment_slip_audit_status)===1}function Is(t){const e=Number(t.fulfillment_status);return e===5||e===6}function ya(t){const e=Number(t.prescription_audit_status),n=String(t.gancao_reciperl_order_no||"").trim();return e===1&&n===""}function ba(t){return{1:"待支付",2:"已支付",3:"已取消",4:"已退款",5:"待审核"}[Number(t)]??"—"}const nt=x(!0),xa=V(()=>{const t=b,e=["start_time","end_time","order_no","prescription_id","patient_keyword","express_keyword","doctor_id","assistant_dept_id","assistant_id"];let n=0;for(const u of e){const d=t[u];d!=null&&(typeof d=="string"&&d.trim()===""||Array.isArray(d)&&d.length===0||(n+=1))}return n});function Ls(t){return Ut(t)||Ft(t)||ya(t)||ga(t)}function qs(t,e){t==="addPayOrder"?Ia(e):t==="complete"?La(e):t==="submitGancao"?hl(e):t==="withdraw"&&gl(e)}function jt(t){if(!(t!=null&&t.id))return!1;const e=Number(t.fulfillment_status);return e!==3&&e!==4}const X=x(!1),It=x(!1),c=x(null),it=V(()=>{if(!c.value)return 0;const t=Number(c.value.fulfillment_status),e=Number(c.value.prescription_audit_status),n=Number(c.value.payment_slip_audit_status);return t===3||[8,9,10,11,12].includes(t)?5:t===6||t===5||t===7?4:t===4?e===2?1:n===2?2:3:t===2?3:e===0||e===2?1:n===0||n===2?2:3}),rt=V(()=>{var e;const t=Number((e=c.value)==null?void 0:e.prescription_audit_status);return t===1?"success":t===2?"error":it.value===1?"process":"wait"}),ot=V(()=>{var e;const t=Number((e=c.value)==null?void 0:e.payment_slip_audit_status);return t===1?"success":t===2?"error":it.value===2?"process":"wait"}),xe=V(()=>{var e;const t=Number((e=c.value)==null?void 0:e.fulfillment_status);return t===3||t===5||t===6||t===8||t===11||t===12?"success":t===4||t===9||t===10?"error":t===7||it.value===3?"process":"wait"}),Lt=V(()=>{const t=c.value;if(!t)return[];const e=t.linked_pay_orders;return Array.isArray(e)?e:[]}),ka=V(()=>{const t=c.value;if(!t)return 0;const e=Number(t.amount)||0,n=Number(t.linked_pay_paid_total)||0;return Math.round((e-n)*100)/100}),ke=x([]);async function Ms(t,e,n){var u;if(!t){ke.value=[];return}try{const d=await ua({diagnosis_id:t,prescription_order_id:e}),f=(d==null?void 0:d.lists)??((u=d==null?void 0:d.data)==null?void 0:u.lists)??[],k=Array.isArray(f)?f.filter(y=>!n.includes(y.id)):[];ke.value=k}catch{ke.value=[]}}function ha(t){return t?Array.isArray(t)?t.map(e=>({name:String((e==null?void 0:e.name)??"").trim(),dosage:Number(e==null?void 0:e.dosage)||0})):[]:[]}const C=V(()=>{var e;const t=(e=c.value)==null?void 0:e.prescription;return t&&typeof t=="object"?t:null});function ut(t){return t==null?"":String(t).replace(/\s/g,"").trim()}function dt(t,e){const n=ut(t),u=ut(e);return!n||!u?!1:n!==u}const Oe=V(()=>{var n,u;const t=(n=C.value)==null?void 0:n.phone,e=(u=c.value)==null?void 0:u.recipient_phone;return dt(e,t)}),Bs=V(()=>{var e;return ut((e=C.value)==null?void 0:e.phone)||"—"}),Hs=V(()=>{var e;return ut((e=c.value)==null?void 0:e.recipient_phone)||"—"}),W=V(()=>{var e;const t=(e=c.value)==null?void 0:e.linked_appointment;return t&&typeof t=="object"?t:null}),wa=V(()=>{var e;const t=String(((e=W.value)==null?void 0:e.resolved_from)||"");return t==="prescription"?"处方绑定挂号":t==="diagnosis"?"诊单关联挂号":""}),Va=V(()=>{var t;return ha((t=C.value)==null?void 0:t.herbs)}),Gs=V(()=>{var t;return((t=c.value)==null?void 0:t.prescription_detail_herbs_visible)!==!1}),Ws=V(()=>{const t=c.value;if(!t)return"—";const e=[];return t.shipping_province&&e.push(t.shipping_province),t.shipping_city&&e.push(t.shipping_city),t.shipping_district&&e.push(t.shipping_district),t.shipping_address&&e.push(t.shipping_address),e.length>0?e.join(" "):"—"}),Sa=V(()=>`${_.dose_unit||"剂"}数`);function Ks(t){const e=Number(t);return e===1?"已通过":e===2?"已驳回":"待审核"}function Ys(t){const e=Number(t);return e===1?"success":e===2?"danger":"warning"}function Na(t){const e=Number(t);return e===2?"success":e===1?"warning":"info"}function Ca(t){return t==null||t===""?"—":typeof t=="string"&&String(t).includes("-")?String(t):me(t)}const Re=x("auto"),pt=x(!1),H=x(null),Ee=x(""),he=x([]),$e=x(!1),qt=x(!1),ct=x(),ie=be({id:0,amount:void 0}),Qs={amount:[{required:!0,message:"请输入订单金额",trigger:"blur"},{validator:(t,e,n)=>{const u=Number(e);if(!Number.isFinite(u)||u<=0){n(new Error("订单金额必须大于0"));return}n()},trigger:"blur"}]};function Js(){const t=Rt.perms||[];return t.includes("*")||t.includes("tcm.prescriptionOrder/logs")}async function Mt(t){if(!Js()){he.value=[];return}try{const e=await ci({id:t});he.value=(e==null?void 0:e.data)??e??[]}catch{he.value=[]}}function Xs(t){return{create:"创建",edit:"编辑",audit_rx_approve:"处方审核",audit_rx_reject:"处方审核",audit_pay_approve:"支付审核",audit_pay_reject:"支付审核",fill_tracking:"填快递单",ship:"确认发货",withdraw:"撤销",link_pay_order:"关联支付单",revoke_rx_audit:"撤回处方审核",revoke_pay_audit:"撤回支付审核",gancao_submit:"甘草下单",patch_rx_patient:"处方患者信息",update_amount:"修改订单金额",complete:"完成订单"}[t]||t}const Bt=V(()=>{var n;const t=String(((n=c.value)==null?void 0:n.tracking_number)||"").trim();if(!t)return{sf:"javascript:void(0)",jd:"javascript:void(0)",jt:"javascript:void(0)"};const e=encodeURIComponent(t);return{sf:`https://www.sf-express.com/cn/sc/dynamic_function/waybill/#search/bill-number/${e}`,jd:`https://www.jdl.com/#/trackQuery?waybillCode=${e}`,jt:`https://www.jtexpress.com.cn/index/query/gzquery.html?bills=${e}`}}),Pa=V(()=>{const t=H.value;return!t||!Array.isArray(t.traces)?[]:t.traces});function Zs(t){const e=String(t||"").toLowerCase();return e==="sf"?"顺丰速运":e==="jd"?"京东快递":e==="jt"||e==="jtexpress"?"极兔速递":"自动识别"}async function Ht(){var e;const t=Number((e=c.value)==null?void 0:e.id);if(t){pt.value=!0;try{const n=String(Ee.value||"").replace(/\D/g,""),u={id:t,express_company:Re.value};n.length>=4&&(u.phone_tail=n);const d=await Xn(u);H.value=(d==null?void 0:d.data)??d}catch{H.value=null}finally{pt.value=!1}}}const De=x(!1),Gt=x(!1),Wt=x(),ae=be({patient_name:"",phone:""}),el={patient_name:[{required:!0,message:"请输入患者姓名",trigger:"blur"}],phone:[{required:!0,message:"请输入手机号",trigger:"blur"}]};function tl(){const t=C.value,e=c.value;if(!t||!(e!=null&&e.id)||!e.prescription_id){A.msgWarning("无处方数据");return}ae.patient_name=String(t.patient_name??"").trim(),ae.phone=String(t.phone??"").trim(),De.value=!0,Ot(()=>{var n;return(n=Wt.value)==null?void 0:n.clearValidate()})}function al(){ae.patient_name="",ae.phone=""}function sl(){var t;ie.id=0,ie.amount=void 0,(t=ct.value)==null||t.clearValidate()}function ll(){const t=c.value;if(!jt(t)){A.msgWarning("当前订单状态不允许修改金额");return}ie.id=Number(t==null?void 0:t.id)||0,ie.amount=Number(t==null?void 0:t.amount)||void 0,$e.value=!0,Ot(()=>{var e;return(e=ct.value)==null?void 0:e.clearValidate()})}async function Aa(){var e;const t=(e=c.value)==null?void 0:e.id;if(t)try{const n=await Z({id:t}),u=(n==null?void 0:n.data)??n??null;u&&(c.value=u)}catch{}}async function nl(){var n;const t=Wt.value;if(!t)return;try{await t.validate()}catch{return}const e=(n=c.value)==null?void 0:n.id;if(e){Gt.value=!0;try{await Zn({id:e,patient_name:ae.patient_name.trim(),phone:ae.phone.trim()}),De.value=!1,await Aa(),await Mt(e)}catch(u){console.error(u)}finally{Gt.value=!1}}}async function Ta(){const t=ct.value;if(!t)return;try{await t.validate()}catch{return}if(!jt(c.value)){A.msgWarning("当前订单状态不允许修改金额");return}const e=ie.id;qt.value=!0;try{await ei({id:e,amount:Number(ie.amount)}),A.msgSuccess("修改成功"),$e.value=!1,await Aa(),await Mt(e),K()}catch{}finally{qt.value=!1}}async function Oa(t){c.value=null,ke.value=[],H.value=null,Re.value="auto",Ee.value="",he.value=[],X.value=!0,It.value=!0;try{const e=await Z({id:t}),n=(e==null?void 0:e.data)??e??null;if(c.value=n,n){Re.value=String(n.express_company||"auto")||"auto";const u=String(n.recipient_phone||"").replace(/\D/g,"");Ee.value=u.length>=4?u:"",String(n.tracking_number||"").trim()&&Ht(),Mt(t);const d=n.diagnosis_id,f=n.pay_order_ids||[];d&&Ms(d,t,f)}}catch(e){A.msgError((e==null?void 0:e.message)||"加载失败"),X.value=!1}finally{It.value=!1}}const fe=x(!1),Kt=x(!1),Yt=x(!1),L=x(0),se=x(null),il=V(()=>["请核对收货信息,便于发货与物流联系。","按需填写服务与物流,并选择本诊单下需要关联的支付单。","确认费用类别与订单金额;保存前请对照定金门槛是否已满足。"][L.value]??""),Ra=V(()=>{const t=se.value,e=ha(t==null?void 0:t.herbs);if(!e.length)return"暂无药材明细";const n=e.map(u=>`${u.name} ${u.dosage}g`).join("、");return n.length>120?`${n.slice(0,120)}…`:n}),rl=["recipient_name","recipient_phone","region","shipping_address"],we=x(),_=be({id:0,prescription_id:0,diagnosis_id:0,recipient_name:"",recipient_phone:"",region:[],shipping_address:"",is_follow_up:0,medication_days:void 0,dose_count:1,dose_unit:"剂",prev_staff:"",service_channel:"",service_package:[],express_company:"auto",tracking_number:"",fee_type:3,amount:0,remark_extra:"",remark_assistant:"",pay_order_ids:[],internal_cost:void 0,assistant_id:0,diagnosis_creator_id:0,diagnosis_creator_name:"",diagnosis_creator_dept_path:""}),Ea=V(()=>{const t=String(_.diagnosis_creator_dept_path||"").trim();return t?t.split(";").map(e=>e.trim()).filter(Boolean).map(e=>e.includes(" / ")?e.split(" / ").map(n=>n.trim()).filter(Boolean):e.split("/").map(n=>n.trim()).filter(Boolean)).filter(e=>e.length>0):[]}),ze=x([]),Qt=x(!1),M=x(0);function Jt(t){return{1:"挂号费",2:"问诊费",3:"药品费用",4:"首付",5:"尾款",6:"其他"}[Number(t)]||"未知"}const Xt=V(()=>{const t=new Set(_.pay_order_ids.map(n=>Number(n)));let e=0;for(const n of ze.value)t.has(Number(n.id))&&(e+=Number(n.amount)||0);return Math.round(e*100)/100}),ol=V(()=>{const t=M.value;return t>0?Math.round(t*100)/100:0});async function ul(t,e){var n,u;if(!t){ze.value=[];return}try{Qt.value=!0;const d=await ua({diagnosis_id:t,...e?{prescription_order_id:e}:{}}),f=(d==null?void 0:d.lists)??((n=d==null?void 0:d.data)==null?void 0:n.lists)??[];ze.value=Array.isArray(f)?f:[];const k=Number((d==null?void 0:d.deposit_min_amount)??((u=d==null?void 0:d.data)==null?void 0:u.deposit_min_amount));!Number.isNaN(k)&&k>=0&&(M.value=k)}catch{ze.value=[]}finally{Qt.value=!1}}const dl=V(()=>{const t={recipient_name:[{required:!0,message:"请输入收货人",trigger:"blur"}],recipient_phone:[{required:!0,message:"请输入收货手机",trigger:"blur"}],region:[{required:!0,message:"请选择省/市/区",trigger:"change",type:"array"}],shipping_address:[{required:!0,message:"请输入收货地址",trigger:"blur"}],fee_type:[{required:!0,message:"请选择费用类别",trigger:"change"}],amount:[{required:!0,message:"请输入订单金额",trigger:"blur"},{validator:(e,n,u)=>{const d=M.value,f=Number(n);if(d>0&&(!Number.isFinite(f)||f0){const e=`已开启关联支付门槛(¥${de(M.value)}),请至少选择一笔支付单`;t.pay_order_ids=[{type:"array",required:!0,min:1,message:e,trigger:"change"}]}return t});function pl(){var t;L.value=0,se.value=null,(t=we.value)==null||t.clearValidate()}function cl(){L.value>0&&(L.value-=1)}async function _l(){const t=we.value;if(t)try{L.value===0?await t.validateField([...rl]):L.value===1&&M.value>0&&await t.validateField(["pay_order_ids"]),L.value<2&&(L.value+=1)}catch{}}async function ml(t){L.value=0,se.value=null,fe.value=!0,Kt.value=!0;try{const e=await Z({id:t.id}),n=(e==null?void 0:e.data)??e;if(!n){A.msgError("加载数据结构异常"),fe.value=!1;return}const u=n.prescription;u&&typeof u=="object"?se.value=u:Number(n.prescription_id)>0?se.value={id:Number(n.prescription_id),sn:"",patient_name:String(n.recipient_name||""),herbs:[]}:se.value=null,_.id=n.id,_.prescription_id=Number(n.prescription_id)||0,_.diagnosis_id=Number(n.diagnosis_id)||0,_.assistant_id=Number(n.assistant_id)||0,_.diagnosis_creator_id=Number(n.diagnosis_creator_id)||0,_.diagnosis_creator_name=n.diagnosis_creator_name!=null&&n.diagnosis_creator_name!==""?String(n.diagnosis_creator_name):"",_.diagnosis_creator_dept_path=n.diagnosis_creator_dept_path!=null&&n.diagnosis_creator_dept_path!==""?String(n.diagnosis_creator_dept_path):"",_.recipient_name=n.recipient_name||"",_.recipient_phone=n.recipient_phone||"";const d=n.shipping_province||"",f=n.shipping_city||"",k=n.shipping_district||"";d||f||k?_.region=[d,f,k].filter(U=>U!==""):_.region=[],_.shipping_address=n.shipping_address||"",_.is_follow_up=n.is_follow_up?1:0,_.medication_days=n.medication_days>0?n.medication_days:void 0,_.dose_count=n.dose_count>0?n.dose_count:1,_.dose_unit=n.dose_unit||"剂",_.prev_staff=n.prev_staff||"",_.service_channel=n.service_channel||"",n.service_package?Array.isArray(n.service_package)?_.service_package=n.service_package:typeof n.service_package=="string"?_.service_package=n.service_package.split(",").filter(U=>U.trim()!==""):_.service_package=[]:_.service_package=[],_.express_company=String(n.express_company||"auto")||"auto",_.tracking_number=n.tracking_number||"",_.fee_type=Number(n.fee_type)||3,M.value=Number(n.deposit_min_amount)||0;let y=Number(n.amount)||0;const F=Math.round((Number(n.linked_pay_paid_total)||0)*100)/100,J=M.value;if(J>0){const U=Math.round(J*100)/100;yNumber(U)).filter(U=>!Number.isNaN(U)):[],_.internal_cost=n.internal_cost!=null&&n.internal_cost!==""?Number(n.internal_cost):void 0,await ul(_.diagnosis_id,_.id),Ot(()=>{var U;(U=we.value)==null||U.clearValidate()})}catch(e){A.msgError((e==null?void 0:e.message)||"加载异常"),fe.value=!1}finally{Kt.value=!1}}async function fl(){if(!(!we.value||L.value!==2)){await we.value.validate(),Yt.value=!0;try{const t={id:_.id,recipient_name:_.recipient_name,recipient_phone:_.recipient_phone,shipping_address:_.shipping_address,is_follow_up:_.is_follow_up,prev_staff:_.prev_staff||"",service_channel:_.service_channel||"",service_package:Array.isArray(_.service_package)?_.service_package.join(","):"",express_company:_.express_company||"auto",tracking_number:_.tracking_number||"",fee_type:_.fee_type,amount:_.amount,remark_extra:_.remark_extra||"",remark_assistant:_.remark_assistant||"",medication_days:_.medication_days!=null&&String(_.medication_days).trim()!==""?_.medication_days:"",dose_unit:_.dose_unit||"剂",dose_count:_.dose_count||1,internal_cost:_.internal_cost!=null&&String(_.internal_cost).trim()!==""?_.internal_cost:""};_.region&&_.region.length>0?(t.shipping_province=_.region[0]||"",t.shipping_city=_.region[1]||"",t.shipping_district=_.region[2]||""):(t.shipping_province="",t.shipping_city="",t.shipping_district=""),t.pay_order_ids=[..._.pay_order_ids],await ls(t),A.msgSuccess("保存成功"),fe.value=!1,K()}catch{}finally{Yt.value=!1}}}const Ue=x(!1),Zt=x("prescription"),_t=x(0),Fe=x(null),Ve=x(""),mt=x(!1),vl=V(()=>Zt.value==="prescription"?"处方业务审核":"关联支付单审核");function $a(t,e){Zt.value=e,_t.value=t.id,Fe.value=t,Ve.value="",Ue.value=!0}async function Da(t){if(t==="reject"&&!Ve.value.trim()){A.msgError("驳回或阻止时必须填写明确的审核意见");return}mt.value=!0;try{const e={id:_t.value,action:t,remark:Ve.value.trim()};if(Zt.value==="prescription"?await ti(e):await ai(e),A.msgSuccess(t==="approve"?"审核通过成功":"已成功驳回该单"),Ue.value=!1,K(),X.value&&_t.value)try{const n=await Z({id:_t.value}),u=(n==null?void 0:n.data)??n??null;u&&(c.value=u)}catch{}}catch{}finally{mt.value=!1}}async function gl(t){try{await Je.confirm("确认撤回该业务订单?撤回后状态为「已取消」,未双审通过或双审均驳回等场景下均可安全撤回。","撤回警告",{type:"warning",confirmButtonText:"确定撤回",cancelButtonText:"暂不处理"}),await si({id:t.id}),A.msgSuccess("撤回成功"),K()}catch{}}const za=x(0),ft=x(!1),Se=x(!1),z=x(null);function Ua(t){if(!t)return"0.00";const e=Number(t.m_cost)||0,n=Number(t.proces_cost)||0,u=Number(t.lis_cost)||0;return(e+n+u).toFixed(2)}function yl(t,e){const n=parseFloat(Ua(t))||0,u=Number(e)||0;return u<=0?"—":(n/u*100).toFixed(2)}function bl(t){return!Array.isArray(t)||t.length===0?"0":t.reduce((n,u)=>n+(Number(u.quantity)||0),0).toFixed(0)}async function xl(){if(!_.id){A.msgError("请先保存订单");return}Se.value=!0;try{const t=await ns({id:_.id,dose_count:_.dose_count||1,medication_days:_.medication_days||void 0}),e=(t==null?void 0:t.data)??t;e&&e.success&&(z.value=e,ft.value=!0,A.msgSuccess("预下单测试成功"))}catch{}finally{Se.value=!1}}async function kl(){var t;if(!((t=c.value)!=null&&t.id)){A.msgError("订单数据不存在");return}Se.value=!0;try{const e=await ns({id:c.value.id,dose_count:c.value.dose_count||1,medication_days:c.value.medication_days||void 0}),n=(e==null?void 0:e.data)??e;n&&n.success&&(z.value=n,ft.value=!0)}catch{}finally{Se.value=!1}}async function hl(t){var e;try{await Je.confirm("将把本单关联处方提交至甘草药管家开放平台(先 CTM_PREVIEW 预检查再 CTM_SUBMIT_RECIPEL 正式下单;成功后将按甘草侧规则扣费,详见 https://apidoc.igancao.com/service-doc/scm-outer-recipel.html )。确定继续?","上传甘草药方",{type:"warning",confirmButtonText:"确定上传",cancelButtonText:"取消"}),za.value=t.id;const n=await li({id:t.id}),u=(n==null?void 0:n.data)??n,d=(u==null?void 0:u.recipel_order_no)!=null?String(u.recipel_order_no):"";if(A.msgSuccess(d?`上传成功,甘草处方单号:${d}`:"上传成功"),K(),X.value&&Number((e=c.value)==null?void 0:e.id)===t.id)try{const f=await Z({id:t.id}),k=(f==null?void 0:f.data)??f??null;k&&(c.value=k)}catch{}}catch{}finally{za.value=0}}xi(async()=>{await gs(),await ys(),await fs(),K()});const je=x(!1),vt=x(!1),Ie=x(0),Y=be({express_company:"auto",tracking_number:""});function wl(t){Ie.value=t.id,Y.express_company=String(t.express_company||"auto")||"auto",Y.tracking_number=String(t.tracking_number||""),je.value=!0}async function Fa(){var t;if(!Y.tracking_number.trim()){A.msgError("请填写快递单号");return}vt.value=!0;try{const e=await Z({id:Ie.value}),n=(e==null?void 0:e.data)??e;if(!n){A.msgError("加载订单数据失败");return}if(await ls({id:n.id,recipient_name:n.recipient_name||"",recipient_phone:n.recipient_phone||"",shipping_province:n.shipping_province||"",shipping_city:n.shipping_city||"",shipping_district:n.shipping_district||"",shipping_address:n.shipping_address||"",is_follow_up:n.is_follow_up?1:0,medication_days:n.medication_days!=null&&String(n.medication_days).trim()!==""?n.medication_days:"",prev_staff:n.prev_staff||"",service_channel:n.service_channel||"",service_package:n.service_package||"",fee_type:Number(n.fee_type)||3,amount:Number(n.amount)||0,remark_extra:n.remark_extra||"",remark_assistant:n.remark_assistant||"",internal_cost:n.internal_cost!=null&&n.internal_cost!==""?n.internal_cost:"",pay_order_ids:Array.isArray(n.pay_order_ids)?n.pay_order_ids:[],express_company:Y.express_company||"auto",tracking_number:Y.tracking_number.trim()}),A.msgSuccess("快递单号已保存"),je.value=!1,K(),X.value&&((t=c.value)==null?void 0:t.id)===Ie.value)try{const u=await Z({id:Ie.value}),d=(u==null?void 0:u.data)??u??null;d&&(c.value=d)}catch{}if(zt({fulfillment_status:2,tracking_number:Y.tracking_number}))try{await Je.confirm(`快递单号「${Y.tracking_number}」已保存,是否立即确认发货?`,"确认发货",{type:"success",confirmButtonText:"确认发货",cancelButtonText:"稍后再说"}),ea({id:Ie.value,tracking_number:Y.tracking_number,express_company:Y.express_company})}catch{}}catch{}finally{vt.value=!1}}const Le=x(!1),gt=x(!1),yt=x(0),Q=be({ship_mode:"gancao",express_company:"auto",tracking_number:""});function ea(t){yt.value=t.id,Q.ship_mode=String(t.ship_mode||"gancao")||"gancao",Q.express_company=String(t.express_company||"auto")||"auto",Q.tracking_number=String(t.tracking_number||""),Le.value=!0}async function ja(){var t;if(!Q.tracking_number.trim()){A.msgError("请先填写快递单号再确认发货");return}gt.value=!0;try{if(await ni({id:yt.value,ship_mode:Q.ship_mode==="direct"?"direct":"gancao",express_company:Q.express_company||"auto",tracking_number:Q.tracking_number.trim()}),A.msgSuccess("确认发货成功,订单已进入「已发货」状态"),Le.value=!1,K(),X.value&&((t=c.value)==null?void 0:t.id)===yt.value)try{const e=await Z({id:yt.value}),n=(e==null?void 0:e.data)??e??null;n&&(c.value=n)}catch{}}catch{}finally{gt.value=!1}}const Vl=[{value:3,label:"已完成"},{value:7,label:"进行中"},{value:8,label:"暂不制药"},{value:9,label:"拒收"},{value:10,label:"退款"},{value:11,label:"保留药方"},{value:12,label:"制药缓发"}],qe=x(!1),ta=x(0),bt=x(3),aa=x(!1);async function Sl(){var e;const t=ta.value;if(t){aa.value=!0;try{if(await ii({id:t,fulfillment_status:bt.value}),A.msgSuccess("订单状态已更新"),qe.value=!1,K(),X.value&&((e=c.value)==null?void 0:e.id)===t)try{const n=await Z({id:t}),u=(n==null?void 0:n.data)??n??null;u&&(c.value=u)}catch{}}catch{}finally{aa.value=!1}}}const Me=x(!1),xt=x(!1),Be=x(0),kt=x(),sa=x(!1),ht=x([]),O=be({add_mode:"create",order_type:3,pay_amount:void 0,pay_remark:"",link_pay_order_ids:[],completion_request:0}),Nl={add_mode:[{required:!0,message:"请选择添加方式",trigger:"change"}],order_type:[{required:!0,message:"请选择费用类别",trigger:"change"}],pay_amount:[{required:!0,message:"请输入支付金额",trigger:"blur"},{validator:(t,e,n)=>{const u=Number(e);!Number.isFinite(u)||u<=0?n(new Error("金额须大于 0")):n()},trigger:"blur"}],link_pay_order_ids:[{required:!0,message:"请至少选择一个支付单",trigger:"change",validator:(t,e,n)=>{!Array.isArray(e)||e.length===0?n(new Error("请至少选择一个支付单")):n()}}]};async function Cl(t,e=[]){var n;if(!t){ht.value=[];return}try{sa.value=!0;const u=await ua({diagnosis_id:t}),d=(u==null?void 0:u.lists)??((n=u==null?void 0:u.data)==null?void 0:n.lists)??[],f=Array.isArray(d)?d.filter(k=>!e.includes(k.id)):[];ht.value=f}catch{ht.value=[]}finally{sa.value=!1}}function Ia(t){var u,d;Be.value=t.id,O.add_mode="create",O.order_type=3,O.pay_amount=void 0,O.pay_remark="",O.link_pay_order_ids=[],O.completion_request=0,Me.value=!0;const e=t.diagnosis_id||((u=c.value)==null?void 0:u.diagnosis_id),n=t.pay_order_ids||((d=c.value)==null?void 0:d.pay_order_ids)||[];e&&Cl(e,n)}async function Pl(){var t;if(kt.value){await kt.value.validate(),xt.value=!0;try{if(O.add_mode==="create")await ri({id:Be.value,order_type:O.order_type,pay_amount:O.pay_amount,pay_remark:O.pay_remark||"",completion_request:O.completion_request}),A.msgSuccess("支付单已新增,请等待审核");else{const e=O.link_pay_order_ids;if(e.length===0){A.msgError("请至少选择一个支付单");return}await oi({id:Be.value,pay_order_ids:e,completion_request:O.completion_request}),A.msgSuccess(`已关联 ${e.length} 个支付单,请等待审核`)}if(Me.value=!1,K(),X.value&&((t=c.value)==null?void 0:t.id)===Be.value)try{const e=await Z({id:Be.value}),n=(e==null?void 0:e.data)??e??null;n&&(c.value=n)}catch{}}catch{}finally{xt.value=!1}}}function La(t){ta.value=t.id,bt.value=3,qe.value=!0}async function Al(t){var e;try{if(await Je.confirm("确认撤回处方审核?撤回后将重置为「待审核」状态。","撤回处方审核",{type:"warning",confirmButtonText:"确认撤回",cancelButtonText:"取消"}),await ui({id:t.id}),A.msgSuccess("处方审核已撤回"),K(),X.value&&((e=c.value)==null?void 0:e.id)===t.id)try{const n=await Z({id:t.id}),u=(n==null?void 0:n.data)??n??null;u&&(c.value=u)}catch{}}catch{}}async function Tl(t){var e;try{if(await Je.confirm("确认撤回支付单审核?撤回后将重置为「待审核」状态。","撤回支付单审核",{type:"warning",confirmButtonText:"确认撤回",cancelButtonText:"取消"}),await di({id:t.id}),A.msgSuccess("支付单审核已撤回"),K(),X.value&&((e=c.value)==null?void 0:e.id)===t.id)try{const n=await Z({id:t.id}),u=(n==null?void 0:n.data)??n??null;u&&(c.value=u)}catch{}}catch{}}const wt=x(!1),Vt=x(!1),h=x(null),qa=x(null),Ne=x(!1),St=V(()=>{var e;const t=(e=h.value)==null?void 0:e.herbs;return Array.isArray(t)?t:[]}),Ol=V(()=>{const t=h.value;if(!t||(t.prescription_type||"浓缩水丸")!=="浓缩水丸")return null;const e=Number(t.medication_days??t.usage_days??t.dose_count),n=Number(t.times_per_day),u=Number(t.dosage_amount),d=Number(t.dosage_bag_count)>0?Number(t.dosage_bag_count):1;return!Number.isFinite(e)||!Number.isFinite(n)||!Number.isFinite(u)||e<=0||n<=0||u<=0?null:e*n*u*d}),Nt=t=>String(t).padStart(2,"0"),Rl=V(()=>{const t=h.value;if(!t)return"—";const e=t.create_time??t.update_time??null;if(e){const n=String(e).length===10?Number(e)*1e3:Number(e),u=new Date(n);if(!isNaN(u.getTime()))return`${u.getFullYear()}-${Nt(u.getMonth()+1)}-${Nt(u.getDate())} ${Nt(u.getHours())}:${Nt(u.getMinutes())}`}return t.prescription_date||"—"}),El=V(()=>{const t=h.value;if(!t)return"—";const e=String(t.sn??"").trim();if(e)return e;const n=String(t.visit_no??"").trim();return n||"—"}),$l=V(()=>{const t=h.value;if(!t)return"—";const e=Number(t.appointment_id);return Number.isFinite(e)&&e>0?String(e):"—"}),Ma=V(()=>{const t=h.value;return t?String(t.order_no??"").trim():""}),Dl=V(()=>{const t=h.value;if(!t)return"—";if(t.recipient_text)return t.recipient_text;const e=[];(t.recipient_name||t.patient_name)&&e.push(t.recipient_name||t.patient_name),(t.recipient_phone||t.phone)&&e.push(t.recipient_phone||t.phone);let n=t.region;return Array.isArray(n)&&(n=n.filter(Boolean).join("")),n&&e.push(String(n)),t.shipping_address?e.push(String(t.shipping_address)):t.address&&e.push(String(t.address)),e.length?e.join(","):"—"}),Ba=V(()=>{var e;const t=Number((e=h.value)==null?void 0:e.dose_count);return Number.isFinite(t)&&t>0?t:1}),zl=V(()=>{const e=St.value.reduce((n,u)=>n+(Number(u==null?void 0:u.dosage)||0),0);return He(e)}),Ul=t=>{const e=Number(t)||0;return He(e*Ba.value)},Fl=V(()=>{const t=h.value;if(!t)return"—";const e=t.prescription_type||"浓缩水丸";return/丸|散|膏|片/.test(e)?`浓缩丸-${e}`:e}),jl=V(()=>{const t=h.value;if(!t)return"—";if(t.usage_text)return t.usage_text;const e=Number(t.times_per_day)>0?Number(t.times_per_day):3,n=t.dosage_amount!=null?Number(t.dosage_amount):10,u=t.dosage_unit||"g",d=t.usage_way||"温水送服",f=t.usage_time||"",k=[];if(k.push(`每天${e}次`),(t.prescription_type||"浓缩水丸")==="浓缩水丸"){const y=Number(t.dosage_bag_count)>0?Number(t.dosage_bag_count):1;k.push(`一次${y}袋`),k.push(`每袋${n}${u}`)}else k.push(`一次${n}${u}`);return k.push(d),f&&k.push(f),k.join(", ")}),Il=V(()=>{const t=Ol.value;if(typeof t=="number"&&isFinite(t)&&t>0)return He(t);const e=h.value;if(!e)return"";const n=e.out_pellet||e.total_weight;if(n&&Number(n)>0)return He(Number(n));const u=St.value;if(!u.length)return"";const d=u.reduce((f,k)=>f+(Number(k==null?void 0:k.dosage)||0),0);return He(d*Ba.value)}),Ha=V(()=>{const t=h.value;return t&&t.medical_advice||""}),Ga=V(()=>{const t=h.value;if(!t)return"";const e=[];return e.push(`共${St.value.length}味药`),t.usage_notes&&e.push(String(t.usage_notes)),t.remark&&e.push(String(t.remark)),e.join(" ")}),Wa=V(()=>{const t=h.value;return t&&(t.pharmacy_remark||t.pharmacy_note)||""}),Ka=V(()=>{const t=Il.value;return t?`${t}克`:""});function He(t){return isFinite(t)?Number.isInteger(t)?String(t):t.toFixed(2).replace(/\.?0+$/,""):"0"}function Ya(t){if(!t)return"";const e=new Date(t*1e3);return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")} ${String(e.getHours()).padStart(2,"0")}:${String(e.getMinutes()).padStart(2,"0")}`}function Ll(t){return t?Ya(t):"—"}function ql(t){return t===1||t==="1"?"男":t===0||t==="0"?"女":"—"}function Ml(t){return t==null||t===""?"—":`${t}岁`}function Bl(){Qa(_)}async function Qa(t){if(!t.prescription_id){A.msgWarning("该订单未关联处方");return}wt.value=!0,Vt.value=!0,h.value=null;try{const e=await pi({id:t.prescription_id}),n=(e==null?void 0:e.data)??e??null;if(n){const u=t.medication_days,d={...n};u!=null&&String(u).trim()!==""&&(d.medication_days=u),t.order_no&&!d.order_no&&(d.order_no=t.order_no),t.recipient_name&&!d.recipient_name&&(d.recipient_name=t.recipient_name),t.recipient_phone&&!d.recipient_phone&&(d.recipient_phone=t.recipient_phone),t.shipping_address&&!d.shipping_address&&(d.shipping_address=t.shipping_address),t.amount!=null&&d.order_amount==null&&(d.order_amount=t.amount),t.dose_count!=null&&String(t.dose_count).trim()!==""&&Number(t.dose_count)>0&&(d.dose_count=Number(t.dose_count)),t.dose_unit!=null&&String(t.dose_unit).trim()!==""&&(d.dose_unit=String(t.dose_unit));const f=t.linked_appointment;(!d.appointment_id||Number(d.appointment_id)<=0)&&f&&typeof f=="object"&&Number(f.id)>0&&(d.appointment_id=Number(f.id)),h.value=d}else h.value=null}catch(e){A.msgError((e==null?void 0:e.message)||"加载处方详情失败"),wt.value=!1}finally{Vt.value=!1}}async function Hl(t){const e=t.querySelectorAll('img[src^="http"]'),n=Array.from(e).map(async u=>{try{const d=await fetch(u.src,{mode:"cors"});if(!d.ok)return;const f=await d.blob(),k=await new Promise((y,F)=>{const J=new FileReader;J.onload=()=>y(J.result),J.onerror=F,J.readAsDataURL(f)});u.src=k}catch{}});await Promise.allSettled(n)}async function Ja(){await Ot();const t=qa.value;if(!t)throw new Error("未找到处方笺内容");return t.scrollIntoView({behavior:"instant",block:"nearest"}),await Hl(t),await new Promise(e=>requestAnimationFrame(()=>e(null))),await new Promise(e=>setTimeout(e,250)),_i(t,{scale:2,useCORS:!0,allowTaint:!1,logging:!1,backgroundColor:"#ffffff",windowWidth:t.scrollWidth,windowHeight:t.scrollHeight,width:t.scrollWidth,height:t.scrollHeight,ignoreElements:e=>e instanceof HTMLElement&&e.classList.contains("cf-slip-no-export")})}function Xa(){var n;const t=(n=h.value)==null?void 0:n.patient_name;return`处方_${typeof t=="string"&&t.trim()?t.trim().replace(/[\\/:*?"<>|]/g,"_"):"未命名"}_${Date.now()}`}async function Gl(){if(h.value){Ne.value=!0;try{const t=await Ja(),e=document.createElement("a");e.download=`${Xa()}.png`,e.href=t.toDataURL("image/png"),e.click(),A.msgSuccess("图片已下载")}catch{A.msgError("下载图片失败")}finally{Ne.value=!1}}}async function Wl(){if(h.value){Ne.value=!0;try{const t=await Ja(),e=t.toDataURL("image/jpeg",.95),n=new Zl({orientation:"portrait",unit:"mm",format:"a4"}),u=210,d=297,f=u,k=t.height*f/t.width;if(k<=d)n.addImage(e,"JPEG",0,0,f,k);else{let y=k,F=0;for(;y>0;)n.addImage(e,"JPEG",0,F,f,k),y-=d,F-=d,y>0&&n.addPage()}n.save(`${Xa()}.pdf`),A.msgSuccess("PDF已下载")}catch{A.msgError("下载PDF失败")}finally{Ne.value=!1}}}return(t,e)=>{const n=en,u=tn,d=sn,f=nn,k=rn,y=un,F=on,J=dn,w=pn,U=ln,re=cn,ve=fn,Ct=mn,Za=_n,la=jn,Ge=vn,le=gn,oe=bn,We=yn,E=kn,pe=xn,S=wn,Ke=hn,D=Sn,Pt=Vn,na=Nn,es=Pn,ts=Cn,ia=An,Ce=Tn,ce=On,as=Rn,Kl=En,Yl=Dn,Ql=$n,Jl=zn,Pe=Fn,ra=Un,ge=an,q=ki("perms");return o(),m("div",Vi,[e[249]||(e[249]=a("header",{class:"po-h5-hero","aria-label":"页面概览"},[a("div",{class:"po-h5-hero__text"},[a("h1",{class:"po-h5-hero__title"},"业务订单"),a("p",{class:"po-h5-hero__sub"},"履约、双审与收款一览;点卡片进入详情")])],-1)),s(n,{class:"po-h5-surface po-h5-surface--chips !mb-3 !border-none shadow-none",shadow:"never"},{default:l(()=>[a("div",Si,[_e.value?(o(),m("div",Ni,[e[85]||(e[85]=a("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"处方审核",-1)),(o(),m($,null,B(Ss,i=>a("div",{key:i.value,class:I(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",b.prescription_audit_status===i.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:P=>Cs(i.value)},[a("span",Pi,r(i.label),1)],10,Ci)),64))])):v("",!0),a("div",Ai,[e[86]||(e[86]=a("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"支付单审核",-1)),(o(),m($,null,B(Ns,i=>a("div",{key:i.value,class:I(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",b.payment_slip_audit_status===i.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:P=>Ps(i.value)},[a("span",Oi,r(i.label),1)],10,Ti)),64))]),a("div",Ri,[e[87]||(e[87]=a("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"发货状态",-1)),(o(),m($,null,B(bs,i=>a("div",{key:"fs-"+String(i.value),class:I(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",b.fulfillment_status===i.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:P=>xs(i.value)},[a("span",$i,r(i.label),1)],10,Ei)),64))]),a("div",Di,[e[88]||(e[88]=a("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"供货方式",-1)),(o(),m($,null,B(ks,i=>a("div",{key:"sm-"+String(i.value),class:I(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",b.supply_mode===i.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:P=>hs(i.value)},[a("span",Ui,r(i.label),1)],10,zi)),64))]),a("div",Fi,[e[89]||(e[89]=a("span",{class:"text-gray-500 text-sm font-medium w-20 shrink-0"},"快递方式",-1)),(o(),m($,null,B(ws,i=>a("div",{key:"ec-"+String(i.value),class:I(["px-4 py-1.5 rounded-lg cursor-pointer transition-all duration-200 select-none text-sm",b.express_company===i.value?"bg-primary text-white shadow-md":"bg-gray-50 text-gray-600 hover:bg-gray-100"]),onClick:P=>Vs(i.value)},[a("span",Ii,r(i.label),1)],10,ji)),64))])])]),_:1}),s(n,{class:"po-h5-surface po-filter-card !mb-3 !border-none shadow-none",shadow:"never"},{default:l(()=>[T((o(),m("div",Li,[a("div",qi,[e[90]||(e[90]=a("div",{class:"po-stat-deco po-stat-deco--o pointer-events-none absolute -right-6 -top-8 h-28 w-28 rounded-full opacity-40"},null,-1)),a("div",Mi,[a("div",null,[a("div",Bi,[s(u,{size:16,class:"text-sky-500"},{default:l(()=>[s(R(In))]),_:1}),p(" "+r(ne.value.orderHeading),1)]),a("div",Hi,[a("div",Gi," ¥"+r(ne.value.orderPerformanceStr),1),a("div",Wi,[a("span",null,"合计 ¥"+r(ne.value.orderStr),1),a("span",Ki,"已取消 ¥"+r(ne.value.orderCancelledStr),1)])])]),a("div",Yi,[s(u,{size:20},{default:l(()=>[s(R(Ln))]),_:1})])]),a("p",Qi,r(ne.value.periodLine),1)]),a("div",Ji,[e[91]||(e[91]=a("div",{class:"po-stat-deco po-stat-deco--p pointer-events-none absolute -right-6 -top-8 h-28 w-28 rounded-full opacity-40"},null,-1)),a("div",Xi,[a("div",null,[a("div",Zi,[s(u,{size:16,class:"text-emerald-500"},{default:l(()=>[s(R(qn))]),_:1}),p(" "+r(ne.value.payHeading),1)]),a("div",er,[a("div",tr," ¥"+r(ne.value.payPerformanceStr),1),a("div",ar,[a("span",null,"合计 ¥"+r(ne.value.payStr),1),a("span",sr,"已取消 ¥"+r(ne.value.payCancelledStr),1)])])]),a("div",lr,[s(u,{size:20},{default:l(()=>[s(R(Mn))]),_:1})])]),a("p",nr,r(ne.value.periodLine),1)])])),[[ge,R(te).loading]]),e[95]||(e[95]=a("p",{class:"po-h5-stats-hint text-center text-[12px] leading-snug text-slate-500 px-1 -mt-2 mb-3"},[p(" 上方为接口返回的"),a("strong",{class:"text-slate-600 font-medium"},"业绩汇总"),p("(未选创建日期时为今日;选了则为该区间);下方列表是当前筛选条件下的订单,"),a("strong",{class:"text-slate-600 font-medium"},"条数与金额和上面不必相等"),p("。 ")],-1)),a("div",{class:"po-filter-toggle",onClick:e[0]||(e[0]=i=>nt.value=!nt.value)},[a("div",ir,[s(u,null,{default:l(()=>[s(R(oa))]),_:1}),e[92]||(e[92]=a("span",null,"筛选条件",-1)),xa.value>0?(o(),g(d,{key:0,size:"small",type:"primary",effect:"dark",round:""},{default:l(()=>[p(r(xa.value),1)]),_:1})):v("",!0)]),s(u,{class:I(["po-filter-toggle__arrow",{"is-open":!nt.value}])},{default:l(()=>[s(R(ss))]),_:1},8,["class"])]),T(s(U,{class:"ls-form",model:b,inline:""},{default:l(()=>[s(f,{class:"w-[360px] min-w-[240px] max-w-full",label:"创建时间"},{default:l(()=>[s(Kn,{startTime:b.start_time,"onUpdate:startTime":e[1]||(e[1]=i=>b.start_time=i),endTime:b.end_time,"onUpdate:endTime":e[2]||(e[2]=i=>b.end_time=i),"picker-type":"daterange","value-format":"YYYY-MM-DD","start-placeholder":"开始日期","end-placeholder":"结束日期",class:"!w-full"},null,8,["startTime","endTime"])]),_:1}),s(f,{class:"w-[260px]",label:"订单号"},{default:l(()=>[s(k,{modelValue:b.order_no,"onUpdate:modelValue":e[3]||(e[3]=i=>b.order_no=i),placeholder:"业务订单号",clearable:"",onKeyup:Xe(R(G),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),s(f,{class:"w-[140px]",label:"处方ID"},{default:l(()=>[s(k,{modelValue:b.prescription_id,"onUpdate:modelValue":e[4]||(e[4]=i=>b.prescription_id=i),placeholder:"处方ID",clearable:"",onKeyup:Xe(R(G),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),s(f,{class:"w-[220px]",label:"患者"},{default:l(()=>[s(k,{modelValue:b.patient_keyword,"onUpdate:modelValue":e[5]||(e[5]=i=>b.patient_keyword=i),placeholder:"姓名 / 手机号",clearable:"",onKeyup:Xe(R(G),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),s(f,{class:"w-[220px]",label:"快递"},{default:l(()=>[s(k,{modelValue:b.express_keyword,"onUpdate:modelValue":e[6]||(e[6]=i=>b.express_keyword=i),placeholder:"快递单号 / 公司",clearable:"",onKeyup:Xe(R(G),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),s(f,{class:"w-[200px]",label:"医生"},{default:l(()=>[s(F,{modelValue:b.doctor_id,"onUpdate:modelValue":e[7]||(e[7]=i=>b.doctor_id=i),clearable:"",filterable:"",placeholder:"开方医生",class:"!w-full"},{default:l(()=>[(o(!0),m($,null,B(Et.value,i=>(o(),g(y,{key:i.id,label:i.name,value:i.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),s(f,{class:"w-[220px] min-w-[200px]",label:"医助部门"},{default:l(()=>[s(J,{modelValue:b.assistant_dept_id,"onUpdate:modelValue":e[8]||(e[8]=i=>b.assistant_dept_id=i),data:et.value,class:"!w-full",clearable:"",filterable:"","check-strictly":"","default-expand-all":!0,"node-key":"id",props:_s,placeholder:"医助部门(选父级含子级)",onChange:Os},null,8,["modelValue","data"])]),_:1}),s(f,{class:"w-[200px]",label:"医助"},{default:l(()=>[s(F,{modelValue:b.assistant_id,"onUpdate:modelValue":e[9]||(e[9]=i=>b.assistant_id=i),clearable:"",filterable:"",placeholder:"诊单医助",class:"!w-full"},{default:l(()=>[(o(!0),m($,null,B(ma.value,i=>(o(),g(y,{key:i.id,label:i.name,value:i.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),s(f,null,{default:l(()=>[s(w,{type:"primary",onClick:R(G)},{default:l(()=>[...e[93]||(e[93]=[p("查询",-1)])]),_:1},8,["onClick"]),s(w,{onClick:Rs},{default:l(()=>[...e[94]||(e[94]=[p("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"]),[[At,!nt.value]])]),_:1}),T((o(),g(n,{class:"po-h5-surface po-table-card !mt-0 !border-none shadow-none",shadow:"never"},{default:l(()=>[a("div",rr,[a("div",or,[a("div",ur,[e[96]||(e[96]=a("span",{class:"po-table-title text-gray-800"},"订单列表",-1)),a("span",dr,"共 "+r(R(te).count)+" 条",1)]),a("div",pr,[a("div",{class:I(["po-focus-board__item is-pending-rx",{"is-active":ee.value==="pendingRx"}]),onClick:e[10]||(e[10]=i=>tt("pendingRx"))},[e[97]||(e[97]=a("span",{class:"po-focus-board__label"},"待处方审核",-1)),a("strong",cr,r(at.value.pendingRx),1)],2),a("div",{class:I(["po-focus-board__item is-pending-pay",{"is-active":ee.value==="pendingPay"}]),onClick:e[11]||(e[11]=i=>tt("pendingPay"))},[e[98]||(e[98]=a("span",{class:"po-focus-board__label"},"待支付审核",-1)),a("strong",_r,r(at.value.pendingPay),1)],2),a("div",{class:I(["po-focus-board__item is-pending-ship",{"is-active":ee.value==="pendingShip"}]),onClick:e[12]||(e[12]=i=>tt("pendingShip"))},[e[99]||(e[99]=a("span",{class:"po-focus-board__label"},"待发货",-1)),a("strong",mr,r(at.value.pendingShip),1)],2),a("div",{class:I(["po-focus-board__item is-risk",{"is-active":ee.value==="risk"}]),onClick:e[13]||(e[13]=i=>tt("risk"))},[e[100]||(e[100]=a("span",{class:"po-focus-board__label"},"重点异常",-1)),a("strong",fr,r(at.value.risk),1)],2)])])]),a("div",vr,[!R(te).lists.length&&!R(te).loading?(o(),g(re,{key:0,description:"暂无订单","image-size":88})):v("",!0),(o(!0),m($,null,B(R(te).lists,i=>(o(),m("div",{key:i.id,class:I(["po-card",{"po-card--focus":st&&st({row:i})==="po-row-focus","po-card--risk":st&&st({row:i})==="po-row-risk"}]),onClick:P=>Oa(i.id)},[a("div",yr,[a("div",br,[a("span",xr,r(i.order_no||"—"),1)]),a("div",kr,[s(d,{size:"small",effect:"plain",type:String(i.gancao_reciperl_order_no||"").trim()?"success":"info"},{default:l(()=>[p(r(String(i.gancao_reciperl_order_no||"").trim()?"甘草":"自营"),1)]),_:2},1032,["type"]),a("span",hr,"#"+r(i.id),1)])]),dt(i.recipient_phone,i.prescription_phone)?(o(),m("div",wr,[s(u,null,{default:l(()=>[s(R(Bn))]),_:1}),e[101]||(e[101]=a("span",null,"收货手机与处方手机不一致",-1))])):v("",!0),a("div",Vr,[a("div",Sr,[e[102]||(e[102]=a("span",{class:"po-card__label"},"收货人",-1)),a("span",Nr,r(i.recipient_name||"—"),1)]),a("div",Cr,[e[103]||(e[103]=a("span",{class:"po-card__label"},"金额",-1)),a("span",Pr,"¥"+r(i.amount),1)])]),a("div",Ar,[a("div",Tr,[e[104]||(e[104]=a("span",{class:"po-card__label"},"手机",-1)),a("span",{class:I(["po-card__value",dt(i.recipient_phone,i.prescription_phone)?"text-red-600 font-semibold":""])},r(i.recipient_phone||"—"),3)]),a("div",Or,[e[105]||(e[105]=a("span",{class:"po-card__label"},"费用类别",-1)),a("span",Rr,r(lt(i.fee_type)),1)])]),a("div",Er,[a("div",$r,[e[106]||(e[106]=a("span",{class:"po-card__label"},"处方ID",-1)),a("span",Dr,r(i.prescription_id||"—"),1)]),a("div",zr,[e[107]||(e[107]=a("span",{class:"po-card__label"},"诊单ID",-1)),a("span",Ur,r(i.diagnosis_id||"—"),1)])]),pa()&&i.internal_cost!=null&&i.internal_cost!==""?(o(),m("div",Fr,[a("div",jr,[e[108]||(e[108]=a("span",{class:"po-card__label"},"内部成本",-1)),a("span",Ir,"¥"+r(i.internal_cost),1)]),a("div",Lr,[e[109]||(e[109]=a("span",{class:"po-card__label"},"关联支付",-1)),a("span",qr,[Number(i.linked_pay_order_count)>0?(o(),m("span",Mr,r(i.linked_pay_order_count)+" 笔",1)):(o(),m("span",Br,"—"))])])])):(o(),m("div",Hr,[a("div",Gr,[e[110]||(e[110]=a("span",{class:"po-card__label"},"关联支付",-1)),a("span",Wr,[Number(i.linked_pay_order_count)>0?(o(),m("span",Kr,r(i.linked_pay_order_count)+" 笔",1)):(o(),m("span",Yr,"—"))])]),a("div",Qr,[e[111]||(e[111]=a("span",{class:"po-card__label"},"创建时间",-1)),a("span",Jr,r(me(i.create_time)),1)])])),a("div",Xr,[s(d,{type:va(i.prescription_audit_status),size:"small",class:I($t("rx",i))},{default:l(()=>[p(" 处方审: "+r(fa(i.prescription_audit_status)),1)]),_:2},1032,["type","class"]),s(d,{type:va(i.payment_slip_audit_status),size:"small",class:I($t("pay",i))},{default:l(()=>[p(" 支付审: "+r(fa(i.payment_slip_audit_status)),1)]),_:2},1032,["type","class"]),s(d,{type:$s(i.fulfillment_status),size:"small",class:I($t("fulfillment",i))},{default:l(()=>[p(r(Dt(i.fulfillment_status)),1)]),_:2},1032,["type","class"])]),a("div",Zr,[i.doctor_name?(o(),m("span",eo,"医:"+r(i.doctor_name),1)):v("",!0),i.creator_name?(o(),m("span",to,"建:"+r(i.creator_name),1)):v("",!0),pa()&&i.internal_cost!=null&&i.internal_cost!==""?v("",!0):(o(),m("span",ao,r(me(i.create_time)),1))]),a("div",{class:"po-card__actions",onClick:e[14]||(e[14]=Tt(()=>{},["stop"]))},[T((o(),g(w,{type:"primary",size:"small",onClick:P=>Oa(i.id)},{default:l(()=>[p(r(ps.value),1)]),_:1},8,["onClick"])),[[q,["tcm.prescriptionOrder/detail"]]]),Ds(i)?T((o(),g(w,{key:0,size:"small",onClick:P=>ml(i)},{default:l(()=>[...e[112]||(e[112]=[p("编辑",-1)])]),_:1},8,["onClick"])),[[q,["tcm.prescriptionOrder/edit"]]]):v("",!0),Is(i)?T((o(),g(w,{key:1,type:"success",size:"small",onClick:P=>wl(i)},{default:l(()=>[...e[113]||(e[113]=[p("改单号",-1)])]),_:1},8,["onClick"])),[[q,["tcm.prescriptionOrder/ddcode"]]]):v("",!0),zt(i)?T((o(),g(w,{key:2,type:"primary",size:"small",onClick:P=>ea(i)},{default:l(()=>[...e[114]||(e[114]=[p("发货",-1)])]),_:1},8,["onClick"])),[[q,["tcm.prescriptionOrder/ship"]]]):v("",!0),Ls(i)?(o(),g(Za,{key:3,trigger:"click",onCommand:P=>qs(P,i)},{dropdown:l(()=>[s(Ct,null,{default:l(()=>[Ut(i)?(o(),g(ve,{key:0,command:"addPayOrder"},{default:l(()=>[...e[116]||(e[116]=[p("补齐支付单",-1)])]),_:1})):v("",!0),Ft(i)?(o(),g(ve,{key:1,command:"complete"},{default:l(()=>[...e[117]||(e[117]=[p("完成订单",-1)])]),_:1})):v("",!0),ya(i)?(o(),g(ve,{key:2,command:"submitGancao"},{default:l(()=>[...e[118]||(e[118]=[p("上传药方",-1)])]),_:1})):v("",!0),ga(i)?(o(),g(ve,{key:3,command:"withdraw",divided:""},{default:l(()=>[...e[119]||(e[119]=[a("span",{class:"text-red-500"},"撤回订单",-1)])]),_:1})):v("",!0)]),_:2},1024)]),default:l(()=>[s(w,{size:"small"},{default:l(()=>[e[115]||(e[115]=p(" 更多",-1)),s(u,{class:"el-icon--right"},{default:l(()=>[s(R(ss))]),_:1})]),_:1})]),_:2},1032,["onCommand"])):v("",!0)])],10,gr))),128))]),a("div",so,[s(la,{modelValue:R(te),"onUpdate:modelValue":e[15]||(e[15]=i=>wi(te)?te.value=i:null),onChange:R(K)},null,8,["modelValue","onChange"])])]),_:1})),[[ge,R(te).loading]]),s(ia,{modelValue:X.value,"onUpdate:modelValue":e[26]||(e[26]=i=>X.value=i),class:"po-detail-drawer po-detail-drawer--h5",size:"100%",direction:"btt","destroy-on-close":"","close-on-click-modal":!1},{header:l(()=>{var i,P;return[a("div",lo,[a("div",no,[e[120]||(e[120]=a("span",{class:"po-detail-drawer-title shrink-0 text-gray-800 font-semibold text-lg"},"业务订单详情",-1)),(i=c.value)!=null&&i.order_no?(o(),g(d,{key:0,type:"primary",effect:"plain",round:"",class:"max-w-full !whitespace-normal break-all text-left leading-snug"},{default:l(()=>[p(r(c.value.order_no),1)]),_:1})):v("",!0),(P=c.value)!=null&&P.gancao_reciperl_order_no?(o(),g(d,{key:1,type:"success",effect:"plain",round:"",class:"max-w-full !whitespace-normal break-all text-left leading-snug"},{default:l(()=>[p("甘草 "+r(c.value.gancao_reciperl_order_no),1)]),_:1})):v("",!0)]),c.value?(o(),m("div",io,[zs(c.value)?T((o(),g(w,{key:0,type:"warning",size:"small",plain:"",onClick:e[16]||(e[16]=N=>$a(c.value,"prescription"))},{default:l(()=>[...e[121]||(e[121]=[p(" 处方审核 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/auditPrescription"]]]):v("",!0),Fs(c.value)?T((o(),g(w,{key:1,type:"info",size:"small",plain:"",onClick:e[17]||(e[17]=N=>Al(c.value))},{default:l(()=>[...e[122]||(e[122]=[p(" 撤回处方审核 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/auditPrescription"]]]):v("",!0),Us(c.value)?T((o(),g(w,{key:2,type:"warning",size:"small",plain:"",onClick:e[18]||(e[18]=N=>$a(c.value,"payment"))},{default:l(()=>[...e[123]||(e[123]=[p(" 支付审核 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/auditPayment"]]]):v("",!0),js(c.value)?T((o(),g(w,{key:3,type:"info",size:"small",plain:"",onClick:e[19]||(e[19]=N=>Tl(c.value))},{default:l(()=>[...e[124]||(e[124]=[p(" 撤回支付审核 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/auditPayment"]]]):v("",!0),zt(c.value)?T((o(),g(w,{key:4,type:"primary",size:"small",plain:"",onClick:e[20]||(e[20]=N=>ea(c.value))},{default:l(()=>[...e[125]||(e[125]=[p(" 确认发货 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/ship"]]]):v("",!0),Ut(c.value)?T((o(),g(w,{key:5,type:"success",size:"small",plain:"",onClick:e[21]||(e[21]=N=>Ia(c.value))},{default:l(()=>[...e[126]||(e[126]=[p(" 关联支付单 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/addPayOrder"]]]):v("",!0),Ft(c.value)?T((o(),g(w,{key:6,type:"primary",size:"small",plain:"",onClick:e[22]||(e[22]=N=>La(c.value))},{default:l(()=>[...e[127]||(e[127]=[p(" 完成订单 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/complete"]]]):v("",!0)])):v("",!0)])]}),default:l(()=>[It.value?(o(),g(Ge,{key:0,rows:12,animated:"",class:"px-6 py-4"})):c.value?(o(),m("div",ro,[Oe.value?(o(),g(le,{key:0,type:"error",closable:!1,"show-icon":"",class:"mb-4 !items-start",title:"业务订单收货手机与处方登记手机不一致"},{default:l(()=>[a("div",oo,[a("div",null,[e[128]||(e[128]=p(" 处方手机: ",-1)),a("span",uo,r(Bs.value),1)]),a("div",null,[e[129]||(e[129]=p(" 订单收货手机: ",-1)),a("span",po,r(Hs.value),1)]),e[130]||(e[130]=a("div",{class:"text-gray-600 mt-1"},"请核对是否代收货或录入错误,避免物流与回访联系错人。",-1))])]),_:1})):v("",!0),a("div",co,[s(We,{class:"po-workflow-steps",direction:"vertical",active:it.value,"finish-status":"success"},{default:l(()=>[s(oe,{title:"业务订单创建",description:me(c.value.create_time)},null,8,["description"]),s(oe,{title:"处方单双审",status:rt.value},{description:l(()=>[rt.value==="error"?(o(),m("span",_o,"处方被驳回")):rt.value==="wait"?(o(),m("span",mo,"等待审核")):rt.value==="success"?(o(),m("span",fo,"双审通过")):(o(),m("span",vo,"进行中"))]),_:1},8,["status"]),s(oe,{title:"支付单审核",status:ot.value},{description:l(()=>[ot.value==="error"?(o(),m("span",go,"支付审核驳回")):ot.value==="wait"?(o(),m("span",yo,"等待审核")):ot.value==="success"?(o(),m("span",bo,"审核通过")):(o(),m("span",xo,"进行中"))]),_:1},8,["status"]),s(oe,{title:"发货与履约",status:xe.value},{description:l(()=>{var i,P,N;return[xe.value==="process"&&Number((i=c.value)==null?void 0:i.fulfillment_status)===7?(o(),m("span",ko,"进行中")):xe.value==="process"?(o(),m("span",ho,"等待发货/补充单号")):xe.value==="wait"?(o(),m("span",wo,"待转入履约")):xe.value==="success"?(o(),m("span",Vo,r(Dt((P=c.value)==null?void 0:P.fulfillment_status)),1)):xe.value==="error"?(o(),m("span",So,r(Dt((N=c.value)==null?void 0:N.fulfillment_status)),1)):v("",!0)]}),_:1},8,["status"]),s(oe,{title:"订单完成"})]),_:1},8,["active"])]),s(pe,{gutter:16,class:"mb-5"},{default:l(()=>[s(E,{xs:12,sm:6},{default:l(()=>[s(n,{shadow:"never",class:"stat-card border border-gray-100 bg-gray-50/50"},{default:l(()=>[a("div",No,[e[132]||(e[132]=a("div",{class:"stat-title text-gray-500 text-xs"},"总金额",-1)),jt(c.value)?T((o(),g(w,{key:0,type:"primary",size:"small",link:"",onClick:ll},{default:l(()=>[...e[131]||(e[131]=[p(" 修改 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/updateAmount"]]]):v("",!0)]),a("div",Co,"¥"+r(c.value.amount),1)]),_:1})]),_:1}),s(E,{xs:12,sm:6},{default:l(()=>[s(n,{shadow:"never",class:"stat-card border border-gray-100 bg-gray-50/50"},{default:l(()=>[e[133]||(e[133]=a("div",{class:"stat-title text-gray-500 text-xs mb-1"},"已付总额",-1)),a("div",Po,"¥"+r(c.value.linked_pay_paid_total||0),1)]),_:1})]),_:1}),s(E,{xs:12,sm:6},{default:l(()=>[s(n,{shadow:"never",class:"stat-card border border-gray-100 bg-gray-50/50"},{default:l(()=>[e[134]||(e[134]=a("div",{class:"stat-title text-gray-500 text-xs mb-1"},"需代收",-1)),a("div",{class:I(["stat-value font-bold text-xl",ka.value>0?"text-amber-600":"text-gray-500"])}," ¥"+r(de(ka.value)),3)]),_:1})]),_:1}),s(E,{xs:12,sm:6},{default:l(()=>[s(n,{shadow:"never",class:"stat-card border border-gray-100 bg-gray-50/50"},{default:l(()=>[e[135]||(e[135]=a("div",{class:"stat-title text-gray-500 text-xs mb-1"},"已付笔数",-1)),a("div",Ao,r(Lt.value.length)+" 笔",1)]),_:1})]),_:1})]),_:1}),a("div",To,[s(n,{shadow:"never",class:"po-panel po-panel-rx border-gray-100 h-full relative overflow-hidden"},{header:l(()=>[a("div",Eo,[a("div",$o,[e[138]||(e[138]=a("span",{class:"po-panel-rx-header__title font-medium text-[15px] leading-snug"},"处方详情",-1)),a("span",Do," ID: "+r(c.value.prescription_id||"—"),1)]),c.value.doctor_name?(o(),m("div",zo,[e[139]||(e[139]=p(" 开方人:",-1)),a("span",Uo,r(c.value.doctor_name),1)])):v("",!0),a("div",Fo,[c.value.prescription_id&&C.value&&!String(c.value.prescription_detail_error||"").trim()?T((o(),g(w,{key:0,type:"default",size:"small",link:"",onClick:tl},{default:l(()=>[...e[140]||(e[140]=[p(" 改患者信息 ",-1)])]),_:1})),[[q,["tcm.prescriptionOrder/patchPrescriptionPatient"]]]):v("",!0),c.value.prescription_id&&_e.value?(o(),g(w,{key:1,type:"primary",size:"small",link:"",onClick:e[23]||(e[23]=i=>Qa(c.value))},{default:l(()=>[...e[141]||(e[141]=[p(" 详细 ",-1)])]),_:1})):v("",!0),c.value.id&&_e.value?(o(),g(w,{key:2,type:"warning",size:"small",link:"",loading:Se.value,icon:R(oa),onClick:kl},{default:l(()=>[...e[142]||(e[142]=[p(" 测试价格 ",-1)])]),_:1},8,["loading","icon"])):v("",!0)])])]),default:l(()=>[c.value.prescription_audit_status===1?(o(),m("div",Oo,[...e[136]||(e[136]=[a("div",{class:"stamp-inner"},"审核通过",-1)])])):v("",!0),c.value.prescription_audit_status===2?(o(),m("div",Ro,[...e[137]||(e[137]=[a("div",{class:"stamp-inner"},"已驳回",-1)])])):v("",!0),String(c.value.prescription_detail_error||"").trim()?(o(),g(le,{key:2,title:c.value.prescription_detail_error,type:"warning",closable:!1,"show-icon":"",class:"mb-3"},null,8,["title"])):C.value?(o(),m($,{key:3},[s(Ke,{column:1,border:"",size:"small",class:"po-desc bg-white"},{default:l(()=>[s(S,{label:"处方编号",span:2},{default:l(()=>[p(r(C.value.sn||"—"),1)]),_:1}),s(S,{label:"患者"},{default:l(()=>[p(r(C.value.patient_name||"—"),1)]),_:1}),s(S,{label:"性别 / 年龄"},{default:l(()=>[p(r(C.value.gender_desc||"—")+" · "+r(C.value.age??"—")+"岁 ",1)]),_:1}),s(S,{label:"手机"},{default:l(()=>[a("span",{class:I(Oe.value?"rx-phone-mismatch text-red-600 font-bold":"")},r(C.value.phone||"—"),3),Oe.value?(o(),g(d,{key:0,type:"danger",size:"small",effect:"dark",class:"ml-2 align-middle"},{default:l(()=>[...e[143]||(e[143]=[p(" 与订单手机不一致 ",-1)])]),_:1})):v("",!0)]),_:1}),s(S,{label:"处方日期"},{default:l(()=>[p(r(C.value.prescription_date||"—"),1)]),_:1}),s(S,{label:"医师"},{default:l(()=>[p(r(C.value.doctor_name||"—"),1)]),_:1}),s(S,{label:"类型"},{default:l(()=>[p(r(C.value.prescription_type||"—"),1)]),_:1}),s(S,{label:"临床诊断",span:2},{default:l(()=>[p(r(C.value.clinical_diagnosis||"—"),1)]),_:1}),_e.value?(o(),g(S,{key:0,label:"剂数 / 用法",span:2},{default:l(()=>[p(r(c.value.dose_count??C.value.dose_count??"—")+" "+r(c.value.dose_unit||"剂")+" · "+r(C.value.usage_instruction||C.value.usage_method||"—"),1)]),_:1})):v("",!0),s(S,{label:"处方金额"},{default:l(()=>[a("span",jo,"¥"+r(C.value.amount??"—"),1)]),_:1}),s(S,{label:"消费者审核"},{default:l(()=>[s(d,{type:Ys(C.value.audit_status),size:"small"},{default:l(()=>[p(r(Ks(C.value.audit_status)),1)]),_:1},8,["type"])]),_:1}),s(S,{label:"用量"},{default:l(()=>[C.value.dosage_amount?(o(),m($,{key:0},[p(r(C.value.dosage_amount)+r(C.value.dosage_unit||"g")+" ",1),C.value.prescription_type==="浓缩水丸"?(o(),m($,{key:0},[p(" · "+r(Number(C.value.dosage_bag_count)>0?Number(C.value.dosage_bag_count):1)+"袋 ",1)],64)):v("",!0),C.value.prescription_type==="饮片"&&C.value.need_decoction!==null?(o(),m("span",Io," ("+r(C.value.need_decoction?"代煎":"不代煎")+") ",1)):v("",!0)],64)):(o(),m($,{key:1},[p("—")],64))]),_:1}),s(S,{label:"服用方式"},{default:l(()=>[a("div",Lo,[a("div",null,[e[144]||(e[144]=a("span",{class:"text-gray-500"},"每天次数:",-1)),p(" "+r(C.value.times_per_day?C.value.times_per_day+" 次":"—"),1)]),a("div",null,[e[145]||(e[145]=a("span",{class:"text-gray-500"},"处方开立:",-1)),p(" "+r(C.value.usage_days!=null&&C.value.usage_days!==""?C.value.usage_days+" 天":"—"),1)]),a("div",null,[e[146]||(e[146]=a("span",{class:"text-gray-500"},"订单设置:",-1)),p(" "+r(c.value.medication_days!=null&&String(c.value.medication_days).trim()!==""?c.value.medication_days+" 天":"—"),1)])])]),_:1}),s(S,{label:"状态",span:2},{default:l(()=>[s(d,{type:Number(C.value.void_status)===1?"danger":"success",size:"small"},{default:l(()=>[p(r(Number(C.value.void_status)===1?"已作废":"正常"),1)]),_:1},8,["type"])]),_:1})]),_:1}),Gs.value?(o(),m("div",qo,[e[147]||(e[147]=a("div",{class:"text-xs font-medium text-gray-500 mb-2 px-1"},"药材明细",-1)),Va.value.length?(o(),g(Pt,{key:0,data:Va.value,size:"small",border:"",stripe:"","max-height":"260"},{default:l(()=>[s(D,{type:"index",label:"#",width:"48",align:"center"}),s(D,{prop:"name",label:"药名","min-width":"120","show-overflow-tooltip":""}),s(D,{prop:"dosage",label:"用量(g)",width:"96",align:"right"})]),_:1},8,["data"])):(o(),g(re,{key:1,description:"无处方药材明细","image-size":64}))])):v("",!0)],64)):(o(),g(re,{key:4,description:"无处方数据","image-size":72}))]),_:1}),a("div",Mo,[s(n,{shadow:"never",class:"po-panel border-gray-100"},{header:l(()=>[...e[148]||(e[148]=[a("div",{class:"flex items-center justify-between"},[a("span",{class:"font-medium text-[15px]"},"未关联的收款记录"),a("span",{class:"text-xs text-gray-400"},"本诊单下未被占用的支付单")],-1)])]),default:l(()=>[ke.value.length?(o(),g(Pt,{key:0,data:ke.value,size:"small",border:"",stripe:"",class:"po-pay-table","max-height":"280"},{default:l(()=>[s(D,{prop:"id",label:"ID",width:"70"}),s(D,{prop:"order_no",label:"单号","min-width":"135","show-overflow-tooltip":""}),s(D,{label:"类型",width:"90"},{default:l(({row:i})=>[p(r(i.order_type_desc||lt(i.order_type)),1)]),_:1}),s(D,{label:"金额",width:"86",align:"right"},{default:l(({row:i})=>[a("span",Bo,"¥"+r(i.amount),1)]),_:1}),s(D,{label:"状态",width:"100",align:"center"},{default:l(({row:i})=>[s(d,{type:Na(i.status),size:"small"},{default:l(()=>[p(r(i.status_desc||ba(i.status)),1)]),_:2},1032,["type"]),i.is_exempt===1?(o(),g(d,{key:0,type:"warning",size:"small",class:"ml-1"},{default:l(()=>[...e[149]||(e[149]=[p("豁免",-1)])]),_:1})):v("",!0)]),_:1}),s(D,{prop:"creator_name",label:"创建人",width:"80","show-overflow-tooltip":""}),s(D,{label:"创建时间","min-width":"136"},{default:l(({row:i})=>[p(r(Ca(i.create_time)),1)]),_:1})]),_:1},8,["data"])):(o(),g(re,{key:1,description:"无未关联的收款单","image-size":60}))]),_:1}),s(n,{shadow:"never",class:"po-panel po-panel-pay border-gray-100 relative overflow-hidden"},{header:l(()=>[a("div",Wo,[a("div",Ko,[e[153]||(e[153]=a("span",{class:"font-medium text-[15px]"},"关联收款记录",-1)),c.value.creator_name?(o(),m("span",Yo,[e[152]||(e[152]=p(" 创建人:",-1)),a("span",Qo,r(c.value.creator_name),1)])):v("",!0)])])]),default:l(()=>[c.value.payment_slip_audit_status===1?(o(),m("div",Ho,[...e[150]||(e[150]=[a("div",{class:"stamp-inner"},"审核通过",-1)])])):v("",!0),c.value.payment_slip_audit_status===2?(o(),m("div",Go,[...e[151]||(e[151]=[a("div",{class:"stamp-inner"},"已驳回",-1)])])):v("",!0),Lt.value.length?(o(),g(Pt,{key:2,data:Lt.value,size:"small",border:"",stripe:"",class:"po-pay-table","max-height":"280"},{default:l(()=>[s(D,{prop:"id",label:"ID",width:"70"}),s(D,{prop:"order_no",label:"单号","min-width":"135","show-overflow-tooltip":""}),s(D,{label:"类型",width:"90"},{default:l(({row:i})=>[p(r(i.order_type_desc||lt(i.order_type)),1)]),_:1}),s(D,{label:"金额",width:"86",align:"right"},{default:l(({row:i})=>[a("span",Jo,"¥"+r(i.amount),1)]),_:1}),s(D,{label:"状态",width:"100",align:"center"},{default:l(({row:i})=>[s(d,{type:Na(i.status),size:"small"},{default:l(()=>[p(r(i.status_desc||ba(i.status)),1)]),_:2},1032,["type"]),i.is_exempt===1?(o(),g(d,{key:0,type:"warning",size:"small",class:"ml-1"},{default:l(()=>[...e[154]||(e[154]=[p("豁免",-1)])]),_:1})):v("",!0)]),_:1}),s(D,{prop:"creator_name",label:"创建人",width:"80","show-overflow-tooltip":""}),s(D,{label:"创建时间","min-width":"136"},{default:l(({row:i})=>[p(r(Ca(i.create_time)),1)]),_:1})]),_:1},8,["data"])):(o(),g(re,{key:3,description:"未关联收款单","image-size":60}))]),_:1})])]),s(n,{shadow:"never",class:"po-panel po-panel-biz border-gray-100 mb-4"},{header:l(()=>[...e[155]||(e[155]=[a("span",{class:"font-medium text-[15px]"},"履约与收货信息",-1)])]),default:l(()=>[s(Ke,{column:1,border:"",size:"small",class:"po-desc"},{default:l(()=>[s(S,{label:"诊单ID"},{default:l(()=>[a("div",Xo,[a("div",Zo,[e[156]||(e[156]=a("span",{class:"text-[11px] font-semibold uppercase tracking-[0.06em] text-slate-500"},"关联诊单",-1)),a("span",eu,r(c.value.diagnosis_id||"—"),1),e[157]||(e[157]=a("span",{class:"text-[12px] leading-snug text-slate-500"},"病历与体征以诊单为准,可全屏查看",-1))]),Number(c.value.diagnosis_id)>0?(o(),g(w,{key:0,type:"primary",plain:"",round:"",size:"default",class:"po-biz-diagnosis-id__btn w-full shrink-0 touch-manipulation sm:w-auto !m-0",icon:R(Hn),"aria-label":"打开关联诊单详情(患者与病历)",onClick:os},{default:l(()=>[...e[158]||(e[158]=[p(" 查看诊单详情 ",-1)])]),_:1},8,["icon"])):v("",!0)])]),_:1}),s(S,{label:"创建时间"},{default:l(()=>[p(r(me(c.value.create_time)),1)]),_:1}),s(S,{label:"收货人"},{default:l(()=>[p(r(c.value.recipient_name),1)]),_:1}),s(S,{label:"挂号关联",span:3},{default:l(()=>[W.value?(o(),m($,{key:0},[a("div",tu,[a("span",null,[e[159]||(e[159]=p("预约 ",-1)),a("span",au,"#"+r(W.value.id),1)]),a("span",su,"时间:"+r(W.value.appointment_date)+" "+r(W.value.period)+" "+r(W.value.appointment_time),1),s(d,{size:"small",type:"info"},{default:l(()=>[p(r(W.value.appointment_type_desc),1)]),_:1}),s(d,{size:"small"},{default:l(()=>[p(r(W.value.status_desc),1)]),_:1}),W.value.doctor_name?(o(),m("span",lu,"接诊:"+r(W.value.doctor_name),1)):v("",!0),W.value.channel_source?(o(),m("span",nu,"渠道:"+r(W.value.channel_source),1)):v("",!0),wa.value?(o(),g(d,{key:2,size:"small",effect:"plain"},{default:l(()=>[p(r(wa.value),1)]),_:1})):v("",!0)]),String(W.value.remark||"").trim()?(o(),m("p",iu," 备注:"+r(W.value.remark),1)):v("",!0)],64)):(o(),m("span",ru,"暂无挂号预约记录(未绑定或诊单下无预约)"))]),_:1}),s(S,{label:"收货手机"},{default:l(()=>[a("span",{class:I(Oe.value?"text-red-600 font-bold font-mono":"font-mono")},r(c.value.recipient_phone||"—"),3),Oe.value?(o(),g(d,{key:0,type:"danger",size:"small",effect:"dark",class:"ml-2 align-middle"},{default:l(()=>[...e[160]||(e[160]=[p(" 与处方手机不一致 ",-1)])]),_:1})):v("",!0)]),_:1}),s(S,{label:"收货地址",span:2},{default:l(()=>[p(r(Ws.value),1)]),_:1}),s(S,{label:"复诊"},{default:l(()=>[p(r(c.value.is_follow_up?"是":"否"),1)]),_:1}),s(S,{label:"用药疗程"},{default:l(()=>[p(r(c.value.medication_days?c.value.medication_days+" 天":"—"),1)]),_:1}),s(S,{label:"上次医护"},{default:l(()=>[p(r(c.value.prev_staff||"—"),1)]),_:1}),s(S,{label:"服务渠道"},{default:l(()=>[p(r(c.value.service_channel||"—"),1)]),_:1}),s(S,{label:"服务套餐"},{default:l(()=>[p(r(Es(c.value.service_package)),1)]),_:1}),s(S,{label:"费用类别"},{default:l(()=>[p(r(lt(c.value.fee_type)),1)]),_:1}),c.value.internal_cost!=null&&c.value.internal_cost!==""?(o(),g(S,{key:0,label:"内部成本"},{default:l(()=>[p(" ¥"+r(c.value.internal_cost),1)]),_:1})):v("",!0),s(S,{label:"快递单号",span:c.value.internal_cost!=null&&c.value.internal_cost!==""?1:2},{default:l(()=>[p(r(c.value.tracking_number||"—"),1)]),_:1},8,["span"]),s(S,{label:"快递公司"},{default:l(()=>[p(r(Zs(c.value.express_company)),1)]),_:1}),T((o(),g(S,{label:"备注",span:3},{default:l(()=>[p(r(c.value.remark_extra||"—"),1)]),_:1})),[[q,["tcm.prescriptionOrder/editRemarkExtra"]]]),s(S,{label:"医助备注",span:3},{default:l(()=>[p(r(c.value.remark_assistant||"—"),1)]),_:1}),s(S,{label:"处方审核意见",span:3},{default:l(()=>[a("span",ou,r(c.value.prescription_audit_remark||"—"),1)]),_:1}),s(S,{label:"支付审核意见",span:3},{default:l(()=>[a("span",uu,r(c.value.payment_slip_audit_remark||"—"),1)]),_:1})]),_:1})]),_:1}),String(c.value.tracking_number||"").trim()?(o(),g(n,{key:1,shadow:"never",class:"po-panel po-panel-logistics border-gray-100"},{header:l(()=>[...e[161]||(e[161]=[a("span",{class:"font-medium text-[15px]"},"物流轨迹",-1)])]),default:l(()=>{var i,P,N,j,Ye,Qe;return[e[167]||(e[167]=a("p",{class:"po-logistics-tip text-gray-400 text-xs mb-3 font-normal"}," 优先读库,无记录时走快递100。顺丰会校验单号+电话(快递100要求完整手机号更易通过);默认预填订单收货手机,若仍提示验证码错误请改成与顺丰面单一致的号码。 ",-1)),a("div",du,[s(k,{modelValue:Ee.value,"onUpdate:modelValue":e[24]||(e[24]=ue=>Ee.value=ue),clearable:"",maxlength:"20",placeholder:"收件手机(建议11位,与面单一致)",class:"po-logistics-toolbar__phone",onKeyup:Xe(Ht,["enter"])},null,8,["modelValue"]),s(F,{modelValue:Re.value,"onUpdate:modelValue":e[25]||(e[25]=ue=>Re.value=ue),placeholder:"承运商",class:"po-logistics-toolbar__carrier"},{default:l(()=>[s(y,{label:"自动识别",value:"auto"}),s(y,{label:"顺丰速运",value:"sf"}),s(y,{label:"京东快递",value:"jd"}),s(y,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"]),T((o(),g(w,{type:"primary",plain:"",size:"default",loading:pt.value,class:"po-logistics-toolbar__btn",onClick:Ht},{icon:l(()=>[s(u,null,{default:l(()=>[s(R(Gn))]),_:1})]),default:l(()=>[e[162]||(e[162]=p(" 刷新轨迹 ",-1))]),_:1},8,["loading"])),[[q,["tcm.prescriptionOrder/logisticsTrace"]]]),a("div",pu,[s(na,{href:Bt.value.sf,target:"_blank",type:"primary",underline:!1,class:"text-[12px]"},{default:l(()=>[...e[163]||(e[163]=[p("顺丰官网",-1)])]),_:1},8,["href"]),s(na,{href:Bt.value.jd,target:"_blank",type:"primary",underline:!1,class:"text-[12px]"},{default:l(()=>[...e[164]||(e[164]=[p("京东物流",-1)])]),_:1},8,["href"]),s(na,{href:Bt.value.jt,target:"_blank",type:"primary",underline:!1,class:"text-[12px]"},{default:l(()=>[...e[165]||(e[165]=[p("极兔",-1)])]),_:1},8,["href"])])]),String(((i=H.value)==null?void 0:i.hint)||"").trim()?(o(),g(le,{key:0,title:String(((P=H.value)==null?void 0:P.hint)||""),type:"info",closable:!1,class:"mb-4","show-icon":""},null,8,["title"])):v("",!0),pt.value&&!H.value?(o(),m("div",cu,[s(u,{class:"is-loading mr-1"},{default:l(()=>[s(R(Wn))]),_:1}),e[166]||(e[166]=p("正在加载物流轨迹... ",-1))])):H.value?(o(),m("div",_u,[(N=H.value)!=null&&N.state_text?(o(),m("div",mu,[a("span",fu,"状态:"+r(H.value.state_text),1),(j=H.value)!=null&&j.carrier_label?(o(),g(d,{key:0,size:"small",type:"info"},{default:l(()=>[p(r(H.value.carrier_label),1)]),_:1})):v("",!0),(Ye=H.value)!=null&&Ye.source?(o(),m("span",vu," ["+r(H.value.source==="database"?"数据库缓存":"API拉取")+"] ",1)):v("",!0),(Qe=H.value)!=null&&Qe.last_query_time?(o(),m("span",gu," 更新时间:"+r(H.value.last_query_time),1)):v("",!0)])):v("",!0),Pa.value.length?(o(),g(ts,{key:1,class:"mt-2 pl-2"},{default:l(()=>[(o(!0),m($,null,B(Pa.value,(ue,ye)=>(o(),g(es,{key:ye,type:ye===0?"primary":"info",hollow:ye!==0,timestamp:ue.time,placement:"top"},{default:l(()=>[a("span",{class:I(ye===0?"text-gray-800 font-medium":"text-gray-500")},r(ue.context),3)]),_:2},1032,["type","hollow","timestamp"]))),128))]),_:1})):(o(),g(re,{key:2,description:"暂无轨迹节点记录","image-size":64}))])):v("",!0)]}),_:1})):v("",!0),T((o(),g(n,{shadow:"never",class:"po-panel border-gray-100 mt-4"},{header:l(()=>[...e[168]||(e[168]=[a("span",{class:"font-medium text-[15px]"},"操作日志",-1)])]),default:l(()=>[he.value.length?(o(),g(ts,{key:0,class:"mt-2 pl-2"},{default:l(()=>[(o(!0),m($,null,B(he.value,(i,P)=>(o(),g(es,{key:i.id,type:P===0?"primary":"info",hollow:P!==0,timestamp:me(i.create_time),placement:"top"},{default:l(()=>[a("div",yu,[a("span",bu,r(i.admin_name),1),s(d,{size:"small",type:"info"},{default:l(()=>[p(r(Xs(i.action)),1)]),_:2},1024)]),a("span",{class:I(P===0?"text-gray-800 font-medium":"text-gray-500")},r(i.summary),3)]),_:2},1032,["type","hollow","timestamp"]))),128))]),_:1})):(o(),g(re,{key:1,description:"暂无操作日志","image-size":64}))]),_:1})),[[q,["tcm.prescriptionOrder/logs"]]])])):v("",!0)]),_:1},8,["modelValue"]),s(ce,{modelValue:$e.value,"onUpdate:modelValue":e[29]||(e[29]=i=>$e.value=i),title:"修改订单金额",width:"92%","destroy-on-close":"","close-on-click-modal":!1,onClosed:sl},{footer:l(()=>[s(w,{onClick:e[28]||(e[28]=i=>$e.value=!1)},{default:l(()=>[...e[170]||(e[170]=[p("取消",-1)])]),_:1}),s(w,{type:"primary",loading:qt.value,onClick:Ta},{default:l(()=>[...e[171]||(e[171]=[p(" 确认修改 ",-1)])]),_:1},8,["loading"])]),default:l(()=>[s(U,{ref_key:"updateAmountFormRef",ref:ct,model:ie,rules:Qs,"label-width":"84px",onSubmit:Tt(Ta,["prevent"])},{default:l(()=>[s(f,{label:"当前金额"},{default:l(()=>{var i;return[a("div",xu,"¥"+r(de((i=c.value)==null?void 0:i.amount)),1)]}),_:1}),s(f,{label:"新金额",prop:"amount"},{default:l(()=>[s(Ce,{modelValue:ie.amount,"onUpdate:modelValue":e[27]||(e[27]=i=>ie.amount=i),min:.01,step:.01,precision:2,"controls-position":"right",class:"w-full",placeholder:"请输入新金额"},null,8,["modelValue"])]),_:1}),e[169]||(e[169]=a("div",{class:"text-xs text-gray-400 pl-[84px] -mt-1 leading-relaxed"}," 已完成或已取消订单不可修改。提交成功后会刷新详情与操作日志。 ",-1))]),_:1},8,["model"])]),_:1},8,["modelValue"]),s(ce,{modelValue:fe.value,"onUpdate:modelValue":e[50]||(e[50]=i=>fe.value=i),title:"编辑业务订单",width:"96%",top:"2vh","close-on-click-modal":!1,"destroy-on-close":"",class:"create-order-dialog create-order-dialog--h5",onClosed:pl},{footer:l(()=>[a("div",ed,[a("div",td,[a("span",ad,"第 "+r(L.value+1)+" / 3 步",1),L.value===2&&M.value>0?(o(),m("span",sd," 订单金额与关联支付单合计须 ≥ ¥"+r(de(M.value)),1)):v("",!0)]),a("div",ld,[s(w,{size:"large",onClick:e[49]||(e[49]=i=>fe.value=!1)},{default:l(()=>[...e[184]||(e[184]=[p("取消",-1)])]),_:1}),L.value>0?(o(),g(w,{key:0,size:"large",onClick:cl},{default:l(()=>[...e[185]||(e[185]=[p("上一步",-1)])]),_:1})):v("",!0),L.value<2?(o(),g(w,{key:1,type:"primary",size:"large",onClick:_l},{default:l(()=>[...e[186]||(e[186]=[p(" 下一步 ",-1)])]),_:1})):v("",!0),L.value===2?(o(),g(w,{key:2,type:"primary",size:"large",loading:Yt.value,onClick:fl},{default:l(()=>[...e[187]||(e[187]=[p(" 确认保存 ",-1)])]),_:1},8,["loading"])):v("",!0)])])]),default:l(()=>[T((o(),m("div",ku,[se.value?(o(),m("div",hu,[a("div",wu,[e[172]||(e[172]=a("span",{class:"create-order-rx-card__badge"},"关联处方",-1)),a("div",Vu,[a("span",Su,"#"+r(se.value.id),1),se.value.sn?(o(),m("span",Nu,r(se.value.sn),1)):v("",!0),a("span",Cu,r(se.value.patient_name||"—"),1)])]),s(as,{content:Ra.value,placement:"bottom","show-after":300},{default:l(()=>[a("div",Pu,r(Ra.value),1)]),_:1},8,["content"])])):v("",!0),s(We,{active:L.value,"finish-status":"success","align-center":"",class:"create-order-steps"},{default:l(()=>[s(oe,{title:"患者与收货",description:"诊单与物流地址"}),s(oe,{title:"服务与支付单",description:"套餐与关联收款"}),s(oe,{title:"金额与确认",description:"费用与备注"})]),_:1},8,["active"]),a("p",Au,r(il.value),1),s(U,{ref_key:"editFormRef",ref:we,model:_,rules:dl.value,"label-width":"108px",class:"create-order-form"},{default:l(()=>[T(a("div",Tu,[s(pe,{gutter:20},{default:l(()=>[s(E,{span:12},{default:l(()=>[s(f,{label:"收货人",prop:"recipient_name"},{default:l(()=>[s(k,{modelValue:_.recipient_name,"onUpdate:modelValue":e[30]||(e[30]=i=>_.recipient_name=i),maxlength:"50",placeholder:"姓名"},null,8,["modelValue"])]),_:1})]),_:1}),s(E,{span:12},{default:l(()=>[s(f,{label:"收货手机",prop:"recipient_phone"},{default:l(()=>[s(k,{modelValue:_.recipient_phone,"onUpdate:modelValue":e[31]||(e[31]=i=>_.recipient_phone=i),maxlength:"20",placeholder:"物流联系"},null,8,["modelValue"])]),_:1})]),_:1}),s(E,{span:24},{default:l(()=>[s(f,{label:"省市区",prop:"region"},{default:l(()=>[s(Kl,{modelValue:_.region,"onUpdate:modelValue":e[32]||(e[32]=i=>_.region=i),options:Ze.value,props:{emitPath:!0},placeholder:"省 / 市 / 区",clearable:"",filterable:"",class:"w-full"},null,8,["modelValue","options"])]),_:1})]),_:1}),s(E,{span:24},{default:l(()=>[s(f,{label:"详细地址",prop:"shipping_address"},{default:l(()=>[s(k,{modelValue:_.shipping_address,"onUpdate:modelValue":e[33]||(e[33]=i=>_.shipping_address=i),type:"textarea",rows:3,placeholder:"街道、小区、门牌号等详细地址",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})],512),[[At,L.value===0]]),T(a("div",Ou,[_e.value?(o(),g(pe,{key:0,gutter:20,class:"mb-1"},{default:l(()=>[s(E,{span:24},{default:l(()=>[a("div",Ru,[e[175]||(e[175]=a("span",{class:"text-sm font-medium text-gray-700 mr-1"},"处方",-1)),_.prescription_id?(o(),g(w,{key:0,type:"primary",size:"small",link:"",onClick:Bl},{default:l(()=>[...e[173]||(e[173]=[p(" 详细 ",-1)])]),_:1})):v("",!0),_.id?(o(),g(w,{key:1,type:"warning",size:"small",link:"",loading:Se.value,icon:R(oa),onClick:xl},{default:l(()=>[...e[174]||(e[174]=[p(" 测试价格 ",-1)])]),_:1},8,["loading","icon"])):v("",!0),a("span",Eu,"ID: "+r(_.prescription_id||"—"),1)]),a("div",$u,[Ea.value.length?(o(),m("div",Du,[e[176]||(e[176]=a("div",{class:"text-gray-500"},"创建人所属部门",-1)),(o(!0),m($,null,B(Ea.value,(i,P)=>(o(),m("div",{key:P,class:"pl-0 min-w-0"},[i.length?(o(),g(Ql,{key:0,class:"po-diagnosis-creator-dept-breadcrumb text-[13px] leading-relaxed",separator:"/"},{default:l(()=>[(o(!0),m($,null,B(i,(N,j)=>(o(),g(Yl,{key:j},{default:l(()=>[a("span",zu,r(N),1)]),_:2},1024))),128))]),_:2},1024)):v("",!0)]))),128))])):(o(),m("div",Uu,"创建人所属部门:—"))])]),_:1}),s(E,{xs:24,sm:8},{default:l(()=>[s(f,{label:"复诊"},{default:l(()=>[s(Jl,{modelValue:_.is_follow_up,"onUpdate:modelValue":e[34]||(e[34]=i=>_.is_follow_up=i),"active-value":1,"inactive-value":0},null,8,["modelValue"])]),_:1})]),_:1}),s(E,{xs:24,sm:8},{default:l(()=>[s(f,{label:"服用天数",class:"create-order-form-item--inline-num"},{default:l(()=>[a("div",Fu,[s(Ce,{modelValue:_.medication_days,"onUpdate:modelValue":e[35]||(e[35]=i=>_.medication_days=i),min:1,max:999,step:1,"controls-position":"right",class:"flex-1 min-w-0"},null,8,["modelValue"]),e[177]||(e[177]=a("span",{class:"create-order-unit-suffix"},"天",-1))])]),_:1})]),_:1}),s(E,{xs:24,sm:8},{default:l(()=>[s(f,{label:"上次医生"},{default:l(()=>[s(k,{modelValue:_.prev_staff,"onUpdate:modelValue":e[36]||(e[36]=i=>_.prev_staff=i),placeholder:"可选",maxlength:"100"},null,8,["modelValue"])]),_:1})]),_:1}),s(E,{span:12},{default:l(()=>[s(f,{label:Sa.value,prop:"dose_count"},{default:l(()=>[s(Ce,{modelValue:_.dose_count,"onUpdate:modelValue":e[37]||(e[37]=i=>_.dose_count=i),min:1,placeholder:Sa.value,class:"w-full"},null,8,["modelValue","placeholder"])]),_:1},8,["label"])]),_:1}),s(E,{span:12},{default:l(()=>[s(f,{label:"剂量单位",prop:"dose_unit"},{default:l(()=>[s(F,{modelValue:_.dose_unit,"onUpdate:modelValue":e[38]||(e[38]=i=>_.dose_unit=i),placeholder:"请选择",class:"w-full"},{default:l(()=>[s(y,{label:"剂",value:"剂"}),s(y,{label:"丸",value:"丸"}),s(y,{label:"袋",value:"袋"}),s(y,{label:"盒",value:"盒"}),s(y,{label:"瓶",value:"瓶"}),s(y,{label:"膏",value:"膏"}),s(y,{label:"贴",value:"贴"})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1})):v("",!0),s(pe,{gutter:20},{default:l(()=>[s(E,{span:12},{default:l(()=>[s(f,{label:"服务渠道"},{default:l(()=>[s(k,{modelValue:_.service_channel,"onUpdate:modelValue":e[39]||(e[39]=i=>_.service_channel=i),placeholder:"可选",maxlength:"100"},null,8,["modelValue"])]),_:1})]),_:1}),s(E,{span:12},{default:l(()=>[s(f,{label:"服务套餐"},{default:l(()=>[s(F,{modelValue:_.service_package,"onUpdate:modelValue":e[40]||(e[40]=i=>_.service_package=i),multiple:"","collapse-tags":"","collapse-tags-tooltip":"",placeholder:"请选择服务套餐",clearable:"",class:"w-full"},{default:l(()=>[(o(!0),m($,null,B(Ae.value,i=>(o(),g(y,{key:i.value,label:i.name,value:i.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1}),s(E,{span:24},{default:l(()=>[s(f,{label:"物流设置"},{default:l(()=>[a("div",ju,[s(F,{modelValue:_.express_company,"onUpdate:modelValue":e[41]||(e[41]=i=>_.express_company=i),placeholder:"承运商",class:"w-[140px] shrink-0"},{default:l(()=>[s(y,{label:"自动识别",value:"auto"}),s(y,{label:"顺丰速运",value:"sf"}),s(y,{label:"京东快递",value:"jd"}),s(y,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"]),s(k,{modelValue:_.tracking_number,"onUpdate:modelValue":e[42]||(e[42]=i=>_.tracking_number=i),maxlength:"80",placeholder:"快递单号",class:"flex-1 min-w-0"},null,8,["modelValue"])])]),_:1})]),_:1}),s(E,{span:24},{default:l(()=>[s(f,{label:"关联支付单",prop:"pay_order_ids",required:M.value>0},{default:l(()=>[s(F,{modelValue:_.pay_order_ids,"onUpdate:modelValue":e[43]||(e[43]=i=>_.pay_order_ids=i),class:"w-full",multiple:"","collapse-tags":"","collapse-tags-tooltip":"",placeholder:M.value>0?"请至少选择一笔本诊单支付单(已开启门槛)":"多选本诊单支付单(可选)",loading:Qt.value},{default:l(()=>[(o(!0),m($,null,B(ze.value,i=>(o(),g(y,{key:i.id,label:`${i.order_no} · ¥${i.amount} · ${Jt(i.order_type)}`,value:i.id,class:"!h-auto py-1.5"},{default:l(()=>[a("div",Iu,[a("div",Lu,[a("span",qu,r(i.order_no),1),a("span",Mu,"¥"+r(i.amount),1)]),a("div",Bu,[a("span",Hu,[p(r(Jt(i.order_type)),1),i.remark?(o(),m($,{key:0},[p(" · "+r(i.remark),1)],64)):v("",!0)]),a("span",Gu,r(String(i.create_time||"").substring(0,16)),1)])])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","loading"]),a("div",Wu,[M.value>0?(o(),m($,{key:0},[a("span",Ku,"当前已开启关联支付门槛(¥"+r(de(M.value))+"),须至少选择一笔支付单。",1),e[178]||(e[178]=a("span",{class:"mx-1"},null,-1))],64)):v("",!0),e[180]||(e[180]=p(" 主管/本诊单医助可见全部支付单;否则仅本人收款单。已被占用的支付单不列出。 ",-1)),s(as,{content:"主管或本诊单医助可见该诊单全部支付单(待支付/已支付),否则仅本人创建的收款单。已被其他有效业务订单占用的支付单不会出现在此列表。",placement:"top"},{default:l(()=>[...e[179]||(e[179]=[a("span",{class:"text-primary cursor-help ml-0.5"},"详情",-1)])]),_:1})])]),_:1},8,["required"])]),_:1})]),_:1})],512),[[At,L.value===1]]),T(a("div",Yu,[a("div",{class:I(["create-order-deposit-bar",Xt.value>=M.value?"is-ok":"is-warn"])},[a("div",Qu,[e[181]||(e[181]=a("span",{class:"create-order-deposit-bar__label"},"定金门槛",-1)),a("strong",null,"¥"+r(de(M.value)),1),a("span",Ju,r(M.value>0?"须 ≥ 此值":"未设置"),1)]),e[183]||(e[183]=a("div",{class:"create-order-deposit-bar__sep"},null,-1)),a("div",Xu,[e[182]||(e[182]=a("span",{class:"create-order-deposit-bar__label"},"已选收款",-1)),a("strong",null,"¥"+r(de(Xt.value)),1),a("span",Zu,r(Xt.value>=M.value?"已达标":"未达标"),1)])],2),s(pe,{gutter:20,class:"create-order-step-panel__row-after-bar"},{default:l(()=>[s(E,{span:12},{default:l(()=>[s(f,{label:"费用类别",prop:"fee_type"},{default:l(()=>[s(F,{modelValue:_.fee_type,"onUpdate:modelValue":e[44]||(e[44]=i=>_.fee_type=i),placeholder:"请选择",class:"w-full"},{default:l(()=>[s(y,{label:"挂号费",value:1}),s(y,{label:"问诊费",value:2}),s(y,{label:"药品费用",value:3}),s(y,{label:"首付费用",value:4}),s(y,{label:"尾款费用",value:5}),s(y,{label:"其他费用",value:6}),s(y,{label:"全部费用",value:7}),s(y,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1})]),_:1}),s(E,{span:12},{default:l(()=>[s(f,{label:"总金额",prop:"amount"},{default:l(()=>[s(Ce,{modelValue:_.amount,"onUpdate:modelValue":e[45]||(e[45]=i=>_.amount=i),min:ol.value,step:.01,precision:2,class:"w-full","controls-position":"right",placeholder:"元"},null,8,["modelValue","min"])]),_:1})]),_:1}),T((o(),g(E,{span:12},{default:l(()=>[s(f,{label:"内部成本"},{default:l(()=>[s(Ce,{modelValue:_.internal_cost,"onUpdate:modelValue":e[46]||(e[46]=i=>_.internal_cost=i),min:0,step:.01,precision:2,class:"w-full","controls-position":"right",placeholder:"财务可见"},null,8,["modelValue"])]),_:1})]),_:1})),[[q,["finance.account_log/lists"]]]),s(E,{span:24},{default:l(()=>[T((o(),g(f,{label:"药房备注"},{default:l(()=>[s(k,{modelValue:_.remark_extra,"onUpdate:modelValue":e[47]||(e[47]=i=>_.remark_extra=i),type:"textarea",rows:3,placeholder:"选填,对内说明",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})),[[q,["tcm.prescriptionOrder/editRemarkExtra"]]]),s(f,{label:"医助备注"},{default:l(()=>[s(k,{modelValue:_.remark_assistant,"onUpdate:modelValue":e[48]||(e[48]=i=>_.remark_assistant=i),type:"textarea",rows:3,placeholder:"选填,医助对内说明",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})],512),[[At,L.value===2]])]),_:1},8,["model","rules"])])),[[ge,Kt.value]])]),_:1},8,["modelValue"]),s(ce,{modelValue:Ue.value,"onUpdate:modelValue":e[55]||(e[55]=i=>Ue.value=i),title:vl.value,width:"92%","destroy-on-close":"",class:"po-h5-dialog",onClosed:e[56]||(e[56]=i=>Ve.value="")},{footer:l(()=>[s(w,{onClick:e[52]||(e[52]=i=>Ue.value=!1)},{default:l(()=>[...e[189]||(e[189]=[p("取消",-1)])]),_:1}),s(w,{type:"primary",loading:mt.value,onClick:e[53]||(e[53]=i=>Da("approve"))},{default:l(()=>[...e[190]||(e[190]=[p("同意通过",-1)])]),_:1},8,["loading"]),s(w,{type:"danger",loading:mt.value,onClick:e[54]||(e[54]=i=>Da("reject"))},{default:l(()=>[...e[191]||(e[191]=[p("驳回阻止",-1)])]),_:1},8,["loading"])]),default:l(()=>[Fe.value&&Fe.value.completion_request===1?(o(),g(le,{key:0,title:"完单申请",type:"warning",closable:!1,"show-icon":"",class:"mb-3"},{default:l(()=>[a("div",nd,[e[188]||(e[188]=a("div",{class:"font-medium mb-1"},"该订单已申请完成",-1)),a("div",id," 申请人:"+r(Fe.value.completion_request_by_name||"—"),1),a("div",rd," 申请时间:"+r(me(Fe.value.completion_request_time)),1)])]),_:1})):v("",!0),e[192]||(e[192]=a("p",{class:"text-[13px] text-gray-500 mb-3 bg-gray-50/80 border border-gray-100 p-2 rounded"},"驳回时必须填写意见;通过时意见选填。",-1)),s(k,{modelValue:Ve.value,"onUpdate:modelValue":e[51]||(e[51]=i=>Ve.value=i),type:"textarea",rows:4,maxlength:"500","show-word-limit":"",placeholder:"在此输入审核意见..."},null,8,["modelValue"])]),_:1},8,["modelValue","title"]),s(ce,{modelValue:je.value,"onUpdate:modelValue":e[60]||(e[60]=i=>je.value=i),title:"修改快递单号",width:"92%","destroy-on-close":"",class:"po-h5-dialog","close-on-click-modal":!1},{footer:l(()=>[s(w,{onClick:e[59]||(e[59]=i=>je.value=!1)},{default:l(()=>[...e[194]||(e[194]=[p("取消",-1)])]),_:1}),s(w,{type:"primary",loading:vt.value,onClick:Fa},{default:l(()=>[...e[195]||(e[195]=[p("保存单号",-1)])]),_:1},8,["loading"])]),default:l(()=>[T((o(),g(U,{"label-width":"90px",class:"pr-2",onSubmit:Tt(Fa,["prevent"])},{default:l(()=>[s(f,{label:"承运商"},{default:l(()=>[s(F,{modelValue:Y.express_company,"onUpdate:modelValue":e[57]||(e[57]=i=>Y.express_company=i),class:"w-full",placeholder:"选择承运商"},{default:l(()=>[s(y,{label:"自动识别",value:"auto"}),s(y,{label:"顺丰速运",value:"sf"}),s(y,{label:"京东快递",value:"jd"}),s(y,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"])]),_:1}),s(f,{label:"快递单号"},{default:l(()=>[s(k,{modelValue:Y.tracking_number,"onUpdate:modelValue":e[58]||(e[58]=i=>Y.tracking_number=i),maxlength:"80",placeholder:"请输入快递单号",clearable:"",autofocus:""},null,8,["modelValue"])]),_:1}),e[193]||(e[193]=a("div",{class:"text-xs text-gray-400 pl-[90px] -mt-1 leading-relaxed"}," 仅更新快递信息,其他字段不受影响。 ",-1))]),_:1})),[[ge,vt.value]])]),_:1},8,["modelValue"]),s(ce,{modelValue:Le.value,"onUpdate:modelValue":e[65]||(e[65]=i=>Le.value=i),title:"确认发货",width:"92%","destroy-on-close":"",class:"po-h5-dialog","close-on-click-modal":!1},{footer:l(()=>[s(w,{onClick:e[64]||(e[64]=i=>Le.value=!1)},{default:l(()=>[...e[198]||(e[198]=[p("取消",-1)])]),_:1}),s(w,{type:"primary",loading:gt.value,onClick:ja},{default:l(()=>[...e[199]||(e[199]=[p(" 确认发货 ",-1)])]),_:1},8,["loading"])]),default:l(()=>[s(le,{title:"确认后订单状态将变更为「已发货」,请核对快递信息无误。",type:"warning",closable:!1,"show-icon":"",class:"mb-4"}),T((o(),g(U,{"label-width":"90px",class:"pr-2",onSubmit:Tt(ja,["prevent"])},{default:l(()=>[s(f,{label:"发货方式"},{default:l(()=>[s(ra,{modelValue:Q.ship_mode,"onUpdate:modelValue":e[61]||(e[61]=i=>Q.ship_mode=i)},{default:l(()=>[s(Pe,{label:"gancao"},{default:l(()=>[...e[196]||(e[196]=[p("甘草药方发",-1)])]),_:1}),s(Pe,{label:"direct"},{default:l(()=>[...e[197]||(e[197]=[p("药房直发",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),s(f,{label:"承运商"},{default:l(()=>[s(F,{modelValue:Q.express_company,"onUpdate:modelValue":e[62]||(e[62]=i=>Q.express_company=i),class:"w-full"},{default:l(()=>[s(y,{label:"自动识别",value:"auto"}),s(y,{label:"顺丰速运",value:"sf"}),s(y,{label:"京东快递",value:"jd"}),s(y,{label:"极兔速递",value:"jt"})]),_:1},8,["modelValue"])]),_:1}),s(f,{label:"快递单号"},{default:l(()=>[s(k,{modelValue:Q.tracking_number,"onUpdate:modelValue":e[63]||(e[63]=i=>Q.tracking_number=i),maxlength:"80",placeholder:"请输入快递单号",clearable:""},null,8,["modelValue"])]),_:1})]),_:1})),[[ge,gt.value]])]),_:1},8,["modelValue"]),s(ce,{modelValue:qe.value,"onUpdate:modelValue":e[68]||(e[68]=i=>qe.value=i),title:"完成订单",width:"92%","close-on-click-modal":!1,"destroy-on-close":"",class:"po-h5-dialog",onClosed:e[69]||(e[69]=i=>ta.value=0)},{footer:l(()=>[s(w,{onClick:e[67]||(e[67]=i=>qe.value=!1)},{default:l(()=>[...e[200]||(e[200]=[p("取消",-1)])]),_:1}),s(w,{type:"primary",loading:aa.value,onClick:Sl},{default:l(()=>[...e[201]||(e[201]=[p(" 确定 ",-1)])]),_:1},8,["loading"])]),default:l(()=>[e[202]||(e[202]=a("p",{class:"text-sm text-gray-600 mb-3"},"请选择本单结案状态。选择「已完成」时,实付将按已关联的支付单金额汇总。",-1)),s(F,{modelValue:bt.value,"onUpdate:modelValue":e[66]||(e[66]=i=>bt.value=i),class:"w-full",placeholder:"请选择"},{default:l(()=>[(o(),m($,null,B(Vl,i=>s(y,{key:i.value,label:i.label,value:i.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),_:1},8,["modelValue"]),s(ce,{modelValue:Me.value,"onUpdate:modelValue":e[77]||(e[77]=i=>Me.value=i),title:"补齐支付单",width:"94%","close-on-click-modal":!1,"destroy-on-close":"",class:"po-h5-dialog",onClosed:e[78]||(e[78]=i=>{var P;return(P=kt.value)==null?void 0:P.clearValidate()})},{footer:l(()=>[s(w,{onClick:e[76]||(e[76]=i=>Me.value=!1)},{default:l(()=>[...e[209]||(e[209]=[p("取消",-1)])]),_:1}),s(w,{type:"primary",loading:xt.value,onClick:Pl},{default:l(()=>[...e[210]||(e[210]=[p("确认新增",-1)])]),_:1},8,["loading"])]),default:l(()=>[s(le,{title:"可以手动创建新支付单,或关联已存在但未绑定的支付单。",type:"info",closable:!1,"show-icon":"",class:"mb-4"}),T((o(),g(U,{ref_key:"addPayOrderFormRef",ref:kt,model:O,rules:Nl,"label-width":"90px",class:"pr-2"},{default:l(()=>[s(f,{label:"添加方式",prop:"add_mode"},{default:l(()=>[s(ra,{modelValue:O.add_mode,"onUpdate:modelValue":e[70]||(e[70]=i=>O.add_mode=i)},{default:l(()=>[s(Pe,{value:"create"},{default:l(()=>[...e[203]||(e[203]=[p("手动创建",-1)])]),_:1}),s(Pe,{value:"link"},{default:l(()=>[...e[204]||(e[204]=[p("关联已有",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),O.add_mode==="create"?(o(),m($,{key:0},[s(f,{label:"费用类别",prop:"order_type"},{default:l(()=>[s(F,{modelValue:O.order_type,"onUpdate:modelValue":e[71]||(e[71]=i=>O.order_type=i),class:"w-full"},{default:l(()=>[s(y,{label:"挂号费",value:1}),s(y,{label:"问诊费",value:2}),s(y,{label:"药品费用",value:3}),s(y,{label:"首付费用",value:4}),s(y,{label:"尾款费用",value:5}),s(y,{label:"其他费用",value:6}),s(y,{label:"全部费用",value:7}),s(y,{label:"驼奶费用",value:8})]),_:1},8,["modelValue"])]),_:1}),s(f,{label:"支付金额",prop:"pay_amount"},{default:l(()=>[s(Ce,{modelValue:O.pay_amount,"onUpdate:modelValue":e[72]||(e[72]=i=>O.pay_amount=i),min:.01,step:.01,precision:2,class:"w-full",placeholder:"请输入支付金额(元)"},null,8,["modelValue"])]),_:1}),s(f,{label:"备注",prop:"pay_remark"},{default:l(()=>[s(k,{modelValue:O.pay_remark,"onUpdate:modelValue":e[73]||(e[73]=i=>O.pay_remark=i),type:"textarea",rows:3,maxlength:"200","show-word-limit":"",placeholder:"支付说明(选填)"},null,8,["modelValue"])]),_:1})],64)):(o(),g(f,{key:1,label:"选择支付单",prop:"link_pay_order_id"},{default:l(()=>[s(F,{modelValue:O.link_pay_order_ids,"onUpdate:modelValue":e[74]||(e[74]=i=>O.link_pay_order_ids=i),class:"w-full",placeholder:"选择未绑定的支付单(可多选)",loading:sa.value,multiple:"","collapse-tags":"","collapse-tags-tooltip":""},{default:l(()=>[(o(!0),m($,null,B(ht.value,i=>(o(),g(y,{key:i.id,label:`${i.order_no} · ¥${i.amount} · ${Jt(i.order_type)}`,value:i.id},{default:l(()=>[a("div",od,[a("span",ud,r(i.order_no),1),a("span",dd,"¥"+r(i.amount),1)])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","loading"]),e[205]||(e[205]=a("div",{class:"text-xs text-gray-500 mt-1.5"}," 仅显示本诊单下未被其他业务订单占用的支付单,可同时选择多个 ",-1))]),_:1})),s(f,{label:"完单申请"},{default:l(()=>[s(ra,{modelValue:O.completion_request,"onUpdate:modelValue":e[75]||(e[75]=i=>O.completion_request=i)},{default:l(()=>[s(Pe,{value:0},{default:l(()=>[...e[206]||(e[206]=[p("不申请",-1)])]),_:1}),s(Pe,{value:1},{default:l(()=>[...e[207]||(e[207]=[p("申请完成订单",-1)])]),_:1})]),_:1},8,["modelValue"]),e[208]||(e[208]=a("div",{class:"text-xs text-gray-400 mt-1"},' 选择"申请完成订单"后,审核人员可在支付审核时看到此申请 ',-1))]),_:1})]),_:1},8,["model"])),[[ge,xt.value]])]),_:1},8,["modelValue"]),s(ce,{modelValue:De.value,"onUpdate:modelValue":e[82]||(e[82]=i=>De.value=i),title:"修改处方患者信息",width:"92%","close-on-click-modal":!1,"destroy-on-close":"",class:"po-h5-dialog",onClosed:al},{footer:l(()=>[s(w,{onClick:e[81]||(e[81]=i=>De.value=!1)},{default:l(()=>[...e[211]||(e[211]=[p("取消",-1)])]),_:1}),s(w,{type:"primary",loading:Gt.value,onClick:nl},{default:l(()=>[...e[212]||(e[212]=[p(" 保存 ",-1)])]),_:1},8,["loading"])]),default:l(()=>[s(U,{ref_key:"patchRxPatientFormRef",ref:Wt,model:ae,rules:el,"label-width":"96px"},{default:l(()=>[s(f,{label:"患者姓名",prop:"patient_name"},{default:l(()=>[s(k,{modelValue:ae.patient_name,"onUpdate:modelValue":e[79]||(e[79]=i=>ae.patient_name=i),maxlength:"50","show-word-limit":"",placeholder:"与处方笺一致",clearable:""},null,8,["modelValue"])]),_:1}),s(f,{label:"手机",prop:"phone"},{default:l(()=>[s(k,{modelValue:ae.phone,"onUpdate:modelValue":e[80]||(e[80]=i=>ae.phone=i),maxlength:"20",placeholder:"处方登记手机号",clearable:""},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),s(ia,{modelValue:wt.value,"onUpdate:modelValue":e[83]||(e[83]=i=>wt.value=i),size:"100%",direction:"btt",class:"po-h5-drawer","close-on-click-modal":!1},{header:l(()=>[a("div",pd,[e[215]||(e[215]=a("span",{class:"text-base font-medium text-gray-800"},"查看处方",-1)),h.value&&!Vt.value?(o(),m("div",cd,[s(w,{size:"small",loading:Ne.value,onClick:Gl},{default:l(()=>[...e[213]||(e[213]=[p(" 下载图片 ",-1)])]),_:1},8,["loading"]),s(w,{size:"small",loading:Ne.value,onClick:Wl},{default:l(()=>[...e[214]||(e[214]=[p(" 下载PDF ",-1)])]),_:1},8,["loading"])])):v("",!0)])]),default:l(()=>[T((o(),m("div",_d,[h.value?(o(),m("div",md,[Number(h.value.void_status)===1?(o(),g(d,{key:0,type:"danger",size:"small"},{default:l(()=>[...e[216]||(e[216]=[p("已作废",-1)])]),_:1})):Number(h.value.business_prescription_audit_rejected)===1?(o(),g(d,{key:1,type:"danger",size:"small"},{default:l(()=>[...e[217]||(e[217]=[p("业务订单已驳回",-1)])]),_:1})):Number(h.value.audit_status)===1?(o(),g(d,{key:2,type:"success",size:"small"},{default:l(()=>[...e[218]||(e[218]=[p("已通过",-1)])]),_:1})):Number(h.value.audit_status)===0?(o(),g(d,{key:3,type:"warning",size:"small"},{default:l(()=>[...e[219]||(e[219]=[p("待审核",-1)])]),_:1})):(o(),g(d,{key:4,type:"danger",size:"small"},{default:l(()=>[...e[220]||(e[220]=[p("已驳回",-1)])]),_:1}))])):v("",!0),h.value&&Number(h.value.void_status)===1?(o(),m("div",fd," 作废人:"+r(h.value.void_by_name||"—")+",作废时间:"+r(Ll(h.value.void_time)),1)):h.value&&Number(h.value.business_prescription_audit_rejected)===1?(o(),m("div",vd,[e[221]||(e[221]=a("div",{class:"font-medium"},"审核状态:已驳回(业务订单·处方审核)",-1)),h.value.business_prescription_audit_remark?(o(),m("div",gd," 驳回意见:"+r(h.value.business_prescription_audit_remark),1)):v("",!0)])):h.value&&Number(h.value.audit_status)===2?(o(),m("div",yd,[e[222]||(e[222]=a("div",{class:"font-medium"},"消费者处方审核:已驳回",-1)),h.value.audit_remark?(o(),m("div",bd,"驳回意见:"+r(h.value.audit_remark),1)):v("",!0)])):v("",!0),h.value?(o(),m("div",{key:4,ref_key:"prescriptionSlipPrintRef",ref:qa,class:"rx-paper"},[e[240]||(e[240]=a("div",{class:"rx-title"},"处方单",-1)),a("div",xd,[e[227]||(e[227]=a("span",{class:"rx-notice-text"}," 服药前请核对姓名、电话、医生等信息以及服法、医嘱等要点 ",-1)),a("div",kd,[a("div",hd,[e[223]||(e[223]=a("span",{class:"rx-meta-label"},"日期",-1)),a("span",wd,r(Rl.value),1)]),a("div",Vd,[e[224]||(e[224]=a("span",{class:"rx-meta-label"},"处方编号",-1)),a("span",Sd,r(El.value),1)]),a("div",Nd,[e[225]||(e[225]=a("span",{class:"rx-meta-label"},"流转编号(挂号)",-1)),a("span",Cd,r($l.value),1)]),Ma.value?(o(),m("div",Pd,[e[226]||(e[226]=a("span",{class:"rx-meta-label"},"业务单号",-1)),a("span",Ad,r(Ma.value),1)])):v("",!0)])]),a("div",Td,[a("div",Od,[a("div",Rd,[e[228]||(e[228]=a("span",{class:"rx-key"},"姓名",-1)),a("span",Ed,r(h.value.patient_name||"—"),1)]),a("div",$d,[e[229]||(e[229]=a("span",{class:"rx-key"},"性别",-1)),a("span",Dd,r(ql(h.value.gender)),1)]),a("div",zd,[e[230]||(e[230]=a("span",{class:"rx-key"},"年龄",-1)),a("span",Ud,r(Ml(h.value.age)),1)]),a("div",Fd,[e[231]||(e[231]=a("span",{class:"rx-key"},"电话",-1)),a("span",jd,r(h.value.phone||h.value.recipient_phone||"—"),1)])]),a("div",Id,[a("div",Ld,[e[232]||(e[232]=a("span",{class:"rx-key"},"收件信息",-1)),a("span",qd,r(Dl.value),1)])]),a("div",Md,[a("div",Bd,[e[233]||(e[233]=a("span",{class:"rx-key"},"临床诊断",-1)),a("span",Hd,r(h.value.clinical_diagnosis||"—"),1)])])]),a("div",Gd,[e[234]||(e[234]=a("div",{class:"rx-watermark"},"药房联",-1)),e[235]||(e[235]=a("div",{class:"rx-rp-head"},[a("div",{class:"rx-rp-label"},"Rp."),a("div",{class:"rx-rp-cols-head"},[a("div",{class:"rx-rp-col-head"},[a("span",null,"用药 (单剂)"),a("span",null,"总量")]),a("div",{class:"rx-rp-col-head"},[a("span",null,"用药 (单剂)"),a("span",null,"总量")])])],-1)),a("div",Wd,[(o(!0),m($,null,B(St.value,(i,P)=>(o(),m("div",{key:P,class:"rx-herb-cell"},[a("span",Kd,r(i.name)+" ("+r(i.dosage)+"克)",1),a("span",Yd,r(Ul(i.dosage))+"克",1)]))),128))])]),a("div",Qd,[a("p",null,"服法:"+r(jl.value),1),Ha.value?(o(),m("p",Jd,"医嘱:"+r(Ha.value),1)):v("",!0),Ga.value?(o(),m("p",Xd,"备注:"+r(Ga.value),1)):v("",!0),Wa.value?(o(),m("p",Zd," 药房备注:"+r(Wa.value),1)):v("",!0),Ka.value?(o(),m("p",ep," 出丸:"+r(Ka.value),1)):v("",!0)]),a("div",tp,[a("div",ap,[a("div",sp,[e[236]||(e[236]=a("div",{class:"rx-bot-label rx-bot-label--doctor"},"医师",-1)),a("div",lp,[h.value.doctor_signature?(o(),m("img",{key:0,src:h.value.doctor_signature,alt:"医师签名",class:"rx-bot-sign-img"},null,8,np)):v("",!0)])]),a("div",ip,[e[237]||(e[237]=a("span",{class:"rx-bot-meta-key"},"类型:",-1)),a("span",rp,r(Fl.value),1)]),a("div",op,[e[238]||(e[238]=a("span",{class:"rx-bot-meta-key"},"天数:",-1)),a("span",up,r(c.value.medication_days!=null&&String(c.value.medication_days).trim()!==""?c.value.medication_days+" 天":"—"),1)]),a("div",dp,[e[239]||(e[239]=a("span",{class:"rx-bot-meta-key"},"剂量:",-1)),a("span",pp,r(zl.value)+"克",1)])])]),e[241]||(e[241]=a("div",{class:"rx-bot-row rx-hospital-row"},[a("div",{class:"rx-hospital-line"},"成都双流甄养堂互联网医院有限公司 联系方式:4001667339"),a("div",{class:"rx-hospital-line"},"地址:四川省成都市双流区黄甲街道黄龙大道二段280号")],-1))],512)):v("",!0),h.value&&(h.value.audit_by_name||h.value.audit_remark)?(o(),m("div",cp,[h.value.audit_by_name?(o(),m("div",_p,[p(" 审核人:"+r(h.value.audit_by_name)+" ",1),h.value.audit_time?(o(),m("span",mp,r(Ya(h.value.audit_time)),1)):v("",!0)])):v("",!0),h.value.audit_remark?(o(),m("div",fp,"审核意见:"+r(h.value.audit_remark),1)):v("",!0)])):v("",!0)])),[[ge,Vt.value]])]),_:1},8,["modelValue"]),s(ia,{modelValue:ft.value,"onUpdate:modelValue":e[84]||(e[84]=i=>ft.value=i),title:"甘草预下单测试结果",size:"100%",direction:"btt",class:"po-h5-drawer","destroy-on-close":""},{default:l(()=>{var i,P;return[z.value?(o(),m("div",vp,[s(n,{shadow:"never",class:"mb-4"},{header:l(()=>[a("div",gp,[e[243]||(e[243]=a("span",{class:"font-semibold"},"价格信息",-1)),s(d,{type:"success"},{default:l(()=>[...e[242]||(e[242]=[p("预下单成功",-1)])]),_:1})])]),default:l(()=>[s(Ke,{column:2,border:""},{default:l(()=>[s(S,{label:"药材成本"},{default:l(()=>{var N;return[a("span",yp,"¥"+r(((N=z.value.fee)==null?void 0:N.m_cost)||"0.00"),1)]}),_:1}),s(S,{label:"制作费"},{default:l(()=>{var N;return[a("span",bp,"¥"+r((((N=z.value.fee)==null?void 0:N.proces_cost)||0).toFixed(2)),1)]}),_:1}),s(S,{label:"物流费"},{default:l(()=>{var N;return[a("span",xp,"¥"+r((((N=z.value.fee)==null?void 0:N.lis_cost)||0).toFixed(2)),1)]}),_:1}),s(S,{label:"总计"},{default:l(()=>[a("div",null,[a("span",kp," ¥"+r(Ua(z.value.fee)),1),T((o(),m("div",hp,[e[244]||(e[244]=p(" 占订单总金额: ",-1)),a("span",wp,r(yl(z.value.fee,z.value.amount)),1),z.value.amount>0?(o(),m("span",Vp,"%(预报价 ÷ 订单金额 × 100)")):v("",!0)])),[[q,["prescription.order/finance"]]])])]),_:1})]),_:1})]),_:1}),s(n,{shadow:"never",class:"mb-4"},{header:l(()=>[...e[245]||(e[245]=[a("span",{class:"font-semibold"},"配送信息",-1)])]),default:l(()=>[s(Ke,{column:2,border:""},{default:l(()=>[s(S,{label:"调配中心"},{default:l(()=>{var N;return[p(r(((N=z.value.result)==null?void 0:N.ds_name)||"—"),1)]}),_:1}),s(S,{label:"调配中心ID"},{default:l(()=>{var N;return[p(r(((N=z.value.result)==null?void 0:N.ds_id)||"—"),1)]}),_:1}),s(S,{label:"服用天数范围",span:2},{default:l(()=>{var N,j,Ye,Qe,ue,ye;return[p(r(((j=(N=z.value.result)==null?void 0:N.take_days)==null?void 0:j.min)||"—")+" - "+r(((Qe=(Ye=z.value.result)==null?void 0:Ye.take_days)==null?void 0:Qe.max)||"—")+" 天 (默认: "+r(((ye=(ue=z.value.result)==null?void 0:ue.take_days)==null?void 0:ye.default)||"—")+" 天) ",1)]}),_:1})]),_:1})]),_:1}),(P=(i=z.value.result)==null?void 0:i.rule_check)!=null&&P.length?(o(),g(n,{key:0,shadow:"never",class:"mb-4"},{header:l(()=>[...e[246]||(e[246]=[a("span",{class:"font-semibold"},"医嘱备注",-1)])]),default:l(()=>[a("div",Sp,r(z.value.result.rule_check.map(N=>N.msg).join(" ")),1)]),_:1})):v("",!0),s(n,{shadow:"never"},{header:l(()=>{var N,j;return[a("div",Np,[e[247]||(e[247]=a("span",{class:"font-semibold"},"药材明细",-1)),a("span",Cp,"共 "+r(((j=(N=z.value.result)==null?void 0:N.m_list)==null?void 0:j.length)||0)+" 味药",1)])]}),default:l(()=>{var N;return[s(Pt,{data:((N=z.value.result)==null?void 0:N.m_list)||[],border:"",stripe:"","max-height":"400"},{default:l(()=>[s(D,{type:"index",label:"#",width:"50",align:"center"}),s(D,{prop:"title",label:"药材名称","min-width":"120","show-overflow-tooltip":""}),s(D,{prop:"quantity",label:"用量",width:"80",align:"right"},{default:l(({row:j})=>[p(r(j.quantity)+r(j.unit),1)]),_:1}),s(D,{prop:"price",label:"单价(元/克)",width:"110",align:"right"},{default:l(({row:j})=>[p(" ¥"+r(Number(j.price).toFixed(4)),1)]),_:1}),s(D,{label:"小计",width:"100",align:"right"},{default:l(({row:j})=>[a("span",Pp," ¥"+r((Number(j.price)*Number(j.quantity)).toFixed(2)),1)]),_:1}),s(D,{prop:"is_available",label:"库存状态",width:"100",align:"center"},{default:l(({row:j})=>[s(d,{type:j.is_available===1?"success":"danger",size:"small"},{default:l(()=>[p(r(j.is_available===1?"有货":"缺货"),1)]),_:2},1032,["type"])]),_:1}),s(D,{prop:"brief",label:"备注","min-width":"120","show-overflow-tooltip":""})]),_:1},8,["data"])]}),_:1}),s(n,{shadow:"never",class:"mt-4"},{header:l(()=>[...e[248]||(e[248]=[a("span",{class:"font-semibold"},"订单信息",-1)])]),default:l(()=>[s(Ke,{column:2,border:""},{default:l(()=>[s(S,{label:"订单号",span:2},{default:l(()=>[p(r(z.value.order_no||"—"),1)]),_:1}),s(S,{label:"剂数"},{default:l(()=>[a("span",Ap,r(z.value.dose_count||"—")+"剂",1)]),_:1}),s(S,{label:"单剂量"},{default:l(()=>{var N;return[a("span",Tp,r(bl((N=z.value.result)==null?void 0:N.m_list))+"克 ",1)]}),_:1})]),_:1})]),_:1})])):v("",!0)]}),_:1},8,["modelValue"]),s(R(rs),{ref_key:"diagnosisViewRef",ref:da},null,512)])}}}),wc=vi(Rp,[["__scopeId","data-v-35ef74bc"]]);export{wc as default}; diff --git a/server/public/admin/assets/overflow-1YcCzxdD.js b/server/public/admin/assets/overflow-DDgjXnJF.js similarity index 92% rename from server/public/admin/assets/overflow-1YcCzxdD.js rename to server/public/admin/assets/overflow-DDgjXnJF.js index 449c1175..10a1e9fc 100644 --- a/server/public/admin/assets/overflow-1YcCzxdD.js +++ b/server/public/admin/assets/overflow-DDgjXnJF.js @@ -1 +1 @@ -import{J as m}from"./element-plus-0wC3naml.js";import{_ as p,p as i}from"./index-E47--KT7.js";import{ak as e,I as a,a as o,aN as n}from"./@vue/runtime-core-C6bnekPw.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const c={};function s(_,l){const t=i,r=m;return e(),a("div",null,[o(r,{header:"基础使用",shadow:"never",class:"!border-none"},{default:n(()=>[o(t,{class:"w-20 m-4",content:"超出自动打点,悬浮弹窗显示全部内容"}),o(t,{class:"w-60 m-4",content:"超出自动打点,悬浮弹窗显示全部内容"})]),_:1})])}const W=p(c,[["render",s]]);export{W as default}; +import{J as m}from"./element-plus-DFTWCWyi.js";import{_ as p,p as i}from"./index-DBREMm_z.js";import{ak as e,I as a,a as o,aN as n}from"./@vue/runtime-core-C6bnekPw.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const c={};function s(_,l){const t=i,r=m;return e(),a("div",null,[o(r,{header:"基础使用",shadow:"never",class:"!border-none"},{default:n(()=>[o(t,{class:"w-20 m-4",content:"超出自动打点,悬浮弹窗显示全部内容"}),o(t,{class:"w-60 m-4",content:"超出自动打点,悬浮弹窗显示全部内容"})]),_:1})])}const W=p(c,[["render",s]]);export{W as default}; diff --git a/server/public/admin/assets/paiban-D6p98E_u.js b/server/public/admin/assets/paiban-CTSeMF1D.js similarity index 95% rename from server/public/admin/assets/paiban-D6p98E_u.js rename to server/public/admin/assets/paiban-CTSeMF1D.js index 684b8bab..f7a5e412 100644 --- a/server/public/admin/assets/paiban-D6p98E_u.js +++ b/server/public/admin/assets/paiban-CTSeMF1D.js @@ -1 +1 @@ -import{D as J,B as P,G as U,I as q,R as H,i as O,J as Q}from"./element-plus-0wC3naml.js";import{d,g as K}from"./dayjs-DG77mNTn.js";import{g as X}from"./tcm-SLIwsL8z.js";import{r as Z,g as ee}from"./doctor-6V0qM7Ks.js";import{i as y,_ as te}from"./index-E47--KT7.js";import{f as ae,b as oe,d as se,ak as c,I as u,a as g,aN as m,J as p,F as T,ap as E,G as k,O as B,H as le,A as R,n as re}from"./@vue/runtime-core-C6bnekPw.js";import{Q as Y,o as I}from"./@vue/shared-mAAVTE9n.js";import{n as b,r as ie}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const ne={class:"paiban-container"},ce={class:"doctor-list"},de={key:2,class:"paiban-time-container"},me={class:"date-selector"},ue={key:0,class:"time-slots-container"},pe={class:"time-slots-grid"},ve=["onClick"],fe={class:"slot-time"},_e=ae({__name:"paiban",setup(ye){d.extend(K);const v=b(!1),h=b([]),f=b([]),l=b(0),i=b([]);let D=null,w=!1;const o=ie({date:"",selectedTime:""}),V=R(()=>{if(!l.value||i.value.length===0)return[];const e=[],s=["日","一","二","三","四","五","六"],a=d().startOf("day");for(const r of i.value){const n=d(r);if(n.isBefore(a))continue;const _=`${n.format("MM月DD日")} (${s[n.day()]})`;e.push({date:r,label:_})}return e}),$=R(()=>{if(!o.date||f.value.length===0)return[];const e=d().format("YYYY-MM-DD");if(!(o.date===e))return f.value;const a=d();return f.value.map(r=>{const n=d(`${o.date} ${r.time}`);return n.isBefore(a)||n.isSame(a,"minute")?{...r,available:!1}:r})}),N=async()=>{try{v.value=!0;const e=await X();h.value=e||[],h.value.length>0&&!l.value&&(l.value=h.value[0].id,await C())}catch(e){console.error("加载医生列表失败:",e),y.msgError("加载医生列表失败")}finally{v.value=!1}},C=async()=>{o.selectedTime="",o.date="",f.value=[],i.value=[],l.value&&await A()},A=async()=>{if(l.value)try{v.value=!0;const e=d().format("YYYY-MM-DD"),s=d().add(6,"day").format("YYYY-MM-DD"),a=await Z({doctor_id:l.value,start_date:e,end_date:s,status:1});if(a!=null&&a.lists&&a.lists.length>0){if(i.value=[...new Set(a.lists.map(r=>r.date))],i.value.sort(),await re(),i.value.length>0){const r=d().format("YYYY-MM-DD"),n=i.value.includes(r)?r:i.value[0];M(n)}}else i.value=[],y.msgWarning("该医生暂无排班")}catch(e){console.error("加载医生排班失败:",e),y.msgError("加载医生排班失败"),i.value=[]}finally{v.value=!1}},M=e=>{o.date=e,o.selectedTime="",l.value&&S()},S=async(e=!1)=>{if(!(!l.value||!o.date)){if(w){console.log("正在加载中,跳过本次请求");return}try{w=!0,e||(v.value=!0);const s=await ee({doctor_id:l.value,appointment_date:o.date,period:"all"});f.value=((s==null?void 0:s.slots)||[]).map(a=>({time:a.time,available:a.available,quota:a.available?1:0}))}catch(s){console.error("加载时间段失败:",s),e||y.msgError("加载时间段失败"),f.value=[]}finally{w=!1,e||(v.value=!1)}}},F=e=>{if(!e.available){y.msgWarning("该时间段不可预约");return}o.selectedTime=e.time},L=()=>{x(),D=window.setInterval(()=>{l.value&&o.date&&S(!0)},5e3)},x=()=>{D&&(clearInterval(D),D=null)};return oe(()=>{N(),L()}),se(()=>{x()}),(e,s)=>{const a=q,r=U,n=P,_=H,z=O,G=J,W=Q;return c(),u("div",ne,[g(W,{shadow:"never"},{header:m(()=>[...s[1]||(s[1]=[p("div",{class:"card-header"},[p("span",null,"医生排班管理")],-1)])]),default:m(()=>[g(G,{model:o,"label-width":"100px",class:"paiban-form"},{default:m(()=>[g(n,{label:"选择医生:"},{default:m(()=>[p("div",ce,[g(r,{modelValue:l.value,"onUpdate:modelValue":s[0]||(s[0]=t=>l.value=t),onChange:C},{default:m(()=>[(c(!0),u(T,null,E(h.value,t=>(c(),k(a,{key:t.id,value:t.id,class:"doctor-radio"},{default:m(()=>[B(Y(t.name),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"])])]),_:1}),g(n,{label:"排班时间:"},{default:m(()=>[l.value?l.value&&i.value.length===0?(c(),k(_,{key:1,description:"该医生暂无排班","image-size":80})):(c(),u("div",de,[p("div",me,[(c(!0),u(T,null,E(V.value,t=>(c(),k(z,{key:t.date,type:o.date===t.date?"primary":"",onClick:j=>M(t.date),class:"date-button"},{default:m(()=>[B(Y(t.label),1)]),_:2},1032,["type","onClick"]))),128))]),o.date?(c(),u("div",ue,[p("div",pe,[(c(!0),u(T,null,E($.value,t=>(c(),u("div",{key:t.time,class:I(["time-slot-item",{available:t.available,unavailable:!t.available,selected:o.selectedTime===t.time}]),onClick:j=>F(t)},[p("div",fe,Y(t.time),1),p("div",{class:I(["slot-status",{"status-available":t.available}])},Y(t.available?"可约":"已约"),3)],10,ve))),128))])])):le("",!0)])):(c(),k(_,{key:0,description:"请先选择医生","image-size":80}))]),_:1})]),_:1},8,["model"])]),_:1})])}}}),ot=te(_e,[["__scopeId","data-v-79f98e7f"]]);export{ot as default}; +import{D as J,B as P,G as U,I as q,R as H,i as O,J as Q}from"./element-plus-DFTWCWyi.js";import{d,g as K}from"./dayjs-DG77mNTn.js";import{g as X}from"./tcm-BcqaE0lo.js";import{r as Z,g as ee}from"./doctor-ul0r578d.js";import{i as y,_ as te}from"./index-DBREMm_z.js";import{f as ae,b as oe,d as se,ak as c,I as u,a as g,aN as m,J as p,F as T,ap as E,G as k,O as B,H as le,A as R,n as re}from"./@vue/runtime-core-C6bnekPw.js";import{Q as Y,o as I}from"./@vue/shared-mAAVTE9n.js";import{n as b,r as ie}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const ne={class:"paiban-container"},ce={class:"doctor-list"},de={key:2,class:"paiban-time-container"},me={class:"date-selector"},ue={key:0,class:"time-slots-container"},pe={class:"time-slots-grid"},ve=["onClick"],fe={class:"slot-time"},_e=ae({__name:"paiban",setup(ye){d.extend(K);const v=b(!1),h=b([]),f=b([]),l=b(0),i=b([]);let D=null,w=!1;const o=ie({date:"",selectedTime:""}),V=R(()=>{if(!l.value||i.value.length===0)return[];const e=[],s=["日","一","二","三","四","五","六"],a=d().startOf("day");for(const r of i.value){const n=d(r);if(n.isBefore(a))continue;const _=`${n.format("MM月DD日")} (${s[n.day()]})`;e.push({date:r,label:_})}return e}),$=R(()=>{if(!o.date||f.value.length===0)return[];const e=d().format("YYYY-MM-DD");if(!(o.date===e))return f.value;const a=d();return f.value.map(r=>{const n=d(`${o.date} ${r.time}`);return n.isBefore(a)||n.isSame(a,"minute")?{...r,available:!1}:r})}),N=async()=>{try{v.value=!0;const e=await X();h.value=e||[],h.value.length>0&&!l.value&&(l.value=h.value[0].id,await C())}catch(e){console.error("加载医生列表失败:",e),y.msgError("加载医生列表失败")}finally{v.value=!1}},C=async()=>{o.selectedTime="",o.date="",f.value=[],i.value=[],l.value&&await A()},A=async()=>{if(l.value)try{v.value=!0;const e=d().format("YYYY-MM-DD"),s=d().add(6,"day").format("YYYY-MM-DD"),a=await Z({doctor_id:l.value,start_date:e,end_date:s,status:1});if(a!=null&&a.lists&&a.lists.length>0){if(i.value=[...new Set(a.lists.map(r=>r.date))],i.value.sort(),await re(),i.value.length>0){const r=d().format("YYYY-MM-DD"),n=i.value.includes(r)?r:i.value[0];M(n)}}else i.value=[],y.msgWarning("该医生暂无排班")}catch(e){console.error("加载医生排班失败:",e),y.msgError("加载医生排班失败"),i.value=[]}finally{v.value=!1}},M=e=>{o.date=e,o.selectedTime="",l.value&&S()},S=async(e=!1)=>{if(!(!l.value||!o.date)){if(w){console.log("正在加载中,跳过本次请求");return}try{w=!0,e||(v.value=!0);const s=await ee({doctor_id:l.value,appointment_date:o.date,period:"all"});f.value=((s==null?void 0:s.slots)||[]).map(a=>({time:a.time,available:a.available,quota:a.available?1:0}))}catch(s){console.error("加载时间段失败:",s),e||y.msgError("加载时间段失败"),f.value=[]}finally{w=!1,e||(v.value=!1)}}},F=e=>{if(!e.available){y.msgWarning("该时间段不可预约");return}o.selectedTime=e.time},L=()=>{x(),D=window.setInterval(()=>{l.value&&o.date&&S(!0)},5e3)},x=()=>{D&&(clearInterval(D),D=null)};return oe(()=>{N(),L()}),se(()=>{x()}),(e,s)=>{const a=q,r=U,n=P,_=H,z=O,G=J,W=Q;return c(),u("div",ne,[g(W,{shadow:"never"},{header:m(()=>[...s[1]||(s[1]=[p("div",{class:"card-header"},[p("span",null,"医生排班管理")],-1)])]),default:m(()=>[g(G,{model:o,"label-width":"100px",class:"paiban-form"},{default:m(()=>[g(n,{label:"选择医生:"},{default:m(()=>[p("div",ce,[g(r,{modelValue:l.value,"onUpdate:modelValue":s[0]||(s[0]=t=>l.value=t),onChange:C},{default:m(()=>[(c(!0),u(T,null,E(h.value,t=>(c(),k(a,{key:t.id,value:t.id,class:"doctor-radio"},{default:m(()=>[B(Y(t.name),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"])])]),_:1}),g(n,{label:"排班时间:"},{default:m(()=>[l.value?l.value&&i.value.length===0?(c(),k(_,{key:1,description:"该医生暂无排班","image-size":80})):(c(),u("div",de,[p("div",me,[(c(!0),u(T,null,E(V.value,t=>(c(),k(z,{key:t.date,type:o.date===t.date?"primary":"",onClick:j=>M(t.date),class:"date-button"},{default:m(()=>[B(Y(t.label),1)]),_:2},1032,["type","onClick"]))),128))]),o.date?(c(),u("div",ue,[p("div",pe,[(c(!0),u(T,null,E($.value,t=>(c(),u("div",{key:t.time,class:I(["time-slot-item",{available:t.available,unavailable:!t.available,selected:o.selectedTime===t.time}]),onClick:j=>F(t)},[p("div",fe,Y(t.time),1),p("div",{class:I(["slot-status",{"status-available":t.available}])},Y(t.available?"可约":"已约"),3)],10,ve))),128))])])):le("",!0)])):(c(),k(_,{key:0,description:"请先选择医生","image-size":80}))]),_:1})]),_:1},8,["model"])]),_:1})])}}}),ot=te(_e,[["__scopeId","data-v-79f98e7f"]]);export{ot as default}; diff --git a/server/public/admin/assets/patient-DKQ1nUyC.js b/server/public/admin/assets/patient-DdWkVUZB.js similarity index 88% rename from server/public/admin/assets/patient-DKQ1nUyC.js rename to server/public/admin/assets/patient-DdWkVUZB.js index 5ca76893..c5b1129b 100644 --- a/server/public/admin/assets/patient-DKQ1nUyC.js +++ b/server/public/admin/assets/patient-DdWkVUZB.js @@ -1 +1 @@ -import{r as o}from"./index-E47--KT7.js";function r(t){return o.get({url:"/doctor.appointment/lists",params:t})}function n(t){return o.get({url:"/doctor.appointment/reception",params:t})}function i(t){return o.post({url:"/doctor.appointment/notifyAssistant",params:t})}function a(t){return o.post({url:"/doctor.appointment/addDoctorNote",params:t})}function c(t){return o.get({url:"/doctor.appointment/doctorNotes",params:t})}function s(t){return o.post({url:"/doctor.appointment/deleteDoctorNoteImage",params:t})}export{a,r as b,s as d,c as g,i as n,n as r}; +import{r as o}from"./index-DBREMm_z.js";function r(t){return o.get({url:"/doctor.appointment/lists",params:t})}function n(t){return o.get({url:"/doctor.appointment/reception",params:t})}function i(t){return o.post({url:"/doctor.appointment/notifyAssistant",params:t})}function a(t){return o.post({url:"/doctor.appointment/addDoctorNote",params:t})}function c(t){return o.get({url:"/doctor.appointment/doctorNotes",params:t})}function s(t){return o.post({url:"/doctor.appointment/deleteDoctorNoteImage",params:t})}export{a,r as b,s as d,c as g,i as n,n as r}; diff --git a/server/public/admin/assets/patient-call-CdFa74wE.js b/server/public/admin/assets/patient-call-BXY2Pazd.js similarity index 98% rename from server/public/admin/assets/patient-call-CdFa74wE.js rename to server/public/admin/assets/patient-call-BXY2Pazd.js index 6985df35..57c4304c 100644 --- a/server/public/admin/assets/patient-call-CdFa74wE.js +++ b/server/public/admin/assets/patient-call-BXY2Pazd.js @@ -1 +1 @@ -import{E as a,K as Q,i as W,d as $,R as X,J as Y,b as M}from"./element-plus-0wC3naml.js";import{a6 as K}from"./@element-plus/icons-vue-HOEUG8sr.js";import{F as C,u as O,g as k,a as L,l as E,r as Z,y as T}from"./@tencentcloud/call-uikit-vue-DB7vt9Ht.js";import{u as ee,r as te,_ as oe}from"./index-E47--KT7.js";import{f as le,b as ae,n as V,d as ne,ak as m,I as d,a as r,aN as c,J as n,O as f,G as z,H as h,A as se}from"./@vue/runtime-core-C6bnekPw.js";import{Q as w,o as ie}from"./@vue/shared-mAAVTE9n.js";import{y as A,n as y}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./@tencentcloud/call-engine-js-BX2W9Lhf.js";import"./@tencentcloud/chat-AC2Y2r2A.js";import"./rtc-detect-Chu-fZvE.js";import"./@tencentcloud/tui-core-8M7p1XHw.js";import"./tim-upload-plugin-HO4N4AW9.js";import"./tim-profanity-filter-plugin-Dn_Cf-mP.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const re={class:"patient-test"},ce={key:0,class:"init-section"},ue={key:1,class:"status"},pe={class:"flex items-center"},me={class:"mt-2"},fe={key:0},ve={key:0,class:"call-actions mt-4"},de={key:2,id:"call-container",class:"call-container phone-call-shell"},ge={key:3,class:"waiting-container"},Ie={key:4,class:"phone-call-kit-host phone-call-kit-host--offscreen","aria-hidden":"true"},_e=le({__name:"patient-call",setup(Ce){const B=ee(),S=se(()=>B.userInfo),U=y(!1),g=y(!1),D=y(""),o=y(!1),s=y(!1),p=y(null),v=y(null);let I=null;ae(()=>{G()});function b(t){try{const e=k.getData(L.CALL,E.CALL_STATUS),u=k.getData(L.CALL,E.CALL_ROLE),i=!!k.getData(L.CALL,E.IS_GROUP),_=o.value;if(e==="calling"&&u===Z.CALLEE){o.value=!0,p.value={isGroup:i,from:t},_||(a.info("检测到待接听的来电,请点击接听"),M({title:"来电提醒",message:"有待接听的视频通话",type:"warning",duration:0,position:"top-right"})),s.value=!1;return}if(e==="connected"){o.value=!1,p.value=null,s.value=!0;return}e==="idle"&&(o.value||s.value)&&(o.value=!1,s.value=!1,p.value=null)}catch(e){console.warn("syncIncomingFromTUIStore:",t,e)}}function x(){b("watch")}function P(){I&&(I(),I=null);const t={[E.CALL_STATUS]:x,[E.CALL_ROLE]:x};try{k.watch(L.CALL,t),I=()=>{try{k.unwatch(L.CALL,t)}catch{}}}catch(e){console.warn("TUIStore.watch 失败:",e)}}const R=()=>{v.value&&clearInterval(v.value);let t=0;const e=90;v.value=setInterval(()=>{t+=1,b("poll"),t>=e&&v.value&&(clearInterval(v.value),v.value=null)},500)},F=({oldStatus:t,newStatus:e})=>{console.log("========================================"),console.log("=== 通话状态变化回调触发 ==="),console.log("oldStatus:",t),console.log("newStatus:",e),console.log("STATUS 常量:",T),console.log("========================================"),e===T.BE_INVITED&&(console.log(">>> 收到来电邀请"),o.value=!0,p.value={oldStatus:t,newStatus:e},M({title:"来电提醒",message:"收到视频通话请求",type:"info",duration:0,position:"top-right"}),a.success("收到来电,请点击接听按钮")),(e===T.CALLING_C2C_VIDEO||e===T.CALLING_GROUP_VIDEO)&&(console.log(">>> 通话已接通"),a.success("通话已接通"),o.value=!1,s.value=!0),e===T.IDLE&&(o.value||s.value)&&(console.log(">>> 通话已结束"),o.value=!1,s.value=!1,p.value=null,a.info("通话已结束"))},G=async()=>{try{U.value=!0;const t=S.value.id;if(!t)throw new Error("未获取到当前用户ID,请重新登录");console.log("=== 开始初始化医疗助理端 ==="),console.log("当前用户ID:",t),a.info("正在获取签名...");const e=await te.get({url:"/tcm.diagnosis/getDoctorSignature",params:{patient_id:t}});if(!e)throw new Error("获取签名失败");const{sdkAppId:u,userId:i,userSig:_}=e;if(D.value=i,console.log("医疗助理签名获取成功:",{userId:i,sdkAppId:u,userSigLength:_.length}),console.log("完整签名信息:",e),a.info("正在初始化通话组件..."),console.log("=== 开始调用 TUICallKitServer.init ==="),!C||typeof C.init!="function")throw new Error("TUICallKitServer 未正确加载,请刷新页面重试");try{await C.init({userID:i,userSig:_,SDKAppID:Number(u)})}catch(l){console.warn("TUICallKitServer.init 出现错误,但继续执行:",l)}console.log("=== TUICallKitServer.init 完成 ===");const N={statusChanged:F,onError:l=>{console.error("=== TUICallKit 错误回调 ===",l),a.error(`通话错误: ${(l==null?void 0:l.message)||"未知错误"}`)},onInvited:l=>{console.log("=== 收到邀请回调 (onInvited) ===",l),a.info("收到通话邀请 (onInvited)")},afterCalling:()=>{console.log("=== afterCalling 回调 ===")}};try{C.setCallback(N)}catch(l){console.warn("设置回调时出现错误,但继续执行:",l)}console.log("回调设置完成"),a.info("等待初始化完成..."),await new Promise(l=>setTimeout(l,2e3)),g.value=!0,await V(),await new Promise(l=>setTimeout(l,300)),P(),b("post-init"),R(),a.success("医疗助理端初始化成功,等待来电..."),console.log("=== 医疗助理端初始化完成 ==="),console.log("userId:",i),console.log("等待来电中..."),console.log("请在医生端发起群组通话,目标用户ID应该是:",i)}catch(t){console.error("=== 初始化失败 ===",t),a.error(t.message||"初始化失败")}finally{U.value=!1}};async function j(){var t;await V(),await new Promise(e=>setTimeout(e,400));try{const e=C;if(typeof e.closeMicrophone=="function")return await e.closeMicrophone(),!0;const u=(t=e.getTUICallEngineInstance)==null?void 0:t.call(e);if(u&&typeof u.closeMicrophone=="function")return await u.closeMicrophone(),!0}catch(e){console.warn("接听后关闭麦克风失败(可在通话条手动关麦):",e)}return!1}const J=async()=>{try{console.log("接听来电"),await C.accept(),a.success("已接听通话"),o.value=!1,s.value=!0,await j()&&a.info("已关闭本地麦克风")}catch(t){console.error("接听失败:",t),a.error(t.message||"接听失败")}},q=async()=>{try{console.log("拒绝来电"),await C.reject(),a.info("已拒绝通话"),o.value=!1,p.value=null}catch(t){console.error("拒绝失败:",t),a.error(t.message||"拒绝失败")}},H=()=>{g.value=!1,D.value="",o.value=!1,s.value=!1,p.value=null};return ne(()=>{v.value&&(clearInterval(v.value),v.value=null),I&&(I(),I=null),g.value&&(o.value=!1,s.value=!1,p.value=null)}),(t,e)=>{const u=Q,i=W,_=$,N=X,l=Y;return m(),d("div",re,[r(l,null,{header:c(()=>[...e[0]||(e[0]=[n("div",{class:"card-header"},[n("span",null,"医疗助理端 - 接听来电")],-1)])]),default:c(()=>[g.value?h("",!0):(m(),d("div",ce,[r(u,{type:"info",closable:!1,class:"mb-4"},{default:c(()=>[n("p",null,[e[1]||(e[1]=n("strong",null,"当前登录用户:",-1)),f(" "+w(S.value.nickname||S.value.name||"未知"),1)]),n("p",null,[e[2]||(e[2]=n("strong",null,"用户ID:",-1)),f(" "+w(S.value.id||"未获取"),1)]),e[3]||(e[3]=n("p",null,[n("strong",null,"状态:"),f(" 正在初始化...")],-1))]),_:1}),U.value?h("",!0):(m(),z(i,{key:0,type:"primary",onClick:G,loading:U.value,size:"large"},{default:c(()=>[...e[4]||(e[4]=[f(" 重新初始化 ",-1)])]),_:1},8,["loading"]))])),g.value?(m(),d("div",ue,[r(u,{type:o.value?"warning":"success",closable:!1},{title:c(()=>[n("div",pe,[r(_,{class:ie(["mr-2",{"animate-pulse":o.value}])},{default:c(()=>[r(A(K))]),_:1},8,["class"]),n("span",null,w(o.value?"收到来电!":"医疗助理端已初始化,等待来电..."),1)])]),default:c(()=>[n("div",me,[n("p",null,[e[5]||(e[5]=n("strong",null,"医疗助理ID:",-1)),f(" "+w(D.value),1)]),n("p",null,[e[6]||(e[6]=n("strong",null,"状态:",-1)),f(" "+w(o.value?"来电中":"在线"),1)]),o.value&&p.value?(m(),d("p",fe,[e[7]||(e[7]=n("strong",null,"通话类型:",-1)),f(" "+w(p.value.isGroup?"群组视频通话":"视频通话"),1)])):h("",!0)])]),_:1},8,["type"]),o.value?(m(),d("div",ve,[r(i,{type:"success",size:"large",onClick:J,icon:A(K)},{default:c(()=>[...e[8]||(e[8]=[f(" 接听 ",-1)])]),_:1},8,["icon"]),r(i,{type:"danger",size:"large",onClick:q},{default:c(()=>[...e[9]||(e[9]=[f(" 拒绝 ",-1)])]),_:1})])):(m(),z(i,{key:1,type:"danger",onClick:H,class:"mt-4"},{default:c(()=>[...e[10]||(e[10]=[f(" 重置 ",-1)])]),_:1}))])):h("",!0),o.value||s.value?(m(),d("div",de,[r(A(O),{class:"TUICallKit-mobile"})])):g.value?(m(),d("div",ge,[r(N,{description:"等待来电中..."},{image:c(()=>[r(_,{size:80,color:"#909399"},{default:c(()=>[r(A(K))]),_:1})]),_:1})])):h("",!0),g.value&&!o.value&&!s.value?(m(),d("div",Ie,[r(A(O),{class:"TUICallKit-mobile"})])):h("",!0)]),_:1})])}}}),ut=oe(_e,[["__scopeId","data-v-56c22385"]]);export{ut as default}; +import{E as a,K as Q,i as W,d as $,R as X,J as Y,b as M}from"./element-plus-DFTWCWyi.js";import{a6 as K}from"./@element-plus/icons-vue-HOEUG8sr.js";import{F as C,u as O,g as k,a as L,l as E,r as Z,y as T}from"./@tencentcloud/call-uikit-vue-DB7vt9Ht.js";import{u as ee,r as te,_ as oe}from"./index-DBREMm_z.js";import{f as le,b as ae,n as V,d as ne,ak as m,I as d,a as r,aN as c,J as n,O as f,G as z,H as h,A as se}from"./@vue/runtime-core-C6bnekPw.js";import{Q as w,o as ie}from"./@vue/shared-mAAVTE9n.js";import{y as A,n as y}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./@tencentcloud/call-engine-js-BX2W9Lhf.js";import"./@tencentcloud/chat-AC2Y2r2A.js";import"./rtc-detect-Chu-fZvE.js";import"./@tencentcloud/tui-core-8M7p1XHw.js";import"./tim-upload-plugin-HO4N4AW9.js";import"./tim-profanity-filter-plugin-Dn_Cf-mP.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const re={class:"patient-test"},ce={key:0,class:"init-section"},ue={key:1,class:"status"},pe={class:"flex items-center"},me={class:"mt-2"},fe={key:0},ve={key:0,class:"call-actions mt-4"},de={key:2,id:"call-container",class:"call-container phone-call-shell"},ge={key:3,class:"waiting-container"},Ie={key:4,class:"phone-call-kit-host phone-call-kit-host--offscreen","aria-hidden":"true"},_e=le({__name:"patient-call",setup(Ce){const B=ee(),S=se(()=>B.userInfo),U=y(!1),g=y(!1),D=y(""),o=y(!1),s=y(!1),p=y(null),v=y(null);let I=null;ae(()=>{G()});function b(t){try{const e=k.getData(L.CALL,E.CALL_STATUS),u=k.getData(L.CALL,E.CALL_ROLE),i=!!k.getData(L.CALL,E.IS_GROUP),_=o.value;if(e==="calling"&&u===Z.CALLEE){o.value=!0,p.value={isGroup:i,from:t},_||(a.info("检测到待接听的来电,请点击接听"),M({title:"来电提醒",message:"有待接听的视频通话",type:"warning",duration:0,position:"top-right"})),s.value=!1;return}if(e==="connected"){o.value=!1,p.value=null,s.value=!0;return}e==="idle"&&(o.value||s.value)&&(o.value=!1,s.value=!1,p.value=null)}catch(e){console.warn("syncIncomingFromTUIStore:",t,e)}}function x(){b("watch")}function P(){I&&(I(),I=null);const t={[E.CALL_STATUS]:x,[E.CALL_ROLE]:x};try{k.watch(L.CALL,t),I=()=>{try{k.unwatch(L.CALL,t)}catch{}}}catch(e){console.warn("TUIStore.watch 失败:",e)}}const R=()=>{v.value&&clearInterval(v.value);let t=0;const e=90;v.value=setInterval(()=>{t+=1,b("poll"),t>=e&&v.value&&(clearInterval(v.value),v.value=null)},500)},F=({oldStatus:t,newStatus:e})=>{console.log("========================================"),console.log("=== 通话状态变化回调触发 ==="),console.log("oldStatus:",t),console.log("newStatus:",e),console.log("STATUS 常量:",T),console.log("========================================"),e===T.BE_INVITED&&(console.log(">>> 收到来电邀请"),o.value=!0,p.value={oldStatus:t,newStatus:e},M({title:"来电提醒",message:"收到视频通话请求",type:"info",duration:0,position:"top-right"}),a.success("收到来电,请点击接听按钮")),(e===T.CALLING_C2C_VIDEO||e===T.CALLING_GROUP_VIDEO)&&(console.log(">>> 通话已接通"),a.success("通话已接通"),o.value=!1,s.value=!0),e===T.IDLE&&(o.value||s.value)&&(console.log(">>> 通话已结束"),o.value=!1,s.value=!1,p.value=null,a.info("通话已结束"))},G=async()=>{try{U.value=!0;const t=S.value.id;if(!t)throw new Error("未获取到当前用户ID,请重新登录");console.log("=== 开始初始化医疗助理端 ==="),console.log("当前用户ID:",t),a.info("正在获取签名...");const e=await te.get({url:"/tcm.diagnosis/getDoctorSignature",params:{patient_id:t}});if(!e)throw new Error("获取签名失败");const{sdkAppId:u,userId:i,userSig:_}=e;if(D.value=i,console.log("医疗助理签名获取成功:",{userId:i,sdkAppId:u,userSigLength:_.length}),console.log("完整签名信息:",e),a.info("正在初始化通话组件..."),console.log("=== 开始调用 TUICallKitServer.init ==="),!C||typeof C.init!="function")throw new Error("TUICallKitServer 未正确加载,请刷新页面重试");try{await C.init({userID:i,userSig:_,SDKAppID:Number(u)})}catch(l){console.warn("TUICallKitServer.init 出现错误,但继续执行:",l)}console.log("=== TUICallKitServer.init 完成 ===");const N={statusChanged:F,onError:l=>{console.error("=== TUICallKit 错误回调 ===",l),a.error(`通话错误: ${(l==null?void 0:l.message)||"未知错误"}`)},onInvited:l=>{console.log("=== 收到邀请回调 (onInvited) ===",l),a.info("收到通话邀请 (onInvited)")},afterCalling:()=>{console.log("=== afterCalling 回调 ===")}};try{C.setCallback(N)}catch(l){console.warn("设置回调时出现错误,但继续执行:",l)}console.log("回调设置完成"),a.info("等待初始化完成..."),await new Promise(l=>setTimeout(l,2e3)),g.value=!0,await V(),await new Promise(l=>setTimeout(l,300)),P(),b("post-init"),R(),a.success("医疗助理端初始化成功,等待来电..."),console.log("=== 医疗助理端初始化完成 ==="),console.log("userId:",i),console.log("等待来电中..."),console.log("请在医生端发起群组通话,目标用户ID应该是:",i)}catch(t){console.error("=== 初始化失败 ===",t),a.error(t.message||"初始化失败")}finally{U.value=!1}};async function j(){var t;await V(),await new Promise(e=>setTimeout(e,400));try{const e=C;if(typeof e.closeMicrophone=="function")return await e.closeMicrophone(),!0;const u=(t=e.getTUICallEngineInstance)==null?void 0:t.call(e);if(u&&typeof u.closeMicrophone=="function")return await u.closeMicrophone(),!0}catch(e){console.warn("接听后关闭麦克风失败(可在通话条手动关麦):",e)}return!1}const J=async()=>{try{console.log("接听来电"),await C.accept(),a.success("已接听通话"),o.value=!1,s.value=!0,await j()&&a.info("已关闭本地麦克风")}catch(t){console.error("接听失败:",t),a.error(t.message||"接听失败")}},q=async()=>{try{console.log("拒绝来电"),await C.reject(),a.info("已拒绝通话"),o.value=!1,p.value=null}catch(t){console.error("拒绝失败:",t),a.error(t.message||"拒绝失败")}},H=()=>{g.value=!1,D.value="",o.value=!1,s.value=!1,p.value=null};return ne(()=>{v.value&&(clearInterval(v.value),v.value=null),I&&(I(),I=null),g.value&&(o.value=!1,s.value=!1,p.value=null)}),(t,e)=>{const u=Q,i=W,_=$,N=X,l=Y;return m(),d("div",re,[r(l,null,{header:c(()=>[...e[0]||(e[0]=[n("div",{class:"card-header"},[n("span",null,"医疗助理端 - 接听来电")],-1)])]),default:c(()=>[g.value?h("",!0):(m(),d("div",ce,[r(u,{type:"info",closable:!1,class:"mb-4"},{default:c(()=>[n("p",null,[e[1]||(e[1]=n("strong",null,"当前登录用户:",-1)),f(" "+w(S.value.nickname||S.value.name||"未知"),1)]),n("p",null,[e[2]||(e[2]=n("strong",null,"用户ID:",-1)),f(" "+w(S.value.id||"未获取"),1)]),e[3]||(e[3]=n("p",null,[n("strong",null,"状态:"),f(" 正在初始化...")],-1))]),_:1}),U.value?h("",!0):(m(),z(i,{key:0,type:"primary",onClick:G,loading:U.value,size:"large"},{default:c(()=>[...e[4]||(e[4]=[f(" 重新初始化 ",-1)])]),_:1},8,["loading"]))])),g.value?(m(),d("div",ue,[r(u,{type:o.value?"warning":"success",closable:!1},{title:c(()=>[n("div",pe,[r(_,{class:ie(["mr-2",{"animate-pulse":o.value}])},{default:c(()=>[r(A(K))]),_:1},8,["class"]),n("span",null,w(o.value?"收到来电!":"医疗助理端已初始化,等待来电..."),1)])]),default:c(()=>[n("div",me,[n("p",null,[e[5]||(e[5]=n("strong",null,"医疗助理ID:",-1)),f(" "+w(D.value),1)]),n("p",null,[e[6]||(e[6]=n("strong",null,"状态:",-1)),f(" "+w(o.value?"来电中":"在线"),1)]),o.value&&p.value?(m(),d("p",fe,[e[7]||(e[7]=n("strong",null,"通话类型:",-1)),f(" "+w(p.value.isGroup?"群组视频通话":"视频通话"),1)])):h("",!0)])]),_:1},8,["type"]),o.value?(m(),d("div",ve,[r(i,{type:"success",size:"large",onClick:J,icon:A(K)},{default:c(()=>[...e[8]||(e[8]=[f(" 接听 ",-1)])]),_:1},8,["icon"]),r(i,{type:"danger",size:"large",onClick:q},{default:c(()=>[...e[9]||(e[9]=[f(" 拒绝 ",-1)])]),_:1})])):(m(),z(i,{key:1,type:"danger",onClick:H,class:"mt-4"},{default:c(()=>[...e[10]||(e[10]=[f(" 重置 ",-1)])]),_:1}))])):h("",!0),o.value||s.value?(m(),d("div",de,[r(A(O),{class:"TUICallKit-mobile"})])):g.value?(m(),d("div",ge,[r(N,{description:"等待来电中..."},{image:c(()=>[r(_,{size:80,color:"#909399"},{default:c(()=>[r(A(K))]),_:1})]),_:1})])):h("",!0),g.value&&!o.value&&!s.value?(m(),d("div",Ie,[r(A(O),{class:"TUICallKit-mobile"})])):h("",!0)]),_:1})])}}}),ut=oe(_e,[["__scopeId","data-v-56c22385"]]);export{ut as default}; diff --git a/server/public/admin/assets/pay-wX-vUDcK.js b/server/public/admin/assets/pay-BWtHlaJr.js similarity index 85% rename from server/public/admin/assets/pay-wX-vUDcK.js rename to server/public/admin/assets/pay-BWtHlaJr.js index 49f0e701..12509748 100644 --- a/server/public/admin/assets/pay-wX-vUDcK.js +++ b/server/public/admin/assets/pay-BWtHlaJr.js @@ -1 +1 @@ -import{r as a}from"./index-E47--KT7.js";function e(){return a.get({url:"/setting.pay.pay_way/getPayWay"})}function s(t){return a.post({url:"/setting.pay.pay_way/setPayWay",params:t})}function y(){return a.get({url:"/setting.pay.pay_config/lists"})}function g(t){return a.post({url:"/setting.pay.pay_config/setConfig",params:t})}function i(t){return a.get({url:"/setting.pay.pay_config/getConfig",params:t})}export{y as a,e as b,s as c,i as g,g as s}; +import{r as a}from"./index-DBREMm_z.js";function e(){return a.get({url:"/setting.pay.pay_way/getPayWay"})}function s(t){return a.post({url:"/setting.pay.pay_way/setPayWay",params:t})}function y(){return a.get({url:"/setting.pay.pay_config/lists"})}function g(t){return a.post({url:"/setting.pay.pay_config/setConfig",params:t})}function i(t){return a.get({url:"/setting.pay.pay_config/getConfig",params:t})}export{y as a,e as b,s as c,i as g,g as s}; diff --git a/server/public/admin/assets/pc-Cxr5rLiS.js b/server/public/admin/assets/pc-D2RluI6q.js similarity index 92% rename from server/public/admin/assets/pc-Cxr5rLiS.js rename to server/public/admin/assets/pc-D2RluI6q.js index 3139f484..ed2e5239 100644 --- a/server/public/admin/assets/pc-Cxr5rLiS.js +++ b/server/public/admin/assets/pc-D2RluI6q.js @@ -1 +1 @@ -import{i as x,D as v,B as D,C as b,J as g}from"./element-plus-0wC3naml.js";import{b as k}from"./decoration-ChND9qat.js";import{f as n,ar as w,as as B,ak as s,I as C,a as o,aN as e,J as E,O as p,aP as V,G as N}from"./@vue/runtime-core-C6bnekPw.js";import{y as a,n as P}from"./@vue/reactivity-DiY1c2vO.js";import{Q as I}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-E47--KT7.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const F={class:"decoration-pc min-w-[1100px]"},J=n({name:"decorationPc"}),Dt=n({...J,setup(q){const r=P({update_time:"",pc_url:""});return(async()=>{try{r.value=await k()}catch(i){console.log(i)}})(),(i,t)=>{const m=x,c=w("router-link"),l=D,_=b,d=v,u=g,f=B("copy");return s(),C("div",F,[o(u,{shadow:"never",class:"!border-none flex-1 flex"},{default:e(()=>[t[3]||(t[3]=E("div",{class:"text-xl font-medium"},"首页装修",-1)),o(c,{to:{path:"/decoration/pc_details",query:{url:a(r).pc_url}}},{default:e(()=>[o(m,{class:"m-5",type:"primary",size:"large"},{default:e(()=>[...t[1]||(t[1]=[p("去装修",-1)])]),_:1})]),_:1},8,["to"]),o(d,null,{default:e(()=>[o(l,{label:"最近更新"},{default:e(()=>[p(I(a(r).update_time),1)]),_:1}),o(l,{label:"PC端链接"},{default:e(()=>[o(_,{style:{width:"350px"},modelValue:a(r).pc_url,"onUpdate:modelValue":t[0]||(t[0]=y=>a(r).pc_url=y),disabled:""},null,8,["modelValue"]),V((s(),N(m,{type:"primary"},{default:e(()=>[...t[2]||(t[2]=[p("复制",-1)])]),_:1})),[[f,a(r).pc_url]])]),_:1})]),_:1})]),_:1})])}}});export{Dt as default}; +import{i as x,D as v,B as D,C as b,J as g}from"./element-plus-DFTWCWyi.js";import{b as k}from"./decoration-C799ML-U.js";import{f as n,ar as w,as as B,ak as s,I as C,a as o,aN as e,J as E,O as p,aP as V,G as N}from"./@vue/runtime-core-C6bnekPw.js";import{y as a,n as P}from"./@vue/reactivity-DiY1c2vO.js";import{Q as I}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-DBREMm_z.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const F={class:"decoration-pc min-w-[1100px]"},J=n({name:"decorationPc"}),Dt=n({...J,setup(q){const r=P({update_time:"",pc_url:""});return(async()=>{try{r.value=await k()}catch(i){console.log(i)}})(),(i,t)=>{const m=x,c=w("router-link"),l=D,_=b,d=v,u=g,f=B("copy");return s(),C("div",F,[o(u,{shadow:"never",class:"!border-none flex-1 flex"},{default:e(()=>[t[3]||(t[3]=E("div",{class:"text-xl font-medium"},"首页装修",-1)),o(c,{to:{path:"/decoration/pc_details",query:{url:a(r).pc_url}}},{default:e(()=>[o(m,{class:"m-5",type:"primary",size:"large"},{default:e(()=>[...t[1]||(t[1]=[p("去装修",-1)])]),_:1})]),_:1},8,["to"]),o(d,null,{default:e(()=>[o(l,{label:"最近更新"},{default:e(()=>[p(I(a(r).update_time),1)]),_:1}),o(l,{label:"PC端链接"},{default:e(()=>[o(_,{style:{width:"350px"},modelValue:a(r).pc_url,"onUpdate:modelValue":t[0]||(t[0]=y=>a(r).pc_url=y),disabled:""},null,8,["modelValue"]),V((s(),N(m,{type:"primary"},{default:e(()=>[...t[2]||(t[2]=[p("复制",-1)])]),_:1})),[[f,a(r).pc_url]])]),_:1})]),_:1})]),_:1})])}}});export{Dt as default}; diff --git a/server/public/admin/assets/pc_details-j9bN0XnC.js b/server/public/admin/assets/pc_details-BuqzzP4c.js similarity index 62% rename from server/public/admin/assets/pc_details-j9bN0XnC.js rename to server/public/admin/assets/pc_details-BuqzzP4c.js index 7d36ee6e..d9528005 100644 --- a/server/public/admin/assets/pc_details-j9bN0XnC.js +++ b/server/public/admin/assets/pc_details-BuqzzP4c.js @@ -1 +1 @@ -import{i as b,J as P}from"./element-plus-0wC3naml.js";import{o as B}from"./@element-plus/icons-vue-HOEUG8sr.js";import{a as N,s as V}from"./decoration-ChND9qat.js";import{i as C,_ as E}from"./index-E47--KT7.js";import I from"./preview-pc-BmqIs2iT.js";import{a as h}from"./vue-router-QlpZ4wdW.js";import{f as v,w as J,as as O,ak as d,I as S,a as p,aN as m,J as u,O as f,aP as M,G as R,A as T}from"./@vue/runtime-core-C6bnekPw.js";import{y as s,a as j,n as _,r as A}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-OPSjrJvJ.js";import"./attr-CLlbMhxO.js";import"./index-BHTgr4Ka.js";import"./picker-B9b8bj5N.js";import"./index-nymJKQXP.js";import"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import"./article-DJnP6RZd.js";import"./usePaging-VsbTxSU0.js";import"./picker-DlbAZkDm.js";import"./index-B56X8bEB.js";import"./index-Ci4dcEQh.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-DoYUJmkp.js";import"./index.vue_vue_type_script_setup_true_lang-Bl0f8aX8.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./content.vue_vue_type_script_setup_true_lang-B9VzIZnv.js";import"./decoration-img-CZl9mrsf.js";import"./attr.vue_vue_type_script_setup_true_lang-BN--zfly.js";import"./content-B6YfxEbd.js";import"./attr.vue_vue_type_script_setup_true_lang-BIDjj2ZQ.js";import"./content.vue_vue_type_script_setup_true_lang-C4EWc4Ny.js";import"./attr.vue_vue_type_script_setup_true_lang-CVwolQf4.js";import"./add-nav.vue_vue_type_script_setup_true_lang-DqZ_o5sa.js";import"./content-Cj4lK4l8.js";import"./attr.vue_vue_type_script_setup_true_lang-BVV-rQuy.js";import"./content.vue_vue_type_script_setup_true_lang-CuEc-gLQ.js";import"./attr.vue_vue_type_script_setup_true_lang-DnkDutJb.js";import"./content-Dyh_0iwA.js";import"./attr.vue_vue_type_script_setup_true_lang-CTVcHVd7.js";import"./index.vue_vue_type_script_setup_true_lang-C384XBPz.js";import"./content-B1b0mSAw.js";import"./content.vue_vue_type_script_setup_true_lang-hItYL1wr.js";import"./attr.vue_vue_type_script_setup_true_lang-ChKJn1wI.js";import"./content-B7VEJItb.js";import"./attr.vue_vue_type_script_setup_true_lang-A0LOU1hn.js";import"./content.vue_vue_type_script_setup_true_lang-zA2x9af7.js";import"./attr.vue_vue_type_script_setup_true_lang-9MDVGbdQ.js";import"./content-CgQTA2IB.js";const G={class:"decoration-pages min-w-[1100px]"},H={class:"flex justify-between w-full"},U={class:"flex-1 h-full"},W=v({name:"decorationPc"}),q=v({...W,setup(z){const g=h();let n;(t=>{t.HOME="4"})(n||(n={}));const a=A({4:{id:4,type:4,name:"首页装修",pageData:[]}}),r=_("4"),e=_(0),i=T(()=>{var t;return((t=a[r.value])==null?void 0:t.pageData)??[]}),w=async()=>{await C.confirm("确定离开此页面?系统可能不会保存您所做的更改。"),g.back()},c=async()=>{const t=await N({id:r.value});a[String(t.id)].pageData=JSON.parse(t.data),e.value=i.value.findIndex(o=>!o.disabled)},D=async()=>{await V({...a[r.value],data:JSON.stringify(a[r.value].pageData)}),c()};return J(r,()=>{e.value=i.value.findIndex(t=>!t.disabled),c()},{immediate:!0}),(t,o)=>{const l=b,y=P,x=O("perms");return d(),S("div",G,[p(y,{shadow:"never",class:"!border-none !rounded-none !bg-primary"},{default:m(()=>[u("div",H,[p(l,{link:"",type:"primary",icon:s(B),style:{color:"#fff"},onClick:w},{default:m(()=>[...o[1]||(o[1]=[f(" 返回 ",-1)])]),_:1},8,["icon"]),M((d(),R(l,{onClick:D},{default:m(()=>[...o[2]||(o[2]=[f(" 保存 ",-1)])]),_:1})),[[x,["decorate:pages:save"]]])])]),_:1}),u("div",U,[p(I,{modelValue:s(e),"onUpdate:modelValue":o[0]||(o[0]=k=>j(e)?e.value=k:null),pageData:s(i)},null,8,["modelValue","pageData"])])])}}}),yo=E(q,[["__scopeId","data-v-9bc87a24"]]);export{yo as default}; +import{i as b,J as P}from"./element-plus-DFTWCWyi.js";import{o as B}from"./@element-plus/icons-vue-HOEUG8sr.js";import{a as N,s as V}from"./decoration-C799ML-U.js";import{i as C,_ as E}from"./index-DBREMm_z.js";import I from"./preview-pc-C3rY5bdw.js";import{a as h}from"./vue-router-QlpZ4wdW.js";import{f as v,w as J,as as O,ak as d,I as S,a as p,aN as m,J as u,O as f,aP as M,G as R,A as T}from"./@vue/runtime-core-C6bnekPw.js";import{y as s,a as j,n as _,r as A}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-BHHQOM-n.js";import"./attr-BsXOKCNj.js";import"./index-CbfZXeGu.js";import"./picker-DPnqJ8Gk.js";import"./index-BwF7vczx.js";import"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import"./article-BnVIxFkr.js";import"./usePaging-VsbTxSU0.js";import"./picker-BCRrEZaA.js";import"./index-BiPYXDtP.js";import"./index-CRoZWY-W.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-BimpIRb_.js";import"./index.vue_vue_type_script_setup_true_lang-x0oL2ShL.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./content.vue_vue_type_script_setup_true_lang-u1kTovEN.js";import"./decoration-img-CZLpkXPN.js";import"./attr.vue_vue_type_script_setup_true_lang-c_YeWJqI.js";import"./content-Dyki4H78.js";import"./attr.vue_vue_type_script_setup_true_lang-Dy891kIt.js";import"./content.vue_vue_type_script_setup_true_lang-uukcy-Ti.js";import"./attr.vue_vue_type_script_setup_true_lang-6A60mJbu.js";import"./add-nav.vue_vue_type_script_setup_true_lang-BN-blUPj.js";import"./content-Sf3nxxVG.js";import"./attr.vue_vue_type_script_setup_true_lang-Ca7p7CQy.js";import"./content.vue_vue_type_script_setup_true_lang-B-SEL-YW.js";import"./attr.vue_vue_type_script_setup_true_lang-DnkDutJb.js";import"./content-DblaaeJD.js";import"./attr.vue_vue_type_script_setup_true_lang-BnCnHgo6.js";import"./index.vue_vue_type_script_setup_true_lang-3vCdLVB9.js";import"./content-PkioGtTh.js";import"./content.vue_vue_type_script_setup_true_lang-BK6uSq1e.js";import"./attr.vue_vue_type_script_setup_true_lang-ChKJn1wI.js";import"./content-BeOu4XYf.js";import"./attr.vue_vue_type_script_setup_true_lang-mOGAGDW2.js";import"./content.vue_vue_type_script_setup_true_lang-DtEQqPIi.js";import"./attr.vue_vue_type_script_setup_true_lang-9MDVGbdQ.js";import"./content-C_MRybMI.js";const G={class:"decoration-pages min-w-[1100px]"},H={class:"flex justify-between w-full"},U={class:"flex-1 h-full"},W=v({name:"decorationPc"}),q=v({...W,setup(z){const g=h();let n;(t=>{t.HOME="4"})(n||(n={}));const a=A({4:{id:4,type:4,name:"首页装修",pageData:[]}}),r=_("4"),e=_(0),i=T(()=>{var t;return((t=a[r.value])==null?void 0:t.pageData)??[]}),w=async()=>{await C.confirm("确定离开此页面?系统可能不会保存您所做的更改。"),g.back()},c=async()=>{const t=await N({id:r.value});a[String(t.id)].pageData=JSON.parse(t.data),e.value=i.value.findIndex(o=>!o.disabled)},D=async()=>{await V({...a[r.value],data:JSON.stringify(a[r.value].pageData)}),c()};return J(r,()=>{e.value=i.value.findIndex(t=>!t.disabled),c()},{immediate:!0}),(t,o)=>{const l=b,y=P,x=O("perms");return d(),S("div",G,[p(y,{shadow:"never",class:"!border-none !rounded-none !bg-primary"},{default:m(()=>[u("div",H,[p(l,{link:"",type:"primary",icon:s(B),style:{color:"#fff"},onClick:w},{default:m(()=>[...o[1]||(o[1]=[f(" 返回 ",-1)])]),_:1},8,["icon"]),M((d(),R(l,{onClick:D},{default:m(()=>[...o[2]||(o[2]=[f(" 保存 ",-1)])]),_:1})),[[x,["decorate:pages:save"]]])])]),_:1}),u("div",U,[p(I,{modelValue:s(e),"onUpdate:modelValue":o[0]||(o[0]=k=>j(e)?e.value=k:null),pageData:s(i)},null,8,["modelValue","pageData"])])])}}}),yo=E(q,[["__scopeId","data-v-9bc87a24"]]);export{yo as default}; diff --git a/server/public/admin/assets/perm-YIJpPBOg.js b/server/public/admin/assets/perm-Bo9eM8XD.js similarity index 67% rename from server/public/admin/assets/perm-YIJpPBOg.js rename to server/public/admin/assets/perm-Bo9eM8XD.js index 3e38386e..beebaf4e 100644 --- a/server/public/admin/assets/perm-YIJpPBOg.js +++ b/server/public/admin/assets/perm-Bo9eM8XD.js @@ -1 +1 @@ -import{u as i}from"./index-E47--KT7.js";const l=s=>{const e=i().perms,o="*";if(s.length>0){let r=!0;return s.forEach(t=>{!e.includes(t)&&!e.includes(o)&&(r=!1)}),r}else return!0};export{l as h}; +import{u as i}from"./index-DBREMm_z.js";const l=s=>{const e=i().perms,o="*";if(s.length>0){let r=!0;return s.forEach(t=>{!e.includes(t)&&!e.includes(o)&&(r=!1)}),r}else return!0};export{l as h}; diff --git a/server/public/admin/assets/picker-DlbAZkDm.js b/server/public/admin/assets/picker-BCRrEZaA.js similarity index 95% rename from server/public/admin/assets/picker-DlbAZkDm.js rename to server/public/admin/assets/picker-BCRrEZaA.js index 8a43ad28..f05d0114 100644 --- a/server/public/admin/assets/picker-DlbAZkDm.js +++ b/server/public/admin/assets/picker-BCRrEZaA.js @@ -1 +1 @@ -import{_ as j}from"./index-nymJKQXP.js";import{s as le}from"./element-plus-0wC3naml.js";import{_ as se,a as J,F as ue}from"./index-B56X8bEB.js";import{e as de,i as O,_ as pe,c as me}from"./index-E47--KT7.js";import{_ as fe}from"./index-BHTgr4Ka.js";import{D as ge}from"./vuedraggable-5bKFmC7X.js";import{a as ve}from"./file-DoYUJmkp.js";import{f as ce,w as he,am as q,A as T,n as ye,ar as F,ak as we,I as De,a as f,M as Ce,aN as S,J as d,O as be,aP as Te,aq as Se}from"./@vue/runtime-core-C6bnekPw.js";import{K as Pe,n as s}from"./@vue/reactivity-DiY1c2vO.js";import{h as ke}from"./@vueuse/shared-Cl3lVqjz.js";import{s as h,q as $e}from"./@vue/runtime-dom-DDAG46FW.js";import{o as E,p as ze}from"./@vue/shared-mAAVTE9n.js";const Ve=ce({components:{Popup:j,Draggable:ge,FileItem:ue,Material:J,Preview:se},props:{modelValue:{type:[String,Array],default:()=>[]},type:{type:String,default:"image"},size:{type:String,default:"100px"},width:{type:String,default:""},height:{type:String,default:""},fileSize:{type:String,default:"100px"},limit:{type:Number,default:1},disabled:{type:Boolean,default:!1},hiddenUpload:{type:Boolean,default:!1},uploadClass:{type:String,default:""},excludeDomain:{type:Boolean,default:!1},uploadCid:{type:[Number,String],default:0}},emits:["change","update:modelValue"],setup(e,{emit:a}){const z=s(),V=s(),A=s(""),I=s(!1),o=s([]),P=s([]),c=s(!0),k=s(-1),g=s(0),y=s(!1),{disabled:v,limit:p,modelValue:i}=Pe(e),w=de(),D=t=>w.getImageUrl(t),C=T(()=>!e.hiddenUpload&&(e.type==="image"||e.type==="video"||e.type==="file")),K=T(()=>g.value>0);function R(t){if(!t)return!1;const n=Array.from(t.types);return n.includes("Files")||n.includes("application/x-moz-file")}function B(t,n){var l;if(n==="file")return!0;const r=t.includes(".")&&((l=t.split(".").pop())==null?void 0:l.toLowerCase())||"";return n==="image"?r?["jpg","jpeg","png","gif","ico"].includes(r):!0:n==="video"&&r?["wmv","avi","mpg","mpeg","3gp","mov","mp4","flv","rmvb","mkv"].includes(r):!0}function _(t){var l;if(!t||!t.startsWith("http"))return t;const n=String(((l=w.config)==null?void 0:l.oss_domain)||"").trim().replace(/\/$/,"");if(n&&t.startsWith(n))return t.slice(n.length).replace(/^\//,"");const r=typeof window<"u"?window.location.origin.replace(/\/$/,""):"";if(r&&t.startsWith(r))return t.slice(r.length).replace(/^\//,"");try{return new URL(t).pathname.replace(/^\//,"")}catch{return t}}function G(t){var b,$;const n=e.type,r=Array.from(((b=t.clipboardData)==null?void 0:b.files)||[]).filter(m=>B(m.name,n));if(r.length)return r;if(n!=="image")return[];const l=($=t.clipboardData)==null?void 0:$.items;if(!l)return[];const u=[];for(let m=0;m{!C.value||v.value||R(t.dataTransfer)&&g.value++},Q=()=>{C.value&&(g.value=Math.max(0,g.value-1))},X=t=>{!C.value||v.value||R(t.dataTransfer)&&t.preventDefault()},Y=async t=>{var r;if(g.value=0,!C.value||v.value)return;const n=Array.from(((r=t.dataTransfer)==null?void 0:r.files)||[]).filter(l=>B(l.name,e.type));n.length&&await M(n)},Z=async t=>{if(!C.value||v.value)return;const n=G(t);n.length&&(t.preventDefault(),await M(n))},x=T(()=>{switch(e.type){case"image":return"图片";case"video":return"视频";default:return""}}),ee=T(()=>e.limit-o.value.length>0),te=T(()=>c.value?p.value==-1?null:p.value-o.value.length:1),ae=ke(()=>{const t=P.value.map(n=>e.excludeDomain?n.uri:n.url);c.value?o.value=[...o.value,...t]:o.value.splice(k.value,1,t.shift()),N()},1e3,!1),ne=t=>{var n;v.value||(t>=0?(c.value=!1,k.value=t):c.value=!0,(n=z.value)==null||n.open())},ie=t=>{P.value=t},N=()=>{const t=p.value!=1?o.value:o.value[0]||"";a("update:modelValue",t),a("change",t),U()},oe=t=>{o.value.splice(t,1),N()},re=t=>{A.value=e.excludeDomain?D(t):t,I.value=!0},U=()=>{ye(()=>{var t;e.hiddenUpload&&(o.value=[]),(t=V.value)==null||t.clearSelect()})};return he(i,t=>{o.value=Array.isArray(t)?t:t==""?[]:[t]},{immediate:!0}),q("limit",e.limit),q("hiddenUpload",e.hiddenUpload),{popupRef:z,materialRef:V,fileList:o,tipsText:x,handleConfirm:ae,meterialLimit:te,showUpload:ee,showPopup:ne,selectChange:ie,deleteImg:oe,previewUrl:A,showPreview:I,handlePreview:re,handleClose:U,getImageUrl:D,dropActive:K,onTriggerDragEnter:H,onTriggerDragLeave:Q,onTriggerDragOver:X,onTriggerDrop:Y,onTriggerPaste:Z}}}),Ae={class:"material-select"},Ie=["onClick"],Ue={class:"operation-btns text-xs text-center"},Le=["onClick"],Fe={class:"material-wrap"};function Ee(e,a,z,V,A,I){const o=F("file-item"),P=fe,c=F("draggable"),k=me,g=J,y=le,v=j,p=F("preview");return we(),De("div",Ae,[f(v,{ref:"popupRef",width:"1050px","custom-class":"body-padding",title:`选择${e.tipsText}`,onConfirm:e.handleConfirm,onClose:e.handleClose},Ce({default:S(()=>[f(y,null,{default:S(()=>[d("div",Fe,[f(g,{ref:"materialRef",type:e.type,"file-size":e.fileSize,limit:e.meterialLimit,onChange:e.selectChange},null,8,["type","file-size","limit","onChange"])])]),_:1})]),_:2},[e.hiddenUpload?void 0:{name:"trigger",fn:S(()=>[d("div",{class:E(["material-select__trigger clearfix",{"is-drop-hover":e.dropActive}]),tabindex:"0",onClick:a[2]||(a[2]=h(()=>{},["stop"])),onDragenter:a[3]||(a[3]=h((...i)=>e.onTriggerDragEnter&&e.onTriggerDragEnter(...i),["prevent","stop"])),onDragleave:a[4]||(a[4]=h((...i)=>e.onTriggerDragLeave&&e.onTriggerDragLeave(...i),["prevent","stop"])),onDragover:a[5]||(a[5]=h((...i)=>e.onTriggerDragOver&&e.onTriggerDragOver(...i),["prevent","stop"])),onDrop:a[6]||(a[6]=h((...i)=>e.onTriggerDrop&&e.onTriggerDrop(...i),["prevent","stop"])),onPaste:a[7]||(a[7]=(...i)=>e.onTriggerPaste&&e.onTriggerPaste(...i))},[f(c,{class:"draggable",modelValue:e.fileList,"onUpdate:modelValue":a[0]||(a[0]=i=>e.fileList=i),animation:"300","item-key":"id"},{item:S(({element:i,index:w})=>[d("div",{class:E(["material-preview",{"is-disabled":e.disabled,"is-one":e.limit==1}]),onClick:D=>e.showPopup(w)},[f(P,{onClose:D=>e.deleteImg(w)},{default:S(()=>[f(o,{uri:e.excludeDomain?e.getImageUrl(i):i,"file-size":e.size,width:e.width,height:e.height,type:e.type},null,8,["uri","file-size","width","height","type"])]),_:2},1032,["onClose"]),d("div",Ue,[a[9]||(a[9]=d("span",null,"修改",-1)),a[10]||(a[10]=be(" | ",-1)),d("span",{onClick:h(D=>e.handlePreview(i),["stop"])},"查看",8,Le)])],10,Ie)]),_:1},8,["modelValue"]),Te(d("div",{class:E(["material-upload",{"is-disabled":e.disabled,"is-one":e.limit==1,[e.uploadClass]:!0}]),onClick:a[1]||(a[1]=i=>e.showPopup(-1))},[Se(e.$slots,"upload",{},()=>[d("div",{class:"upload-btn",style:ze({width:e.width||e.size,height:e.height||e.size})},[f(k,{size:25,name:"el-icon-Plus"}),a[11]||(a[11]=d("span",null,"添加",-1))],4)],!0)],2),[[$e,e.showUpload]])],34)]),key:"0"}]),1032,["title","onConfirm","onClose"]),f(p,{modelValue:e.showPreview,"onUpdate:modelValue":a[8]||(a[8]=i=>e.showPreview=i),url:e.previewUrl,type:e.type},null,8,["modelValue","url","type"])])}const He=pe(Ve,[["render",Ee],["__scopeId","data-v-27e7e4cc"]]);export{He as _}; +import{_ as j}from"./index-BwF7vczx.js";import{s as le}from"./element-plus-DFTWCWyi.js";import{_ as se,a as J,F as ue}from"./index-BiPYXDtP.js";import{e as de,i as O,_ as pe,c as me}from"./index-DBREMm_z.js";import{_ as fe}from"./index-CbfZXeGu.js";import{D as ge}from"./vuedraggable-5bKFmC7X.js";import{a as ve}from"./file-BimpIRb_.js";import{f as ce,w as he,am as q,A as T,n as ye,ar as F,ak as we,I as De,a as f,M as Ce,aN as S,J as d,O as be,aP as Te,aq as Se}from"./@vue/runtime-core-C6bnekPw.js";import{K as Pe,n as s}from"./@vue/reactivity-DiY1c2vO.js";import{h as ke}from"./@vueuse/shared-Cl3lVqjz.js";import{s as h,q as $e}from"./@vue/runtime-dom-DDAG46FW.js";import{o as E,p as ze}from"./@vue/shared-mAAVTE9n.js";const Ve=ce({components:{Popup:j,Draggable:ge,FileItem:ue,Material:J,Preview:se},props:{modelValue:{type:[String,Array],default:()=>[]},type:{type:String,default:"image"},size:{type:String,default:"100px"},width:{type:String,default:""},height:{type:String,default:""},fileSize:{type:String,default:"100px"},limit:{type:Number,default:1},disabled:{type:Boolean,default:!1},hiddenUpload:{type:Boolean,default:!1},uploadClass:{type:String,default:""},excludeDomain:{type:Boolean,default:!1},uploadCid:{type:[Number,String],default:0}},emits:["change","update:modelValue"],setup(e,{emit:a}){const z=s(),V=s(),A=s(""),I=s(!1),o=s([]),P=s([]),c=s(!0),k=s(-1),g=s(0),y=s(!1),{disabled:v,limit:p,modelValue:i}=Pe(e),w=de(),D=t=>w.getImageUrl(t),C=T(()=>!e.hiddenUpload&&(e.type==="image"||e.type==="video"||e.type==="file")),K=T(()=>g.value>0);function R(t){if(!t)return!1;const n=Array.from(t.types);return n.includes("Files")||n.includes("application/x-moz-file")}function B(t,n){var l;if(n==="file")return!0;const r=t.includes(".")&&((l=t.split(".").pop())==null?void 0:l.toLowerCase())||"";return n==="image"?r?["jpg","jpeg","png","gif","ico"].includes(r):!0:n==="video"&&r?["wmv","avi","mpg","mpeg","3gp","mov","mp4","flv","rmvb","mkv"].includes(r):!0}function _(t){var l;if(!t||!t.startsWith("http"))return t;const n=String(((l=w.config)==null?void 0:l.oss_domain)||"").trim().replace(/\/$/,"");if(n&&t.startsWith(n))return t.slice(n.length).replace(/^\//,"");const r=typeof window<"u"?window.location.origin.replace(/\/$/,""):"";if(r&&t.startsWith(r))return t.slice(r.length).replace(/^\//,"");try{return new URL(t).pathname.replace(/^\//,"")}catch{return t}}function G(t){var b,$;const n=e.type,r=Array.from(((b=t.clipboardData)==null?void 0:b.files)||[]).filter(m=>B(m.name,n));if(r.length)return r;if(n!=="image")return[];const l=($=t.clipboardData)==null?void 0:$.items;if(!l)return[];const u=[];for(let m=0;m{!C.value||v.value||R(t.dataTransfer)&&g.value++},Q=()=>{C.value&&(g.value=Math.max(0,g.value-1))},X=t=>{!C.value||v.value||R(t.dataTransfer)&&t.preventDefault()},Y=async t=>{var r;if(g.value=0,!C.value||v.value)return;const n=Array.from(((r=t.dataTransfer)==null?void 0:r.files)||[]).filter(l=>B(l.name,e.type));n.length&&await M(n)},Z=async t=>{if(!C.value||v.value)return;const n=G(t);n.length&&(t.preventDefault(),await M(n))},x=T(()=>{switch(e.type){case"image":return"图片";case"video":return"视频";default:return""}}),ee=T(()=>e.limit-o.value.length>0),te=T(()=>c.value?p.value==-1?null:p.value-o.value.length:1),ae=ke(()=>{const t=P.value.map(n=>e.excludeDomain?n.uri:n.url);c.value?o.value=[...o.value,...t]:o.value.splice(k.value,1,t.shift()),N()},1e3,!1),ne=t=>{var n;v.value||(t>=0?(c.value=!1,k.value=t):c.value=!0,(n=z.value)==null||n.open())},ie=t=>{P.value=t},N=()=>{const t=p.value!=1?o.value:o.value[0]||"";a("update:modelValue",t),a("change",t),U()},oe=t=>{o.value.splice(t,1),N()},re=t=>{A.value=e.excludeDomain?D(t):t,I.value=!0},U=()=>{ye(()=>{var t;e.hiddenUpload&&(o.value=[]),(t=V.value)==null||t.clearSelect()})};return he(i,t=>{o.value=Array.isArray(t)?t:t==""?[]:[t]},{immediate:!0}),q("limit",e.limit),q("hiddenUpload",e.hiddenUpload),{popupRef:z,materialRef:V,fileList:o,tipsText:x,handleConfirm:ae,meterialLimit:te,showUpload:ee,showPopup:ne,selectChange:ie,deleteImg:oe,previewUrl:A,showPreview:I,handlePreview:re,handleClose:U,getImageUrl:D,dropActive:K,onTriggerDragEnter:H,onTriggerDragLeave:Q,onTriggerDragOver:X,onTriggerDrop:Y,onTriggerPaste:Z}}}),Ae={class:"material-select"},Ie=["onClick"],Ue={class:"operation-btns text-xs text-center"},Le=["onClick"],Fe={class:"material-wrap"};function Ee(e,a,z,V,A,I){const o=F("file-item"),P=fe,c=F("draggable"),k=me,g=J,y=le,v=j,p=F("preview");return we(),De("div",Ae,[f(v,{ref:"popupRef",width:"1050px","custom-class":"body-padding",title:`选择${e.tipsText}`,onConfirm:e.handleConfirm,onClose:e.handleClose},Ce({default:S(()=>[f(y,null,{default:S(()=>[d("div",Fe,[f(g,{ref:"materialRef",type:e.type,"file-size":e.fileSize,limit:e.meterialLimit,onChange:e.selectChange},null,8,["type","file-size","limit","onChange"])])]),_:1})]),_:2},[e.hiddenUpload?void 0:{name:"trigger",fn:S(()=>[d("div",{class:E(["material-select__trigger clearfix",{"is-drop-hover":e.dropActive}]),tabindex:"0",onClick:a[2]||(a[2]=h(()=>{},["stop"])),onDragenter:a[3]||(a[3]=h((...i)=>e.onTriggerDragEnter&&e.onTriggerDragEnter(...i),["prevent","stop"])),onDragleave:a[4]||(a[4]=h((...i)=>e.onTriggerDragLeave&&e.onTriggerDragLeave(...i),["prevent","stop"])),onDragover:a[5]||(a[5]=h((...i)=>e.onTriggerDragOver&&e.onTriggerDragOver(...i),["prevent","stop"])),onDrop:a[6]||(a[6]=h((...i)=>e.onTriggerDrop&&e.onTriggerDrop(...i),["prevent","stop"])),onPaste:a[7]||(a[7]=(...i)=>e.onTriggerPaste&&e.onTriggerPaste(...i))},[f(c,{class:"draggable",modelValue:e.fileList,"onUpdate:modelValue":a[0]||(a[0]=i=>e.fileList=i),animation:"300","item-key":"id"},{item:S(({element:i,index:w})=>[d("div",{class:E(["material-preview",{"is-disabled":e.disabled,"is-one":e.limit==1}]),onClick:D=>e.showPopup(w)},[f(P,{onClose:D=>e.deleteImg(w)},{default:S(()=>[f(o,{uri:e.excludeDomain?e.getImageUrl(i):i,"file-size":e.size,width:e.width,height:e.height,type:e.type},null,8,["uri","file-size","width","height","type"])]),_:2},1032,["onClose"]),d("div",Ue,[a[9]||(a[9]=d("span",null,"修改",-1)),a[10]||(a[10]=be(" | ",-1)),d("span",{onClick:h(D=>e.handlePreview(i),["stop"])},"查看",8,Le)])],10,Ie)]),_:1},8,["modelValue"]),Te(d("div",{class:E(["material-upload",{"is-disabled":e.disabled,"is-one":e.limit==1,[e.uploadClass]:!0}]),onClick:a[1]||(a[1]=i=>e.showPopup(-1))},[Se(e.$slots,"upload",{},()=>[d("div",{class:"upload-btn",style:ze({width:e.width||e.size,height:e.height||e.size})},[f(k,{size:25,name:"el-icon-Plus"}),a[11]||(a[11]=d("span",null,"添加",-1))],4)],!0)],2),[[$e,e.showUpload]])],34)]),key:"0"}]),1032,["title","onConfirm","onClose"]),f(p,{modelValue:e.showPreview,"onUpdate:modelValue":a[8]||(a[8]=i=>e.showPreview=i),url:e.previewUrl,type:e.type},null,8,["modelValue","url","type"])])}const He=pe(Ve,[["render",Ee],["__scopeId","data-v-27e7e4cc"]]);export{He as _}; diff --git a/server/public/admin/assets/picker-B9b8bj5N.js b/server/public/admin/assets/picker-DPnqJ8Gk.js similarity index 97% rename from server/public/admin/assets/picker-B9b8bj5N.js rename to server/public/admin/assets/picker-DPnqJ8Gk.js index 49aefe3a..2d93ee3f 100644 --- a/server/public/admin/assets/picker-B9b8bj5N.js +++ b/server/public/admin/assets/picker-DPnqJ8Gk.js @@ -1 +1 @@ -import{D as F,B as z,C as L,i as J,L as Q,M as W,N as X,H as Y,v as Z,r as ee,G as te,I as le,y as ae,w as ne,x as se}from"./element-plus-0wC3naml.js";import{_ as q,c as oe}from"./index-E47--KT7.js";import{w as ie,s as me}from"./@vue/runtime-dom-DDAG46FW.js";import{_ as de}from"./index-nymJKQXP.js";import{_ as ue}from"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import{N as pe}from"./@element-plus/icons-vue-HOEUG8sr.js";import{k as re}from"./article-DJnP6RZd.js";import{u as ce}from"./usePaging-VsbTxSU0.js";import{f as k,w as O,ak as r,I as V,a as d,aN as x,aP as _e,G as P,J as l,O as R,F as T,ap as $,H as b,A as N}from"./@vue/runtime-core-C6bnekPw.js";import{n as E,y as o,a as I,r as fe,q as xe}from"./@vue/reactivity-DiY1c2vO.js";import{Q as C,o as ve}from"./@vue/shared-mAAVTE9n.js";var w=(n=>(n.SHOP_PAGES="shop",n.APPTOOL="application_tool",n.OTHER_LINK="other_link",n))(w||{}),a=(n=>(n.SHOP_PAGES="shop",n.ARTICLE_LIST="article",n.CUSTOM_LINK="custom",n.MINI_PROGRAM="mini_program",n))(a||{});const ye={class:"article-list"},he={class:"flex row-center"},Se={class:"flex items-center"},ge={class:"ml-4 overflow-hidden"},Ve={class:"text-base line-clamp-2"},Pe={class:"flex justify-end mt-4"},we=k({__name:"article-list",props:{modelValue:{type:Object,default:()=>({})}},emits:["update:modelValue"],setup(n,{emit:h}){const c=n,y=h,m=E({path:"/pages/news_detail/news_detail",name:"",query:{},type:a.ARTICLE_LIST}),t=fe({name:"",is_show:1}),{pager:e,getLists:_,resetPage:s}=ce({fetchFun:re,params:t}),i=f=>f==Number(m.value.id),p=f=>{m.value={id:f.id,name:f.title,path:"/pages/news_detail/news_detail",query:{id:f.id},type:a.ARTICLE_LIST},y("update:modelValue",m.value)};return O(()=>c.modelValue,f=>{if(f.type!=a.ARTICLE_LIST)return m.value={id:"",name:"",path:"/pages/news_detail/news_detail",type:a.SHOP_PAGES};m.value=f},{immediate:!0}),_(),(f,v)=>{const u=L,S=J,A=z,G=F,M=Y,H=X,U=Z,K=ee,j=W,B=ue,D=Q;return r(),V("div",ye,[d(G,{ref:"formRef",model:o(t),inline:!0},{default:x(()=>[d(A,{class:"w-[280px]",label:"文章名称"},{default:x(()=>[d(u,{modelValue:o(t).name,"onUpdate:modelValue":v[0]||(v[0]=g=>o(t).name=g),placeholder:"请输入",clearable:"",onKeyup:ie(o(s),["enter"])},null,8,["modelValue","onKeyup"]),d(S,{type:"primary",class:"ml-4",icon:o(pe),onClick:o(s)},null,8,["icon","onClick"])]),_:1})]),_:1},8,["model"]),_e((r(),P(j,{size:"large",data:o(e).lists,height:"432px",onRowClick:p},{default:x(()=>[d(H,{label:"选择","min-width":"50"},{default:x(({row:g})=>[l("div",he,[d(M,{"model-value":i(g.id),size:"large",onChange:Qe=>p(g)},null,8,["model-value","onChange"])])]),_:1}),d(H,{label:"文章名称","min-width":"180"},{default:x(({row:g})=>[l("div",Se,[d(U,{fit:"cover",src:g.image,class:"flex-none w-[58px] h-[58px]"},null,8,["src"]),l("div",ge,[d(K,{effect:"dark",content:g.title,placement:"top"},{default:x(()=>[l("div",Ve,C(g.title),1)]),_:2},1032,["content"])])])]),_:1}),d(H,{label:"创建时间",prop:"create_time","min-width":"140"})]),_:1},8,["data"])),[[D,o(e).loading]]),l("div",Pe,[d(B,{modelValue:o(e),"onUpdate:modelValue":v[1]||(v[1]=g=>I(e)?e.value=g:null),onChange:o(_)},null,8,["modelValue","onChange"])])])}}}),Ie=q(we,[["__scopeId","data-v-1686cf19"]]),ke={class:"custom-link h-[530px]"},Oe={class:"flex flex-wrap items-center mt-4"},Ee={class:"ml-4 flex-1 min-w-[100px]"},Ae=k({__name:"custom-link",props:{modelValue:{type:Object,default:()=>({})}},emits:["update:modelValue"],setup(n,{emit:h}){const c=h,y=m=>{c("update:modelValue",{path:"/pages/webview/webview",query:{url:m},type:a.CUSTOM_LINK})};return(m,t)=>{var _;const e=L;return r(),V("div",ke,[t[1]||(t[1]=l("div",{class:"text-xl font-medium"},"自定义链接",-1)),l("div",Oe,[t[0]||(t[0]=l("div",{class:"w-[86px] text-right"},"自定义链接",-1)),l("div",Ee,[d(e,{class:"max-w-[320px]","model-value":(_=n.modelValue.query)==null?void 0:_.url,placeholder:"请输入链接地址",onInput:y},null,8,["model-value"])])]),t[2]||(t[2]=l("div",{class:"form-tips ml-[101px] max-w-[320px]"}," 请填写完整的带有“https://”或“http://”的链接地址,链接的域名必须在微信公众平台设置业务域名 ",-1))])}}}),be={class:"mini-program h-[530px]"},Ce={class:"flex flex-wrap items-center mt-4"},Le={class:"ml-4 flex-1 min-w-[100px]"},Ge={class:"flex flex-wrap items-center mt-4"},He={class:"ml-4 flex-1 min-w-[100px]"},Re={class:"flex flex-wrap items-center mt-4"},Te={class:"ml-4 flex-1 min-w-[100px]"},$e={class:"flex flex-wrap items-center mt-4"},qe={class:"ml-4 flex-1 min-w-[100px]"},Ne=k({__name:"mini-program",props:{modelValue:{type:Object,default:()=>({})}},emits:["update:modelValue"],setup(n,{emit:h}){const c=n,y=h,m=(t,e)=>{y("update:modelValue",{...c.modelValue,name:"小程序跳转",query:{...c.modelValue.query,[t]:e},type:a.MINI_PROGRAM})};return O(()=>c.modelValue,t=>{var e;(e=t.query)!=null&&e.env_version||m("env_version","release")},{immediate:!0}),(t,e)=>{var p,f,v,u;const _=L,s=le,i=te;return r(),V("div",be,[e[11]||(e[11]=l("div",{class:"text-xl font-medium"},"跳转小程序",-1)),l("div",Ce,[e[4]||(e[4]=l("div",{class:"w-[86px] text-right"},"小程序APPID",-1)),l("div",Le,[d(_,{class:"max-w-[320px]","model-value":(p=n.modelValue.query)==null?void 0:p.appId,placeholder:"请输入小程序appId",onInput:e[0]||(e[0]=S=>m("appId",S))},null,8,["model-value"])])]),l("div",Ge,[e[5]||(e[5]=l("div",{class:"w-[86px] text-right"},"小程序路径",-1)),l("div",He,[d(_,{class:"max-w-[320px]","model-value":(f=n.modelValue.query)==null?void 0:f.path,placeholder:"请输入小程序路径链接地址",onInput:e[1]||(e[1]=S=>m("path",S))},null,8,["model-value"])])]),l("div",Re,[e[6]||(e[6]=l("div",{class:"w-[86px] text-right"},"传递参数",-1)),l("div",Te,[d(_,{class:"max-w-[320px]","model-value":(v=n.modelValue.query)==null?void 0:v.query,placeholder:"请输入小程序跳转参数(选填)",onInput:e[2]||(e[2]=S=>m("query",S))},null,8,["model-value"])])]),e[12]||(e[12]=l("div",{class:"form-tips ml-[100px] max-w-[320px]"},[l("div",null,"示例:id=2&ustm=jiny&name=234"),l("div",{class:"text-error"}," 注意:不允许输入中文、特殊字符等。如果出现对不起,当前页面无法访问,大概率是跳转参数的问题!! ")],-1)),l("div",$e,[e[10]||(e[10]=l("div",{class:"w-[86px] text-right"},"小程序版本",-1)),l("div",qe,[d(i,{"model-value":(u=n.modelValue.query)==null?void 0:u.env_version,onChange:e[3]||(e[3]=S=>m("env_version",S))},{default:x(()=>[d(s,{value:"release"},{default:x(()=>[...e[7]||(e[7]=[R("正式版",-1)])]),_:1}),d(s,{value:"trial"},{default:x(()=>[...e[8]||(e[8]=[R("体验版",-1)])]),_:1}),d(s,{value:"develop"},{default:x(()=>[...e[9]||(e[9]=[R("开发版",-1)])]),_:1})]),_:1},8,["model-value"])])]),e[13]||(e[13]=l("div",null,[l("div",{class:"form-tips ml-[100px] max-w-[320px]"},[l("div",{class:"mt-4"}," 1. 小程序APPID和小程序路径链接地址,小程序路径链接地址请填写小程序的页面路径,如:pages/index/index "),l("div",{class:"mt-2"},[l("span",null,"2. 如果是H5(浏览器)中需要跳转到小程序,则需要以下配置--->"),l("a",{href:"https://mp.weixin.qq.com/",class:"text-primary",target:"_blank",rel:"nofollow"}," 小程序管理后台 -> 设置 -> 隐私与安全 -> 明文 scheme 拉起此小程序 (点击跳转去配置) ")])])],-1))])}}}),Me={class:"shop-pages h-[530px]"},Ue={class:"link-list flex flex-wrap"},Ke=["onClick"],je=k({__name:"shop-pages",props:{modelValue:{type:Object,default:()=>({})}},emits:["update:modelValue"],setup(n,{emit:h}){const c=h,y=E([{path:"/pages/index/index",name:"商城首页",type:a.SHOP_PAGES,canTab:!0},{path:"/pages/news/news",name:"文章资讯",type:a.SHOP_PAGES,canTab:!0},{path:"/pages/user/user",name:"个人中心",type:a.SHOP_PAGES,canTab:!0},{path:"/pages/collection/collection",name:"我的收藏",type:a.SHOP_PAGES},{path:"/pages/customer_service/customer_service",name:"联系客服",type:a.SHOP_PAGES},{path:"/pages/user_set/user_set",name:"个人设置",type:a.SHOP_PAGES},{path:"/pages/as_us/as_us",name:"关于我们",type:a.SHOP_PAGES},{path:"/pages/user_data/user_data",name:"个人资料",type:a.SHOP_PAGES},{path:"/pages/agreement/agreement",name:"隐私政策",query:{type:"privacy"},type:a.SHOP_PAGES},{path:"/pages/agreement/agreement",name:"服务协议",query:{type:"service"},type:a.SHOP_PAGES},{path:"/pages/search/search",name:"搜索",type:a.SHOP_PAGES},{path:"/packages/pages/user_wallet/user_wallet",name:"我的钱包",type:a.SHOP_PAGES}]),m=t=>{c("update:modelValue",t)};return(t,e)=>(r(),V("div",Me,[l("div",Ue,[(r(!0),V(T,null,$(o(y),(_,s)=>(r(),V("div",{class:ve(["link-item border border-br px-5 py-[5px] rounded-[3px] cursor-pointer mr-[10px] mb-[10px]",{"border-primary text-primary":n.modelValue.path==_.path&&n.modelValue.name==_.name}]),key:s,onClick:i=>m(_)},C(_.name),11,Ke))),128))])]))}}),Be={class:"link flex"},De={class:"flex-1 ml-4 link-content"},Fe=k({__name:"index",props:{modelValue:{type:Object,required:!0}},emits:["update:modelValue"],setup(n,{emit:h}){const c=n,y=h,m=E([{name:"商城页面",type:w.SHOP_PAGES,children:[{name:"基础页面",type:a.SHOP_PAGES,link:{}}]},{name:"应用工具",type:w.APPTOOL,children:[{name:"文章资讯",type:a.ARTICLE_LIST,link:{}}]},{name:"其他",type:w.OTHER_LINK,children:[{name:"自定义链接",type:a.CUSTOM_LINK,link:{}},{name:"跳转小程序",type:a.MINI_PROGRAM,link:{}}]}]),t=N({get(){let s={};return m.value.forEach(i=>{const p=i.children.find(f=>f.type==e.value);p&&(s=p)}),s.link},set(s){m.value.forEach(i=>{i.children.forEach(p=>{p.type==e.value&&(p.link=s)})})}}),e=E(a.SHOP_PAGES),_=s=>{e.value=s};return O(t,s=>{s.type&&y("update:modelValue",s)},{deep:!0}),O(()=>c.modelValue,s=>{e.value=s.type,t.value=s},{immediate:!0}),(s,i)=>{const p=ne,f=se,v=ae;return r(),V("div",Be,[d(v,{"default-active":o(e),class:"flex-none w-[180px] min-h-[350px] link-menu","default-openeds":[o(w).SHOP_PAGES,o(w).APPTOOL,o(w).OTHER_LINK],onSelect:_},{default:x(()=>[(r(!0),V(T,null,$(o(m),(u,S)=>(r(),P(f,{index:u.type,key:S},{title:x(()=>[l("span",null,C(u.name),1)]),default:x(()=>[(r(!0),V(T,null,$(u.children,(A,G)=>(r(),P(p,{index:A.type,key:G,style:{"min-width":"160px"}},{default:x(()=>[l("span",null,C(A.name),1)]),_:2},1032,["index"]))),128))]),_:2},1032,["index"]))),128))]),_:1},8,["default-active","default-openeds"]),l("div",De,[o(a).SHOP_PAGES==o(e)?(r(),P(je,{key:0,modelValue:o(t),"onUpdate:modelValue":i[0]||(i[0]=u=>I(t)?t.value=u:null)},null,8,["modelValue"])):b("",!0),o(a).ARTICLE_LIST==o(e)?(r(),P(Ie,{key:1,modelValue:o(t),"onUpdate:modelValue":i[1]||(i[1]=u=>I(t)?t.value=u:null)},null,8,["modelValue"])):b("",!0),o(a).CUSTOM_LINK==o(e)?(r(),P(Ae,{key:2,modelValue:o(t),"onUpdate:modelValue":i[2]||(i[2]=u=>I(t)?t.value=u:null)},null,8,["modelValue"])):b("",!0),o(a).MINI_PROGRAM==o(e)?(r(),P(Ne,{key:3,modelValue:o(t),"onUpdate:modelValue":i[3]||(i[3]=u=>I(t)?t.value=u:null)},null,8,["modelValue"])):b("",!0)])])}}}),ze=q(Fe,[["__scopeId","data-v-e991fd93"]]),Je=k({__name:"picker",props:{modelValue:{type:Object},disabled:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(n,{emit:h}){const c=n,y=h,m=xe(),t=E({path:"",type:a.SHOP_PAGES}),e=()=>{y("update:modelValue",t.value)},_=N(()=>{var s,i,p;switch((s=c.modelValue)==null?void 0:s.type){case a.SHOP_PAGES:return c.modelValue.name;case a.ARTICLE_LIST:return c.modelValue.name;case a.CUSTOM_LINK:return(i=c.modelValue.query)==null?void 0:i.url;default:return(p=c.modelValue)==null?void 0:p.name}});return O(()=>c.modelValue,s=>{s!=null&&s.type&&(t.value=s)},{immediate:!0}),(s,i)=>{const p=oe,f=L;return r(),V("div",{class:"link-picker flex-1",onClick:i[2]||(i[2]=v=>{var u;return!n.disabled&&((u=o(m))==null?void 0:u.open())})},[d(f,{"model-value":o(_),placeholder:"请选择链接",readonly:"",disabled:n.disabled},{suffix:x(()=>{var v;return[(v=n.modelValue)!=null&&v.path?(r(),P(p,{key:1,name:"el-icon-Close",onClick:i[0]||(i[0]=me(u=>!n.disabled&&y("update:modelValue",{}),["stop"]))})):(r(),P(p,{key:0,name:"el-icon-ArrowRight"}))]}),_:1},8,["model-value","disabled"]),d(de,{ref_key:"popupRef",ref:m,width:"1050px",title:"链接选择",onConfirm:e},{default:x(()=>[d(ze,{modelValue:o(t),"onUpdate:modelValue":i[1]||(i[1]=v=>I(t)?t.value=v:null)},null,8,["modelValue"])]),_:1},512)])}}}),it=q(Je,[["__scopeId","data-v-84fe1e25"]]);export{it as _}; +import{D as F,B as z,C as L,i as J,L as Q,M as W,N as X,H as Y,v as Z,r as ee,G as te,I as le,y as ae,w as ne,x as se}from"./element-plus-DFTWCWyi.js";import{_ as q,c as oe}from"./index-DBREMm_z.js";import{w as ie,s as me}from"./@vue/runtime-dom-DDAG46FW.js";import{_ as de}from"./index-BwF7vczx.js";import{_ as ue}from"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import{N as pe}from"./@element-plus/icons-vue-HOEUG8sr.js";import{k as re}from"./article-BnVIxFkr.js";import{u as ce}from"./usePaging-VsbTxSU0.js";import{f as k,w as O,ak as r,I as V,a as d,aN as x,aP as _e,G as P,J as l,O as R,F as T,ap as $,H as b,A as N}from"./@vue/runtime-core-C6bnekPw.js";import{n as E,y as o,a as I,r as fe,q as xe}from"./@vue/reactivity-DiY1c2vO.js";import{Q as C,o as ve}from"./@vue/shared-mAAVTE9n.js";var w=(n=>(n.SHOP_PAGES="shop",n.APPTOOL="application_tool",n.OTHER_LINK="other_link",n))(w||{}),a=(n=>(n.SHOP_PAGES="shop",n.ARTICLE_LIST="article",n.CUSTOM_LINK="custom",n.MINI_PROGRAM="mini_program",n))(a||{});const ye={class:"article-list"},he={class:"flex row-center"},Se={class:"flex items-center"},ge={class:"ml-4 overflow-hidden"},Ve={class:"text-base line-clamp-2"},Pe={class:"flex justify-end mt-4"},we=k({__name:"article-list",props:{modelValue:{type:Object,default:()=>({})}},emits:["update:modelValue"],setup(n,{emit:h}){const c=n,y=h,m=E({path:"/pages/news_detail/news_detail",name:"",query:{},type:a.ARTICLE_LIST}),t=fe({name:"",is_show:1}),{pager:e,getLists:_,resetPage:s}=ce({fetchFun:re,params:t}),i=f=>f==Number(m.value.id),p=f=>{m.value={id:f.id,name:f.title,path:"/pages/news_detail/news_detail",query:{id:f.id},type:a.ARTICLE_LIST},y("update:modelValue",m.value)};return O(()=>c.modelValue,f=>{if(f.type!=a.ARTICLE_LIST)return m.value={id:"",name:"",path:"/pages/news_detail/news_detail",type:a.SHOP_PAGES};m.value=f},{immediate:!0}),_(),(f,v)=>{const u=L,S=J,A=z,G=F,M=Y,H=X,U=Z,K=ee,j=W,B=ue,D=Q;return r(),V("div",ye,[d(G,{ref:"formRef",model:o(t),inline:!0},{default:x(()=>[d(A,{class:"w-[280px]",label:"文章名称"},{default:x(()=>[d(u,{modelValue:o(t).name,"onUpdate:modelValue":v[0]||(v[0]=g=>o(t).name=g),placeholder:"请输入",clearable:"",onKeyup:ie(o(s),["enter"])},null,8,["modelValue","onKeyup"]),d(S,{type:"primary",class:"ml-4",icon:o(pe),onClick:o(s)},null,8,["icon","onClick"])]),_:1})]),_:1},8,["model"]),_e((r(),P(j,{size:"large",data:o(e).lists,height:"432px",onRowClick:p},{default:x(()=>[d(H,{label:"选择","min-width":"50"},{default:x(({row:g})=>[l("div",he,[d(M,{"model-value":i(g.id),size:"large",onChange:Qe=>p(g)},null,8,["model-value","onChange"])])]),_:1}),d(H,{label:"文章名称","min-width":"180"},{default:x(({row:g})=>[l("div",Se,[d(U,{fit:"cover",src:g.image,class:"flex-none w-[58px] h-[58px]"},null,8,["src"]),l("div",ge,[d(K,{effect:"dark",content:g.title,placement:"top"},{default:x(()=>[l("div",Ve,C(g.title),1)]),_:2},1032,["content"])])])]),_:1}),d(H,{label:"创建时间",prop:"create_time","min-width":"140"})]),_:1},8,["data"])),[[D,o(e).loading]]),l("div",Pe,[d(B,{modelValue:o(e),"onUpdate:modelValue":v[1]||(v[1]=g=>I(e)?e.value=g:null),onChange:o(_)},null,8,["modelValue","onChange"])])])}}}),Ie=q(we,[["__scopeId","data-v-1686cf19"]]),ke={class:"custom-link h-[530px]"},Oe={class:"flex flex-wrap items-center mt-4"},Ee={class:"ml-4 flex-1 min-w-[100px]"},Ae=k({__name:"custom-link",props:{modelValue:{type:Object,default:()=>({})}},emits:["update:modelValue"],setup(n,{emit:h}){const c=h,y=m=>{c("update:modelValue",{path:"/pages/webview/webview",query:{url:m},type:a.CUSTOM_LINK})};return(m,t)=>{var _;const e=L;return r(),V("div",ke,[t[1]||(t[1]=l("div",{class:"text-xl font-medium"},"自定义链接",-1)),l("div",Oe,[t[0]||(t[0]=l("div",{class:"w-[86px] text-right"},"自定义链接",-1)),l("div",Ee,[d(e,{class:"max-w-[320px]","model-value":(_=n.modelValue.query)==null?void 0:_.url,placeholder:"请输入链接地址",onInput:y},null,8,["model-value"])])]),t[2]||(t[2]=l("div",{class:"form-tips ml-[101px] max-w-[320px]"}," 请填写完整的带有“https://”或“http://”的链接地址,链接的域名必须在微信公众平台设置业务域名 ",-1))])}}}),be={class:"mini-program h-[530px]"},Ce={class:"flex flex-wrap items-center mt-4"},Le={class:"ml-4 flex-1 min-w-[100px]"},Ge={class:"flex flex-wrap items-center mt-4"},He={class:"ml-4 flex-1 min-w-[100px]"},Re={class:"flex flex-wrap items-center mt-4"},Te={class:"ml-4 flex-1 min-w-[100px]"},$e={class:"flex flex-wrap items-center mt-4"},qe={class:"ml-4 flex-1 min-w-[100px]"},Ne=k({__name:"mini-program",props:{modelValue:{type:Object,default:()=>({})}},emits:["update:modelValue"],setup(n,{emit:h}){const c=n,y=h,m=(t,e)=>{y("update:modelValue",{...c.modelValue,name:"小程序跳转",query:{...c.modelValue.query,[t]:e},type:a.MINI_PROGRAM})};return O(()=>c.modelValue,t=>{var e;(e=t.query)!=null&&e.env_version||m("env_version","release")},{immediate:!0}),(t,e)=>{var p,f,v,u;const _=L,s=le,i=te;return r(),V("div",be,[e[11]||(e[11]=l("div",{class:"text-xl font-medium"},"跳转小程序",-1)),l("div",Ce,[e[4]||(e[4]=l("div",{class:"w-[86px] text-right"},"小程序APPID",-1)),l("div",Le,[d(_,{class:"max-w-[320px]","model-value":(p=n.modelValue.query)==null?void 0:p.appId,placeholder:"请输入小程序appId",onInput:e[0]||(e[0]=S=>m("appId",S))},null,8,["model-value"])])]),l("div",Ge,[e[5]||(e[5]=l("div",{class:"w-[86px] text-right"},"小程序路径",-1)),l("div",He,[d(_,{class:"max-w-[320px]","model-value":(f=n.modelValue.query)==null?void 0:f.path,placeholder:"请输入小程序路径链接地址",onInput:e[1]||(e[1]=S=>m("path",S))},null,8,["model-value"])])]),l("div",Re,[e[6]||(e[6]=l("div",{class:"w-[86px] text-right"},"传递参数",-1)),l("div",Te,[d(_,{class:"max-w-[320px]","model-value":(v=n.modelValue.query)==null?void 0:v.query,placeholder:"请输入小程序跳转参数(选填)",onInput:e[2]||(e[2]=S=>m("query",S))},null,8,["model-value"])])]),e[12]||(e[12]=l("div",{class:"form-tips ml-[100px] max-w-[320px]"},[l("div",null,"示例:id=2&ustm=jiny&name=234"),l("div",{class:"text-error"}," 注意:不允许输入中文、特殊字符等。如果出现对不起,当前页面无法访问,大概率是跳转参数的问题!! ")],-1)),l("div",$e,[e[10]||(e[10]=l("div",{class:"w-[86px] text-right"},"小程序版本",-1)),l("div",qe,[d(i,{"model-value":(u=n.modelValue.query)==null?void 0:u.env_version,onChange:e[3]||(e[3]=S=>m("env_version",S))},{default:x(()=>[d(s,{value:"release"},{default:x(()=>[...e[7]||(e[7]=[R("正式版",-1)])]),_:1}),d(s,{value:"trial"},{default:x(()=>[...e[8]||(e[8]=[R("体验版",-1)])]),_:1}),d(s,{value:"develop"},{default:x(()=>[...e[9]||(e[9]=[R("开发版",-1)])]),_:1})]),_:1},8,["model-value"])])]),e[13]||(e[13]=l("div",null,[l("div",{class:"form-tips ml-[100px] max-w-[320px]"},[l("div",{class:"mt-4"}," 1. 小程序APPID和小程序路径链接地址,小程序路径链接地址请填写小程序的页面路径,如:pages/index/index "),l("div",{class:"mt-2"},[l("span",null,"2. 如果是H5(浏览器)中需要跳转到小程序,则需要以下配置--->"),l("a",{href:"https://mp.weixin.qq.com/",class:"text-primary",target:"_blank",rel:"nofollow"}," 小程序管理后台 -> 设置 -> 隐私与安全 -> 明文 scheme 拉起此小程序 (点击跳转去配置) ")])])],-1))])}}}),Me={class:"shop-pages h-[530px]"},Ue={class:"link-list flex flex-wrap"},Ke=["onClick"],je=k({__name:"shop-pages",props:{modelValue:{type:Object,default:()=>({})}},emits:["update:modelValue"],setup(n,{emit:h}){const c=h,y=E([{path:"/pages/index/index",name:"商城首页",type:a.SHOP_PAGES,canTab:!0},{path:"/pages/news/news",name:"文章资讯",type:a.SHOP_PAGES,canTab:!0},{path:"/pages/user/user",name:"个人中心",type:a.SHOP_PAGES,canTab:!0},{path:"/pages/collection/collection",name:"我的收藏",type:a.SHOP_PAGES},{path:"/pages/customer_service/customer_service",name:"联系客服",type:a.SHOP_PAGES},{path:"/pages/user_set/user_set",name:"个人设置",type:a.SHOP_PAGES},{path:"/pages/as_us/as_us",name:"关于我们",type:a.SHOP_PAGES},{path:"/pages/user_data/user_data",name:"个人资料",type:a.SHOP_PAGES},{path:"/pages/agreement/agreement",name:"隐私政策",query:{type:"privacy"},type:a.SHOP_PAGES},{path:"/pages/agreement/agreement",name:"服务协议",query:{type:"service"},type:a.SHOP_PAGES},{path:"/pages/search/search",name:"搜索",type:a.SHOP_PAGES},{path:"/packages/pages/user_wallet/user_wallet",name:"我的钱包",type:a.SHOP_PAGES}]),m=t=>{c("update:modelValue",t)};return(t,e)=>(r(),V("div",Me,[l("div",Ue,[(r(!0),V(T,null,$(o(y),(_,s)=>(r(),V("div",{class:ve(["link-item border border-br px-5 py-[5px] rounded-[3px] cursor-pointer mr-[10px] mb-[10px]",{"border-primary text-primary":n.modelValue.path==_.path&&n.modelValue.name==_.name}]),key:s,onClick:i=>m(_)},C(_.name),11,Ke))),128))])]))}}),Be={class:"link flex"},De={class:"flex-1 ml-4 link-content"},Fe=k({__name:"index",props:{modelValue:{type:Object,required:!0}},emits:["update:modelValue"],setup(n,{emit:h}){const c=n,y=h,m=E([{name:"商城页面",type:w.SHOP_PAGES,children:[{name:"基础页面",type:a.SHOP_PAGES,link:{}}]},{name:"应用工具",type:w.APPTOOL,children:[{name:"文章资讯",type:a.ARTICLE_LIST,link:{}}]},{name:"其他",type:w.OTHER_LINK,children:[{name:"自定义链接",type:a.CUSTOM_LINK,link:{}},{name:"跳转小程序",type:a.MINI_PROGRAM,link:{}}]}]),t=N({get(){let s={};return m.value.forEach(i=>{const p=i.children.find(f=>f.type==e.value);p&&(s=p)}),s.link},set(s){m.value.forEach(i=>{i.children.forEach(p=>{p.type==e.value&&(p.link=s)})})}}),e=E(a.SHOP_PAGES),_=s=>{e.value=s};return O(t,s=>{s.type&&y("update:modelValue",s)},{deep:!0}),O(()=>c.modelValue,s=>{e.value=s.type,t.value=s},{immediate:!0}),(s,i)=>{const p=ne,f=se,v=ae;return r(),V("div",Be,[d(v,{"default-active":o(e),class:"flex-none w-[180px] min-h-[350px] link-menu","default-openeds":[o(w).SHOP_PAGES,o(w).APPTOOL,o(w).OTHER_LINK],onSelect:_},{default:x(()=>[(r(!0),V(T,null,$(o(m),(u,S)=>(r(),P(f,{index:u.type,key:S},{title:x(()=>[l("span",null,C(u.name),1)]),default:x(()=>[(r(!0),V(T,null,$(u.children,(A,G)=>(r(),P(p,{index:A.type,key:G,style:{"min-width":"160px"}},{default:x(()=>[l("span",null,C(A.name),1)]),_:2},1032,["index"]))),128))]),_:2},1032,["index"]))),128))]),_:1},8,["default-active","default-openeds"]),l("div",De,[o(a).SHOP_PAGES==o(e)?(r(),P(je,{key:0,modelValue:o(t),"onUpdate:modelValue":i[0]||(i[0]=u=>I(t)?t.value=u:null)},null,8,["modelValue"])):b("",!0),o(a).ARTICLE_LIST==o(e)?(r(),P(Ie,{key:1,modelValue:o(t),"onUpdate:modelValue":i[1]||(i[1]=u=>I(t)?t.value=u:null)},null,8,["modelValue"])):b("",!0),o(a).CUSTOM_LINK==o(e)?(r(),P(Ae,{key:2,modelValue:o(t),"onUpdate:modelValue":i[2]||(i[2]=u=>I(t)?t.value=u:null)},null,8,["modelValue"])):b("",!0),o(a).MINI_PROGRAM==o(e)?(r(),P(Ne,{key:3,modelValue:o(t),"onUpdate:modelValue":i[3]||(i[3]=u=>I(t)?t.value=u:null)},null,8,["modelValue"])):b("",!0)])])}}}),ze=q(Fe,[["__scopeId","data-v-e991fd93"]]),Je=k({__name:"picker",props:{modelValue:{type:Object},disabled:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(n,{emit:h}){const c=n,y=h,m=xe(),t=E({path:"",type:a.SHOP_PAGES}),e=()=>{y("update:modelValue",t.value)},_=N(()=>{var s,i,p;switch((s=c.modelValue)==null?void 0:s.type){case a.SHOP_PAGES:return c.modelValue.name;case a.ARTICLE_LIST:return c.modelValue.name;case a.CUSTOM_LINK:return(i=c.modelValue.query)==null?void 0:i.url;default:return(p=c.modelValue)==null?void 0:p.name}});return O(()=>c.modelValue,s=>{s!=null&&s.type&&(t.value=s)},{immediate:!0}),(s,i)=>{const p=oe,f=L;return r(),V("div",{class:"link-picker flex-1",onClick:i[2]||(i[2]=v=>{var u;return!n.disabled&&((u=o(m))==null?void 0:u.open())})},[d(f,{"model-value":o(_),placeholder:"请选择链接",readonly:"",disabled:n.disabled},{suffix:x(()=>{var v;return[(v=n.modelValue)!=null&&v.path?(r(),P(p,{key:1,name:"el-icon-Close",onClick:i[0]||(i[0]=me(u=>!n.disabled&&y("update:modelValue",{}),["stop"]))})):(r(),P(p,{key:0,name:"el-icon-ArrowRight"}))]}),_:1},8,["model-value","disabled"]),d(de,{ref_key:"popupRef",ref:m,width:"1050px",title:"链接选择",onConfirm:e},{default:x(()=>[d(ze,{modelValue:o(t),"onUpdate:modelValue":i[1]||(i[1]=v=>I(t)?t.value=v:null)},null,8,["modelValue"])]),_:1},512)])}}}),it=q(Je,[["__scopeId","data-v-84fe1e25"]]);export{it as _}; diff --git a/server/public/admin/assets/picker.vue_vue_type_script_setup_true_lang-DBWe-4hk.js b/server/public/admin/assets/picker.vue_vue_type_script_setup_true_lang-CqrG0MgW.js similarity index 96% rename from server/public/admin/assets/picker.vue_vue_type_script_setup_true_lang-DBWe-4hk.js rename to server/public/admin/assets/picker.vue_vue_type_script_setup_true_lang-CqrG0MgW.js index c33e3eff..17280726 100644 --- a/server/public/admin/assets/picker.vue_vue_type_script_setup_true_lang-DBWe-4hk.js +++ b/server/public/admin/assets/picker.vue_vue_type_script_setup_true_lang-CqrG0MgW.js @@ -1 +1 @@ -import{a1 as M,s as W,i as $,C as z,r as L}from"./element-plus-0wC3naml.js";import{c as T,y as R,z as O}from"./index-E47--KT7.js";import{s as _}from"./@vue/runtime-dom-DDAG46FW.js";import{b as P}from"./@vueuse/core-1S4fJlii.js";import{f as U,w as j,n as h,b as q,ak as u,I as r,a as n,aN as a,J as i,F as V,ap as k,G as A,O as D,A as G}from"./@vue/runtime-core-C6bnekPw.js";import{o as J,Q}from"./@vue/shared-mAAVTE9n.js";import{y as x,n as H,q as K,r as X}from"./@vue/reactivity-DiY1c2vO.js";const Y={class:"icon-select"},Z={class:"flex justify-between"},ee=["onClick"],oe={class:"h-[280px]"},te={class:"flex flex-wrap"},se={key:0,class:"flex items-center"},de=U({__name:"picker",props:{modelValue:{default:""},disabled:{type:Boolean,default:!1}},emits:["update:modelValue","change"],setup(c,{emit:y}){const d=y,v=H(0),b=[{name:"element图标",icons:R()},{name:"本地图标",icons:O()}],m=K(),e=X({inputValue:"",popoverVisible:!1,popoverWidth:0,mouseoverSelect:!1,inputFocus:!1}),w=()=>{e.inputFocus=e.popoverVisible=!0},C=()=>{e.inputFocus=!1,e.popoverVisible=e.mouseoverSelect},g=t=>{e.mouseoverSelect=e.popoverVisible=!1,d("update:modelValue",t),d("change",t)},F=()=>{d("update:modelValue",""),d("change","")},S=G(()=>{var l;const t=((l=b[v.value])==null?void 0:l.icons)??[];if(!e.inputValue)return t;const o=e.inputValue.toLowerCase();return t.filter(p=>{if(p.toLowerCase().indexOf(o)!==-1)return p})}),B=()=>{h(()=>{var o;const t=(o=m.value)==null?void 0:o.$el.offsetWidth;e.popoverWidth=t<300?300:t})};return P(document.body,"click",()=>{e.popoverVisible=!!(e.inputFocus||e.mouseoverSelect)}),j(()=>e.popoverVisible,async t=>{var o,l;await h(),t?(o=m.value)==null||o.focus():(l=m.value)==null||l.blur()}),q(()=>{B()}),(t,o)=>{const l=T,p=$,E=W,N=L,I=M;return u(),r("div",Y,[n(I,{trigger:"contextmenu",visible:e.popoverVisible,"onUpdate:visible":o[3]||(o[3]=s=>e.popoverVisible=s),width:e.popoverWidth},{reference:a(()=>[n(x(z),{ref_key:"inputRef",ref:m,modelValue:e.inputValue,"onUpdate:modelValue":o[2]||(o[2]=s=>e.inputValue=s),modelModifiers:{trim:!0},placeholder:"搜索图标",autofocus:!1,disabled:c.disabled,onFocus:w,onBlur:C,clearable:""},{prepend:a(()=>[c.modelValue?(u(),r("div",se,[n(N,{class:"flex-1 w-20",content:c.modelValue,placement:"top"},{default:a(()=>[(u(),A(l,{class:"mr-1",key:c.modelValue,name:c.modelValue,size:16},null,8,["name"]))]),_:1},8,["content"])])):(u(),r(V,{key:1},[D("无")],64))]),append:a(()=>[n(p,null,{default:a(()=>[n(l,{name:"el-icon-Close",size:18,onClick:F})]),_:1})]),_:1},8,["modelValue","disabled"])]),default:a(()=>[i("div",{onMouseover:o[0]||(o[0]=_(s=>e.mouseoverSelect=!0,["stop"])),onMouseout:o[1]||(o[1]=_(s=>e.mouseoverSelect=!1,["stop"]))},[i("div",null,[i("div",Z,[o[4]||(o[4]=i("div",{class:"mb-3"},"请选择图标",-1)),i("div",null,[(u(),r(V,null,k(b,(s,f)=>i("span",{key:f,class:J(["cursor-pointer text-sm ml-2",{"text-primary":f==x(v)}]),onClick:le=>v.value=f},Q(s.name),11,ee)),64))])]),i("div",oe,[n(E,null,{default:a(()=>[i("div",te,[(u(!0),r(V,null,k(S.value,s=>(u(),r("div",{key:s,class:"m-1"},[n(p,{onClick:f=>g(s)},{default:a(()=>[n(l,{name:s,size:18},null,8,["name"])]),_:2},1032,["onClick"])]))),128))])]),_:1})])])],32)]),_:1},8,["visible","width"])])}}});export{de as _}; +import{a1 as M,s as W,i as $,C as z,r as L}from"./element-plus-DFTWCWyi.js";import{c as T,y as R,z as O}from"./index-DBREMm_z.js";import{s as _}from"./@vue/runtime-dom-DDAG46FW.js";import{b as P}from"./@vueuse/core-1S4fJlii.js";import{f as U,w as j,n as h,b as q,ak as u,I as r,a as n,aN as a,J as i,F as V,ap as k,G as A,O as D,A as G}from"./@vue/runtime-core-C6bnekPw.js";import{o as J,Q}from"./@vue/shared-mAAVTE9n.js";import{y as x,n as H,q as K,r as X}from"./@vue/reactivity-DiY1c2vO.js";const Y={class:"icon-select"},Z={class:"flex justify-between"},ee=["onClick"],oe={class:"h-[280px]"},te={class:"flex flex-wrap"},se={key:0,class:"flex items-center"},de=U({__name:"picker",props:{modelValue:{default:""},disabled:{type:Boolean,default:!1}},emits:["update:modelValue","change"],setup(c,{emit:y}){const d=y,v=H(0),b=[{name:"element图标",icons:R()},{name:"本地图标",icons:O()}],m=K(),e=X({inputValue:"",popoverVisible:!1,popoverWidth:0,mouseoverSelect:!1,inputFocus:!1}),w=()=>{e.inputFocus=e.popoverVisible=!0},C=()=>{e.inputFocus=!1,e.popoverVisible=e.mouseoverSelect},g=t=>{e.mouseoverSelect=e.popoverVisible=!1,d("update:modelValue",t),d("change",t)},F=()=>{d("update:modelValue",""),d("change","")},S=G(()=>{var l;const t=((l=b[v.value])==null?void 0:l.icons)??[];if(!e.inputValue)return t;const o=e.inputValue.toLowerCase();return t.filter(p=>{if(p.toLowerCase().indexOf(o)!==-1)return p})}),B=()=>{h(()=>{var o;const t=(o=m.value)==null?void 0:o.$el.offsetWidth;e.popoverWidth=t<300?300:t})};return P(document.body,"click",()=>{e.popoverVisible=!!(e.inputFocus||e.mouseoverSelect)}),j(()=>e.popoverVisible,async t=>{var o,l;await h(),t?(o=m.value)==null||o.focus():(l=m.value)==null||l.blur()}),q(()=>{B()}),(t,o)=>{const l=T,p=$,E=W,N=L,I=M;return u(),r("div",Y,[n(I,{trigger:"contextmenu",visible:e.popoverVisible,"onUpdate:visible":o[3]||(o[3]=s=>e.popoverVisible=s),width:e.popoverWidth},{reference:a(()=>[n(x(z),{ref_key:"inputRef",ref:m,modelValue:e.inputValue,"onUpdate:modelValue":o[2]||(o[2]=s=>e.inputValue=s),modelModifiers:{trim:!0},placeholder:"搜索图标",autofocus:!1,disabled:c.disabled,onFocus:w,onBlur:C,clearable:""},{prepend:a(()=>[c.modelValue?(u(),r("div",se,[n(N,{class:"flex-1 w-20",content:c.modelValue,placement:"top"},{default:a(()=>[(u(),A(l,{class:"mr-1",key:c.modelValue,name:c.modelValue,size:16},null,8,["name"]))]),_:1},8,["content"])])):(u(),r(V,{key:1},[D("无")],64))]),append:a(()=>[n(p,null,{default:a(()=>[n(l,{name:"el-icon-Close",size:18,onClick:F})]),_:1})]),_:1},8,["modelValue","disabled"])]),default:a(()=>[i("div",{onMouseover:o[0]||(o[0]=_(s=>e.mouseoverSelect=!0,["stop"])),onMouseout:o[1]||(o[1]=_(s=>e.mouseoverSelect=!1,["stop"]))},[i("div",null,[i("div",Z,[o[4]||(o[4]=i("div",{class:"mb-3"},"请选择图标",-1)),i("div",null,[(u(),r(V,null,k(b,(s,f)=>i("span",{key:f,class:J(["cursor-pointer text-sm ml-2",{"text-primary":f==x(v)}]),onClick:le=>v.value=f},Q(s.name),11,ee)),64))])]),i("div",oe,[n(E,null,{default:a(()=>[i("div",te,[(u(!0),r(V,null,k(S.value,s=>(u(),r("div",{key:s,class:"m-1"},[n(p,{onClick:f=>g(s)},{default:a(()=>[n(l,{name:s,size:18},null,8,["name"])]),_:2},1032,["onClick"])]))),128))])]),_:1})])])],32)]),_:1},8,["visible","width"])])}}});export{de as _}; diff --git a/server/public/admin/assets/popover_input-CBym-On7.js b/server/public/admin/assets/popover_input-BPLcgSyk.js similarity index 92% rename from server/public/admin/assets/popover_input-CBym-On7.js rename to server/public/admin/assets/popover_input-BPLcgSyk.js index 89ec0a60..5ea909a1 100644 --- a/server/public/admin/assets/popover_input-CBym-On7.js +++ b/server/public/admin/assets/popover_input-BPLcgSyk.js @@ -1 +1 @@ -import{i as d,J as _}from"./element-plus-0wC3naml.js";import{_ as p}from"./index.vue_vue_type_script_setup_true_lang-Bl0f8aX8.js";import{f as u,ak as f,I as c,a as t,aN as o,J as s,O as r}from"./@vue/runtime-core-C6bnekPw.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";const v={class:"flex flex-wrap"},x={class:"m-4"},w={class:"m-4"},B={class:"m-4"},C={class:"m-4"},N={class:"m-4"},F=u({__name:"popover_input",setup(b){const l=a=>{console.log(a)};return(a,e)=>{const n=d,i=p,m=_;return f(),c("div",null,[t(m,{header:"基础使用",shadow:"never",class:"!border-none"},{default:o(()=>[s("div",v,[s("div",x,[t(i,{onConfirm:l},{default:o(()=>[t(n,null,{default:o(()=>[...e[0]||(e[0]=[r(" 点击输入 ",-1)])]),_:1})]),_:1})]),s("div",w,[t(i,{type:"number",onConfirm:l},{default:o(()=>[t(n,null,{default:o(()=>[...e[1]||(e[1]=[r(" 输入数字 ",-1)])]),_:1})]),_:1})]),s("div",B,[t(i,{size:"small",onConfirm:l},{default:o(()=>[t(n,null,{default:o(()=>[...e[2]||(e[2]=[r(" 调整大小 ",-1)])]),_:1})]),_:1})]),s("div",C,[t(i,{limit:20,"show-limit":!0,onConfirm:l},{default:o(()=>[t(n,null,{default:o(()=>[...e[3]||(e[3]=[r(" 限制输入长度 ",-1)])]),_:1})]),_:1})]),s("div",N,[t(i,{value:"默认值",onConfirm:l},{default:o(()=>[t(n,null,{default:o(()=>[...e[4]||(e[4]=[r(" 默认值 ",-1)])]),_:1})]),_:1})])])]),_:1})])}}});export{F as default}; +import{i as d,J as _}from"./element-plus-DFTWCWyi.js";import{_ as p}from"./index.vue_vue_type_script_setup_true_lang-x0oL2ShL.js";import{f as u,ak as f,I as c,a as t,aN as o,J as s,O as r}from"./@vue/runtime-core-C6bnekPw.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";const v={class:"flex flex-wrap"},x={class:"m-4"},w={class:"m-4"},B={class:"m-4"},C={class:"m-4"},N={class:"m-4"},F=u({__name:"popover_input",setup(b){const l=a=>{console.log(a)};return(a,e)=>{const n=d,i=p,m=_;return f(),c("div",null,[t(m,{header:"基础使用",shadow:"never",class:"!border-none"},{default:o(()=>[s("div",v,[s("div",x,[t(i,{onConfirm:l},{default:o(()=>[t(n,null,{default:o(()=>[...e[0]||(e[0]=[r(" 点击输入 ",-1)])]),_:1})]),_:1})]),s("div",w,[t(i,{type:"number",onConfirm:l},{default:o(()=>[t(n,null,{default:o(()=>[...e[1]||(e[1]=[r(" 输入数字 ",-1)])]),_:1})]),_:1})]),s("div",B,[t(i,{size:"small",onConfirm:l},{default:o(()=>[t(n,null,{default:o(()=>[...e[2]||(e[2]=[r(" 调整大小 ",-1)])]),_:1})]),_:1})]),s("div",C,[t(i,{limit:20,"show-limit":!0,onConfirm:l},{default:o(()=>[t(n,null,{default:o(()=>[...e[3]||(e[3]=[r(" 限制输入长度 ",-1)])]),_:1})]),_:1})]),s("div",N,[t(i,{value:"默认值",onConfirm:l},{default:o(()=>[t(n,null,{default:o(()=>[...e[4]||(e[4]=[r(" 默认值 ",-1)])]),_:1})]),_:1})])])]),_:1})])}}});export{F as default}; diff --git a/server/public/admin/assets/post-Dq6zumLO.js b/server/public/admin/assets/post-RziaWdiV.js similarity index 86% rename from server/public/admin/assets/post-Dq6zumLO.js rename to server/public/admin/assets/post-RziaWdiV.js index 9d6294fa..89b1cb63 100644 --- a/server/public/admin/assets/post-Dq6zumLO.js +++ b/server/public/admin/assets/post-RziaWdiV.js @@ -1 +1 @@ -import{r as e}from"./index-E47--KT7.js";function o(t){return e.get({url:"/dept.jobs/lists",params:t},{ignoreCancelToken:!0})}function r(t){return e.get({url:"/dept.jobs/all",params:t})}function n(t){return e.post({url:"/dept.jobs/add",params:t})}function u(t){return e.post({url:"/dept.jobs/edit",params:t})}function l(t){return e.post({url:"/dept.jobs/delete",params:t})}function d(t){return e.get({url:"/dept.jobs/detail",params:t})}export{u as a,n as b,d as c,o as d,l as e,r as j}; +import{r as e}from"./index-DBREMm_z.js";function o(t){return e.get({url:"/dept.jobs/lists",params:t},{ignoreCancelToken:!0})}function r(t){return e.get({url:"/dept.jobs/all",params:t})}function n(t){return e.post({url:"/dept.jobs/add",params:t})}function u(t){return e.post({url:"/dept.jobs/edit",params:t})}function l(t){return e.post({url:"/dept.jobs/delete",params:t})}function d(t){return e.get({url:"/dept.jobs/detail",params:t})}export{u as a,n as b,d as c,o as d,l as e,r as j}; diff --git a/server/public/admin/assets/prescription-drawer-B_oH5vNX.js b/server/public/admin/assets/prescription-drawer-tIAJb1vL.js similarity index 95% rename from server/public/admin/assets/prescription-drawer-B_oH5vNX.js rename to server/public/admin/assets/prescription-drawer-tIAJb1vL.js index 2dfe1429..3ea65c50 100644 --- a/server/public/admin/assets/prescription-drawer-B_oH5vNX.js +++ b/server/public/admin/assets/prescription-drawer-tIAJb1vL.js @@ -1 +1 @@ -import{D as $,B as z,C as H,P,Q as A,a3 as J,a4 as L,G as Q,I as j,h as K,a2 as W,i as X,M as Z,N as ee,g as le,e as ae}from"./element-plus-0wC3naml.js";import{f as oe}from"./tcm-SLIwsL8z.js";import{i as w,_ as te}from"./index-E47--KT7.js";import{M as ue}from"./index-wwnvQhjf.js";import{f as ne,ak as re,G as de,aN as o,a as e,O as m,J as k}from"./@vue/runtime-core-C6bnekPw.js";import{y as u,a as se,n as x,r as ie}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./medicine-D-OyzCbR.js";const pe={class:"w-full"},me=ne({__name:"prescription-drawer",emits:["success"],setup(_e,{expose:C,emit:D}){const S=D,_=x(!1),f=x(),y=x(!1),l=ie({appointment_id:0,diagnosis_id:0,prescription_name:"",prescription_type:"浓缩水丸",patient_name:"",gender:1,age:0,visit_no:"",prescription_date:"",tongue:"",tongue_image:"",pulse:"",pulse_condition:"",clinical_diagnosis:"",herbs:[],dose_count:7,dose_unit:"剂",usage_days:7,usage_instruction:"水煎服,一日二次",usage_time:"饭前",usage_way:"温水送服",dietary_taboo:[],usage_notes:"",doctor_name:"",is_shared:0,audit_status:1}),q={prescription_name:[{required:!0,message:"请输入处方名称",trigger:"blur"}],patient_name:[{required:!0,message:"请输入患者姓名",trigger:"blur"}],gender:[{required:!0,message:"请选择性别",trigger:"change"}],prescription_date:[{required:!0,message:"请选择处方日期",trigger:"change"}],clinical_diagnosis:[{required:!0,message:"请输入临床诊断",trigger:"blur"}],dose_count:[{required:!0,message:"请输入剂数",trigger:"blur"}],doctor_name:[{required:!0,message:"请输入医师姓名",trigger:"blur"}]},I=()=>{l.herbs.push({name:"",dosage:0})},Y=d=>{l.herbs.splice(d,1)},M=()=>{l.appointment_id=0,l.diagnosis_id=0,l.prescription_name="",l.prescription_type="浓缩水丸",l.patient_name="",l.gender=1,l.age=0,l.visit_no="",l.prescription_date=new Date().toISOString().split("T")[0],l.tongue="",l.tongue_image="",l.pulse="",l.pulse_condition="",l.clinical_diagnosis="",l.herbs=[],l.dose_count=7,l.dose_unit="剂",l.usage_days=7,l.usage_instruction="水煎服,一日二次",l.usage_time="饭前",l.usage_way="温水送服",l.dietary_taboo=[],l.usage_notes="",l.doctor_name="",l.is_shared=0,l.audit_status=0},N=d=>{var a;M(),l.appointment_id=d.id||0,l.diagnosis_id=d.diagnosis_id||0,l.patient_name=d.patient_name||"",l.gender=d.patient_gender==="男"?1:0,l.age=parseInt(d.patient_age)||0,l.visit_no=((a=d.id)==null?void 0:a.toString())||"",l.prescription_date=d.appointment_date||new Date().toISOString().split("T")[0],l.doctor_name=d.doctor_name||"",_.value=!0},U=()=>{var d;_.value=!1,(d=f.value)==null||d.resetFields()},R=async()=>{if(f.value){if(await f.value.validate(),!l.herbs||l.herbs.length===0){w.msgError("请至少添加一味药材");return}for(let d=0;d{const i=H,r=z,n=A,g=P,s=L,p=J,E=j,B=Q,b=K,T=W,V=X,c=ee,h=Z,F=le,O=$,G=ae;return re(),de(G,{modelValue:u(_),"onUpdate:modelValue":a[22]||(a[22]=t=>se(_)?_.value=t:null),title:"创建处方单",size:"90%","close-on-click-modal":!1,onClose:U},{footer:o(()=>[e(V,{onClick:U},{default:o(()=>[...a[28]||(a[28]=[m("取消",-1)])]),_:1}),e(V,{type:"primary",onClick:R,loading:u(y)},{default:o(()=>[...a[29]||(a[29]=[m("保存",-1)])]),_:1},8,["loading"])]),default:o(()=>[e(O,{ref_key:"formRef",ref:f,model:u(l),rules:q,"label-width":"120px",class:"prescription-form"},{default:o(()=>[e(r,{label:"处方名称",prop:"prescription_name"},{default:o(()=>[e(i,{modelValue:u(l).prescription_name,"onUpdate:modelValue":a[0]||(a[0]=t=>u(l).prescription_name=t),placeholder:"请输入处方名称",maxlength:"100","show-word-limit":""},null,8,["modelValue"])]),_:1}),e(r,{label:"处方类型",prop:"prescription_type"},{default:o(()=>[e(g,{modelValue:u(l).prescription_type,"onUpdate:modelValue":a[1]||(a[1]=t=>u(l).prescription_type=t),placeholder:"请选择处方类型",class:"w-full"},{default:o(()=>[e(n,{label:"浓缩水丸",value:"浓缩水丸"}),e(n,{label:"饮片",value:"饮片"}),e(n,{label:"颗粒",value:"颗粒"}),e(n,{label:"丸剂",value:"丸剂"}),e(n,{label:"散剂",value:"散剂"}),e(n,{label:"膏方",value:"膏方"}),e(n,{label:"汤剂",value:"汤剂"})]),_:1},8,["modelValue"])]),_:1}),e(p,{gutter:20},{default:o(()=>[e(s,{span:12},{default:o(()=>[e(r,{label:"患者姓名",prop:"patient_name"},{default:o(()=>[e(i,{modelValue:u(l).patient_name,"onUpdate:modelValue":a[2]||(a[2]=t=>u(l).patient_name=t),placeholder:"请输入患者姓名"},null,8,["modelValue"])]),_:1})]),_:1}),e(s,{span:12},{default:o(()=>[e(r,{label:"门诊号",prop:"visit_no"},{default:o(()=>[e(i,{modelValue:u(l).visit_no,"onUpdate:modelValue":a[3]||(a[3]=t=>u(l).visit_no=t),placeholder:"自动生成或手动输入"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(p,{gutter:20},{default:o(()=>[e(s,{span:8},{default:o(()=>[e(r,{label:"性别",prop:"gender"},{default:o(()=>[e(B,{modelValue:u(l).gender,"onUpdate:modelValue":a[4]||(a[4]=t=>u(l).gender=t)},{default:o(()=>[e(E,{label:1},{default:o(()=>[...a[23]||(a[23]=[m("男",-1)])]),_:1}),e(E,{label:0},{default:o(()=>[...a[24]||(a[24]=[m("女",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1}),e(s,{span:8},{default:o(()=>[e(r,{label:"年龄",prop:"age"},{default:o(()=>[e(b,{modelValue:u(l).age,"onUpdate:modelValue":a[5]||(a[5]=t=>u(l).age=t),min:0,max:150,placeholder:"请输入年龄",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1}),e(s,{span:8},{default:o(()=>[e(r,{label:"处方日期",prop:"prescription_date"},{default:o(()=>[e(T,{modelValue:u(l).prescription_date,"onUpdate:modelValue":a[6]||(a[6]=t=>u(l).prescription_date=t),type:"date",placeholder:"选择日期",format:"YYYY-MM-DD","value-format":"YYYY-MM-DD",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(p,{gutter:20},{default:o(()=>[e(s,{span:12},{default:o(()=>[e(r,{label:"面象",prop:"tongue"},{default:o(()=>[e(i,{modelValue:u(l).tongue,"onUpdate:modelValue":a[7]||(a[7]=t=>u(l).tongue=t),placeholder:"请输入面象"},null,8,["modelValue"])]),_:1})]),_:1}),e(s,{span:12},{default:o(()=>[e(r,{label:"舌象",prop:"tongue_image"},{default:o(()=>[e(i,{modelValue:u(l).tongue_image,"onUpdate:modelValue":a[8]||(a[8]=t=>u(l).tongue_image=t),placeholder:"请输入舌象"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(p,{gutter:20},{default:o(()=>[e(s,{span:12},{default:o(()=>[e(r,{label:"脉象",prop:"pulse"},{default:o(()=>[e(i,{modelValue:u(l).pulse,"onUpdate:modelValue":a[9]||(a[9]=t=>u(l).pulse=t),placeholder:"请输入脉象"},null,8,["modelValue"])]),_:1})]),_:1}),e(s,{span:12},{default:o(()=>[e(r,{label:"脉象详情",prop:"pulse_condition"},{default:o(()=>[e(i,{modelValue:u(l).pulse_condition,"onUpdate:modelValue":a[10]||(a[10]=t=>u(l).pulse_condition=t),placeholder:"请输入脉象详情"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(r,{label:"临床诊断",prop:"clinical_diagnosis"},{default:o(()=>[e(i,{modelValue:u(l).clinical_diagnosis,"onUpdate:modelValue":a[11]||(a[11]=t=>u(l).clinical_diagnosis=t),type:"textarea",rows:3,placeholder:"请输入临床诊断",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1}),e(r,{label:"药材配方",prop:"herbs",required:""},{default:o(()=>[k("div",pe,[e(V,{type:"primary",size:"small",onClick:I},{default:o(()=>[...a[25]||(a[25]=[m(" 添加药材 ",-1)])]),_:1}),e(h,{data:u(l).herbs,class:"mt-2",border:""},{default:o(()=>[e(c,{label:"序号",type:"index",width:"60"}),e(c,{label:"药材名称","min-width":"220"},{default:o(({row:t})=>[e(ue,{modelValue:t.name,"onUpdate:modelValue":v=>t.name=v},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),e(c,{label:"剂量(克)","min-width":"120"},{default:o(({row:t})=>[e(b,{modelValue:t.dosage,"onUpdate:modelValue":v=>t.dosage=v,min:0,precision:1,step:.5,placeholder:"剂量",class:"w-full"},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),e(c,{label:"操作",width:"80"},{default:o(({$index:t})=>[e(V,{type:"danger",link:"",onClick:v=>Y(t)},{default:o(()=>[...a[26]||(a[26]=[m(" 删除 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])])]),_:1}),e(p,{gutter:20},{default:o(()=>[e(s,{span:8},{default:o(()=>[e(r,{label:"剂数",prop:"dose_count"},{default:o(()=>[e(b,{modelValue:u(l).dose_count,"onUpdate:modelValue":a[12]||(a[12]=t=>u(l).dose_count=t),min:1,placeholder:"剂数",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1}),e(s,{span:8},{default:o(()=>[e(r,{label:"剂量单位",prop:"dose_unit"},{default:o(()=>[e(g,{modelValue:u(l).dose_unit,"onUpdate:modelValue":a[13]||(a[13]=t=>u(l).dose_unit=t),placeholder:"请选择",class:"w-full"},{default:o(()=>[e(n,{label:"剂",value:"剂"}),e(n,{label:"丸",value:"丸"}),e(n,{label:"袋",value:"袋"}),e(n,{label:"盒",value:"盒"}),e(n,{label:"瓶",value:"瓶"}),e(n,{label:"膏",value:"膏"}),e(n,{label:"贴",value:"贴"})]),_:1},8,["modelValue"])]),_:1})]),_:1}),e(s,{span:8},{default:o(()=>[e(r,{label:"服用天数",prop:"usage_days"},{default:o(()=>[e(b,{modelValue:u(l).usage_days,"onUpdate:modelValue":a[14]||(a[14]=t=>u(l).usage_days=t),min:1,max:365,placeholder:"服用天数",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(r,{label:"用法",prop:"usage_instruction"},{default:o(()=>[e(i,{modelValue:u(l).usage_instruction,"onUpdate:modelValue":a[15]||(a[15]=t=>u(l).usage_instruction=t),placeholder:"例如:水煎服,一日二次",maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1}),e(p,{gutter:20},{default:o(()=>[e(s,{span:12},{default:o(()=>[e(r,{label:"服用时间",prop:"usage_time"},{default:o(()=>[e(g,{modelValue:u(l).usage_time,"onUpdate:modelValue":a[16]||(a[16]=t=>u(l).usage_time=t),placeholder:"请选择服用时间",class:"w-full"},{default:o(()=>[e(n,{label:"饭前",value:"饭前"}),e(n,{label:"饭后",value:"饭后"}),e(n,{label:"饭中",value:"饭中"}),e(n,{label:"空腹",value:"空腹"}),e(n,{label:"睡前",value:"睡前"}),e(n,{label:"晨起",value:"晨起"}),e(n,{label:"随时",value:"随时"})]),_:1},8,["modelValue"])]),_:1})]),_:1}),e(s,{span:12},{default:o(()=>[e(r,{label:"服用方式",prop:"usage_way"},{default:o(()=>[e(g,{modelValue:u(l).usage_way,"onUpdate:modelValue":a[17]||(a[17]=t=>u(l).usage_way=t),placeholder:"请选择服用方式",class:"w-full"},{default:o(()=>[e(n,{label:"温水送服",value:"温水送服"}),e(n,{label:"开水冲服",value:"开水冲服"}),e(n,{label:"黄酒送服",value:"黄酒送服"}),e(n,{label:"淡盐水送服",value:"淡盐水送服"}),e(n,{label:"米汤送服",value:"米汤送服"}),e(n,{label:"嚼服",value:"嚼服"}),e(n,{label:"含化",value:"含化"})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(r,{label:"忌口",prop:"dietary_taboo"},{default:o(()=>[e(g,{modelValue:u(l).dietary_taboo,"onUpdate:modelValue":a[18]||(a[18]=t=>u(l).dietary_taboo=t),multiple:"",placeholder:"请选择忌口内容(可多选)",class:"w-full"},{default:o(()=>[e(n,{label:"辛辣食物",value:"辛辣食物"}),e(n,{label:"生冷食物",value:"生冷食物"}),e(n,{label:"油腻食物",value:"油腻食物"}),e(n,{label:"海鲜",value:"海鲜"}),e(n,{label:"牛羊肉",value:"牛羊肉"}),e(n,{label:"鸡蛋",value:"鸡蛋"}),e(n,{label:"豆制品",value:"豆制品"}),e(n,{label:"酒类",value:"酒类"}),e(n,{label:"浓茶",value:"浓茶"}),e(n,{label:"咖啡",value:"咖啡"}),e(n,{label:"烟草",value:"烟草"}),e(n,{label:"萝卜",value:"萝卜"})]),_:1},8,["modelValue"])]),_:1}),e(r,{label:"其他说明",prop:"usage_notes"},{default:o(()=>[e(i,{modelValue:u(l).usage_notes,"onUpdate:modelValue":a[19]||(a[19]=t=>u(l).usage_notes=t),type:"textarea",rows:2,placeholder:"其他服用注意事项",maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1}),e(r,{label:"医师姓名",prop:"doctor_name"},{default:o(()=>[e(i,{modelValue:u(l).doctor_name,"onUpdate:modelValue":a[20]||(a[20]=t=>u(l).doctor_name=t),placeholder:"请输入医师姓名"},null,8,["modelValue"])]),_:1}),e(r,{label:"是否共享",prop:"is_shared"},{default:o(()=>[e(F,{modelValue:u(l).is_shared,"onUpdate:modelValue":a[21]||(a[21]=t=>u(l).is_shared=t),"active-value":1,"inactive-value":0,"active-text":"所有人可见","inactive-text":"仅自己可见"},null,8,["modelValue"]),a[27]||(a[27]=k("div",{class:"text-xs text-gray-400 mt-1"}," 勾选后,所有医生都可以查看和使用此处方模板 ",-1))]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"])}}}),el=te(me,[["__scopeId","data-v-da2c137f"]]);export{el as default}; +import{D as $,B as z,C as H,P,Q as A,a4 as J,a5 as L,G as Q,I as j,h as K,a2 as W,i as X,M as Z,N as ee,g as le,e as ae}from"./element-plus-DFTWCWyi.js";import{h as oe}from"./tcm-BcqaE0lo.js";import{i as w,_ as te}from"./index-DBREMm_z.js";import{M as ue}from"./index-DcDP_Tmx.js";import{f as ne,ak as re,G as de,aN as o,a as e,O as m,J as k}from"./@vue/runtime-core-C6bnekPw.js";import{y as u,a as se,n as x,r as ie}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./medicine-CCdxjQY6.js";const pe={class:"w-full"},me=ne({__name:"prescription-drawer",emits:["success"],setup(_e,{expose:C,emit:D}){const S=D,_=x(!1),f=x(),y=x(!1),l=ie({appointment_id:0,diagnosis_id:0,prescription_name:"",prescription_type:"浓缩水丸",patient_name:"",gender:1,age:0,visit_no:"",prescription_date:"",tongue:"",tongue_image:"",pulse:"",pulse_condition:"",clinical_diagnosis:"",herbs:[],dose_count:7,dose_unit:"剂",usage_days:7,usage_instruction:"水煎服,一日二次",usage_time:"饭前",usage_way:"温水送服",dietary_taboo:[],usage_notes:"",doctor_name:"",is_shared:0,audit_status:1}),q={prescription_name:[{required:!0,message:"请输入处方名称",trigger:"blur"}],patient_name:[{required:!0,message:"请输入患者姓名",trigger:"blur"}],gender:[{required:!0,message:"请选择性别",trigger:"change"}],prescription_date:[{required:!0,message:"请选择处方日期",trigger:"change"}],clinical_diagnosis:[{required:!0,message:"请输入临床诊断",trigger:"blur"}],dose_count:[{required:!0,message:"请输入剂数",trigger:"blur"}],doctor_name:[{required:!0,message:"请输入医师姓名",trigger:"blur"}]},I=()=>{l.herbs.push({name:"",dosage:0})},Y=d=>{l.herbs.splice(d,1)},M=()=>{l.appointment_id=0,l.diagnosis_id=0,l.prescription_name="",l.prescription_type="浓缩水丸",l.patient_name="",l.gender=1,l.age=0,l.visit_no="",l.prescription_date=new Date().toISOString().split("T")[0],l.tongue="",l.tongue_image="",l.pulse="",l.pulse_condition="",l.clinical_diagnosis="",l.herbs=[],l.dose_count=7,l.dose_unit="剂",l.usage_days=7,l.usage_instruction="水煎服,一日二次",l.usage_time="饭前",l.usage_way="温水送服",l.dietary_taboo=[],l.usage_notes="",l.doctor_name="",l.is_shared=0,l.audit_status=0},N=d=>{var a;M(),l.appointment_id=d.id||0,l.diagnosis_id=d.diagnosis_id||0,l.patient_name=d.patient_name||"",l.gender=d.patient_gender==="男"?1:0,l.age=parseInt(d.patient_age)||0,l.visit_no=((a=d.id)==null?void 0:a.toString())||"",l.prescription_date=d.appointment_date||new Date().toISOString().split("T")[0],l.doctor_name=d.doctor_name||"",_.value=!0},U=()=>{var d;_.value=!1,(d=f.value)==null||d.resetFields()},R=async()=>{if(f.value){if(await f.value.validate(),!l.herbs||l.herbs.length===0){w.msgError("请至少添加一味药材");return}for(let d=0;d{const i=H,r=z,n=A,g=P,s=L,p=J,E=j,h=Q,b=K,B=W,V=X,c=ee,T=Z,F=le,O=$,G=ae;return re(),de(G,{modelValue:u(_),"onUpdate:modelValue":a[22]||(a[22]=t=>se(_)?_.value=t:null),title:"创建处方单",size:"90%","close-on-click-modal":!1,onClose:U},{footer:o(()=>[e(V,{onClick:U},{default:o(()=>[...a[28]||(a[28]=[m("取消",-1)])]),_:1}),e(V,{type:"primary",onClick:R,loading:u(y)},{default:o(()=>[...a[29]||(a[29]=[m("保存",-1)])]),_:1},8,["loading"])]),default:o(()=>[e(O,{ref_key:"formRef",ref:f,model:u(l),rules:q,"label-width":"120px",class:"prescription-form"},{default:o(()=>[e(r,{label:"处方名称",prop:"prescription_name"},{default:o(()=>[e(i,{modelValue:u(l).prescription_name,"onUpdate:modelValue":a[0]||(a[0]=t=>u(l).prescription_name=t),placeholder:"请输入处方名称",maxlength:"100","show-word-limit":""},null,8,["modelValue"])]),_:1}),e(r,{label:"处方类型",prop:"prescription_type"},{default:o(()=>[e(g,{modelValue:u(l).prescription_type,"onUpdate:modelValue":a[1]||(a[1]=t=>u(l).prescription_type=t),placeholder:"请选择处方类型",class:"w-full"},{default:o(()=>[e(n,{label:"浓缩水丸",value:"浓缩水丸"}),e(n,{label:"饮片",value:"饮片"}),e(n,{label:"颗粒",value:"颗粒"}),e(n,{label:"丸剂",value:"丸剂"}),e(n,{label:"散剂",value:"散剂"}),e(n,{label:"膏方",value:"膏方"}),e(n,{label:"汤剂",value:"汤剂"})]),_:1},8,["modelValue"])]),_:1}),e(p,{gutter:20},{default:o(()=>[e(s,{span:12},{default:o(()=>[e(r,{label:"患者姓名",prop:"patient_name"},{default:o(()=>[e(i,{modelValue:u(l).patient_name,"onUpdate:modelValue":a[2]||(a[2]=t=>u(l).patient_name=t),placeholder:"请输入患者姓名"},null,8,["modelValue"])]),_:1})]),_:1}),e(s,{span:12},{default:o(()=>[e(r,{label:"门诊号",prop:"visit_no"},{default:o(()=>[e(i,{modelValue:u(l).visit_no,"onUpdate:modelValue":a[3]||(a[3]=t=>u(l).visit_no=t),placeholder:"自动生成或手动输入"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(p,{gutter:20},{default:o(()=>[e(s,{span:8},{default:o(()=>[e(r,{label:"性别",prop:"gender"},{default:o(()=>[e(h,{modelValue:u(l).gender,"onUpdate:modelValue":a[4]||(a[4]=t=>u(l).gender=t)},{default:o(()=>[e(E,{label:1},{default:o(()=>[...a[23]||(a[23]=[m("男",-1)])]),_:1}),e(E,{label:0},{default:o(()=>[...a[24]||(a[24]=[m("女",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1}),e(s,{span:8},{default:o(()=>[e(r,{label:"年龄",prop:"age"},{default:o(()=>[e(b,{modelValue:u(l).age,"onUpdate:modelValue":a[5]||(a[5]=t=>u(l).age=t),min:0,max:150,placeholder:"请输入年龄",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1}),e(s,{span:8},{default:o(()=>[e(r,{label:"处方日期",prop:"prescription_date"},{default:o(()=>[e(B,{modelValue:u(l).prescription_date,"onUpdate:modelValue":a[6]||(a[6]=t=>u(l).prescription_date=t),type:"date",placeholder:"选择日期",format:"YYYY-MM-DD","value-format":"YYYY-MM-DD",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(p,{gutter:20},{default:o(()=>[e(s,{span:12},{default:o(()=>[e(r,{label:"面象",prop:"tongue"},{default:o(()=>[e(i,{modelValue:u(l).tongue,"onUpdate:modelValue":a[7]||(a[7]=t=>u(l).tongue=t),placeholder:"请输入面象"},null,8,["modelValue"])]),_:1})]),_:1}),e(s,{span:12},{default:o(()=>[e(r,{label:"舌象",prop:"tongue_image"},{default:o(()=>[e(i,{modelValue:u(l).tongue_image,"onUpdate:modelValue":a[8]||(a[8]=t=>u(l).tongue_image=t),placeholder:"请输入舌象"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(p,{gutter:20},{default:o(()=>[e(s,{span:12},{default:o(()=>[e(r,{label:"脉象",prop:"pulse"},{default:o(()=>[e(i,{modelValue:u(l).pulse,"onUpdate:modelValue":a[9]||(a[9]=t=>u(l).pulse=t),placeholder:"请输入脉象"},null,8,["modelValue"])]),_:1})]),_:1}),e(s,{span:12},{default:o(()=>[e(r,{label:"脉象详情",prop:"pulse_condition"},{default:o(()=>[e(i,{modelValue:u(l).pulse_condition,"onUpdate:modelValue":a[10]||(a[10]=t=>u(l).pulse_condition=t),placeholder:"请输入脉象详情"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(r,{label:"临床诊断",prop:"clinical_diagnosis"},{default:o(()=>[e(i,{modelValue:u(l).clinical_diagnosis,"onUpdate:modelValue":a[11]||(a[11]=t=>u(l).clinical_diagnosis=t),type:"textarea",rows:3,placeholder:"请输入临床诊断",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1}),e(r,{label:"药材配方",prop:"herbs",required:""},{default:o(()=>[k("div",pe,[e(V,{type:"primary",size:"small",onClick:I},{default:o(()=>[...a[25]||(a[25]=[m(" 添加药材 ",-1)])]),_:1}),e(T,{data:u(l).herbs,class:"mt-2",border:""},{default:o(()=>[e(c,{label:"序号",type:"index",width:"60"}),e(c,{label:"药材名称","min-width":"220"},{default:o(({row:t})=>[e(ue,{modelValue:t.name,"onUpdate:modelValue":v=>t.name=v},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),e(c,{label:"剂量(克)","min-width":"120"},{default:o(({row:t})=>[e(b,{modelValue:t.dosage,"onUpdate:modelValue":v=>t.dosage=v,min:0,precision:1,step:.5,placeholder:"剂量",class:"w-full"},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),e(c,{label:"操作",width:"80"},{default:o(({$index:t})=>[e(V,{type:"danger",link:"",onClick:v=>Y(t)},{default:o(()=>[...a[26]||(a[26]=[m(" 删除 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])])]),_:1}),e(p,{gutter:20},{default:o(()=>[e(s,{span:8},{default:o(()=>[e(r,{label:"剂数",prop:"dose_count"},{default:o(()=>[e(b,{modelValue:u(l).dose_count,"onUpdate:modelValue":a[12]||(a[12]=t=>u(l).dose_count=t),min:1,placeholder:"剂数",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1}),e(s,{span:8},{default:o(()=>[e(r,{label:"剂量单位",prop:"dose_unit"},{default:o(()=>[e(g,{modelValue:u(l).dose_unit,"onUpdate:modelValue":a[13]||(a[13]=t=>u(l).dose_unit=t),placeholder:"请选择",class:"w-full"},{default:o(()=>[e(n,{label:"剂",value:"剂"}),e(n,{label:"丸",value:"丸"}),e(n,{label:"袋",value:"袋"}),e(n,{label:"盒",value:"盒"}),e(n,{label:"瓶",value:"瓶"}),e(n,{label:"膏",value:"膏"}),e(n,{label:"贴",value:"贴"})]),_:1},8,["modelValue"])]),_:1})]),_:1}),e(s,{span:8},{default:o(()=>[e(r,{label:"服用天数",prop:"usage_days"},{default:o(()=>[e(b,{modelValue:u(l).usage_days,"onUpdate:modelValue":a[14]||(a[14]=t=>u(l).usage_days=t),min:1,max:365,placeholder:"服用天数",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(r,{label:"用法",prop:"usage_instruction"},{default:o(()=>[e(i,{modelValue:u(l).usage_instruction,"onUpdate:modelValue":a[15]||(a[15]=t=>u(l).usage_instruction=t),placeholder:"例如:水煎服,一日二次",maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1}),e(p,{gutter:20},{default:o(()=>[e(s,{span:12},{default:o(()=>[e(r,{label:"服用时间",prop:"usage_time"},{default:o(()=>[e(g,{modelValue:u(l).usage_time,"onUpdate:modelValue":a[16]||(a[16]=t=>u(l).usage_time=t),placeholder:"请选择服用时间",class:"w-full"},{default:o(()=>[e(n,{label:"饭前",value:"饭前"}),e(n,{label:"饭后",value:"饭后"}),e(n,{label:"饭中",value:"饭中"}),e(n,{label:"空腹",value:"空腹"}),e(n,{label:"睡前",value:"睡前"}),e(n,{label:"晨起",value:"晨起"}),e(n,{label:"随时",value:"随时"})]),_:1},8,["modelValue"])]),_:1})]),_:1}),e(s,{span:12},{default:o(()=>[e(r,{label:"服用方式",prop:"usage_way"},{default:o(()=>[e(g,{modelValue:u(l).usage_way,"onUpdate:modelValue":a[17]||(a[17]=t=>u(l).usage_way=t),placeholder:"请选择服用方式",class:"w-full"},{default:o(()=>[e(n,{label:"温水送服",value:"温水送服"}),e(n,{label:"开水冲服",value:"开水冲服"}),e(n,{label:"黄酒送服",value:"黄酒送服"}),e(n,{label:"淡盐水送服",value:"淡盐水送服"}),e(n,{label:"米汤送服",value:"米汤送服"}),e(n,{label:"嚼服",value:"嚼服"}),e(n,{label:"含化",value:"含化"})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(r,{label:"忌口",prop:"dietary_taboo"},{default:o(()=>[e(g,{modelValue:u(l).dietary_taboo,"onUpdate:modelValue":a[18]||(a[18]=t=>u(l).dietary_taboo=t),multiple:"",placeholder:"请选择忌口内容(可多选)",class:"w-full"},{default:o(()=>[e(n,{label:"辛辣食物",value:"辛辣食物"}),e(n,{label:"生冷食物",value:"生冷食物"}),e(n,{label:"油腻食物",value:"油腻食物"}),e(n,{label:"海鲜",value:"海鲜"}),e(n,{label:"牛羊肉",value:"牛羊肉"}),e(n,{label:"鸡蛋",value:"鸡蛋"}),e(n,{label:"豆制品",value:"豆制品"}),e(n,{label:"酒类",value:"酒类"}),e(n,{label:"浓茶",value:"浓茶"}),e(n,{label:"咖啡",value:"咖啡"}),e(n,{label:"烟草",value:"烟草"}),e(n,{label:"萝卜",value:"萝卜"})]),_:1},8,["modelValue"])]),_:1}),e(r,{label:"其他说明",prop:"usage_notes"},{default:o(()=>[e(i,{modelValue:u(l).usage_notes,"onUpdate:modelValue":a[19]||(a[19]=t=>u(l).usage_notes=t),type:"textarea",rows:2,placeholder:"其他服用注意事项",maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1}),e(r,{label:"医师姓名",prop:"doctor_name"},{default:o(()=>[e(i,{modelValue:u(l).doctor_name,"onUpdate:modelValue":a[20]||(a[20]=t=>u(l).doctor_name=t),placeholder:"请输入医师姓名"},null,8,["modelValue"])]),_:1}),e(r,{label:"是否共享",prop:"is_shared"},{default:o(()=>[e(F,{modelValue:u(l).is_shared,"onUpdate:modelValue":a[21]||(a[21]=t=>u(l).is_shared=t),"active-value":1,"inactive-value":0,"active-text":"所有人可见","inactive-text":"仅自己可见"},null,8,["modelValue"]),a[27]||(a[27]=k("div",{class:"text-xs text-gray-400 mt-1"}," 勾选后,所有医生都可以查看和使用此处方模板 ",-1))]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"])}}}),el=te(me,[["__scopeId","data-v-da2c137f"]]);export{el as default}; diff --git a/server/public/admin/assets/preview-D1vgcnnO.js b/server/public/admin/assets/preview-5Me2qt_f.js similarity index 67% rename from server/public/admin/assets/preview-D1vgcnnO.js rename to server/public/admin/assets/preview-5Me2qt_f.js index ebdbba6d..fcbefa64 100644 --- a/server/public/admin/assets/preview-D1vgcnnO.js +++ b/server/public/admin/assets/preview-5Me2qt_f.js @@ -1 +1 @@ -import{i as A,r as z,s as F}from"./element-plus-0wC3naml.js";import{s as h}from"./@vue/runtime-dom-DDAG46FW.js";import{v as O,h as T,Z as j,_ as q}from"./@element-plus/icons-vue-HOEUG8sr.js";import{e as G}from"./index-OPSjrJvJ.js";import{k as H}from"./lodash-es-C2A-Pj28.js";import{f as J,ak as n,G as C,aN as u,I as v,a as l,O as L,H as V,J as d,F as U,ap as W,aq as Z,at as g,A as b}from"./@vue/runtime-core-C6bnekPw.js";import{o as D}from"./@vue/shared-mAAVTE9n.js";import{y as f,n as K}from"./@vue/reactivity-DiY1c2vO.js";import{_ as Q}from"./index-E47--KT7.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./attr-CLlbMhxO.js";import"./index-BHTgr4Ka.js";import"./picker-B9b8bj5N.js";import"./index-nymJKQXP.js";import"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import"./article-DJnP6RZd.js";import"./usePaging-VsbTxSU0.js";import"./picker-DlbAZkDm.js";import"./index-B56X8bEB.js";import"./index-Ci4dcEQh.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-DoYUJmkp.js";import"./index.vue_vue_type_script_setup_true_lang-Bl0f8aX8.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./content.vue_vue_type_script_setup_true_lang-B9VzIZnv.js";import"./decoration-img-CZl9mrsf.js";import"./attr.vue_vue_type_script_setup_true_lang-BN--zfly.js";import"./content-B6YfxEbd.js";import"./attr.vue_vue_type_script_setup_true_lang-BIDjj2ZQ.js";import"./content.vue_vue_type_script_setup_true_lang-C4EWc4Ny.js";import"./attr.vue_vue_type_script_setup_true_lang-CVwolQf4.js";import"./add-nav.vue_vue_type_script_setup_true_lang-DqZ_o5sa.js";import"./content-Cj4lK4l8.js";import"./attr.vue_vue_type_script_setup_true_lang-BVV-rQuy.js";import"./content.vue_vue_type_script_setup_true_lang-CuEc-gLQ.js";import"./attr.vue_vue_type_script_setup_true_lang-DnkDutJb.js";import"./content-Dyh_0iwA.js";import"./decoration-ChND9qat.js";import"./attr.vue_vue_type_script_setup_true_lang-CTVcHVd7.js";import"./index.vue_vue_type_script_setup_true_lang-C384XBPz.js";import"./content-B1b0mSAw.js";import"./content.vue_vue_type_script_setup_true_lang-hItYL1wr.js";import"./attr.vue_vue_type_script_setup_true_lang-ChKJn1wI.js";import"./content-B7VEJItb.js";import"./attr.vue_vue_type_script_setup_true_lang-A0LOU1hn.js";import"./content.vue_vue_type_script_setup_true_lang-zA2x9af7.js";import"./attr.vue_vue_type_script_setup_true_lang-9MDVGbdQ.js";import"./content-CgQTA2IB.js";const R={class:"shadow mx-[30px] pages-preview"},X=["onClick"],Y={key:0,class:"widget-btns py-[5px]"},x=J({__name:"preview",props:{pageMeta:{type:Object,default:()=>null},pageData:{type:Array,default:()=>[]},modelValue:{type:Number,default:0}},emits:["update:modelValue","updatePageData"],setup(i,{emit:M}){const p=i,s=M,y=K(-1),N=()=>{p.modelValue===-1?s("update:modelValue",y.value):(y.value=p.modelValue,s("update:modelValue",-1))},B=(t,e)=>{t.disabled||s("update:modelValue",e)},P=b(()=>t=>t===0),$=b(()=>t=>{var e;return((e=p.pageData)==null?void 0:e.length)===t+1}),_=b(()=>t=>(t==null?void 0:t.enabled)==0),E=t=>{t.enabled!==void 0&&(t.enabled=t.enabled?0:1)},k=(t,e)=>{if(t<0||t>=p.pageData.length||e<0||e>=p.pageData.length)return;const a=H(p.pageData),c=a.splice(t,1)[0];a.splice(e,0,c),s("updatePageData",a),s("update:modelValue",e)};return(t,e)=>{const a=A,c=z,S=F;return n(),C(S,{class:"pages-preview-container"},{default:u(()=>[i.pageMeta!==null?(n(),v("div",{key:0,class:"absolute right-4 top-4",onClick:N},[l(a,null,{default:u(()=>[...e[0]||(e[0]=[L("页面设置",-1)])]),_:1})])):V("",!0),d("div",R,[(n(!0),v(U,null,W(i.pageData,(o,r)=>(n(),v("div",{key:o.id,class:D(["relative",{"cursor-pointer":!(o!=null&&o.disabled)}]),onClick:m=>B(o,r)},[d("div",{class:D(["absolute w-full h-full z-[100] border-dashed",{select:r==i.modelValue,hide:_.value(o.content),"border-[#dcdfe6] border-2":!(o!=null&&o.disabled)}])},null,2),Z(t.$slots,"default",{},()=>{var m;return[(n(),C(g((m=f(G)[o==null?void 0:o.name])==null?void 0:m.content),{content:o.content,styles:o.styles,key:o.id},null,8,["content","styles"]))]},!0),r==i.modelValue?(n(),v("div",Y,[d("div",null,[l(c,{effect:"dark",content:_.value(o.content)?"显示":"隐藏",placement:"right"},{default:u(()=>[l(a,{class:"py-[5px]",type:"primary",icon:_.value(o.content)?f(O):f(T),onClick:m=>E(o.content)},null,8,["icon","onClick"])]),_:2},1032,["content"])]),d("div",null,[l(c,{effect:"dark",content:"上移",placement:"right"},{default:u(()=>[l(a,{class:"py-[5px]",type:"primary",icon:f(j),disabled:P.value(r),onClick:h(m=>k(r,r-1),["stop"])},null,8,["icon","disabled","onClick"])]),_:2},1024)]),d("div",null,[l(c,{effect:"dark",content:"下移",placement:"right"},{default:u(()=>[l(a,{class:"py-[5px]",type:"primary",icon:f(q),disabled:$.value(r),onClick:h(m=>k(r,r+1),["stop"])},null,8,["icon","disabled","onClick"])]),_:2},1024)])])):V("",!0)],10,X))),128))])]),_:3})}}}),No=Q(x,[["__scopeId","data-v-a459312e"]]);export{No as default}; +import{i as A,r as z,s as F}from"./element-plus-DFTWCWyi.js";import{s as h}from"./@vue/runtime-dom-DDAG46FW.js";import{v as O,h as T,Z as j,_ as q}from"./@element-plus/icons-vue-HOEUG8sr.js";import{e as G}from"./index-BHHQOM-n.js";import{k as H}from"./lodash-es-C2A-Pj28.js";import{f as J,ak as n,G as C,aN as u,I as v,a as l,O as L,H as V,J as d,F as U,ap as W,aq as Z,at as g,A as b}from"./@vue/runtime-core-C6bnekPw.js";import{o as D}from"./@vue/shared-mAAVTE9n.js";import{y as f,n as K}from"./@vue/reactivity-DiY1c2vO.js";import{_ as Q}from"./index-DBREMm_z.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./attr-BsXOKCNj.js";import"./index-CbfZXeGu.js";import"./picker-DPnqJ8Gk.js";import"./index-BwF7vczx.js";import"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import"./article-BnVIxFkr.js";import"./usePaging-VsbTxSU0.js";import"./picker-BCRrEZaA.js";import"./index-BiPYXDtP.js";import"./index-CRoZWY-W.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-BimpIRb_.js";import"./index.vue_vue_type_script_setup_true_lang-x0oL2ShL.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./content.vue_vue_type_script_setup_true_lang-u1kTovEN.js";import"./decoration-img-CZLpkXPN.js";import"./attr.vue_vue_type_script_setup_true_lang-c_YeWJqI.js";import"./content-Dyki4H78.js";import"./attr.vue_vue_type_script_setup_true_lang-Dy891kIt.js";import"./content.vue_vue_type_script_setup_true_lang-uukcy-Ti.js";import"./attr.vue_vue_type_script_setup_true_lang-6A60mJbu.js";import"./add-nav.vue_vue_type_script_setup_true_lang-BN-blUPj.js";import"./content-Sf3nxxVG.js";import"./attr.vue_vue_type_script_setup_true_lang-Ca7p7CQy.js";import"./content.vue_vue_type_script_setup_true_lang-B-SEL-YW.js";import"./attr.vue_vue_type_script_setup_true_lang-DnkDutJb.js";import"./content-DblaaeJD.js";import"./decoration-C799ML-U.js";import"./attr.vue_vue_type_script_setup_true_lang-BnCnHgo6.js";import"./index.vue_vue_type_script_setup_true_lang-3vCdLVB9.js";import"./content-PkioGtTh.js";import"./content.vue_vue_type_script_setup_true_lang-BK6uSq1e.js";import"./attr.vue_vue_type_script_setup_true_lang-ChKJn1wI.js";import"./content-BeOu4XYf.js";import"./attr.vue_vue_type_script_setup_true_lang-mOGAGDW2.js";import"./content.vue_vue_type_script_setup_true_lang-DtEQqPIi.js";import"./attr.vue_vue_type_script_setup_true_lang-9MDVGbdQ.js";import"./content-C_MRybMI.js";const R={class:"shadow mx-[30px] pages-preview"},X=["onClick"],Y={key:0,class:"widget-btns py-[5px]"},x=J({__name:"preview",props:{pageMeta:{type:Object,default:()=>null},pageData:{type:Array,default:()=>[]},modelValue:{type:Number,default:0}},emits:["update:modelValue","updatePageData"],setup(i,{emit:M}){const p=i,s=M,y=K(-1),N=()=>{p.modelValue===-1?s("update:modelValue",y.value):(y.value=p.modelValue,s("update:modelValue",-1))},B=(t,e)=>{t.disabled||s("update:modelValue",e)},P=b(()=>t=>t===0),$=b(()=>t=>{var e;return((e=p.pageData)==null?void 0:e.length)===t+1}),_=b(()=>t=>(t==null?void 0:t.enabled)==0),E=t=>{t.enabled!==void 0&&(t.enabled=t.enabled?0:1)},k=(t,e)=>{if(t<0||t>=p.pageData.length||e<0||e>=p.pageData.length)return;const a=H(p.pageData),c=a.splice(t,1)[0];a.splice(e,0,c),s("updatePageData",a),s("update:modelValue",e)};return(t,e)=>{const a=A,c=z,S=F;return n(),C(S,{class:"pages-preview-container"},{default:u(()=>[i.pageMeta!==null?(n(),v("div",{key:0,class:"absolute right-4 top-4",onClick:N},[l(a,null,{default:u(()=>[...e[0]||(e[0]=[L("页面设置",-1)])]),_:1})])):V("",!0),d("div",R,[(n(!0),v(U,null,W(i.pageData,(o,r)=>(n(),v("div",{key:o.id,class:D(["relative",{"cursor-pointer":!(o!=null&&o.disabled)}]),onClick:m=>B(o,r)},[d("div",{class:D(["absolute w-full h-full z-[100] border-dashed",{select:r==i.modelValue,hide:_.value(o.content),"border-[#dcdfe6] border-2":!(o!=null&&o.disabled)}])},null,2),Z(t.$slots,"default",{},()=>{var m;return[(n(),C(g((m=f(G)[o==null?void 0:o.name])==null?void 0:m.content),{content:o.content,styles:o.styles,key:o.id},null,8,["content","styles"]))]},!0),r==i.modelValue?(n(),v("div",Y,[d("div",null,[l(c,{effect:"dark",content:_.value(o.content)?"显示":"隐藏",placement:"right"},{default:u(()=>[l(a,{class:"py-[5px]",type:"primary",icon:_.value(o.content)?f(O):f(T),onClick:m=>E(o.content)},null,8,["icon","onClick"])]),_:2},1032,["content"])]),d("div",null,[l(c,{effect:"dark",content:"上移",placement:"right"},{default:u(()=>[l(a,{class:"py-[5px]",type:"primary",icon:f(j),disabled:P.value(r),onClick:h(m=>k(r,r-1),["stop"])},null,8,["icon","disabled","onClick"])]),_:2},1024)]),d("div",null,[l(c,{effect:"dark",content:"下移",placement:"right"},{default:u(()=>[l(a,{class:"py-[5px]",type:"primary",icon:f(q),disabled:$.value(r),onClick:h(m=>k(r,r+1),["stop"])},null,8,["icon","disabled","onClick"])]),_:2},1024)])])):V("",!0)],10,X))),128))])]),_:3})}}}),No=Q(x,[["__scopeId","data-v-a459312e"]]);export{No as default}; diff --git a/server/public/admin/assets/preview-pc-BmqIs2iT.js b/server/public/admin/assets/preview-pc-C3rY5bdw.js similarity index 62% rename from server/public/admin/assets/preview-pc-BmqIs2iT.js rename to server/public/admin/assets/preview-pc-C3rY5bdw.js index 31ea9f6e..f91de2f2 100644 --- a/server/public/admin/assets/preview-pc-BmqIs2iT.js +++ b/server/public/admin/assets/preview-pc-C3rY5bdw.js @@ -1 +1 @@ -import{i as $,r as B}from"./element-plus-0wC3naml.js";import{Y as N,v as S,h as q}from"./@element-plus/icons-vue-HOEUG8sr.js";import{e as R}from"./index-OPSjrJvJ.js";import{f as z,ak as r,I as i,J as l,H as y,F as D,ap as E,aq as I,G as A,at as F,a as s,aN as _,A as P}from"./@vue/runtime-core-C6bnekPw.js";import{o as h,p as v}from"./@vue/shared-mAAVTE9n.js";import{y as e,q as j}from"./@vue/reactivity-DiY1c2vO.js";import{_ as G}from"./index-E47--KT7.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./attr-CLlbMhxO.js";import"./index-BHTgr4Ka.js";import"./picker-B9b8bj5N.js";import"./index-nymJKQXP.js";import"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import"./article-DJnP6RZd.js";import"./usePaging-VsbTxSU0.js";import"./picker-DlbAZkDm.js";import"./index-B56X8bEB.js";import"./index-Ci4dcEQh.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-DoYUJmkp.js";import"./index.vue_vue_type_script_setup_true_lang-Bl0f8aX8.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./content.vue_vue_type_script_setup_true_lang-B9VzIZnv.js";import"./decoration-img-CZl9mrsf.js";import"./attr.vue_vue_type_script_setup_true_lang-BN--zfly.js";import"./content-B6YfxEbd.js";import"./attr.vue_vue_type_script_setup_true_lang-BIDjj2ZQ.js";import"./content.vue_vue_type_script_setup_true_lang-C4EWc4Ny.js";import"./attr.vue_vue_type_script_setup_true_lang-CVwolQf4.js";import"./add-nav.vue_vue_type_script_setup_true_lang-DqZ_o5sa.js";import"./content-Cj4lK4l8.js";import"./attr.vue_vue_type_script_setup_true_lang-BVV-rQuy.js";import"./content.vue_vue_type_script_setup_true_lang-CuEc-gLQ.js";import"./attr.vue_vue_type_script_setup_true_lang-DnkDutJb.js";import"./content-Dyh_0iwA.js";import"./decoration-ChND9qat.js";import"./attr.vue_vue_type_script_setup_true_lang-CTVcHVd7.js";import"./index.vue_vue_type_script_setup_true_lang-C384XBPz.js";import"./content-B1b0mSAw.js";import"./content.vue_vue_type_script_setup_true_lang-hItYL1wr.js";import"./attr.vue_vue_type_script_setup_true_lang-ChKJn1wI.js";import"./content-B7VEJItb.js";import"./attr.vue_vue_type_script_setup_true_lang-A0LOU1hn.js";import"./content.vue_vue_type_script_setup_true_lang-zA2x9af7.js";import"./attr.vue_vue_type_script_setup_true_lang-9MDVGbdQ.js";import"./content-CgQTA2IB.js";const H={class:"pages-preview"},J={class:"relative flex justify-center h-full mt-5 mx-10"},L=["src"],T={class:"max-w-[1200px] w-full absolute"},W=["onClick"],Y=z({__name:"preview-pc",props:{pageData:{type:Array,default:()=>[]},modelValue:{type:Number,default:0}},emits:["update:modelValue"],setup(a,{emit:k}){const u=j(),b=k,c=P(()=>o=>(o==null?void 0:o.enabled)==0),C=o=>{var m;(m=u.value[o])==null||m.open()},V=o=>{o.enabled!==void 0&&(o.enabled=o.enabled?0:1)},x=(o,m)=>{o.disabled||b("update:modelValue",m)};return(o,m)=>{const f=$,d=B;return r(),i("div",H,[l("div",J,[o.$route.query.url?(r(),i("iframe",{key:0,ref:"previewIframeRef",class:"flex-1 h-full",width:"100%",height:"100%",scrolling:"no",src:o.$route.query.url},null,8,L)):y("",!0),l("div",T,[(r(!0),i(D,null,E(a.pageData,(t,n)=>(r(),i("div",{key:t.id,class:h(["absolute left-0 top-0",{"cursor-pointer":!(t!=null&&t.disabled)}]),onClick:p=>x(t,n)},[l("div",{class:h(["absolute w-full h-full z-[100] border-dashed",{select:n==a.modelValue,"border-[#dcdfe6] border-2":!(t!=null&&t.disabled),hide:e(c)(t.content)}]),style:v(t.styles)},null,6),I(o.$slots,"default",{},()=>{var p;return[(r(),A(F((p=e(R)[t==null?void 0:t.name])==null?void 0:p.content),{content:t.content,styles:t.styles,key:t.id,ref_for:!0,ref_key:"commonComponentRef",ref:u},null,8,["content","styles"]))]},!0),n==a.modelValue?(r(),i("div",{key:0,class:"widget-btns py-[5px]",style:v({top:t.styles.top,left:t.styles.width})},[l("div",null,[s(d,{effect:"dark",content:"编辑组件内容",placement:"right"},{default:_(()=>[s(f,{class:"py-[5px]",type:"primary",icon:e(N),onClick:p=>C(n)},null,8,["icon","onClick"])]),_:2},1024)]),l("div",null,[s(d,{effect:"dark",content:e(c)(t.content)?"显示":"隐藏",placement:"right"},{default:_(()=>[s(f,{class:"py-[5px]",type:"primary",icon:e(c)(t.content)?e(S):e(q),onClick:p=>V(t.content)},null,8,["icon","onClick"])]),_:2},1032,["content"])])],4)):y("",!0)],10,W))),128))])])])}}}),vo=G(Y,[["__scopeId","data-v-ccf0ad8b"]]);export{vo as default}; +import{i as $,r as B}from"./element-plus-DFTWCWyi.js";import{Y as N,v as S,h as q}from"./@element-plus/icons-vue-HOEUG8sr.js";import{e as R}from"./index-BHHQOM-n.js";import{f as z,ak as r,I as i,J as l,H as y,F as D,ap as E,aq as I,G as A,at as F,a as s,aN as _,A as P}from"./@vue/runtime-core-C6bnekPw.js";import{o as h,p as v}from"./@vue/shared-mAAVTE9n.js";import{y as e,q as j}from"./@vue/reactivity-DiY1c2vO.js";import{_ as G}from"./index-DBREMm_z.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./attr-BsXOKCNj.js";import"./index-CbfZXeGu.js";import"./picker-DPnqJ8Gk.js";import"./index-BwF7vczx.js";import"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import"./article-BnVIxFkr.js";import"./usePaging-VsbTxSU0.js";import"./picker-BCRrEZaA.js";import"./index-BiPYXDtP.js";import"./index-CRoZWY-W.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-BimpIRb_.js";import"./index.vue_vue_type_script_setup_true_lang-x0oL2ShL.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./content.vue_vue_type_script_setup_true_lang-u1kTovEN.js";import"./decoration-img-CZLpkXPN.js";import"./attr.vue_vue_type_script_setup_true_lang-c_YeWJqI.js";import"./content-Dyki4H78.js";import"./attr.vue_vue_type_script_setup_true_lang-Dy891kIt.js";import"./content.vue_vue_type_script_setup_true_lang-uukcy-Ti.js";import"./attr.vue_vue_type_script_setup_true_lang-6A60mJbu.js";import"./add-nav.vue_vue_type_script_setup_true_lang-BN-blUPj.js";import"./content-Sf3nxxVG.js";import"./attr.vue_vue_type_script_setup_true_lang-Ca7p7CQy.js";import"./content.vue_vue_type_script_setup_true_lang-B-SEL-YW.js";import"./attr.vue_vue_type_script_setup_true_lang-DnkDutJb.js";import"./content-DblaaeJD.js";import"./decoration-C799ML-U.js";import"./attr.vue_vue_type_script_setup_true_lang-BnCnHgo6.js";import"./index.vue_vue_type_script_setup_true_lang-3vCdLVB9.js";import"./content-PkioGtTh.js";import"./content.vue_vue_type_script_setup_true_lang-BK6uSq1e.js";import"./attr.vue_vue_type_script_setup_true_lang-ChKJn1wI.js";import"./content-BeOu4XYf.js";import"./attr.vue_vue_type_script_setup_true_lang-mOGAGDW2.js";import"./content.vue_vue_type_script_setup_true_lang-DtEQqPIi.js";import"./attr.vue_vue_type_script_setup_true_lang-9MDVGbdQ.js";import"./content-C_MRybMI.js";const H={class:"pages-preview"},J={class:"relative flex justify-center h-full mt-5 mx-10"},L=["src"],T={class:"max-w-[1200px] w-full absolute"},W=["onClick"],Y=z({__name:"preview-pc",props:{pageData:{type:Array,default:()=>[]},modelValue:{type:Number,default:0}},emits:["update:modelValue"],setup(a,{emit:k}){const u=j(),b=k,c=P(()=>o=>(o==null?void 0:o.enabled)==0),C=o=>{var m;(m=u.value[o])==null||m.open()},V=o=>{o.enabled!==void 0&&(o.enabled=o.enabled?0:1)},x=(o,m)=>{o.disabled||b("update:modelValue",m)};return(o,m)=>{const f=$,d=B;return r(),i("div",H,[l("div",J,[o.$route.query.url?(r(),i("iframe",{key:0,ref:"previewIframeRef",class:"flex-1 h-full",width:"100%",height:"100%",scrolling:"no",src:o.$route.query.url},null,8,L)):y("",!0),l("div",T,[(r(!0),i(D,null,E(a.pageData,(t,n)=>(r(),i("div",{key:t.id,class:h(["absolute left-0 top-0",{"cursor-pointer":!(t!=null&&t.disabled)}]),onClick:p=>x(t,n)},[l("div",{class:h(["absolute w-full h-full z-[100] border-dashed",{select:n==a.modelValue,"border-[#dcdfe6] border-2":!(t!=null&&t.disabled),hide:e(c)(t.content)}]),style:v(t.styles)},null,6),I(o.$slots,"default",{},()=>{var p;return[(r(),A(F((p=e(R)[t==null?void 0:t.name])==null?void 0:p.content),{content:t.content,styles:t.styles,key:t.id,ref_for:!0,ref_key:"commonComponentRef",ref:u},null,8,["content","styles"]))]},!0),n==a.modelValue?(r(),i("div",{key:0,class:"widget-btns py-[5px]",style:v({top:t.styles.top,left:t.styles.width})},[l("div",null,[s(d,{effect:"dark",content:"编辑组件内容",placement:"right"},{default:_(()=>[s(f,{class:"py-[5px]",type:"primary",icon:e(N),onClick:p=>C(n)},null,8,["icon","onClick"])]),_:2},1024)]),l("div",null,[s(d,{effect:"dark",content:e(c)(t.content)?"显示":"隐藏",placement:"right"},{default:_(()=>[s(f,{class:"py-[5px]",type:"primary",icon:e(c)(t.content)?e(S):e(q),onClick:p=>V(t.content)},null,8,["icon","onClick"])]),_:2},1032,["content"])])],4)):y("",!0)],10,W))),128))])])])}}}),vo=G(Y,[["__scopeId","data-v-ccf0ad8b"]]);export{vo as default}; diff --git a/server/public/admin/assets/progress-DiQn9RZz.js b/server/public/admin/assets/progress-DM-687gY.js similarity index 98% rename from server/public/admin/assets/progress-DiQn9RZz.js rename to server/public/admin/assets/progress-DM-687gY.js index f501e1fc..cde65e0d 100644 --- a/server/public/admin/assets/progress-DiQn9RZz.js +++ b/server/public/admin/assets/progress-DM-687gY.js @@ -1 +1 @@ -import{d as kt,a2 as Et,Q as St,P as xt,C as Vt,i as $t,F as It,G as Mt,L as Ct,N as Tt,T as At,a0 as Dt,M as Rt,R as Pt}from"./element-plus-0wC3naml.js";import{w as Ut}from"./@vue/runtime-dom-DDAG46FW.js";import{a as Yt}from"./vue-router-QlpZ4wdW.js";import{d as K}from"./dayjs-DG77mNTn.js";import{k as Bt,$ as zt,N as et,x as Ft,X as Lt}from"./@element-plus/icons-vue-HOEUG8sr.js";import{d as Gt,c as nt}from"./doctor-6V0qM7Ks.js";import{u as Ot,_ as Kt}from"./index-E47--KT7.js";import{f as at,b as jt,d as qt,ak as i,I as p,J as a,a as o,aN as u,O as N,F as z,ap as st,G as M,H as k,aP as Ht,A as C}from"./@vue/runtime-core-C6bnekPw.js";import{n as T,y as A,r as Qt}from"./@vue/reactivity-DiY1c2vO.js";import{Q as c,o as j}from"./@vue/shared-mAAVTE9n.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./lodash-D3kF6u-c.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Jt={class:"dp-page"},Wt={class:"dp-glass dp-toolbar"},Xt={class:"dp-toolbar-row"},Zt={class:"dp-field-label"},wt={class:"dp-field-label"},te={class:"dp-field-label"},ee={class:"dp-toolbar-actions"},ne={key:0,class:"dp-glass dp-doc-section"},se={class:"dp-section-head"},ae={class:"dp-glass dp-table-wrap"},oe={class:"dp-table-head"},le={class:"dp-table-head-left"},ie={key:0,class:"dp-table-range"},re={class:"dp-table-badges"},de={key:0,class:"dp-chip dp-chip--account"},ue={key:1,class:"dp-chip dp-chip--doc"},pe={key:2,class:"dp-chip dp-chip--count"},ce={key:3,class:"dp-chip dp-chip--muted"},me={class:"dp-my-patients-eta"},_e={class:"dp-cell-user-body"},fe={class:"dp-avatar"},ve={class:"dp-user-meta"},ge={class:"dp-user-name"},he={class:"dp-user-phone"},be={class:"dp-time"},ye={class:"dp-steps"},Ne={class:"dp-step-dot"},ke={class:"dp-step-text"},Ee={class:"dp-step-name"},Se={key:0,class:"dp-step-hint"},xe={key:1,class:"dp-muted"},Ve={key:1,class:"dp-muted"},$e=at({name:"doctorProgress"}),Ie=at({...$e,setup(Me){const ot=Yt(),q=Ot(),D=T(!1),E=T([]),f=T(void 0),S=T([]),R=()=>K().format("YYYY-MM-DD"),b=T([R(),R()]),v=Qt({status:"",patient_name:""}),H=C(()=>{const e=f.value;if(e===void 0)return"";const t=E.value.find(n=>Number(n.id)===e);return t?String(t.name||t.account||""):""}),lt=C(()=>{var t;const e=(t=q.userInfo)==null?void 0:t.id;return e!=null&&e!==""?Number(e):NaN}),Q=C(()=>{const e=q.userInfo||{};return String(e.name||e.account||"").trim()});function F(e){const t=lt.value;if(Number.isNaN(t))return!1;const n=e==null?void 0:e.assistant_id;return n==null||n===""?!1:Number(n)===t}const it=15,J=T(0);let P=null;function W(e){const t=String(e.appointment_date||"");let n=e.appointment_time||"";return typeof n=="string"&&n.length>5&&(n=n.slice(0,5)),`${t} ${n}`.trim()}function rt(e){const t=e.appointment_date;if(!t)return null;let n=e.appointment_time||"00:00";typeof n=="string"&&n.length>5&&(n=n.slice(0,5));const l=K(`${t} ${n}`);return l.isValid()?l:null}function X(e){const t=Math.max(0,Math.round(e));if(t===0)return"不到 1 分钟";if(t<60)return`${t} 分钟`;const n=Math.floor(t/60),l=t%60;return l===0?`${n} 小时`:`${n} 小时${l} 分钟`}function dt(e){if(J.value,!F(e))return"";const t=Number(e.status);if(t===3)return"面诊已完成(医生已点完成)";if(t===4)return"已过号,无法按序预估";if(t!==1)return"";const n=K(),l=rt(e),r=l?l.isAfter(n):!1,m=r&&l?Math.max(0,l.diff(n,"minute")):0,y=S.value.filter(d=>d.appointment_date===e.appointment_date&&Number(d.status)===1).slice().sort((d,$)=>{const B=W(d).localeCompare(W($));return B!==0?B:Number(d.id)-Number($.id)}).findIndex(d=>Number(d.id)===Number(e.id)),g=y>=0?y:0,V=g*it,_=[];return r&&_.push(`距预约时段还有约 ${X(m)}`),g===0?_.push(r?"到号后可优先安排面诊":"已到号,可尽快面诊"):_.push(`前面约 ${g} 人,按序粗估约 ${X(V)}`),_.join(";")}function Z(){const e=v.status;return e===""||e===void 0||e===null}const U=C(()=>Z()?S.value.filter(e=>Number(e.status)===3).length:0),L=C(()=>Z()?S.value.filter(e=>Number(e.status)!==3):S.value),ut=C(()=>U.value>0&&L.value.length===0?`本时段有 ${U.value} 条「已完成」已隐藏,可在状态中选择「已完成」查看`:"该时段内暂无挂号");function pt(e){const t=String(e||"?").trim();return t?t[0]:"?"}function ct(e){const t=e.appointment_date||"";let n=e.appointment_time||"";return typeof n=="string"&&n.length>5&&(n=n.slice(0,5)),t?`${t} ${n}`.trim():"—"}function mt(e){return e===3?"success":e===4?"warning":e===2?"info":"primary"}function w(e){const t=Number(e.status)===2,n=!t&&[1,3,4].includes(Number(e.status)),l=!!e.diagnosis_confirmed,r=Number(e.status)===3,m=!!e.has_prescription;return[{label:"挂号",done:n,current:n&&!l&&Number(e.status)===1,hint:t?"已取消":Number(e.status)===4?"已过号":""},{label:"确认诊单",done:l,current:n&&!l,hint:""},{label:"就诊中",done:r,current:n&&l&&!r&&Number(e.status)===1,hint:Number(e.status)===1&&l?"待完诊":""},{label:"开方",done:m,current:r&&!m,hint:""}]}function _t(e){const n=w(e).filter(l=>l.done).length;return Math.round(n/4*100)}const G=2e3,ft=15e3;let Y=null;async function vt(){const e=await Gt({role_id:1,page_type:0,page_no:1,progress_board:1});if(E.value=(e==null?void 0:e.lists)||[],!E.value.length){f.value=void 0,S.value=[];return}const t=E.value.some(n=>Number(n.id)===f.value);(f.value===void 0||!t)&&(f.value=Number(E.value[0].id))}async function x(e){var n,l;if(f.value===void 0){S.value=[];return}const t=(e==null?void 0:e.silent)===!0;t||(D.value=!0);try{const r={doctor_id:f.value,page_type:1,page_no:1,page_size:G,prescription_today_only:1,exclude_cancelled:1,progress_board:1};((n=b.value)==null?void 0:n.length)===2&&(r.start_date=b.value[0],r.end_date=b.value[1]),v.status!==""&&(r.status=v.status),(l=v.patient_name)!=null&&l.trim()&&(r.patient_name=v.patient_name.trim());const m=await nt(r);let h=(m==null?void 0:m.lists)||[];const y=Number((m==null?void 0:m.count)??h.length);if(y>h.length&&h.length>=G){const g=[],V=Math.min(Math.ceil(y/G),20);for(let _=2;_<=V;_++){const d=await nt({...r,page_no:_}),$=(d==null?void 0:d.lists)||[];if(!$.length)break;g.push(...$)}h=[...h,...g]}S.value=[...h].sort((g,V)=>{const _=`${g.appointment_date||""} ${g.appointment_time||""}`,d=`${V.appointment_date||""} ${V.appointment_time||""}`;return _.localeCompare(d)})}catch(r){console.error(r),t||(S.value=[])}finally{t||(D.value=!1)}}function gt(){typeof document<"u"&&document.hidden||x({silent:!0}).catch(()=>{})}function ht(){v.status="",v.patient_name="",b.value=[R(),R()],x()}function bt(e){ot.push({path:"/tcm/diagnosis",query:{id:String(e)}})}return jt(async()=>{await vt(),await x(),Y=setInterval(gt,ft),P=setInterval(()=>{J.value+=1},6e4)}),qt(()=>{Y!=null&&(clearInterval(Y),Y=null),P!=null&&(clearInterval(P),P=null)}),(e,t)=>{var tt;const n=kt,l=Et,r=St,m=xt,h=Vt,y=$t,g=It,V=Mt,_=Pt,d=Tt,$=At,B=Dt,yt=Rt,Nt=Ct;return i(),p("div",Jt,[a("section",Wt,[a("div",Xt,[a("span",Zt,[o(n,null,{default:u(()=>[o(A(Bt))]),_:1}),t[9]||(t[9]=N(" 预约日期 ",-1))]),o(l,{modelValue:b.value,"onUpdate:modelValue":t[0]||(t[0]=s=>b.value=s),type:"daterange","range-separator":"—","start-placeholder":"开始","end-placeholder":"结束","value-format":"YYYY-MM-DD","unlink-panels":"",class:"dp-field-date",onChange:t[1]||(t[1]=()=>x())},null,8,["modelValue"]),a("span",wt,[o(n,null,{default:u(()=>[o(A(zt))]),_:1}),t[10]||(t[10]=N(" 状态 ",-1))]),o(m,{modelValue:v.status,"onUpdate:modelValue":t[2]||(t[2]=s=>v.status=s),placeholder:"全部",clearable:"",class:"dp-field-select",onChange:t[3]||(t[3]=()=>x())},{default:u(()=>[o(r,{label:"全部状态",value:""}),o(r,{label:"已预约(待就诊)",value:"1"}),o(r,{label:"已完成",value:"3"}),o(r,{label:"已过号",value:"4"})]),_:1},8,["modelValue"]),a("span",te,[o(n,null,{default:u(()=>[o(A(et))]),_:1}),t[11]||(t[11]=N(" 患者 ",-1))]),o(h,{modelValue:v.patient_name,"onUpdate:modelValue":t[4]||(t[4]=s=>v.patient_name=s),placeholder:"姓名",clearable:"",class:"dp-field-search",onKeyup:t[5]||(t[5]=Ut(()=>x(),["enter"]))},null,8,["modelValue"]),a("div",ee,[o(y,{type:"primary",loading:D.value,icon:A(et),onClick:t[6]||(t[6]=()=>x())},{default:u(()=>[...t[12]||(t[12]=[N(" 查询 ",-1)])]),_:1},8,["loading","icon"]),o(y,{icon:A(Ft),onClick:ht},{default:u(()=>[...t[13]||(t[13]=[N("重置",-1)])]),_:1},8,["icon"])])])]),E.value.length?(i(),p("section",ne,[a("div",se,[o(n,{class:"dp-section-icon"},{default:u(()=>[o(A(Lt))]),_:1}),t[14]||(t[14]=a("span",{class:"dp-section-title"},"选择医生",-1)),t[15]||(t[15]=a("span",{class:"dp-section-hint"},"切换后自动加载该医生挂号",-1))]),o(V,{modelValue:f.value,"onUpdate:modelValue":t[7]||(t[7]=s=>f.value=s),class:"dp-doc-pills",onChange:t[8]||(t[8]=()=>x())},{default:u(()=>[(i(!0),p(z,null,st(E.value,s=>(i(),M(g,{key:s.id,label:Number(s.id),class:"dp-doc-pill"},{default:u(()=>[N(c(s.name||s.account||"—"),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])])):k("",!0),Ht((i(),p("section",ae,[a("div",oe,[a("div",le,[t[16]||(t[16]=a("span",{class:"dp-table-title"},"患者列表",-1)),((tt=b.value)==null?void 0:tt.length)===2?(i(),p("span",ie,c(b.value[0])+" ~ "+c(b.value[1]),1)):k("",!0)]),a("div",re,[Q.value?(i(),p("span",de,"当前账号 "+c(Q.value),1)):k("",!0),H.value?(i(),p("span",ue,c(H.value),1)):k("",!0),f.value!==void 0&&!D.value?(i(),p("span",pe,c(L.value.length)+" 人",1)):k("",!0),U.value>0?(i(),p("span",ce,"已隐藏已完成 "+c(U.value),1)):k("",!0)])]),E.value.length?f.value===void 0?(i(),M(_,{key:1,description:"请选择医生"})):(i(),M(yt,{key:2,data:L.value,class:"dp-table",size:"default","empty-text":ut.value},{default:u(()=>[o(d,{label:"患者","min-width":"200",fixed:"left"},{default:u(({row:s})=>[a("div",{class:j(["dp-cell-user",{"is-my-patients":F(s)}])},[F(s)?(i(),p(z,{key:0},[t[17]||(t[17]=a("div",{class:"dp-my-patients-caption"},"我的患者",-1)),a("div",me,c(dt(s)),1)],64)):k("",!0),a("div",_e,[a("div",fe,c(pt(s.patient_name)),1),a("div",ve,[a("span",ge,c(s.patient_name||"—"),1),a("span",he,c(s.patient_phone||"—"),1)])])],2)]),_:1}),o(d,{label:"预约时间",width:"170"},{default:u(({row:s})=>[a("span",be,c(ct(s)),1)]),_:1}),o(d,{label:"挂号",width:"104",align:"center"},{default:u(({row:s})=>[o($,{type:mt(s.status),effect:"light",round:"",size:"small"},{default:u(()=>[N(c(s.status_desc),1)]),_:2},1032,["type"])]),_:1}),o(d,{label:"面诊进度","min-width":"360"},{default:u(({row:s})=>[a("div",ye,[(i(!0),p(z,null,st(w(s),(I,O)=>(i(),p(z,{key:O},[a("div",{class:j(["dp-step",{"is-done":I.done,"is-current":I.current&&!I.done}])},[a("div",Ne,c(O+1),1),a("div",ke,[a("span",Ee,c(I.label),1),I.hint?(i(),p("span",Se,c(I.hint),1)):k("",!0)])],2),O<3?(i(),p("div",{key:0,class:j(["dp-step-line",{"is-done":I.done}])},null,2)):k("",!0)],64))),128))]),o(B,{percentage:_t(s),"stroke-width":8,class:"dp-progress"},null,8,["percentage"])]),_:1}),o(d,{label:"处方",width:"92",align:"center"},{default:u(({row:s})=>[s.has_prescription?(i(),M($,{key:0,type:"success",effect:"dark",round:"",size:"small"},{default:u(()=>[...t[18]||(t[18]=[N("已开",-1)])]),_:1})):(i(),p("span",xe,"未开"))]),_:1}),o(d,{label:"操作",width:"96",fixed:"right",align:"center"},{default:u(({row:s})=>[s.diagnosis_id?(i(),M(y,{key:0,type:"primary",size:"small",round:"",plain:"",onClick:I=>bt(s.diagnosis_id)},{default:u(()=>[...t[19]||(t[19]=[N(" 诊单 ",-1)])]),_:1},8,["onClick"])):(i(),p("span",Ve,"—"))]),_:1})]),_:1},8,["data","empty-text"])):(i(),M(_,{key:0,description:"暂无医生数据"}))])),[[Nt,D.value]])])}}}),fn=Kt(Ie,[["__scopeId","data-v-6bc1551c"]]);export{fn as default}; +import{d as kt,a2 as Et,Q as St,P as xt,C as Vt,i as $t,F as It,G as Mt,L as Ct,N as Tt,T as At,a0 as Dt,M as Rt,R as Pt}from"./element-plus-DFTWCWyi.js";import{w as Ut}from"./@vue/runtime-dom-DDAG46FW.js";import{a as Yt}from"./vue-router-QlpZ4wdW.js";import{d as K}from"./dayjs-DG77mNTn.js";import{k as Bt,$ as zt,N as et,x as Ft,X as Lt}from"./@element-plus/icons-vue-HOEUG8sr.js";import{e as Gt,a as nt}from"./doctor-ul0r578d.js";import{u as Ot,_ as Kt}from"./index-DBREMm_z.js";import{f as at,b as jt,d as qt,ak as i,I as p,J as a,a as o,aN as u,O as N,F as z,ap as st,G as M,H as k,aP as Ht,A as C}from"./@vue/runtime-core-C6bnekPw.js";import{n as T,y as A,r as Qt}from"./@vue/reactivity-DiY1c2vO.js";import{Q as c,o as j}from"./@vue/shared-mAAVTE9n.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./lodash-D3kF6u-c.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Jt={class:"dp-page"},Wt={class:"dp-glass dp-toolbar"},Xt={class:"dp-toolbar-row"},Zt={class:"dp-field-label"},wt={class:"dp-field-label"},te={class:"dp-field-label"},ee={class:"dp-toolbar-actions"},ne={key:0,class:"dp-glass dp-doc-section"},se={class:"dp-section-head"},ae={class:"dp-glass dp-table-wrap"},oe={class:"dp-table-head"},le={class:"dp-table-head-left"},ie={key:0,class:"dp-table-range"},re={class:"dp-table-badges"},de={key:0,class:"dp-chip dp-chip--account"},ue={key:1,class:"dp-chip dp-chip--doc"},pe={key:2,class:"dp-chip dp-chip--count"},ce={key:3,class:"dp-chip dp-chip--muted"},me={class:"dp-my-patients-eta"},_e={class:"dp-cell-user-body"},fe={class:"dp-avatar"},ve={class:"dp-user-meta"},ge={class:"dp-user-name"},he={class:"dp-user-phone"},be={class:"dp-time"},ye={class:"dp-steps"},Ne={class:"dp-step-dot"},ke={class:"dp-step-text"},Ee={class:"dp-step-name"},Se={key:0,class:"dp-step-hint"},xe={key:1,class:"dp-muted"},Ve={key:1,class:"dp-muted"},$e=at({name:"doctorProgress"}),Ie=at({...$e,setup(Me){const ot=Yt(),q=Ot(),D=T(!1),E=T([]),f=T(void 0),S=T([]),R=()=>K().format("YYYY-MM-DD"),b=T([R(),R()]),v=Qt({status:"",patient_name:""}),H=C(()=>{const e=f.value;if(e===void 0)return"";const t=E.value.find(n=>Number(n.id)===e);return t?String(t.name||t.account||""):""}),lt=C(()=>{var t;const e=(t=q.userInfo)==null?void 0:t.id;return e!=null&&e!==""?Number(e):NaN}),Q=C(()=>{const e=q.userInfo||{};return String(e.name||e.account||"").trim()});function F(e){const t=lt.value;if(Number.isNaN(t))return!1;const n=e==null?void 0:e.assistant_id;return n==null||n===""?!1:Number(n)===t}const it=15,J=T(0);let P=null;function W(e){const t=String(e.appointment_date||"");let n=e.appointment_time||"";return typeof n=="string"&&n.length>5&&(n=n.slice(0,5)),`${t} ${n}`.trim()}function rt(e){const t=e.appointment_date;if(!t)return null;let n=e.appointment_time||"00:00";typeof n=="string"&&n.length>5&&(n=n.slice(0,5));const l=K(`${t} ${n}`);return l.isValid()?l:null}function X(e){const t=Math.max(0,Math.round(e));if(t===0)return"不到 1 分钟";if(t<60)return`${t} 分钟`;const n=Math.floor(t/60),l=t%60;return l===0?`${n} 小时`:`${n} 小时${l} 分钟`}function dt(e){if(J.value,!F(e))return"";const t=Number(e.status);if(t===3)return"面诊已完成(医生已点完成)";if(t===4)return"已过号,无法按序预估";if(t!==1)return"";const n=K(),l=rt(e),r=l?l.isAfter(n):!1,m=r&&l?Math.max(0,l.diff(n,"minute")):0,y=S.value.filter(d=>d.appointment_date===e.appointment_date&&Number(d.status)===1).slice().sort((d,$)=>{const B=W(d).localeCompare(W($));return B!==0?B:Number(d.id)-Number($.id)}).findIndex(d=>Number(d.id)===Number(e.id)),g=y>=0?y:0,V=g*it,_=[];return r&&_.push(`距预约时段还有约 ${X(m)}`),g===0?_.push(r?"到号后可优先安排面诊":"已到号,可尽快面诊"):_.push(`前面约 ${g} 人,按序粗估约 ${X(V)}`),_.join(";")}function Z(){const e=v.status;return e===""||e===void 0||e===null}const U=C(()=>Z()?S.value.filter(e=>Number(e.status)===3).length:0),L=C(()=>Z()?S.value.filter(e=>Number(e.status)!==3):S.value),ut=C(()=>U.value>0&&L.value.length===0?`本时段有 ${U.value} 条「已完成」已隐藏,可在状态中选择「已完成」查看`:"该时段内暂无挂号");function pt(e){const t=String(e||"?").trim();return t?t[0]:"?"}function ct(e){const t=e.appointment_date||"";let n=e.appointment_time||"";return typeof n=="string"&&n.length>5&&(n=n.slice(0,5)),t?`${t} ${n}`.trim():"—"}function mt(e){return e===3?"success":e===4?"warning":e===2?"info":"primary"}function w(e){const t=Number(e.status)===2,n=!t&&[1,3,4].includes(Number(e.status)),l=!!e.diagnosis_confirmed,r=Number(e.status)===3,m=!!e.has_prescription;return[{label:"挂号",done:n,current:n&&!l&&Number(e.status)===1,hint:t?"已取消":Number(e.status)===4?"已过号":""},{label:"确认诊单",done:l,current:n&&!l,hint:""},{label:"就诊中",done:r,current:n&&l&&!r&&Number(e.status)===1,hint:Number(e.status)===1&&l?"待完诊":""},{label:"开方",done:m,current:r&&!m,hint:""}]}function _t(e){const n=w(e).filter(l=>l.done).length;return Math.round(n/4*100)}const G=2e3,ft=15e3;let Y=null;async function vt(){const e=await Gt({role_id:1,page_type:0,page_no:1,progress_board:1});if(E.value=(e==null?void 0:e.lists)||[],!E.value.length){f.value=void 0,S.value=[];return}const t=E.value.some(n=>Number(n.id)===f.value);(f.value===void 0||!t)&&(f.value=Number(E.value[0].id))}async function x(e){var n,l;if(f.value===void 0){S.value=[];return}const t=(e==null?void 0:e.silent)===!0;t||(D.value=!0);try{const r={doctor_id:f.value,page_type:1,page_no:1,page_size:G,prescription_today_only:1,exclude_cancelled:1,progress_board:1};((n=b.value)==null?void 0:n.length)===2&&(r.start_date=b.value[0],r.end_date=b.value[1]),v.status!==""&&(r.status=v.status),(l=v.patient_name)!=null&&l.trim()&&(r.patient_name=v.patient_name.trim());const m=await nt(r);let h=(m==null?void 0:m.lists)||[];const y=Number((m==null?void 0:m.count)??h.length);if(y>h.length&&h.length>=G){const g=[],V=Math.min(Math.ceil(y/G),20);for(let _=2;_<=V;_++){const d=await nt({...r,page_no:_}),$=(d==null?void 0:d.lists)||[];if(!$.length)break;g.push(...$)}h=[...h,...g]}S.value=[...h].sort((g,V)=>{const _=`${g.appointment_date||""} ${g.appointment_time||""}`,d=`${V.appointment_date||""} ${V.appointment_time||""}`;return _.localeCompare(d)})}catch(r){console.error(r),t||(S.value=[])}finally{t||(D.value=!1)}}function gt(){typeof document<"u"&&document.hidden||x({silent:!0}).catch(()=>{})}function ht(){v.status="",v.patient_name="",b.value=[R(),R()],x()}function bt(e){ot.push({path:"/tcm/diagnosis",query:{id:String(e)}})}return jt(async()=>{await vt(),await x(),Y=setInterval(gt,ft),P=setInterval(()=>{J.value+=1},6e4)}),qt(()=>{Y!=null&&(clearInterval(Y),Y=null),P!=null&&(clearInterval(P),P=null)}),(e,t)=>{var tt;const n=kt,l=Et,r=St,m=xt,h=Vt,y=$t,g=It,V=Mt,_=Pt,d=Tt,$=At,B=Dt,yt=Rt,Nt=Ct;return i(),p("div",Jt,[a("section",Wt,[a("div",Xt,[a("span",Zt,[o(n,null,{default:u(()=>[o(A(Bt))]),_:1}),t[9]||(t[9]=N(" 预约日期 ",-1))]),o(l,{modelValue:b.value,"onUpdate:modelValue":t[0]||(t[0]=s=>b.value=s),type:"daterange","range-separator":"—","start-placeholder":"开始","end-placeholder":"结束","value-format":"YYYY-MM-DD","unlink-panels":"",class:"dp-field-date",onChange:t[1]||(t[1]=()=>x())},null,8,["modelValue"]),a("span",wt,[o(n,null,{default:u(()=>[o(A(zt))]),_:1}),t[10]||(t[10]=N(" 状态 ",-1))]),o(m,{modelValue:v.status,"onUpdate:modelValue":t[2]||(t[2]=s=>v.status=s),placeholder:"全部",clearable:"",class:"dp-field-select",onChange:t[3]||(t[3]=()=>x())},{default:u(()=>[o(r,{label:"全部状态",value:""}),o(r,{label:"已预约(待就诊)",value:"1"}),o(r,{label:"已完成",value:"3"}),o(r,{label:"已过号",value:"4"})]),_:1},8,["modelValue"]),a("span",te,[o(n,null,{default:u(()=>[o(A(et))]),_:1}),t[11]||(t[11]=N(" 患者 ",-1))]),o(h,{modelValue:v.patient_name,"onUpdate:modelValue":t[4]||(t[4]=s=>v.patient_name=s),placeholder:"姓名",clearable:"",class:"dp-field-search",onKeyup:t[5]||(t[5]=Ut(()=>x(),["enter"]))},null,8,["modelValue"]),a("div",ee,[o(y,{type:"primary",loading:D.value,icon:A(et),onClick:t[6]||(t[6]=()=>x())},{default:u(()=>[...t[12]||(t[12]=[N(" 查询 ",-1)])]),_:1},8,["loading","icon"]),o(y,{icon:A(Ft),onClick:ht},{default:u(()=>[...t[13]||(t[13]=[N("重置",-1)])]),_:1},8,["icon"])])])]),E.value.length?(i(),p("section",ne,[a("div",se,[o(n,{class:"dp-section-icon"},{default:u(()=>[o(A(Lt))]),_:1}),t[14]||(t[14]=a("span",{class:"dp-section-title"},"选择医生",-1)),t[15]||(t[15]=a("span",{class:"dp-section-hint"},"切换后自动加载该医生挂号",-1))]),o(V,{modelValue:f.value,"onUpdate:modelValue":t[7]||(t[7]=s=>f.value=s),class:"dp-doc-pills",onChange:t[8]||(t[8]=()=>x())},{default:u(()=>[(i(!0),p(z,null,st(E.value,s=>(i(),M(g,{key:s.id,label:Number(s.id),class:"dp-doc-pill"},{default:u(()=>[N(c(s.name||s.account||"—"),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])])):k("",!0),Ht((i(),p("section",ae,[a("div",oe,[a("div",le,[t[16]||(t[16]=a("span",{class:"dp-table-title"},"患者列表",-1)),((tt=b.value)==null?void 0:tt.length)===2?(i(),p("span",ie,c(b.value[0])+" ~ "+c(b.value[1]),1)):k("",!0)]),a("div",re,[Q.value?(i(),p("span",de,"当前账号 "+c(Q.value),1)):k("",!0),H.value?(i(),p("span",ue,c(H.value),1)):k("",!0),f.value!==void 0&&!D.value?(i(),p("span",pe,c(L.value.length)+" 人",1)):k("",!0),U.value>0?(i(),p("span",ce,"已隐藏已完成 "+c(U.value),1)):k("",!0)])]),E.value.length?f.value===void 0?(i(),M(_,{key:1,description:"请选择医生"})):(i(),M(yt,{key:2,data:L.value,class:"dp-table",size:"default","empty-text":ut.value},{default:u(()=>[o(d,{label:"患者","min-width":"200",fixed:"left"},{default:u(({row:s})=>[a("div",{class:j(["dp-cell-user",{"is-my-patients":F(s)}])},[F(s)?(i(),p(z,{key:0},[t[17]||(t[17]=a("div",{class:"dp-my-patients-caption"},"我的患者",-1)),a("div",me,c(dt(s)),1)],64)):k("",!0),a("div",_e,[a("div",fe,c(pt(s.patient_name)),1),a("div",ve,[a("span",ge,c(s.patient_name||"—"),1),a("span",he,c(s.patient_phone||"—"),1)])])],2)]),_:1}),o(d,{label:"预约时间",width:"170"},{default:u(({row:s})=>[a("span",be,c(ct(s)),1)]),_:1}),o(d,{label:"挂号",width:"104",align:"center"},{default:u(({row:s})=>[o($,{type:mt(s.status),effect:"light",round:"",size:"small"},{default:u(()=>[N(c(s.status_desc),1)]),_:2},1032,["type"])]),_:1}),o(d,{label:"面诊进度","min-width":"360"},{default:u(({row:s})=>[a("div",ye,[(i(!0),p(z,null,st(w(s),(I,O)=>(i(),p(z,{key:O},[a("div",{class:j(["dp-step",{"is-done":I.done,"is-current":I.current&&!I.done}])},[a("div",Ne,c(O+1),1),a("div",ke,[a("span",Ee,c(I.label),1),I.hint?(i(),p("span",Se,c(I.hint),1)):k("",!0)])],2),O<3?(i(),p("div",{key:0,class:j(["dp-step-line",{"is-done":I.done}])},null,2)):k("",!0)],64))),128))]),o(B,{percentage:_t(s),"stroke-width":8,class:"dp-progress"},null,8,["percentage"])]),_:1}),o(d,{label:"处方",width:"92",align:"center"},{default:u(({row:s})=>[s.has_prescription?(i(),M($,{key:0,type:"success",effect:"dark",round:"",size:"small"},{default:u(()=>[...t[18]||(t[18]=[N("已开",-1)])]),_:1})):(i(),p("span",xe,"未开"))]),_:1}),o(d,{label:"操作",width:"96",fixed:"right",align:"center"},{default:u(({row:s})=>[s.diagnosis_id?(i(),M(y,{key:0,type:"primary",size:"small",round:"",plain:"",onClick:I=>bt(s.diagnosis_id)},{default:u(()=>[...t[19]||(t[19]=[N(" 诊单 ",-1)])]),_:1},8,["onClick"])):(i(),p("span",Ve,"—"))]),_:1})]),_:1},8,["data","empty-text"])):(i(),M(_,{key:0,description:"暂无医生数据"}))])),[[Nt,D.value]])])}}}),fn=Kt(Ie,[["__scopeId","data-v-6bc1551c"]]);export{fn as default}; diff --git a/server/public/admin/assets/protocol-DCNm_frc.js b/server/public/admin/assets/protocol-C4zGl9Ye.js similarity index 85% rename from server/public/admin/assets/protocol-DCNm_frc.js rename to server/public/admin/assets/protocol-C4zGl9Ye.js index a34ee43c..49b78a9d 100644 --- a/server/public/admin/assets/protocol-DCNm_frc.js +++ b/server/public/admin/assets/protocol-C4zGl9Ye.js @@ -1 +1 @@ -import{_ as h}from"./index-9zND60WT.js";import{D as w,B as y,C as g,J as E,i as B}from"./element-plus-0wC3naml.js";import{_ as U}from"./index.vue_vue_type_style_index_0_lang-CSw0OmVb.js";import{c as k,d as C}from"./website-BmYKVBCc.js";import{f,as as P,ak as c,I as D,J as i,a as o,aN as m,aP as F,G as N,O as I,F as G}from"./@vue/runtime-core-C6bnekPw.js";import{y as l,n as J}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./index-E47--KT7.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./@wangeditor/editor-Cyf37SuL.js";import"./@wangeditor/editor-for-vue-D1vSph3l.js";import"./picker-DlbAZkDm.js";import"./index-nymJKQXP.js";import"./index-B56X8bEB.js";import"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import"./index-BHTgr4Ka.js";import"./index-Ci4dcEQh.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-DoYUJmkp.js";import"./index.vue_vue_type_script_setup_true_lang-Bl0f8aX8.js";import"./usePaging-VsbTxSU0.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";const O={class:"xl:flex"},j={class:"xl:flex"},A=f({name:"webProtocol"}),Ht=f({...A,setup(T){const e=J({service_title:"",service_content:"",privacy_title:"",privacy_content:"",health_title:"",health_content:""}),_=async()=>{const u=await k();Object.assign(e.value,u)},v=async()=>{await C({...e.value}),_()};return _(),(u,t)=>{const a=g,n=y,p=w,s=U,d=E,b=B,V=h,x=P("perms");return c(),D(G,null,[i("div",O,[o(d,{class:"!border-none flex-1 xl:mr-4 mb-4",shadow:"never"},{header:m(()=>[...t[6]||(t[6]=[i("span",{class:"font-medium"},"服务协议",-1)])]),default:m(()=>[o(p,{model:l(e),"label-width":"80px"},{default:m(()=>[o(n,{label:"协议名称"},{default:m(()=>[o(a,{modelValue:l(e).service_title,"onUpdate:modelValue":t[0]||(t[0]=r=>l(e).service_title=r)},null,8,["modelValue"])]),_:1})]),_:1},8,["model"]),o(s,{class:"mb-10",modelValue:l(e).service_content,"onUpdate:modelValue":t[1]||(t[1]=r=>l(e).service_content=r),height:"500"},null,8,["modelValue"])]),_:1}),o(d,{class:"!border-none flex-1 mb-4",shadow:"never"},{header:m(()=>[...t[7]||(t[7]=[i("span",{class:"font-medium"},"隐私协议",-1)])]),default:m(()=>[o(p,{model:l(e),"label-width":"80px"},{default:m(()=>[o(n,{label:"协议名称"},{default:m(()=>[o(a,{modelValue:l(e).privacy_title,"onUpdate:modelValue":t[2]||(t[2]=r=>l(e).privacy_title=r)},null,8,["modelValue"])]),_:1})]),_:1},8,["model"]),o(s,{class:"mb-10",modelValue:l(e).privacy_content,"onUpdate:modelValue":t[3]||(t[3]=r=>l(e).privacy_content=r),height:"500"},null,8,["modelValue"])]),_:1})]),i("div",j,[o(d,{class:"!border-none flex-1 mb-4",shadow:"never"},{header:m(()=>[...t[8]||(t[8]=[i("span",{class:"font-medium"},"卫健委备案信息",-1)])]),default:m(()=>[o(p,{model:l(e),"label-width":"80px"},{default:m(()=>[o(n,{label:"协议名称"},{default:m(()=>[o(a,{modelValue:l(e).health_title,"onUpdate:modelValue":t[4]||(t[4]=r=>l(e).health_title=r)},null,8,["modelValue"])]),_:1})]),_:1},8,["model"]),o(s,{class:"mb-10",modelValue:l(e).health_content,"onUpdate:modelValue":t[5]||(t[5]=r=>l(e).health_content=r),height:"500"},null,8,["modelValue"])]),_:1})]),F((c(),N(V,null,{default:m(()=>[o(b,{type:"primary",onClick:v},{default:m(()=>[...t[9]||(t[9]=[I("保存",-1)])]),_:1})]),_:1})),[[x,["setting.web.web_setting/setAgreement"]]])],64)}}});export{Ht as default}; +import{_ as h}from"./index-x1zzA0a7.js";import{D as w,B as y,C as g,J as E,i as B}from"./element-plus-DFTWCWyi.js";import{_ as U}from"./index.vue_vue_type_style_index_0_lang-CV_qr4dh.js";import{c as k,d as C}from"./website-DzUyNaPG.js";import{f,as as P,ak as c,I as D,J as i,a as o,aN as m,aP as F,G as N,O as I,F as G}from"./@vue/runtime-core-C6bnekPw.js";import{y as l,n as J}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./index-DBREMm_z.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./@wangeditor/editor-Cyf37SuL.js";import"./@wangeditor/editor-for-vue-D1vSph3l.js";import"./picker-BCRrEZaA.js";import"./index-BwF7vczx.js";import"./index-BiPYXDtP.js";import"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import"./index-CbfZXeGu.js";import"./index-CRoZWY-W.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-BimpIRb_.js";import"./index.vue_vue_type_script_setup_true_lang-x0oL2ShL.js";import"./usePaging-VsbTxSU0.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";const O={class:"xl:flex"},j={class:"xl:flex"},A=f({name:"webProtocol"}),Ht=f({...A,setup(T){const e=J({service_title:"",service_content:"",privacy_title:"",privacy_content:"",health_title:"",health_content:""}),_=async()=>{const u=await k();Object.assign(e.value,u)},v=async()=>{await C({...e.value}),_()};return _(),(u,t)=>{const a=g,n=y,p=w,s=U,d=E,b=B,V=h,x=P("perms");return c(),D(G,null,[i("div",O,[o(d,{class:"!border-none flex-1 xl:mr-4 mb-4",shadow:"never"},{header:m(()=>[...t[6]||(t[6]=[i("span",{class:"font-medium"},"服务协议",-1)])]),default:m(()=>[o(p,{model:l(e),"label-width":"80px"},{default:m(()=>[o(n,{label:"协议名称"},{default:m(()=>[o(a,{modelValue:l(e).service_title,"onUpdate:modelValue":t[0]||(t[0]=r=>l(e).service_title=r)},null,8,["modelValue"])]),_:1})]),_:1},8,["model"]),o(s,{class:"mb-10",modelValue:l(e).service_content,"onUpdate:modelValue":t[1]||(t[1]=r=>l(e).service_content=r),height:"500"},null,8,["modelValue"])]),_:1}),o(d,{class:"!border-none flex-1 mb-4",shadow:"never"},{header:m(()=>[...t[7]||(t[7]=[i("span",{class:"font-medium"},"隐私协议",-1)])]),default:m(()=>[o(p,{model:l(e),"label-width":"80px"},{default:m(()=>[o(n,{label:"协议名称"},{default:m(()=>[o(a,{modelValue:l(e).privacy_title,"onUpdate:modelValue":t[2]||(t[2]=r=>l(e).privacy_title=r)},null,8,["modelValue"])]),_:1})]),_:1},8,["model"]),o(s,{class:"mb-10",modelValue:l(e).privacy_content,"onUpdate:modelValue":t[3]||(t[3]=r=>l(e).privacy_content=r),height:"500"},null,8,["modelValue"])]),_:1})]),i("div",j,[o(d,{class:"!border-none flex-1 mb-4",shadow:"never"},{header:m(()=>[...t[8]||(t[8]=[i("span",{class:"font-medium"},"卫健委备案信息",-1)])]),default:m(()=>[o(p,{model:l(e),"label-width":"80px"},{default:m(()=>[o(n,{label:"协议名称"},{default:m(()=>[o(a,{modelValue:l(e).health_title,"onUpdate:modelValue":t[4]||(t[4]=r=>l(e).health_title=r)},null,8,["modelValue"])]),_:1})]),_:1},8,["model"]),o(s,{class:"mb-10",modelValue:l(e).health_content,"onUpdate:modelValue":t[5]||(t[5]=r=>l(e).health_content=r),height:"500"},null,8,["modelValue"])]),_:1})]),F((c(),N(V,null,{default:m(()=>[o(b,{type:"primary",onClick:v},{default:m(()=>[...t[9]||(t[9]=[I("保存",-1)])]),_:1})]),_:1})),[[x,["setting.web.web_setting/setAgreement"]]])],64)}}});export{Ht as default}; diff --git a/server/public/admin/assets/qywx-CXKXaUIE.js b/server/public/admin/assets/qywx-CDUwdD49.js similarity index 98% rename from server/public/admin/assets/qywx-CXKXaUIE.js rename to server/public/admin/assets/qywx-CDUwdD49.js index f69723c3..1915eca6 100644 --- a/server/public/admin/assets/qywx-CXKXaUIE.js +++ b/server/public/admin/assets/qywx-CDUwdD49.js @@ -1 +1 @@ -import{K as le,J as ae,T as se,i as ne,D as oe,B as ie,C as re,a2 as ue,P as de,af as me,Q as ce,M as _e,N as fe,q as pe,r as ge,L as ye,g as ve,V as xe,ab as be,ac as we,R as he,e as Se,ag as ke,ah as Ce,a9 as Ve,aa as Ee}from"./element-plus-0wC3naml.js";import{_ as Te}from"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import{w as kt}from"./@vue/runtime-dom-DDAG46FW.js";import{a1 as Ae,a2 as Ne,L as rt,Y as ze}from"./@element-plus/icons-vue-HOEUG8sr.js";import{u as qe}from"./usePaging-VsbTxSU0.js";import{r as z,i as A,_ as De}from"./index-E47--KT7.js";import{f as $e,b as Le,d as Ue,ak as u,I as c,a,aN as l,J as n,H as N,F as E,ap as T,O as d,G as x,aP as Ie,A as Z}from"./@vue/runtime-core-C6bnekPw.js";import{r as U,y as b,a as Pe,n as k}from"./@vue/reactivity-DiY1c2vO.js";import{Q as r,p as je,o as Me}from"./@vue/shared-mAAVTE9n.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";function He(L){return z.get({url:"/qywx.customer/lists",params:L})}function Be(){return z.post({url:"/qywx.customer/sync"})}function Ke(){return z.get({url:"/qywx.customer/stats"})}function Re(){return z.get({url:"/qywx.customer/tagStats"})}function Fe(){return z.get({url:"/qywx.customer/todayArrival"})}function Ge(L){return z.get({url:"/qywx.customer/todayArrivalList",params:L})}function Oe(){return z.get({url:"/qywx.customer/getSyncSettings"})}function Ye(L){return z.post({url:"/qywx.customer/saveSyncSettings",params:L})}const Je={class:"qywx-customer-page p-4"},Qe={class:"flex items-center justify-between"},We={class:"flex gap-2"},Xe={class:"grid grid-cols-4 gap-4 mb-4"},Ze={class:"text-2xl font-bold text-primary"},tl={class:"flex items-center justify-between mb-1"},el={key:0,class:"text-xs text-gray-400"},ll={class:"flex items-end gap-2"},al={class:"text-2xl font-bold text-success leading-none"},sl=["title"],nl={class:"mt-2 pt-2 border-t border-gray-100"},ol={class:"text-lg font-semibold text-gray-800"},il={class:"text-sm font-medium"},rl={class:"flex items-center justify-between gap-3"},ul={class:"text-xs text-gray-400"},dl={class:"flex items-center gap-2"},ml={class:"font-medium"},cl={class:"text-xs text-gray-400"},_l={key:0},fl={key:1,class:"text-gray-400"},pl={key:0},gl={key:0,class:"ml-1 text-gray-400 text-xs"},yl={key:1,class:"text-gray-400"},vl={class:"flex justify-end mt-4"},xl={class:"flex items-center justify-between w-full pr-4"},bl={class:"flex items-center gap-3"},wl={class:"px-1"},hl={key:0,class:"mb-3"},Sl={class:"flex flex-wrap gap-1"},kl={class:"flex items-start gap-2"},Cl={class:"flex-1 min-w-0"},Vl={class:"text-sm font-medium truncate"},El={class:"text-xs text-gray-500 mt-0.5"},Tl={key:0,class:"ml-2"},Al={key:1,class:"ml-2 text-emerald-500"},Nl={key:3,class:"mt-3 text-center"},zl={class:"flex items-center justify-between w-full pr-4"},ql={class:"flex items-center gap-3"},Dl={class:"px-1"},$l={class:"grid grid-cols-3 gap-2 mb-3"},Ll={class:"text-xl font-bold text-warning"},Ul={class:"text-xl font-bold"},Il={class:"text-xl font-bold"},Pl={class:"flex items-center gap-2 w-full"},jl={class:"font-medium"},Ml={class:"ml-auto text-xs text-gray-500"},Hl={class:"font-medium"},Bl={class:"text-xs text-gray-400 truncate"},Kl={class:"text-warning font-bold"},Rl={key:0},Fl={key:1,class:"text-gray-400"},Gl={key:0},Ol={key:0,class:"ml-1 text-gray-400 text-xs"},Yl={key:1,class:"text-gray-400"},Jl=$e({__name:"qywx",setup(L){const I=k(!1),P=k(!1),tt=k(!1),y=k(null),C=U({total:0,today:0,today_follow_staff:0,lastSync:"",syncStatus:"idle",syncStatusText:"未同步"}),Ct=Z(()=>{switch(C.syncStatus){case"success":return"success";case"syncing":return"warning";case"failed":return"danger";default:return"info"}}),w=U({auto_sync:!1,interval:3600}),_=U({name:"",follow_user:"",tag_ids:[],add_time_start:"",add_time_end:""}),et=k(null);function Vt(e){e&&e.length===2&&e[0]&&e[1]?(_.add_time_start=e[0],_.add_time_end=e[1]):(_.add_time_start="",_.add_time_end=""),q()}const v=U({total_tags:0,total_relations:0,total_tagged_customers:0,groups:[]}),j=k(!1),F=k(!1),lt=k(""),at=k([]),ut=Z(()=>{const e=lt.value.trim().toLowerCase();if(!e)return v.groups;const t=[];for(const i of v.groups){const m=(i.group_name||"").toLowerCase().includes(e),g=i.tags.filter(p=>m||(p.tag_name||"").toLowerCase().includes(e));g.length&&t.push({...i,tags:g})}return t});async function st(e=!1){j.value=!0;try{const t=await Re();t&&typeof t=="object"&&(v.total_tags=Number(t.total_tags??0),v.total_relations=Number(t.total_relations??0),v.total_tagged_customers=Number(t.total_tagged_customers??0),v.groups=Array.isArray(t.groups)?t.groups:[]),e&&A.msgSuccess("已刷新")}catch(t){e&&A.msgError((t==null?void 0:t.message)||"加载标签统计失败"),console.error("加载标签统计失败",t)}finally{j.value=!1}}function Et(){var e;F.value=!0,at.value=(e=v.groups[0])!=null&&e.group_name?[v.groups[0].group_name]:[],v.groups.length===0&&st()}function Tt(e){e&&(_.tag_ids.includes(e)||(_.tag_ids.push(e),q()))}function At(e){e&&(_.tag_ids=[e],F.value=!1,q())}const h=U({total:0,recent_time:0,hourly:new Array(24).fill(0),by_state:[]}),M=k(!1),G=k(!1),f=U({total:0,page_no:1,page_size:20,lists:[]}),Nt=new Date().getHours(),zt=Z(()=>Math.max(1,...h.hourly));function qt(e){if(e<=0)return"2px";const t=e/zt.value;return Math.max(4,Math.round(t*32))+"px"}const Dt=Z(()=>{const e=[];return h.hourly.forEach((t,i)=>{t>0&&e.push(`${String(i).padStart(2,"0")}:00 · ${t}`)}),e.length?e.join(" "):"今天还没有人进入"});async function O(e=!1){try{const t=await Fe();t&&(h.total=Number(t.total??0),h.recent_time=Number(t.recent_time??0),h.hourly=Array.isArray(t.hourly)&&t.hourly.length===24?t.hourly.map(i=>Number(i)||0):new Array(24).fill(0),h.by_state=Array.isArray(t.by_state)?t.by_state:[])}catch(t){console.error("加载今日进入分布失败",t)}e&&M.value&&(f.page_no=1,f.lists=[],await nt())}async function nt(){G.value=!0;try{const e=await Ge({page_no:f.page_no,page_size:f.page_size});if(e){f.total=Number(e.total??0);const t=Array.isArray(e.lists)?e.lists:[];f.page_no===1?f.lists=t:f.lists.push(...t)}}catch(e){console.error("加载今日进入明细失败",e)}finally{G.value=!1}}async function dt(){M.value=!0,f.page_no=1,f.lists=[],await Promise.all([O(!1),nt()])}async function $t(){f.lists.length>=f.total||(f.page_no+=1,await nt())}function Lt(e){if(!e||e<=0)return"";const t=new Date(e<1e12?e*1e3:e);return`${String(t.getHours()).padStart(2,"0")}:${String(t.getMinutes()).padStart(2,"0")}`}function Ut(e){if(!e||e<=0)return"—";const t=new Date(e<1e12?e*1e3:e);return`${String(t.getHours()).padStart(2,"0")}:${String(t.getMinutes()).padStart(2,"0")}:${String(t.getSeconds()).padStart(2,"0")}`}let H=null,Y=null;function ot(){Y!==null&&(clearInterval(Y),Y=null)}async function It(e){return He(e)}const{pager:B,getLists:J,resetPage:q,resetParams:Pt}=qe({fetchFun:It,params:_});function jt(){_.name="",_.follow_user="",_.tag_ids=[],_.add_time_start="",_.add_time_end="",et.value=null,Pt()}function Mt(){ot();let e=0;Y=window.setInterval(async()=>{e+=1,await Q(),await J(),(C.syncStatus!=="syncing"||e>=120)&&(ot(),I.value=!1,e>=120&&C.syncStatus==="syncing"?A.msgWarning("长时间仍为「同步中」,请刷新页面或查看服务器 runtime/log/qywx_sync.log(可能未安装 CLI php 或禁用了 exec)"):C.syncStatus==="failed"&&A.msgError("同步失败,请查看服务器 runtime/log/qywx_sync.log 或后台同步状态"))},3e3)}async function mt(e){const t=(e==null?void 0:e.silent)===!0;I.value=!0;try{const i=await Be();t||A.msgSuccess((i==null?void 0:i.message)||"操作成功"),await Q(),await J(),i!=null&&i.background?Mt():I.value=!1}catch(i){const m=(i==null?void 0:i.message)||(i==null?void 0:i.msg)||"同步失败";(!t||!String(m).includes("正在执行"))&&A.msgError(m),I.value=!1}}async function Q(){try{const e=await Ke();e&&typeof e=="object"&&Object.assign(C,e)}catch(e){console.error("加载统计失败",e)}}async function Ht(){try{const e=await Oe();e&&typeof e=="object"&&Object.assign(w,e),w.auto_sync&&ct()}catch(e){console.error("加载同步设置失败",e)}}async function Bt(){try{await Ye(w),A.msgSuccess("保存成功"),P.value=!1,_t(),w.auto_sync&&ct()}catch(e){A.msgError((e==null?void 0:e.message)||"保存失败")}}function ct(){H||(H=window.setInterval(()=>{mt({silent:!0})},w.interval*1e3))}function _t(){H&&(clearInterval(H),H=null)}function Kt(e){y.value=e,tt.value=!0}function ft(e){const t=String((e==null?void 0:e.admin_name)??"").trim(),i=String((e==null?void 0:e.userid)??"").trim(),m=String((e==null?void 0:e.name)??"").trim();return t||(m&&i?`${m}(${i})`:m||i||"—")}function W(e){const t=String((e==null?void 0:e.admin_name)??"").trim(),i=String((e==null?void 0:e.userid)??"").trim(),m=[];return t&&m.push("后台:"+t),i&&m.push("企微:"+i),m.join("|")}function pt(e){if(!e)return null;const t=Number(e.external_first_add_time??0);if(t>0)return t;const i=e.follow_users;if(Array.isArray(i)&&i.length>0){let m=0;for(const g of i){const p=Number((g==null?void 0:g.createtime)??0);p>0&&(m===0||p0)return m}return e.create_time??null}function X(e){if(e===""||e===null||e===void 0)return"—";const t=Number(e),i=typeof e=="string"&&/^\d+$/.test(e.trim());let m;return typeof e=="number"?m=e<1e12?e*1e3:e:!Number.isNaN(t)&&i?m=t<1e12?t*1e3:t:m=new Date(e).getTime(),Number.isNaN(m)?"—":new Date(m).toLocaleString("zh-CN")}let K=null;function Rt(){K===null&&(K=window.setInterval(()=>{Q(),O(M.value)},3e4))}function Ft(){K!==null&&(clearInterval(K),K=null)}return Le(()=>{J(),Q(),Ht(),O(!1),st(),Rt()}),Ue(()=>{_t(),ot(),Ft()}),(e,t)=>{const i=ne,m=le,g=ae,p=se,it=re,D=ie,Gt=ue,$=ce,Ot=me,gt=de,yt=oe,vt=pe,S=fe,xt=ge,bt=_e,Yt=Te,Jt=ve,wt=xe,Qt=we,Wt=be,ht=he,St=Se,Xt=Ce,Zt=ke,V=Ee,te=Ve,ee=ye;return u(),c("div",Je,[a(g,{shadow:"never",class:"mb-4"},{header:l(()=>[n("div",Qe,[t[22]||(t[22]=n("span",{class:"text-lg font-semibold"},"企业微信客户管理",-1)),n("div",We,[a(i,{type:"success",plain:"",onClick:dt},{icon:l(()=>[a(b(Ae))]),default:l(()=>[t[18]||(t[18]=d(" 今日进入明细 ",-1))]),_:1}),a(i,{type:"warning",plain:"",onClick:Et},{icon:l(()=>[a(b(Ne))]),default:l(()=>[t[19]||(t[19]=d(" 标签维度 ",-1))]),_:1}),a(i,{type:"primary",loading:I.value,onClick:t[0]||(t[0]=s=>mt())},{icon:l(()=>[a(b(rt))]),default:l(()=>[t[20]||(t[20]=d(" 立即同步 ",-1))]),_:1},8,["loading"]),a(i,{onClick:t[1]||(t[1]=s=>P.value=!0)},{icon:l(()=>[a(b(ze))]),default:l(()=>[t[21]||(t[21]=d(" 同步设置 ",-1))]),_:1})])])]),default:l(()=>[a(m,{title:"功能说明",type:"info",closable:!1,class:"mb-4"},{default:l(()=>[...t[23]||(t[23]=[n("div",{class:"text-sm"},[n("p",null,"自动从企业微信同步外部联系人(客户)信息,包括客户基本信息、跟进人等。"),n("p",{class:"mt-1"},"同步后的数据可用于患者信息匹配和自动关联。")],-1)])]),_:1}),n("div",Xe,[a(g,{shadow:"hover"},{default:l(()=>[t[24]||(t[24]=n("div",{class:"text-gray-500 text-sm mb-1"},"总客户数",-1)),n("div",Ze,r(C.total),1)]),_:1}),a(g,{shadow:"hover",class:"today-arrival-card cursor-pointer",onClick:dt},{default:l(()=>[n("div",tl,[t[25]||(t[25]=n("span",{class:"text-gray-500 text-sm"},"今日新增",-1)),h.recent_time?(u(),c("span",el," 最近 "+r(Lt(h.recent_time)),1)):N("",!0)]),n("div",ll,[n("div",al,r(C.today),1),t[26]||(t[26]=n("div",{class:"text-xs text-gray-400 pb-1"},"人",-1))]),n("div",{class:"hourly-bars mt-2",title:Dt.value},[(u(!0),c(E,null,T(h.hourly,(s,o)=>(u(),c("div",{key:o,class:Me(["hourly-bar",{"is-empty":s===0,"is-current":o===b(Nt)}]),style:je({height:qt(s)})},null,6))),128))],8,sl),n("div",nl,[t[27]||(t[27]=n("div",{class:"text-gray-500 text-xs mb-0.5"},"今日跟进人合计",-1)),n("div",ol,r(C.today_follow_staff),1)])]),_:1}),a(g,{shadow:"hover"},{default:l(()=>[t[28]||(t[28]=n("div",{class:"text-gray-500 text-sm mb-1"},"最后同步",-1)),n("div",il,r(C.lastSync||"未同步"),1)]),_:1}),a(g,{shadow:"hover"},{default:l(()=>[t[29]||(t[29]=n("div",{class:"text-gray-500 text-sm mb-1"},"同步状态",-1)),a(p,{type:Ct.value,size:"small"},{default:l(()=>[d(r(C.syncStatusText),1)]),_:1},8,["type"])]),_:1})])]),_:1}),a(g,{shadow:"never"},{default:l(()=>[a(yt,{model:_,inline:"",class:"mb-4"},{default:l(()=>[a(D,{label:"客户名称"},{default:l(()=>[a(it,{modelValue:_.name,"onUpdate:modelValue":t[2]||(t[2]=s=>_.name=s),placeholder:"搜索客户名称",clearable:"",onKeyup:kt(b(q),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),a(D,{label:"跟进人"},{default:l(()=>[a(it,{modelValue:_.follow_user,"onUpdate:modelValue":t[3]||(t[3]=s=>_.follow_user=s),placeholder:"跟进人姓名",clearable:"",onKeyup:kt(b(q),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),a(D,{label:"添加时间"},{default:l(()=>[a(Gt,{modelValue:et.value,"onUpdate:modelValue":t[4]||(t[4]=s=>et.value=s),type:"daterange","value-format":"YYYY-MM-DD","start-placeholder":"开始日期","end-placeholder":"结束日期",clearable:"",class:"!w-[280px]",onChange:Vt},null,8,["modelValue"])]),_:1}),a(D,{label:"标签"},{default:l(()=>[a(gt,{modelValue:_.tag_ids,"onUpdate:modelValue":t[5]||(t[5]=s=>_.tag_ids=s),multiple:"","collapse-tags":"","collapse-tags-tooltip":"",clearable:"",filterable:"",placeholder:"按标签筛选(可多选,命中任一即返回)",loading:j.value,style:{"min-width":"320px"},onChange:b(q)},{default:l(()=>[(u(!0),c(E,null,T(v.groups,s=>(u(),x(Ot,{key:s.group_name||"_",label:(s.group_name||"(未分组)")+" · "+s.customer_count},{default:l(()=>[(u(!0),c(E,null,T(s.tags,o=>(u(),x($,{key:o.tag_id,value:o.tag_id,label:o.tag_name},{default:l(()=>[n("span",rl,[n("span",null,r(o.tag_name),1),n("span",ul,r(o.customer_count)+" 人",1)])]),_:2},1032,["value","label"]))),128))]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue","loading","onChange"])]),_:1}),a(D,null,{default:l(()=>[a(i,{type:"primary",onClick:b(q)},{default:l(()=>[...t[30]||(t[30]=[d("查询",-1)])]),_:1},8,["onClick"]),a(i,{onClick:jt},{default:l(()=>[...t[31]||(t[31]=[d("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"]),Ie((u(),x(bt,{data:b(B).lists,stripe:""},{default:l(()=>[a(S,{label:"客户信息","min-width":"200"},{default:l(({row:s})=>[n("div",dl,[a(vt,{size:40,src:s.avatar},null,8,["src"]),n("div",null,[n("div",ml,r(s.name),1),n("div",cl,r(s.external_userid),1)])])]),_:1}),a(S,{label:"类型",width:"80"},{default:l(({row:s})=>[a(p,{size:"small"},{default:l(()=>[d(r(s.type===1?"微信":"企微"),1)]),_:2},1024)]),_:1}),a(S,{label:"性别",width:"60"},{default:l(({row:s})=>[d(r(s.gender===1?"男":s.gender===2?"女":"未知"),1)]),_:1}),a(S,{label:"跟进人","min-width":"150"},{default:l(({row:s})=>[s.follow_users&&s.follow_users.length?(u(),c("div",_l,[(u(!0),c(E,null,T(s.follow_users,(o,R)=>(u(),x(xt,{key:(o.userid||"")+"-"+R,disabled:!W(o),content:W(o),placement:"top"},{default:l(()=>[a(p,{size:"small",class:"mr-1 mb-1"},{default:l(()=>[d(r(ft(o)),1)]),_:2},1024)]),_:2},1032,["disabled","content"]))),128))])):(u(),c("span",fl,"—"))]),_:1}),a(S,{label:"标签","min-width":"180"},{default:l(({row:s})=>[s.tags&&s.tags.length?(u(),c("div",pl,[(u(!0),c(E,null,T(s.tags,o=>(u(),x(p,{key:o.tag_id,size:"small",effect:"light",type:"warning",class:"mr-1 mb-1 cursor-pointer",onClick:R=>Tt(o.tag_id)},{default:l(()=>[d(r(o.tag_name)+" ",1),o.group_name?(u(),c("span",gl,r(o.group_name),1)):N("",!0)]),_:2},1032,["onClick"]))),128))])):(u(),c("span",yl,"—"))]),_:1}),a(S,{label:"添加时间",width:"160"},{default:l(({row:s})=>[d(r(X(pt(s))),1)]),_:1}),a(S,{label:"更新时间",width:"160"},{default:l(({row:s})=>[d(r(X(s.update_time)),1)]),_:1}),a(S,{label:"操作",width:"120",fixed:"right"},{default:l(({row:s})=>[a(i,{type:"primary",link:"",onClick:o=>Kt(s)},{default:l(()=>[...t[32]||(t[32]=[d("查看详情",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[ee,b(B).loading]]),n("div",vl,[a(Yt,{modelValue:b(B),"onUpdate:modelValue":t[6]||(t[6]=s=>Pe(B)?B.value=s:null),onChange:b(J)},null,8,["modelValue","onChange"])])]),_:1}),a(wt,{modelValue:P.value,"onUpdate:modelValue":t[10]||(t[10]=s=>P.value=s),title:"同步设置",width:"500px"},{footer:l(()=>[a(i,{onClick:t[9]||(t[9]=s=>P.value=!1)},{default:l(()=>[...t[34]||(t[34]=[d("取消",-1)])]),_:1}),a(i,{type:"primary",onClick:Bt},{default:l(()=>[...t[35]||(t[35]=[d("保存",-1)])]),_:1})]),default:l(()=>[a(yt,{model:w,"label-width":"120px"},{default:l(()=>[a(D,{label:"自动同步"},{default:l(()=>[a(Jt,{modelValue:w.auto_sync,"onUpdate:modelValue":t[7]||(t[7]=s=>w.auto_sync=s)},null,8,["modelValue"]),t[33]||(t[33]=n("div",{class:"text-xs text-gray-400 mt-1"}," 开启后将定时自动同步企业微信客户数据 ",-1))]),_:1}),a(D,{label:"同步间隔"},{default:l(()=>[a(gt,{modelValue:w.interval,"onUpdate:modelValue":t[8]||(t[8]=s=>w.interval=s),disabled:!w.auto_sync},{default:l(()=>[a($,{label:"每小时",value:3600}),a($,{label:"每2小时",value:7200}),a($,{label:"每4小时",value:14400}),a($,{label:"每6小时",value:21600}),a($,{label:"每12小时",value:43200}),a($,{label:"每天",value:86400})]),_:1},8,["modelValue","disabled"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),a(St,{modelValue:M.value,"onUpdate:modelValue":t[12]||(t[12]=s=>M.value=s),title:"今日进入明细",direction:"rtl",size:"520px","destroy-on-close":!1},{header:l(()=>[n("div",xl,[n("div",bl,[t[36]||(t[36]=n("span",{class:"text-base font-semibold"},"今日进入明细",-1)),a(p,{type:"success",effect:"plain"},{default:l(()=>[d("共 "+r(f.total)+" 人",1)]),_:1})]),a(i,{link:"",type:"primary",loading:G.value,onClick:t[11]||(t[11]=s=>O(!0))},{icon:l(()=>[a(b(rt))]),default:l(()=>[t[37]||(t[37]=d(" 刷新 ",-1))]),_:1},8,["loading"])])]),default:l(()=>{var s;return[n("div",wl,[a(m,{type:"info",closable:!1,class:"mb-3","show-icon":""},{title:l(()=>[...t[38]||(t[38]=[n("span",{class:"text-xs"}," 一次推送 = 一个人进来;数据来源为企微回调流水表(INSERT IGNORE 幂等),与客户同步解耦,数字零误差。 ",-1)])]),_:1}),(s=h.by_state)!=null&&s.length?(u(),c("div",hl,[t[39]||(t[39]=n("div",{class:"text-xs text-gray-500 mb-1"},"今日推广渠道 Top",-1)),n("div",Sl,[(u(!0),c(E,null,T(h.by_state,o=>(u(),x(p,{key:o.state||"_",size:"small",effect:"light",type:"success"},{default:l(()=>[d(r(o.state||"(无 state)")+" · "+r(o.count),1)]),_:2},1024))),128))])])):N("",!0),f.lists.length?(u(),x(Wt,{key:1,class:"mt-2"},{default:l(()=>[(u(!0),c(E,null,T(f.lists,o=>(u(),x(Qt,{key:o.id,timestamp:Ut(o.event_time),placement:"top",type:"success",hollow:!1},{default:l(()=>[n("div",kl,[a(vt,{size:32,src:o.customer_avatar||void 0},{default:l(()=>[d(r((o.customer_name||"?").slice(0,1)),1)]),_:2},1032,["src"]),n("div",Cl,[n("div",Vl,r(o.customer_name||o.external_userid||"(未知客户)"),1),n("div",El,[n("span",null,"接待:"+r(o.admin_name||o.user_id||"—"),1),o.state?(u(),c("span",Tl,[t[40]||(t[40]=d(" 渠道:",-1)),a(p,{size:"small",type:"info",effect:"plain"},{default:l(()=>[d(r(o.state),1)]),_:2},1024)])):N("",!0),o.welcome_code?(u(),c("span",Al,"欢迎语")):N("",!0)])])])]),_:2},1032,["timestamp"]))),128))]),_:1})):(u(),x(ht,{key:2,description:"今天还没有人进入","image-size":80})),f.total>f.lists.length?(u(),c("div",Nl,[a(i,{loading:G.value,size:"small",onClick:$t},{default:l(()=>[d(" 加载更多(还剩 "+r(f.total-f.lists.length)+") ",1)]),_:1},8,["loading"])])):N("",!0)])]}),_:1},8,["modelValue"]),a(St,{modelValue:F.value,"onUpdate:modelValue":t[16]||(t[16]=s=>F.value=s),title:"标签维度统计",direction:"rtl",size:"560px","destroy-on-close":!1},{header:l(()=>[n("div",zl,[n("div",ql,[t[41]||(t[41]=n("span",{class:"text-base font-semibold"},"标签维度统计",-1)),a(p,{type:"warning",effect:"plain"},{default:l(()=>[d(r(v.groups.length)+" 组 · "+r(v.total_tags)+" 标签 ",1)]),_:1})]),a(i,{link:"",type:"primary",loading:j.value,onClick:t[13]||(t[13]=s=>st(!0))},{icon:l(()=>[a(b(rt))]),default:l(()=>[t[42]||(t[42]=d(" 刷新 ",-1))]),_:1},8,["loading"])])]),default:l(()=>[n("div",Dl,[n("div",$l,[a(g,{shadow:"never","body-class":"!p-3"},{default:l(()=>[t[43]||(t[43]=n("div",{class:"text-xs text-gray-500"},"已打标签客户",-1)),n("div",Ll,r(v.total_tagged_customers),1)]),_:1}),a(g,{shadow:"never","body-class":"!p-3"},{default:l(()=>[t[44]||(t[44]=n("div",{class:"text-xs text-gray-500"},"标签数",-1)),n("div",Ul,r(v.total_tags),1)]),_:1}),a(g,{shadow:"never","body-class":"!p-3"},{default:l(()=>[t[45]||(t[45]=n("div",{class:"text-xs text-gray-500"},"关系总数",-1)),n("div",Il,r(v.total_relations),1)]),_:1})]),a(it,{modelValue:lt.value,"onUpdate:modelValue":t[14]||(t[14]=s=>lt.value=s),placeholder:"筛选标签名 / 分组名",clearable:"",size:"small",class:"mb-3"},null,8,["modelValue"]),ut.value.length===0?(u(),x(ht,{key:0,description:j.value?"加载中…":"暂无标签数据","image-size":64},null,8,["description"])):(u(),x(Zt,{key:1,modelValue:at.value,"onUpdate:modelValue":t[15]||(t[15]=s=>at.value=s)},{default:l(()=>[(u(!0),c(E,null,T(ut.value,s=>(u(),x(Xt,{key:s.group_name||"_",name:s.group_name||"_"},{title:l(()=>[n("div",Pl,[n("span",jl,r(s.group_name||"(未分组)"),1),a(p,{size:"small",effect:"plain"},{default:l(()=>[d(r(s.tags.length),1)]),_:2},1024),n("span",Ml," 最热 "+r(s.customer_count)+" 人 ",1)])]),default:l(()=>[a(bt,{data:s.tags,size:"small",stripe:""},{default:l(()=>[a(S,{label:"标签","min-width":"160"},{default:l(({row:o})=>[n("span",Hl,r(o.tag_name),1),n("div",Bl,r(o.tag_id),1)]),_:1}),a(S,{label:"客户数",width:"100",align:"right"},{default:l(({row:o})=>[n("span",Kl,r(o.customer_count),1)]),_:1}),a(S,{label:"操作",width:"80",align:"center"},{default:l(({row:o})=>[a(i,{link:"",type:"primary",size:"small",onClick:R=>At(o.tag_id)},{default:l(()=>[...t[46]||(t[46]=[d(" 筛选 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])]),_:2},1032,["name"]))),128))]),_:1},8,["modelValue"]))])]),_:1},8,["modelValue"]),a(wt,{modelValue:tt.value,"onUpdate:modelValue":t[17]||(t[17]=s=>tt.value=s),title:"客户详情",width:"600px"},{default:l(()=>[y.value?(u(),x(te,{key:0,column:2,border:""},{default:l(()=>[a(V,{label:"客户名称"},{default:l(()=>[d(r(y.value.name),1)]),_:1}),a(V,{label:"External ID"},{default:l(()=>[d(r(y.value.external_userid),1)]),_:1}),a(V,{label:"性别"},{default:l(()=>[d(r(y.value.gender===1?"男":y.value.gender===2?"女":"未知"),1)]),_:1}),a(V,{label:"类型"},{default:l(()=>[d(r(y.value.type===1?"微信用户":"企业微信用户"),1)]),_:1}),a(V,{label:"企业名称",span:2},{default:l(()=>[d(r(y.value.corp_name||"—"),1)]),_:1}),a(V,{label:"职位",span:2},{default:l(()=>[d(r(y.value.position||"—"),1)]),_:1}),a(V,{label:"添加时间",span:2},{default:l(()=>[d(r(X(pt(y.value))),1)]),_:1}),a(V,{label:"更新时间",span:2},{default:l(()=>[d(r(X(y.value.update_time)),1)]),_:1}),a(V,{label:"跟进人",span:2},{default:l(()=>{var s;return[(s=y.value.follow_users)!=null&&s.length?(u(),c("div",Rl,[(u(!0),c(E,null,T(y.value.follow_users,(o,R)=>(u(),x(xt,{key:(o.userid||"")+"-"+R,disabled:!W(o),content:W(o),placement:"top"},{default:l(()=>[a(p,{size:"small",class:"mr-1 mb-1"},{default:l(()=>[d(r(ft(o)),1)]),_:2},1024)]),_:2},1032,["disabled","content"]))),128))])):(u(),c("span",Fl,"—"))]}),_:1}),a(V,{label:"标签",span:2},{default:l(()=>{var s;return[(s=y.value.tags)!=null&&s.length?(u(),c("div",Gl,[(u(!0),c(E,null,T(y.value.tags,o=>(u(),x(p,{key:o.tag_id,size:"small",effect:"light",type:"warning",class:"mr-1 mb-1"},{default:l(()=>[d(r(o.tag_name)+" ",1),o.group_name?(u(),c("span",Ol,r(o.group_name),1)):N("",!0)]),_:2},1024))),128))])):(u(),c("span",Yl,"—"))]}),_:1})]),_:1})):N("",!0)]),_:1},8,["modelValue"])])}}}),La=De(Jl,[["__scopeId","data-v-07da3e76"]]);export{La as default}; +import{K as le,J as ae,T as se,i as ne,D as oe,B as ie,C as re,a2 as ue,P as de,ag as me,Q as ce,M as _e,N as fe,q as pe,r as ge,L as ye,g as ve,V as xe,ac as be,ad as we,R as he,e as Se,ah as ke,ai as Ce,aa as Ve,ab as Ee}from"./element-plus-DFTWCWyi.js";import{_ as Te}from"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import{w as kt}from"./@vue/runtime-dom-DDAG46FW.js";import{a1 as Ae,a2 as Ne,L as rt,Y as ze}from"./@element-plus/icons-vue-HOEUG8sr.js";import{u as qe}from"./usePaging-VsbTxSU0.js";import{r as z,i as A,_ as De}from"./index-DBREMm_z.js";import{f as $e,b as Le,d as Ue,ak as u,I as c,a,aN as l,J as n,H as N,F as E,ap as T,O as d,G as x,aP as Ie,A as Z}from"./@vue/runtime-core-C6bnekPw.js";import{r as U,y as b,a as Pe,n as k}from"./@vue/reactivity-DiY1c2vO.js";import{Q as r,p as je,o as Me}from"./@vue/shared-mAAVTE9n.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";function He(L){return z.get({url:"/qywx.customer/lists",params:L})}function Be(){return z.post({url:"/qywx.customer/sync"})}function Ke(){return z.get({url:"/qywx.customer/stats"})}function Re(){return z.get({url:"/qywx.customer/tagStats"})}function Fe(){return z.get({url:"/qywx.customer/todayArrival"})}function Ge(L){return z.get({url:"/qywx.customer/todayArrivalList",params:L})}function Oe(){return z.get({url:"/qywx.customer/getSyncSettings"})}function Ye(L){return z.post({url:"/qywx.customer/saveSyncSettings",params:L})}const Je={class:"qywx-customer-page p-4"},Qe={class:"flex items-center justify-between"},We={class:"flex gap-2"},Xe={class:"grid grid-cols-4 gap-4 mb-4"},Ze={class:"text-2xl font-bold text-primary"},tl={class:"flex items-center justify-between mb-1"},el={key:0,class:"text-xs text-gray-400"},ll={class:"flex items-end gap-2"},al={class:"text-2xl font-bold text-success leading-none"},sl=["title"],nl={class:"mt-2 pt-2 border-t border-gray-100"},ol={class:"text-lg font-semibold text-gray-800"},il={class:"text-sm font-medium"},rl={class:"flex items-center justify-between gap-3"},ul={class:"text-xs text-gray-400"},dl={class:"flex items-center gap-2"},ml={class:"font-medium"},cl={class:"text-xs text-gray-400"},_l={key:0},fl={key:1,class:"text-gray-400"},pl={key:0},gl={key:0,class:"ml-1 text-gray-400 text-xs"},yl={key:1,class:"text-gray-400"},vl={class:"flex justify-end mt-4"},xl={class:"flex items-center justify-between w-full pr-4"},bl={class:"flex items-center gap-3"},wl={class:"px-1"},hl={key:0,class:"mb-3"},Sl={class:"flex flex-wrap gap-1"},kl={class:"flex items-start gap-2"},Cl={class:"flex-1 min-w-0"},Vl={class:"text-sm font-medium truncate"},El={class:"text-xs text-gray-500 mt-0.5"},Tl={key:0,class:"ml-2"},Al={key:1,class:"ml-2 text-emerald-500"},Nl={key:3,class:"mt-3 text-center"},zl={class:"flex items-center justify-between w-full pr-4"},ql={class:"flex items-center gap-3"},Dl={class:"px-1"},$l={class:"grid grid-cols-3 gap-2 mb-3"},Ll={class:"text-xl font-bold text-warning"},Ul={class:"text-xl font-bold"},Il={class:"text-xl font-bold"},Pl={class:"flex items-center gap-2 w-full"},jl={class:"font-medium"},Ml={class:"ml-auto text-xs text-gray-500"},Hl={class:"font-medium"},Bl={class:"text-xs text-gray-400 truncate"},Kl={class:"text-warning font-bold"},Rl={key:0},Fl={key:1,class:"text-gray-400"},Gl={key:0},Ol={key:0,class:"ml-1 text-gray-400 text-xs"},Yl={key:1,class:"text-gray-400"},Jl=$e({__name:"qywx",setup(L){const I=k(!1),P=k(!1),tt=k(!1),y=k(null),C=U({total:0,today:0,today_follow_staff:0,lastSync:"",syncStatus:"idle",syncStatusText:"未同步"}),Ct=Z(()=>{switch(C.syncStatus){case"success":return"success";case"syncing":return"warning";case"failed":return"danger";default:return"info"}}),w=U({auto_sync:!1,interval:3600}),_=U({name:"",follow_user:"",tag_ids:[],add_time_start:"",add_time_end:""}),et=k(null);function Vt(e){e&&e.length===2&&e[0]&&e[1]?(_.add_time_start=e[0],_.add_time_end=e[1]):(_.add_time_start="",_.add_time_end=""),q()}const v=U({total_tags:0,total_relations:0,total_tagged_customers:0,groups:[]}),j=k(!1),F=k(!1),lt=k(""),at=k([]),ut=Z(()=>{const e=lt.value.trim().toLowerCase();if(!e)return v.groups;const t=[];for(const i of v.groups){const m=(i.group_name||"").toLowerCase().includes(e),g=i.tags.filter(p=>m||(p.tag_name||"").toLowerCase().includes(e));g.length&&t.push({...i,tags:g})}return t});async function st(e=!1){j.value=!0;try{const t=await Re();t&&typeof t=="object"&&(v.total_tags=Number(t.total_tags??0),v.total_relations=Number(t.total_relations??0),v.total_tagged_customers=Number(t.total_tagged_customers??0),v.groups=Array.isArray(t.groups)?t.groups:[]),e&&A.msgSuccess("已刷新")}catch(t){e&&A.msgError((t==null?void 0:t.message)||"加载标签统计失败"),console.error("加载标签统计失败",t)}finally{j.value=!1}}function Et(){var e;F.value=!0,at.value=(e=v.groups[0])!=null&&e.group_name?[v.groups[0].group_name]:[],v.groups.length===0&&st()}function Tt(e){e&&(_.tag_ids.includes(e)||(_.tag_ids.push(e),q()))}function At(e){e&&(_.tag_ids=[e],F.value=!1,q())}const h=U({total:0,recent_time:0,hourly:new Array(24).fill(0),by_state:[]}),M=k(!1),G=k(!1),f=U({total:0,page_no:1,page_size:20,lists:[]}),Nt=new Date().getHours(),zt=Z(()=>Math.max(1,...h.hourly));function qt(e){if(e<=0)return"2px";const t=e/zt.value;return Math.max(4,Math.round(t*32))+"px"}const Dt=Z(()=>{const e=[];return h.hourly.forEach((t,i)=>{t>0&&e.push(`${String(i).padStart(2,"0")}:00 · ${t}`)}),e.length?e.join(" "):"今天还没有人进入"});async function O(e=!1){try{const t=await Fe();t&&(h.total=Number(t.total??0),h.recent_time=Number(t.recent_time??0),h.hourly=Array.isArray(t.hourly)&&t.hourly.length===24?t.hourly.map(i=>Number(i)||0):new Array(24).fill(0),h.by_state=Array.isArray(t.by_state)?t.by_state:[])}catch(t){console.error("加载今日进入分布失败",t)}e&&M.value&&(f.page_no=1,f.lists=[],await nt())}async function nt(){G.value=!0;try{const e=await Ge({page_no:f.page_no,page_size:f.page_size});if(e){f.total=Number(e.total??0);const t=Array.isArray(e.lists)?e.lists:[];f.page_no===1?f.lists=t:f.lists.push(...t)}}catch(e){console.error("加载今日进入明细失败",e)}finally{G.value=!1}}async function dt(){M.value=!0,f.page_no=1,f.lists=[],await Promise.all([O(!1),nt()])}async function $t(){f.lists.length>=f.total||(f.page_no+=1,await nt())}function Lt(e){if(!e||e<=0)return"";const t=new Date(e<1e12?e*1e3:e);return`${String(t.getHours()).padStart(2,"0")}:${String(t.getMinutes()).padStart(2,"0")}`}function Ut(e){if(!e||e<=0)return"—";const t=new Date(e<1e12?e*1e3:e);return`${String(t.getHours()).padStart(2,"0")}:${String(t.getMinutes()).padStart(2,"0")}:${String(t.getSeconds()).padStart(2,"0")}`}let H=null,Y=null;function ot(){Y!==null&&(clearInterval(Y),Y=null)}async function It(e){return He(e)}const{pager:B,getLists:J,resetPage:q,resetParams:Pt}=qe({fetchFun:It,params:_});function jt(){_.name="",_.follow_user="",_.tag_ids=[],_.add_time_start="",_.add_time_end="",et.value=null,Pt()}function Mt(){ot();let e=0;Y=window.setInterval(async()=>{e+=1,await Q(),await J(),(C.syncStatus!=="syncing"||e>=120)&&(ot(),I.value=!1,e>=120&&C.syncStatus==="syncing"?A.msgWarning("长时间仍为「同步中」,请刷新页面或查看服务器 runtime/log/qywx_sync.log(可能未安装 CLI php 或禁用了 exec)"):C.syncStatus==="failed"&&A.msgError("同步失败,请查看服务器 runtime/log/qywx_sync.log 或后台同步状态"))},3e3)}async function mt(e){const t=(e==null?void 0:e.silent)===!0;I.value=!0;try{const i=await Be();t||A.msgSuccess((i==null?void 0:i.message)||"操作成功"),await Q(),await J(),i!=null&&i.background?Mt():I.value=!1}catch(i){const m=(i==null?void 0:i.message)||(i==null?void 0:i.msg)||"同步失败";(!t||!String(m).includes("正在执行"))&&A.msgError(m),I.value=!1}}async function Q(){try{const e=await Ke();e&&typeof e=="object"&&Object.assign(C,e)}catch(e){console.error("加载统计失败",e)}}async function Ht(){try{const e=await Oe();e&&typeof e=="object"&&Object.assign(w,e),w.auto_sync&&ct()}catch(e){console.error("加载同步设置失败",e)}}async function Bt(){try{await Ye(w),A.msgSuccess("保存成功"),P.value=!1,_t(),w.auto_sync&&ct()}catch(e){A.msgError((e==null?void 0:e.message)||"保存失败")}}function ct(){H||(H=window.setInterval(()=>{mt({silent:!0})},w.interval*1e3))}function _t(){H&&(clearInterval(H),H=null)}function Kt(e){y.value=e,tt.value=!0}function ft(e){const t=String((e==null?void 0:e.admin_name)??"").trim(),i=String((e==null?void 0:e.userid)??"").trim(),m=String((e==null?void 0:e.name)??"").trim();return t||(m&&i?`${m}(${i})`:m||i||"—")}function W(e){const t=String((e==null?void 0:e.admin_name)??"").trim(),i=String((e==null?void 0:e.userid)??"").trim(),m=[];return t&&m.push("后台:"+t),i&&m.push("企微:"+i),m.join("|")}function pt(e){if(!e)return null;const t=Number(e.external_first_add_time??0);if(t>0)return t;const i=e.follow_users;if(Array.isArray(i)&&i.length>0){let m=0;for(const g of i){const p=Number((g==null?void 0:g.createtime)??0);p>0&&(m===0||p0)return m}return e.create_time??null}function X(e){if(e===""||e===null||e===void 0)return"—";const t=Number(e),i=typeof e=="string"&&/^\d+$/.test(e.trim());let m;return typeof e=="number"?m=e<1e12?e*1e3:e:!Number.isNaN(t)&&i?m=t<1e12?t*1e3:t:m=new Date(e).getTime(),Number.isNaN(m)?"—":new Date(m).toLocaleString("zh-CN")}let K=null;function Rt(){K===null&&(K=window.setInterval(()=>{Q(),O(M.value)},3e4))}function Ft(){K!==null&&(clearInterval(K),K=null)}return Le(()=>{J(),Q(),Ht(),O(!1),st(),Rt()}),Ue(()=>{_t(),ot(),Ft()}),(e,t)=>{const i=ne,m=le,g=ae,p=se,it=re,D=ie,Gt=ue,$=ce,Ot=me,gt=de,yt=oe,vt=pe,S=fe,xt=ge,bt=_e,Yt=Te,Jt=ve,wt=xe,Qt=we,Wt=be,ht=he,St=Se,Xt=Ce,Zt=ke,V=Ee,te=Ve,ee=ye;return u(),c("div",Je,[a(g,{shadow:"never",class:"mb-4"},{header:l(()=>[n("div",Qe,[t[22]||(t[22]=n("span",{class:"text-lg font-semibold"},"企业微信客户管理",-1)),n("div",We,[a(i,{type:"success",plain:"",onClick:dt},{icon:l(()=>[a(b(Ae))]),default:l(()=>[t[18]||(t[18]=d(" 今日进入明细 ",-1))]),_:1}),a(i,{type:"warning",plain:"",onClick:Et},{icon:l(()=>[a(b(Ne))]),default:l(()=>[t[19]||(t[19]=d(" 标签维度 ",-1))]),_:1}),a(i,{type:"primary",loading:I.value,onClick:t[0]||(t[0]=s=>mt())},{icon:l(()=>[a(b(rt))]),default:l(()=>[t[20]||(t[20]=d(" 立即同步 ",-1))]),_:1},8,["loading"]),a(i,{onClick:t[1]||(t[1]=s=>P.value=!0)},{icon:l(()=>[a(b(ze))]),default:l(()=>[t[21]||(t[21]=d(" 同步设置 ",-1))]),_:1})])])]),default:l(()=>[a(m,{title:"功能说明",type:"info",closable:!1,class:"mb-4"},{default:l(()=>[...t[23]||(t[23]=[n("div",{class:"text-sm"},[n("p",null,"自动从企业微信同步外部联系人(客户)信息,包括客户基本信息、跟进人等。"),n("p",{class:"mt-1"},"同步后的数据可用于患者信息匹配和自动关联。")],-1)])]),_:1}),n("div",Xe,[a(g,{shadow:"hover"},{default:l(()=>[t[24]||(t[24]=n("div",{class:"text-gray-500 text-sm mb-1"},"总客户数",-1)),n("div",Ze,r(C.total),1)]),_:1}),a(g,{shadow:"hover",class:"today-arrival-card cursor-pointer",onClick:dt},{default:l(()=>[n("div",tl,[t[25]||(t[25]=n("span",{class:"text-gray-500 text-sm"},"今日新增",-1)),h.recent_time?(u(),c("span",el," 最近 "+r(Lt(h.recent_time)),1)):N("",!0)]),n("div",ll,[n("div",al,r(C.today),1),t[26]||(t[26]=n("div",{class:"text-xs text-gray-400 pb-1"},"人",-1))]),n("div",{class:"hourly-bars mt-2",title:Dt.value},[(u(!0),c(E,null,T(h.hourly,(s,o)=>(u(),c("div",{key:o,class:Me(["hourly-bar",{"is-empty":s===0,"is-current":o===b(Nt)}]),style:je({height:qt(s)})},null,6))),128))],8,sl),n("div",nl,[t[27]||(t[27]=n("div",{class:"text-gray-500 text-xs mb-0.5"},"今日跟进人合计",-1)),n("div",ol,r(C.today_follow_staff),1)])]),_:1}),a(g,{shadow:"hover"},{default:l(()=>[t[28]||(t[28]=n("div",{class:"text-gray-500 text-sm mb-1"},"最后同步",-1)),n("div",il,r(C.lastSync||"未同步"),1)]),_:1}),a(g,{shadow:"hover"},{default:l(()=>[t[29]||(t[29]=n("div",{class:"text-gray-500 text-sm mb-1"},"同步状态",-1)),a(p,{type:Ct.value,size:"small"},{default:l(()=>[d(r(C.syncStatusText),1)]),_:1},8,["type"])]),_:1})])]),_:1}),a(g,{shadow:"never"},{default:l(()=>[a(yt,{model:_,inline:"",class:"mb-4"},{default:l(()=>[a(D,{label:"客户名称"},{default:l(()=>[a(it,{modelValue:_.name,"onUpdate:modelValue":t[2]||(t[2]=s=>_.name=s),placeholder:"搜索客户名称",clearable:"",onKeyup:kt(b(q),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),a(D,{label:"跟进人"},{default:l(()=>[a(it,{modelValue:_.follow_user,"onUpdate:modelValue":t[3]||(t[3]=s=>_.follow_user=s),placeholder:"跟进人姓名",clearable:"",onKeyup:kt(b(q),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),a(D,{label:"添加时间"},{default:l(()=>[a(Gt,{modelValue:et.value,"onUpdate:modelValue":t[4]||(t[4]=s=>et.value=s),type:"daterange","value-format":"YYYY-MM-DD","start-placeholder":"开始日期","end-placeholder":"结束日期",clearable:"",class:"!w-[280px]",onChange:Vt},null,8,["modelValue"])]),_:1}),a(D,{label:"标签"},{default:l(()=>[a(gt,{modelValue:_.tag_ids,"onUpdate:modelValue":t[5]||(t[5]=s=>_.tag_ids=s),multiple:"","collapse-tags":"","collapse-tags-tooltip":"",clearable:"",filterable:"",placeholder:"按标签筛选(可多选,命中任一即返回)",loading:j.value,style:{"min-width":"320px"},onChange:b(q)},{default:l(()=>[(u(!0),c(E,null,T(v.groups,s=>(u(),x(Ot,{key:s.group_name||"_",label:(s.group_name||"(未分组)")+" · "+s.customer_count},{default:l(()=>[(u(!0),c(E,null,T(s.tags,o=>(u(),x($,{key:o.tag_id,value:o.tag_id,label:o.tag_name},{default:l(()=>[n("span",rl,[n("span",null,r(o.tag_name),1),n("span",ul,r(o.customer_count)+" 人",1)])]),_:2},1032,["value","label"]))),128))]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue","loading","onChange"])]),_:1}),a(D,null,{default:l(()=>[a(i,{type:"primary",onClick:b(q)},{default:l(()=>[...t[30]||(t[30]=[d("查询",-1)])]),_:1},8,["onClick"]),a(i,{onClick:jt},{default:l(()=>[...t[31]||(t[31]=[d("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"]),Ie((u(),x(bt,{data:b(B).lists,stripe:""},{default:l(()=>[a(S,{label:"客户信息","min-width":"200"},{default:l(({row:s})=>[n("div",dl,[a(vt,{size:40,src:s.avatar},null,8,["src"]),n("div",null,[n("div",ml,r(s.name),1),n("div",cl,r(s.external_userid),1)])])]),_:1}),a(S,{label:"类型",width:"80"},{default:l(({row:s})=>[a(p,{size:"small"},{default:l(()=>[d(r(s.type===1?"微信":"企微"),1)]),_:2},1024)]),_:1}),a(S,{label:"性别",width:"60"},{default:l(({row:s})=>[d(r(s.gender===1?"男":s.gender===2?"女":"未知"),1)]),_:1}),a(S,{label:"跟进人","min-width":"150"},{default:l(({row:s})=>[s.follow_users&&s.follow_users.length?(u(),c("div",_l,[(u(!0),c(E,null,T(s.follow_users,(o,R)=>(u(),x(xt,{key:(o.userid||"")+"-"+R,disabled:!W(o),content:W(o),placement:"top"},{default:l(()=>[a(p,{size:"small",class:"mr-1 mb-1"},{default:l(()=>[d(r(ft(o)),1)]),_:2},1024)]),_:2},1032,["disabled","content"]))),128))])):(u(),c("span",fl,"—"))]),_:1}),a(S,{label:"标签","min-width":"180"},{default:l(({row:s})=>[s.tags&&s.tags.length?(u(),c("div",pl,[(u(!0),c(E,null,T(s.tags,o=>(u(),x(p,{key:o.tag_id,size:"small",effect:"light",type:"warning",class:"mr-1 mb-1 cursor-pointer",onClick:R=>Tt(o.tag_id)},{default:l(()=>[d(r(o.tag_name)+" ",1),o.group_name?(u(),c("span",gl,r(o.group_name),1)):N("",!0)]),_:2},1032,["onClick"]))),128))])):(u(),c("span",yl,"—"))]),_:1}),a(S,{label:"添加时间",width:"160"},{default:l(({row:s})=>[d(r(X(pt(s))),1)]),_:1}),a(S,{label:"更新时间",width:"160"},{default:l(({row:s})=>[d(r(X(s.update_time)),1)]),_:1}),a(S,{label:"操作",width:"120",fixed:"right"},{default:l(({row:s})=>[a(i,{type:"primary",link:"",onClick:o=>Kt(s)},{default:l(()=>[...t[32]||(t[32]=[d("查看详情",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[ee,b(B).loading]]),n("div",vl,[a(Yt,{modelValue:b(B),"onUpdate:modelValue":t[6]||(t[6]=s=>Pe(B)?B.value=s:null),onChange:b(J)},null,8,["modelValue","onChange"])])]),_:1}),a(wt,{modelValue:P.value,"onUpdate:modelValue":t[10]||(t[10]=s=>P.value=s),title:"同步设置",width:"500px"},{footer:l(()=>[a(i,{onClick:t[9]||(t[9]=s=>P.value=!1)},{default:l(()=>[...t[34]||(t[34]=[d("取消",-1)])]),_:1}),a(i,{type:"primary",onClick:Bt},{default:l(()=>[...t[35]||(t[35]=[d("保存",-1)])]),_:1})]),default:l(()=>[a(yt,{model:w,"label-width":"120px"},{default:l(()=>[a(D,{label:"自动同步"},{default:l(()=>[a(Jt,{modelValue:w.auto_sync,"onUpdate:modelValue":t[7]||(t[7]=s=>w.auto_sync=s)},null,8,["modelValue"]),t[33]||(t[33]=n("div",{class:"text-xs text-gray-400 mt-1"}," 开启后将定时自动同步企业微信客户数据 ",-1))]),_:1}),a(D,{label:"同步间隔"},{default:l(()=>[a(gt,{modelValue:w.interval,"onUpdate:modelValue":t[8]||(t[8]=s=>w.interval=s),disabled:!w.auto_sync},{default:l(()=>[a($,{label:"每小时",value:3600}),a($,{label:"每2小时",value:7200}),a($,{label:"每4小时",value:14400}),a($,{label:"每6小时",value:21600}),a($,{label:"每12小时",value:43200}),a($,{label:"每天",value:86400})]),_:1},8,["modelValue","disabled"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),a(St,{modelValue:M.value,"onUpdate:modelValue":t[12]||(t[12]=s=>M.value=s),title:"今日进入明细",direction:"rtl",size:"520px","destroy-on-close":!1},{header:l(()=>[n("div",xl,[n("div",bl,[t[36]||(t[36]=n("span",{class:"text-base font-semibold"},"今日进入明细",-1)),a(p,{type:"success",effect:"plain"},{default:l(()=>[d("共 "+r(f.total)+" 人",1)]),_:1})]),a(i,{link:"",type:"primary",loading:G.value,onClick:t[11]||(t[11]=s=>O(!0))},{icon:l(()=>[a(b(rt))]),default:l(()=>[t[37]||(t[37]=d(" 刷新 ",-1))]),_:1},8,["loading"])])]),default:l(()=>{var s;return[n("div",wl,[a(m,{type:"info",closable:!1,class:"mb-3","show-icon":""},{title:l(()=>[...t[38]||(t[38]=[n("span",{class:"text-xs"}," 一次推送 = 一个人进来;数据来源为企微回调流水表(INSERT IGNORE 幂等),与客户同步解耦,数字零误差。 ",-1)])]),_:1}),(s=h.by_state)!=null&&s.length?(u(),c("div",hl,[t[39]||(t[39]=n("div",{class:"text-xs text-gray-500 mb-1"},"今日推广渠道 Top",-1)),n("div",Sl,[(u(!0),c(E,null,T(h.by_state,o=>(u(),x(p,{key:o.state||"_",size:"small",effect:"light",type:"success"},{default:l(()=>[d(r(o.state||"(无 state)")+" · "+r(o.count),1)]),_:2},1024))),128))])])):N("",!0),f.lists.length?(u(),x(Wt,{key:1,class:"mt-2"},{default:l(()=>[(u(!0),c(E,null,T(f.lists,o=>(u(),x(Qt,{key:o.id,timestamp:Ut(o.event_time),placement:"top",type:"success",hollow:!1},{default:l(()=>[n("div",kl,[a(vt,{size:32,src:o.customer_avatar||void 0},{default:l(()=>[d(r((o.customer_name||"?").slice(0,1)),1)]),_:2},1032,["src"]),n("div",Cl,[n("div",Vl,r(o.customer_name||o.external_userid||"(未知客户)"),1),n("div",El,[n("span",null,"接待:"+r(o.admin_name||o.user_id||"—"),1),o.state?(u(),c("span",Tl,[t[40]||(t[40]=d(" 渠道:",-1)),a(p,{size:"small",type:"info",effect:"plain"},{default:l(()=>[d(r(o.state),1)]),_:2},1024)])):N("",!0),o.welcome_code?(u(),c("span",Al,"欢迎语")):N("",!0)])])])]),_:2},1032,["timestamp"]))),128))]),_:1})):(u(),x(ht,{key:2,description:"今天还没有人进入","image-size":80})),f.total>f.lists.length?(u(),c("div",Nl,[a(i,{loading:G.value,size:"small",onClick:$t},{default:l(()=>[d(" 加载更多(还剩 "+r(f.total-f.lists.length)+") ",1)]),_:1},8,["loading"])])):N("",!0)])]}),_:1},8,["modelValue"]),a(St,{modelValue:F.value,"onUpdate:modelValue":t[16]||(t[16]=s=>F.value=s),title:"标签维度统计",direction:"rtl",size:"560px","destroy-on-close":!1},{header:l(()=>[n("div",zl,[n("div",ql,[t[41]||(t[41]=n("span",{class:"text-base font-semibold"},"标签维度统计",-1)),a(p,{type:"warning",effect:"plain"},{default:l(()=>[d(r(v.groups.length)+" 组 · "+r(v.total_tags)+" 标签 ",1)]),_:1})]),a(i,{link:"",type:"primary",loading:j.value,onClick:t[13]||(t[13]=s=>st(!0))},{icon:l(()=>[a(b(rt))]),default:l(()=>[t[42]||(t[42]=d(" 刷新 ",-1))]),_:1},8,["loading"])])]),default:l(()=>[n("div",Dl,[n("div",$l,[a(g,{shadow:"never","body-class":"!p-3"},{default:l(()=>[t[43]||(t[43]=n("div",{class:"text-xs text-gray-500"},"已打标签客户",-1)),n("div",Ll,r(v.total_tagged_customers),1)]),_:1}),a(g,{shadow:"never","body-class":"!p-3"},{default:l(()=>[t[44]||(t[44]=n("div",{class:"text-xs text-gray-500"},"标签数",-1)),n("div",Ul,r(v.total_tags),1)]),_:1}),a(g,{shadow:"never","body-class":"!p-3"},{default:l(()=>[t[45]||(t[45]=n("div",{class:"text-xs text-gray-500"},"关系总数",-1)),n("div",Il,r(v.total_relations),1)]),_:1})]),a(it,{modelValue:lt.value,"onUpdate:modelValue":t[14]||(t[14]=s=>lt.value=s),placeholder:"筛选标签名 / 分组名",clearable:"",size:"small",class:"mb-3"},null,8,["modelValue"]),ut.value.length===0?(u(),x(ht,{key:0,description:j.value?"加载中…":"暂无标签数据","image-size":64},null,8,["description"])):(u(),x(Zt,{key:1,modelValue:at.value,"onUpdate:modelValue":t[15]||(t[15]=s=>at.value=s)},{default:l(()=>[(u(!0),c(E,null,T(ut.value,s=>(u(),x(Xt,{key:s.group_name||"_",name:s.group_name||"_"},{title:l(()=>[n("div",Pl,[n("span",jl,r(s.group_name||"(未分组)"),1),a(p,{size:"small",effect:"plain"},{default:l(()=>[d(r(s.tags.length),1)]),_:2},1024),n("span",Ml," 最热 "+r(s.customer_count)+" 人 ",1)])]),default:l(()=>[a(bt,{data:s.tags,size:"small",stripe:""},{default:l(()=>[a(S,{label:"标签","min-width":"160"},{default:l(({row:o})=>[n("span",Hl,r(o.tag_name),1),n("div",Bl,r(o.tag_id),1)]),_:1}),a(S,{label:"客户数",width:"100",align:"right"},{default:l(({row:o})=>[n("span",Kl,r(o.customer_count),1)]),_:1}),a(S,{label:"操作",width:"80",align:"center"},{default:l(({row:o})=>[a(i,{link:"",type:"primary",size:"small",onClick:R=>At(o.tag_id)},{default:l(()=>[...t[46]||(t[46]=[d(" 筛选 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])]),_:2},1032,["name"]))),128))]),_:1},8,["modelValue"]))])]),_:1},8,["modelValue"]),a(wt,{modelValue:tt.value,"onUpdate:modelValue":t[17]||(t[17]=s=>tt.value=s),title:"客户详情",width:"600px"},{default:l(()=>[y.value?(u(),x(te,{key:0,column:2,border:""},{default:l(()=>[a(V,{label:"客户名称"},{default:l(()=>[d(r(y.value.name),1)]),_:1}),a(V,{label:"External ID"},{default:l(()=>[d(r(y.value.external_userid),1)]),_:1}),a(V,{label:"性别"},{default:l(()=>[d(r(y.value.gender===1?"男":y.value.gender===2?"女":"未知"),1)]),_:1}),a(V,{label:"类型"},{default:l(()=>[d(r(y.value.type===1?"微信用户":"企业微信用户"),1)]),_:1}),a(V,{label:"企业名称",span:2},{default:l(()=>[d(r(y.value.corp_name||"—"),1)]),_:1}),a(V,{label:"职位",span:2},{default:l(()=>[d(r(y.value.position||"—"),1)]),_:1}),a(V,{label:"添加时间",span:2},{default:l(()=>[d(r(X(pt(y.value))),1)]),_:1}),a(V,{label:"更新时间",span:2},{default:l(()=>[d(r(X(y.value.update_time)),1)]),_:1}),a(V,{label:"跟进人",span:2},{default:l(()=>{var s;return[(s=y.value.follow_users)!=null&&s.length?(u(),c("div",Rl,[(u(!0),c(E,null,T(y.value.follow_users,(o,R)=>(u(),x(xt,{key:(o.userid||"")+"-"+R,disabled:!W(o),content:W(o),placement:"top"},{default:l(()=>[a(p,{size:"small",class:"mr-1 mb-1"},{default:l(()=>[d(r(ft(o)),1)]),_:2},1024)]),_:2},1032,["disabled","content"]))),128))])):(u(),c("span",Fl,"—"))]}),_:1}),a(V,{label:"标签",span:2},{default:l(()=>{var s;return[(s=y.value.tags)!=null&&s.length?(u(),c("div",Gl,[(u(!0),c(E,null,T(y.value.tags,o=>(u(),x(p,{key:o.tag_id,size:"small",effect:"light",type:"warning",class:"mr-1 mb-1"},{default:l(()=>[d(r(o.tag_name)+" ",1),o.group_name?(u(),c("span",Ol,r(o.group_name),1)):N("",!0)]),_:2},1024))),128))])):(u(),c("span",Yl,"—"))]}),_:1})]),_:1})):N("",!0)]),_:1},8,["modelValue"])])}}}),La=De(Jl,[["__scopeId","data-v-07da3e76"]]);export{La as default}; diff --git a/server/public/admin/assets/readonly-D4rhgc7P.js b/server/public/admin/assets/readonly-okM0Gs_x.js similarity index 83% rename from server/public/admin/assets/readonly-D4rhgc7P.js rename to server/public/admin/assets/readonly-okM0Gs_x.js index 926dce69..61f92581 100644 --- a/server/public/admin/assets/readonly-D4rhgc7P.js +++ b/server/public/admin/assets/readonly-okM0Gs_x.js @@ -1 +1 @@ -import{L as H,d as J,i as Q,r as S,R as $}from"./element-plus-0wC3naml.js";import{u as j,a as K}from"./vue-router-QlpZ4wdW.js";import{o as U}from"./@element-plus/icons-vue-HOEUG8sr.js";import{ao as W}from"./tcm-SLIwsL8z.js";import{g as X}from"./patient-DKQ1nUyC.js";import{f as Y}from"./diag-display-DCz_VAqj.js";import{h as p}from"./perm-YIJpPBOg.js";import Z from"./PatientInfoCard-BuXf4C8w.js";import tt from"./PatientCaseCard-Dkbl8NTI.js";import et from"./DailyMatrix-0DiBlpfB.js";import ot from"./CallRecordPanel-CLexkvxf.js";import it from"./ImChatRecordPanel-DiuuXcLT.js";import at from"./AssignLogPanel-B0ohl4pV.js";import st from"./AppointmentRecordPanel-BZnhzLjC.js";import rt from"./PatientOrderList-DQ7QxnQw.js";import nt from"./NoteTimeline-CDNv1DMC.js";import{f as dt,b as lt,aP as ct,ak as o,I as n,J as i,a as _,aN as b,O as B,F as A,H as l,G as a,A as m}from"./@vue/runtime-core-C6bnekPw.js";import{y as u,n as f}from"./@vue/reactivity-DiY1c2vO.js";import{Q as k,o as mt}from"./@vue/shared-mAAVTE9n.js";import{_ as ut}from"./index-E47--KT7.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./blood-thresholds-CJ1fqMjh.js";import"./diabetes-discovery-display-B_wmGXQJ.js";import"./picker-DlbAZkDm.js";import"./index-nymJKQXP.js";import"./index-B56X8bEB.js";import"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import"./index-BHTgr4Ka.js";import"./index-Ci4dcEQh.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-DoYUJmkp.js";import"./index.vue_vue_type_script_setup_true_lang-Bl0f8aX8.js";import"./usePaging-VsbTxSU0.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./vue-echarts-BNtg2q_G.js";import"./resize-detector-G6vbKCU7.js";import"./DiagnosisTodoList-DC7uqd6f.js";import"./RecordingPlaybackBlock-z0PPBYke.js";import"./RecordingVideoPlayer-DWV7klHs.js";import"./im-business-message-parse-QKjFLn3X.js";import"./doctor-6V0qM7Ks.js";const pt={class:"readonly-page"},vt={class:"readonly-hero"},_t={class:"hero-left"},gt={key:0,class:"hero-right"},yt={class:"patient-name"},ft={class:"patient-meta"},kt={key:1,class:"unserved-badge unserved-muted"},bt={key:0,class:"card tracking-card"},ht={class:"card-body"},Nt={class:"card note-card"},xt={class:"card-body card-body--matrix-align"},Ct={key:1,class:"card section-card"},Dt={class:"card-body card-body--matrix-align"},Pt={key:2,class:"card section-card"},Rt={class:"card-body card-body--matrix-align"},wt={key:3,class:"card section-card"},It={class:"card-body card-body--matrix-align"},Bt={key:4,class:"card section-card"},At={class:"card-body card-body--matrix-align"},Et={key:5,class:"card section-card"},Lt={class:"card-body card-body--matrix-align"},Vt=dt({__name:"readonly",setup(Ft){const E=j(),h=K(),N=m(()=>Number(E.query.id||0)),g=f(!1),y=f(""),d=f(null),v=f([]),x=m(()=>{var e;return((e=d.value)==null?void 0:e.appointment)||{}}),r=m(()=>{var e;return((e=d.value)==null?void 0:e.diagnosis)||{}}),L=m(()=>p(["tcm.diagnosis/dailyRecord"])),s=m(()=>{var e;return Number(((e=r.value)==null?void 0:e.id)??N.value??0)}),C=m(()=>{var e;return Number(((e=r.value)==null?void 0:e.patient_id)??0)}),D=m(()=>{var t;const e=(t=d.value)==null?void 0:t.unserved_days;return e==null?null:Number(e)}),P=m(()=>{var e;return((e=d.value)==null?void 0:e.last_blood_record_at)||""}),V=e=>{if(e==null)return"unserved-muted";const t=Number(e);return Number.isFinite(t)?t>=7?"unserved-red":t>=3?"unserved-orange":"unserved-green":"unserved-muted"},F=async()=>{const e=s.value;if(e)try{const t=await X({diagnosis_id:e})||[];v.value=t}catch{}},M=async()=>{const e=N.value;if(!e||e<=0){y.value="诊单 id 缺失",d.value=null,v.value=[];return}g.value=!0,y.value="";try{const t=await W({id:e});d.value=t||null,v.value=Array.isArray(t==null?void 0:t.doctor_notes)?t.doctor_notes:[],await F()}catch(t){y.value=(t==null?void 0:t.message)||"",d.value=null,v.value=[]}finally{g.value=!1}},O=()=>{window.history.length>1?h.back():h.push({path:"/tcm/diagnosis"})};return lt(M),(e,t)=>{var R,w,I;const T=J,z=Q,G=S,c=$,q=H;return ct((o(),n("div",pt,[i("div",vt,[i("div",_t,[_(z,{link:"",size:"default",onClick:O,class:"back-btn"},{default:b(()=>[_(T,null,{default:b(()=>[_(u(U))]),_:1}),t[0]||(t[0]=i("span",null,"返回",-1))]),_:1}),t[1]||(t[1]=i("span",{class:"title"},"患者信息详情",-1))]),(R=r.value)!=null&&R.patient_name?(o(),n("div",gt,[i("span",yt,k(r.value.patient_name),1),i("span",ft,[B(k(u(Y)(r.value.gender))+" ",1),r.value.age!=null?(o(),n(A,{key:0},[B(" · "+k(r.value.age)+"岁",1)],64)):l("",!0)]),P.value?(o(),a(G,{key:0,content:`最近一次血糖打卡:${P.value}`,placement:"bottom"},{default:b(()=>[i("span",{class:mt(["unserved-badge",V(D.value)])}," 未服务 "+k(D.value??"—")+" 天 ",3)]),_:1},8,["content"])):(o(),n("span",kt,"从未打卡血糖"))])):l("",!0)]),!g.value&&!d.value?(o(),a(c,{key:0,description:y.value||"诊单不存在或无权访问",class:"empty-state"},null,8,["description"])):d.value?(o(),n(A,{key:1},[_(Z,{apt:x.value,diag:r.value},null,8,["apt","diag"]),_(tt,{apt:x.value,diag:r.value},null,8,["apt","diag"]),L.value?(o(),n("div",bt,[t[2]||(t[2]=i("div",{class:"card-title"},"日常记录",-1)),i("div",ht,[_(et,{"diagnosis-id":s.value,"patient-id":C.value,age:((w=r.value)==null?void 0:w.age)??null,"patient-name":((I=r.value)==null?void 0:I.patient_name)||"","read-only":!0},null,8,["diagnosis-id","patient-id","age","patient-name"])])])):l("",!0),i("div",Nt,[t[3]||(t[3]=i("div",{class:"card-title"},"医生备注 & 舌苔照片 & 检查报告",-1)),i("div",xt,[s.value<=0?(o(),a(c,{key:0,description:"诊单数据不完整"})):v.value.length?(o(),a(nt,{key:2,notes:v.value,"diagnosis-id":s.value,readonly:!0},null,8,["notes","diagnosis-id"])):(o(),a(c,{key:1,description:"暂无医生备注"}))])]),u(p)(["tcm.diagnosis/patientOrders"])?(o(),n("div",Ct,[t[4]||(t[4]=i("div",{class:"card-title"},"业务订单",-1)),i("div",Dt,[s.value>0?(o(),a(rt,{key:0,"diagnosis-id":s.value,"patient-id":C.value||0},null,8,["diagnosis-id","patient-id"])):(o(),a(c,{key:1,description:"诊单数据不完整"}))])])):l("",!0),u(p)(["tcm.diagnosis/huifang"])?(o(),n("div",Pt,[t[5]||(t[5]=i("div",{class:"card-title"},"视频录制回放记录",-1)),i("div",Rt,[s.value>0?(o(),a(ot,{key:0,"diagnosis-id":s.value,"read-only":!0},null,8,["diagnosis-id"])):(o(),a(c,{key:1,description:"诊单数据不完整"}))])])):l("",!0),u(p)(["tcm.diagnosis/chat"])?(o(),n("div",wt,[t[6]||(t[6]=i("div",{class:"card-title"},"聊天记录",-1)),i("div",It,[s.value>0?(o(),a(it,{key:0,"diagnosis-id":s.value},null,8,["diagnosis-id"])):(o(),a(c,{key:1,description:"诊单数据不完整"}))])])):l("",!0),u(p)(["tcm.diagnosis/assign"])||u(p)(["tcm.diagnosis/detail"])?(o(),n("div",Bt,[t[7]||(t[7]=i("div",{class:"card-title"},"指派医助记录",-1)),i("div",At,[s.value>0?(o(),a(at,{key:0,"diagnosis-id":s.value},null,8,["diagnosis-id"])):(o(),a(c,{key:1,description:"诊单数据不完整"}))])])):l("",!0),u(p)(["doctor.appointment/lists"])?(o(),n("div",Et,[t[8]||(t[8]=i("div",{class:"card-title"},"挂号记录",-1)),i("div",Lt,[s.value>0?(o(),a(st,{key:0,"diagnosis-id":s.value},null,8,["diagnosis-id"])):(o(),a(c,{key:1,description:"诊单数据不完整"}))])])):l("",!0)],64)):l("",!0)])),[[q,g.value]])}}}),oo=ut(Vt,[["__scopeId","data-v-cb8994c4"]]);export{oo as default}; +import{L as H,d as J,i as Q,r as S,R as $}from"./element-plus-DFTWCWyi.js";import{u as j,a as K}from"./vue-router-QlpZ4wdW.js";import{o as U}from"./@element-plus/icons-vue-HOEUG8sr.js";import{ap as W}from"./tcm-BcqaE0lo.js";import{g as X}from"./patient-DdWkVUZB.js";import{f as Y}from"./diag-display-DCz_VAqj.js";import{h as p}from"./perm-Bo9eM8XD.js";import Z from"./PatientInfoCard-pcwXrrnQ.js";import tt from"./PatientCaseCard-8RzolaE2.js";import et from"./DailyMatrix-CZKqLaUg.js";import ot from"./CallRecordPanel-D709DmJk.js";import it from"./ImChatRecordPanel-C40Ue1e_.js";import at from"./AssignLogPanel-B1RENXkE.js";import st from"./AppointmentRecordPanel-DH84Bquy.js";import rt from"./PatientOrderList-Vzhj0FzC.js";import nt from"./NoteTimeline-BzPD6QHw.js";import{f as dt,b as lt,aP as ct,ak as o,I as n,J as i,a as _,aN as b,O as B,F as A,H as l,G as a,A as m}from"./@vue/runtime-core-C6bnekPw.js";import{y as u,n as f}from"./@vue/reactivity-DiY1c2vO.js";import{Q as k,o as mt}from"./@vue/shared-mAAVTE9n.js";import{_ as ut}from"./index-DBREMm_z.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./blood-thresholds-CJ1fqMjh.js";import"./diabetes-discovery-display-B_wmGXQJ.js";import"./picker-BCRrEZaA.js";import"./index-BwF7vczx.js";import"./index-BiPYXDtP.js";import"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import"./index-CbfZXeGu.js";import"./index-CRoZWY-W.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-BimpIRb_.js";import"./index.vue_vue_type_script_setup_true_lang-x0oL2ShL.js";import"./usePaging-VsbTxSU0.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./vue-echarts-BNtg2q_G.js";import"./resize-detector-G6vbKCU7.js";import"./DiagnosisTodoList-CgT2M9eR.js";import"./RecordingPlaybackBlock-COxLgEiR.js";import"./RecordingVideoPlayer-DJ_BP9x7.js";import"./im-business-message-parse-QKjFLn3X.js";import"./doctor-ul0r578d.js";const pt={class:"readonly-page"},vt={class:"readonly-hero"},_t={class:"hero-left"},gt={key:0,class:"hero-right"},yt={class:"patient-name"},ft={class:"patient-meta"},kt={key:1,class:"unserved-badge unserved-muted"},bt={key:0,class:"card tracking-card"},ht={class:"card-body"},Nt={class:"card note-card"},xt={class:"card-body card-body--matrix-align"},Ct={key:1,class:"card section-card"},Dt={class:"card-body card-body--matrix-align"},Pt={key:2,class:"card section-card"},Rt={class:"card-body card-body--matrix-align"},wt={key:3,class:"card section-card"},It={class:"card-body card-body--matrix-align"},Bt={key:4,class:"card section-card"},At={class:"card-body card-body--matrix-align"},Et={key:5,class:"card section-card"},Lt={class:"card-body card-body--matrix-align"},Vt=dt({__name:"readonly",setup(Ft){const E=j(),h=K(),N=m(()=>Number(E.query.id||0)),g=f(!1),y=f(""),d=f(null),v=f([]),x=m(()=>{var e;return((e=d.value)==null?void 0:e.appointment)||{}}),r=m(()=>{var e;return((e=d.value)==null?void 0:e.diagnosis)||{}}),L=m(()=>p(["tcm.diagnosis/dailyRecord"])),s=m(()=>{var e;return Number(((e=r.value)==null?void 0:e.id)??N.value??0)}),C=m(()=>{var e;return Number(((e=r.value)==null?void 0:e.patient_id)??0)}),D=m(()=>{var t;const e=(t=d.value)==null?void 0:t.unserved_days;return e==null?null:Number(e)}),P=m(()=>{var e;return((e=d.value)==null?void 0:e.last_blood_record_at)||""}),V=e=>{if(e==null)return"unserved-muted";const t=Number(e);return Number.isFinite(t)?t>=7?"unserved-red":t>=3?"unserved-orange":"unserved-green":"unserved-muted"},F=async()=>{const e=s.value;if(e)try{const t=await X({diagnosis_id:e})||[];v.value=t}catch{}},M=async()=>{const e=N.value;if(!e||e<=0){y.value="诊单 id 缺失",d.value=null,v.value=[];return}g.value=!0,y.value="";try{const t=await W({id:e});d.value=t||null,v.value=Array.isArray(t==null?void 0:t.doctor_notes)?t.doctor_notes:[],await F()}catch(t){y.value=(t==null?void 0:t.message)||"",d.value=null,v.value=[]}finally{g.value=!1}},O=()=>{window.history.length>1?h.back():h.push({path:"/tcm/diagnosis"})};return lt(M),(e,t)=>{var R,w,I;const T=J,z=Q,G=S,c=$,q=H;return ct((o(),n("div",pt,[i("div",vt,[i("div",_t,[_(z,{link:"",size:"default",onClick:O,class:"back-btn"},{default:b(()=>[_(T,null,{default:b(()=>[_(u(U))]),_:1}),t[0]||(t[0]=i("span",null,"返回",-1))]),_:1}),t[1]||(t[1]=i("span",{class:"title"},"患者信息详情",-1))]),(R=r.value)!=null&&R.patient_name?(o(),n("div",gt,[i("span",yt,k(r.value.patient_name),1),i("span",ft,[B(k(u(Y)(r.value.gender))+" ",1),r.value.age!=null?(o(),n(A,{key:0},[B(" · "+k(r.value.age)+"岁",1)],64)):l("",!0)]),P.value?(o(),a(G,{key:0,content:`最近一次血糖打卡:${P.value}`,placement:"bottom"},{default:b(()=>[i("span",{class:mt(["unserved-badge",V(D.value)])}," 未服务 "+k(D.value??"—")+" 天 ",3)]),_:1},8,["content"])):(o(),n("span",kt,"从未打卡血糖"))])):l("",!0)]),!g.value&&!d.value?(o(),a(c,{key:0,description:y.value||"诊单不存在或无权访问",class:"empty-state"},null,8,["description"])):d.value?(o(),n(A,{key:1},[_(Z,{apt:x.value,diag:r.value},null,8,["apt","diag"]),_(tt,{apt:x.value,diag:r.value},null,8,["apt","diag"]),L.value?(o(),n("div",bt,[t[2]||(t[2]=i("div",{class:"card-title"},"日常记录",-1)),i("div",ht,[_(et,{"diagnosis-id":s.value,"patient-id":C.value,age:((w=r.value)==null?void 0:w.age)??null,"patient-name":((I=r.value)==null?void 0:I.patient_name)||"","read-only":!0},null,8,["diagnosis-id","patient-id","age","patient-name"])])])):l("",!0),i("div",Nt,[t[3]||(t[3]=i("div",{class:"card-title"},"医生备注 & 舌苔照片 & 检查报告",-1)),i("div",xt,[s.value<=0?(o(),a(c,{key:0,description:"诊单数据不完整"})):v.value.length?(o(),a(nt,{key:2,notes:v.value,"diagnosis-id":s.value,readonly:!0},null,8,["notes","diagnosis-id"])):(o(),a(c,{key:1,description:"暂无医生备注"}))])]),u(p)(["tcm.diagnosis/patientOrders"])?(o(),n("div",Ct,[t[4]||(t[4]=i("div",{class:"card-title"},"业务订单",-1)),i("div",Dt,[s.value>0?(o(),a(rt,{key:0,"diagnosis-id":s.value,"patient-id":C.value||0},null,8,["diagnosis-id","patient-id"])):(o(),a(c,{key:1,description:"诊单数据不完整"}))])])):l("",!0),u(p)(["tcm.diagnosis/huifang"])?(o(),n("div",Pt,[t[5]||(t[5]=i("div",{class:"card-title"},"视频录制回放记录",-1)),i("div",Rt,[s.value>0?(o(),a(ot,{key:0,"diagnosis-id":s.value,"read-only":!0},null,8,["diagnosis-id"])):(o(),a(c,{key:1,description:"诊单数据不完整"}))])])):l("",!0),u(p)(["tcm.diagnosis/chat"])?(o(),n("div",wt,[t[6]||(t[6]=i("div",{class:"card-title"},"聊天记录",-1)),i("div",It,[s.value>0?(o(),a(it,{key:0,"diagnosis-id":s.value},null,8,["diagnosis-id"])):(o(),a(c,{key:1,description:"诊单数据不完整"}))])])):l("",!0),u(p)(["tcm.diagnosis/assign"])||u(p)(["tcm.diagnosis/detail"])?(o(),n("div",Bt,[t[7]||(t[7]=i("div",{class:"card-title"},"指派医助记录",-1)),i("div",At,[s.value>0?(o(),a(at,{key:0,"diagnosis-id":s.value},null,8,["diagnosis-id"])):(o(),a(c,{key:1,description:"诊单数据不完整"}))])])):l("",!0),u(p)(["doctor.appointment/lists"])?(o(),n("div",Et,[t[8]||(t[8]=i("div",{class:"card-title"},"挂号记录",-1)),i("div",Lt,[s.value>0?(o(),a(st,{key:0,"diagnosis-id":s.value},null,8,["diagnosis-id"])):(o(),a(c,{key:1,description:"诊单数据不完整"}))])])):l("",!0)],64)):l("",!0)])),[[q,g.value]])}}}),oo=ut(Vt,[["__scopeId","data-v-cb8994c4"]]);export{oo as default}; diff --git a/server/public/admin/assets/recharge_record-6j9RWYrl.js b/server/public/admin/assets/recharge_record-kXf5tdAp.js similarity index 90% rename from server/public/admin/assets/recharge_record-6j9RWYrl.js rename to server/public/admin/assets/recharge_record-kXf5tdAp.js index d476f7b7..1b5c4041 100644 --- a/server/public/admin/assets/recharge_record-6j9RWYrl.js +++ b/server/public/admin/assets/recharge_record-kXf5tdAp.js @@ -1 +1 @@ -import{K as $,D as F,B as I,C as j,P as J,Q as O,i as Q,J as S,M as q,N as A,L as G}from"./element-plus-0wC3naml.js";import{_ as H}from"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import{h as M,i as W}from"./index-E47--KT7.js";import{_ as X}from"./index.vue_vue_type_script_setup_true_lang-DLNQ3IjV.js";import{_ as Y}from"./index.vue_vue_type_script_setup_true_lang-DBEwrTRf.js";import{w as v}from"./@vue/runtime-dom-DDAG46FW.js";import{j as V,k as Z}from"./finance-C48kuhTG.js";import{u as ee}from"./usePaging-VsbTxSU0.js";import{f as C,as as te,ak as c,I as ae,a as e,aN as l,O as p,aP as x,G as k,J as f,H as oe}from"./@vue/runtime-core-C6bnekPw.js";import{y as t,a as le,r as ne}from"./@vue/reactivity-DiY1c2vO.js";import{Q as h,o as se}from"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-nymJKQXP.js";const re={class:"flex items-center"},ie={class:"flex justify-end mt-4"},me=C({name:"rechargeRecord"}),tt=C({...me,setup(pe){const n=ne({sn:"",user_info:"",pay_way:"",pay_status:"",start_time:"",end_time:""}),{pager:r,getLists:d,resetPage:_,resetParams:E}=ee({fetchFun:V,params:n}),T=async b=>{await W.confirm("确认退款?"),await Z({recharge_id:b}),d()};return d(),(b,o)=>{const U=$,y=j,i=I,m=O,g=J,B=Y,u=Q,K=X,N=F,w=S,P=M,s=A,z=q,D=H,L=te("perms"),R=G;return c(),ae("div",null,[e(w,{class:"!border-none",shadow:"never"},{default:l(()=>[e(U,{type:"warning",title:"温馨提示:用户充值记录",closable:!1,"show-icon":""}),e(N,{ref:"formRef",class:"mb-[-16px] mt-[16px]",model:t(n),inline:!0},{default:l(()=>[e(i,{class:"w-[280px]",label:"充值单号"},{default:l(()=>[e(y,{modelValue:t(n).sn,"onUpdate:modelValue":o[0]||(o[0]=a=>t(n).sn=a),placeholder:"请输入充值单号",clearable:"",onKeyup:v(t(_),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(i,{class:"w-[280px]",label:"用户信息"},{default:l(()=>[e(y,{modelValue:t(n).user_info,"onUpdate:modelValue":o[1]||(o[1]=a=>t(n).user_info=a),placeholder:"请输入用户账号/昵称/手机号",clearable:"",onKeyup:v(t(_),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(i,{class:"w-[280px]",label:"支付方式"},{default:l(()=>[e(g,{modelValue:t(n).pay_way,"onUpdate:modelValue":o[2]||(o[2]=a=>t(n).pay_way=a)},{default:l(()=>[e(m,{label:"全部",value:""}),e(m,{label:"微信支付",value:2})]),_:1},8,["modelValue"])]),_:1}),e(i,{class:"w-[280px]",label:"支付状态"},{default:l(()=>[e(g,{modelValue:t(n).pay_status,"onUpdate:modelValue":o[3]||(o[3]=a=>t(n).pay_status=a)},{default:l(()=>[e(m,{label:"全部",value:""}),e(m,{label:"未支付",value:0}),e(m,{label:"已支付",value:1})]),_:1},8,["modelValue"])]),_:1}),e(i,{label:"下单时间"},{default:l(()=>[e(B,{startTime:t(n).start_time,"onUpdate:startTime":o[4]||(o[4]=a=>t(n).start_time=a),endTime:t(n).end_time,"onUpdate:endTime":o[5]||(o[5]=a=>t(n).end_time=a)},null,8,["startTime","endTime"])]),_:1}),e(i,null,{default:l(()=>[e(u,{type:"primary",onClick:t(_)},{default:l(()=>[...o[7]||(o[7]=[p("查询",-1)])]),_:1},8,["onClick"]),e(u,{onClick:t(E)},{default:l(()=>[...o[8]||(o[8]=[p("重置",-1)])]),_:1},8,["onClick"]),e(K,{class:"ml-2.5","fetch-fun":t(V),params:t(n),"page-size":t(r).size},null,8,["fetch-fun","params","page-size"])]),_:1})]),_:1},8,["model"])]),_:1}),e(w,{class:"!border-none mt-4",shadow:"never"},{default:l(()=>[x((c(),k(z,{size:"large",data:t(r).lists},{default:l(()=>[e(s,{label:"用户信息","min-width":"160"},{default:l(({row:a})=>[f("div",re,[e(P,{class:"flex-none mr-2",src:a.avatar,width:40,height:40,"preview-teleported":"",fit:"contain"},null,8,["src"]),p(" "+h(a.nickname),1)])]),_:1}),e(s,{label:"充值单号",prop:"sn","min-width":"190"}),e(s,{label:"充值金额",prop:"order_amount","min-width":"100"}),e(s,{label:"支付方式",prop:"pay_way_text","min-width":"100"}),e(s,{label:"支付状态",prop:"","min-width":"100"},{default:l(({row:a})=>[f("span",{class:se({"text-error":a.pay_status==0})},h(a.pay_status_text),3)]),_:1}),e(s,{label:"提交时间",prop:"create_time","min-width":"180"}),e(s,{label:"支付时间",prop:"pay_time","min-width":"180"}),e(s,{label:"操作",width:"120",fixed:"right"},{default:l(({row:a})=>[a.pay_status==1?x((c(),k(u,{key:0,type:"primary",link:"",disabled:a.refund_status==1,onClick:de=>T(a.id)},{default:l(()=>[...o[9]||(o[9]=[p(" 退款 ",-1)])]),_:1},8,["disabled","onClick"])),[[L,["recharge.recharge/refund"]]]):oe("",!0)]),_:1})]),_:1},8,["data"])),[[R,t(r).loading]]),f("div",ie,[e(D,{modelValue:t(r),"onUpdate:modelValue":o[6]||(o[6]=a=>le(r)?r.value=a:null),onChange:t(d)},null,8,["modelValue","onChange"])])]),_:1})])}}});export{tt as default}; +import{K as $,D as F,B as I,C as j,P as J,Q as O,i as Q,J as S,M as q,N as A,L as G}from"./element-plus-DFTWCWyi.js";import{_ as H}from"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import{h as M,i as W}from"./index-DBREMm_z.js";import{_ as X}from"./index.vue_vue_type_script_setup_true_lang-CCzvLP0c.js";import{_ as Y}from"./index.vue_vue_type_script_setup_true_lang-DPC_NOWM.js";import{w as v}from"./@vue/runtime-dom-DDAG46FW.js";import{j as V,k as Z}from"./finance-YaEgIEMc.js";import{u as ee}from"./usePaging-VsbTxSU0.js";import{f as C,as as te,ak as c,I as ae,a as e,aN as l,O as p,aP as x,G as k,J as f,H as oe}from"./@vue/runtime-core-C6bnekPw.js";import{y as t,a as le,r as ne}from"./@vue/reactivity-DiY1c2vO.js";import{Q as h,o as se}from"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-BwF7vczx.js";const re={class:"flex items-center"},ie={class:"flex justify-end mt-4"},me=C({name:"rechargeRecord"}),tt=C({...me,setup(pe){const n=ne({sn:"",user_info:"",pay_way:"",pay_status:"",start_time:"",end_time:""}),{pager:r,getLists:d,resetPage:_,resetParams:E}=ee({fetchFun:V,params:n}),T=async b=>{await W.confirm("确认退款?"),await Z({recharge_id:b}),d()};return d(),(b,o)=>{const U=$,y=j,i=I,m=O,g=J,B=Y,u=Q,K=X,N=F,w=S,P=M,s=A,z=q,D=H,L=te("perms"),R=G;return c(),ae("div",null,[e(w,{class:"!border-none",shadow:"never"},{default:l(()=>[e(U,{type:"warning",title:"温馨提示:用户充值记录",closable:!1,"show-icon":""}),e(N,{ref:"formRef",class:"mb-[-16px] mt-[16px]",model:t(n),inline:!0},{default:l(()=>[e(i,{class:"w-[280px]",label:"充值单号"},{default:l(()=>[e(y,{modelValue:t(n).sn,"onUpdate:modelValue":o[0]||(o[0]=a=>t(n).sn=a),placeholder:"请输入充值单号",clearable:"",onKeyup:v(t(_),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(i,{class:"w-[280px]",label:"用户信息"},{default:l(()=>[e(y,{modelValue:t(n).user_info,"onUpdate:modelValue":o[1]||(o[1]=a=>t(n).user_info=a),placeholder:"请输入用户账号/昵称/手机号",clearable:"",onKeyup:v(t(_),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),e(i,{class:"w-[280px]",label:"支付方式"},{default:l(()=>[e(g,{modelValue:t(n).pay_way,"onUpdate:modelValue":o[2]||(o[2]=a=>t(n).pay_way=a)},{default:l(()=>[e(m,{label:"全部",value:""}),e(m,{label:"微信支付",value:2})]),_:1},8,["modelValue"])]),_:1}),e(i,{class:"w-[280px]",label:"支付状态"},{default:l(()=>[e(g,{modelValue:t(n).pay_status,"onUpdate:modelValue":o[3]||(o[3]=a=>t(n).pay_status=a)},{default:l(()=>[e(m,{label:"全部",value:""}),e(m,{label:"未支付",value:0}),e(m,{label:"已支付",value:1})]),_:1},8,["modelValue"])]),_:1}),e(i,{label:"下单时间"},{default:l(()=>[e(B,{startTime:t(n).start_time,"onUpdate:startTime":o[4]||(o[4]=a=>t(n).start_time=a),endTime:t(n).end_time,"onUpdate:endTime":o[5]||(o[5]=a=>t(n).end_time=a)},null,8,["startTime","endTime"])]),_:1}),e(i,null,{default:l(()=>[e(u,{type:"primary",onClick:t(_)},{default:l(()=>[...o[7]||(o[7]=[p("查询",-1)])]),_:1},8,["onClick"]),e(u,{onClick:t(E)},{default:l(()=>[...o[8]||(o[8]=[p("重置",-1)])]),_:1},8,["onClick"]),e(K,{class:"ml-2.5","fetch-fun":t(V),params:t(n),"page-size":t(r).size},null,8,["fetch-fun","params","page-size"])]),_:1})]),_:1},8,["model"])]),_:1}),e(w,{class:"!border-none mt-4",shadow:"never"},{default:l(()=>[x((c(),k(z,{size:"large",data:t(r).lists},{default:l(()=>[e(s,{label:"用户信息","min-width":"160"},{default:l(({row:a})=>[f("div",re,[e(P,{class:"flex-none mr-2",src:a.avatar,width:40,height:40,"preview-teleported":"",fit:"contain"},null,8,["src"]),p(" "+h(a.nickname),1)])]),_:1}),e(s,{label:"充值单号",prop:"sn","min-width":"190"}),e(s,{label:"充值金额",prop:"order_amount","min-width":"100"}),e(s,{label:"支付方式",prop:"pay_way_text","min-width":"100"}),e(s,{label:"支付状态",prop:"","min-width":"100"},{default:l(({row:a})=>[f("span",{class:se({"text-error":a.pay_status==0})},h(a.pay_status_text),3)]),_:1}),e(s,{label:"提交时间",prop:"create_time","min-width":"180"}),e(s,{label:"支付时间",prop:"pay_time","min-width":"180"}),e(s,{label:"操作",width:"120",fixed:"right"},{default:l(({row:a})=>[a.pay_status==1?x((c(),k(u,{key:0,type:"primary",link:"",disabled:a.refund_status==1,onClick:de=>T(a.id)},{default:l(()=>[...o[9]||(o[9]=[p(" 退款 ",-1)])]),_:1},8,["disabled","onClick"])),[[L,["recharge.recharge/refund"]]]):oe("",!0)]),_:1})]),_:1},8,["data"])),[[R,t(r).loading]]),f("div",ie,[e(D,{modelValue:t(r),"onUpdate:modelValue":o[6]||(o[6]=a=>le(r)?r.value=a:null),onChange:t(d)},null,8,["modelValue","onChange"])])]),_:1})])}}});export{tt as default}; diff --git a/server/public/admin/assets/refund-log-Ce69Mq4B.js b/server/public/admin/assets/refund-log-BFUpCtiy.js similarity index 86% rename from server/public/admin/assets/refund-log-Ce69Mq4B.js rename to server/public/admin/assets/refund-log-BFUpCtiy.js index 23adadc3..91b8dd53 100644 --- a/server/public/admin/assets/refund-log-Ce69Mq4B.js +++ b/server/public/admin/assets/refund-log-BFUpCtiy.js @@ -1 +1 @@ -import{_ as o}from"./refund-log.vue_vue_type_script_setup_true_lang-zH1cmhVW.js";import"./element-plus-0wC3naml.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./finance-C48kuhTG.js";import"./index-E47--KT7.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";export{o as default}; +import{_ as o}from"./refund-log.vue_vue_type_script_setup_true_lang-DDZenc1e.js";import"./element-plus-DFTWCWyi.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./finance-YaEgIEMc.js";import"./index-DBREMm_z.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";export{o as default}; diff --git a/server/public/admin/assets/refund-log.vue_vue_type_script_setup_true_lang-zH1cmhVW.js b/server/public/admin/assets/refund-log.vue_vue_type_script_setup_true_lang-DDZenc1e.js similarity index 92% rename from server/public/admin/assets/refund-log.vue_vue_type_script_setup_true_lang-zH1cmhVW.js rename to server/public/admin/assets/refund-log.vue_vue_type_script_setup_true_lang-DDZenc1e.js index dc8e43c6..538ed240 100644 --- a/server/public/admin/assets/refund-log.vue_vue_type_script_setup_true_lang-zH1cmhVW.js +++ b/server/public/admin/assets/refund-log.vue_vue_type_script_setup_true_lang-DDZenc1e.js @@ -1 +1 @@ -import{V as E,M as L,N,T,L as B}from"./element-plus-0wC3naml.js";import{r as C}from"./finance-C48kuhTG.js";import{f as D,w as I,ak as s,I as R,a as o,aN as a,aP as z,G as r,O as d,H as c,A}from"./@vue/runtime-core-C6bnekPw.js";import{a as G,y as p,n as h}from"./@vue/reactivity-DiY1c2vO.js";import{Q as u}from"./@vue/shared-mAAVTE9n.js";const H={class:"code-preview"},U=D({__name:"refund-log",props:{modelValue:{type:Boolean},refundId:{}},emits:["update:modelValue"],setup(V,{emit:v}){const i=h(!1),_=h([]),f=V,y=v,n=A({get(){return f.modelValue},set(t){y("update:modelValue",t)}}),b=async()=>{i.value=!0,_.value=[];try{const t=await C({record_id:f.refundId});_.value=t}catch(t){console.log(t)}i.value=!1};return I(n,t=>{t&&b()}),(t,g)=>{const l=N,m=T,w=L,x=E,k=B;return s(),R("div",H,[o(x,{modelValue:p(n),"onUpdate:modelValue":g[0]||(g[0]=e=>G(n)?n.value=e:null),width:"760px",title:"退款日志"},{default:a(()=>[z((s(),r(w,{size:"large",data:p(_),height:"500"},{default:a(()=>[o(l,{label:"流水单号",prop:"sn","min-width":"190"}),o(l,{label:"退款金额","min-width":"110"},{default:a(({row:e})=>[d(" ¥"+u(e.refund_amount),1)]),_:1}),o(l,{label:"退款状态",prop:"","min-width":"100"},{default:a(({row:e})=>[e.refund_status==0?(s(),r(m,{key:0,type:"warning"},{default:a(()=>[d(u(e.refund_status_text),1)]),_:2},1024)):c("",!0),e.refund_status==1?(s(),r(m,{key:1},{default:a(()=>[d(u(e.refund_status_text),1)]),_:2},1024)):c("",!0),e.refund_status==2?(s(),r(m,{key:2,type:"danger"},{default:a(()=>[d(u(e.refund_status_text),1)]),_:2},1024)):c("",!0)]),_:1}),o(l,{label:"记录时间",prop:"create_time","min-width":"180"}),o(l,{label:"操作人",prop:"handler","min-width":"120"})]),_:1},8,["data"])),[[k,p(i)]])]),_:1},8,["modelValue"])])}}});export{U as _}; +import{V as E,M as L,N,T,L as B}from"./element-plus-DFTWCWyi.js";import{r as C}from"./finance-YaEgIEMc.js";import{f as D,w as I,ak as s,I as R,a as o,aN as a,aP as z,G as r,O as d,H as c,A}from"./@vue/runtime-core-C6bnekPw.js";import{a as G,y as p,n as h}from"./@vue/reactivity-DiY1c2vO.js";import{Q as u}from"./@vue/shared-mAAVTE9n.js";const H={class:"code-preview"},U=D({__name:"refund-log",props:{modelValue:{type:Boolean},refundId:{}},emits:["update:modelValue"],setup(V,{emit:v}){const i=h(!1),_=h([]),f=V,y=v,n=A({get(){return f.modelValue},set(t){y("update:modelValue",t)}}),b=async()=>{i.value=!0,_.value=[];try{const t=await C({record_id:f.refundId});_.value=t}catch(t){console.log(t)}i.value=!1};return I(n,t=>{t&&b()}),(t,g)=>{const l=N,m=T,w=L,x=E,k=B;return s(),R("div",H,[o(x,{modelValue:p(n),"onUpdate:modelValue":g[0]||(g[0]=e=>G(n)?n.value=e:null),width:"760px",title:"退款日志"},{default:a(()=>[z((s(),r(w,{size:"large",data:p(_),height:"500"},{default:a(()=>[o(l,{label:"流水单号",prop:"sn","min-width":"190"}),o(l,{label:"退款金额","min-width":"110"},{default:a(({row:e})=>[d(" ¥"+u(e.refund_amount),1)]),_:1}),o(l,{label:"退款状态",prop:"","min-width":"100"},{default:a(({row:e})=>[e.refund_status==0?(s(),r(m,{key:0,type:"warning"},{default:a(()=>[d(u(e.refund_status_text),1)]),_:2},1024)):c("",!0),e.refund_status==1?(s(),r(m,{key:1},{default:a(()=>[d(u(e.refund_status_text),1)]),_:2},1024)):c("",!0),e.refund_status==2?(s(),r(m,{key:2,type:"danger"},{default:a(()=>[d(u(e.refund_status_text),1)]),_:2},1024)):c("",!0)]),_:1}),o(l,{label:"记录时间",prop:"create_time","min-width":"180"}),o(l,{label:"操作人",prop:"handler","min-width":"120"})]),_:1},8,["data"])),[[k,p(i)]])]),_:1},8,["modelValue"])])}}});export{U as _}; diff --git a/server/public/admin/assets/refund_record-DsraTcjC.js b/server/public/admin/assets/refund_record-DtgtLzt_.js similarity index 93% rename from server/public/admin/assets/refund_record-DsraTcjC.js rename to server/public/admin/assets/refund_record-DtgtLzt_.js index b118a754..0b652a3b 100644 --- a/server/public/admin/assets/refund_record-DsraTcjC.js +++ b/server/public/admin/assets/refund_record-DtgtLzt_.js @@ -1 +1 @@ -import{J as Z,D as ee,B as te,C as ne,P as ae,Q as le,i as oe,m as se,l as re,M as ie,N as de,T as me,L as ue}from"./element-plus-0wC3naml.js";import{_ as pe}from"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import{h as _e,i as fe}from"./index-E47--KT7.js";import{_ as ce}from"./index.vue_vue_type_script_setup_true_lang-DBEwrTRf.js";import{w as h}from"./@vue/runtime-dom-DDAG46FW.js";import{l as ge,m as ye,n as be}from"./finance-C48kuhTG.js";import{u as ve}from"./usePaging-VsbTxSU0.js";import{_ as we}from"./refund-log.vue_vue_type_script_setup_true_lang-zH1cmhVW.js";import{f as S,as as xe,ak as i,I as D,a as t,aN as a,J as r,O as d,F as Ve,ap as ke,G as _,aP as K,H as w}from"./@vue/runtime-core-C6bnekPw.js";import{Q as m}from"./@vue/shared-mAAVTE9n.js";import{y as n,a as R,r as F,n as x}from"./@vue/reactivity-DiY1c2vO.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Ce={class:"flex flex-wrap"},Te={class:"w-1/2 md:w-1/4"},Ee={class:"text-6xl"},he={class:"w-1/2 md:w-1/4"},Ke={class:"text-6xl"},Re={class:"w-1/2 md:w-1/4"},Ue={class:"text-6xl"},Le={class:"w-1/2 md:w-1/4"},Pe={class:"text-6xl"},$e={class:"flex items-center"},Be={class:"flex justify-end mt-4"},Ne=S({name:"refundRecord"}),Tt=S({...Ne,setup(De){const o=F({sn:"",order_sn:"",user_info:"",refund_type:"",start_time:"",end_time:"",refund_status:""}),g=F({total:0,ing:0,success:0,error:0}),b=x(!1),U=x(0),V=x(0),L=x([{name:"全部",type:"",numKey:"total"},{name:"退款中",type:0,numKey:"ing"},{name:"退款成功",type:1,numKey:"success"},{name:"退款失败",type:2,numKey:"error"}]),{pager:f,getLists:k,resetPage:y,resetParams:I}=ve({fetchFun:ge,params:o}),O=async u=>{await fe.confirm("确认重新退款?"),await ye({record_id:u}),k(),P()},j=async u=>{b.value=!0,U.value=u},A=u=>{o.refund_status=L.value[u].type,y()},P=async()=>{const u=await be();Object.assign(g,u)};return P(),k(),(u,e)=>{const C=Z,T=ne,c=te,$=le,J=ae,Q=ce,v=oe,q=ee,p=de,z=_e,E=me,G=ie,H=re,M=se,W=pe,B=xe("perms"),X=ue;return i(),D("div",null,[t(C,{class:"!border-none mb-4",shadow:"never"},{default:a(()=>[r("div",Ce,[r("div",Te,[e[9]||(e[9]=r("div",{class:"leading-10"},"累计退款金额 (元)",-1)),r("div",Ee,m(n(g).total),1)]),r("div",he,[e[10]||(e[10]=r("div",{class:"leading-10"},"退款中金额 (元)",-1)),r("div",Ke,m(n(g).ing),1)]),r("div",Re,[e[11]||(e[11]=r("div",{class:"leading-10"},"退款成功金额 (元)",-1)),r("div",Ue,m(n(g).success),1)]),r("div",Le,[e[12]||(e[12]=r("div",{class:"leading-10"},"退款失败金额 (元)",-1)),r("div",Pe,m(n(g).error),1)])])]),_:1}),t(C,{class:"!border-none",shadow:"never"},{default:a(()=>[t(q,{ref:"formRef",class:"mb-[-16px] mt-[16px]",model:n(o),inline:!0},{default:a(()=>[t(c,{class:"w-[280px]",label:"退款单号"},{default:a(()=>[t(T,{modelValue:n(o).sn,"onUpdate:modelValue":e[0]||(e[0]=l=>n(o).sn=l),placeholder:"请输入退款单号",clearable:"",onKeyup:h(n(y),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(c,{class:"w-[280px]",label:"来源单号"},{default:a(()=>[t(T,{modelValue:n(o).order_sn,"onUpdate:modelValue":e[1]||(e[1]=l=>n(o).order_sn=l),placeholder:"请输入来源单号",clearable:"",onKeyup:h(n(y),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(c,{class:"w-[280px]",label:"用户信息"},{default:a(()=>[t(T,{modelValue:n(o).user_info,"onUpdate:modelValue":e[2]||(e[2]=l=>n(o).user_info=l),placeholder:"请输入用户信息",clearable:"",onKeyup:h(n(y),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(c,{class:"w-[280px]",label:"退款类型"},{default:a(()=>[t(J,{modelValue:n(o).refund_type,"onUpdate:modelValue":e[3]||(e[3]=l=>n(o).refund_type=l)},{default:a(()=>[t($,{label:"全部",value:""}),t($,{label:"后台退款",value:1})]),_:1},8,["modelValue"])]),_:1}),t(c,{label:"记录时间"},{default:a(()=>[t(Q,{startTime:n(o).start_time,"onUpdate:startTime":e[4]||(e[4]=l=>n(o).start_time=l),endTime:n(o).end_time,"onUpdate:endTime":e[5]||(e[5]=l=>n(o).end_time=l)},null,8,["startTime","endTime"])]),_:1}),t(c,null,{default:a(()=>[t(v,{type:"primary",onClick:n(y)},{default:a(()=>[...e[13]||(e[13]=[d("查询",-1)])]),_:1},8,["onClick"]),t(v,{onClick:n(I)},{default:a(()=>[...e[14]||(e[14]=[d("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),t(C,{class:"!border-none mt-4",shadow:"never"},{default:a(()=>[t(M,{modelValue:n(V),"onUpdate:modelValue":e[6]||(e[6]=l=>R(V)?V.value=l:null),onTabChange:A},{default:a(()=>[(i(!0),D(Ve,null,ke(n(L),(l,N)=>(i(),_(H,{label:`${l.name}(${n(f).extend[l.numKey]??0})`,name:N,key:N},{default:a(()=>[K((i(),_(G,{size:"large",data:n(f).lists},{default:a(()=>[t(p,{label:"退款单号",prop:"sn","min-width":"190"}),t(p,{label:"用户信息","min-width":"160"},{default:a(({row:s})=>[r("div",$e,[t(z,{class:"flex-none mr-2",src:s.avatar,width:40,height:40,"preview-teleported":"",fit:"contain"},null,8,["src"]),d(" "+m(s.nickname),1)])]),_:1}),t(p,{label:"来源单号",prop:"order_sn","min-width":"190"}),t(p,{label:"退款金额","min-width":"100"},{default:a(({row:s})=>[d(" ¥ "+m(s.refund_amount),1)]),_:1}),t(p,{label:"退款类型",prop:"refund_type_text","min-width":"100"}),t(p,{label:"退款状态",prop:"","min-width":"100"},{default:a(({row:s})=>[s.refund_status==0?(i(),_(E,{key:0,type:"warning"},{default:a(()=>[d(m(s.refund_status_text),1)]),_:2},1024)):w("",!0),s.refund_status==1?(i(),_(E,{key:1},{default:a(()=>[d(m(s.refund_status_text),1)]),_:2},1024)):w("",!0),s.refund_status==2?(i(),_(E,{key:2,type:"danger"},{default:a(()=>[d(m(s.refund_status_text),1)]),_:2},1024)):w("",!0)]),_:1}),t(p,{label:"记录时间",prop:"create_time","min-width":"180"}),t(p,{label:"操作",width:"180",fixed:"right"},{default:a(({row:s})=>[K((i(),_(v,{type:"primary",link:"",onClick:Y=>j(s.id)},{default:a(()=>[...e[15]||(e[15]=[d(" 退款日志 ",-1)])]),_:1},8,["onClick"])),[[B,["finance.refund/log"]]]),s.refund_status==2?K((i(),_(v,{key:0,type:"primary",link:"",onClick:Y=>O(s.id)},{default:a(()=>[...e[16]||(e[16]=[d(" 重新退款 ",-1)])]),_:1},8,["onClick"])),[[B,["recharge.recharge/refundAgain"]]]):w("",!0)]),_:1})]),_:1},8,["data"])),[[X,n(f).loading]])]),_:1},8,["label","name"]))),128))]),_:1},8,["modelValue"]),r("div",Be,[t(W,{modelValue:n(f),"onUpdate:modelValue":e[7]||(e[7]=l=>R(f)?f.value=l:null),onChange:n(k)},null,8,["modelValue","onChange"])])]),_:1}),t(we,{modelValue:n(b),"onUpdate:modelValue":e[8]||(e[8]=l=>R(b)?b.value=l:null),"refund-id":n(U)},null,8,["modelValue","refund-id"])])}}});export{Tt as default}; +import{J as Z,D as ee,B as te,C as ne,P as ae,Q as le,i as oe,m as se,l as re,M as ie,N as de,T as me,L as ue}from"./element-plus-DFTWCWyi.js";import{_ as pe}from"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import{h as _e,i as fe}from"./index-DBREMm_z.js";import{_ as ce}from"./index.vue_vue_type_script_setup_true_lang-DPC_NOWM.js";import{w as h}from"./@vue/runtime-dom-DDAG46FW.js";import{l as ge,m as ye,n as be}from"./finance-YaEgIEMc.js";import{u as ve}from"./usePaging-VsbTxSU0.js";import{_ as we}from"./refund-log.vue_vue_type_script_setup_true_lang-DDZenc1e.js";import{f as S,as as xe,ak as i,I as D,a as t,aN as a,J as r,O as d,F as Ve,ap as ke,G as _,aP as K,H as w}from"./@vue/runtime-core-C6bnekPw.js";import{Q as m}from"./@vue/shared-mAAVTE9n.js";import{y as n,a as R,r as F,n as x}from"./@vue/reactivity-DiY1c2vO.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Ce={class:"flex flex-wrap"},Te={class:"w-1/2 md:w-1/4"},Ee={class:"text-6xl"},he={class:"w-1/2 md:w-1/4"},Ke={class:"text-6xl"},Re={class:"w-1/2 md:w-1/4"},Ue={class:"text-6xl"},Le={class:"w-1/2 md:w-1/4"},Pe={class:"text-6xl"},$e={class:"flex items-center"},Be={class:"flex justify-end mt-4"},Ne=S({name:"refundRecord"}),Tt=S({...Ne,setup(De){const o=F({sn:"",order_sn:"",user_info:"",refund_type:"",start_time:"",end_time:"",refund_status:""}),g=F({total:0,ing:0,success:0,error:0}),b=x(!1),U=x(0),V=x(0),L=x([{name:"全部",type:"",numKey:"total"},{name:"退款中",type:0,numKey:"ing"},{name:"退款成功",type:1,numKey:"success"},{name:"退款失败",type:2,numKey:"error"}]),{pager:f,getLists:k,resetPage:y,resetParams:I}=ve({fetchFun:ge,params:o}),O=async u=>{await fe.confirm("确认重新退款?"),await ye({record_id:u}),k(),P()},j=async u=>{b.value=!0,U.value=u},A=u=>{o.refund_status=L.value[u].type,y()},P=async()=>{const u=await be();Object.assign(g,u)};return P(),k(),(u,e)=>{const C=Z,T=ne,c=te,$=le,J=ae,Q=ce,v=oe,q=ee,p=de,z=_e,E=me,G=ie,H=re,M=se,W=pe,B=xe("perms"),X=ue;return i(),D("div",null,[t(C,{class:"!border-none mb-4",shadow:"never"},{default:a(()=>[r("div",Ce,[r("div",Te,[e[9]||(e[9]=r("div",{class:"leading-10"},"累计退款金额 (元)",-1)),r("div",Ee,m(n(g).total),1)]),r("div",he,[e[10]||(e[10]=r("div",{class:"leading-10"},"退款中金额 (元)",-1)),r("div",Ke,m(n(g).ing),1)]),r("div",Re,[e[11]||(e[11]=r("div",{class:"leading-10"},"退款成功金额 (元)",-1)),r("div",Ue,m(n(g).success),1)]),r("div",Le,[e[12]||(e[12]=r("div",{class:"leading-10"},"退款失败金额 (元)",-1)),r("div",Pe,m(n(g).error),1)])])]),_:1}),t(C,{class:"!border-none",shadow:"never"},{default:a(()=>[t(q,{ref:"formRef",class:"mb-[-16px] mt-[16px]",model:n(o),inline:!0},{default:a(()=>[t(c,{class:"w-[280px]",label:"退款单号"},{default:a(()=>[t(T,{modelValue:n(o).sn,"onUpdate:modelValue":e[0]||(e[0]=l=>n(o).sn=l),placeholder:"请输入退款单号",clearable:"",onKeyup:h(n(y),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(c,{class:"w-[280px]",label:"来源单号"},{default:a(()=>[t(T,{modelValue:n(o).order_sn,"onUpdate:modelValue":e[1]||(e[1]=l=>n(o).order_sn=l),placeholder:"请输入来源单号",clearable:"",onKeyup:h(n(y),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(c,{class:"w-[280px]",label:"用户信息"},{default:a(()=>[t(T,{modelValue:n(o).user_info,"onUpdate:modelValue":e[2]||(e[2]=l=>n(o).user_info=l),placeholder:"请输入用户信息",clearable:"",onKeyup:h(n(y),["enter"])},null,8,["modelValue","onKeyup"])]),_:1}),t(c,{class:"w-[280px]",label:"退款类型"},{default:a(()=>[t(J,{modelValue:n(o).refund_type,"onUpdate:modelValue":e[3]||(e[3]=l=>n(o).refund_type=l)},{default:a(()=>[t($,{label:"全部",value:""}),t($,{label:"后台退款",value:1})]),_:1},8,["modelValue"])]),_:1}),t(c,{label:"记录时间"},{default:a(()=>[t(Q,{startTime:n(o).start_time,"onUpdate:startTime":e[4]||(e[4]=l=>n(o).start_time=l),endTime:n(o).end_time,"onUpdate:endTime":e[5]||(e[5]=l=>n(o).end_time=l)},null,8,["startTime","endTime"])]),_:1}),t(c,null,{default:a(()=>[t(v,{type:"primary",onClick:n(y)},{default:a(()=>[...e[13]||(e[13]=[d("查询",-1)])]),_:1},8,["onClick"]),t(v,{onClick:n(I)},{default:a(()=>[...e[14]||(e[14]=[d("重置",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["model"])]),_:1}),t(C,{class:"!border-none mt-4",shadow:"never"},{default:a(()=>[t(M,{modelValue:n(V),"onUpdate:modelValue":e[6]||(e[6]=l=>R(V)?V.value=l:null),onTabChange:A},{default:a(()=>[(i(!0),D(Ve,null,ke(n(L),(l,N)=>(i(),_(H,{label:`${l.name}(${n(f).extend[l.numKey]??0})`,name:N,key:N},{default:a(()=>[K((i(),_(G,{size:"large",data:n(f).lists},{default:a(()=>[t(p,{label:"退款单号",prop:"sn","min-width":"190"}),t(p,{label:"用户信息","min-width":"160"},{default:a(({row:s})=>[r("div",$e,[t(z,{class:"flex-none mr-2",src:s.avatar,width:40,height:40,"preview-teleported":"",fit:"contain"},null,8,["src"]),d(" "+m(s.nickname),1)])]),_:1}),t(p,{label:"来源单号",prop:"order_sn","min-width":"190"}),t(p,{label:"退款金额","min-width":"100"},{default:a(({row:s})=>[d(" ¥ "+m(s.refund_amount),1)]),_:1}),t(p,{label:"退款类型",prop:"refund_type_text","min-width":"100"}),t(p,{label:"退款状态",prop:"","min-width":"100"},{default:a(({row:s})=>[s.refund_status==0?(i(),_(E,{key:0,type:"warning"},{default:a(()=>[d(m(s.refund_status_text),1)]),_:2},1024)):w("",!0),s.refund_status==1?(i(),_(E,{key:1},{default:a(()=>[d(m(s.refund_status_text),1)]),_:2},1024)):w("",!0),s.refund_status==2?(i(),_(E,{key:2,type:"danger"},{default:a(()=>[d(m(s.refund_status_text),1)]),_:2},1024)):w("",!0)]),_:1}),t(p,{label:"记录时间",prop:"create_time","min-width":"180"}),t(p,{label:"操作",width:"180",fixed:"right"},{default:a(({row:s})=>[K((i(),_(v,{type:"primary",link:"",onClick:Y=>j(s.id)},{default:a(()=>[...e[15]||(e[15]=[d(" 退款日志 ",-1)])]),_:1},8,["onClick"])),[[B,["finance.refund/log"]]]),s.refund_status==2?K((i(),_(v,{key:0,type:"primary",link:"",onClick:Y=>O(s.id)},{default:a(()=>[...e[16]||(e[16]=[d(" 重新退款 ",-1)])]),_:1},8,["onClick"])),[[B,["recharge.recharge/refundAgain"]]]):w("",!0)]),_:1})]),_:1},8,["data"])),[[X,n(f).loading]])]),_:1},8,["label","name"]))),128))]),_:1},8,["modelValue"]),r("div",Be,[t(W,{modelValue:n(f),"onUpdate:modelValue":e[7]||(e[7]=l=>R(f)?f.value=l:null),onChange:n(k)},null,8,["modelValue","onChange"])])]),_:1}),t(we,{modelValue:n(b),"onUpdate:modelValue":e[8]||(e[8]=l=>R(b)?b.value=l:null),"refund-id":n(U)},null,8,["modelValue","refund-id"])])}}});export{Tt as default}; diff --git a/server/public/admin/assets/relations-add-C6KNKz4Y.js b/server/public/admin/assets/relations-add-DdShaMEa.js similarity index 79% rename from server/public/admin/assets/relations-add-C6KNKz4Y.js rename to server/public/admin/assets/relations-add-DdShaMEa.js index 6d83a9c6..2a10d349 100644 --- a/server/public/admin/assets/relations-add-C6KNKz4Y.js +++ b/server/public/admin/assets/relations-add-DdShaMEa.js @@ -1 +1 @@ -import{_ as o}from"./relations-add.vue_vue_type_script_setup_true_lang-CKhVzzB6.js";import"./element-plus-0wC3naml.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./code-DY1HVNqE.js";import"./index-E47--KT7.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-nymJKQXP.js";import"./useDictOptions-CypOxw17.js";export{o as default}; +import{_ as o}from"./relations-add.vue_vue_type_script_setup_true_lang-o4iTfF3G.js";import"./element-plus-DFTWCWyi.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C6bnekPw.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./code-UKo2HpQE.js";import"./index-DBREMm_z.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-BwF7vczx.js";import"./useDictOptions-Dl6xXBty.js";export{o as default}; diff --git a/server/public/admin/assets/relations-add.vue_vue_type_script_setup_true_lang-CKhVzzB6.js b/server/public/admin/assets/relations-add.vue_vue_type_script_setup_true_lang-o4iTfF3G.js similarity index 91% rename from server/public/admin/assets/relations-add.vue_vue_type_script_setup_true_lang-CKhVzzB6.js rename to server/public/admin/assets/relations-add.vue_vue_type_script_setup_true_lang-o4iTfF3G.js index 92a3554b..a84e6b87 100644 --- a/server/public/admin/assets/relations-add.vue_vue_type_script_setup_true_lang-CKhVzzB6.js +++ b/server/public/admin/assets/relations-add.vue_vue_type_script_setup_true_lang-o4iTfF3G.js @@ -1 +1 @@ -import{D as A,B as I,P as N,Q as O,C as S}from"./element-plus-0wC3naml.js";import{a as $}from"./code-DY1HVNqE.js";import{_ as G}from"./index-nymJKQXP.js";import{u as L}from"./useDictOptions-CypOxw17.js";import{f as M,ak as u,I as m,a as t,aN as n,F as i,ap as _,G as y,A as P}from"./@vue/runtime-core-C6bnekPw.js";import{y as a,q as g,r as Q,n as T}from"./@vue/reactivity-DiY1c2vO.js";const j={class:"edit-popup"},Y=M({__name:"relations-add",props:{column:{type:Array,default:()=>[]},types:{type:Array,default:()=>[]}},emits:["add","close","edit"],setup(k,{expose:x,emit:q}){const v=q,V=g(),d=g(),p=T("add"),C=P(()=>p.value=="edit"?"编辑关联":"新增关联"),o=Q({name:"",model:"",type:"",local_key:"",foreign_key:""}),E={name:[{required:!0,message:"请输入关联名称"}],type:[{required:!0,message:"请选择关联类型"}],model:[{required:!0,message:"请选择关联模型"}],local_key:[{required:!0,message:"请选择关联健"}],foreign_key:[{required:!0,message:"请输入外键"}]},{optionsData:R}=L({models:{api:$}}),w=async()=>{var r,e;await((r=V.value)==null?void 0:r.validate()),(e=d.value)==null||e.close(),v(p.value,o)},D=(r="add")=>{var e;p.value=r,(e=d.value)==null||e.open()},F=r=>{for(const e in o)r[e]!=null&&r[e]!=null&&(o[e]=r[e])},U=()=>{v("close")};return x({open:D,setFormData:F}),(r,e)=>{const f=O,c=N,s=I,b=S,B=A;return u(),m("div",j,[t(G,{ref_key:"popupRef",ref:d,title:a(C),async:!0,width:"550px",onConfirm:w,onClose:U},{default:n(()=>[t(B,{ref_key:"formRef",ref:V,model:a(o),"label-width":"84px",rules:E},{default:n(()=>[t(s,{label:"关联类型",prop:"type"},{default:n(()=>[t(c,{class:"flex-1",modelValue:a(o).type,"onUpdate:modelValue":e[0]||(e[0]=l=>a(o).type=l),placeholder:"请选择关联类型"},{default:n(()=>[(u(!0),m(i,null,_(k.types,(l,h)=>(u(),y(f,{key:h,label:l.name,value:l.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(s,{label:"关联名称",prop:"name"},{default:n(()=>[t(b,{modelValue:a(o).name,"onUpdate:modelValue":e[1]||(e[1]=l=>a(o).name=l),placeholder:"请输入关联名称"},null,8,["modelValue"])]),_:1}),t(s,{label:"关联模型",prop:"model"},{default:n(()=>[t(c,{class:"flex-1",modelValue:a(o).model,"onUpdate:modelValue":e[2]||(e[2]=l=>a(o).model=l),placeholder:"请选择关联模型"},{default:n(()=>[(u(!0),m(i,null,_(a(R).models,l=>(u(),y(f,{label:l,value:l,key:l},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(s,{label:"关联健",prop:"local_key"},{default:n(()=>[t(c,{class:"flex-1",modelValue:a(o).local_key,"onUpdate:modelValue":e[3]||(e[3]=l=>a(o).local_key=l),clearable:"",placeholder:"请选择关联健"},{default:n(()=>[(u(!0),m(i,null,_(k.column,l=>(u(),y(f,{key:l.id,value:l.column_name,label:`${l.column_name}:${l.column_comment}`},null,8,["value","label"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(s,{label:"外键",prop:"foreign_key"},{default:n(()=>[t(b,{modelValue:a(o).foreign_key,"onUpdate:modelValue":e[4]||(e[4]=l=>a(o).foreign_key=l),placeholder:"关联表外键或中间表的外键"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["title"])])}}});export{Y as _}; +import{D as A,B as I,P as N,Q as O,C as S}from"./element-plus-DFTWCWyi.js";import{a as $}from"./code-UKo2HpQE.js";import{_ as G}from"./index-BwF7vczx.js";import{u as L}from"./useDictOptions-Dl6xXBty.js";import{f as M,ak as u,I as m,a as t,aN as n,F as i,ap as _,G as y,A as P}from"./@vue/runtime-core-C6bnekPw.js";import{y as a,q as g,r as Q,n as T}from"./@vue/reactivity-DiY1c2vO.js";const j={class:"edit-popup"},Y=M({__name:"relations-add",props:{column:{type:Array,default:()=>[]},types:{type:Array,default:()=>[]}},emits:["add","close","edit"],setup(k,{expose:x,emit:q}){const v=q,V=g(),d=g(),p=T("add"),C=P(()=>p.value=="edit"?"编辑关联":"新增关联"),o=Q({name:"",model:"",type:"",local_key:"",foreign_key:""}),E={name:[{required:!0,message:"请输入关联名称"}],type:[{required:!0,message:"请选择关联类型"}],model:[{required:!0,message:"请选择关联模型"}],local_key:[{required:!0,message:"请选择关联健"}],foreign_key:[{required:!0,message:"请输入外键"}]},{optionsData:R}=L({models:{api:$}}),w=async()=>{var r,e;await((r=V.value)==null?void 0:r.validate()),(e=d.value)==null||e.close(),v(p.value,o)},D=(r="add")=>{var e;p.value=r,(e=d.value)==null||e.open()},F=r=>{for(const e in o)r[e]!=null&&r[e]!=null&&(o[e]=r[e])},U=()=>{v("close")};return x({open:D,setFormData:F}),(r,e)=>{const f=O,c=N,s=I,b=S,B=A;return u(),m("div",j,[t(G,{ref_key:"popupRef",ref:d,title:a(C),async:!0,width:"550px",onConfirm:w,onClose:U},{default:n(()=>[t(B,{ref_key:"formRef",ref:V,model:a(o),"label-width":"84px",rules:E},{default:n(()=>[t(s,{label:"关联类型",prop:"type"},{default:n(()=>[t(c,{class:"flex-1",modelValue:a(o).type,"onUpdate:modelValue":e[0]||(e[0]=l=>a(o).type=l),placeholder:"请选择关联类型"},{default:n(()=>[(u(!0),m(i,null,_(k.types,(l,h)=>(u(),y(f,{key:h,label:l.name,value:l.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(s,{label:"关联名称",prop:"name"},{default:n(()=>[t(b,{modelValue:a(o).name,"onUpdate:modelValue":e[1]||(e[1]=l=>a(o).name=l),placeholder:"请输入关联名称"},null,8,["modelValue"])]),_:1}),t(s,{label:"关联模型",prop:"model"},{default:n(()=>[t(c,{class:"flex-1",modelValue:a(o).model,"onUpdate:modelValue":e[2]||(e[2]=l=>a(o).model=l),placeholder:"请选择关联模型"},{default:n(()=>[(u(!0),m(i,null,_(a(R).models,l=>(u(),y(f,{label:l,value:l,key:l},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(s,{label:"关联健",prop:"local_key"},{default:n(()=>[t(c,{class:"flex-1",modelValue:a(o).local_key,"onUpdate:modelValue":e[3]||(e[3]=l=>a(o).local_key=l),clearable:"",placeholder:"请选择关联健"},{default:n(()=>[(u(!0),m(i,null,_(k.column,l=>(u(),y(f,{key:l.id,value:l.column_name,label:`${l.column_name}:${l.column_comment}`},null,8,["value","label"]))),128))]),_:1},8,["modelValue"])]),_:1}),t(s,{label:"外键",prop:"foreign_key"},{default:n(()=>[t(b,{modelValue:a(o).foreign_key,"onUpdate:modelValue":e[4]||(e[4]=l=>a(o).foreign_key=l),placeholder:"关联表外键或中间表的外键"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["title"])])}}});export{Y as _}; diff --git a/server/public/admin/assets/rich_text-izxF0JPq.js b/server/public/admin/assets/rich_text-DWxR2pX7.js similarity index 78% rename from server/public/admin/assets/rich_text-izxF0JPq.js rename to server/public/admin/assets/rich_text-DWxR2pX7.js index c78707d2..6816ccc0 100644 --- a/server/public/admin/assets/rich_text-izxF0JPq.js +++ b/server/public/admin/assets/rich_text-DWxR2pX7.js @@ -1 +1 @@ -import{J as l}from"./element-plus-0wC3naml.js";import{_ as n}from"./index.vue_vue_type_style_index_0_lang-CSw0OmVb.js";import{f as s,ak as d,I as u,a as r,aN as a}from"./@vue/runtime-core-C6bnekPw.js";import{y as m,r as _}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./@wangeditor/editor-Cyf37SuL.js";import"./@wangeditor/editor-for-vue-D1vSph3l.js";import"./picker-DlbAZkDm.js";import"./index-nymJKQXP.js";import"./index-E47--KT7.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-B56X8bEB.js";import"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import"./index-BHTgr4Ka.js";import"./index-Ci4dcEQh.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-DoYUJmkp.js";import"./index.vue_vue_type_script_setup_true_lang-Bl0f8aX8.js";import"./usePaging-VsbTxSU0.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";const Vo=s({__name:"rich_text",setup(c){const o=_({value1:"",value2:""});return(f,t)=>{const i=n,e=l;return d(),u("div",null,[r(e,{header:"基础使用",shadow:"never",class:"!border-none"},{default:a(()=>[r(i,{modelValue:m(o).value1,"onUpdate:modelValue":t[0]||(t[0]=p=>m(o).value1=p),height:"500px"},null,8,["modelValue"])]),_:1}),r(e,{header:"简洁模式",shadow:"never",class:"!border-none mt-4"},{default:a(()=>[r(i,{modelValue:m(o).value2,"onUpdate:modelValue":t[1]||(t[1]=p=>m(o).value2=p),height:"500px",mode:"simple"},null,8,["modelValue"])]),_:1})])}}});export{Vo as default}; +import{J as l}from"./element-plus-DFTWCWyi.js";import{_ as n}from"./index.vue_vue_type_style_index_0_lang-CV_qr4dh.js";import{f as s,ak as d,I as u,a as r,aN as a}from"./@vue/runtime-core-C6bnekPw.js";import{y as m,r as _}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./@wangeditor/editor-Cyf37SuL.js";import"./@wangeditor/editor-for-vue-D1vSph3l.js";import"./picker-BCRrEZaA.js";import"./index-BwF7vczx.js";import"./index-DBREMm_z.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-BiPYXDtP.js";import"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import"./index-CbfZXeGu.js";import"./index-CRoZWY-W.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-BimpIRb_.js";import"./index.vue_vue_type_script_setup_true_lang-x0oL2ShL.js";import"./usePaging-VsbTxSU0.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";const Vo=s({__name:"rich_text",setup(c){const o=_({value1:"",value2:""});return(f,t)=>{const i=n,e=l;return d(),u("div",null,[r(e,{header:"基础使用",shadow:"never",class:"!border-none"},{default:a(()=>[r(i,{modelValue:m(o).value1,"onUpdate:modelValue":t[0]||(t[0]=p=>m(o).value1=p),height:"500px"},null,8,["modelValue"])]),_:1}),r(e,{header:"简洁模式",shadow:"never",class:"!border-none mt-4"},{default:a(()=>[r(i,{modelValue:m(o).value2,"onUpdate:modelValue":t[1]||(t[1]=p=>m(o).value2=p),height:"500px",mode:"simple"},null,8,["modelValue"])]),_:1})])}}});export{Vo as default}; diff --git a/server/public/admin/assets/role-DPqAO58h.js b/server/public/admin/assets/role-DTNlgcHU.js similarity index 83% rename from server/public/admin/assets/role-DPqAO58h.js rename to server/public/admin/assets/role-DTNlgcHU.js index 95e2f0b8..aaa89e5d 100644 --- a/server/public/admin/assets/role-DPqAO58h.js +++ b/server/public/admin/assets/role-DTNlgcHU.js @@ -1 +1 @@ -import{r as t}from"./index-E47--KT7.js";function l(r){return t.get({url:"/auth.role/lists",params:r})}function o(r){return t.get({url:"/auth.role/all",params:r})}function u(r){return t.post({url:"/auth.role/add",params:r})}function n(r){return t.post({url:"/auth.role/edit",params:r})}function a(r){return t.post({url:"/auth.role/delete",params:r})}export{n as a,u as b,l as c,a as d,o as r}; +import{r as t}from"./index-DBREMm_z.js";function l(r){return t.get({url:"/auth.role/lists",params:r})}function o(r){return t.get({url:"/auth.role/all",params:r})}function u(r){return t.post({url:"/auth.role/add",params:r})}function n(r){return t.post({url:"/auth.role/edit",params:r})}function a(r){return t.post({url:"/auth.role/delete",params:r})}export{n as a,u as b,l as c,a as d,o as r}; diff --git a/server/public/admin/assets/roster-BT97aWzA.js b/server/public/admin/assets/roster-CS04CDja.js similarity index 98% rename from server/public/admin/assets/roster-BT97aWzA.js rename to server/public/admin/assets/roster-CS04CDja.js index b01970eb..4cdb178c 100644 --- a/server/public/admin/assets/roster-BT97aWzA.js +++ b/server/public/admin/assets/roster-CS04CDja.js @@ -1 +1 @@ -import{D as qe,B as Ue,C as $e,i as Ie,K as Se,M as Me,N as Be,L as We,J as Ne,V as he,ad as Re,P as Te,Q as Le,h as Fe,G as Ae,I as Ge,a2 as Oe,ae as Pe,H as ze,a as je}from"./element-plus-0wC3naml.js";import{d as M,g as He}from"./dayjs-DG77mNTn.js";import{i as m,_ as Je}from"./index-E47--KT7.js";import{a as Qe}from"./admin-DO1zWq80.js";import{e as Ke,f as Xe,r as Ze,h as et}from"./doctor-6V0qM7Ks.js";import{f as ae,b as tt,ak as f,I as k,a,aN as o,J as v,O as s,aP as at,G as B,F as R,ap as T,H as te,A as L}from"./@vue/runtime-core-C6bnekPw.js";import{n as _}from"./@vue/reactivity-DiY1c2vO.js";import{Q as Y,o as lt}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const ot={class:"doctor-roster p-4"},st={class:"flex justify-between items-center"},nt={class:"mb-4"},rt={class:"text-center mb-4 text-gray-600"},ut=["onClick"],dt={key:0,class:"text-xs text-gray-400 text-center py-2"},it={key:1,class:"space-y-1"},mt={class:"flex items-center gap-2 flex-wrap"},pt={class:"w-full space-y-2"},ft=ae({name:"doctorRoster"}),vt=ae({...ft,setup(_t){M.extend(He);const F=_(""),g=_(M().startOf("isoWeek")),A=_(!1),W=_(!1),V=_(null),x=_(""),j=_([]),U=_(!1),G=_(!1),d=_({id:null,doctorId:0,date:"",start_time:"09:00",end_time:"12:00",shift_type:"",slot_minutes:15,status:1,quota:0,max_patients:0,remark:""}),$=_(!1),O=_(!1),H=()=>[{start_time:"09:00",end_time:"12:00",shift_type:"day",slot_minutes:15,quota:0},{start_time:"14:00",end_time:"18:00",shift_type:"day",slot_minutes:15,quota:0}],r=_({doctorIds:[],dateRange:[],weekdays:[1,2,3,4,5],status:1,remark:"",segments:H()}),q=_([]),le=L(()=>{const t=F.value.trim();return t?q.value.filter(e=>e.doctorName.includes(t)):q.value}),oe=L(()=>!V.value||!x.value?"当日排班":`${V.value.doctorName} · ${x.value}`),se=L(()=>{const t=[],e=["周一","周二","周三","周四","周五","周六","周日"];for(let u=0;u<7;u++){const i=g.value.add(u,"day");t.push({date:i.format("YYYY-MM-DD"),label:`${e[u]} ${i.format("MM-DD")}`})}return t}),ne=L(()=>{const t=g.value.format("YYYY-MM-DD"),e=g.value.add(6,"day").format("YYYY-MM-DD");return`${t} 至 ${e}`});function J(t){return{1:"出诊",2:"停诊",3:"休息",4:"请假"}[t]??String(t)}function Q(t){return t==="day"?"白班":t==="night"?"夜班":"—"}function re(t){return t===1?"bg-emerald-50 text-emerald-800 border border-emerald-100":t===2?"bg-amber-50 text-amber-900 border border-amber-100":t===3?"bg-slate-100 text-slate-600 border border-slate-200":"bg-gray-100 text-gray-700 border border-gray-200"}function ue(t){const e=`${t.start_time}-${t.end_time}`,u=Q(t.shift_type),i=u!=="—"?` ${u}`:"";if(t.status===1){const n=t.quota>0?` 号源${t.quota}`:"";return`${e}${i} 出诊${n}`}return`${e}${i} ${J(t.status)}`}function K(t,e){return t.rostersByDate[e]||[]}function N(){if(!V.value||!x.value)return;const t=q.value.find(e=>e.doctorId===V.value.doctorId);t&&(j.value=[...t.rostersByDate[x.value]||[]].sort((e,u)=>e.start_time.localeCompare(u.start_time)))}function de(t,e){V.value=t,x.value=e,N(),W.value=!0}function X(t){if(!V.value||!x.value){m.msgWarning("请先选择日期格子");return}t?d.value={id:t.id,doctorId:V.value.doctorId,date:x.value,start_time:t.start_time||"09:00",end_time:t.end_time||"12:00",shift_type:t.shift_type||"",slot_minutes:t.slot_minutes||15,status:t.status,quota:t.quota??0,max_patients:t.max_patients??0,remark:t.remark||""}:d.value={id:null,doctorId:V.value.doctorId,date:x.value,start_time:"09:00",end_time:"12:00",shift_type:"day",slot_minutes:15,status:1,quota:0,max_patients:0,remark:""},U.value=!0}async function ie(){const t=d.value;if(!t.start_time||!t.end_time){m.msgWarning("请填写接诊开始与结束时间");return}if(t.status===1&&t.start_time>=t.end_time){m.msgWarning("出诊时结束时间须晚于开始时间");return}if(t.start_time>=t.end_time){m.msgWarning("结束时间须晚于开始时间");return}G.value=!0;try{const e={doctor_id:t.doctorId,date:t.date,period:"segment",start_time:t.start_time,end_time:t.end_time,slot_minutes:t.slot_minutes||15,status:t.status,quota:t.status===1?t.quota:0,max_patients:t.status===1?t.max_patients:0,remark:t.remark||""};t.shift_type&&(e.shift_type=t.shift_type),t.id&&(e.id=t.id),await Ke(e),m.msgSuccess("保存成功"),U.value=!1,await w(),N()}catch{m.msgError("保存失败")}finally{G.value=!1}}async function me(t){try{await je.confirm("确定删除该时段?","提示",{type:"warning"})}catch{return}try{await Xe({id:t.id}),m.msgSuccess("已删除"),await w(),N()}catch{m.msgError("删除失败")}}const pe=async()=>{try{const t=await Qe({page_no:1,page_size:1e3,role_id:1});q.value=((t==null?void 0:t.lists)||[]).map(e=>({doctorId:e.id,doctorName:e.name||e.account,rostersByDate:{}})),await w()}catch(t){console.error("加载医生列表失败:",t),m.msgError("加载医生列表失败")}},w=async()=>{A.value=!0;try{const t={start_date:g.value.format("YYYY-MM-DD"),end_date:g.value.add(6,"day").format("YYYY-MM-DD")},e=await Ze(t),u=(e==null?void 0:e.lists)||[];q.value.forEach(i=>{i.rostersByDate={},u.forEach(n=>{if(n.doctor_id!==i.doctorId)return;const b=n.date;i.rostersByDate[b]||(i.rostersByDate[b]=[]),i.rostersByDate[b].push({id:n.id,status:n.status,quota:n.quota||0,max_patients:n.max_patients,start_time:n.start_time||fe(n.period),end_time:n.end_time||ve(n.period),shift_type:n.shift_type,slot_minutes:n.slot_minutes??15,remark:n.remark,period:n.period})})}),N()}catch(t){console.error("加载排班数据失败:",t),m.msgError("加载排班数据失败")}finally{A.value=!1}};function fe(t){return t==="morning"?"09:00":t==="afternoon"?"14:00":t==="night"?"18:00":"09:00"}function ve(t){return t==="morning"?"12:00":t==="afternoon"?"18:00":t==="night"?"22:00":"12:00"}const _e=()=>{w()},ye=()=>{g.value=g.value.subtract(1,"week"),w()},ge=()=>{g.value=g.value.add(1,"week"),w()},be=()=>{g.value=M().startOf("isoWeek"),w()},ke=()=>{r.value={doctorIds:[],dateRange:[],weekdays:[1,2,3,4,5],status:1,remark:"",segments:H()},$.value=!0},Ve=()=>{r.value.segments.push({start_time:"09:00",end_time:"12:00",shift_type:"day",slot_minutes:15,quota:0})},xe=()=>{r.value.segments.push({start_time:"18:00",end_time:"22:00",shift_type:"night",slot_minutes:15,quota:0})},we=t=>{r.value.segments.length<=1||r.value.segments.splice(t,1)},ce=async()=>{if(r.value.doctorIds.length===0){m.msgWarning("请选择医生");return}if(!r.value.dateRange||r.value.dateRange.length!==2){m.msgWarning("请选择日期范围");return}if(r.value.weekdays.length===0){m.msgWarning("请选择星期");return}for(const t of r.value.segments){if(!t.start_time||!t.end_time){m.msgWarning("请完善时段模板的开始与结束时间");return}if(t.start_time>=t.end_time){m.msgWarning("时段模板中结束时间须晚于开始时间");return}}O.value=!0;try{const t=[],e=M(r.value.dateRange[0]),u=M(r.value.dateRange[1]);let i=e;for(;i.isBefore(u)||i.isSame(u,"day");){const n=i.day();r.value.weekdays.includes(n)&&r.value.doctorIds.forEach(b=>{r.value.segments.forEach(c=>{const y={doctor_id:b,date:i.format("YYYY-MM-DD"),period:"segment",start_time:c.start_time,end_time:c.end_time,slot_minutes:c.slot_minutes||15,status:r.value.status,quota:r.value.status===1?c.quota:0,max_patients:0,remark:r.value.remark};c.shift_type&&(y.shift_type=c.shift_type),t.push(y)})}),i=i.add(1,"day")}if(t.length===0){m.msgWarning("没有符合条件的排班数据");return}await et({rosters:t}),m.msgSuccess(`批量保存成功!共处理 ${t.length} 条记录`),$.value=!1,await w()}catch(t){console.error("批量保存失败:",t),m.msgError("批量保存失败")}finally{O.value=!1}};return tt(()=>{pe()}),(t,e)=>{const u=Ie,i=$e,n=Ue,b=qe,c=Se,y=Be,Z=Me,De=Ne,P=he,h=Re,I=Le,z=Te,S=Fe,D=Ge,ee=Ae,Ce=Oe,E=ze,Ye=Pe,Ee=We;return f(),k("div",ot,[a(De,{shadow:"never"},{header:o(()=>[v("div",st,[e[25]||(e[25]=v("span",{class:"text-lg font-medium"},"医生排班管理",-1)),v("div",null,[a(u,{type:"success",onClick:ke},{default:o(()=>[...e[21]||(e[21]=[s("批量排班",-1)])]),_:1}),a(u,{onClick:ye},{default:o(()=>[...e[22]||(e[22]=[s("上一周",-1)])]),_:1}),a(u,{onClick:ge},{default:o(()=>[...e[23]||(e[23]=[s("下一周",-1)])]),_:1}),a(u,{type:"primary",onClick:be},{default:o(()=>[...e[24]||(e[24]=[s("本周",-1)])]),_:1})])])]),default:o(()=>[v("div",nt,[a(b,{inline:""},{default:o(()=>[a(n,{label:"医生"},{default:o(()=>[a(i,{modelValue:F.value,"onUpdate:modelValue":e[0]||(e[0]=l=>F.value=l),placeholder:"请输入医生姓名",clearable:"",style:{width:"200px"}},null,8,["modelValue"])]),_:1}),a(n,null,{default:o(()=>[a(u,{type:"primary",onClick:_e},{default:o(()=>[...e[26]||(e[26]=[s("查询",-1)])]),_:1})]),_:1})]),_:1})]),a(c,{type:"info",closable:!1,class:"mb-4","show-icon":""},{default:o(()=>[...e[27]||(e[27]=[s(" 每条排班为一段连续可挂号时间;同一天可添加多段(如白班 + 夜班)。休息时段不添加出诊段即可。号源间隔默认 15 分钟;号源数填 0 表示按时段长度自动满号。 ",-1)])]),_:1}),v("div",rt,Y(ne.value),1),at((f(),B(Z,{data:le.value,border:""},{default:o(()=>[a(y,{prop:"doctorName",label:"医生",width:"120",fixed:""}),(f(!0),k(R,null,T(se.value,l=>(f(),B(y,{key:l.date,label:l.label,"min-width":"168"},{default:o(({row:C})=>[v("div",{class:"day-cell rounded border border-dashed border-gray-200 p-1 min-h-[56px] cursor-pointer hover:bg-gray-50",onClick:p=>de(C,l.date)},[K(C,l.date).length===0?(f(),k("div",dt,"点击管理")):(f(),k("div",it,[(f(!0),k(R,null,T(K(C,l.date),p=>(f(),k("div",{key:p.id,class:lt(["text-xs px-1 py-0.5 rounded leading-tight",re(p.status)])},Y(ue(p)),3))),128))]))],8,ut)]),_:2},1032,["label"]))),128))]),_:1},8,["data"])),[[Ee,A.value]])]),_:1}),a(P,{modelValue:W.value,"onUpdate:modelValue":e[3]||(e[3]=l=>W.value=l),title:oe.value,width:"720px","destroy-on-close":""},{footer:o(()=>[a(u,{onClick:e[1]||(e[1]=l=>W.value=!1)},{default:o(()=>[...e[30]||(e[30]=[s("关闭",-1)])]),_:1}),a(u,{type:"primary",onClick:e[2]||(e[2]=l=>X())},{default:o(()=>[...e[31]||(e[31]=[s("添加时段",-1)])]),_:1})]),default:o(()=>[a(Z,{data:j.value,border:"",size:"small","max-height":"360"},{default:o(()=>[a(y,{label:"时间",width:"150"},{default:o(({row:l})=>[s(Y(l.start_time)+" - "+Y(l.end_time),1)]),_:1}),a(y,{label:"班次",width:"80"},{default:o(({row:l})=>[s(Y(Q(l.shift_type)),1)]),_:1}),a(y,{label:"状态",width:"88"},{default:o(({row:l})=>[s(Y(J(l.status)),1)]),_:1}),a(y,{label:"间隔",width:"72"},{default:o(({row:l})=>[s(Y(l.slot_minutes||15)+" 分",1)]),_:1}),a(y,{label:"号源",width:"72"},{default:o(({row:l})=>[s(Y(l.status===1?l.quota||"不限":"-"),1)]),_:1}),a(y,{label:"备注",prop:"remark","min-width":"100","show-overflow-tooltip":""}),a(y,{label:"操作",width:"140",fixed:"right"},{default:o(({row:l})=>[a(u,{type:"primary",link:"",onClick:C=>X(l)},{default:o(()=>[...e[28]||(e[28]=[s("编辑",-1)])]),_:1},8,["onClick"]),a(u,{type:"danger",link:"",onClick:C=>me(l)},{default:o(()=>[...e[29]||(e[29]=[s("删除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])]),_:1},8,["modelValue","title"]),a(P,{modelValue:U.value,"onUpdate:modelValue":e[13]||(e[13]=l=>U.value=l),title:d.value.id?"编辑时段":"添加时段",width:"520px","destroy-on-close":""},{footer:o(()=>[a(u,{onClick:e[12]||(e[12]=l=>U.value=!1)},{default:o(()=>[...e[39]||(e[39]=[s("取消",-1)])]),_:1}),a(u,{type:"primary",loading:G.value,onClick:ie},{default:o(()=>[...e[40]||(e[40]=[s("保存",-1)])]),_:1},8,["loading"])]),default:o(()=>[a(b,{model:d.value,"label-width":"110px"},{default:o(()=>[a(n,{label:"接诊时间",required:""},{default:o(()=>[v("div",mt,[a(h,{modelValue:d.value.start_time,"onUpdate:modelValue":e[4]||(e[4]=l=>d.value.start_time=l),start:"00:00",step:"00:5",end:"23:45",placeholder:"开始",style:{width:"120px"}},null,8,["modelValue"]),e[32]||(e[32]=v("span",null,"至",-1)),a(h,{modelValue:d.value.end_time,"onUpdate:modelValue":e[5]||(e[5]=l=>d.value.end_time=l),start:"00:00",step:"00:5",end:"23:45",placeholder:"结束",style:{width:"120px"}},null,8,["modelValue"])])]),_:1}),a(n,{label:"班次标签"},{default:o(()=>[a(z,{modelValue:d.value.shift_type,"onUpdate:modelValue":e[6]||(e[6]=l=>d.value.shift_type=l),placeholder:"选填",clearable:"",style:{width:"200px"}},{default:o(()=>[a(I,{label:"白班",value:"day"}),a(I,{label:"夜班",value:"night"})]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"号源间隔(分)"},{default:o(()=>[a(S,{modelValue:d.value.slot_minutes,"onUpdate:modelValue":e[7]||(e[7]=l=>d.value.slot_minutes=l),min:5,max:120,step:5},null,8,["modelValue"]),e[33]||(e[33]=v("span",{class:"ml-2 text-gray-500 text-sm"},"默认 15",-1))]),_:1}),a(n,{label:"状态"},{default:o(()=>[a(ee,{modelValue:d.value.status,"onUpdate:modelValue":e[8]||(e[8]=l=>d.value.status=l)},{default:o(()=>[a(D,{label:1},{default:o(()=>[...e[34]||(e[34]=[s("出诊",-1)])]),_:1}),a(D,{label:2},{default:o(()=>[...e[35]||(e[35]=[s("停诊",-1)])]),_:1}),a(D,{label:3},{default:o(()=>[...e[36]||(e[36]=[s("休息",-1)])]),_:1}),a(D,{label:4},{default:o(()=>[...e[37]||(e[37]=[s("请假",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),d.value.status===1?(f(),B(n,{key:0,label:"号源上限"},{default:o(()=>[a(S,{modelValue:d.value.quota,"onUpdate:modelValue":e[9]||(e[9]=l=>d.value.quota=l),min:0,max:200},null,8,["modelValue"]),e[38]||(e[38]=v("div",{class:"text-gray-500 text-xs mt-1"},"0 表示不限制(由时段÷间隔计算可约数)",-1))]),_:1})):te("",!0),d.value.status===1?(f(),B(n,{key:1,label:"最大接诊"},{default:o(()=>[a(S,{modelValue:d.value.max_patients,"onUpdate:modelValue":e[10]||(e[10]=l=>d.value.max_patients=l),min:0,max:500},null,8,["modelValue"])]),_:1})):te("",!0),a(n,{label:"备注"},{default:o(()=>[a(i,{modelValue:d.value.remark,"onUpdate:modelValue":e[11]||(e[11]=l=>d.value.remark=l),type:"textarea",rows:2},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"]),a(P,{modelValue:$.value,"onUpdate:modelValue":e[20]||(e[20]=l=>$.value=l),title:"批量排班",width:"780px","destroy-on-close":""},{footer:o(()=>[a(u,{onClick:e[19]||(e[19]=l=>$.value=!1)},{default:o(()=>[...e[58]||(e[58]=[s("取消",-1)])]),_:1}),a(u,{type:"primary",onClick:ce,loading:O.value},{default:o(()=>[...e[59]||(e[59]=[s("确定",-1)])]),_:1},8,["loading"])]),default:o(()=>[a(b,{model:r.value,"label-width":"100px"},{default:o(()=>[a(n,{label:"选择医生",required:""},{default:o(()=>[a(z,{modelValue:r.value.doctorIds,"onUpdate:modelValue":e[14]||(e[14]=l=>r.value.doctorIds=l),multiple:"",placeholder:"请选择医生",class:"w-full",filterable:""},{default:o(()=>[(f(!0),k(R,null,T(q.value,l=>(f(),B(I,{key:l.doctorId,label:l.doctorName,value:l.doctorId},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"日期范围",required:""},{default:o(()=>[a(Ce,{modelValue:r.value.dateRange,"onUpdate:modelValue":e[15]||(e[15]=l=>r.value.dateRange=l),type:"daterange","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期",format:"YYYY-MM-DD","value-format":"YYYY-MM-DD",class:"w-full"},null,8,["modelValue"])]),_:1}),a(n,{label:"星期",required:""},{default:o(()=>[a(Ye,{modelValue:r.value.weekdays,"onUpdate:modelValue":e[16]||(e[16]=l=>r.value.weekdays=l)},{default:o(()=>[a(E,{label:1},{default:o(()=>[...e[41]||(e[41]=[s("周一",-1)])]),_:1}),a(E,{label:2},{default:o(()=>[...e[42]||(e[42]=[s("周二",-1)])]),_:1}),a(E,{label:3},{default:o(()=>[...e[43]||(e[43]=[s("周三",-1)])]),_:1}),a(E,{label:4},{default:o(()=>[...e[44]||(e[44]=[s("周四",-1)])]),_:1}),a(E,{label:5},{default:o(()=>[...e[45]||(e[45]=[s("周五",-1)])]),_:1}),a(E,{label:6},{default:o(()=>[...e[46]||(e[46]=[s("周六",-1)])]),_:1}),a(E,{label:0},{default:o(()=>[...e[47]||(e[47]=[s("周日",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"时段模板"},{default:o(()=>[v("div",pt,[(f(!0),k(R,null,T(r.value.segments,(l,C)=>(f(),k("div",{key:C,class:"flex flex-wrap items-center gap-2 p-2 bg-gray-50 rounded"},[a(h,{modelValue:l.start_time,"onUpdate:modelValue":p=>l.start_time=p,start:"00:00",step:"00:05",end:"23:45",placeholder:"开始",style:{width:"110px"}},null,8,["modelValue","onUpdate:modelValue"]),e[49]||(e[49]=v("span",null,"—",-1)),a(h,{modelValue:l.end_time,"onUpdate:modelValue":p=>l.end_time=p,start:"00:00",step:"00:05",end:"23:45",placeholder:"结束",style:{width:"110px"}},null,8,["modelValue","onUpdate:modelValue"]),a(z,{modelValue:l.shift_type,"onUpdate:modelValue":p=>l.shift_type=p,placeholder:"班次",clearable:"",style:{width:"100px"}},{default:o(()=>[a(I,{label:"白班",value:"day"}),a(I,{label:"夜班",value:"night"})]),_:1},8,["modelValue","onUpdate:modelValue"]),e[50]||(e[50]=v("span",{class:"text-sm text-gray-500"},"间隔",-1)),a(S,{modelValue:l.slot_minutes,"onUpdate:modelValue":p=>l.slot_minutes=p,min:5,max:120,step:5,style:{width:"100px"}},null,8,["modelValue","onUpdate:modelValue"]),e[51]||(e[51]=v("span",{class:"text-sm text-gray-500"},"号源0=不限",-1)),a(S,{modelValue:l.quota,"onUpdate:modelValue":p=>l.quota=p,min:0,max:200,style:{width:"100px"}},null,8,["modelValue","onUpdate:modelValue"]),a(u,{type:"danger",link:"",onClick:p=>we(C),disabled:r.value.segments.length<=1},{default:o(()=>[...e[48]||(e[48]=[s("删除",-1)])]),_:1},8,["onClick","disabled"])]))),128)),a(u,{type:"primary",link:"",onClick:Ve},{default:o(()=>[...e[52]||(e[52]=[s("+ 增加一段",-1)])]),_:1}),a(u,{type:"success",link:"",onClick:xe},{default:o(()=>[...e[53]||(e[53]=[s("+ 夜班 18:00–22:00",-1)])]),_:1})])]),_:1}),a(n,{label:"排班状态",required:""},{default:o(()=>[a(ee,{modelValue:r.value.status,"onUpdate:modelValue":e[17]||(e[17]=l=>r.value.status=l)},{default:o(()=>[a(D,{label:1},{default:o(()=>[...e[54]||(e[54]=[s("出诊",-1)])]),_:1}),a(D,{label:2},{default:o(()=>[...e[55]||(e[55]=[s("停诊",-1)])]),_:1}),a(D,{label:3},{default:o(()=>[...e[56]||(e[56]=[s("休息",-1)])]),_:1}),a(D,{label:4},{default:o(()=>[...e[57]||(e[57]=[s("请假",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"备注"},{default:o(()=>[a(i,{modelValue:r.value.remark,"onUpdate:modelValue":e[18]||(e[18]=l=>r.value.remark=l),type:"textarea",rows:2},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"])])}}}),ta=Je(vt,[["__scopeId","data-v-396c02a7"]]);export{ta as default}; +import{D as qe,B as Ue,C as $e,i as Ie,K as Se,M as Me,N as Be,L as We,J as Ne,V as he,ae as Re,P as Te,Q as Le,h as Fe,G as Ae,I as Ge,a2 as Oe,af as Pe,H as ze,a as je}from"./element-plus-DFTWCWyi.js";import{d as M,g as He}from"./dayjs-DG77mNTn.js";import{i as m,_ as Je}from"./index-DBREMm_z.js";import{a as Qe}from"./admin-DVVxI3fN.js";import{f as Ke,h as Xe,r as Ze,i as et}from"./doctor-ul0r578d.js";import{f as ae,b as tt,ak as f,I as k,a,aN as o,J as v,O as s,aP as at,G as B,F as R,ap as T,H as te,A as L}from"./@vue/runtime-core-C6bnekPw.js";import{n as _}from"./@vue/reactivity-DiY1c2vO.js";import{Q as Y,o as lt}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const ot={class:"doctor-roster p-4"},st={class:"flex justify-between items-center"},nt={class:"mb-4"},rt={class:"text-center mb-4 text-gray-600"},ut=["onClick"],dt={key:0,class:"text-xs text-gray-400 text-center py-2"},it={key:1,class:"space-y-1"},mt={class:"flex items-center gap-2 flex-wrap"},pt={class:"w-full space-y-2"},ft=ae({name:"doctorRoster"}),vt=ae({...ft,setup(_t){M.extend(He);const F=_(""),g=_(M().startOf("isoWeek")),A=_(!1),W=_(!1),V=_(null),x=_(""),j=_([]),U=_(!1),G=_(!1),d=_({id:null,doctorId:0,date:"",start_time:"09:00",end_time:"12:00",shift_type:"",slot_minutes:15,status:1,quota:0,max_patients:0,remark:""}),$=_(!1),O=_(!1),H=()=>[{start_time:"09:00",end_time:"12:00",shift_type:"day",slot_minutes:15,quota:0},{start_time:"14:00",end_time:"18:00",shift_type:"day",slot_minutes:15,quota:0}],r=_({doctorIds:[],dateRange:[],weekdays:[1,2,3,4,5],status:1,remark:"",segments:H()}),q=_([]),le=L(()=>{const t=F.value.trim();return t?q.value.filter(e=>e.doctorName.includes(t)):q.value}),oe=L(()=>!V.value||!x.value?"当日排班":`${V.value.doctorName} · ${x.value}`),se=L(()=>{const t=[],e=["周一","周二","周三","周四","周五","周六","周日"];for(let u=0;u<7;u++){const i=g.value.add(u,"day");t.push({date:i.format("YYYY-MM-DD"),label:`${e[u]} ${i.format("MM-DD")}`})}return t}),ne=L(()=>{const t=g.value.format("YYYY-MM-DD"),e=g.value.add(6,"day").format("YYYY-MM-DD");return`${t} 至 ${e}`});function J(t){return{1:"出诊",2:"停诊",3:"休息",4:"请假"}[t]??String(t)}function Q(t){return t==="day"?"白班":t==="night"?"夜班":"—"}function re(t){return t===1?"bg-emerald-50 text-emerald-800 border border-emerald-100":t===2?"bg-amber-50 text-amber-900 border border-amber-100":t===3?"bg-slate-100 text-slate-600 border border-slate-200":"bg-gray-100 text-gray-700 border border-gray-200"}function ue(t){const e=`${t.start_time}-${t.end_time}`,u=Q(t.shift_type),i=u!=="—"?` ${u}`:"";if(t.status===1){const n=t.quota>0?` 号源${t.quota}`:"";return`${e}${i} 出诊${n}`}return`${e}${i} ${J(t.status)}`}function K(t,e){return t.rostersByDate[e]||[]}function N(){if(!V.value||!x.value)return;const t=q.value.find(e=>e.doctorId===V.value.doctorId);t&&(j.value=[...t.rostersByDate[x.value]||[]].sort((e,u)=>e.start_time.localeCompare(u.start_time)))}function de(t,e){V.value=t,x.value=e,N(),W.value=!0}function X(t){if(!V.value||!x.value){m.msgWarning("请先选择日期格子");return}t?d.value={id:t.id,doctorId:V.value.doctorId,date:x.value,start_time:t.start_time||"09:00",end_time:t.end_time||"12:00",shift_type:t.shift_type||"",slot_minutes:t.slot_minutes||15,status:t.status,quota:t.quota??0,max_patients:t.max_patients??0,remark:t.remark||""}:d.value={id:null,doctorId:V.value.doctorId,date:x.value,start_time:"09:00",end_time:"12:00",shift_type:"day",slot_minutes:15,status:1,quota:0,max_patients:0,remark:""},U.value=!0}async function ie(){const t=d.value;if(!t.start_time||!t.end_time){m.msgWarning("请填写接诊开始与结束时间");return}if(t.status===1&&t.start_time>=t.end_time){m.msgWarning("出诊时结束时间须晚于开始时间");return}if(t.start_time>=t.end_time){m.msgWarning("结束时间须晚于开始时间");return}G.value=!0;try{const e={doctor_id:t.doctorId,date:t.date,period:"segment",start_time:t.start_time,end_time:t.end_time,slot_minutes:t.slot_minutes||15,status:t.status,quota:t.status===1?t.quota:0,max_patients:t.status===1?t.max_patients:0,remark:t.remark||""};t.shift_type&&(e.shift_type=t.shift_type),t.id&&(e.id=t.id),await Ke(e),m.msgSuccess("保存成功"),U.value=!1,await w(),N()}catch{m.msgError("保存失败")}finally{G.value=!1}}async function me(t){try{await je.confirm("确定删除该时段?","提示",{type:"warning"})}catch{return}try{await Xe({id:t.id}),m.msgSuccess("已删除"),await w(),N()}catch{m.msgError("删除失败")}}const pe=async()=>{try{const t=await Qe({page_no:1,page_size:1e3,role_id:1});q.value=((t==null?void 0:t.lists)||[]).map(e=>({doctorId:e.id,doctorName:e.name||e.account,rostersByDate:{}})),await w()}catch(t){console.error("加载医生列表失败:",t),m.msgError("加载医生列表失败")}},w=async()=>{A.value=!0;try{const t={start_date:g.value.format("YYYY-MM-DD"),end_date:g.value.add(6,"day").format("YYYY-MM-DD")},e=await Ze(t),u=(e==null?void 0:e.lists)||[];q.value.forEach(i=>{i.rostersByDate={},u.forEach(n=>{if(n.doctor_id!==i.doctorId)return;const b=n.date;i.rostersByDate[b]||(i.rostersByDate[b]=[]),i.rostersByDate[b].push({id:n.id,status:n.status,quota:n.quota||0,max_patients:n.max_patients,start_time:n.start_time||fe(n.period),end_time:n.end_time||ve(n.period),shift_type:n.shift_type,slot_minutes:n.slot_minutes??15,remark:n.remark,period:n.period})})}),N()}catch(t){console.error("加载排班数据失败:",t),m.msgError("加载排班数据失败")}finally{A.value=!1}};function fe(t){return t==="morning"?"09:00":t==="afternoon"?"14:00":t==="night"?"18:00":"09:00"}function ve(t){return t==="morning"?"12:00":t==="afternoon"?"18:00":t==="night"?"22:00":"12:00"}const _e=()=>{w()},ye=()=>{g.value=g.value.subtract(1,"week"),w()},ge=()=>{g.value=g.value.add(1,"week"),w()},be=()=>{g.value=M().startOf("isoWeek"),w()},ke=()=>{r.value={doctorIds:[],dateRange:[],weekdays:[1,2,3,4,5],status:1,remark:"",segments:H()},$.value=!0},Ve=()=>{r.value.segments.push({start_time:"09:00",end_time:"12:00",shift_type:"day",slot_minutes:15,quota:0})},xe=()=>{r.value.segments.push({start_time:"18:00",end_time:"22:00",shift_type:"night",slot_minutes:15,quota:0})},we=t=>{r.value.segments.length<=1||r.value.segments.splice(t,1)},ce=async()=>{if(r.value.doctorIds.length===0){m.msgWarning("请选择医生");return}if(!r.value.dateRange||r.value.dateRange.length!==2){m.msgWarning("请选择日期范围");return}if(r.value.weekdays.length===0){m.msgWarning("请选择星期");return}for(const t of r.value.segments){if(!t.start_time||!t.end_time){m.msgWarning("请完善时段模板的开始与结束时间");return}if(t.start_time>=t.end_time){m.msgWarning("时段模板中结束时间须晚于开始时间");return}}O.value=!0;try{const t=[],e=M(r.value.dateRange[0]),u=M(r.value.dateRange[1]);let i=e;for(;i.isBefore(u)||i.isSame(u,"day");){const n=i.day();r.value.weekdays.includes(n)&&r.value.doctorIds.forEach(b=>{r.value.segments.forEach(c=>{const y={doctor_id:b,date:i.format("YYYY-MM-DD"),period:"segment",start_time:c.start_time,end_time:c.end_time,slot_minutes:c.slot_minutes||15,status:r.value.status,quota:r.value.status===1?c.quota:0,max_patients:0,remark:r.value.remark};c.shift_type&&(y.shift_type=c.shift_type),t.push(y)})}),i=i.add(1,"day")}if(t.length===0){m.msgWarning("没有符合条件的排班数据");return}await et({rosters:t}),m.msgSuccess(`批量保存成功!共处理 ${t.length} 条记录`),$.value=!1,await w()}catch(t){console.error("批量保存失败:",t),m.msgError("批量保存失败")}finally{O.value=!1}};return tt(()=>{pe()}),(t,e)=>{const u=Ie,i=$e,n=Ue,b=qe,c=Se,y=Be,Z=Me,De=Ne,P=he,h=Re,I=Le,z=Te,S=Fe,D=Ge,ee=Ae,Ce=Oe,E=ze,Ye=Pe,Ee=We;return f(),k("div",ot,[a(De,{shadow:"never"},{header:o(()=>[v("div",st,[e[25]||(e[25]=v("span",{class:"text-lg font-medium"},"医生排班管理",-1)),v("div",null,[a(u,{type:"success",onClick:ke},{default:o(()=>[...e[21]||(e[21]=[s("批量排班",-1)])]),_:1}),a(u,{onClick:ye},{default:o(()=>[...e[22]||(e[22]=[s("上一周",-1)])]),_:1}),a(u,{onClick:ge},{default:o(()=>[...e[23]||(e[23]=[s("下一周",-1)])]),_:1}),a(u,{type:"primary",onClick:be},{default:o(()=>[...e[24]||(e[24]=[s("本周",-1)])]),_:1})])])]),default:o(()=>[v("div",nt,[a(b,{inline:""},{default:o(()=>[a(n,{label:"医生"},{default:o(()=>[a(i,{modelValue:F.value,"onUpdate:modelValue":e[0]||(e[0]=l=>F.value=l),placeholder:"请输入医生姓名",clearable:"",style:{width:"200px"}},null,8,["modelValue"])]),_:1}),a(n,null,{default:o(()=>[a(u,{type:"primary",onClick:_e},{default:o(()=>[...e[26]||(e[26]=[s("查询",-1)])]),_:1})]),_:1})]),_:1})]),a(c,{type:"info",closable:!1,class:"mb-4","show-icon":""},{default:o(()=>[...e[27]||(e[27]=[s(" 每条排班为一段连续可挂号时间;同一天可添加多段(如白班 + 夜班)。休息时段不添加出诊段即可。号源间隔默认 15 分钟;号源数填 0 表示按时段长度自动满号。 ",-1)])]),_:1}),v("div",rt,Y(ne.value),1),at((f(),B(Z,{data:le.value,border:""},{default:o(()=>[a(y,{prop:"doctorName",label:"医生",width:"120",fixed:""}),(f(!0),k(R,null,T(se.value,l=>(f(),B(y,{key:l.date,label:l.label,"min-width":"168"},{default:o(({row:C})=>[v("div",{class:"day-cell rounded border border-dashed border-gray-200 p-1 min-h-[56px] cursor-pointer hover:bg-gray-50",onClick:p=>de(C,l.date)},[K(C,l.date).length===0?(f(),k("div",dt,"点击管理")):(f(),k("div",it,[(f(!0),k(R,null,T(K(C,l.date),p=>(f(),k("div",{key:p.id,class:lt(["text-xs px-1 py-0.5 rounded leading-tight",re(p.status)])},Y(ue(p)),3))),128))]))],8,ut)]),_:2},1032,["label"]))),128))]),_:1},8,["data"])),[[Ee,A.value]])]),_:1}),a(P,{modelValue:W.value,"onUpdate:modelValue":e[3]||(e[3]=l=>W.value=l),title:oe.value,width:"720px","destroy-on-close":""},{footer:o(()=>[a(u,{onClick:e[1]||(e[1]=l=>W.value=!1)},{default:o(()=>[...e[30]||(e[30]=[s("关闭",-1)])]),_:1}),a(u,{type:"primary",onClick:e[2]||(e[2]=l=>X())},{default:o(()=>[...e[31]||(e[31]=[s("添加时段",-1)])]),_:1})]),default:o(()=>[a(Z,{data:j.value,border:"",size:"small","max-height":"360"},{default:o(()=>[a(y,{label:"时间",width:"150"},{default:o(({row:l})=>[s(Y(l.start_time)+" - "+Y(l.end_time),1)]),_:1}),a(y,{label:"班次",width:"80"},{default:o(({row:l})=>[s(Y(Q(l.shift_type)),1)]),_:1}),a(y,{label:"状态",width:"88"},{default:o(({row:l})=>[s(Y(J(l.status)),1)]),_:1}),a(y,{label:"间隔",width:"72"},{default:o(({row:l})=>[s(Y(l.slot_minutes||15)+" 分",1)]),_:1}),a(y,{label:"号源",width:"72"},{default:o(({row:l})=>[s(Y(l.status===1?l.quota||"不限":"-"),1)]),_:1}),a(y,{label:"备注",prop:"remark","min-width":"100","show-overflow-tooltip":""}),a(y,{label:"操作",width:"140",fixed:"right"},{default:o(({row:l})=>[a(u,{type:"primary",link:"",onClick:C=>X(l)},{default:o(()=>[...e[28]||(e[28]=[s("编辑",-1)])]),_:1},8,["onClick"]),a(u,{type:"danger",link:"",onClick:C=>me(l)},{default:o(()=>[...e[29]||(e[29]=[s("删除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])]),_:1},8,["modelValue","title"]),a(P,{modelValue:U.value,"onUpdate:modelValue":e[13]||(e[13]=l=>U.value=l),title:d.value.id?"编辑时段":"添加时段",width:"520px","destroy-on-close":""},{footer:o(()=>[a(u,{onClick:e[12]||(e[12]=l=>U.value=!1)},{default:o(()=>[...e[39]||(e[39]=[s("取消",-1)])]),_:1}),a(u,{type:"primary",loading:G.value,onClick:ie},{default:o(()=>[...e[40]||(e[40]=[s("保存",-1)])]),_:1},8,["loading"])]),default:o(()=>[a(b,{model:d.value,"label-width":"110px"},{default:o(()=>[a(n,{label:"接诊时间",required:""},{default:o(()=>[v("div",mt,[a(h,{modelValue:d.value.start_time,"onUpdate:modelValue":e[4]||(e[4]=l=>d.value.start_time=l),start:"00:00",step:"00:5",end:"23:45",placeholder:"开始",style:{width:"120px"}},null,8,["modelValue"]),e[32]||(e[32]=v("span",null,"至",-1)),a(h,{modelValue:d.value.end_time,"onUpdate:modelValue":e[5]||(e[5]=l=>d.value.end_time=l),start:"00:00",step:"00:5",end:"23:45",placeholder:"结束",style:{width:"120px"}},null,8,["modelValue"])])]),_:1}),a(n,{label:"班次标签"},{default:o(()=>[a(z,{modelValue:d.value.shift_type,"onUpdate:modelValue":e[6]||(e[6]=l=>d.value.shift_type=l),placeholder:"选填",clearable:"",style:{width:"200px"}},{default:o(()=>[a(I,{label:"白班",value:"day"}),a(I,{label:"夜班",value:"night"})]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"号源间隔(分)"},{default:o(()=>[a(S,{modelValue:d.value.slot_minutes,"onUpdate:modelValue":e[7]||(e[7]=l=>d.value.slot_minutes=l),min:5,max:120,step:5},null,8,["modelValue"]),e[33]||(e[33]=v("span",{class:"ml-2 text-gray-500 text-sm"},"默认 15",-1))]),_:1}),a(n,{label:"状态"},{default:o(()=>[a(ee,{modelValue:d.value.status,"onUpdate:modelValue":e[8]||(e[8]=l=>d.value.status=l)},{default:o(()=>[a(D,{label:1},{default:o(()=>[...e[34]||(e[34]=[s("出诊",-1)])]),_:1}),a(D,{label:2},{default:o(()=>[...e[35]||(e[35]=[s("停诊",-1)])]),_:1}),a(D,{label:3},{default:o(()=>[...e[36]||(e[36]=[s("休息",-1)])]),_:1}),a(D,{label:4},{default:o(()=>[...e[37]||(e[37]=[s("请假",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),d.value.status===1?(f(),B(n,{key:0,label:"号源上限"},{default:o(()=>[a(S,{modelValue:d.value.quota,"onUpdate:modelValue":e[9]||(e[9]=l=>d.value.quota=l),min:0,max:200},null,8,["modelValue"]),e[38]||(e[38]=v("div",{class:"text-gray-500 text-xs mt-1"},"0 表示不限制(由时段÷间隔计算可约数)",-1))]),_:1})):te("",!0),d.value.status===1?(f(),B(n,{key:1,label:"最大接诊"},{default:o(()=>[a(S,{modelValue:d.value.max_patients,"onUpdate:modelValue":e[10]||(e[10]=l=>d.value.max_patients=l),min:0,max:500},null,8,["modelValue"])]),_:1})):te("",!0),a(n,{label:"备注"},{default:o(()=>[a(i,{modelValue:d.value.remark,"onUpdate:modelValue":e[11]||(e[11]=l=>d.value.remark=l),type:"textarea",rows:2},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"]),a(P,{modelValue:$.value,"onUpdate:modelValue":e[20]||(e[20]=l=>$.value=l),title:"批量排班",width:"780px","destroy-on-close":""},{footer:o(()=>[a(u,{onClick:e[19]||(e[19]=l=>$.value=!1)},{default:o(()=>[...e[58]||(e[58]=[s("取消",-1)])]),_:1}),a(u,{type:"primary",onClick:ce,loading:O.value},{default:o(()=>[...e[59]||(e[59]=[s("确定",-1)])]),_:1},8,["loading"])]),default:o(()=>[a(b,{model:r.value,"label-width":"100px"},{default:o(()=>[a(n,{label:"选择医生",required:""},{default:o(()=>[a(z,{modelValue:r.value.doctorIds,"onUpdate:modelValue":e[14]||(e[14]=l=>r.value.doctorIds=l),multiple:"",placeholder:"请选择医生",class:"w-full",filterable:""},{default:o(()=>[(f(!0),k(R,null,T(q.value,l=>(f(),B(I,{key:l.doctorId,label:l.doctorName,value:l.doctorId},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"日期范围",required:""},{default:o(()=>[a(Ce,{modelValue:r.value.dateRange,"onUpdate:modelValue":e[15]||(e[15]=l=>r.value.dateRange=l),type:"daterange","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期",format:"YYYY-MM-DD","value-format":"YYYY-MM-DD",class:"w-full"},null,8,["modelValue"])]),_:1}),a(n,{label:"星期",required:""},{default:o(()=>[a(Ye,{modelValue:r.value.weekdays,"onUpdate:modelValue":e[16]||(e[16]=l=>r.value.weekdays=l)},{default:o(()=>[a(E,{label:1},{default:o(()=>[...e[41]||(e[41]=[s("周一",-1)])]),_:1}),a(E,{label:2},{default:o(()=>[...e[42]||(e[42]=[s("周二",-1)])]),_:1}),a(E,{label:3},{default:o(()=>[...e[43]||(e[43]=[s("周三",-1)])]),_:1}),a(E,{label:4},{default:o(()=>[...e[44]||(e[44]=[s("周四",-1)])]),_:1}),a(E,{label:5},{default:o(()=>[...e[45]||(e[45]=[s("周五",-1)])]),_:1}),a(E,{label:6},{default:o(()=>[...e[46]||(e[46]=[s("周六",-1)])]),_:1}),a(E,{label:0},{default:o(()=>[...e[47]||(e[47]=[s("周日",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"时段模板"},{default:o(()=>[v("div",pt,[(f(!0),k(R,null,T(r.value.segments,(l,C)=>(f(),k("div",{key:C,class:"flex flex-wrap items-center gap-2 p-2 bg-gray-50 rounded"},[a(h,{modelValue:l.start_time,"onUpdate:modelValue":p=>l.start_time=p,start:"00:00",step:"00:05",end:"23:45",placeholder:"开始",style:{width:"110px"}},null,8,["modelValue","onUpdate:modelValue"]),e[49]||(e[49]=v("span",null,"—",-1)),a(h,{modelValue:l.end_time,"onUpdate:modelValue":p=>l.end_time=p,start:"00:00",step:"00:05",end:"23:45",placeholder:"结束",style:{width:"110px"}},null,8,["modelValue","onUpdate:modelValue"]),a(z,{modelValue:l.shift_type,"onUpdate:modelValue":p=>l.shift_type=p,placeholder:"班次",clearable:"",style:{width:"100px"}},{default:o(()=>[a(I,{label:"白班",value:"day"}),a(I,{label:"夜班",value:"night"})]),_:1},8,["modelValue","onUpdate:modelValue"]),e[50]||(e[50]=v("span",{class:"text-sm text-gray-500"},"间隔",-1)),a(S,{modelValue:l.slot_minutes,"onUpdate:modelValue":p=>l.slot_minutes=p,min:5,max:120,step:5,style:{width:"100px"}},null,8,["modelValue","onUpdate:modelValue"]),e[51]||(e[51]=v("span",{class:"text-sm text-gray-500"},"号源0=不限",-1)),a(S,{modelValue:l.quota,"onUpdate:modelValue":p=>l.quota=p,min:0,max:200,style:{width:"100px"}},null,8,["modelValue","onUpdate:modelValue"]),a(u,{type:"danger",link:"",onClick:p=>we(C),disabled:r.value.segments.length<=1},{default:o(()=>[...e[48]||(e[48]=[s("删除",-1)])]),_:1},8,["onClick","disabled"])]))),128)),a(u,{type:"primary",link:"",onClick:Ve},{default:o(()=>[...e[52]||(e[52]=[s("+ 增加一段",-1)])]),_:1}),a(u,{type:"success",link:"",onClick:xe},{default:o(()=>[...e[53]||(e[53]=[s("+ 夜班 18:00–22:00",-1)])]),_:1})])]),_:1}),a(n,{label:"排班状态",required:""},{default:o(()=>[a(ee,{modelValue:r.value.status,"onUpdate:modelValue":e[17]||(e[17]=l=>r.value.status=l)},{default:o(()=>[a(D,{label:1},{default:o(()=>[...e[54]||(e[54]=[s("出诊",-1)])]),_:1}),a(D,{label:2},{default:o(()=>[...e[55]||(e[55]=[s("停诊",-1)])]),_:1}),a(D,{label:3},{default:o(()=>[...e[56]||(e[56]=[s("休息",-1)])]),_:1}),a(D,{label:4},{default:o(()=>[...e[57]||(e[57]=[s("请假",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"备注"},{default:o(()=>[a(i,{modelValue:r.value.remark,"onUpdate:modelValue":e[18]||(e[18]=l=>r.value.remark=l),type:"textarea",rows:2},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"])])}}}),ta=Je(vt,[["__scopeId","data-v-396c02a7"]]);export{ta as default}; diff --git a/server/public/admin/assets/setting-zQ275fvQ.js b/server/public/admin/assets/setting-H_keQ8CE.js similarity index 93% rename from server/public/admin/assets/setting-zQ275fvQ.js rename to server/public/admin/assets/setting-H_keQ8CE.js index 3267bfdf..1bc1ba2c 100644 --- a/server/public/admin/assets/setting-zQ275fvQ.js +++ b/server/public/admin/assets/setting-H_keQ8CE.js @@ -1 +1 @@ -import{D as A,B as H,C as K,T as G,d as Q,i as X,J as Y,V as Z,E as v}from"./element-plus-0wC3naml.js";import{_ as $}from"./index-9zND60WT.js";import{_ as oo}from"./picker-DlbAZkDm.js";import{d as eo,ad as to,l as ro}from"./@element-plus/icons-vue-HOEUG8sr.js";import{u as so,a as ao,i as m,L as no,b as io,N as lo,_ as mo}from"./index-E47--KT7.js";import{a as po}from"./wecomOauthPostMessage-C_e6VGrO.js";import{f as L,b as co,d as uo,ak as p,I as u,a as t,aN as s,J as d,G as _o,F as B,O as _,H as wo,n as D}from"./@vue/runtime-core-C6bnekPw.js";import{y as x,n as w,r as q}from"./@vue/reactivity-DiY1c2vO.js";import{Q as fo}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-nymJKQXP.js";import"./index-B56X8bEB.js";import"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import"./index-BHTgr4Ka.js";import"./index-Ci4dcEQh.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-DoYUJmkp.js";import"./index.vue_vue_type_script_setup_true_lang-Bl0f8aX8.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./usePaging-VsbTxSU0.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const go={class:"user-setting"},ko={class:"w-80"},bo={class:"w-80"},vo={class:"flex items-center gap-3"},yo={class:"w-80"},ho={class:"w-80"},Vo={class:"w-80"},xo={class:"bind-qrcode-wrap"},Uo={key:0,class:"text-center py-8"},Eo={key:1,id:"bind_wxwork_qrcode",class:"bind-qrcode"},Io=L({name:"userSetting"}),Co=L({...Io,setup(Bo){const U=w(),f=so(),e=q({avatar:"",account:"",name:"",work_wechat_userid:"",password_old:"",password:"",password_confirm:""}),N=q({avatar:[{required:!0,message:"头像不能为空",trigger:["change"]}],name:[{required:!0,message:"请输入名称",trigger:["blur"]}]}),g="like_admin_wx_bind_oauth",E=w(!1),y=w({corp_id:"",agent_id:""}),k=w(!1),b=w(!1);let i=null;const S=async()=>{const r=f.userInfo;for(const o in e)r[o]!==void 0&&(e[o]=r[o])},W=async()=>{if(e.password_old||e.password||e.password_confirm){if(!e.password_old)return m.msgError("请输入当前密码");if(!e.password)return m.msgError("请输入新的密码");if(!e.password_confirm)return m.msgError("请输入确定密码");if(e.password_confirm!=e.password)return m.msgError("两次输入的密码不一样")}if(e.password_old&&e.password&&e.password_confirm){if(e.password_old.length<6||e.password_old.length>32)return m.msgError("密码长度在6到32之间");if(e.password.length<6||e.password.length>32)return m.msgError("密码长度在6到32之间");if(e.password_confirm.length<6||e.password_confirm.length>32)return m.msgError("密码长度在6到32之间")}const{work_wechat_userid:r,...o}=e;await lo(o),f.getUserInfo()},M=async()=>{var r;await((r=U.value)==null?void 0:r.validate()),W()},R=()=>window.location.origin+window.location.pathname+"?bind_wxwork=1",T=async()=>{k.value=!0,b.value=!0,window.WwLogin||await new Promise((o,c)=>{const a=document.createElement("script");a.src="https://wwcdn.weixin.qq.com/node/wework/wwopen/js/wwLogin-1.2.7.js",a.onload=()=>o(),a.onerror=()=>c(new Error("加载企业微信JS失败")),document.head.appendChild(a)}),await D(),b.value=!1,await D(),i==null||i(),i=po({pathIncludes:"user/setting",lockKey:g,wxBindState:"bind_wxwork",onCode:o=>I(o)});const r=encodeURIComponent(R());new window.WwLogin({id:"bind_wxwork_qrcode",appid:y.value.corp_id,agentid:y.value.agent_id,redirect_uri:r,lang:"zh",state:"bind_wxwork",href:"",self_redirect:!1})},z=()=>{b.value=!1,i==null||i(),i=null},F=async()=>{await m.confirm("确定要解绑企业微信吗?解绑后将无法使用企业微信扫码登录。");try{await no(),e.work_wechat_userid="",v.success("解绑成功"),f.getUserInfo()}catch(r){v.error((r==null?void 0:r.msg)||"解绑失败")}},I=async r=>{try{const o=await io({code:r});e.work_wechat_userid=(o==null?void 0:o.work_wechat_userid)||"",k.value=!1,v.success("企业微信绑定成功"),f.getUserInfo()}catch(o){v.error((o==null?void 0:o.msg)||(o==null?void 0:o.message)||"绑定失败")}finally{const o=window.location.pathname;window.history.replaceState({},"",o)}};return co(async()=>{try{const l=await ao();l!=null&&l.enabled&&(E.value=!0,y.value={corp_id:l.corp_id,agent_id:l.agent_id})}catch{}const r=new URLSearchParams(window.location.search),o=r.get("code"),c=r.get("state"),a=r.get("bind_wxwork");if(o&&(c==="bind_wxwork"||a==="1")){if(sessionStorage.getItem(g)===o)return;sessionStorage.setItem(g,o),I(o).finally(()=>{sessionStorage.removeItem(g)})}}),S(),uo(()=>{i==null||i(),i=null}),(r,o)=>{const c=oo,a=H,l=K,h=Q,C=G,V=X,O=A,J=Y,P=$,j=Z;return p(),u("div",go,[t(J,{class:"!border-none",shadow:"never"},{default:s(()=>[t(O,{ref_key:"formRef",ref:U,class:"ls-form",model:e,rules:N,"label-width":"100px"},{default:s(()=>[t(a,{label:"头像:",prop:"avatar"},{default:s(()=>[t(c,{modelValue:e.avatar,"onUpdate:modelValue":o[0]||(o[0]=n=>e.avatar=n),limit:1},null,8,["modelValue"])]),_:1}),t(a,{label:"账号:",prop:"account"},{default:s(()=>[d("div",ko,[t(l,{modelValue:e.account,"onUpdate:modelValue":o[1]||(o[1]=n=>e.account=n),disabled:""},null,8,["modelValue"])])]),_:1}),t(a,{label:"名称:",prop:"name"},{default:s(()=>[d("div",bo,[t(l,{modelValue:e.name,"onUpdate:modelValue":o[2]||(o[2]=n=>e.name=n),placeholder:"请输入名称"},null,8,["modelValue"])])]),_:1}),E.value?(p(),_o(a,{key:0,label:"企业微信:"},{default:s(()=>[d("div",vo,[e.work_wechat_userid?(p(),u(B,{key:0},[t(C,{type:"success",size:"large"},{default:s(()=>[t(h,{class:"mr-1"},{default:s(()=>[t(x(eo))]),_:1}),_(" 已绑定("+fo(e.work_wechat_userid)+") ",1)]),_:1}),t(V,{type:"danger",link:"",onClick:F},{default:s(()=>[...o[7]||(o[7]=[_("解绑",-1)])]),_:1})],64)):(p(),u(B,{key:1},[t(C,{type:"info",size:"large"},{default:s(()=>[...o[8]||(o[8]=[_("未绑定",-1)])]),_:1}),t(V,{type:"primary",onClick:T},{default:s(()=>[t(h,{class:"mr-1"},{default:s(()=>[t(x(to))]),_:1}),o[9]||(o[9]=_(" 扫码绑定 ",-1))]),_:1})],64))])]),_:1})):wo("",!0),t(a,{label:"当前密码:",prop:"password_old"},{default:s(()=>[d("div",yo,[t(l,{modelValue:e.password_old,"onUpdate:modelValue":o[3]||(o[3]=n=>e.password_old=n),modelModifiers:{trim:!0},placeholder:"修改密码时必填, 不修改密码时留空",type:"password","show-password":""},null,8,["modelValue"])])]),_:1}),t(a,{label:"新的密码:",prop:"password"},{default:s(()=>[d("div",ho,[t(l,{modelValue:e.password,"onUpdate:modelValue":o[4]||(o[4]=n=>e.password=n),modelModifiers:{trim:!0},placeholder:"修改密码时必填, 不修改密码时留空",type:"password","show-password":""},null,8,["modelValue"])])]),_:1}),t(a,{label:"确定密码:",prop:"password_confirm"},{default:s(()=>[d("div",Vo,[t(l,{modelValue:e.password_confirm,"onUpdate:modelValue":o[5]||(o[5]=n=>e.password_confirm=n),modelModifiers:{trim:!0},placeholder:"修改密码时必填, 不修改密码时留空",type:"password","show-password":""},null,8,["modelValue"])])]),_:1})]),_:1},8,["model","rules"])]),_:1}),t(P,null,{default:s(()=>[t(V,{type:"primary",onClick:M},{default:s(()=>[...o[10]||(o[10]=[_("保存",-1)])]),_:1})]),_:1}),t(j,{modelValue:k.value,"onUpdate:modelValue":o[6]||(o[6]=n=>k.value=n),title:"扫码绑定企业微信",width:"440px","close-on-click-modal":!1,onClose:z},{default:s(()=>[d("div",xo,[b.value?(p(),u("div",Uo,[t(h,{class:"is-loading",size:36,color:"var(--el-color-primary)"},{default:s(()=>[t(x(ro))]),_:1}),o[11]||(o[11]=d("div",{class:"mt-3 text-gray-400"},"加载企业微信扫码...",-1))])):(p(),u("div",Eo))]),o[12]||(o[12]=d("div",{class:"text-center text-sm text-gray-400 mt-2 mb-2"}," 请使用企业微信扫描二维码完成绑定 ",-1))]),_:1},8,["modelValue"])])}}}),De=mo(Co,[["__scopeId","data-v-e7afb159"]]);export{De as default}; +import{D as A,B as H,C as K,T as G,d as Q,i as X,J as Y,V as Z,E as v}from"./element-plus-DFTWCWyi.js";import{_ as $}from"./index-x1zzA0a7.js";import{_ as oo}from"./picker-BCRrEZaA.js";import{d as eo,ad as to,l as ro}from"./@element-plus/icons-vue-HOEUG8sr.js";import{u as so,a as ao,i as m,L as no,b as io,N as lo,_ as mo}from"./index-DBREMm_z.js";import{a as po}from"./wecomOauthPostMessage-C_e6VGrO.js";import{f as L,b as co,d as uo,ak as p,I as u,a as t,aN as s,J as d,G as _o,F as B,O as _,H as wo,n as D}from"./@vue/runtime-core-C6bnekPw.js";import{y as x,n as w,r as q}from"./@vue/reactivity-DiY1c2vO.js";import{Q as fo}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-BwF7vczx.js";import"./index-BiPYXDtP.js";import"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import"./index-CbfZXeGu.js";import"./index-CRoZWY-W.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-BimpIRb_.js";import"./index.vue_vue_type_script_setup_true_lang-x0oL2ShL.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./usePaging-VsbTxSU0.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const go={class:"user-setting"},ko={class:"w-80"},bo={class:"w-80"},vo={class:"flex items-center gap-3"},yo={class:"w-80"},ho={class:"w-80"},Vo={class:"w-80"},xo={class:"bind-qrcode-wrap"},Uo={key:0,class:"text-center py-8"},Eo={key:1,id:"bind_wxwork_qrcode",class:"bind-qrcode"},Io=L({name:"userSetting"}),Co=L({...Io,setup(Bo){const U=w(),f=so(),e=q({avatar:"",account:"",name:"",work_wechat_userid:"",password_old:"",password:"",password_confirm:""}),N=q({avatar:[{required:!0,message:"头像不能为空",trigger:["change"]}],name:[{required:!0,message:"请输入名称",trigger:["blur"]}]}),g="like_admin_wx_bind_oauth",E=w(!1),y=w({corp_id:"",agent_id:""}),k=w(!1),b=w(!1);let i=null;const S=async()=>{const r=f.userInfo;for(const o in e)r[o]!==void 0&&(e[o]=r[o])},W=async()=>{if(e.password_old||e.password||e.password_confirm){if(!e.password_old)return m.msgError("请输入当前密码");if(!e.password)return m.msgError("请输入新的密码");if(!e.password_confirm)return m.msgError("请输入确定密码");if(e.password_confirm!=e.password)return m.msgError("两次输入的密码不一样")}if(e.password_old&&e.password&&e.password_confirm){if(e.password_old.length<6||e.password_old.length>32)return m.msgError("密码长度在6到32之间");if(e.password.length<6||e.password.length>32)return m.msgError("密码长度在6到32之间");if(e.password_confirm.length<6||e.password_confirm.length>32)return m.msgError("密码长度在6到32之间")}const{work_wechat_userid:r,...o}=e;await lo(o),f.getUserInfo()},M=async()=>{var r;await((r=U.value)==null?void 0:r.validate()),W()},R=()=>window.location.origin+window.location.pathname+"?bind_wxwork=1",T=async()=>{k.value=!0,b.value=!0,window.WwLogin||await new Promise((o,c)=>{const a=document.createElement("script");a.src="https://wwcdn.weixin.qq.com/node/wework/wwopen/js/wwLogin-1.2.7.js",a.onload=()=>o(),a.onerror=()=>c(new Error("加载企业微信JS失败")),document.head.appendChild(a)}),await D(),b.value=!1,await D(),i==null||i(),i=po({pathIncludes:"user/setting",lockKey:g,wxBindState:"bind_wxwork",onCode:o=>I(o)});const r=encodeURIComponent(R());new window.WwLogin({id:"bind_wxwork_qrcode",appid:y.value.corp_id,agentid:y.value.agent_id,redirect_uri:r,lang:"zh",state:"bind_wxwork",href:"",self_redirect:!1})},z=()=>{b.value=!1,i==null||i(),i=null},F=async()=>{await m.confirm("确定要解绑企业微信吗?解绑后将无法使用企业微信扫码登录。");try{await no(),e.work_wechat_userid="",v.success("解绑成功"),f.getUserInfo()}catch(r){v.error((r==null?void 0:r.msg)||"解绑失败")}},I=async r=>{try{const o=await io({code:r});e.work_wechat_userid=(o==null?void 0:o.work_wechat_userid)||"",k.value=!1,v.success("企业微信绑定成功"),f.getUserInfo()}catch(o){v.error((o==null?void 0:o.msg)||(o==null?void 0:o.message)||"绑定失败")}finally{const o=window.location.pathname;window.history.replaceState({},"",o)}};return co(async()=>{try{const l=await ao();l!=null&&l.enabled&&(E.value=!0,y.value={corp_id:l.corp_id,agent_id:l.agent_id})}catch{}const r=new URLSearchParams(window.location.search),o=r.get("code"),c=r.get("state"),a=r.get("bind_wxwork");if(o&&(c==="bind_wxwork"||a==="1")){if(sessionStorage.getItem(g)===o)return;sessionStorage.setItem(g,o),I(o).finally(()=>{sessionStorage.removeItem(g)})}}),S(),uo(()=>{i==null||i(),i=null}),(r,o)=>{const c=oo,a=H,l=K,h=Q,C=G,V=X,O=A,J=Y,P=$,j=Z;return p(),u("div",go,[t(J,{class:"!border-none",shadow:"never"},{default:s(()=>[t(O,{ref_key:"formRef",ref:U,class:"ls-form",model:e,rules:N,"label-width":"100px"},{default:s(()=>[t(a,{label:"头像:",prop:"avatar"},{default:s(()=>[t(c,{modelValue:e.avatar,"onUpdate:modelValue":o[0]||(o[0]=n=>e.avatar=n),limit:1},null,8,["modelValue"])]),_:1}),t(a,{label:"账号:",prop:"account"},{default:s(()=>[d("div",ko,[t(l,{modelValue:e.account,"onUpdate:modelValue":o[1]||(o[1]=n=>e.account=n),disabled:""},null,8,["modelValue"])])]),_:1}),t(a,{label:"名称:",prop:"name"},{default:s(()=>[d("div",bo,[t(l,{modelValue:e.name,"onUpdate:modelValue":o[2]||(o[2]=n=>e.name=n),placeholder:"请输入名称"},null,8,["modelValue"])])]),_:1}),E.value?(p(),_o(a,{key:0,label:"企业微信:"},{default:s(()=>[d("div",vo,[e.work_wechat_userid?(p(),u(B,{key:0},[t(C,{type:"success",size:"large"},{default:s(()=>[t(h,{class:"mr-1"},{default:s(()=>[t(x(eo))]),_:1}),_(" 已绑定("+fo(e.work_wechat_userid)+") ",1)]),_:1}),t(V,{type:"danger",link:"",onClick:F},{default:s(()=>[...o[7]||(o[7]=[_("解绑",-1)])]),_:1})],64)):(p(),u(B,{key:1},[t(C,{type:"info",size:"large"},{default:s(()=>[...o[8]||(o[8]=[_("未绑定",-1)])]),_:1}),t(V,{type:"primary",onClick:T},{default:s(()=>[t(h,{class:"mr-1"},{default:s(()=>[t(x(to))]),_:1}),o[9]||(o[9]=_(" 扫码绑定 ",-1))]),_:1})],64))])]),_:1})):wo("",!0),t(a,{label:"当前密码:",prop:"password_old"},{default:s(()=>[d("div",yo,[t(l,{modelValue:e.password_old,"onUpdate:modelValue":o[3]||(o[3]=n=>e.password_old=n),modelModifiers:{trim:!0},placeholder:"修改密码时必填, 不修改密码时留空",type:"password","show-password":""},null,8,["modelValue"])])]),_:1}),t(a,{label:"新的密码:",prop:"password"},{default:s(()=>[d("div",ho,[t(l,{modelValue:e.password,"onUpdate:modelValue":o[4]||(o[4]=n=>e.password=n),modelModifiers:{trim:!0},placeholder:"修改密码时必填, 不修改密码时留空",type:"password","show-password":""},null,8,["modelValue"])])]),_:1}),t(a,{label:"确定密码:",prop:"password_confirm"},{default:s(()=>[d("div",Vo,[t(l,{modelValue:e.password_confirm,"onUpdate:modelValue":o[5]||(o[5]=n=>e.password_confirm=n),modelModifiers:{trim:!0},placeholder:"修改密码时必填, 不修改密码时留空",type:"password","show-password":""},null,8,["modelValue"])])]),_:1})]),_:1},8,["model","rules"])]),_:1}),t(P,null,{default:s(()=>[t(V,{type:"primary",onClick:M},{default:s(()=>[...o[10]||(o[10]=[_("保存",-1)])]),_:1})]),_:1}),t(j,{modelValue:k.value,"onUpdate:modelValue":o[6]||(o[6]=n=>k.value=n),title:"扫码绑定企业微信",width:"440px","close-on-click-modal":!1,onClose:z},{default:s(()=>[d("div",xo,[b.value?(p(),u("div",Uo,[t(h,{class:"is-loading",size:36,color:"var(--el-color-primary)"},{default:s(()=>[t(x(ro))]),_:1}),o[11]||(o[11]=d("div",{class:"mt-3 text-gray-400"},"加载企业微信扫码...",-1))])):(p(),u("div",Eo))]),o[12]||(o[12]=d("div",{class:"text-center text-sm text-gray-400 mt-2 mb-2"}," 请使用企业微信扫描二维码完成绑定 ",-1))]),_:1},8,["modelValue"])])}}}),De=mo(Co,[["__scopeId","data-v-e7afb159"]]);export{De as default}; diff --git a/server/public/admin/assets/setup-Bne5IzJ3.js b/server/public/admin/assets/setup-Ci855w05.js similarity index 80% rename from server/public/admin/assets/setup-Bne5IzJ3.js rename to server/public/admin/assets/setup-Ci855w05.js index fd99ecc6..07e4e132 100644 --- a/server/public/admin/assets/setup-Bne5IzJ3.js +++ b/server/public/admin/assets/setup-Ci855w05.js @@ -1 +1 @@ -import{_ as y}from"./index-9zND60WT.js";import{D as k,B as w,J as B,i as V}from"./element-plus-0wC3naml.js";import{_ as x}from"./picker-DlbAZkDm.js";import{a as C,b as D}from"./user-y-C1e-zK.js";import{f as l,as as E,ak as n,I as N,a as e,aN as m,J as i,aP as S,G as U,O as j}from"./@vue/runtime-core-C6bnekPw.js";import{y as p,r as F}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./index-E47--KT7.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-nymJKQXP.js";import"./index-B56X8bEB.js";import"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import"./index-BHTgr4Ka.js";import"./index-Ci4dcEQh.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-DoYUJmkp.js";import"./index.vue_vue_type_script_setup_true_lang-Bl0f8aX8.js";import"./usePaging-VsbTxSU0.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";const I={class:"user-setup"},J=l({name:"userSetup"}),Gt=l({...J,setup(h){const o=F({default_avatar:""}),a=async()=>{try{const r=await C();for(const t in o)o[t]=r[t]}catch(r){console.log("获取=>",r)}},_=async()=>{try{await D(o),a()}catch(r){console.log("保存=>",r)}};return a(),(r,t)=>{const u=x,s=w,c=k,d=B,f=V,v=y,g=E("perms");return n(),N("div",I,[e(d,{shadow:"never",class:"!border-none"},{default:m(()=>[t[2]||(t[2]=i("div",{class:"font-medium mb-7"},"基本设置",-1)),e(c,{ref:"formRef",model:p(o),"label-width":"120px"},{default:m(()=>[e(s,{label:"用户默认头像"},{default:m(()=>[i("div",null,[e(u,{modelValue:p(o).default_avatar,"onUpdate:modelValue":t[0]||(t[0]=b=>p(o).default_avatar=b),limit:1},null,8,["modelValue"])])]),_:1}),e(s,null,{default:m(()=>[...t[1]||(t[1]=[i("div",null,[i("div",{class:"form-tips"}," 用户注册时给的默认头像,建议尺寸:400*400像素,支持jpg,jpeg,png格式 ")],-1)])]),_:1})]),_:1},8,["model"])]),_:1}),S((n(),U(v,null,{default:m(()=>[e(f,{type:"primary",onClick:_},{default:m(()=>[...t[3]||(t[3]=[j("保存",-1)])]),_:1})]),_:1})),[[g,["setting.user.user/setConfig"]]])])}}});export{Gt as default}; +import{_ as y}from"./index-x1zzA0a7.js";import{D as k,B as w,J as B,i as V}from"./element-plus-DFTWCWyi.js";import{_ as x}from"./picker-BCRrEZaA.js";import{a as C,b as D}from"./user-NxKTn5aX.js";import{f as l,as as E,ak as n,I as N,a as e,aN as m,J as i,aP as S,G as U,O as j}from"./@vue/runtime-core-C6bnekPw.js";import{y as p,r as F}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./index-DBREMm_z.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-BwF7vczx.js";import"./index-BiPYXDtP.js";import"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import"./index-CbfZXeGu.js";import"./index-CRoZWY-W.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-BimpIRb_.js";import"./index.vue_vue_type_script_setup_true_lang-x0oL2ShL.js";import"./usePaging-VsbTxSU0.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";const I={class:"user-setup"},J=l({name:"userSetup"}),Gt=l({...J,setup(h){const o=F({default_avatar:""}),a=async()=>{try{const r=await C();for(const t in o)o[t]=r[t]}catch(r){console.log("获取=>",r)}},_=async()=>{try{await D(o),a()}catch(r){console.log("保存=>",r)}};return a(),(r,t)=>{const u=x,s=w,c=k,d=B,f=V,v=y,g=E("perms");return n(),N("div",I,[e(d,{shadow:"never",class:"!border-none"},{default:m(()=>[t[2]||(t[2]=i("div",{class:"font-medium mb-7"},"基本设置",-1)),e(c,{ref:"formRef",model:p(o),"label-width":"120px"},{default:m(()=>[e(s,{label:"用户默认头像"},{default:m(()=>[i("div",null,[e(u,{modelValue:p(o).default_avatar,"onUpdate:modelValue":t[0]||(t[0]=b=>p(o).default_avatar=b),limit:1},null,8,["modelValue"])])]),_:1}),e(s,null,{default:m(()=>[...t[1]||(t[1]=[i("div",null,[i("div",{class:"form-tips"}," 用户注册时给的默认头像,建议尺寸:400*400像素,支持jpg,jpeg,png格式 ")],-1)])]),_:1})]),_:1},8,["model"])]),_:1}),S((n(),U(v,null,{default:m(()=>[e(f,{type:"primary",onClick:_},{default:m(()=>[...t[3]||(t[3]=[j("保存",-1)])]),_:1})]),_:1})),[[g,["setting.user.user/setConfig"]]])])}}});export{Gt as default}; diff --git a/server/public/admin/assets/statistics-Bv1VMAw2.js b/server/public/admin/assets/statistics-aW4uDjkt.js similarity index 91% rename from server/public/admin/assets/statistics-Bv1VMAw2.js rename to server/public/admin/assets/statistics-aW4uDjkt.js index fb8d8970..079ec009 100644 --- a/server/public/admin/assets/statistics-Bv1VMAw2.js +++ b/server/public/admin/assets/statistics-aW4uDjkt.js @@ -1 +1 @@ -import{_ as C}from"./index-9zND60WT.js";import{J as g,B as D,C as h,D as B,i as E}from"./element-plus-0wC3naml.js";import{e as I,f as V}from"./website-BmYKVBCc.js";import{f as c,b as S,as as N,ak as p,I as F,a as r,aN as i,J as s,O as a,aP as J,G as M}from"./@vue/runtime-core-C6bnekPw.js";import{y as m,n as R,r as G}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./index-E47--KT7.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";const O={class:"website-statistics"},P={class:"flex flex-col"},T={class:"w-80"},U=c({name:"webInformation"}),Et=c({...U,setup(W){const l=R(),o=G({clarity_code:""}),_={},n=async()=>{const e=await I();for(const t in o)o[t]=e[t]},d=async()=>{var e;await((e=l.value)==null?void 0:e.validate()),await V(o),n()};return S(()=>{n()}),(e,t)=>{const f=h,u=D,y=g,b=B,w=E,v=C,x=N("perms");return p(),F("div",O,[r(b,{ref_key:"formRef",ref:l,rules:_,class:"ls-form",model:m(o),"scroll-to-error":"","label-width":"120px"},{default:i(()=>[r(y,{shadow:"never",class:"!border-none"},{default:i(()=>[t[2]||(t[2]=s("div",{class:"text-xl font-medium mb-[20px]"},"Clarity配置",-1)),r(u,{label:"应用ID",prop:"clarity_code"},{default:i(()=>[s("div",P,[s("div",T,[r(f,{modelValue:m(o).clarity_code,"onUpdate:modelValue":t[0]||(t[0]=k=>m(o).clarity_code=k),modelModifiers:{trim:!0},placeholder:"请填写应用ID",maxlength:"10","show-word-limit":""},null,8,["modelValue"])]),t[1]||(t[1]=s("div",{class:"form-tips"},[a(" 请前往"),s("a",{class:"text-primary",href:"https://clarity.microsoft.com",target:"_blank"}," 《Clarity官网》 "),a(" 创建Clarity统计应用 ")],-1))])]),_:1})]),_:1})]),_:1},8,["model"]),J((p(),M(v,null,{default:i(()=>[r(w,{type:"primary",onClick:d},{default:i(()=>[...t[3]||(t[3]=[a("保存",-1)])]),_:1})]),_:1})),[[x,["setting.web.web_setting/setWebsite"]]])])}}});export{Et as default}; +import{_ as C}from"./index-x1zzA0a7.js";import{J as g,B as D,C as h,D as B,i as E}from"./element-plus-DFTWCWyi.js";import{e as I,f as V}from"./website-DzUyNaPG.js";import{f as c,b as S,as as N,ak as p,I as F,a as r,aN as i,J as s,O as a,aP as J,G as M}from"./@vue/runtime-core-C6bnekPw.js";import{y as m,n as R,r as G}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./index-DBREMm_z.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";const O={class:"website-statistics"},P={class:"flex flex-col"},T={class:"w-80"},U=c({name:"webInformation"}),Et=c({...U,setup(W){const l=R(),o=G({clarity_code:""}),_={},n=async()=>{const e=await I();for(const t in o)o[t]=e[t]},d=async()=>{var e;await((e=l.value)==null?void 0:e.validate()),await V(o),n()};return S(()=>{n()}),(e,t)=>{const f=h,u=D,y=g,b=B,w=E,v=C,x=N("perms");return p(),F("div",O,[r(b,{ref_key:"formRef",ref:l,rules:_,class:"ls-form",model:m(o),"scroll-to-error":"","label-width":"120px"},{default:i(()=>[r(y,{shadow:"never",class:"!border-none"},{default:i(()=>[t[2]||(t[2]=s("div",{class:"text-xl font-medium mb-[20px]"},"Clarity配置",-1)),r(u,{label:"应用ID",prop:"clarity_code"},{default:i(()=>[s("div",P,[s("div",T,[r(f,{modelValue:m(o).clarity_code,"onUpdate:modelValue":t[0]||(t[0]=k=>m(o).clarity_code=k),modelModifiers:{trim:!0},placeholder:"请填写应用ID",maxlength:"10","show-word-limit":""},null,8,["modelValue"])]),t[1]||(t[1]=s("div",{class:"form-tips"},[a(" 请前往"),s("a",{class:"text-primary",href:"https://clarity.microsoft.com",target:"_blank"}," 《Clarity官网》 "),a(" 创建Clarity统计应用 ")],-1))])]),_:1})]),_:1})]),_:1},8,["model"]),J((p(),M(v,null,{default:i(()=>[r(w,{type:"primary",onClick:d},{default:i(()=>[...t[3]||(t[3]=[a("保存",-1)])]),_:1})]),_:1})),[[x,["setting.web.web_setting/setWebsite"]]])])}}});export{Et as default}; diff --git a/server/public/admin/assets/stats-DxFb49QX.js b/server/public/admin/assets/stats-5gQHPT0U.js similarity index 96% rename from server/public/admin/assets/stats-DxFb49QX.js rename to server/public/admin/assets/stats-5gQHPT0U.js index f38c4ad6..8b987619 100644 --- a/server/public/admin/assets/stats-DxFb49QX.js +++ b/server/public/admin/assets/stats-5gQHPT0U.js @@ -1 +1 @@ -import{r as e}from"./index-E47--KT7.js";function i(t){return e.get({url:"/stats.conversion/overview",params:t})}function o(t){return e.get({url:"/stats.yejiStats/overview",params:t})}function r(t){return e.get({url:"/stats.yejiStats/multi",params:t})}function a(){return e.get({url:"/stats.yejiStats/deptOptions"})}function u(){return e.get({url:"/stats.yejiStats/channelOptions"})}function m(t){return e.get({url:"/stats.yejiStats/leaderboard",params:t})}function l(t){return e.get({url:"/stats.yejiStats/unassignedBreakdown",params:t})}function c(t){return e.get({url:"/stats.yejiStats/leadLines",params:t})}function S(t){return e.get({url:"/stats.yejiStats/appointmentLines",params:t})}function f(t){return e.get({url:"/stats.yejiStats/revisitBreakdown",params:t})}function v(t){return e.get({url:"/stats.doctorDailyStats/overview",params:t})}const n=12e4;function g(t){return e.get({url:"/stats.commissionSettlement/overview",params:t,timeout:n},{ignoreCancelToken:!0})}function p(){return e.get({url:"/stats.commissionSettlement/deptOptions"})}function y(){return e.get({url:"/stats.commissionSettlement/channelOptions"})}function d(t){return e.get({url:"/stats.commissionSettlement/orderLines",params:t,timeout:n},{ignoreCancelToken:!0})}function j(t){return e.post({url:"/stats.commissionSettlement/saveReconcile",params:t})}function O(t){return e.post({url:"/stats.commissionSettlement/confirmFinalize",params:t,timeout:n},{ignoreCancelToken:!0})}function w(t){return e.post({url:"/stats.commissionSettlement/confirmRevoke",params:t})}export{p as a,y as b,d as c,g as d,j as e,O as f,w as g,v as h,a as i,u as j,o as k,f as l,m,l as n,c as o,S as p,i as q,r as y}; +import{r as e}from"./index-DBREMm_z.js";function i(t){return e.get({url:"/stats.conversion/overview",params:t})}function o(t){return e.get({url:"/stats.yejiStats/overview",params:t})}function r(t){return e.get({url:"/stats.yejiStats/multi",params:t})}function a(){return e.get({url:"/stats.yejiStats/deptOptions"})}function u(){return e.get({url:"/stats.yejiStats/channelOptions"})}function m(t){return e.get({url:"/stats.yejiStats/leaderboard",params:t})}function l(t){return e.get({url:"/stats.yejiStats/unassignedBreakdown",params:t})}function c(t){return e.get({url:"/stats.yejiStats/leadLines",params:t})}function S(t){return e.get({url:"/stats.yejiStats/appointmentLines",params:t})}function f(t){return e.get({url:"/stats.yejiStats/revisitBreakdown",params:t})}function v(t){return e.get({url:"/stats.doctorDailyStats/overview",params:t})}const n=12e4;function g(t){return e.get({url:"/stats.commissionSettlement/overview",params:t,timeout:n},{ignoreCancelToken:!0})}function p(){return e.get({url:"/stats.commissionSettlement/deptOptions"})}function y(){return e.get({url:"/stats.commissionSettlement/channelOptions"})}function d(t){return e.get({url:"/stats.commissionSettlement/orderLines",params:t,timeout:n},{ignoreCancelToken:!0})}function j(t){return e.post({url:"/stats.commissionSettlement/saveReconcile",params:t})}function O(t){return e.post({url:"/stats.commissionSettlement/confirmFinalize",params:t,timeout:n},{ignoreCancelToken:!0})}function w(t){return e.post({url:"/stats.commissionSettlement/confirmRevoke",params:t})}export{p as a,y as b,d as c,g as d,j as e,O as f,w as g,v as h,a as i,u as j,o as k,f as l,m,l as n,c as o,S as p,i as q,r as y}; diff --git a/server/public/admin/assets/style-BWagwxsz.js b/server/public/admin/assets/style-C75vK4tk.js similarity index 84% rename from server/public/admin/assets/style-BWagwxsz.js rename to server/public/admin/assets/style-C75vK4tk.js index fc1a70ae..761438bb 100644 --- a/server/public/admin/assets/style-BWagwxsz.js +++ b/server/public/admin/assets/style-C75vK4tk.js @@ -1 +1 @@ -import{_ as x}from"./index-9zND60WT.js";import{m as k,l as B,J as N,i as T}from"./element-plus-0wC3naml.js";import{a as h,s as D}from"./decoration-ChND9qat.js";import{_ as E}from"./mobile-style.vue_vue_type_script_setup_true_lang-kf20_-Gy.js";import{f as J,b as I,ak as m,I as l,a as n,aN as a,J as O,F as d,ap as P,G as u,at as U,O as F,A as L}from"./@vue/runtime-core-C6bnekPw.js";import{n as c,m as R,a as S,y as _}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./index-E47--KT7.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index.vue_vue_type_script_setup_true_lang-C384XBPz.js";import"./theme-picker-ZOnz3jM-.js";const A={class:"mt-[-10px]"},Et=J({__name:"style",setup(G){const e=c(0),s=c([{name:"移动端",id:5,component:R(E),data:{themeColorId:1,topTextColor:"white",navigationBarColor:"",themeColor1:"",themeColor2:"",buttonColor:"white"}}]),o=L(()=>s.value[e.value]||{}),p=async()=>{const i=await h({id:o.value.id});o.value.data=JSON.parse(i.data)},f=async()=>{await D({id:o.value.id,type:o.value.id,data:JSON.stringify(o.value.data)}),p()};return I(async()=>{await p()}),(i,r)=>{const b=B,v=k,y=N,C=T,V=x;return m(),l(d,null,[n(y,{shadow:"never",class:"!border-none"},{default:a(()=>[O("div",A,[n(v,{modelValue:_(e),"onUpdate:modelValue":r[0]||(r[0]=t=>S(e)?e.value=t:null)},{default:a(()=>[(m(!0),l(d,null,P(_(s),(t,g)=>(m(),u(b,{key:t.id,label:t.name,name:g},{default:a(()=>[(m(),u(U(t.component),{modelValue:t.data,"onUpdate:modelValue":w=>t.data=w},null,8,["modelValue","onUpdate:modelValue"]))]),_:2},1032,["label","name"]))),128))]),_:1},8,["modelValue"])])]),_:1}),n(V,{class:"mt-4",fixed:!0},{default:a(()=>[n(C,{type:"primary",onClick:f},{default:a(()=>[...r[1]||(r[1]=[F("保存",-1)])]),_:1})]),_:1})],64)}}});export{Et as default}; +import{_ as x}from"./index-x1zzA0a7.js";import{m as k,l as B,J as N,i as T}from"./element-plus-DFTWCWyi.js";import{a as h,s as D}from"./decoration-C799ML-U.js";import{_ as E}from"./mobile-style.vue_vue_type_script_setup_true_lang-CT_5pzF5.js";import{f as J,b as I,ak as m,I as l,a as n,aN as a,J as O,F as d,ap as P,G as u,at as U,O as F,A as L}from"./@vue/runtime-core-C6bnekPw.js";import{n as c,m as R,a as S,y as _}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./index-DBREMm_z.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index.vue_vue_type_script_setup_true_lang-3vCdLVB9.js";import"./theme-picker-Bl2LhPUt.js";const A={class:"mt-[-10px]"},Et=J({__name:"style",setup(G){const e=c(0),s=c([{name:"移动端",id:5,component:R(E),data:{themeColorId:1,topTextColor:"white",navigationBarColor:"",themeColor1:"",themeColor2:"",buttonColor:"white"}}]),o=L(()=>s.value[e.value]||{}),p=async()=>{const i=await h({id:o.value.id});o.value.data=JSON.parse(i.data)},f=async()=>{await D({id:o.value.id,type:o.value.id,data:JSON.stringify(o.value.data)}),p()};return I(async()=>{await p()}),(i,r)=>{const b=B,v=k,y=N,C=T,V=x;return m(),l(d,null,[n(y,{shadow:"never",class:"!border-none"},{default:a(()=>[O("div",A,[n(v,{modelValue:_(e),"onUpdate:modelValue":r[0]||(r[0]=t=>S(e)?e.value=t:null)},{default:a(()=>[(m(!0),l(d,null,P(_(s),(t,g)=>(m(),u(b,{key:t.id,label:t.name,name:g},{default:a(()=>[(m(),u(U(t.component),{modelValue:t.data,"onUpdate:modelValue":w=>t.data=w},null,8,["modelValue","onUpdate:modelValue"]))]),_:2},1032,["label","name"]))),128))]),_:1},8,["modelValue"])])]),_:1}),n(V,{class:"mt-4",fixed:!0},{default:a(()=>[n(C,{type:"primary",onClick:f},{default:a(()=>[...r[1]||(r[1]=[F("保存",-1)])]),_:1})]),_:1})],64)}}});export{Et as default}; diff --git a/server/public/admin/assets/tabbar-DXJ2sWWu.js b/server/public/admin/assets/tabbar-B1cPuNEq.js similarity index 74% rename from server/public/admin/assets/tabbar-DXJ2sWWu.js rename to server/public/admin/assets/tabbar-B1cPuNEq.js index 8b3a8410..1ec95a94 100644 --- a/server/public/admin/assets/tabbar-DXJ2sWWu.js +++ b/server/public/admin/assets/tabbar-B1cPuNEq.js @@ -1 +1 @@ -import{_ as k}from"./index-9zND60WT.js";import{J as B,s as f,i as C}from"./element-plus-0wC3naml.js";import{c as E,d as T}from"./decoration-ChND9qat.js";import P from"./menu-Cw5oPkn4.js";import{_ as N}from"./attr.vue_vue_type_script_setup_true_lang-BO_riRgF.js";import I from"./content-Dt4NHJyv.js";import{f as b,w as M,as as R,ak as p,I as J,J as i,a as m,aN as n,G as c,at as v,Z as O,aP as S,O as U,A as z}from"./@vue/runtime-core-C6bnekPw.js";import{r as A,m as G,y as e,a as L,n as Z}from"./@vue/reactivity-DiY1c2vO.js";import{P as $}from"./@vue/shared-mAAVTE9n.js";import{_ as j}from"./index-E47--KT7.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-BHTgr4Ka.js";import"./picker-B9b8bj5N.js";import"./index-nymJKQXP.js";import"./index.vue_vue_type_script_setup_true_lang-DXTGI59-.js";import"./article-DJnP6RZd.js";import"./usePaging-VsbTxSU0.js";import"./picker-DlbAZkDm.js";import"./index-B56X8bEB.js";import"./index-Ci4dcEQh.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-DoYUJmkp.js";import"./index.vue_vue_type_script_setup_true_lang-Bl0f8aX8.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./index.vue_vue_type_script_setup_true_lang-C384XBPz.js";import"./decoration-img-CZl9mrsf.js";const q={attr:N,content:I},F={class:"decoration-tabbar"},H={class:"flex-1 min-h-0 w-full"},K={class:"h-full"},Q={class:"flex min-w-[900px] scroll-view-content"},W={class:"flex-1 pages-preview-box"},X={class:"pages-preview mx-[30px]"},Y={class:"px-5 pb-5"},tt=b({name:"decorationTabbar"}),ot=b({...tt,setup(et){let d;(t=>{t.MOBILE="1",t.PC="2"})(d||(d={}));const a=Z("1"),l=A({1:{id:1,type:1,name:"移动端导航栏",data:{style:{default_color:"",selected_color:""},list:[]},component:G(q)}}),r=z(()=>l[a.value]),_=async()=>{const t=await E({type:a.value});l[1].data=t},x=async()=>{const{data:t}=r.value;await T({...t}),_()};return M(a,()=>{_()},{immediate:!0}),(t,s)=>{const w=B,u=f,h=f,y=C,g=k,V=R("perms");return p(),J("div",F,[i("div",H,[i("div",K,[m(h,null,{default:n(()=>[i("div",Q,[m(w,{shadow:"never",class:"!border-none flex","body-style":{"padding-right":0}},{default:n(()=>[m(P,{class:"!h-full flex-none",modelValue:e(a),"onUpdate:modelValue":s[0]||(s[0]=o=>L(a)?a.value=o:null),menus:e(l)},null,8,["modelValue","menus"])]),_:1}),i("div",W,[i("div",X,[m(u,{height:"100%"},{default:n(()=>{var o;return[(p(),c(v((o=e(r).component)==null?void 0:o.content),$(O(e(r).data)),null,16))]}),_:1})])]),m(u,{class:"attr-setting flex-none"},{default:n(()=>{var o;return[i("div",Y,[(p(),c(v((o=e(r).component)==null?void 0:o.attr),{modelValue:e(r).data,"onUpdate:modelValue":s[1]||(s[1]=D=>e(r).data=D)},null,8,["modelValue"]))])]}),_:1})])]),_:1})])]),S((p(),c(g,{fixed:!0},{default:n(()=>[m(y,{type:"primary",onClick:x},{default:n(()=>[...s[2]||(s[2]=[U("保存",-1)])]),_:1})]),_:1})),[[V,["decorate:tabbar:save"]]])])}}}),lo=j(ot,[["__scopeId","data-v-e8ac299a"]]);export{lo as default}; +import{_ as k}from"./index-x1zzA0a7.js";import{J as B,s as f,i as C}from"./element-plus-DFTWCWyi.js";import{c as E,d as T}from"./decoration-C799ML-U.js";import P from"./menu-CVGDEBOV.js";import{_ as N}from"./attr.vue_vue_type_script_setup_true_lang-MNr7rU8G.js";import I from"./content-cVLu-KHW.js";import{f as b,w as M,as as R,ak as p,I as J,J as i,a as m,aN as n,G as c,at as v,Z as O,aP as S,O as U,A as z}from"./@vue/runtime-core-C6bnekPw.js";import{r as A,m as G,y as e,a as L,n as Z}from"./@vue/reactivity-DiY1c2vO.js";import{P as $}from"./@vue/shared-mAAVTE9n.js";import{_ as j}from"./index-DBREMm_z.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./index-CbfZXeGu.js";import"./picker-DPnqJ8Gk.js";import"./index-BwF7vczx.js";import"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import"./article-BnVIxFkr.js";import"./usePaging-VsbTxSU0.js";import"./picker-BCRrEZaA.js";import"./index-BiPYXDtP.js";import"./index-CRoZWY-W.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-BimpIRb_.js";import"./index.vue_vue_type_script_setup_true_lang-x0oL2ShL.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./index.vue_vue_type_script_setup_true_lang-3vCdLVB9.js";import"./decoration-img-CZLpkXPN.js";const q={attr:N,content:I},F={class:"decoration-tabbar"},H={class:"flex-1 min-h-0 w-full"},K={class:"h-full"},Q={class:"flex min-w-[900px] scroll-view-content"},W={class:"flex-1 pages-preview-box"},X={class:"pages-preview mx-[30px]"},Y={class:"px-5 pb-5"},tt=b({name:"decorationTabbar"}),ot=b({...tt,setup(et){let d;(t=>{t.MOBILE="1",t.PC="2"})(d||(d={}));const a=Z("1"),l=A({1:{id:1,type:1,name:"移动端导航栏",data:{style:{default_color:"",selected_color:""},list:[]},component:G(q)}}),r=z(()=>l[a.value]),_=async()=>{const t=await E({type:a.value});l[1].data=t},x=async()=>{const{data:t}=r.value;await T({...t}),_()};return M(a,()=>{_()},{immediate:!0}),(t,s)=>{const w=B,u=f,h=f,y=C,g=k,V=R("perms");return p(),J("div",F,[i("div",H,[i("div",K,[m(h,null,{default:n(()=>[i("div",Q,[m(w,{shadow:"never",class:"!border-none flex","body-style":{"padding-right":0}},{default:n(()=>[m(P,{class:"!h-full flex-none",modelValue:e(a),"onUpdate:modelValue":s[0]||(s[0]=o=>L(a)?a.value=o:null),menus:e(l)},null,8,["modelValue","menus"])]),_:1}),i("div",W,[i("div",X,[m(u,{height:"100%"},{default:n(()=>{var o;return[(p(),c(v((o=e(r).component)==null?void 0:o.content),$(O(e(r).data)),null,16))]}),_:1})])]),m(u,{class:"attr-setting flex-none"},{default:n(()=>{var o;return[i("div",Y,[(p(),c(v((o=e(r).component)==null?void 0:o.attr),{modelValue:e(r).data,"onUpdate:modelValue":s[1]||(s[1]=D=>e(r).data=D)},null,8,["modelValue"]))])]}),_:1})])]),_:1})])]),S((p(),c(g,{fixed:!0},{default:n(()=>[m(y,{type:"primary",onClick:x},{default:n(()=>[...s[2]||(s[2]=[U("保存",-1)])]),_:1})]),_:1})),[[V,["decorate:tabbar:save"]]])])}}}),lo=j(ot,[["__scopeId","data-v-e8ac299a"]]);export{lo as default}; diff --git a/server/public/admin/assets/tcm-BcqaE0lo.js b/server/public/admin/assets/tcm-BcqaE0lo.js new file mode 100644 index 00000000..834e9055 --- /dev/null +++ b/server/public/admin/assets/tcm-BcqaE0lo.js @@ -0,0 +1 @@ +import{r as t}from"./index-DBREMm_z.js";function i(r){return t.get({url:"/tcm.diagnosis/lists",params:r})}function n(r){return t.get({url:"/tcm.diagnosis/readonlyDetail",params:r})}function s(r){return t.get({url:"/tcm.diagnosis/trackingWindow",params:r})}function o(r){return t.post({url:"/tcm.diagnosis/addTrackingNote",params:r})}function c(r){return t.get({url:"/tcm.diagnosis/trackingNotes",params:r})}function a(r){return t.get({url:"/tcm.diagnosis/assistantDiagnosisStats",params:r})}function u(r){return t.post({url:"/tcm.diagnosis/add",params:r})}function d(r){return t.post({url:"/tcm.diagnosis/edit",params:r})}function p(r){return t.post({url:"/tcm.diagnosis/delete",params:r})}function l(r){return t.get({url:"/tcm.diagnosis/detail",params:r})}function g(r){return t.get({url:"/tcm.diagnosis/guahaoLogList",params:r})}function m(r){return t.post({url:"/tcm.diagnosis/checkPhone",params:r})}function f(r){return t.post({url:"/tcm.diagnosis/checkIdCard",params:r})}function R(r){return t.post({url:"/tcm.diagnosis/fillIdCard",params:r})}function O(r){return t.post({url:"/tcm.diagnosis/assign",params:r})}function C(r){return t.get({url:"/tcm.diagnosis/assignLogList",params:r})}function h(){return t.get({url:"/tcm.diagnosis/getAssistants"})}function y(){return t.get({url:"/tcm.diagnosis/getDoctors"})}function P(r){return t.post({url:"/tcm.bloodRecord/add",params:r})}function L(r){return t.post({url:"/tcm.bloodRecord/edit",params:r})}function D(r){return t.post({url:"/tcm.bloodRecord/delete",params:r})}function A(r){return t.get({url:"/tcm.bloodRecord/getRecordsByPatient",params:r})}function b(r){return t.get({url:"/tcm.bloodRecord/getBloodSugarTrend",params:r})}function k(r){return t.post({url:"/tcm.dietRecord/add",params:r})}function T(r){return t.post({url:"/tcm.dietRecord/edit",params:r})}function x(r){return t.post({url:"/tcm.dietRecord/delete",params:r})}function B(r){return t.get({url:"/tcm.dietRecord/getRecordsByPatient",params:r})}function W(r){return t.post({url:"/tcm.exerciseRecord/add",params:r})}function E(r){return t.post({url:"/tcm.exerciseRecord/edit",params:r})}function S(r){return t.post({url:"/tcm.exerciseRecord/delete",params:r})}function w(r){return t.get({url:"/tcm.exerciseRecord/getRecordsByPatient",params:r})}function I(r){return t.post({url:"/tcm.diagnosis/getCallSignature",params:r},{ignoreCancelToken:!0,isOpenRetry:!1})}function v(r){return t.post({url:"/tcm.diagnosis/startCall",params:r})}function G(r){return t.post({url:"/tcm.diagnosis/endCall",params:r},{ignoreCancelToken:!0,isOpenRetry:!1})}function M(r){return t.get({url:"/tcm.diagnosis/getCallRecords",params:r})}function N(r){return t.post({url:"/tcm.diagnosis/bindCallRoom",params:r})}function Q(r){return t.post({url:"/tcm.diagnosis/attachLocalCallRecording",params:r},{ignoreCancelToken:!0,isOpenRetry:!1})}function q(r){return t.post({url:"/tcm.diagnosis/createManualCallRecord",params:r},{ignoreCancelToken:!0,isOpenRetry:!1})}function j(r){return t.get({url:"/tcm.diagnosis/watchCall",params:r})}function U(r){return t.post({url:"/tcm.diagnosis/generateMiniProgramQrcode",params:r})}function V(r){return t.post({url:"/tcm.diagnosis/generateOrderQrcode",params:r})}function z(r){return t.get({url:"/tcm.diagnosis/getImChatMessages",params:r})}function F(r){return t.post({url:"/tcm.diagnosis/triggerImChatSync",data:r})}function H(r){return t.get({url:"/tcm.diagnosis/getWechatChatRecords",params:r})}function J(r){return t.post({url:"/tcm.diagnosis/addWechatChatRecord",params:r})}function K(r){return t.post({url:"/tcm.diagnosis/deleteWechatChatRecord",params:r})}function X(r){return t.get({url:"/tcm.diagnosis/getWechatExternalContact",params:r})}function Y(r){return t.get({url:"/tcm.prescription/lists",params:r})}function Z(r){return t.post({url:"/tcm.prescription/add",params:r})}function _(r){return t.post({url:"/tcm.prescription/edit",params:r})}function $(r){return t.post({url:"/tcm.prescription/delete",params:r})}function rr(r){return t.get({url:"/tcm.prescription/detail",params:r})}function tr(r){return t.get({url:"/tcm.prescription/listByDiagnosis",params:r})}function er(r){return t.get({url:"/tcm.prescription/getByAppointment",params:r})}function ir(r){return t.post({url:"/tcm.prescription/void",params:r})}function nr(r){return t.post({url:"/tcm.prescription/audit",params:r})}function sr(r){return t.post({url:"/tcm.prescriptionOrder/create",params:r})}function or(r){return t.get({url:"/tcm.prescriptionOrder/lists",params:r})}function cr(r){return t.get({url:"/tcm.prescriptionOrder/export",params:r})}function ar(r){return t.get({url:"/tcm.prescriptionOrder/paidPayOrders",params:r})}function ur(r){return t.post({url:"/tcm.prescriptionOrder/withdraw",params:r})}function dr(r){return t.get({url:"/tcm.prescriptionOrder/logisticsTrace",params:r})}function pr(r){return t.get({url:"/tcm.prescriptionOrder/detail",params:r})}function lr(r){return t.post({url:"/tcm.prescriptionOrder/edit",params:r})}function gr(r){return t.post({url:"/tcm.prescriptionOrder/patchPrescriptionPatient",params:r})}function mr(r){return t.post({url:"/tcm.prescriptionOrder/auditPrescription",params:r})}function fr(r){return t.post({url:"/tcm.prescriptionOrder/auditPayment",params:r})}function Rr(r){return t.post({url:"/tcm.prescriptionOrder/revokeRxAudit",params:r})}function Or(r){return t.post({url:"/tcm.prescriptionOrder/revokePayAudit",params:r})}function Cr(r){return t.post({url:"/tcm.prescriptionOrder/ship",params:r})}function hr(r){return t.post({url:"/tcm.prescriptionOrder/addPayOrder",params:r})}function yr(r){return t.post({url:"/tcm.prescriptionOrder/linkPayOrder",params:r})}function Pr(r){return t.post({url:"/tcm.prescriptionOrder/complete",params:r})}function Lr(r){return t.post({url:"/tcm.prescriptionOrder/submitGancaoRecipel",params:r})}function Dr(r){return t.post({url:"/tcm.prescriptionOrder/previewGancaoRecipel",params:r})}function Ar(r){return t.get({url:"/tcm.prescriptionOrder/logs",params:r})}function br(r){return t.post({url:"/tcm.prescriptionOrder/updateAmount",params:r})}function kr(r){return t.get({url:"/tcm.prescriptionLibrary/lists",params:r})}function Tr(r){return t.post({url:"/tcm.prescriptionLibrary/add",params:r})}function xr(r){return t.post({url:"/tcm.prescriptionLibrary/edit",params:r})}function Br(r){return t.post({url:"/tcm.prescriptionLibrary/delete",params:r})}function Wr(r){return t.get({url:"/tcm.diagnosisTodo/lists",params:r})}function Er(r){return t.post({url:"/tcm.diagnosisTodo/add",params:r})}function Sr(r){return t.post({url:"/tcm.diagnosisTodo/cancel",params:r})}export{d as $,Cr as A,Pr as B,hr as C,yr as D,Rr as E,Or as F,Ar as G,V as H,I,s as J,c as K,L,P as M,T as N,k as O,E as P,W as Q,o as R,Wr as S,Er as T,Sr as U,U as V,er as W,l as X,m as Y,f as Z,u as _,h as a,C as a0,j as a1,b as a2,A as a3,D as a4,M as a5,Q as a6,q as a7,tr as a8,B as a9,x as aa,w as ab,S as ac,z as ad,F as ae,ir as af,i as ag,O as ah,g as ai,R as aj,H as ak,J as al,K as am,p as an,X as ao,n as ap,a as aq,G as ar,N as as,v as at,rr as b,sr as c,Y as d,nr as e,kr as f,y as g,Z as h,_ as i,$ as j,or as k,Tr as l,xr as m,Br as n,cr as o,ar as p,dr as q,gr as r,br as s,pr as t,lr as u,mr as v,fr as w,ur as x,Dr as y,Lr as z}; diff --git a/server/public/admin/assets/tcm-SLIwsL8z.js b/server/public/admin/assets/tcm-SLIwsL8z.js deleted file mode 100644 index e38667cc..00000000 --- a/server/public/admin/assets/tcm-SLIwsL8z.js +++ /dev/null @@ -1 +0,0 @@ -import{r}from"./index-E47--KT7.js";function i(t){return r.get({url:"/tcm.diagnosis/lists",params:t})}function n(t){return r.get({url:"/tcm.diagnosis/readonlyDetail",params:t})}function s(t){return r.get({url:"/tcm.diagnosis/trackingWindow",params:t})}function o(t){return r.post({url:"/tcm.diagnosis/addTrackingNote",params:t})}function c(t){return r.get({url:"/tcm.diagnosis/trackingNotes",params:t})}function a(t){return r.get({url:"/tcm.diagnosis/assistantDiagnosisStats",params:t})}function u(t){return r.post({url:"/tcm.diagnosis/add",params:t})}function d(t){return r.post({url:"/tcm.diagnosis/edit",params:t})}function p(t){return r.post({url:"/tcm.diagnosis/delete",params:t})}function l(t){return r.get({url:"/tcm.diagnosis/detail",params:t})}function g(t){return r.get({url:"/tcm.diagnosis/guahaoLogList",params:t})}function m(t){return r.post({url:"/tcm.diagnosis/checkPhone",params:t})}function f(t){return r.post({url:"/tcm.diagnosis/checkIdCard",params:t})}function R(t){return r.post({url:"/tcm.diagnosis/fillIdCard",params:t})}function O(t){return r.post({url:"/tcm.diagnosis/assign",params:t})}function C(t){return r.get({url:"/tcm.diagnosis/assignLogList",params:t})}function h(){return r.get({url:"/tcm.diagnosis/getAssistants"})}function y(){return r.get({url:"/tcm.diagnosis/getDoctors"})}function P(t){return r.post({url:"/tcm.bloodRecord/add",params:t})}function L(t){return r.post({url:"/tcm.bloodRecord/edit",params:t})}function D(t){return r.post({url:"/tcm.bloodRecord/delete",params:t})}function A(t){return r.get({url:"/tcm.bloodRecord/getRecordsByPatient",params:t})}function b(t){return r.get({url:"/tcm.bloodRecord/getBloodSugarTrend",params:t})}function k(t){return r.post({url:"/tcm.dietRecord/add",params:t})}function T(t){return r.post({url:"/tcm.dietRecord/edit",params:t})}function x(t){return r.post({url:"/tcm.dietRecord/delete",params:t})}function B(t){return r.get({url:"/tcm.dietRecord/getRecordsByPatient",params:t})}function W(t){return r.post({url:"/tcm.exerciseRecord/add",params:t})}function E(t){return r.post({url:"/tcm.exerciseRecord/edit",params:t})}function S(t){return r.post({url:"/tcm.exerciseRecord/delete",params:t})}function w(t){return r.get({url:"/tcm.exerciseRecord/getRecordsByPatient",params:t})}function I(t){return r.post({url:"/tcm.diagnosis/getCallSignature",params:t},{ignoreCancelToken:!0,isOpenRetry:!1})}function v(t){return r.post({url:"/tcm.diagnosis/startCall",params:t})}function G(t){return r.post({url:"/tcm.diagnosis/endCall",params:t},{ignoreCancelToken:!0,isOpenRetry:!1})}function M(t){return r.get({url:"/tcm.diagnosis/getCallRecords",params:t})}function N(t){return r.post({url:"/tcm.diagnosis/bindCallRoom",params:t})}function Q(t){return r.post({url:"/tcm.diagnosis/attachLocalCallRecording",params:t},{ignoreCancelToken:!0,isOpenRetry:!1})}function q(t){return r.post({url:"/tcm.diagnosis/createManualCallRecord",params:t},{ignoreCancelToken:!0,isOpenRetry:!1})}function j(t){return r.get({url:"/tcm.diagnosis/watchCall",params:t})}function U(t){return r.post({url:"/tcm.diagnosis/generateMiniProgramQrcode",params:t})}function V(t){return r.post({url:"/tcm.diagnosis/generateOrderQrcode",params:t})}function z(t){return r.get({url:"/tcm.diagnosis/getImChatMessages",params:t})}function F(t){return r.post({url:"/tcm.diagnosis/triggerImChatSync",data:t})}function H(t){return r.get({url:"/tcm.diagnosis/getWechatChatRecords",params:t})}function J(t){return r.post({url:"/tcm.diagnosis/addWechatChatRecord",params:t})}function K(t){return r.post({url:"/tcm.diagnosis/deleteWechatChatRecord",params:t})}function X(t){return r.get({url:"/tcm.diagnosis/getWechatExternalContact",params:t})}function Y(t){return r.get({url:"/tcm.prescription/lists",params:t})}function Z(t){return r.post({url:"/tcm.prescription/add",params:t})}function _(t){return r.post({url:"/tcm.prescription/edit",params:t})}function $(t){return r.post({url:"/tcm.prescription/delete",params:t})}function tt(t){return r.get({url:"/tcm.prescription/detail",params:t})}function rt(t){return r.get({url:"/tcm.prescription/listByDiagnosis",params:t})}function et(t){return r.get({url:"/tcm.prescription/getByAppointment",params:t})}function it(t){return r.post({url:"/tcm.prescription/void",params:t})}function nt(t){return r.post({url:"/tcm.prescription/audit",params:t})}function st(t){return r.post({url:"/tcm.prescriptionOrder/create",params:t})}function ot(t){return r.get({url:"/tcm.prescriptionOrder/lists",params:t})}function ct(t){return r.get({url:"/tcm.prescriptionOrder/paidPayOrders",params:t})}function at(t){return r.post({url:"/tcm.prescriptionOrder/withdraw",params:t})}function ut(t){return r.get({url:"/tcm.prescriptionOrder/logisticsTrace",params:t})}function dt(t){return r.get({url:"/tcm.prescriptionOrder/detail",params:t})}function pt(t){return r.post({url:"/tcm.prescriptionOrder/edit",params:t})}function lt(t){return r.post({url:"/tcm.prescriptionOrder/patchPrescriptionPatient",params:t})}function gt(t){return r.post({url:"/tcm.prescriptionOrder/auditPrescription",params:t})}function mt(t){return r.post({url:"/tcm.prescriptionOrder/auditPayment",params:t})}function ft(t){return r.post({url:"/tcm.prescriptionOrder/revokeRxAudit",params:t})}function Rt(t){return r.post({url:"/tcm.prescriptionOrder/revokePayAudit",params:t})}function Ot(t){return r.post({url:"/tcm.prescriptionOrder/ship",params:t})}function Ct(t){return r.post({url:"/tcm.prescriptionOrder/addPayOrder",params:t})}function ht(t){return r.post({url:"/tcm.prescriptionOrder/linkPayOrder",params:t})}function yt(t){return r.post({url:"/tcm.prescriptionOrder/complete",params:t})}function Pt(t){return r.post({url:"/tcm.prescriptionOrder/submitGancaoRecipel",params:t})}function Lt(t){return r.post({url:"/tcm.prescriptionOrder/previewGancaoRecipel",params:t})}function Dt(t){return r.get({url:"/tcm.prescriptionOrder/logs",params:t})}function At(t){return r.post({url:"/tcm.prescriptionOrder/updateAmount",params:t})}function bt(t){return r.get({url:"/tcm.prescriptionLibrary/lists",params:t})}function kt(t){return r.post({url:"/tcm.prescriptionLibrary/add",params:t})}function Tt(t){return r.post({url:"/tcm.prescriptionLibrary/edit",params:t})}function xt(t){return r.post({url:"/tcm.prescriptionLibrary/delete",params:t})}function Bt(t){return r.get({url:"/tcm.diagnosisTodo/lists",params:t})}function Wt(t){return r.post({url:"/tcm.diagnosisTodo/add",params:t})}function Et(t){return r.post({url:"/tcm.diagnosisTodo/cancel",params:t})}export{C as $,yt as A,Ct as B,ht as C,ft as D,Rt as E,Dt as F,V as G,I as H,s as I,c as J,L as K,P as L,T as M,k as N,E as O,W as P,o as Q,Bt as R,Wt as S,Et as T,U,et as V,l as W,m as X,f as Y,u as Z,d as _,tt as a,j as a0,b as a1,A as a2,D as a3,M as a4,Q as a5,q as a6,rt as a7,B as a8,x as a9,w as aa,S as ab,z as ac,F as ad,it as ae,i as af,O as ag,g as ah,R as ai,H as aj,J as ak,K as al,p as am,X as an,n as ao,a as ap,G as aq,N as ar,v as as,st as b,Y as c,nt as d,bt as e,Z as f,y as g,_ as h,$ as i,ot as j,kt as k,Tt as l,xt as m,h as n,ut as o,ct as p,lt as q,At as r,dt as s,pt as t,gt as u,mt as v,at as w,Lt as x,Pt as y,Ot as z}; diff --git a/server/public/admin/assets/theme-picker-ZOnz3jM-.js b/server/public/admin/assets/theme-picker-Bl2LhPUt.js similarity index 93% rename from server/public/admin/assets/theme-picker-ZOnz3jM-.js rename to server/public/admin/assets/theme-picker-Bl2LhPUt.js index 1e4e3646..5dea3142 100644 --- a/server/public/admin/assets/theme-picker-ZOnz3jM-.js +++ b/server/public/admin/assets/theme-picker-Bl2LhPUt.js @@ -1 +1 @@ -import{d as u}from"./@vueuse/core-1S4fJlii.js";import{f,ak as e,I as p,F as x,ap as _,J as s}from"./@vue/runtime-core-C6bnekPw.js";import{o as h,p as k,Q as g}from"./@vue/shared-mAAVTE9n.js";import{y as a}from"./@vue/reactivity-DiY1c2vO.js";import{_ as v}from"./index-E47--KT7.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./lodash-D3kF6u-c.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./element-plus-0wC3naml.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const y={class:"flex flex-wrap"},C=["onClick"],V={class:"ml-[14px]"},w=f({__name:"theme-picker",props:{themeColors:{},modelValue:{}},emits:["update:modelValue","change"],setup(i,{emit:l}){const n=i,m=l,t=u(n,"modelValue",m),c=r=>{t.value=r.id,m("change",r)};return(r,B)=>(e(),p("div",y,[(e(!0),p(x,null,_(i.themeColors,(o,d)=>(e(),p("div",{class:h(["py-[18px] px-[20px] flex items-center text-[14px] shadow rounded-lg mr-[20px] mb-[20px] cursor-pointer",{"is-select":a(t)==o.id,unselect:a(t)!=o.id}]),key:d,onClick:I=>c(o)},[s("div",{class:"rounded-full h-[34px] w-[34px]",style:k(`background: linear-gradient(to right, ${o.color1}, ${o.color2})`)},null,4),s("div",V,g(o.name),1)],10,C))),128))]))}}),no=v(w,[["__scopeId","data-v-48f4aa49"]]);export{no as default}; +import{d as u}from"./@vueuse/core-1S4fJlii.js";import{f,ak as e,I as p,F as x,ap as _,J as s}from"./@vue/runtime-core-C6bnekPw.js";import{o as h,p as k,Q as g}from"./@vue/shared-mAAVTE9n.js";import{y as a}from"./@vue/reactivity-DiY1c2vO.js";import{_ as v}from"./index-DBREMm_z.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./lodash-D3kF6u-c.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./element-plus-DFTWCWyi.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const y={class:"flex flex-wrap"},C=["onClick"],V={class:"ml-[14px]"},w=f({__name:"theme-picker",props:{themeColors:{},modelValue:{}},emits:["update:modelValue","change"],setup(i,{emit:l}){const n=i,m=l,t=u(n,"modelValue",m),c=r=>{t.value=r.id,m("change",r)};return(r,B)=>(e(),p("div",y,[(e(!0),p(x,null,_(i.themeColors,(o,d)=>(e(),p("div",{class:h(["py-[18px] px-[20px] flex items-center text-[14px] shadow rounded-lg mr-[20px] mb-[20px] cursor-pointer",{"is-select":a(t)==o.id,unselect:a(t)!=o.id}]),key:d,onClick:I=>c(o)},[s("div",{class:"rounded-full h-[34px] w-[34px]",style:k(`background: linear-gradient(to right, ${o.color1}, ${o.color2})`)},null,4),s("div",V,g(o.name),1)],10,C))),128))]))}}),no=v(w,[["__scopeId","data-v-48f4aa49"]]);export{no as default}; diff --git a/server/public/admin/assets/tongji-DUDPbB5C.js b/server/public/admin/assets/tongji-Cm9SFDRa.js similarity index 90% rename from server/public/admin/assets/tongji-DUDPbB5C.js rename to server/public/admin/assets/tongji-Cm9SFDRa.js index efdaa4de..5a206b3e 100644 --- a/server/public/admin/assets/tongji-DUDPbB5C.js +++ b/server/public/admin/assets/tongji-Cm9SFDRa.js @@ -1 +1 @@ -import{D as Q,B as q,P as H,Q as W,G as $,F as A,a2 as K,i as X,J as Z,L as tt,M as et,N as st,T as at,R as ot,E as lt}from"./element-plus-0wC3naml.js";import{d as nt,i as it}from"./doctor-6V0qM7Ks.js";import{f as rt,b as dt,ak as a,I as i,a as o,aN as s,F as f,ap as y,G as v,O as c,H as _t,J as l,aP as ct}from"./@vue/runtime-core-C6bnekPw.js";import{Q as p}from"./@vue/shared-mAAVTE9n.js";import{n as E,r as pt}from"./@vue/reactivity-DiY1c2vO.js";import{_ as ut}from"./index-E47--KT7.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const mt={class:"statistics-page"},ft={key:0},yt={class:"status-overview"},vt={class:"status-section"},gt={key:0},ht={class:"dept-grid"},bt={class:"dept-header"},kt={class:"dept-name"},Et={class:"dept-total"},Vt={class:"status-tags"},Ct={key:1,class:"text-gray-400"},wt={class:"status-section"},Tt={key:0},xt={class:"channel-grid"},Dt={class:"channel-header"},Mt={class:"channel-name"},Bt={class:"channel-total"},Lt={class:"status-tags"},Nt={key:1,class:"text-gray-400"},St={key:1,class:"empty-data"},Ft=rt({__name:"tongji",setup(Rt){const g=E(!1),x=E([]),h=E([]),_=E([]),r=pt({doctor_id:"",time_type:"today",start_date:"",end_date:""}),S=async()=>{try{const e=await nt({role_id:1});x.value=e.lists||[]}catch(e){console.error("获取医生列表失败:",e)}},V=async()=>{g.value=!0;try{const e={time_type:r.time_type};r.doctor_id&&(e.doctor_id=r.doctor_id),r.time_type==="custom"&&_.value&&_.value.length===2&&(e.start_date=_.value[0],e.end_date=_.value[1]);const t=await it(e);h.value=t.lists||[],h.value.forEach(d=>{d.dept_status_details||(d.dept_status_details=[]),d.channel_status_details||(d.channel_status_details=[])})}catch(e){console.error("获取统计数据错误:",e),lt.error(e.msg||"获取统计数据失败")}finally{g.value=!1}},F=()=>{r.time_type!=="custom"&&(_.value=[])},R=()=>{r.doctor_id="",r.time_type="today",_.value=[],V()},j=e=>e.statuses?Object.values(e.statuses).reduce((t,d)=>t+d,0):0,O=e=>e.statuses?Object.values(e.statuses).reduce((t,d)=>t+d,0):0,D=e=>({1:"已挂号",2:"已取消",3:"已完成",4:"已过号"})[e]||`状态${e}`,M=e=>({1:"info",2:"danger",3:"success",4:"warning"})[e]||"default";return dt(()=>{S(),V()}),(e,t)=>{const d=W,P=H,b=q,k=A,Y=$,G=K,B=X,I=Q,L=Z,C=st,N=at,U=et,z=ot,J=tt;return a(),i("div",mt,[o(L,{class:"mb-4",shadow:"hover"},{header:s(()=>[...t[3]||(t[3]=[l("div",{class:"card-header"},[l("span",{class:"card-title"},"筛选条件")],-1)])]),default:s(()=>[o(I,{inline:!0,model:r,class:"filter-form"},{default:s(()=>[o(b,{label:"医生"},{default:s(()=>[o(P,{modelValue:r.doctor_id,"onUpdate:modelValue":t[0]||(t[0]=n=>r.doctor_id=n),placeholder:"全部医生",clearable:"",filterable:"",style:{width:"200px"}},{default:s(()=>[(a(!0),i(f,null,y(x.value,n=>(a(),v(d,{key:n.id,label:n.name,value:n.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),o(b,{label:"时间范围"},{default:s(()=>[o(Y,{modelValue:r.time_type,"onUpdate:modelValue":t[1]||(t[1]=n=>r.time_type=n),onChange:F},{default:s(()=>[o(k,{label:"today"},{default:s(()=>[...t[4]||(t[4]=[c("今天",-1)])]),_:1}),o(k,{label:"week"},{default:s(()=>[...t[5]||(t[5]=[c("最近7天",-1)])]),_:1}),o(k,{label:"month"},{default:s(()=>[...t[6]||(t[6]=[c("最近30天",-1)])]),_:1}),o(k,{label:"custom"},{default:s(()=>[...t[7]||(t[7]=[c("自定义",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),r.time_type==="custom"?(a(),v(b,{key:0},{default:s(()=>[o(G,{modelValue:_.value,"onUpdate:modelValue":t[2]||(t[2]=n=>_.value=n),type:"daterange","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期","value-format":"YYYY-MM-DD",style:{width:"260px"}},null,8,["modelValue"])]),_:1})):_t("",!0),o(b,null,{default:s(()=>[o(B,{type:"primary",onClick:V,loading:g.value},{default:s(()=>[...t[8]||(t[8]=[c("查询",-1)])]),_:1},8,["loading"]),o(B,{onClick:R},{default:s(()=>[...t[9]||(t[9]=[c("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),ct((a(),v(L,{class:"mb-4",shadow:"hover"},{header:s(()=>[...t[10]||(t[10]=[l("div",{class:"card-header"},[l("span",{class:"card-title"},"医生统计数据")],-1)])]),default:s(()=>[h.value.length>0?(a(),i("div",ft,[o(U,{data:h.value,style:{width:"100%"},"header-cell-style":{background:"#f5f7fa",color:"#606266",fontWeight:"600"}},{default:s(()=>[o(C,{prop:"doctor_name",label:"医生姓名",width:"120"}),o(C,{label:"状态明细","min-width":"700"},{default:s(({row:n})=>[l("div",yt,[l("div",vt,[t[11]||(t[11]=l("h4",{class:"section-title"},"部门状态",-1)),n.dept_status_details&&n.dept_status_details.length>0?(a(),i("div",gt,[l("div",ht,[(a(!0),i(f,null,y(n.dept_status_details,(u,w)=>(a(),i("div",{key:w,class:"dept-item"},[l("div",bt,[l("span",kt,p(u.dept_name),1),l("span",Et,"("+p(j(u))+")",1)]),l("div",Vt,[(a(!0),i(f,null,y(u.statuses,(T,m)=>(a(),v(N,{key:m,type:M(m),size:"small",class:"compact-tag"},{default:s(()=>[c(p(D(m))+": "+p(T),1)]),_:2},1032,["type"]))),128))])]))),128))])])):(a(),i("span",Ct,"暂无部门状态明细"))]),l("div",wt,[t[12]||(t[12]=l("h4",{class:"section-title"},"渠道状态",-1)),n.channel_status_details&&n.channel_status_details.length>0?(a(),i("div",Tt,[l("div",xt,[(a(!0),i(f,null,y(n.channel_status_details,(u,w)=>(a(),i("div",{key:w,class:"channel-item"},[l("div",Dt,[l("span",Mt,p(u.channel_name),1),l("span",Bt,"("+p(O(u))+")",1)]),l("div",Lt,[(a(!0),i(f,null,y(u.statuses,(T,m)=>(a(),v(N,{key:m,type:M(m),size:"small",class:"compact-tag"},{default:s(()=>[c(p(D(m))+": "+p(T),1)]),_:2},1032,["type"]))),128))])]))),128))])])):(a(),i("span",Nt,"暂无渠道状态明细"))])])]),_:1}),o(C,{prop:"time_range",label:"统计时间","min-width":"200"})]),_:1},8,["data"])])):(a(),i("div",St,[o(z,{description:"暂无统计数据"})]))]),_:1})),[[J,g.value]])])}}}),be=ut(Ft,[["__scopeId","data-v-aa7d2a93"]]);export{be as default}; +import{D as Q,B as q,P as H,Q as W,G as $,F as A,a2 as K,i as X,J as Z,L as tt,M as et,N as st,T as at,R as ot,E as lt}from"./element-plus-DFTWCWyi.js";import{e as nt,j as it}from"./doctor-ul0r578d.js";import{f as rt,b as dt,ak as a,I as i,a as o,aN as s,F as f,ap as y,G as v,O as c,H as _t,J as l,aP as ct}from"./@vue/runtime-core-C6bnekPw.js";import{Q as p}from"./@vue/shared-mAAVTE9n.js";import{n as E,r as pt}from"./@vue/reactivity-DiY1c2vO.js";import{_ as ut}from"./index-DBREMm_z.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const mt={class:"statistics-page"},ft={key:0},yt={class:"status-overview"},vt={class:"status-section"},gt={key:0},ht={class:"dept-grid"},bt={class:"dept-header"},kt={class:"dept-name"},Et={class:"dept-total"},Vt={class:"status-tags"},Ct={key:1,class:"text-gray-400"},wt={class:"status-section"},Tt={key:0},xt={class:"channel-grid"},Dt={class:"channel-header"},Mt={class:"channel-name"},Bt={class:"channel-total"},Lt={class:"status-tags"},Nt={key:1,class:"text-gray-400"},St={key:1,class:"empty-data"},jt=rt({__name:"tongji",setup(Ft){const g=E(!1),x=E([]),h=E([]),_=E([]),r=pt({doctor_id:"",time_type:"today",start_date:"",end_date:""}),S=async()=>{try{const e=await nt({role_id:1});x.value=e.lists||[]}catch(e){console.error("获取医生列表失败:",e)}},V=async()=>{g.value=!0;try{const e={time_type:r.time_type};r.doctor_id&&(e.doctor_id=r.doctor_id),r.time_type==="custom"&&_.value&&_.value.length===2&&(e.start_date=_.value[0],e.end_date=_.value[1]);const t=await it(e);h.value=t.lists||[],h.value.forEach(d=>{d.dept_status_details||(d.dept_status_details=[]),d.channel_status_details||(d.channel_status_details=[])})}catch(e){console.error("获取统计数据错误:",e),lt.error(e.msg||"获取统计数据失败")}finally{g.value=!1}},j=()=>{r.time_type!=="custom"&&(_.value=[])},F=()=>{r.doctor_id="",r.time_type="today",_.value=[],V()},R=e=>e.statuses?Object.values(e.statuses).reduce((t,d)=>t+d,0):0,O=e=>e.statuses?Object.values(e.statuses).reduce((t,d)=>t+d,0):0,D=e=>({1:"已挂号",2:"已取消",3:"已完成",4:"已过号"})[e]||`状态${e}`,M=e=>({1:"info",2:"danger",3:"success",4:"warning"})[e]||"default";return dt(()=>{S(),V()}),(e,t)=>{const d=W,P=H,b=q,k=A,Y=$,G=K,B=X,I=Q,L=Z,C=st,N=at,U=et,z=ot,J=tt;return a(),i("div",mt,[o(L,{class:"mb-4",shadow:"hover"},{header:s(()=>[...t[3]||(t[3]=[l("div",{class:"card-header"},[l("span",{class:"card-title"},"筛选条件")],-1)])]),default:s(()=>[o(I,{inline:!0,model:r,class:"filter-form"},{default:s(()=>[o(b,{label:"医生"},{default:s(()=>[o(P,{modelValue:r.doctor_id,"onUpdate:modelValue":t[0]||(t[0]=n=>r.doctor_id=n),placeholder:"全部医生",clearable:"",filterable:"",style:{width:"200px"}},{default:s(()=>[(a(!0),i(f,null,y(x.value,n=>(a(),v(d,{key:n.id,label:n.name,value:n.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),o(b,{label:"时间范围"},{default:s(()=>[o(Y,{modelValue:r.time_type,"onUpdate:modelValue":t[1]||(t[1]=n=>r.time_type=n),onChange:j},{default:s(()=>[o(k,{label:"today"},{default:s(()=>[...t[4]||(t[4]=[c("今天",-1)])]),_:1}),o(k,{label:"week"},{default:s(()=>[...t[5]||(t[5]=[c("最近7天",-1)])]),_:1}),o(k,{label:"month"},{default:s(()=>[...t[6]||(t[6]=[c("最近30天",-1)])]),_:1}),o(k,{label:"custom"},{default:s(()=>[...t[7]||(t[7]=[c("自定义",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),r.time_type==="custom"?(a(),v(b,{key:0},{default:s(()=>[o(G,{modelValue:_.value,"onUpdate:modelValue":t[2]||(t[2]=n=>_.value=n),type:"daterange","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期","value-format":"YYYY-MM-DD",style:{width:"260px"}},null,8,["modelValue"])]),_:1})):_t("",!0),o(b,null,{default:s(()=>[o(B,{type:"primary",onClick:V,loading:g.value},{default:s(()=>[...t[8]||(t[8]=[c("查询",-1)])]),_:1},8,["loading"]),o(B,{onClick:F},{default:s(()=>[...t[9]||(t[9]=[c("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),ct((a(),v(L,{class:"mb-4",shadow:"hover"},{header:s(()=>[...t[10]||(t[10]=[l("div",{class:"card-header"},[l("span",{class:"card-title"},"医生统计数据")],-1)])]),default:s(()=>[h.value.length>0?(a(),i("div",ft,[o(U,{data:h.value,style:{width:"100%"},"header-cell-style":{background:"#f5f7fa",color:"#606266",fontWeight:"600"}},{default:s(()=>[o(C,{prop:"doctor_name",label:"医生姓名",width:"120"}),o(C,{label:"状态明细","min-width":"700"},{default:s(({row:n})=>[l("div",yt,[l("div",vt,[t[11]||(t[11]=l("h4",{class:"section-title"},"部门状态",-1)),n.dept_status_details&&n.dept_status_details.length>0?(a(),i("div",gt,[l("div",ht,[(a(!0),i(f,null,y(n.dept_status_details,(u,w)=>(a(),i("div",{key:w,class:"dept-item"},[l("div",bt,[l("span",kt,p(u.dept_name),1),l("span",Et,"("+p(R(u))+")",1)]),l("div",Vt,[(a(!0),i(f,null,y(u.statuses,(T,m)=>(a(),v(N,{key:m,type:M(m),size:"small",class:"compact-tag"},{default:s(()=>[c(p(D(m))+": "+p(T),1)]),_:2},1032,["type"]))),128))])]))),128))])])):(a(),i("span",Ct,"暂无部门状态明细"))]),l("div",wt,[t[12]||(t[12]=l("h4",{class:"section-title"},"渠道状态",-1)),n.channel_status_details&&n.channel_status_details.length>0?(a(),i("div",Tt,[l("div",xt,[(a(!0),i(f,null,y(n.channel_status_details,(u,w)=>(a(),i("div",{key:w,class:"channel-item"},[l("div",Dt,[l("span",Mt,p(u.channel_name),1),l("span",Bt,"("+p(O(u))+")",1)]),l("div",Lt,[(a(!0),i(f,null,y(u.statuses,(T,m)=>(a(),v(N,{key:m,type:M(m),size:"small",class:"compact-tag"},{default:s(()=>[c(p(D(m))+": "+p(T),1)]),_:2},1032,["type"]))),128))])]))),128))])])):(a(),i("span",Nt,"暂无渠道状态明细"))])])]),_:1}),o(C,{prop:"time_range",label:"统计时间","min-width":"200"})]),_:1},8,["data"])])):(a(),i("div",St,[o(z,{description:"暂无统计数据"})]))]),_:1})),[[J,g.value]])])}}}),be=ut(jt,[["__scopeId","data-v-aa7d2a93"]]);export{be as default}; diff --git a/server/public/admin/assets/upload-Bw3SVd8y.js b/server/public/admin/assets/upload-oPgqnsUb.js similarity index 90% rename from server/public/admin/assets/upload-Bw3SVd8y.js rename to server/public/admin/assets/upload-oPgqnsUb.js index 0a3e2b0a..2a20c616 100644 --- a/server/public/admin/assets/upload-Bw3SVd8y.js +++ b/server/public/admin/assets/upload-oPgqnsUb.js @@ -1 +1 @@ -import{i as _,J as u}from"./element-plus-0wC3naml.js";import{U as l}from"./index-Ci4dcEQh.js";import{f as c,ak as f,I as y,a as o,aN as t,J as p,O as n}from"./@vue/runtime-core-C6bnekPw.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-E47--KT7.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-DoYUJmkp.js";const g={class:"flex flex-wrap"},v={class:"m-4"},w={class:"m-4"},h={class:"m-4"},x={class:"m-4"},lo=c({__name:"upload",setup(B){const i=e=>{console.log("上传文件的状态发生改变",e)},s=e=>{console.log("上传文件成功",e)},m=e=>{console.log("上传文件失败",e)};return(e,r)=>{const a=_,d=u;return f(),y("div",null,[o(d,{header:"基础使用",shadow:"never",class:"!border-none"},{default:t(()=>[p("div",g,[p("div",v,[o(l,{onChange:i,onSuccess:s,onError:m,"show-progress":!0},{default:t(()=>[o(a,{type:"primary"},{default:t(()=>[...r[0]||(r[0]=[n("上传图片",-1)])]),_:1})]),_:1})]),p("div",w,[o(l,{type:"video",onChange:i,onSuccess:s,onError:m,"show-progress":!0},{default:t(()=>[o(a,{type:"primary"},{default:t(()=>[...r[1]||(r[1]=[n("上传视频",-1)])]),_:1})]),_:1})]),p("div",h,[o(l,{multiple:!1,onChange:i,onSuccess:s,onError:m,"show-progress":!0},{default:t(()=>[o(a,{type:"primary"},{default:t(()=>[...r[2]||(r[2]=[n("取消多选",-1)])]),_:1})]),_:1})]),p("div",x,[o(l,{limit:2,onChange:i,onSuccess:s,onError:m,"show-progress":!0},{default:t(()=>[o(a,{type:"primary"},{default:t(()=>[...r[3]||(r[3]=[n("一次最多上传2张",-1)])]),_:1})]),_:1})])])]),_:1})])}}});export{lo as default}; +import{i as _,J as u}from"./element-plus-DFTWCWyi.js";import{U as l}from"./index-CRoZWY-W.js";import{f as c,ak as f,I as y,a as o,aN as t,J as p,O as n}from"./@vue/runtime-core-C6bnekPw.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@vue/shared-mAAVTE9n.js";import"./@vue/reactivity-DiY1c2vO.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-DBREMm_z.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-BimpIRb_.js";const g={class:"flex flex-wrap"},v={class:"m-4"},w={class:"m-4"},h={class:"m-4"},x={class:"m-4"},lo=c({__name:"upload",setup(B){const i=e=>{console.log("上传文件的状态发生改变",e)},s=e=>{console.log("上传文件成功",e)},m=e=>{console.log("上传文件失败",e)};return(e,r)=>{const a=_,d=u;return f(),y("div",null,[o(d,{header:"基础使用",shadow:"never",class:"!border-none"},{default:t(()=>[p("div",g,[p("div",v,[o(l,{onChange:i,onSuccess:s,onError:m,"show-progress":!0},{default:t(()=>[o(a,{type:"primary"},{default:t(()=>[...r[0]||(r[0]=[n("上传图片",-1)])]),_:1})]),_:1})]),p("div",w,[o(l,{type:"video",onChange:i,onSuccess:s,onError:m,"show-progress":!0},{default:t(()=>[o(a,{type:"primary"},{default:t(()=>[...r[1]||(r[1]=[n("上传视频",-1)])]),_:1})]),_:1})]),p("div",h,[o(l,{multiple:!1,onChange:i,onSuccess:s,onError:m,"show-progress":!0},{default:t(()=>[o(a,{type:"primary"},{default:t(()=>[...r[2]||(r[2]=[n("取消多选",-1)])]),_:1})]),_:1})]),p("div",x,[o(l,{limit:2,onChange:i,onSuccess:s,onError:m,"show-progress":!0},{default:t(()=>[o(a,{type:"primary"},{default:t(()=>[...r[3]||(r[3]=[n("一次最多上传2张",-1)])]),_:1})]),_:1})])])]),_:1})])}}});export{lo as default}; diff --git a/server/public/admin/assets/useDictOptions-CypOxw17.js b/server/public/admin/assets/useDictOptions-Dl6xXBty.js similarity index 84% rename from server/public/admin/assets/useDictOptions-CypOxw17.js rename to server/public/admin/assets/useDictOptions-Dl6xXBty.js index 6243d86c..b0cfa738 100644 --- a/server/public/admin/assets/useDictOptions-CypOxw17.js +++ b/server/public/admin/assets/useDictOptions-Dl6xXBty.js @@ -1 +1 @@ -import"./index-E47--KT7.js";import{t as p,r as f}from"./@vue/reactivity-DiY1c2vO.js";function d(a){const s=f({}),r=Object.keys(a),i=r.map(o=>{const t=a[o];return s[o]=[],()=>t.api(p(t.params)||{})}),e=async()=>{(await Promise.allSettled(i.map(t=>t()))).forEach((t,u)=>{const n=r[u];if(t.status=="fulfilled"){const{transformData:c}=a[n],l=c?c(t.value):t.value;s[n]=l}})};return e(),{optionsData:s,refresh:e}}export{d as u}; +import"./index-DBREMm_z.js";import{t as p,r as f}from"./@vue/reactivity-DiY1c2vO.js";function d(a){const s=f({}),r=Object.keys(a),i=r.map(o=>{const t=a[o];return s[o]=[],()=>t.api(p(t.params)||{})}),e=async()=>{(await Promise.allSettled(i.map(t=>t()))).forEach((t,u)=>{const n=r[u];if(t.status=="fulfilled"){const{transformData:c}=a[n],l=c?c(t.value):t.value;s[n]=l}})};return e(),{optionsData:s,refresh:e}}export{d as u}; diff --git a/server/public/admin/assets/useMenuOa-C5oHvLlA.js b/server/public/admin/assets/useMenuOa-Bk-XiPjw.js similarity index 92% rename from server/public/admin/assets/useMenuOa-C5oHvLlA.js rename to server/public/admin/assets/useMenuOa-Bk-XiPjw.js index f9557ff6..83b91f13 100644 --- a/server/public/admin/assets/useMenuOa-C5oHvLlA.js +++ b/server/public/admin/assets/useMenuOa-Bk-XiPjw.js @@ -1 +1 @@ -import{a as i,b as c,c as g}from"./wx_oa-CMZpCm8a.js";import{i as o}from"./index-E47--KT7.js";import{r as h,q as d,n as l}from"./@vue/reactivity-DiY1c2vO.js";const r=d(),u=l([]),n=l(0),O=h({name:[{required:!0,message:"必填项不能为空",trigger:["blur","change"]},{min:1,max:12,message:"长度限制12个字符",trigger:["blur","change"]}],menuType:[{required:!0,message:"必填项不能为空",trigger:["blur","change"]}],visitType:[{required:!0,message:"必填项不能为空",trigger:["blur","change"]}],url:[{required:!0,message:"必填项不能为空",trigger:["blur","change"]},{pattern:/(http|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?/,message:"请输入合法的网址链接",trigger:["blur","change"]}],appId:[{required:!0,message:"必填项不能为空",trigger:["blur","change"]}],pagePath:[{required:!0,message:"必填项不能为空",trigger:["blur","change"]}]}),x=s=>(s&&(r.value=s),{menuList:u,menuIndex:n,handleAddMenu:()=>{u.value.push({name:"菜单名称",has_menu:!1,type:"view",url:"",appid:"",pagepath:"",sub_button:[]})},handleAddSubMenu:e=>{const a=n.value;if(u.value[a].sub_button.length>=5){o.msgError("已添加上限~");return}u.value[a].sub_button.push(e)},handleEditSubMenu:(e,a)=>{const t=n.value;u.value[t].sub_button[a]=e},handleDelMenu:e=>{e!=0&&n.value--,u.value.splice(e,1)},handleDelSubMenu:(e,a)=>{u.value[e].sub_button.splice(a,1)},getOaMenuFunc:async()=>{try{u.value=await g()}catch(e){console.log("获取菜单=>",e)}},handleSave:async()=>{const e=r.value.value;for(let a=0;a{const e=r.value.value;for(let a=0;a(s&&(r.value=s),{menuList:u,menuIndex:n,handleAddMenu:()=>{u.value.push({name:"菜单名称",has_menu:!1,type:"view",url:"",appid:"",pagepath:"",sub_button:[]})},handleAddSubMenu:e=>{const a=n.value;if(u.value[a].sub_button.length>=5){o.msgError("已添加上限~");return}u.value[a].sub_button.push(e)},handleEditSubMenu:(e,a)=>{const t=n.value;u.value[t].sub_button[a]=e},handleDelMenu:e=>{e!=0&&n.value--,u.value.splice(e,1)},handleDelSubMenu:(e,a)=>{u.value[e].sub_button.splice(a,1)},getOaMenuFunc:async()=>{try{u.value=await g()}catch(e){console.log("获取菜单=>",e)}},handleSave:async()=>{const e=r.value.value;for(let a=0;a{const e=r.value.value;for(let a=0;a{const v=await J();for(const o in l)l[o]=v[o]},k=async()=>{var v;await((v=w.value)==null?void 0:v.validate()),await W(l),V()};return V(),(v,o)=>{const q=E,b=S,m=F,a=B,I=j,p=N,U=R,y=C,f=x("copy"),A=x("perms");return n(),K("div",null,[t(b,{class:"!border-none",shadow:"never"},{default:i(()=>[t(q,{type:"warning",title:"温馨提示:填写微信小程序开发配置,请前往微信公众平台申请小程序并完成认证",closable:!1,"show-icon":""})]),_:1}),t(U,{ref_key:"formRef",ref:w,model:s(l),rules:D,"label-width":s(c).isMobile?"80px":"160px"},{default:i(()=>[t(b,{class:"!border-none mt-4",shadow:"never"},{default:i(()=>[o[12]||(o[12]=e("div",{class:"font-medium mb-7"},"微信小程序",-1)),t(a,{label:"小程序名称",prop:"name"},{default:i(()=>[e("div",P,[t(m,{modelValue:s(l).name,"onUpdate:modelValue":o[0]||(o[0]=d=>s(l).name=d),placeholder:"请输入小程序名称"},null,8,["modelValue"])])]),_:1}),t(a,{label:"原始ID",prop:"original_id"},{default:i(()=>[e("div",T,[t(m,{modelValue:s(l).original_id,"onUpdate:modelValue":o[1]||(o[1]=d=>s(l).original_id=d),placeholder:"请输入原始ID"},null,8,["modelValue"])])]),_:1}),t(a,{label:"小程序码",prop:"qr_code"},{default:i(()=>[e("div",z,[e("div",null,[t(I,{modelValue:s(l).qr_code,"onUpdate:modelValue":o[2]||(o[2]=d=>s(l).qr_code=d),limit:1},null,8,["modelValue"])]),o[11]||(o[11]=e("div",{class:"form-tips"},"建议尺寸:宽400px*高400px。jpg,jpeg,png格式",-1))])]),_:1})]),_:1}),t(b,{class:"!border-none mt-4",shadow:"never"},{default:i(()=>[o[14]||(o[14]=e("div",{class:"font-medium mb-7"},"开发者ID",-1)),t(a,{label:"AppID",prop:"app_id"},{default:i(()=>[e("div",H,[t(m,{modelValue:s(l).app_id,"onUpdate:modelValue":o[3]||(o[3]=d=>s(l).app_id=d),placeholder:"请输入AppID"},null,8,["modelValue"])])]),_:1}),t(a,{label:"AppSecret",prop:"app_secret"},{default:i(()=>[e("div",L,[t(m,{modelValue:s(l).app_secret,"onUpdate:modelValue":o[4]||(o[4]=d=>s(l).app_secret=d),placeholder:"请输入AppSecret"},null,8,["modelValue"])])]),_:1}),t(a,null,{default:i(()=>[...o[13]||(o[13]=[e("div",{class:"form-tips"}," 小程序账号登录微信公众平台,点击开发>开发设置->开发者ID,设置AppID和AppSecret ",-1)])]),_:1})]),_:1}),t(b,{class:"!border-none mt-4",shadow:"never"},{default:i(()=>[o[25]||(o[25]=e("div",{class:"font-medium mb-7"},"服务器域名",-1)),t(a,{label:"request合法域名",prop:"appId"},{default:i(()=>[e("div",Q,[e("div",X,[e("div",Y,[t(m,{modelValue:s(l).request_domain,"onUpdate:modelValue":o[5]||(o[5]=d=>s(l).request_domain=d),disabled:""},null,8,["modelValue"])]),r((n(),u(p,null,{default:i(()=>[...o[15]||(o[15]=[_("复制",-1)])]),_:1})),[[f,s(l).request_domain]])]),o[16]||(o[16]=e("div",{class:"form-tips"}," 小程序账号登录微信公众平台,点击开发>开发设置->服务器域名,填写https协议域名 ",-1))])]),_:1}),t(a,{label:"socket合法域名"},{default:i(()=>[e("div",Z,[e("div",$,[e("div",h,[t(m,{modelValue:s(l).socket_domain,"onUpdate:modelValue":o[6]||(o[6]=d=>s(l).socket_domain=d),disabled:""},null,8,["modelValue"])]),r((n(),u(p,null,{default:i(()=>[...o[17]||(o[17]=[_("复制",-1)])]),_:1})),[[f,s(l).socket_domain]])]),o[18]||(o[18]=e("div",{class:"form-tips"}," 小程序账号登录微信公众平台,点击开发>开发设置->服务器域名,填写wss协议域名 ",-1))])]),_:1}),t(a,{label:"uploadFile合法域名"},{default:i(()=>[e("div",oo,[e("div",eo,[e("div",lo,[t(m,{modelValue:s(l).upload_file_domain,"onUpdate:modelValue":o[7]||(o[7]=d=>s(l).upload_file_domain=d),disabled:""},null,8,["modelValue"])]),r((n(),u(p,null,{default:i(()=>[...o[19]||(o[19]=[_("复制",-1)])]),_:1})),[[f,s(l).upload_file_domain]])]),o[20]||(o[20]=e("div",{class:"form-tips"}," 小程序账号登录微信公众平台,点击开发>开发设置->服务器域名,填写https协议域名 ",-1))])]),_:1}),t(a,{label:"downloadFile合法域名"},{default:i(()=>[e("div",to,[e("div",so,[e("div",io,[t(m,{modelValue:s(l).download_file_domain,"onUpdate:modelValue":o[8]||(o[8]=d=>s(l).download_file_domain=d),disabled:""},null,8,["modelValue"])]),r((n(),u(p,null,{default:i(()=>[...o[21]||(o[21]=[_("复制",-1)])]),_:1})),[[f,s(l).download_file_domain]])]),o[22]||(o[22]=e("div",{class:"form-tips"}," 小程序账号登录微信公众平台,点击开发>开发设置->服务器域名,填写https协议域名 ",-1))])]),_:1}),t(a,{label:"udp合法域名"},{default:i(()=>[e("div",ao,[e("div",mo,[e("div",no,[t(m,{modelValue:s(l).udp_domain,"onUpdate:modelValue":o[9]||(o[9]=d=>s(l).udp_domain=d),disabled:""},null,8,["modelValue"])]),r((n(),u(p,null,{default:i(()=>[...o[23]||(o[23]=[_("复制",-1)])]),_:1})),[[f,s(l).udp_domain]])]),o[24]||(o[24]=e("div",{class:"form-tips"}," 小程序账号登录微信公众平台,点击开发>开发设置->服务器域名,填写udp协议域名 ",-1))])]),_:1})]),_:1}),t(b,{class:"!border-none mt-4",shadow:"never"},{default:i(()=>[o[28]||(o[28]=e("div",{class:"font-medium mb-7"},"业务域名",-1)),t(a,{label:"业务域名"},{default:i(()=>[e("div",po,[e("div",ro,[e("div",uo,[t(m,{modelValue:s(l).business_domain,"onUpdate:modelValue":o[10]||(o[10]=d=>s(l).business_domain=d),disabled:""},null,8,["modelValue"])]),r((n(),u(p,null,{default:i(()=>[...o[26]||(o[26]=[_("复制",-1)])]),_:1})),[[f,s(l).business_domain]])]),o[27]||(o[27]=e("div",{class:"form-tips"}," 小程序账号登录微信公众平台,点击开发>开发设置->业务域名,填写业务域名 ",-1))])]),_:1})]),_:1})]),_:1},8,["model","label-width"]),r((n(),u(y,null,{default:i(()=>[t(p,{type:"primary",onClick:k},{default:i(()=>[...o[29]||(o[29]=[_("保存",-1)])]),_:1})]),_:1})),[[A,["channel.mnp_settings/setConfig"]]])])}}});export{ve as default}; +import{_ as C}from"./index-x1zzA0a7.js";import{K as E,J as S,B,C as F,i as N,D as R}from"./element-plus-DFTWCWyi.js";import{_ as j}from"./picker-BCRrEZaA.js";import{g as J,s as W}from"./weapp-Bi3HP3df.js";import{e as G}from"./index-DBREMm_z.js";import{f as g,as as x,ak as n,I as K,a as t,aN as i,J as e,aP as r,G as u,O as _}from"./@vue/runtime-core-C6bnekPw.js";import{y as s,r as M,q as O}from"./@vue/reactivity-DiY1c2vO.js";import"./@vue/shared-mAAVTE9n.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./@element-plus/icons-vue-HOEUG8sr.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-BwF7vczx.js";import"./index-BiPYXDtP.js";import"./index.vue_vue_type_script_setup_true_lang-CcvIuIWy.js";import"./index-CbfZXeGu.js";import"./index-CRoZWY-W.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-BimpIRb_.js";import"./index.vue_vue_type_script_setup_true_lang-x0oL2ShL.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./usePaging-VsbTxSU0.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const P={class:"w-80"},T={class:"w-80"},z={class:"flex-1"},H={class:"w-80"},L={class:"w-80"},Q={class:"flex-1 min-w-0"},X={class:"sm:flex"},Y={class:"mr-4 sm:w-80 flex"},Z={class:"flex-1 min-w-0"},$={class:"sm:flex"},h={class:"mr-4 sm:w-80 flex"},oo={class:"flex-1 min-w-0"},eo={class:"sm:flex"},lo={class:"mr-4 sm:w-80 flex"},to={class:"flex-1 min-w-0"},so={class:"sm:flex"},io={class:"mr-4 sm:w-80 flex"},ao={class:"flex-1 min-w-0"},mo={class:"sm:flex"},no={class:"mr-4 sm:w-80 flex"},po={class:"flex-1 min-w-0"},ro={class:"sm:flex"},uo={class:"mr-4 sm:w-80 flex"},_o=g({name:"weappConfig"}),ve=g({..._o,setup(fo){const c=G(),l=M({name:"",original_id:"",qr_code:"",app_id:"",app_secret:"",business_domain:"",download_file_domain:"",request_domain:"",socket_domain:"",tcpDomain:"",udp_domain:"",upload_file_domain:""}),w=O(),D={app_id:[{required:!0,message:"请输入AppID",trigger:["blur","change"]}],app_secret:[{required:!0,message:"请输入AppSecret",trigger:["blur","change"]}]},V=async()=>{const v=await J();for(const o in l)l[o]=v[o]},k=async()=>{var v;await((v=w.value)==null?void 0:v.validate()),await W(l),V()};return V(),(v,o)=>{const q=E,b=S,m=F,a=B,I=j,p=N,U=R,y=C,f=x("copy"),A=x("perms");return n(),K("div",null,[t(b,{class:"!border-none",shadow:"never"},{default:i(()=>[t(q,{type:"warning",title:"温馨提示:填写微信小程序开发配置,请前往微信公众平台申请小程序并完成认证",closable:!1,"show-icon":""})]),_:1}),t(U,{ref_key:"formRef",ref:w,model:s(l),rules:D,"label-width":s(c).isMobile?"80px":"160px"},{default:i(()=>[t(b,{class:"!border-none mt-4",shadow:"never"},{default:i(()=>[o[12]||(o[12]=e("div",{class:"font-medium mb-7"},"微信小程序",-1)),t(a,{label:"小程序名称",prop:"name"},{default:i(()=>[e("div",P,[t(m,{modelValue:s(l).name,"onUpdate:modelValue":o[0]||(o[0]=d=>s(l).name=d),placeholder:"请输入小程序名称"},null,8,["modelValue"])])]),_:1}),t(a,{label:"原始ID",prop:"original_id"},{default:i(()=>[e("div",T,[t(m,{modelValue:s(l).original_id,"onUpdate:modelValue":o[1]||(o[1]=d=>s(l).original_id=d),placeholder:"请输入原始ID"},null,8,["modelValue"])])]),_:1}),t(a,{label:"小程序码",prop:"qr_code"},{default:i(()=>[e("div",z,[e("div",null,[t(I,{modelValue:s(l).qr_code,"onUpdate:modelValue":o[2]||(o[2]=d=>s(l).qr_code=d),limit:1},null,8,["modelValue"])]),o[11]||(o[11]=e("div",{class:"form-tips"},"建议尺寸:宽400px*高400px。jpg,jpeg,png格式",-1))])]),_:1})]),_:1}),t(b,{class:"!border-none mt-4",shadow:"never"},{default:i(()=>[o[14]||(o[14]=e("div",{class:"font-medium mb-7"},"开发者ID",-1)),t(a,{label:"AppID",prop:"app_id"},{default:i(()=>[e("div",H,[t(m,{modelValue:s(l).app_id,"onUpdate:modelValue":o[3]||(o[3]=d=>s(l).app_id=d),placeholder:"请输入AppID"},null,8,["modelValue"])])]),_:1}),t(a,{label:"AppSecret",prop:"app_secret"},{default:i(()=>[e("div",L,[t(m,{modelValue:s(l).app_secret,"onUpdate:modelValue":o[4]||(o[4]=d=>s(l).app_secret=d),placeholder:"请输入AppSecret"},null,8,["modelValue"])])]),_:1}),t(a,null,{default:i(()=>[...o[13]||(o[13]=[e("div",{class:"form-tips"}," 小程序账号登录微信公众平台,点击开发>开发设置->开发者ID,设置AppID和AppSecret ",-1)])]),_:1})]),_:1}),t(b,{class:"!border-none mt-4",shadow:"never"},{default:i(()=>[o[25]||(o[25]=e("div",{class:"font-medium mb-7"},"服务器域名",-1)),t(a,{label:"request合法域名",prop:"appId"},{default:i(()=>[e("div",Q,[e("div",X,[e("div",Y,[t(m,{modelValue:s(l).request_domain,"onUpdate:modelValue":o[5]||(o[5]=d=>s(l).request_domain=d),disabled:""},null,8,["modelValue"])]),r((n(),u(p,null,{default:i(()=>[...o[15]||(o[15]=[_("复制",-1)])]),_:1})),[[f,s(l).request_domain]])]),o[16]||(o[16]=e("div",{class:"form-tips"}," 小程序账号登录微信公众平台,点击开发>开发设置->服务器域名,填写https协议域名 ",-1))])]),_:1}),t(a,{label:"socket合法域名"},{default:i(()=>[e("div",Z,[e("div",$,[e("div",h,[t(m,{modelValue:s(l).socket_domain,"onUpdate:modelValue":o[6]||(o[6]=d=>s(l).socket_domain=d),disabled:""},null,8,["modelValue"])]),r((n(),u(p,null,{default:i(()=>[...o[17]||(o[17]=[_("复制",-1)])]),_:1})),[[f,s(l).socket_domain]])]),o[18]||(o[18]=e("div",{class:"form-tips"}," 小程序账号登录微信公众平台,点击开发>开发设置->服务器域名,填写wss协议域名 ",-1))])]),_:1}),t(a,{label:"uploadFile合法域名"},{default:i(()=>[e("div",oo,[e("div",eo,[e("div",lo,[t(m,{modelValue:s(l).upload_file_domain,"onUpdate:modelValue":o[7]||(o[7]=d=>s(l).upload_file_domain=d),disabled:""},null,8,["modelValue"])]),r((n(),u(p,null,{default:i(()=>[...o[19]||(o[19]=[_("复制",-1)])]),_:1})),[[f,s(l).upload_file_domain]])]),o[20]||(o[20]=e("div",{class:"form-tips"}," 小程序账号登录微信公众平台,点击开发>开发设置->服务器域名,填写https协议域名 ",-1))])]),_:1}),t(a,{label:"downloadFile合法域名"},{default:i(()=>[e("div",to,[e("div",so,[e("div",io,[t(m,{modelValue:s(l).download_file_domain,"onUpdate:modelValue":o[8]||(o[8]=d=>s(l).download_file_domain=d),disabled:""},null,8,["modelValue"])]),r((n(),u(p,null,{default:i(()=>[...o[21]||(o[21]=[_("复制",-1)])]),_:1})),[[f,s(l).download_file_domain]])]),o[22]||(o[22]=e("div",{class:"form-tips"}," 小程序账号登录微信公众平台,点击开发>开发设置->服务器域名,填写https协议域名 ",-1))])]),_:1}),t(a,{label:"udp合法域名"},{default:i(()=>[e("div",ao,[e("div",mo,[e("div",no,[t(m,{modelValue:s(l).udp_domain,"onUpdate:modelValue":o[9]||(o[9]=d=>s(l).udp_domain=d),disabled:""},null,8,["modelValue"])]),r((n(),u(p,null,{default:i(()=>[...o[23]||(o[23]=[_("复制",-1)])]),_:1})),[[f,s(l).udp_domain]])]),o[24]||(o[24]=e("div",{class:"form-tips"}," 小程序账号登录微信公众平台,点击开发>开发设置->服务器域名,填写udp协议域名 ",-1))])]),_:1})]),_:1}),t(b,{class:"!border-none mt-4",shadow:"never"},{default:i(()=>[o[28]||(o[28]=e("div",{class:"font-medium mb-7"},"业务域名",-1)),t(a,{label:"业务域名"},{default:i(()=>[e("div",po,[e("div",ro,[e("div",uo,[t(m,{modelValue:s(l).business_domain,"onUpdate:modelValue":o[10]||(o[10]=d=>s(l).business_domain=d),disabled:""},null,8,["modelValue"])]),r((n(),u(p,null,{default:i(()=>[...o[26]||(o[26]=[_("复制",-1)])]),_:1})),[[f,s(l).business_domain]])]),o[27]||(o[27]=e("div",{class:"form-tips"}," 小程序账号登录微信公众平台,点击开发>开发设置->业务域名,填写业务域名 ",-1))])]),_:1})]),_:1})]),_:1},8,["model","label-width"]),r((n(),u(y,null,{default:i(()=>[t(p,{type:"primary",onClick:k},{default:i(()=>[...o[29]||(o[29]=[_("保存",-1)])]),_:1})]),_:1})),[[A,["channel.mnp_settings/setConfig"]]])])}}});export{ve as default}; diff --git a/server/public/admin/assets/weapp-C8BHuU_o.js b/server/public/admin/assets/weapp-Bi3HP3df.js similarity index 68% rename from server/public/admin/assets/weapp-C8BHuU_o.js rename to server/public/admin/assets/weapp-Bi3HP3df.js index 65f1dba7..d1e2c8f9 100644 --- a/server/public/admin/assets/weapp-C8BHuU_o.js +++ b/server/public/admin/assets/weapp-Bi3HP3df.js @@ -1 +1 @@ -import{r as n}from"./index-E47--KT7.js";function s(t){return n.post({url:"/channel.mnp_settings/setConfig",params:t})}function r(){return n.get({url:"/channel.mnp_settings/getConfig"})}export{r as g,s}; +import{r as n}from"./index-DBREMm_z.js";function s(t){return n.post({url:"/channel.mnp_settings/setConfig",params:t})}function r(){return n.get({url:"/channel.mnp_settings/getConfig"})}export{r as g,s}; diff --git a/server/public/admin/assets/website-BmYKVBCc.js b/server/public/admin/assets/website-DzUyNaPG.js similarity index 91% rename from server/public/admin/assets/website-BmYKVBCc.js rename to server/public/admin/assets/website-DzUyNaPG.js index 61a79945..ba2dc9f8 100644 --- a/server/public/admin/assets/website-BmYKVBCc.js +++ b/server/public/admin/assets/website-DzUyNaPG.js @@ -1 +1 @@ -import{r as t}from"./index-E47--KT7.js";function i(){return t.get({url:"/setting.web.web_setting/getCopyright"})}function n(e){return t.post({url:"/setting.web.web_setting/setCopyright",params:e})}function r(){return t.get({url:"/setting.web.web_setting/getWebsite"})}function g(e){return t.post({url:"/setting.web.web_setting/setWebsite",params:e})}function o(){return t.get({url:"/setting.web.web_setting/getAgreement"})}function u(e){return t.post({url:"/setting.web.web_setting/setAgreement",params:e})}function b(){return t.get({url:"/setting.web.web_setting/getSiteStatistics"})}function w(e){return t.post({url:"/setting.web.web_setting/setSiteStatistics",params:e})}export{r as a,g as b,o as c,u as d,b as e,w as f,i as g,n as s}; +import{r as t}from"./index-DBREMm_z.js";function i(){return t.get({url:"/setting.web.web_setting/getCopyright"})}function n(e){return t.post({url:"/setting.web.web_setting/setCopyright",params:e})}function r(){return t.get({url:"/setting.web.web_setting/getWebsite"})}function g(e){return t.post({url:"/setting.web.web_setting/setWebsite",params:e})}function o(){return t.get({url:"/setting.web.web_setting/getAgreement"})}function u(e){return t.post({url:"/setting.web.web_setting/setAgreement",params:e})}function b(){return t.get({url:"/setting.web.web_setting/getSiteStatistics"})}function w(e){return t.post({url:"/setting.web.web_setting/setSiteStatistics",params:e})}export{r as a,g as b,o as c,u as d,b as e,w as f,i as g,n as s}; diff --git a/server/public/admin/assets/wx_oa-CMZpCm8a.js b/server/public/admin/assets/wx_oa-sVQft6O9.js similarity index 93% rename from server/public/admin/assets/wx_oa-CMZpCm8a.js rename to server/public/admin/assets/wx_oa-sVQft6O9.js index 99bfa1cf..423be3dc 100644 --- a/server/public/admin/assets/wx_oa-CMZpCm8a.js +++ b/server/public/admin/assets/wx_oa-sVQft6O9.js @@ -1 +1 @@ -import{r as t}from"./index-E47--KT7.js";function a(n){return t.post({url:"/channel.official_account_setting/setConfig",params:n})}function c(){return t.get({url:"/channel.official_account_setting/getConfig"})}function u(){return t.get({url:"/channel.official_account_menu/detail"})}function l(n){return t.post({url:"/channel.official_account_menu/save",params:n})}function o(n){return t.post({url:"/channel.official_account_menu/saveAndPublish",params:n})}function i(n){return t.get({url:"/channel.official_account_reply/lists",params:n})}function r(n){return t.post({url:"/channel.official_account_reply/delete",params:n})}function f(n){return t.post({url:"/channel.official_account_reply/status",params:n})}function s(n){return t.post({url:"/channel.official_account_reply/add",params:n})}function _(n){return t.post({url:"/channel.official_account_reply/edit",params:n})}function p(n){return t.get({url:"/channel.official_account_reply/detail",params:n})}export{o as a,l as b,u as c,i as d,f as e,_ as f,c as g,s as h,p as i,r as o,a as s}; +import{r as t}from"./index-DBREMm_z.js";function a(n){return t.post({url:"/channel.official_account_setting/setConfig",params:n})}function c(){return t.get({url:"/channel.official_account_setting/getConfig"})}function u(){return t.get({url:"/channel.official_account_menu/detail"})}function l(n){return t.post({url:"/channel.official_account_menu/save",params:n})}function o(n){return t.post({url:"/channel.official_account_menu/saveAndPublish",params:n})}function i(n){return t.get({url:"/channel.official_account_reply/lists",params:n})}function r(n){return t.post({url:"/channel.official_account_reply/delete",params:n})}function f(n){return t.post({url:"/channel.official_account_reply/status",params:n})}function s(n){return t.post({url:"/channel.official_account_reply/add",params:n})}function _(n){return t.post({url:"/channel.official_account_reply/edit",params:n})}function p(n){return t.get({url:"/channel.official_account_reply/detail",params:n})}export{o as a,l as b,u as c,i as d,f as e,_ as f,c as g,s as h,p as i,r as o,a as s}; diff --git a/server/public/admin/assets/yeji-hPX302E_.js b/server/public/admin/assets/yeji-CvtPQpO5.js similarity index 92% rename from server/public/admin/assets/yeji-hPX302E_.js rename to server/public/admin/assets/yeji-CvtPQpO5.js index d91af15d..bb19c8e7 100644 --- a/server/public/admin/assets/yeji-hPX302E_.js +++ b/server/public/admin/assets/yeji-CvtPQpO5.js @@ -1,5 +1,5 @@ -import{P as Ln,Q as zn,af as $n,W as An,L as Pn,a2 as Rn,i as On,d as Mn,J as In,m as Tn,l as Vn,M as Fn,N as En,R as Bn,r as Yn,a3 as Un,a4 as Hn,X as Wn,e as qn,V as Gn,E as Re}from"./element-plus-0wC3naml.js";import{s as J,w as Jn}from"./@vue/runtime-dom-DDAG46FW.js";import{a as ie}from"./axios-C80V62Fs.js";import{N as Kn,x as Xn,i as E}from"./@element-plus/icons-vue-HOEUG8sr.js";import{H as Z}from"./vue-echarts-BNtg2q_G.js";import{h as Qn,y as He,i as Zn,j as el,k as tl,l as al,m as nl,n as ll,o as ol,p as sl}from"./stats-DxFb49QX.js";import{d as il}from"./finance-C48kuhTG.js";import{j as ua}from"./tcm-SLIwsL8z.js";import{u as rl,_ as dl}from"./index-E47--KT7.js";import{f as ul,b as cl,ak as o,I as c,J as a,a as r,aN as _,F as w,ap as V,G as j,aP as K,O as u,H as y,A as z}from"./@vue/runtime-core-C6bnekPw.js";import{Q as d,o as lt}from"./@vue/shared-mAAVTE9n.js";import{y as C,n as f}from"./@vue/reactivity-DiY1c2vO.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./resize-detector-G6vbKCU7.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const _l={class:"yeji-page"},pl={class:"filter-surface"},ml={class:"filter-row filter-row--top"},fl={class:"filter-field"},vl={class:"channel-opt-row"},yl={class:"opt-name"},hl={class:"opt-count"},bl={class:"filter-field filter-field--wide"},gl={class:"filter-select filter-select--dept filter-dept-tree-wrap"},wl={class:"filter-field filter-field--date-top"},kl={class:"filter-actions"},jl={class:"filter-quick"},xl={class:"date-pills",role:"group","aria-label":"快捷日期"},Nl=["onClick"],Sl={class:"doctor-daily-card__head"},Cl={class:"doctor-daily-card__title-block"},Dl={key:0,class:"doctor-daily-card__range"},Ll={class:"doctor-daily-card__tools"},zl={key:0,class:"leaderboards-wrap"},$l={class:"leaderboard-hint"},Al={class:"muted"},Pl={class:"tables-wrap"},Rl={key:0,class:"yeji-table leaderboard-table"},Ol={class:"yeji-table__header"},Ml={key:0,class:"leaderboard-sub"},Il={class:"yeji-table__scroll",tabindex:"0",role:"region","aria-label":"排行榜,可横向滚动"},Tl={class:"yeji-table__body yeji-table__body--leaderboard"},Vl=["onClick"],Fl={class:"col-rank"},El={class:"col-abbr"},Bl={class:"col-name"},Yl={class:"col-consult"},Ul={class:"col-deal"},Hl={class:"col-assign"},Wl=["onClick"],ql={key:0,class:"yeji-lead-cell--link"},Gl=["onClick"],Jl={key:0,class:"yeji-lead-cell--link"},Kl=["onClick"],Xl={key:0,class:"yeji-lead-cell--link"},Ql={class:"yeji-table__foot yeji-table__foot--left"},Zl={key:0},eo={key:0,class:"empty-tip leaderboard-empty"},to={class:"tables-wrap"},ao={key:0,class:"empty-tip"},no={class:"yeji-table__header"},lo={class:"yeji-table__scroll",tabindex:"0",role:"region","aria-label":"业绩数据表,可横向滚动"},oo={class:"yeji-table__body yeji-table__body--data"},so={style:{"max-width":"320px","line-height":"1.7","font-size":"12px"}},io={style:{"max-width":"320px","line-height":"1.7","font-size":"12px"}},ro={style:{"max-width":"280px","line-height":"1.7","font-size":"12px"}},uo={key:0,class:"col-completed col-narrow-head"},co={class:"yeji-th-label"},_o={style:{"max-width":"340px","line-height":"1.7","font-size":"12px"}},po={key:1,class:"col-completed col-narrow-head"},mo={class:"yeji-th-label"},fo={style:{"max-width":"320px","line-height":"1.7","font-size":"12px"}},vo={key:2,class:"col-completed col-narrow-head"},yo={class:"yeji-th-label"},ho={style:{"max-width":"280px","line-height":"1.7","font-size":"12px"}},bo={style:{"max-width":"320px","line-height":"1.7","font-size":"12px"}},go=["onClick"],wo={class:"col-dept"},ko=["onClick"],jo={key:0,class:"yeji-lead-cell--link"},xo=["onClick"],No={key:0,class:"yeji-lead-cell--link"},So=["onClick"],Co={key:0,class:"yeji-lead-cell--link"},Do=["onClick"],Lo={key:0,class:"col-completed"},zo=["onClick"],$o=["onClick"],Ao={key:0,class:"yeji-lead-cell--link"},Po={key:1,class:"col-completed"},Ro={key:2,class:"col-completed"},Oo={class:"total-row"},Mo=["onClick"],Io={key:0,class:"col-completed"},To=["onClick"],Vo={key:1,class:"col-completed"},Fo={key:2,class:"col-completed"},Eo={class:"yeji-table__foot"},Bo={key:0},Yo={key:1},Uo={class:"tp-matrix-wrap"},Ho={class:"tp-matrix__title"},Wo={class:"tp-matrix",role:"list"},qo={class:"tp-matrix-card__head"},Go={class:"tp-matrix-card__titles"},Jo={key:0,class:"tp-matrix-card__parent"},Ko={class:"tp-matrix-card__name"},Xo={class:"tp-matrix-card__target"},Qo={class:"tp-matrix-card__table"},Zo={class:"tp-matrix-card__num"},es={key:0},ts={class:"tp-matrix-card__num"},as={key:1},ns={class:"tp-matrix-card__num"},ls={class:"tp-matrix-card__num tp-matrix-card__num--hot"},os={class:"tp-matrix-card__num"},ss={class:"yeji-charts-stack"},is={key:0,class:"yeji-chart-block"},rs={class:"yeji-chart-block__title"},ds={key:0,class:"yeji-chart-block__sub"},us={class:"yeji-chart-panel"},cs={class:"yeji-chart-panel"},_s={class:"yeji-chart-panel"},ps={class:"yeji-chart-panel"},ms={class:"yeji-chart-panel"},fs={key:0,class:"yeji-chart-block"},vs={class:"yeji-chart-block__title"},ys={class:"yeji-chart-panel"},hs={class:"yeji-chart-panel"},bs={class:"yeji-chart-block__title"},gs={key:0,class:"yeji-chart-block__sub"},ws={class:"yeji-chart-block__sub yeji-chart-block__sub--muted"},ks={class:"yeji-chart-panel"},js={class:"yeji-order-drawer__header"},xs={class:"yeji-order-drawer__heading"},Ns={class:"yeji-order-drawer__sub"},Ss={class:"yeji-order-drawer__shell"},Cs={class:"yeji-order-drawer__stats",role:"region","aria-label":"订单汇总"},Ds={class:"yeji-order-drawer__stat-card"},Ls={class:"yeji-order-drawer__stat-value"},zs={class:"yeji-order-drawer__stat-card"},$s={class:"yeji-order-drawer__stat-value"},As={class:"yeji-order-drawer__stat-card yeji-order-drawer__stat-card--total"},Ps={class:"yeji-order-drawer__stat-label"},Rs={class:"yeji-order-drawer__stat-note"},Os={class:"yeji-order-drawer__stat-value yeji-order-drawer__stat-value--money"},Ms={class:"yeji-order-drawer__stat-card yeji-order-drawer__stat-card--accent"},Is={class:"yeji-order-drawer__stat-label"},Ts={class:"yeji-order-drawer__stat-note"},Vs={class:"yeji-order-drawer__stat-value yeji-order-drawer__stat-value--money"},Fs={key:1,class:"yeji-order-drawer__stat-card yeji-order-drawer__stat-card--accent"},Es={class:"yeji-order-drawer__stat-value yeji-order-drawer__stat-value--money"},Bs={key:2,class:"yeji-order-drawer__stat-card yeji-order-drawer__stat-card--muted"},Ys={class:"yeji-order-drawer__stat-value"},Us={class:"yeji-order-drawer__body"},Hs={key:0,class:"yeji-order-appt-lines"},Ws={class:"yeji-order-appt-line"},qs={class:"yeji-order-appt-line"},Gs={key:0,class:"yeji-order-appt-sub"},Js={class:"yeji-order-appt-line"},Ks={class:"yeji-order-appt-line yeji-order-appt-line--channel"},Xs={class:"yeji-order-appt-channel-text"},Qs={key:0,class:"yeji-order-appt-sub"},Zs={key:1,class:"yeji-order-appt-empty"},ei={class:"yeji-order-amt"},ti={class:"yeji-order-drawer__pager"},ai={class:"yeji-unassigned-dialog__head"},ni={class:"yeji-unassigned-dialog__sub"},li={key:0,class:"yeji-unassigned-dialog__note"},oi={class:"yeji-unassigned-dialog__body"},si={class:"yeji-unassigned-dialog__head"},ii={class:"yeji-unassigned-dialog__sub"},ri={key:0,class:"yeji-unassigned-dialog__note"},di={class:"yeji-unassigned-dialog__body"},ui={key:2,class:"yeji-leadlines-dialog__pager"},ci={class:"yeji-unassigned-dialog__head"},_i={class:"yeji-unassigned-dialog__sub"},pi={key:0,class:"yeji-unassigned-dialog__note"},mi={class:"yeji-unassigned-dialog__body"},fi={key:2,class:"yeji-leadlines-dialog__pager"},vi={class:"yeji-unassigned-dialog__head"},yi={class:"yeji-unassigned-dialog__sub"},hi={key:0,class:"yeji-unassigned-dialog__note"},bi={class:"yeji-unassigned-dialog__body"},gi=["onClick","onKeydown"],ca=30,wi="stats.doctorDailyStats/overview",ki=ul({__name:"yeji",setup(ji){const _a={value:"id",label:"name",children:"children"};function pa(t){if(!t.length)return[];const e=new Map;for(const h of t)e.set(h.id,{...h,children:[]});const n=[];for(const h of t){const g=e.get(h.id),k=Number(h.pid);k>0&&e.has(k)?e.get(k).children.push(g):n.push(g)}const s=h=>{var g;(g=h.children)!=null&&g.length?h.children.forEach(s):delete h.children};n.forEach(s);const i=h=>{var g;h.sort((k,B)=>{const I=k.name.includes("中心")?-1:1,p=B.name.includes("中心")?-1:1;return I!==p?I-p:k.id-B.id});for(const k of h)(g=k.children)!=null&&g.length&&i(k.children)};return i(n),n}const le=f(!1),he=f([]),ot=f(!1),ma=z(()=>pa(he.value)),A=f([]),We=f([]),st=f(!1),x=f(""),Y=f(null),re=f([]);function it(t,e){if(!t||typeof t!="object")return e;for(const n of Object.keys(t)){const s=parseInt(n,10);!Number.isNaN(s)&&s>=2&&(e=Math.max(e,s))}return e}function fa(t){var n;let e=0;for(const s of t){for(const i of s.rows)e=it(i.revisit_slots,e);e=it((n=s.total)==null?void 0:n.revisit_slots,e)}return e}const rt=z(()=>{const t=Math.min(fa(re.value),ca);return t<2?[]:Array.from({length:t-1},(e,n)=>n+2)});function va(t){if(!t.er_center_subtree)return 0;let e=0;for(const n of t.rows)e=it(n.revisit_slots,e);return e}function Ct(t){const e=Math.min(va(t),ca);return e<2?[]:Array.from({length:e-1},(n,s)=>s+2)}function qe(t){if(t===2)return"复诊2";const e=["三","四","五","六","七","八","九","十"];return t>=3&&t<=10?`复诊${e[t-3]}`:`复诊${t}`}function ee(t,e){const n=t==null?void 0:t.revisit_slots;if(!n||typeof n!="object")return 0;const s=n[e]??n[String(e)],i=Number(s);return Number.isFinite(i)?i:0}const N=f(null),oe=f(!1),dt=f(!1),be=f(!1),Dt=f(""),Oe=f(""),ge=f([]),ut=f(!1),we=f(!1),Lt=f(""),Me=f(""),ke=f([]),zt=f(null),ct=f(!1),de=f(!1),$t=f(""),Ie=f(""),je=f([]),Te=f(0),Ve=f(1),Ge=f(20),At=f(null),Je=f(!1),ue=f(!1),_t=f(""),xe=f(""),se=f([]),Ne=f(0),ce=f(1),Se=f(20),pt=f(null),ya=z(()=>se.value.some(t=>String(t.channel_source??"")!=="")),Pt=f("zyyt"),ha=rl(),Ce=z(()=>(ha.perms||[]).some(e=>e==="*"||e===wi)),Rt=z(()=>{var t;return(((t=N.value)==null?void 0:t.leaderboards)??[]).filter(e=>e.rows.length>0)});function Ot(t){return t.rows.some(e=>e.dept_id>0&&(Number(e.lead_count)>0||Number(e.consult_count)>0||Number(e.deal_order_count)>0||Number(e.performance_amount)>0||Number(e.completed_performance_amount)>0))}const De=f(!1),U=f([]),Le=f({}),Ke=f(null),Xe=z(()=>{const t=Ke.value;return!(t!=null&&t.start)||!(t!=null&&t.end)?"":t.start===t.end?`区间 ${t.start}`:`区间 ${t.start} ~ ${t.end}`}),mt=z(()=>U.value.some(t=>Number(t.deal_amount??0)>0)),ft=z(()=>U.value.some(t=>Number(t.system_prescription_count??0)>0||Number(t.manual_prescription_count??0)>0)),ba=z(()=>Ce.value?mt.value||ft.value||vt.value||yt.value||ht.value:!1),ga=z(()=>{if(ba.value)return!0;for(const t of re.value)if(Ot(t))return!0;return Rt.value.length>0}),vt=z(()=>{const t=Le.value;return Number(t.appointment_completed??0)+Number(t.appointment_missed??0)+Number(t.appointment_cancelled??0)>0}),wa=z(()=>{const t=Le.value,e=[{value:Number(t.appointment_completed??0),name:"挂号完成"},{value:Number(t.appointment_missed??0),name:"过号"},{value:Number(t.appointment_cancelled??0),name:"取消"}].filter(n=>n.value>0);return{color:["#0d9488","#d97706","#94a3b8"],tooltip:{trigger:"item",formatter:"{b}: {c} ({d}%)"},legend:{bottom:0,type:"scroll",textStyle:{fontSize:10}},series:[{name:"挂号",type:"pie",radius:["42%","68%"],center:["50%","46%"],avoidLabelOverlap:!0,itemStyle:{borderRadius:6,borderColor:"#fff",borderWidth:2},label:{formatter:`{b} -{c}`,fontSize:11},data:e}]}}),yt=z(()=>U.value.filter(t=>Number(t.deal_order_count??0)>0&&Number(t.deal_amount??0)>0).length>=2),ka=z(()=>{const t=U.value.filter(s=>Number(s.deal_order_count??0)>0&&Number(s.deal_amount??0)>0),e=Math.max(...t.map(s=>Number(s.deal_amount)),1),n=t.map(s=>{const i=Number(s.deal_amount);return{name:String(s.doctor_name||"—"),value:[Number(s.deal_order_count),i],symbolSize:12+Math.sqrt(i/e)*26}});return{color:["#2563eb"],tooltip:{trigger:"item",formatter:s=>{var h;const i=(h=s.data)==null?void 0:h.value;return Array.isArray(i)?`${s.data.name}
接诊诊单:${i[0]}
金额:${Number(i[1]).toLocaleString("zh-CN",{minimumFractionDigits:2,maximumFractionDigits:2})} 元`:""}},grid:{left:48,right:24,top:28,bottom:32,containLabel:!0},xAxis:{type:"value",name:"接诊诊单",nameLocation:"middle",nameGap:28,splitLine:{lineStyle:{type:"dashed",opacity:.55}}},yAxis:{type:"value",name:"成交金额",nameLocation:"middle",nameGap:40,splitLine:{lineStyle:{type:"dashed",opacity:.55}}},series:[{type:"scatter",data:n}]}}),ht=z(()=>U.value.filter(e=>Number(e.deal_amount??0)+Number(e.deal_order_count??0)+Number(e.system_prescription_count??0)+Number(e.manual_prescription_count??0)>0).length>=2),ja=z(()=>{const t=[...U.value].filter(p=>Number(p.deal_amount??0)+Number(p.deal_order_count??0)+Number(p.system_prescription_count??0)+Number(p.manual_prescription_count??0)>0).sort((p,R)=>Number(R.deal_amount)-Number(p.deal_amount)).slice(0,5);if(t.length<2)return{radar:{indicator:[]},series:[{type:"radar",data:[]}]};const e=p=>{const R=String(p.doctor_name||"—");return R.length>7?`${R.slice(0,7)}…`:R},n=p=>Number(p.system_prescription_count??0)+Number(p.manual_prescription_count??0),s=p=>{const R=Number(p.avg_deal_amount);if(Number.isFinite(R)&&R>0)return R;const P=Number(p.deal_order_count);return P>0?Number(p.deal_amount)/P:0},i=Math.max(...t.map(p=>Number(p.deal_amount)),1e-9),h=Math.max(...t.map(p=>Number(p.deal_order_count)),1e-9),g=Math.max(...t.map(n),1e-9),k=Math.max(...t.map(p=>Number(p.appointment_completed??0)),1e-9),B=Math.max(...t.map(s),1e-9),I=t.map(p=>({name:e(p),value:[Number(p.deal_amount)/i*100,Number(p.deal_order_count)/h*100,n(p)/g*100,Number(p.appointment_completed??0)/k*100,s(p)/B*100]}));return{color:["#2563eb","#0d9488","#d97706","#7c3aed","#64748b"],tooltip:{trigger:"item"},legend:{bottom:0,type:"scroll",textStyle:{fontSize:10}},radar:{indicator:[{name:"成交金额",max:100},{name:"接诊诊单",max:100},{name:"开方量",max:100},{name:"挂号完成",max:100},{name:"客单价",max:100}],radius:"58%",center:["50%","48%"],splitNumber:4,axisName:{fontSize:10,color:"#64748b"}},series:[{type:"radar",data:I,emphasis:{lineStyle:{width:3}}}]}}),xa=z(()=>{const t=[...U.value].filter(s=>Number(s.deal_amount??0)>0).sort((s,i)=>Number(i.deal_amount)-Number(s.deal_amount)).slice(0,20),e=t.map(s=>{const i=String(s.doctor_name||"—");return i.length>10?`${i.slice(0,10)}…`:i}),n=t.map(s=>Number(s.deal_amount??0));return{color:["#2563eb"],tooltip:{trigger:"axis",axisPointer:{type:"shadow"},valueFormatter:s=>`${s.toLocaleString("zh-CN",{minimumFractionDigits:2,maximumFractionDigits:2})} 元`},grid:{left:8,right:16,top:28,bottom:8,containLabel:!0},xAxis:{type:"value",axisLabel:{fontSize:11},splitLine:{lineStyle:{type:"dashed",opacity:.6}}},yAxis:{type:"category",data:[...e].reverse(),axisLabel:{fontSize:11}},series:[{name:"成交金额",type:"bar",data:[...n].reverse(),barMaxWidth:22,itemStyle:{borderRadius:[0,6,6,0]}}]}}),Na=z(()=>{const t=[...U.value].filter(n=>Number(n.system_prescription_count??0)+Number(n.manual_prescription_count??0)>0).sort((n,s)=>Number(s.system_prescription_count??0)+Number(s.manual_prescription_count??0)-(Number(n.system_prescription_count??0)+Number(n.manual_prescription_count??0))).slice(0,14),e=t.map(n=>{const s=String(n.doctor_name||"—");return s.length>6?`${s.slice(0,6)}…`:s});return{tooltip:{trigger:"axis",axisPointer:{type:"shadow"}},legend:{top:0,textStyle:{fontSize:11}},grid:{left:44,right:16,top:32,bottom:e.length>10?72:28},xAxis:{type:"category",data:e,axisLabel:{rotate:e.length>8?32:0,fontSize:10}},yAxis:{type:"value",splitLine:{lineStyle:{type:"dashed",opacity:.6}}},series:[{name:"系统开方",type:"bar",stack:"rx",barMaxWidth:18,data:t.map(n=>Number(n.system_prescription_count??0)),itemStyle:{color:"#2563eb"}},{name:"手动开方",type:"bar",stack:"rx",barMaxWidth:18,data:t.map(n=>Number(n.manual_prescription_count??0)),itemStyle:{color:"#d97706"}}]}});function Sa(){var e,n;const t={};if(x.value&&(t.channel_code=x.value),(e=Y.value)!=null&&e[0]&&((n=Y.value)!=null&&n[1]))t.start_date=Y.value[0],t.end_date=Y.value[1];else{const s=nt(new Date);t.start_date=s,t.end_date=s}return t}function Mt(t){return Number(t??0).toLocaleString("zh-CN",{minimumFractionDigits:2,maximumFractionDigits:2})}function Ca(t){const e=Le.value,n=[];return t.columns.forEach((s,i)=>{if(i===0){n[i]="合计";return}switch(s.property){case"system_prescription_count":n[i]=String(e.system_prescription_count??0);break;case"manual_prescription_count":n[i]=String(e.manual_prescription_count??0);break;case"deal_amount":n[i]=`¥ ${Mt(e.deal_amount)}`;break;case"deal_order_count":n[i]=String(e.deal_order_count??0);break;case"appointment_completed":n[i]=String(e.appointment_completed??0);break;case"appointment_missed":n[i]=String(e.appointment_missed??0);break;case"appointment_cancelled":n[i]=String(e.appointment_cancelled??0);break;default:n[i]=""}}),n}async function It(){De.value=!0;try{const t=await Qn(Sa());U.value=(t==null?void 0:t.rows)??[],Le.value=(t==null?void 0:t.total)??{},t!=null&&t.start_date&&(t!=null&&t.end_date)&&(Ke.value={start:t.start_date,end:t.end_date})}catch(t){if(ie.isCancel(t))return;U.value=[],Le.value={},Ke.value=null}finally{De.value=!1}}const te=f(!1),_e=f(!1),Fe=f(""),Ee=f(""),pe=f([]),Qe=f(0),X=f(1),Ze=f(15),G=f("channel"),H=f(null),Be=f(null),ae=f(null),Tt=z(()=>{const t=ae.value;if(!t)return null;const e=t.stats_order_amount_performance??t.stats_order_amount_not_cancelled;if(e==null||e==="")return null;const n=Number(e);return Number.isFinite(n)?n:null}),Vt=z(()=>{const t=ae.value;if(!t||t.stats_yeji_consult_count===void 0||t.stats_yeji_consult_count===null)return null;const e=Number(t.stats_yeji_consult_count);return Number.isFinite(e)?e:null}),Da=z(()=>pe.value.reduce((t,e)=>t+Number(e.amount??0),0)),Ft=z(()=>!!x.value&&te.value),bt=z(()=>{var e;const t=x.value;if(!t)return"";for(const n of We.value){const s=(e=n.channels)==null?void 0:e.find(i=>i.channel_code===t);if(s!=null&&s.channel_name)return String(s.channel_name)}return t}),La=z(()=>{const t=H.value;return t&&G.value==="total"?Number.isFinite(t.channelAmount)?t.channelAmount:null:Tt.value}),Ye=f(null),et=f(!1);function za(){const t=new Date;return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}`}function $a(t){const[e,n]=t.split("-").map(Number);return new Date(e,n,0).getDate()}async function Aa(){var t,e,n,s;et.value=!0,Ye.value=null;try{let i=function(v,D=0){const L=[];for(const $ of v??[])L.push({node:$,depth:D}),L.push(...i($.children??[],D+1));return L},h=function(v){const D=he.value.find(q=>Number(q.id)===v);if(!D)return"";const L=Number(D.pid);if(!L)return"";const $=he.value.find(q=>Number(q.id)===L);return $!=null&&$.name?String($.name):""},g=function(v){const D=[],L=[v];for(;L.length;){const $=L.shift();for(const q of he.value)Number(q.pid)===$&&(D.push(q.id),L.push(q.id))}return D},k=function(v,D){const L=new Map;for(const $ of(v==null?void 0:v.rows)??[])L.set(Number($.dept_id),Number($[D]??0));return L};const B=za(),I=await il({year_month:B}),p=(I==null?void 0:I.rows)??[];if(!p.length)return;const P=i(p).filter(v=>v.depth>=1&&Number(v.node.target_amount)>0).map(v=>v.node);if(!P.length)return;const Q=new Set,O=P.map(v=>{const D=Number(v.dept_id),L=g(D),$=L.length?L:[D];return $.forEach(q=>Q.add(q)),{dept_id:D,dept_name:String(v.dept_name),target_amount:Number(v.target_amount),totalIds:$}});if(!Q.size)return;const $e=We.value.flatMap(v=>v.channels),W=(t=$e.find(v=>v.channel_name.includes("自媒体1")))==null?void 0:t.channel_code,ve=(e=$e.find(v=>v.channel_name.includes("自媒体3")))==null?void 0:e.channel_code,Ae=(n=$e.find(v=>v.channel_name.includes("自媒体4")))==null?void 0:n.channel_code,Pe=Array.from(Q).join(","),[ye,F,l,b]=await Promise.all([He({dept_ids:Pe}),W?He({dept_ids:Pe,channel_code:W}):Promise.resolve(null),ve?He({dept_ids:Pe,channel_code:ve}):Promise.resolve(null),Ae?He({dept_ids:Pe,channel_code:Ae}):Promise.resolve(null)]),m=v=>{var D;return((v==null?void 0:v.tables)??[]).find(L=>String(L.label).includes("月"))??((D=v==null?void 0:v.tables)==null?void 0:D[0])},T=v=>{var D,L;return((v==null?void 0:v.tables)??[]).find($=>String($.label).includes("昨"))??((L=v==null?void 0:v.tables)==null?void 0:L[((D=v==null?void 0:v.tables)==null?void 0:D.length)-1])},oa=k(m(ye),"performance_amount"),gn=k(T(ye),"performance_amount"),sa=F?k(m(F),"completed_performance_amount"):null,ia=l?k(m(l),"completed_performance_amount"):null,ra=b?k(m(b),"completed_performance_amount"):null,Ue=(v,D)=>D.reduce((L,$)=>L+(v.get($)??0),0),Nt=new Date,wn=$a(B),kn=Nt.getDate(),jn=O.map(v=>{const D=Ue(oa,v.totalIds),L=Ue(gn,v.totalIds),$=sa?Ue(sa,v.totalIds):null,q=ia?Ue(ia,v.totalIds):null,da=ra?Ue(ra,v.totalIds):null,St=q!==null||da!==null?(q??0)+(da??0):null,Cn=Math.round(v.target_amount*(kn/wn)*100)/100,Dn=v.target_amount>0?D/v.target_amount:null;return{dept_id:v.dept_id,dept_name:v.dept_name,parent_dept_name:h(v.dept_id),target_amount:v.target_amount,total_amount:D,yesterday_amount:L,douyin_amount:$&&$>0?$:null,tuifen_amount:St&&St>0?St:null,target_progress:Cn,completion_rate:Dn}}),xn=((s=p[0])==null?void 0:s.dept_name)??"",Nn=Nt.getMonth()+1,Sn=Nt.getDate();Ye.value={title:`${xn}诊金-${Nn}.${Sn}`,sections:jn}}catch{}finally{et.value=!1}}const Pa=z(()=>{var e;const t=(e=N.value)==null?void 0:e.leaderboards;return t?t.filter(n=>n.rows.length>0).length:0}),Et=[{text:"昨天",value:()=>{const t=new Date;return t.setDate(t.getDate()-1),[t,t]}},{text:"最近七天",value:()=>{const t=new Date,e=new Date;return e.setDate(e.getDate()-6),[e,t]}},{text:"本月",value:()=>{const t=new Date;return[new Date(t.getFullYear(),t.getMonth(),1),t]}},{text:"今日",value:()=>{const t=new Date;return[t,t]}},{text:"本周",value:()=>{const t=new Date,e=new Date,n=e.getDay()||7;return e.setDate(e.getDate()-(n-1)),[e,t]}},{text:"上月",value:()=>{const t=new Date,e=new Date(t.getFullYear(),t.getMonth()-1,1),n=new Date(t.getFullYear(),t.getMonth(),0);return[e,n]}}];function Ra(t){const e=t.value();Y.value=[nt(e[0]),nt(e[1])],ze()}async function Oa(){ot.value=!0;try{const t=await Zn();he.value=(t||[]).sort((e,n)=>{const s=e.name.includes("中心")?-1:1,i=n.name.includes("中心")?-1:1;return s!==i?s-i:e.id-n.id})}catch{}finally{ot.value=!1}}async function Ma(){st.value=!0;try{const t=await el(),e=(t==null?void 0:t.groups)||[];We.value=e}catch{}finally{st.value=!1}}async function Bt(t){oe.value=!0;try{const e={start_date:t.start,end_date:t.end};A.value.length>0&&(e.dept_ids=A.value.join(",")),x.value&&(e.channel_code=x.value);const n=await nl(e);N.value={start_date:n.start_date,end_date:n.end_date,channel_code:n.channel_code||"",channel_name:n.channel_name||"",channel_filter_note:n.channel_filter_note||"",range_note:n.range_note||"",leaderboards:n.leaderboards||[]}}catch(e){if(ie.isCancel(e))return;N.value=null}finally{oe.value=!1}}async function ze(){le.value=!0,N.value=null;try{const t={};if(A.value.length>0&&(t.dept_ids=A.value.join(",")),x.value&&(t.channel_code=x.value),Y.value&&Y.value[0]&&Y.value[1]){const[s,i]=Y.value,h={...t,start_date:s,end_date:i},g=await tl(h);re.value=[{label:s===i?s:`${s} ~ ${i}`,start_date:g.start_date,end_date:g.end_date,channel_code:g.channel_code||"",channel_name:g.channel_name||"",channel_group:g.channel_group||"",channel_filter_note:g.channel_filter_note||"",rows:g.rows||[],total:g.total}],await Bt({start:g.start_date,end:g.end_date});return}const e=await He(t);re.value=((e==null?void 0:e.tables)||[]).map(s=>({label:s.label,start_date:s.start_date,end_date:s.end_date,channel_code:s.channel_code||"",channel_name:s.channel_name||"",channel_group:s.channel_group||"",channel_filter_note:s.channel_filter_note||"",rows:s.rows||[],total:s.total}));const n=nt(new Date);await Bt({start:n,end:n})}catch(t){if(ie.isCancel(t))return;const e=t;Re.error((e==null?void 0:e.msg)||(e==null?void 0:e.message)||"加载失败")}finally{le.value=!1,Ce.value?It():(U.value=[],Le.value={},Ke.value=null)}}function Ia(){A.value=[],Y.value=null,x.value="",ze()}function Ta(t){return t<=0?!1:he.value.some(e=>Number(e.pid)===t)}function Va(t){return{1:"待双审通过",2:"待发货",3:"已完成",4:"已取消",5:"已发货",6:"已签收",7:"进行中",8:"暂不制药",9:"拒收",10:"退款",11:"保留药方",12:"制药缓发"}[Number(t)]??"—"}function tt(t){return t==null||!Number.isFinite(Number(t))?"—":Number(t).toLocaleString("zh-CN",{minimumFractionDigits:2,maximumFractionDigits:2})}function Fa(t){return(X.value-1)*Ze.value+t+1}function Ea(t){const e=(t==null?void 0:t.appointment_date)!=null&&String(t.appointment_date)!==""?String(t.appointment_date):"",n=(t==null?void 0:t.period)!=null&&String(t.period)!==""?String(t.period):"",s=(t==null?void 0:t.appointment_time)!=null&&String(t.appointment_time)!==""?String(t.appointment_time):"",i=[n,s].filter(Boolean).join(" ");return e&&i?`${e} ${i}`:e||i||"—"}function Yt(t){if(!t)return"";const e=t.channel_dict_value;if(e!=null&&e!==""){const i=Number(e);if(Number.isFinite(i))return String(Math.trunc(i))}const n=t.channel_source;if(n==null)return"";const s=String(n).trim();return s===""||!/^\d+$/.test(s)?"":String(parseInt(s,10))}function Ba(t){if(t==null||t==="")return"—";const e=Number(t);if(Number.isFinite(e)&&e>=1e9&&e<1e15){const s=e<1e12?e*1e3:e,i=new Date(s);if(!Number.isNaN(i.getTime())){const h=i.getFullYear(),g=String(i.getMonth()+1).padStart(2,"0"),k=String(i.getDate()).padStart(2,"0"),B=String(i.getHours()).padStart(2,"0"),I=String(i.getMinutes()).padStart(2,"0");return`${h}-${g}-${k} ${B}:${I}`}}const n=String(t);return n.length>=16?n.slice(0,16):n}function Ut(){const t=Be.value;if(!t)return null;const e={start_time:`${t.start} 00:00:00`,end_time:`${t.end} 23:59:59`,exclude_fulfillment_cancelled:1,yeji_order_drawer:1};return t.mode==="dept"?(e.assistant_dept_id=t.deptId,A.value.length>0&&(e.dept_ids=A.value.join(","))):(e.assistant_id=t.assistantId,t.erCenterRevisitSlot!==void 0&&(e.yeji_er_center_revisit_only=1,e.yeji_er_center_revisit_slot=t.erCenterRevisitSlot)),x.value&&te.value&&G.value==="channel"&&(e.channel_code=x.value),e}async function Ya(){const t=Ut();if(!t||!x.value)return;const e={...t,channel_code:x.value,page_no:1,page_size:1};try{const n=await ua(e),s=n!=null&&n.extend&&typeof n.extend=="object"?n.extend:null;s&&s.stats_yeji_drawer_total_performance_amount!=null&&(H.value={totalAmount:Number(s.stats_yeji_drawer_total_performance_amount),totalOrderCount:Number(s.stats_yeji_drawer_total_performance_order_count??0),channelAmount:Number(s.stats_order_amount_performance??0),channelOrderCount:Number((n==null?void 0:n.count)??0)})}catch{}}async function me(){const t=Ut();if(t){x.value&&G.value==="total"&&(H.value=null),_e.value=!0;try{const e={...t,page_no:X.value,page_size:Ze.value},n=await ua(e);pe.value=Array.isArray(n==null?void 0:n.lists)?n.lists:[],Qe.value=Number((n==null?void 0:n.count)??0),ae.value=n!=null&&n.extend&&typeof n.extend=="object"?n.extend:null,x.value&&G.value==="channel"&&ae.value&&ae.value.stats_yeji_drawer_total_performance_amount!=null&&(H.value={totalAmount:Number(ae.value.stats_yeji_drawer_total_performance_amount),totalOrderCount:Number(ae.value.stats_yeji_drawer_total_performance_order_count??0),channelAmount:Number(ae.value.stats_order_amount_performance??0),channelOrderCount:Number((n==null?void 0:n.count)??0)}),x.value&&te.value&&G.value==="total"&&await Ya()}catch(e){if(ie.isCancel(e))return;const n=e;Re.error((n==null?void 0:n.msg)||(n==null?void 0:n.message)||"加载业务订单失败"),pe.value=[],Qe.value=0,ae.value=null}finally{_e.value=!1}}}function Ht(t,e,n){const s=!!(x.value&&t.channel_name);G.value=s?(n==null?void 0:n.listTab)??"channel":"channel",H.value=null,Be.value={mode:"dept",deptId:e.dept_id,deptName:e.dept_name,start:t.start_date,end:t.end_date,yejiTableRowDeptIds:t.rows.map(i=>i.dept_id).filter(i=>typeof i=="number"&&i>0)},Fe.value=`业务订单 · ${e.dept_name}`,Ee.value=`创建时间:${t.start_date} ~ ${t.end_date} · 与「合计业绩 / 接诊诊单」同口径:订单创建人人事部门 ∈ 本部门子树 · 不含履约 4/9/10`,X.value=1,te.value=!0,me()}function Ua(t,e,n){const s=!!(x.value&&t.channel_name);G.value=s?n:"channel",H.value=null,Be.value={mode:"dept",deptId:e,deptName:"当前展示合计",start:t.start_date,end:t.end_date,yejiTableRowDeptIds:t.rows.map(i=>i.dept_id).filter(i=>typeof i=="number"&&i>0)},Fe.value="业务订单 · 当前展示合计",Ee.value=`创建时间:${t.start_date} ~ ${t.end_date} · 已选展示部门 1 个根节点(含其下全部展示行)· 不含履约 4/9/10`,X.value=1,te.value=!0,me()}function gt(t,e,n){return!(fe(e)||e.dept_id<=0||n==="channel"&&!t.channel_name)}function wt(t,e){return!(A.value.length!==1||e==="channel"&&!t.channel_name)}function Wt(t,e,n){if(!gt(t,e,n))return;Ht(t,e,{listTab:n==="total"?"total":"channel"})}function qt(t,e){if(!wt(t,e))return;const n=A.value[0];if(!n)return;Ua(t,n,e==="total"?"total":"channel")}function Ha(t,e,n){G.value="channel",H.value=null,Be.value={mode:"assistant",assistantId:t.admin_id,assistantName:t.name,start:e,end:n},Fe.value=`业务订单 · ${t.name}`,Ee.value=`创建时间:${e} ~ ${n} · 创建人=${t.name}(与排行榜诊金同口径)· 不含履约 4/9/10`,X.value=1,te.value=!0,me()}function kt(t,e,n,s){G.value="channel",H.value=null,Be.value={mode:"assistant",assistantId:t.admin_id,assistantName:t.name,start:e,end:n,erCenterRevisitSlot:s};const i=s===0?"复诊合计":qe(s);Fe.value=`业务订单 · ${t.name} · ${i}`,Ee.value=`创建时间:${e} ~ ${n} · 创建人=${t.name}(与部门表 / 排行榜复诊同口径)· 仅二中心复诊口径 · ${i} · 不含履约 4/9/10`,X.value=1,te.value=!0,me()}function Wa(t){if(!t||t.admin_id<=0||!N.value||Number(t.revisit_count??0)<=0)return;const{start_date:e,end_date:n}=N.value;kt({admin_id:t.admin_id,name:t.name},e,n,0)}function qa(t,e){if(!t||t.admin_id<=0||!N.value||ee(t,e)<=0)return;const{start_date:n,end_date:s}=N.value;kt({admin_id:t.admin_id,name:t.name},n,s,e)}function Ga(){X.value=1,me()}function Ja(t){X.value=t,me()}function Ka(t){Ze.value=t,X.value=1,me()}function fe(t){return t.dept_id<=0&&t.dept_name==="未归属中心"}function Xa(t,e){e.dept_id<=0||fe(e)||Number(e.revisit_count??0)<=0||Jt(t,e,0)}function Qa(t,e,n){e.dept_id<=0||fe(e)||ee(e,n)<=0||Jt(t,e,n)}function Gt(t){const e=zt.value;!e||Number(t.order_count)<=0||kt({admin_id:t.admin_id,name:t.name},e.start,e.end,e.revisitSlot)}async function Jt(t,e,n){const s=n===0?"复诊合计":qe(n);Lt.value=`${e.dept_name} · ${s} · ${t.start_date} ~ ${t.end_date}`,zt.value={start:t.start_date,end:t.end_date,revisitSlot:n},Me.value="",ke.value=[],ut.value=!0,we.value=!0;try{const i={start_date:t.start_date,end_date:t.end_date,dept_id:e.dept_id,revisit_slot:n};A.value.length>0&&(i.dept_ids=A.value.join(",")),x.value&&(i.channel_code=x.value);const h=await al(i);ke.value=Array.isArray(h==null?void 0:h.rows)?h.rows:[],Me.value=typeof(h==null?void 0:h.note)=="string"?h.note:""}catch(i){if(ie.isCancel(i))return;const h=i;Re.error((h==null?void 0:h.msg)||(h==null?void 0:h.message)||"加载复诊拆解失败"),ke.value=[],Me.value=""}finally{we.value=!1}}function Kt(t){const e=[`区间:${t.start_date} ~ ${t.end_date}`];return x.value&&e.push(`渠道:${t.channel_name||x.value}`),A.value.length>0&&e.push(`已选展示部门 ${A.value.length} 个`),e.join(" · ")}async function Za(t){Dt.value=Kt(t),Oe.value="",ge.value=[],dt.value=!0,be.value=!0;try{const e={start_date:t.start_date,end_date:t.end_date};A.value.length>0&&(e.dept_ids=A.value.join(",")),x.value&&(e.channel_code=x.value);const n=await ll(e);ge.value=Array.isArray(n==null?void 0:n.rows)?n.rows:[],Oe.value=typeof(n==null?void 0:n.note)=="string"?n.note:""}catch(e){if(ie.isCancel(e))return;const n=e;Re.error((n==null?void 0:n.msg)||(n==null?void 0:n.message)||"加载未归属拆解失败"),ge.value=[],Oe.value=""}finally{be.value=!1}}function en(t,e,n){n.dept_id<=0||Number(n.lead_count)<=0||(t.stopPropagation(),tn(e,n))}async function jt(){const t=At.value;if(!t)return;const{tb:e,row:n}=t;de.value=!0;try{const s={start_date:e.start_date,end_date:e.end_date,dept_id:n.dept_id,page:Ve.value,page_size:Ge.value};A.value.length>0&&(s.dept_ids=A.value.join(",")),x.value&&(s.channel_code=x.value);const i=await ol(s);je.value=Array.isArray(i==null?void 0:i.lists)?i.lists:[],Te.value=Number((i==null?void 0:i.count)??0),Ie.value=typeof(i==null?void 0:i.note)=="string"?i.note:""}catch(s){if(ie.isCancel(s))return;const i=s;Re.error((i==null?void 0:i.msg)||(i==null?void 0:i.message)||"加载进线明细失败"),je.value=[],Te.value=0,Ie.value=""}finally{de.value=!1}}async function tn(t,e){At.value={tb:t,row:e},$t.value=`${e.dept_name} · ${Kt(t)}`,Ie.value="",je.value=[],Te.value=0,Ve.value=1,Ge.value=20,ct.value=!0,await jt()}function an(t){Ve.value=t,jt()}function nn(t){Ge.value=t,Ve.value=1,jt()}function ln(t){return(ce.value-1)*Se.value+t+1}function Xt(t){return fe(t)?!0:t.dept_id>0}async function at(){const t=pt.value;if(t){ue.value=!0;try{const e={start_date:t.start_date,end_date:t.end_date,page:ce.value,page_size:Se.value};t.mode==="dept"?e.dept_id=t.dept_id:e.assistant_id=t.assistant_id,A.value.length>0&&(e.dept_ids=A.value.join(",")),x.value&&(e.channel_code=x.value);const n=await sl(e);se.value=Array.isArray(n==null?void 0:n.lists)?n.lists:[],Ne.value=Number((n==null?void 0:n.count)??0),xe.value=typeof(n==null?void 0:n.note)=="string"?n.note:""}catch(e){if(ie.isCancel(e))return;const n=e;Re.error((n==null?void 0:n.msg)||(n==null?void 0:n.message)||"加载挂号明细失败"),se.value=[],Ne.value=0,xe.value=""}finally{ue.value=!1}}}function on(t){if(!t||t.admin_id<=0||!N.value||Number(t.appointment_count??0)<=0)return;const e=N.value;pt.value={mode:"assistant",assistant_id:t.admin_id,name:t.name,start_date:e.start_date,end_date:e.end_date},_t.value=`${t.name} · 医助 · ${e.start_date} ~ ${e.end_date}`,xe.value="",se.value=[],Ne.value=0,ce.value=1,Se.value=20,Je.value=!0,at()}function sn(t,e){!Xt(e)||Number(e.appointment_booked_count??0)<=0||(pt.value={mode:"dept",dept_id:e.dept_id,dept_name:e.dept_name,start_date:t.start_date,end_date:t.end_date},_t.value=`${e.dept_name} · ${t.start_date} ~ ${t.end_date}`,xe.value="",se.value=[],Ne.value=0,ce.value=1,Se.value=20,Je.value=!0,at())}function rn(t){ce.value=t,at()}function dn(t){Se.value=t,ce.value=1,at()}function un(t,e){if(fe(e)){Za(t);return}if(!(e.dept_id<=0)){if(Ta(e.dept_id)){A.value=[e.dept_id],ze();return}Ht(t,e)}}function cn(t){if(!t||t.admin_id<=0||!N.value)return;const{start_date:e,end_date:n}=N.value;Ha(t,e,n)}function Qt(t){const e=t.channel_name?` · ${t.channel_name}`:"";return`${t.label}${e}`}function _n(t){const e=t.rows.filter(g=>g.dept_id>0),n=e.map(g=>g.dept_name.length>10?`${g.dept_name.slice(0,10)}…`:g.dept_name),s=["#64748b","#38bdf8","#6366f1"],i=[{name:"进线",type:"bar",data:e.map(g=>g.lead_count),yAxisIndex:0,barMaxWidth:16},{name:"接诊",type:"bar",data:e.map(g=>g.consult_count),yAxisIndex:0,barMaxWidth:16},{name:"成交单",type:"bar",data:e.map(g=>g.deal_order_count),yAxisIndex:0,barMaxWidth:16},{name:"合计业绩",type:"bar",data:e.map(g=>g.performance_amount),yAxisIndex:1,barMaxWidth:14,itemStyle:{color:"#d97706"}}];t.channel_name&&i.push({name:`${t.channel_name}业绩`,type:"bar",data:e.map(g=>g.completed_performance_amount),yAxisIndex:1,barMaxWidth:14,itemStyle:{color:"#0d9488"}});const h=e.length>10;return{color:[...s,"#d97706","#0d9488"],tooltip:{trigger:"axis",axisPointer:{type:"cross"}},legend:{top:8,type:"scroll",textStyle:{fontSize:11}},grid:{left:52,right:52,top:48,bottom:h?56:28,containLabel:!1},dataZoom:h?[{type:"slider",bottom:4,start:0,end:Math.min(100,Math.ceil(12/Math.max(e.length,1)*100))}]:[],xAxis:{type:"category",data:n,axisLabel:{rotate:n.length>8?28:0,fontSize:10}},yAxis:[{type:"value",name:"数量",splitLine:{lineStyle:{type:"dashed",opacity:.55}}},{type:"value",name:"金额",splitLine:{show:!1}}],series:i}}function pn(t,e){const n=[...t.rows].sort((s,i)=>Number(i.fee_amount)-Number(s.fee_amount)).slice(0,15);return{color:["#2563eb"],tooltip:{trigger:"axis",axisPointer:{type:"shadow"},valueFormatter:s=>`${Number(s).toLocaleString("zh-CN")} 元`},grid:{left:8,right:20,top:12,bottom:8,containLabel:!0},xAxis:{type:"value",splitLine:{lineStyle:{type:"dashed",opacity:.6}}},yAxis:{type:"category",data:n.map(s=>s.name.length>8?`${s.name.slice(0,8)}…`:s.name).reverse(),axisLabel:{fontSize:11}},series:[{name:"诊金",type:"bar",data:n.map(s=>Number(s.fee_amount??0)).reverse(),barMaxWidth:20,itemStyle:{borderRadius:[0,6,6,0]}}]}}function Zt(t){return t.rows.some(e=>Number(e.fee_amount)>0)}function mn(t,e){const s=[...t.rows].filter(i=>Number(i.fee_amount)>0).sort((i,h)=>Number(h.fee_amount)-Number(i.fee_amount)).slice(0,10).map(i=>({name:i.name.length>6?`${i.name.slice(0,6)}…`:i.name,value:Number(i.fee_amount)}));return{color:["#2563eb","#0d9488","#d97706","#7c3aed","#64748b","#0891b2","#65a30d","#c026d3","#ea580c","#4f46e5"],tooltip:{trigger:"item",formatter:"{b}: {c} 元 ({d}%)"},legend:{type:"scroll",bottom:0,textStyle:{fontSize:9}},series:[{name:"诊金",type:"pie",radius:["38%","64%"],center:["50%","42%"],data:s,itemStyle:{borderRadius:5,borderColor:"#fff",borderWidth:2},label:{formatter:`{b} -{d}%`,fontSize:10}}]}}function ea(t){return Number(t.total.lead_count)+Number(t.total.consult_count)+Number(t.total.deal_order_count)>0}function fn(t){const e=Number(t.total.lead_count??0),n=Number(t.total.consult_count??0),s=Number(t.total.deal_order_count??0);return{tooltip:{trigger:"item",formatter:"{b}: {c}"},color:["#2563eb","#38bdf8","#0d9488"],series:[{type:"funnel",left:"8%",width:"84%",minSize:"12%",sort:"none",gap:6,label:{show:!0,position:"inside",formatter:`{b} -{c}`,fontSize:11},data:[{value:e,name:"进线"},{value:n,name:"接诊"},{value:s,name:"成交单"}]}]}}function ta(t){return t.rows.some(e=>e.dept_id>0&&Number(e.performance_amount)>0)}function vn(t){const e=t.rows.filter(i=>i.dept_id>0&&Number(i.performance_amount)>0).sort((i,h)=>Number(h.performance_amount)-Number(i.performance_amount));if(!e.length)return{series:[{type:"pie",data:[]}]};const s=e.slice(0,10).map(i=>({name:i.dept_name.length>8?`${i.dept_name.slice(0,8)}…`:i.dept_name,value:Number(i.performance_amount)}));if(e.length>10){const i=e.slice(10).reduce((h,g)=>h+Number(g.performance_amount),0);i>0&&s.push({name:"其它",value:i})}return{color:["#2563eb","#0d9488","#d97706","#7c3aed","#64748b","#0891b2","#65a30d","#c026d3","#ea580c","#4f46e5","#94a3b8"],tooltip:{trigger:"item",formatter:"{b}
{c} 元({d}%)"},legend:{type:"scroll",bottom:0,textStyle:{fontSize:10}},series:[{type:"pie",radius:["36%","62%"],center:["50%","44%"],data:s,itemStyle:{borderRadius:5,borderColor:"#fff",borderWidth:2},label:{formatter:`{b} -{d}%`,fontSize:10}}]}}function xt(t){return{perf:"渠道业绩",deal:"渠道成交",aov:"渠道客单"}[t]??t}function S(t){return t==null||t===""?"0":Number(t).toLocaleString("en-US")}function M(t){return t==null||t===""?"0.0":Number(t).toLocaleString("en-US",{minimumFractionDigits:1,maximumFractionDigits:1})}function ne(t){if(t==null||t==="")return"0";const e=Number(t);return Number.isFinite(e)?Math.round(e).toLocaleString("zh-CN"):"0"}function aa(t){return t==null||t===""?"—":Number(t).toLocaleString("en-US",{minimumFractionDigits:1,maximumFractionDigits:1})}function na(t){return t==null||t===""?"—":Number(t).toFixed(1)}function la(t){if(t==null||t==="")return"";const e=Number(t);return e>=1?"roi-good":e>=.8?"roi-mid":"roi-bad"}function yn(t){return t===null?"—":(t*100).toFixed(2)+"%"}function hn(t){return t===null?"":t>=1?"tp-good":t>=.8?"tp-mid":"tp-bad"}function bn(t){return t>=1e4?(t/1e4).toFixed(1)+"万":String(t)}function nt(t){const e=t.getFullYear(),n=String(t.getMonth()+1).padStart(2,"0"),s=String(t.getDate()).padStart(2,"0");return`${e}-${n}-${s}`}return cl(async()=>{await Promise.all([Oa(),Ma()]),ze(),Aa()}),(t,e)=>{const n=zn,s=$n,i=Ln,h=An,g=Rn,k=Mn,B=On,I=In,p=En,R=Fn,P=Bn,Q=Vn,O=Yn,$e=Tn,W=Hn,ve=Un,Ae=Wn,Pe=qn,ye=Gn,F=Pn;return o(),c("div",_l,[e[140]||(e[140]=a("header",{class:"yeji-masthead"},[a("div",{class:"yeji-masthead__inner"},[a("h1",{class:"yeji-masthead__title"},"业绩看板"),a("p",{class:"yeji-masthead__desc"},"渠道 · 部门 · 日期维度的业绩分析")])],-1)),r(I,{class:"yeji-panel filter-card",shadow:"never"},{default:_(()=>[a("div",pl,[a("div",ml,[a("div",fl,[e[10]||(e[10]=a("span",{class:"lbl"},"渠道来源",-1)),r(i,{modelValue:x.value,"onUpdate:modelValue":e[0]||(e[0]=l=>x.value=l),filterable:"",placeholder:"渠道筛选",class:"filter-select filter-select--channel",loading:st.value,onChange:ze},{default:_(()=>[r(n,{label:"全部",value:""}),(o(!0),c(w,null,V(We.value,l=>(o(),j(s,{key:l.group_name,label:l.group_name},{default:_(()=>[(o(!0),c(w,null,V(l.channels,b=>(o(),j(n,{key:b.channel_code,label:b.channel_name,value:b.channel_code},{default:_(()=>[a("div",vl,[a("span",yl,d(b.channel_name),1),a("span",hl,d(b.customer_count>0?b.customer_count:""),1)])]),_:2},1032,["label","value"]))),128))]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue","loading"])]),a("div",bl,[e[11]||(e[11]=a("span",{class:"lbl"},"展示部门",-1)),K((o(),c("div",gl,[r(h,{modelValue:A.value,"onUpdate:modelValue":e[1]||(e[1]=l=>A.value=l),data:ma.value,multiple:"","collapse-tags":"","collapse-tags-tooltip":"",filterable:"","check-strictly":"","render-after-expand":!1,"default-expand-all":!0,placeholder:"默认:所有「中心」部门",class:"filter-dept-tree-select","node-key":"id",props:_a},null,8,["modelValue","data"])])),[[F,ot.value]])]),a("div",wl,[e[12]||(e[12]=a("span",{class:"lbl"},"日期范围",-1)),r(g,{modelValue:Y.value,"onUpdate:modelValue":e[2]||(e[2]=l=>Y.value=l),type:"daterange","value-format":"YYYY-MM-DD","start-placeholder":"开始","end-placeholder":"结束",clearable:!0,shortcuts:Et,class:"filter-date-picker"},null,8,["modelValue"])]),a("div",kl,[r(B,{type:"primary",class:"filter-btn filter-btn--query",loading:le.value,onClick:ze},{default:_(()=>[r(k,{class:"filter-btn__icon"},{default:_(()=>[r(C(Kn))]),_:1}),e[13]||(e[13]=u(" 查询 ",-1))]),_:1},8,["loading"]),r(B,{class:"filter-btn filter-btn--reset",disabled:le.value,onClick:Ia},{default:_(()=>[r(k,{class:"filter-btn__icon"},{default:_(()=>[r(C(Xn))]),_:1}),e[14]||(e[14]=u(" 重置 ",-1))]),_:1},8,["disabled"])])]),a("div",jl,[e[15]||(e[15]=a("span",{class:"filter-quick__title"},"快捷日期",-1)),a("div",xl,[(o(),c(w,null,V(Et,l=>a("button",{key:l.text,type:"button",class:"date-pill",onClick:b=>Ra(l)},d(l.text),9,Nl)),64))])])])]),_:1}),r(I,{class:"yeji-panel yeji-main-tabs-card",shadow:"never"},{default:_(()=>[e[115]||(e[115]=a("div",{class:"yeji-table-tabs-head"},[a("span",{class:"yeji-table-tabs-head__title"},"表格统计"),a("span",{class:"yeji-table-tabs-head__hint"},"列较多时可横向滚动浏览;「部门 / 排名」列在滚动时保持固定。")],-1)),r($e,{modelValue:Pt.value,"onUpdate:modelValue":e[3]||(e[3]=l=>Pt.value=l),class:"yeji-view-tabs"},{default:_(()=>[r(Q,{label:"医生统计",name:"doctor",lazy:""},{default:_(()=>[Ce.value?(o(),j(I,{key:0,class:"yeji-panel doctor-daily-card doctor-daily-card--nested",shadow:"never"},{header:_(()=>[a("div",Sl,[a("div",Cl,[e[16]||(e[16]=a("span",{class:"doctor-daily-card__title"},"医生明细",-1)),Xe.value?(o(),c("span",Dl,d(Xe.value),1)):y("",!0)]),a("div",Ll,[r(B,{type:"primary",size:"small",loading:De.value,onClick:It},{default:_(()=>[...e[17]||(e[17]=[u(" 刷新 ",-1)])]),_:1},8,["loading"])])])]),default:_(()=>[K((o(),j(R,{data:U.value,size:"small",border:"",stripe:"",class:"doctor-daily-table","show-summary":"","summary-method":Ca},{default:_(()=>[r(p,{prop:"doctor_name",label:"医生","min-width":"100",fixed:""}),r(p,{prop:"system_prescription_count",label:"系统开方","min-width":"88",align:"right"}),r(p,{prop:"manual_prescription_count",label:"手动开方","min-width":"88",align:"right"}),r(p,{prop:"deal_amount",label:"成交金额","min-width":"110",align:"right"},{default:_(({row:l})=>[u("¥ "+d(Mt(l.deal_amount)),1)]),_:1}),r(p,{prop:"deal_order_count",label:"接诊诊单","min-width":"88",align:"right"}),r(p,{prop:"appointment_completed",label:"挂号完成","min-width":"88",align:"right"}),r(p,{prop:"appointment_missed",label:"过号","min-width":"72",align:"right"}),r(p,{prop:"appointment_cancelled",label:"取消","min-width":"72",align:"right"})]),_:1},8,["data"])),[[F,De.value]])]),_:1})):(o(),j(P,{key:1,description:"当前账号无医生统计权限"}))]),_:1}),r(Q,{label:"医助排行榜",name:"leaderboard",lazy:""},{default:_(()=>[N.value||oe.value?K((o(),c("div",zl,[N.value?(o(),c(w,{key:0},[a("p",$l,[u(d(N.value.range_note)+" ",1),a("span",Al,d(N.value.start_date)+" ~ "+d(N.value.end_date),1)]),a("div",Pl,[(o(!0),c(w,null,V(N.value.leaderboards,l=>(o(),c(w,{key:l.dept_id},[l.rows.length>0?(o(),c("div",Rl,[a("div",Ol,[u(d(l.dept_name)+" · 医助排行榜 ",1),N.value.channel_name?(o(),c("span",Ml," ("+d(N.value.channel_name)+") ",1)):y("",!0)]),a("div",Il,[a("table",Tl,[a("thead",null,[a("tr",null,[e[19]||(e[19]=a("th",{class:"col-rank"},"排名",-1)),e[20]||(e[20]=a("th",{class:"col-abbr"},"部门",-1)),e[21]||(e[21]=a("th",{class:"col-name"},"姓名",-1)),e[22]||(e[22]=a("th",{class:"col-consult"},"接诊单数",-1)),e[23]||(e[23]=a("th",{class:"col-deal"},"接诊诊单",-1)),e[24]||(e[24]=a("th",{class:"col-assign"},"被指派数",-1)),e[25]||(e[25]=a("th",{class:"col-appointment"},"预约诊单",-1)),l.er_center_subtree?(o(),c(w,{key:0},[e[18]||(e[18]=a("th",{class:"col-revisit"},"复诊合计",-1)),(o(!0),c(w,null,V(Ct(l),b=>(o(),c("th",{key:"lbh-"+l.dept_id+"-"+b,class:"col-revisit-slot"},d(qe(b)),1))),128))],64)):y("",!0),e[26]||(e[26]=a("th",null,"诊金",-1)),e[27]||(e[27]=a("th",null,[u("接诊率"),a("br"),a("span",{class:"th-sub"},"(元/进线)")],-1))])]),a("tbody",null,[(o(!0),c(w,null,V(l.rows,b=>(o(),c("tr",{key:b.admin_id,class:"yeji-row--action",onClick:m=>cn(b)},[a("td",Fl,d(b.rank),1),a("td",El,d(b.dept_abbr),1),a("td",Bl,d(b.name),1),a("td",Yl,d(ne(b.consult_count)),1),a("td",Ul,d(ne(b.deal_order_count)),1),a("td",Hl,d(ne(b.assign_count??0)),1),a("td",{class:"col-appointment",onClick:J(m=>on(b),["stop"])},[Number(b.appointment_count??0)>0?(o(),c("span",ql,d(ne(b.appointment_count??0)),1)):(o(),c(w,{key:1},[u(d(ne(b.appointment_count??0)),1)],64))],8,Wl),l.er_center_subtree?(o(),c(w,{key:0},[a("td",{class:"col-revisit",onClick:J(m=>Wa(b),["stop"])},[Number(b.revisit_count??0)>0?(o(),c("span",Jl,d(ne(b.revisit_count??0)),1)):(o(),c(w,{key:1},[u(d(ne(b.revisit_count??0)),1)],64))],8,Gl),(o(!0),c(w,null,V(Ct(l),m=>(o(),c("td",{key:"lbc-"+b.admin_id+"-"+m,class:"col-revisit-slot",onClick:J(T=>qa(b,m),["stop"])},[ee(b,m)>0?(o(),c("span",Xl,d(ne(ee(b,m))),1)):(o(),c(w,{key:1},[u(d(ne(ee(b,m))),1)],64))],8,Kl))),128))],64)):y("",!0),a("td",null,d(M(b.fee_amount)),1),a("td",null,d(M(b.consult_rate)),1)],8,Vl))),128))])])]),a("div",Ql,[e[28]||(e[28]=a("span",null,"诊金单位:元 · 诊金/接诊诊单/复诊均按「订单创建人 = 该医助」归属,与部门「合计业绩 / 接诊诊单 / 复诊」同口径 · 被指派数与部门业绩表同口径 · 接诊率 = 诊金 ÷ 进线(元/进线)",-1)),l.er_center_subtree?(o(),c("span",Zl," · 复诊列为二中心口径(同一诊单业务单序列第 2 笔起),点击数字查看对应业务订单 ")):y("",!0),e[29]||(e[29]=a("span",null," · 预约诊单:预约日期在统计区间内,状态含已预约/已完成/已过号(不含已取消),医助归属与接诊单数一致(按挂号 assistant_id 优先,否则诊单 assistant_id);各科组展示全部医助。 ",-1))])])):y("",!0)],64))),128))]),!oe.value&&Pa.value===0?(o(),c("div",eo,[r(P,{description:"当前筛选下暂无医助排行数据"})])):y("",!0)],64)):y("",!0)])),[[F,oe.value]]):oe.value?y("",!0):(o(),j(P,{key:1,class:"yeji-charts-empty",description:"当前筛选下暂无医助排行数据"}))]),_:1}),r(Q,{label:"甄养堂互联网医院诊金",name:"zyyt",lazy:""},{default:_(()=>[K((o(),c("div",to,[!le.value&&re.value.length===0?(o(),c("div",ao,[r(P,{description:"暂无数据"})])):y("",!0),(o(!0),c(w,null,V(re.value,(l,b)=>(o(),c("div",{key:b,class:"yeji-table"},[a("div",no,d(Qt(l)),1),a("div",lo,[a("table",oo,[a("thead",null,[a("tr",null,[e[107]||(e[107]=a("th",{class:"col-dept"},"部门",-1)),a("th",null,[e[36]||(e[36]=a("span",null,"进线数据",-1)),r(O,{placement:"top",effect:"dark","show-after":200},{content:_(()=>[a("div",so,[e[34]||(e[34]=u(" add_external_contact 事件数,按接待企微成员归属部门;定渠道时须客户带对应企微标签。",-1)),e[35]||(e[35]=a("br",null,null,-1)),l.channel_name?(o(),c(w,{key:0},[e[30]||(e[30]=a("b",null,"二中心及其组织下级",-1)),e[31]||(e[31]=u("(与部门 ErCenter 子树一致)在选定渠道下进线计 ",-1)),e[32]||(e[32]=a("b",null,"0",-1)),e[33]||(e[33]=u("。 ",-1))],64)):y("",!0)])]),default:_(()=>[r(k,{class:"col-info"},{default:_(()=>[r(C(E))]),_:1})]),_:2},1024)]),a("th",null,[e[52]||(e[52]=a("span",null,"被指派数",-1)),r(O,{placement:"top",effect:"dark","show-after":200},{content:_(()=>[a("div",io,[e[44]||(e[44]=a("b",null,"tcm_diagnosis_assign_log",-1)),e[45]||(e[45]=u(" 行数(成功指派:",-1)),e[46]||(e[46]=a("b",null,"to_assistant_id > 0",-1)),e[47]||(e[47]=u("),**仅按 ",-1)),e[48]||(e[48]=a("b",null,"related_po_create_time",-1)),e[49]||(e[49]=u("** 落在所选区间内(与日志表快照一致;诊单手动指派已写入该字段)。按",-1)),e[50]||(e[50]=a("b",null,"被指派医助",-1)),e[51]||(e[51]=u("归属展示部门。",-1)),l.channel_name?(o(),c(w,{key:0},[u(" 选定渠道时收窄与「"+d(l.channel_name)+"」业绩同口径(标签诊单或 channels EXISTS)。",1),e[37]||(e[37]=a("br",null,null,-1)),e[38]||(e[38]=a("b",null,"二中心及其组织下级",-1)),e[39]||(e[39]=u("在选定渠道下本列计 ",-1)),e[40]||(e[40]=a("b",null,"0",-1)),e[41]||(e[41]=u("。 ",-1))],64)):(o(),c(w,{key:1},[e[42]||(e[42]=a("br",null,null,-1)),e[43]||(e[43]=u("未选渠道时不限客户来源,与「合计业绩」列渠道无关。",-1))],64))])]),default:_(()=>[r(k,{class:"col-info"},{default:_(()=>[r(C(E))]),_:1})]),_:2},1024)]),a("th",null,[e[54]||(e[54]=a("span",null,"复诊合计",-1)),r(O,{placement:"top",effect:"dark","show-after":200},{content:_(()=>[...e[53]||(e[53]=[a("div",{style:{"max-width":"320px","line-height":"1.7","font-size":"12px"}},[u(" 仅"),a("b",null,"名称含「二中心」"),u("的部门及其组织下级:候选订单为有诊单医助、且 "),a("b",null,"fulfillment_status"),u(" 非 4/9/10("),a("b",null,"NULL 计入"),u(")的业务单,按患者 "),a("b",null,"create_time"),u(" 排序,"),a("b",null,"第 1 笔不计"),u(";第 2 笔起计入合计,分列复诊2、复诊三…。"),a("b",null,"归属"),u("按订单创建人的人事部门,与"),a("b",null,"合计业绩"),u("列同口径。非二中心子树部门为 0。 ")],-1)])]),default:_(()=>[r(k,{class:"col-info"},{default:_(()=>[r(C(E))]),_:1})]),_:1})]),(o(!0),c(w,null,V(rt.value,m=>(o(),c("th",{key:"yjv-h-"+m},[a("span",null,d(qe(m)),1),r(O,{placement:"top",effect:"dark","show-after":200},{content:_(()=>[a("div",ro,[e[55]||(e[55]=u(" 该列统计区间内患者第 ",-1)),a("b",null,d(m),1),e[56]||(e[56]=u(" 笔业务单条数(第 1 笔初诊单列不计);归属与合计列相同。 ",-1))])]),default:_(()=>[r(k,{class:"col-info"},{default:_(()=>[r(C(E))]),_:1})]),_:2},1024)]))),128)),a("th",null,[e[58]||(e[58]=a("span",null,"合计业绩",-1)),r(O,{placement:"top",effect:"dark","show-after":200},{content:_(()=>[...e[57]||(e[57]=[a("div",{style:{"max-width":"300px","line-height":"1.7","font-size":"12px"}},[u(" 按订单"),a("b",null,"创建时间"),u("统计(剔除履约已取消/拒收/退款 4·9·10),金额与"),a("b",null,"接诊诊单"),u("列一致:仅按"),a("b",null,"订单创建人"),u("的人事部门落在本展示行(含下级)计入,多行命中时取最深的展示部门。与"),a("b",null,"医助排行榜诊金"),u("同口径。"),a("br"),a("b",null,"不受渠道筛选影响"),u("。与侧栏按部门打开的业务订单列表对齐。"),a("br"),u(" 点击金额可查看对应业务订单明细(侧栏默认「合计业绩」全量列表)。 ")],-1)])]),default:_(()=>[r(k,{class:"col-info"},{default:_(()=>[r(C(E))]),_:1})]),_:1})]),l.channel_name?(o(),c("th",uo,[a("span",co,d(xt("perf")),1),r(O,{placement:"top",effect:"dark","show-after":200},{content:_(()=>[a("div",_o,[u(" 「"+d(l.channel_name)+"」渠道业绩(与卡片标题渠道一致)。与「处方订单列表」业绩",1),e[59]||(e[59]=a("b",null,"同口径",-1)),e[60]||(e[60]=u(":按订单 ",-1)),e[61]||(e[61]=a("b",null,"create_time",-1)),e[62]||(e[62]=u(" 归日,剔除履约状态 4(已取消)/9(拒收)/10(退款)。",-1)),e[63]||(e[63]=a("br",null,null,-1)),e[64]||(e[64]=u(" 渠道判定用 EXISTS:该患者有任一挂号 ",-1)),e[65]||(e[65]=a("b",null,"channels 命中字典 + status=3",-1)),e[66]||(e[66]=u("(不限挂号时点)。",-1)),e[67]||(e[67]=a("br",null,null,-1)),e[68]||(e[68]=u(" 点击金额可查看该部门本渠道订单明细(侧栏「渠道筛选」列表)。 ",-1))])]),default:_(()=>[r(k,{class:"col-info","aria-label":"说明"},{default:_(()=>[r(C(E))]),_:1})]),_:2},1024)])):y("",!0),a("th",null,[e[70]||(e[70]=a("span",null,"预约诊单",-1)),r(O,{placement:"top",effect:"dark","show-after":200},{content:_(()=>[...e[69]||(e[69]=[a("div",{style:{"max-width":"320px","line-height":"1.7","font-size":"12px"}},[u(" 已预约 / 已完成 / 已过号(不含已取消),按"),a("b",null,"预约日期"),u("落在区间内统计;部门归属医助优先,否则接诊医生;与"),a("b",null,"医助排行榜 · 预约诊单"),u("及明细弹窗同口径。"),a("br"),u(" 点击数字可查看每条挂号记录。 ")],-1)])]),default:_(()=>[r(k,{class:"col-info"},{default:_(()=>[r(C(E))]),_:1})]),_:1})]),a("th",null,[e[72]||(e[72]=a("span",null,"已完成挂号",-1)),r(O,{placement:"top",effect:"dark","show-after":200},{content:_(()=>[...e[71]||(e[71]=[a("div",{style:{"max-width":"320px","line-height":"1.7","font-size":"12px"}},[u(" 仅"),a("b",null,"已完成"),u("(status=3),与 admin「医生预约 / 已完成」列表计数条件一致(appointment_date、诊单未软删);部门归属医助优先,否则接诊医生。 ")],-1)])]),default:_(()=>[r(k,{class:"col-info"},{default:_(()=>[r(C(E))]),_:1})]),_:1})]),a("th",null,[e[74]||(e[74]=a("span",null,"接诊诊单",-1)),r(O,{placement:"top",effect:"dark","show-after":200},{content:_(()=>[...e[73]||(e[73]=[a("div",{style:{"max-width":"320px","line-height":"1.7","font-size":"12px"}},[u(" <<<<<<< HEAD "),a("b",null,"业务订单条数"),u("(计业绩):订单 "),a("b",null,"create_time"),u(" 落入区间、"),a("b",null,"fulfillment_status ∉ {4,9,10}"),u("("),a("b",null,"NULL 计入"),u(");按"),a("b",null,"订单创建人"),u("的人事部门落在该部门子树即计入(表格多行命中时取最深的展示部门)。与"),a("b",null,"合计业绩 / 医助排行榜接诊诊单"),u("同口径。选定渠道时本列仍为全量。 ======= "),a("b",null,"业务订单条数"),u("(计业绩):订单 "),a("b",null,"create_time"),u(" 落入区间、"),a("b",null,"fulfillment_status ∉ {4,9,10}"),u(";与列表筛选 "),a("b",null,"assistant_dept_id"),u(" 时一致——"),a("b",null,"创建人"),u("人事部门优先,无创建人则诊单 "),a("b",null,"医助"),u(";落在该部门子树即计入(表格多行命中时取最深的展示部门)。与侧栏勾选「与表格业绩对齐」时的集合可能略有差异。选定渠道时本列仍为全量。 >>>>>>> master ")],-1)])]),default:_(()=>[r(k,{class:"col-info"},{default:_(()=>[r(C(E))]),_:1})]),_:1})]),l.channel_name?(o(),c("th",po,[a("span",mo,d(xt("deal")),1),r(O,{placement:"top",effect:"dark","show-after":200},{content:_(()=>[a("div",fo,[u(" 「"+d(l.channel_name)+"」渠道成交单数;与渠道业绩同源:区间内 ",1),e[75]||(e[75]=a("b",null,"计业绩的业务订单",-1)),e[76]||(e[76]=u(" 条数(剔除 4/9/10),按订单 ",-1)),e[77]||(e[77]=a("b",null,"create_time",-1)),e[78]||(e[78]=u(" 归日;渠道判定同业绩列。 ",-1))])]),default:_(()=>[r(k,{class:"col-info","aria-label":"说明"},{default:_(()=>[r(C(E))]),_:1})]),_:2},1024)])):y("",!0),l.channel_name?(o(),c("th",vo,[a("span",yo,d(xt("aov")),1),r(O,{placement:"top",effect:"dark","show-after":200},{content:_(()=>[a("div",ho," 「"+d(l.channel_name)+"」渠道客单价 ≈ 渠道业绩 ÷ 渠道成交单。 ",1)]),default:_(()=>[r(k,{class:"col-info","aria-label":"说明"},{default:_(()=>[r(C(E))]),_:1})]),_:2},1024)])):y("",!0),a("th",null,[e[104]||(e[104]=a("span",null,"ROI",-1)),r(O,{placement:"top",effect:"dark","show-after":200},{content:_(()=>[a("div",bo,[l.channel_name?(o(),c(w,{key:0},[e[79]||(e[79]=u(" 有渠道时:",-1)),e[80]||(e[80]=a("b",null,"合计行 ROI",-1)),e[81]||(e[81]=u(" = ",-1)),a("b",null,d(l.channel_name)+"业绩合计",1),e[82]||(e[82]=u("(与上表该渠道业绩列合计一致,",-1)),e[83]||(e[83]=a("b",null,"不含二中心及其组织下级",-1)),e[84]||(e[84]=u(")÷ ",-1)),e[85]||(e[85]=a("b",null,"投放成本合计",-1)),e[86]||(e[86]=u("。",-1)),e[87]||(e[87]=a("br",null,null,-1)),e[88]||(e[88]=u(" 部门行 ROI = 该部门 ",-1)),a("b",null,d(l.channel_name)+"业绩",1),e[89]||(e[89]=u(" ÷ 该部门 ",-1)),e[90]||(e[90]=a("b",null,"投放成本",-1)),e[91]||(e[91]=u(";",-1)),e[92]||(e[92]=a("b",null,"二中心子树",-1)),e[93]||(e[93]=u("部门该渠道业绩与进线为 0、投放成本分摊进线计 0,故无 ROI。与「合计业绩」列无关。 ",-1))],64)):(o(),c(w,{key:1},[e[94]||(e[94]=a("b",null,"合计行 ROI",-1)),e[95]||(e[95]=u(" = 全表业绩合计(",-1)),e[96]||(e[96]=a("b",null,"不含二中心子树",-1)),e[97]||(e[97]=u("各部门行业绩)÷ ",-1)),e[98]||(e[98]=a("b",null,"投放成本合计",-1)),e[99]||(e[99]=u(";",-1)),e[100]||(e[100]=a("br",null,null,-1)),e[101]||(e[101]=u(" 部门行 = 该部门「合计业绩」口径业绩 ÷ 该部门均摊投放成本;",-1)),e[102]||(e[102]=a("b",null,"二中心子树",-1)),e[103]||(e[103]=u("部门不参与成本分摊(进线占比计 0),故无 ROI。 ",-1))],64))])]),default:_(()=>[r(k,{class:"col-info"},{default:_(()=>[r(C(E))]),_:1})]),_:2},1024)]),a("th",null,[e[106]||(e[106]=a("span",null,"投放成本",-1)),r(O,{placement:"top",effect:"dark","show-after":200},{content:_(()=>[...e[105]||(e[105]=[a("div",{style:{"max-width":"320px","line-height":"1.7","font-size":"12px"}},[u(" 区间与渠道与账务表一致后得到"),a("b",null,"总投放成本"),u(";"),a("b",null,"单进线成本"),u(" = 总成本 ÷ 各展示部门"),a("b",null,"进线合计"),u(";"),a("br"),u(" 各部门行投放成本 = 单进线成本 × 该部门进线(四舍五入尾差并入进线最多的部门)。"),a("b",null,"二中心及其组织下级"),u("进线在分摊中计 "),a("b",null,"0"),u("(与 ROI 分子扣除范围一致)。 ")],-1)])]),default:_(()=>[r(k,{class:"col-info"},{default:_(()=>[r(C(E))]),_:1})]),_:1})])])]),a("tbody",null,[(o(!0),c(w,null,V(l.rows,m=>(o(),c("tr",{key:`${b}-${m.dept_id}-${m.dept_name}`,class:lt(["yeji-row--action",{"yeji-row--unassigned":fe(m),"yeji-row--idle":m.dept_id<=0&&!fe(m)}]),onClick:T=>un(l,m)},[a("td",wo,d(m.dept_name),1),a("td",{onClick:T=>en(T,l,m)},[m.dept_id>0&&Number(m.lead_count)>0?(o(),c("span",jo,d(S(m.lead_count)),1)):(o(),c(w,{key:1},[u(d(S(m.lead_count)),1)],64))],8,ko),a("td",null,d(S(m.assign_count??0)),1),a("td",{onClick:J(T=>Xa(l,m),["stop"])},[m.dept_id>0&&Number(m.revisit_count??0)>0?(o(),c("span",No,d(S(m.revisit_count??0)),1)):(o(),c(w,{key:1},[u(d(S(m.revisit_count??0)),1)],64))],8,xo),(o(!0),c(w,null,V(rt.value,T=>(o(),c("td",{key:"yjv-"+b+"-"+m.dept_id+"-"+T,onClick:J(oa=>Qa(l,m,T),["stop"])},[m.dept_id>0&&ee(m,T)>0?(o(),c("span",Co,d(S(ee(m,T))),1)):(o(),c(w,{key:1},[u(d(S(ee(m,T))),1)],64))],8,So))),128)),a("td",null,[gt(l,m,"total")?(o(),c("span",{key:0,class:"yeji-lead-cell--link",onClick:J(T=>Wt(l,m,"total"),["stop"])},d(M(m.performance_amount)),9,Do)):(o(),c(w,{key:1},[u(d(M(m.performance_amount)),1)],64))]),l.channel_name?(o(),c("td",Lo,[gt(l,m,"channel")?(o(),c("span",{key:0,class:"yeji-lead-cell--link",onClick:J(T=>Wt(l,m,"channel"),["stop"])},d(M(m.completed_performance_amount)),9,zo)):(o(),c(w,{key:1},[u(d(M(m.completed_performance_amount)),1)],64))])):y("",!0),a("td",{onClick:J(T=>sn(l,m),["stop"])},[Xt(m)&&Number(m.appointment_booked_count??0)>0?(o(),c("span",Ao,d(S(m.appointment_booked_count??0)),1)):(o(),c(w,{key:1},[u(d(S(m.appointment_booked_count??0)),1)],64))],8,$o),a("td",null,d(S(m.consult_count)),1),a("td",null,d(S(m.deal_order_count)),1),l.channel_name?(o(),c("td",Po,d(S(m.channel_consult_count)),1)):y("",!0),l.channel_name?(o(),c("td",Ro,d(aa(m.channel_avg_price)),1)):y("",!0),a("td",{class:lt(la(m.roi))},d(na(m.roi)),3),a("td",null,d(M(m.cost_amount)),1)],10,go))),128)),a("tr",Oo,[e[108]||(e[108]=a("td",{class:"col-dept"},"合计",-1)),a("td",null,d(S(l.total.lead_count)),1),a("td",null,d(S(l.total.assign_count??0)),1),a("td",null,d(S(l.total.revisit_count??0)),1),(o(!0),c(w,null,V(rt.value,m=>(o(),c("td",{key:"yjvt-"+b+"-"+m},d(S(ee(l.total,m))),1))),128)),a("td",null,[wt(l,"total")?(o(),c("span",{key:0,class:"yeji-lead-cell--link",onClick:J(m=>qt(l,"total"),["stop"])},d(M(l.total.performance_amount)),9,Mo)):(o(),c(w,{key:1},[u(d(M(l.total.performance_amount)),1)],64))]),l.channel_name?(o(),c("td",Io,[wt(l,"channel")?(o(),c("span",{key:0,class:"yeji-lead-cell--link",onClick:J(m=>qt(l,"channel"),["stop"])},d(M(l.total.completed_performance_amount)),9,To)):(o(),c(w,{key:1},[u(d(M(l.total.completed_performance_amount)),1)],64))])):y("",!0),a("td",null,d(S(l.total.appointment_booked_count??0)),1),a("td",null,d(S(l.total.consult_count)),1),a("td",null,d(S(l.total.deal_order_count)),1),l.channel_name?(o(),c("td",Vo,d(S(l.total.channel_consult_count)),1)):y("",!0),l.channel_name?(o(),c("td",Fo,d(aa(l.total.channel_avg_price)),1)):y("",!0),a("td",{class:lt(la(l.total.roi))},d(na(l.total.roi)),3),a("td",null,d(M(l.total.cost_amount)),1)])])])]),a("div",Eo,[a("span",null,"区间:"+d(l.start_date)+" ~ "+d(l.end_date),1),l.channel_name?(o(),c("span",Bo," · 渠道:"+d(l.channel_name),1)):y("",!0),l.total.cost_per_lead!=null&&l.total.cost_per_lead>0?(o(),c("span",Yo," · 单进线成本:"+d(M(l.total.cost_per_lead))+" 元 ",1)):y("",!0)])]))),128))])),[[F,le.value]])]),_:1}),r(Q,{label:"目标看板(卡片)",name:"zyyt_matrix",lazy:""},{default:_(()=>[K((o(),c("div",Uo,[Ye.value?(o(),c(w,{key:0},[a("h2",Ho,d(Ye.value.title),1),a("div",Wo,[(o(!0),c(w,null,V(Ye.value.sections,l=>(o(),c("div",{key:"tm-"+l.dept_id,class:"tp-matrix-card",role:"listitem"},[a("div",qo,[a("div",Go,[l.parent_dept_name?(o(),c("span",Jo,d(l.parent_dept_name),1)):y("",!0),a("span",Ko,d(l.dept_name)+"目标",1)]),a("span",Xo,d(bn(l.target_amount)),1)]),a("table",Qo,[a("tbody",null,[a("tr",null,[e[109]||(e[109]=a("td",{class:"tp-matrix-card__lbl"},"昨日诊金",-1)),a("td",Zo,d(S(l.yesterday_amount)),1)]),l.douyin_amount!==null?(o(),c("tr",es,[e[110]||(e[110]=a("td",{class:"tp-matrix-card__lbl"},"抖音总诊金",-1)),a("td",ts,d(S(l.douyin_amount)),1)])):y("",!0),l.tuifen_amount!==null?(o(),c("tr",as,[e[111]||(e[111]=a("td",{class:"tp-matrix-card__lbl"},"推粉总诊金",-1)),a("td",ns,d(S(l.tuifen_amount)),1)])):y("",!0),a("tr",null,[e[112]||(e[112]=a("td",{class:"tp-matrix-card__lbl"},"总诊金",-1)),a("td",ls,d(S(l.total_amount)),1)]),a("tr",null,[e[113]||(e[113]=a("td",{class:"tp-matrix-card__lbl"},"目标进度",-1)),a("td",os,d(M(l.target_progress)),1)]),a("tr",null,[e[114]||(e[114]=a("td",{class:"tp-matrix-card__lbl"},"完成进度",-1)),a("td",{class:lt(["tp-matrix-card__num tp-matrix-card__num--hot",hn(l.completion_rate)])},d(yn(l.completion_rate)),3)])])])]))),128))])],64)):et.value?y("",!0):(o(),j(P,{key:1,class:"tp-matrix-empty",description:"暂无目标数据,请先配置当月部门目标或为部门设置诊金目标后刷新页面"}))])),[[F,et.value]])]),_:1})]),_:1},8,["modelValue"])]),_:1}),r(I,{class:"yeji-panel yeji-charts-only-card",shadow:"never"},{default:_(()=>[e[125]||(e[125]=a("div",{class:"yeji-charts-only-head"},"统计图",-1)),K((o(),c("div",ss,[ga.value?(o(),c(w,{key:0},[Ce.value&&(mt.value||ft.value||vt.value||yt.value||ht.value)?(o(),c("section",is,[a("h3",rs,[e[116]||(e[116]=u(" 医生统计 ",-1)),Xe.value?(o(),c("span",ds,d(Xe.value),1)):y("",!0)]),r(ve,{gutter:16},{default:_(()=>[r(W,{xs:24,lg:9},{default:_(()=>[a("div",us,[e[117]||(e[117]=a("div",{class:"yeji-chart-panel__label"},"成交金额 TOP(条形)",-1)),mt.value?(o(),j(C(Z),{key:0,class:"yeji-echart",option:xa.value,autoresize:""},null,8,["option"])):(o(),j(P,{key:1,description:"暂无成交金额数据","image-size":72}))])]),_:1}),r(W,{xs:24,lg:8},{default:_(()=>[a("div",cs,[e[118]||(e[118]=a("div",{class:"yeji-chart-panel__label"},"开方构成(堆叠柱)",-1)),ft.value?(o(),j(C(Z),{key:0,class:"yeji-echart yeji-echart--short",option:Na.value,autoresize:""},null,8,["option"])):(o(),j(P,{key:1,description:"暂无开方数据","image-size":72}))])]),_:1}),r(W,{xs:24,lg:7},{default:_(()=>[a("div",_s,[e[119]||(e[119]=a("div",{class:"yeji-chart-panel__label"},"挂号结果(环形 · 表尾合计)",-1)),vt.value?(o(),j(C(Z),{key:0,class:"yeji-echart yeji-echart--short",option:wa.value,autoresize:""},null,8,["option"])):(o(),j(P,{key:1,description:"暂无挂号汇总","image-size":72}))])]),_:1})]),_:1}),r(ve,{gutter:16,class:"yeji-chart-subrow"},{default:_(()=>[r(W,{xs:24,lg:12},{default:_(()=>[a("div",ps,[e[120]||(e[120]=a("div",{class:"yeji-chart-panel__label"},"接诊诊单 × 金额(散点)",-1)),yt.value?(o(),j(C(Z),{key:0,class:"yeji-echart yeji-echart--compact",option:ka.value,autoresize:""},null,8,["option"])):(o(),j(P,{key:1,description:"至少两名医生同时有接诊诊单与金额时可展示","image-size":72}))])]),_:1}),r(W,{xs:24,lg:12},{default:_(()=>[a("div",ms,[e[121]||(e[121]=a("div",{class:"yeji-chart-panel__label"},"TOP 医生雷达(相对最高值归一)",-1)),ht.value?(o(),j(C(Z),{key:0,class:"yeji-echart yeji-echart--compact",option:ja.value,autoresize:""},null,8,["option"])):(o(),j(P,{key:1,description:"至少两名医生有数据时可展示","image-size":72}))])]),_:1})]),_:1})])):y("",!0),(o(!0),c(w,null,V(re.value,(l,b)=>(o(),c(w,{key:"dept-chart-"+b},[Ot(l)?(o(),c("section",fs,[a("h3",vs,d(Qt(l)),1),r(C(Z),{class:"yeji-echart yeji-echart--tall",option:_n(l),autoresize:""},null,8,["option"]),ea(l)||ta(l)?(o(),j(ve,{key:0,gutter:16,class:"yeji-chart-subrow"},{default:_(()=>[ea(l)?(o(),j(W,{key:0,xs:24,md:12},{default:_(()=>[a("div",ys,[e[122]||(e[122]=a("div",{class:"yeji-chart-panel__label"}," 进线 → 接诊 → 成交(汇总漏斗) ",-1)),r(C(Z),{class:"yeji-echart yeji-echart--compact",option:fn(l),autoresize:""},null,8,["option"])])]),_:2},1024)):y("",!0),ta(l)?(o(),j(W,{key:1,xs:24,md:12},{default:_(()=>[a("div",hs,[e[123]||(e[123]=a("div",{class:"yeji-chart-panel__label"}," 部门合计业绩占比(TOP10 + 其它) ",-1)),r(C(Z),{class:"yeji-echart yeji-echart--compact",option:vn(l),autoresize:""},null,8,["option"])])]),_:2},1024)):y("",!0)]),_:2},1024)):y("",!0)])):y("",!0)],64))),128)),N.value?(o(!0),c(w,{key:1},V(Rt.value,l=>(o(),c("section",{key:"lb-chart-"+l.dept_id,class:"yeji-chart-block"},[a("h3",bs,[u(d(l.dept_name)+" · 医助 ",1),N.value.channel_name?(o(),c("span",gs," ("+d(N.value.channel_name)+") ",1)):y("",!0),a("span",ws,d(N.value.start_date)+"~"+d(N.value.end_date),1)]),r(ve,{gutter:16},{default:_(()=>[r(W,{xs:24,lg:Zt(l)?14:24},{default:_(()=>[r(C(Z),{class:"yeji-echart",option:pn(l,N.value),autoresize:""},null,8,["option"])]),_:2},1032,["lg"]),Zt(l)?(o(),j(W,{key:0,xs:24,lg:10},{default:_(()=>[a("div",ks,[e[124]||(e[124]=a("div",{class:"yeji-chart-panel__label"},"诊金占比",-1)),r(C(Z),{class:"yeji-echart yeji-echart--compact",option:mn(l,N.value),autoresize:""},null,8,["option"])])]),_:2},1024)):y("",!0)]),_:2},1024)]))),128)):y("",!0)],64)):!le.value&&(!Ce.value||!De.value)&&!oe.value?(o(),j(P,{key:1,class:"yeji-charts-empty",description:"当前筛选下暂无图表数据,请调整条件后查询"})):y("",!0)])),[[F,le.value||Ce.value&&De.value||oe.value]])]),_:1}),r(Pe,{modelValue:te.value,"onUpdate:modelValue":e[5]||(e[5]=l=>te.value=l),direction:"rtl",size:"min(1120px, 98vw)","destroy-on-close":"",class:"yeji-order-drawer","show-close":!0},{header:_(()=>[a("div",js,[a("h3",xs,d(Fe.value),1),a("p",Ns,d(Ee.value),1)])]),default:_(()=>[a("div",Ss,[a("section",Cs,[a("div",Ds,[e[126]||(e[126]=a("span",{class:"yeji-order-drawer__stat-label"},"符合条件的订单",-1)),a("span",Ls,d(Qe.value.toLocaleString("zh-CN"))+" 笔",1)]),a("div",zs,[e[127]||(e[127]=a("span",{class:"yeji-order-drawer__stat-label"},[u(" 约诊 "),a("span",{class:"yeji-order-drawer__stat-note"},"(已完成挂号;日期按挂号 appointment_date;医助=挂号或诊单,与看板接诊一致)")],-1)),a("span",$s,d(Vt.value===null?"—":Vt.value.toLocaleString("zh-CN"))+" 次",1)]),Ft.value&&H.value?(o(),c(w,{key:0},[a("div",As,[a("span",Ps,[e[128]||(e[128]=u(" 合计业绩 ",-1)),a("span",Rs,"(与看板「合计业绩」列同口径,不限渠道;"+d(H.value.totalOrderCount.toLocaleString("zh-CN"))+" 笔)",1)]),a("span",Os," ¥"+d(tt(H.value.totalAmount)),1)]),a("div",Ms,[a("span",Is,[u(d(bt.value)+"业绩 ",1),a("span",Ts,"(与看板「"+d(bt.value)+"业绩」同口径;"+d(H.value.channelOrderCount.toLocaleString("zh-CN"))+" 笔)",1)]),a("span",Vs," ¥"+d(tt(La.value)),1)])],64)):(o(),c("div",Fs,[e[129]||(e[129]=a("span",{class:"yeji-order-drawer__stat-label"},[u(" 业务订单金额合计 "),a("span",{class:"yeji-order-drawer__stat-note"},"(不含履约 4·9·10,与上方业绩口径一致)")],-1)),a("span",Es," ¥"+d(tt(Tt.value)),1)])),pe.value.length>0?(o(),c("div",Bs,[e[130]||(e[130]=a("span",{class:"yeji-order-drawer__stat-label"},"本页小计",-1)),a("span",Ys,"¥"+d(tt(Da.value)),1)])):y("",!0)]),Ft.value?(o(),j($e,{key:0,modelValue:G.value,"onUpdate:modelValue":e[4]||(e[4]=l=>G.value=l),class:"yeji-order-drawer__list-tabs",onTabChange:Ga},{default:_(()=>[r(Q,{label:"合计业绩(全量订单)",name:"total"}),r(Q,{label:`渠道筛选(${bt.value})`,name:"channel"},null,8,["label"])]),_:1},8,["modelValue"])):y("",!0),K((o(),c("div",Us,[pe.value.length>0||_e.value?(o(),j(R,{key:0,data:pe.value,size:"small",stripe:"",border:"","max-height":"58vh",class:"yeji-order-drawer__table","empty-text":_e.value?"加载中…":"暂无数据"},{default:_(()=>[r(p,{type:"index",label:"#",width:"46",index:Fa}),r(p,{prop:"order_no",label:"订单号","min-width":"152","show-overflow-tooltip":""}),r(p,{label:"关联挂号","min-width":"218"},{default:_(({row:l})=>[l.linked_appointment?(o(),c("div",Hs,[a("div",Ws,[e[131]||(e[131]=a("span",{class:"yeji-order-appt-k"},"日期",-1)),u(" "+d(Ea(l.linked_appointment)),1)]),a("div",qs,[e[132]||(e[132]=a("span",{class:"yeji-order-appt-k"},"状态",-1)),u(" "+d(l.linked_appointment.status_desc||"—")+" ",1),l.linked_appointment.doctor_name?(o(),c("span",Gs," · "+d(l.linked_appointment.doctor_name),1)):y("",!0)]),a("div",Js,[e[133]||(e[133]=a("span",{class:"yeji-order-appt-k"},"类型",-1)),u(" "+d(l.linked_appointment.appointment_type_desc||"—"),1)]),a("div",Ks,[e[135]||(e[135]=a("span",{class:"yeji-order-appt-k"},"渠道",-1)),a("span",Xs,[u(d(l.linked_appointment.channel_source_desc||l.linked_appointment.channel_source||"—")+" ",1),Yt(l.linked_appointment)!==""?(o(),c("span",Qs," (字典 value "+d(Yt(l.linked_appointment))+" ) ",1)):y("",!0)]),r(O,{placement:"top",effect:"dark","show-after":200},{content:_(()=>[...e[134]||(e[134]=[a("div",{style:{"max-width":"280px","line-height":"1.65","font-size":"12px"}},[u(" 「字典 value」= 系统字典 "),a("b",null,"channels"),u(" 的 value,与业绩表里按渠道收窄时所用"),a("b",null,"挂号 channels"),u("一致;便于和进线列所选渠道对照,"),a("b",null,"不是"),u("企微 add_external_contact 单上的独立编号。 ")],-1)])]),default:_(()=>[r(k,{class:"yeji-order-appt-info","aria-label":"说明"},{default:_(()=>[r(C(E))]),_:1})]),_:1})])])):(o(),c("span",Zs,"—"))]),_:1}),r(p,{label:"金额",width:"108",align:"right"},{default:_(({row:l})=>[a("span",ei,"¥"+d(l.amount??"—"),1)]),_:1}),r(p,{prop:"recipient_name",label:"收货人",width:"96","show-overflow-tooltip":""}),r(p,{label:"履约",width:"104","show-overflow-tooltip":""},{default:_(({row:l})=>[u(d(Va(l.fulfillment_status)),1)]),_:1}),r(p,{label:"创建时间","min-width":"148"},{default:_(({row:l})=>[u(d(Ba(l.create_time)),1)]),_:1}),r(p,{prop:"doctor_name",label:"开方人",width:"88","show-overflow-tooltip":""}),r(p,{prop:"assistant_name",label:"诊单医助",width:"88","show-overflow-tooltip":""}),r(p,{prop:"creator_name",label:"创建人",width:"88","show-overflow-tooltip":""})]),_:1},8,["data","empty-text"])):y("",!0),!_e.value&&pe.value.length===0?(o(),j(P,{key:1,description:"暂无业务订单"})):y("",!0),a("div",ti,[r(Ae,{"current-page":X.value,"page-size":Ze.value,background:"",layout:"total, sizes, prev, pager, next, jumper",total:Qe.value,"page-sizes":[10,15,20,50],disabled:_e.value,"hide-on-single-page":!1,onCurrentChange:Ja,onSizeChange:Ka},null,8,["current-page","page-size","total","disabled"])])])),[[F,_e.value]])])]),_:1},8,["modelValue"]),r(ye,{modelValue:dt.value,"onUpdate:modelValue":e[6]||(e[6]=l=>dt.value=l),width:"min(680px, 94vw)","destroy-on-close":"",class:"yeji-unassigned-dialog"},{header:_(()=>[a("div",ai,[e[136]||(e[136]=a("span",{class:"yeji-unassigned-dialog__title"},"「未归属中心」业绩拆解",-1)),a("p",ni,d(Dt.value),1)])]),default:_(()=>[Oe.value?(o(),c("p",li,d(Oe.value),1)):y("",!0),K((o(),c("div",oi,[ge.value.length>0||be.value?(o(),j(R,{key:0,data:ge.value,size:"small",stripe:"",border:"","max-height":"440",class:"yeji-unassigned-dialog__table","empty-text":be.value?"加载中…":"暂无数据"},{default:_(()=>[r(p,{prop:"name",label:"诊单医助","min-width":"120","show-overflow-tooltip":""}),r(p,{label:"账号",width:"88",align:"right"},{default:_(({row:l})=>[u(d(l.admin_id>0?l.admin_id:"—"),1)]),_:1}),r(p,{label:"订单数",width:"88",align:"right"},{default:_(({row:l})=>[u(d(S(l.order_count)),1)]),_:1}),r(p,{label:"业绩金额","min-width":"112",align:"right"},{default:_(({row:l})=>[u(d(M(l.amount)),1)]),_:1})]),_:1},8,["data","empty-text"])):y("",!0),!be.value&&ge.value.length===0?(o(),j(P,{key:1,description:"暂无拆解数据"})):y("",!0)])),[[F,be.value]])]),_:1},8,["modelValue"]),r(ye,{modelValue:ct.value,"onUpdate:modelValue":e[7]||(e[7]=l=>ct.value=l),width:"min(920px, 96vw)","destroy-on-close":"",class:"yeji-leadlines-dialog"},{header:_(()=>[a("div",si,[e[137]||(e[137]=a("span",{class:"yeji-unassigned-dialog__title"},"进线数据明细",-1)),a("p",ii,d($t.value),1)])]),default:_(()=>[Ie.value?(o(),c("p",ri,d(Ie.value),1)):y("",!0),K((o(),c("div",di,[je.value.length>0||de.value?(o(),j(R,{key:0,data:je.value,size:"small",stripe:"",border:"","max-height":"440",class:"yeji-unassigned-dialog__table","empty-text":de.value?"加载中…":"暂无数据"},{default:_(()=>[r(p,{prop:"event_time_text",label:"进线时间","min-width":"156","show-overflow-tooltip":""}),r(p,{prop:"reception_admin_name",label:"接待",width:"88","show-overflow-tooltip":""}),r(p,{prop:"external_contact_name",label:"客户","min-width":"100","show-overflow-tooltip":""}),r(p,{prop:"external_userid",label:"外部联系人ID","min-width":"140","show-overflow-tooltip":""}),r(p,{prop:"user_id",label:"企微成员ID","min-width":"120","show-overflow-tooltip":""}),r(p,{prop:"state",label:"渠道参数",width:"96","show-overflow-tooltip":""})]),_:1},8,["data","empty-text"])):y("",!0),!de.value&&je.value.length===0?(o(),j(P,{key:1,description:"暂无进线明细"})):y("",!0),Te.value>0?(o(),c("div",ui,[r(Ae,{"current-page":Ve.value,"page-size":Ge.value,background:"",layout:"total, sizes, prev, pager, next, jumper",total:Te.value,"page-sizes":[10,20,50,100],disabled:de.value,"hide-on-single-page":!1,onCurrentChange:an,onSizeChange:nn},null,8,["current-page","page-size","total","disabled"])])):y("",!0)])),[[F,de.value]])]),_:1},8,["modelValue"]),r(ye,{modelValue:Je.value,"onUpdate:modelValue":e[8]||(e[8]=l=>Je.value=l),width:"min(960px, 96vw)","destroy-on-close":"",class:"yeji-leadlines-dialog"},{header:_(()=>[a("div",ci,[e[138]||(e[138]=a("span",{class:"yeji-unassigned-dialog__title"},"预约诊单 · 挂号明细",-1)),a("p",_i,d(_t.value),1)])]),default:_(()=>[xe.value?(o(),c("p",pi,d(xe.value),1)):y("",!0),K((o(),c("div",mi,[se.value.length>0||ue.value?(o(),j(R,{key:0,data:se.value,size:"small",stripe:"",border:"","max-height":"440",class:"yeji-unassigned-dialog__table","empty-text":ue.value?"加载中…":"暂无数据"},{default:_(()=>[r(p,{type:"index",label:"#",width:"46",index:ln}),r(p,{prop:"appointment_date",label:"预约日期",width:"108"}),r(p,{prop:"appointment_time",label:"时段","min-width":"96","show-overflow-tooltip":""}),r(p,{prop:"status_desc",label:"状态",width:"84"}),r(p,{prop:"appointment_type_desc",label:"类型",width:"92"}),r(p,{prop:"patient_name",label:"患者","min-width":"92","show-overflow-tooltip":""}),r(p,{prop:"patient_phone",label:"手机","min-width":"116","show-overflow-tooltip":""}),r(p,{prop:"doctor_name",label:"接诊医生",width:"92","show-overflow-tooltip":""}),r(p,{prop:"assistant_name",label:"医助",width:"88","show-overflow-tooltip":""}),r(p,{label:"诊单ID",width:"84",align:"right"},{default:_(({row:l})=>[u(d(S(l.diagnosis_id??0)),1)]),_:1}),ya.value?(o(),j(p,{key:0,prop:"channel_source",label:"渠道来源",width:"96","show-overflow-tooltip":""})):y("",!0)]),_:1},8,["data","empty-text"])):y("",!0),!ue.value&&se.value.length===0?(o(),j(P,{key:1,description:"暂无挂号记录"})):y("",!0),Ne.value>0?(o(),c("div",fi,[r(Ae,{"current-page":ce.value,"page-size":Se.value,background:"",layout:"total, sizes, prev, pager, next, jumper",total:Ne.value,"page-sizes":[10,20,50,100],disabled:ue.value,"hide-on-single-page":!1,onCurrentChange:rn,onSizeChange:dn},null,8,["current-page","page-size","total","disabled"])])):y("",!0)])),[[F,ue.value]])]),_:1},8,["modelValue"]),r(ye,{modelValue:ut.value,"onUpdate:modelValue":e[9]||(e[9]=l=>ut.value=l),width:"min(560px, 94vw)","destroy-on-close":"",class:"yeji-unassigned-dialog"},{header:_(()=>[a("div",vi,[e[139]||(e[139]=a("span",{class:"yeji-unassigned-dialog__title"},"复诊 · 医助拆解",-1)),a("p",yi,d(Lt.value),1)])]),default:_(()=>[Me.value?(o(),c("p",hi,d(Me.value),1)):y("",!0),K((o(),c("div",bi,[ke.value.length>0||we.value?(o(),j(R,{key:0,data:ke.value,size:"small",stripe:"",border:"","max-height":"440",class:"yeji-unassigned-dialog__table","empty-text":we.value?"加载中…":"暂无数据"},{default:_(()=>[r(p,{prop:"name",label:"医助","min-width":"120","show-overflow-tooltip":""}),r(p,{label:"业务订单",width:"108",align:"right"},{default:_(({row:l})=>[Number(l.order_count)>0?(o(),c("span",{key:0,class:"yeji-lead-cell--link",role:"button",tabindex:"0",onClick:b=>Gt(l),onKeydown:Jn(J(b=>Gt(l),["prevent"]),["enter"])},d(S(l.order_count))+" 笔",41,gi)):(o(),c(w,{key:1},[u(d(S(l.order_count)),1)],64))]),_:1})]),_:1},8,["data","empty-text"])):y("",!0),!we.value&&ke.value.length===0?(o(),j(P,{key:1,description:"暂无拆解数据"})):y("",!0)])),[[F,we.value]])]),_:1},8,["modelValue"])])}}}),_r=dl(ki,[["__scopeId","data-v-e3825025"]]);export{_r as default}; +import{P as Ln,Q as zn,ag as $n,W as An,L as Pn,a2 as Rn,i as On,d as Mn,J as In,m as Tn,l as Vn,M as Fn,N as En,R as Bn,r as Yn,a4 as Un,a5 as Hn,X as Wn,e as qn,V as Gn,E as Re}from"./element-plus-DFTWCWyi.js";import{s as J,w as Jn}from"./@vue/runtime-dom-DDAG46FW.js";import{a as ie}from"./axios-C80V62Fs.js";import{N as Kn,x as Xn,i as E}from"./@element-plus/icons-vue-HOEUG8sr.js";import{H as Z}from"./vue-echarts-BNtg2q_G.js";import{h as Qn,y as He,i as Zn,j as el,k as tl,l as al,m as nl,n as ll,o as ol,p as sl}from"./stats-5gQHPT0U.js";import{d as il}from"./finance-YaEgIEMc.js";import{k as ua}from"./tcm-BcqaE0lo.js";import{u as rl,_ as dl}from"./index-DBREMm_z.js";import{f as ul,b as cl,ak as o,I as c,J as a,a as r,aN as _,F as w,ap as V,G as j,aP as K,O as u,H as y,A as z}from"./@vue/runtime-core-C6bnekPw.js";import{Q as d,o as lt}from"./@vue/shared-mAAVTE9n.js";import{y as C,n as v}from"./@vue/reactivity-DiY1c2vO.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./resize-detector-G6vbKCU7.js";import"./echarts-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const _l={class:"yeji-page"},pl={class:"filter-surface"},ml={class:"filter-row filter-row--top"},vl={class:"filter-field"},fl={class:"channel-opt-row"},yl={class:"opt-name"},hl={class:"opt-count"},bl={class:"filter-field filter-field--wide"},gl={class:"filter-select filter-select--dept filter-dept-tree-wrap"},wl={class:"filter-field filter-field--date-top"},kl={class:"filter-actions"},jl={class:"filter-quick"},xl={class:"date-pills",role:"group","aria-label":"快捷日期"},Nl=["onClick"],Sl={class:"doctor-daily-card__head"},Cl={class:"doctor-daily-card__title-block"},Dl={key:0,class:"doctor-daily-card__range"},Ll={class:"doctor-daily-card__tools"},zl={key:0,class:"leaderboards-wrap"},$l={class:"leaderboard-hint"},Al={class:"muted"},Pl={class:"tables-wrap"},Rl={key:0,class:"yeji-table leaderboard-table"},Ol={class:"yeji-table__header"},Ml={key:0,class:"leaderboard-sub"},Il={class:"yeji-table__scroll",tabindex:"0",role:"region","aria-label":"排行榜,可横向滚动"},Tl={class:"yeji-table__body yeji-table__body--leaderboard"},Vl=["onClick"],Fl={class:"col-rank"},El={class:"col-abbr"},Bl={class:"col-name"},Yl={class:"col-consult"},Ul={class:"col-deal"},Hl={class:"col-assign"},Wl=["onClick"],ql={key:0,class:"yeji-lead-cell--link"},Gl=["onClick"],Jl={key:0,class:"yeji-lead-cell--link"},Kl=["onClick"],Xl={key:0,class:"yeji-lead-cell--link"},Ql={class:"yeji-table__foot yeji-table__foot--left"},Zl={key:0},eo={key:0,class:"empty-tip leaderboard-empty"},to={class:"tables-wrap"},ao={key:0,class:"empty-tip"},no={class:"yeji-table__header"},lo={class:"yeji-table__scroll",tabindex:"0",role:"region","aria-label":"业绩数据表,可横向滚动"},oo={class:"yeji-table__body yeji-table__body--data"},so={style:{"max-width":"320px","line-height":"1.7","font-size":"12px"}},io={style:{"max-width":"320px","line-height":"1.7","font-size":"12px"}},ro={style:{"max-width":"280px","line-height":"1.7","font-size":"12px"}},uo={key:0,class:"col-completed col-narrow-head"},co={class:"yeji-th-label"},_o={style:{"max-width":"340px","line-height":"1.7","font-size":"12px"}},po={key:1,class:"col-completed col-narrow-head"},mo={class:"yeji-th-label"},vo={style:{"max-width":"320px","line-height":"1.7","font-size":"12px"}},fo={key:2,class:"col-completed col-narrow-head"},yo={class:"yeji-th-label"},ho={style:{"max-width":"280px","line-height":"1.7","font-size":"12px"}},bo={style:{"max-width":"320px","line-height":"1.7","font-size":"12px"}},go=["onClick"],wo={class:"col-dept"},ko=["onClick"],jo={key:0,class:"yeji-lead-cell--link"},xo=["onClick"],No={key:0,class:"yeji-lead-cell--link"},So=["onClick"],Co={key:0,class:"yeji-lead-cell--link"},Do=["onClick"],Lo={key:0,class:"col-completed"},zo=["onClick"],$o=["onClick"],Ao={key:0,class:"yeji-lead-cell--link"},Po={key:1,class:"col-completed"},Ro={key:2,class:"col-completed"},Oo={class:"total-row"},Mo=["onClick"],Io={key:0,class:"col-completed"},To=["onClick"],Vo={key:1,class:"col-completed"},Fo={key:2,class:"col-completed"},Eo={class:"yeji-table__foot"},Bo={key:0},Yo={key:1},Uo={class:"tp-matrix-wrap"},Ho={class:"tp-matrix__title"},Wo={class:"tp-matrix",role:"list"},qo={class:"tp-matrix-card__head"},Go={class:"tp-matrix-card__titles"},Jo={key:0,class:"tp-matrix-card__parent"},Ko={class:"tp-matrix-card__name"},Xo={class:"tp-matrix-card__target"},Qo={class:"tp-matrix-card__table"},Zo={class:"tp-matrix-card__num"},es={key:0},ts={class:"tp-matrix-card__num"},as={key:1},ns={class:"tp-matrix-card__num"},ls={class:"tp-matrix-card__num tp-matrix-card__num--hot"},os={class:"tp-matrix-card__num"},ss={class:"yeji-charts-stack"},is={key:0,class:"yeji-chart-block"},rs={class:"yeji-chart-block__title"},ds={key:0,class:"yeji-chart-block__sub"},us={class:"yeji-chart-panel"},cs={class:"yeji-chart-panel"},_s={class:"yeji-chart-panel"},ps={class:"yeji-chart-panel"},ms={class:"yeji-chart-panel"},vs={key:0,class:"yeji-chart-block"},fs={class:"yeji-chart-block__title"},ys={class:"yeji-chart-panel"},hs={class:"yeji-chart-panel"},bs={class:"yeji-chart-block__title"},gs={key:0,class:"yeji-chart-block__sub"},ws={class:"yeji-chart-block__sub yeji-chart-block__sub--muted"},ks={class:"yeji-chart-panel"},js={class:"yeji-order-drawer__header"},xs={class:"yeji-order-drawer__heading"},Ns={class:"yeji-order-drawer__sub"},Ss={class:"yeji-order-drawer__shell"},Cs={class:"yeji-order-drawer__stats",role:"region","aria-label":"订单汇总"},Ds={class:"yeji-order-drawer__stat-card"},Ls={class:"yeji-order-drawer__stat-value"},zs={class:"yeji-order-drawer__stat-card"},$s={class:"yeji-order-drawer__stat-value"},As={class:"yeji-order-drawer__stat-card yeji-order-drawer__stat-card--total"},Ps={class:"yeji-order-drawer__stat-label"},Rs={class:"yeji-order-drawer__stat-note"},Os={class:"yeji-order-drawer__stat-value yeji-order-drawer__stat-value--money"},Ms={class:"yeji-order-drawer__stat-card yeji-order-drawer__stat-card--accent"},Is={class:"yeji-order-drawer__stat-label"},Ts={class:"yeji-order-drawer__stat-note"},Vs={class:"yeji-order-drawer__stat-value yeji-order-drawer__stat-value--money"},Fs={key:1,class:"yeji-order-drawer__stat-card yeji-order-drawer__stat-card--accent"},Es={class:"yeji-order-drawer__stat-value yeji-order-drawer__stat-value--money"},Bs={key:2,class:"yeji-order-drawer__stat-card yeji-order-drawer__stat-card--muted"},Ys={class:"yeji-order-drawer__stat-value"},Us={class:"yeji-order-drawer__body"},Hs={key:0,class:"yeji-order-appt-lines"},Ws={class:"yeji-order-appt-line"},qs={class:"yeji-order-appt-line"},Gs={key:0,class:"yeji-order-appt-sub"},Js={class:"yeji-order-appt-line"},Ks={class:"yeji-order-appt-line yeji-order-appt-line--channel"},Xs={class:"yeji-order-appt-channel-text"},Qs={key:0,class:"yeji-order-appt-sub"},Zs={key:1,class:"yeji-order-appt-empty"},ei={class:"yeji-order-amt"},ti={class:"yeji-order-drawer__pager"},ai={class:"yeji-unassigned-dialog__head"},ni={class:"yeji-unassigned-dialog__sub"},li={key:0,class:"yeji-unassigned-dialog__note"},oi={class:"yeji-unassigned-dialog__body"},si={class:"yeji-unassigned-dialog__head"},ii={class:"yeji-unassigned-dialog__sub"},ri={key:0,class:"yeji-unassigned-dialog__note"},di={class:"yeji-unassigned-dialog__body"},ui={key:2,class:"yeji-leadlines-dialog__pager"},ci={class:"yeji-unassigned-dialog__head"},_i={class:"yeji-unassigned-dialog__sub"},pi={key:0,class:"yeji-unassigned-dialog__note"},mi={class:"yeji-unassigned-dialog__body"},vi={key:2,class:"yeji-leadlines-dialog__pager"},fi={class:"yeji-unassigned-dialog__head"},yi={class:"yeji-unassigned-dialog__sub"},hi={key:0,class:"yeji-unassigned-dialog__note"},bi={class:"yeji-unassigned-dialog__body"},gi=["onClick","onKeydown"],ca=30,wi="stats.doctorDailyStats/overview",ki=ul({__name:"yeji",setup(ji){const _a={value:"id",label:"name",children:"children"};function pa(t){if(!t.length)return[];const e=new Map;for(const h of t)e.set(h.id,{...h,children:[]});const n=[];for(const h of t){const g=e.get(h.id),k=Number(h.pid);k>0&&e.has(k)?e.get(k).children.push(g):n.push(g)}const s=h=>{var g;(g=h.children)!=null&&g.length?h.children.forEach(s):delete h.children};n.forEach(s);const i=h=>{var g;h.sort((k,B)=>{const I=k.name.includes("中心")?-1:1,p=B.name.includes("中心")?-1:1;return I!==p?I-p:k.id-B.id});for(const k of h)(g=k.children)!=null&&g.length&&i(k.children)};return i(n),n}const le=v(!1),he=v([]),ot=v(!1),ma=z(()=>pa(he.value)),A=v([]),We=v([]),st=v(!1),x=v(""),Y=v(null),re=v([]);function it(t,e){if(!t||typeof t!="object")return e;for(const n of Object.keys(t)){const s=parseInt(n,10);!Number.isNaN(s)&&s>=2&&(e=Math.max(e,s))}return e}function va(t){var n;let e=0;for(const s of t){for(const i of s.rows)e=it(i.revisit_slots,e);e=it((n=s.total)==null?void 0:n.revisit_slots,e)}return e}const rt=z(()=>{const t=Math.min(va(re.value),ca);return t<2?[]:Array.from({length:t-1},(e,n)=>n+2)});function fa(t){if(!t.er_center_subtree)return 0;let e=0;for(const n of t.rows)e=it(n.revisit_slots,e);return e}function Ct(t){const e=Math.min(fa(t),ca);return e<2?[]:Array.from({length:e-1},(n,s)=>s+2)}function qe(t){if(t===2)return"复诊2";const e=["三","四","五","六","七","八","九","十"];return t>=3&&t<=10?`复诊${e[t-3]}`:`复诊${t}`}function ee(t,e){const n=t==null?void 0:t.revisit_slots;if(!n||typeof n!="object")return 0;const s=n[e]??n[String(e)],i=Number(s);return Number.isFinite(i)?i:0}const N=v(null),oe=v(!1),dt=v(!1),be=v(!1),Dt=v(""),Oe=v(""),ge=v([]),ut=v(!1),we=v(!1),Lt=v(""),Me=v(""),ke=v([]),zt=v(null),ct=v(!1),de=v(!1),$t=v(""),Ie=v(""),je=v([]),Te=v(0),Ve=v(1),Ge=v(20),At=v(null),Je=v(!1),ue=v(!1),_t=v(""),xe=v(""),se=v([]),Ne=v(0),ce=v(1),Se=v(20),pt=v(null),ya=z(()=>se.value.some(t=>String(t.channel_source??"")!=="")),Pt=v("zyyt"),ha=rl(),Ce=z(()=>(ha.perms||[]).some(e=>e==="*"||e===wi)),Rt=z(()=>{var t;return(((t=N.value)==null?void 0:t.leaderboards)??[]).filter(e=>e.rows.length>0)});function Ot(t){return t.rows.some(e=>e.dept_id>0&&(Number(e.lead_count)>0||Number(e.consult_count)>0||Number(e.deal_order_count)>0||Number(e.performance_amount)>0||Number(e.completed_performance_amount)>0))}const De=v(!1),U=v([]),Le=v({}),Ke=v(null),Xe=z(()=>{const t=Ke.value;return!(t!=null&&t.start)||!(t!=null&&t.end)?"":t.start===t.end?`区间 ${t.start}`:`区间 ${t.start} ~ ${t.end}`}),mt=z(()=>U.value.some(t=>Number(t.deal_amount??0)>0)),vt=z(()=>U.value.some(t=>Number(t.system_prescription_count??0)>0||Number(t.manual_prescription_count??0)>0)),ba=z(()=>Ce.value?mt.value||vt.value||ft.value||yt.value||ht.value:!1),ga=z(()=>{if(ba.value)return!0;for(const t of re.value)if(Ot(t))return!0;return Rt.value.length>0}),ft=z(()=>{const t=Le.value;return Number(t.appointment_completed??0)+Number(t.appointment_missed??0)+Number(t.appointment_cancelled??0)>0}),wa=z(()=>{const t=Le.value,e=[{value:Number(t.appointment_completed??0),name:"挂号完成"},{value:Number(t.appointment_missed??0),name:"过号"},{value:Number(t.appointment_cancelled??0),name:"取消"}].filter(n=>n.value>0);return{color:["#0d9488","#d97706","#94a3b8"],tooltip:{trigger:"item",formatter:"{b}: {c} ({d}%)"},legend:{bottom:0,type:"scroll",textStyle:{fontSize:10}},series:[{name:"挂号",type:"pie",radius:["42%","68%"],center:["50%","46%"],avoidLabelOverlap:!0,itemStyle:{borderRadius:6,borderColor:"#fff",borderWidth:2},label:{formatter:`{b} +{c}`,fontSize:11},data:e}]}}),yt=z(()=>U.value.filter(t=>Number(t.deal_order_count??0)>0&&Number(t.deal_amount??0)>0).length>=2),ka=z(()=>{const t=U.value.filter(s=>Number(s.deal_order_count??0)>0&&Number(s.deal_amount??0)>0),e=Math.max(...t.map(s=>Number(s.deal_amount)),1),n=t.map(s=>{const i=Number(s.deal_amount);return{name:String(s.doctor_name||"—"),value:[Number(s.deal_order_count),i],symbolSize:12+Math.sqrt(i/e)*26}});return{color:["#2563eb"],tooltip:{trigger:"item",formatter:s=>{var h;const i=(h=s.data)==null?void 0:h.value;return Array.isArray(i)?`${s.data.name}
接诊诊单:${i[0]}
金额:${Number(i[1]).toLocaleString("zh-CN",{minimumFractionDigits:2,maximumFractionDigits:2})} 元`:""}},grid:{left:48,right:24,top:28,bottom:32,containLabel:!0},xAxis:{type:"value",name:"接诊诊单",nameLocation:"middle",nameGap:28,splitLine:{lineStyle:{type:"dashed",opacity:.55}}},yAxis:{type:"value",name:"成交金额",nameLocation:"middle",nameGap:40,splitLine:{lineStyle:{type:"dashed",opacity:.55}}},series:[{type:"scatter",data:n}]}}),ht=z(()=>U.value.filter(e=>Number(e.deal_amount??0)+Number(e.deal_order_count??0)+Number(e.system_prescription_count??0)+Number(e.manual_prescription_count??0)>0).length>=2),ja=z(()=>{const t=[...U.value].filter(p=>Number(p.deal_amount??0)+Number(p.deal_order_count??0)+Number(p.system_prescription_count??0)+Number(p.manual_prescription_count??0)>0).sort((p,R)=>Number(R.deal_amount)-Number(p.deal_amount)).slice(0,5);if(t.length<2)return{radar:{indicator:[]},series:[{type:"radar",data:[]}]};const e=p=>{const R=String(p.doctor_name||"—");return R.length>7?`${R.slice(0,7)}…`:R},n=p=>Number(p.system_prescription_count??0)+Number(p.manual_prescription_count??0),s=p=>{const R=Number(p.avg_deal_amount);if(Number.isFinite(R)&&R>0)return R;const P=Number(p.deal_order_count);return P>0?Number(p.deal_amount)/P:0},i=Math.max(...t.map(p=>Number(p.deal_amount)),1e-9),h=Math.max(...t.map(p=>Number(p.deal_order_count)),1e-9),g=Math.max(...t.map(n),1e-9),k=Math.max(...t.map(p=>Number(p.appointment_completed??0)),1e-9),B=Math.max(...t.map(s),1e-9),I=t.map(p=>({name:e(p),value:[Number(p.deal_amount)/i*100,Number(p.deal_order_count)/h*100,n(p)/g*100,Number(p.appointment_completed??0)/k*100,s(p)/B*100]}));return{color:["#2563eb","#0d9488","#d97706","#7c3aed","#64748b"],tooltip:{trigger:"item"},legend:{bottom:0,type:"scroll",textStyle:{fontSize:10}},radar:{indicator:[{name:"成交金额",max:100},{name:"接诊诊单",max:100},{name:"开方量",max:100},{name:"挂号完成",max:100},{name:"客单价",max:100}],radius:"58%",center:["50%","48%"],splitNumber:4,axisName:{fontSize:10,color:"#64748b"}},series:[{type:"radar",data:I,emphasis:{lineStyle:{width:3}}}]}}),xa=z(()=>{const t=[...U.value].filter(s=>Number(s.deal_amount??0)>0).sort((s,i)=>Number(i.deal_amount)-Number(s.deal_amount)).slice(0,20),e=t.map(s=>{const i=String(s.doctor_name||"—");return i.length>10?`${i.slice(0,10)}…`:i}),n=t.map(s=>Number(s.deal_amount??0));return{color:["#2563eb"],tooltip:{trigger:"axis",axisPointer:{type:"shadow"},valueFormatter:s=>`${s.toLocaleString("zh-CN",{minimumFractionDigits:2,maximumFractionDigits:2})} 元`},grid:{left:8,right:16,top:28,bottom:8,containLabel:!0},xAxis:{type:"value",axisLabel:{fontSize:11},splitLine:{lineStyle:{type:"dashed",opacity:.6}}},yAxis:{type:"category",data:[...e].reverse(),axisLabel:{fontSize:11}},series:[{name:"成交金额",type:"bar",data:[...n].reverse(),barMaxWidth:22,itemStyle:{borderRadius:[0,6,6,0]}}]}}),Na=z(()=>{const t=[...U.value].filter(n=>Number(n.system_prescription_count??0)+Number(n.manual_prescription_count??0)>0).sort((n,s)=>Number(s.system_prescription_count??0)+Number(s.manual_prescription_count??0)-(Number(n.system_prescription_count??0)+Number(n.manual_prescription_count??0))).slice(0,14),e=t.map(n=>{const s=String(n.doctor_name||"—");return s.length>6?`${s.slice(0,6)}…`:s});return{tooltip:{trigger:"axis",axisPointer:{type:"shadow"}},legend:{top:0,textStyle:{fontSize:11}},grid:{left:44,right:16,top:32,bottom:e.length>10?72:28},xAxis:{type:"category",data:e,axisLabel:{rotate:e.length>8?32:0,fontSize:10}},yAxis:{type:"value",splitLine:{lineStyle:{type:"dashed",opacity:.6}}},series:[{name:"系统开方",type:"bar",stack:"rx",barMaxWidth:18,data:t.map(n=>Number(n.system_prescription_count??0)),itemStyle:{color:"#2563eb"}},{name:"手动开方",type:"bar",stack:"rx",barMaxWidth:18,data:t.map(n=>Number(n.manual_prescription_count??0)),itemStyle:{color:"#d97706"}}]}});function Sa(){var e,n;const t={};if(x.value&&(t.channel_code=x.value),(e=Y.value)!=null&&e[0]&&((n=Y.value)!=null&&n[1]))t.start_date=Y.value[0],t.end_date=Y.value[1];else{const s=nt(new Date);t.start_date=s,t.end_date=s}return t}function Mt(t){return Number(t??0).toLocaleString("zh-CN",{minimumFractionDigits:2,maximumFractionDigits:2})}function Ca(t){const e=Le.value,n=[];return t.columns.forEach((s,i)=>{if(i===0){n[i]="合计";return}switch(s.property){case"system_prescription_count":n[i]=String(e.system_prescription_count??0);break;case"manual_prescription_count":n[i]=String(e.manual_prescription_count??0);break;case"deal_amount":n[i]=`¥ ${Mt(e.deal_amount)}`;break;case"deal_order_count":n[i]=String(e.deal_order_count??0);break;case"appointment_completed":n[i]=String(e.appointment_completed??0);break;case"appointment_missed":n[i]=String(e.appointment_missed??0);break;case"appointment_cancelled":n[i]=String(e.appointment_cancelled??0);break;default:n[i]=""}}),n}async function It(){De.value=!0;try{const t=await Qn(Sa());U.value=(t==null?void 0:t.rows)??[],Le.value=(t==null?void 0:t.total)??{},t!=null&&t.start_date&&(t!=null&&t.end_date)&&(Ke.value={start:t.start_date,end:t.end_date})}catch(t){if(ie.isCancel(t))return;U.value=[],Le.value={},Ke.value=null}finally{De.value=!1}}const te=v(!1),_e=v(!1),Fe=v(""),Ee=v(""),pe=v([]),Qe=v(0),X=v(1),Ze=v(15),G=v("channel"),H=v(null),Be=v(null),ae=v(null),Tt=z(()=>{const t=ae.value;if(!t)return null;const e=t.stats_order_amount_performance??t.stats_order_amount_not_cancelled;if(e==null||e==="")return null;const n=Number(e);return Number.isFinite(n)?n:null}),Vt=z(()=>{const t=ae.value;if(!t||t.stats_yeji_consult_count===void 0||t.stats_yeji_consult_count===null)return null;const e=Number(t.stats_yeji_consult_count);return Number.isFinite(e)?e:null}),Da=z(()=>pe.value.reduce((t,e)=>t+Number(e.amount??0),0)),Ft=z(()=>!!x.value&&te.value),bt=z(()=>{var e;const t=x.value;if(!t)return"";for(const n of We.value){const s=(e=n.channels)==null?void 0:e.find(i=>i.channel_code===t);if(s!=null&&s.channel_name)return String(s.channel_name)}return t}),La=z(()=>{const t=H.value;return t&&G.value==="total"?Number.isFinite(t.channelAmount)?t.channelAmount:null:Tt.value}),Ye=v(null),et=v(!1);function za(){const t=new Date;return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}`}function $a(t){const[e,n]=t.split("-").map(Number);return new Date(e,n,0).getDate()}async function Aa(){var t,e,n,s;et.value=!0,Ye.value=null;try{let i=function(f,D=0){const L=[];for(const $ of f??[])L.push({node:$,depth:D}),L.push(...i($.children??[],D+1));return L},h=function(f){const D=he.value.find(q=>Number(q.id)===f);if(!D)return"";const L=Number(D.pid);if(!L)return"";const $=he.value.find(q=>Number(q.id)===L);return $!=null&&$.name?String($.name):""},g=function(f){const D=[],L=[f];for(;L.length;){const $=L.shift();for(const q of he.value)Number(q.pid)===$&&(D.push(q.id),L.push(q.id))}return D},k=function(f,D){const L=new Map;for(const $ of(f==null?void 0:f.rows)??[])L.set(Number($.dept_id),Number($[D]??0));return L};const B=za(),I=await il({year_month:B}),p=(I==null?void 0:I.rows)??[];if(!p.length)return;const P=i(p).filter(f=>f.depth>=1&&Number(f.node.target_amount)>0).map(f=>f.node);if(!P.length)return;const Q=new Set,O=P.map(f=>{const D=Number(f.dept_id),L=g(D),$=L.length?L:[D];return $.forEach(q=>Q.add(q)),{dept_id:D,dept_name:String(f.dept_name),target_amount:Number(f.target_amount),totalIds:$}});if(!Q.size)return;const $e=We.value.flatMap(f=>f.channels),W=(t=$e.find(f=>f.channel_name.includes("自媒体1")))==null?void 0:t.channel_code,fe=(e=$e.find(f=>f.channel_name.includes("自媒体3")))==null?void 0:e.channel_code,Ae=(n=$e.find(f=>f.channel_name.includes("自媒体4")))==null?void 0:n.channel_code,Pe=Array.from(Q).join(","),[ye,F,l,b]=await Promise.all([He({dept_ids:Pe}),W?He({dept_ids:Pe,channel_code:W}):Promise.resolve(null),fe?He({dept_ids:Pe,channel_code:fe}):Promise.resolve(null),Ae?He({dept_ids:Pe,channel_code:Ae}):Promise.resolve(null)]),m=f=>{var D;return((f==null?void 0:f.tables)??[]).find(L=>String(L.label).includes("月"))??((D=f==null?void 0:f.tables)==null?void 0:D[0])},T=f=>{var D,L;return((f==null?void 0:f.tables)??[]).find($=>String($.label).includes("昨"))??((L=f==null?void 0:f.tables)==null?void 0:L[((D=f==null?void 0:f.tables)==null?void 0:D.length)-1])},oa=k(m(ye),"performance_amount"),gn=k(T(ye),"performance_amount"),sa=F?k(m(F),"completed_performance_amount"):null,ia=l?k(m(l),"completed_performance_amount"):null,ra=b?k(m(b),"completed_performance_amount"):null,Ue=(f,D)=>D.reduce((L,$)=>L+(f.get($)??0),0),Nt=new Date,wn=$a(B),kn=Nt.getDate(),jn=O.map(f=>{const D=Ue(oa,f.totalIds),L=Ue(gn,f.totalIds),$=sa?Ue(sa,f.totalIds):null,q=ia?Ue(ia,f.totalIds):null,da=ra?Ue(ra,f.totalIds):null,St=q!==null||da!==null?(q??0)+(da??0):null,Cn=Math.round(f.target_amount*(kn/wn)*100)/100,Dn=f.target_amount>0?D/f.target_amount:null;return{dept_id:f.dept_id,dept_name:f.dept_name,parent_dept_name:h(f.dept_id),target_amount:f.target_amount,total_amount:D,yesterday_amount:L,douyin_amount:$&&$>0?$:null,tuifen_amount:St&&St>0?St:null,target_progress:Cn,completion_rate:Dn}}),xn=((s=p[0])==null?void 0:s.dept_name)??"",Nn=Nt.getMonth()+1,Sn=Nt.getDate();Ye.value={title:`${xn}诊金-${Nn}.${Sn}`,sections:jn}}catch{}finally{et.value=!1}}const Pa=z(()=>{var e;const t=(e=N.value)==null?void 0:e.leaderboards;return t?t.filter(n=>n.rows.length>0).length:0}),Et=[{text:"昨天",value:()=>{const t=new Date;return t.setDate(t.getDate()-1),[t,t]}},{text:"最近七天",value:()=>{const t=new Date,e=new Date;return e.setDate(e.getDate()-6),[e,t]}},{text:"本月",value:()=>{const t=new Date;return[new Date(t.getFullYear(),t.getMonth(),1),t]}},{text:"今日",value:()=>{const t=new Date;return[t,t]}},{text:"本周",value:()=>{const t=new Date,e=new Date,n=e.getDay()||7;return e.setDate(e.getDate()-(n-1)),[e,t]}},{text:"上月",value:()=>{const t=new Date,e=new Date(t.getFullYear(),t.getMonth()-1,1),n=new Date(t.getFullYear(),t.getMonth(),0);return[e,n]}}];function Ra(t){const e=t.value();Y.value=[nt(e[0]),nt(e[1])],ze()}async function Oa(){ot.value=!0;try{const t=await Zn();he.value=(t||[]).sort((e,n)=>{const s=e.name.includes("中心")?-1:1,i=n.name.includes("中心")?-1:1;return s!==i?s-i:e.id-n.id})}catch{}finally{ot.value=!1}}async function Ma(){st.value=!0;try{const t=await el(),e=(t==null?void 0:t.groups)||[];We.value=e}catch{}finally{st.value=!1}}async function Bt(t){oe.value=!0;try{const e={start_date:t.start,end_date:t.end};A.value.length>0&&(e.dept_ids=A.value.join(",")),x.value&&(e.channel_code=x.value);const n=await nl(e);N.value={start_date:n.start_date,end_date:n.end_date,channel_code:n.channel_code||"",channel_name:n.channel_name||"",channel_filter_note:n.channel_filter_note||"",range_note:n.range_note||"",leaderboards:n.leaderboards||[]}}catch(e){if(ie.isCancel(e))return;N.value=null}finally{oe.value=!1}}async function ze(){le.value=!0,N.value=null;try{const t={};if(A.value.length>0&&(t.dept_ids=A.value.join(",")),x.value&&(t.channel_code=x.value),Y.value&&Y.value[0]&&Y.value[1]){const[s,i]=Y.value,h={...t,start_date:s,end_date:i},g=await tl(h);re.value=[{label:s===i?s:`${s} ~ ${i}`,start_date:g.start_date,end_date:g.end_date,channel_code:g.channel_code||"",channel_name:g.channel_name||"",channel_group:g.channel_group||"",channel_filter_note:g.channel_filter_note||"",rows:g.rows||[],total:g.total}],await Bt({start:g.start_date,end:g.end_date});return}const e=await He(t);re.value=((e==null?void 0:e.tables)||[]).map(s=>({label:s.label,start_date:s.start_date,end_date:s.end_date,channel_code:s.channel_code||"",channel_name:s.channel_name||"",channel_group:s.channel_group||"",channel_filter_note:s.channel_filter_note||"",rows:s.rows||[],total:s.total}));const n=nt(new Date);await Bt({start:n,end:n})}catch(t){if(ie.isCancel(t))return;const e=t;Re.error((e==null?void 0:e.msg)||(e==null?void 0:e.message)||"加载失败")}finally{le.value=!1,Ce.value?It():(U.value=[],Le.value={},Ke.value=null)}}function Ia(){A.value=[],Y.value=null,x.value="",ze()}function Ta(t){return t<=0?!1:he.value.some(e=>Number(e.pid)===t)}function Va(t){return{1:"待双审通过",2:"待发货",3:"已完成",4:"已取消",5:"已发货",6:"已签收",7:"进行中",8:"暂不制药",9:"拒收",10:"退款",11:"保留药方",12:"制药缓发"}[Number(t)]??"—"}function tt(t){return t==null||!Number.isFinite(Number(t))?"—":Number(t).toLocaleString("zh-CN",{minimumFractionDigits:2,maximumFractionDigits:2})}function Fa(t){return(X.value-1)*Ze.value+t+1}function Ea(t){const e=(t==null?void 0:t.appointment_date)!=null&&String(t.appointment_date)!==""?String(t.appointment_date):"",n=(t==null?void 0:t.period)!=null&&String(t.period)!==""?String(t.period):"",s=(t==null?void 0:t.appointment_time)!=null&&String(t.appointment_time)!==""?String(t.appointment_time):"",i=[n,s].filter(Boolean).join(" ");return e&&i?`${e} ${i}`:e||i||"—"}function Yt(t){if(!t)return"";const e=t.channel_dict_value;if(e!=null&&e!==""){const i=Number(e);if(Number.isFinite(i))return String(Math.trunc(i))}const n=t.channel_source;if(n==null)return"";const s=String(n).trim();return s===""||!/^\d+$/.test(s)?"":String(parseInt(s,10))}function Ba(t){if(t==null||t==="")return"—";const e=Number(t);if(Number.isFinite(e)&&e>=1e9&&e<1e15){const s=e<1e12?e*1e3:e,i=new Date(s);if(!Number.isNaN(i.getTime())){const h=i.getFullYear(),g=String(i.getMonth()+1).padStart(2,"0"),k=String(i.getDate()).padStart(2,"0"),B=String(i.getHours()).padStart(2,"0"),I=String(i.getMinutes()).padStart(2,"0");return`${h}-${g}-${k} ${B}:${I}`}}const n=String(t);return n.length>=16?n.slice(0,16):n}function Ut(){const t=Be.value;if(!t)return null;const e={start_time:`${t.start} 00:00:00`,end_time:`${t.end} 23:59:59`,exclude_fulfillment_cancelled:1,yeji_order_drawer:1};return t.mode==="dept"?(e.assistant_dept_id=t.deptId,A.value.length>0&&(e.dept_ids=A.value.join(","))):(e.assistant_id=t.assistantId,t.erCenterRevisitSlot!==void 0&&(e.yeji_er_center_revisit_only=1,e.yeji_er_center_revisit_slot=t.erCenterRevisitSlot)),x.value&&te.value&&G.value==="channel"&&(e.channel_code=x.value),e}async function Ya(){const t=Ut();if(!t||!x.value)return;const e={...t,channel_code:x.value,page_no:1,page_size:1};try{const n=await ua(e),s=n!=null&&n.extend&&typeof n.extend=="object"?n.extend:null;s&&s.stats_yeji_drawer_total_performance_amount!=null&&(H.value={totalAmount:Number(s.stats_yeji_drawer_total_performance_amount),totalOrderCount:Number(s.stats_yeji_drawer_total_performance_order_count??0),channelAmount:Number(s.stats_order_amount_performance??0),channelOrderCount:Number((n==null?void 0:n.count)??0)})}catch{}}async function me(){const t=Ut();if(t){x.value&&G.value==="total"&&(H.value=null),_e.value=!0;try{const e={...t,page_no:X.value,page_size:Ze.value},n=await ua(e);pe.value=Array.isArray(n==null?void 0:n.lists)?n.lists:[],Qe.value=Number((n==null?void 0:n.count)??0),ae.value=n!=null&&n.extend&&typeof n.extend=="object"?n.extend:null,x.value&&G.value==="channel"&&ae.value&&ae.value.stats_yeji_drawer_total_performance_amount!=null&&(H.value={totalAmount:Number(ae.value.stats_yeji_drawer_total_performance_amount),totalOrderCount:Number(ae.value.stats_yeji_drawer_total_performance_order_count??0),channelAmount:Number(ae.value.stats_order_amount_performance??0),channelOrderCount:Number((n==null?void 0:n.count)??0)}),x.value&&te.value&&G.value==="total"&&await Ya()}catch(e){if(ie.isCancel(e))return;const n=e;Re.error((n==null?void 0:n.msg)||(n==null?void 0:n.message)||"加载业务订单失败"),pe.value=[],Qe.value=0,ae.value=null}finally{_e.value=!1}}}function Ht(t,e,n){const s=!!(x.value&&t.channel_name);G.value=s?(n==null?void 0:n.listTab)??"channel":"channel",H.value=null,Be.value={mode:"dept",deptId:e.dept_id,deptName:e.dept_name,start:t.start_date,end:t.end_date,yejiTableRowDeptIds:t.rows.map(i=>i.dept_id).filter(i=>typeof i=="number"&&i>0)},Fe.value=`业务订单 · ${e.dept_name}`,Ee.value=`创建时间:${t.start_date} ~ ${t.end_date} · 与「合计业绩 / 接诊诊单」同口径:订单创建人人事部门 ∈ 本部门子树 · 不含履约 4/9/10`,X.value=1,te.value=!0,me()}function Ua(t,e,n){const s=!!(x.value&&t.channel_name);G.value=s?n:"channel",H.value=null,Be.value={mode:"dept",deptId:e,deptName:"当前展示合计",start:t.start_date,end:t.end_date,yejiTableRowDeptIds:t.rows.map(i=>i.dept_id).filter(i=>typeof i=="number"&&i>0)},Fe.value="业务订单 · 当前展示合计",Ee.value=`创建时间:${t.start_date} ~ ${t.end_date} · 已选展示部门 1 个根节点(含其下全部展示行)· 不含履约 4/9/10`,X.value=1,te.value=!0,me()}function gt(t,e,n){return!(ve(e)||e.dept_id<=0||n==="channel"&&!t.channel_name)}function wt(t,e){return!(A.value.length!==1||e==="channel"&&!t.channel_name)}function Wt(t,e,n){if(!gt(t,e,n))return;Ht(t,e,{listTab:n==="total"?"total":"channel"})}function qt(t,e){if(!wt(t,e))return;const n=A.value[0];if(!n)return;Ua(t,n,e==="total"?"total":"channel")}function Ha(t,e,n){G.value="channel",H.value=null,Be.value={mode:"assistant",assistantId:t.admin_id,assistantName:t.name,start:e,end:n},Fe.value=`业务订单 · ${t.name}`,Ee.value=`创建时间:${e} ~ ${n} · 创建人=${t.name}(与排行榜诊金同口径)· 不含履约 4/9/10`,X.value=1,te.value=!0,me()}function kt(t,e,n,s){G.value="channel",H.value=null,Be.value={mode:"assistant",assistantId:t.admin_id,assistantName:t.name,start:e,end:n,erCenterRevisitSlot:s};const i=s===0?"复诊合计":qe(s);Fe.value=`业务订单 · ${t.name} · ${i}`,Ee.value=`创建时间:${e} ~ ${n} · 创建人=${t.name}(与部门表 / 排行榜复诊同口径)· 仅二中心复诊口径 · ${i} · 不含履约 4/9/10`,X.value=1,te.value=!0,me()}function Wa(t){if(!t||t.admin_id<=0||!N.value||Number(t.revisit_count??0)<=0)return;const{start_date:e,end_date:n}=N.value;kt({admin_id:t.admin_id,name:t.name},e,n,0)}function qa(t,e){if(!t||t.admin_id<=0||!N.value||ee(t,e)<=0)return;const{start_date:n,end_date:s}=N.value;kt({admin_id:t.admin_id,name:t.name},n,s,e)}function Ga(){X.value=1,me()}function Ja(t){X.value=t,me()}function Ka(t){Ze.value=t,X.value=1,me()}function ve(t){return t.dept_id<=0&&t.dept_name==="未归属中心"}function Xa(t,e){e.dept_id<=0||ve(e)||Number(e.revisit_count??0)<=0||Jt(t,e,0)}function Qa(t,e,n){e.dept_id<=0||ve(e)||ee(e,n)<=0||Jt(t,e,n)}function Gt(t){const e=zt.value;!e||Number(t.order_count)<=0||kt({admin_id:t.admin_id,name:t.name},e.start,e.end,e.revisitSlot)}async function Jt(t,e,n){const s=n===0?"复诊合计":qe(n);Lt.value=`${e.dept_name} · ${s} · ${t.start_date} ~ ${t.end_date}`,zt.value={start:t.start_date,end:t.end_date,revisitSlot:n},Me.value="",ke.value=[],ut.value=!0,we.value=!0;try{const i={start_date:t.start_date,end_date:t.end_date,dept_id:e.dept_id,revisit_slot:n};A.value.length>0&&(i.dept_ids=A.value.join(",")),x.value&&(i.channel_code=x.value);const h=await al(i);ke.value=Array.isArray(h==null?void 0:h.rows)?h.rows:[],Me.value=typeof(h==null?void 0:h.note)=="string"?h.note:""}catch(i){if(ie.isCancel(i))return;const h=i;Re.error((h==null?void 0:h.msg)||(h==null?void 0:h.message)||"加载复诊拆解失败"),ke.value=[],Me.value=""}finally{we.value=!1}}function Kt(t){const e=[`区间:${t.start_date} ~ ${t.end_date}`];return x.value&&e.push(`渠道:${t.channel_name||x.value}`),A.value.length>0&&e.push(`已选展示部门 ${A.value.length} 个`),e.join(" · ")}async function Za(t){Dt.value=Kt(t),Oe.value="",ge.value=[],dt.value=!0,be.value=!0;try{const e={start_date:t.start_date,end_date:t.end_date};A.value.length>0&&(e.dept_ids=A.value.join(",")),x.value&&(e.channel_code=x.value);const n=await ll(e);ge.value=Array.isArray(n==null?void 0:n.rows)?n.rows:[],Oe.value=typeof(n==null?void 0:n.note)=="string"?n.note:""}catch(e){if(ie.isCancel(e))return;const n=e;Re.error((n==null?void 0:n.msg)||(n==null?void 0:n.message)||"加载未归属拆解失败"),ge.value=[],Oe.value=""}finally{be.value=!1}}function en(t,e,n){n.dept_id<=0||Number(n.lead_count)<=0||(t.stopPropagation(),tn(e,n))}async function jt(){const t=At.value;if(!t)return;const{tb:e,row:n}=t;de.value=!0;try{const s={start_date:e.start_date,end_date:e.end_date,dept_id:n.dept_id,page:Ve.value,page_size:Ge.value};A.value.length>0&&(s.dept_ids=A.value.join(",")),x.value&&(s.channel_code=x.value);const i=await ol(s);je.value=Array.isArray(i==null?void 0:i.lists)?i.lists:[],Te.value=Number((i==null?void 0:i.count)??0),Ie.value=typeof(i==null?void 0:i.note)=="string"?i.note:""}catch(s){if(ie.isCancel(s))return;const i=s;Re.error((i==null?void 0:i.msg)||(i==null?void 0:i.message)||"加载进线明细失败"),je.value=[],Te.value=0,Ie.value=""}finally{de.value=!1}}async function tn(t,e){At.value={tb:t,row:e},$t.value=`${e.dept_name} · ${Kt(t)}`,Ie.value="",je.value=[],Te.value=0,Ve.value=1,Ge.value=20,ct.value=!0,await jt()}function an(t){Ve.value=t,jt()}function nn(t){Ge.value=t,Ve.value=1,jt()}function ln(t){return(ce.value-1)*Se.value+t+1}function Xt(t){return ve(t)?!0:t.dept_id>0}async function at(){const t=pt.value;if(t){ue.value=!0;try{const e={start_date:t.start_date,end_date:t.end_date,page:ce.value,page_size:Se.value};t.mode==="dept"?e.dept_id=t.dept_id:e.assistant_id=t.assistant_id,A.value.length>0&&(e.dept_ids=A.value.join(",")),x.value&&(e.channel_code=x.value);const n=await sl(e);se.value=Array.isArray(n==null?void 0:n.lists)?n.lists:[],Ne.value=Number((n==null?void 0:n.count)??0),xe.value=typeof(n==null?void 0:n.note)=="string"?n.note:""}catch(e){if(ie.isCancel(e))return;const n=e;Re.error((n==null?void 0:n.msg)||(n==null?void 0:n.message)||"加载挂号明细失败"),se.value=[],Ne.value=0,xe.value=""}finally{ue.value=!1}}}function on(t){if(!t||t.admin_id<=0||!N.value||Number(t.appointment_count??0)<=0)return;const e=N.value;pt.value={mode:"assistant",assistant_id:t.admin_id,name:t.name,start_date:e.start_date,end_date:e.end_date},_t.value=`${t.name} · 医助 · ${e.start_date} ~ ${e.end_date}`,xe.value="",se.value=[],Ne.value=0,ce.value=1,Se.value=20,Je.value=!0,at()}function sn(t,e){!Xt(e)||Number(e.appointment_booked_count??0)<=0||(pt.value={mode:"dept",dept_id:e.dept_id,dept_name:e.dept_name,start_date:t.start_date,end_date:t.end_date},_t.value=`${e.dept_name} · ${t.start_date} ~ ${t.end_date}`,xe.value="",se.value=[],Ne.value=0,ce.value=1,Se.value=20,Je.value=!0,at())}function rn(t){ce.value=t,at()}function dn(t){Se.value=t,ce.value=1,at()}function un(t,e){if(ve(e)){Za(t);return}if(!(e.dept_id<=0)){if(Ta(e.dept_id)){A.value=[e.dept_id],ze();return}Ht(t,e)}}function cn(t){if(!t||t.admin_id<=0||!N.value)return;const{start_date:e,end_date:n}=N.value;Ha(t,e,n)}function Qt(t){const e=t.channel_name?` · ${t.channel_name}`:"";return`${t.label}${e}`}function _n(t){const e=t.rows.filter(g=>g.dept_id>0),n=e.map(g=>g.dept_name.length>10?`${g.dept_name.slice(0,10)}…`:g.dept_name),s=["#64748b","#38bdf8","#6366f1"],i=[{name:"进线",type:"bar",data:e.map(g=>g.lead_count),yAxisIndex:0,barMaxWidth:16},{name:"接诊",type:"bar",data:e.map(g=>g.consult_count),yAxisIndex:0,barMaxWidth:16},{name:"成交单",type:"bar",data:e.map(g=>g.deal_order_count),yAxisIndex:0,barMaxWidth:16},{name:"合计业绩",type:"bar",data:e.map(g=>g.performance_amount),yAxisIndex:1,barMaxWidth:14,itemStyle:{color:"#d97706"}}];t.channel_name&&i.push({name:`${t.channel_name}业绩`,type:"bar",data:e.map(g=>g.completed_performance_amount),yAxisIndex:1,barMaxWidth:14,itemStyle:{color:"#0d9488"}});const h=e.length>10;return{color:[...s,"#d97706","#0d9488"],tooltip:{trigger:"axis",axisPointer:{type:"cross"}},legend:{top:8,type:"scroll",textStyle:{fontSize:11}},grid:{left:52,right:52,top:48,bottom:h?56:28,containLabel:!1},dataZoom:h?[{type:"slider",bottom:4,start:0,end:Math.min(100,Math.ceil(12/Math.max(e.length,1)*100))}]:[],xAxis:{type:"category",data:n,axisLabel:{rotate:n.length>8?28:0,fontSize:10}},yAxis:[{type:"value",name:"数量",splitLine:{lineStyle:{type:"dashed",opacity:.55}}},{type:"value",name:"金额",splitLine:{show:!1}}],series:i}}function pn(t,e){const n=[...t.rows].sort((s,i)=>Number(i.fee_amount)-Number(s.fee_amount)).slice(0,15);return{color:["#2563eb"],tooltip:{trigger:"axis",axisPointer:{type:"shadow"},valueFormatter:s=>`${Number(s).toLocaleString("zh-CN")} 元`},grid:{left:8,right:20,top:12,bottom:8,containLabel:!0},xAxis:{type:"value",splitLine:{lineStyle:{type:"dashed",opacity:.6}}},yAxis:{type:"category",data:n.map(s=>s.name.length>8?`${s.name.slice(0,8)}…`:s.name).reverse(),axisLabel:{fontSize:11}},series:[{name:"诊金",type:"bar",data:n.map(s=>Number(s.fee_amount??0)).reverse(),barMaxWidth:20,itemStyle:{borderRadius:[0,6,6,0]}}]}}function Zt(t){return t.rows.some(e=>Number(e.fee_amount)>0)}function mn(t,e){const s=[...t.rows].filter(i=>Number(i.fee_amount)>0).sort((i,h)=>Number(h.fee_amount)-Number(i.fee_amount)).slice(0,10).map(i=>({name:i.name.length>6?`${i.name.slice(0,6)}…`:i.name,value:Number(i.fee_amount)}));return{color:["#2563eb","#0d9488","#d97706","#7c3aed","#64748b","#0891b2","#65a30d","#c026d3","#ea580c","#4f46e5"],tooltip:{trigger:"item",formatter:"{b}: {c} 元 ({d}%)"},legend:{type:"scroll",bottom:0,textStyle:{fontSize:9}},series:[{name:"诊金",type:"pie",radius:["38%","64%"],center:["50%","42%"],data:s,itemStyle:{borderRadius:5,borderColor:"#fff",borderWidth:2},label:{formatter:`{b} +{d}%`,fontSize:10}}]}}function ea(t){return Number(t.total.lead_count)+Number(t.total.consult_count)+Number(t.total.deal_order_count)>0}function vn(t){const e=Number(t.total.lead_count??0),n=Number(t.total.consult_count??0),s=Number(t.total.deal_order_count??0);return{tooltip:{trigger:"item",formatter:"{b}: {c}"},color:["#2563eb","#38bdf8","#0d9488"],series:[{type:"funnel",left:"8%",width:"84%",minSize:"12%",sort:"none",gap:6,label:{show:!0,position:"inside",formatter:`{b} +{c}`,fontSize:11},data:[{value:e,name:"进线"},{value:n,name:"接诊"},{value:s,name:"成交单"}]}]}}function ta(t){return t.rows.some(e=>e.dept_id>0&&Number(e.performance_amount)>0)}function fn(t){const e=t.rows.filter(i=>i.dept_id>0&&Number(i.performance_amount)>0).sort((i,h)=>Number(h.performance_amount)-Number(i.performance_amount));if(!e.length)return{series:[{type:"pie",data:[]}]};const s=e.slice(0,10).map(i=>({name:i.dept_name.length>8?`${i.dept_name.slice(0,8)}…`:i.dept_name,value:Number(i.performance_amount)}));if(e.length>10){const i=e.slice(10).reduce((h,g)=>h+Number(g.performance_amount),0);i>0&&s.push({name:"其它",value:i})}return{color:["#2563eb","#0d9488","#d97706","#7c3aed","#64748b","#0891b2","#65a30d","#c026d3","#ea580c","#4f46e5","#94a3b8"],tooltip:{trigger:"item",formatter:"{b}
{c} 元({d}%)"},legend:{type:"scroll",bottom:0,textStyle:{fontSize:10}},series:[{type:"pie",radius:["36%","62%"],center:["50%","44%"],data:s,itemStyle:{borderRadius:5,borderColor:"#fff",borderWidth:2},label:{formatter:`{b} +{d}%`,fontSize:10}}]}}function xt(t){return{perf:"渠道业绩",deal:"渠道成交",aov:"渠道客单"}[t]??t}function S(t){return t==null||t===""?"0":Number(t).toLocaleString("en-US")}function M(t){return t==null||t===""?"0.0":Number(t).toLocaleString("en-US",{minimumFractionDigits:1,maximumFractionDigits:1})}function ne(t){if(t==null||t==="")return"0";const e=Number(t);return Number.isFinite(e)?Math.round(e).toLocaleString("zh-CN"):"0"}function aa(t){return t==null||t===""?"—":Number(t).toLocaleString("en-US",{minimumFractionDigits:1,maximumFractionDigits:1})}function na(t){return t==null||t===""?"—":Number(t).toFixed(1)}function la(t){if(t==null||t==="")return"";const e=Number(t);return e>=1?"roi-good":e>=.8?"roi-mid":"roi-bad"}function yn(t){return t===null?"—":(t*100).toFixed(2)+"%"}function hn(t){return t===null?"":t>=1?"tp-good":t>=.8?"tp-mid":"tp-bad"}function bn(t){return t>=1e4?(t/1e4).toFixed(1)+"万":String(t)}function nt(t){const e=t.getFullYear(),n=String(t.getMonth()+1).padStart(2,"0"),s=String(t.getDate()).padStart(2,"0");return`${e}-${n}-${s}`}return cl(async()=>{await Promise.all([Oa(),Ma()]),ze(),Aa()}),(t,e)=>{const n=zn,s=$n,i=Ln,h=An,g=Rn,k=Mn,B=On,I=In,p=En,R=Fn,P=Bn,Q=Vn,O=Yn,$e=Tn,W=Hn,fe=Un,Ae=Wn,Pe=qn,ye=Gn,F=Pn;return o(),c("div",_l,[e[140]||(e[140]=a("header",{class:"yeji-masthead"},[a("div",{class:"yeji-masthead__inner"},[a("h1",{class:"yeji-masthead__title"},"业绩看板"),a("p",{class:"yeji-masthead__desc"},"渠道 · 部门 · 日期维度的业绩分析")])],-1)),r(I,{class:"yeji-panel filter-card",shadow:"never"},{default:_(()=>[a("div",pl,[a("div",ml,[a("div",vl,[e[10]||(e[10]=a("span",{class:"lbl"},"渠道来源",-1)),r(i,{modelValue:x.value,"onUpdate:modelValue":e[0]||(e[0]=l=>x.value=l),filterable:"",placeholder:"渠道筛选",class:"filter-select filter-select--channel",loading:st.value,onChange:ze},{default:_(()=>[r(n,{label:"全部",value:""}),(o(!0),c(w,null,V(We.value,l=>(o(),j(s,{key:l.group_name,label:l.group_name},{default:_(()=>[(o(!0),c(w,null,V(l.channels,b=>(o(),j(n,{key:b.channel_code,label:b.channel_name,value:b.channel_code},{default:_(()=>[a("div",fl,[a("span",yl,d(b.channel_name),1),a("span",hl,d(b.customer_count>0?b.customer_count:""),1)])]),_:2},1032,["label","value"]))),128))]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue","loading"])]),a("div",bl,[e[11]||(e[11]=a("span",{class:"lbl"},"展示部门",-1)),K((o(),c("div",gl,[r(h,{modelValue:A.value,"onUpdate:modelValue":e[1]||(e[1]=l=>A.value=l),data:ma.value,multiple:"","collapse-tags":"","collapse-tags-tooltip":"",filterable:"","check-strictly":"","render-after-expand":!1,"default-expand-all":!0,placeholder:"默认:所有「中心」部门",class:"filter-dept-tree-select","node-key":"id",props:_a},null,8,["modelValue","data"])])),[[F,ot.value]])]),a("div",wl,[e[12]||(e[12]=a("span",{class:"lbl"},"日期范围",-1)),r(g,{modelValue:Y.value,"onUpdate:modelValue":e[2]||(e[2]=l=>Y.value=l),type:"daterange","value-format":"YYYY-MM-DD","start-placeholder":"开始","end-placeholder":"结束",clearable:!0,shortcuts:Et,class:"filter-date-picker"},null,8,["modelValue"])]),a("div",kl,[r(B,{type:"primary",class:"filter-btn filter-btn--query",loading:le.value,onClick:ze},{default:_(()=>[r(k,{class:"filter-btn__icon"},{default:_(()=>[r(C(Kn))]),_:1}),e[13]||(e[13]=u(" 查询 ",-1))]),_:1},8,["loading"]),r(B,{class:"filter-btn filter-btn--reset",disabled:le.value,onClick:Ia},{default:_(()=>[r(k,{class:"filter-btn__icon"},{default:_(()=>[r(C(Xn))]),_:1}),e[14]||(e[14]=u(" 重置 ",-1))]),_:1},8,["disabled"])])]),a("div",jl,[e[15]||(e[15]=a("span",{class:"filter-quick__title"},"快捷日期",-1)),a("div",xl,[(o(),c(w,null,V(Et,l=>a("button",{key:l.text,type:"button",class:"date-pill",onClick:b=>Ra(l)},d(l.text),9,Nl)),64))])])])]),_:1}),r(I,{class:"yeji-panel yeji-main-tabs-card",shadow:"never"},{default:_(()=>[e[115]||(e[115]=a("div",{class:"yeji-table-tabs-head"},[a("span",{class:"yeji-table-tabs-head__title"},"表格统计"),a("span",{class:"yeji-table-tabs-head__hint"},"列较多时可横向滚动浏览;「部门 / 排名」列在滚动时保持固定。")],-1)),r($e,{modelValue:Pt.value,"onUpdate:modelValue":e[3]||(e[3]=l=>Pt.value=l),class:"yeji-view-tabs"},{default:_(()=>[r(Q,{label:"医生统计",name:"doctor",lazy:""},{default:_(()=>[Ce.value?(o(),j(I,{key:0,class:"yeji-panel doctor-daily-card doctor-daily-card--nested",shadow:"never"},{header:_(()=>[a("div",Sl,[a("div",Cl,[e[16]||(e[16]=a("span",{class:"doctor-daily-card__title"},"医生明细",-1)),Xe.value?(o(),c("span",Dl,d(Xe.value),1)):y("",!0)]),a("div",Ll,[r(B,{type:"primary",size:"small",loading:De.value,onClick:It},{default:_(()=>[...e[17]||(e[17]=[u(" 刷新 ",-1)])]),_:1},8,["loading"])])])]),default:_(()=>[K((o(),j(R,{data:U.value,size:"small",border:"",stripe:"",class:"doctor-daily-table","show-summary":"","summary-method":Ca},{default:_(()=>[r(p,{prop:"doctor_name",label:"医生","min-width":"100",fixed:""}),r(p,{prop:"system_prescription_count",label:"系统开方","min-width":"88",align:"right"}),r(p,{prop:"manual_prescription_count",label:"手动开方","min-width":"88",align:"right"}),r(p,{prop:"deal_amount",label:"成交金额","min-width":"110",align:"right"},{default:_(({row:l})=>[u("¥ "+d(Mt(l.deal_amount)),1)]),_:1}),r(p,{prop:"deal_order_count",label:"接诊诊单","min-width":"88",align:"right"}),r(p,{prop:"appointment_completed",label:"挂号完成","min-width":"88",align:"right"}),r(p,{prop:"appointment_missed",label:"过号","min-width":"72",align:"right"}),r(p,{prop:"appointment_cancelled",label:"取消","min-width":"72",align:"right"})]),_:1},8,["data"])),[[F,De.value]])]),_:1})):(o(),j(P,{key:1,description:"当前账号无医生统计权限"}))]),_:1}),r(Q,{label:"医助排行榜",name:"leaderboard",lazy:""},{default:_(()=>[N.value||oe.value?K((o(),c("div",zl,[N.value?(o(),c(w,{key:0},[a("p",$l,[u(d(N.value.range_note)+" ",1),a("span",Al,d(N.value.start_date)+" ~ "+d(N.value.end_date),1)]),a("div",Pl,[(o(!0),c(w,null,V(N.value.leaderboards,l=>(o(),c(w,{key:l.dept_id},[l.rows.length>0?(o(),c("div",Rl,[a("div",Ol,[u(d(l.dept_name)+" · 医助排行榜 ",1),N.value.channel_name?(o(),c("span",Ml," ("+d(N.value.channel_name)+") ",1)):y("",!0)]),a("div",Il,[a("table",Tl,[a("thead",null,[a("tr",null,[e[19]||(e[19]=a("th",{class:"col-rank"},"排名",-1)),e[20]||(e[20]=a("th",{class:"col-abbr"},"部门",-1)),e[21]||(e[21]=a("th",{class:"col-name"},"姓名",-1)),e[22]||(e[22]=a("th",{class:"col-consult"},"接诊单数",-1)),e[23]||(e[23]=a("th",{class:"col-deal"},"接诊诊单",-1)),e[24]||(e[24]=a("th",{class:"col-assign"},"被指派数",-1)),e[25]||(e[25]=a("th",{class:"col-appointment"},"预约诊单",-1)),l.er_center_subtree?(o(),c(w,{key:0},[e[18]||(e[18]=a("th",{class:"col-revisit"},"复诊合计",-1)),(o(!0),c(w,null,V(Ct(l),b=>(o(),c("th",{key:"lbh-"+l.dept_id+"-"+b,class:"col-revisit-slot"},d(qe(b)),1))),128))],64)):y("",!0),e[26]||(e[26]=a("th",null,"诊金",-1)),e[27]||(e[27]=a("th",null,[u("接诊率"),a("br"),a("span",{class:"th-sub"},"(元/进线)")],-1))])]),a("tbody",null,[(o(!0),c(w,null,V(l.rows,b=>(o(),c("tr",{key:b.admin_id,class:"yeji-row--action",onClick:m=>cn(b)},[a("td",Fl,d(b.rank),1),a("td",El,d(b.dept_abbr),1),a("td",Bl,d(b.name),1),a("td",Yl,d(ne(b.consult_count)),1),a("td",Ul,d(ne(b.deal_order_count)),1),a("td",Hl,d(ne(b.assign_count??0)),1),a("td",{class:"col-appointment",onClick:J(m=>on(b),["stop"])},[Number(b.appointment_count??0)>0?(o(),c("span",ql,d(ne(b.appointment_count??0)),1)):(o(),c(w,{key:1},[u(d(ne(b.appointment_count??0)),1)],64))],8,Wl),l.er_center_subtree?(o(),c(w,{key:0},[a("td",{class:"col-revisit",onClick:J(m=>Wa(b),["stop"])},[Number(b.revisit_count??0)>0?(o(),c("span",Jl,d(ne(b.revisit_count??0)),1)):(o(),c(w,{key:1},[u(d(ne(b.revisit_count??0)),1)],64))],8,Gl),(o(!0),c(w,null,V(Ct(l),m=>(o(),c("td",{key:"lbc-"+b.admin_id+"-"+m,class:"col-revisit-slot",onClick:J(T=>qa(b,m),["stop"])},[ee(b,m)>0?(o(),c("span",Xl,d(ne(ee(b,m))),1)):(o(),c(w,{key:1},[u(d(ne(ee(b,m))),1)],64))],8,Kl))),128))],64)):y("",!0),a("td",null,d(M(b.fee_amount)),1),a("td",null,d(M(b.consult_rate)),1)],8,Vl))),128))])])]),a("div",Ql,[e[28]||(e[28]=a("span",null,"诊金单位:元 · 诊金/接诊诊单/复诊均按「订单创建人 = 该医助」归属,与部门「合计业绩 / 接诊诊单 / 复诊」同口径 · 被指派数与部门业绩表同口径 · 接诊率 = 诊金 ÷ 进线(元/进线)",-1)),l.er_center_subtree?(o(),c("span",Zl," · 复诊列为二中心口径(同一诊单业务单序列第 2 笔起),点击数字查看对应业务订单 ")):y("",!0),e[29]||(e[29]=a("span",null," · 预约诊单:预约日期在统计区间内,状态含已预约/已完成/已过号(不含已取消),医助归属与接诊单数一致(按挂号 assistant_id 优先,否则诊单 assistant_id);各科组展示全部医助。 ",-1))])])):y("",!0)],64))),128))]),!oe.value&&Pa.value===0?(o(),c("div",eo,[r(P,{description:"当前筛选下暂无医助排行数据"})])):y("",!0)],64)):y("",!0)])),[[F,oe.value]]):oe.value?y("",!0):(o(),j(P,{key:1,class:"yeji-charts-empty",description:"当前筛选下暂无医助排行数据"}))]),_:1}),r(Q,{label:"甄养堂互联网医院诊金",name:"zyyt",lazy:""},{default:_(()=>[K((o(),c("div",to,[!le.value&&re.value.length===0?(o(),c("div",ao,[r(P,{description:"暂无数据"})])):y("",!0),(o(!0),c(w,null,V(re.value,(l,b)=>(o(),c("div",{key:b,class:"yeji-table"},[a("div",no,d(Qt(l)),1),a("div",lo,[a("table",oo,[a("thead",null,[a("tr",null,[e[107]||(e[107]=a("th",{class:"col-dept"},"部门",-1)),a("th",null,[e[36]||(e[36]=a("span",null,"进线数据",-1)),r(O,{placement:"top",effect:"dark","show-after":200},{content:_(()=>[a("div",so,[e[34]||(e[34]=u(" add_external_contact 事件数,按接待企微成员归属部门;定渠道时须客户带对应企微标签。",-1)),e[35]||(e[35]=a("br",null,null,-1)),l.channel_name?(o(),c(w,{key:0},[e[30]||(e[30]=a("b",null,"二中心及其组织下级",-1)),e[31]||(e[31]=u("(与部门 ErCenter 子树一致)在选定渠道下进线计 ",-1)),e[32]||(e[32]=a("b",null,"0",-1)),e[33]||(e[33]=u("。 ",-1))],64)):y("",!0)])]),default:_(()=>[r(k,{class:"col-info"},{default:_(()=>[r(C(E))]),_:1})]),_:2},1024)]),a("th",null,[e[52]||(e[52]=a("span",null,"被指派数",-1)),r(O,{placement:"top",effect:"dark","show-after":200},{content:_(()=>[a("div",io,[e[44]||(e[44]=a("b",null,"tcm_diagnosis_assign_log",-1)),e[45]||(e[45]=u(" 行数(成功指派:",-1)),e[46]||(e[46]=a("b",null,"to_assistant_id > 0",-1)),e[47]||(e[47]=u("),**仅按 ",-1)),e[48]||(e[48]=a("b",null,"related_po_create_time",-1)),e[49]||(e[49]=u("** 落在所选区间内(与日志表快照一致;诊单手动指派已写入该字段)。按",-1)),e[50]||(e[50]=a("b",null,"被指派医助",-1)),e[51]||(e[51]=u("归属展示部门。",-1)),l.channel_name?(o(),c(w,{key:0},[u(" 选定渠道时收窄与「"+d(l.channel_name)+"」业绩同口径(标签诊单或 channels EXISTS)。",1),e[37]||(e[37]=a("br",null,null,-1)),e[38]||(e[38]=a("b",null,"二中心及其组织下级",-1)),e[39]||(e[39]=u("在选定渠道下本列计 ",-1)),e[40]||(e[40]=a("b",null,"0",-1)),e[41]||(e[41]=u("。 ",-1))],64)):(o(),c(w,{key:1},[e[42]||(e[42]=a("br",null,null,-1)),e[43]||(e[43]=u("未选渠道时不限客户来源,与「合计业绩」列渠道无关。",-1))],64))])]),default:_(()=>[r(k,{class:"col-info"},{default:_(()=>[r(C(E))]),_:1})]),_:2},1024)]),a("th",null,[e[54]||(e[54]=a("span",null,"复诊合计",-1)),r(O,{placement:"top",effect:"dark","show-after":200},{content:_(()=>[...e[53]||(e[53]=[a("div",{style:{"max-width":"320px","line-height":"1.7","font-size":"12px"}},[u(" 仅"),a("b",null,"名称含「二中心」"),u("的部门及其组织下级:候选订单为有诊单医助、且 "),a("b",null,"fulfillment_status"),u(" 非 4/9/10("),a("b",null,"NULL 计入"),u(")的业务单,按患者 "),a("b",null,"create_time"),u(" 排序,"),a("b",null,"第 1 笔不计"),u(";第 2 笔起计入合计,分列复诊2、复诊三…。"),a("b",null,"归属"),u("按订单创建人的人事部门,与"),a("b",null,"合计业绩"),u("列同口径。非二中心子树部门为 0。 ")],-1)])]),default:_(()=>[r(k,{class:"col-info"},{default:_(()=>[r(C(E))]),_:1})]),_:1})]),(o(!0),c(w,null,V(rt.value,m=>(o(),c("th",{key:"yjv-h-"+m},[a("span",null,d(qe(m)),1),r(O,{placement:"top",effect:"dark","show-after":200},{content:_(()=>[a("div",ro,[e[55]||(e[55]=u(" 该列统计区间内患者第 ",-1)),a("b",null,d(m),1),e[56]||(e[56]=u(" 笔业务单条数(第 1 笔初诊单列不计);归属与合计列相同。 ",-1))])]),default:_(()=>[r(k,{class:"col-info"},{default:_(()=>[r(C(E))]),_:1})]),_:2},1024)]))),128)),a("th",null,[e[58]||(e[58]=a("span",null,"合计业绩",-1)),r(O,{placement:"top",effect:"dark","show-after":200},{content:_(()=>[...e[57]||(e[57]=[a("div",{style:{"max-width":"300px","line-height":"1.7","font-size":"12px"}},[u(" 按订单"),a("b",null,"创建时间"),u("统计(剔除履约已取消/拒收/退款 4·9·10),金额与"),a("b",null,"接诊诊单"),u("列一致:仅按"),a("b",null,"订单创建人"),u("的人事部门落在本展示行(含下级)计入,多行命中时取最深的展示部门。与"),a("b",null,"医助排行榜诊金"),u("同口径。"),a("br"),a("b",null,"不受渠道筛选影响"),u("。与侧栏按部门打开的业务订单列表对齐。"),a("br"),u(" 点击金额可查看对应业务订单明细(侧栏默认「合计业绩」全量列表)。 ")],-1)])]),default:_(()=>[r(k,{class:"col-info"},{default:_(()=>[r(C(E))]),_:1})]),_:1})]),l.channel_name?(o(),c("th",uo,[a("span",co,d(xt("perf")),1),r(O,{placement:"top",effect:"dark","show-after":200},{content:_(()=>[a("div",_o,[u(" 「"+d(l.channel_name)+"」渠道业绩(与卡片标题渠道一致)。与「处方订单列表」业绩",1),e[59]||(e[59]=a("b",null,"同口径",-1)),e[60]||(e[60]=u(":按订单 ",-1)),e[61]||(e[61]=a("b",null,"create_time",-1)),e[62]||(e[62]=u(" 归日,剔除履约状态 4(已取消)/9(拒收)/10(退款)。",-1)),e[63]||(e[63]=a("br",null,null,-1)),e[64]||(e[64]=u(" 渠道判定用 EXISTS:该患者有任一挂号 ",-1)),e[65]||(e[65]=a("b",null,"channels 命中字典 + status=3",-1)),e[66]||(e[66]=u("(不限挂号时点)。",-1)),e[67]||(e[67]=a("br",null,null,-1)),e[68]||(e[68]=u(" 点击金额可查看该部门本渠道订单明细(侧栏「渠道筛选」列表)。 ",-1))])]),default:_(()=>[r(k,{class:"col-info","aria-label":"说明"},{default:_(()=>[r(C(E))]),_:1})]),_:2},1024)])):y("",!0),a("th",null,[e[70]||(e[70]=a("span",null,"预约诊单",-1)),r(O,{placement:"top",effect:"dark","show-after":200},{content:_(()=>[...e[69]||(e[69]=[a("div",{style:{"max-width":"320px","line-height":"1.7","font-size":"12px"}},[u(" 已预约 / 已完成 / 已过号(不含已取消),按"),a("b",null,"预约日期"),u("落在区间内统计;部门归属医助优先,否则接诊医生;与"),a("b",null,"医助排行榜 · 预约诊单"),u("及明细弹窗同口径。"),a("br"),u(" 点击数字可查看每条挂号记录。 ")],-1)])]),default:_(()=>[r(k,{class:"col-info"},{default:_(()=>[r(C(E))]),_:1})]),_:1})]),a("th",null,[e[72]||(e[72]=a("span",null,"已完成挂号",-1)),r(O,{placement:"top",effect:"dark","show-after":200},{content:_(()=>[...e[71]||(e[71]=[a("div",{style:{"max-width":"320px","line-height":"1.7","font-size":"12px"}},[u(" 仅"),a("b",null,"已完成"),u("(status=3),与 admin「医生预约 / 已完成」列表计数条件一致(appointment_date、诊单未软删);部门归属医助优先,否则接诊医生。 ")],-1)])]),default:_(()=>[r(k,{class:"col-info"},{default:_(()=>[r(C(E))]),_:1})]),_:1})]),a("th",null,[e[74]||(e[74]=a("span",null,"接诊诊单",-1)),r(O,{placement:"top",effect:"dark","show-after":200},{content:_(()=>[...e[73]||(e[73]=[a("div",{style:{"max-width":"320px","line-height":"1.7","font-size":"12px"}},[u(" <<<<<<< HEAD "),a("b",null,"业务订单条数"),u("(计业绩):订单 "),a("b",null,"create_time"),u(" 落入区间、"),a("b",null,"fulfillment_status ∉ {4,9,10}"),u("("),a("b",null,"NULL 计入"),u(");按"),a("b",null,"订单创建人"),u("的人事部门落在该部门子树即计入(表格多行命中时取最深的展示部门)。与"),a("b",null,"合计业绩 / 医助排行榜接诊诊单"),u("同口径。选定渠道时本列仍为全量。 ======= "),a("b",null,"业务订单条数"),u("(计业绩):订单 "),a("b",null,"create_time"),u(" 落入区间、"),a("b",null,"fulfillment_status ∉ {4,9,10}"),u(";与列表筛选 "),a("b",null,"assistant_dept_id"),u(" 时一致——"),a("b",null,"创建人"),u("人事部门优先,无创建人则诊单 "),a("b",null,"医助"),u(";落在该部门子树即计入(表格多行命中时取最深的展示部门)。与侧栏勾选「与表格业绩对齐」时的集合可能略有差异。选定渠道时本列仍为全量。 >>>>>>> master ")],-1)])]),default:_(()=>[r(k,{class:"col-info"},{default:_(()=>[r(C(E))]),_:1})]),_:1})]),l.channel_name?(o(),c("th",po,[a("span",mo,d(xt("deal")),1),r(O,{placement:"top",effect:"dark","show-after":200},{content:_(()=>[a("div",vo,[u(" 「"+d(l.channel_name)+"」渠道成交单数;与渠道业绩同源:区间内 ",1),e[75]||(e[75]=a("b",null,"计业绩的业务订单",-1)),e[76]||(e[76]=u(" 条数(剔除 4/9/10),按订单 ",-1)),e[77]||(e[77]=a("b",null,"create_time",-1)),e[78]||(e[78]=u(" 归日;渠道判定同业绩列。 ",-1))])]),default:_(()=>[r(k,{class:"col-info","aria-label":"说明"},{default:_(()=>[r(C(E))]),_:1})]),_:2},1024)])):y("",!0),l.channel_name?(o(),c("th",fo,[a("span",yo,d(xt("aov")),1),r(O,{placement:"top",effect:"dark","show-after":200},{content:_(()=>[a("div",ho," 「"+d(l.channel_name)+"」渠道客单价 ≈ 渠道业绩 ÷ 渠道成交单。 ",1)]),default:_(()=>[r(k,{class:"col-info","aria-label":"说明"},{default:_(()=>[r(C(E))]),_:1})]),_:2},1024)])):y("",!0),a("th",null,[e[104]||(e[104]=a("span",null,"ROI",-1)),r(O,{placement:"top",effect:"dark","show-after":200},{content:_(()=>[a("div",bo,[l.channel_name?(o(),c(w,{key:0},[e[79]||(e[79]=u(" 有渠道时:",-1)),e[80]||(e[80]=a("b",null,"合计行 ROI",-1)),e[81]||(e[81]=u(" = ",-1)),a("b",null,d(l.channel_name)+"业绩合计",1),e[82]||(e[82]=u("(与上表该渠道业绩列合计一致,",-1)),e[83]||(e[83]=a("b",null,"不含二中心及其组织下级",-1)),e[84]||(e[84]=u(")÷ ",-1)),e[85]||(e[85]=a("b",null,"投放成本合计",-1)),e[86]||(e[86]=u("。",-1)),e[87]||(e[87]=a("br",null,null,-1)),e[88]||(e[88]=u(" 部门行 ROI = 该部门 ",-1)),a("b",null,d(l.channel_name)+"业绩",1),e[89]||(e[89]=u(" ÷ 该部门 ",-1)),e[90]||(e[90]=a("b",null,"投放成本",-1)),e[91]||(e[91]=u(";",-1)),e[92]||(e[92]=a("b",null,"二中心子树",-1)),e[93]||(e[93]=u("部门该渠道业绩与进线为 0、投放成本分摊进线计 0,故无 ROI。与「合计业绩」列无关。 ",-1))],64)):(o(),c(w,{key:1},[e[94]||(e[94]=a("b",null,"合计行 ROI",-1)),e[95]||(e[95]=u(" = 全表业绩合计(",-1)),e[96]||(e[96]=a("b",null,"不含二中心子树",-1)),e[97]||(e[97]=u("各部门行业绩)÷ ",-1)),e[98]||(e[98]=a("b",null,"投放成本合计",-1)),e[99]||(e[99]=u(";",-1)),e[100]||(e[100]=a("br",null,null,-1)),e[101]||(e[101]=u(" 部门行 = 该部门「合计业绩」口径业绩 ÷ 该部门均摊投放成本;",-1)),e[102]||(e[102]=a("b",null,"二中心子树",-1)),e[103]||(e[103]=u("部门不参与成本分摊(进线占比计 0),故无 ROI。 ",-1))],64))])]),default:_(()=>[r(k,{class:"col-info"},{default:_(()=>[r(C(E))]),_:1})]),_:2},1024)]),a("th",null,[e[106]||(e[106]=a("span",null,"投放成本",-1)),r(O,{placement:"top",effect:"dark","show-after":200},{content:_(()=>[...e[105]||(e[105]=[a("div",{style:{"max-width":"320px","line-height":"1.7","font-size":"12px"}},[u(" 区间与渠道与账务表一致后得到"),a("b",null,"总投放成本"),u(";"),a("b",null,"单进线成本"),u(" = 总成本 ÷ 各展示部门"),a("b",null,"进线合计"),u(";"),a("br"),u(" 各部门行投放成本 = 单进线成本 × 该部门进线(四舍五入尾差并入进线最多的部门)。"),a("b",null,"二中心及其组织下级"),u("进线在分摊中计 "),a("b",null,"0"),u("(与 ROI 分子扣除范围一致)。 ")],-1)])]),default:_(()=>[r(k,{class:"col-info"},{default:_(()=>[r(C(E))]),_:1})]),_:1})])])]),a("tbody",null,[(o(!0),c(w,null,V(l.rows,m=>(o(),c("tr",{key:`${b}-${m.dept_id}-${m.dept_name}`,class:lt(["yeji-row--action",{"yeji-row--unassigned":ve(m),"yeji-row--idle":m.dept_id<=0&&!ve(m)}]),onClick:T=>un(l,m)},[a("td",wo,d(m.dept_name),1),a("td",{onClick:T=>en(T,l,m)},[m.dept_id>0&&Number(m.lead_count)>0?(o(),c("span",jo,d(S(m.lead_count)),1)):(o(),c(w,{key:1},[u(d(S(m.lead_count)),1)],64))],8,ko),a("td",null,d(S(m.assign_count??0)),1),a("td",{onClick:J(T=>Xa(l,m),["stop"])},[m.dept_id>0&&Number(m.revisit_count??0)>0?(o(),c("span",No,d(S(m.revisit_count??0)),1)):(o(),c(w,{key:1},[u(d(S(m.revisit_count??0)),1)],64))],8,xo),(o(!0),c(w,null,V(rt.value,T=>(o(),c("td",{key:"yjv-"+b+"-"+m.dept_id+"-"+T,onClick:J(oa=>Qa(l,m,T),["stop"])},[m.dept_id>0&&ee(m,T)>0?(o(),c("span",Co,d(S(ee(m,T))),1)):(o(),c(w,{key:1},[u(d(S(ee(m,T))),1)],64))],8,So))),128)),a("td",null,[gt(l,m,"total")?(o(),c("span",{key:0,class:"yeji-lead-cell--link",onClick:J(T=>Wt(l,m,"total"),["stop"])},d(M(m.performance_amount)),9,Do)):(o(),c(w,{key:1},[u(d(M(m.performance_amount)),1)],64))]),l.channel_name?(o(),c("td",Lo,[gt(l,m,"channel")?(o(),c("span",{key:0,class:"yeji-lead-cell--link",onClick:J(T=>Wt(l,m,"channel"),["stop"])},d(M(m.completed_performance_amount)),9,zo)):(o(),c(w,{key:1},[u(d(M(m.completed_performance_amount)),1)],64))])):y("",!0),a("td",{onClick:J(T=>sn(l,m),["stop"])},[Xt(m)&&Number(m.appointment_booked_count??0)>0?(o(),c("span",Ao,d(S(m.appointment_booked_count??0)),1)):(o(),c(w,{key:1},[u(d(S(m.appointment_booked_count??0)),1)],64))],8,$o),a("td",null,d(S(m.consult_count)),1),a("td",null,d(S(m.deal_order_count)),1),l.channel_name?(o(),c("td",Po,d(S(m.channel_consult_count)),1)):y("",!0),l.channel_name?(o(),c("td",Ro,d(aa(m.channel_avg_price)),1)):y("",!0),a("td",{class:lt(la(m.roi))},d(na(m.roi)),3),a("td",null,d(M(m.cost_amount)),1)],10,go))),128)),a("tr",Oo,[e[108]||(e[108]=a("td",{class:"col-dept"},"合计",-1)),a("td",null,d(S(l.total.lead_count)),1),a("td",null,d(S(l.total.assign_count??0)),1),a("td",null,d(S(l.total.revisit_count??0)),1),(o(!0),c(w,null,V(rt.value,m=>(o(),c("td",{key:"yjvt-"+b+"-"+m},d(S(ee(l.total,m))),1))),128)),a("td",null,[wt(l,"total")?(o(),c("span",{key:0,class:"yeji-lead-cell--link",onClick:J(m=>qt(l,"total"),["stop"])},d(M(l.total.performance_amount)),9,Mo)):(o(),c(w,{key:1},[u(d(M(l.total.performance_amount)),1)],64))]),l.channel_name?(o(),c("td",Io,[wt(l,"channel")?(o(),c("span",{key:0,class:"yeji-lead-cell--link",onClick:J(m=>qt(l,"channel"),["stop"])},d(M(l.total.completed_performance_amount)),9,To)):(o(),c(w,{key:1},[u(d(M(l.total.completed_performance_amount)),1)],64))])):y("",!0),a("td",null,d(S(l.total.appointment_booked_count??0)),1),a("td",null,d(S(l.total.consult_count)),1),a("td",null,d(S(l.total.deal_order_count)),1),l.channel_name?(o(),c("td",Vo,d(S(l.total.channel_consult_count)),1)):y("",!0),l.channel_name?(o(),c("td",Fo,d(aa(l.total.channel_avg_price)),1)):y("",!0),a("td",{class:lt(la(l.total.roi))},d(na(l.total.roi)),3),a("td",null,d(M(l.total.cost_amount)),1)])])])]),a("div",Eo,[a("span",null,"区间:"+d(l.start_date)+" ~ "+d(l.end_date),1),l.channel_name?(o(),c("span",Bo," · 渠道:"+d(l.channel_name),1)):y("",!0),l.total.cost_per_lead!=null&&l.total.cost_per_lead>0?(o(),c("span",Yo," · 单进线成本:"+d(M(l.total.cost_per_lead))+" 元 ",1)):y("",!0)])]))),128))])),[[F,le.value]])]),_:1}),r(Q,{label:"目标看板(卡片)",name:"zyyt_matrix",lazy:""},{default:_(()=>[K((o(),c("div",Uo,[Ye.value?(o(),c(w,{key:0},[a("h2",Ho,d(Ye.value.title),1),a("div",Wo,[(o(!0),c(w,null,V(Ye.value.sections,l=>(o(),c("div",{key:"tm-"+l.dept_id,class:"tp-matrix-card",role:"listitem"},[a("div",qo,[a("div",Go,[l.parent_dept_name?(o(),c("span",Jo,d(l.parent_dept_name),1)):y("",!0),a("span",Ko,d(l.dept_name)+"目标",1)]),a("span",Xo,d(bn(l.target_amount)),1)]),a("table",Qo,[a("tbody",null,[a("tr",null,[e[109]||(e[109]=a("td",{class:"tp-matrix-card__lbl"},"昨日诊金",-1)),a("td",Zo,d(S(l.yesterday_amount)),1)]),l.douyin_amount!==null?(o(),c("tr",es,[e[110]||(e[110]=a("td",{class:"tp-matrix-card__lbl"},"抖音总诊金",-1)),a("td",ts,d(S(l.douyin_amount)),1)])):y("",!0),l.tuifen_amount!==null?(o(),c("tr",as,[e[111]||(e[111]=a("td",{class:"tp-matrix-card__lbl"},"推粉总诊金",-1)),a("td",ns,d(S(l.tuifen_amount)),1)])):y("",!0),a("tr",null,[e[112]||(e[112]=a("td",{class:"tp-matrix-card__lbl"},"总诊金",-1)),a("td",ls,d(S(l.total_amount)),1)]),a("tr",null,[e[113]||(e[113]=a("td",{class:"tp-matrix-card__lbl"},"目标进度",-1)),a("td",os,d(M(l.target_progress)),1)]),a("tr",null,[e[114]||(e[114]=a("td",{class:"tp-matrix-card__lbl"},"完成进度",-1)),a("td",{class:lt(["tp-matrix-card__num tp-matrix-card__num--hot",hn(l.completion_rate)])},d(yn(l.completion_rate)),3)])])])]))),128))])],64)):et.value?y("",!0):(o(),j(P,{key:1,class:"tp-matrix-empty",description:"暂无目标数据,请先配置当月部门目标或为部门设置诊金目标后刷新页面"}))])),[[F,et.value]])]),_:1})]),_:1},8,["modelValue"])]),_:1}),r(I,{class:"yeji-panel yeji-charts-only-card",shadow:"never"},{default:_(()=>[e[125]||(e[125]=a("div",{class:"yeji-charts-only-head"},"统计图",-1)),K((o(),c("div",ss,[ga.value?(o(),c(w,{key:0},[Ce.value&&(mt.value||vt.value||ft.value||yt.value||ht.value)?(o(),c("section",is,[a("h3",rs,[e[116]||(e[116]=u(" 医生统计 ",-1)),Xe.value?(o(),c("span",ds,d(Xe.value),1)):y("",!0)]),r(fe,{gutter:16},{default:_(()=>[r(W,{xs:24,lg:9},{default:_(()=>[a("div",us,[e[117]||(e[117]=a("div",{class:"yeji-chart-panel__label"},"成交金额 TOP(条形)",-1)),mt.value?(o(),j(C(Z),{key:0,class:"yeji-echart",option:xa.value,autoresize:""},null,8,["option"])):(o(),j(P,{key:1,description:"暂无成交金额数据","image-size":72}))])]),_:1}),r(W,{xs:24,lg:8},{default:_(()=>[a("div",cs,[e[118]||(e[118]=a("div",{class:"yeji-chart-panel__label"},"开方构成(堆叠柱)",-1)),vt.value?(o(),j(C(Z),{key:0,class:"yeji-echart yeji-echart--short",option:Na.value,autoresize:""},null,8,["option"])):(o(),j(P,{key:1,description:"暂无开方数据","image-size":72}))])]),_:1}),r(W,{xs:24,lg:7},{default:_(()=>[a("div",_s,[e[119]||(e[119]=a("div",{class:"yeji-chart-panel__label"},"挂号结果(环形 · 表尾合计)",-1)),ft.value?(o(),j(C(Z),{key:0,class:"yeji-echart yeji-echart--short",option:wa.value,autoresize:""},null,8,["option"])):(o(),j(P,{key:1,description:"暂无挂号汇总","image-size":72}))])]),_:1})]),_:1}),r(fe,{gutter:16,class:"yeji-chart-subrow"},{default:_(()=>[r(W,{xs:24,lg:12},{default:_(()=>[a("div",ps,[e[120]||(e[120]=a("div",{class:"yeji-chart-panel__label"},"接诊诊单 × 金额(散点)",-1)),yt.value?(o(),j(C(Z),{key:0,class:"yeji-echart yeji-echart--compact",option:ka.value,autoresize:""},null,8,["option"])):(o(),j(P,{key:1,description:"至少两名医生同时有接诊诊单与金额时可展示","image-size":72}))])]),_:1}),r(W,{xs:24,lg:12},{default:_(()=>[a("div",ms,[e[121]||(e[121]=a("div",{class:"yeji-chart-panel__label"},"TOP 医生雷达(相对最高值归一)",-1)),ht.value?(o(),j(C(Z),{key:0,class:"yeji-echart yeji-echart--compact",option:ja.value,autoresize:""},null,8,["option"])):(o(),j(P,{key:1,description:"至少两名医生有数据时可展示","image-size":72}))])]),_:1})]),_:1})])):y("",!0),(o(!0),c(w,null,V(re.value,(l,b)=>(o(),c(w,{key:"dept-chart-"+b},[Ot(l)?(o(),c("section",vs,[a("h3",fs,d(Qt(l)),1),r(C(Z),{class:"yeji-echart yeji-echart--tall",option:_n(l),autoresize:""},null,8,["option"]),ea(l)||ta(l)?(o(),j(fe,{key:0,gutter:16,class:"yeji-chart-subrow"},{default:_(()=>[ea(l)?(o(),j(W,{key:0,xs:24,md:12},{default:_(()=>[a("div",ys,[e[122]||(e[122]=a("div",{class:"yeji-chart-panel__label"}," 进线 → 接诊 → 成交(汇总漏斗) ",-1)),r(C(Z),{class:"yeji-echart yeji-echart--compact",option:vn(l),autoresize:""},null,8,["option"])])]),_:2},1024)):y("",!0),ta(l)?(o(),j(W,{key:1,xs:24,md:12},{default:_(()=>[a("div",hs,[e[123]||(e[123]=a("div",{class:"yeji-chart-panel__label"}," 部门合计业绩占比(TOP10 + 其它) ",-1)),r(C(Z),{class:"yeji-echart yeji-echart--compact",option:fn(l),autoresize:""},null,8,["option"])])]),_:2},1024)):y("",!0)]),_:2},1024)):y("",!0)])):y("",!0)],64))),128)),N.value?(o(!0),c(w,{key:1},V(Rt.value,l=>(o(),c("section",{key:"lb-chart-"+l.dept_id,class:"yeji-chart-block"},[a("h3",bs,[u(d(l.dept_name)+" · 医助 ",1),N.value.channel_name?(o(),c("span",gs," ("+d(N.value.channel_name)+") ",1)):y("",!0),a("span",ws,d(N.value.start_date)+"~"+d(N.value.end_date),1)]),r(fe,{gutter:16},{default:_(()=>[r(W,{xs:24,lg:Zt(l)?14:24},{default:_(()=>[r(C(Z),{class:"yeji-echart",option:pn(l,N.value),autoresize:""},null,8,["option"])]),_:2},1032,["lg"]),Zt(l)?(o(),j(W,{key:0,xs:24,lg:10},{default:_(()=>[a("div",ks,[e[124]||(e[124]=a("div",{class:"yeji-chart-panel__label"},"诊金占比",-1)),r(C(Z),{class:"yeji-echart yeji-echart--compact",option:mn(l,N.value),autoresize:""},null,8,["option"])])]),_:2},1024)):y("",!0)]),_:2},1024)]))),128)):y("",!0)],64)):!le.value&&(!Ce.value||!De.value)&&!oe.value?(o(),j(P,{key:1,class:"yeji-charts-empty",description:"当前筛选下暂无图表数据,请调整条件后查询"})):y("",!0)])),[[F,le.value||Ce.value&&De.value||oe.value]])]),_:1}),r(Pe,{modelValue:te.value,"onUpdate:modelValue":e[5]||(e[5]=l=>te.value=l),direction:"rtl",size:"min(1120px, 98vw)","destroy-on-close":"",class:"yeji-order-drawer","show-close":!0},{header:_(()=>[a("div",js,[a("h3",xs,d(Fe.value),1),a("p",Ns,d(Ee.value),1)])]),default:_(()=>[a("div",Ss,[a("section",Cs,[a("div",Ds,[e[126]||(e[126]=a("span",{class:"yeji-order-drawer__stat-label"},"符合条件的订单",-1)),a("span",Ls,d(Qe.value.toLocaleString("zh-CN"))+" 笔",1)]),a("div",zs,[e[127]||(e[127]=a("span",{class:"yeji-order-drawer__stat-label"},[u(" 约诊 "),a("span",{class:"yeji-order-drawer__stat-note"},"(已完成挂号;日期按挂号 appointment_date;医助=挂号或诊单,与看板接诊一致)")],-1)),a("span",$s,d(Vt.value===null?"—":Vt.value.toLocaleString("zh-CN"))+" 次",1)]),Ft.value&&H.value?(o(),c(w,{key:0},[a("div",As,[a("span",Ps,[e[128]||(e[128]=u(" 合计业绩 ",-1)),a("span",Rs,"(与看板「合计业绩」列同口径,不限渠道;"+d(H.value.totalOrderCount.toLocaleString("zh-CN"))+" 笔)",1)]),a("span",Os," ¥"+d(tt(H.value.totalAmount)),1)]),a("div",Ms,[a("span",Is,[u(d(bt.value)+"业绩 ",1),a("span",Ts,"(与看板「"+d(bt.value)+"业绩」同口径;"+d(H.value.channelOrderCount.toLocaleString("zh-CN"))+" 笔)",1)]),a("span",Vs," ¥"+d(tt(La.value)),1)])],64)):(o(),c("div",Fs,[e[129]||(e[129]=a("span",{class:"yeji-order-drawer__stat-label"},[u(" 业务订单金额合计 "),a("span",{class:"yeji-order-drawer__stat-note"},"(不含履约 4·9·10,与上方业绩口径一致)")],-1)),a("span",Es," ¥"+d(tt(Tt.value)),1)])),pe.value.length>0?(o(),c("div",Bs,[e[130]||(e[130]=a("span",{class:"yeji-order-drawer__stat-label"},"本页小计",-1)),a("span",Ys,"¥"+d(tt(Da.value)),1)])):y("",!0)]),Ft.value?(o(),j($e,{key:0,modelValue:G.value,"onUpdate:modelValue":e[4]||(e[4]=l=>G.value=l),class:"yeji-order-drawer__list-tabs",onTabChange:Ga},{default:_(()=>[r(Q,{label:"合计业绩(全量订单)",name:"total"}),r(Q,{label:`渠道筛选(${bt.value})`,name:"channel"},null,8,["label"])]),_:1},8,["modelValue"])):y("",!0),K((o(),c("div",Us,[pe.value.length>0||_e.value?(o(),j(R,{key:0,data:pe.value,size:"small",stripe:"",border:"","max-height":"58vh",class:"yeji-order-drawer__table","empty-text":_e.value?"加载中…":"暂无数据"},{default:_(()=>[r(p,{type:"index",label:"#",width:"46",index:Fa}),r(p,{prop:"order_no",label:"订单号","min-width":"152","show-overflow-tooltip":""}),r(p,{label:"关联挂号","min-width":"218"},{default:_(({row:l})=>[l.linked_appointment?(o(),c("div",Hs,[a("div",Ws,[e[131]||(e[131]=a("span",{class:"yeji-order-appt-k"},"日期",-1)),u(" "+d(Ea(l.linked_appointment)),1)]),a("div",qs,[e[132]||(e[132]=a("span",{class:"yeji-order-appt-k"},"状态",-1)),u(" "+d(l.linked_appointment.status_desc||"—")+" ",1),l.linked_appointment.doctor_name?(o(),c("span",Gs," · "+d(l.linked_appointment.doctor_name),1)):y("",!0)]),a("div",Js,[e[133]||(e[133]=a("span",{class:"yeji-order-appt-k"},"类型",-1)),u(" "+d(l.linked_appointment.appointment_type_desc||"—"),1)]),a("div",Ks,[e[135]||(e[135]=a("span",{class:"yeji-order-appt-k"},"渠道",-1)),a("span",Xs,[u(d(l.linked_appointment.channel_source_desc||l.linked_appointment.channel_source||"—")+" ",1),Yt(l.linked_appointment)!==""?(o(),c("span",Qs," (字典 value "+d(Yt(l.linked_appointment))+" ) ",1)):y("",!0)]),r(O,{placement:"top",effect:"dark","show-after":200},{content:_(()=>[...e[134]||(e[134]=[a("div",{style:{"max-width":"280px","line-height":"1.65","font-size":"12px"}},[u(" 「字典 value」= 系统字典 "),a("b",null,"channels"),u(" 的 value,与业绩表里按渠道收窄时所用"),a("b",null,"挂号 channels"),u("一致;便于和进线列所选渠道对照,"),a("b",null,"不是"),u("企微 add_external_contact 单上的独立编号。 ")],-1)])]),default:_(()=>[r(k,{class:"yeji-order-appt-info","aria-label":"说明"},{default:_(()=>[r(C(E))]),_:1})]),_:1})])])):(o(),c("span",Zs,"—"))]),_:1}),r(p,{label:"金额",width:"108",align:"right"},{default:_(({row:l})=>[a("span",ei,"¥"+d(l.amount??"—"),1)]),_:1}),r(p,{prop:"recipient_name",label:"收货人",width:"96","show-overflow-tooltip":""}),r(p,{label:"履约",width:"104","show-overflow-tooltip":""},{default:_(({row:l})=>[u(d(Va(l.fulfillment_status)),1)]),_:1}),r(p,{label:"创建时间","min-width":"148"},{default:_(({row:l})=>[u(d(Ba(l.create_time)),1)]),_:1}),r(p,{prop:"doctor_name",label:"开方人",width:"88","show-overflow-tooltip":""}),r(p,{prop:"assistant_name",label:"诊单医助",width:"88","show-overflow-tooltip":""}),r(p,{prop:"creator_name",label:"创建人",width:"88","show-overflow-tooltip":""})]),_:1},8,["data","empty-text"])):y("",!0),!_e.value&&pe.value.length===0?(o(),j(P,{key:1,description:"暂无业务订单"})):y("",!0),a("div",ti,[r(Ae,{"current-page":X.value,"page-size":Ze.value,background:"",layout:"total, sizes, prev, pager, next, jumper",total:Qe.value,"page-sizes":[10,15,20,50],disabled:_e.value,"hide-on-single-page":!1,onCurrentChange:Ja,onSizeChange:Ka},null,8,["current-page","page-size","total","disabled"])])])),[[F,_e.value]])])]),_:1},8,["modelValue"]),r(ye,{modelValue:dt.value,"onUpdate:modelValue":e[6]||(e[6]=l=>dt.value=l),width:"min(680px, 94vw)","destroy-on-close":"",class:"yeji-unassigned-dialog"},{header:_(()=>[a("div",ai,[e[136]||(e[136]=a("span",{class:"yeji-unassigned-dialog__title"},"「未归属中心」业绩拆解",-1)),a("p",ni,d(Dt.value),1)])]),default:_(()=>[Oe.value?(o(),c("p",li,d(Oe.value),1)):y("",!0),K((o(),c("div",oi,[ge.value.length>0||be.value?(o(),j(R,{key:0,data:ge.value,size:"small",stripe:"",border:"","max-height":"440",class:"yeji-unassigned-dialog__table","empty-text":be.value?"加载中…":"暂无数据"},{default:_(()=>[r(p,{prop:"name",label:"诊单医助","min-width":"120","show-overflow-tooltip":""}),r(p,{label:"账号",width:"88",align:"right"},{default:_(({row:l})=>[u(d(l.admin_id>0?l.admin_id:"—"),1)]),_:1}),r(p,{label:"订单数",width:"88",align:"right"},{default:_(({row:l})=>[u(d(S(l.order_count)),1)]),_:1}),r(p,{label:"业绩金额","min-width":"112",align:"right"},{default:_(({row:l})=>[u(d(M(l.amount)),1)]),_:1})]),_:1},8,["data","empty-text"])):y("",!0),!be.value&&ge.value.length===0?(o(),j(P,{key:1,description:"暂无拆解数据"})):y("",!0)])),[[F,be.value]])]),_:1},8,["modelValue"]),r(ye,{modelValue:ct.value,"onUpdate:modelValue":e[7]||(e[7]=l=>ct.value=l),width:"min(920px, 96vw)","destroy-on-close":"",class:"yeji-leadlines-dialog"},{header:_(()=>[a("div",si,[e[137]||(e[137]=a("span",{class:"yeji-unassigned-dialog__title"},"进线数据明细",-1)),a("p",ii,d($t.value),1)])]),default:_(()=>[Ie.value?(o(),c("p",ri,d(Ie.value),1)):y("",!0),K((o(),c("div",di,[je.value.length>0||de.value?(o(),j(R,{key:0,data:je.value,size:"small",stripe:"",border:"","max-height":"440",class:"yeji-unassigned-dialog__table","empty-text":de.value?"加载中…":"暂无数据"},{default:_(()=>[r(p,{prop:"event_time_text",label:"进线时间","min-width":"156","show-overflow-tooltip":""}),r(p,{prop:"reception_admin_name",label:"接待",width:"88","show-overflow-tooltip":""}),r(p,{prop:"external_contact_name",label:"客户","min-width":"100","show-overflow-tooltip":""}),r(p,{prop:"external_userid",label:"外部联系人ID","min-width":"140","show-overflow-tooltip":""}),r(p,{prop:"user_id",label:"企微成员ID","min-width":"120","show-overflow-tooltip":""}),r(p,{prop:"state",label:"渠道参数",width:"96","show-overflow-tooltip":""})]),_:1},8,["data","empty-text"])):y("",!0),!de.value&&je.value.length===0?(o(),j(P,{key:1,description:"暂无进线明细"})):y("",!0),Te.value>0?(o(),c("div",ui,[r(Ae,{"current-page":Ve.value,"page-size":Ge.value,background:"",layout:"total, sizes, prev, pager, next, jumper",total:Te.value,"page-sizes":[10,20,50,100],disabled:de.value,"hide-on-single-page":!1,onCurrentChange:an,onSizeChange:nn},null,8,["current-page","page-size","total","disabled"])])):y("",!0)])),[[F,de.value]])]),_:1},8,["modelValue"]),r(ye,{modelValue:Je.value,"onUpdate:modelValue":e[8]||(e[8]=l=>Je.value=l),width:"min(960px, 96vw)","destroy-on-close":"",class:"yeji-leadlines-dialog"},{header:_(()=>[a("div",ci,[e[138]||(e[138]=a("span",{class:"yeji-unassigned-dialog__title"},"预约诊单 · 挂号明细",-1)),a("p",_i,d(_t.value),1)])]),default:_(()=>[xe.value?(o(),c("p",pi,d(xe.value),1)):y("",!0),K((o(),c("div",mi,[se.value.length>0||ue.value?(o(),j(R,{key:0,data:se.value,size:"small",stripe:"",border:"","max-height":"440",class:"yeji-unassigned-dialog__table","empty-text":ue.value?"加载中…":"暂无数据"},{default:_(()=>[r(p,{type:"index",label:"#",width:"46",index:ln}),r(p,{prop:"appointment_date",label:"预约日期",width:"108"}),r(p,{prop:"appointment_time",label:"时段","min-width":"96","show-overflow-tooltip":""}),r(p,{prop:"status_desc",label:"状态",width:"84"}),r(p,{prop:"appointment_type_desc",label:"类型",width:"92"}),r(p,{prop:"patient_name",label:"患者","min-width":"92","show-overflow-tooltip":""}),r(p,{prop:"patient_phone",label:"手机","min-width":"116","show-overflow-tooltip":""}),r(p,{prop:"doctor_name",label:"接诊医生",width:"92","show-overflow-tooltip":""}),r(p,{prop:"assistant_name",label:"医助",width:"88","show-overflow-tooltip":""}),r(p,{label:"诊单ID",width:"84",align:"right"},{default:_(({row:l})=>[u(d(S(l.diagnosis_id??0)),1)]),_:1}),ya.value?(o(),j(p,{key:0,prop:"channel_source",label:"渠道来源",width:"96","show-overflow-tooltip":""})):y("",!0)]),_:1},8,["data","empty-text"])):y("",!0),!ue.value&&se.value.length===0?(o(),j(P,{key:1,description:"暂无挂号记录"})):y("",!0),Ne.value>0?(o(),c("div",vi,[r(Ae,{"current-page":ce.value,"page-size":Se.value,background:"",layout:"total, sizes, prev, pager, next, jumper",total:Ne.value,"page-sizes":[10,20,50,100],disabled:ue.value,"hide-on-single-page":!1,onCurrentChange:rn,onSizeChange:dn},null,8,["current-page","page-size","total","disabled"])])):y("",!0)])),[[F,ue.value]])]),_:1},8,["modelValue"]),r(ye,{modelValue:ut.value,"onUpdate:modelValue":e[9]||(e[9]=l=>ut.value=l),width:"min(560px, 94vw)","destroy-on-close":"",class:"yeji-unassigned-dialog"},{header:_(()=>[a("div",fi,[e[139]||(e[139]=a("span",{class:"yeji-unassigned-dialog__title"},"复诊 · 医助拆解",-1)),a("p",yi,d(Lt.value),1)])]),default:_(()=>[Me.value?(o(),c("p",hi,d(Me.value),1)):y("",!0),K((o(),c("div",bi,[ke.value.length>0||we.value?(o(),j(R,{key:0,data:ke.value,size:"small",stripe:"",border:"","max-height":"440",class:"yeji-unassigned-dialog__table","empty-text":we.value?"加载中…":"暂无数据"},{default:_(()=>[r(p,{prop:"name",label:"医助","min-width":"120","show-overflow-tooltip":""}),r(p,{label:"业务订单",width:"108",align:"right"},{default:_(({row:l})=>[Number(l.order_count)>0?(o(),c("span",{key:0,class:"yeji-lead-cell--link",role:"button",tabindex:"0",onClick:b=>Gt(l),onKeydown:Jn(J(b=>Gt(l),["prevent"]),["enter"])},d(S(l.order_count))+" 笔",41,gi)):(o(),c(w,{key:1},[u(d(S(l.order_count)),1)],64))]),_:1})]),_:1},8,["data","empty-text"])):y("",!0),!we.value&&ke.value.length===0?(o(),j(P,{key:1,description:"暂无拆解数据"})):y("",!0)])),[[F,we.value]])]),_:1},8,["modelValue"])])}}}),_r=dl(ki,[["__scopeId","data-v-e3825025"]]);export{_r as default}; diff --git a/server/public/admin/index.html b/server/public/admin/index.html index c2ea1b97..e957a6ad 100644 --- a/server/public/admin/index.html +++ b/server/public/admin/index.html @@ -60,7 +60,7 @@ document.head.appendChild(link); })(); - + @@ -79,7 +79,7 @@ - + @@ -99,7 +99,7 @@ - +
diff --git a/server/sql/1.9.20260514/add_consumer_prescription_guahao_menu.sql b/server/sql/1.9.20260514/add_consumer_prescription_guahao_menu.sql new file mode 100644 index 00000000..98091490 --- /dev/null +++ b/server/sql/1.9.20260514/add_consumer_prescription_guahao_menu.sql @@ -0,0 +1,40 @@ +-- 消费者处方:挂号列表页 consumer/prescription/guahao +-- 列表接口复用 doctor.appointment/lists;编辑接口 doctor.appointment/edit(需在角色中单独勾选) +-- 执行前确认表前缀为 zyt_ + +SET @rx_pid := ( + SELECT pid FROM zyt_system_menu + WHERE type = 'C' + AND ( + component = 'consumer/prescription/index' + OR component LIKE '%consumer/prescription/index%' + ) + LIMIT 1 +); +SET @rx_pid := IFNULL(@rx_pid, 0); + +INSERT INTO zyt_system_menu ( + pid, type, name, icon, sort, perms, paths, component, + selected, params, is_cache, is_show, is_disable, create_time, update_time +) +SELECT + @rx_pid, 'C', '挂号列表', '', 47, + 'doctor.appointment/lists', 'consumer/prescription_guahao', 'consumer/prescription/guahao', + '', '', 0, 1, 0, UNIX_TIMESTAMP(), UNIX_TIMESTAMP() +FROM DUAL +WHERE @rx_pid > 0 + AND NOT EXISTS (SELECT 1 FROM zyt_system_menu WHERE paths = 'consumer/prescription_guahao'); + +SET @guahao_menu_id := (SELECT id FROM zyt_system_menu WHERE paths = 'consumer/prescription_guahao' LIMIT 1); + +INSERT INTO zyt_system_menu ( + pid, type, name, icon, sort, perms, paths, component, + selected, params, is_cache, is_show, is_disable, create_time, update_time +) +SELECT + @guahao_menu_id, 'A', '编辑挂号', '', 1, + 'doctor.appointment/edit', '', '', + '', '', 0, 1, 0, UNIX_TIMESTAMP(), UNIX_TIMESTAMP() +FROM DUAL +WHERE @guahao_menu_id IS NOT NULL + AND NOT EXISTS (SELECT 1 FROM zyt_system_menu WHERE perms = 'doctor.appointment/edit'); diff --git a/server/sql/1.9.20260514/add_prescription_order_export_menu.sql b/server/sql/1.9.20260514/add_prescription_order_export_menu.sql new file mode 100644 index 00000000..cf83ca6c --- /dev/null +++ b/server/sql/1.9.20260514/add_prescription_order_export_menu.sql @@ -0,0 +1,17 @@ +-- 处方业务订单:Excel 导出(接口 tcm.prescriptionOrder/export) +-- 执行前确认表前缀为 zyt_;若已有相同 perms 则跳过。 +-- 需在「角色权限」中为有权限的角色勾选本按钮权限。 + +SET @po_menu_id := (SELECT id FROM zyt_system_menu WHERE perms = 'tcm.prescriptionOrder/lists' LIMIT 1); + +INSERT INTO zyt_system_menu ( + pid, type, name, icon, sort, perms, paths, component, + selected, params, is_cache, is_show, is_disable, create_time, update_time +) +SELECT + @po_menu_id, 'A', '导出订单', '', 70, + 'tcm.prescriptionOrder/export', '', '', + '', '', 0, 1, 0, UNIX_TIMESTAMP(), UNIX_TIMESTAMP() +FROM DUAL +WHERE @po_menu_id IS NOT NULL + AND NOT EXISTS (SELECT 1 FROM zyt_system_menu WHERE perms = 'tcm.prescriptionOrder/export');