Files
wecom_it_smart_desk/frontend-admin/dist_bak2/assets/ExclusionRules-D8rW6M0F.js
T

2 lines
20 KiB
JavaScript
Raw Normal View History

import{d as Z,b as V,n as K,w as n,i as d,f as e,e as o,c as z,V as H,h as W,g as _,t as x,r as $,v as q,U as Q,al as le,E as F,j as A,aC as re,m as ue,aD as de,o as me,Y as pe,X as ce,a4 as _e,ad as fe,a7 as ve,$ as ge}from"./index-CXRNRwY6.js";import{a as B}from"./index-BYeSIZFz.js";import{_ as ee}from"./_plugin-vue_export-helper-DlAUqK2U.js";function ye(p){return B.get("/admin/exclusion-rules",{params:p})}function be(p){return B.post("/admin/exclusion-rules",p)}function he(p,C){return B.put(`/admin/exclusion-rules/${p}`,C)}function we(p){return B.delete(`/admin/exclusion-rules/${p}`)}function xe(p,C){return B.post(`/admin/exclusion-rules/${p}/toggle`,{status:C})}function Ve(p){return B.post("/admin/exclusion-rules/test",p)}function ke(){return B.get("/admin/exclusion-rules/stats")}const $e={class:"form-row"},Ce={class:"form-hint"},Pe=Z({__name:"ExclusionRuleForm",props:{visible:{type:Boolean},mode:{},rule:{}},emits:["update:visible","success"],setup(p,{emit:C}){const u=p,f=C,k=$(),g=$(!1),t=q({rule_name:"",rule_description:"",priority:"P2",match_type:"keyword",match_condition:"",match_scope:["ai_auto_reply"],action_type:"transfer_human",transfer_message:""}),R=Q(()=>t.action_type==="prompt_transfer"?"提示文案":"转人工提示语"),S=Q(()=>t.action_type==="prompt_transfer"?"如:检测到您的问题可能需要人工协助,是否转接人工客服?":"如:您的问题已转接人工客服,请稍候"),D=Q(()=>t.action_type==="prompt_transfer"?"用户看到的提示消息,不会自动转人工":"命中后发送给用户的转接提示消息"),y=q({rule_name:[{required:!0,message:"请输入规则名称",trigger:"blur"},{min:1,max:200,message:"规则名称长度 1-200 字符",trigger:"blur"}],priority:[{required:!0,message:"请选择优先级",trigger:"change"}],match_type:[{required:!0,message:"请选择匹配方式",trigger:"change"}],match_condition:[{required:!0,message:"请输入匹配条件",trigger:"blur"}],action_type:[{required:!0,message:"请选择命中后动作",trigger:"change"}],transfer_message:[{validator:(h,l,c)=>{(t.action_type==="transfer_human"||t.action_type==="transfer_human_with_context")&&(!l||!l.trim())?c(new Error("转人工动作需填写提示语")):c()},trigger:"blur"}]});function i(){var h;u.mode==="edit"&&u.rule?(t.rule_name=u.rule.rule_name,t.rule_description=u.rule.rule_description||"",t.priority=u.rule.priority,t.match_type=u.rule.match_type,t.match_condition=u.rule.match_condition,t.match_scope=(h=u.rule.match_scope)!=null&&h.length?[...u.rule.match_scope]:["ai_auto_reply"],t.action_type=u.rule.action_type,t.transfer_message=u.rule.transfer_message||""):(t.rule_name="",t.rule_description="",t.priority="P2",t.match_type="keyword",t.match_condition="",t.match_scope=["ai_auto_reply"],t.action_type="transfer_human",t.transfer_message=""),le(()=>{var l;(l=k.value)==null||l.clearValidate()})}function I(){t.match_condition="",le(()=>{var h;(h=k.value)==null||h.clearValidate("match_condition")})}async function N(){var h,l;if(k.value){try{await k.value.validate()}catch{return}g.value=!0;try{const c={rule_name:t.rule_name.trim(),rule_description:((h=t.rule_description)==null?void 0:h.trim())||void 0,priority:t.priority,match_type:t.match_type,match_condition:t.match_condition.trim(),match_scope:t.match_scope,action_type:t.action_type,transfer_message:((l=t.transfer_message)==null?void 0:l.trim())||void 0};u.mode==="create"?(await be(c),F.success("规则创建成功")):(await he(u.rule.id,c),F.success("规则更新成功")),f("success")}catch(c){console.error("提交排除规则失败:",c)}finally{g.value=!1}}}return(h,l)=>{const c=d("el-input"),v=d("el-form-item"),b=d("el-option"),P=d("el-select"),U=d("el-radio"),Y=d("el-radio-group"),X=d("el-form"),O=d("el-button"),G=d("el-dialog");return V(),K(G,{"model-value":p.visible,title:p.mode==="create"?"新建排除规则":"编辑排除规则",width:"640px","destroy-on-close":"","onUpdate:modelValue":l[12]||(l[12]=m=>h.$emit("update:visible",m)),onOpen:i},{footer:n(()=>[e(O,{onClick:l[11]||(l[11]=m=>h.$emit("update:visible",!1))},{default