cnhis-design-vue 3.1.47-beta.7 → 3.1.47-beta.8
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/README.md +87 -87
- package/es/components/bpmn-workflow/src/BpmnWorkflow.d.ts +0 -0
- package/es/components/bpmn-workflow/types/BpmnViewer.d.ts +1 -0
- package/es/components/bpmn-workflow/types/ModelingModule.d.ts +1 -0
- package/es/components/bpmn-workflow/types/MoveCanvasModule.d.ts +1 -0
- package/es/components/button-print/src/utils/print.d.ts +5 -3
- package/es/components/button-print/src/utils/print.js +1 -1
- package/es/components/form-render/src/components/renderer/dist/levelSearchCascader.d.ts +77 -0
- package/es/components/form-render/src/components/renderer/dist/searchCascade.d.ts +93 -0
- package/es/components/iho-table/src/plugins/dist/highLightSetPlugin.d.ts +3 -0
- package/es/components/iho-table/src/plugins/filterRenderPlugin/dist/index.d.ts +3 -0
- package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/dateRendererPlugin/dist/index.d.ts +3 -0
- package/es/components/iho-table/src/plugins/rendererPlugins/widgets/dist/defaultRendererPlugin.d.ts +3 -0
- package/es/components/iho-table/src/plugins/rendererPlugins/widgets/dist/seqRendererPlugin.d.ts +3 -0
- package/es/components/iho-table/src/plugins/varialbleHeightPlugin/dist/index.d.ts +3 -0
- package/es/components/iho-table/src/utils/dist/index.d.ts +44 -0
- package/es/components/index.css +1 -1
- package/es/components/index.d.ts +2 -1
- package/es/components/index.js +1 -1
- package/es/components/multi-chat/index.d.ts +1023 -0
- package/es/components/multi-chat/index.js +1 -0
- package/es/components/multi-chat/src/MultiChat.vue.d.ts +1005 -0
- package/es/components/multi-chat/src/MultiChat.vue.js +1 -0
- package/es/components/multi-chat/src/MultiChat.vue2.js +1 -0
- package/es/components/multi-chat/src/api/index.d.ts +8 -0
- package/es/components/multi-chat/src/api/index.js +1 -0
- package/es/components/multi-chat/src/components/ChatFooter.vue.d.ts +17 -0
- package/es/components/multi-chat/src/components/ChatFooter.vue.js +1 -0
- package/es/components/multi-chat/src/components/ChatFooter.vue2.js +1 -0
- package/es/components/multi-chat/src/components/ChatHeader.vue.d.ts +7 -0
- package/es/components/multi-chat/src/components/ChatHeader.vue.js +1 -0
- package/es/components/multi-chat/src/components/ChatHeader.vue2.js +1 -0
- package/es/components/multi-chat/src/components/ChatMain.vue.d.ts +13 -0
- package/es/components/multi-chat/src/components/ChatMain.vue.js +1 -0
- package/es/components/multi-chat/src/components/ChatMain.vue2.js +1 -0
- package/es/components/multi-chat/src/components/SiderList.vue.d.ts +41 -0
- package/es/components/multi-chat/src/components/SiderList.vue.js +1 -0
- package/es/components/multi-chat/src/components/SiderList.vue2.js +1 -0
- package/es/components/multi-chat/src/utils/chatSock.d.ts +28 -0
- package/es/components/multi-chat/src/utils/chatSock.js +1 -0
- package/es/components/multi-chat/style/index.css +1 -0
- package/es/components/scale-view/src/ScaleView.vue2.js +1 -1
- package/es/components/scale-view/src/components/formitem/dist/r-address.d.ts +36 -0
- package/es/components/scale-view/src/components/formitem/dist/r-sign.d.ts +36 -0
- package/es/components/scale-view/src/components/formitem/dist/standard-modal.d.ts +82 -0
- package/es/components/search-cascader/src/components/dist/SearchMenu.d.ts +57 -0
- package/es/components/search-cascader/src/components/dist/SearchMenu1.d.ts +57 -0
- package/es/components/select-label/src/LabelFormContent.vue2.js +1 -1
- package/es/components/select-person/src/SearchMultiple.vue.d.ts +0 -6
- package/es/components/steps-wheel/src/StepsWheel.vue2.js +1 -1
- package/es/components/table-export-field/src/components/ExportModal.vue.d.ts +3 -0
- package/es/env.d.ts +25 -25
- package/es/shared/assets/img/failure.png.js +1 -1
- package/es/shared/assets/img/no-permission.png.js +1 -1
- package/es/shared/assets/img/nodata.png.js +1 -1
- package/es/shared/assets/img/notfound.png.js +1 -1
- package/es/shared/assets/img/qr.png.js +1 -1
- package/es/shared/assets/img/success.png.js +1 -1
- package/es/shared/assets/img/video.png.js +1 -1
- package/es/shared/assets/img/video_default_cover.png.js +1 -1
- package/es/shared/assets/img/xb_big.png.js +1 -1
- package/es/shared/assets/img/xb_small.png.js +1 -1
- package/es/shared/components/VueDraggable/src/vuedraggable.d.ts +86 -0
- package/es/shared/package.json.js +1 -1
- package/es/shared/utils/fabricjs/index.d.ts +6823 -0
- package/es/shared/utils/tapable/index.d.ts +139 -0
- package/package.json +4 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import t from"./MultiChat.vue2.js";import e from"../../../_virtual/_plugin-vue_export-helper.js";var r=e(t,[["__file","MultiChat.vue"]]);export{r as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{defineComponent as e,ref as s,reactive as t,provide as n,openBlock as o,createBlock as r,unref as i,withCtx as a,createVNode as c}from"vue";import{NSpin as u,NLayout as d,NLayoutSider as m,NLayoutContent as l}from"naive-ui";import f from"./components/SiderList.vue.js";import p from"./components/ChatHeader.vue.js";import g from"./components/ChatMain.vue.js";import S from"./components/ChatFooter.vue.js";import{promiseTimeout as I}from"@vueuse/shared";import{ChatSock as h}from"./utils/chatSock.js";import{accessApi as b,readMessageApi as y}from"./api/index.js";import{format as v}from"date-fns";var C=e({__name:"MultiChat",props:{data:{type:Object,default:()=>({})},baseURL:{type:String,defalut:()=>"/"}},setup(e){const C=e,_=s(!1),M=s(!1);let w;const L=t({reConnention:0,currentSessionItem:{},currentSessionId:"",userInfo:{},msgList:[],currentMsg:{},isAppendMsg:!1,sessionList:[],isChangeSession:!1,updateSessionItem:{},isUpdateSession:!1});function j(){const e={heartbeatFn:()=>{try{null==w||w.send("test")}catch(e){null==w||w.disconnect(),j()}},connectCb:()=>{console.log("连接成功"),L.reConnention>0&&(L.reConnention=0),w.subscribe(`/user/${L.userInfo.username}/message`,(e=>{try{const s=JSON.parse(e.body),{body:t,from:n,id:o,fromName:r,readStatus:i,createdTime:a,sessionId:c}=s;if(c!==L.currentSessionId)return;N({createdTime:a,readStatus:i,content:t,fromId:n,id:o,fromName:r,senderFlag:1}),O(!0),async function(){await y({sessionId:L.currentSessionId,from:L.userInfo.username,id:L.currentMsg.id})}()}catch(e){console.log(e)}})),w.subscribe(`/user/${L.userInfo.username}/sessionList`,(e=>{var s;try{const t=JSON.parse(e.body),n={__time:v(new Date(t.sendTime),"MM/dd HH:mm"),__lastContent:(null==(s=t.lastContent)?void 0:s.content)||"",id:t.sessionId};if(0==t.opt){const e=t.name||t.fromName||t.toName;U([{...t,name:e,__name:e.slice(-2),...n},...L.sessionList])}else 1==t.opt&&(L.updateSessionItem={...t,...n},k(!0))}catch(e){console.log(e)}})),w.subscribe(`/user/${L.userInfo.username}/msgReadStatus`,(e=>{try{if(!L.currentSessionId)return;const s=JSON.parse(e.body);if(s.sessionId!==L.currentSessionId)return;const t=(null==s?void 0:s.readStatus)||{};if(Object.keys(t).length<1)return}catch(e){console.log(e)}}))},errorCb:(e,s)=>{L.reConnention=s,console.log("断线了,正在重连...")}};w=new h(`${C.baseURL}/stomp`,e)}function N(e){L.currentMsg=e}function O(e){L.isAppendMsg=e}function U(e){L.sessionList=e}function k(e){L.isUpdateSession=e}async function H(e){e||await I(300),_.value=e}return n("state",L),n("setCurrentSessionItem",(function(e){if(Object.assign(L.currentSessionItem,e),L.currentSessionId===L.currentSessionItem.id)return;L.currentSessionId=L.currentSessionItem.id,L.msgList=[]})),n("setMsgList",(function(e=[]){L.msgList=e.map((e=>{var s;return{...e,__time:v(new Date(e.createdTime),"MM/dd HH:mm"),__content:null==(s=e.content)?void 0:s.content,__left:1==e.senderFlag}}))})),n("setCurrentMsg",N),n("setIsAppendMsg",O),n("setSessionList",U),n("setIsChangeSession",(function(e){L.isChangeSession=e})),n("setIsUpdateSession",k),async function(){await async function(){if(Object.values(C.data).some((e=>!String(e))))return console.log("缺少参数");try{M.value=!0;const e=await b(C.data);L.userInfo=e}catch(e){console.log(e)}finally{M.value=!1}}(),j()}(),(e,s)=>M.value?(o(),r(i(u),{key:0,stroke:"#5585f5"})):(o(),r(i(d),{key:1,class:"c-multi-chat","has-sider":""},{default:a((()=>[c(i(m),{"collapse-mode":"width","collapsed-width":100,width:300,"show-trigger":"arrow-circle","content-style":"padding: 20px;",bordered:"","onUpdate:collapsed":H},{default:a((()=>[c(f,{collapsed:_.value},null,8,["collapsed"])])),_:1}),c(i(l),{class:"chat-wrapper"},{default:a((()=>[c(p),c(g),c(S)])),_:1})])),_:1}))}});export{C as default};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { AnyObject } from '../../../../../es/shared/types';
|
|
2
|
+
export declare function accessApi(params: AnyObject): import("axios").AxiosPromise<any>;
|
|
3
|
+
export declare function getMySessionListApi(params: AnyObject): import("axios").AxiosPromise<any>;
|
|
4
|
+
export declare function accessSessionApi(params: AnyObject): import("axios").AxiosPromise<any>;
|
|
5
|
+
export declare function getHistoryRecordApi(params: AnyObject): import("axios").AxiosPromise<any>;
|
|
6
|
+
export declare function sendMessageApi(params: AnyObject): import("axios").AxiosPromise<any>;
|
|
7
|
+
export declare function readMessageApi(params: AnyObject): import("axios").AxiosPromise<any>;
|
|
8
|
+
export declare function createSessionApi(params: AnyObject): import("axios").AxiosPromise<any>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import t from"axios";const e=t.create({withCredentials:!0,timeout:5e3,baseURL:"/dev_chat"});function s(t){return e({method:"post",url:"/basic/access",data:t})}function a(t){return e({method:"get",url:"/basic/getMySessionList",params:t})}function r(t){return e({method:"post",url:"/basic/accessSession",data:t})}function o(t){return e({method:"get",url:"/basic/historyRecord",params:t})}function n(t){return e({method:"post",url:"/basic/sendMessage",data:t})}function i(t){return e({method:"post",url:"/basic/readMessage",data:t})}function c(t){return e({method:"post",url:"/basic/createSession",data:t})}e.interceptors.response.use((t=>{var e,s;if(null==(e=t.data)?void 0:e.success)return null==(s=t.data)?void 0:s.data;console.log("请求错误")}));export{s as accessApi,r as accessSessionApi,c as createSessionApi,o as getHistoryRecordApi,a as getMySessionListApi,i as readMessageApi,n as sendMessageApi};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { AnyObject } from '../../../../../es/shared/types';
|
|
2
|
+
declare const _default: import("vue").DefineComponent<{}, {
|
|
3
|
+
inputRef: import("vue").Ref<HTMLDivElement | undefined>;
|
|
4
|
+
state: AnyObject;
|
|
5
|
+
setCurrentMsg: Function;
|
|
6
|
+
setIsAppendMsg: Function;
|
|
7
|
+
setCurrentSessionItem: Function;
|
|
8
|
+
setIsChangeSession: Function;
|
|
9
|
+
content: import("vue").Ref<string>;
|
|
10
|
+
handleKeyDown: (event: KeyboardEvent) => void;
|
|
11
|
+
isWrap: (event: KeyboardEvent) => boolean;
|
|
12
|
+
handleInput: () => void;
|
|
13
|
+
handleMsgSend: () => void;
|
|
14
|
+
sendMessage: () => Promise<void>;
|
|
15
|
+
NButton: any;
|
|
16
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
|
17
|
+
export default _default;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import e from"./ChatFooter.vue2.js";import r from"../../../../_virtual/_plugin-vue_export-helper.js";var o=r(e,[["__file","ChatFooter.vue"]]);export{o as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{defineComponent as e,ref as n,inject as t,openBlock as s,createElementBlock as r,normalizeStyle as o,unref as a,withDirectives as i,createElementVNode as u,vShow as l,createVNode as c,withCtx as d,createTextVNode as f}from"vue";import{NButton as m}from"naive-ui";import{sendMessageApi as p}from"../api/index.js";import{format as v}from"date-fns";const y={class:"btn-box"},g=u("span",{class:"tip"},"Enter 发送, Ctrl + Enter 换行",-1);var I=e({__name:"ChatFooter",setup(e){const I=n(),S=t("state"),M=t("setCurrentMsg"),_=t("setIsAppendMsg"),b=t("setCurrentSessionItem"),C=t("setIsChangeSession"),h=n("");function w(e){["Enter"].includes(e.key)&&(function(e){return e.altKey||e.ctrlKey||e.metaKey||e.shiftKey}(e)||(e.preventDefault(),K()))}function x(){var e,n;h.value=(null==(n=null==(e=I.value)?void 0:e.innerText)?void 0:n.trim())||""}function K(){if(!(h.value.length>2e3))return h.value?void async function(){const e={content:h.value,type:0};I.value.innerHTML="",h.value="";const n=Date.now();M({content:e,fromName:S.userInfo.username,sessionId:S.currentSessionItem.id,id:"",createdTime:n,sending:!0,fail:!1}),_(!0),b({__time:v(new Date(n),"MM/dd HH:mm"),__lastContent:e.content}),C(!0);try{const n=await p({sessionId:S.currentSessionId,from:S.userInfo.username,source:2,body:JSON.stringify(e)});M({...S.currentMsg,id:n.messageId,fail:!1,readStatus:n.readStatus})}catch(e){M({...S.currentMsg,fail:!0})}finally{M({...S.currentMsg,sending:!1})}}():console.log("请输入内容");console.log("请控制在2000字以内")}return(e,n)=>(s(),r("section",{class:"chat-footer",style:o({cursor:a(S).currentSessionId?"default":"not-allowed"})},[i(u("div",{ref_key:"inputRef",ref:I,class:"input-box",contenteditable:"",onKeydown:w,onInput:x},null,544),[[l,a(S).currentSessionId]]),u("div",y,[g,c(a(m),{type:"primary",round:"",disabled:!h.value,onClick:K},{default:d((()=>[f("发送")])),_:1},8,["disabled"])])],4))}});export{I as default};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { AnyObject } from '../../../../../es/shared/types';
|
|
2
|
+
declare const _default: import("vue").DefineComponent<{}, {
|
|
3
|
+
state: AnyObject;
|
|
4
|
+
username: import("vue").ComputedRef<any>;
|
|
5
|
+
NAvatar: any;
|
|
6
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
|
7
|
+
export default _default;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import e from"./ChatHeader.vue2.js";import r from"../../../../_virtual/_plugin-vue_export-helper.js";var a=r(e,[["__file","ChatHeader.vue"]]);export{a as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{defineComponent as e,inject as s,computed as a,openBlock as t,createElementBlock as r,createElementVNode as n,withDirectives as l,createVNode as o,unref as i,withCtx as u,createTextVNode as c,toDisplayString as d,vShow as m,createCommentVNode as v}from"vue";import{NAvatar as p}from"naive-ui";const h={class:"chat-header"},f={class:"chat-header__left"},_={class:"name"};var I=e({__name:"ChatHeader",setup(e){const I=s("state"),S=a((()=>I.currentSessionItem.name));return(e,s)=>(t(),r("section",h,[n("div",f,[l(o(i(p),{round:"",size:"large"},{default:u((()=>{var e,s;return[c(d((null==(s=null==(e=i(S))?void 0:e.slice)?void 0:s.call(e,-2))||""),1)]})),_:1},512),[[m,i(I).currentSessionId]]),n("span",_,d(i(S)),1)]),v(' <span v-show="state.currentSessionId">{{ statusTitle }}</span> ')]))}});export{I as default};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { AnyObject } from '../../../../../es/shared/types';
|
|
2
|
+
declare const _default: import("vue").DefineComponent<{}, {
|
|
3
|
+
state: AnyObject;
|
|
4
|
+
setMsgList: Function;
|
|
5
|
+
setIsAppendMsg: Function;
|
|
6
|
+
chatMainRef: import("vue").Ref<HTMLElement | undefined>;
|
|
7
|
+
getHistoryRecord: () => Promise<void>;
|
|
8
|
+
accessSession: (lastSessionId: string) => Promise<void>;
|
|
9
|
+
isNeedShowTime: (item: AnyObject, index: number) => boolean;
|
|
10
|
+
setScrollToButtom: () => Promise<void>;
|
|
11
|
+
NAvatar: any;
|
|
12
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
|
13
|
+
export default _default;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import e from"./ChatMain.vue2.js";import r from"../../../../_virtual/_plugin-vue_export-helper.js";var a=r(e,[["__file","ChatMain.vue"]]);export{a as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{defineComponent as e,inject as s,ref as n,nextTick as t,watch as i,openBlock as r,createElementBlock as a,Fragment as o,renderList as l,unref as c,toDisplayString as u,createCommentVNode as m,createVNode as d,withCtx as f,createTextVNode as g,createElementVNode as v}from"vue";import{NAvatar as p}from"naive-ui";import{useInfiniteScroll as _}from"@vueuse/core";import{getHistoryRecordApi as y,accessSessionApi as L}from"../api/index.js";const M={key:0,class:"time"},I={key:1,class:"message-box left"},h={class:"content"},T=["innerHTML"],k={key:2,class:"message-box right"},H={class:"content"},w=["innerHTML"];var x=e({__name:"ChatMain",setup(e){const x=s("state"),A=s("setMsgList"),S=s("setIsAppendMsg"),b=n();async function z(){var e,s;try{const n=null==(s=null==(e=x.msgList)?void 0:e[0])?void 0:s.id,t=await y({mergeType:1,sessionId:x.currentSessionId,from:x.userInfo.username,source:2,id:n});if(!Array.isArray(t))return;if(n&&0===t.length)return console.log("没有更多消息了");A(n?[...t,...x.msgList]:t),n||j()}catch(e){console.log(e)}}function N(e,s){return+(e.createdTime||Date.now())-+(0==s?0:x.msgList[s-1].createdTime)>18e4}async function j(){var e,s,n;await t();const i=null!=(s=null==(e=b.value)?void 0:e.scrollHeight)?s:0;null==(n=b.value)||n.scrollTo({top:i,behavior:"instant"})}return _(b,(()=>{z()}),{distance:20,direction:"top"}),i((()=>x.currentSessionId),((e,s)=>{e&&(!async function(e){await L({sessionId:x.currentSessionId,lastSessionId:e,from:x.userInfo.username})}(s),z())}),{immediate:!0}),i((()=>x.isAppendMsg),(e=>{e&&(A([...x.msgList,x.currentMsg]),S(!1),j())}),{immediate:!0}),(e,s)=>(r(),a("div",{class:"chat-main",ref_key:"chatMainRef",ref:b},[(r(!0),a(o,null,l(c(x).msgList,((e,s)=>(r(),a("div",{class:"message-item",key:s},[N(e,s)?(r(),a("p",M,u(e.__time),1)):m("v-if",!0),e.__left?(r(),a("div",I,[d(c(p),{round:"",size:"large"},{default:f((()=>[g(u(e.fromName.slice(-2)),1)])),_:2},1024),v("div",h,[v("p",{innerHTML:e.__content},null,8,T)])])):(r(),a("div",k,[v("div",H,[v("p",{innerHTML:e.__content},null,8,w)]),d(c(p),{round:"",size:"large"},{default:f((()=>[g(u(e.fromName.slice(-2)),1)])),_:2},1024)]))])))),128))],512))}});export{x as default};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { AnyObject } from '../../../../../es/shared/types';
|
|
2
|
+
declare const _default: import("vue").DefineComponent<{
|
|
3
|
+
collapsed: {
|
|
4
|
+
type: BooleanConstructor;
|
|
5
|
+
default: boolean;
|
|
6
|
+
};
|
|
7
|
+
}, {
|
|
8
|
+
props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
|
|
9
|
+
collapsed: {
|
|
10
|
+
type: BooleanConstructor;
|
|
11
|
+
default: boolean;
|
|
12
|
+
};
|
|
13
|
+
}>> & {}>>;
|
|
14
|
+
state: AnyObject;
|
|
15
|
+
setCurrentSessionItem: Function;
|
|
16
|
+
setSessionList: Function;
|
|
17
|
+
setIsChangeSession: Function;
|
|
18
|
+
setIsUpdateSession: Function;
|
|
19
|
+
listBoxRef: import("vue").Ref<HTMLElement | undefined>;
|
|
20
|
+
keyword: import("vue").Ref<string>;
|
|
21
|
+
sessionList: import("vue").Ref<AnyObject[]>;
|
|
22
|
+
loading: import("vue").Ref<boolean>;
|
|
23
|
+
pageNum: number;
|
|
24
|
+
init: () => void;
|
|
25
|
+
handleSearch: () => void;
|
|
26
|
+
getMySessionList: () => Promise<void>;
|
|
27
|
+
entrySession: (item: AnyObject) => void;
|
|
28
|
+
sessionChange: (sessionItem: AnyObject) => void;
|
|
29
|
+
NSpin: any;
|
|
30
|
+
NBadge: any;
|
|
31
|
+
NAvatar: any;
|
|
32
|
+
NInput: any;
|
|
33
|
+
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
34
|
+
collapsed: {
|
|
35
|
+
type: BooleanConstructor;
|
|
36
|
+
default: boolean;
|
|
37
|
+
};
|
|
38
|
+
}>>, {
|
|
39
|
+
collapsed: boolean;
|
|
40
|
+
}>;
|
|
41
|
+
export default _default;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import e from"./SiderList.vue2.js";import r from"../../../../_virtual/_plugin-vue_export-helper.js";var i=r(e,[["__file","SiderList.vue"]]);export{i as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{defineComponent as e,inject as s,ref as n,watch as t,openBlock as i,createElementBlock as a,createBlock as l,unref as o,withKeys as u,createElementVNode as r,Fragment as d,renderList as v,normalizeClass as c,createVNode as m,withCtx as _,createTextVNode as p,toDisplayString as f}from"vue";import{NSpin as g,NInput as S,NAvatar as y,NBadge as h}from"naive-ui";import{format as C}from"date-fns";import{getMySessionListApi as k}from"../api/index.js";const L={class:"sider-list"},I=["onClick"],x={class:"name"},H={class:"msg-tip"},M={class:"msg-tip__content"},T=["innerHTML"];var w=e({__name:"SiderList",props:{collapsed:{type:Boolean,default:!1}},setup(e){const w=e,U=s("state"),b=s("setCurrentSessionItem"),z=s("setSessionList"),B=s("setIsChangeSession"),K=s("setIsUpdateSession"),N=n(),j=n(""),D=n([]),E=n(!1);function J(){D.value=U.sessionList.filter((e=>e.name.includes(j.value)||!j.value));const e=D.value.find((e=>e.id===U.currentSessionId));e&&O(e)}function O(e){D.value.forEach((e=>e.__active=!1)),e.__active=!0,e.msgCount=0,b(e)}function R(e){const s=U.sessionList.map((s=>e.id===s.id?{...s,...e}:s));z(s),D.value=U.sessionList.filter((e=>D.value.find((s=>s.id===e.id))))}return async function(){var e;try{E.value=!0;const s=await k({username:U.userInfo.username,onlineType:1,readStatus:"Y",pageNum:1,pageSize:10,keyword:j.value.trim()});if(!(null==(e=null==s?void 0:s.list)?void 0:e.length))return;const n=null==s?void 0:s.list.map((e=>({...e,__name:e.name.slice(-2),__time:C(new Date(e.lastTime),"MM/dd HH:mm"),__lastContent:JSON.parse(e.lastContent||"{}").content||""})));D.value=n,z(n)}catch(e){console.log(e)}finally{E.value=!1}}(),t([()=>U.isChangeSession,()=>U.isUpdateSession],(([e,s])=>{e&&(R(U.currentSessionItem),B(!1)),s&&(R(U.updateSessionItem),K(!1))}),{immediate:!0}),t((()=>U.sessionList.length),(()=>{J()})),(e,s)=>(i(),a("section",L,[E.value?(i(),l(o(g),{key:0,stroke:"#5585f5"})):(i(),l(o(S),{key:1,placeholder:"输入用户名模糊搜索",value:j.value,"onUpdate:value":s[0]||(s[0]=e=>j.value=e),onKeyup:u(J,["enter"])},null,8,["value","onKeyup"])),r("div",{class:"sider-list__box",ref_key:"listBoxRef",ref:N},[(i(!0),a(d,null,v(D.value,((e,s)=>(i(),a("div",{key:s,onClick:()=>O(e),class:c(["sider-list__box__item",{active:e.__active}])},[m(o(y),{round:"",size:"large"},{default:_((()=>[p(f(e.__name),1)])),_:2},1024),r("div",{class:c(["avatar-right",{hidden:w.collapsed}])},[r("div",x,[r("h4",null,f(e.name),1),r("span",null,f(e.__time),1)]),r("div",H,[r("div",M,[r("div",{innerHTML:e.__lastContent},null,8,T)]),m(o(h),{value:e.msgCount},null,8,["value"])])],2)],10,I)))),128))],512)]))}});export{w as default};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { AnyObject } from '../../../../../es/shared/types';
|
|
2
|
+
export declare class ChatSock {
|
|
3
|
+
private stompClient;
|
|
4
|
+
private reconnectTimer;
|
|
5
|
+
private reconnectionCount;
|
|
6
|
+
private heartbeatTimer;
|
|
7
|
+
private options;
|
|
8
|
+
private url;
|
|
9
|
+
/**
|
|
10
|
+
*
|
|
11
|
+
* @param {String} url 请求地址
|
|
12
|
+
* @param {Object} options 配置项
|
|
13
|
+
* @param {Object} options.headers 请求头参数
|
|
14
|
+
* @param {Number} options.heartbeatRate 心跳频率
|
|
15
|
+
* @param {Function} options.heartbeatFn 心跳
|
|
16
|
+
* @param {Function} options.connectCb 连接成功
|
|
17
|
+
* @param {Function} options.errorCb 连接失败
|
|
18
|
+
* @param {Array} options.subscribeCbs 订阅列表
|
|
19
|
+
* @param {Number} options.reconnectMaxCount 重连最大次数
|
|
20
|
+
*/
|
|
21
|
+
constructor(url: string, options: AnyObject);
|
|
22
|
+
connection(): void;
|
|
23
|
+
disconnect(): void;
|
|
24
|
+
reconnect(): void;
|
|
25
|
+
subscribe(...args: any[]): any;
|
|
26
|
+
startHeartbeat(): void;
|
|
27
|
+
send(...args: any[]): any;
|
|
28
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import t from"stompjs";import i from"sockjs-client/dist/sockjs.min.js";class s{constructor(t,i){this.reconnectionCount=0,this.options={},this.url="",this.url=t,this.options=i,this.connection()}connection(){if(!this.url)return;const s=new i(this.url);this.stompClient=t.over(s),this.stompClient.connect(this.options.headers||{},(()=>{const{connectCb:t}=this.options;t&&t(this.reconnectionCount>0),this.startHeartbeat(),this.subscribe(this.options.subscribeCbs),this.reconnectionCount=0}),(t=>{const i=this.reconnectionCount,{errorCb:s,reconnectMaxCount:e=60}=this.options;s&&s(t,i),i<=e&&this.reconnect()}))}disconnect(){var t;this.heartbeatTimer&&clearTimeout(this.heartbeatTimer),this.reconnectTimer&&clearTimeout(this.reconnectTimer),null==(t=this.stompClient)||t.disconnect(),this.stompClient=void 0}reconnect(){this.reconnectionCount++,this.disconnect(),this.reconnectTimer=setTimeout((()=>{this.connection()}),1e3)}subscribe(...t){const i=this.stompClient;if(i){if(1!==t.length||!Array.isArray(t[0]))return 2===t.length?i.subscribe(...t):void 0;t[0].forEach((t=>{this.subscribe(t.action,t.cb)}))}}startHeartbeat(){const t=this.options.heartbeatFn;if(!t)return;const i=this.options.heartbeatRate||1e4;this.heartbeatTimer=setTimeout((()=>{t(),this.startHeartbeat()}),i)}send(...t){var i;return null==(i=this.stompClient)?void 0:i.send(...t)}}export{s as ChatSock};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.c-multi-chat *{box-sizing:border-box}.c-multi-chat .n-avatar{background-color:#5585f5}.c-multi-chat .n-spin-body{margin:auto}.c-multi-chat .sider-list__box{margin-top:15px}.c-multi-chat .sider-list__box__item{background-color:#fff;border-bottom:1px solid #ebebeb;display:flex;padding:12px 5px}.c-multi-chat .sider-list__box__item.active,.c-multi-chat .sider-list__box__item:active,.c-multi-chat .sider-list__box__item:focus,.c-multi-chat .sider-list__box__item:hover{background-color:#ebebeb}.c-multi-chat .sider-list__box__item .avatar-right{flex:1;margin-left:10px}.c-multi-chat .sider-list__box__item .avatar-right.hidden{display:none}.c-multi-chat .sider-list__box__item .avatar-right .name{display:flex}.c-multi-chat .sider-list__box__item .avatar-right .name h4{flex:1}.c-multi-chat .sider-list__box__item .avatar-right .msg-tip{display:flex}.c-multi-chat .sider-list__box__item .avatar-right .msg-tip__content{flex:1;width:0}.c-multi-chat .sider-list__box__item .avatar-right .msg-tip__content>div{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.c-multi-chat .sider-list__box__item .avatar-right .msg-tip p,.c-multi-chat .sider-list__box__item .avatar-right .name span{color:#999}.c-multi-chat .chat-wrapper .n-layout-scroll-container{display:flex;flex-flow:column nowrap;overflow:hidden}.c-multi-chat .chat-header{height:60px;padding:0 10px}.c-multi-chat .chat-header,.c-multi-chat .chat-header__left{align-items:center;display:flex}.c-multi-chat .chat-header__left .name{margin-left:10px}.c-multi-chat .chat-main{border-bottom:1px solid #e5e5e5;border-top:1px solid #e5e5e5;flex:1;overflow-y:scroll;padding:0 10px}.c-multi-chat .chat-main::-webkit-scrollbar{width:5px}.c-multi-chat .chat-main::-webkit-scrollbar-thumb{background:rgba(0,0,0,.25);border-radius:5px}.c-multi-chat .chat-main .message-item{margin-bottom:16px}.c-multi-chat .chat-main .message-item .time{color:#666;margin-bottom:16px;text-align:center}.c-multi-chat .chat-main .message-item .message-box{display:flex}.c-multi-chat .chat-main .message-item .message-box .content{background:#ebebeb;border-radius:8px;color:#000;font-size:14px;line-height:20px;margin:0;max-width:500px;padding:10px;text-align:left;word-break:break-word}.c-multi-chat .chat-main .message-item .message-box .content p{margin:0}.c-multi-chat .chat-main .message-item .message-box.left{justify-content:flex-start}.c-multi-chat .chat-main .message-item .message-box.left .content{border-top-left-radius:0;margin-left:10px}.c-multi-chat .chat-main .message-item .message-box.right{justify-content:flex-end}.c-multi-chat .chat-main .message-item .message-box.right .content{border-top-right-radius:0;margin-right:10px}.c-multi-chat .chat-footer{height:170px;position:relative}.c-multi-chat .chat-footer .input-box{cursor:text;height:114px;outline:none;overflow-x:hidden;overflow-y:scroll;padding:10px 16px;word-break:break-word}.c-multi-chat .chat-footer .input-box::-webkit-scrollbar{width:5px}.c-multi-chat .chat-footer .btn-box{align-items:center;bottom:0;display:flex;height:56px;justify-content:flex-end;padding-right:20px;position:absolute;right:0}.c-multi-chat .chat-footer .btn-box .tip{color:#a6a6a6;margin-right:20px}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{defineComponent as e,reactive as t,ref as a,watch as o,nextTick as n,openBlock as i,createElementBlock as l,createCommentVNode as s,Fragment as r,unref as u,createBlock as c,mergeProps as p,createElementVNode as d,normalizeClass as m,normalizeStyle as v,createVNode as f,withCtx as g,renderList as y,toDisplayString as b,createTextVNode as k,resolveDynamicComponent as C,h as S}from"vue";import w from"./hooks/use-noData.js";import{getScaleViewState as h}from"./hooks/scaleview-state.js";import{ScaleViewComputed as E}from"./hooks/scaleview-computed.js";import{ScaleViewInit as A}from"./hooks/scaleview-init.js";import{ScaleViewSubmit as O}from"./hooks/scaleview-submit.js";import{handleQueryParams as _,isCollection as j,isEvaluation as T}from"./utils/judge-types.js";import{useEvent as L}from"./hooks/use-event.js";import P from"./components/NoData.vue.js";import D from"./components/EvaluateCountdown.vue.js";import F from"./components/EvaluatePage.vue.js";import B from"./components/AnswerParse.vue.js";import N from"./components/ScaleScore.js";import{useDialog as x,useMessage as I,NForm as q,NFormItem as M,NButton as R}from"naive-ui";const K={class:"c-scale-view-block"},V=["innerHTML"],H={key:0,class:"required-text"},U={key:1,class:"evalute-label"},W=["onClick"],J=d("i",{class:"scale-view-iconfont icon-scale-view-dengpao"},null,-1),Y={key:1,class:"footer"};var X=e({__name:"ScaleView",props:{guageData:{type:Object,default:()=>({})},styleSetting:{type:Object,default:()=>({})},ids:{type:Object,default:()=>({guage_id:"",db_id:void 0})},params:{default:()=>({}),type:Object},noBtn:{type:[Boolean,String,Number],default:!1},hideBtn:{type:[Boolean,String,Number],default:!1},isLock:{type:[Boolean,String,Number],default:!1},type:{type:String,default:""},openType:{type:String,default:""},scaleApiConfig:{type:Object,default:()=>({})},getSelectOptions:{type:Function,default:()=>Promise.resolve([])},getSearchOptions:{type:Function,default:()=>Promise.resolve([])},getCascadeOptions:{type:Function,default:()=>Promise.resolve([])},getLabelList:{type:Function,default:()=>Promise.resolve([])},deleteLabel:{type:Function,default:()=>Promise.resolve({status:!0})},saveLabelItem:{type:Function,default:()=>Promise.resolve({status:!0})},uploadPictureUrl:{type:String,default:""},uploadFileUrl:{type:String,default:""},ak:{type:String,default:"KP3BZ-OAC3W-PY6RY-OJ6DV-JYKN3-H6F72"},sourceType:{type:String,default:""},getChunkUploadConfig:{type:Function,default:()=>Promise.resolve({})}},emits:["onCloseSetting","submitNoRequest","onSubmit","startWriteScale"],setup(e,{expose:X,emit:G}){const Q=e,{ScaleViewState:Z}=h(),$=t(Z),z=x(),ee=I(),te=a(null),ae=a(null),{noDataState:oe,setNoData:ne,resetNodata:ie}=w(),le=_(),{showEvatip:se,isFormBoldOpen:re,scaleStyle:ue,handlePageClass:ce,isShowItem:pe,handleShowQuestionNumber:de,hasScore:me,isPreviewScale:ve,showEvaluateEntry:fe,showEvaluateCoundownPage:ge,showSaveBtn:ye,showEvaluateLabel:be,showAnswerParse:ke,propsConfig:Ce,evaluatePageProps:Se,evaluateCountdownProps:we,skipCover:he,scaleEdit:Ee}=E(Q,$,{query:le}),{initForm:Ae}=A(Q,$,G,{query:le}),{submitMethod:Oe}=O(Q,$,G,{query:le}),{nextLogicEvent:_e,handleDynamicDataRelation:je}=L(Q,$);(()=>{let{id:e}=le;e&&($.shareId=e)})();const Te=e=>{try{ie(),Ae(e)}catch(e){console.log(e,"--error"),$.spinning=!1,$.hasFrontAddress=!1,ne(!0,null==e?void 0:e.resultMsg,null==e?void 0:e.result)}};o((()=>Q.ids),((e,t)=>{t?e.guage_id&&e.guage_id!=t.guage_id&&Te(e):e.guage_id&&Te(e)}),{immediate:!0}),o((()=>Q.guageData),(e=>{if(!e||!Object.keys(e||{}).length)return;$.form={},$.formArray=[];const t=JSON.parse(JSON.stringify(e));n((()=>{Ae(t)}))}),{immediate:!0});const Le=e=>{$.showEvaluateSettingWrap=!1,$.showEvaluateCountdown=!!e,G("startWriteScale")},Pe=()=>{console.log("----closeEvaluateCountdown"),$.showEvaluateCountdown=!1,ve.value||($.banSubmit=!0,Oe(),z.warning({title:"温馨提示",content:"测评时间到了,结束测评!",maskClosable:!1,positiveText:"确定",onPositiveClick:()=>({})}))},De=e=>{z.warning({title:"提示",content:()=>S("div",{class:"evatip-container"},[S("span","答案解析:"),S("p",e)]),class:"c-evatip-dialog-wrap",showIcon:!1,positiveText:"确定",negativeText:"关闭",maskClosable:!1,onPositiveClick(){},onNegativeClick(){}})},Fe=(e,t,a)=>{let{choiceObj:o,isSetObj:n}=a||{};switch(t.type.includes("SELECT")||($.form[t.val_key]=e),t.type){case"SELECT":case"EVALUATE_SELECT":{let{value:a,list:o=[]}=e;$.form[t.val_key]=a,_e(e,t,$.formArray),je(o,t,$.formArray)}break;case"RADIO_BLOCK":case"CHECKBOX_BLOCK":n&&($.choiceComObj[t.val_key]=o),_e(e,t,$.formArray);break;case"EVALUATE_RADIO_BLOCK":case"EVALUATE_CHECKBOX_BLOCK":_e(e,t,$.formArray);break;case"DATE":case"TIME":case"DATETIME":case"SEARCH_CASCADE":$.submitForm[t.val_key]=e}},Be=(e,t)=>{console.log(t),$.form[t.val_key]=e},Ne=e=>{if(!e||!e.length)return{labelStr:"",labels:[]};const t=e||[],a=[],o=[];return t.forEach((e=>{o.push(e),a.push(e.labelName)})),$.labelSelectedList=t,{labelStr:a.join(","),labels:o}},xe=()=>{var e;if(!$.formArray.find((e=>T(e.type))))return void Ie("确认要提交吗?");let{evaluateResultSetting:t}=$.config;if(!t||!Object.keys(t).length&&!fe.value||Ee.value)return void Ie("确认要结束测评吗?");if("formIframe"==Q.openType&&fe.value)return void G("submitNoRequest");let a="确定要提前结束测评吗?";if(ge.value&&(null==(e=te.value)?void 0:e.getCountdownObj)){const e=te.value.getCountdownObj(),{setAnswered:t,totalLen:o}=e;t<o?a="存在未作答的题目,确定要提前结束测评吗?":!(null==$?void 0:$.showEvaluateCountdown)&&(a="确认要结束测评吗?")}he.value&&!(null==$?void 0:$.showEvaluateCountdown)&&(a="确认要结束测评吗?"),Ie(a)},Ie=e=>{z.warning({title:"温馨提示",content:()=>S("div",{style:{paddingLeft:"30px"}},e),positiveText:"确定",negativeText:"取消",maskClosable:!1,closable:!1,positiveButtonProps:{type:"primary"},onPositiveClick:async()=>{const e=await qe();G("onSubmit",e)},onNegativeClick(){}})},qe=()=>new Promise(((e,t)=>{var a;null==(a=ae.value)||a.validate((t=>{var a;if(t){console.log(t);let o=(null==(a=t[0])?void 0:a[0])||{},n=o.field,i=o.message,l=$.formArray.find((e=>e.databaseTitle===n));return l&&(n=l.title),ee.error(n+i),e(!1),!1}{const t=Oe();e(t)}}))})),Me=()=>{G("onCloseSetting")};return X({getScaleData:()=>({...$}),onSubmitForm:qe,cancel:Me}),(e,t)=>(i(),l("div",K,[s(' <template v-if="state.spinning">\
|
|
1
|
+
import{defineComponent as e,reactive as t,ref as a,watch as o,nextTick as n,openBlock as i,createElementBlock as l,createCommentVNode as s,Fragment as r,unref as u,createBlock as c,mergeProps as p,createElementVNode as d,normalizeClass as m,normalizeStyle as v,createVNode as f,withCtx as g,renderList as y,toDisplayString as b,createTextVNode as k,resolveDynamicComponent as C,h as S}from"vue";import w from"./hooks/use-noData.js";import{getScaleViewState as h}from"./hooks/scaleview-state.js";import{ScaleViewComputed as E}from"./hooks/scaleview-computed.js";import{ScaleViewInit as A}from"./hooks/scaleview-init.js";import{ScaleViewSubmit as O}from"./hooks/scaleview-submit.js";import{handleQueryParams as _,isCollection as j,isEvaluation as T}from"./utils/judge-types.js";import{useEvent as L}from"./hooks/use-event.js";import P from"./components/NoData.vue.js";import D from"./components/EvaluateCountdown.vue.js";import F from"./components/EvaluatePage.vue.js";import B from"./components/AnswerParse.vue.js";import N from"./components/ScaleScore.js";import{useDialog as x,useMessage as I,NForm as q,NFormItem as M,NButton as R}from"naive-ui";const K={class:"c-scale-view-block"},V=["innerHTML"],H={key:0,class:"required-text"},U={key:1,class:"evalute-label"},W=["onClick"],J=d("i",{class:"scale-view-iconfont icon-scale-view-dengpao"},null,-1),Y={key:1,class:"footer"};var X=e({__name:"ScaleView",props:{guageData:{type:Object,default:()=>({})},styleSetting:{type:Object,default:()=>({})},ids:{type:Object,default:()=>({guage_id:"",db_id:void 0})},params:{default:()=>({}),type:Object},noBtn:{type:[Boolean,String,Number],default:!1},hideBtn:{type:[Boolean,String,Number],default:!1},isLock:{type:[Boolean,String,Number],default:!1},type:{type:String,default:""},openType:{type:String,default:""},scaleApiConfig:{type:Object,default:()=>({})},getSelectOptions:{type:Function,default:()=>Promise.resolve([])},getSearchOptions:{type:Function,default:()=>Promise.resolve([])},getCascadeOptions:{type:Function,default:()=>Promise.resolve([])},getLabelList:{type:Function,default:()=>Promise.resolve([])},deleteLabel:{type:Function,default:()=>Promise.resolve({status:!0})},saveLabelItem:{type:Function,default:()=>Promise.resolve({status:!0})},uploadPictureUrl:{type:String,default:""},uploadFileUrl:{type:String,default:""},ak:{type:String,default:"KP3BZ-OAC3W-PY6RY-OJ6DV-JYKN3-H6F72"},sourceType:{type:String,default:""},getChunkUploadConfig:{type:Function,default:()=>Promise.resolve({})}},emits:["onCloseSetting","submitNoRequest","onSubmit","startWriteScale"],setup(e,{expose:X,emit:G}){const Q=e,{ScaleViewState:Z}=h(),$=t(Z),z=x(),ee=I(),te=a(null),ae=a(null),{noDataState:oe,setNoData:ne,resetNodata:ie}=w(),le=_(),{showEvatip:se,isFormBoldOpen:re,scaleStyle:ue,handlePageClass:ce,isShowItem:pe,handleShowQuestionNumber:de,hasScore:me,isPreviewScale:ve,showEvaluateEntry:fe,showEvaluateCoundownPage:ge,showSaveBtn:ye,showEvaluateLabel:be,showAnswerParse:ke,propsConfig:Ce,evaluatePageProps:Se,evaluateCountdownProps:we,skipCover:he,scaleEdit:Ee}=E(Q,$,{query:le}),{initForm:Ae}=A(Q,$,G,{query:le}),{submitMethod:Oe}=O(Q,$,G,{query:le}),{nextLogicEvent:_e,handleDynamicDataRelation:je}=L(Q,$);(()=>{let{id:e}=le;e&&($.shareId=e)})();const Te=e=>{try{ie(),Ae(e)}catch(e){console.log(e,"--error"),$.spinning=!1,$.hasFrontAddress=!1,ne(!0,null==e?void 0:e.resultMsg,null==e?void 0:e.result)}};o((()=>Q.ids),((e,t)=>{t?e.guage_id&&e.guage_id!=t.guage_id&&Te(e):e.guage_id&&Te(e)}),{immediate:!0}),o((()=>Q.guageData),(e=>{if(!e||!Object.keys(e||{}).length)return;$.form={},$.formArray=[];const t=JSON.parse(JSON.stringify(e));n((()=>{Ae(t)}))}),{immediate:!0});const Le=e=>{$.showEvaluateSettingWrap=!1,$.showEvaluateCountdown=!!e,G("startWriteScale")},Pe=()=>{console.log("----closeEvaluateCountdown"),$.showEvaluateCountdown=!1,ve.value||($.banSubmit=!0,Oe(),z.warning({title:"温馨提示",content:"测评时间到了,结束测评!",maskClosable:!1,positiveText:"确定",onPositiveClick:()=>({})}))},De=e=>{z.warning({title:"提示",content:()=>S("div",{class:"evatip-container"},[S("span","答案解析:"),S("p",e)]),class:"c-evatip-dialog-wrap",showIcon:!1,positiveText:"确定",negativeText:"关闭",maskClosable:!1,onPositiveClick(){},onNegativeClick(){}})},Fe=(e,t,a)=>{let{choiceObj:o,isSetObj:n}=a||{};switch(t.type.includes("SELECT")||($.form[t.val_key]=e),t.type){case"SELECT":case"EVALUATE_SELECT":{let{value:a,list:o=[]}=e;$.form[t.val_key]=a,_e(e,t,$.formArray),je(o,t,$.formArray)}break;case"RADIO_BLOCK":case"CHECKBOX_BLOCK":n&&($.choiceComObj[t.val_key]=o),_e(e,t,$.formArray);break;case"EVALUATE_RADIO_BLOCK":case"EVALUATE_CHECKBOX_BLOCK":_e(e,t,$.formArray);break;case"DATE":case"TIME":case"DATETIME":case"SEARCH_CASCADE":$.submitForm[t.val_key]=e}},Be=(e,t)=>{console.log(t),$.form[t.val_key]=e},Ne=e=>{if(!e||!e.length)return{labelStr:"",labels:[]};const t=e||[],a=[],o=[];return t.forEach((e=>{o.push(e),a.push(e.labelName)})),$.labelSelectedList=t,{labelStr:a.join(","),labels:o}},xe=()=>{var e;if(!$.formArray.find((e=>T(e.type))))return void Ie("确认要提交吗?");let{evaluateResultSetting:t}=$.config;if(!t||!Object.keys(t).length&&!fe.value||Ee.value)return void Ie("确认要结束测评吗?");if("formIframe"==Q.openType&&fe.value)return void G("submitNoRequest");let a="确定要提前结束测评吗?";if(ge.value&&(null==(e=te.value)?void 0:e.getCountdownObj)){const e=te.value.getCountdownObj(),{setAnswered:t,totalLen:o}=e;t<o?a="存在未作答的题目,确定要提前结束测评吗?":!(null==$?void 0:$.showEvaluateCountdown)&&(a="确认要结束测评吗?")}he.value&&!(null==$?void 0:$.showEvaluateCountdown)&&(a="确认要结束测评吗?"),Ie(a)},Ie=e=>{z.warning({title:"温馨提示",content:()=>S("div",{style:{paddingLeft:"30px"}},e),positiveText:"确定",negativeText:"取消",maskClosable:!1,closable:!1,positiveButtonProps:{type:"primary"},onPositiveClick:async()=>{const e=await qe();G("onSubmit",e)},onNegativeClick(){}})},qe=()=>new Promise(((e,t)=>{var a;null==(a=ae.value)||a.validate((t=>{var a;if(t){console.log(t);let o=(null==(a=t[0])?void 0:a[0])||{},n=o.field,i=o.message,l=$.formArray.find((e=>e.databaseTitle===n));return l&&(n=l.title),ee.error(n+i),e(!1),!1}{const t=Oe();e(t)}}))})),Me=()=>{G("onCloseSetting")};return X({getScaleData:()=>({...$}),onSubmitForm:qe,cancel:Me}),(e,t)=>(i(),l("div",K,[s(' <template v-if="state.spinning">\n <n-spin :show="state.spinning" description="加载中"></n-spin>\n </template> '),$.spinning||$.hasFrontAddress?s("v-if",!0):(i(),l(r,{key:0},[u(oe).noData?(i(),c(P,{key:0,noDataImg:u(oe).noDataImg,noDataTip:u(oe).noDataTip},null,8,["noDataImg","noDataTip"])):(i(),l(r,{key:1},[u(fe)&&!u(he)?(i(),c(F,p({key:0},u(Se),{onWriteGuage:Le}),null,16)):(i(),l(r,{key:1},[u(ge)?(i(),c(D,p({key:0,ref_key:"countdownDom",ref:te},u(we),{onCloseEvaluateCountdown:Pe}),null,16)):s("v-if",!0),d("div",{class:m(["scale-container",{"scale-container-nopadding":u(ce),"scale-container-hasfooter":u(ye)}]),style:v(u(ue))},[u(me)?(i(),c(u(N),{key:0,config:$.config,maxScore:$.maxScore},null,8,["config","maxScore"])):s("v-if",!0),f(u(q),{ref_key:"formRef",ref:ae,model:$.form,rules:$.rules,"require-mark-placement":"left",class:"main"},{default:g((()=>[(i(!0),l(r,null,y($.formArray,((e,t)=>(i(),l(r,{key:(e.id||e.seq)+t},[u(pe)(e)?(i(),c(u(M),{key:0,path:e.val_key,"show-label":!u(j)(e.type),class:"c-scle-form-item"},{label:g((()=>[d("span",{class:m({"scale-label-required":u(re)(e)}),innerHTML:u(de)(e)},null,10,V),u(re)(e)?(i(),l("span",H,"(必填)")):s("v-if",!0),u(be)(e)?(i(),l("span",U,b(u(be)(e)),1)):s("v-if",!0),u(se)(e)?(i(),l("span",{key:2,class:"evalute-tip",onClick:t=>(async e=>{var t;if($.evatipMap[e.id])return void De($.evatipMap[e.id]);let a="getSubjectAnswer";const o=(null==(t=Q.scaleApiConfig)?void 0:t[a])||null;if(!o||"function"!=typeof o)return void ee.error(`${a} Is not a function`);let n=await o(e.id);n&&($.evatipMap[e.id]||($.evatipMap[e.id]=n,De(n)))})(e)},[J,k(" 查看提示 ")],8,W)):s("v-if",!0)])),default:g((()=>[(i(),c(C(e.renderCom),p(u(Ce)(e,t),{key:(e.id||e.seq)+t,onScaleChange:Fe,onOnChange:t=>((e,t)=>{$.form[t.val_key]=Ne(e)})(t,e),onVodFileList:Be}),null,16,["onOnChange"])),u(ke)(e)?(i(),c(B,{key:0,item:e},null,8,["item"])):s("v-if",!0)])),_:2},1032,["path","show-label"])):s("v-if",!0)],64)))),128))])),_:1},8,["model","rules"])],6),u(ye)?(i(),l("div",Y,[s(" 分享的链接 隐藏取消按钮 "),"guage"!==Q.sourceType?(i(),c(u(R),{key:0,onClick:Me},{default:g((()=>[k("取消")])),_:1})):s("v-if",!0),Q.isLock?s("v-if",!0):(i(),c(u(R),{key:1,onClick:xe,disabled:$.banSubmit,type:"primary"},{default:g((()=>[k(" 保存 ")])),_:1},8,["disabled"]))])):s("v-if",!0)],64))],64))],64))]))}});export{X as default};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export const __esModule: true;
|
|
2
|
+
declare const _default: vue_1.DefineComponent<{
|
|
3
|
+
form: {
|
|
4
|
+
type: ObjectConstructor;
|
|
5
|
+
default: () => void;
|
|
6
|
+
};
|
|
7
|
+
item: {
|
|
8
|
+
type: ObjectConstructor;
|
|
9
|
+
default: () => void;
|
|
10
|
+
};
|
|
11
|
+
isLock: {
|
|
12
|
+
type: BooleanConstructor;
|
|
13
|
+
default: boolean;
|
|
14
|
+
};
|
|
15
|
+
}, () => any, any, {}, {}, vue_1.ComponentOptionsMixin, vue_1.ComponentOptionsMixin, "scaleChange"[], "scaleChange", vue_1.VNodeProps & vue_1.AllowedComponentProps & vue_1.ComponentCustomProps, Readonly<vue_1.ExtractPropTypes<{
|
|
16
|
+
form: {
|
|
17
|
+
type: ObjectConstructor;
|
|
18
|
+
default: () => void;
|
|
19
|
+
};
|
|
20
|
+
item: {
|
|
21
|
+
type: ObjectConstructor;
|
|
22
|
+
default: () => void;
|
|
23
|
+
};
|
|
24
|
+
isLock: {
|
|
25
|
+
type: BooleanConstructor;
|
|
26
|
+
default: boolean;
|
|
27
|
+
};
|
|
28
|
+
}>> & {
|
|
29
|
+
onScaleChange?: ((...args: any[]) => any) | undefined;
|
|
30
|
+
}, {
|
|
31
|
+
item: Record<string, any>;
|
|
32
|
+
isLock: boolean;
|
|
33
|
+
form: Record<string, any>;
|
|
34
|
+
}>;
|
|
35
|
+
export default _default;
|
|
36
|
+
import vue_1 = require("vue");
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export const __esModule: true;
|
|
2
|
+
declare const _default: vue_1.DefineComponent<{
|
|
3
|
+
form: {
|
|
4
|
+
type: ObjectConstructor;
|
|
5
|
+
default: () => {};
|
|
6
|
+
};
|
|
7
|
+
item: {
|
|
8
|
+
type: ObjectConstructor;
|
|
9
|
+
default: () => {};
|
|
10
|
+
};
|
|
11
|
+
isLock: {
|
|
12
|
+
type: BooleanConstructor;
|
|
13
|
+
default: boolean;
|
|
14
|
+
};
|
|
15
|
+
}, () => any, any, {}, {}, vue_1.ComponentOptionsMixin, vue_1.ComponentOptionsMixin, "scaleChange"[], "scaleChange", vue_1.VNodeProps & vue_1.AllowedComponentProps & vue_1.ComponentCustomProps, Readonly<vue_1.ExtractPropTypes<{
|
|
16
|
+
form: {
|
|
17
|
+
type: ObjectConstructor;
|
|
18
|
+
default: () => {};
|
|
19
|
+
};
|
|
20
|
+
item: {
|
|
21
|
+
type: ObjectConstructor;
|
|
22
|
+
default: () => {};
|
|
23
|
+
};
|
|
24
|
+
isLock: {
|
|
25
|
+
type: BooleanConstructor;
|
|
26
|
+
default: boolean;
|
|
27
|
+
};
|
|
28
|
+
}>> & {
|
|
29
|
+
onScaleChange?: ((...args: any[]) => any) | undefined;
|
|
30
|
+
}, {
|
|
31
|
+
item: Record<string, any>;
|
|
32
|
+
isLock: boolean;
|
|
33
|
+
form: Record<string, any>;
|
|
34
|
+
}>;
|
|
35
|
+
export default _default;
|
|
36
|
+
import vue_1 = require("vue");
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
export const __esModule: true;
|
|
2
|
+
declare const _default: vue_1.DefineComponent<{
|
|
3
|
+
title: {
|
|
4
|
+
type: (StringConstructor | FunctionConstructor)[];
|
|
5
|
+
default: string;
|
|
6
|
+
};
|
|
7
|
+
changeSize: {
|
|
8
|
+
type: BooleanConstructor;
|
|
9
|
+
default: boolean;
|
|
10
|
+
};
|
|
11
|
+
closable: {
|
|
12
|
+
type: BooleanConstructor;
|
|
13
|
+
default: boolean;
|
|
14
|
+
};
|
|
15
|
+
modalWidth: {
|
|
16
|
+
type: StringConstructor;
|
|
17
|
+
default: string;
|
|
18
|
+
};
|
|
19
|
+
modalHeight: {
|
|
20
|
+
type: StringConstructor;
|
|
21
|
+
default: string;
|
|
22
|
+
};
|
|
23
|
+
handleOk: {
|
|
24
|
+
type: FunctionConstructor;
|
|
25
|
+
default: () => {};
|
|
26
|
+
};
|
|
27
|
+
cancel: {
|
|
28
|
+
type: FunctionConstructor;
|
|
29
|
+
default: () => {};
|
|
30
|
+
};
|
|
31
|
+
visible: {
|
|
32
|
+
type: BooleanConstructor;
|
|
33
|
+
default: boolean;
|
|
34
|
+
};
|
|
35
|
+
}, () => any, any, {}, {}, vue_1.ComponentOptionsMixin, vue_1.ComponentOptionsMixin, ("update:visible" | "onClose")[], "onClose" | "update:visible", vue_1.VNodeProps & vue_1.AllowedComponentProps & vue_1.ComponentCustomProps, Readonly<vue_1.ExtractPropTypes<{
|
|
36
|
+
title: {
|
|
37
|
+
type: (StringConstructor | FunctionConstructor)[];
|
|
38
|
+
default: string;
|
|
39
|
+
};
|
|
40
|
+
changeSize: {
|
|
41
|
+
type: BooleanConstructor;
|
|
42
|
+
default: boolean;
|
|
43
|
+
};
|
|
44
|
+
closable: {
|
|
45
|
+
type: BooleanConstructor;
|
|
46
|
+
default: boolean;
|
|
47
|
+
};
|
|
48
|
+
modalWidth: {
|
|
49
|
+
type: StringConstructor;
|
|
50
|
+
default: string;
|
|
51
|
+
};
|
|
52
|
+
modalHeight: {
|
|
53
|
+
type: StringConstructor;
|
|
54
|
+
default: string;
|
|
55
|
+
};
|
|
56
|
+
handleOk: {
|
|
57
|
+
type: FunctionConstructor;
|
|
58
|
+
default: () => {};
|
|
59
|
+
};
|
|
60
|
+
cancel: {
|
|
61
|
+
type: FunctionConstructor;
|
|
62
|
+
default: () => {};
|
|
63
|
+
};
|
|
64
|
+
visible: {
|
|
65
|
+
type: BooleanConstructor;
|
|
66
|
+
default: boolean;
|
|
67
|
+
};
|
|
68
|
+
}>> & {
|
|
69
|
+
"onUpdate:visible"?: ((...args: any[]) => any) | undefined;
|
|
70
|
+
onOnClose?: ((...args: any[]) => any) | undefined;
|
|
71
|
+
}, {
|
|
72
|
+
closable: boolean;
|
|
73
|
+
title: string | Function;
|
|
74
|
+
visible: boolean;
|
|
75
|
+
modalWidth: string;
|
|
76
|
+
modalHeight: string;
|
|
77
|
+
handleOk: Function;
|
|
78
|
+
cancel: Function;
|
|
79
|
+
changeSize: boolean;
|
|
80
|
+
}>;
|
|
81
|
+
export default _default;
|
|
82
|
+
import vue_1 = require("vue");
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
export const __esModule: true;
|
|
2
|
+
export const SearchMenu: vue_1.DefineComponent<{
|
|
3
|
+
childKey: {
|
|
4
|
+
type: StringConstructor;
|
|
5
|
+
default: string;
|
|
6
|
+
};
|
|
7
|
+
options: {
|
|
8
|
+
type: ArrayConstructor;
|
|
9
|
+
default: () => never[];
|
|
10
|
+
};
|
|
11
|
+
labelKey: {
|
|
12
|
+
type: StringConstructor;
|
|
13
|
+
default: string;
|
|
14
|
+
};
|
|
15
|
+
valueKey: {
|
|
16
|
+
type: StringConstructor;
|
|
17
|
+
default: string;
|
|
18
|
+
};
|
|
19
|
+
currentNode: {
|
|
20
|
+
type: ObjectConstructor;
|
|
21
|
+
};
|
|
22
|
+
cursorNode: {
|
|
23
|
+
type: ObjectConstructor;
|
|
24
|
+
};
|
|
25
|
+
}, () => any, any, {}, {}, vue_1.ComponentOptionsMixin, vue_1.ComponentOptionsMixin, ("nodeClick" | "changeCursor")[], "nodeClick" | "changeCursor", vue_1.VNodeProps & vue_1.AllowedComponentProps & vue_1.ComponentCustomProps, Readonly<vue_1.ExtractPropTypes<{
|
|
26
|
+
childKey: {
|
|
27
|
+
type: StringConstructor;
|
|
28
|
+
default: string;
|
|
29
|
+
};
|
|
30
|
+
options: {
|
|
31
|
+
type: ArrayConstructor;
|
|
32
|
+
default: () => never[];
|
|
33
|
+
};
|
|
34
|
+
labelKey: {
|
|
35
|
+
type: StringConstructor;
|
|
36
|
+
default: string;
|
|
37
|
+
};
|
|
38
|
+
valueKey: {
|
|
39
|
+
type: StringConstructor;
|
|
40
|
+
default: string;
|
|
41
|
+
};
|
|
42
|
+
currentNode: {
|
|
43
|
+
type: ObjectConstructor;
|
|
44
|
+
};
|
|
45
|
+
cursorNode: {
|
|
46
|
+
type: ObjectConstructor;
|
|
47
|
+
};
|
|
48
|
+
}>> & {
|
|
49
|
+
onNodeClick?: ((...args: any[]) => any) | undefined;
|
|
50
|
+
onChangeCursor?: ((...args: any[]) => any) | undefined;
|
|
51
|
+
}, {
|
|
52
|
+
options: unknown[];
|
|
53
|
+
valueKey: string;
|
|
54
|
+
childKey: string;
|
|
55
|
+
labelKey: string;
|
|
56
|
+
}>;
|
|
57
|
+
import vue_1 = require("vue");
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
export const __esModule: true;
|
|
2
|
+
export const SearchMenu: vue_1.DefineComponent<{
|
|
3
|
+
childKey: {
|
|
4
|
+
type: StringConstructor;
|
|
5
|
+
default: string;
|
|
6
|
+
};
|
|
7
|
+
options: {
|
|
8
|
+
type: ArrayConstructor;
|
|
9
|
+
default: () => never[];
|
|
10
|
+
};
|
|
11
|
+
labelKey: {
|
|
12
|
+
type: StringConstructor;
|
|
13
|
+
default: string;
|
|
14
|
+
};
|
|
15
|
+
valueKey: {
|
|
16
|
+
type: StringConstructor;
|
|
17
|
+
default: string;
|
|
18
|
+
};
|
|
19
|
+
currentNode: {
|
|
20
|
+
type: ObjectConstructor;
|
|
21
|
+
};
|
|
22
|
+
cursorNode: {
|
|
23
|
+
type: ObjectConstructor;
|
|
24
|
+
};
|
|
25
|
+
}, () => any, any, {}, {}, vue_1.ComponentOptionsMixin, vue_1.ComponentOptionsMixin, ("nodeClick" | "changeCursor")[], "nodeClick" | "changeCursor", vue_1.VNodeProps & vue_1.AllowedComponentProps & vue_1.ComponentCustomProps, Readonly<vue_1.ExtractPropTypes<{
|
|
26
|
+
childKey: {
|
|
27
|
+
type: StringConstructor;
|
|
28
|
+
default: string;
|
|
29
|
+
};
|
|
30
|
+
options: {
|
|
31
|
+
type: ArrayConstructor;
|
|
32
|
+
default: () => never[];
|
|
33
|
+
};
|
|
34
|
+
labelKey: {
|
|
35
|
+
type: StringConstructor;
|
|
36
|
+
default: string;
|
|
37
|
+
};
|
|
38
|
+
valueKey: {
|
|
39
|
+
type: StringConstructor;
|
|
40
|
+
default: string;
|
|
41
|
+
};
|
|
42
|
+
currentNode: {
|
|
43
|
+
type: ObjectConstructor;
|
|
44
|
+
};
|
|
45
|
+
cursorNode: {
|
|
46
|
+
type: ObjectConstructor;
|
|
47
|
+
};
|
|
48
|
+
}>> & {
|
|
49
|
+
onNodeClick?: ((...args: any[]) => any) | undefined;
|
|
50
|
+
onChangeCursor?: ((...args: any[]) => any) | undefined;
|
|
51
|
+
}, {
|
|
52
|
+
options: unknown[];
|
|
53
|
+
valueKey: string;
|
|
54
|
+
childKey: string;
|
|
55
|
+
labelKey: string;
|
|
56
|
+
}>;
|
|
57
|
+
import vue_1 = require("vue");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{defineComponent as t,ref as e,reactive as l,computed as a,watch as i,openBlock as n,createElementBlock as s,unref as
|
|
1
|
+
import{defineComponent as t,ref as e,reactive as l,computed as a,watch as i,openBlock as n,createElementBlock as s,unref as d,createCommentVNode as o,withDirectives as r,createElementVNode as c,normalizeClass as b,createVNode as u,withCtx as p,Fragment as f,renderList as h,createBlock as y,createTextVNode as v,toDisplayString as m,vShow as g,nextTick as C}from"vue";import{useMessage as L,NAnchor as I,NAnchorLink as S}from"naive-ui";import E from"./components/label-classify.vue.js";import{handleLabelColor as w}from"../../../shared/utils/vexutils.js";import x from"../../../shared/utils/vexutilsExpand.js";const A={key:0,class:"label-disable-wrap"},O=[c("p",{class:"label-disable-title"},"无可选标签",-1),c("p",{class:"label-disable-desc"},"请联系管理员进行标签管理设置",-1)],K={style:{height:"100%"}},j={class:"label-wrap"},k=["id"],T={class:"edit-label-type"};var B=t({__name:"LabelFormContent",props:{item:{default:()=>({})},isEdit:{type:Boolean,default:!0},isLock:{type:Boolean,default:!1},labelSelectedList:null,isChangeWindow:{type:Boolean},getLabelList:{type:Function,default:()=>Promise.resolve({rows:[]})},deleteLabel:{type:Function,default:()=>Promise.resolve({status:!0})},saveLabelItem:{type:Function,default:()=>Promise.resolve({status:!0})},labelOptions:null,sourceType:{default:""},explicit:{type:Boolean,default:!1}},emits:["explicitOnChange","change","updateLabelData"],setup(t,{expose:B,emit:D}){const V=t,F=L(),P=e(null),_=l({editLabelItem:{},inited:!1,labelSelectedEdit:[],labelAnchorKey:"",cacheAnchorKey:"",labelConfig:{}});let N=e(0);const W=a((()=>{if(!_.inited)return!1;let t=_.labelConfig;return!t||Object.keys(t).every((e=>!t[e].itemList))})),$=a((()=>{let t=[].concat(..._.labelSelectedEdit,...V.labelSelectedList);return J(t,"labelId")})),q=a((()=>{const t=$.value||[];return Array.isArray(t)?t.map((t=>t.labelId)):[]})),J=(t,e)=>{let l={};return t.reduce(((t,a)=>(!l[a[e]]&&(l[a[e]]=t.push(a)),t)),[])},R=()=>{if(_.labelSelectedEdit=$.value,"object"==typeof _.labelConfig){Object.keys(_.labelConfig||{}).forEach((t=>{var e;let l=(null==(e=_.labelConfig[t])?void 0:e.itemList)||[];l.length&&l.forEach((t=>{q.value.includes(t.labelId)&&(t.isSelect=!0)}))}))}},z=(t,e)=>{if(!t)return;let l=Object.keys(t)||[];if(!l.length)return;let a=t[l[0]].curKey;if(e&&"string"==typeof e){let[i]=e.split("~"),n=l.find((e=>t[e]&&t[e].curKey&&t[e].curKey.includes(i)));n&&(a=t[n].curKey)}a&&Y(a)},G=(t,e)=>{e.showAdd=!0;const l=t.target.nextElementSibling;C((()=>{var t;null==(t=null==l?void 0:l.firstChild)||t.focus()}))},H=(t,e)=>{setTimeout((()=>{e.addVal?Q(e):e.showAdd=!1}),150)},M=(t,e)=>{e.addVal="",e.showAdd=!1},Q=async t=>{var e;if(!!t.itemList.filter((t=>!(t.isPublic&&1==t.isPublic))).find((e=>e.labelName===t.addVal)))return F.error("标签名称重复!"),!1;let l="";l=(null==(e=t.itemList)?void 0:e.length)?t.itemList[0].parentColor||t.parentColor||"":(null==t?void 0:t.parentColor)||"";const a={type:t.typeId,name:t.addVal,parentColor:l},{status:i}=await V.saveLabelItem(a,t);i&&(F.success("添加成功!"),D("updateLabelData"),t.showAdd=!1)},U=(t,e,l,a)=>{var i;const n=l.itemList,s=l.multipleChoice;let d=(null==(i=_.labelSelectedEdit)?void 0:i.length)&&x.clone(_.labelSelectedEdit,!0)||[];if(t){if(d.some((t=>t.labelId==e.labelId)))return;if(2==s){const{typeId:t,labelId:l}=e;d=d.filter((e=>e.typeId!==t)),n.forEach((t=>{t.labelId!==l&&(t.isSelect=!1)}))}d.push(e)}else{const t=d.findIndex((t=>t.labelId==e.labelId));-1!=t&&d.splice(t,1)}_.labelSelectedEdit=[...d],N.value++,V.explicit&&D("explicitOnChange",[..._.labelSelectedEdit])},X=async t=>{const{status:e}=await V.deleteLabel(t,V.item);if(e){F.success("删除成功!");for(const e in _.labelConfig){const l=_.labelConfig[e].itemList.findIndex((e=>e.labelId==t.labelId));-1!=l&&_.labelConfig[e].itemList.splice(l,1)}const e=_.labelSelectedEdit||[],l=V.labelSelectedList||[];if(e&&e.length){const l=e.findIndex((e=>e.labelId==t.labelId));-1!=l&&e.splice(l,1)}if(l&&l.length){const e=l.findIndex((e=>e.labelId==t.labelId));-1!=e&&l.splice(e,1),D("change",[...l],V.item)}D("updateLabelData")}else F.warning("删除失败")},Y=t=>{t&&setTimeout((()=>{let e,l="#"+t;e=P.value.querySelector("a[href='"+l+"']"),e&&e.click(),_.labelAnchorKey=t}),32)},Z=t=>{t.preventDefault()},tt=t=>{if(!t)return;let e=t.slice(1);_.cacheAnchorKey=e},et=()=>{var t;return null==(t=P.value)?void 0:t.querySelector(".right-label-wrap")};return i((()=>V.labelOptions),(t=>{t&&(()=>{var t;if(V.isLock)return;const e=JSON.parse(JSON.stringify(V.labelOptions));for(let l in e){let a=(null==(t=e[l])?void 0:t.typeId)||"";Object.assign(e[l],{curKey:`${l}_${a}}`})}_.labelConfig=e,C((()=>{let t;R(),V.explicit&&_.inited&&(t=_.labelAnchorKey),z(_.labelConfig,t),_.inited=!0}))})()}),{immediate:!0,deep:!0}),B({resetShowAdd:()=>{let{labelObj:t}=_.editLabelItem;if(t&&Object.keys(t).length)for(let e in t){let l=t[e];Object.assign(l,{showAdd:!1})}},handleLabelForm:t=>{t([..._.labelSelectedEdit||[]])},handleResetOptions:()=>{},hanldeSetLabelItem:(t,e)=>{if("object"==typeof _.labelConfig){Object.keys(_.labelConfig||{}).forEach((l=>{var a;let i=(null==(a=_.labelConfig[l])?void 0:a.itemList)||[];i.length&&i.forEach((l=>{t==l.labelId&&(l.isSelect=e)}))}))}if(!1===e&&Array.isArray(_.labelSelectedEdit)){const e=_.labelSelectedEdit.findIndex((e=>e.labelId==t));-1!=e&&_.labelSelectedEdit.splice(e,1)}}}),(e,l)=>(n(),s("div",{class:"c-label-form-content",ref_key:"labelFormContent",ref:P},[d(W)?(n(),s("div",A,O)):o("v-if",!0),r(c("div",K,[c("div",j,[o(" 表单内嵌打开标签组件的样式 "),o(' <div v-if="explicit" class="explicit-continer">\n\t\t\t\t\t<n-tabs :value="state.labelAnchorKey" type="card" @change="labelAnchorTabsOnChange" tab-position="top">\n\t\t\t\t\t\t<template v-for="(v, i) in state.labelConfig">\n\t\t\t\t\t\t\t<n-tab-pane :name="v.curKey">\n\t\t\t\t\t\t\t\t<span slot="tab">\n\t\t\t\t\t\t\t\t\t{{ i }}\n\t\t\t\t\t\t\t\t\t<span class="edit-label-type">({{ v.multipleChoice == 2 ? \'单\' : \'多\' }}选)</span>\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t<div class="explicit-label-wrap left-label-wrap">\n\t\t\t\t\t\t\t\t\t<div class="edit-label-content">\n\t\t\t\t\t\t\t\t\t\t<labelClassify\n\t\t\t\t\t\t\t\t\t\t\t:classifyItem="v"\n\t\t\t\t\t\t\t\t\t\t\t:handleLabelChange="handleLabelChange"\n\t\t\t\t\t\t\t\t\t\t\t:handleLabelColor="handleLabelColor"\n\t\t\t\t\t\t\t\t\t\t\t:handleDelLabel="handleDelLabel"\n\t\t\t\t\t\t\t\t\t\t\t:hanldeBlur="hanldeBlur"\n\t\t\t\t\t\t\t\t\t\t\t:handleAddLabel="handleAddLabel"\n\t\t\t\t\t\t\t\t\t\t\t:clearaddVal="clearaddVal"\n\t\t\t\t\t\t\t\t\t\t\t:isEdit="isEdit"\n\t\t\t\t\t\t\t\t\t\t\t:sourceType="sourceType"\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</n-tab-pane>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</n-tabs>\n\t\t\t\t</div> '),o("\n\t\t\t\t\t普通标签样式\n\t\t\t\t\tv-else\n\t\t\t\t\texplicit\n\t\t\t\t "),c("div",{class:b(["left-label-wrap",{"total-left-label-wrap":t.isChangeWindow}])},[u(d(I),{"offset-target":et,type:"block",onClick:Z,onChange:tt},{default:p((()=>[(n(!0),s(f,null,h(_.labelConfig,((t,e)=>(n(),y(d(S),{href:`#${t.curKey}`,title:String(e)},null,8,["href","title"])))),256))])),_:1})],2),o(' v-if="!explicit" '),c("div",{class:b(["right-label-wrap",{"total-right-label-wrap":t.isChangeWindow}])},[(n(!0),s(f,null,h(_.labelConfig,((e,l)=>(n(),s("div",{key:l,class:"edit-label-content"},[c("div",{class:"edit-label",id:e.curKey},[v(m(l)+" ",1),c("span",T,"("+m(2==e.multipleChoice?"单":"多")+"选)",1)],8,k),u(E,{classifyItem:e,handleLabelChange:U,handleLabelColor:d(w),handleDelLabel:X,hanldeBlur:H,handleAddLabel:G,clearaddVal:M,isEdit:t.isEdit,sourceType:t.sourceType},null,8,["classifyItem","handleLabelColor","isEdit","sourceType"])])))),128))],2)])],512),[[g,!d(W)]])],512))}});export{B as default};
|
|
@@ -95,12 +95,6 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
95
95
|
};
|
|
96
96
|
readonly 'onUpdate:value': PropType<import("naive-ui/es/_utils").MaybeArray<(value: (string | number)[], meta: {
|
|
97
97
|
actionType: "check" | "uncheck";
|
|
98
|
-
/**
|
|
99
|
-
* 取消勾选树节点
|
|
100
|
-
* baseKeys:基准值
|
|
101
|
-
* currentTree:当前树节点
|
|
102
|
-
* value:树节点的key值
|
|
103
|
-
*/
|
|
104
98
|
value: string | number;
|
|
105
99
|
}) => void>>;
|
|
106
100
|
readonly onUpdateValue: PropType<import("naive-ui/es/_utils").MaybeArray<(value: (string | number)[], meta: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{defineComponent as e,computed as t,toRefs as l,ref as n,watch as o,openBlock as s,createElementBlock as i,normalizeStyle as r,unref as a,normalizeClass as p,createElementVNode as d,Fragment as u,renderList as c,createCommentVNode as m,withDirectives as f,renderSlot as
|
|
1
|
+
import{defineComponent as e,computed as t,toRefs as l,ref as n,watch as o,openBlock as s,createElementBlock as i,normalizeStyle as r,unref as a,normalizeClass as p,createElementVNode as d,Fragment as u,renderList as c,createCommentVNode as m,withDirectives as f,renderSlot as h,toDisplayString as v,vShow as I,createBlock as g,withCtx as x,createVNode as y}from"vue";import{NTooltip as w,NEmpty as B}from"naive-ui";import{useTheme as S}from"../../../shared/hooks/useTheme.js";import"@vueuse/core";import"date-fns";import"lodash-es";import{defaultCssVars as T}from"./constants/index.js";const M={class:"stepBox"},b=["title"],k=["onMouseenter","onMouseleave"],_=["onMouseenter","onMouseleave"],C=["title"],R=["title"],N=["title"],$={key:0,style:{height:"48px"}},L={key:1},V={key:1};var j=e({__name:"StepsWheel",props:{stepInfo:{type:Object,default:()=>({list:[],cols:6})},currentStep:{type:Number,default:1},toolTipShow:{type:Boolean,default:!0},lastNodeRender:{type:Boolean,default:!1},nextNodeRender:{type:Boolean,default:!1},noDataMsg:{type:String,default:"暂无节点数据"},placement:{type:String,default:"center"}},setup(e){const j=e,D=S(T,"StepsWheel"),O=t((()=>Math.ceil(q.value.length/j.stepInfo.cols))),A=t((()=>j.lastNodeRender)),{noDataMsg:E,nextNodeRender:P}=l(j),W=n(null),F=t((()=>{var e;let t=72;if(null==(e=null==W?void 0:W.value)?void 0:e.length){let e=W.value[0],l=window.getComputedStyle?window.getComputedStyle(e):e.currentStyle;t=isNaN(parseInt(l["min-width"]))?72:parseInt(l["min-width"])}return`${20+j.stepInfo.cols*t}px`})),q=n([]),z=n([]),G=e=>{e.tipVisible=!0},H=e=>{e.tipVisible=!1},J=e=>{if(z.value.length){if(e.rowIndex===z.value.length)return!0;if(e.rowIndex<z.value.length)return z.value[e.rowIndex].some((e=>null==e?void 0:e.title))}return!1},K=e=>{const{list:t=[]}=j.stepInfo;return e.rowIndex%2==0&&"frist"==e.nodeType&&e.nodeIndex!==t.length},Q=e=>{const{list:t=[]}=j.stepInfo;return e.rowIndex%2!=0&&"last"==e.nodeType&&e.nodeIndex!==t.length},U=(e,t)=>P.value?e.rowIndex%2==0?j.currentStep>=t+(j.stepInfo.cols-2*e.sort)-1:j.currentStep>=t+1:e.rowIndex%2==0?j.currentStep>=t+(j.stepInfo.cols-2*e.sort):j.currentStep>=t+2,X=(e,t)=>{let l=e.length,n=l%t==0?l/t:Math.floor(l/t+1),o=[];for(let l=0;l<n;l++){let n=e.slice(l*t,l*t+t);o.push(n)}return o},Y=e=>{const{cols:t}=j.stepInfo;let l=X(q.value,t),n=l[l.length-1].filter((e=>e));return O.value%2==0?e!=n[n.length-1].nodeIndex-(t-2*n[n.length-1].sort):e!=n[n.length-1].nodeIndex-1},Z=e=>{const{cols:t}=j.stepInfo;let l=X(q.value,t),n=l[l.length-1].filter((e=>e));return O.value%2==0?A.value&&e==n[0].nodeIndex-(t-2*n[0].sort):A.value&&e==n[n.length-1].nodeIndex-1},ee=(e,t)=>{const{cols:l}=j.stepInfo;let n=X(q.value,l),o=n[n.length-1].filter((e=>e));return O.value%2==0?"circle"===t?A.value&&e==o[0].nodeIndex-(l-2*o[0].sort)-l:A.value&&e==o[0].nodeIndex-(l-2*o[0].sort):"circle"===t?A.value&&e==o[o.length-1].nodeIndex-1-l:A.value&&e==o[o.length-1].nodeIndex-2};return o((()=>j.stepInfo),(e=>{var t;(null==(t=null==e?void 0:e.list)?void 0:t.length)&&((e,t)=>{let l=e.length+1,n=Math.ceil(e.length/t),o=!0,s=[];for(var i=0;i<n;i++)s[i]=new Array(t),s[i].fill(null);let r=0,a=0;for(let n=1;n<l;n++)s[r][a]=Object.assign(e[n-1],{nodeIndex:n,rowIndex:r+1}),o?n%t!=0?a++:(o=!o,r++):n%t!=0?a--:(o=!o,r++);let p=[];s.map((e=>{e.map(((e,t)=>{e&&(e.sort=t,!e.hasOwnProperty("tipVisible")&&(e.tipVisible=!1))})),e[0]&&(e[0].nodeType="frist"),e[e.length-1]&&(e[e.length-1].nodeType="last"),p=[...p,...e]})),q.value=p,z.value=s})(e.list,e.cols)}),{immediate:!0,deep:!0}),(t,l)=>(s(),i("div",{class:"step-wheel-box",style:r({minWidth:a(F),...a(D)})},[q.value.length?(s(),i("div",{key:0,class:p(["stepOut",{placementLeft:"left"===e.placement,placementRight:"right"===e.placement}])},[d("ul",M,[(s(!0),i(u,null,c(q.value,((l,n)=>(s(),i("li",{ref_for:!0,ref_key:"stepItemRef",ref:W,key:(null==l?void 0:l.stepId)||n,class:p(["stepItem",{[`stepItem_${n+1}`]:!0,[`${null==l?void 0:l.stepId}`]:!!(null==l?void 0:l.stepId)}])},[l?(s(),i(u,{key:0},[m(" 步骤头部信息 "),f(d("div",{class:p(["stepTopBox",{activeTitle:e.currentStep>=l.nodeIndex,finished:Z(n),stepTopBox_right:"right"===e.placement,stepTopBox_left:"left"===e.placement}])},[h(t.$slots,"stepTopBox",{stepItem:l},(()=>[d("span",{title:l.title},v(l.title),9,b)]))],2),[[I,l.title]]),m(" 步骤条的节点,此处为圆圈 "),e.toolTipShow&&l.tipShow?(s(),g(a(w),{key:0,placement:"top",delay:0,"show-arrow":!0,show:l.tipVisible,trigger:"manual",style:r({opacity:"0.88"}),onMouseenter:e=>G(l),onMouseleave:e=>H(l)},{trigger:x((()=>[d("div",{class:p(["icon",{active:e.currentStep>=l.nodeIndex,finished:Z(n)}]),onMouseenter:e=>G(l),onMouseleave:e=>H(l)},null,42,k)])),default:x((()=>[h(t.$slots,"nodeTipBox",{stepItem:l,stepId:l.stepId})])),_:2},1032,["show","style","onMouseenter","onMouseleave"])):(s(),i("div",{key:1,class:p(["icon",{active:e.currentStep>=l.nodeIndex,finished:Z(n)}])},null,2)),m(" 步骤条连接线,动态显示 "),"last"!==l.nodeType?f((s(),i("div",{key:2,class:p(["line",{lineActive:U(l,n),finished:ee(n)}])},null,2)),[[I,Y(n)]]):m("v-if",!0),m(" 步骤条弯曲连线,动态渲染 "),K(l)||Q(l)?(s(),i("div",{key:3,class:p({lineCircleActive:a(P)?e.currentStep>=l.nodeIndex:e.currentStep>l.nodeIndex,lineCircleFinished:ee(n,"circle"),lineCircleRight:Q(l),lineCircleLeft:K(l),lineCirclePlacementRight:Q(l)&&"right"===e.placement,lineCirclePlacementLeft:K(l)&&"left"===e.placement})},null,2)):m("v-if",!0),m(" 步骤底部信息 "),d("div",{class:p(["stepBottomBox",{stepBottomBox_right:"right"===e.placement,stepBottomBox_left:"left"===e.placement}]),onMouseenter:e=>G(l),onMouseleave:e=>H(l)},[h(t.$slots,"stepBottomBox",{stepItem:l},(()=>[m(" 步骤名称 "),f(d("p",{class:p(["stepLabel",{labelFinsh:Z(n),stepLabel_right:"right"===e.placement,stepLabel_left:"left"===e.placement}]),title:l.label},v(l.label),11,C),[[I,l.label]]),d("div",{class:p({stepBottomCustomBox:!0,alignItemsEnd:"left"===e.placement,alignItemsStart:"right"===e.placement})},[h(t.$slots,"stepBottomCustomBox",{stepItem:l},(()=>[d("div",{class:p({stepBottomDefaultBox:!0,alignItemsEnd:"left"===e.placement,alignItemsStart:"right"===e.placement}),style:{width:"100%",display:"flex",flexDirection:"column"}},[f(d("p",{class:"stepExtra",title:l.person},v(l.person),9,R),[[I,l.person]]),m(" 步骤时间 "),f(d("p",{class:"statusTime",title:l.statusTime},v(l.statusTime),9,N),[[I,l.statusTime]])],2)]))],2)])),J(l)?(s(),i("div",$)):m("v-if",!0)],42,_)],64)):(s(),i("div",L,[m("null元素占位")]))],2)))),128))])],2)):(s(),i("div",V,[y(a(B),{description:a(E)},null,8,["description"])]))],4))}});export{j as default};
|