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