diff --git a/TUICallKit-Vue3/App.vue b/TUICallKit-Vue3/App.vue
index 73f8e7e9..c58b9fcc 100644
--- a/TUICallKit-Vue3/App.vue
+++ b/TUICallKit-Vue3/App.vue
@@ -15,7 +15,6 @@ const globalData = {
let avatarUrl = ref(""); // 声明为响应式变量
uni.CallManager = new CallManager();
onLaunch(() => {
-
uni.login({
provider: 'weixin',
success: function (loginRes) {
diff --git a/TUICallKit-Vue3/TUIKit/pages/chat/chat.vue b/TUICallKit-Vue3/TUIKit/pages/chat/chat.vue
index f94a6da7..5d510e11 100644
--- a/TUICallKit-Vue3/TUIKit/pages/chat/chat.vue
+++ b/TUICallKit-Vue3/TUIKit/pages/chat/chat.vue
@@ -241,6 +241,8 @@
import groupPlugin from '@tencentcloud/lite-chat/plugins/group';
import * as GenerateTestUserSig from "@/debug/GenerateTestUserSig-es.js";
import { TUICallKitAPI } from '@/TUICallKit/src/TUICallService/index';
+import { TUIStore } from '@/TUICallKit/src/TUICallService/CallService/index';
+import { StoreName, NAME, CallStatus } from '@/TUICallKit/src/TUICallService/const/index';
// CallManager 在 App.vue 已挂载到 uni.CallManager,勿在此重复 new,否则会丢失通话状态
const { proxy } = getCurrentInstance()
const messages = ref([]);
@@ -271,6 +273,10 @@ const { proxy } = getCurrentInstance()
let targetUserID = '';
let currentUserID = ''; // 当前登录用户ID
let scrollTimer = null; // 滚动定时器
+ /** 微信小程序:从系统后台回前台时刷新 IM/TUICall,避免无法接通视频 */
+ let unsubscribeWxAppShow = null;
+ let allowChatForegroundRelogin = false;
+ let foregroundReloginTimer = null;
const CONFIRMATION_MESSAGE = `我已确认以下信息:
1、本人确认已在线下确诊;
@@ -730,6 +736,22 @@ const { proxy } = getCurrentInstance()
uni.$on('TUICall:callEnd', onVideoCallEnd);
//uni.showToast({ title: '聊天已就绪', icon: 'success' });
+ // #ifdef MP-WEIXIN
+ // 系统级前后台切换时页面 onShow 不一定等价于「回前台」,用 wx.onAppShow 刷新音视频信令链路
+ if (typeof wx !== 'undefined' && wx.onAppShow) {
+ unsubscribeWxAppShow = wx.onAppShow(() => {
+ if (!allowChatForegroundRelogin) return;
+ const pages = getCurrentPages();
+ const top = pages[pages.length - 1];
+ if (!(top?.route || '').includes('pages/chat/chat')) return;
+ reloginAfterMiniProgramForeground();
+ });
+ }
+ setTimeout(() => {
+ allowChatForegroundRelogin = true;
+ }, 800);
+ // #endif
+
// 监听键盘高度变化
uni.onKeyboardHeightChange((res) => {
keyboardHeight.value = res.height;
@@ -765,6 +787,17 @@ const { proxy } = getCurrentInstance()
});
onUnload(() => {
+ allowChatForegroundRelogin = false;
+ // #ifdef MP-WEIXIN
+ if (typeof unsubscribeWxAppShow === 'function') {
+ unsubscribeWxAppShow();
+ unsubscribeWxAppShow = null;
+ }
+ // #endif
+ if (foregroundReloginTimer) {
+ clearTimeout(foregroundReloginTimer);
+ foregroundReloginTimer = null;
+ }
uni.$off('TUICall:callStart', onVideoCallStart);
uni.$off('TUICall:callEnd', onVideoCallEnd);
stopDoctorWaitTimer();
@@ -1039,6 +1072,26 @@ const { proxy } = getCurrentInstance()
chat.on(TencentCloudChat.EVENT.MESSAGE_RECEIVED, onMessageReceived);
await initTUICallKitWithTim(chat);
}
+
+ /** 小程序切后台再回前台:拉取新 UserSig 并重登 IM、重绑 TUICallEngine(与发消息失败时的 relogin 一致) */
+ async function reloginAfterMiniProgramForeground() {
+ if (!chat || !currentUserID) return;
+ if (foregroundReloginTimer) clearTimeout(foregroundReloginTimer);
+ foregroundReloginTimer = setTimeout(async () => {
+ foregroundReloginTimer = null;
+ // reloginIMChat 会先 IM logout 再 initTUICallKit;若非 IDLE,destroyed 会失败且 IM 已断开,故仅 IDLE 时刷新
+ try {
+ const status = TUIStore?.getData?.(StoreName.CALL, NAME.CALL_STATUS);
+ if (status != null && status !== CallStatus.IDLE) {
+ console.warn('前台恢复: 通话未结束,跳过 IM/TUICall 重绑');
+ return;
+ }
+ await reloginIMChat();
+ } catch (e) {
+ console.warn('前台恢复后 IM/TUICall 刷新失败:', e);
+ }
+ }, 400);
+ }
async function sendTextMessage() {
if (!inputText.value.trim()) return;
@@ -1353,7 +1406,7 @@ const { proxy } = getCurrentInstance()
hideDoctorCardByCall();
}
- function onVideoCallEnd() {
+ async function onVideoCallEnd() {
hideDoctorCardByCall();
uni.showToast({ title: '视频通话已结束', icon: 'success' });
}
diff --git a/admin/src/api/tcm.ts b/admin/src/api/tcm.ts
index 9e6de6e7..bdd7d088 100644
--- a/admin/src/api/tcm.ts
+++ b/admin/src/api/tcm.ts
@@ -50,6 +50,10 @@ export function tcmDiagnosisAssign(params: any) {
return request.post({ url: '/tcm.diagnosis/assign', params })
}
+export function tcmDiagnosisAssignLogList(params: { id: number }) {
+ return request.get({ url: '/tcm.diagnosis/assignLogList', params })
+}
+
// 获取医助列表
export function getAssistants() {
return request.get({ url: '/tcm.diagnosis/getAssistants' })
@@ -224,6 +228,11 @@ export function prescriptionVoid(params: { id: number }) {
return request.post({ url: '/tcm.prescription/void', params })
}
+/** 处方审核:action approve | reject(驳回同时作废处方) */
+export function prescriptionAudit(params: { id: number; action: 'approve' | 'reject'; remark?: string }) {
+ return request.post({ url: '/tcm.prescription/audit', params })
+}
+
// ========== 处方库 ==========
// 处方库列表
diff --git a/admin/src/components/chat-dialog/ChatMessageItem.vue b/admin/src/components/chat-dialog/ChatMessageItem.vue
new file mode 100644
index 00000000..ac44d342
--- /dev/null
+++ b/admin/src/components/chat-dialog/ChatMessageItem.vue
@@ -0,0 +1,109 @@
+
+
{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) {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 p;if(F.value=s,h.value=!0,O.value="basic",await he(),s==="edit"&&e){const b=await ge({id:e});o.value=b}else if(s==="add"){const b=ul();o.value.assistant_id=((p=b.userInfo)==null?void 0:p.id)||""}},Ce=async()=>{var s;await((s=Y.value)==null?void 0:s.validate()),$.value=!0;try{if(F.value==="add"){const e=await dl(o.value);if(e&&e.id){F.value="edit",o.value.id=e.id;try{const p=await ge({id:e.id});o.value.patient_id=p.patient_id}catch(p){console.error("获取详情失败:",p)}}}else await sl(o.value);ce("success")}catch(e){console.error("提交失败:",e)}finally{$.value=!1}},Pe=s=>{var e;(e=G.value)==null||e.openById(s.id)},Ne=()=>{var e;const s={id:o.value.id,diagnosis_id:o.value.id,appointment_id:0,patient_name:o.value.patient_name,patient_phone:o.value.phone,patient_gender:o.value.gender,patient_age:o.value.age,case_record:JSON.parse(JSON.stringify(o.value))};(e=G.value)==null||e.open(s)},pe=()=>{var s;(s=Y.value)==null||s.resetFields(),o.value={id:"",patient_id:"",patient_name:"",id_card:"",phone:"",gender:1,diabetes_type:"",marital_status:void 0,height:void 0,weight:void 0,region:"",systolic_pressure:void 0,diastolic_pressure:void 0,fasting_blood_sugar:void 0,diabetes_discovery_year:void 0,local_hospital_diagnosis:[],local_hospital_name:"",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,tongue_images:[],report_files:[],symptoms:"",tongue_coating:"",pulse:"",treatment_principle:"",prescription:"",doctor_advice:"",remark:"",current_medications:"",status:1,external_userid:""},h.value=!1};return ve({open:Re,refreshCaseList:()=>{var s,e;return(e=(s=z.value)==null?void 0:s.refresh)==null?void 0:e.call(s)}}),(s,e)=>{const p=qe,b=Ge,n=ze,u=$e,f=Ye,I=Je,U=He,E=Xe,D=je,C=Qe,S=We,y=Ze,k=Ke,w=el,P=ol,T=Me,L=Fe,M=ll,me=tl,Be=Ae,_e=al,Se=Le,Te=kl("mode");return d(),g("div",Ul,[l(Se,{modelValue:i(h),"onUpdate:modelValue":e[45]||(e[45]=a=>ye(h)?h.value=a:null),title:i(xe),size:"60%","before-close":pe,"z-index":1500,modal:!0,class:"diagnosis-drawer"},{footer:t(()=>[B("div",Cl,[l(_e,{onClick:pe},{default:t(()=>[...e[76]||(e[76]=[r("取消",-1)])]),_:1}),i(O)==="basic"?(d(),m(_e,{key:0,type:"primary",onClick:Ce,loading:i($)},{default:t(()=>[...e[77]||(e[77]=[r(" 确定 ",-1)])]),_:1},8,["loading"])):J("",!0)])]),default:t(()=>[l(Be,{modelValue:i(O),"onUpdate:modelValue":e[43]||(e[43]=a=>ye(O)?O.value=a:null),class:"diagnosis-tabs"},{default:t(()=>[l(L,{label:"病历",name:"basic"},{default:t(()=>[l(T,{ref_key:"formRef",ref:Y,model:i(o),rules:Ue,"label-width":"160px"},{default:t(()=>[l(p,{"content-position":"left"},{default:t(()=>[...e[46]||(e[46]=[r("基本信息",-1)])]),_:1}),l(n,{label:"诊单ID"},{default:t(()=>[l(b,{modelValue:i(o).patient_id,"onUpdate:modelValue":e[0]||(e[0]=a=>i(o).patient_id=a),disabled:"",placeholder:"系统自动生成"},null,8,["modelValue"])]),_:1}),l(f,{gutter:20},{default:t(()=>[l(u,{span:12},{default:t(()=>[l(n,{label:"姓名",prop:"patient_name"},{default:t(()=>[l(b,{modelValue:i(o).patient_name,"onUpdate:modelValue":e[1]||(e[1]=a=>i(o).patient_name=a),placeholder:"请输入姓名"},null,8,["modelValue"])]),_:1})]),_:1}),l(u,{span:12},{default:t(()=>[l(n,{label:"身份证号",prop:"id_card"},{default:t(()=>[l(b,{modelValue:i(o).id_card,"onUpdate:modelValue":e[2]||(e[2]=a=>i(o).id_card=a),placeholder:"请输入身份证号",maxlength:"18",onBlur:De},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),l(f,{gutter:20},{default:t(()=>[l(u,{span:12},{default:t(()=>[l(n,{label:"手机号",prop:"phone"},{default:t(()=>[l(b,{modelValue:i(o).phone,"onUpdate:modelValue":e[3]||(e[3]=a=>i(o).phone=a),placeholder:"请输入手机号",maxlength:"11",onBlur:Ie},null,8,["modelValue"])]),_:1})]),_:1}),l(u,{span:12},{default:t(()=>[l(n,{label:"性别",prop:"gender"},{default:t(()=>[l(U,{modelValue:i(o).gender,"onUpdate:modelValue":e[4]||(e[4]=a=>i(o).gender=a)},{default:t(()=>[l(I,{label:1},{default:t(()=>[...e[47]||(e[47]=[r("男",-1)])]),_:1}),l(I,{label:0},{default:t(()=>[...e[48]||(e[48]=[r("女",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),l(f,{gutter:20},{default:t(()=>[l(u,{span:12},{default:t(()=>[l(n,{label:"年龄",prop:"age"},{default:t(()=>[l(E,{modelValue:i(o).age,"onUpdate:modelValue":e[5]||(e[5]=a=>i(o).age=a),min:0,max:150,placeholder:"请输入年龄",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),l(p,{"content-position":"left"},{default:t(()=>[...e[49]||(e[49]=[r("生命体征",-1)])]),_:1}),l(f,{gutter:20},{default:t(()=>[l(u,{span:8},{default:t(()=>[l(n,{label:"婚姻状态",prop:"marital_status"},{default:t(()=>[l(C,{modelValue:i(o).marital_status,"onUpdate:modelValue":e[6]||(e[6]=a=>i(o).marital_status=a),placeholder:"请选择婚姻状态",class:"w-full","popper-options":{strategy:"fixed"},"popper-class":"high-z-index"},{default:t(()=>[l(D,{label:"未婚",value:0}),l(D,{label:"已婚",value:1}),l(D,{label:"离异",value:2})]),_:1},8,["modelValue"])]),_:1})]),_:1}),l(u,{span:8},{default:t(()=>[l(n,{label:"就诊人身高(cm)",prop:"height"},{default:t(()=>[l(E,{modelValue:i(o).height,"onUpdate:modelValue":e[7]||(e[7]=a=>i(o).height=a),min:0,max:300,placeholder:"请输入身高",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1}),l(u,{span:8},{default:t(()=>[l(n,{label:"体重(kg)",prop:"weight"},{default:t(()=>[l(E,{modelValue:i(o).weight,"onUpdate:modelValue":e[8]||(e[8]=a=>i(o).weight=a),min:0,max:500,step:.1,placeholder:"请输入体重",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),l(f,{gutter:20},{default:t(()=>[l(u,{span:8},{default:t(()=>[l(n,{label:"地区",prop:"region"},{default:t(()=>[l(b,{modelValue:i(o).region,"onUpdate:modelValue":e[9]||(e[9]=a=>i(o).region=a),placeholder:"请输入地区"},null,8,["modelValue"])]),_:1})]),_:1}),l(u,{span:8},{default:t(()=>[l(n,{label:"就诊人血压(高压mmHg)",prop:"systolic_pressure"},{default:t(()=>[l(E,{modelValue:i(o).systolic_pressure,"onUpdate:modelValue":e[10]||(e[10]=a=>i(o).systolic_pressure=a),min:0,max:250,placeholder:"请输入高压",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1}),l(u,{span:8},{default:t(()=>[l(n,{label:"就诊人血压(低压mmHg)",prop:"diastolic_pressure"},{default:t(()=>[l(E,{modelValue:i(o).diastolic_pressure,"onUpdate:modelValue":e[11]||(e[11]=a=>i(o).diastolic_pressure=a),min:0,max:150,placeholder:"请输入低压",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),l(f,{gutter:20},{default:t(()=>[l(u,{span:8},{default:t(()=>[l(n,{label:"空腹血糖(mmol/L)",prop:"fasting_blood_sugar"},{default:t(()=>[l(E,{modelValue:i(o).fasting_blood_sugar,"onUpdate:modelValue":e[12]||(e[12]=a=>i(o).fasting_blood_sugar=a),min:0,max:50,step:.1,placeholder:"请输入空腹血糖",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),l(f,{gutter:20},{default:t(()=>[l(u,{span:12},{default:t(()=>[l(n,{label:"诊断类型",prop:"diagnosis_type"},{default:t(()=>[l(C,{modelValue:i(o).diagnosis_type,"onUpdate:modelValue":e[13]||(e[13]=a=>i(o).diagnosis_type=a),placeholder:"请选择诊断类型",class:"w-full","popper-options":{strategy:"fixed"},"popper-class":"high-z-index"},{default:t(()=>[(d(!0),g(V,null,c(i(Q),a=>(d(),m(D,{key:a.value,label:a.name,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),l(f,{gutter:20},{default:t(()=>[l(u,{span:12},{default:t(()=>[l(n,{label:"状态",prop:"status"},{default:t(()=>[l(U,{modelValue:i(o).status,"onUpdate:modelValue":e[14]||(e[14]=a=>i(o).status=a)},{default:t(()=>[l(I,{label:1},{default:t(()=>[...e[50]||(e[50]=[r("启用",-1)])]),_:1}),l(I,{label:0},{default:t(()=>[...e[51]||(e[51]=[r("禁用",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),l(f,{gutter:20},{default:t(()=>[l(u,{span:12},{default:t(()=>[l(n,{label:"在用药物",prop:"current_medications"},{default:t(()=>[l(b,{modelValue:i(o).current_medications,"onUpdate:modelValue":e[15]||(e[15]=a=>i(o).current_medications=a),type:"textarea",rows:3,placeholder:"请填写患者当前正在使用的药物(如降压药、降糖药等),多种请换行或顿号分隔",maxlength:"2000","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),l(p,{"content-position":"left"},{default:t(()=>[...e[52]||(e[52]=[r("主诉",-1)])]),_:1}),l(f,{gutter:20},{default:t(()=>[l(u,{span:12},{default:t(()=>[l(n,{label:"当地医院诊断日期",prop:"diagnosis_date"},{default:t(()=>[l(S,{modelValue:i(o).diagnosis_date,"onUpdate:modelValue":e[16]||(e[16]=a=>i(o).diagnosis_date=a),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}),l(u,{span:12},{default:t(()=>[l(n,{label:"发现糖尿病患病史",prop:"diabetes_discovery_year"},{append:t(()=>[...e[53]||(e[53]=[r("年",-1)])]),default:t(()=>[l(E,{modelValue:i(o).diabetes_discovery_year,"onUpdate:modelValue":e[17]||(e[17]=a=>i(o).diabetes_discovery_year=a),min:0,max:100,placeholder:"请输入年数",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),l(n,{label:"当地医院诊断结果",prop:"local_hospital_diagnosis",class:"checkbox-form-item"},{default:t(()=>[l(k,{modelValue:i(o).local_hospital_diagnosis,"onUpdate:modelValue":e[18]||(e[18]=a=>i(o).local_hospital_diagnosis=a)},{default:t(()=>[l(y,{label:"糖尿病"},{default:t(()=>[...e[54]||(e[54]=[r("糖尿病",-1)])]),_:1}),l(y,{label:"消渴病"},{default:t(()=>[...e[55]||(e[55]=[r("消渴病",-1)])]),_:1}),l(y,{label:"糖尿病前期"},{default:t(()=>[...e[56]||(e[56]=[r("糖尿病前期",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),l(n,{label:"当地就诊医院名称",prop:"local_hospital_name"},{default:t(()=>[l(b,{modelValue:i(o).local_hospital_name,"onUpdate:modelValue":e[19]||(e[19]=a=>i(o).local_hospital_name=a),placeholder:"请输入当地就诊医院名称(不能填写当地、本地、互联网等关键词)"},null,8,["modelValue"])]),_:1}),l(p,{"content-position":"left"},{default:t(()=>[...e[57]||(e[57]=[r("现病史",-1)])]),_:1}),l(f,{gutter:20},{default:t(()=>[l(n,{label:"口腔感觉",class:"checkbox-form-item"},{default:t(()=>[l(k,{modelValue:i(o).appetite,"onUpdate:modelValue":e[20]||(e[20]=a=>i(o).appetite=a)},{default:t(()=>[(d(!0),g(V,null,c(i(W),a=>(d(),m(y,{key:a.value,label:a.value},{default:t(()=>[r(x(a.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1}),l(f,{gutter:20},{default:t(()=>[l(u,{span:20},{default:t(()=>[l(n,{label:"每日饮水量",class:"compact-form-item"},{default:t(()=>[l(U,{modelValue:i(o).water_intake,"onUpdate:modelValue":e[21]||(e[21]=a=>i(o).water_intake=a)},{default:t(()=>[(d(!0),g(V,null,c(i(K),a=>(d(),m(w,{key:a.value,label:a.value},{default:t(()=>[r(x(a.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),l(f,{gutter:20},{default:t(()=>[l(u,{span:12},{default:t(()=>[l(n,{label:"近一个月体重变化",class:"compact-form-item"},{default:t(()=>[l(U,{modelValue:i(o).weight_change,"onUpdate:modelValue":e[22]||(e[22]=a=>i(o).weight_change=a)},{default:t(()=>[(d(!0),g(V,null,c(i(ee),a=>(d(),m(w,{key:a.value,label:a.value},{default:t(()=>[r(x(a.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),l(f,{gutter:20},{default:t(()=>[l(u,{span:12},{default:t(()=>[l(n,{label:"脂肪肝程度",class:"compact-form-item"},{default:t(()=>[l(U,{modelValue:i(o).fatty_liver_degree,"onUpdate:modelValue":e[23]||(e[23]=a=>i(o).fatty_liver_degree=a)},{default:t(()=>[(d(!0),g(V,null,c(i(ue),a=>(d(),m(w,{key:a.value,label:a.value},{default:t(()=>[r(x(a.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),l(n,{label:"饮食情况",class:"checkbox-form-item"},{default:t(()=>[l(k,{modelValue:i(o).diet_condition,"onUpdate:modelValue":e[24]||(e[24]=a=>i(o).diet_condition=a)},{default:t(()=>[(d(!0),g(V,null,c(i(Z),a=>(d(),m(y,{key:a.value,label:a.value},{default:t(()=>[r(x(a.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(n,{label:"肢体感觉",class:"checkbox-form-item"},{default:t(()=>[l(k,{modelValue:i(o).body_feeling,"onUpdate:modelValue":e[25]||(e[25]=a=>i(o).body_feeling=a)},{default:t(()=>[(d(!0),g(V,null,c(i(le),a=>(d(),m(y,{key:a.value,label:a.value},{default:t(()=>[r(x(a.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(n,{label:"睡眠情况",class:"checkbox-form-item"},{default:t(()=>[l(k,{modelValue:i(o).sleep_condition,"onUpdate:modelValue":e[26]||(e[26]=a=>i(o).sleep_condition=a)},{default:t(()=>[(d(!0),g(V,null,c(i(te),a=>(d(),m(y,{key:a.value,label:a.value},{default:t(()=>[r(x(a.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(n,{label:"眼睛情况",class:"checkbox-form-item"},{default:t(()=>[l(k,{modelValue:i(o).eye_condition,"onUpdate:modelValue":e[27]||(e[27]=a=>i(o).eye_condition=a)},{default:t(()=>[(d(!0),g(V,null,c(i(ae),a=>(d(),m(y,{key:a.value,label:a.value},{default:t(()=>[r(x(a.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(n,{label:"头部感觉",class:"checkbox-form-item"},{default:t(()=>[l(k,{modelValue:i(o).head_feeling,"onUpdate:modelValue":e[28]||(e[28]=a=>i(o).head_feeling=a)},{default:t(()=>[(d(!0),g(V,null,c(i(oe),a=>(d(),m(y,{key:a.value,label:a.value},{default:t(()=>[r(x(a.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(n,{label:"出汗情况",class:"checkbox-form-item"},{default:t(()=>[l(k,{modelValue:i(o).sweat_condition,"onUpdate:modelValue":e[29]||(e[29]=a=>i(o).sweat_condition=a)},{default:t(()=>[(d(!0),g(V,null,c(i(ie),a=>(d(),m(y,{key:a.value,label:a.value},{default:t(()=>[r(x(a.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(n,{label:"皮肤情况",class:"checkbox-form-item"},{default:t(()=>[l(k,{modelValue:i(o).skin_condition,"onUpdate:modelValue":e[30]||(e[30]=a=>i(o).skin_condition=a)},{default:t(()=>[(d(!0),g(V,null,c(i(ne),a=>(d(),m(y,{key:a.value,label:a.value},{default:t(()=>[r(x(a.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(n,{label:"小便情况",class:"checkbox-form-item"},{default:t(()=>[l(k,{modelValue:i(o).urine_condition,"onUpdate:modelValue":e[31]||(e[31]=a=>i(o).urine_condition=a)},{default:t(()=>[(d(!0),g(V,null,c(i(de),a=>(d(),m(y,{key:a.value,label:a.value},{default:t(()=>[r(x(a.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(n,{label:"大便情况",class:"checkbox-form-item"},{default:t(()=>[l(k,{modelValue:i(o).stool_condition,"onUpdate:modelValue":e[32]||(e[32]=a=>i(o).stool_condition=a)},{default:t(()=>[(d(!0),g(V,null,c(i(se),a=>(d(),m(y,{key:a.value,label:a.value},{default:t(()=>[r(x(a.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(n,{label:"腰肾情况",class:"checkbox-form-item"},{default:t(()=>[l(k,{modelValue:i(o).kidney_condition,"onUpdate:modelValue":e[33]||(e[33]=a=>i(o).kidney_condition=a)},{default:t(()=>[(d(!0),g(V,null,c(i(re),a=>(d(),m(y,{key:a.value,label:a.value},{default:t(()=>[r(x(a.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(n,{label:"其他补充",prop:"symptoms"},{default:t(()=>[l(b,{modelValue:i(o).symptoms,"onUpdate:modelValue":e[34]||(e[34]=a=>i(o).symptoms=a),type:"textarea",rows:3,placeholder:"请输入症状"},null,8,["modelValue"])]),_:1}),l(p,{"content-position":"left"},{default:t(()=>[...e[58]||(e[58]=[r("既往史",-1)])]),_:1}),l(n,{label:"",prop:"past_history",class:"checkbox-form-item"},{default:t(()=>[l(k,{modelValue:i(o).past_history,"onUpdate:modelValue":e[35]||(e[35]=a=>i(o).past_history=a)},{default:t(()=>[(d(!0),g(V,null,c(i(j),a=>(d(),m(y,{key:a.value,label:a.value},{default:t(()=>[r(x(a.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(p,{"content-position":"left"},{default:t(()=>[...e[59]||(e[59]=[r("其他病史",-1)])]),_:1}),l(f,{gutter:20},{default:t(()=>[l(u,{span:8},{default:t(()=>[l(n,{label:"外伤史"},{default:t(()=>[l(U,{modelValue:i(o).trauma_history,"onUpdate:modelValue":e[36]||(e[36]=a=>i(o).trauma_history=a)},{default:t(()=>[l(w,{label:1},{default:t(()=>[...e[60]||(e[60]=[r("有",-1)])]),_:1}),l(w,{label:0},{default:t(()=>[...e[61]||(e[61]=[r("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1}),l(u,{span:8},{default:t(()=>[l(n,{label:"手术史"},{default:t(()=>[l(U,{modelValue:i(o).surgery_history,"onUpdate:modelValue":e[37]||(e[37]=a=>i(o).surgery_history=a)},{default:t(()=>[l(w,{label:1},{default:t(()=>[...e[62]||(e[62]=[r("有",-1)])]),_:1}),l(w,{label:0},{default:t(()=>[...e[63]||(e[63]=[r("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1}),l(u,{span:8},{default:t(()=>[l(n,{label:"过敏史"},{default:t(()=>[l(U,{modelValue:i(o).allergy_history,"onUpdate:modelValue":e[38]||(e[38]=a=>i(o).allergy_history=a)},{default:t(()=>[l(w,{label:1},{default:t(()=>[...e[64]||(e[64]=[r("有",-1)])]),_:1}),l(w,{label:0},{default:t(()=>[...e[65]||(e[65]=[r("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),l(f,{gutter:20},{default:t(()=>[l(u,{span:12},{default:t(()=>[l(n,{label:"家族病史"},{default:t(()=>[l(U,{modelValue:i(o).family_history,"onUpdate:modelValue":e[39]||(e[39]=a=>i(o).family_history=a)},{default:t(()=>[l(w,{label:1},{default:t(()=>[...e[66]||(e[66]=[r("有",-1)])]),_:1}),l(w,{label:0},{default:t(()=>[...e[67]||(e[67]=[r("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1}),l(u,{span:12},{default:t(()=>[l(n,{label:"妊娠哺乳史"},{default:t(()=>[l(U,{modelValue:i(o).pregnancy_history,"onUpdate:modelValue":e[40]||(e[40]=a=>i(o).pregnancy_history=a)},{default:t(()=>[l(w,{label:1},{default:t(()=>[...e[68]||(e[68]=[r("有",-1)])]),_:1}),l(w,{label:0},{default:t(()=>[...e[69]||(e[69]=[r("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),l(p,{"content-position":"left"},{default:t(()=>[...e[70]||(e[70]=[r("诊断信息",-1)])]),_:1}),l(n,{label:"舌苔照片"},{default:t(()=>[l(P,{modelValue:i(o).tongue_images,"onUpdate:modelValue":e[41]||(e[41]=a=>i(o).tongue_images=a),limit:9,type:"image","exclude-domain":!0},null,8,["modelValue"]),e[71]||(e[71]=B("div",{class:"form-tips"},"支持上传多张舌苔照片,最多9张",-1))]),_:1}),l(n,{label:"检查报告"},{default:t(()=>[l(P,{modelValue:i(o).report_files,"onUpdate:modelValue":e[42]||(e[42]=a=>i(o).report_files=a),limit:10,type:"image","exclude-domain":!0},null,8,["modelValue"]),e[72]||(e[72]=B("div",{class:"form-tips"},"支持上传检查报告、病历、彩超等影像科检查图片,最多10个文件",-1))]),_:1}),l(n,{label:"病史补充",prop:"remark"},{default:t(()=>[wl(l(b,{type:"ltextarea",rows:2,placeholder:"请输入病史补充"},null,512),[[Te,i(o).remark]])]),_:1})]),_:1},8,["model"])]),_:1}),l(L,{label:"血糖血压记录",name:"blood",disabled:!i(o).id},{default:t(()=>[i(o).id?(d(),m(ml,{key:0,"diagnosis-id":Number(i(o).id),"patient-id":Number(i(o).patient_id)},null,8,["diagnosis-id","patient-id"])):(d(),m(M,{key:1,description:"请先保存诊单后再添加血糖血压记录"}))]),_:1},8,["disabled"]),l(L,{label:"处方",name:"bingli",disabled:!i(o).id},{default:t(()=>[i(o).id?(d(),g("div",El,[B("div",Ol,[l(p,{"content-position":"left"},{default:t(()=>[...e[73]||(e[73]=[r("诊断信息",-1)])]),_:1}),l(f,{gutter:24},{default:t(()=>[l(u,{span:12},{default:t(()=>{var a;return[e[74]||(e[74]=B("div",{class:"bingli-label"},"舌苔照片",-1)),(a=i(o).tongue_images)!=null&&a.length?(d(),g("div",hl,[(d(!0),g(V,null,c(i(o).tongue_images,(R,N)=>(d(),m(me,{key:N,src:A(R),"preview-src-list":(i(o).tongue_images||[]).map(H=>A(H)),class:"bingli-img",fit:"cover"},null,8,["src","preview-src-list"]))),128))])):(d(),g("span",Il,"暂无"))]}),_:1}),l(u,{span:12},{default:t(()=>{var a;return[e[75]||(e[75]=B("div",{class:"bingli-label"},"检查报告",-1)),(a=i(o).report_files)!=null&&a.length?(d(),g("div",Dl,[(d(!0),g(V,null,c(i(o).report_files,(R,N)=>(d(),m(me,{key:N,src:A(R),"preview-src-list":(i(o).report_files||[]).map(H=>A(H)),class:"bingli-img",fit:"cover"},null,8,["src","preview-src-list"]))),128))])):(d(),g("span",Rl,"暂无"))]}),_:1})]),_:1})]),l(_l,{ref_key:"caseRecordListRef",ref:z,"diagnosis-id":Number(i(o).id),onView:Pe,onOpenPrescription:Ne},null,8,["diagnosis-id"])])):(d(),m(M,{key:1,description:"请先保存诊单,开方后病历将在此显示"}))]),_:1},8,["disabled"]),i(q)(["tcm.diagnosis/huifang"])?(d(),m(L,{key:0,label:"视频录制回放记录",name:"visit",disabled:!i(o).id,lazy:""},{default:t(()=>[i(o).id?(d(),m(fl,{key:0,ref_key:"callRecordPanelRef",ref:we,"diagnosis-id":Number(i(o).id)},null,8,["diagnosis-id"])):(d(),m(M,{key:1,description:"请先保存诊单后再查看视频录制回放记录"}))]),_:1},8,["disabled"])):J("",!0),i(q)(["tcm.diagnosis/chat"])?(d(),m(L,{key:1,label:"聊天记录",name:"chat",disabled:!i(o).id,lazy:""},{default:t(()=>[i(o).id?(d(),m(gl,{key:0,"diagnosis-id":Number(i(o).id)},null,8,["diagnosis-id"])):(d(),m(M,{key:1,description:"请先保存诊单后再查看聊天记录"}))]),_:1},8,["disabled"])):J("",!0)]),_:1},8,["modelValue"]),l(bl,{ref_key:"prescriptionRef",ref:G,onSuccess:e[44]||(e[44]=a=>{var R,N;return(N=(R=i(z))==null?void 0:R.refresh)==null?void 0:N.call(R)})},null,512)]),_:1},8,["modelValue","title"])])}}}),$t=pl(Pl,[["__scopeId","data-v-b2f2bc50"]]);export{$t as default};
diff --git a/server/public/admin/assets/edit-BP3SUfzx.js b/server/public/admin/assets/edit-D8f3l8Vd.js
similarity index 72%
rename from server/public/admin/assets/edit-BP3SUfzx.js
rename to server/public/admin/assets/edit-D8f3l8Vd.js
index 0b7af8c5..aac40805 100644
--- a/server/public/admin/assets/edit-BP3SUfzx.js
+++ b/server/public/admin/assets/edit-D8f3l8Vd.js
@@ -1 +1 @@
-import{_ as o}from"./edit.vue_vue_type_script_setup_true_lang-CI95db1F.js";import"./element-plus-D9NzL5HE.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C0pg79pw.js";import"./@vue/reactivity-BIbyPIZJ.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-BZWa1PtL.js";import"./lodash-es-BADexyn7.js";import"./@popperjs/core-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-D-TwGFqw.js";import"./index-D54sWaXv.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";import"./index-epy6JK8p.js";export{o as default};
+import{_ as o}from"./edit.vue_vue_type_script_setup_true_lang-KJebBlnn.js";import"./element-plus-8nG574Ul.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C0pg79pw.js";import"./@vue/reactivity-BIbyPIZJ.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-DLqm99Vy.js";import"./lodash-es-BADexyn7.js";import"./@popperjs/core-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-D7eNYVuL.js";import"./index-C2ep5Cm2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";import"./index-D0lFf8Hm.js";export{o as default};
diff --git a/server/public/admin/assets/edit-DCb9lqL7.js b/server/public/admin/assets/edit-DCb9lqL7.js
deleted file mode 100644
index df084b24..00000000
--- a/server/public/admin/assets/edit-DCb9lqL7.js
+++ /dev/null
@@ -1 +0,0 @@
-import{e as qe,m as Se,l as ze,D as Fe,R as Le,B as Te,C as Me,V as Ye,W as $e,G as Ge,I as Ae,h as He,P as Je,Q as Xe,X as Qe,a5 as je,aa as We,F as Ke,T as Ze,v as el,i as ll,E as _e}from"./element-plus-D9NzL5HE.js";import{_ as tl}from"./picker-DnoOFo57.js";import{m as al,n as ol,t as fe,o as il,q as dl}from"./tcm-9dTydv5E.js";import{b as nl,u as sl,l as v,a as rl}from"./index-D54sWaXv.js";import{h as M}from"./perm-XrsFgwn6.js";import ul from"./BloodRecordList-TfbgT7OE.js";import pl from"./CaseRecordList-fH0NvT1s.js";import ml from"./CallRecordPanel-CVdwR5lH.js";import _l from"./ImChatRecordPanel-BJbHCDAO.js";import fl from"./index-DRN-bMfN.js";import{f as gl,w as bl,as as yl,ak as n,I as g,a as l,aN as t,O as r,F as V,ap as c,G as m,J as N,aP as vl,H as J,A as Vl}from"./@vue/runtime-core-C0pg79pw.js";import{y as i,a as ge,o as _}from"./@vue/reactivity-BIbyPIZJ.js";import{Q as x}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-BZWa1PtL.js";import"./lodash-es-BADexyn7.js";import"./@popperjs/core-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-epy6JK8p.js";import"./index-l9o66tt_.js";import"./index.vue_vue_type_script_setup_true_lang-DNZxpZG_.js";import"./index-wQPX7dBB.js";import"./index-CppXRPrX.js";import"./index.vue_vue_type_script_setup_true_lang-DUX2T7zX.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./file-BtSeeESa.js";import"./usePaging-B_C_SZ2Z.js";import"./vuedraggable-C3E4D3Yv.js";import"./vue-tI-HfQaQ.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-CYz6RFzi.js";import"./pinia-Ba_jX6-d.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-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";import"./index-15KGDuZB.js";import"./medicine-KV4C6nBq.js";import"./html2canvas-QH1iLAAe.js";const cl={class:"edit-drawer"},kl={key:0,class:"bingli-tab-content"},wl={class:"bingli-diagnosis-section"},xl={key:0,class:"bingli-images"},Ul={key:1,class:"bingli-empty"},El={key:0,class:"bingli-images"},hl={key:1,class:"bingli-empty"},Ol={class:"flex justify-end gap-3 px-4 pb-4"},Rl=gl({__name:"edit",emits:["success"],setup(Dl,{expose:be,emit:ye}){const ve=ye,Ve=nl(),F=s=>{var e;return((e=s==null?void 0:s.indexOf)==null?void 0:e.call(s,"http"))===0?s:Ve.getImageUrl(s||"")},Y=_(),ce=_(null),$=_(),I=_(!1),G=_(),L=_("add"),A=_(!1),h=_("basic"),ke=Vl(()=>L.value==="add"?"新增诊单":"编辑诊单");bl([I,h],()=>{I.value&&(h.value==="chat"&&!M(["tcm.diagnosis/chat"])&&(h.value="basic"),h.value==="visit"&&!M(["tcm.diagnosis/huifang"])&&(h.value="basic"))});const o=_({id:"",patient_id:"",patient_name:"",id_card:"",phone:"",gender:1,age:void 0,diagnosis_date:"",diagnosis_type:"",syndrome_type:"",diabetes_type:"",diabetes_discovery_year:void 0,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:void 0,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,tongue_images:[],report_files:[],symptoms:"",tongue_coating:"",pulse:"",treatment_principle:"",prescription:"",doctor_advice:"",remark:"",status:1,external_userid:""}),we={patient_name:[{required:!0,message:"请输入患者姓名",trigger:"blur"}],id_card:[{validator:(s,e,p)=>{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)){p(new Error("身份证号格式不正确"));return}p()},trigger:"blur"}],phone:[{required:!0,validator:(s,e,p)=>{if(!e){p(new Error("请输入手机号"));return}if(!/^1[3-9]\d{9}$/.test(e)){p(new Error("手机号格式不正确"));return}p()},trigger:"blur"}],gender:[{required:!0,message:"请选择性别",trigger:"change"}],age:[{required:!0,message:"请输入年龄",trigger:"blur"}],fasting_blood_sugar:[{required:!0,message:"请输入空腹血糖",trigger:"blur"}],diagnosis_date:[{required:!0,message:"请选择诊断日期",trigger:"change"}],diagnosis_type:[{required:!0,message:"请选择诊断类型",trigger:"change"}],diabetes_discovery_year:[{required:!0,message:"请输入发现糖尿病病患病史年数",trigger:"blur"}],local_hospital_diagnosis:[{required:!0,type:"array",min:1,message:"请选择当地医院诊断结果",trigger:"change"}],local_hospital_name:[{required:!0,message:"请输入当地就诊医院名称",trigger:"blur"}]},X=_([]),xe=_([]),Ue=_([]),Q=_([]),j=_([]),W=_([]),K=_([]),Z=_([]),ee=_([]),le=_([]),te=_([]),ae=_([]),oe=_([]),ie=_([]),de=_([]),ne=_([]),se=_([]),re=_([]),Ee=async()=>{try{const[s,e,p,y,d,u,f,O,U,E,R,C,q,b,k,w,P,S]=await Promise.all([v({type:"diagnosis_type"}),v({type:"syndrome_type"}),v({type:"diabetes_type"}),v({type:"past_history"}),v({type:"appetite"}),v({type:"water_intake"}),v({type:"diet_condition"}),v({type:"weight_change"}),v({type:"body_feeling"}),v({type:"sleep_condition"}),v({type:"eye_condition"}),v({type:"head_feeling"}),v({type:"sweat_condition"}),v({type:"skin_condition"}),v({type:"urine_condition"}),v({type:"stool_condition"}),v({type:"kidney_condition"}),v({type:"fatty_liver_degree"})]);X.value=(s==null?void 0:s.diagnosis_type)||[],xe.value=(e==null?void 0:e.syndrome_type)||[],Ue.value=(p==null?void 0:p.diabetes_type)||[],Q.value=(y==null?void 0:y.past_history)||[],j.value=(d==null?void 0:d.appetite)||[],W.value=(u==null?void 0:u.water_intake)||[],K.value=(f==null?void 0:f.diet_condition)||[],Z.value=(O==null?void 0:O.weight_change)||[],ee.value=(U==null?void 0:U.body_feeling)||[],le.value=(E==null?void 0:E.sleep_condition)||[],te.value=(R==null?void 0:R.eye_condition)||[],ae.value=(C==null?void 0:C.head_feeling)||[],oe.value=(q==null?void 0:q.sweat_condition)||[],ie.value=(b==null?void 0:b.skin_condition)||[],de.value=(k==null?void 0:k.urine_condition)||[],ne.value=(w==null?void 0:w.stool_condition)||[],se.value=(P==null?void 0:P.kidney_condition)||[],re.value=(S==null?void 0:S.fatty_liver_degree)||[]}catch(s){console.error("获取字典数据失败:",s)}},he=async()=>{if(!(!o.value.phone||!/^1[3-9]\d{9}$/.test(o.value.phone)))try{const s=await al({phone:o.value.phone,id:o.value.id||""});s.exists&&_e.warning(s.message)}catch(s){console.error("检查手机号失败:",s)}},Oe=async()=>{if(!o.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(o.value.id_card))return;const s=o.value.id_card,e=parseInt(s.substring(6,10)),p=parseInt(s.substring(10,12)),y=parseInt(s.substring(12,14)),d=new Date;let u=d.getFullYear()-e;(d.getMonth()+1 {var p;if(L.value=s,I.value=!0,h.value="basic",await Ee(),s==="edit"&&e){const y=await fe({id:e});o.value=y}else if(s==="add"){const y=sl();o.value.assistant_id=((p=y.userInfo)==null?void 0:p.id)||""}},De=async()=>{var s;await((s=G.value)==null?void 0:s.validate()),A.value=!0;try{if(L.value==="add"){const e=await il(o.value);if(e&&e.id){L.value="edit",o.value.id=e.id;try{const p=await fe({id:e.id});o.value.patient_id=p.patient_id}catch(p){console.error("获取详情失败:",p)}}}else await dl(o.value);ve("success")}catch(e){console.error("提交失败:",e)}finally{A.value=!1}},Ie=s=>{var e;(e=$.value)==null||e.openById(s.id)},Ce=()=>{var e;const s={id:o.value.id,diagnosis_id:o.value.id,appointment_id:0,patient_name:o.value.patient_name,patient_phone:o.value.phone,patient_gender:o.value.gender,patient_age:o.value.age,case_record:JSON.parse(JSON.stringify(o.value))};(e=$.value)==null||e.open(s)},ue=()=>{var s;(s=G.value)==null||s.resetFields(),o.value={id:"",patient_id:"",patient_name:"",id_card:"",phone:"",gender:1,diabetes_type:"",marital_status:void 0,height:void 0,weight:void 0,region:"",systolic_pressure:void 0,diastolic_pressure:void 0,fasting_blood_sugar:void 0,diabetes_discovery_year:void 0,local_hospital_diagnosis:[],local_hospital_name:"",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,tongue_images:[],report_files:[],symptoms:"",tongue_coating:"",pulse:"",treatment_principle:"",prescription:"",doctor_advice:"",remark:"",status:1,external_userid:""},I.value=!1};return be({open:Re,refreshCaseList:()=>{var s,e;return(e=(s=Y.value)==null?void 0:s.refresh)==null?void 0:e.call(s)}}),(s,e)=>{const p=Le,y=Me,d=Te,u=$e,f=Ye,O=Ae,U=Ge,E=He,R=Xe,C=Je,q=Qe,b=We,k=je,w=Ke,P=tl,S=Fe,z=ze,T=Ze,pe=el,Pe=Se,me=ll,Be=qe,Ne=yl("mode");return n(),g("div",cl,[l(Be,{modelValue:i(I),"onUpdate:modelValue":e[44]||(e[44]=a=>ge(I)?I.value=a:null),title:i(ke),size:"70%","before-close":ue,"z-index":1500,modal:!0,class:"diagnosis-drawer"},{footer:t(()=>[N("div",Ol,[l(me,{onClick:ue},{default:t(()=>[...e[75]||(e[75]=[r("取消",-1)])]),_:1}),i(h)==="basic"?(n(),m(me,{key:0,type:"primary",onClick:De,loading:i(A)},{default:t(()=>[...e[76]||(e[76]=[r(" 确定 ",-1)])]),_:1},8,["loading"])):J("",!0)])]),default:t(()=>[l(Pe,{modelValue:i(h),"onUpdate:modelValue":e[42]||(e[42]=a=>ge(h)?h.value=a:null),class:"diagnosis-tabs"},{default:t(()=>[l(z,{label:"病历",name:"basic"},{default:t(()=>[l(S,{ref_key:"formRef",ref:G,model:i(o),rules:we,"label-width":"160px"},{default:t(()=>[l(p,{"content-position":"left"},{default:t(()=>[...e[45]||(e[45]=[r("基本信息",-1)])]),_:1}),l(d,{label:"诊单ID"},{default:t(()=>[l(y,{modelValue:i(o).patient_id,"onUpdate:modelValue":e[0]||(e[0]=a=>i(o).patient_id=a),disabled:"",placeholder:"系统自动生成"},null,8,["modelValue"])]),_:1}),l(f,{gutter:20},{default:t(()=>[l(u,{span:12},{default:t(()=>[l(d,{label:"姓名",prop:"patient_name"},{default:t(()=>[l(y,{modelValue:i(o).patient_name,"onUpdate:modelValue":e[1]||(e[1]=a=>i(o).patient_name=a),placeholder:"请输入姓名"},null,8,["modelValue"])]),_:1})]),_:1}),l(u,{span:12},{default:t(()=>[l(d,{label:"身份证号",prop:"id_card"},{default:t(()=>[l(y,{modelValue:i(o).id_card,"onUpdate:modelValue":e[2]||(e[2]=a=>i(o).id_card=a),placeholder:"请输入身份证号",maxlength:"18",onBlur:Oe},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),l(f,{gutter:20},{default:t(()=>[l(u,{span:12},{default:t(()=>[l(d,{label:"手机号",prop:"phone"},{default:t(()=>[l(y,{modelValue:i(o).phone,"onUpdate:modelValue":e[3]||(e[3]=a=>i(o).phone=a),placeholder:"请输入手机号",maxlength:"11",onBlur:he},null,8,["modelValue"])]),_:1})]),_:1}),l(u,{span:12},{default:t(()=>[l(d,{label:"性别",prop:"gender"},{default:t(()=>[l(U,{modelValue:i(o).gender,"onUpdate:modelValue":e[4]||(e[4]=a=>i(o).gender=a)},{default:t(()=>[l(O,{label:1},{default:t(()=>[...e[46]||(e[46]=[r("男",-1)])]),_:1}),l(O,{label:0},{default:t(()=>[...e[47]||(e[47]=[r("女",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),l(f,{gutter:20},{default:t(()=>[l(u,{span:12},{default:t(()=>[l(d,{label:"年龄",prop:"age"},{default:t(()=>[l(E,{modelValue:i(o).age,"onUpdate:modelValue":e[5]||(e[5]=a=>i(o).age=a),min:0,max:150,placeholder:"请输入年龄",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),l(p,{"content-position":"left"},{default:t(()=>[...e[48]||(e[48]=[r("生命体征",-1)])]),_:1}),l(f,{gutter:20},{default:t(()=>[l(u,{span:8},{default:t(()=>[l(d,{label:"婚姻状态",prop:"marital_status"},{default:t(()=>[l(C,{modelValue:i(o).marital_status,"onUpdate:modelValue":e[6]||(e[6]=a=>i(o).marital_status=a),placeholder:"请选择婚姻状态",class:"w-full","popper-options":{strategy:"fixed"},"popper-class":"high-z-index"},{default:t(()=>[l(R,{label:"未婚",value:0}),l(R,{label:"已婚",value:1}),l(R,{label:"离异",value:2})]),_:1},8,["modelValue"])]),_:1})]),_:1}),l(u,{span:8},{default:t(()=>[l(d,{label:"就诊人身高(cm)",prop:"height"},{default:t(()=>[l(E,{modelValue:i(o).height,"onUpdate:modelValue":e[7]||(e[7]=a=>i(o).height=a),min:0,max:300,placeholder:"请输入身高",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1}),l(u,{span:8},{default:t(()=>[l(d,{label:"体重(kg)",prop:"weight"},{default:t(()=>[l(E,{modelValue:i(o).weight,"onUpdate:modelValue":e[8]||(e[8]=a=>i(o).weight=a),min:0,max:500,step:.1,placeholder:"请输入体重",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),l(f,{gutter:20},{default:t(()=>[l(u,{span:8},{default:t(()=>[l(d,{label:"地区",prop:"region"},{default:t(()=>[l(y,{modelValue:i(o).region,"onUpdate:modelValue":e[9]||(e[9]=a=>i(o).region=a),placeholder:"请输入地区"},null,8,["modelValue"])]),_:1})]),_:1}),l(u,{span:8},{default:t(()=>[l(d,{label:"就诊人血压(高压mmHg)",prop:"systolic_pressure"},{default:t(()=>[l(E,{modelValue:i(o).systolic_pressure,"onUpdate:modelValue":e[10]||(e[10]=a=>i(o).systolic_pressure=a),min:0,max:250,placeholder:"请输入高压",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1}),l(u,{span:8},{default:t(()=>[l(d,{label:"就诊人血压(低压mmHg)",prop:"diastolic_pressure"},{default:t(()=>[l(E,{modelValue:i(o).diastolic_pressure,"onUpdate:modelValue":e[11]||(e[11]=a=>i(o).diastolic_pressure=a),min:0,max:150,placeholder:"请输入低压",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),l(f,{gutter:20},{default:t(()=>[l(u,{span:8},{default:t(()=>[l(d,{label:"空腹血糖(mmol/L)",prop:"fasting_blood_sugar"},{default:t(()=>[l(E,{modelValue:i(o).fasting_blood_sugar,"onUpdate:modelValue":e[12]||(e[12]=a=>i(o).fasting_blood_sugar=a),min:0,max:50,step:.1,placeholder:"请输入空腹血糖",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),l(f,{gutter:20},{default:t(()=>[l(u,{span:12},{default:t(()=>[l(d,{label:"诊断类型",prop:"diagnosis_type"},{default:t(()=>[l(C,{modelValue:i(o).diagnosis_type,"onUpdate:modelValue":e[13]||(e[13]=a=>i(o).diagnosis_type=a),placeholder:"请选择诊断类型",class:"w-full","popper-options":{strategy:"fixed"},"popper-class":"high-z-index"},{default:t(()=>[(n(!0),g(V,null,c(i(X),a=>(n(),m(R,{key:a.value,label:a.name,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),l(f,{gutter:20},{default:t(()=>[l(u,{span:12},{default:t(()=>[l(d,{label:"状态",prop:"status"},{default:t(()=>[l(U,{modelValue:i(o).status,"onUpdate:modelValue":e[14]||(e[14]=a=>i(o).status=a)},{default:t(()=>[l(O,{label:1},{default:t(()=>[...e[49]||(e[49]=[r("启用",-1)])]),_:1}),l(O,{label:0},{default:t(()=>[...e[50]||(e[50]=[r("禁用",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),l(p,{"content-position":"left"},{default:t(()=>[...e[51]||(e[51]=[r("主诉",-1)])]),_:1}),l(f,{gutter:20},{default:t(()=>[l(u,{span:12},{default:t(()=>[l(d,{label:"当地医院诊断日期",prop:"diagnosis_date"},{default:t(()=>[l(q,{modelValue:i(o).diagnosis_date,"onUpdate:modelValue":e[15]||(e[15]=a=>i(o).diagnosis_date=a),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}),l(u,{span:12},{default:t(()=>[l(d,{label:"发现糖尿病患病史",prop:"diabetes_discovery_year"},{append:t(()=>[...e[52]||(e[52]=[r("年",-1)])]),default:t(()=>[l(E,{modelValue:i(o).diabetes_discovery_year,"onUpdate:modelValue":e[16]||(e[16]=a=>i(o).diabetes_discovery_year=a),min:0,max:100,placeholder:"请输入年数",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),l(d,{label:"当地医院诊断结果",prop:"local_hospital_diagnosis",class:"checkbox-form-item"},{default:t(()=>[l(k,{modelValue:i(o).local_hospital_diagnosis,"onUpdate:modelValue":e[17]||(e[17]=a=>i(o).local_hospital_diagnosis=a)},{default:t(()=>[l(b,{label:"糖尿病"},{default:t(()=>[...e[53]||(e[53]=[r("糖尿病",-1)])]),_:1}),l(b,{label:"消渴病"},{default:t(()=>[...e[54]||(e[54]=[r("消渴病",-1)])]),_:1}),l(b,{label:"糖尿病前期"},{default:t(()=>[...e[55]||(e[55]=[r("糖尿病前期",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),l(d,{label:"当地就诊医院名称",prop:"local_hospital_name"},{default:t(()=>[l(y,{modelValue:i(o).local_hospital_name,"onUpdate:modelValue":e[18]||(e[18]=a=>i(o).local_hospital_name=a),placeholder:"请输入当地就诊医院名称(不能填写当地、本地、互联网等关键词)"},null,8,["modelValue"])]),_:1}),l(p,{"content-position":"left"},{default:t(()=>[...e[56]||(e[56]=[r("现病史",-1)])]),_:1}),l(f,{gutter:20},{default:t(()=>[l(d,{label:"口腔感觉",class:"checkbox-form-item"},{default:t(()=>[l(k,{modelValue:i(o).appetite,"onUpdate:modelValue":e[19]||(e[19]=a=>i(o).appetite=a)},{default:t(()=>[(n(!0),g(V,null,c(i(j),a=>(n(),m(b,{key:a.value,label:a.value},{default:t(()=>[r(x(a.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1}),l(f,{gutter:20},{default:t(()=>[l(u,{span:20},{default:t(()=>[l(d,{label:"每日饮水量",class:"compact-form-item"},{default:t(()=>[l(U,{modelValue:i(o).water_intake,"onUpdate:modelValue":e[20]||(e[20]=a=>i(o).water_intake=a)},{default:t(()=>[(n(!0),g(V,null,c(i(W),a=>(n(),m(w,{key:a.value,label:a.value},{default:t(()=>[r(x(a.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),l(f,{gutter:20},{default:t(()=>[l(u,{span:12},{default:t(()=>[l(d,{label:"近一个月体重变化",class:"compact-form-item"},{default:t(()=>[l(U,{modelValue:i(o).weight_change,"onUpdate:modelValue":e[21]||(e[21]=a=>i(o).weight_change=a)},{default:t(()=>[(n(!0),g(V,null,c(i(Z),a=>(n(),m(w,{key:a.value,label:a.value},{default:t(()=>[r(x(a.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),l(f,{gutter:20},{default:t(()=>[l(u,{span:12},{default:t(()=>[l(d,{label:"脂肪肝程度",class:"compact-form-item"},{default:t(()=>[l(U,{modelValue:i(o).fatty_liver_degree,"onUpdate:modelValue":e[22]||(e[22]=a=>i(o).fatty_liver_degree=a)},{default:t(()=>[(n(!0),g(V,null,c(i(re),a=>(n(),m(w,{key:a.value,label:a.value},{default:t(()=>[r(x(a.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),l(d,{label:"饮食情况",class:"checkbox-form-item"},{default:t(()=>[l(k,{modelValue:i(o).diet_condition,"onUpdate:modelValue":e[23]||(e[23]=a=>i(o).diet_condition=a)},{default:t(()=>[(n(!0),g(V,null,c(i(K),a=>(n(),m(b,{key:a.value,label:a.value},{default:t(()=>[r(x(a.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(d,{label:"肢体感觉",class:"checkbox-form-item"},{default:t(()=>[l(k,{modelValue:i(o).body_feeling,"onUpdate:modelValue":e[24]||(e[24]=a=>i(o).body_feeling=a)},{default:t(()=>[(n(!0),g(V,null,c(i(ee),a=>(n(),m(b,{key:a.value,label:a.value},{default:t(()=>[r(x(a.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(d,{label:"睡眠情况",class:"checkbox-form-item"},{default:t(()=>[l(k,{modelValue:i(o).sleep_condition,"onUpdate:modelValue":e[25]||(e[25]=a=>i(o).sleep_condition=a)},{default:t(()=>[(n(!0),g(V,null,c(i(le),a=>(n(),m(b,{key:a.value,label:a.value},{default:t(()=>[r(x(a.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(d,{label:"眼睛情况",class:"checkbox-form-item"},{default:t(()=>[l(k,{modelValue:i(o).eye_condition,"onUpdate:modelValue":e[26]||(e[26]=a=>i(o).eye_condition=a)},{default:t(()=>[(n(!0),g(V,null,c(i(te),a=>(n(),m(b,{key:a.value,label:a.value},{default:t(()=>[r(x(a.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(d,{label:"头部感觉",class:"checkbox-form-item"},{default:t(()=>[l(k,{modelValue:i(o).head_feeling,"onUpdate:modelValue":e[27]||(e[27]=a=>i(o).head_feeling=a)},{default:t(()=>[(n(!0),g(V,null,c(i(ae),a=>(n(),m(b,{key:a.value,label:a.value},{default:t(()=>[r(x(a.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(d,{label:"出汗情况",class:"checkbox-form-item"},{default:t(()=>[l(k,{modelValue:i(o).sweat_condition,"onUpdate:modelValue":e[28]||(e[28]=a=>i(o).sweat_condition=a)},{default:t(()=>[(n(!0),g(V,null,c(i(oe),a=>(n(),m(b,{key:a.value,label:a.value},{default:t(()=>[r(x(a.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(d,{label:"皮肤情况",class:"checkbox-form-item"},{default:t(()=>[l(k,{modelValue:i(o).skin_condition,"onUpdate:modelValue":e[29]||(e[29]=a=>i(o).skin_condition=a)},{default:t(()=>[(n(!0),g(V,null,c(i(ie),a=>(n(),m(b,{key:a.value,label:a.value},{default:t(()=>[r(x(a.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(d,{label:"小便情况",class:"checkbox-form-item"},{default:t(()=>[l(k,{modelValue:i(o).urine_condition,"onUpdate:modelValue":e[30]||(e[30]=a=>i(o).urine_condition=a)},{default:t(()=>[(n(!0),g(V,null,c(i(de),a=>(n(),m(b,{key:a.value,label:a.value},{default:t(()=>[r(x(a.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(d,{label:"大便情况",class:"checkbox-form-item"},{default:t(()=>[l(k,{modelValue:i(o).stool_condition,"onUpdate:modelValue":e[31]||(e[31]=a=>i(o).stool_condition=a)},{default:t(()=>[(n(!0),g(V,null,c(i(ne),a=>(n(),m(b,{key:a.value,label:a.value},{default:t(()=>[r(x(a.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(d,{label:"腰肾情况",class:"checkbox-form-item"},{default:t(()=>[l(k,{modelValue:i(o).kidney_condition,"onUpdate:modelValue":e[32]||(e[32]=a=>i(o).kidney_condition=a)},{default:t(()=>[(n(!0),g(V,null,c(i(se),a=>(n(),m(b,{key:a.value,label:a.value},{default:t(()=>[r(x(a.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(d,{label:"其他补充",prop:"symptoms"},{default:t(()=>[l(y,{modelValue:i(o).symptoms,"onUpdate:modelValue":e[33]||(e[33]=a=>i(o).symptoms=a),type:"textarea",rows:3,placeholder:"请输入症状"},null,8,["modelValue"])]),_:1}),l(p,{"content-position":"left"},{default:t(()=>[...e[57]||(e[57]=[r("既往史",-1)])]),_:1}),l(d,{label:"",prop:"past_history",class:"checkbox-form-item"},{default:t(()=>[l(k,{modelValue:i(o).past_history,"onUpdate:modelValue":e[34]||(e[34]=a=>i(o).past_history=a)},{default:t(()=>[(n(!0),g(V,null,c(i(Q),a=>(n(),m(b,{key:a.value,label:a.value},{default:t(()=>[r(x(a.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(p,{"content-position":"left"},{default:t(()=>[...e[58]||(e[58]=[r("其他病史",-1)])]),_:1}),l(f,{gutter:20},{default:t(()=>[l(u,{span:8},{default:t(()=>[l(d,{label:"外伤史"},{default:t(()=>[l(U,{modelValue:i(o).trauma_history,"onUpdate:modelValue":e[35]||(e[35]=a=>i(o).trauma_history=a)},{default:t(()=>[l(w,{label:1},{default:t(()=>[...e[59]||(e[59]=[r("有",-1)])]),_:1}),l(w,{label:0},{default:t(()=>[...e[60]||(e[60]=[r("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1}),l(u,{span:8},{default:t(()=>[l(d,{label:"手术史"},{default:t(()=>[l(U,{modelValue:i(o).surgery_history,"onUpdate:modelValue":e[36]||(e[36]=a=>i(o).surgery_history=a)},{default:t(()=>[l(w,{label:1},{default:t(()=>[...e[61]||(e[61]=[r("有",-1)])]),_:1}),l(w,{label:0},{default:t(()=>[...e[62]||(e[62]=[r("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1}),l(u,{span:8},{default:t(()=>[l(d,{label:"过敏史"},{default:t(()=>[l(U,{modelValue:i(o).allergy_history,"onUpdate:modelValue":e[37]||(e[37]=a=>i(o).allergy_history=a)},{default:t(()=>[l(w,{label:1},{default:t(()=>[...e[63]||(e[63]=[r("有",-1)])]),_:1}),l(w,{label:0},{default:t(()=>[...e[64]||(e[64]=[r("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),l(f,{gutter:20},{default:t(()=>[l(u,{span:12},{default:t(()=>[l(d,{label:"家族病史"},{default:t(()=>[l(U,{modelValue:i(o).family_history,"onUpdate:modelValue":e[38]||(e[38]=a=>i(o).family_history=a)},{default:t(()=>[l(w,{label:1},{default:t(()=>[...e[65]||(e[65]=[r("有",-1)])]),_:1}),l(w,{label:0},{default:t(()=>[...e[66]||(e[66]=[r("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1}),l(u,{span:12},{default:t(()=>[l(d,{label:"妊娠哺乳史"},{default:t(()=>[l(U,{modelValue:i(o).pregnancy_history,"onUpdate:modelValue":e[39]||(e[39]=a=>i(o).pregnancy_history=a)},{default:t(()=>[l(w,{label:1},{default:t(()=>[...e[67]||(e[67]=[r("有",-1)])]),_:1}),l(w,{label:0},{default:t(()=>[...e[68]||(e[68]=[r("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),l(p,{"content-position":"left"},{default:t(()=>[...e[69]||(e[69]=[r("诊断信息",-1)])]),_:1}),l(d,{label:"舌苔照片"},{default:t(()=>[l(P,{modelValue:i(o).tongue_images,"onUpdate:modelValue":e[40]||(e[40]=a=>i(o).tongue_images=a),limit:9,type:"image","exclude-domain":!0},null,8,["modelValue"]),e[70]||(e[70]=N("div",{class:"form-tips"},"支持上传多张舌苔照片,最多9张",-1))]),_:1}),l(d,{label:"检查报告"},{default:t(()=>[l(P,{modelValue:i(o).report_files,"onUpdate:modelValue":e[41]||(e[41]=a=>i(o).report_files=a),limit:10,type:"image","exclude-domain":!0},null,8,["modelValue"]),e[71]||(e[71]=N("div",{class:"form-tips"},"支持上传检查报告、病历、彩超等影像科检查图片,最多10个文件",-1))]),_:1}),l(d,{label:"病史补充",prop:"remark"},{default:t(()=>[vl(l(y,{type:"ltextarea",rows:2,placeholder:"请输入病史补充"},null,512),[[Ne,i(o).remark]])]),_:1})]),_:1},8,["model"])]),_:1}),l(z,{label:"血糖血压记录",name:"blood",disabled:!i(o).id},{default:t(()=>[i(o).id?(n(),m(ul,{key:0,"diagnosis-id":Number(i(o).id),"patient-id":Number(i(o).patient_id)},null,8,["diagnosis-id","patient-id"])):(n(),m(T,{key:1,description:"请先保存诊单后再添加血糖血压记录"}))]),_:1},8,["disabled"]),l(z,{label:"处方",name:"bingli",disabled:!i(o).id},{default:t(()=>[i(o).id?(n(),g("div",kl,[N("div",wl,[l(p,{"content-position":"left"},{default:t(()=>[...e[72]||(e[72]=[r("诊断信息",-1)])]),_:1}),l(f,{gutter:24},{default:t(()=>[l(u,{span:12},{default:t(()=>{var a;return[e[73]||(e[73]=N("div",{class:"bingli-label"},"舌苔照片",-1)),(a=i(o).tongue_images)!=null&&a.length?(n(),g("div",xl,[(n(!0),g(V,null,c(i(o).tongue_images,(D,B)=>(n(),m(pe,{key:B,src:F(D),"preview-src-list":(i(o).tongue_images||[]).map(H=>F(H)),class:"bingli-img",fit:"cover"},null,8,["src","preview-src-list"]))),128))])):(n(),g("span",Ul,"暂无"))]}),_:1}),l(u,{span:12},{default:t(()=>{var a;return[e[74]||(e[74]=N("div",{class:"bingli-label"},"检查报告",-1)),(a=i(o).report_files)!=null&&a.length?(n(),g("div",El,[(n(!0),g(V,null,c(i(o).report_files,(D,B)=>(n(),m(pe,{key:B,src:F(D),"preview-src-list":(i(o).report_files||[]).map(H=>F(H)),class:"bingli-img",fit:"cover"},null,8,["src","preview-src-list"]))),128))])):(n(),g("span",hl,"暂无"))]}),_:1})]),_:1})]),l(pl,{ref_key:"caseRecordListRef",ref:Y,"diagnosis-id":Number(i(o).id),onView:Ie,onOpenPrescription:Ce},null,8,["diagnosis-id"])])):(n(),m(T,{key:1,description:"请先保存诊单,开方后病历将在此显示"}))]),_:1},8,["disabled"]),i(M)(["tcm.diagnosis/huifang"])?(n(),m(z,{key:0,label:"视频录制回放记录",name:"visit",disabled:!i(o).id,lazy:""},{default:t(()=>[i(o).id?(n(),m(ml,{key:0,ref_key:"callRecordPanelRef",ref:ce,"diagnosis-id":Number(i(o).id)},null,8,["diagnosis-id"])):(n(),m(T,{key:1,description:"请先保存诊单后再查看视频录制回放记录"}))]),_:1},8,["disabled"])):J("",!0),i(M)(["tcm.diagnosis/chat"])?(n(),m(z,{key:1,label:"聊天记录",name:"chat",disabled:!i(o).id,lazy:""},{default:t(()=>[i(o).id?(n(),m(_l,{key:0,"diagnosis-id":Number(i(o).id)},null,8,["diagnosis-id"])):(n(),m(T,{key:1,description:"请先保存诊单后再查看聊天记录"}))]),_:1},8,["disabled"])):J("",!0)]),_:1},8,["modelValue"]),l(fl,{ref_key:"prescriptionRef",ref:$,onSuccess:e[43]||(e[43]=a=>{var D,B;return(B=(D=i(Y))==null?void 0:D.refresh)==null?void 0:B.call(D)})},null,512)]),_:1},8,["modelValue","title"])])}}}),Lt=rl(Rl,[["__scopeId","data-v-5212a8f5"]]);export{Lt as default};
diff --git a/server/public/admin/assets/edit-BjO007Bd.js b/server/public/admin/assets/edit-DFu5nsQK.js
similarity index 70%
rename from server/public/admin/assets/edit-BjO007Bd.js
rename to server/public/admin/assets/edit-DFu5nsQK.js
index a3417ee7..15b23920 100644
--- a/server/public/admin/assets/edit-BjO007Bd.js
+++ b/server/public/admin/assets/edit-DFu5nsQK.js
@@ -1 +1 @@
-import{_ as o}from"./edit.vue_vue_type_script_setup_true_lang-vD92uUJD.js";import"./element-plus-D9NzL5HE.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C0pg79pw.js";import"./@vue/reactivity-BIbyPIZJ.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-BZWa1PtL.js";import"./lodash-es-BADexyn7.js";import"./@popperjs/core-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-CzYgy4sl.js";import"./index-D54sWaXv.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";import"./index-epy6JK8p.js";import"./useDictOptions-GtFLBTkE.js";export{o as default};
+import{_ as o}from"./edit.vue_vue_type_script_setup_true_lang-BFDzl0IC.js";import"./element-plus-8nG574Ul.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C0pg79pw.js";import"./@vue/reactivity-BIbyPIZJ.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-DLqm99Vy.js";import"./lodash-es-BADexyn7.js";import"./@popperjs/core-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-BhSY7sFR.js";import"./index-C2ep5Cm2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";import"./index-D0lFf8Hm.js";import"./useDictOptions-ilx0zkz5.js";export{o as default};
diff --git a/server/public/admin/assets/edit-CvKb7CHk.js b/server/public/admin/assets/edit-DJyLbhsj.js
similarity index 78%
rename from server/public/admin/assets/edit-CvKb7CHk.js
rename to server/public/admin/assets/edit-DJyLbhsj.js
index 5291552c..1def800b 100644
--- a/server/public/admin/assets/edit-CvKb7CHk.js
+++ b/server/public/admin/assets/edit-DJyLbhsj.js
@@ -1 +1 @@
-import{_ as o}from"./edit.vue_vue_type_script_setup_true_lang-CBs4YKEa.js";import"./element-plus-D9NzL5HE.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C0pg79pw.js";import"./@vue/reactivity-BIbyPIZJ.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-BZWa1PtL.js";import"./lodash-es-BADexyn7.js";import"./@popperjs/core-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-B2-wlvub.js";import"./index-D54sWaXv.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";import"./menu-Bas3Z9V_.js";import"./index-epy6JK8p.js";export{o as default};
+import{_ as o}from"./edit.vue_vue_type_script_setup_true_lang-DQq0glJV.js";import"./element-plus-8nG574Ul.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C0pg79pw.js";import"./@vue/reactivity-BIbyPIZJ.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-DLqm99Vy.js";import"./lodash-es-BADexyn7.js";import"./@popperjs/core-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-BFk_axfX.js";import"./index-C2ep5Cm2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";import"./menu-DjZJwqFA.js";import"./index-D0lFf8Hm.js";export{o as default};
diff --git a/server/public/admin/assets/edit-DWGBDvgK.css b/server/public/admin/assets/edit-DWGBDvgK.css
new file mode 100644
index 00000000..43cd911b
--- /dev/null
+++ b/server/public/admin/assets/edit-DWGBDvgK.css
@@ -0,0 +1 @@
+@charset "UTF-8";.edit-drawer[data-v-b2f2bc50]{font-size:12px}.edit-drawer[data-v-b2f2bc50] .el-form{padding-bottom:20px;font-size:12px}.edit-drawer[data-v-b2f2bc50] .el-divider{margin:24px 0 20px}.edit-drawer[data-v-b2f2bc50] .el-divider .el-divider__text{font-size:13px;font-weight:600;color:#303133;background:#f5f7fa;padding:0 16px}.edit-drawer[data-v-b2f2bc50] .el-form-item{margin-bottom:18px}.edit-drawer[data-v-b2f2bc50] .el-form-item__label{font-size:12px;font-weight:500;color:#606266}.edit-drawer[data-v-b2f2bc50] .el-input__inner,.edit-drawer[data-v-b2f2bc50] .el-textarea__inner,.edit-drawer[data-v-b2f2bc50] .el-radio-button__inner,.edit-drawer[data-v-b2f2bc50] .el-checkbox-button__inner,.edit-drawer[data-v-b2f2bc50] .el-button{font-size:12px}.edit-drawer .compact-form-item[data-v-b2f2bc50] .el-radio-group{display:flex;flex-wrap:wrap;gap:12px}.edit-drawer .compact-form-item[data-v-b2f2bc50] .el-radio-group .el-radio{margin-right:0;margin-bottom:0}.edit-drawer .checkbox-form-item[data-v-b2f2bc50] .el-checkbox-group{display:flex;flex-wrap:wrap;gap:12px 16px}.edit-drawer .checkbox-form-item[data-v-b2f2bc50] .el-checkbox-group .el-checkbox{margin-right:0;margin-bottom:0}.edit-drawer[data-v-b2f2bc50] .el-radio-group .el-radio{margin-right:16px;margin-bottom:8px}.edit-drawer[data-v-b2f2bc50] .el-radio-group .el-radio:last-child{margin-right:0}.edit-drawer[data-v-b2f2bc50] .el-checkbox-group .el-checkbox{margin-right:16px;margin-bottom:8px}.edit-drawer .form-tips[data-v-b2f2bc50]{font-size:12px;color:#909399;margin-top:4px;line-height:1.5}.edit-drawer .bingli-tab-content[data-v-b2f2bc50]{padding:0 4px}.edit-drawer .bingli-diagnosis-section[data-v-b2f2bc50]{margin-bottom:24px;padding:16px;background:#f5f7fa;border-radius:6px}.edit-drawer .bingli-label[data-v-b2f2bc50]{font-size:13px;font-weight:500;color:#606266;margin-bottom:10px}.edit-drawer .bingli-images[data-v-b2f2bc50]{display:flex;flex-wrap:wrap;gap:10px}.edit-drawer .bingli-img[data-v-b2f2bc50]{width:80px;height:80px;border-radius:4px;cursor:pointer}.edit-drawer .bingli-empty[data-v-b2f2bc50]{font-size:13px;color:#909399}.edit-drawer[data-v-b2f2bc50] .el-input__inner,.edit-drawer[data-v-b2f2bc50] .el-textarea__inner,.edit-drawer[data-v-b2f2bc50] .el-select .el-input__inner,.edit-drawer[data-v-b2f2bc50] .el-date-editor .el-input__inner{border-radius:4px}.high-z-index[data-v-b2f2bc50]{z-index:3000!important}.el-drawer[data-v-b2f2bc50]{z-index:1500!important}.el-overlay[data-v-b2f2bc50]{z-index:1499}.el-picker__popper[data-v-b2f2bc50],.el-select__popper[data-v-b2f2bc50],.el-popper[data-v-b2f2bc50],.el-picker-panel[data-v-b2f2bc50],.el-select-dropdown[data-v-b2f2bc50]{z-index:3000!important}
diff --git a/server/public/admin/assets/edit-BEXf_aIq.js b/server/public/admin/assets/edit-D_XAPapr.js
similarity index 93%
rename from server/public/admin/assets/edit-BEXf_aIq.js
rename to server/public/admin/assets/edit-D_XAPapr.js
index 29b93c19..52230d5a 100644
--- a/server/public/admin/assets/edit-BEXf_aIq.js
+++ b/server/public/admin/assets/edit-D_XAPapr.js
@@ -1 +1 @@
-import{D as W,R as X,B as Y,C as Z,G as h,I as ee,h as le,S as oe,P as te,Q as ae,g as re,i as de,e as ne}from"./element-plus-D9NzL5HE.js";import{_ as ie}from"./picker-DnoOFo57.js";import{b as se,d as pe,e as ue}from"./admin-BMIezRnl.js";import{d as me}from"./department-CzYgy4sl.js";import{j as fe}from"./post-_2UF5NOx.js";import{h as _e,l as ge,a as be}from"./index-D54sWaXv.js";import{u as ce}from"./useDictOptions-GtFLBTkE.js";import{f as Ve,ak as _,I as v,a as t,aN as r,O as p,G as w,J as u,H as ve,F as S,ap as B,A as we}from"./@vue/runtime-core-C0pg79pw.js";import{y as l,a as ye,u as xe,o as b,r as I}from"./@vue/reactivity-BIbyPIZJ.js";import{Q as N}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-BZWa1PtL.js";import"./lodash-es-BADexyn7.js";import"./@popperjs/core-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-epy6JK8p.js";import"./index-l9o66tt_.js";import"./index.vue_vue_type_script_setup_true_lang-DNZxpZG_.js";import"./index-wQPX7dBB.js";import"./index-CppXRPrX.js";import"./index.vue_vue_type_script_setup_true_lang-DUX2T7zX.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./file-BtSeeESa.js";import"./usePaging-B_C_SZ2Z.js";import"./vuedraggable-C3E4D3Yv.js";import"./vue-tI-HfQaQ.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-CYz6RFzi.js";import"./pinia-Ba_jX6-d.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-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";const Ee={class:"edit-drawer"},Ue={class:"text-primary font-medium"},je={class:"ml-2 text-gray-500"},ke={class:"flex justify-end"},De=Ve({__name:"edit",emits:["success","close"],setup(qe,{expose:O,emit:F}){const y=F,x=xe(),f=b(!1),m=b("add"),c=b(!1),E=b([]),A=async()=>{const i=await ge({type:"department"});E.value=(i==null?void 0:i.department)||[]},G=we(()=>m.value=="edit"?"编辑医助":"新增医助"),o=I({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:U}=ce({jobs:{api:fe},dept:{api:me}}),V=(i,e,n)=>{o.password&&(e||n(new Error("请再次输入密码")),e!==o.password&&n(new Error("两次输入密码不一致!"))),n()},g=I({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"}]}),T=async()=>{var i;try{await((i=x.value)==null?void 0:i.validate()),c.value=!0,m.value=="edit"?await se(o):await pe(o),_e.msgSuccess(m.value=="edit"?"编辑成功":"新增成功"),f.value=!1,y("success")}catch(e){console.error("提交失败:",e)}finally{c.value=!1}},P=(i="add")=>{m.value=i,f.value=!0,A(),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"}])},Q=async i=>{g.password=[],g.password_confirm=[{validator:V,trigger:"blur"}];const e=await ue({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:P,setFormData:Q}),(i,e)=>{const n=X,d=Y,s=Z,z=ie,k=ee,H=h,J=le,L=oe,D=ae,q=te,C=re,$=W,R=de,K=ne;return _(),v("div",Ee,[t(K,{modelValue:l(f),"onUpdate:modelValue":e[18]||(e[18]=a=>ye(f)?f.value=a:null),title:l(G),direction:"rtl",size:"780px","before-close":j},{footer:r(()=>[u("div",ke,[t(R,{onClick:j},{default:r(()=>[...e[29]||(e[29]=[p("取消",-1)])]),_:1}),t(R,{type:"primary",onClick:T,loading:l(c)},{default:r(()=>[...e[30]||(e[30]=[p("确定",-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]=[p("基本信息",-1)])]),_:1}),l(m)==="edit"&&l(o).diagnosis_count!=null?(_(),w(d,{key:0,label:"创建诊单数"},{default:r(()=>[u("span",Ue,N(l(o).diagnosis_count),1),e[20]||(e[20]=u("span",{class:"text-tx-secondary text-sm ml-2"},"条",-1))]),_:1})):ve("",!0),t(d,{label:"账号",prop:"account"},{default:r(()=>[t(s,{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(()=>[u("div",null,[u("div",null,[t(z,{modelValue:l(o).avatar,"onUpdate:modelValue":e[1]||(e[1]=a=>l(o).avatar=a),limit:1},null,8,["modelValue"])]),e[21]||(e[21]=u("div",{class:"form-tips"},"建议尺寸:100*100px,支持jpg,jpeg,png格式",-1))])]),_:1}),t(d,{label:"姓名",prop:"name"},{default:r(()=>[t(s,{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(H,{modelValue:l(o).gender,"onUpdate:modelValue":e[3]||(e[3]=a=>l(o).gender=a)},{default:r(()=>[t(k,{label:1},{default:r(()=>[...e[22]||(e[22]=[p("男",-1)])]),_:1}),t(k,{label:2},{default:r(()=>[...e[23]||(e[23]=[p("女",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),t(d,{label:"年龄",prop:"age"},{default:r(()=>[t(J,{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(s,{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]=[p("组织信息",-1)])]),_:1}),t(d,{label:"归属部门",prop:"dept_id"},{default:r(()=>[t(L,{class:"flex-1",modelValue:l(o).dept_id,"onUpdate:modelValue":e[6]||(e[6]=a=>l(o).dept_id=a),data:l(U).dept,clearable:"",multiple:"","node-key":"id",props:{label:"name",disabled(a){return a.status!==1}},"check-strictly":"","default-expand-all":!0,placeholder:"请选择归属部门"},null,8,["modelValue","data","props"])]),_: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(S,null,B(l(U).jobs,(a,M)=>(_(),w(D,{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[25]||(e[25]=[p("专业信息",-1)])]),_:1}),t(d,{label:"职称",prop:"title"},{default:r(()=>[t(s,{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(S,null,B(l(E),a=>(_(),w(D,{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(s,{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[26]||(e[26]=[p("履历信息",-1)])]),_:1}),t(d,{label:"教育背景",prop:"education"},{default:r(()=>[t(s,{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(s,{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(s,{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[27]||(e[27]=[p("账号设置",-1)])]),_:1}),t(d,{label:"密码",prop:"password"},{default:r(()=>[t(s,{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(s,{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"]),u("span",je,N(l(o).disable===0?"启用":"禁用"),1)]),_:1}),t(d,{label:"多处登录"},{default:r(()=>[u("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[28]||(e[28]=u("div",{class:"form-tips"},"允许多人同时在线登录",-1))])]),_:1})]),_:1},8,["model","rules"])]),_:1},8,["modelValue","title"])])}}}),Sl=be(De,[["__scopeId","data-v-ccd9ff4d"]]);export{Sl as default};
+import{D as W,R as X,B as Y,C as Z,G as h,I as ee,h as le,S as oe,P as te,Q as ae,g as re,i as de,e as ne}from"./element-plus-8nG574Ul.js";import{_ as ie}from"./picker-anRkbqwm.js";import{b as se,d as pe,e as ue}from"./admin-CFISPn04.js";import{d as me}from"./department-BhSY7sFR.js";import{j as fe}from"./post-CK-j3tkD.js";import{h as _e,l as ge,a as be}from"./index-C2ep5Cm2.js";import{u as ce}from"./useDictOptions-ilx0zkz5.js";import{f as Ve,ak as _,I as v,a as t,aN as r,O as p,G as w,J as u,H as ve,F as S,ap as B,A as we}from"./@vue/runtime-core-C0pg79pw.js";import{y as l,a as ye,u as xe,o as b,r as I}from"./@vue/reactivity-BIbyPIZJ.js";import{Q as N}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-DLqm99Vy.js";import"./lodash-es-BADexyn7.js";import"./@popperjs/core-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-D0lFf8Hm.js";import"./index-D4E_KNst.js";import"./index.vue_vue_type_script_setup_true_lang-DaV3Y2dz.js";import"./index-DL2R2dPV.js";import"./index-BM19PjE0.js";import"./index.vue_vue_type_script_setup_true_lang-Bm3qXg2y.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./file-CL1V_Cod.js";import"./usePaging-B_C_SZ2Z.js";import"./vuedraggable-C3E4D3Yv.js";import"./vue-tI-HfQaQ.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-CYz6RFzi.js";import"./pinia-Ba_jX6-d.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-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";const Ee={class:"edit-drawer"},Ue={class:"text-primary font-medium"},je={class:"ml-2 text-gray-500"},ke={class:"flex justify-end"},De=Ve({__name:"edit",emits:["success","close"],setup(qe,{expose:O,emit:F}){const y=F,x=xe(),f=b(!1),m=b("add"),c=b(!1),E=b([]),A=async()=>{const i=await ge({type:"department"});E.value=(i==null?void 0:i.department)||[]},G=we(()=>m.value=="edit"?"编辑医助":"新增医助"),o=I({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:U}=ce({jobs:{api:fe},dept:{api:me}}),V=(i,e,n)=>{o.password&&(e||n(new Error("请再次输入密码")),e!==o.password&&n(new Error("两次输入密码不一致!"))),n()},g=I({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"}]}),T=async()=>{var i;try{await((i=x.value)==null?void 0:i.validate()),c.value=!0,m.value=="edit"?await se(o):await pe(o),_e.msgSuccess(m.value=="edit"?"编辑成功":"新增成功"),f.value=!1,y("success")}catch(e){console.error("提交失败:",e)}finally{c.value=!1}},P=(i="add")=>{m.value=i,f.value=!0,A(),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"}])},Q=async i=>{g.password=[],g.password_confirm=[{validator:V,trigger:"blur"}];const e=await ue({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:P,setFormData:Q}),(i,e)=>{const n=X,d=Y,s=Z,z=ie,k=ee,H=h,J=le,L=oe,D=ae,q=te,C=re,$=W,R=de,K=ne;return _(),v("div",Ee,[t(K,{modelValue:l(f),"onUpdate:modelValue":e[18]||(e[18]=a=>ye(f)?f.value=a:null),title:l(G),direction:"rtl",size:"780px","before-close":j},{footer:r(()=>[u("div",ke,[t(R,{onClick:j},{default:r(()=>[...e[29]||(e[29]=[p("取消",-1)])]),_:1}),t(R,{type:"primary",onClick:T,loading:l(c)},{default:r(()=>[...e[30]||(e[30]=[p("确定",-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]=[p("基本信息",-1)])]),_:1}),l(m)==="edit"&&l(o).diagnosis_count!=null?(_(),w(d,{key:0,label:"创建诊单数"},{default:r(()=>[u("span",Ue,N(l(o).diagnosis_count),1),e[20]||(e[20]=u("span",{class:"text-tx-secondary text-sm ml-2"},"条",-1))]),_:1})):ve("",!0),t(d,{label:"账号",prop:"account"},{default:r(()=>[t(s,{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(()=>[u("div",null,[u("div",null,[t(z,{modelValue:l(o).avatar,"onUpdate:modelValue":e[1]||(e[1]=a=>l(o).avatar=a),limit:1},null,8,["modelValue"])]),e[21]||(e[21]=u("div",{class:"form-tips"},"建议尺寸:100*100px,支持jpg,jpeg,png格式",-1))])]),_:1}),t(d,{label:"姓名",prop:"name"},{default:r(()=>[t(s,{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(H,{modelValue:l(o).gender,"onUpdate:modelValue":e[3]||(e[3]=a=>l(o).gender=a)},{default:r(()=>[t(k,{label:1},{default:r(()=>[...e[22]||(e[22]=[p("男",-1)])]),_:1}),t(k,{label:2},{default:r(()=>[...e[23]||(e[23]=[p("女",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),t(d,{label:"年龄",prop:"age"},{default:r(()=>[t(J,{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(s,{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]=[p("组织信息",-1)])]),_:1}),t(d,{label:"归属部门",prop:"dept_id"},{default:r(()=>[t(L,{class:"flex-1",modelValue:l(o).dept_id,"onUpdate:modelValue":e[6]||(e[6]=a=>l(o).dept_id=a),data:l(U).dept,clearable:"",multiple:"","node-key":"id",props:{label:"name",disabled(a){return a.status!==1}},"check-strictly":"","default-expand-all":!0,placeholder:"请选择归属部门"},null,8,["modelValue","data","props"])]),_: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(S,null,B(l(U).jobs,(a,M)=>(_(),w(D,{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[25]||(e[25]=[p("专业信息",-1)])]),_:1}),t(d,{label:"职称",prop:"title"},{default:r(()=>[t(s,{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(S,null,B(l(E),a=>(_(),w(D,{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(s,{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[26]||(e[26]=[p("履历信息",-1)])]),_:1}),t(d,{label:"教育背景",prop:"education"},{default:r(()=>[t(s,{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(s,{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(s,{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[27]||(e[27]=[p("账号设置",-1)])]),_:1}),t(d,{label:"密码",prop:"password"},{default:r(()=>[t(s,{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(s,{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"]),u("span",je,N(l(o).disable===0?"启用":"禁用"),1)]),_:1}),t(d,{label:"多处登录"},{default:r(()=>[u("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[28]||(e[28]=u("div",{class:"form-tips"},"允许多人同时在线登录",-1))])]),_:1})]),_:1},8,["model","rules"])]),_:1},8,["modelValue","title"])])}}}),Sl=be(De,[["__scopeId","data-v-ccd9ff4d"]]);export{Sl as default};
diff --git a/server/public/admin/assets/edit-DygzpwE1.js b/server/public/admin/assets/edit-DvIUNs9m.js
similarity index 72%
rename from server/public/admin/assets/edit-DygzpwE1.js
rename to server/public/admin/assets/edit-DvIUNs9m.js
index f498de75..2d732b89 100644
--- a/server/public/admin/assets/edit-DygzpwE1.js
+++ b/server/public/admin/assets/edit-DvIUNs9m.js
@@ -1 +1 @@
-import{_ as o}from"./edit.vue_vue_type_script_setup_true_lang-j_6t3kKn.js";import"./element-plus-D9NzL5HE.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C0pg79pw.js";import"./@vue/reactivity-BIbyPIZJ.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-BZWa1PtL.js";import"./lodash-es-BADexyn7.js";import"./@popperjs/core-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-_2UF5NOx.js";import"./index-D54sWaXv.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";import"./index-epy6JK8p.js";export{o as default};
+import{_ as o}from"./edit.vue_vue_type_script_setup_true_lang-Cm_pZlMF.js";import"./element-plus-8nG574Ul.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@vue/runtime-core-C0pg79pw.js";import"./@vue/reactivity-BIbyPIZJ.js";import"./@vue/shared-mAAVTE9n.js";import"./@element-plus/icons-vue-DLqm99Vy.js";import"./lodash-es-BADexyn7.js";import"./@popperjs/core-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-CK-j3tkD.js";import"./index-C2ep5Cm2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";import"./index-D0lFf8Hm.js";export{o as default};
diff --git a/server/public/admin/assets/edit-CxW5ob32.js b/server/public/admin/assets/edit-ZwGF7Qwp.js
similarity index 94%
rename from server/public/admin/assets/edit-CxW5ob32.js
rename to server/public/admin/assets/edit-ZwGF7Qwp.js
index 1646e088..801a504c 100644
--- a/server/public/admin/assets/edit-CxW5ob32.js
+++ b/server/public/admin/assets/edit-ZwGF7Qwp.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-D9NzL5HE.js";import{_ as Y}from"./picker-DnoOFo57.js";import{g as Z,s as h}from"./pay-BwE5i2u2.js";import{u as ee}from"./useLockFn-DaSAjE2Q.js";import{u as le}from"./getExposeType-BrKpbHO7.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-C0pg79pw.js";import{y as l,a as re,o as u}from"./@vue/reactivity-BIbyPIZJ.js";import{Q as ne}from"./@vue/shared-mAAVTE9n.js";import{a as pe}from"./index-D54sWaXv.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-BZWa1PtL.js";import"./lodash-es-BADexyn7.js";import"./@popperjs/core-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-epy6JK8p.js";import"./index-l9o66tt_.js";import"./index.vue_vue_type_script_setup_true_lang-DNZxpZG_.js";import"./index-wQPX7dBB.js";import"./index-CppXRPrX.js";import"./index.vue_vue_type_script_setup_true_lang-DUX2T7zX.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./file-BtSeeESa.js";import"./usePaging-B_C_SZ2Z.js";import"./vuedraggable-C3E4D3Yv.js";import"./vue-tI-HfQaQ.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-CYz6RFzi.js";import"./pinia-Ba_jX6-d.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-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.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"])}}}),gl=pe(fe,[["__scopeId","data-v-221f14e8"]]);export{gl 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-8nG574Ul.js";import{_ as Y}from"./picker-anRkbqwm.js";import{g as Z,s as h}from"./pay-BLpOyZOm.js";import{u as ee}from"./useLockFn-DaSAjE2Q.js";import{u as le}from"./getExposeType-BrKpbHO7.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-C0pg79pw.js";import{y as l,a as re,o as u}from"./@vue/reactivity-BIbyPIZJ.js";import{Q as ne}from"./@vue/shared-mAAVTE9n.js";import{a as pe}from"./index-C2ep5Cm2.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-DLqm99Vy.js";import"./lodash-es-BADexyn7.js";import"./@popperjs/core-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-D0lFf8Hm.js";import"./index-D4E_KNst.js";import"./index.vue_vue_type_script_setup_true_lang-DaV3Y2dz.js";import"./index-DL2R2dPV.js";import"./index-BM19PjE0.js";import"./index.vue_vue_type_script_setup_true_lang-Bm3qXg2y.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./file-CL1V_Cod.js";import"./usePaging-B_C_SZ2Z.js";import"./vuedraggable-C3E4D3Yv.js";import"./vue-tI-HfQaQ.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-CYz6RFzi.js";import"./pinia-Ba_jX6-d.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-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.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"])}}}),gl=pe(fe,[["__scopeId","data-v-221f14e8"]]);export{gl as default};
diff --git a/server/public/admin/assets/edit-8uvAB4sK.js b/server/public/admin/assets/edit-v-BUFcnj.js
similarity index 92%
rename from server/public/admin/assets/edit-8uvAB4sK.js
rename to server/public/admin/assets/edit-v-BUFcnj.js
index 770ffc40..c8b056f0 100644
--- a/server/public/admin/assets/edit-8uvAB4sK.js
+++ b/server/public/admin/assets/edit-v-BUFcnj.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 P}from"./element-plus-D9NzL5HE.js";import{_ as $}from"./index-BfAXCEzW.js";import{l as j}from"./lodash-D3kF6u-c.js";import{n as z,s as H}from"./message-BkkOoDet.js";import{i as M,h as Q}from"./index-D54sWaXv.js";import{u as h,a as A}from"./vue-router-CYz6RFzi.js";import{f as w,ak as p,I as c,a as t,aN as o,aP as K,G as W,J as l,O as m,F as X,ap as Y}from"./@vue/runtime-core-C0pg79pw.js";import{y as a,o as Z,r as ee,u as te}from"./@vue/reactivity-BIbyPIZJ.js";import{Q as d}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./@element-plus/icons-vue-BZWa1PtL.js";import"./lodash-es-BADexyn7.js";import"./@popperjs/core-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-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.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"}),he=w({...ie,setup(re){const f=h(),y=A(),u=Z(!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()=>{u.value=!0;const i=await z({id:f.query.id});Object.keys(i).forEach(e=>{s[e]=i[e]}),u.value=!1},x=async()=>{var e;await((e=v.value)==null?void 0:e.validate());const i={id:s.id,template:j.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,_=G,r=O,b=T,R=S,g=U,B=J,I=P,C=$,q=L;return p(),c("div",null,[t(_,{class:"!border-none",shadow:"never"},{default:o(()=>[t(D,{content:"编辑通知设置",onBack:e[0]||(e[0]=n=>i.$router.back())})]),_:1}),K((p(),W(B,{ref_key:"formRef",ref:v,model:a(s),"label-width":"120px",rules:k},{default:o(()=>[t(_,{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(_,{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(X,null,Y(a(s).sms_notice.tips,(n,N)=>(p(),c("div",{key:N},d(n),1))),128))])])]),_:1})]),_:1})]),_:1},8,["model"])),[[q,a(u)]]),t(C,null,{default:o(()=>[t(I,{type:"primary",onClick:x},{default:o(()=>[...e[8]||(e[8]=[m("保存",-1)])]),_:1})]),_:1})])}}});export{he 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 P}from"./element-plus-8nG574Ul.js";import{_ as $}from"./index-CHcdk0sq.js";import{l as j}from"./lodash-D3kF6u-c.js";import{n as z,s as H}from"./message-C1n5MJUM.js";import{i as M,h as Q}from"./index-C2ep5Cm2.js";import{u as h,a as A}from"./vue-router-CYz6RFzi.js";import{f as w,ak as p,I as c,a as t,aN as o,aP as K,G as W,J as l,O as m,F as X,ap as Y}from"./@vue/runtime-core-C0pg79pw.js";import{y as a,o as Z,r as ee,u as te}from"./@vue/reactivity-BIbyPIZJ.js";import{Q as d}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./@element-plus/icons-vue-DLqm99Vy.js";import"./lodash-es-BADexyn7.js";import"./@popperjs/core-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-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.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"}),he=w({...ie,setup(re){const f=h(),y=A(),u=Z(!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()=>{u.value=!0;const i=await z({id:f.query.id});Object.keys(i).forEach(e=>{s[e]=i[e]}),u.value=!1},x=async()=>{var e;await((e=v.value)==null?void 0:e.validate());const i={id:s.id,template:j.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,_=G,r=O,b=T,R=S,g=U,B=J,I=P,C=$,q=L;return p(),c("div",null,[t(_,{class:"!border-none",shadow:"never"},{default:o(()=>[t(D,{content:"编辑通知设置",onBack:e[0]||(e[0]=n=>i.$router.back())})]),_:1}),K((p(),W(B,{ref_key:"formRef",ref:v,model:a(s),"label-width":"120px",rules:k},{default:o(()=>[t(_,{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(_,{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(X,null,Y(a(s).sms_notice.tips,(n,N)=>(p(),c("div",{key:N},d(n),1))),128))])])]),_:1})]),_:1})]),_:1},8,["model"])),[[q,a(u)]]),t(C,null,{default:o(()=>[t(I,{type:"primary",onClick:x},{default:o(()=>[...e[8]||(e[8]=[m("保存",-1)])]),_:1})]),_:1})])}}});export{he as default};
diff --git a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-vD92uUJD.js b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-BFDzl0IC.js
similarity index 94%
rename from server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-vD92uUJD.js
rename to server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-BFDzl0IC.js
index 421ca0ba..fd8e727d 100644
--- a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-vD92uUJD.js
+++ b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-BFDzl0IC.js
@@ -1 +1 @@
-import{D as B,B as N,S as I,C as S,h as A,g as F}from"./element-plus-D9NzL5HE.js";import{d as q,a as M,b as P,c as T}from"./department-CzYgy4sl.js";import{P as G}from"./index-epy6JK8p.js";import{u as H}from"./useDictOptions-GtFLBTkE.js";import{f as J,ak as _,I as O,a as o,aN as r,G as $,H as j,J as V,A as z}from"./@vue/runtime-core-C0pg79pw.js";import{y as t,u as b,r as K,o as L}from"./@vue/reactivity-BIbyPIZJ.js";const Q={class:"edit-popup"},ae=J({__name:"edit",emits:["success","close"],setup(W,{expose:v,emit:g}){const i=g,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}=H({dept:{api:q}}),y=async()=>{var a,e;await((a=c.value)==null?void 0:a.validate()),u.value=="edit"?await M(l):await P(l),(e=m.value)==null||e.close(),i("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 T({id:a.id});f(e)},C=()=>{i("close")};return v({open:E,setFormData:f,getDetail:h}),(a,e)=>{const d=I,n=N,p=S,D=A,R=F,U=B;return _(),O("div",Q,[o(G,{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(p,{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(p,{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(p,{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,S as I,C as S,h as A,g as F}from"./element-plus-8nG574Ul.js";import{d as q,a as M,b as P,c as T}from"./department-BhSY7sFR.js";import{P as G}from"./index-D0lFf8Hm.js";import{u as H}from"./useDictOptions-ilx0zkz5.js";import{f as J,ak as _,I as O,a as o,aN as r,G as $,H as j,J as V,A as z}from"./@vue/runtime-core-C0pg79pw.js";import{y as t,u as b,r as K,o as L}from"./@vue/reactivity-BIbyPIZJ.js";const Q={class:"edit-popup"},ae=J({__name:"edit",emits:["success","close"],setup(W,{expose:v,emit:g}){const i=g,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}=H({dept:{api:q}}),y=async()=>{var a,e;await((a=c.value)==null?void 0:a.validate()),u.value=="edit"?await M(l):await P(l),(e=m.value)==null||e.close(),i("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 T({id:a.id});f(e)},C=()=>{i("close")};return v({open:E,setFormData:f,getDetail:h}),(a,e)=>{const d=I,n=N,p=S,D=A,R=F,U=B;return _(),O("div",Q,[o(G,{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(p,{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(p,{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(p,{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-CQcohUcJ.js b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-BgHRdxNq.js
similarity index 92%
rename from server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-CQcohUcJ.js
rename to server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-BgHRdxNq.js
index adc9e1e0..ea5eb3fb 100644
--- a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-CQcohUcJ.js
+++ b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-BgHRdxNq.js
@@ -1 +1 @@
-import{D as T,B as G,C as H,S as J,P as L,Q,g as z}from"./element-plus-D9NzL5HE.js";import{_ as K}from"./picker-DnoOFo57.js";import{d as M}from"./department-CzYgy4sl.js";import{j as W}from"./post-_2UF5NOx.js";import{b as X,d as Y,e as Z}from"./admin-BMIezRnl.js";import{r as $}from"./role-BUivZ6pi.js";import{P as h}from"./index-epy6JK8p.js";import{u as ee}from"./useDictOptions-GtFLBTkE.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-C0pg79pw.js";import{y as o,u as C,r as D,o as ae}from"./@vue/reactivity-BIbyPIZJ.js";const te={class:"edit-popup"},Ve=le({__name:"edit",emits:["success","close"],setup(re,{expose:R,emit:q}){const v=q,w=C(),m=C(),f=ae("add"),A=oe(()=>f.value=="edit"?"编辑管理员":"新增管理员"),l=D({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()},_=D({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:W},dept:{api:M}}),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])},S=()=>{v("close")};return R({open:F,setFormData:I}),(n,e)=>{const r=H,s=G,N=K,P=J,y=Q,E=L,x=z,O=T;return i(),V("div",te,[t(h,{ref_key:"popupRef",ref:m,title:o(A),async:!0,width:"550px",onConfirm:B,onClose:S},{default:d(()=>[t(O,{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(N,{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(P,{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 T,B as G,C as H,S as J,P as L,Q,g as z}from"./element-plus-8nG574Ul.js";import{_ as K}from"./picker-anRkbqwm.js";import{d as M}from"./department-BhSY7sFR.js";import{j as W}from"./post-CK-j3tkD.js";import{b as X,d as Y,e as Z}from"./admin-CFISPn04.js";import{r as $}from"./role-BmH2pKEX.js";import{P as h}from"./index-D0lFf8Hm.js";import{u as ee}from"./useDictOptions-ilx0zkz5.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-C0pg79pw.js";import{y as o,u as C,r as D,o as ae}from"./@vue/reactivity-BIbyPIZJ.js";const te={class:"edit-popup"},Ve=le({__name:"edit",emits:["success","close"],setup(re,{expose:R,emit:q}){const v=q,w=C(),m=C(),f=ae("add"),A=oe(()=>f.value=="edit"?"编辑管理员":"新增管理员"),l=D({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()},_=D({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:W},dept:{api:M}}),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])},S=()=>{v("close")};return R({open:F,setFormData:I}),(n,e)=>{const r=H,s=G,N=K,P=J,y=Q,E=L,x=z,O=T;return i(),V("div",te,[t(h,{ref_key:"popupRef",ref:m,title:o(A),async:!0,width:"550px",onConfirm:B,onClose:S},{default:d(()=>[t(O,{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(N,{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(P,{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-j_6t3kKn.js b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-Cm_pZlMF.js
similarity index 92%
rename from server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-j_6t3kKn.js
rename to server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-Cm_pZlMF.js
index e8b43cd3..df0de6ff 100644
--- a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-j_6t3kKn.js
+++ b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-Cm_pZlMF.js
@@ -1 +1 @@
-import{D as h,B as D,C as U,h as B,g as I}from"./element-plus-D9NzL5HE.js";import{a as N,b as j,c as q}from"./post-_2UF5NOx.js";import{P as F}from"./index-epy6JK8p.js";import{f as A,ak as P,I as S,a as l,aN as r,J as f,A as z}from"./@vue/runtime-core-C0pg79pw.js";import{y as t,u as _,r as J,o as T}from"./@vue/reactivity-BIbyPIZJ.js";const G={class:"edit-popup"},W=A({__name:"edit",emits:["success","close"],setup(H,{expose:b,emit:V}){const i=V,p=_(),m=_(),u=T("add"),v=z(()=>u.value=="edit"?"编辑岗位":"新增岗位"),o=J({id:"",name:"",code:"",sort:0,remark:"",status:1}),w={code:[{required:!0,message:"请输入岗位编码",trigger:["blur"]}],name:[{required:!0,message:"请输入岗位名称",trigger:["blur"]}]},x=async()=>{var a,e;await((a=p.value)==null?void 0:a.validate()),u.value=="edit"?await N(o):await j(o),(e=m.value)==null||e.close(),i("success")},g=(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 q({id:a.id});c(e)},y=()=>{i("close")};return b({open:g,setFormData:c,getDetail:k}),(a,e)=>{const d=U,n=D,R=B,E=I,C=h;return P(),S("div",G,[l(F,{ref_key:"popupRef",ref:m,title:t(v),async:!0,width:"550px",onConfirm:x,onClose:y},{default:r(()=>[l(C,{ref_key:"formRef",ref:p,model:t(o),"label-width":"84px",rules:w},{default:r(()=>[l(n,{label:"岗位名称",prop:"name"},{default:r(()=>[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(n,{label:"岗位编码",prop:"code"},{default:r(()=>[l(d,{modelValue:t(o).code,"onUpdate:modelValue":e[1]||(e[1]=s=>t(o).code=s),placeholder:"请输入岗位编码",clearable:""},null,8,["modelValue"])]),_:1}),l(n,{label:"排序",prop:"sort"},{default:r(()=>[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(n,{label:"备注",prop:"remark"},{default:r(()=>[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(n,{label:"岗位状态",required:"",prop:"status"},{default:r(()=>[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 B,g as I}from"./element-plus-8nG574Ul.js";import{a as N,b as j,c as q}from"./post-CK-j3tkD.js";import{P as F}from"./index-D0lFf8Hm.js";import{f as A,ak as P,I as S,a as l,aN as r,J as f,A as z}from"./@vue/runtime-core-C0pg79pw.js";import{y as t,u as _,r as J,o as T}from"./@vue/reactivity-BIbyPIZJ.js";const G={class:"edit-popup"},W=A({__name:"edit",emits:["success","close"],setup(H,{expose:b,emit:V}){const i=V,p=_(),m=_(),u=T("add"),v=z(()=>u.value=="edit"?"编辑岗位":"新增岗位"),o=J({id:"",name:"",code:"",sort:0,remark:"",status:1}),w={code:[{required:!0,message:"请输入岗位编码",trigger:["blur"]}],name:[{required:!0,message:"请输入岗位名称",trigger:["blur"]}]},x=async()=>{var a,e;await((a=p.value)==null?void 0:a.validate()),u.value=="edit"?await N(o):await j(o),(e=m.value)==null||e.close(),i("success")},g=(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 q({id:a.id});c(e)},y=()=>{i("close")};return b({open:g,setFormData:c,getDetail:k}),(a,e)=>{const d=U,n=D,R=B,E=I,C=h;return P(),S("div",G,[l(F,{ref_key:"popupRef",ref:m,title:t(v),async:!0,width:"550px",onConfirm:x,onClose:y},{default:r(()=>[l(C,{ref_key:"formRef",ref:p,model:t(o),"label-width":"84px",rules:w},{default:r(()=>[l(n,{label:"岗位名称",prop:"name"},{default:r(()=>[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(n,{label:"岗位编码",prop:"code"},{default:r(()=>[l(d,{modelValue:t(o).code,"onUpdate:modelValue":e[1]||(e[1]=s=>t(o).code=s),placeholder:"请输入岗位编码",clearable:""},null,8,["modelValue"])]),_:1}),l(n,{label:"排序",prop:"sort"},{default:r(()=>[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(n,{label:"备注",prop:"remark"},{default:r(()=>[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(n,{label:"岗位状态",required:"",prop:"status"},{default:r(()=>[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-Pa9a3ILH.js b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-DDoVH0HH.js
similarity index 89%
rename from server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-Pa9a3ILH.js
rename to server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-DDoVH0HH.js
index 0629019b..bf5cceb3 100644
--- a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-Pa9a3ILH.js
+++ b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-DDoVH0HH.js
@@ -1 +1 @@
-import{D as h,B as R,C as k,h as C}from"./element-plus-D9NzL5HE.js";import{a as E,b as g}from"./role-BUivZ6pi.js";import{P as D}from"./index-epy6JK8p.js";import{f as F,ak as I,I as B,a as l,aN as n,A as N}from"./@vue/runtime-core-C0pg79pw.js";import{y as a,u as c,r as U,o as A}from"./@vue/reactivity-BIbyPIZJ.js";const P={class:"edit-popup"},K=F({__name:"edit",emits:["success","close"],setup(q,{expose:f,emit:_}){const u=_,d=c(),r=c(),m=A("add"),w=N(()=>m.value=="edit"?"编辑角色":"新增角色"),o=U({id:"",name:"",desc:"",sort:0,menu_id:[]}),b={name:[{required:!0,message:"请输入名称",trigger:["blur"]}]},v=async()=>{var t,e;await((t=d.value)==null?void 0:t.validate()),m.value=="edit"?await E(o):await g(o),(e=r.value)==null||e.close(),u("success")},x=()=>{u("close")};return f({open:(t="add")=>{var e;m.value=t,(e=r.value)==null||e.open()},setFormData:async t=>{for(const e in o)t[e]!=null&&t[e]!=null&&(o[e]=t[e])}}),(t,e)=>{const i=k,p=R,V=C,y=h;return I(),B("div",P,[l(D,{ref_key:"popupRef",ref:r,title:a(w),async:!0,width:"550px",onConfirm:v,onClose:x},{default:n(()=>[l(y,{class:"ls-form",ref_key:"formRef",ref:d,rules:b,model:a(o),"label-width":"60px"},{default:n(()=>[l(p,{label:"名称",prop:"name"},{default:n(()=>[l(i,{class:"ls-input",modelValue:a(o).name,"onUpdate:modelValue":e[0]||(e[0]=s=>a(o).name=s),placeholder:"请输入名称",clearable:""},null,8,["modelValue"])]),_:1}),l(p,{label:"备注",prop:"desc"},{default:n(()=>[l(i,{modelValue:a(o).desc,"onUpdate:modelValue":e[1]||(e[1]=s=>a(o).desc=s),type:"textarea",autosize:{minRows:4,maxRows:6},placeholder:"请输入备注",maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1}),l(p,{label:"排序",prop:"sort"},{default:n(()=>[l(V,{modelValue:a(o).sort,"onUpdate:modelValue":e[2]||(e[2]=s=>a(o).sort=s),min:0,max:9999},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["title"])])}}});export{K as _};
+import{D as h,B as R,C as k,h as C}from"./element-plus-8nG574Ul.js";import{a as E,b as g}from"./role-BmH2pKEX.js";import{P as D}from"./index-D0lFf8Hm.js";import{f as F,ak as I,I as B,a as l,aN as n,A as N}from"./@vue/runtime-core-C0pg79pw.js";import{y as a,u as c,r as U,o as A}from"./@vue/reactivity-BIbyPIZJ.js";const P={class:"edit-popup"},K=F({__name:"edit",emits:["success","close"],setup(q,{expose:f,emit:_}){const u=_,d=c(),r=c(),m=A("add"),w=N(()=>m.value=="edit"?"编辑角色":"新增角色"),o=U({id:"",name:"",desc:"",sort:0,menu_id:[]}),b={name:[{required:!0,message:"请输入名称",trigger:["blur"]}]},v=async()=>{var t,e;await((t=d.value)==null?void 0:t.validate()),m.value=="edit"?await E(o):await g(o),(e=r.value)==null||e.close(),u("success")},x=()=>{u("close")};return f({open:(t="add")=>{var e;m.value=t,(e=r.value)==null||e.open()},setFormData:async t=>{for(const e in o)t[e]!=null&&t[e]!=null&&(o[e]=t[e])}}),(t,e)=>{const i=k,p=R,V=C,y=h;return I(),B("div",P,[l(D,{ref_key:"popupRef",ref:r,title:a(w),async:!0,width:"550px",onConfirm:v,onClose:x},{default:n(()=>[l(y,{class:"ls-form",ref_key:"formRef",ref:d,rules:b,model:a(o),"label-width":"60px"},{default:n(()=>[l(p,{label:"名称",prop:"name"},{default:n(()=>[l(i,{class:"ls-input",modelValue:a(o).name,"onUpdate:modelValue":e[0]||(e[0]=s=>a(o).name=s),placeholder:"请输入名称",clearable:""},null,8,["modelValue"])]),_:1}),l(p,{label:"备注",prop:"desc"},{default:n(()=>[l(i,{modelValue:a(o).desc,"onUpdate:modelValue":e[1]||(e[1]=s=>a(o).desc=s),type:"textarea",autosize:{minRows:4,maxRows:6},placeholder:"请输入备注",maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1}),l(p,{label:"排序",prop:"sort"},{default:n(()=>[l(V,{modelValue:a(o).sort,"onUpdate:modelValue":e[2]||(e[2]=s=>a(o).sort=s),min:0,max:9999},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["title"])])}}});export{K as _};
diff --git a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-D1R4v-zW.js b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-DPYC5Rx2.js
similarity index 97%
rename from server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-D1R4v-zW.js
rename to server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-DPYC5Rx2.js
index 980e15ec..1f13f16c 100644
--- a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-D1R4v-zW.js
+++ b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-DPYC5Rx2.js
@@ -1 +1 @@
-import{D as F,B as G,C as A,G as O,I as P,h as S,g as T}from"./element-plus-D9NzL5HE.js";import{f as z,h as H,i as J}from"./wx_oa-DY7zAxJ4.js";import{P as j}from"./index-epy6JK8p.js";import{f as K,ak as m,I as L,a as o,aN as a,J as n,G as c,H as v,O as i,A as M}from"./@vue/runtime-core-C0pg79pw.js";import{y as l,u as x,r as Q,o as W}from"./@vue/reactivity-BIbyPIZJ.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=K({__name:"edit",emits:["success","close"],setup(oe,{expose:b,emit:k}){const V=k,g=x(),f=x(),_=W("add"),R=M(()=>_.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 z(t):await H(t),(e=f.value)==null||e.close(),V("success")},C=(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])},q=async r=>{const e=await J({id:r.id});w(e)},N=()=>{V("close")};return b({open:C,setFormData:w,getDetail:q}),(r,e)=>{const u=A,d=G,p=P,y=O,B=S,D=T,I=F;return m(),L("div",X,[o(j,{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?(m(),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?(m(),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(p,{value:1},{default:a(()=>[...e[10]||(e[10]=[i("全匹配",-1)])]),_:1}),o(p,{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(p,{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?(m(),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(p,{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 P,h as S,g as T}from"./element-plus-8nG574Ul.js";import{f as z,h as H,i as J}from"./wx_oa-x62xb7vn.js";import{P as j}from"./index-D0lFf8Hm.js";import{f as K,ak as m,I as L,a as o,aN as a,J as n,G as c,H as v,O as i,A as M}from"./@vue/runtime-core-C0pg79pw.js";import{y as l,u as x,r as Q,o as W}from"./@vue/reactivity-BIbyPIZJ.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=K({__name:"edit",emits:["success","close"],setup(oe,{expose:b,emit:k}){const V=k,g=x(),f=x(),_=W("add"),R=M(()=>_.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 z(t):await H(t),(e=f.value)==null||e.close(),V("success")},C=(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])},q=async r=>{const e=await J({id:r.id});w(e)},N=()=>{V("close")};return b({open:C,setFormData:w,getDetail:q}),(r,e)=>{const u=A,d=G,p=P,y=O,B=S,D=T,I=F;return m(),L("div",X,[o(j,{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?(m(),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?(m(),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(p,{value:1},{default:a(()=>[...e[10]||(e[10]=[i("全匹配",-1)])]),_:1}),o(p,{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(p,{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?(m(),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(p,{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_lang-OIPWGaTN.js b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-DPwE5XBw.js
similarity index 93%
rename from server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-OIPWGaTN.js
rename to server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-DPwE5XBw.js
index c8de65ab..a94a14b9 100644
--- a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-OIPWGaTN.js
+++ b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-DPwE5XBw.js
@@ -1 +1 @@
-import{D as I,B as S,C as w,G as x,I as T}from"./element-plus-D9NzL5HE.js";import{b as A,c as K}from"./message-BkkOoDet.js";import{P as U}from"./index-epy6JK8p.js";import{f as Y,ak as d,I as q,a,aN as o,J as B,G as i,H as _,O as c}from"./@vue/runtime-core-C0pg79pw.js";import{y as l,u as y,r as N}from"./@vue/reactivity-BIbyPIZJ.js";import{Q as F}from"./@vue/shared-mAAVTE9n.js";const G={class:"edit-popup"},M=Y({__name:"edit",emits:["success"],setup(H,{expose:g,emit:E}){const V=E,n=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=n.value)==null?void 0:s.validate()),await A(t),(e=m.value)==null||e.close(),V("success")},C=async()=>{const s=await K({type:t.type});for(const e in s)t[e]=s[e]},P=s=>{var e;t.type=s,(e=m.value)==null||e.open(),C()},R=()=>{var s;(s=n.value)==null||s.resetFields()};return g({open:P}),(s,e)=>{const p=S,u=w,f=T,D=x,v=I;return d(),q("div",G,[a(U,{ref_key:"popupRef",ref:m,title:"设置短信",async:!0,width:"550px",onConfirm:b,onClose:R},{default:o(()=>[a(v,{ref_key:"formRef",ref:n,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"?(d(),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"?(d(),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"?(d(),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-8nG574Ul.js";import{b as A,c as K}from"./message-C1n5MJUM.js";import{P as U}from"./index-D0lFf8Hm.js";import{f as Y,ak as d,I as q,a,aN as o,J as B,G as i,H as _,O as c}from"./@vue/runtime-core-C0pg79pw.js";import{y as l,u as y,r as N}from"./@vue/reactivity-BIbyPIZJ.js";import{Q as F}from"./@vue/shared-mAAVTE9n.js";const G={class:"edit-popup"},M=Y({__name:"edit",emits:["success"],setup(H,{expose:g,emit:E}){const V=E,n=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=n.value)==null?void 0:s.validate()),await A(t),(e=m.value)==null||e.close(),V("success")},C=async()=>{const s=await K({type:t.type});for(const e in s)t[e]=s[e]},P=s=>{var e;t.type=s,(e=m.value)==null||e.open(),C()},R=()=>{var s;(s=n.value)==null||s.resetFields()};return g({open:P}),(s,e)=>{const p=S,u=w,f=T,D=x,v=I;return d(),q("div",G,[a(U,{ref_key:"popupRef",ref:m,title:"设置短信",async:!0,width:"550px",onConfirm:b,onClose:R},{default:o(()=>[a(v,{ref_key:"formRef",ref:n,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"?(d(),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"?(d(),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"?(d(),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-CBs4YKEa.js b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-DQq0glJV.js
similarity index 95%
rename from server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-CBs4YKEa.js
rename to server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-DQq0glJV.js
index 507f3465..40bc42a9 100644
--- a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-CBs4YKEa.js
+++ b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-DQq0glJV.js
@@ -1 +1 @@
-import{D as S,B as H,G as J,I as K,S as $,C as j,a8 as z,h as Q}from"./element-plus-D9NzL5HE.js";import{_ as W}from"./picker.vue_vue_type_script_setup_true_lang-B2-wlvub.js";import{a as X,b as Y,c as Z,d as h}from"./menu-Bas3Z9V_.js";import{P as ee}from"./index-epy6JK8p.js";import{s as le,M as r,t as oe,v as te}from"./index-D54sWaXv.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-C0pg79pw.js";import{o as U,r as ue,y as l,u as w}from"./@vue/reactivity-BIbyPIZJ.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"},ge=ae({__name:"edit",emits:["success","close"],setup(ve,{expose:N,emit:x}){const T=x,c=w(),_=w(),b=U("add"),C=de(()=>b.value=="edit"?"编辑菜单":"新增菜单"),g=U(le()),O=(u,e)=>{const n=u?g.value.filter(V=>V.toLowerCase().includes(u.toLowerCase())):g.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)},M=async()=>{var u,e;await((u=c.value)==null?void 0:u.validate()),b.value=="edit"?await Y(o):await Z(o),(e=_.value)==null||e.close(),T("success")},q=(u="add")=>{var e;b.value=u,(e=_.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=()=>{T("close")};return B(),N({open:q,setFormData:E,getDetail:R}),(u,e)=>{const n=K,V=J,p=H,I=$,y=j,L=W,D=z,F=Q,P=S;return i(),se("div",re,[t(ee,{ref_key:"popupRef",ref:_,title:l(C),async:!0,width:"550px",onConfirm:M,onClose:G},{default:a(()=>[t(P,{ref_key:"formRef",ref:c,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(y,{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(y,{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(y,{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(y,{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(y,{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{ge as _};
+import{D as S,B as H,G as J,I as K,S as $,C as j,a8 as z,h as Q}from"./element-plus-8nG574Ul.js";import{_ as W}from"./picker.vue_vue_type_script_setup_true_lang-BFk_axfX.js";import{a as X,b as Y,c as Z,d as h}from"./menu-DjZJwqFA.js";import{P as ee}from"./index-D0lFf8Hm.js";import{s as le,M as r,t as oe,v as te}from"./index-C2ep5Cm2.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-C0pg79pw.js";import{o as U,r as ue,y as l,u as w}from"./@vue/reactivity-BIbyPIZJ.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"},ge=ae({__name:"edit",emits:["success","close"],setup(ve,{expose:N,emit:x}){const T=x,c=w(),_=w(),b=U("add"),C=de(()=>b.value=="edit"?"编辑菜单":"新增菜单"),g=U(le()),O=(u,e)=>{const n=u?g.value.filter(V=>V.toLowerCase().includes(u.toLowerCase())):g.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)},M=async()=>{var u,e;await((u=c.value)==null?void 0:u.validate()),b.value=="edit"?await Y(o):await Z(o),(e=_.value)==null||e.close(),T("success")},q=(u="add")=>{var e;b.value=u,(e=_.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=()=>{T("close")};return B(),N({open:q,setFormData:E,getDetail:R}),(u,e)=>{const n=K,V=J,p=H,I=$,y=j,L=W,D=z,F=Q,P=S;return i(),se("div",re,[t(ee,{ref_key:"popupRef",ref:_,title:l(C),async:!0,width:"550px",onConfirm:M,onClose:G},{default:a(()=>[t(P,{ref_key:"formRef",ref:c,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(y,{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(y,{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(y,{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(y,{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(y,{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{ge as _};
diff --git a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-CI95db1F.js b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-KJebBlnn.js
similarity index 91%
rename from server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-CI95db1F.js
rename to server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-KJebBlnn.js
index e6577b8e..1dd3cd06 100644
--- a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-CI95db1F.js
+++ b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-KJebBlnn.js
@@ -1 +1 @@
-import{D as R,B as E,C,G as D,I as F}from"./element-plus-D9NzL5HE.js";import{g as I,h as T}from"./dict-D-TwGFqw.js";import{P as U}from"./index-epy6JK8p.js";import{f as q,ak as B,I as N,a as t,aN as s,O as c,A}from"./@vue/runtime-core-C0pg79pw.js";import{y as a,u as _,r as G,o as P}from"./@vue/reactivity-BIbyPIZJ.js";const h={class:"edit-popup"},M=q({__name:"edit",emits:["success","close"],setup(z,{expose:y,emit:V}){const d=V,i=_(),m=_(),u=P("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 I(o):await T(o),(e=m.value)==null||e.close(),d("success")},k=()=>{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=F,x=D,g=R;return B(),N("div",h,[t(U,{ref_key:"popupRef",ref:m,title:a(v),async:!0,width:"550px",onConfirm:w,onClose:k},{default:s(()=>[t(g,{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(x,{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]=[c("正常",-1)])]),_:1}),t(f,{value:0},{default:s(()=>[...e[5]||(e[5]=[c("停用",-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{M as _};
+import{D as R,B as E,C,G as D,I as F}from"./element-plus-8nG574Ul.js";import{g as I,h as T}from"./dict-D7eNYVuL.js";import{P as U}from"./index-D0lFf8Hm.js";import{f as q,ak as B,I as N,a as t,aN as s,O as c,A}from"./@vue/runtime-core-C0pg79pw.js";import{y as a,u as _,r as G,o as P}from"./@vue/reactivity-BIbyPIZJ.js";const h={class:"edit-popup"},M=q({__name:"edit",emits:["success","close"],setup(z,{expose:y,emit:V}){const d=V,i=_(),m=_(),u=P("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 I(o):await T(o),(e=m.value)==null||e.close(),d("success")},k=()=>{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=F,x=D,g=R;return B(),N("div",h,[t(U,{ref_key:"popupRef",ref:m,title:a(v),async:!0,width:"550px",onConfirm:w,onClose:k},{default:s(()=>[t(g,{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(x,{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]=[c("正常",-1)])]),_:1}),t(f,{value:0},{default:s(()=>[...e[5]||(e[5]=[c("停用",-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{M as _};
diff --git a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-9bE4jCGp.js b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-O1ufMR-S.js
similarity index 95%
rename from server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-9bE4jCGp.js
rename to server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-O1ufMR-S.js
index 0307551b..f159b5af 100644
--- a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-9bE4jCGp.js
+++ b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-O1ufMR-S.js
@@ -1 +1 @@
-import{D as C,B as D,C as I,h as N,G as U,I as B}from"./element-plus-D9NzL5HE.js";import{a as F,b as q}from"./dict-D-TwGFqw.js";import{P as A}from"./index-epy6JK8p.js";import{f as G,ak as P,I as T,a as o,aN as t,J as _,O as c,A as z}from"./@vue/runtime-core-C0pg79pw.js";import{y as a,u as v,r as J,o as O}from"./@vue/reactivity-BIbyPIZJ.js";const S={class:"edit-popup"},Y=G({__name:"edit",emits:["success","close"],setup(j,{expose:V,emit:b}){const p=b,i=v(),m=v(),d=O("add"),w=z(()=>d.value=="edit"?"编辑字典数据":"新增字典数据"),l=J({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 F(l):await q(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,R=N,f=B,g=U,E=C;return P(),T("div",S,[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(R,{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(g,{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 B}from"./element-plus-8nG574Ul.js";import{a as F,b as q}from"./dict-D7eNYVuL.js";import{P as A}from"./index-D0lFf8Hm.js";import{f as G,ak as P,I as T,a as o,aN as t,J as _,O as c,A as z}from"./@vue/runtime-core-C0pg79pw.js";import{y as a,u as v,r as J,o as O}from"./@vue/reactivity-BIbyPIZJ.js";const S={class:"edit-popup"},Y=G({__name:"edit",emits:["success","close"],setup(j,{expose:V,emit:b}){const p=b,i=v(),m=v(),d=O("add"),w=z(()=>d.value=="edit"?"编辑字典数据":"新增字典数据"),l=J({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 F(l):await q(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,R=N,f=B,g=U,E=C;return P(),T("div",S,[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(R,{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(g,{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-B69kZeOW.js b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-rpcnoWUW.js
similarity index 95%
rename from server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-B69kZeOW.js
rename to server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-rpcnoWUW.js
index a39ecd70..ff9fc403 100644
--- a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-B69kZeOW.js
+++ b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_lang-rpcnoWUW.js
@@ -1 +1 @@
-import{D as B,B as D,I as U,C as Y,G}from"./element-plus-D9NzL5HE.js";import{r as g}from"./index-D54sWaXv.js";import{P as T}from"./index-epy6JK8p.js";import{f as h,ak as f,I as S,a as o,aN as r,J as u,O as _,G as F,H as b,A as P}from"./@vue/runtime-core-C0pg79pw.js";import{y as l,u as E,r as H}from"./@vue/reactivity-BIbyPIZJ.js";import{Q as V}from"./@vue/shared-mAAVTE9n.js";function le(){return g.get({url:"/setting.storage/lists"})}function J(d){return g.post({url:"/setting.storage/setup",params:d})}function L(d){return g.get({url:"/setting.storage/detail",params:d})}const Q={class:"edit-popup"},j={class:"form-tips"},z={key:0},M={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=H({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=P(()=>q.find(s=>s.type==t.engine)),O=async()=>{var s,e;await((s=p.value)==null?void 0:s.validate()),await J(t),(e=m.value)==null||e.close(),R("success")},K=async()=>{const s=await L({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 f(),S("div",Q,[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[_(V((y=l(k))==null?void 0:y.name),1)]}),_:1}),u("div",j,V((a=l(k))==null?void 0:a.tips),1)])]}),_:1}),l(t).engine!=="local"?(f(),S("div",z,[o(n,{label:" 存储空间名称",prop:"bucket"},{default:r(()=>[u("div",M,[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(),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]=[_("关闭",-1)])]),_:1}),o(c,{value:1},{default:r(()=>[...e[8]||(e[8]=[_("开启",-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-8nG574Ul.js";import{r as g}from"./index-C2ep5Cm2.js";import{P as T}from"./index-D0lFf8Hm.js";import{f as h,ak as f,I as S,a as o,aN as r,J as u,O as _,G as F,H as b,A as P}from"./@vue/runtime-core-C0pg79pw.js";import{y as l,u as E,r as H}from"./@vue/reactivity-BIbyPIZJ.js";import{Q as V}from"./@vue/shared-mAAVTE9n.js";function le(){return g.get({url:"/setting.storage/lists"})}function J(d){return g.post({url:"/setting.storage/setup",params:d})}function L(d){return g.get({url:"/setting.storage/detail",params:d})}const Q={class:"edit-popup"},j={class:"form-tips"},z={key:0},M={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=H({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=P(()=>q.find(s=>s.type==t.engine)),O=async()=>{var s,e;await((s=p.value)==null?void 0:s.validate()),await J(t),(e=m.value)==null||e.close(),R("success")},K=async()=>{const s=await L({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 f(),S("div",Q,[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[_(V((y=l(k))==null?void 0:y.name),1)]}),_:1}),u("div",j,V((a=l(k))==null?void 0:a.tips),1)])]}),_:1}),l(t).engine!=="local"?(f(),S("div",z,[o(n,{label:" 存储空间名称",prop:"bucket"},{default:r(()=>[u("div",M,[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(),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]=[_("关闭",-1)])]),_:1}),o(c,{value:1},{default:r(()=>[...e[8]||(e[8]=[_("开启",-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_name_articleColumnEdit_lang-BCFSBFF9.js b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_name_articleColumnEdit_lang-DwGubjD9.js
similarity index 90%
rename from server/public/admin/assets/edit.vue_vue_type_script_setup_true_name_articleColumnEdit_lang-BCFSBFF9.js
rename to server/public/admin/assets/edit.vue_vue_type_script_setup_true_name_articleColumnEdit_lang-DwGubjD9.js
index 4a1d61c4..904e6930 100644
--- a/server/public/admin/assets/edit.vue_vue_type_script_setup_true_name_articleColumnEdit_lang-BCFSBFF9.js
+++ b/server/public/admin/assets/edit.vue_vue_type_script_setup_true_name_articleColumnEdit_lang-DwGubjD9.js
@@ -1 +1 @@
-import{D,B,C as I,h as N,g as F}from"./element-plus-D9NzL5HE.js";import{d as U,e as A,f as P}from"./article-DY_XmIG_.js";import{P as S}from"./index-epy6JK8p.js";import{f as _,ak as q,I as J,a,aN as n,J as c,A as T}from"./@vue/runtime-core-C0pg79pw.js";import{y as l,u as f,r as j,o as z}from"./@vue/reactivity-BIbyPIZJ.js";const G={class:"edit-popup"},H=_({name:"articleColumnEdit"}),X=_({...H,emits:["success","close"],setup(K,{expose:v,emit:w}){const u=w,d=f(),r=f(),i=z("add"),V=T(()=>i.value=="edit"?"编辑栏目":"新增栏目"),o=j({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 A(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 P({id:t.id});p(e)},x=()=>{u("close")};return v({open:h,setFormData:p,getDetail:E}),(t,e)=>{const y=I,m=B,k=N,R=F,g=D;return q(),J("div",G,[a(S,{ref_key:"popupRef",ref:r,title:l(V),async:!0,width:"550px",onConfirm:b,onClose:x},{default:n(()=>[a(g,{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(k,{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(R,{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-8nG574Ul.js";import{d as U,e as A,f as P}from"./article-DrP7QuTz.js";import{P as S}from"./index-D0lFf8Hm.js";import{f as _,ak as q,I as J,a,aN as n,J as c,A as T}from"./@vue/runtime-core-C0pg79pw.js";import{y as l,u as f,r as j,o as z}from"./@vue/reactivity-BIbyPIZJ.js";const G={class:"edit-popup"},H=_({name:"articleColumnEdit"}),X=_({...H,emits:["success","close"],setup(K,{expose:v,emit:w}){const u=w,d=f(),r=f(),i=z("add"),V=T(()=>i.value=="edit"?"编辑栏目":"新增栏目"),o=j({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 A(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 P({id:t.id});p(e)},x=()=>{u("close")};return v({open:h,setFormData:p,getDetail:E}),(t,e)=>{const y=I,m=B,k=N,R=F,g=D;return q(),J("div",G,[a(S,{ref_key:"popupRef",ref:r,title:l(V),async:!0,width:"550px",onConfirm:b,onClose:x},{default:n(()=>[a(g,{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(k,{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(R,{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-D9NzL5HE.js b/server/public/admin/assets/element-plus-8nG574Ul.js
similarity index 99%
rename from server/public/admin/assets/element-plus-D9NzL5HE.js
rename to server/public/admin/assets/element-plus-8nG574Ul.js
index b4b90bef..39de0cff 100644
--- a/server/public/admin/assets/element-plus-D9NzL5HE.js
+++ b/server/public/admin/assets/element-plus-8nG574Ul.js
@@ -1,4 +1,4 @@
-import{q as ct,T as on,s as Ke,v as mi,l as hi,w as It,a as gi,r as ol,c as fd}from"./@vue/runtime-dom-iFk_KP8y.js";import{a5 as be,A as w,g as We,aJ as Wn,b as Je,n as Ee,w as se,aI as vd,am as Ze,f as ue,aq as q,ak as $,G as ee,T as pd,I as L,ab as ot,a8 as Mt,C as ca,aF as mn,aN as U,aP as je,J as H,at as Ye,H as X,O as rt,F as Me,a as Y,d as ro,aB as El,ae as ft,ac as md,k as $l,y as bi,t as yi,ad as rs,af as hd,M as sl,ap as ut,ar as et,as as Ci,i as $e,az as gd,Z as Va,o as bd}from"./@vue/runtime-core-C0pg79pw.js";import{n as Ae,i as Ne,a as yt,h as Lt,j as Ge,N as ht,z as wi,o as T,Q as he,p as Be,S as ar,G as yd,l as zo,B as Cd,P as za,w as or,C as wd}from"./@vue/shared-mAAVTE9n.js";import{o as I,a as Tn,y as o,H as io,C as kd,F as ki,u as _t,r as wt,m as Kl,J as pt,t as Ko,K as wn,M as Ka,B as Sd,s as Si}from"./@vue/reactivity-BIbyPIZJ.js";import{c as Rn,i as Ho,a as Ei,w as is,s as $i,b as Nl,d as us,l as rl,v as Ed,h as $d,e as Tl,f as Ni,g as Nd,j as cs,k as il,m as Hl,n as An,o as ul,p as Td,q as Pd,z as Id,r as Ti,t as Od,u as Rd,x as xd,y as Pi,A as Md,B as Dd,C as sr,D as Ii,E as Bd,F as Ld,G as Ad}from"./@element-plus/icons-vue-BZWa1PtL.js";import{g as fn,i as Tt,f as Wl,a as Ht,s as Fd,b as Vd,p as cl,c as zd,d as an,e as Oi,h as Kd,o as uo,j as jl,u as Eo,k as Wo,l as Cl,t as Ta,m as co,n as Ri,q as xi}from"./lodash-es-BADexyn7.js";import{E as fo,w as Hd}from"./@popperjs/core-C5az9QE8.js";import{d as Oe,c as ds,l as Wd,a as jd,w as Yd,b as Ud,e as _d,i as qd,f as Gd}from"./dayjs-DG77mNTn.js";import{T as Al}from"./@ctrl/tinycolor-BuyEbX8F.js";import{S as Xd}from"./async-validator-CFA_igpM.js";import{Y as Jd}from"./normalize-wheel-es-BQoi3Ox2.js";const Mi=Symbol();var Zd={name:"en",el:{breadcrumb:{label:"Breadcrumb"},colorpicker:{confirm:"OK",clear:"Clear",defaultLabel:"color picker",description:"current color is {color}. press enter to select a new color.",alphaLabel:"pick alpha value",alphaDescription:"alpha {alpha}, current color is {color}",hueLabel:"pick hue value",hueDescription:"hue {hue}, current color is {color}",svLabel:"pick saturation and brightness value",svDescription:"saturation {saturation}, brightness {brightness}, current color is {color}",predefineDescription:"select {value} as the color"},datepicker:{now:"Now",today:"Today",cancel:"Cancel",clear:"Clear",confirm:"OK",dateTablePrompt:"Use the arrow keys and enter to select the day of the month",monthTablePrompt:"Use the arrow keys and enter to select the month",yearTablePrompt:"Use the arrow keys and enter to select the year",selectedDate:"Selected date",selectDate:"Select date",selectTime:"Select time",startDate:"Start Date",startTime:"Start Time",endDate:"End Date",endTime:"End Time",prevYear:"Previous Year",nextYear:"Next Year",prevMonth:"Previous Month",nextMonth:"Next Month",year:"",month1:"January",month2:"February",month3:"March",month4:"April",month5:"May",month6:"June",month7:"July",month8:"August",month9:"September",month10:"October",month11:"November",month12:"December",weeks:{sun:"Sun",mon:"Mon",tue:"Tue",wed:"Wed",thu:"Thu",fri:"Fri",sat:"Sat"},weeksFull:{sun:"Sunday",mon:"Monday",tue:"Tuesday",wed:"Wednesday",thu:"Thursday",fri:"Friday",sat:"Saturday"},months:{jan:"Jan",feb:"Feb",mar:"Mar",apr:"Apr",may:"May",jun:"Jun",jul:"Jul",aug:"Aug",sep:"Sep",oct:"Oct",nov:"Nov",dec:"Dec"}},inputNumber:{decrease:"decrease number",increase:"increase number"},select:{loading:"Loading",noMatch:"No matching data",noData:"No data",placeholder:"Select"},mention:{loading:"Loading"},dropdown:{toggleDropdown:"Toggle Dropdown"},cascader:{noMatch:"No matching data",loading:"Loading",placeholder:"Select",noData:"No data"},pagination:{goto:"Go to",pagesize:"/page",total:"Total {total}",pageClassifier:"",page:"Page",prev:"Go to previous page",next:"Go to next page",currentPage:"page {pager}",prevPages:"Previous {pager} pages",nextPages:"Next {pager} pages",deprecationWarning:"Deprecated usages detected, please refer to the el-pagination documentation for more details"},dialog:{close:"Close this dialog"},drawer:{close:"Close this dialog"},messagebox:{title:"Message",confirm:"OK",cancel:"Cancel",error:"Illegal input",close:"Close this dialog"},upload:{deleteTip:"press delete to remove",delete:"Delete",preview:"Preview",continue:"Continue"},slider:{defaultLabel:"slider between {min} and {max}",defaultRangeStartLabel:"pick start value",defaultRangeEndLabel:"pick end value"},table:{emptyText:"No Data",confirmFilter:"Confirm",resetFilter:"Reset",clearFilter:"All",sumText:"Sum",selectAllLabel:"Select all rows",selectRowLabel:"Select this row",expandRowLabel:"Expand this row",collapseRowLabel:"Collapse this row",sortLabel:"Sort by {column}",filterLabel:"Filter by {column}"},tag:{close:"Close this tag"},tour:{next:"Next",previous:"Previous",finish:"Finish",close:"Close this dialog"},tree:{emptyText:"No Data"},transfer:{noMatch:"No matching data",noData:"No data",titles:["List 1","List 2"],filterPlaceholder:"Enter keyword",noCheckedFormat:"{total} items",hasCheckedFormat:"{checked}/{total} checked"},image:{error:"FAILED"},pageHeader:{title:"Back"},popconfirm:{confirmButtonText:"Yes",cancelButtonText:"No"},carousel:{leftArrow:"Carousel arrow left",rightArrow:"Carousel arrow right",indicator:"Carousel switch to index {index}"}}};const Qd=e=>(t,n)=>ef(t,n,o(e)),ef=(e,t,n)=>fn(n,e,e).replace(/\{(\w+)\}/g,(l,a)=>{var s;return`${(s=t==null?void 0:t[a])!=null?s:`{${a}}`}`}),tf=e=>{const t=w(()=>o(e).name),n=Tn(e)?e:I(e);return{lang:t,locale:n,t:Qd(e)}},Di=Symbol("localeContextKey"),tt=e=>{const t=e||be(Di,I());return tf(w(()=>t.value||Zd))},ia="el",nf="is-",gl=(e,t,n,l,a)=>{let s=`${e}-${t}`;return n&&(s+=`-${n}`),l&&(s+=`__${l}`),a&&(s+=`--${a}`),s},Bi=Symbol("namespaceContextKey"),fs=e=>{const t=e||(We()?be(Bi,I(ia)):I(ia));return w(()=>o(t)||ia)},de=(e,t)=>{const n=fs(t);return{namespace:n,b:(f="")=>gl(n.value,e,f,"",""),e:f=>f?gl(n.value,e,"",f,""):"",m:f=>f?gl(n.value,e,"","",f):"",be:(f,g)=>f&&g?gl(n.value,e,f,g,""):"",em:(f,g)=>f&&g?gl(n.value,e,"",f,g):"",bm:(f,g)=>f&&g?gl(n.value,e,f,"",g):"",bem:(f,g,b)=>f&&g&&b?gl(n.value,e,f,g,b):"",is:(f,...g)=>{const b=g.length>=1?g[0]:!0;return f&&b?`${nf}${f}`:""},cssVar:f=>{const g={};for(const b in f)f[b]&&(g[`--${n.value}-${b}`]=f[b]);return g},cssVarName:f=>`--${n.value}-${f}`,cssVarBlock:f=>{const g={};for(const b in f)f[b]&&(g[`--${n.value}-${e}-${b}`]=f[b]);return g},cssVarBlockName:f=>`--${n.value}-${e}-${f}`}},at=e=>e===void 0,bt=e=>typeof e=="boolean",Le=e=>typeof e=="number",vo=e=>!e&&e!==0||Ne(e)&&e.length===0||yt(e)&&!Object.keys(e).length,vn=e=>typeof Element>"u"?!1:e instanceof Element,yn=e=>Tt(e),lf=e=>Ae(e)?!Number.isNaN(Number(e)):!1,af=e=>e===window;function Li(e,t){var n;const l=_t();return Wn(()=>{l.value=e()},{...t,flush:(n=void 0)!=null?n:"sync"}),io(l)}function Pl(e){return kd()?(ki(e),!0):!1}function jn(e){return typeof e=="function"?e():o(e)}function of(e){if(!Tn(e))return wt(e);const t=new Proxy({},{get(n,l,a){return o(Reflect.get(e.value,l,a))},set(n,l,a){return Tn(e.value[l])&&!Tn(a)?e.value[l].value=a:e.value[l]=a,!0},deleteProperty(n,l){return Reflect.deleteProperty(e.value,l)},has(n,l){return Reflect.has(e.value,l)},ownKeys(){return Object.keys(e.value)},getOwnPropertyDescriptor(){return{enumerable:!0,configurable:!0}}});return wt(t)}function sf(e){return of(w(e))}const lt=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const rf=e=>typeof e<"u",Ai=e=>e!=null,uf=Object.prototype.toString,cf=e=>uf.call(e)==="[object Object]",Fi=(e,t,n)=>Math.min(n,Math.max(t,e)),In=()=>{},jo=df();function df(){var e,t;return lt&&((e=window==null?void 0:window.navigator)==null?void 0:e.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((t=window==null?void 0:window.navigator)==null?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test(window==null?void 0:window.navigator.userAgent))}function Vi(e,t){function n(...l){return new Promise((a,s)=>{Promise.resolve(e(()=>t.apply(this,l),{fn:t,thisArg:this,args:l})).then(a).catch(s)})}return n}function ff(e,t={}){let n,l,a=In;const s=r=>{clearTimeout(r),a(),a=In};return r=>{const c=jn(e),u=jn(t.maxWait);return n&&s(n),c<=0||u!==void 0&&u<=0?(l&&(s(l),l=null),Promise.resolve(r())):new Promise((p,v)=>{a=t.rejectOnCancel?v:p,u&&!l&&(l=setTimeout(()=>{n&&s(n),l=null,p(r())},u)),n=setTimeout(()=>{l&&s(l),l=null,p(r())},c)})}}function vf(...e){let t=0,n,l=!0,a=In,s,i,r,c,u;!Tn(e[0])&&typeof e[0]=="object"?{delay:i,trailing:r=!0,leading:c=!0,rejectOnCancel:u=!1}=e[0]:[i,r=!0,c=!0,u=!1]=e;const p=()=>{n&&(clearTimeout(n),n=void 0,a(),a=In)};return h=>{const m=jn(i),d=Date.now()-t,f=()=>s=h();return p(),m<=0?(t=Date.now(),f()):(d>m&&(c||!l)?(t=Date.now(),f()):r&&(s=new Promise((g,b)=>{a=u?b:g,n=setTimeout(()=>{t=Date.now(),l=!0,g(f()),p()},Math.max(0,m-d))})),!c&&!n&&(n=setTimeout(()=>l=!0,m)),l=!1,s)}}function pf(e){return We()}function vs(e,t=200,n={}){return Vi(ff(t,n),e)}function mf(e,t=200,n={}){const l=I(e.value),a=vs(()=>{l.value=e.value},t,n);return se(e,()=>a()),l}function hf(e,t=200,n=!1,l=!0,a=!1){return Vi(vf(t,n,l,a),e)}function zi(e,t=!0,n){pf()?Je(e,n):t?e():Ee(e)}function Yl(e,t,n={}){const{immediate:l=!0}=n,a=I(!1);let s=null;function i(){s&&(clearTimeout(s),s=null)}function r(){a.value=!1,i()}function c(...u){i(),a.value=!0,s=setTimeout(()=>{a.value=!1,s=null,e(...u)},jn(t))}return l&&(a.value=!0,lt&&c()),Pl(r),{isPending:io(a),start:c,stop:r}}function At(e){var t;const n=jn(e);return(t=n==null?void 0:n.$el)!=null?t:n}const Un=lt?window:void 0,gf=lt?window.document:void 0;function gt(...e){let t,n,l,a;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,l,a]=e,t=Un):[t,n,l,a]=e,!t)return In;Array.isArray(n)||(n=[n]),Array.isArray(l)||(l=[l]);const s=[],i=()=>{s.forEach(p=>p()),s.length=0},r=(p,v,h,m)=>(p.addEventListener(v,h,m),()=>p.removeEventListener(v,h,m)),c=se(()=>[At(t),jn(a)],([p,v])=>{if(i(),!p)return;const h=cf(v)?{...v}:v;s.push(...n.flatMap(m=>l.map(d=>r(p,m,d,h))))},{immediate:!0,flush:"post"}),u=()=>{c(),i()};return Pl(u),u}let rr=!1;function ps(e,t,n={}){const{window:l=Un,ignore:a=[],capture:s=!0,detectIframe:i=!1}=n;if(!l)return In;jo&&!rr&&(rr=!0,Array.from(l.document.body.children).forEach(h=>h.addEventListener("click",In)),l.document.documentElement.addEventListener("click",In));let r=!0;const c=h=>a.some(m=>{if(typeof m=="string")return Array.from(l.document.querySelectorAll(m)).some(d=>d===h.target||h.composedPath().includes(d));{const d=At(m);return d&&(h.target===d||h.composedPath().includes(d))}}),p=[gt(l,"click",h=>{const m=At(e);if(!(!m||m===h.target||h.composedPath().includes(m))){if(h.detail===0&&(r=!c(h)),!r){r=!0;return}t(h)}},{passive:!0,capture:s}),gt(l,"pointerdown",h=>{const m=At(e);r=!c(h)&&!!(m&&!h.composedPath().includes(m))},{passive:!0}),i&>(l,"blur",h=>{setTimeout(()=>{var m;const d=At(e);((m=l.document.activeElement)==null?void 0:m.tagName)==="IFRAME"&&!(d!=null&&d.contains(l.document.activeElement))&&t(h)},0)})].filter(Boolean);return()=>p.forEach(h=>h())}function bf(){const e=I(!1),t=We();return t&&Je(()=>{e.value=!0},t),e}function po(e){const t=bf();return w(()=>(t.value,!!e()))}function yf(e,t,n={}){const{window:l=Un,...a}=n;let s;const i=po(()=>l&&"MutationObserver"in l),r=()=>{s&&(s.disconnect(),s=void 0)},c=w(()=>{const h=jn(e),m=(Array.isArray(h)?h:[h]).map(At).filter(Ai);return new Set(m)}),u=se(()=>c.value,h=>{r(),i.value&&h.size&&(s=new MutationObserver(t),h.forEach(m=>s.observe(m,a)))},{immediate:!0,flush:"post"}),p=()=>s==null?void 0:s.takeRecords(),v=()=>{r(),u()};return Pl(v),{isSupported:i,stop:v,takeRecords:p}}function Cf(e,t={}){const{window:n=Un}=t,l=po(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function");let a;const s=I(!1),i=u=>{s.value=u.matches},r=()=>{a&&("removeEventListener"in a?a.removeEventListener("change",i):a.removeListener(i))},c=Wn(()=>{l.value&&(r(),a=n.matchMedia(jn(e)),"addEventListener"in a?a.addEventListener("change",i):a.addListener(i),s.value=a.matches)});return Pl(()=>{c(),r(),a=void 0}),s}function wf(e){return JSON.parse(JSON.stringify(e))}function kf(e={}){const{document:t=gf}=e;if(!t)return I("visible");const n=I(t.visibilityState);return gt(t,"visibilitychange",()=>{n.value=t.visibilityState}),n}function Bt(e,t,n={}){const{window:l=Un,...a}=n;let s;const i=po(()=>l&&"ResizeObserver"in l),r=()=>{s&&(s.disconnect(),s=void 0)},c=w(()=>Array.isArray(e)?e.map(v=>At(v)):[At(e)]),u=se(c,v=>{if(r(),i.value&&l){s=new ResizeObserver(t);for(const h of v)h&&s.observe(h,a)}},{immediate:!0,flush:"post"}),p=()=>{r(),u()};return Pl(p),{isSupported:i,stop:p}}function ir(e,t={width:0,height:0},n={}){const{window:l=Un,box:a="content-box"}=n,s=w(()=>{var v,h;return(h=(v=At(e))==null?void 0:v.namespaceURI)==null?void 0:h.includes("svg")}),i=I(t.width),r=I(t.height),{stop:c}=Bt(e,([v])=>{const h=a==="border-box"?v.borderBoxSize:a==="content-box"?v.contentBoxSize:v.devicePixelContentBoxSize;if(l&&s.value){const m=At(e);if(m){const d=m.getBoundingClientRect();i.value=d.width,r.value=d.height}}else if(h){const m=Array.isArray(h)?h:[h];i.value=m.reduce((d,{inlineSize:f})=>d+f,0),r.value=m.reduce((d,{blockSize:f})=>d+f,0)}else i.value=v.contentRect.width,r.value=v.contentRect.height},n);zi(()=>{const v=At(e);v&&(i.value="offsetWidth"in v?v.offsetWidth:t.width,r.value="offsetHeight"in v?v.offsetHeight:t.height)});const u=se(()=>At(e),v=>{i.value=v?t.width:0,r.value=v?t.height:0});function p(){c(),u()}return{width:i,height:r,stop:p}}function Sf(e,t,n={}){const{root:l,rootMargin:a="0px",threshold:s=.1,window:i=Un,immediate:r=!0}=n,c=po(()=>i&&"IntersectionObserver"in i),u=w(()=>{const d=jn(e);return(Array.isArray(d)?d:[d]).map(At).filter(Ai)});let p=In;const v=I(r),h=c.value?se(()=>[u.value,At(l),v.value],([d,f])=>{if(p(),!v.value||!d.length)return;const g=new IntersectionObserver(t,{root:At(f),rootMargin:a,threshold:s});d.forEach(b=>b&&g.observe(b)),p=()=>{g.disconnect(),p=In}},{immediate:r,flush:"post"}):In,m=()=>{p(),h(),v.value=!1};return Pl(m),{isSupported:c,isActive:v,pause(){p(),v.value=!1},resume(){v.value=!0},stop:m}}function Ef(e,t,n,l={}){var a,s,i;const{clone:r=!1,passive:c=!1,eventName:u,deep:p=!1,defaultValue:v,shouldEmit:h}=l,m=We(),d=(m==null?void 0:m.emit)||((a=m==null?void 0:m.$emit)==null?void 0:a.bind(m))||((i=(s=m==null?void 0:m.proxy)==null?void 0:s.$emit)==null?void 0:i.bind(m==null?void 0:m.proxy));let f=u;f=f||`update:${t.toString()}`;const g=C=>r?typeof r=="function"?r(C):wf(C):C,b=()=>rf(e[t])?g(e[t]):v,S=C=>{h?h(C)&&d(f,C):d(f,C)};if(c){const C=b(),y=I(C);let k=!1;return se(()=>e[t],E=>{k||(k=!0,y.value=g(E),Ee(()=>k=!1))}),se(y,E=>{!k&&(E!==e[t]||p)&&S(E)},{deep:p}),y}else return w({get(){return b()},set(C){S(C)}})}function $f(e={}){const{window:t=Un}=e;if(!t)return I(!1);const n=I(t.document.hasFocus());return gt(t,"blur",()=>{n.value=!1}),gt(t,"focus",()=>{n.value=!0}),n}function Nf(e={}){const{window:t=Un,initialWidth:n=Number.POSITIVE_INFINITY,initialHeight:l=Number.POSITIVE_INFINITY,listenOrientation:a=!0,includeScrollbar:s=!0}=e,i=I(n),r=I(l),c=()=>{t&&(s?(i.value=t.innerWidth,r.value=t.innerHeight):(i.value=t.document.documentElement.clientWidth,r.value=t.document.documentElement.clientHeight))};if(c(),zi(c),gt("resize",c,{passive:!0}),a){const u=Cf("(orientation: portrait)");se(u,()=>c())}return{width:i,height:r}}class Tf extends Error{constructor(t){super(t),this.name="ElementPlusError"}}function Wt(e,t){throw new Tf(`[${e}] ${t}`)}const ur={current:0},cr=I(0),Ki=2e3,dr=Symbol("elZIndexContextKey"),Hi=Symbol("zIndexContextKey"),mo=e=>{const t=We()?be(dr,ur):ur,n=e||(We()?be(Hi,void 0):void 0),l=w(()=>{const i=o(n);return Le(i)?i:Ki}),a=w(()=>l.value+cr.value),s=()=>(t.current++,cr.value=t.current,a.value);return!lt&&be(dr),{initialZIndex:l,currentZIndex:a,nextZIndex:s}},Wi="__epPropKey",_=e=>e,Pf=e=>yt(e)&&!!e[Wi],ho=(e,t)=>{if(!yt(e)||Pf(e))return e;const{values:n,required:l,default:a,type:s,validator:i}=e,c={type:s,required:!!l,validator:n||i?u=>{let p=!1,v=[];if(n&&(v=Array.from(n),Lt(e,"default")&&v.push(a),p||(p=v.includes(u))),i&&(p||(p=i(u))),!p&&v.length>0){const h=[...new Set(v)].map(m=>JSON.stringify(m)).join(", ");vd(`Invalid prop: validation failed${t?` for prop "${t}"`:""}. Expected one of [${h}], got value ${JSON.stringify(u)}.`)}return p}:void 0,[Wi]:!0};return Lt(e,"default")&&(c.default=a),c},pe=e=>Wl(Object.entries(e).map(([t,n])=>[t,ho(n,t)])),Vn=["","default","small","large"],sn=ho({type:String,values:Vn,required:!1}),ji=Symbol("size"),Yi=()=>{const e=be(ji,{});return w(()=>o(e.size)||"")},Ui=Symbol("emptyValuesContextKey"),If=["",void 0,null],Of=void 0,ya=pe({emptyValues:Array,valueOnClear:{type:_([String,Number,Boolean,Function]),default:void 0,validator:e=>(e=Ge(e)?e():e,Ne(e)?e.every(t=>!t):!e)}}),ms=(e,t)=>{const n=We()?be(Ui,I({})):I({}),l=w(()=>e.emptyValues||n.value.emptyValues||If),a=w(()=>Ge(e.valueOnClear)?e.valueOnClear():e.valueOnClear!==void 0?e.valueOnClear:Ge(n.value.valueOnClear)?n.value.valueOnClear():n.value.valueOnClear!==void 0?n.value.valueOnClear:t!==void 0?t:Of),s=i=>{let r=!0;return Ne(i)?r=l.value.some(c=>Ht(i,c)):r=l.value.includes(i),r};return s(a.value),{emptyValues:l,valueOnClear:a,isEmptyValue:s}},Xa=e=>Object.keys(e),Rf=e=>Object.entries(e),ll=(e,t,n)=>({get value(){return fn(e,t,n)},set value(l){Fd(e,t,l)}}),Ja=I();function _n(e,t=void 0){const n=We()?be(Mi,Ja):Ja;return e?w(()=>{var l,a;return(a=(l=n.value)==null?void 0:l[e])!=null?a:t}):n}function go(e,t){const n=_n(),l=de(e,w(()=>{var r;return((r=n.value)==null?void 0:r.namespace)||ia})),a=tt(w(()=>{var r;return(r=n.value)==null?void 0:r.locale})),s=mo(w(()=>{var r;return((r=n.value)==null?void 0:r.zIndex)||Ki})),i=w(()=>{var r;return o(t)||((r=n.value)==null?void 0:r.size)||""});return _i(w(()=>o(n)||{})),{ns:l,locale:a,zIndex:s,size:i}}const _i=(e,t,n=!1)=>{var l;const a=!!We(),s=a?_n():void 0,i=(l=void 0)!=null?l:a?Ze:void 0;if(!i)return;const r=w(()=>{const c=o(e);return s!=null&&s.value?xf(s.value,c):c});return i(Mi,r),i(Di,w(()=>r.value.locale)),i(Bi,w(()=>r.value.namespace)),i(Hi,w(()=>r.value.zIndex)),i(ji,{size:w(()=>r.value.size||"")}),i(Ui,w(()=>({emptyValues:r.value.emptyValues,valueOnClear:r.value.valueOnClear}))),(n||!Ja.value)&&(Ja.value=r.value),r},xf=(e,t)=>{const n=[...new Set([...Xa(e),...Xa(t)])],l={};for(const a of n)l[a]=t[a]!==void 0?t[a]:e[a];return l},hs=pe({to:{type:_([String,Object]),required:!0},disabled:Boolean}),Ue="update:modelValue",mt="change",Cn="input";var Mf=ue({__name:"teleport",props:hs,setup(e){return(t,n)=>t.disabled?q(t.$slots,"default",{key:0}):($(),ee(pd,{key:1,to:t.to},[q(t.$slots,"default")],8,["to"]))}});const qi=e=>{const t=e.props,n=Ne(t)?Wl(t.map(l=>[l,{}])):t;e.setPropsDefaults=l=>{if(n){for(const[a,s]of Object.entries(l)){const i=n[a];if(Lt(n,a)){if(Vd(i)){n[a]={...i,default:s};continue}n[a]={type:i,default:s}}}e.props=n}}},qe=(e,t)=>{if(e.install=n=>{for(const l of[e,...Object.values(t??{})])n.component(l.name,l)},t)for(const[n,l]of Object.entries(t))e[n]=l;return qi(e),e},Gi=(e,t)=>(e.install=n=>{e._context=n._context,n.config.globalProperties[t]=e},e),Df=(e,t)=>(e.install=n=>{n.directive(t,e)},e),jt=e=>(e.install=ht,qi(e),e),bo=qe(Mf),gs=e=>lt?window.requestAnimationFrame(e):setTimeout(e,16),Bf=e=>lt?window.cancelAnimationFrame(e):clearTimeout(e),Lf='a[href],button:not([disabled]),button:not([hidden]),:not([tabindex="-1"]),input:not([disabled]),input:not([type="hidden"]),select:not([disabled]),textarea:not([disabled])',Xi=e=>typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot,fr=e=>typeof Element>"u"?!1:e instanceof Element,Af=e=>getComputedStyle(e).position==="fixed"?!1:e.offsetParent!==null,vr=e=>Array.from(e.querySelectorAll(Lf)).filter(t=>da(t)&&Af(t)),da=e=>{if(e.tabIndex>0||e.tabIndex===0&&e.getAttribute("tabIndex")!==null)return!0;if(e.tabIndex<0||e.hasAttribute("disabled")||e.getAttribute("aria-disabled")==="true")return!1;switch(e.nodeName){case"A":return!!e.href&&e.rel!=="ignore";case"INPUT":return!(e.type==="hidden"||e.type==="file");case"BUTTON":case"SELECT":case"TEXTAREA":return!0;default:return!1}},Ha=function(e,t,...n){let l;t.includes("mouse")||t.includes("click")?l="MouseEvents":t.includes("key")?l="KeyboardEvent":l="HTMLEvents";const a=document.createEvent(l);return a.initEvent(t,...n),e.dispatchEvent(a),e},yo=(e,t)=>{if(!e||!e.focus)return;let n=!1;fr(e)&&!da(e)&&!e.getAttribute("tabindex")&&(e.setAttribute("tabindex","-1"),n=!0),e.focus(t),fr(e)&&n&&e.removeAttribute("tabindex")},Ji=(e="")=>e.split(" ").filter(t=>!!t.trim()),Fn=(e,t)=>{if(!e||!t)return!1;if(t.includes(" "))throw new Error("className should not contain space.");return e.classList.contains(t)},$n=(e,t)=>{!e||!t.trim()||e.classList.add(...Ji(t))},en=(e,t)=>{!e||!t.trim()||e.classList.remove(...Ji(t))},el=(e,t)=>{var n;if(!lt||!e||!t||Xi(e))return"";let l=wi(t);l==="float"&&(l="cssFloat");try{const a=e.style[l];if(a)return a;const s=(n=document.defaultView)==null?void 0:n.getComputedStyle(e,"");return s?s[l]:""}catch{return e.style[l]}};function Pt(e,t="px"){if(!e&&e!==0)return"";if(Le(e)||lf(e))return`${e}${t}`;if(Ae(e))return e}const Ff=(e,t)=>{if(!lt)return!1;const n={undefined:"overflow",true:"overflow-y",false:"overflow-x"}[String(t)],l=el(e,n);return["scroll","auto","overlay"].some(a=>l.includes(a))},Vf=(e,t)=>{if(!lt)return;let n=e;for(;n;){if([window,document,document.documentElement].includes(n))return window;if(Ff(n,t))return n;Xi(n)?n=n.host:n=n.parentNode}return n};let Pa;const zf=e=>{var t;if(!lt)return 0;if(Pa!==void 0)return Pa;const n=document.createElement("div");n.className=`${e}-scrollbar__wrap`,n.style.visibility="hidden",n.style.width="100px",n.style.position="absolute",n.style.top="-9999px",document.body.appendChild(n);const l=n.offsetWidth;n.style.overflow="scroll";const a=document.createElement("div");a.style.width="100%",n.appendChild(a);const s=a.offsetWidth;return(t=n.parentNode)==null||t.removeChild(n),Pa=l-s,Pa};function Kf(e,t){if(!lt)return;if(!t){e.scrollTop=0;return}const n=[];let l=t.offsetParent;for(;l!==null&&e!==l&&e.contains(l);)n.push(l),l=l.offsetParent;const a=t.offsetTop+n.reduce((c,u)=>c+u.offsetTop,0),s=a+t.offsetHeight,i=e.scrollTop,r=i+e.clientHeight;ar&&(e.scrollTop=s-e.clientHeight)}const Ct=_([String,Object,Function]),Hf={Close:Rn},bs={Close:Rn,SuccessFilled:$i,InfoFilled:Ho,WarningFilled:is,CircleCloseFilled:Ei},dl={primary:Ho,success:$i,warning:is,error:Ei,info:Ho},Zi={validating:rl,success:us,error:Nl},Wf=["light","dark"],jf=pe({title:{type:String,default:""},description:{type:String,default:""},type:{type:String,values:Xa(dl),default:"info"},closable:{type:Boolean,default:!0},closeText:{type:String,default:""},showIcon:Boolean,center:Boolean,effect:{type:String,values:Wf,default:"light"}}),Yf={close:e=>e instanceof MouseEvent},Uf=pe({size:{type:_([Number,String])},color:{type:String}});var _f=ue({name:"ElIcon",inheritAttrs:!1,__name:"icon",props:Uf,setup(e){const t=e,n=de("icon"),l=w(()=>{const{size:a,color:s}=t,i=Pt(a);return!i&&!s?{}:{fontSize:i,"--color":s}});return(a,s)=>($(),L("i",ot({class:o(n).b(),style:l.value},a.$attrs),[q(a.$slots,"default")],16))}});const Ce=qe(_f);var Wa=(e=>(e[e.TEXT=1]="TEXT",e[e.CLASS=2]="CLASS",e[e.STYLE=4]="STYLE",e[e.PROPS=8]="PROPS",e[e.FULL_PROPS=16]="FULL_PROPS",e[e.HYDRATE_EVENTS=32]="HYDRATE_EVENTS",e[e.STABLE_FRAGMENT=64]="STABLE_FRAGMENT",e[e.KEYED_FRAGMENT=128]="KEYED_FRAGMENT",e[e.UNKEYED_FRAGMENT=256]="UNKEYED_FRAGMENT",e[e.NEED_PATCH=512]="NEED_PATCH",e[e.DYNAMIC_SLOTS=1024]="DYNAMIC_SLOTS",e[e.HOISTED=-1]="HOISTED",e[e.BAIL=-2]="BAIL",e))(Wa||{});function qf(e){return Mt(e)&&e.type===ca}const Gf=e=>{if(!Mt(e))return{};const t=e.props||{},n=(Mt(e.type)?e.type.props:void 0)||{},l={};return Object.keys(n).forEach(a=>{Lt(n[a],"default")&&(l[a]=n[a].default)}),Object.keys(t).forEach(a=>{l[wi(a)]=t[a]}),l},Ln=e=>{const t=Ne(e)?e:[e],n=[];return t.forEach(l=>{var a;Ne(l)?n.push(...Ln(l)):Mt(l)&&((a=l.component)!=null&&a.subTree)?n.push(l,...Ln(l.component.subTree)):Mt(l)&&Ne(l.children)?n.push(...Ln(l.children)):Mt(l)&&l.shapeFlag===2?n.push(...Ln(l.type())):n.push(l)}),n};var Xf=ue({name:"ElAlert",__name:"alert",props:jf,emits:Yf,setup(e,{emit:t}){const{Close:n}=bs,l=e,a=t,s=mn(),i=de("alert"),r=I(!0),c=w(()=>dl[l.type]),u=w(()=>{var v;if(l.description)return!0;const h=(v=s.default)==null?void 0:v.call(s);return h?Ln(h).some(d=>!qf(d)):!1}),p=v=>{r.value=!1,a("close",v)};return(v,h)=>($(),ee(on,{name:o(i).b("fade"),persisted:""},{default:U(()=>[je(H("div",{class:T([o(i).b(),o(i).m(e.type),o(i).is("center",e.center),o(i).is(e.effect)]),role:"alert"},[e.showIcon&&(v.$slots.icon||c.value)?($(),ee(o(Ce),{key:0,class:T([o(i).e("icon"),o(i).is("big",u.value)])},{default:U(()=>[q(v.$slots,"icon",{},()=>[($(),ee(Ye(c.value)))])]),_:3},8,["class"])):X("v-if",!0),H("div",{class:T(o(i).e("content"))},[e.title||v.$slots.title?($(),L("span",{key:0,class:T([o(i).e("title"),{"with-description":u.value}])},[q(v.$slots,"title",{},()=>[rt(he(e.title),1)])],2)):X("v-if",!0),u.value?($(),L("p",{key:1,class:T(o(i).e("description"))},[q(v.$slots,"default",{},()=>[rt(he(e.description),1)])],2)):X("v-if",!0),e.closable?($(),L(Me,{key:2},[e.closeText?($(),L("div",{key:0,class:T([o(i).e("close-btn"),o(i).is("customed")]),onClick:p},he(e.closeText),3)):($(),ee(o(Ce),{key:1,class:T(o(i).e("close-btn")),onClick:p},{default:U(()=>[Y(o(n))]),_:1},8,["class"]))],64)):X("v-if",!0)],2)],2),[[ct,r.value]])]),_:3},8,["name"]))}});const YS=qe(Xf),Qi=pe({arrowOffset:{type:Number,default:5}}),Jf=pe({ariaLabel:String,ariaOrientation:{type:String,values:["horizontal","vertical","undefined"]},ariaControls:String}),Pn=e=>cl(Jf,e),Zf=["fixed","absolute"],Qf=pe({boundariesPadding:{type:Number,default:0},fallbackPlacements:{type:_(Array),default:void 0},gpuAcceleration:{type:Boolean,default:!0},offset:{type:Number,default:12},placement:{type:String,values:fo,default:"bottom"},popperOptions:{type:_(Object),default:()=>({})},strategy:{type:String,values:Zf,default:"absolute"}}),eu=pe({...Qf,...Qi,id:String,style:{type:_([String,Array,Object])},className:{type:_([String,Array,Object])},effect:{type:_(String),default:"dark"},visible:Boolean,enterable:{type:Boolean,default:!0},pure:Boolean,focusOnShow:Boolean,trapping:Boolean,popperClass:{type:_([String,Array,Object])},popperStyle:{type:_([String,Array,Object])},referenceEl:{type:_(Object)},triggerTargetEl:{type:_(Object)},stopPopperMouseEvent:{type:Boolean,default:!0},virtualTriggering:Boolean,zIndex:Number,...Pn(["ariaLabel"]),loop:Boolean}),ev={mouseenter:e=>e instanceof MouseEvent,mouseleave:e=>e instanceof MouseEvent,focus:()=>!0,blur:()=>!0,close:()=>!0};function pr(){let e;const t=(l,a)=>{n(),e=window.setTimeout(l,a)},n=()=>window.clearTimeout(e);return Pl(()=>n()),{registerTimeout:t,cancelTimeout:n}}const tv=pe({showAfter:{type:Number,default:0},hideAfter:{type:Number,default:200},autoClose:{type:Number,default:0}}),nv=({showAfter:e,hideAfter:t,autoClose:n,open:l,close:a})=>{const{registerTimeout:s}=pr(),{registerTimeout:i,cancelTimeout:r}=pr();return{onOpen:(p,v=o(e))=>{s(()=>{l(p);const h=o(n);Le(h)&&h>0&&i(()=>{a(p)},h)},v)},onClose:(p,v=o(t))=>{r(),s(()=>{a(p)},v)}}},vt=pe({...tv,...eu,appendTo:{type:hs.to.type},content:{type:String,default:""},rawContent:Boolean,persistent:Boolean,visible:{type:_(Boolean),default:null},transition:String,teleported:{type:Boolean,default:!0},disabled:Boolean,...Pn(["ariaLabel"])}),Kt=e=>e,ys=pe({id:{type:String,default:void 0},size:sn,disabled:{type:Boolean,default:void 0},modelValue:{type:_([String,Number,Object]),default:""},modelModifiers:{type:_(Object),default:()=>({})},maxlength:{type:[String,Number]},minlength:{type:[String,Number]},type:{type:_(String),default:"text"},resize:{type:String,values:["none","both","horizontal","vertical"]},autosize:{type:_([Boolean,Object]),default:!1},autocomplete:{type:_(String),default:"off"},formatter:{type:Function},parser:{type:Function},placeholder:{type:String},form:{type:String},readonly:Boolean,clearable:Boolean,clearIcon:{type:Ct,default:Nl},showPassword:Boolean,showWordLimit:Boolean,wordLimitPosition:{type:String,values:["inside","outside"],default:"inside"},suffixIcon:{type:Ct},prefixIcon:{type:Ct},containerRole:{type:String,default:void 0},tabindex:{type:[String,Number],default:0},validateEvent:{type:Boolean,default:!0},inputStyle:{type:_([Object,Array,String]),default:()=>Kt({})},autofocus:Boolean,rows:{type:Number,default:2},...Pn(["ariaLabel"]),inputmode:{type:_(String),default:void 0},name:String}),lv={[Ue]:e=>Ae(e),input:e=>Ae(e),change:(e,t)=>Ae(e)&&(t instanceof Event||t===void 0),focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent,clear:()=>!0,mouseleave:e=>e instanceof MouseEvent,mouseenter:e=>e instanceof MouseEvent,keydown:e=>e instanceof Event,compositionstart:e=>e instanceof CompositionEvent,compositionupdate:e=>e instanceof CompositionEvent,compositionend:e=>e instanceof CompositionEvent};Kl(Nl);const av=pe({...ys,valueKey:{type:String,default:"value"},modelValue:{type:[String,Number],default:""},debounce:{type:Number,default:300},placement:{type:_(String),values:["top","top-start","top-end","bottom","bottom-start","bottom-end"],default:"bottom-start"},fetchSuggestions:{type:_([Function,Array]),default:ht},popperClass:vt.popperClass,popperStyle:vt.popperStyle,triggerOnFocus:{type:Boolean,default:!0},selectWhenUnmatched:Boolean,hideLoading:Boolean,teleported:vt.teleported,appendTo:vt.appendTo,highlightFirstItem:Boolean,fitInputWidth:Boolean,loopNavigation:{type:Boolean,default:!0}}),ov={[Ue]:e=>Ae(e)||Le(e),[Cn]:e=>Ae(e)||Le(e),[mt]:e=>Ae(e)||Le(e),focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent,clear:()=>!0,select:e=>yt(e)},Cs=()=>lt&&/firefox/i.test(window.navigator.userAgent),sv=()=>lt&&/android/i.test(window.navigator.userAgent);let cn;const rv={height:"0",visibility:"hidden",overflow:Cs()?"":"hidden",position:"absolute","z-index":"-1000",top:"0",right:"0"},iv=["letter-spacing","line-height","padding-top","padding-bottom","font-family","font-weight","font-size","text-rendering","text-transform","width","text-indent","padding-left","padding-right","border-width","box-sizing","word-break"],mr=e=>{const t=Number.parseFloat(e);return Number.isNaN(t)?e:t};function uv(e){const t=window.getComputedStyle(e),n=t.getPropertyValue("box-sizing"),l=Number.parseFloat(t.getPropertyValue("padding-bottom"))+Number.parseFloat(t.getPropertyValue("padding-top")),a=Number.parseFloat(t.getPropertyValue("border-bottom-width"))+Number.parseFloat(t.getPropertyValue("border-top-width"));return{contextStyle:iv.map(i=>[i,t.getPropertyValue(i)]),paddingSize:l,borderSize:a,boxSizing:n}}function hr(e,t=1,n){var l;if(!cn){cn=document.createElement("textarea");let v=document.body;!Cs()&&e.parentNode&&(v=e.parentNode),v.appendChild(cn)}const{paddingSize:a,borderSize:s,boxSizing:i,contextStyle:r}=uv(e);r.forEach(([v,h])=>cn==null?void 0:cn.style.setProperty(v,h)),Object.entries(rv).forEach(([v,h])=>cn==null?void 0:cn.style.setProperty(v,h,"important")),cn.value=e.value||e.placeholder||"";let c=cn.scrollHeight;const u={};i==="border-box"?c=c+s:i==="content-box"&&(c=c-a),cn.value="";const p=cn.scrollHeight-a;if(Le(t)){let v=p*t;i==="border-box"&&(v=v+a+s),c=Math.max(v,c),u.minHeight=`${v}px`}if(Le(n)){let v=p*n;i==="border-box"&&(v=v+a+s),c=Math.min(v,c)}return u.height=`${c}px`,(l=cn.parentNode)==null||l.removeChild(cn),cn=void 0,u}const cv=["class","style"],dv=/^on[A-Z]/,ws=(e={})=>{const{excludeListeners:t=!1,excludeKeys:n}=e,l=w(()=>((n==null?void 0:n.value)||[]).concat(cv)),a=We();return a?w(()=>{var s;return Wl(Object.entries((s=a.proxy)==null?void 0:s.$attrs).filter(([i])=>!l.value.includes(i)&&!(t&&dv.test(i))))}):w(()=>({}))},tu=e=>{const t=We();return w(()=>{var n,l;return(l=(n=t==null?void 0:t.proxy)==null?void 0:n.$props)==null?void 0:l[e]})},Il=Symbol("formContextKey"),fl=Symbol("formItemContextKey"),qt=(e,t={})=>{const n=I(void 0),l=t.prop?n:tu("size"),a=t.global?n:Yi(),s=t.form?{size:void 0}:be(Il,void 0),i=t.formItem?{size:void 0}:be(fl,void 0);return w(()=>l.value||o(e)||(i==null?void 0:i.size)||(s==null?void 0:s.size)||a.value||"")},Ot=e=>{const t=tu("disabled"),n=be(Il,void 0);return w(()=>{var l,a,s;return(s=(a=(l=t.value)!=null?l:o(e))!=null?a:n==null?void 0:n.disabled)!=null?s:!1})};function Ca(e,{disabled:t,beforeFocus:n,afterFocus:l,beforeBlur:a,afterBlur:s}={}){const i=We(),{emit:r}=i,c=_t(),u=I(!1),p=m=>{const d=Ge(n)?n(m):!1;o(t)||u.value||d||(u.value=!0,r("focus",m),l==null||l())},v=m=>{var d;const f=Ge(a)?a(m):!1;o(t)||m.relatedTarget&&((d=c.value)!=null&&d.contains(m.relatedTarget))||f||(u.value=!1,r("blur",m),s==null||s())},h=m=>{var d,f;o(t)||da(m.target)||(d=c.value)!=null&&d.contains(document.activeElement)&&c.value!==document.activeElement||(f=e.value)==null||f.focus()};return se([c,()=>o(t)],([m,d])=>{m&&(d?m.removeAttribute("tabindex"):m.setAttribute("tabindex","-1"))}),gt(c,"focus",p,!0),gt(c,"blur",v,!0),gt(c,"click",h,!0),{isFocused:u,wrapperRef:c,handleFocus:p,handleBlur:v}}const gr={prefix:Math.floor(Math.random()*1e4),current:0},fv=Symbol("elIdInjection"),nu=()=>We()?be(fv,gr):gr,pn=e=>{const t=nu(),n=fs();return Li(()=>o(e)||`${n.value}-id-${t.prefix}-${t.current++}`)},kn=()=>{const e=be(Il,void 0),t=be(fl,void 0);return{form:e,formItem:t}},vl=(e,{formItemContext:t,disableIdGeneration:n,disableIdManagement:l})=>{n||(n=I(!1)),l||(l=I(!1));const a=We(),s=()=>{let u=a==null?void 0:a.parent;for(;u;){if(u.type.name==="ElFormItem")return!1;if(u.type.name==="ElLabelWrap")return!0;u=u.parent}return!1},i=I();let r;const c=w(()=>{var u;return!!(!(e.label||e.ariaLabel)&&t&&t.inputIds&&((u=t.inputIds)==null?void 0:u.length)<=1)});return Je(()=>{r=se([pt(e,"id"),n],([u,p])=>{const v=u??(p?void 0:pn().value);v!==i.value&&(t!=null&&t.removeInputId&&!s()&&(i.value&&t.removeInputId(i.value),!(l!=null&&l.value)&&!p&&v&&t.addInputId(v)),i.value=v)},{immediate:!0})}),ro(()=>{r&&r(),t!=null&&t.removeInputId&&i.value&&t.removeInputId(i.value)}),{isLabeledByFormItem:c,inputId:i}},vv=e=>/([\uAC00-\uD7AF\u3130-\u318F])+/gi.test(e);function lu({afterComposition:e,emit:t}){const n=I(!1),l=r=>{t==null||t("compositionstart",r),n.value=!0},a=r=>{var c;t==null||t("compositionupdate",r);const u=(c=r.target)==null?void 0:c.value,p=u[u.length-1]||"";n.value=!vv(p)},s=r=>{t==null||t("compositionend",r),n.value&&(n.value=!1,Ee(()=>e(r)))};return{isComposing:n,handleComposition:r=>{r.type==="compositionend"?s(r):a(r)},handleCompositionStart:l,handleCompositionUpdate:a,handleCompositionEnd:s}}function pv(e){let t;function n(){if(e.value==null)return;const{selectionStart:a,selectionEnd:s,value:i}=e.value;if(a==null||s==null)return;const r=i.slice(0,Math.max(0,a)),c=i.slice(Math.max(0,s));t={selectionStart:a,selectionEnd:s,value:i,beforeTxt:r,afterTxt:c}}function l(){if(e.value==null||t==null)return;const{value:a}=e.value,{beforeTxt:s,afterTxt:i,selectionStart:r}=t;if(s==null||i==null||r==null)return;let c=a.length;if(a.endsWith(i))c=a.length-i.length;else if(a.startsWith(s))c=s.length;else{const u=s[r-1],p=a.indexOf(u,r-1);p!==-1&&(c=p+1)}e.value.setSelectionRange(c,c)}return[n,l]}const mv=["id","name","minlength","maxlength","type","disabled","readonly","autocomplete","tabindex","aria-label","placeholder","form","autofocus","role","inputmode"],hv=["id","name","minlength","maxlength","tabindex","disabled","readonly","autocomplete","aria-label","placeholder","form","autofocus","rows","role"],gv="ElInput";var bv=ue({name:gv,inheritAttrs:!1,__name:"input",props:ys,emits:lv,setup(e,{expose:t,emit:n}){const l=e,a=n,s=El(),i=ws(),r=mn(),c=w(()=>[l.type==="textarea"?g.b():f.b(),f.m(m.value),f.is("disabled",d.value),f.is("exceed",z.value),{[f.b("group")]:r.prepend||r.append,[f.m("prefix")]:r.prefix||l.prefixIcon,[f.m("suffix")]:r.suffix||l.suffixIcon||l.clearable||l.showPassword,[f.bm("suffix","password-clear")]:B.value&&M.value,[f.b("hidden")]:l.type==="hidden"},s.class]),u=w(()=>[f.e("wrapper"),f.is("focus",O.value)]),{form:p,formItem:v}=kn(),{inputId:h}=vl(l,{formItemContext:v}),m=qt(),d=Ot(),f=de("input"),g=de("textarea"),b=_t(),S=_t(),C=I(!1),y=I(!1),k=I(),E=_t(l.inputStyle),N=w(()=>b.value||S.value),{wrapperRef:P,isFocused:O,handleFocus:x,handleBlur:W}=Ca(N,{disabled:d,afterBlur(){var Te;l.validateEvent&&((Te=v==null?void 0:v.validate)==null||Te.call(v,"blur").catch(ze=>void 0))}}),F=w(()=>{var Te;return(Te=p==null?void 0:p.statusIcon)!=null?Te:!1}),A=w(()=>(v==null?void 0:v.validateState)||""),J=w(()=>A.value&&Zi[A.value]),re=w(()=>y.value?Ed:$d),ce=w(()=>[s.style]),R=w(()=>[l.inputStyle,E.value,{resize:l.resize}]),D=w(()=>Tt(l.modelValue)?"":String(l.modelValue)),B=w(()=>l.clearable&&!d.value&&!l.readonly&&!!D.value&&(O.value||C.value)),M=w(()=>l.showPassword&&!d.value&&!!D.value),V=w(()=>l.showWordLimit&&!!l.maxlength&&(l.type==="text"||l.type==="textarea")&&!d.value&&!l.readonly&&!l.showPassword),K=w(()=>D.value.length),z=w(()=>!!V.value&&K.value>Number(l.maxlength)),Z=w(()=>!!r.suffix||!!l.suffixIcon||B.value||l.showPassword||V.value||!!A.value&&F.value),ne=w(()=>!!Object.keys(l.modelModifiers).length),[fe,ae]=pv(b);Bt(S,Te=>{if(Q(),!V.value||l.resize!=="both"&&l.resize!=="horizontal")return;const ze=Te[0],{width:Re}=ze.contentRect;k.value={right:`calc(100% - ${Re+22-10}px)`}});const we=()=>{const{type:Te,autosize:ze}=l;if(!(!lt||Te!=="textarea"||!S.value))if(ze){const Re=yt(ze)?ze.minRows:void 0,Dt=yt(ze)?ze.maxRows:void 0,Vt=hr(S.value,Re,Dt);E.value={overflowY:"hidden",...Vt},Ee(()=>{S.value.offsetHeight,E.value=Vt})}else E.value={minHeight:hr(S.value).minHeight}},Q=(Te=>{let ze=!1;return()=>{var Re;if(ze||!l.autosize)return;((Re=S.value)==null?void 0:Re.offsetParent)===null||(setTimeout(Te),ze=!0)}})(we),j=()=>{const Te=N.value,ze=l.formatter?l.formatter(D.value):D.value;!Te||Te.value===ze||l.type==="file"||(Te.value=ze)},oe=Te=>{const{trim:ze,number:Re}=l.modelModifiers;return ze&&(Te=Te.trim()),Re&&(Te=`${mr(Te)}`),l.formatter&&l.parser&&(Te=l.parser(Te)),Te},ke=async Te=>{if(Xe.value)return;const{lazy:ze}=l.modelModifiers;let{value:Re}=Te.target;if(ze){a(Cn,Re);return}if(Re=oe(Re),String(Re)===D.value){l.formatter&&j();return}fe(),a(Ue,Re),a(Cn,Re),await Ee(),(l.formatter&&l.parser||!ne.value)&&j(),ae()},xe=async Te=>{let{value:ze}=Te.target;ze=oe(ze),l.modelModifiers.lazy&&a(Ue,ze),a(mt,ze,Te),await Ee(),j()},{isComposing:Xe,handleCompositionStart:Ve,handleCompositionUpdate:nt,handleCompositionEnd:st}=lu({emit:a,afterComposition:ke}),$t=()=>{y.value=!y.value},Et=()=>{var Te;return(Te=N.value)==null?void 0:Te.focus()},rn=()=>{var Te;return(Te=N.value)==null?void 0:Te.blur()},Gt=Te=>{C.value=!1,a("mouseleave",Te)},tn=Te=>{C.value=!0,a("mouseenter",Te)},hn=Te=>{a("keydown",Te)},gn=()=>{var Te;(Te=N.value)==null||Te.select()},nn=()=>{a(Ue,""),a(mt,""),a("clear"),a(Cn,"")};return se(()=>l.modelValue,()=>{var Te;Ee(()=>we()),l.validateEvent&&((Te=v==null?void 0:v.validate)==null||Te.call(v,"change").catch(ze=>void 0))}),se(D,Te=>{if(!N.value)return;const{trim:ze,number:Re}=l.modelModifiers,Dt=N.value.value,Vt=(Re||l.type==="number")&&!/^0\d/.test(Dt)?`${mr(Dt)}`:Dt;Vt!==Te&&(document.activeElement===N.value&&N.value.type!=="range"&&ze&&Vt.trim()===Te||j())}),se(()=>l.type,async()=>{await Ee(),j(),we()}),Je(()=>{!l.formatter&&l.parser,j(),Ee(we)}),t({input:b,textarea:S,ref:N,textareaStyle:R,autosize:pt(l,"autosize"),isComposing:Xe,focus:Et,blur:rn,select:gn,clear:nn,resizeTextarea:we}),(Te,ze)=>($(),L("div",{class:T([c.value,{[o(f).bm("group","append")]:Te.$slots.append,[o(f).bm("group","prepend")]:Te.$slots.prepend}]),style:Be(ce.value),onMouseenter:tn,onMouseleave:Gt},[X(" input "),e.type!=="textarea"?($(),L(Me,{key:0},[X(" prepend slot "),Te.$slots.prepend?($(),L("div",{key:0,class:T(o(f).be("group","prepend"))},[q(Te.$slots,"prepend")],2)):X("v-if",!0),H("div",{ref_key:"wrapperRef",ref:P,class:T(u.value)},[X(" prefix slot "),Te.$slots.prefix||e.prefixIcon?($(),L("span",{key:0,class:T(o(f).e("prefix"))},[H("span",{class:T(o(f).e("prefix-inner"))},[q(Te.$slots,"prefix"),e.prefixIcon?($(),ee(o(Ce),{key:0,class:T(o(f).e("icon"))},{default:U(()=>[($(),ee(Ye(e.prefixIcon)))]),_:1},8,["class"])):X("v-if",!0)],2)],2)):X("v-if",!0),H("input",ot({id:o(h),ref_key:"input",ref:b,class:o(f).e("inner")},o(i),{name:e.name,minlength:e.minlength,maxlength:e.maxlength,type:e.showPassword?y.value?"text":"password":e.type,disabled:o(d),readonly:e.readonly,autocomplete:e.autocomplete,tabindex:e.tabindex,"aria-label":e.ariaLabel,placeholder:e.placeholder,style:e.inputStyle,form:e.form,autofocus:e.autofocus,role:e.containerRole,inputmode:e.inputmode,onCompositionstart:ze[0]||(ze[0]=(...Re)=>o(Ve)&&o(Ve)(...Re)),onCompositionupdate:ze[1]||(ze[1]=(...Re)=>o(nt)&&o(nt)(...Re)),onCompositionend:ze[2]||(ze[2]=(...Re)=>o(st)&&o(st)(...Re)),onInput:ke,onChange:xe,onKeydown:hn}),null,16,mv),X(" suffix slot "),Z.value?($(),L("span",{key:1,class:T(o(f).e("suffix"))},[H("span",{class:T(o(f).e("suffix-inner"))},[!B.value||!M.value||!V.value?($(),L(Me,{key:0},[q(Te.$slots,"suffix"),e.suffixIcon?($(),ee(o(Ce),{key:0,class:T(o(f).e("icon"))},{default:U(()=>[($(),ee(Ye(e.suffixIcon)))]),_:1},8,["class"])):X("v-if",!0)],64)):X("v-if",!0),B.value?($(),ee(o(Ce),{key:1,class:T([o(f).e("icon"),o(f).e("clear")]),onMousedown:Ke(o(ht),["prevent"]),onClick:nn},{default:U(()=>[($(),ee(Ye(e.clearIcon)))]),_:1},8,["class","onMousedown"])):X("v-if",!0),M.value?($(),ee(o(Ce),{key:2,class:T([o(f).e("icon"),o(f).e("password")]),onClick:$t,onMousedown:Ke(o(ht),["prevent"]),onMouseup:Ke(o(ht),["prevent"])},{default:U(()=>[($(),ee(Ye(re.value)))]),_:1},8,["class","onMousedown","onMouseup"])):X("v-if",!0),V.value?($(),L("span",{key:3,class:T([o(f).e("count"),o(f).is("outside",e.wordLimitPosition==="outside")])},[H("span",{class:T(o(f).e("count-inner"))},he(K.value)+" / "+he(e.maxlength),3)],2)):X("v-if",!0),A.value&&J.value&&F.value?($(),ee(o(Ce),{key:4,class:T([o(f).e("icon"),o(f).e("validateIcon"),o(f).is("loading",A.value==="validating")])},{default:U(()=>[($(),ee(Ye(J.value)))]),_:1},8,["class"])):X("v-if",!0)],2)],2)):X("v-if",!0)],2),X(" append slot "),Te.$slots.append?($(),L("div",{key:1,class:T(o(f).be("group","append"))},[q(Te.$slots,"append")],2)):X("v-if",!0)],64)):($(),L(Me,{key:1},[X(" textarea "),H("textarea",ot({id:o(h),ref_key:"textarea",ref:S,class:[o(g).e("inner"),o(f).is("focus",o(O))]},o(i),{name:e.name,minlength:e.minlength,maxlength:e.maxlength,tabindex:e.tabindex,disabled:o(d),readonly:e.readonly,autocomplete:e.autocomplete,style:R.value,"aria-label":e.ariaLabel,placeholder:e.placeholder,form:e.form,autofocus:e.autofocus,rows:e.rows,role:e.containerRole,onCompositionstart:ze[3]||(ze[3]=(...Re)=>o(Ve)&&o(Ve)(...Re)),onCompositionupdate:ze[4]||(ze[4]=(...Re)=>o(nt)&&o(nt)(...Re)),onCompositionend:ze[5]||(ze[5]=(...Re)=>o(st)&&o(st)(...Re)),onInput:ke,onFocus:ze[6]||(ze[6]=(...Re)=>o(x)&&o(x)(...Re)),onBlur:ze[7]||(ze[7]=(...Re)=>o(W)&&o(W)(...Re)),onChange:xe,onKeydown:hn}),null,16,hv),V.value?($(),L("span",{key:0,style:Be(k.value),class:T([o(f).e("count"),o(f).is("outside",e.wordLimitPosition==="outside")])},he(K.value)+" / "+he(e.maxlength),7)):X("v-if",!0)],64))],38))}});const Nn=qe(bv),yv=pe({distance:{type:Number,default:0},height:{type:[String,Number],default:""},maxHeight:{type:[String,Number],default:""},native:Boolean,wrapStyle:{type:_([String,Object,Array]),default:""},wrapClass:{type:[String,Array],default:""},viewClass:{type:[String,Array],default:""},viewStyle:{type:[String,Array,Object],default:""},noresize:Boolean,tag:{type:String,default:"div"},always:Boolean,minSize:{type:Number,default:20},tabindex:{type:[String,Number],default:void 0},id:String,role:String,...Pn(["ariaLabel","ariaOrientation"])}),au={"end-reached":e=>["left","right","top","bottom"].includes(e),scroll:({scrollTop:e,scrollLeft:t})=>[e,t].every(Le)},Cv=pe({always:{type:Boolean,default:!0},minSize:{type:Number,required:!0}}),Rl=4,wv={vertical:{offset:"offsetHeight",scroll:"scrollTop",scrollSize:"scrollHeight",size:"height",key:"vertical",axis:"Y",client:"clientY",direction:"top"},horizontal:{offset:"offsetWidth",scroll:"scrollLeft",scrollSize:"scrollWidth",size:"width",key:"horizontal",axis:"X",client:"clientX",direction:"left"}},kv=({move:e,size:t,bar:n})=>({[n.size]:t,transform:`translate${n.axis}(${e}%)`}),Sv=pe({vertical:Boolean,size:String,move:Number,ratio:{type:Number,required:!0},always:Boolean}),ks=Symbol("scrollbarContextKey"),Ev="Thumb";var br=ue({__name:"thumb",props:Sv,setup(e){const t=e,n=be(ks),l=de("scrollbar");n||Wt(Ev,"can not inject scrollbar context");const a=I(),s=I(),i=I({}),r=I(!1);let c=!1,u=!1,p=0,v=0,h=lt?document.onselectstart:null;const m=w(()=>wv[t.vertical?"vertical":"horizontal"]),d=w(()=>kv({size:t.size,move:t.move,bar:m.value})),f=w(()=>a.value[m.value.offset]**2/n.wrapElement[m.value.scrollSize]/t.ratio/s.value[m.value.offset]),g=P=>{var O;if(P.stopPropagation(),P.ctrlKey||[1,2].includes(P.button))return;(O=window.getSelection())==null||O.removeAllRanges(),S(P);const x=P.currentTarget;x&&(i.value[m.value.axis]=x[m.value.offset]-(P[m.value.client]-x.getBoundingClientRect()[m.value.direction]))},b=P=>{if(!s.value||!a.value||!n.wrapElement)return;const O=Math.abs(P.target.getBoundingClientRect()[m.value.direction]-P[m.value.client]),x=s.value[m.value.offset]/2,W=(O-x)*100*f.value/a.value[m.value.offset];n.wrapElement[m.value.scroll]=W*n.wrapElement[m.value.scrollSize]/100},S=P=>{P.stopImmediatePropagation(),c=!0,p=n.wrapElement.scrollHeight,v=n.wrapElement.scrollWidth,document.addEventListener("mousemove",C),document.addEventListener("mouseup",y),h=document.onselectstart,document.onselectstart=()=>!1},C=P=>{if(!a.value||!s.value||c===!1)return;const O=i.value[m.value.axis];if(!O)return;const x=(a.value.getBoundingClientRect()[m.value.direction]-P[m.value.client])*-1,W=s.value[m.value.offset]-O,F=(x-W)*100*f.value/a.value[m.value.offset];m.value.scroll==="scrollLeft"?n.wrapElement[m.value.scroll]=F*v/100:n.wrapElement[m.value.scroll]=F*p/100},y=()=>{c=!1,i.value[m.value.axis]=0,document.removeEventListener("mousemove",C),document.removeEventListener("mouseup",y),N(),u&&(r.value=!1)},k=()=>{u=!1,r.value=!!t.size},E=()=>{u=!0,r.value=c};ft(()=>{N(),document.removeEventListener("mouseup",y)});const N=()=>{document.onselectstart!==h&&(document.onselectstart=h)};return gt(pt(n,"scrollbarElement"),"mousemove",k),gt(pt(n,"scrollbarElement"),"mouseleave",E),(P,O)=>($(),ee(on,{name:o(l).b("fade"),persisted:""},{default:U(()=>[je(H("div",{ref_key:"instance",ref:a,class:T([o(l).e("bar"),o(l).is(m.value.key)]),onMousedown:b,onClick:O[0]||(O[0]=Ke(()=>{},["stop"]))},[H("div",{ref_key:"thumb",ref:s,class:T(o(l).e("thumb")),style:Be(d.value),onMousedown:g},null,38)],34),[[ct,e.always||r.value]])]),_:1},8,["name"]))}}),$v=ue({__name:"bar",props:Cv,setup(e,{expose:t}){const n=e,l=be(ks),a=I(0),s=I(0),i=I(""),r=I(""),c=I(1),u=I(1);return t({handleScroll:h=>{if(h){const m=h.offsetHeight-Rl,d=h.offsetWidth-Rl;s.value=h.scrollTop*100/m*c.value,a.value=h.scrollLeft*100/d*u.value}},update:()=>{const h=l==null?void 0:l.wrapElement;if(!h)return;const m=h.offsetHeight-Rl,d=h.offsetWidth-Rl,f=m**2/h.scrollHeight,g=d**2/h.scrollWidth,b=Math.max(f,n.minSize),S=Math.max(g,n.minSize);c.value=f/(m-f)/(b/(m-b)),u.value=g/(d-g)/(S/(d-S)),r.value=b+Rlr&&Cl(t,e,r+1),s=o.depth>r&&Cl(n,o,r+1),a=[];return qr(null,t,r,a),i&&s&&e.index(r)==n.index(r)?(dh(i,s),ro(io(i,ph(t,e,n,o,r+1)),a)):(i&&ro(io(i,Ps(t,e,r+1)),a),qr(e,n,r,a),s&&ro(io(s,Ps(n,o,r+1)),a)),qr(o,null,r,a),new G(a)}function Ps(t,e,n){let o=[];if(qr(null,t,n,o),t.depth>n){let r=Cl(t,e,n+1);ro(io(r,Ps(t,e,n+1)),o)}return qr(e,null,n,o),new G(o)}function vE(t,e){let n=e.depth-t.openStart,o=e.node(n).copy(t.content);for(let r=n-1;r>=0;r--)o=e.node(r).copy(G.from(o));return{start:o.resolveNoCache(t.openStart+n),end:o.resolveNoCache(o.content.size-t.openEnd-n)}}let Qc=class Al{constructor(e,n,o){this.pos=e,this.path=n,this.parentOffset=o,this.depth=n.length/3-1}resolveDepth(e){return e==null?this.depth:e<0?this.depth+e:e}get parent(){return this.node(this.depth)}get doc(){return this.node(0)}node(e){return this.path[this.resolveDepth(e)*3]}index(e){return this.path[this.resolveDepth(e)*3+1]}indexAfter(e){return e=this.resolveDepth(e),this.index(e)+(e==this.depth&&!this.textOffset?0:1)}start(e){return e=this.resolveDepth(e),e==0?0:this.path[e*3-1]+1}end(e){return e=this.resolveDepth(e),this.start(e)+this.node(e).content.size}before(e){if(e=this.resolveDepth(e),!e)throw new RangeError("There is no position before the top-level node");return e==this.depth+1?this.pos:this.path[e*3-1]}after(e){if(e=this.resolveDepth(e),!e)throw new RangeError("There is no position after the top-level node");return e==this.depth+1?this.pos:this.path[e*3-1]+this.path[e*3].nodeSize}get textOffset(){return this.pos-this.path[this.path.length-1]}get nodeAfter(){let e=this.parent,n=this.index(this.depth);if(n==e.childCount)return null;let o=this.pos-this.path[this.path.length-1],r=e.child(n);return o?e.child(n).cut(o):r}get nodeBefore(){let e=this.index(this.depth),n=this.pos-this.path[this.path.length-1];return n?this.parent.child(e).cut(0,n):e==0?null:this.parent.child(e-1)}posAtIndex(e,n){n=this.resolveDepth(n);let o=this.path[n*3],r=n==0?0:this.path[n*3-1]+1;for(let i=0;i