mirror of
https://gitee.com/270580156/weiyu.git
synced 2026-05-16 04:07:51 +00:00
1 line
59 KiB
JavaScript
1 line
59 KiB
JavaScript
"use strict";(self.webpackChunkadmin=self.webpackChunkadmin||[]).push([[5800],{82868:function(e,n,r){r.r(n),r.d(n,{default:function(){return Be}});var t=r(73193),i=r.n(t),s=r(90819),l=r.n(s),a=r(89933),o=r.n(a),c=r(45332),d=r.n(c),u=r(44194),x=r(85817),h=r(20903),m=r(49616),j=r(5780),p=r(37963),g=r(68779),f=r(93689),v=r(28514),Z=r(10022),y=r(98385),b=r(50177),k=r(80556),w=r(55785),C=r(88354),I=r(14870),H=r(34599),T=r(76711),A=r.n(T),F=r(10154),P=r.n(F),S=r(89957),V=r.n(S),q=r(31058),M=r.n(q),R=r(96501),_=r(14881),O=r(79401),z=r(8340),N=r(27904),B=r(67206),L=r(93892),W=r(32973),D=r(78875),E=r(20228),G=r(84244),K=r(82373),Y=r(72207),U=r(54881),$=r(10162),J=r(48004),Q=r(58791),X=r(28977),ee=r.n(X),ne=r(4610),re=r(31549),te=x.Z.Title,ie=x.Z.Text,se=function(e){var n,r,t,s,l,a,o=e.settings,c=e.onChange,x=((0,I.useIntl)(),(0,ne.l)((function(){return{"& .ant-select-item-option-content":{whiteSpace:"normal",lineHeight:1.4}}}))),p=function(e,n){if(e.includes(".")){var r=e.split("."),t=M()(r),s=t[0],l=t.slice(1),a=function e(n,r,t){if(0===r.length)return n;var s=M()(r),l=s[0],a=s.slice(1),o=Number.isNaN(Number(l))?l:Number(l);if(Array.isArray(n)){var c=n.slice();if(0===a.length&&"number"==typeof o)return c[o]=t,c;var d="number"==typeof o?c[o]:void 0,u=e(null!=d?d:{},a,t);return"number"==typeof o&&(c[o]=u),c}var x="object"===V()(n)&&null!==n?i()({},n):{};if(0===a.length)return x[String(o)]=t,x;var h=x[String(o)];return x[String(o)]=e(null!=h?h:{},a,t),x}(o[s],l,n);c(P()({},s,a))}else c(P()({},e,n))},f=[{label:"周一",value:1},{label:"周二",value:2},{label:"周三",value:3},{label:"周四",value:4},{label:"周五",value:5},{label:"周六",value:6},{label:"周日",value:0}],v=[{value:"round_robin",label:"轮询分配",description:"按顺序依次分配给每个可用的客服人员"},{value:"load_balancing",label:"负载均衡",description:"优先分配给当前工单数量最少的客服人员"},{value:"manual",label:"手动分配",description:"所有工单需要手动指定处理人员"}],y=function(e){return e?ee()(e,"HH:mm"):null},b=function(e){return"".concat(e.start," - ").concat(e.end)},k=function(e){return e&&e.length>0?e:[{start:"09:00",end:"18:00"}]},w=function(e){return!!e.start&&!!e.end&&ee()(e.start,"HH:mm").isBefore(ee()(e.end,"HH:mm"))},C=function(e){for(var n=A()(e).sort((function(e,n){return ee()(e.start,"HH:mm").valueOf()-ee()(n.start,"HH:mm").valueOf()})),r=1;r<n.length;r+=1){var t=ee()(n[r-1].end,"HH:mm");if(ee()(n[r].start,"HH:mm").isBefore(t))return!0}return!1},H=null!==(n=o.workingHours.mode)&&void 0!==n?n:"simple",T=null!==(r=o.workingHours.workingDays)&&void 0!==r?r:[1,2,3,4,5],F=(0,u.useMemo)((function(){return k(o.workingHours.defaultTimeRanges)}),[o.workingHours.defaultTimeRanges]),S=null!==(t=o.workingHours.perDayTimeRanges)&&void 0!==t?t:{},q=null!==(s=o.workingHours.holidayOverrides)&&void 0!==s?s:[],X=null!==(l=o.workingHours.timezone)&&void 0!==l?l:Intl.DateTimeFormat().resolvedOptions().timeZone,se=F.some((function(e){return!w(e)})),le=C(F),ae=(Object.entries(S).reduce((function(e,n){var r=d()(n,2),t=r[0],i=r[1],s=[];return(null!=i?i:[]).some((function(e){return!w(e)}))&&s.push("存在无效时间段"),i&&i.length>1&&C(i)&&s.push("存在时间段重叠"),s.length&&(e[t]=s),e}),{}),q.map((function(e,n){var r,t,i,s=[];return e.date||s.push("缺少日期"),0===(null!==(r=e.timeRanges)&&void 0!==r?r:[]).length&&s.push("至少需要一个时间段"),(null!==(t=e.timeRanges)&&void 0!==t?t:[]).some((function(e){return!w(e)}))&&s.push("存在无效时间段"),(null!==(i=e.timeRanges)&&void 0!==i?i:[]).length>1&&C(e.timeRanges)&&s.push("存在时间段重叠"),{index:n,errs:s}})).filter((function(e){return e.errs.length>0}))),oe=function(e){var n=e.value,r=e.onChange,t=null!=n?n:[],i=function(e,n){return r(t.map((function(r,t){return t===e?n:r})))};return(0,re.jsxs)("div",{children:[(0,re.jsx)(R.Z,{dataSource:t,locale:{emptyText:"暂无时间段"},renderItem:function(e,n){return(0,re.jsx)(R.Z.Item,{actions:[(0,re.jsx)(j.ZP,{type:"text",danger:!0,icon:(0,re.jsx)(U.Z,{}),onClick:function(){return e=n,r(t.filter((function(n,r){return r!==e})));var e}},"del")],children:(0,re.jsxs)(m.Z,{align:"center",wrap:!0,children:[(0,re.jsx)(_.Z.RangePicker,{format:"HH:mm",value:[y(e.start),y(e.end)],onChange:function(e){var r=e||[],t=d()(r,2),s=t[0],l=t[1];i(n,{start:s?s.format("HH:mm"):"",end:l?l.format("HH:mm"):""})}}),(0,re.jsx)(ie,{type:w(e)?void 0:"danger",children:w(e)?b(e):"无效时间段"})]})})}}),(0,re.jsx)(j.ZP,{type:"dashed",icon:(0,re.jsx)($.Z,{}),onClick:function(){return r([].concat(A()(t),[{start:"09:00",end:"18:00"}]))},children:"添加时间段"})]})};return(0,re.jsxs)("div",{style:{padding:"20px 0"},children:[(0,re.jsxs)(O.Z,{title:(0,re.jsxs)(m.Z,{children:[(0,re.jsx)(Z.Z,{}),(0,re.jsx)("span",{children:"自动分配设置"})]}),style:{marginBottom:24},children:[(0,re.jsx)(h.Z.Item,{label:"启用自动分配",name:"autoAssign",valuePropName:"checked",initialValue:o.autoAssign,children:(0,re.jsx)(z.Z,{checkedChildren:"开启",unCheckedChildren:"关闭",onChange:function(e){return p("autoAssign",e)}})}),o.autoAssign&&(0,re.jsxs)(re.Fragment,{children:[(0,re.jsx)(h.Z.Item,{label:"分配策略",name:"assignmentType",initialValue:o.assignmentType,rules:[{required:!0,message:"请选择分配策略"}],children:(0,re.jsx)(N.Z,{placeholder:"选择分配策略",optionLabelProp:"label",popupClassName:x,onChange:function(e){return p("assignmentType",e)},children:v.map((function(e){return(0,re.jsx)(N.Z.Option,{value:e.value,label:e.label,children:(0,re.jsxs)("div",{style:{display:"flex",flexDirection:"column",alignItems:"flex-start"},children:[(0,re.jsx)("div",{style:{fontWeight:500},children:e.label}),(0,re.jsx)("div",{style:{fontSize:"12px",color:"#999"},children:e.description})]})},e.value)}))})}),(0,re.jsx)(h.Z.Item,{label:"单人最大并发工单数",name:"maxConcurrentTickets",initialValue:o.maxConcurrentTickets,tooltip:"每个客服人员同时处理的工单数量上限,达到上限后不会再分配新工单",rules:[{required:!0,message:"请设置最大并发工单数"}],children:(0,re.jsx)(B.Z,{min:1,max:100,placeholder:"10",onChange:function(e){return p("maxConcurrentTickets",e)}})}),(0,re.jsx)(L.Z,{message:"分配策略说明",description:(0,re.jsxs)("div",{children:[(0,re.jsxs)("p",{children:[(0,re.jsx)("strong",{children:"轮询分配"}),":系统会按照预设的顺序,依次将工单分配给每个在线的客服人员。"]}),(0,re.jsxs)("p",{children:[(0,re.jsx)("strong",{children:"负载均衡"}),":系统会优先将工单分配给当前处理工单数量最少的客服人员,以平衡工作负载。"]}),(0,re.jsxs)("p",{children:[(0,re.jsx)("strong",{children:"手动分配"}),":所有工单都需要管理员或主管手动指定处理人员。"]})]}),type:"info",showIcon:!0,style:{marginTop:16}})]})]}),(0,re.jsxs)(O.Z,{title:(0,re.jsxs)(m.Z,{children:[(0,re.jsx)(J.Z,{}),(0,re.jsx)("span",{children:"工作时间设置"})]}),style:{marginBottom:24},children:[(0,re.jsx)(h.Z.Item,{label:"启用工作时间限制",name:"workingHoursEnabled",valuePropName:"checked",initialValue:o.workingHours.enabled,children:(0,re.jsx)(z.Z,{checkedChildren:"开启",unCheckedChildren:"关闭",onChange:function(e){return p("workingHours.enabled",e)}})}),o.workingHours.enabled&&(0,re.jsxs)(re.Fragment,{children:[(0,re.jsx)(h.Z.Item,{label:"模式",name:"workingMode",initialValue:H,children:(0,re.jsxs)(W.ZP.Group,{optionType:"button",buttonStyle:"solid",onChange:function(e){return p("workingHours.mode",e.target.value)},children:[(0,re.jsx)(W.ZP.Button,{value:"simple",children:"简单"}),(0,re.jsx)(W.ZP.Button,{value:"advanced",children:"高级"})]})}),"simple"===H&&(0,re.jsxs)(re.Fragment,{children:[(0,re.jsxs)(D.Z,{gutter:16,children:[(0,re.jsx)(E.Z,{span:12,children:(0,re.jsx)(h.Z.Item,{label:"工作开始时间",name:"workingStartTime",initialValue:ee()(o.workingHours.startTime,"HH:mm"),rules:[{required:!0,message:"请设置工作开始时间"}],children:(0,re.jsx)(_.Z,{format:"HH:mm",placeholder:"选择开始时间",onChange:function(e){return p("workingHours.startTime",null==e?void 0:e.format("HH:mm"))}})})}),(0,re.jsx)(E.Z,{span:12,children:(0,re.jsx)(h.Z.Item,{label:"工作结束时间",name:"workingEndTime",initialValue:ee()(o.workingHours.endTime,"HH:mm"),rules:[{required:!0,message:"请设置工作结束时间"}],children:(0,re.jsx)(_.Z,{format:"HH:mm",placeholder:"选择结束时间",onChange:function(e){return p("workingHours.endTime",null==e?void 0:e.format("HH:mm"))}})})})]}),(0,re.jsx)(h.Z.Item,{label:"工作日",name:"workingDays",initialValue:T,rules:[{required:!0,message:"请选择至少一个工作日"}],children:(0,re.jsx)(G.Z.Group,{options:f,onChange:function(e){return p("workingHours.workingDays",e)}})}),(0,re.jsx)(L.Z,{message:"工作时间说明",description:"启用工作时间限制后,只有在工作时间内才会自动分配工单。非工作时间创建的工单将等待下一个工作时间开始时分配。",type:"warning",showIcon:!0,style:{marginTop:16}})]}),"advanced"===H&&(0,re.jsxs)(re.Fragment,{children:[(0,re.jsx)(h.Z.Item,{label:"时区",name:"workingTimezone",initialValue:X,children:(0,re.jsx)(N.Z,{showSearch:!0,placeholder:"输入或选择时区",defaultActiveFirstOption:!0,value:X,onChange:function(e){return p("workingHours.timezone",e)},options:[{label:X,value:X}],filterOption:!0})}),(0,re.jsx)(h.Z.Item,{label:"默认工作日",name:"workingDaysAdvanced",initialValue:T,tooltip:"选择默认工作日;可在下方为每一天单独设置时段覆盖",children:(0,re.jsx)(G.Z.Group,{options:f,onChange:function(e){return p("workingHours.workingDays",e)}})}),(0,re.jsxs)(h.Z.Item,{label:"默认时段",tooltip:"对所有选中工作日生效,除非被单独覆盖",children:[(se||le)&&(0,re.jsx)(L.Z,{type:"error",showIcon:!0,style:{marginBottom:8},message:se?"存在无效时间段(开始需早于结束)":"存在时间段重叠,请调整"}),(0,re.jsx)(oe,{value:F,onChange:function(e){return p("workingHours.defaultTimeRanges",e)}})]}),(0,re.jsx)(K.Z,{}),(0,re.jsx)(te,{level:5,style:{marginTop:0},children:"按日定制"}),(0,re.jsx)(D.Z,{gutter:[16,16],children:f.map((function(e){var n=e.value,r=null==S?void 0:S[n],t=(null!=r?r:[]).some((function(e){return!w(e)})),s=(null!=r?r:[]).length>1&&C(null!=r?r:[]);return(0,re.jsx)(E.Z,{span:12,children:(0,re.jsx)(O.Z,{size:"small",title:"".concat(e.label).concat(T.includes(n)?"":"(非工作日)"),extra:(0,re.jsxs)(W.ZP.Group,{value:r?"custom":"default",onChange:function(e){if("default"===e.target.value){var r=i()({},S||{});delete r[n],p("workingHours.perDayTimeRanges",r)}else{var t=i()({},S||{});t[n]=k([]),p("workingHours.perDayTimeRanges",t)}},children:[(0,re.jsx)(W.ZP.Button,{value:"default",children:"使用默认"}),(0,re.jsx)(W.ZP.Button,{value:"custom",children:"自定义"})]}),children:r?(0,re.jsxs)(re.Fragment,{children:[(t||s)&&(0,re.jsx)(L.Z,{type:"error",showIcon:!0,style:{marginBottom:8},message:t?"存在无效时间段":"存在时间段重叠"}),(0,re.jsx)(oe,{value:r,onChange:function(e){var r=i()({},S||{});r[n]=e,p("workingHours.perDayTimeRanges",r)}})]}):(0,re.jsxs)(ie,{type:"secondary",children:["使用默认时段(",F.map(b).join(","),")"]})})},n)}))}),(0,re.jsx)(K.Z,{}),(0,re.jsx)(te,{level:5,style:{marginTop:0},children:"节假日与值班"}),(0,re.jsx)(R.Z,{dataSource:q,locale:{emptyText:"暂无设置"},renderItem:function(e,n){var r,t=ae.find((function(e){return e.index===n}));return(0,re.jsx)(R.Z.Item,{style:{border:"1px solid #f0f0f0",borderRadius:6,padding:12,marginBottom:12},actions:[(0,re.jsx)(j.ZP,{type:"text",danger:!0,icon:(0,re.jsx)(U.Z,{}),onClick:function(){var e=A()(q);e.splice(n,1),p("workingHours.holidayOverrides",e)}},"del")],children:(0,re.jsxs)("div",{style:{width:"100%"},children:[t&&t.errs.length>0&&(0,re.jsx)(L.Z,{type:"error",showIcon:!0,style:{marginBottom:8},message:t.errs.join(";")}),(0,re.jsxs)(D.Z,{gutter:12,children:[(0,re.jsx)(E.Z,{span:8,children:(0,re.jsx)(h.Z.Item,{label:"日期",children:(0,re.jsx)(Y.default,{style:{width:"100%"},value:e.date?ee()(e.date,"YYYY-MM-DD"):void 0,onChange:function(r){var t=A()(q);t[n]=i()(i()({},e),{},{date:r?r.format("YYYY-MM-DD"):""}),p("workingHours.holidayOverrides",t)}})})}),(0,re.jsx)(E.Z,{span:8,children:(0,re.jsx)(h.Z.Item,{label:"名称",children:(0,re.jsx)("input",{style:{width:"100%",border:"1px solid #d9d9d9",borderRadius:6,padding:"4px 11px"},value:null!==(r=e.name)&&void 0!==r?r:"",onChange:function(r){var t=A()(q);t[n]=i()(i()({},e),{},{name:r.target.value}),p("workingHours.holidayOverrides",t)}})})}),(0,re.jsx)(E.Z,{span:8,children:(0,re.jsx)(h.Z.Item,{label:"启用",children:(0,re.jsx)(z.Z,{checked:!1!==e.enabled,onChange:function(r){var t=A()(q);t[n]=i()(i()({},e),{},{enabled:r}),p("workingHours.holidayOverrides",t)}})})})]}),(0,re.jsx)(h.Z.Item,{label:"时间段",children:(0,re.jsx)(oe,{value:k(e.timeRanges),onChange:function(r){var t=A()(q);t[n]=i()(i()({},e),{},{timeRanges:r}),p("workingHours.holidayOverrides",t)}})})]})})}}),(0,re.jsx)(j.ZP,{type:"dashed",icon:(0,re.jsx)($.Z,{}),onClick:function(){p("workingHours.holidayOverrides",[].concat(A()(q),[{date:"",name:"",enabled:!0,timeRanges:k([])}]))},children:"添加节假日/特殊日期"}),(0,re.jsx)(L.Z,{message:"高级模式说明",description:(0,re.jsxs)("div",{children:[(0,re.jsx)("p",{children:"默认时段应用于所有选中工作日;若某天设置为“自定义”,则仅使用其自定义时段。"}),(0,re.jsx)("p",{children:"节假日设置会覆盖对应日期的默认/按日设置,可用于安排值班时段。"})]}),type:"info",showIcon:!0,style:{marginTop:16}})]})]})]}),(0,re.jsxs)(O.Z,{title:(0,re.jsxs)(m.Z,{children:[(0,re.jsx)(g.Z,{}),(0,re.jsx)("span",{children:"当前分配规则总结"})]}),children:[(0,re.jsxs)(D.Z,{gutter:16,children:[(0,re.jsx)(E.Z,{span:8,children:(0,re.jsxs)("div",{style:{textAlign:"center",padding:"16px",background:"#f5f5f5",borderRadius:"6px"},children:[(0,re.jsx)(Q.Z,{style:{fontSize:"24px",color:"#1890ff",marginBottom:"8px"}}),(0,re.jsx)("div",{style:{fontSize:"14px",fontWeight:500,marginBottom:"4px"},children:"分配模式"}),(0,re.jsx)("div",{style:{color:"#666"},children:o.autoAssign?"自动分配":"手动分配"})]})}),(0,re.jsx)(E.Z,{span:8,children:(0,re.jsxs)("div",{style:{textAlign:"center",padding:"16px",background:"#f5f5f5",borderRadius:"6px"},children:[(0,re.jsx)(Z.Z,{style:{fontSize:"24px",color:"#52c41a",marginBottom:"8px"}}),(0,re.jsx)("div",{style:{fontSize:"14px",fontWeight:500,marginBottom:"4px"},children:"分配策略"}),(0,re.jsx)("div",{style:{color:"#666"},children:(null===(a=v.find((function(e){return e.value===o.assignmentType})))||void 0===a?void 0:a.label)||"未设置"})]})}),(0,re.jsx)(E.Z,{span:8,children:(0,re.jsxs)("div",{style:{textAlign:"center",padding:"16px",background:"#f5f5f5",borderRadius:"6px"},children:[(0,re.jsx)(J.Z,{style:{fontSize:"24px",color:"#faad14",marginBottom:"8px"}}),(0,re.jsx)("div",{style:{fontSize:"14px",fontWeight:500,marginBottom:"4px"},children:"工作时间"}),(0,re.jsx)("div",{style:{color:"#666"},children:o.workingHours.enabled?"simple"===H?"".concat(o.workingHours.startTime," - ").concat(o.workingHours.endTime):"高级(".concat(F.length," 段默认;自定义 ").concat(Object.keys(S).length," 天;节假日 ").concat(q.length," 天)"):"全天候"})]})})]}),(0,re.jsx)(K.Z,{}),(0,re.jsxs)("div",{children:[(0,re.jsx)(te,{level:5,children:"规则说明"}),(0,re.jsxs)("ul",{style:{paddingLeft:"20px",color:"#666"},children:[(0,re.jsx)("li",{children:"自动分配开启时,新工单会根据设定的策略自动分配给合适的客服人员"}),(0,re.jsx)("li",{children:"负载均衡策略会考虑每个客服的当前工单数量,确保工作负载相对平衡"}),(0,re.jsx)("li",{children:"工作时间限制可以避免在非工作时间分配工单,提升客户体验"}),(0,re.jsx)("li",{children:"最大并发工单数可以防止单个客服过载,保证服务质量"})]})]})]})]})},le=r(27473),ae=r(27259),oe=r(82690),ce=(x.Z.Title,x.Z.Text),de=N.Z.Option,ue=function(e){var n=e.settings,r=e.onChange,t=((0,I.useIntl)(),function(e,n){r(P()({},e,n))});return(0,re.jsxs)("div",{style:{padding:"20px 0"},children:[(0,re.jsxs)(O.Z,{title:(0,re.jsxs)(m.Z,{children:[(0,re.jsx)(g.Z,{}),(0,re.jsx)("span",{children:"工单编号设置"})]}),style:{marginBottom:24},children:[(0,re.jsxs)(D.Z,{gutter:24,children:[(0,re.jsx)(E.Z,{span:12,children:(0,re.jsx)(h.Z.Item,{label:(0,re.jsxs)(m.Z,{children:["工单编号前缀",(0,re.jsx)(le.Z,{title:"工单编号的前缀,如 TK、WO 等",children:(0,re.jsx)(oe.Z,{style:{color:"#999"}})})]}),name:"numberPrefix",initialValue:n.numberPrefix,rules:[{required:!0,message:"请输入工单编号前缀"},{max:10,message:"前缀长度不能超过10个字符"}],children:(0,re.jsx)(ae.Z,{placeholder:"如:TK、WO",onChange:function(e){return t("numberPrefix",e.target.value)}})})}),(0,re.jsx)(E.Z,{span:12,children:(0,re.jsx)(h.Z.Item,{label:(0,re.jsxs)(m.Z,{children:["编号长度",(0,re.jsx)(le.Z,{title:"工单编号的总长度,包括前缀",children:(0,re.jsx)(oe.Z,{style:{color:"#999"}})})]}),name:"numberLength",initialValue:n.numberLength,rules:[{required:!0,message:"请设置编号长度"}],children:(0,re.jsx)(B.Z,{min:6,max:20,placeholder:"如:8",onChange:function(e){return t("numberLength",e)}})})})]}),(0,re.jsxs)(ce,{type:"secondary",children:["示例编号:",n.numberPrefix,Array(n.numberLength-n.numberPrefix.length).fill("0").join(""),"123"]})]}),(0,re.jsx)(O.Z,{title:"默认设置",style:{marginBottom:24},children:(0,re.jsxs)(D.Z,{gutter:24,children:[(0,re.jsx)(E.Z,{span:12,children:(0,re.jsx)(h.Z.Item,{label:"默认优先级",name:"defaultPriority",initialValue:n.defaultPriority,rules:[{required:!0,message:"请选择默认优先级"}],children:(0,re.jsxs)(N.Z,{placeholder:"选择默认优先级",onChange:function(e){return t("defaultPriority",e)},children:[(0,re.jsx)(de,{value:"low",children:(0,re.jsxs)(m.Z,{children:[(0,re.jsx)("span",{style:{display:"inline-block",width:8,height:8,borderRadius:"50%",backgroundColor:"#52c41a"}}),"低"]})}),(0,re.jsx)(de,{value:"medium",children:(0,re.jsxs)(m.Z,{children:[(0,re.jsx)("span",{style:{display:"inline-block",width:8,height:8,borderRadius:"50%",backgroundColor:"#faad14"}}),"中"]})}),(0,re.jsx)(de,{value:"high",children:(0,re.jsxs)(m.Z,{children:[(0,re.jsx)("span",{style:{display:"inline-block",width:8,height:8,borderRadius:"50%",backgroundColor:"#fa8c16"}}),"高"]})}),(0,re.jsx)(de,{value:"urgent",children:(0,re.jsxs)(m.Z,{children:[(0,re.jsx)("span",{style:{display:"inline-block",width:8,height:8,borderRadius:"50%",backgroundColor:"#f5222d"}}),"紧急"]})}),(0,re.jsx)(de,{value:"critical",children:(0,re.jsxs)(m.Z,{children:[(0,re.jsx)("span",{style:{display:"inline-block",width:8,height:8,borderRadius:"50%",backgroundColor:"#722ed1"}}),"严重"]})})]})})}),(0,re.jsx)(E.Z,{span:12,children:(0,re.jsx)(h.Z.Item,{label:(0,re.jsxs)(m.Z,{children:["工单有效期",(0,re.jsx)(le.Z,{title:"工单创建后的有效期,超过后将自动标记为过期",children:(0,re.jsx)(oe.Z,{style:{color:"#999"}})})]}),name:"validityDays",initialValue:n.validityDays,rules:[{required:!0,message:"请设置工单有效期"}],children:(0,re.jsx)(B.Z,{min:1,max:365,addonAfter:"天",placeholder:"30",onChange:function(e){return t("validityDays",e)}})})})]})}),(0,re.jsxs)(O.Z,{title:"自动关闭设置",children:[(0,re.jsx)(h.Z.Item,{label:"启用自动关闭",name:"enableAutoClose",valuePropName:"checked",initialValue:n.enableAutoClose,children:(0,re.jsx)(z.Z,{checkedChildren:"开启",unCheckedChildren:"关闭",onChange:function(e){return t("enableAutoClose",e)}})}),n.enableAutoClose&&(0,re.jsx)(h.Z.Item,{label:(0,re.jsxs)(m.Z,{children:["自动关闭时间",(0,re.jsx)(le.Z,{title:"工单在解决状态下超过设定时间将自动关闭",children:(0,re.jsx)(oe.Z,{style:{color:"#999"}})})]}),name:"autoCloseHours",initialValue:n.autoCloseHours,rules:[{required:!0,message:"请设置自动关闭时间"}],children:(0,re.jsx)(B.Z,{min:1,max:720,addonAfter:"小时",placeholder:"72",onChange:function(e){return t("autoCloseHours",e)}})}),(0,re.jsx)(ce,{type:"secondary",children:"启用自动关闭后,处于“已解决”状态的工单将在设定时间后自动关闭"})]})]})},xe=r(88344),he=r(67652),me=r(49260),je=r(61155),pe=r(68349),ge=r(2696),fe=r(9170),ve=r(59304),Ze=x.Z.Title,ye=(x.Z.Text,N.Z.Option),be=function(e){var n,r,t=e.settings,s=e.onChange,a=((0,I.useIntl)(),h.Z.useForm()),c=d()(a,1)[0],x=(0,u.useState)(!1),p=d()(x,2),g=p[0],f=p[1],v=(0,u.useState)(null),Z=d()(v,2),y=Z[0],k=Z[1],w=(0,u.useState)("text"),C=d()(w,2),H=C[0],T=C[1],F=[{value:"text",label:"单行文本",description:"简短的文本输入"},{value:"textarea",label:"多行文本",description:"长文本或描述性内容"},{value:"select",label:"下拉选择",description:"单选下拉菜单"},{value:"multiselect",label:"多选下拉",description:"可选择多个值"},{value:"date",label:"日期选择",description:"日期和时间"},{value:"number",label:"数字输入",description:"数值类型"}],P=[{title:"字段名称",dataIndex:"name",key:"name",render:function(e,n){return(0,re.jsxs)(m.Z,{children:[(0,re.jsx)("span",{style:{fontWeight:500},children:e}),n.required&&(0,re.jsx)(xe.Z,{color:"red",children:"必填"})]})}},{title:"字段标识",dataIndex:"key",key:"key",render:function(e){return(0,re.jsx)("code",{children:e})}},{title:"字段类型",dataIndex:"type",key:"type",render:function(e){var n=F.find((function(n){return n.value===e}));return(0,re.jsx)(xe.Z,{color:"blue",children:null==n?void 0:n.label})}},{title:"排序",dataIndex:"order",key:"order",width:120,render:function(e,n){return(0,re.jsxs)(m.Z,{children:[(0,re.jsx)("span",{children:e}),(0,re.jsxs)("div",{children:[(0,re.jsx)(j.ZP,{size:"small",type:"text",icon:(0,re.jsx)(ge.Z,{}),onClick:function(){return S(n.key,"up")},disabled:1===e}),(0,re.jsx)(j.ZP,{size:"small",type:"text",icon:(0,re.jsx)(fe.Z,{}),onClick:function(){return S(n.key,"down")},disabled:e===t.length})]})]})}},{title:"状态",dataIndex:"isActive",key:"isActive",render:function(e){return(0,re.jsx)(xe.Z,{color:e?"green":"red",children:e?"启用":"禁用"})}},{title:"操作",key:"action",width:200,render:function(e,n){return(0,re.jsxs)(m.Z,{children:[(0,re.jsx)(j.ZP,{type:"link",icon:(0,re.jsx)(ve.Z,{}),onClick:function(){return q(n)},children:"编辑"}),(0,re.jsx)(he.Z,{title:"确定删除这个自定义字段吗?",description:"删除后将无法恢复,已有数据可能丢失。",onConfirm:function(){return M(n.key)},okText:"确定",cancelText:"取消",children:(0,re.jsx)(j.ZP,{type:"link",danger:!0,icon:(0,re.jsx)(U.Z,{}),children:"删除"})})]})}}],S=function(e,n){var r=A()(t),l=r.findIndex((function(n){return n.key===e}));if(-1!==l){var a="up"===n?l-1:l+1;if(!(a<0||a>=r.length)){var o=[r[a],r[l]];r[l]=o[0],r[a]=o[1];var c=r.map((function(e,n){return i()(i()({},e),{},{order:n+1})}));s(c),me.ZP.success("字段顺序已更新")}}},V=function(){var e=o()(l()().mark((function e(){var n,r,a,o,d,u,x;return l()().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,c.validateFields();case 3:n=e.sent,r=A()(t),y?(a=r.findIndex((function(e){return e.key===y.key})))>-1&&(r[a]=i()(i()({},y),n)):(u=Math.max.apply(Math,A()(r.map((function(e){return e.order}))).concat([0])),x={key:n.key,name:n.name,type:n.type,required:null!==(o=n.required)&&void 0!==o&&o,options:n.options,defaultValue:n.defaultValue,order:u+1,isActive:null===(d=n.isActive)||void 0===d||d},r.push(x)),r.sort((function(e,n){return e.order-n.order})),s(r),f(!1),k(null),c.resetFields(),T("text"),me.ZP.success(y?"字段更新成功":"字段添加成功"),e.next=17;break;case 15:e.prev=15,e.t0=e.catch(0);case 17:case"end":return e.stop()}}),e,null,[[0,15]])})));return function(){return e.apply(this,arguments)}}(),q=function(e){var n;k(e),T(e.type),c.setFieldsValue(i()(i()({},e),{},{options:null===(n=e.options)||void 0===n?void 0:n.join("\n")})),f(!0)},M=function(e){var n=t.filter((function(n){return n.key!==e}));s(n),me.ZP.success("字段删除成功")};return(0,re.jsxs)("div",{style:{padding:"20px 0"},children:[(0,re.jsxs)(O.Z,{title:(0,re.jsxs)(m.Z,{children:[(0,re.jsx)(b.Z,{}),(0,re.jsx)("span",{children:"自定义字段管理"})]}),extra:(0,re.jsx)(j.ZP,{type:"primary",icon:(0,re.jsx)($.Z,{}),onClick:function(){return f(!0)},children:"添加字段"}),children:[(0,re.jsx)("div",{style:{marginBottom:16},children:(0,re.jsx)(L.Z,{message:"自定义字段说明",description:"自定义字段会在工单创建和编辑表单中显示,帮助收集更多业务相关信息。字段按照排序号升序显示。",type:"info",showIcon:!0})}),(0,re.jsx)(je.Z,{columns:P,dataSource:t.sort((function(e,n){return e.order-n.order})),rowKey:"key",pagination:!1}),0===t.length&&(0,re.jsxs)("div",{style:{textAlign:"center",padding:"40px",color:"#999"},children:[(0,re.jsx)(b.Z,{style:{fontSize:"32px",marginBottom:"16px"}}),(0,re.jsx)("div",{children:"暂无自定义字段"}),(0,re.jsx)("div",{style:{fontSize:"12px"},children:"点击上方“添加字段”按钮创建第一个自定义字段"})]})]}),(0,re.jsxs)(pe.Z,{title:y?"编辑自定义字段":"添加自定义字段",open:g,onOk:V,onCancel:function(){f(!1),k(null),c.resetFields(),T("text")},width:600,children:[(0,re.jsxs)(h.Z,{form:c,layout:"vertical",children:[(0,re.jsxs)(D.Z,{gutter:16,children:[(0,re.jsx)(E.Z,{span:12,children:(0,re.jsx)(h.Z.Item,{name:"key",label:"字段标识",rules:[{required:!0,message:"请输入字段标识"},{pattern:/^[a-z][a-z0-9_]*$/,message:"只能包含小写字母、数字和下划线,必须以字母开头"}],children:(0,re.jsx)(ae.Z,{placeholder:"如:department、contact_phone",disabled:!!y})})}),(0,re.jsx)(E.Z,{span:12,children:(0,re.jsx)(h.Z.Item,{name:"name",label:"字段名称",rules:[{required:!0,message:"请输入字段名称"}],children:(0,re.jsx)(ae.Z,{placeholder:"如:部门、联系电话"})})})]}),(0,re.jsx)(h.Z.Item,{name:"type",label:"字段类型",rules:[{required:!0,message:"请选择字段类型"}],children:(0,re.jsx)(N.Z,{placeholder:"选择字段类型",onChange:function(e){T(e),"select"!==e&&"multiselect"!==e&&c.setFieldValue("options",void 0)},value:H,children:F.map((function(e){return(0,re.jsx)(ye,{value:e.value,children:(0,re.jsxs)("div",{children:[(0,re.jsx)("div",{style:{fontWeight:500},children:e.label}),(0,re.jsx)("div",{style:{fontSize:"12px",color:"#999"},children:e.description})]})},e.value)}))})}),("select"===H||"multiselect"===H)&&(0,re.jsx)(h.Z.Item,{name:"options",label:"选项列表",rules:[{required:!0,message:"请输入选项列表"}],tooltip:"每行一个选项",children:(0,re.jsx)(ae.Z.TextArea,{rows:4,placeholder:"选项1\n选项2\n选项3"})}),(0,re.jsxs)(D.Z,{gutter:16,children:[(0,re.jsx)(E.Z,{span:12,children:(0,re.jsx)(h.Z.Item,{name:"required",label:"是否必填",valuePropName:"checked",children:(0,re.jsx)(z.Z,{})})}),(0,re.jsx)(E.Z,{span:12,children:(0,re.jsx)(h.Z.Item,{name:"isActive",label:"启用状态",valuePropName:"checked",children:(0,re.jsx)(z.Z,{})})})]}),(0,re.jsx)(h.Z.Item,{name:"defaultValue",label:"默认值",children:(0,re.jsx)(ae.Z,{placeholder:"可选的默认值"})})]}),(0,re.jsx)(K.Z,{}),(0,re.jsxs)("div",{children:[(0,re.jsx)(Ze,{level:5,children:"字段预览"}),(0,re.jsxs)("div",{style:{padding:"16px",background:"#fafafa",borderRadius:"6px"},children:["text"===H&&(0,re.jsx)(ae.Z,{placeholder:c.getFieldValue("name")||"字段名称"}),"textarea"===H&&(0,re.jsx)(ae.Z.TextArea,{rows:3,placeholder:c.getFieldValue("name")||"字段名称"}),"select"===H&&(0,re.jsx)(N.Z,{placeholder:"请选择".concat(c.getFieldValue("name")||"字段名称"),style:{width:"100%"},children:null===(n=c.getFieldValue("options"))||void 0===n?void 0:n.split("\n").filter((function(e){return e.trim()})).map((function(e,n){return(0,re.jsx)(ye,{value:e.trim(),children:e.trim()},n)}))}),"multiselect"===H&&(0,re.jsx)(N.Z,{mode:"multiple",placeholder:"请选择".concat(c.getFieldValue("name")||"字段名称"),style:{width:"100%"},children:null===(r=c.getFieldValue("options"))||void 0===r?void 0:r.split("\n").filter((function(e){return e.trim()})).map((function(e,n){return(0,re.jsx)(ye,{value:e.trim(),children:e.trim()},n)}))}),"date"===H&&(0,re.jsx)(ae.Z,{placeholder:"日期选择器"}),"number"===H&&(0,re.jsx)(ae.Z,{type:"number",placeholder:c.getFieldValue("name")||"数字输入"})]})]})]})]})},ke=r(31806),we=r(86994),Ce=r(40795),Ie=r(71529),He=x.Z.Title,Te=x.Z.Text,Ae=(N.Z.Option,ae.Z.TextArea),Fe=function(e){var n,r,t,s=e.settings,l=e.onChange,a=((0,I.useIntl)(),(0,u.useState)(!1)),o=d()(a,2),c=o[0],x=o[1],g=(0,u.useState)(null),f=d()(g,2),v=f[0],Z=f[1],y=i()({},null!==(n=s.sms)&&void 0!==n?n:{enabled:!1,provider:"aliyun",signName:"",fromNumber:"",events:[],templateIds:{}}),b=function(e,n){var r=e.split(".");if(2===r.length){var t=d()(r,2),a=t[0],o=t[1],c=s[a];c&&"object"===V()(c)?l(P()({},a,i()(i()({},c),{},P()({},o,n)))):l(P()({},a,P()({},o,n)))}else l(P()({},e,n))},k=[{value:"created",label:"工单创建",description:"当新工单被创建时触发"},{value:"assigned",label:"工单分配",description:"当工单被分配给客服时触发"},{value:"status_changed",label:"状态变更",description:"当工单状态发生变化时触发"},{value:"priority_changed",label:"优先级变更",description:"当工单优先级被修改时触发"},{value:"comment_added",label:"添加评论",description:"当工单有新回复时触发"},{value:"resolved",label:"工单解决",description:"当工单被标记为已解决时触发"},{value:"closed",label:"工单关闭",description:"当工单被关闭时触发"},{value:"sla_warning",label:"SLA预警",description:"当工单接近SLA超时时触发"},{value:"sla_breach",label:"SLA超时",description:"当工单超过SLA时限时触发"}];return(0,re.jsxs)("div",{style:{padding:"20px 0"},children:[(0,re.jsx)(p.Z,{type:"card",items:[{key:"email",label:(0,re.jsxs)(m.Z,{children:[(0,re.jsx)(ke.Z,{}),"邮件通知"]}),children:(0,re.jsxs)(O.Z,{children:[(0,re.jsx)(h.Z.Item,{label:"启用邮件通知",name:"emailEnabled",valuePropName:"checked",initialValue:s.email.enabled,children:(0,re.jsx)(z.Z,{checkedChildren:"开启",unCheckedChildren:"关闭",onChange:function(e){return b("email.enabled",e)}})}),s.email.enabled&&(0,re.jsxs)(re.Fragment,{children:[(0,re.jsx)(h.Z.Item,{label:"邮件通知事件",name:"emailEvents",initialValue:s.email.events,rules:[{required:!0,message:"请选择至少一个通知事件"}],children:(0,re.jsx)(G.Z.Group,{onChange:function(e){return b("email.events",e)},children:(0,re.jsx)(D.Z,{gutter:[16,16],children:k.map((function(e){return(0,re.jsx)(E.Z,{span:12,children:(0,re.jsx)(G.Z,{value:e.value,children:(0,re.jsxs)("div",{children:[(0,re.jsx)("div",{style:{fontWeight:500},children:e.label}),(0,re.jsx)("div",{style:{fontSize:"12px",color:"#999"},children:e.description})]})})},e.value)}))})})}),(0,re.jsx)(K.Z,{}),(0,re.jsxs)("div",{children:[(0,re.jsx)(He,{level:5,children:"邮件模板设置"}),(0,re.jsxs)(Te,{type:"secondary",children:["点击编辑按钮可自定义邮件模板,支持使用变量如 ","{ticket_number}",", ","{ticket_title}"," 等"]}),(0,re.jsx)("div",{style:{marginTop:16},children:s.email.events.map((function(e){var n=k.find((function(n){return n.value===e}));return(0,re.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",padding:"12px 16px",border:"1px solid #f0f0f0",borderRadius:"6px",marginBottom:"8px"},children:[(0,re.jsxs)("div",{children:[(0,re.jsx)("div",{style:{fontWeight:500},children:null==n?void 0:n.label}),(0,re.jsx)("div",{style:{fontSize:"12px",color:"#999"},children:s.email.templates[e]?"已自定义模板":"使用默认模板"})]}),(0,re.jsx)(j.ZP,{size:"small",icon:(0,re.jsx)(ve.Z,{}),onClick:function(){return function(e){var n=s.email.templates[e]||"";Z({event:e,content:n}),x(!0)}(e)},children:"编辑模板"})]},e)}))})]})]})]})},{key:"internal",label:(0,re.jsxs)(m.Z,{children:[(0,re.jsx)(we.Z,{}),"站内通知"]}),children:(0,re.jsxs)(O.Z,{children:[(0,re.jsx)(h.Z.Item,{label:"启用站内通知",name:"internalEnabled",valuePropName:"checked",initialValue:s.internal.enabled,children:(0,re.jsx)(z.Z,{checkedChildren:"开启",unCheckedChildren:"关闭",onChange:function(e){return b("internal.enabled",e)}})}),s.internal.enabled&&(0,re.jsx)(h.Z.Item,{label:"站内通知事件",name:"internalEvents",initialValue:s.internal.events,rules:[{required:!0,message:"请选择至少一个通知事件"}],children:(0,re.jsx)(G.Z.Group,{onChange:function(e){return b("internal.events",e)},children:(0,re.jsx)(D.Z,{gutter:[16,16],children:k.map((function(e){return(0,re.jsx)(E.Z,{span:12,children:(0,re.jsx)(G.Z,{value:e.value,children:(0,re.jsxs)("div",{children:[(0,re.jsx)("div",{style:{fontWeight:500},children:e.label}),(0,re.jsx)("div",{style:{fontSize:"12px",color:"#999"},children:e.description})]})})},e.value)}))})})}),(0,re.jsx)(L.Z,{message:"站内通知说明",description:"站内通知会显示在系统的通知中心,用户登录后可以查看。适合内部团队协作使用。",type:"info",showIcon:!0})]})},{key:"sms",label:(0,re.jsxs)(m.Z,{children:[(0,re.jsx)(Ce.Z,{}),"短信通知"]}),children:(0,re.jsxs)(O.Z,{children:[(0,re.jsx)(h.Z.Item,{label:"启用短信通知",name:"smsEnabled",valuePropName:"checked",initialValue:y.enabled,children:(0,re.jsx)(z.Z,{checked:y.enabled,checkedChildren:"开启",unCheckedChildren:"关闭",onChange:function(e){return b("sms.enabled",e)}})}),y.enabled&&(0,re.jsxs)(re.Fragment,{children:[(0,re.jsx)(h.Z.Item,{label:"短信供应商",name:"smsProvider",initialValue:y.provider,rules:[{required:!0,message:"请选择短信供应商"}],children:(0,re.jsx)(N.Z,{style:{maxWidth:360},value:y.provider,onChange:function(e){return b("sms.provider",e)},children:[{label:"阿里云短信",value:"aliyun"},{label:"腾讯云短信",value:"tencent"},{label:"Twilio",value:"twilio"},{label:"自定义供应商",value:"custom"}].map((function(e){return(0,re.jsx)(N.Z.Option,{value:e.value,children:e.label},e.value)}))})}),("aliyun"===y.provider||"tencent"===y.provider)&&(0,re.jsx)(h.Z.Item,{label:"短信签名",name:"smsSignName",initialValue:y.signName,rules:[{required:!0,message:"请输入短信签名"}],children:(0,re.jsx)(ae.Z,{style:{maxWidth:480},placeholder:"例如:字节客服",value:y.signName,onChange:function(e){return b("sms.signName",e.target.value)}})}),("twilio"===y.provider||"custom"===y.provider)&&(0,re.jsx)(h.Z.Item,{label:"发送号码/标识",name:"smsFromNumber",initialValue:y.fromNumber,rules:[{required:!0,message:"请输入发送号码或标识"}],children:(0,re.jsx)(ae.Z,{style:{maxWidth:480},placeholder:"twilio"===y.provider?"+1xxxxxxxxxx":"请输入发送者号码或标识",value:y.fromNumber,onChange:function(e){return b("sms.fromNumber",e.target.value)}})}),(0,re.jsx)(h.Z.Item,{label:"短信通知事件",name:"smsEvents",initialValue:y.events,rules:[{required:!0,message:"请选择至少一个通知事件"}],children:(0,re.jsx)(G.Z.Group,{value:y.events,onChange:function(e){return b("sms.events",e)},children:(0,re.jsx)(D.Z,{gutter:[16,16],children:k.map((function(e){return(0,re.jsx)(E.Z,{span:12,children:(0,re.jsx)(G.Z,{value:e.value,children:(0,re.jsxs)("div",{children:[(0,re.jsx)("div",{style:{fontWeight:500},children:e.label}),(0,re.jsx)("div",{style:{fontSize:"12px",color:"#999"},children:e.description})]})})},e.value)}))})})}),(null===(r=y.events)||void 0===r?void 0:r.length)>0&&(0,re.jsxs)(re.Fragment,{children:[(0,re.jsx)(K.Z,{}),(0,re.jsx)(He,{level:5,children:"模板 ID 配置"}),(0,re.jsx)(Te,{type:"secondary",children:"为每个事件填写对应的短信模板 ID(由短信服务商提供)。"}),(0,re.jsx)("div",{style:{marginTop:16},children:y.events.map((function(e){var n,r=k.find((function(n){return n.value===e}));return(0,re.jsxs)("div",{style:{display:"flex",gap:12,alignItems:"center",padding:"12px 16px",border:"1px solid #f0f0f0",borderRadius:6,marginBottom:8},children:[(0,re.jsx)("div",{style:{width:160,fontWeight:500},children:null==r?void 0:r.label}),(0,re.jsx)(ae.Z,{style:{maxWidth:420},placeholder:"请输入模板ID,如:SMS_123456",value:(null===(n=y.templateIds)||void 0===n?void 0:n[e])||"",onChange:function(n){return function(e,n){var r=i()({},y.templateIds||{});r[e]=n,b("sms.templateIds",r)}(e,n.target.value)}})]},e)}))}),(0,re.jsx)(L.Z,{message:"短信模板与变量说明",description:(0,re.jsxs)("div",{children:[(0,re.jsx)("p",{children:"短信内容由服务商模板维护,请在模板中配置相应变量,如工单编号、标题等。"}),(0,re.jsxs)("p",{children:["常见变量包含:","{ticket_number}","、","{ticket_title}","、","{priority}","、","{status}","。"]})]}),type:"info",showIcon:!0,style:{marginTop:12}})]})]})]})},{key:"webhook",label:(0,re.jsxs)(m.Z,{children:[(0,re.jsx)(Ie.Z,{}),"Webhook"]}),children:(0,re.jsxs)(O.Z,{children:[(0,re.jsx)(h.Z.Item,{label:"启用Webhook",name:"webhookEnabled",valuePropName:"checked",initialValue:s.webhook.enabled,children:(0,re.jsx)(z.Z,{checkedChildren:"开启",unCheckedChildren:"关闭",onChange:function(e){return b("webhook.enabled",e)}})}),s.webhook.enabled&&(0,re.jsxs)(re.Fragment,{children:[(0,re.jsx)(h.Z.Item,{label:"Webhook URL",name:"webhookUrl",initialValue:s.webhook.url,rules:[{required:!0,message:"请输入Webhook URL"},{type:"url",message:"请输入有效的URL"}],children:(0,re.jsx)(ae.Z,{placeholder:"https://your-domain.com/webhook/tickets",onChange:function(e){return b("webhook.url",e.target.value)}})}),(0,re.jsx)(h.Z.Item,{label:"Webhook事件",name:"webhookEvents",initialValue:s.webhook.events,rules:[{required:!0,message:"请选择至少一个事件"}],children:(0,re.jsx)(G.Z.Group,{onChange:function(e){return b("webhook.events",e)},children:(0,re.jsx)(D.Z,{gutter:[16,16],children:k.map((function(e){return(0,re.jsx)(E.Z,{span:12,children:(0,re.jsx)(G.Z,{value:e.value,children:(0,re.jsxs)("div",{children:[(0,re.jsx)("div",{style:{fontWeight:500},children:e.label}),(0,re.jsx)("div",{style:{fontSize:"12px",color:"#999"},children:e.description})]})})},e.value)}))})})}),(0,re.jsx)(L.Z,{message:"Webhook说明",description:(0,re.jsxs)("div",{children:[(0,re.jsx)("p",{children:"Webhook会以POST方式向指定URL发送JSON格式的通知数据,包含工单详情和事件信息。"}),(0,re.jsx)("p",{children:"请确保目标URL可以正常接收HTTP POST请求。"})]}),type:"info",showIcon:!0})]})]})}]}),(0,re.jsx)(pe.Z,{title:"编辑邮件模板 - ".concat(null===(t=k.find((function(e){return e.value===(null==v?void 0:v.event)})))||void 0===t?void 0:t.label),open:c,onOk:function(){if(v){var e=i()(i()({},s.email.templates),{},P()({},v.event,v.content));b("email.templates",e),x(!1),Z(null)}},onCancel:function(){x(!1),Z(null)},width:800,children:v&&(0,re.jsxs)("div",{children:[(0,re.jsx)(h.Z.Item,{label:"模板内容",children:(0,re.jsx)(Ae,{value:v.content,onChange:function(e){return Z(i()(i()({},v),{},{content:e.target.value}))},rows:10,placeholder:{created:"您好,新工单 #{ticket_number} 已创建。\n\n标题:{ticket_title}\n优先级:{priority}\n创建时间:{created_at}\n\n请及时处理。",assigned:"您好,工单 #{ticket_number} 已分配给您。\n\n标题:{ticket_title}\n优先级:{priority}\n分配时间:{assigned_at}\n\n请及时处理。",resolved:"您好,工单 #{ticket_number} 已解决。\n\n标题:{ticket_title}\n解决时间:{resolved_at}\n处理人员:{assigned_to}\n\n感谢您的耐心等待。"}[v.event]||"请输入邮件模板内容"})}),(0,re.jsx)(L.Z,{message:"可用变量",description:(0,re.jsxs)("div",{children:[(0,re.jsxs)("p",{children:[(0,re.jsx)("code",{children:"{ticket_number}"})," - 工单编号"]}),(0,re.jsxs)("p",{children:[(0,re.jsx)("code",{children:"{ticket_title}"})," - 工单标题"]}),(0,re.jsxs)("p",{children:[(0,re.jsx)("code",{children:"{priority}"})," - 优先级"]}),(0,re.jsxs)("p",{children:[(0,re.jsx)("code",{children:"{status}"})," - 当前状态"]}),(0,re.jsxs)("p",{children:[(0,re.jsx)("code",{children:"{assigned_to}"})," - 分配人员"]}),(0,re.jsxs)("p",{children:[(0,re.jsx)("code",{children:"{created_at}"})," - 创建时间"]}),(0,re.jsxs)("p",{children:[(0,re.jsx)("code",{children:"{customer_name}"})," - 客户姓名"]})]}),type:"info",style:{marginTop:16}})]})})]})},Pe=r(31215),Se=x.Z.Title,Ve=x.Z.Text,qe=function(e){var n=e.settings,r=e.onChange,t=((0,I.useIntl)(),h.Z.useForm()),s=d()(t,1)[0],a=(0,u.useState)(!1),c=d()(a,2),x=c[0],p=c[1],g=(0,u.useState)(null),f=d()(g,2),Z=f[0],y=f[1],b=[{title:"优先级名称",dataIndex:"name",key:"name",render:function(e,n){return(0,re.jsx)(m.Z,{children:(0,re.jsx)(xe.Z,{color:n.color,children:e})})}},{title:"标识码",dataIndex:"key",key:"key",render:function(e){return(0,re.jsx)("code",{children:e})}},{title:"SLA时间",dataIndex:"slaHours",key:"slaHours",render:function(e){return"".concat(e," 小时")}},{title:"排序",dataIndex:"order",key:"order",width:80},{title:"状态",dataIndex:"isActive",key:"isActive",render:function(e){return(0,re.jsx)(xe.Z,{color:e?"green":"red",children:e?"启用":"禁用"})}},{title:"操作",key:"action",width:200,render:function(e,n){return(0,re.jsxs)(m.Z,{children:[(0,re.jsx)(j.ZP,{type:"link",icon:(0,re.jsx)(ve.Z,{}),onClick:function(){return w(n)},children:"编辑"}),(0,re.jsx)(he.Z,{title:"确定删除这个优先级吗?",description:"删除后将无法恢复,请谨慎操作。",onConfirm:function(){return C(n.key)},okText:"确定",cancelText:"取消",children:(0,re.jsx)(j.ZP,{type:"link",danger:!0,icon:(0,re.jsx)(U.Z,{}),children:"删除"})})]})}}],k=function(){var e=o()(l()().mark((function e(){var t,a,o,c,d,u;return l()().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,s.validateFields();case 3:t=e.sent,a=A()(n),Z?(o=a.findIndex((function(e){return e.key===Z.key})))>-1&&(a[o]=i()(i()({},Z),t)):(d=Math.max.apply(Math,A()(a.map((function(e){return e.order}))).concat([0])),u={key:t.key,name:t.name,color:t.color,slaHours:t.slaHours,order:d+1,isActive:null===(c=t.isActive)||void 0===c||c},a.push(u)),a.sort((function(e,n){return e.order-n.order})),r(a),p(!1),y(null),s.resetFields(),me.ZP.success(Z?"优先级更新成功":"优先级添加成功"),e.next=16;break;case 14:e.prev=14,e.t0=e.catch(0);case 16:case"end":return e.stop()}}),e,null,[[0,14]])})));return function(){return e.apply(this,arguments)}}(),w=function(e){y(e),s.setFieldsValue(e),p(!0)},C=function(e){var t=n.filter((function(n){return n.key!==e}));r(t),me.ZP.success("优先级删除成功")};return(0,re.jsxs)("div",{style:{padding:"20px 0"},children:[(0,re.jsxs)(O.Z,{title:(0,re.jsxs)(m.Z,{children:[(0,re.jsx)(v.Z,{}),(0,re.jsx)("span",{children:"优先级管理"})]}),extra:(0,re.jsx)(j.ZP,{type:"primary",icon:(0,re.jsx)($.Z,{}),onClick:function(){return p(!0)},children:"添加优先级"}),children:[(0,re.jsx)("div",{style:{marginBottom:16},children:(0,re.jsx)(Ve,{type:"secondary",children:"优先级按照排序号升序排列,SLA时间决定了该优先级工单的处理时限"})}),(0,re.jsx)(je.Z,{columns:b,dataSource:n.sort((function(e,n){return e.order-n.order})),rowKey:"key",pagination:!1}),(0,re.jsxs)("div",{style:{marginTop:24},children:[(0,re.jsx)(Se,{level:5,children:"SLA说明"}),(0,re.jsx)(Ve,{type:"secondary",children:"SLA(Service Level Agreement)是服务级别协议,定义了工单在该优先级下的处理时限。 超过SLA时间的工单将被标记为逾期,帮助团队更好地管理服务质量。"})]})]}),(0,re.jsx)(pe.Z,{title:Z?"编辑优先级":"添加优先级",open:x,onOk:k,onCancel:function(){p(!1),y(null),s.resetFields()},width:600,children:(0,re.jsxs)(h.Z,{form:s,layout:"vertical",children:[(0,re.jsxs)(D.Z,{gutter:16,children:[(0,re.jsx)(E.Z,{span:12,children:(0,re.jsx)(h.Z.Item,{name:"key",label:"优先级标识码",rules:[{required:!0,message:"请输入优先级标识码"},{pattern:/^[a-z_]+$/,message:"只能包含小写字母和下划线"}],children:(0,re.jsx)(ae.Z,{placeholder:"如:low, medium, high",disabled:!!Z})})}),(0,re.jsx)(E.Z,{span:12,children:(0,re.jsx)(h.Z.Item,{name:"name",label:"优先级名称",rules:[{required:!0,message:"请输入优先级名称"}],children:(0,re.jsx)(ae.Z,{placeholder:"如:低、中、高"})})})]}),(0,re.jsxs)(D.Z,{gutter:16,children:[(0,re.jsx)(E.Z,{span:12,children:(0,re.jsx)(h.Z.Item,{name:"color",label:"优先级颜色",rules:[{required:!0,message:"请选择优先级颜色"}],children:(0,re.jsx)(Pe.Z,{showText:!0})})}),(0,re.jsx)(E.Z,{span:12,children:(0,re.jsx)(h.Z.Item,{name:"isActive",label:"启用状态",valuePropName:"checked",children:(0,re.jsx)(z.Z,{})})})]}),(0,re.jsx)(h.Z.Item,{name:"slaHours",label:"SLA处理时限(小时)",rules:[{required:!0,message:"请设置SLA处理时限"},{type:"number",min:1,message:"SLA时限必须大于0"}],children:(0,re.jsx)(B.Z,{style:{width:"100%"},min:1,max:720,placeholder:"请输入处理时限",addonAfter:"小时"})}),(0,re.jsxs)("div",{style:{marginBottom:16},children:[(0,re.jsx)(Ve,{strong:!0,children:"常用SLA时限:"}),(0,re.jsx)("div",{style:{marginTop:8},children:(0,re.jsx)(m.Z,{wrap:!0,children:[{label:"4小时(严重)",value:4},{label:"8小时(紧急)",value:8},{label:"24小时(高)",value:24},{label:"48小时(中)",value:48},{label:"72小时(低)",value:72}].map((function(e){return(0,re.jsx)(xe.Z,{style:{cursor:"pointer"},onClick:function(){return s.setFieldValue("slaHours",e.value)},children:e.label},e.value)}))})})]}),!Z&&(0,re.jsx)(h.Z.Item,{name:"order",label:"排序号",tooltip:"数字越小排序越靠前,留空则自动排到最后",children:(0,re.jsx)(B.Z,{style:{width:"100%"},min:1,placeholder:"可选,留空自动排序"})})]})})]})},Me=r(5651),Re=(x.Z.Title,x.Z.Text),_e=N.Z.Option,Oe=function(e){var n=e.settings,r=e.onChange,t=((0,I.useIntl)(),h.Z.useForm()),s=d()(t,1)[0],a=h.Z.useForm(),c=d()(a,1)[0],x=(0,u.useState)(!1),p=d()(x,2),g=p[0],v=p[1],Z=(0,u.useState)(!1),y=d()(Z,2),b=y[0],k=y[1],w=(0,u.useState)(null),C=d()(w,2),H=C[0],T=C[1],F=(0,u.useState)(null),P=d()(F,2),S=P[0],V=P[1],q=[{key:"admin",title:"管理员"},{key:"agent",title:"客服人员"},{key:"customer",title:"客户"},{key:"supervisor",title:"主管"}],M=[{title:"状态名称",dataIndex:"name",key:"name",render:function(e,n){return(0,re.jsx)(m.Z,{children:(0,re.jsx)(xe.Z,{color:n.color,children:e})})}},{title:"状态码",dataIndex:"key",key:"key",render:function(e){return(0,re.jsx)("code",{children:e})}},{title:"描述",dataIndex:"description",key:"description"},{title:"状态",dataIndex:"isActive",key:"isActive",render:function(e){return(0,re.jsx)(xe.Z,{color:e?"green":"red",children:e?"启用":"禁用"})}},{title:"操作",key:"action",render:function(e,n){return(0,re.jsxs)(m.Z,{children:[(0,re.jsx)(j.ZP,{type:"link",icon:(0,re.jsx)(ve.Z,{}),onClick:function(){return B(n)},children:"编辑"}),(0,re.jsx)(he.Z,{title:"确定删除这个状态吗?",description:"删除后将无法恢复,请谨慎操作。",onConfirm:function(){return L(n.key)},okText:"确定",cancelText:"取消",children:(0,re.jsx)(j.ZP,{type:"link",danger:!0,icon:(0,re.jsx)(U.Z,{}),children:"删除"})})]})}}],R=[{title:"从状态",dataIndex:"from",key:"from",render:function(e){var r=n.statuses.find((function(n){return n.key===e}));return r?(0,re.jsx)(xe.Z,{color:r.color,children:r.name}):e}},{title:"",key:"arrow",width:50,render:function(){return(0,re.jsx)(Me.Z,{style:{color:"#999"}})}},{title:"到状态",dataIndex:"to",key:"to",render:function(e){var r=n.statuses.find((function(n){return n.key===e}));return r?(0,re.jsx)(xe.Z,{color:r.color,children:r.name}):e}},{title:"允许角色",dataIndex:"roles",key:"roles",render:function(e){return(0,re.jsx)(m.Z,{wrap:!0,children:e.map((function(e){var n=q.find((function(n){return n.key===e}));return(0,re.jsx)(xe.Z,{color:"blue",children:(null==n?void 0:n.title)||e},e)}))})}},{title:"操作",key:"action",render:function(e,n){return(0,re.jsxs)(m.Z,{children:[(0,re.jsx)(j.ZP,{type:"link",icon:(0,re.jsx)(ve.Z,{}),onClick:function(){return G(n)},children:"编辑"}),(0,re.jsx)(he.Z,{title:"确定删除这个流转规则吗?",onConfirm:function(){return K(n)},okText:"确定",cancelText:"取消",children:(0,re.jsx)(j.ZP,{type:"link",danger:!0,icon:(0,re.jsx)(U.Z,{}),children:"删除"})})]})}}],_=function(){var e=o()(l()().mark((function e(){var t,a,o,c,d;return l()().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,s.validateFields();case 3:t=e.sent,a=A()(n.statuses),H?(o=a.findIndex((function(e){return e.key===H.key})))>-1&&(a[o]=i()(i()({},H),t)):(d={key:t.key,name:t.name,color:t.color,description:t.description,isActive:null===(c=t.isActive)||void 0===c||c},a.push(d)),r({statuses:a}),v(!1),T(null),s.resetFields(),me.ZP.success(H?"状态更新成功":"状态添加成功"),e.next=15;break;case 13:e.prev=13,e.t0=e.catch(0);case 15:case"end":return e.stop()}}),e,null,[[0,13]])})));return function(){return e.apply(this,arguments)}}(),B=function(e){T(e),s.setFieldsValue(e),v(!0)},L=function(e){var t=n.statuses.filter((function(n){return n.key!==e})),i=n.transitions.filter((function(n){return n.from!==e&&n.to!==e}));r({statuses:t,transitions:i}),me.ZP.success("状态删除成功")},W=function(){var e=o()(l()().mark((function e(){var t,s,a;return l()().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,c.validateFields();case 3:if(t=e.sent,s=A()(n.transitions),!S){e.next=10;break}(a=s.findIndex((function(e){return e.from===S.from&&e.to===S.to})))>-1&&(s[a]=i()({},t)),e.next=15;break;case 10:if(!s.find((function(e){return e.from===t.from&&e.to===t.to}))){e.next=14;break}return me.ZP.error("该流转规则已存在"),e.abrupt("return");case 14:s.push(t);case 15:r({transitions:s}),k(!1),V(null),c.resetFields(),me.ZP.success(S?"流转规则更新成功":"流转规则添加成功"),e.next=24;break;case 22:e.prev=22,e.t0=e.catch(0);case 24:case"end":return e.stop()}}),e,null,[[0,22]])})));return function(){return e.apply(this,arguments)}}(),G=function(e){V(e),c.setFieldsValue(e),k(!0)},K=function(e){var t=n.transitions.filter((function(n){return!(n.from===e.from&&n.to===e.to)}));r({transitions:t}),me.ZP.success("流转规则删除成功")};return(0,re.jsxs)("div",{style:{padding:"20px 0"},children:[(0,re.jsx)(O.Z,{title:(0,re.jsxs)(m.Z,{children:[(0,re.jsx)(f.Z,{}),(0,re.jsx)("span",{children:"状态管理"})]}),extra:(0,re.jsx)(j.ZP,{type:"primary",icon:(0,re.jsx)($.Z,{}),onClick:function(){return v(!0)},children:"添加状态"}),style:{marginBottom:24},children:(0,re.jsx)(je.Z,{columns:M,dataSource:n.statuses,rowKey:"key",pagination:!1,size:"middle"})}),(0,re.jsxs)(O.Z,{title:"状态流转规则",extra:(0,re.jsx)(j.ZP,{type:"primary",icon:(0,re.jsx)($.Z,{}),onClick:function(){return k(!0)},children:"添加流转规则"}),children:[(0,re.jsx)(je.Z,{columns:R,dataSource:n.transitions,rowKey:function(e){return"".concat(e.from,"-").concat(e.to)},pagination:!1,size:"middle"}),(0,re.jsx)("div",{style:{marginTop:16},children:(0,re.jsx)(Re,{type:"secondary",children:"流转规则定义了工单状态之间的转换关系和权限控制"})})]}),(0,re.jsx)(pe.Z,{title:H?"编辑状态":"添加状态",open:g,onOk:_,onCancel:function(){v(!1),T(null),s.resetFields()},width:600,children:(0,re.jsxs)(h.Z,{form:s,layout:"vertical",children:[(0,re.jsxs)(D.Z,{gutter:16,children:[(0,re.jsx)(E.Z,{span:12,children:(0,re.jsx)(h.Z.Item,{name:"key",label:"状态码",rules:[{required:!0,message:"请输入状态码"},{pattern:/^[a-z_]+$/,message:"只能包含小写字母和下划线"}],children:(0,re.jsx)(ae.Z,{placeholder:"如:new, processing",disabled:!!H})})}),(0,re.jsx)(E.Z,{span:12,children:(0,re.jsx)(h.Z.Item,{name:"name",label:"状态名称",rules:[{required:!0,message:"请输入状态名称"}],children:(0,re.jsx)(ae.Z,{placeholder:"如:新建、处理中"})})})]}),(0,re.jsxs)(D.Z,{gutter:16,children:[(0,re.jsx)(E.Z,{span:12,children:(0,re.jsx)(h.Z.Item,{name:"color",label:"状态颜色",rules:[{required:!0,message:"请选择状态颜色"}],children:(0,re.jsx)(Pe.Z,{})})}),(0,re.jsx)(E.Z,{span:12,children:(0,re.jsx)(h.Z.Item,{name:"isActive",label:"启用状态",valuePropName:"checked",children:(0,re.jsx)(z.Z,{})})})]}),(0,re.jsx)(h.Z.Item,{name:"description",label:"状态描述",rules:[{required:!0,message:"请输入状态描述"}],children:(0,re.jsx)(ae.Z.TextArea,{rows:3,placeholder:"描述这个状态的含义和用途"})})]})}),(0,re.jsx)(pe.Z,{title:S?"编辑流转规则":"添加流转规则",open:b,onOk:W,onCancel:function(){k(!1),V(null),c.resetFields()},width:600,children:(0,re.jsxs)(h.Z,{form:c,layout:"vertical",children:[(0,re.jsxs)(D.Z,{gutter:16,children:[(0,re.jsx)(E.Z,{span:12,children:(0,re.jsx)(h.Z.Item,{name:"from",label:"从状态",rules:[{required:!0,message:"请选择起始状态"}],children:(0,re.jsx)(N.Z,{placeholder:"选择起始状态",children:n.statuses.map((function(e){return(0,re.jsx)(_e,{value:e.key,children:(0,re.jsx)(xe.Z,{color:e.color,children:e.name})},e.key)}))})})}),(0,re.jsx)(E.Z,{span:12,children:(0,re.jsx)(h.Z.Item,{name:"to",label:"到状态",rules:[{required:!0,message:"请选择目标状态"}],children:(0,re.jsx)(N.Z,{placeholder:"选择目标状态",children:n.statuses.map((function(e){return(0,re.jsx)(_e,{value:e.key,children:(0,re.jsx)(xe.Z,{color:e.color,children:e.name})},e.key)}))})})})]}),(0,re.jsx)(h.Z.Item,{name:"roles",label:"允许执行的角色",rules:[{required:!0,message:"请选择至少一个角色"}],children:(0,re.jsx)(N.Z,{mode:"multiple",placeholder:"选择允许执行此流转的角色",children:q.map((function(e){return(0,re.jsx)(_e,{value:e.key,children:e.title},e.key)}))})})]})})]})},ze=r(5025),Ne=x.Z.Title,Be=function(){var e=(0,I.useIntl)(),n=h.Z.useForm(),r=d()(n,1)[0],t=(0,u.useState)(!1),s=d()(t,2),a=s[0],c=s[1],x=(0,u.useState)("basic"),T=d()(x,2),A=T[0],F=T[1],P=(0,H.u)((function(e){return e.currentOrg})),S=(0,u.useState)({basic:{numberPrefix:"TK",numberLength:8,defaultPriority:"medium",validityDays:30,autoCloseHours:72,enableAutoClose:!0},statusFlow:{statuses:[{key:"new",name:"新建",color:"#1890ff",description:"新创建的工单",isActive:!0},{key:"assigned",name:"已分配",color:"#52c41a",description:"已分配给处理人员",isActive:!0},{key:"processing",name:"处理中",color:"#faad14",description:"正在处理中",isActive:!0},{key:"pending",name:"待客户",color:"#fa8c16",description:"等待客户反馈",isActive:!0},{key:"resolved",name:"已解决",color:"#52c41a",description:"问题已解决",isActive:!0},{key:"closed",name:"已关闭",color:"#8c8c8c",description:"工单已关闭",isActive:!0}],transitions:[{from:"new",to:"assigned",roles:["admin","agent"]},{from:"assigned",to:"processing",roles:["admin","agent"]},{from:"processing",to:"pending",roles:["admin","agent"]},{from:"processing",to:"resolved",roles:["admin","agent"]},{from:"pending",to:"processing",roles:["admin","agent"]},{from:"resolved",to:"closed",roles:["admin","agent","customer"]}]},priorities:[{key:"low",name:"低",color:"#52c41a",slaHours:72,order:1,isActive:!0},{key:"medium",name:"中",color:"#faad14",slaHours:48,order:2,isActive:!0},{key:"high",name:"高",color:"#fa8c16",slaHours:24,order:3,isActive:!0},{key:"urgent",name:"紧急",color:"#f5222d",slaHours:8,order:4,isActive:!0},{key:"critical",name:"严重",color:"#722ed1",slaHours:4,order:5,isActive:!0}],assignment:{autoAssign:!0,assignmentType:"round_robin",workingHours:{enabled:!0,startTime:"09:00",endTime:"18:00",workingDays:[1,2,3,4,5]},maxConcurrentTickets:10},notifications:{email:{enabled:!0,events:["created","assigned","resolved","closed"],templates:{}},internal:{enabled:!0,events:["created","assigned","resolved","closed"]},webhook:{enabled:!1,url:"",events:[]}},customFields:[{key:"department",name:"部门",type:"select",required:!0,options:["技术部","销售部","客服部","市场部"],order:1,isActive:!0},{key:"contact_phone",name:"联系电话",type:"text",required:!1,order:2,isActive:!0}]}),V=d()(S,2),q=V[0],M=V[1],R=function(){var e=o()(l()().mark((function e(){return l()().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:c(!0),c(!1);case 2:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),_=function(){var n=o()(l()().mark((function n(){return l()().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return c(!0),n.prev=1,n.next=4,r.validateFields();case 4:n.sent,ze.yw.success(e.formatMessage({id:"ticket.settings.save.success",defaultMessage:"保存成功"})),n.next=11;break;case 8:n.prev=8,n.t0=n.catch(1),ze.yw.error(e.formatMessage({id:"ticket.settings.save.failed",defaultMessage:"保存失败"}));case 11:return n.prev=11,c(!1),n.finish(11);case 14:case"end":return n.stop()}}),n,null,[[1,8,11,14]])})));return function(){return n.apply(this,arguments)}}();(0,u.useEffect)((function(){R()}),[P]);var O=[{key:"basic",label:(0,re.jsxs)("span",{children:[(0,re.jsx)(g.Z,{}),(0,re.jsx)(I.FormattedMessage,{id:"ticket.settings.tab.basic",defaultMessage:"基础设置"})]}),children:(0,re.jsx)(ue,{settings:q.basic,onChange:function(e){return M((function(n){return i()(i()({},n),{},{basic:i()(i()({},n.basic),e)})}))}})},{key:"statusFlow",label:(0,re.jsxs)("span",{children:[(0,re.jsx)(f.Z,{}),(0,re.jsx)(I.FormattedMessage,{id:"ticket.settings.tab.statusFlow",defaultMessage:"状态流程"})]}),children:(0,re.jsx)(Oe,{settings:q.statusFlow,onChange:function(e){return M((function(n){return i()(i()({},n),{},{statusFlow:i()(i()({},n.statusFlow),e)})}))}})},{key:"priorities",label:(0,re.jsxs)("span",{children:[(0,re.jsx)(v.Z,{}),(0,re.jsx)(I.FormattedMessage,{id:"ticket.settings.tab.priorities",defaultMessage:"优先级管理"})]}),children:(0,re.jsx)(qe,{settings:q.priorities,onChange:function(e){return M((function(n){return i()(i()({},n),{},{priorities:e})}))}})},{key:"assignment",label:(0,re.jsxs)("span",{children:[(0,re.jsx)(Z.Z,{}),(0,re.jsx)(I.FormattedMessage,{id:"ticket.settings.tab.assignment",defaultMessage:"分配规则"})]}),children:(0,re.jsx)(se,{settings:q.assignment,onChange:function(e){return M((function(n){return i()(i()({},n),{},{assignment:i()(i()({},n.assignment),e)})}))}})},{key:"notifications",label:(0,re.jsxs)("span",{children:[(0,re.jsx)(y.Z,{}),(0,re.jsx)(I.FormattedMessage,{id:"ticket.settings.tab.notifications",defaultMessage:"通知设置"})]}),children:(0,re.jsx)(Fe,{settings:q.notifications,onChange:function(e){return M((function(n){return i()(i()({},n),{},{notifications:i()(i()({},n.notifications),e)})}))}})},{key:"customFields",label:(0,re.jsxs)("span",{children:[(0,re.jsx)(b.Z,{}),(0,re.jsx)(I.FormattedMessage,{id:"ticket.settings.tab.customFields",defaultMessage:"自定义字段"})]}),children:(0,re.jsx)(be,{settings:q.customFields,onChange:function(e){return M((function(n){return i()(i()({},n),{},{customFields:e})}))}})}];return(0,re.jsx)(C.Z,{title:(0,re.jsxs)(m.Z,{children:[(0,re.jsx)(g.Z,{}),(0,re.jsx)(Ne,{level:4,style:{margin:0},children:(0,re.jsx)(I.FormattedMessage,{id:"ticket.settings.title",defaultMessage:"工单设置"})})]}),extra:(0,re.jsxs)(m.Z,{children:[(0,re.jsx)(j.ZP,{icon:(0,re.jsx)(k.Z,{}),onClick:function(){r.resetFields(),R(),ze.yw.info(e.formatMessage({id:"ticket.settings.reset.info",defaultMessage:"已重置为初始设置"}))},disabled:a,children:(0,re.jsx)(I.FormattedMessage,{id:"ticket.settings.reset",defaultMessage:"重置"})}),(0,re.jsx)(j.ZP,{type:"primary",icon:(0,re.jsx)(w.Z,{}),onClick:_,loading:a,children:(0,re.jsx)(I.FormattedMessage,{id:"ticket.settings.save",defaultMessage:"保存设置"})})]}),style:{minHeight:"100vh"},children:(0,re.jsx)(h.Z,{form:r,layout:"vertical",children:(0,re.jsx)(p.Z,{activeKey:A,onChange:F,type:"card",items:O,style:{marginTop:16}})})})}}}]); |