@dev_ailaw/venus 1.425.0 → 1.426.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- /*! tailwindcss v2.2.17 | MIT License | https://tailwindcss.com *//*! modern-normalize v1.1.0 | MIT License | https://github.com/sindresorhus/modern-normalize */*,:before,:after{box-sizing:border-box}html{-moz-tab-size:4;-o-tab-size:4;tab-size:4}html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"}hr{height:0;color:inherit}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}::-moz-focus-inner{border-style:none;padding:0}legend{padding:0}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}button{background-color:transparent;background-image:none}fieldset{margin:0;padding:0}ol,ul{list-style:none;margin:0;padding:0}html{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";line-height:1.5}body{font-family:inherit;line-height:inherit}*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:currentColor}hr{border-top-width:1px}img{border-style:solid}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#a1a1aa}input:-ms-input-placeholder,textarea:-ms-input-placeholder{opacity:1;color:#a1a1aa}input::placeholder,textarea::placeholder{opacity:1;color:#a1a1aa}button,[role=button]{cursor:pointer}table{border-collapse:collapse}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}button,input,optgroup,select,textarea{padding:0;line-height:inherit;color:inherit}pre,code,kbd,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after{border-color:currentColor}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.visible{visibility:visible}.relative{position:relative}.mr-2{margin-right:.5rem}.mb-0{margin-bottom:0}.mb-5{margin-bottom:1.25rem}.ml-2{margin-left:.5rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.table{display:table}.contents{display:contents}.hidden{display:none}.h-6{height:1.5rem}.h-screen{height:100vh}.w-6{width:1.5rem}.w-60{width:15rem}.w-72{width:18rem}.flex-1{flex:1 1 0%}@-webkit-keyframes spin{to{transform:rotate(360deg)}}@keyframes spin{to{transform:rotate(360deg)}}@-webkit-keyframes ping{75%,to{transform:scale(2);opacity:0}}@keyframes ping{75%,to{transform:scale(2);opacity:0}}@-webkit-keyframes pulse{50%{opacity:.5}}@keyframes pulse{50%{opacity:.5}}@-webkit-keyframes bounce{0%,to{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(.8,0,1,1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;-webkit-animation-timing-function:cubic-bezier(0,0,.2,1);animation-timing-function:cubic-bezier(0,0,.2,1)}}@keyframes bounce{0%,to{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(.8,0,1,1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;-webkit-animation-timing-function:cubic-bezier(0,0,.2,1);animation-timing-function:cubic-bezier(0,0,.2,1)}}.cursor-pointer{cursor:pointer}.items-center{align-items:center}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.rounded{border-radius:.25rem}.border{border-width:1px}.border-solid{border-style:solid}.border-light-purple{--tw-border-opacity: 1;border-color:rgba(192,150,250,var(--tw-border-opacity))}.border-light-blue{--tw-border-opacity: 1;border-color:rgba(145,213,255,var(--tw-border-opacity))}.bg-purple{--tw-bg-opacity: 1;background-color:rgba(249,240,255,var(--tw-bg-opacity))}.bg-blue{--tw-bg-opacity: 1;background-color:rgba(230,247,255,var(--tw-bg-opacity))}.p-4{padding:1rem}.px-2{padding-left:.5rem;padding-right:.5rem}.pt-3{padding-top:.75rem}.pt-3\.5{padding-top:.875rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.font-bold{font-weight:700}.capitalize{text-transform:capitalize}.leading-5{line-height:1.25rem}.text-secondary{--tw-text-opacity: 1;color:rgba(102,102,102,var(--tw-text-opacity))}.text-smart{--tw-text-opacity: 1;color:rgba(114,46,209,var(--tw-text-opacity))}.text-classic{--tw-text-opacity: 1;color:rgba(24,144,255,var(--tw-text-opacity))}*,:before,:after{--tw-shadow: 0 0 #0000}*,:before,:after{--tw-ring-inset: var(--tw-empty, );--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgba(59, 130, 246, .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000}.filter{--tw-blur: var(--tw-empty, );--tw-brightness: var(--tw-empty, );--tw-contrast: var(--tw-empty, );--tw-grayscale: var(--tw-empty, );--tw-hue-rotate: var(--tw-empty, );--tw-invert: var(--tw-empty, );--tw-saturate: var(--tw-empty, );--tw-sepia: var(--tw-empty, );--tw-drop-shadow: var(--tw-empty, );filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur{--tw-blur: blur(8px)}.btn-divider[data-v-20a86d10]{margin-bottom:0!important;margin-top:12px!important}.beta[data-v-1114aea6]{line-height:20px;border-radius:15px;background-color:red;color:#fff;padding:0 3.5px;margin:0 5px}.min-w-80[data-v-72ef9bd2]{min-width:320px}.ant-popover{z-index:9999!important}.ant-popover .ant-popover-inner-content{padding:8px 16px}.container[data-v-4027e57a]{border:1px solid #cccccc;border-radius:6px;padding:0 4px;min-height:30px;cursor:pointer}.block[data-v-4027e57a]{display:block}.tags-container[data-v-18554545]{word-break:keep-all;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.taskTemplateInline[data-v-c5d917d8]{float:right}a.taskTemplateInline[data-v-c5d917d8]{margin-left:10px}div.taskTemplateInline[data-v-c5d917d8]{margin-top:5px!important}.task-cart-main-modal[data-v-697d89e6] .ant-modal-body{padding-bottom:0}
1
+ /*! tailwindcss v2.2.17 | MIT License | https://tailwindcss.com *//*! modern-normalize v1.1.0 | MIT License | https://github.com/sindresorhus/modern-normalize */*,:before,:after{box-sizing:border-box}html{-moz-tab-size:4;-o-tab-size:4;tab-size:4}html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"}hr{height:0;color:inherit}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}::-moz-focus-inner{border-style:none;padding:0}legend{padding:0}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}button{background-color:transparent;background-image:none}fieldset{margin:0;padding:0}ol,ul{list-style:none;margin:0;padding:0}html{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";line-height:1.5}body{font-family:inherit;line-height:inherit}*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:currentColor}hr{border-top-width:1px}img{border-style:solid}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#a1a1aa}input:-ms-input-placeholder,textarea:-ms-input-placeholder{opacity:1;color:#a1a1aa}input::placeholder,textarea::placeholder{opacity:1;color:#a1a1aa}button,[role=button]{cursor:pointer}table{border-collapse:collapse}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}button,input,optgroup,select,textarea{padding:0;line-height:inherit;color:inherit}pre,code,kbd,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after{border-color:currentColor}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.visible{visibility:visible}.relative{position:relative}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mb-0{margin-bottom:0}.mb-5{margin-bottom:1.25rem}.ml-2{margin-left:.5rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.table{display:table}.contents{display:contents}.hidden{display:none}.h-6{height:1.5rem}.h-screen{height:100vh}.w-6{width:1.5rem}.w-60{width:15rem}.w-72{width:18rem}.flex-1{flex:1 1 0%}@-webkit-keyframes spin{to{transform:rotate(360deg)}}@keyframes spin{to{transform:rotate(360deg)}}@-webkit-keyframes ping{75%,to{transform:scale(2);opacity:0}}@keyframes ping{75%,to{transform:scale(2);opacity:0}}@-webkit-keyframes pulse{50%{opacity:.5}}@keyframes pulse{50%{opacity:.5}}@-webkit-keyframes bounce{0%,to{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(.8,0,1,1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;-webkit-animation-timing-function:cubic-bezier(0,0,.2,1);animation-timing-function:cubic-bezier(0,0,.2,1)}}@keyframes bounce{0%,to{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(.8,0,1,1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;-webkit-animation-timing-function:cubic-bezier(0,0,.2,1);animation-timing-function:cubic-bezier(0,0,.2,1)}}.cursor-pointer{cursor:pointer}.items-center{align-items:center}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.rounded{border-radius:.25rem}.border{border-width:1px}.border-solid{border-style:solid}.border-light-purple{--tw-border-opacity: 1;border-color:rgba(192,150,250,var(--tw-border-opacity))}.border-light-blue{--tw-border-opacity: 1;border-color:rgba(145,213,255,var(--tw-border-opacity))}.bg-purple{--tw-bg-opacity: 1;background-color:rgba(249,240,255,var(--tw-bg-opacity))}.bg-blue{--tw-bg-opacity: 1;background-color:rgba(230,247,255,var(--tw-bg-opacity))}.p-4{padding:1rem}.px-2{padding-left:.5rem;padding-right:.5rem}.pt-3{padding-top:.75rem}.pt-3\.5{padding-top:.875rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.font-bold{font-weight:700}.capitalize{text-transform:capitalize}.leading-5{line-height:1.25rem}.text-secondary{--tw-text-opacity: 1;color:rgba(102,102,102,var(--tw-text-opacity))}.text-smart{--tw-text-opacity: 1;color:rgba(114,46,209,var(--tw-text-opacity))}.text-classic{--tw-text-opacity: 1;color:rgba(24,144,255,var(--tw-text-opacity))}*,:before,:after{--tw-shadow: 0 0 #0000}*,:before,:after{--tw-ring-inset: var(--tw-empty, );--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgba(59, 130, 246, .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000}.filter{--tw-blur: var(--tw-empty, );--tw-brightness: var(--tw-empty, );--tw-contrast: var(--tw-empty, );--tw-grayscale: var(--tw-empty, );--tw-hue-rotate: var(--tw-empty, );--tw-invert: var(--tw-empty, );--tw-saturate: var(--tw-empty, );--tw-sepia: var(--tw-empty, );--tw-drop-shadow: var(--tw-empty, );filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur{--tw-blur: blur(8px)}.btn-divider[data-v-20a86d10]{margin-bottom:0!important;margin-top:12px!important}.beta[data-v-1114aea6]{line-height:20px;border-radius:15px;background-color:red;color:#fff;padding:0 3.5px;margin:0 5px}.min-w-80[data-v-72ef9bd2]{min-width:320px}.ant-popover{z-index:9999!important}.ant-popover .ant-popover-inner-content{padding:8px 16px}.container[data-v-4027e57a]{border:1px solid #cccccc;border-radius:6px;padding:0 4px;min-height:30px;cursor:pointer}.block[data-v-4027e57a]{display:block}.tags-container[data-v-18554545]{word-break:keep-all;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.rule-link-tag[data-v-51e0a745]{display:inline-block;vertical-align:middle;margin-left:8px;font-size:11px;line-height:18px;padding:0 6px;border-radius:3px;color:#0958d9;background:#e6f4ff;border:1px solid #91caff}.rule-link-tag-edited[data-v-51e0a745]{color:#595959;background:#fafafa;border-color:#d9d9d9}.rule-status-row[data-v-51e0a745]{font-size:12px;color:#999;line-height:22px;white-space:nowrap;margin-top:4px}.rule-status-ok[data-v-51e0a745]{color:#52c41a}.rule-status-na[data-v-51e0a745]{color:#bbb;cursor:default}.rule-status-hint[data-v-51e0a745]{margin-left:8px;color:#bfbfbf}.taskTemplateInline[data-v-c5d917d8]{float:right}a.taskTemplateInline[data-v-c5d917d8]{margin-left:10px}div.taskTemplateInline[data-v-c5d917d8]{margin-top:5px!important}.task-cart-main-modal[data-v-596ec48c] .ant-modal-body{padding-bottom:0}.task-cart-header-actions[data-v-596ec48c]{display:inline-flex;align-items:center;gap:12px}
package/dist/venus.es.js CHANGED
@@ -38,7 +38,7 @@ function __variableDynamicImportRuntime0__$1(path2) {
38
38
  });
39
39
  }
40
40
  }
41
- var __vue2_script$k = defineComponent({
41
+ var __vue2_script$l = defineComponent({
42
42
  props: {
43
43
  type: {
44
44
  type: String,
@@ -65,13 +65,13 @@ var __vue2_script$k = defineComponent({
65
65
  return { iconUrl };
66
66
  }
67
67
  });
68
- var render$k = function() {
68
+ var render$l = function() {
69
69
  var _vm = this;
70
70
  var _h = _vm.$createElement;
71
71
  var _c = _vm._self._c || _h;
72
72
  return _c("img", { staticClass: "w-6 h-6", attrs: { "src": _vm.iconUrl, "alt": _vm.type } });
73
73
  };
74
- var staticRenderFns$k = [];
74
+ var staticRenderFns$l = [];
75
75
  function normalizeComponent(scriptExports, render2, staticRenderFns2, functionalTemplate, injectStyles, scopeId, moduleIdentifier, shadowMode) {
76
76
  var options = typeof scriptExports === "function" ? scriptExports.options : scriptExports;
77
77
  if (render2) {
@@ -123,17 +123,17 @@ function normalizeComponent(scriptExports, render2, staticRenderFns2, functional
123
123
  options
124
124
  };
125
125
  }
126
- const __cssModules$k = {};
127
- var __component__$k = /* @__PURE__ */ normalizeComponent(__vue2_script$k, render$k, staticRenderFns$k, false, __vue2_injectStyles$k, null, null, null);
128
- function __vue2_injectStyles$k(context) {
129
- for (let o in __cssModules$k) {
130
- this[o] = __cssModules$k[o];
126
+ const __cssModules$l = {};
127
+ var __component__$l = /* @__PURE__ */ normalizeComponent(__vue2_script$l, render$l, staticRenderFns$l, false, __vue2_injectStyles$l, null, null, null);
128
+ function __vue2_injectStyles$l(context) {
129
+ for (let o in __cssModules$l) {
130
+ this[o] = __cssModules$l[o];
131
131
  }
132
132
  }
133
133
  var ProfileTypeIcon = /* @__PURE__ */ function() {
134
- return __component__$k.exports;
134
+ return __component__$l.exports;
135
135
  }();
136
- var __vue2_script$j = defineComponent({
136
+ var __vue2_script$k = defineComponent({
137
137
  props: {
138
138
  source: {
139
139
  type: Object,
@@ -142,22 +142,22 @@ var __vue2_script$j = defineComponent({
142
142
  },
143
143
  components: { ProfileTypeIcon }
144
144
  });
145
- var render$j = function() {
145
+ var render$k = function() {
146
146
  var _vm = this;
147
147
  var _h = _vm.$createElement;
148
148
  var _c = _vm._self._c || _h;
149
149
  return _c("div", { staticClass: "flex space-x-1 items-center" }, [_c("ProfileTypeIcon", { attrs: { "type": _vm.source.profileType } }), _c("div", { staticClass: "text-secondary" }, [_vm._v(_vm._s(_vm.source.profileName))])], 1);
150
150
  };
151
- var staticRenderFns$j = [];
152
- const __cssModules$j = {};
153
- var __component__$j = /* @__PURE__ */ normalizeComponent(__vue2_script$j, render$j, staticRenderFns$j, false, __vue2_injectStyles$j, null, null, null);
154
- function __vue2_injectStyles$j(context) {
155
- for (let o in __cssModules$j) {
156
- this[o] = __cssModules$j[o];
151
+ var staticRenderFns$k = [];
152
+ const __cssModules$k = {};
153
+ var __component__$k = /* @__PURE__ */ normalizeComponent(__vue2_script$k, render$k, staticRenderFns$k, false, __vue2_injectStyles$k, null, null, null);
154
+ function __vue2_injectStyles$k(context) {
155
+ for (let o in __cssModules$k) {
156
+ this[o] = __cssModules$k[o];
157
157
  }
158
158
  }
159
159
  var ProfileSelectItem = /* @__PURE__ */ function() {
160
- return __component__$j.exports;
160
+ return __component__$k.exports;
161
161
  }();
162
162
  const meQuery = gql`
163
163
  query Me {
@@ -249,7 +249,7 @@ const profileTypes = {
249
249
  CLIENTPROFILE: "Company",
250
250
  PREPARERPROFILE: "Attorney"
251
251
  };
252
- var __vue2_script$i = defineComponent({
252
+ var __vue2_script$j = defineComponent({
253
253
  props: {
254
254
  value: {
255
255
  type: String
@@ -269,7 +269,7 @@ var __vue2_script$i = defineComponent({
269
269
  return { profileTypes, handleChange };
270
270
  }
271
271
  });
272
- var render$i = function() {
272
+ var render$j = function() {
273
273
  var _vm = this;
274
274
  var _h = _vm.$createElement;
275
275
  var _c = _vm._self._c || _h;
@@ -277,18 +277,18 @@ var render$i = function() {
277
277
  return _c("Option", { key, attrs: { "value": key } }, [_c("div", { staticClass: "flex items-center space-x-1" }, [_c("ProfileTypeIcon", { attrs: { "type": key } }), _c("div", { staticClass: "text-secondary" }, [_vm._v(_vm._s(_vm.profileTypes[key]))])], 1)]);
278
278
  }), 1);
279
279
  };
280
- var staticRenderFns$i = [];
281
- const __cssModules$i = {};
282
- var __component__$i = /* @__PURE__ */ normalizeComponent(__vue2_script$i, render$i, staticRenderFns$i, false, __vue2_injectStyles$i, null, null, null);
283
- function __vue2_injectStyles$i(context) {
284
- for (let o in __cssModules$i) {
285
- this[o] = __cssModules$i[o];
280
+ var staticRenderFns$j = [];
281
+ const __cssModules$j = {};
282
+ var __component__$j = /* @__PURE__ */ normalizeComponent(__vue2_script$j, render$j, staticRenderFns$j, false, __vue2_injectStyles$j, null, null, null);
283
+ function __vue2_injectStyles$j(context) {
284
+ for (let o in __cssModules$j) {
285
+ this[o] = __cssModules$j[o];
286
286
  }
287
287
  }
288
288
  var ProfileTypeSelect = /* @__PURE__ */ function() {
289
- return __component__$i.exports;
289
+ return __component__$j.exports;
290
290
  }();
291
- var __vue2_script$h = defineComponent({
291
+ var __vue2_script$i = defineComponent({
292
292
  props: {
293
293
  enabledTypes: {
294
294
  type: Array,
@@ -351,7 +351,7 @@ var __vue2_script$h = defineComponent({
351
351
  };
352
352
  }
353
353
  });
354
- var render$h = function() {
354
+ var render$i = function() {
355
355
  var _vm = this;
356
356
  var _h = _vm.$createElement;
357
357
  var _c = _vm._self._c || _h;
@@ -365,18 +365,18 @@ var render$h = function() {
365
365
  _vm.$set(_vm.value, "sendEmail", $$v);
366
366
  }, expression: "value.sendEmail" } }, [_vm._v("Send client portal login password (System will email client a login password)")])], 1) : _vm._e()], 1)], 1);
367
367
  };
368
- var staticRenderFns$h = [];
369
- const __cssModules$h = {};
370
- var __component__$h = /* @__PURE__ */ normalizeComponent(__vue2_script$h, render$h, staticRenderFns$h, false, __vue2_injectStyles$h, null, null, null);
371
- function __vue2_injectStyles$h(context) {
372
- for (let o in __cssModules$h) {
373
- this[o] = __cssModules$h[o];
368
+ var staticRenderFns$i = [];
369
+ const __cssModules$i = {};
370
+ var __component__$i = /* @__PURE__ */ normalizeComponent(__vue2_script$i, render$i, staticRenderFns$i, false, __vue2_injectStyles$i, null, null, null);
371
+ function __vue2_injectStyles$i(context) {
372
+ for (let o in __cssModules$i) {
373
+ this[o] = __cssModules$i[o];
374
374
  }
375
375
  }
376
376
  var ProfileCreateModal = /* @__PURE__ */ function() {
377
- return __component__$h.exports;
377
+ return __component__$i.exports;
378
378
  }();
379
- var __vue2_script$g = defineComponent({
379
+ var __vue2_script$h = defineComponent({
380
380
  props: {
381
381
  value: {
382
382
  type: Object
@@ -419,7 +419,7 @@ var __vue2_script$g = defineComponent({
419
419
  };
420
420
  }
421
421
  });
422
- var render$g = function() {
422
+ var render$h = function() {
423
423
  var _vm = this;
424
424
  var _h = _vm.$createElement;
425
425
  var _c = _vm._self._c || _h;
@@ -427,17 +427,17 @@ var render$g = function() {
427
427
  return _c("Option", { key: v.id, attrs: { "value": v.id, "name": v.profileName } }, [_c("ProfileSelectItem", { attrs: { "source": v } })], 1);
428
428
  })], 2);
429
429
  };
430
- var staticRenderFns$g = [];
430
+ var staticRenderFns$h = [];
431
431
  var profileSelector_vue_vue_type_style_index_0_scoped_true_lang = "";
432
- const __cssModules$g = {};
433
- var __component__$g = /* @__PURE__ */ normalizeComponent(__vue2_script$g, render$g, staticRenderFns$g, false, __vue2_injectStyles$g, "20a86d10", null, null);
434
- function __vue2_injectStyles$g(context) {
435
- for (let o in __cssModules$g) {
436
- this[o] = __cssModules$g[o];
432
+ const __cssModules$h = {};
433
+ var __component__$h = /* @__PURE__ */ normalizeComponent(__vue2_script$h, render$h, staticRenderFns$h, false, __vue2_injectStyles$h, "20a86d10", null, null);
434
+ function __vue2_injectStyles$h(context) {
435
+ for (let o in __cssModules$h) {
436
+ this[o] = __cssModules$h[o];
437
437
  }
438
438
  }
439
439
  var ProfileSelector = /* @__PURE__ */ function() {
440
- return __component__$g.exports;
440
+ return __component__$h.exports;
441
441
  }();
442
442
  function useProfiles(keywords, onlyRole, roleTypes, profileIds, disabledProfile) {
443
443
  const me = useMe();
@@ -466,7 +466,7 @@ function useProfiles(keywords, onlyRole, roleTypes, profileIds, disabledProfile)
466
466
  const profiles = useResult(result, [], (data) => data.profileSearch.profileList);
467
467
  return { profiles, loading };
468
468
  }
469
- var __vue2_script$f = defineComponent({
469
+ var __vue2_script$g = defineComponent({
470
470
  components: { ProfileSelector, ProfileCreateModal },
471
471
  props: {
472
472
  value: {
@@ -550,7 +550,7 @@ var __vue2_script$f = defineComponent({
550
550
  };
551
551
  }
552
552
  });
553
- var render$f = function() {
553
+ var render$g = function() {
554
554
  var _vm = this;
555
555
  var _h = _vm.$createElement;
556
556
  var _c = _vm._self._c || _h;
@@ -560,16 +560,16 @@ var render$f = function() {
560
560
  return _vm.toggleModal(false);
561
561
  }, "profile-created": _vm.handleProfileCreated } }) : _vm._e()], 1);
562
562
  };
563
- var staticRenderFns$f = [];
564
- const __cssModules$f = {};
565
- var __component__$f = /* @__PURE__ */ normalizeComponent(__vue2_script$f, render$f, staticRenderFns$f, false, __vue2_injectStyles$f, null, null, null);
566
- function __vue2_injectStyles$f(context) {
567
- for (let o in __cssModules$f) {
568
- this[o] = __cssModules$f[o];
563
+ var staticRenderFns$g = [];
564
+ const __cssModules$g = {};
565
+ var __component__$g = /* @__PURE__ */ normalizeComponent(__vue2_script$g, render$g, staticRenderFns$g, false, __vue2_injectStyles$g, null, null, null);
566
+ function __vue2_injectStyles$g(context) {
567
+ for (let o in __cssModules$g) {
568
+ this[o] = __cssModules$g[o];
569
569
  }
570
570
  }
571
571
  var index$4 = /* @__PURE__ */ function() {
572
- return __component__$f.exports;
572
+ return __component__$g.exports;
573
573
  }();
574
574
  const queryAllCaseTemplates = gql`
575
575
  query AllCaseTemplates($lawFirmId: Int!) {
@@ -621,7 +621,7 @@ function useCaseTemplates() {
621
621
  }));
622
622
  return { templates, loading };
623
623
  }
624
- var __vue2_script$e = defineComponent({
624
+ var __vue2_script$f = defineComponent({
625
625
  props: {
626
626
  isSmart: {
627
627
  type: Boolean
@@ -630,7 +630,7 @@ var __vue2_script$e = defineComponent({
630
630
  setup() {
631
631
  }
632
632
  });
633
- var render$e = function() {
633
+ var render$f = function() {
634
634
  var _vm = this;
635
635
  var _h = _vm.$createElement;
636
636
  var _c = _vm._self._c || _h;
@@ -639,18 +639,18 @@ var render$e = function() {
639
639
  "text-classic bg-blue border-light-blue": !_vm.isSmart
640
640
  } }, [_vm._v(" " + _vm._s(_vm.isSmart ? _vm.$t("message.smart") : _vm.$t("message.classic")) + " ")]);
641
641
  };
642
- var staticRenderFns$e = [];
643
- const __cssModules$e = {};
644
- var __component__$e = /* @__PURE__ */ normalizeComponent(__vue2_script$e, render$e, staticRenderFns$e, false, __vue2_injectStyles$e, null, null, null);
645
- function __vue2_injectStyles$e(context) {
646
- for (let o in __cssModules$e) {
647
- this[o] = __cssModules$e[o];
642
+ var staticRenderFns$f = [];
643
+ const __cssModules$f = {};
644
+ var __component__$f = /* @__PURE__ */ normalizeComponent(__vue2_script$f, render$f, staticRenderFns$f, false, __vue2_injectStyles$f, null, null, null);
645
+ function __vue2_injectStyles$f(context) {
646
+ for (let o in __cssModules$f) {
647
+ this[o] = __cssModules$f[o];
648
648
  }
649
649
  }
650
650
  var CaseTemplateTypeBadge = /* @__PURE__ */ function() {
651
- return __component__$e.exports;
651
+ return __component__$f.exports;
652
652
  }();
653
- var __vue2_script$d = defineComponent({
653
+ var __vue2_script$e = defineComponent({
654
654
  props: {
655
655
  source: {
656
656
  type: Object,
@@ -659,23 +659,23 @@ var __vue2_script$d = defineComponent({
659
659
  },
660
660
  components: { CaseTemplateTypeBadge, Popover }
661
661
  });
662
- var render$d = function() {
662
+ var render$e = function() {
663
663
  var _vm = this;
664
664
  var _h = _vm.$createElement;
665
665
  var _c = _vm._self._c || _h;
666
666
  return _c("popover", [_c("div", { staticClass: "flex space-x-2 items-center" }, [_c("span", [_vm._v(_vm._s(_vm.source.templateName))]), _c("case-template-type-badge", { attrs: { "isSmart": _vm.source.isSmart } })], 1), _c("div", { attrs: { "slot": "content" }, slot: "content" }, [_c("span", [_vm._v(_vm._s(_vm.source.templateName) + " ")]), _c("b", [_vm._v("(" + _vm._s(_vm.source.isSmart ? "Smart" : "Classic") + ")")])])]);
667
667
  };
668
- var staticRenderFns$d = [];
668
+ var staticRenderFns$e = [];
669
669
  var caseTemplateOption_vue_vue_type_style_index_0_scoped_true_lang = "";
670
- const __cssModules$d = {};
671
- var __component__$d = /* @__PURE__ */ normalizeComponent(__vue2_script$d, render$d, staticRenderFns$d, false, __vue2_injectStyles$d, "1114aea6", null, null);
672
- function __vue2_injectStyles$d(context) {
673
- for (let o in __cssModules$d) {
674
- this[o] = __cssModules$d[o];
670
+ const __cssModules$e = {};
671
+ var __component__$e = /* @__PURE__ */ normalizeComponent(__vue2_script$e, render$e, staticRenderFns$e, false, __vue2_injectStyles$e, "1114aea6", null, null);
672
+ function __vue2_injectStyles$e(context) {
673
+ for (let o in __cssModules$e) {
674
+ this[o] = __cssModules$e[o];
675
675
  }
676
676
  }
677
677
  var CaseTemplateOption = /* @__PURE__ */ function() {
678
- return __component__$d.exports;
678
+ return __component__$e.exports;
679
679
  }();
680
680
  const handleString = (str) => {
681
681
  const reg = /[-/]/g;
@@ -692,7 +692,7 @@ var caseTemplateFilter = (inputKeywords, formsString, label = formsString) => {
692
692
  const inputKW = inputKeywords.split(" ");
693
693
  return inputKW.some((v) => formsString.includes(v));
694
694
  };
695
- var __vue2_script$c = defineComponent({
695
+ var __vue2_script$d = defineComponent({
696
696
  props: ["value", "blackList", "exemptLawFirmList", "templateType"],
697
697
  components: {
698
698
  ASelect: Select,
@@ -756,7 +756,7 @@ var __vue2_script$c = defineComponent({
756
756
  };
757
757
  }
758
758
  });
759
- var render$c = function() {
759
+ var render$d = function() {
760
760
  var _vm = this;
761
761
  var _h = _vm.$createElement;
762
762
  var _c = _vm._self._c || _h;
@@ -766,18 +766,18 @@ var render$c = function() {
766
766
  return _c("a-option", { key: v.id, attrs: { "value": v.id, "name": v.templateName, "forms": v.keywords } }, [_c("CaseTemplateOption", { attrs: { "source": v } })], 1);
767
767
  }), 1)], 1);
768
768
  };
769
- var staticRenderFns$c = [];
769
+ var staticRenderFns$d = [];
770
770
  var index_vue_vue_type_style_index_0_scoped_true_lang$7 = "";
771
771
  var index_vue_vue_type_style_index_1_lang = "";
772
- const __cssModules$c = {};
773
- var __component__$c = /* @__PURE__ */ normalizeComponent(__vue2_script$c, render$c, staticRenderFns$c, false, __vue2_injectStyles$c, "72ef9bd2", null, null);
774
- function __vue2_injectStyles$c(context) {
775
- for (let o in __cssModules$c) {
776
- this[o] = __cssModules$c[o];
772
+ const __cssModules$d = {};
773
+ var __component__$d = /* @__PURE__ */ normalizeComponent(__vue2_script$d, render$d, staticRenderFns$d, false, __vue2_injectStyles$d, "72ef9bd2", null, null);
774
+ function __vue2_injectStyles$d(context) {
775
+ for (let o in __cssModules$d) {
776
+ this[o] = __cssModules$d[o];
777
777
  }
778
778
  }
779
779
  var index$3 = /* @__PURE__ */ function() {
780
- return __component__$c.exports;
780
+ return __component__$d.exports;
781
781
  }();
782
782
  function __variableDynamicImportRuntime0__(path2) {
783
783
  switch (path2) {
@@ -1893,7 +1893,7 @@ const acceptableFormats = [
1893
1893
  ".jpeg",
1894
1894
  ".png"
1895
1895
  ];
1896
- var __vue2_script$b = defineComponent({
1896
+ var __vue2_script$c = defineComponent({
1897
1897
  name: "aFileUploader",
1898
1898
  components: {
1899
1899
  AntUpload: Upload,
@@ -2020,7 +2020,7 @@ var __vue2_script$b = defineComponent({
2020
2020
  };
2021
2021
  }
2022
2022
  });
2023
- var render$b = function() {
2023
+ var render$c = function() {
2024
2024
  var _vm = this;
2025
2025
  var _h = _vm.$createElement;
2026
2026
  var _c = _vm._self._c || _h;
@@ -2047,17 +2047,17 @@ var render$b = function() {
2047
2047
  return _vm.handleSelectFolderTree.apply(null, arguments);
2048
2048
  } } }, [_vm._v(" Upload Folder Sample ")])], 1) : _vm._e()], 1);
2049
2049
  };
2050
- var staticRenderFns$b = [];
2050
+ var staticRenderFns$c = [];
2051
2051
  var index_vue_vue_type_style_index_0_scoped_true_lang$6 = "";
2052
- const __cssModules$b = {};
2053
- var __component__$b = /* @__PURE__ */ normalizeComponent(__vue2_script$b, render$b, staticRenderFns$b, false, __vue2_injectStyles$b, "4027e57a", null, null);
2054
- function __vue2_injectStyles$b(context) {
2055
- for (let o in __cssModules$b) {
2056
- this[o] = __cssModules$b[o];
2052
+ const __cssModules$c = {};
2053
+ var __component__$c = /* @__PURE__ */ normalizeComponent(__vue2_script$c, render$c, staticRenderFns$c, false, __vue2_injectStyles$c, "4027e57a", null, null);
2054
+ function __vue2_injectStyles$c(context) {
2055
+ for (let o in __cssModules$c) {
2056
+ this[o] = __cssModules$c[o];
2057
2057
  }
2058
2058
  }
2059
2059
  var AFileUploader = /* @__PURE__ */ function() {
2060
- return __component__$b.exports;
2060
+ return __component__$c.exports;
2061
2061
  }();
2062
2062
  var AssigneeTypes;
2063
2063
  (function(AssigneeTypes2) {
@@ -2084,7 +2084,7 @@ var ResponseCode;
2084
2084
  ResponseCode2["success"] = "SUCCESS";
2085
2085
  ResponseCode2["failed"] = "FAILED";
2086
2086
  })(ResponseCode || (ResponseCode = {}));
2087
- var __vue2_script$a = defineComponent({
2087
+ var __vue2_script$b = defineComponent({
2088
2088
  components: {
2089
2089
  AntTag: Tag
2090
2090
  },
@@ -2101,25 +2101,25 @@ var __vue2_script$a = defineComponent({
2101
2101
  };
2102
2102
  }
2103
2103
  });
2104
- var render$a = function() {
2104
+ var render$b = function() {
2105
2105
  var _vm = this;
2106
2106
  var _h = _vm.$createElement;
2107
2107
  var _c = _vm._self._c || _h;
2108
2108
  return _c("ant-tag", { attrs: { "color": _vm.tagColor(_vm.assigneeType || "EMPTY_DEFAULT") } }, [_vm._v(" " + _vm._s(_vm.$t(_vm.AssigneeTypesText[_vm.assigneeType])) + " ")]);
2109
2109
  };
2110
- var staticRenderFns$a = [];
2110
+ var staticRenderFns$b = [];
2111
2111
  var index_vue_vue_type_style_index_0_scoped_true_lang$5 = "";
2112
- const __cssModules$a = {};
2113
- var __component__$a = /* @__PURE__ */ normalizeComponent(__vue2_script$a, render$a, staticRenderFns$a, false, __vue2_injectStyles$a, "3f69c61c", null, null);
2114
- function __vue2_injectStyles$a(context) {
2115
- for (let o in __cssModules$a) {
2116
- this[o] = __cssModules$a[o];
2112
+ const __cssModules$b = {};
2113
+ var __component__$b = /* @__PURE__ */ normalizeComponent(__vue2_script$b, render$b, staticRenderFns$b, false, __vue2_injectStyles$b, "3f69c61c", null, null);
2114
+ function __vue2_injectStyles$b(context) {
2115
+ for (let o in __cssModules$b) {
2116
+ this[o] = __cssModules$b[o];
2117
2117
  }
2118
2118
  }
2119
2119
  var AssigneeTag = /* @__PURE__ */ function() {
2120
- return __component__$a.exports;
2120
+ return __component__$b.exports;
2121
2121
  }();
2122
- var __vue2_script$9 = defineComponent({
2122
+ var __vue2_script$a = defineComponent({
2123
2123
  name: "index",
2124
2124
  components: {
2125
2125
  AntTooltip: Tooltip
@@ -2138,23 +2138,23 @@ var __vue2_script$9 = defineComponent({
2138
2138
  }
2139
2139
  }
2140
2140
  });
2141
- var render$9 = function() {
2141
+ var render$a = function() {
2142
2142
  var _vm = this;
2143
2143
  var _h = _vm.$createElement;
2144
2144
  var _c = _vm._self._c || _h;
2145
2145
  return _c("ant-tooltip", { attrs: { "placement": _vm.placement, "title": _vm.tags ? _vm.tags.join(", ") : "-" } }, [_c("div", { staticClass: "tags-container", style: "max-width:" + _vm.maxWidth + "px" }, [_c("span", [_vm._v(_vm._s(_vm.tags ? _vm.tags.join(", ") : "-"))])])]);
2146
2146
  };
2147
- var staticRenderFns$9 = [];
2147
+ var staticRenderFns$a = [];
2148
2148
  var index_vue_vue_type_style_index_0_scoped_true_lang$4 = "";
2149
- const __cssModules$9 = {};
2150
- var __component__$9 = /* @__PURE__ */ normalizeComponent(__vue2_script$9, render$9, staticRenderFns$9, false, __vue2_injectStyles$9, "18554545", null, null);
2151
- function __vue2_injectStyles$9(context) {
2152
- for (let o in __cssModules$9) {
2153
- this[o] = __cssModules$9[o];
2149
+ const __cssModules$a = {};
2150
+ var __component__$a = /* @__PURE__ */ normalizeComponent(__vue2_script$a, render$a, staticRenderFns$a, false, __vue2_injectStyles$a, "18554545", null, null);
2151
+ function __vue2_injectStyles$a(context) {
2152
+ for (let o in __cssModules$a) {
2153
+ this[o] = __cssModules$a[o];
2154
2154
  }
2155
2155
  }
2156
2156
  var TagsWithTooltip = /* @__PURE__ */ function() {
2157
- return __component__$9.exports;
2157
+ return __component__$a.exports;
2158
2158
  }();
2159
2159
  var TaskTypes;
2160
2160
  (function(TaskTypes2) {
@@ -2197,6 +2197,7 @@ var refactorParams = (record) => {
2197
2197
  isEmployee: record.isEmployee || AssigneeTypes[AssigneeTypes.EMPTY_DEFAULT],
2198
2198
  generalTaskType: record.generalTaskType,
2199
2199
  descriptions: record.descriptions,
2200
+ ruleDescription: record.ruleDescription,
2200
2201
  tagList: record.tagList
2201
2202
  };
2202
2203
  };
@@ -2305,6 +2306,27 @@ var belongsTo = [
2305
2306
  "COMPANY_INDUSTRY_INTRODUCTION"
2306
2307
  ]
2307
2308
  ];
2309
+ async function ruleHashOf(name, rule) {
2310
+ const data = new TextEncoder().encode(`${name || ""}
2311
+ ${rule || ""}`);
2312
+ const digest = await crypto.subtle.digest("SHA-1", data);
2313
+ return Array.from(new Uint8Array(digest)).map((b) => b.toString(16).padStart(2, "0")).join("");
2314
+ }
2315
+ async function badgeOf(record) {
2316
+ const rule = (record.ruleDescription || "").trim();
2317
+ if (!rule)
2318
+ return { s: "notset", types: [] };
2319
+ let items = null;
2320
+ try {
2321
+ items = JSON.parse(record.aiCheckItems || "null");
2322
+ } catch (e) {
2323
+ items = null;
2324
+ }
2325
+ if (items && items.hash === await ruleHashOf(record.taskName || "", rule)) {
2326
+ return { s: items.supported ? "ready" : "wont", types: items.types || [] };
2327
+ }
2328
+ return { s: "notchecked", types: [] };
2329
+ }
2308
2330
  const roles = [
2309
2331
  {
2310
2332
  id: AssigneeTypes.BENEFICIARY,
@@ -2328,7 +2350,7 @@ const roles = [
2328
2350
  hide: true
2329
2351
  }
2330
2352
  ];
2331
- var __vue2_script$8 = defineComponent({
2353
+ var __vue2_script$9 = defineComponent({
2332
2354
  name: "index",
2333
2355
  components: {
2334
2356
  AntForm: Form,
@@ -2364,6 +2386,14 @@ var __vue2_script$8 = defineComponent({
2364
2386
  showNotApplicable: {
2365
2387
  type: Boolean,
2366
2388
  default: false
2389
+ },
2390
+ showAiRule: {
2391
+ type: Boolean,
2392
+ default: false
2393
+ },
2394
+ checkRuleFunc: {
2395
+ type: Function,
2396
+ default: null
2367
2397
  }
2368
2398
  },
2369
2399
  mounted() {
@@ -2378,6 +2408,75 @@ var __vue2_script$8 = defineComponent({
2378
2408
  const typeError = ref(false);
2379
2409
  const nameErrorContent = ref("message.required");
2380
2410
  const changeVal = useChangeVal(props, emit);
2411
+ const ruleMirror = ref((props.value.ruleDescription || "") !== "" && (props.value.ruleDescription || "") === (props.value.descriptions || "") ? props.value.descriptions || "" : null);
2412
+ const ruleLinked = () => {
2413
+ const rule = props.value.ruleDescription || "";
2414
+ return !rule || rule === ruleMirror.value;
2415
+ };
2416
+ watch(() => props.value.descriptions, (desc) => {
2417
+ if (!props.showAiRule || !ruleLinked())
2418
+ return;
2419
+ ruleMirror.value = desc || "";
2420
+ changeVal("ruleDescription", desc || "");
2421
+ });
2422
+ const changeRule = (text) => {
2423
+ ruleMirror.value = null;
2424
+ changeVal("ruleDescription", text);
2425
+ };
2426
+ const ruleIsLinked = computed(() => {
2427
+ const rule = props.value.ruleDescription || "";
2428
+ return !rule || rule === ruleMirror.value;
2429
+ });
2430
+ const relinkRule = () => {
2431
+ const desc = props.value.descriptions || "";
2432
+ ruleMirror.value = desc;
2433
+ changeVal("ruleDescription", desc);
2434
+ };
2435
+ const ruleCheck = ref({ state: "idle", types: [] });
2436
+ const checkRuleNow = async () => {
2437
+ if (!props.checkRuleFunc)
2438
+ return;
2439
+ const rule = (props.value.ruleDescription || "").trim();
2440
+ if (!rule || ruleCheck.value.state === "checking")
2441
+ return;
2442
+ ruleCheck.value = { state: "checking", types: [] };
2443
+ try {
2444
+ const res = await props.checkRuleFunc({
2445
+ taskName: props.value.taskName || "",
2446
+ ruleDescription: rule
2447
+ });
2448
+ if (!res || res.error) {
2449
+ ruleCheck.value = { state: "error", types: [] };
2450
+ } else {
2451
+ ruleCheck.value = { state: res.supported ? "ready" : "wont", types: res.types || [] };
2452
+ }
2453
+ } catch (e) {
2454
+ ruleCheck.value = { state: "error", types: [] };
2455
+ }
2456
+ };
2457
+ let seedSeq = 0;
2458
+ const seedRuleCheck = async () => {
2459
+ const seq = ++seedSeq;
2460
+ const rule = (props.value.ruleDescription || "").trim();
2461
+ if (!props.showAiRule || !rule || !props.value.aiCheckItems)
2462
+ return;
2463
+ const badge = await badgeOf({
2464
+ taskName: props.value.taskName,
2465
+ ruleDescription: rule,
2466
+ aiCheckItems: props.value.aiCheckItems
2467
+ });
2468
+ if (seq !== seedSeq || ruleCheck.value.state === "checking")
2469
+ return;
2470
+ if (badge.s === "ready" || badge.s === "wont") {
2471
+ ruleCheck.value = { state: badge.s, types: badge.types };
2472
+ }
2473
+ };
2474
+ watch(() => [props.value.ruleDescription, props.value.taskName], () => {
2475
+ if (ruleCheck.value.state !== "checking") {
2476
+ ruleCheck.value = { state: "idle", types: [] };
2477
+ }
2478
+ seedRuleCheck();
2479
+ }, { immediate: true });
2381
2480
  const changeMultiple = (event) => {
2382
2481
  let toBeEmitted = __spreadProps(__spreadValues({}, props.value), {
2383
2482
  isEmployee: event
@@ -2439,6 +2538,7 @@ var __vue2_script$8 = defineComponent({
2439
2538
  typeError,
2440
2539
  nameError,
2441
2540
  changeVal,
2541
+ changeRule,
2442
2542
  changeMultiple,
2443
2543
  validFields,
2444
2544
  TaskTypes,
@@ -2448,11 +2548,15 @@ var __vue2_script$8 = defineComponent({
2448
2548
  nameErrorContent,
2449
2549
  belongsTo,
2450
2550
  AssigneeTypes,
2451
- shouldShowBelongsTo
2551
+ shouldShowBelongsTo,
2552
+ ruleIsLinked,
2553
+ relinkRule,
2554
+ ruleCheck,
2555
+ checkRuleNow
2452
2556
  };
2453
2557
  }
2454
2558
  });
2455
- var render$8 = function() {
2559
+ var render$9 = function() {
2456
2560
  var _vm = this;
2457
2561
  var _h = _vm.$createElement;
2458
2562
  var _c = _vm._self._c || _h;
@@ -2471,8 +2575,8 @@ var render$8 = function() {
2471
2575
  }, expression: "value.assigneeTypeList" } }, [_c("a-checkbox", { attrs: { "value": 1, "disabled": _vm.value.isEmployee === "BENEFICIARY" } }, [_vm._v(_vm._s(_vm.$t("message.Beneficiary")) + " ")]), _c("a-checkbox", { attrs: { "value": 2, "disabled": _vm.value.isEmployee === "PETITIONER" } }, [_vm._v(_vm._s(_vm.$t("message.petitioner")) + " ")])], 1)], 1)], 1) : _vm._e(), _c("ant-row", { attrs: { "gutter": 40 } }, [_c("ant-col", { attrs: { "span": 12 } }, [_c("ant-form-item", { attrs: { "required": "", "label": _vm.$t("message.type"), "help": _vm.typeError ? _vm.$t("message.required") : void 0, "validate-status": _vm.typeError ? "error" : void 0 } }, [_vm.value.generalTaskType !== _vm.TaskTypes.worksheet ? _c("ant-radio-group", { attrs: { "disabled": _vm.value.presetDocs != null || _vm.disabled, "value": _vm.value.generalTaskType }, on: { "change": function($event) {
2472
2576
  return _vm.changeVal("generalTaskType", $event.target.value);
2473
2577
  } } }, [_c("ant-radio", { attrs: { "value": _vm.TaskTypes.clientUpload } }, [_vm._v(" " + _vm._s(_vm.$t("message.clientUpload")) + " ")]), _c("ant-radio", { attrs: { "value": _vm.TaskTypes.clientReview, "disabled": _vm.isAttorneySelected } }, [_vm._v(" " + _vm._s(_vm.$t("message.clientReview")) + " ")])], 1) : _c("div", [_vm._v(_vm._s(_vm.$t("message.worksheet")))])], 1)], 1), _vm.shouldShowBelongsTo ? _c("ant-col", { attrs: { "span": 12 } }, [_c("ant-form-item", { scopedSlots: _vm._u([{ key: "label", fn: function() {
2474
- return [_vm._v(" " + _vm._s(_vm.$t("message.belongsTo")) + " "), _c("ant-popover", { attrs: { "content": _vm.$t("message.toReuseThisDoc") } }, [_c("ant-icon", { staticClass: "pt-3.5 text-classic cursor-pointer", attrs: { "type": "question-circle" } })], 1)];
2475
- }, proxy: true }], null, false, 4216407690) }, [_c("ant-select", { on: { "change": function($event) {
2578
+ return [_vm._v(" " + _vm._s(_vm.$t("message.belongsTo")) + " "), _c("ant-popover", { attrs: { "content": _vm.$t("message.toReuseThisDoc"), "overlay-style": { maxWidth: "380px" } } }, [_c("ant-icon", { staticClass: "pt-3.5 text-classic cursor-pointer", attrs: { "type": "question-circle" } })], 1)];
2579
+ }, proxy: true }], null, false, 1708057377) }, [_c("ant-select", { on: { "change": function($event) {
2476
2580
  return _vm.changeVal("taskSmartType", $event);
2477
2581
  } }, model: { value: _vm.value.taskSmartType, callback: function($$v) {
2478
2582
  _vm.$set(_vm.value, "taskSmartType", $$v);
@@ -2480,7 +2584,11 @@ var render$8 = function() {
2480
2584
  return _c("ant-select-option", { key: item[0], attrs: { "value": item[1] } }, [_vm._v(" " + _vm._s(item[0]) + " ")]);
2481
2585
  }), 1)], 1)], 1) : _vm._e()], 1), _c("ant-form-item", { attrs: { "label": "" + _vm.$t("message.descriptions") + " (" + _vm.$t("message.optional") + ")" } }, [_c("ant-textarea", { attrs: { "disabled": _vm.disabled, "value": _vm.value.descriptions }, on: { "input": function($event) {
2482
2586
  return _vm.changeVal("descriptions", $event.target.value);
2483
- } } })], 1), _c("ant-form-item", { attrs: { "label": "" + _vm.$t("message.attachment") + " (" + _vm.$t("message.optional") + ")" } }, [_c("a-file-uploader", { attrs: { "disabled": _vm.value.presetDocs != null || _vm.disabled, "value": _vm.value.presetDocs || _vm.value.sampleDocs, "uploadFilesFunc": _vm.uploadFilesFunc }, on: { "change": function($event) {
2587
+ } } })], 1), _vm.showAiRule ? _c("ant-form-item", { scopedSlots: _vm._u([{ key: "label", fn: function() {
2588
+ return [_vm._v(" " + _vm._s(_vm.$t("message.aiReviewRule")) + _vm._s(" ") + "(" + _vm._s(_vm.$t("message.optional")) + ") "), _c("ant-popover", { attrs: { "content": _vm.$t("message.aiReviewRuleHint"), "overlay-style": { maxWidth: "380px" } } }, [_c("ant-icon", { staticClass: "pt-3.5 text-classic cursor-pointer", attrs: { "type": "question-circle" } })], 1), _vm.ruleIsLinked ? _c("span", { staticClass: "rule-link-tag" }, [_vm._v(_vm._s(_vm.$t("message.aiCheckLinkedToDesc")))]) : _c("span", { staticClass: "rule-link-tag rule-link-tag-edited" }, [_vm._v(" " + _vm._s(_vm.$t("message.aiCheckEditedTag")) + " \xB7 "), _c("a", { on: { "click": _vm.relinkRule } }, [_vm._v(_vm._s(_vm.$t("message.aiCheckRelink")))])])];
2589
+ }, proxy: true }], null, false, 2774678724) }, [_c("ant-textarea", { attrs: { "disabled": _vm.disabled, "value": _vm.value.ruleDescription, "placeholder": _vm.$t("message.aiReviewRulePlaceholder") }, on: { "input": function($event) {
2590
+ return _vm.changeRule($event.target.value);
2591
+ } } }), _vm.checkRuleFunc ? _c("div", { staticClass: "rule-status-row" }, [_vm.ruleCheck.state === "checking" ? [_c("ant-icon", { staticClass: "mr-1", attrs: { "type": "loading" } }), _vm._v(_vm._s(_vm.$t("message.aiCheckChecking")) + "\u2026 ")] : _vm.ruleCheck.state === "ready" ? [_c("span", { staticClass: "rule-status-ok" }, [_c("ant-icon", { staticClass: "mr-1", attrs: { "type": "check-circle" } }), _vm._v(_vm._s(_vm.$t("message.aiCheckReady")) + " \xB7 " + _vm._s(_vm.ruleCheck.types.join(", ")) + " ")], 1), _c("a", { staticClass: "ml-2", on: { "click": _vm.checkRuleNow } }, [_vm._v(_vm._s(_vm.$t("message.aiCheckCheckAgain")))])] : _vm.ruleCheck.state === "wont" ? [_c("ant-popover", { attrs: { "content": _vm.$t("message.aiCheckWontReviewHint"), "overlay-style": { maxWidth: "380px" } } }, [_c("span", { staticClass: "rule-status-na" }, [_vm._v(_vm._s(_vm.$t("message.aiCheckWontReview")))])])] : _vm.ruleCheck.state === "error" ? [_c("span", { staticClass: "rule-status-na" }, [_vm._v(_vm._s(_vm.$t("message.aiCheckCheckFailed")))]), _c("a", { staticClass: "ml-2", on: { "click": _vm.checkRuleNow } }, [_vm._v(_vm._s(_vm.$t("message.aiCheckCheckAgain")))])] : (_vm.value.ruleDescription || "").trim() ? [_c("a", { on: { "click": _vm.checkRuleNow } }, [_vm._v(_vm._s(_vm.$t("message.aiCheckCheckNow")))]), _c("span", { staticClass: "rule-status-hint" }, [_vm._v(_vm._s(_vm.$t("message.aiCheckCheckNowHint")))])] : _vm._e()], 2) : _vm._e()], 1) : _vm._e(), _c("ant-form-item", { attrs: { "label": "" + _vm.$t("message.attachment") + " (" + _vm.$t("message.optional") + ")" } }, [_c("a-file-uploader", { attrs: { "disabled": _vm.value.presetDocs != null || _vm.disabled, "value": _vm.value.presetDocs || _vm.value.sampleDocs, "uploadFilesFunc": _vm.uploadFilesFunc }, on: { "change": function($event) {
2484
2592
  return _vm.changeVal("sampleDocs", $event);
2485
2593
  } } })], 1), _c("ant-form-item", { attrs: { "label": "" + _vm.$t("message.tags") + " (" + _vm.$t("message.optional") + ")" } }, [_c("ant-select", { attrs: { "disabled": _vm.disabled, "mode": "tags", "value": _vm.value.tagList || [], "options": [] }, on: { "change": function($event) {
2486
2594
  return _vm.changeVal("tagList", $event);
@@ -2488,19 +2596,19 @@ var render$8 = function() {
2488
2596
  return _vm.changeVal("allowSubmitWithoutFile", $event.target.checked);
2489
2597
  } } }, [_vm._v(" " + _vm._s(_vm.$t("message.notApplicable")) + " ")]) : _vm._e()], 1)], 1);
2490
2598
  };
2491
- var staticRenderFns$8 = [];
2599
+ var staticRenderFns$9 = [];
2492
2600
  var index_vue_vue_type_style_index_0_scoped_true_lang$3 = "";
2493
- const __cssModules$8 = {};
2494
- var __component__$8 = /* @__PURE__ */ normalizeComponent(__vue2_script$8, render$8, staticRenderFns$8, false, __vue2_injectStyles$8, "0b1cbb47", null, null);
2495
- function __vue2_injectStyles$8(context) {
2496
- for (let o in __cssModules$8) {
2497
- this[o] = __cssModules$8[o];
2601
+ const __cssModules$9 = {};
2602
+ var __component__$9 = /* @__PURE__ */ normalizeComponent(__vue2_script$9, render$9, staticRenderFns$9, false, __vue2_injectStyles$9, "51e0a745", null, null);
2603
+ function __vue2_injectStyles$9(context) {
2604
+ for (let o in __cssModules$9) {
2605
+ this[o] = __cssModules$9[o];
2498
2606
  }
2499
2607
  }
2500
2608
  var TaskForm = /* @__PURE__ */ function() {
2501
- return __component__$8.exports;
2609
+ return __component__$9.exports;
2502
2610
  }();
2503
- var __vue2_script$7 = defineComponent({
2611
+ var __vue2_script$8 = defineComponent({
2504
2612
  name: "NewTask",
2505
2613
  components: {
2506
2614
  AFileUploader,
@@ -2550,6 +2658,14 @@ var __vue2_script$7 = defineComponent({
2550
2658
  hasDoubleConfirm: {
2551
2659
  type: Boolean,
2552
2660
  default: true
2661
+ },
2662
+ showAiRule: {
2663
+ type: Boolean,
2664
+ default: false
2665
+ },
2666
+ checkRuleFunc: {
2667
+ type: Function,
2668
+ default: null
2553
2669
  }
2554
2670
  },
2555
2671
  setup(props, { emit }) {
@@ -2611,7 +2727,7 @@ var __vue2_script$7 = defineComponent({
2611
2727
  };
2612
2728
  }
2613
2729
  });
2614
- var render$7 = function() {
2730
+ var render$8 = function() {
2615
2731
  var _vm = this;
2616
2732
  var _h = _vm.$createElement;
2617
2733
  var _c = _vm._self._c || _h;
@@ -2623,25 +2739,25 @@ var render$7 = function() {
2623
2739
  } } }, [_vm._v(" " + _vm._s(_vm.$t("message.sendTaskEmail")) + " ")])], 1) : _vm._e(), _c("div", [_vm.hasDoubleConfirm ? _c("ant-popconfirm", { attrs: { "title": _vm.$t("message.updateTaskConfirm"), "placement": "top" }, on: { "confirm": _vm.submit } }, [_c("ant-button", { attrs: { "loading": _vm.loading, "type": "primary" } }, [_vm._v(_vm._s(_vm.$t("message.submit")) + " ")])], 1) : _c("ant-button", { attrs: { "loading": _vm.loading, "type": "primary" }, on: { "click": _vm.submit } }, [_vm._v(_vm._s(_vm.$t("message.submit")) + " ")]), _c("ant-button", { on: { "click": function($event) {
2624
2740
  return _vm.changeVisible(false);
2625
2741
  } } }, [_vm._v(_vm._s(_vm.$t("message.cancel")) + " ")])], 1)])];
2626
- }, proxy: true }]) }, [_c("task-form", { ref: "taskForm", attrs: { "upload-files-func": _vm.uploadFilesFunc, "law-firm-id": _vm.lawFirmId, "user-id": _vm.userId, "value": _vm.value.taskTemplateObj }, on: { "update:value": _vm.updateFormValue } }), _vm.showAddToList ? _c("ant-checkbox", { attrs: { "checked": _vm.value.isAddedToTask }, on: { "change": function($event) {
2742
+ }, proxy: true }]) }, [_c("task-form", { ref: "taskForm", attrs: { "upload-files-func": _vm.uploadFilesFunc, "law-firm-id": _vm.lawFirmId, "user-id": _vm.userId, "value": _vm.value.taskTemplateObj, "show-ai-rule": _vm.showAiRule, "check-rule-func": _vm.checkRuleFunc }, on: { "update:value": _vm.updateFormValue } }), _vm.showAddToList ? _c("ant-checkbox", { attrs: { "checked": _vm.value.isAddedToTask }, on: { "change": function($event) {
2627
2743
  return _vm.changeVal("isAddedToTask", $event.target.checked);
2628
2744
  } } }, [_vm._v(" " + _vm._s(_vm.$t("message.addToTaskList")) + " ")]) : _vm._e(), _vm.showAllowSubmit ? _c("ant-checkbox", { staticClass: "ml-2", attrs: { "checked": _vm.value.allowSubmitWithoutFile }, on: { "change": function($event) {
2629
2745
  return _vm.changeVal("allowSubmitWithoutFile", $event.target.checked);
2630
2746
  } } }, [_vm._v(" " + _vm._s(_vm.$t("message.allowSubmitWithoutFile")) + " ")]) : _vm._e()], 1);
2631
2747
  };
2632
- var staticRenderFns$7 = [];
2748
+ var staticRenderFns$8 = [];
2633
2749
  var index_vue_vue_type_style_index_0_scoped_true_lang$2 = "";
2634
- const __cssModules$7 = {};
2635
- var __component__$7 = /* @__PURE__ */ normalizeComponent(__vue2_script$7, render$7, staticRenderFns$7, false, __vue2_injectStyles$7, "76e42884", null, null);
2636
- function __vue2_injectStyles$7(context) {
2637
- for (let o in __cssModules$7) {
2638
- this[o] = __cssModules$7[o];
2750
+ const __cssModules$8 = {};
2751
+ var __component__$8 = /* @__PURE__ */ normalizeComponent(__vue2_script$8, render$8, staticRenderFns$8, false, __vue2_injectStyles$8, "c6f522a6", null, null);
2752
+ function __vue2_injectStyles$8(context) {
2753
+ for (let o in __cssModules$8) {
2754
+ this[o] = __cssModules$8[o];
2639
2755
  }
2640
2756
  }
2641
2757
  var NewTask = /* @__PURE__ */ function() {
2642
- return __component__$7.exports;
2758
+ return __component__$8.exports;
2643
2759
  }();
2644
- var __vue2_script$6 = defineComponent({
2760
+ var __vue2_script$7 = defineComponent({
2645
2761
  name: "taskTemplateFilter",
2646
2762
  components: {
2647
2763
  AntInput: Input,
@@ -2687,7 +2803,7 @@ var __vue2_script$6 = defineComponent({
2687
2803
  };
2688
2804
  }
2689
2805
  });
2690
- var render$6 = function() {
2806
+ var render$7 = function() {
2691
2807
  var _vm = this;
2692
2808
  var _h = _vm.$createElement;
2693
2809
  var _c = _vm._self._c || _h;
@@ -2701,17 +2817,17 @@ var render$6 = function() {
2701
2817
  return _vm.changeVal("isEmployee", $event);
2702
2818
  } } }, [_c("ant-checkbox", { attrs: { "value": _vm.AssigneeTypes.ATTORNEY } }, [_vm._v(_vm._s(_vm.$t("message.attorney")) + " ")]), _c("ant-checkbox", { attrs: { "value": _vm.AssigneeTypes.BENEFICIARY } }, [_vm._v(_vm._s(_vm.$t("message.beneficiary")) + " ")]), _c("ant-checkbox", { attrs: { "value": _vm.AssigneeTypes.PETITIONER } }, [_vm._v(_vm._s(_vm.$t("message.petitioner")) + " ")]), _c("ant-checkbox", { attrs: { "value": _vm.AssigneeTypes.EMPTY_DEFAULT } }, [_vm._v(_vm._s(_vm.$t("message.none")) + " ")])], 1)], 1)], 1);
2703
2819
  };
2704
- var staticRenderFns$6 = [];
2820
+ var staticRenderFns$7 = [];
2705
2821
  var index_vue_vue_type_style_index_0_scoped_true_lang$1 = "";
2706
- const __cssModules$6 = {};
2707
- var __component__$6 = /* @__PURE__ */ normalizeComponent(__vue2_script$6, render$6, staticRenderFns$6, false, __vue2_injectStyles$6, "c5d917d8", null, null);
2708
- function __vue2_injectStyles$6(context) {
2709
- for (let o in __cssModules$6) {
2710
- this[o] = __cssModules$6[o];
2822
+ const __cssModules$7 = {};
2823
+ var __component__$7 = /* @__PURE__ */ normalizeComponent(__vue2_script$7, render$7, staticRenderFns$7, false, __vue2_injectStyles$7, "c5d917d8", null, null);
2824
+ function __vue2_injectStyles$7(context) {
2825
+ for (let o in __cssModules$7) {
2826
+ this[o] = __cssModules$7[o];
2711
2827
  }
2712
2828
  }
2713
2829
  var TaskTemplateFilter = /* @__PURE__ */ function() {
2714
- return __component__$6.exports;
2830
+ return __component__$7.exports;
2715
2831
  }();
2716
2832
  function useVm() {
2717
2833
  const scope = getCurrentScope();
@@ -2721,13 +2837,49 @@ function useT() {
2721
2837
  const vm = useVm();
2722
2838
  return (key) => vm.$i18n.t(key);
2723
2839
  }
2840
+ var __vue2_script$6 = defineComponent({
2841
+ name: "AiReviewBadge",
2842
+ components: {
2843
+ AntTag: Tag,
2844
+ AntIcon: Icon,
2845
+ AntTooltip: Tooltip
2846
+ },
2847
+ props: {
2848
+ status: {
2849
+ type: String,
2850
+ default: "notset"
2851
+ },
2852
+ types: {
2853
+ type: Array,
2854
+ default: () => []
2855
+ }
2856
+ }
2857
+ });
2858
+ var render$6 = function() {
2859
+ var _vm = this;
2860
+ var _h = _vm.$createElement;
2861
+ var _c = _vm._self._c || _h;
2862
+ return _c("span", { staticStyle: { "white-space": "nowrap" } }, [_vm.status === "ready" ? _c("ant-tooltip", { attrs: { "title": _vm.types.join(", ") } }, [_c("ant-tag", { staticStyle: { "margin": "0" }, attrs: { "color": "green" } }, [_c("ant-icon", { attrs: { "type": "check" } }), _vm._v(" " + _vm._s(_vm.$t("message.aiCheckReady"))), _vm.types.length ? [_vm._v(" \xB7 " + _vm._s(_vm.types.join(", ")))] : _vm._e()], 2)], 1) : _vm.status === "wont" ? _c("ant-tooltip", { attrs: { "title": _vm.$t("message.aiCheckWontReviewHint"), "overlay-style": { maxWidth: "320px" } } }, [_c("ant-tag", { staticStyle: { "margin": "0" } }, [_vm._v(_vm._s(_vm.$t("message.aiCheckWontReview")))])], 1) : _vm.status === "notchecked" ? _c("span", { staticStyle: { "font-size": "12px", "color": "#8c8c8c" } }, [_vm._v(" " + _vm._s(_vm.$t("message.aiCheckNotChecked")) + " ")]) : _c("span", { staticStyle: { "color": "#bfbfbf" } }, [_vm._v("\u2014")])], 1);
2863
+ };
2864
+ var staticRenderFns$6 = [];
2865
+ const __cssModules$6 = {};
2866
+ var __component__$6 = /* @__PURE__ */ normalizeComponent(__vue2_script$6, render$6, staticRenderFns$6, false, __vue2_injectStyles$6, null, null, null);
2867
+ function __vue2_injectStyles$6(context) {
2868
+ for (let o in __cssModules$6) {
2869
+ this[o] = __cssModules$6[o];
2870
+ }
2871
+ }
2872
+ var AiReviewBadge = /* @__PURE__ */ function() {
2873
+ return __component__$6.exports;
2874
+ }();
2724
2875
  var __vue2_script$5 = defineComponent({
2725
2876
  name: "TaskTablePure",
2726
2877
  components: {
2727
2878
  AntTable: Table,
2728
2879
  AntButton: Button,
2729
2880
  AssigneeTag,
2730
- TagsWithTooltip
2881
+ TagsWithTooltip,
2882
+ AiReviewBadge
2731
2883
  },
2732
2884
  props: {
2733
2885
  addedTasks: {
@@ -2753,12 +2905,16 @@ var __vue2_script$5 = defineComponent({
2753
2905
  showEdit: {
2754
2906
  type: Boolean,
2755
2907
  default: true
2908
+ },
2909
+ showAiRule: {
2910
+ type: Boolean,
2911
+ default: false
2756
2912
  }
2757
2913
  },
2758
2914
  setup(props) {
2759
2915
  const { addedTasks } = toRefs(props);
2760
2916
  const t = useT();
2761
- const columns = [
2917
+ const columns = computed(() => [
2762
2918
  {
2763
2919
  title: t("message.taskName"),
2764
2920
  dataIndex: "taskName",
@@ -2779,6 +2935,13 @@ var __vue2_script$5 = defineComponent({
2779
2935
  width: 120,
2780
2936
  scopedSlots: { customRender: "tagList" }
2781
2937
  },
2938
+ ...props.showAiRule ? [{
2939
+ title: t("message.aiCheckColumn"),
2940
+ dataIndex: "ruleDescription",
2941
+ key: "aiReview",
2942
+ width: 140,
2943
+ scopedSlots: { customRender: "aiReview" }
2944
+ }] : [],
2782
2945
  {
2783
2946
  title: "Operation",
2784
2947
  dataIndex: "id",
@@ -2786,11 +2949,22 @@ var __vue2_script$5 = defineComponent({
2786
2949
  width: 210,
2787
2950
  scopedSlots: { customRender: "operation" }
2788
2951
  }
2789
- ];
2952
+ ]);
2953
+ const badgeMap = ref({});
2954
+ watch(() => [props.dataSource, props.showAiRule], async ([list, on]) => {
2955
+ if (!on || !(list == null ? void 0 : list.length))
2956
+ return;
2957
+ const entries = await Promise.all(list.map(async (r) => [r.id, await badgeOf(r)]));
2958
+ const next = __spreadValues({}, badgeMap.value);
2959
+ for (const [id, badge] of entries)
2960
+ next[id] = badge;
2961
+ badgeMap.value = next;
2962
+ }, { immediate: true });
2790
2963
  const isTemplateAdded = (record) => addedTasks.value.some((added) => added.id === record.id);
2791
2964
  return {
2792
2965
  isTemplateAdded,
2793
- columns
2966
+ columns,
2967
+ badgeMap
2794
2968
  };
2795
2969
  }
2796
2970
  });
@@ -2806,6 +2980,8 @@ var render$5 = function() {
2806
2980
  return _c("span", {}, [_c("span", { staticStyle: { "word-break": "break-word" } }, [_vm._v(_vm._s(taskName))])]);
2807
2981
  } }, { key: "tagList", fn: function(tags) {
2808
2982
  return [_c("tags-with-tooltip", { attrs: { "tags": tags } })];
2983
+ } }, { key: "aiReview", fn: function(_, record) {
2984
+ return [_c("ai-review-badge", { attrs: { "status": (_vm.badgeMap[record.id] || {}).s || "notset", "types": (_vm.badgeMap[record.id] || {}).types || [] } })];
2809
2985
  } }, { key: "operation", fn: function(_, record) {
2810
2986
  return [_vm.showEdit && record.isGallery ? _c("span", { staticStyle: { "width": "82px", "display": "inline-block", "color": "#999" } }, [_vm._v(" Preset ")]) : _vm.showEdit ? _c("ant-button", { staticClass: "mr-2", attrs: { "disabled": _vm.isTemplateAdded(record), "size": "small" }, on: { "click": function($event) {
2811
2987
  return _vm.$emit("editTask", record);
@@ -2819,7 +2995,7 @@ var render$5 = function() {
2819
2995
  var staticRenderFns$5 = [];
2820
2996
  var TaskTablePure_vue_vue_type_style_index_0_scoped_true_lang = "";
2821
2997
  const __cssModules$5 = {};
2822
- var __component__$5 = /* @__PURE__ */ normalizeComponent(__vue2_script$5, render$5, staticRenderFns$5, false, __vue2_injectStyles$5, "58f5c207", null, null);
2998
+ var __component__$5 = /* @__PURE__ */ normalizeComponent(__vue2_script$5, render$5, staticRenderFns$5, false, __vue2_injectStyles$5, "7ca72cd5", null, null);
2823
2999
  function __vue2_injectStyles$5(context) {
2824
3000
  for (let o in __cssModules$5) {
2825
3001
  this[o] = __cssModules$5[o];
@@ -2860,6 +3036,8 @@ const taskTemplateFragment = gql`
2860
3036
  taskType
2861
3037
  generalTaskType
2862
3038
  descriptions
3039
+ ruleDescription
3040
+ aiCheckItems
2863
3041
  sampleDocs {
2864
3042
  id
2865
3043
  name
@@ -2977,6 +3155,10 @@ var __vue2_script$4 = defineComponent({
2977
3155
  withGallery: {
2978
3156
  type: Boolean,
2979
3157
  default: true
3158
+ },
3159
+ showAiRule: {
3160
+ type: Boolean,
3161
+ default: false
2980
3162
  }
2981
3163
  },
2982
3164
  setup(props, { emit }) {
@@ -3008,13 +3190,13 @@ var render$4 = function() {
3008
3190
  var _h = _vm.$createElement;
3009
3191
  var _c = _vm._self._c || _h;
3010
3192
  return _c("div", [_vm._t("default", function() {
3011
- return [_c("task-table-pure", { attrs: { "loading": _vm.loading, "data-source": _vm.dataSource, "pagination": _vm.pagination, "added-tasks": _vm.addedTasks }, on: { "editTask": _vm.editTask, "addTask": _vm.addTask, "removeTask": _vm.removeTask, "changePagination": _vm.changePagination } })];
3193
+ return [_c("task-table-pure", { attrs: { "loading": _vm.loading, "data-source": _vm.dataSource, "pagination": _vm.pagination, "added-tasks": _vm.addedTasks, "show-ai-rule": _vm.showAiRule }, on: { "editTask": _vm.editTask, "addTask": _vm.addTask, "removeTask": _vm.removeTask, "changePagination": _vm.changePagination } })];
3012
3194
  }, { "loading": _vm.loading, "dataSource": _vm.dataSource, "pagination": _vm.pagination, "AssigneeTypesText": _vm.AssigneeTypesText, "changePagination": _vm.changePagination })], 2);
3013
3195
  };
3014
3196
  var staticRenderFns$4 = [];
3015
3197
  var TaskTable_vue_vue_type_style_index_0_scoped_true_lang = "";
3016
3198
  const __cssModules$4 = {};
3017
- var __component__$4 = /* @__PURE__ */ normalizeComponent(__vue2_script$4, render$4, staticRenderFns$4, false, __vue2_injectStyles$4, "6662fabb", null, null);
3199
+ var __component__$4 = /* @__PURE__ */ normalizeComponent(__vue2_script$4, render$4, staticRenderFns$4, false, __vue2_injectStyles$4, "079a9f4b", null, null);
3018
3200
  function __vue2_injectStyles$4(context) {
3019
3201
  for (let o in __cssModules$4) {
3020
3202
  this[o] = __cssModules$4[o];
@@ -3065,6 +3247,10 @@ var __vue2_script$3 = defineComponent({
3065
3247
  showNewBtn: {
3066
3248
  type: Boolean,
3067
3249
  default: true
3250
+ },
3251
+ showAiRule: {
3252
+ type: Boolean,
3253
+ default: false
3068
3254
  }
3069
3255
  },
3070
3256
  setup(props, { emit }) {
@@ -3089,19 +3275,27 @@ var render$3 = function() {
3089
3275
  var _vm = this;
3090
3276
  var _h = _vm.$createElement;
3091
3277
  var _c = _vm._self._c || _h;
3092
- return _c(_vm.currentComponent, { tag: "component", staticClass: "task-cart-main-modal", attrs: { "zIndex": 800, "width": 900, "visible": _vm.visible, "title": _vm.showPage ? _vm.$t("message.tasks") : _vm.$t("message.addTask") }, on: { "cancel": function($event) {
3278
+ return _c(_vm.currentComponent, { tag: "component", staticClass: "task-cart-main-modal", attrs: { "zIndex": 800, "width": 900, "visible": _vm.visible, "title": _vm.showPage ? void 0 : _vm.$t("message.addTask") }, on: { "cancel": function($event) {
3093
3279
  return _vm.$emit("update:visible", false);
3094
- } }, scopedSlots: _vm._u([{ key: "footer", fn: function() {
3280
+ } }, scopedSlots: _vm._u([_vm.showPage ? { key: "title", fn: function() {
3281
+ return [_vm._t("page-title", function() {
3282
+ return [_vm._v(_vm._s(_vm.$t("message.tasks")))];
3283
+ })];
3284
+ }, proxy: true } : null, _vm.showPage ? { key: "extra", fn: function() {
3285
+ return [_c("span", { staticClass: "task-cart-header-actions" }, [_vm._t("header-extra"), _vm.showNewBtn ? _c("ant-button", { attrs: { "type": "primary" }, on: { "click": function($event) {
3286
+ return _vm.$emit("update:newTaskVisible", true);
3287
+ } } }, [_vm._v(_vm._s(_vm.$t("message.newTask")))]) : _vm._e()], 2)];
3288
+ }, proxy: true } : null, { key: "footer", fn: function() {
3095
3289
  return [_c("ant-button", { staticStyle: { "margin-right": "20px" }, on: { "click": function($event) {
3096
3290
  return _vm.$emit("update:visible", false);
3097
3291
  } } }, [_vm._v("Cancel ")]), _c("ant-badge", { attrs: { "count": _vm.addedTasks.length } }, [_c("ant-button", { attrs: { "disabled": _vm.addedTasks.length === 0, "type": "primary" }, on: { "click": function($event) {
3098
3292
  return _vm.$emit("update:reviewModalVisible", true);
3099
3293
  } } }, [_vm._v(" " + _vm._s(_vm.openReviewButtonText) + " ")])], 1)];
3100
- }, proxy: true }]) }, [_c("task-template-filter", { attrs: { "show-task-home-page-link": true, "show-task-setting-link": _vm.showTaskSettingLink, "conditions": _vm.conditions, "inline": !!_vm.showPage, "show-new-btn": _vm.showNewBtn }, on: { "update:conditions": function($event) {
3294
+ }, proxy: true }], null, true) }, [_vm._t("header"), _c("task-template-filter", { attrs: { "show-task-home-page-link": true, "show-task-setting-link": _vm.showTaskSettingLink, "conditions": _vm.conditions, "inline": !!_vm.showPage, "show-new-btn": _vm.showNewBtn && !_vm.showPage }, on: { "update:conditions": function($event) {
3101
3295
  _vm.conditions = $event;
3102
3296
  }, "update:newTaskVisible": function($event) {
3103
3297
  return _vm.$emit("update:newTaskVisible", true);
3104
- } } }), _c("task-table", { ref: "taskTable", attrs: { "conditions": _vm.conditions, "added-tasks": _vm.addedTasks, "law-firm-id": _vm.lawFirmId, "page-size": _vm.pageSize, "with-gallery": _vm.withGallery }, on: { "update:addedTasks": function($event) {
3298
+ } } }), _c("task-table", { ref: "taskTable", attrs: { "conditions": _vm.conditions, "added-tasks": _vm.addedTasks, "law-firm-id": _vm.lawFirmId, "page-size": _vm.pageSize, "with-gallery": _vm.withGallery, "show-ai-rule": _vm.showAiRule }, on: { "update:addedTasks": function($event) {
3105
3299
  return _vm.$emit("update:addedTasks", $event);
3106
3300
  }, "editTask": function($event) {
3107
3301
  return _vm.$emit("editTask", $event);
@@ -3111,12 +3305,12 @@ var render$3 = function() {
3111
3305
  var pagination = ref2.pagination;
3112
3306
  var changePagination = ref2.changePagination;
3113
3307
  return [_vm._t("default", null, { "editAction": _vm.editAction, "loading": loading, "dataSource": dataSource, "pagination": pagination, "changePagination": changePagination })];
3114
- } }], null, true) })], 1);
3308
+ } }], null, true) })], 2);
3115
3309
  };
3116
3310
  var staticRenderFns$3 = [];
3117
3311
  var MainModal_vue_vue_type_style_index_0_scoped_true_lang = "";
3118
3312
  const __cssModules$3 = {};
3119
- var __component__$3 = /* @__PURE__ */ normalizeComponent(__vue2_script$3, render$3, staticRenderFns$3, false, __vue2_injectStyles$3, "697d89e6", null, null);
3313
+ var __component__$3 = /* @__PURE__ */ normalizeComponent(__vue2_script$3, render$3, staticRenderFns$3, false, __vue2_injectStyles$3, "596ec48c", null, null);
3120
3314
  function __vue2_injectStyles$3(context) {
3121
3315
  for (let o in __cssModules$3) {
3122
3316
  this[o] = __cssModules$3[o];
@@ -3359,6 +3553,14 @@ var __vue2_script$1 = defineComponent({
3359
3553
  showNewBtn: {
3360
3554
  type: Boolean,
3361
3555
  default: true
3556
+ },
3557
+ showAiRule: {
3558
+ type: Boolean,
3559
+ default: false
3560
+ },
3561
+ checkRuleFunc: {
3562
+ type: Function,
3563
+ default: null
3362
3564
  }
3363
3565
  },
3364
3566
  setup(props, { emit }) {
@@ -3471,7 +3673,7 @@ var render$1 = function() {
3471
3673
  var _vm = this;
3472
3674
  var _h = _vm.$createElement;
3473
3675
  var _c = _vm._self._c || _h;
3474
- return _vm.lawFirmId != null ? _c("div", { attrs: { "id": "venus-component-task-cart" } }, [_c("main-modal", { ref: "mainModal", attrs: { "visible": _vm.visible, "show-page": _vm.pageMode, "page-size": _vm.pageSize, "law-firm-id": _vm.lawFirmId, "tempTask": _vm.tempTask, "show-new-btn": _vm.showNewBtn, "with-gallery": _vm.withGallery, "added-tasks": _vm.addedTasks, "newTaskVisible": _vm.newTaskVisible, "show-task-setting-link": _vm.showTaskSettingLink, "reviewModalVisible": _vm.reviewModalVisible, "open-review-button-text": _vm.openReviewButtonText }, on: { "update:tempTask": function($event) {
3676
+ return _vm.lawFirmId != null ? _c("div", { attrs: { "id": "venus-component-task-cart" } }, [_c("main-modal", { ref: "mainModal", attrs: { "visible": _vm.visible, "show-page": _vm.pageMode, "page-size": _vm.pageSize, "law-firm-id": _vm.lawFirmId, "tempTask": _vm.tempTask, "show-new-btn": _vm.showNewBtn, "with-gallery": _vm.withGallery, "added-tasks": _vm.addedTasks, "newTaskVisible": _vm.newTaskVisible, "show-task-setting-link": _vm.showTaskSettingLink, "reviewModalVisible": _vm.reviewModalVisible, "open-review-button-text": _vm.openReviewButtonText, "show-ai-rule": _vm.showAiRule }, on: { "update:tempTask": function($event) {
3475
3677
  _vm.tempTask = $event;
3476
3678
  }, "update:temp-task": function($event) {
3477
3679
  _vm.tempTask = $event;
@@ -3495,7 +3697,9 @@ var render$1 = function() {
3495
3697
  var pagination = ref2.pagination;
3496
3698
  var changePagination = ref2.changePagination;
3497
3699
  return [_vm._t("table", null, { "loading": loading, "dataSource": dataSource, "pagination": pagination, "changePagination": changePagination })];
3498
- } }], null, true) }), _c("review-modal", { ref: "reviewModal", attrs: { "adding": _vm.adding, "sendEmail": _vm.sendEmail, "allow-clear": _vm.allowClear, "tempTask": _vm.tempTask, "review-text": _vm.reviewText, "added-tasks": _vm.addedTasks, "showSendEmail": _vm.showSendEmail, "visible": _vm.reviewModalVisible, "newTaskVisible": _vm.newTaskVisible }, on: { "update:tempTask": function($event) {
3700
+ } }], null, true) }, [_c("template", { slot: "page-title" }, [_vm._t("page-title", function() {
3701
+ return [_vm._v(_vm._s(_vm.$t("message.tasks")))];
3702
+ })], 2), _c("template", { slot: "header-extra" }, [_vm._t("header-extra")], 2), _c("template", { slot: "header" }, [_vm._t("header")], 2)], 2), _c("review-modal", { ref: "reviewModal", attrs: { "adding": _vm.adding, "sendEmail": _vm.sendEmail, "allow-clear": _vm.allowClear, "tempTask": _vm.tempTask, "review-text": _vm.reviewText, "added-tasks": _vm.addedTasks, "showSendEmail": _vm.showSendEmail, "visible": _vm.reviewModalVisible, "newTaskVisible": _vm.newTaskVisible }, on: { "update:tempTask": function($event) {
3499
3703
  _vm.tempTask = $event;
3500
3704
  }, "update:temp-task": function($event) {
3501
3705
  _vm.tempTask = $event;
@@ -3511,7 +3715,7 @@ var render$1 = function() {
3511
3715
  _vm.newTaskVisible = $event;
3512
3716
  }, "submit": _vm.endReviewing, "update:sendEmail": function($event) {
3513
3717
  return _vm.$emit("update:sendEmail", $event);
3514
- } } }), _c("new-task", { attrs: { "user-id": _vm.userId, "loading": _vm.submitting, "value": _vm.tempTask, "law-firm-id": _vm.lawFirmId, "visible": _vm.newTaskVisible, "upload-files-func": _vm.uploadFilesFunc, "has-double-confirm": !!_vm.tempTask.taskTemplateObj.id }, on: { "update:value": function($event) {
3718
+ } } }), _c("new-task", { attrs: { "user-id": _vm.userId, "loading": _vm.submitting, "value": _vm.tempTask, "law-firm-id": _vm.lawFirmId, "visible": _vm.newTaskVisible, "upload-files-func": _vm.uploadFilesFunc, "has-double-confirm": !!_vm.tempTask.taskTemplateObj.id, "show-ai-rule": _vm.showAiRule, "check-rule-func": _vm.checkRuleFunc }, on: { "update:value": function($event) {
3515
3719
  _vm.tempTask = $event;
3516
3720
  }, "update:visible": function($event) {
3517
3721
  _vm.newTaskVisible = $event;
@@ -3520,7 +3724,7 @@ var render$1 = function() {
3520
3724
  var staticRenderFns$1 = [];
3521
3725
  var index_vue_vue_type_style_index_0_scoped_true_lang = "";
3522
3726
  const __cssModules$1 = {};
3523
- var __component__$1 = /* @__PURE__ */ normalizeComponent(__vue2_script$1, render$1, staticRenderFns$1, false, __vue2_injectStyles$1, "678de73d", null, null);
3727
+ var __component__$1 = /* @__PURE__ */ normalizeComponent(__vue2_script$1, render$1, staticRenderFns$1, false, __vue2_injectStyles$1, "59a394f1", null, null);
3524
3728
  function __vue2_injectStyles$1(context) {
3525
3729
  for (let o in __cssModules$1) {
3526
3730
  this[o] = __cssModules$1[o];
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "1.425.0",
6
+ "version": "1.426.0",
7
7
  "files": [
8
8
  "dist"
9
9
  ],