@qxs-bns/components 0.0.34 → 0.0.36
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/es/package.json.mjs +1 -1
- package/es/src/subject-action/src/subject-action.vue.mjs +1 -1
- package/es/src/subject-action/src/subject-action.vue.mjs.map +1 -1
- package/es/src/subject-list/src/subject-list.vue.mjs +1 -1
- package/es/src/subject-list/src/subject-list.vue.mjs.map +1 -1
- package/lib/package.json.cjs +1 -1
- package/lib/src/subject-action/src/subject-action.vue.cjs +1 -1
- package/lib/src/subject-action/src/subject-action.vue.cjs.map +1 -1
- package/lib/src/subject-list/src/subject-list.vue.cjs +1 -1
- package/lib/src/subject-list/src/subject-list.vue.cjs.map +1 -1
- package/package.json +1 -1
- package/types/src/subject-action/index.d.ts +12 -16
- package/types/src/subject-action/index.d.ts.map +1 -1
- package/types/src/subject-action/src/subject-action.vue.d.ts +12 -16
- package/types/src/subject-action/src/subject-action.vue.d.ts.map +1 -1
- package/types/src/subject-list/index.d.ts +1 -1
- package/types/src/subject-list/src/subject-list.vue.d.ts +1 -1
- package/types/src/subject-list/src/subject-list.vue.d.ts.map +1 -1
package/es/package.json.mjs
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
var r="0.0.
|
1
|
+
var r="0.0.36";export{r as version};
|
2
2
|
//# sourceMappingURL=package.json.mjs.map
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import{ElPopover as e,ElLink as l,ElCheckbox as a,ElButton as t,ElIcon as n,ElDialog as o,ElRadioGroup as
|
1
|
+
import{ElPopover as e,ElLink as l,ElCheckbox as a,ElButton as t,ElIcon as n,ElDialog as o,ElRadioGroup as u,ElRadio as i}from"element-plus/es";import{defineComponent as s,ref as d,computed as c,createElementBlock as r,openBlock as m,normalizeClass as f,unref as p,createElementVNode as v,createCommentVNode as y,createVNode as b,createBlock as k,withCtx as _,createTextVNode as g,isRef as h,Fragment as w,renderList as x,toDisplayString as C}from"vue";import{Edit as V,Delete as j,Top as E,Bottom as O}from"@element-plus/icons-vue";import{useNamespace as B}from"@qxs-bns/hooks";import S from"../../subject-type/src/subject-type.vue.mjs";const T={key:0,class:"flex-justify-between"},U={key:0,class:"has-set"},z={key:1,class:"flex flex-justify-end action-buttons"};var A=s({name:"QxsSubjectAction",__name:"subject-action",props:{isEdit:Boolean,isSet:{type:Boolean,default:!1},isKey:{type:Boolean,default:!1},answerCheckType:{type:Number,default:1},showOtherOption:{type:Boolean,default:!0},examAnswerRelationType:{type:Number,default:null},pageEnd:{type:Boolean,default:!1}},emits:["move-up","move-down","delete","save","edit","add","on-show-rich-text","set-key","set-answer-setting"],setup(s,{emit:A}){const K=s,N=d(K.isKey),R=d(!1),q=A,Q=d(K.answerCheckType),D=B("subject-action"),F=[{value:2,label:"必须全部都是支持选项,方可下一步"},{value:1,label:"无需判断是否是支持选项"},{value:3,label:"包含全部支持选项,即可下一步"}],G=c((()=>F.find((e=>e.value===Q.value))?.label));function H(){R.value=!1,q("set-answer-setting",Q.value)}function I(){q("set-key",N.value)}function J(e,l){q("add",e,l?K.examAnswerRelationType:null)}return(d,c)=>{const B=l,A=e,K=a,L=n,M=t,P=i,W=u,X=o;return m(),r("div",{class:f(p(D).e("action-exam"))},[v("div",{class:f(["action flex flex-justify-between",[{active:s.isEdit}]])},[s.isEdit?(m(),r("div",T,[b(A,{trigger:"click"},{reference:_((()=>[b(B,{type:"primary",class:"btn-margin"},{default:_((()=>c[14]||(c[14]=[g(" +在此题后加入新题 ")]))),_:1})])),default:_((()=>[b(S,{onSelect:J})])),_:1}),s.showOtherOption?(m(),k(B,{key:0,type:"primary",onClick:c[0]||(c[0]=e=>q("on-show-rich-text")),class:"btn-margin"},{default:_((()=>c[15]||(c[15]=[g(" +添加题目描述(图文) ")]))),_:1})):y("v-if",!0),s.showOtherOption?(m(),k(B,{key:1,type:"primary",onClick:c[1]||(c[1]=e=>R.value=!0),class:"btn-margin"},{default:_((()=>c[16]||(c[16]=[g(" 答题设置 ")]))),_:1})):y("v-if",!0),s.showOtherOption?(m(),k(K,{key:2,modelValue:p(N),"onUpdate:modelValue":c[2]||(c[2]=e=>h(N)?N.value=e:null),label:"核心题",onChange:I},null,8,["modelValue"])):y("v-if",!0)])):y("v-if",!0),v("div",null,[s.isSet?(m(),r("div",U," *此题设置了跳题逻辑 ")):(m(),r("div",z,[s.isEdit?(m(),r(w,{key:1},[b(M,{class:"btn-margin",onClick:c[8]||(c[8]=e=>q("delete"))},{default:_((()=>c[21]||(c[21]=[g(" 删除 ")]))),_:1}),b(M,{type:"primary",onClick:c[9]||(c[9]=e=>q("save"))},{default:_((()=>c[22]||(c[22]=[g(" 完成编辑 ")]))),_:1})],64)):(m(),r(w,{key:0},[s.pageEnd?y("v-if",!0):(m(),k(K,{key:0,modelValue:p(N),"onUpdate:modelValue":c[3]||(c[3]=e=>h(N)?N.value=e:null),label:"核心题",disabled:""},null,8,["modelValue"])),s.pageEnd?y("v-if",!0):(m(),k(K,{key:1,"v-model":!0,label:p(G),disabled:"",class:"checkbox-margin"},null,8,["label"])),s.pageEnd?y("v-if",!0):(m(),k(M,{key:2,class:"btn-margin",onClick:c[4]||(c[4]=e=>q("edit"))},{icon:_((()=>[b(L,null,{default:_((()=>[b(p(V))])),_:1})])),default:_((()=>[c[17]||(c[17]=g(" 编辑 "))])),_:1})),b(M,{class:"btn-margin",onClick:c[5]||(c[5]=e=>q("delete"))},{icon:_((()=>[b(L,null,{default:_((()=>[b(p(j))])),_:1})])),default:_((()=>[c[18]||(c[18]=g(" 删除 "))])),_:1}),b(M,{class:"btn-margin",onClick:c[6]||(c[6]=e=>q("move-up"))},{icon:_((()=>[b(L,null,{default:_((()=>[b(p(E))])),_:1})])),default:_((()=>[c[19]||(c[19]=g(" 上移 "))])),_:1}),b(M,{class:"btn-margin",onClick:c[7]||(c[7]=e=>q("move-down"))},{icon:_((()=>[b(L,null,{default:_((()=>[b(p(O))])),_:1})])),default:_((()=>[c[20]||(c[20]=g(" 下移 "))])),_:1})],64))]))]),b(X,{modelValue:p(R),"onUpdate:modelValue":c[12]||(c[12]=e=>h(R)?R.value=e:null),title:"答题设置",class:"customize-dialog",onClose:c[13]||(c[13]=e=>R.value=!1)},{footer:_((()=>[b(M,{class:"customize-button",type:"primary",plain:"",onClick:c[11]||(c[11]=e=>R.value=!1)},{default:_((()=>c[23]||(c[23]=[g(" 取消 ")]))),_:1}),b(M,{class:"customize-button",type:"primary",plain:"",onClick:H},{default:_((()=>c[24]||(c[24]=[g(" 保存 ")]))),_:1})])),default:_((()=>[b(W,{modelValue:p(Q),"onUpdate:modelValue":c[10]||(c[10]=e=>h(Q)?Q.value=e:null),class:"vertical-radio-group"},{default:_((()=>[(m(),r(w,null,x(F,(e=>b(P,{key:e.value,value:e.value},{default:_((()=>[g(C(e.label),1)])),_:2},1032,["value"]))),64))])),_:1},8,["modelValue"])])),_:1},8,["modelValue"])],2)],2)}}});export{A as default};
|
2
2
|
//# sourceMappingURL=subject-action.vue.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"subject-action.vue.mjs","sources":["../../../../../../packages/components/src/subject-action/src/subject-action.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { Bottom, Delete, Edit, Top } from '@element-plus/icons-vue'\nimport { useNamespace } from '@qxs-bns/hooks'\nimport SubjectType from '../../subject-type/src/subject-type.vue'\n\ndefineOptions({\n name: 'QxsSubjectAction',\n})\nconst props = defineProps({\n isEdit:
|
1
|
+
{"version":3,"file":"subject-action.vue.mjs","sources":["../../../../../../packages/components/src/subject-action/src/subject-action.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { Bottom, Delete, Edit, Top } from '@element-plus/icons-vue'\nimport { useNamespace } from '@qxs-bns/hooks'\nimport SubjectType from '../../subject-type/src/subject-type.vue'\n\ndefineOptions({\n name: 'QxsSubjectAction',\n})\n\nconst props = defineProps({\n isEdit: Boolean,\n isSet: {\n type: Boolean,\n default: false,\n },\n isKey: {\n type: Boolean,\n default: false,\n },\n answerCheckType: {\n type: Number,\n default: 1,\n },\n showOtherOption: {\n type: Boolean,\n default: true,\n },\n examAnswerRelationType: {\n type: Number,\n default: null,\n },\n pageEnd: {\n type: Boolean,\n default: false,\n },\n})\n\nconst isKey = ref(props.isKey)\nconst showAnswerSetting = ref(false)\nconst emits = defineEmits([\n 'move-up',\n 'move-down',\n 'delete',\n 'save',\n 'edit',\n 'add',\n 'on-show-rich-text',\n 'set-key',\n 'set-answer-setting',\n])\nconst answerType = ref(props.answerCheckType)\nconst ns = useNamespace('subject-action')\n\nconst answerTextList = [\n {\n value: 2,\n label: '必须全部都是支持选项,方可下一步',\n },\n {\n value: 1,\n label: '无需判断是否是支持选项',\n },\n {\n value: 3,\n label: '包含全部支持选项,即可下一步',\n },\n]\n\nconst answerText = computed(() => {\n return answerTextList.find((item) => item.value === answerType.value)?.label\n})\n\nfunction onSaveSetting() {\n showAnswerSetting.value = false\n emits('set-answer-setting', answerType.value)\n}\n\nfunction setKey() {\n emits('set-key', isKey.value)\n}\n\nfunction selectExam(type: string, canSet: boolean) {\n emits('add', type, canSet ? props.examAnswerRelationType : null)\n}\n</script>\n\n<template>\n <div :class=\"ns.e('action-exam')\">\n <div class=\"action flex flex-justify-between\" :class=\"[{ active: isEdit }]\">\n <div v-if=\"isEdit\" class=\"flex-justify-between\">\n <el-popover trigger=\"click\">\n <template #reference>\n <el-link type=\"primary\" class=\"btn-margin\">\n +在此题后加入新题\n </el-link>\n </template>\n <SubjectType @select=\"selectExam\" />\n </el-popover>\n <el-link\n type=\"primary\"\n @click=\"emits('on-show-rich-text')\"\n v-if=\"showOtherOption\"\n class=\"btn-margin\"\n >\n +添加题目描述(图文)\n </el-link>\n <el-link\n type=\"primary\"\n @click=\"showAnswerSetting = true\"\n v-if=\"showOtherOption\"\n class=\"btn-margin\"\n >\n 答题设置\n </el-link>\n <el-checkbox\n v-model=\"isKey\"\n label=\"核心题\"\n @change=\"setKey\"\n v-if=\"showOtherOption\"\n />\n </div>\n <div>\n <div v-if=\"isSet\" class=\"has-set\">\n *此题设置了跳题逻辑\n </div>\n <div v-else class=\"flex flex-justify-end action-buttons\">\n <template v-if=\"!isEdit\">\n <el-checkbox\n v-model=\"isKey\"\n label=\"核心题\"\n disabled\n v-if=\"!pageEnd\"\n />\n <el-checkbox\n :v-model=\"true\"\n :label=\"answerText\"\n disabled\n v-if=\"!pageEnd\"\n class=\"checkbox-margin\"\n />\n <el-button class=\"btn-margin\" @click=\"emits('edit')\" v-if=\"!pageEnd\">\n <template #icon>\n <el-icon>\n <Edit />\n </el-icon>\n </template>\n 编辑\n </el-button>\n <el-button class=\"btn-margin\" @click=\"emits('delete')\">\n <template #icon>\n <el-icon>\n <Delete />\n </el-icon>\n </template>\n 删除\n </el-button>\n <el-button class=\"btn-margin\" @click=\"emits('move-up')\">\n <template #icon>\n <el-icon>\n <Top />\n </el-icon>\n </template>\n 上移\n </el-button>\n <el-button class=\"btn-margin\" @click=\"emits('move-down')\">\n <template #icon>\n <el-icon>\n <Bottom />\n </el-icon>\n </template>\n 下移\n </el-button>\n </template>\n <template v-else>\n <el-button class=\"btn-margin\" @click=\"emits('delete')\">\n 删除\n </el-button>\n <el-button type=\"primary\" @click=\"emits('save')\">\n 完成编辑\n </el-button>\n </template>\n </div>\n </div>\n <el-dialog\n v-model=\"showAnswerSetting\"\n title=\"答题设置\"\n class=\"customize-dialog\"\n @close=\"showAnswerSetting = false\"\n >\n <el-radio-group\n v-model=\"answerType\"\n class=\"vertical-radio-group\"\n >\n <el-radio\n v-for=\"item in answerTextList\"\n :key=\"item.value\"\n :value=\"item.value\"\n >\n {{ item.label }}\n </el-radio>\n </el-radio-group>\n <template #footer>\n <el-button\n class=\"customize-button\"\n type=\"primary\"\n plain\n @click=\"showAnswerSetting = false\"\n >\n 取消\n </el-button>\n <el-button\n class=\"customize-button\"\n type=\"primary\"\n plain\n @click=\"onSaveSetting\"\n >\n 保存\n </el-button>\n </template>\n </el-dialog>\n </div>\n </div>\n</template>"],"names":["props","__props","isKey","ref","showAnswerSetting","emits","__emit","answerType","answerCheckType","ns","useNamespace","answerTextList","value","label","answerText","computed","find","item","onSaveSetting","setKey","selectExam","type","canSet","examAnswerRelationType"],"mappings":"irCASA,MAAMA,EAAQC,EA4BRC,EAAQC,EAAIH,EAAME,OAClBE,EAAoBD,GAAI,GACxBE,EAAQC,EAWRC,EAAaJ,EAAIH,EAAMQ,iBACvBC,EAAKC,EAAa,kBAElBC,EAAiB,CACrB,CACEC,MAAO,EACPC,MAAO,oBAET,CACED,MAAO,EACPC,MAAO,eAET,CACED,MAAO,EACPC,MAAO,mBAILC,EAAaC,GAAS,IACnBJ,EAAeK,MAAMC,GAASA,EAAKL,QAAUL,EAAWK,SAAQC,QAGzE,SAASK,IACPd,EAAkBQ,OAAQ,EACpBP,EAAA,qBAAsBE,EAAWK,MAAK,CAG9C,SAASO,IACDd,EAAA,UAAWH,EAAMU,MAAK,CAGrB,SAAAQ,EAAWC,EAAcC,GAChCjB,EAAM,MAAOgB,EAAMC,EAAStB,EAAMuB,uBAAyB,KAAI"}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import{defineComponent as e,ref as
|
1
|
+
import{defineComponent as e,ref as s,useAttrs as t,watch as n,createElementBlock as i,openBlock as a,normalizeClass as o,unref as l,createElementVNode as r,Fragment as d,renderList as c,createBlock as m,createCommentVNode as u,mergeProps as x}from"vue";import p from"./components/subject-blank-fill.vue.mjs";import w from"./components/subject-scale.vue.mjs";import v from"./components/subject-single.vue.mjs";import y from"./components/subject-text-fill.vue.mjs";import h from"./components/SubjectRichText.vue.mjs";import T from"./components/SubjectPageEnd.vue.mjs";import{useNamespace as f}from"@qxs-bns/hooks";import{setGuid as A}from"@qxs-bns/utils";import{ElMessage as R}from"element-plus/es";const E={class:"subject-list-wrapper"};var S=e({name:"QxsSubjectList",__name:"subject-list",props:{subjectList:{type:Array,required:!0},isPreview:{type:Boolean,required:!0}},emits:["setRelation"],setup(e,{expose:S,emit:C}){const g=e,D=s([]),j=C,b=t();function I(e){return D.value.filter((e=>"page_end"===e.answerType)).findIndex((s=>s.customId===e))+1}function _(){D.value.push({customId:A(),answerType:"page_end",analysis:"",scaleQuestionList:[],isSave:!1,isEdit:!0,isRealCanDel:!0,hasSet:!1,examAnswerRelationType:0})}function k(e,s=null,t=null){const n={customId:A(),answerType:e,analysis:"",scaleQuestionList:[],isSave:!1,isEdit:!0,isRealCanDel:!0,hasSet:!1,examAnswerRelationType:t};null!==s?D.value.splice(s+1,0,n):D.value.push(n)}function M(e,s){if("up"===s&&e>0){const[s]=D.value.splice(e,1);D.value.splice(e-1,0,s)}else if("down"===s&&e<D.value.length-1){const[s]=D.value.splice(e,1);D.value.splice(e+1,0,s)}}function L(e,s){D.value[e]={...D.value[e],...s,isEdit:!1,examAnswerRelationType:s.examAnswerRelationType}}function P(e){D.value.splice(e,1),R.success("删除成功")}function q(e,s){j("setRelation",e,s)}S({addSubject:k,currentList:D,uploadExcel:function(e){D.value=D.value.concat(e)},addExam:function(e){const s=e.answers?.map((e=>({...e,title:e.answer,answerId:e.examAnswerId,isCorrect:e.isCorrect})))||[];D.value.push({...e,customId:A(),answerType:e.richTextContent?"rich_text":e.examTypeEnum,answers:s,isSave:!1,isEdit:!0,isRealCanDel:!0,hasSet:!1}),e.pageIndex-I(e.customId)==1&&_();I(e.customId)>1&&_()},setAnswerRelation:function(e,s,t){if(e.length){const n=D.value.find((e=>e.customId===s));if(n){const s=n.answers?.find((e=>e.customAnswerId===t));s&&(s.answerRelations=e)}}}}),n((()=>g.subjectList),(e=>{e&&(D.value=[...e])}),{immediate:!0});const Q=f("subject-list");return(e,s)=>(a(),i("div",{class:o(l(Q).e("list-exam"))},[r("div",E,[(a(!0),i(d,null,c(l(D),((s,t)=>(a(),i("div",{key:s.customId,class:"subject-item"},[["single","multiple","sort"].includes(s.answerType)?(a(),m(v,x({key:0,ref_for:!0},l(b),{"order-index":t,title:s.title,type:s.answerType,"exam-id":s.examId,isKey:s.isKey,"is-save":!s.isRealCanDel,customId:s.customId,"is-set":s.hasSet||!1,"answer-list":s.answers,analysis:s.analysis,"least-answer-count":s.leastAnswerCount,"is-edit":s.isEdit||!1,"show-action":!e.isPreview,"exam-expand":s.examExpand,answerCheckType:s.answerCheckType,"exam-rich-text-content":s.examRichTextContent,examAnswerRelationType:s.examAnswerRelationType,onSetRelation:q,onMove:e=>M(t,e),onDelete:e=>P(t),onSave:e=>L(t,e),onEdit:e=>s.isEdit=!0,onAdd:(e,s)=>k(e,t,s)}),null,16,["order-index","title","type","exam-id","isKey","is-save","customId","is-set","answer-list","analysis","least-answer-count","is-edit","show-action","exam-expand","answerCheckType","exam-rich-text-content","examAnswerRelationType","onMove","onDelete","onSave","onEdit","onAdd"])):"scale"===s.answerType?(a(),m(w,x({key:1,ref_for:!0},l(b),{"order-index":t,title:s.title,"is-save":!s.isRealCanDel,"is-set":s.hasSet||!1,"answer-list":s.answers,analysis:s.analysis,"is-edit":s.isEdit||!1,"scale-question-list":s.scaleQuestionList,"show-action":!e.isPreview,"exam-rich-text-content":s.examRichTextContent,examAnswerRelationType:s.examAnswerRelationType,onMove:e=>M(t,e),onDelete:e=>P(t),onSave:e=>L(t,e),onEdit:e=>s.isEdit=!0,onAdd:e=>k(e,t,null)}),null,16,["order-index","title","is-save","is-set","answer-list","analysis","is-edit","scale-question-list","show-action","exam-rich-text-content","examAnswerRelationType","onMove","onDelete","onSave","onEdit","onAdd"])):"blank_fill"===s.answerType?(a(),m(p,x({key:2,ref_for:!0},l(b),{"order-index":t,title:s.title,"is-save":!s.isRealCanDel,"is-set":s.hasSet||!1,"answer-list":s.answers,analysis:s.analysis,"show-action":!e.isPreview,"is-edit":s.isEdit||!1,"exam-answer-setting-v-o":s.examAnswerSettingVO||{},"exam-rich-text-content":s.examRichTextContent,examAnswerRelationType:s.examAnswerRelationType,onMove:e=>M(t,e),onDelete:e=>P(t),onSave:e=>L(t,e),onEdit:e=>s.isEdit=!0,onAdd:e=>k(e,t,null)}),null,16,["order-index","title","is-save","is-set","answer-list","analysis","show-action","is-edit","exam-answer-setting-v-o","exam-rich-text-content","examAnswerRelationType","onMove","onDelete","onSave","onEdit","onAdd"])):"text_fill"===s.answerType?(a(),m(y,x({key:3,ref_for:!0},l(b),{"order-index":t,title:s.title,"is-save":!s.isRealCanDel,"is-set":s.hasSet||!1,"answer-list":s.answers,analysis:s.analysis,"show-action":!e.isPreview,"is-edit":s.isEdit||!1,"exam-expand":s.examExpand,"exam-answer-setting-v-o":s.examAnswerSettingVO||{},examAnswerRelationType:s.examAnswerRelationType,"exam-rich-text-content":s.examRichTextContent,onMove:e=>M(t,e),onDelete:e=>P(t),onSave:e=>L(t,e),onEdit:e=>s.isEdit=!0,onAdd:e=>k(e,t,null)}),null,16,["order-index","title","is-save","is-set","answer-list","analysis","show-action","is-edit","exam-expand","exam-answer-setting-v-o","examAnswerRelationType","exam-rich-text-content","onMove","onDelete","onSave","onEdit","onAdd"])):"rich_text"===s.answerType?(a(),m(h,x({key:4,ref_for:!0},l(b),{"order-index":t,richTextContent:s.richTextContent,"is-set":s.hasSet||!1,"is-save":!s.isRealCanDel,"is-edit":s.isEdit||!1,"show-action":!e.isPreview,onMove:e=>M(t,e),onDelete:e=>P(t),examAnswerRelationType:s.examAnswerRelationType,onSave:e=>L(t,e),onEdit:e=>s.isEdit=!0,onAdd:e=>k(e,t,null)}),null,16,["order-index","richTextContent","is-set","is-save","is-edit","show-action","onMove","onDelete","examAnswerRelationType","onSave","onEdit","onAdd"])):"page_end"===s.answerType?(a(),m(T,{"total-page":D.value.filter((e=>"page_end"===e.answerType)).length,key:t,"current-page-index":I(s.customId),item:s,"order-index":t,"is-edit":s.isEdit||!1,"is-set":s.hasSet||!1,"is-save":!s.isRealCanDel,examAnswerRelationType:s.examAnswerRelationType,onMove:e=>M(t,e),onDelete:e=>P(t),onSave:e=>L(t,e),onEdit:e=>s.isEdit=!0,onAdd:e=>k(e,t,null)},null,8,["total-page","current-page-index","item","order-index","is-edit","is-set","is-save","examAnswerRelationType","onMove","onDelete","onSave","onEdit","onAdd"])):u("v-if",!0)])))),128))])],2))}});export{S as default};
|
2
2
|
//# sourceMappingURL=subject-list.vue.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"subject-list.vue.mjs","sources":["../../../../../../packages/components/src/subject-list/src/subject-list.vue"],"sourcesContent":["<script setup lang=\"ts\">\n// import isEqual from 'lodash/isEqual'\nimport SubjectBlankFill from './components/subject-blank-fill.vue'\nimport SubjectScale from './components/subject-scale.vue'\nimport SubjectSingle from './components/subject-single.vue'\nimport SubjectTextFill from './components/subject-text-fill.vue'\nimport SubjectRichText from './components/SubjectRichText.vue'\nimport SubjectPageEnd from './components/SubjectPageEnd.vue'\nimport { useNamespace } from '@qxs-bns/hooks'\nimport { setGuid } from '@qxs-bns/utils'\n\ndefineOptions({\n name: 'QxsSubjectList',\n})\n\nconst props = defineProps<{\n subjectList: any[]\n isPreview: boolean\n}>()\nconst currentList = ref([] as any)\nconst emits = defineEmits(['setRelation'])\n\nconst attrs = useAttrs()\n\ndefineExpose({\n addSubject,\n currentList,\n uploadExcel,\n addExam,\n setAnswerRelation,\n})\n\nfunction totalPageIndex() {\n let totalPageIndex = 0\n let isLastPageIndex = false\n currentList.value.map((v: any, i: number, arr: any) => {\n if (v.answerType === 'page_end') {\n totalPageIndex++\n isLastPageIndex = i === arr.length - 1\n }\n })\n // 假设最后是一个分页器认为是最后一页\n return isLastPageIndex ? totalPageIndex : totalPageIndex + 1\n}\n\nfunction currentPageIndex() {\n return (currentId: any) => {\n const currentPageList = currentList.value.filter(\n (v: any) => v.answerType === 'page_end'\n )\n let currentIndex = 0\n currentPageList?.forEach((c: any, i: number) => {\n if (currentId === c.id) {\n currentIndex = i + 1\n }\n })\n return currentIndex\n }\n}\n\nfunction addSubject(type: string, index: number, examAnswerRelationType: number | null) {\n console.log(index, 'index')\n if (index || index === 0) {\n currentList.value.splice(index + 1, 0, {\n customId: setGuid(),\n answerType: type,\n analysis: '',\n scaleQuestionList: [],\n isSave: false,\n isEdit: true,\n isRealCanDel: true,\n hasSet: false,\n examAnswerRelationType: examAnswerRelationType,\n })\n }\n else {\n currentList.value.push({\n customId: setGuid(),\n answerType: type,\n analysis: '',\n scaleQuestionList: [],\n isSave: false,\n isEdit: true,\n isRealCanDel: true,\n hasSet: false,\n examAnswerRelationType: examAnswerRelationType,\n })\n }\n}\n\nfunction addExam(item: any) {\n const answerList: any[] = []\n item.answers?.map((v: any) => {\n answerList.push({\n ...v,\n title: v.answer,\n answerId: v.examAnswerId,\n isCorrect: v.isCorrect,\n })\n })\n currentList.value.push({\n ...item,\n customId: setGuid(),\n answerType: item.richTextContent ? 'rich_text' : item.examTypeEnum,\n answers: answerList,\n isSave: false,\n isEdit: true,\n isRealCanDel: true,\n hasSet: false,\n })\n}\nfunction uploadExcel(list: any[]) {\n currentList.value = currentList.value.concat(list)\n}\n\nfunction move(index: number, type: 'up' | 'down') {\n if (type === 'up' && index > 0) {\n const [item] = currentList.value.splice(index, 1)\n currentList.value.splice(index - 1, 0, item)\n }\n else if (type === 'down' && index < currentList.value.length - 1) {\n const [item] = currentList.value.splice(index, 1)\n currentList.value.splice(index + 1, 0, item)\n }\n}\n\nfunction saveSubject(index: number, item: any) {\n for (let idx = 0; idx < currentList.value.length; idx++) {\n if (index === idx) {\n currentList.value[index] =\n {\n ...currentList.value[index],\n ...item,\n isEdit: false,\n examAnswerRelationType: item.examAnswerRelationType,\n }\n }\n }\n}\n\nfunction deleteSubject(index: number) {\n currentList.value.splice(index, 1)\n ElMessage.success('删除成功')\n}\n\nfunction setRelation(customId: number, examAnswers: any) {\n emits('setRelation', customId, examAnswers)\n}\n\nfunction setAnswerRelation(answerRelations: any, customId: string, customAnswerId: string,) {\n // 给examId设置答案关联\n if (answerRelations.length) {\n currentList.value?.map((v: any) => {\n if(v.customId === customId) {\n v.answers?.map((c: any) => {\n // 判断类型\n if(c.customAnswerId === customAnswerId) {\n c.answerRelations = answerRelations\n }\n })\n }\n })\n }\n}\n\nwatch(() => props.subjectList, (newList: any) => {\n if (newList) {\n currentList.value = [...newList]\n }\n}, { immediate: true })\n\nconst ns = useNamespace('subject-list')\n</script>\n\n<template>\n <div :class=\"ns.e('list-exam')\">\n <div class=\"subject-list-wrapper\">\n <div v-for=\"(item, index) in currentList\" :key=\"index + item.examId || item.title\">\n <template v-if=\"['single', 'multiple', 'sort'].includes(item.answerType)\">\n <SubjectSingle \n v-bind=\"attrs\" \n :order-index=\"index\" \n :title=\"item.title\" \n :type=\"item.answerType\"\n :exam-id=\"item.examId\"\n :isKey=\"item.isKey\" \n :is-save=\"!item.isRealCanDel\" \n :customId=\"item.customId\" \n :is-set=\"item.hasSet || false\"\n :answer-list=\"item.answers\" \n :analysis=\"item.analysis\" \n :least-answer-count=\"item.leastAnswerCount\"\n :is-edit=\"item.isEdit || false\" \n :show-action=\"!isPreview\" \n :exam-expand=\"item.examExpand\"\n :answerCheckType=\"item.answerCheckType\" \n :exam-rich-text-content=\"item.examRichTextContent\"\n :examAnswerRelationType=\"item.examAnswerRelationType\"\n @setRelation=\"setRelation\"\n @move=\"(type: 'up' | 'down') => move(index, type)\"\n @delete=\"deleteSubject(index)\"\n @save=\"(item: any) => saveSubject(index, item)\"\n @edit=\"item.isEdit = true\"\n @add=\"(type: string, examAnswerRelationType: number) => addSubject(type, index, examAnswerRelationType)\" />\n </template>\n <SubjectScale v-bind=\"attrs\" v-else-if=\"item.answerType === 'scale'\" :order-index=\"index\" :title=\"item.title\"\n :is-save=\"!item.isRealCanDel\" :is-set=\"item.hasSet || false\" :answer-list=\"item.answers\"\n :analysis=\"item.analysis\" :is-edit=\"item.isEdit || false\" :scale-question-list=\"item.scaleQuestionList\"\n :show-action=\"!isPreview\" :exam-rich-text-content=\"item.examRichTextContent\"\n :examAnswerRelationType=\"item.examAnswerRelationType\" @move=\"(type: 'up' | 'down') => move(index, type)\"\n @delete=\"deleteSubject(index)\" @save=\"(item: any) => saveSubject(index, item)\" @edit=\"item.isEdit = true\"\n @add=\"(type: string) => addSubject(type, index, null)\" />\n <SubjectBlankFill v-bind=\"attrs\" v-else-if=\"item.answerType === 'blank_fill'\" :order-index=\"index\"\n :title=\"item.title\" :is-save=\"!item.isRealCanDel\" :is-set=\"item.hasSet || false\" :answer-list=\"item.answers\"\n :analysis=\"item.analysis\" :show-action=\"!isPreview\" :is-edit=\"item.isEdit || false\"\n :exam-answer-setting-v-o=\"item.examAnswerSettingVO || {}\" :exam-rich-text-content=\"item.examRichTextContent\"\n :examAnswerRelationType=\"item.examAnswerRelationType\" @move=\"(type: 'up' | 'down') => move(index, type)\"\n @delete=\"deleteSubject(index)\" @save=\"(item: any) => saveSubject(index, item)\" @edit=\"item.isEdit = true\"\n @add=\"(type: string) => addSubject(type, index, null)\" />\n <SubjectTextFill v-bind=\"attrs\" v-else-if=\"item.answerType === 'text_fill'\" :order-index=\"index\"\n :title=\"item.title\" :is-save=\"!item.isRealCanDel\" :is-set=\"item.hasSet || false\" :answer-list=\"item.answers\"\n :analysis=\"item.analysis\" :show-action=\"!isPreview\" :is-edit=\"item.isEdit || false\"\n :exam-expand=\"item.examExpand\" :exam-answer-setting-v-o=\"item.examAnswerSettingVO || {}\"\n :examAnswerRelationType=\"item.examAnswerRelationType\" :exam-rich-text-content=\"item.examRichTextContent\"\n @move=\"(type: 'up' | 'down') => move(index, type)\" @delete=\"deleteSubject(index)\"\n @save=\"(item: any) => saveSubject(index, item)\" @edit=\"item.isEdit = true\"\n @add=\"(type: string) => addSubject(type, index, null)\" />\n <SubjectRichText v-bind=\"attrs\" v-else-if=\"item.answerType === 'rich_text'\" :order-index=\"index\"\n :richTextContent=\"item.richTextContent\" :is-set=\"item.hasSet || false\" :is-save=\"!item.isRealCanDel\"\n :is-edit=\"item.isEdit || false\" :show-action=\"!isPreview\" @move=\"(type: 'up' | 'down') => move(index, type)\"\n @delete=\"deleteSubject(index)\" :examAnswerRelationType=\"item.examAnswerRelationType\"\n @save=\"(item: any) => saveSubject(index, item)\" @edit=\"item.isEdit = true\"\n @add=\"(type: string) => addSubject(type, index, null)\" />\n <SubjectPageEnd v-else-if=\"item.answerType === 'page_end'\" :total-page=\"totalPageIndex()\" :key=\"index\"\n :current-page-index=\"currentPageIndex()(item.id)\" :item=\"item\" :order-index=\"index\"\n :is-edit=\"item.isEdit || false\" :is-set=\"item.hasSet || false\" :is-save=\"!item.isRealCanDel\"\n :examAnswerRelationType=\"item.examAnswerRelationType\" @move=\"(type: 'up' | 'down') => move(index, type)\"\n @delete=\"deleteSubject(index)\" @save=\"(item: any) => saveSubject(index, item)\" @edit=\"item.isEdit = true\"\n @add=\"(type: string) => addSubject(type, index, null)\" />\n </div>\n </div>\n </div>\n</template>\n"],"names":["props","__props","currentList","ref","emits","__emit","attrs","useAttrs","totalPageIndex","isLastPageIndex","value","map","v","i","arr","answerType","length","addSubject","type","index","examAnswerRelationType","console","log","splice","customId","setGuid","analysis","scaleQuestionList","isSave","isEdit","isRealCanDel","hasSet","push","move","item","saveSubject","idx","deleteSubject","ElMessage","success","setRelation","examAnswers","__expose","uploadExcel","list","concat","addExam","answerList","answers","title","answer","answerId","examAnswerId","isCorrect","richTextContent","examTypeEnum","setAnswerRelation","answerRelations","customAnswerId","c","watch","subjectList","newList","immediate","ns","useNamespace","currentId","currentPageList","filter","currentIndex","forEach","id"],"mappings":"w5BAeA,MAAMA,EAAQC,EAIRC,EAAcC,EAAI,IAClBC,EAAQC,EAERC,EAAQC,IAUd,SAASC,IACP,IAAIA,EAAiB,EACjBC,GAAkB,EAQf,OAPPP,EAAYQ,MAAMC,KAAI,CAACC,EAAQC,EAAWC,KACnB,aAAjBF,EAAEG,aACJP,IACkBC,EAAAI,IAAMC,EAAIE,OAAS,EAAA,IAIlCP,EAAkBD,EAAiBA,EAAiB,CAAA,CAkBpD,SAAAS,EAAWC,EAAcC,EAAeC,GACvCC,QAAAC,IAAIH,EAAO,SACfA,GAAmB,IAAVA,EACXjB,EAAYQ,MAAMa,OAAOJ,EAAQ,EAAG,EAAG,CACrCK,SAAUC,IACVV,WAAYG,EACZQ,SAAU,GACVC,kBAAmB,GACnBC,QAAQ,EACRC,QAAQ,EACRC,cAAc,EACdC,QAAQ,EACRX,2BAIFlB,EAAYQ,MAAMsB,KAAK,CACrBR,SAAUC,IACVV,WAAYG,EACZQ,SAAU,GACVC,kBAAmB,GACnBC,QAAQ,EACRC,QAAQ,EACRC,cAAc,EACdC,QAAQ,EACRX,0BAEJ,CA4BO,SAAAa,EAAKd,EAAeD,GACvB,GAAS,OAATA,GAAiBC,EAAQ,EAAG,CAC9B,MAAOe,GAAQhC,EAAYQ,MAAMa,OAAOJ,EAAO,GAC/CjB,EAAYQ,MAAMa,OAAOJ,EAAQ,EAAG,EAAGe,EAAI,SAE3B,SAAThB,GAAmBC,EAAQjB,EAAYQ,MAAMM,OAAS,EAAG,CAChE,MAAOkB,GAAQhC,EAAYQ,MAAMa,OAAOJ,EAAO,GAC/CjB,EAAYQ,MAAMa,OAAOJ,EAAQ,EAAG,EAAGe,EAAI,CAC7C,CAGO,SAAAC,EAAYhB,EAAee,GAClC,IAAA,IAASE,EAAM,EAAGA,EAAMlC,EAAYQ,MAAMM,OAAQoB,IAC5CjB,IAAUiB,IACAlC,EAAAQ,MAAMS,GAClB,IACKjB,EAAYQ,MAAMS,MAClBe,EACHL,QAAQ,EACRT,uBAAwBc,EAAKd,wBAGnC,CAGF,SAASiB,EAAclB,GACTjB,EAAAQ,MAAMa,OAAOJ,EAAO,GAChCmB,EAAUC,QAAQ,OAAM,CAGjB,SAAAC,EAAYhB,EAAkBiB,GAC/BrC,EAAA,cAAeoB,EAAUiB,EAAW,CA1H/BC,EAAA,CACXzB,aACAf,cACAyC,YAoFF,SAAqBC,GACnB1C,EAAYQ,MAAQR,EAAYQ,MAAMmC,OAAOD,EAAI,EApFjDE,QA8DF,SAAiBZ,GACf,MAAMa,EAAoB,GACrBb,EAAAc,SAASrC,KAAKC,IACjBmC,EAAWf,KAAK,IACXpB,EACHqC,MAAOrC,EAAEsC,OACTC,SAAUvC,EAAEwC,aACZC,UAAWzC,EAAEyC,WACd,IAEHnD,EAAYQ,MAAMsB,KAAK,IAClBE,EACHV,SAAUC,IACVV,WAAYmB,EAAKoB,gBAAkB,YAAcpB,EAAKqB,aACtDP,QAASD,EACTnB,QAAQ,EACRC,QAAQ,EACRC,cAAc,EACdC,QAAQ,GACT,EAhFDyB,kBAwHO,SAAkBC,EAAsBjC,EAAkBkC,GAE7DD,EAAgBzC,QACNd,EAAAQ,OAAOC,KAAKC,IACnBA,EAAEY,WAAaA,GACdZ,EAAAoC,SAASrC,KAAKgD,IAEXA,EAAED,iBAAmBA,IACtBC,EAAEF,gBAAkBA,EAAA,GAEvB,GAGP,IAGFG,GAAM,IAAM5D,EAAM6D,cAAcC,IAC1BA,IACU5D,EAAAQ,MAAQ,IAAIoD,GAAO,GAEhC,CAAEC,WAAW,IAEV,MAAAC,EAAKC,EAAa,8tHA7Hf,CAACC,IACA,MAAAC,EAAkBjE,EAAYQ,MAAM0D,QACvCxD,GAA4B,aAAjBA,EAAEG,aAEhB,IAAIsD,EAAe,EAMZ,OALUF,GAAAG,SAAQ,CAACX,EAAQ9C,KAC5BqD,IAAcP,EAAEY,KAClBF,EAAexD,EAAI,EAAA,IAGhBwD,CAAA"}
|
1
|
+
{"version":3,"file":"subject-list.vue.mjs","sources":["../../../../../../packages/components/src/subject-list/src/subject-list.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport SubjectBlankFill from './components/subject-blank-fill.vue'\nimport SubjectScale from './components/subject-scale.vue'\nimport SubjectSingle from './components/subject-single.vue'\nimport SubjectTextFill from './components/subject-text-fill.vue'\nimport SubjectRichText from './components/SubjectRichText.vue'\nimport SubjectPageEnd from './components/SubjectPageEnd.vue'\nimport { useNamespace } from '@qxs-bns/hooks'\nimport { setGuid } from '@qxs-bns/utils'\n\ndefineOptions({\n name: 'QxsSubjectList',\n})\n\nconst props = defineProps<{\n subjectList: any[]\n isPreview: boolean\n}>()\nconst currentList = ref([] as any)\nconst emits = defineEmits(['setRelation'])\n\nconst attrs = useAttrs()\n\ndefineExpose({\n addSubject,\n currentList,\n uploadExcel,\n addExam,\n setAnswerRelation,\n})\n\nfunction totalPageIndex() {\n return currentList.value.filter((v: any) => v.answerType === 'page_end').length\n}\n\nfunction currentPageIndex(currentId: any) {\n const currentPageList = currentList.value.filter((v: any) => v.answerType === 'page_end')\n const currentIndex = currentPageList.findIndex((c: any) => c.customId === currentId)\n return currentIndex + 1\n}\n\nfunction addPageEnd() {\n currentList.value.push({\n customId: setGuid(),\n answerType: 'page_end',\n analysis: '',\n scaleQuestionList: [],\n isSave: false,\n isEdit: true,\n isRealCanDel: true,\n hasSet: false,\n examAnswerRelationType: 0,\n })\n}\n\nfunction addSubject(type: string, index: number | null = null, examAnswerRelationType: number | null = null) {\n const newSubject = {\n customId: setGuid(),\n answerType: type,\n analysis: '',\n scaleQuestionList: [],\n isSave: false,\n isEdit: true,\n isRealCanDel: true,\n hasSet: false,\n examAnswerRelationType,\n }\n\n if (index !== null) {\n currentList.value.splice(index + 1, 0, newSubject)\n } else {\n currentList.value.push(newSubject)\n }\n}\n\nfunction addExam(item: any) {\n const answerList = item.answers?.map((v: any) => ({\n ...v,\n title: v.answer,\n answerId: v.examAnswerId,\n isCorrect: v.isCorrect,\n })) || []\n\n currentList.value.push({\n ...item,\n customId: setGuid(),\n answerType: item.richTextContent ? 'rich_text' : item.examTypeEnum,\n answers: answerList,\n isSave: false,\n isEdit: true,\n isRealCanDel: true,\n hasSet: false,\n })\n\n if (item.pageIndex - currentPageIndex(item.customId) === 1) {\n addPageEnd()\n }\n\n if (currentPageIndex(item.customId) > 1) {\n addPageEnd()\n }\n}\n\nfunction uploadExcel(list: any[]) {\n currentList.value = currentList.value.concat(list)\n}\n\nfunction move(index: number, type: 'up' | 'down') {\n if (type === 'up' && index > 0) {\n const [item] = currentList.value.splice(index, 1)\n currentList.value.splice(index - 1, 0, item)\n } else if (type === 'down' && index < currentList.value.length - 1) {\n const [item] = currentList.value.splice(index, 1)\n currentList.value.splice(index + 1, 0, item)\n }\n}\n\nfunction saveSubject(index: number, item: any) {\n currentList.value[index] = {\n ...currentList.value[index],\n ...item,\n isEdit: false,\n examAnswerRelationType: item.examAnswerRelationType,\n }\n}\n\nfunction deleteSubject(index: number) {\n currentList.value.splice(index, 1)\n ElMessage.success('删除成功')\n}\n\nfunction setRelation(customId: number, examAnswers: any) {\n emits('setRelation', customId, examAnswers)\n}\n\nfunction setAnswerRelation(answerRelations: any, customId: string, customAnswerId: string) {\n if (answerRelations.length) {\n const targetItem = currentList.value.find((v: any) => v.customId === customId)\n if (targetItem) {\n const targetAnswer = targetItem.answers?.find((c: any) => c.customAnswerId === customAnswerId)\n if (targetAnswer) {\n targetAnswer.answerRelations = answerRelations\n }\n }\n }\n}\n\nwatch(() => props.subjectList, (newList: any) => {\n if (newList) {\n currentList.value = [...newList]\n }\n}, { immediate: true })\n\nconst ns = useNamespace('subject-list')\n</script>\n\n<template>\n <div :class=\"ns.e('list-exam')\">\n <div class=\"subject-list-wrapper\">\n <div v-for=\"(item, index) in currentList\" :key=\"item.customId\" class=\"subject-item\">\n <template v-if=\"['single', 'multiple', 'sort'].includes(item.answerType)\">\n <SubjectSingle \n v-bind=\"attrs\" \n :order-index=\"index\" \n :title=\"item.title\" \n :type=\"item.answerType\"\n :exam-id=\"item.examId\"\n :isKey=\"item.isKey\" \n :is-save=\"!item.isRealCanDel\" \n :customId=\"item.customId\" \n :is-set=\"item.hasSet || false\"\n :answer-list=\"item.answers\" \n :analysis=\"item.analysis\" \n :least-answer-count=\"item.leastAnswerCount\"\n :is-edit=\"item.isEdit || false\" \n :show-action=\"!isPreview\" \n :exam-expand=\"item.examExpand\"\n :answerCheckType=\"item.answerCheckType\" \n :exam-rich-text-content=\"item.examRichTextContent\"\n :examAnswerRelationType=\"item.examAnswerRelationType\"\n @setRelation=\"setRelation\"\n @move=\"(type: 'up' | 'down') => move(index, type)\"\n @delete=\"deleteSubject(index)\"\n @save=\"(item: any) => saveSubject(index, item)\"\n @edit=\"item.isEdit = true\"\n @add=\"(type: string, examAnswerRelationType: number) => addSubject(type, index, examAnswerRelationType)\" />\n </template>\n <SubjectScale v-bind=\"attrs\" v-else-if=\"item.answerType === 'scale'\" :order-index=\"index\" :title=\"item.title\"\n :is-save=\"!item.isRealCanDel\" :is-set=\"item.hasSet || false\" :answer-list=\"item.answers\"\n :analysis=\"item.analysis\" :is-edit=\"item.isEdit || false\" :scale-question-list=\"item.scaleQuestionList\"\n :show-action=\"!isPreview\" :exam-rich-text-content=\"item.examRichTextContent\"\n :examAnswerRelationType=\"item.examAnswerRelationType\" @move=\"(type: 'up' | 'down') => move(index, type)\"\n @delete=\"deleteSubject(index)\" @save=\"(item: any) => saveSubject(index, item)\" @edit=\"item.isEdit = true\"\n @add=\"(type: string) => addSubject(type, index, null)\" />\n <SubjectBlankFill v-bind=\"attrs\" v-else-if=\"item.answerType === 'blank_fill'\" :order-index=\"index\"\n :title=\"item.title\" :is-save=\"!item.isRealCanDel\" :is-set=\"item.hasSet || false\" :answer-list=\"item.answers\"\n :analysis=\"item.analysis\" :show-action=\"!isPreview\" :is-edit=\"item.isEdit || false\"\n :exam-answer-setting-v-o=\"item.examAnswerSettingVO || {}\" :exam-rich-text-content=\"item.examRichTextContent\"\n :examAnswerRelationType=\"item.examAnswerRelationType\" @move=\"(type: 'up' | 'down') => move(index, type)\"\n @delete=\"deleteSubject(index)\" @save=\"(item: any) => saveSubject(index, item)\" @edit=\"item.isEdit = true\"\n @add=\"(type: string) => addSubject(type, index, null)\" />\n <SubjectTextFill v-bind=\"attrs\" v-else-if=\"item.answerType === 'text_fill'\" :order-index=\"index\"\n :title=\"item.title\" :is-save=\"!item.isRealCanDel\" :is-set=\"item.hasSet || false\" :answer-list=\"item.answers\"\n :analysis=\"item.analysis\" :show-action=\"!isPreview\" :is-edit=\"item.isEdit || false\"\n :exam-expand=\"item.examExpand\" :exam-answer-setting-v-o=\"item.examAnswerSettingVO || {}\"\n :examAnswerRelationType=\"item.examAnswerRelationType\" :exam-rich-text-content=\"item.examRichTextContent\"\n @move=\"(type: 'up' | 'down') => move(index, type)\" @delete=\"deleteSubject(index)\"\n @save=\"(item: any) => saveSubject(index, item)\" @edit=\"item.isEdit = true\"\n @add=\"(type: string) => addSubject(type, index, null)\" />\n <SubjectRichText v-bind=\"attrs\" v-else-if=\"item.answerType === 'rich_text'\" :order-index=\"index\"\n :richTextContent=\"item.richTextContent\" :is-set=\"item.hasSet || false\" :is-save=\"!item.isRealCanDel\"\n :is-edit=\"item.isEdit || false\" :show-action=\"!isPreview\" @move=\"(type: 'up' | 'down') => move(index, type)\"\n @delete=\"deleteSubject(index)\" :examAnswerRelationType=\"item.examAnswerRelationType\"\n @save=\"(item: any) => saveSubject(index, item)\" @edit=\"item.isEdit = true\"\n @add=\"(type: string) => addSubject(type, index, null)\" />\n <SubjectPageEnd v-else-if=\"item.answerType === 'page_end'\" :total-page=\"totalPageIndex()\" :key=\"index\"\n :current-page-index=\"currentPageIndex(item.customId)\" :item=\"item\" :order-index=\"index\"\n :is-edit=\"item.isEdit || false\" :is-set=\"item.hasSet || false\" :is-save=\"!item.isRealCanDel\"\n :examAnswerRelationType=\"item.examAnswerRelationType\" @move=\"(type: 'up' | 'down') => move(index, type)\"\n @delete=\"deleteSubject(index)\" @save=\"(item: any) => saveSubject(index, item)\" @edit=\"item.isEdit = true\"\n @add=\"(type: string) => addSubject(type, index, null)\" />\n </div>\n </div>\n </div>\n</template>\n"],"names":["props","__props","currentList","ref","emits","__emit","attrs","useAttrs","currentPageIndex","currentId","value","filter","v","answerType","findIndex","c","customId","addPageEnd","push","setGuid","analysis","scaleQuestionList","isSave","isEdit","isRealCanDel","hasSet","examAnswerRelationType","addSubject","type","index","newSubject","splice","move","item","length","saveSubject","deleteSubject","ElMessage","success","setRelation","examAnswers","__expose","uploadExcel","list","concat","addExam","answerList","answers","map","title","answer","answerId","examAnswerId","isCorrect","richTextContent","examTypeEnum","pageIndex","setAnswerRelation","answerRelations","customAnswerId","targetItem","find","targetAnswer","watch","subjectList","newList","immediate","ns","useNamespace"],"mappings":"w5BAcA,MAAMA,EAAQC,EAIRC,EAAcC,EAAI,IAClBC,EAAQC,EAERC,EAAQC,IAcd,SAASC,EAAiBC,GAGxB,OAFwBP,EAAYQ,MAAMC,QAAQC,GAA4B,aAAjBA,EAAEC,aAC1BC,WAAWC,GAAWA,EAAEC,WAAaP,IACpD,CAAA,CAGxB,SAASQ,IACPf,EAAYQ,MAAMQ,KAAK,CACrBF,SAAUG,IACVN,WAAY,WACZO,SAAU,GACVC,kBAAmB,GACnBC,QAAQ,EACRC,QAAQ,EACRC,cAAc,EACdC,QAAQ,EACRC,uBAAwB,GACzB,CAGH,SAASC,EAAWC,EAAcC,EAAuB,KAAMH,EAAwC,MACrG,MAAMI,EAAa,CACjBd,SAAUG,IACVN,WAAYe,EACZR,SAAU,GACVC,kBAAmB,GACnBC,QAAQ,EACRC,QAAQ,EACRC,cAAc,EACdC,QAAQ,EACRC,0BAGY,OAAVG,EACF3B,EAAYQ,MAAMqB,OAAOF,EAAQ,EAAG,EAAGC,GAE3B5B,EAAAQ,MAAMQ,KAAKY,EACzB,CAmCO,SAAAE,EAAKH,EAAeD,GACvB,GAAS,OAATA,GAAiBC,EAAQ,EAAG,CAC9B,MAAOI,GAAQ/B,EAAYQ,MAAMqB,OAAOF,EAAO,GAC/C3B,EAAYQ,MAAMqB,OAAOF,EAAQ,EAAG,EAAGI,EAAI,SACzB,SAATL,GAAmBC,EAAQ3B,EAAYQ,MAAMwB,OAAS,EAAG,CAClE,MAAOD,GAAQ/B,EAAYQ,MAAMqB,OAAOF,EAAO,GAC/C3B,EAAYQ,MAAMqB,OAAOF,EAAQ,EAAG,EAAGI,EAAI,CAC7C,CAGO,SAAAE,EAAYN,EAAeI,GACtB/B,EAAAQ,MAAMmB,GAAS,IACtB3B,EAAYQ,MAAMmB,MAClBI,EACHV,QAAQ,EACRG,uBAAwBO,EAAKP,uBAC/B,CAGF,SAASU,EAAcP,GACT3B,EAAAQ,MAAMqB,OAAOF,EAAO,GAChCQ,EAAUC,QAAQ,OAAM,CAGjB,SAAAC,EAAYvB,EAAkBwB,GAC/BpC,EAAA,cAAeY,EAAUwB,EAAW,CA7G/BC,EAAA,CACXd,aACAzB,cACAwC,YA6EF,SAAqBC,GACnBzC,EAAYQ,MAAQR,EAAYQ,MAAMkC,OAAOD,EAAI,EA7EjDE,QAgDF,SAAiBZ,GACf,MAAMa,EAAab,EAAKc,SAASC,KAAKpC,IAAY,IAC7CA,EACHqC,MAAOrC,EAAEsC,OACTC,SAAUvC,EAAEwC,aACZC,UAAWzC,EAAEyC,eACR,GAEPnD,EAAYQ,MAAMQ,KAAK,IAClBe,EACHjB,SAAUG,IACVN,WAAYoB,EAAKqB,gBAAkB,YAAcrB,EAAKsB,aACtDR,QAASD,EACTxB,QAAQ,EACRC,QAAQ,EACRC,cAAc,EACdC,QAAQ,IAGNQ,EAAKuB,UAAYhD,EAAiByB,EAAKjB,WAAc,GAC5CC,IAGTT,EAAiByB,EAAKjB,UAAY,GACzBC,GACb,EAxEAwC,kBA2GO,SAAkBC,EAAsB1C,EAAkB2C,GACjE,GAAID,EAAgBxB,OAAQ,CACpB,MAAA0B,EAAa1D,EAAYQ,MAAMmD,MAAMjD,GAAWA,EAAEI,WAAaA,IACrE,GAAI4C,EAAY,CACR,MAAAE,EAAeF,EAAWb,SAASc,MAAM9C,GAAWA,EAAE4C,iBAAmBA,IAC3EG,IACFA,EAAaJ,gBAAkBA,EACjC,CACF,CACF,IAGFK,GAAM,IAAM/D,EAAMgE,cAAcC,IAC1BA,IACU/D,EAAAQ,MAAQ,IAAIuD,GAAO,GAEhC,CAAEC,WAAW,IAEV,MAAAC,EAAKC,EAAa,2sHAzHflE,EAAYQ,MAAMC,QAAQC,GAA4B,aAAjBA,EAAEC,aAA2BqB"}
|
package/lib/package.json.cjs
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
"use strict";exports.version="0.0.
|
1
|
+
"use strict";exports.version="0.0.36";
|
2
2
|
//# sourceMappingURL=package.json.cjs.map
|
@@ -1,2 +1,2 @@
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("element-plus/es"),t=require("vue"),l=require("@element-plus/icons-vue"),a=require("@qxs-bns/hooks"),o=require("../../subject-type/src/subject-type.vue.cjs");const n={key:0,class:"flex-justify-between"},c={key:0,class:"has-set"},r={key:1,class:"flex flex-justify-end action-buttons"}
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("element-plus/es"),t=require("vue"),l=require("@element-plus/icons-vue"),a=require("@qxs-bns/hooks"),o=require("../../subject-type/src/subject-type.vue.cjs");const n={key:0,class:"flex-justify-between"},c={key:0,class:"has-set"},r={key:1,class:"flex flex-justify-end action-buttons"};var i=t.defineComponent({name:"QxsSubjectAction",__name:"subject-action",props:{isEdit:Boolean,isSet:{type:Boolean,default:!1},isKey:{type:Boolean,default:!1},answerCheckType:{type:Number,default:1},showOtherOption:{type:Boolean,default:!0},examAnswerRelationType:{type:Number,default:null},pageEnd:{type:Boolean,default:!1}},emits:["move-up","move-down","delete","save","edit","add","on-show-rich-text","set-key","set-answer-setting"],setup(i,{emit:d}){const u=i,s=t.ref(u.isKey),m=t.ref(!1),p=d,f=t.ref(u.answerCheckType),k=a.useNamespace("subject-action"),V=[{value:2,label:"必须全部都是支持选项,方可下一步"},{value:1,label:"无需判断是否是支持选项"},{value:3,label:"包含全部支持选项,即可下一步"}],x=t.computed((()=>V.find((e=>e.value===f.value))?.label));function C(){m.value=!1,p("set-answer-setting",f.value)}function v(){p("set-key",s.value)}function y(e,t){p("add",e,t?u.examAnswerRelationType:null)}return(a,d)=>{const u=e.ElLink,N=e.ElPopover,h=e.ElCheckbox,w=e.ElIcon,b=e.ElButton,B=e.ElRadio,E=e.ElRadioGroup,g=e.ElDialog;return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(t.unref(k).e("action-exam"))},[t.createElementVNode("div",{class:t.normalizeClass(["action flex flex-justify-between",[{active:i.isEdit}]])},[i.isEdit?(t.openBlock(),t.createElementBlock("div",n,[t.createVNode(N,{trigger:"click"},{reference:t.withCtx((()=>[t.createVNode(u,{type:"primary",class:"btn-margin"},{default:t.withCtx((()=>d[14]||(d[14]=[t.createTextVNode(" +在此题后加入新题 ")]))),_:1})])),default:t.withCtx((()=>[t.createVNode(o.default,{onSelect:y})])),_:1}),i.showOtherOption?(t.openBlock(),t.createBlock(u,{key:0,type:"primary",onClick:d[0]||(d[0]=e=>p("on-show-rich-text")),class:"btn-margin"},{default:t.withCtx((()=>d[15]||(d[15]=[t.createTextVNode(" +添加题目描述(图文) ")]))),_:1})):t.createCommentVNode("v-if",!0),i.showOtherOption?(t.openBlock(),t.createBlock(u,{key:1,type:"primary",onClick:d[1]||(d[1]=e=>m.value=!0),class:"btn-margin"},{default:t.withCtx((()=>d[16]||(d[16]=[t.createTextVNode(" 答题设置 ")]))),_:1})):t.createCommentVNode("v-if",!0),i.showOtherOption?(t.openBlock(),t.createBlock(h,{key:2,modelValue:t.unref(s),"onUpdate:modelValue":d[2]||(d[2]=e=>t.isRef(s)?s.value=e:null),label:"核心题",onChange:v},null,8,["modelValue"])):t.createCommentVNode("v-if",!0)])):t.createCommentVNode("v-if",!0),t.createElementVNode("div",null,[i.isSet?(t.openBlock(),t.createElementBlock("div",c," *此题设置了跳题逻辑 ")):(t.openBlock(),t.createElementBlock("div",r,[i.isEdit?(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[t.createVNode(b,{class:"btn-margin",onClick:d[8]||(d[8]=e=>p("delete"))},{default:t.withCtx((()=>d[21]||(d[21]=[t.createTextVNode(" 删除 ")]))),_:1}),t.createVNode(b,{type:"primary",onClick:d[9]||(d[9]=e=>p("save"))},{default:t.withCtx((()=>d[22]||(d[22]=[t.createTextVNode(" 完成编辑 ")]))),_:1})],64)):(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[i.pageEnd?t.createCommentVNode("v-if",!0):(t.openBlock(),t.createBlock(h,{key:0,modelValue:t.unref(s),"onUpdate:modelValue":d[3]||(d[3]=e=>t.isRef(s)?s.value=e:null),label:"核心题",disabled:""},null,8,["modelValue"])),i.pageEnd?t.createCommentVNode("v-if",!0):(t.openBlock(),t.createBlock(h,{key:1,"v-model":!0,label:t.unref(x),disabled:"",class:"checkbox-margin"},null,8,["label"])),i.pageEnd?t.createCommentVNode("v-if",!0):(t.openBlock(),t.createBlock(b,{key:2,class:"btn-margin",onClick:d[4]||(d[4]=e=>p("edit"))},{icon:t.withCtx((()=>[t.createVNode(w,null,{default:t.withCtx((()=>[t.createVNode(t.unref(l.Edit))])),_:1})])),default:t.withCtx((()=>[d[17]||(d[17]=t.createTextVNode(" 编辑 "))])),_:1})),t.createVNode(b,{class:"btn-margin",onClick:d[5]||(d[5]=e=>p("delete"))},{icon:t.withCtx((()=>[t.createVNode(w,null,{default:t.withCtx((()=>[t.createVNode(t.unref(l.Delete))])),_:1})])),default:t.withCtx((()=>[d[18]||(d[18]=t.createTextVNode(" 删除 "))])),_:1}),t.createVNode(b,{class:"btn-margin",onClick:d[6]||(d[6]=e=>p("move-up"))},{icon:t.withCtx((()=>[t.createVNode(w,null,{default:t.withCtx((()=>[t.createVNode(t.unref(l.Top))])),_:1})])),default:t.withCtx((()=>[d[19]||(d[19]=t.createTextVNode(" 上移 "))])),_:1}),t.createVNode(b,{class:"btn-margin",onClick:d[7]||(d[7]=e=>p("move-down"))},{icon:t.withCtx((()=>[t.createVNode(w,null,{default:t.withCtx((()=>[t.createVNode(t.unref(l.Bottom))])),_:1})])),default:t.withCtx((()=>[d[20]||(d[20]=t.createTextVNode(" 下移 "))])),_:1})],64))]))]),t.createVNode(g,{modelValue:t.unref(m),"onUpdate:modelValue":d[12]||(d[12]=e=>t.isRef(m)?m.value=e:null),title:"答题设置",class:"customize-dialog",onClose:d[13]||(d[13]=e=>m.value=!1)},{footer:t.withCtx((()=>[t.createVNode(b,{class:"customize-button",type:"primary",plain:"",onClick:d[11]||(d[11]=e=>m.value=!1)},{default:t.withCtx((()=>d[23]||(d[23]=[t.createTextVNode(" 取消 ")]))),_:1}),t.createVNode(b,{class:"customize-button",type:"primary",plain:"",onClick:C},{default:t.withCtx((()=>d[24]||(d[24]=[t.createTextVNode(" 保存 ")]))),_:1})])),default:t.withCtx((()=>[t.createVNode(E,{modelValue:t.unref(f),"onUpdate:modelValue":d[10]||(d[10]=e=>t.isRef(f)?f.value=e:null),class:"vertical-radio-group"},{default:t.withCtx((()=>[(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(V,(e=>t.createVNode(B,{key:e.value,value:e.value},{default:t.withCtx((()=>[t.createTextVNode(t.toDisplayString(e.label),1)])),_:2},1032,["value"]))),64))])),_:1},8,["modelValue"])])),_:1},8,["modelValue"])],2)],2)}}});exports.default=i;
|
2
2
|
//# sourceMappingURL=subject-action.vue.cjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"subject-action.vue.cjs","sources":["../../../../../../packages/components/src/subject-action/src/subject-action.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { Bottom, Delete, Edit, Top } from '@element-plus/icons-vue'\nimport { useNamespace } from '@qxs-bns/hooks'\nimport SubjectType from '../../subject-type/src/subject-type.vue'\n\ndefineOptions({\n name: 'QxsSubjectAction',\n})\nconst props = defineProps({\n isEdit:
|
1
|
+
{"version":3,"file":"subject-action.vue.cjs","sources":["../../../../../../packages/components/src/subject-action/src/subject-action.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { Bottom, Delete, Edit, Top } from '@element-plus/icons-vue'\nimport { useNamespace } from '@qxs-bns/hooks'\nimport SubjectType from '../../subject-type/src/subject-type.vue'\n\ndefineOptions({\n name: 'QxsSubjectAction',\n})\n\nconst props = defineProps({\n isEdit: Boolean,\n isSet: {\n type: Boolean,\n default: false,\n },\n isKey: {\n type: Boolean,\n default: false,\n },\n answerCheckType: {\n type: Number,\n default: 1,\n },\n showOtherOption: {\n type: Boolean,\n default: true,\n },\n examAnswerRelationType: {\n type: Number,\n default: null,\n },\n pageEnd: {\n type: Boolean,\n default: false,\n },\n})\n\nconst isKey = ref(props.isKey)\nconst showAnswerSetting = ref(false)\nconst emits = defineEmits([\n 'move-up',\n 'move-down',\n 'delete',\n 'save',\n 'edit',\n 'add',\n 'on-show-rich-text',\n 'set-key',\n 'set-answer-setting',\n])\nconst answerType = ref(props.answerCheckType)\nconst ns = useNamespace('subject-action')\n\nconst answerTextList = [\n {\n value: 2,\n label: '必须全部都是支持选项,方可下一步',\n },\n {\n value: 1,\n label: '无需判断是否是支持选项',\n },\n {\n value: 3,\n label: '包含全部支持选项,即可下一步',\n },\n]\n\nconst answerText = computed(() => {\n return answerTextList.find((item) => item.value === answerType.value)?.label\n})\n\nfunction onSaveSetting() {\n showAnswerSetting.value = false\n emits('set-answer-setting', answerType.value)\n}\n\nfunction setKey() {\n emits('set-key', isKey.value)\n}\n\nfunction selectExam(type: string, canSet: boolean) {\n emits('add', type, canSet ? props.examAnswerRelationType : null)\n}\n</script>\n\n<template>\n <div :class=\"ns.e('action-exam')\">\n <div class=\"action flex flex-justify-between\" :class=\"[{ active: isEdit }]\">\n <div v-if=\"isEdit\" class=\"flex-justify-between\">\n <el-popover trigger=\"click\">\n <template #reference>\n <el-link type=\"primary\" class=\"btn-margin\">\n +在此题后加入新题\n </el-link>\n </template>\n <SubjectType @select=\"selectExam\" />\n </el-popover>\n <el-link\n type=\"primary\"\n @click=\"emits('on-show-rich-text')\"\n v-if=\"showOtherOption\"\n class=\"btn-margin\"\n >\n +添加题目描述(图文)\n </el-link>\n <el-link\n type=\"primary\"\n @click=\"showAnswerSetting = true\"\n v-if=\"showOtherOption\"\n class=\"btn-margin\"\n >\n 答题设置\n </el-link>\n <el-checkbox\n v-model=\"isKey\"\n label=\"核心题\"\n @change=\"setKey\"\n v-if=\"showOtherOption\"\n />\n </div>\n <div>\n <div v-if=\"isSet\" class=\"has-set\">\n *此题设置了跳题逻辑\n </div>\n <div v-else class=\"flex flex-justify-end action-buttons\">\n <template v-if=\"!isEdit\">\n <el-checkbox\n v-model=\"isKey\"\n label=\"核心题\"\n disabled\n v-if=\"!pageEnd\"\n />\n <el-checkbox\n :v-model=\"true\"\n :label=\"answerText\"\n disabled\n v-if=\"!pageEnd\"\n class=\"checkbox-margin\"\n />\n <el-button class=\"btn-margin\" @click=\"emits('edit')\" v-if=\"!pageEnd\">\n <template #icon>\n <el-icon>\n <Edit />\n </el-icon>\n </template>\n 编辑\n </el-button>\n <el-button class=\"btn-margin\" @click=\"emits('delete')\">\n <template #icon>\n <el-icon>\n <Delete />\n </el-icon>\n </template>\n 删除\n </el-button>\n <el-button class=\"btn-margin\" @click=\"emits('move-up')\">\n <template #icon>\n <el-icon>\n <Top />\n </el-icon>\n </template>\n 上移\n </el-button>\n <el-button class=\"btn-margin\" @click=\"emits('move-down')\">\n <template #icon>\n <el-icon>\n <Bottom />\n </el-icon>\n </template>\n 下移\n </el-button>\n </template>\n <template v-else>\n <el-button class=\"btn-margin\" @click=\"emits('delete')\">\n 删除\n </el-button>\n <el-button type=\"primary\" @click=\"emits('save')\">\n 完成编辑\n </el-button>\n </template>\n </div>\n </div>\n <el-dialog\n v-model=\"showAnswerSetting\"\n title=\"答题设置\"\n class=\"customize-dialog\"\n @close=\"showAnswerSetting = false\"\n >\n <el-radio-group\n v-model=\"answerType\"\n class=\"vertical-radio-group\"\n >\n <el-radio\n v-for=\"item in answerTextList\"\n :key=\"item.value\"\n :value=\"item.value\"\n >\n {{ item.label }}\n </el-radio>\n </el-radio-group>\n <template #footer>\n <el-button\n class=\"customize-button\"\n type=\"primary\"\n plain\n @click=\"showAnswerSetting = false\"\n >\n 取消\n </el-button>\n <el-button\n class=\"customize-button\"\n type=\"primary\"\n plain\n @click=\"onSaveSetting\"\n >\n 保存\n </el-button>\n </template>\n </el-dialog>\n </div>\n </div>\n</template>"],"names":["props","__props","isKey","ref","showAnswerSetting","emits","__emit","answerType","answerCheckType","ns","useNamespace","answerTextList","value","label","answerText","computed","find","item","onSaveSetting","setKey","selectExam","type","canSet","examAnswerRelationType"],"mappings":"ozBASA,MAAMA,EAAQC,EA4BRC,EAAQC,EAAAA,IAAIH,EAAME,OAClBE,EAAoBD,OAAI,GACxBE,EAAQC,EAWRC,EAAaJ,EAAAA,IAAIH,EAAMQ,iBACvBC,EAAKC,eAAa,kBAElBC,EAAiB,CACrB,CACEC,MAAO,EACPC,MAAO,oBAET,CACED,MAAO,EACPC,MAAO,eAET,CACED,MAAO,EACPC,MAAO,mBAILC,EAAaC,EAAAA,UAAS,IACnBJ,EAAeK,MAAMC,GAASA,EAAKL,QAAUL,EAAWK,SAAQC,QAGzE,SAASK,IACPd,EAAkBQ,OAAQ,EACpBP,EAAA,qBAAsBE,EAAWK,MAAK,CAG9C,SAASO,IACDd,EAAA,UAAWH,EAAMU,MAAK,CAGrB,SAAAQ,EAAWC,EAAcC,GAChCjB,EAAM,MAAOgB,EAAMC,EAAStB,EAAMuB,uBAAyB,KAAI"}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue"),t=require("./components/subject-blank-fill.vue.cjs"),n=require("./components/subject-scale.vue.cjs"),s=require("./components/subject-single.vue.cjs"),i=require("./components/subject-text-fill.vue.cjs"),a=require("./components/SubjectRichText.vue.cjs"),o=require("./components/SubjectPageEnd.vue.cjs"),l=require("@qxs-bns/hooks"),r=require("@qxs-bns/utils"),c=require("element-plus/es");const d={class:"subject-list-wrapper"};var u=e.defineComponent({name:"QxsSubjectList",__name:"subject-list",props:{subjectList:{type:Array,required:!0},isPreview:{type:Boolean,required:!0}},emits:["setRelation"],setup(u,{expose:
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue"),t=require("./components/subject-blank-fill.vue.cjs"),n=require("./components/subject-scale.vue.cjs"),s=require("./components/subject-single.vue.cjs"),i=require("./components/subject-text-fill.vue.cjs"),a=require("./components/SubjectRichText.vue.cjs"),o=require("./components/SubjectPageEnd.vue.cjs"),l=require("@qxs-bns/hooks"),r=require("@qxs-bns/utils"),c=require("element-plus/es");const d={class:"subject-list-wrapper"};var u=e.defineComponent({name:"QxsSubjectList",__name:"subject-list",props:{subjectList:{type:Array,required:!0},isPreview:{type:Boolean,required:!0}},emits:["setRelation"],setup(u,{expose:x,emit:p}){const m=u,w=e.ref([]),v=p,y=e.useAttrs();function f(e){return w.value.filter((e=>"page_end"===e.answerType)).findIndex((t=>t.customId===e))+1}function h(){w.value.push({customId:r.setGuid(),answerType:"page_end",analysis:"",scaleQuestionList:[],isSave:!1,isEdit:!0,isRealCanDel:!0,hasSet:!1,examAnswerRelationType:0})}function T(e,t=null,n=null){const s={customId:r.setGuid(),answerType:e,analysis:"",scaleQuestionList:[],isSave:!1,isEdit:!0,isRealCanDel:!0,hasSet:!1,examAnswerRelationType:n};null!==t?w.value.splice(t+1,0,s):w.value.push(s)}function A(e,t){if("up"===t&&e>0){const[t]=w.value.splice(e,1);w.value.splice(e-1,0,t)}else if("down"===t&&e<w.value.length-1){const[t]=w.value.splice(e,1);w.value.splice(e+1,0,t)}}function R(e,t){w.value[e]={...w.value[e],...t,isEdit:!1,examAnswerRelationType:t.examAnswerRelationType}}function E(e){w.value.splice(e,1),c.ElMessage.success("删除成功")}function k(e,t){v("setRelation",e,t)}x({addSubject:T,currentList:w,uploadExcel:function(e){w.value=w.value.concat(e)},addExam:function(e){const t=e.answers?.map((e=>({...e,title:e.answer,answerId:e.examAnswerId,isCorrect:e.isCorrect})))||[];w.value.push({...e,customId:r.setGuid(),answerType:e.richTextContent?"rich_text":e.examTypeEnum,answers:t,isSave:!1,isEdit:!0,isRealCanDel:!0,hasSet:!1}),e.pageIndex-f(e.customId)==1&&h();f(e.customId)>1&&h()},setAnswerRelation:function(e,t,n){if(e.length){const s=w.value.find((e=>e.customId===t));if(s){const t=s.answers?.find((e=>e.customAnswerId===n));t&&(t.answerRelations=e)}}}}),e.watch((()=>m.subjectList),(e=>{e&&(w.value=[...e])}),{immediate:!0});const S=l.useNamespace("subject-list");return(l,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(S).e("list-exam"))},[e.createElementVNode("div",d,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(w),((r,c)=>(e.openBlock(),e.createElementBlock("div",{key:r.customId,class:"subject-item"},[["single","multiple","sort"].includes(r.answerType)?(e.openBlock(),e.createBlock(s.default,e.mergeProps({key:0,ref_for:!0},e.unref(y),{"order-index":c,title:r.title,type:r.answerType,"exam-id":r.examId,isKey:r.isKey,"is-save":!r.isRealCanDel,customId:r.customId,"is-set":r.hasSet||!1,"answer-list":r.answers,analysis:r.analysis,"least-answer-count":r.leastAnswerCount,"is-edit":r.isEdit||!1,"show-action":!l.isPreview,"exam-expand":r.examExpand,answerCheckType:r.answerCheckType,"exam-rich-text-content":r.examRichTextContent,examAnswerRelationType:r.examAnswerRelationType,onSetRelation:k,onMove:e=>A(c,e),onDelete:e=>E(c),onSave:e=>R(c,e),onEdit:e=>r.isEdit=!0,onAdd:(e,t)=>T(e,c,t)}),null,16,["order-index","title","type","exam-id","isKey","is-save","customId","is-set","answer-list","analysis","least-answer-count","is-edit","show-action","exam-expand","answerCheckType","exam-rich-text-content","examAnswerRelationType","onMove","onDelete","onSave","onEdit","onAdd"])):"scale"===r.answerType?(e.openBlock(),e.createBlock(n.default,e.mergeProps({key:1,ref_for:!0},e.unref(y),{"order-index":c,title:r.title,"is-save":!r.isRealCanDel,"is-set":r.hasSet||!1,"answer-list":r.answers,analysis:r.analysis,"is-edit":r.isEdit||!1,"scale-question-list":r.scaleQuestionList,"show-action":!l.isPreview,"exam-rich-text-content":r.examRichTextContent,examAnswerRelationType:r.examAnswerRelationType,onMove:e=>A(c,e),onDelete:e=>E(c),onSave:e=>R(c,e),onEdit:e=>r.isEdit=!0,onAdd:e=>T(e,c,null)}),null,16,["order-index","title","is-save","is-set","answer-list","analysis","is-edit","scale-question-list","show-action","exam-rich-text-content","examAnswerRelationType","onMove","onDelete","onSave","onEdit","onAdd"])):"blank_fill"===r.answerType?(e.openBlock(),e.createBlock(t.default,e.mergeProps({key:2,ref_for:!0},e.unref(y),{"order-index":c,title:r.title,"is-save":!r.isRealCanDel,"is-set":r.hasSet||!1,"answer-list":r.answers,analysis:r.analysis,"show-action":!l.isPreview,"is-edit":r.isEdit||!1,"exam-answer-setting-v-o":r.examAnswerSettingVO||{},"exam-rich-text-content":r.examRichTextContent,examAnswerRelationType:r.examAnswerRelationType,onMove:e=>A(c,e),onDelete:e=>E(c),onSave:e=>R(c,e),onEdit:e=>r.isEdit=!0,onAdd:e=>T(e,c,null)}),null,16,["order-index","title","is-save","is-set","answer-list","analysis","show-action","is-edit","exam-answer-setting-v-o","exam-rich-text-content","examAnswerRelationType","onMove","onDelete","onSave","onEdit","onAdd"])):"text_fill"===r.answerType?(e.openBlock(),e.createBlock(i.default,e.mergeProps({key:3,ref_for:!0},e.unref(y),{"order-index":c,title:r.title,"is-save":!r.isRealCanDel,"is-set":r.hasSet||!1,"answer-list":r.answers,analysis:r.analysis,"show-action":!l.isPreview,"is-edit":r.isEdit||!1,"exam-expand":r.examExpand,"exam-answer-setting-v-o":r.examAnswerSettingVO||{},examAnswerRelationType:r.examAnswerRelationType,"exam-rich-text-content":r.examRichTextContent,onMove:e=>A(c,e),onDelete:e=>E(c),onSave:e=>R(c,e),onEdit:e=>r.isEdit=!0,onAdd:e=>T(e,c,null)}),null,16,["order-index","title","is-save","is-set","answer-list","analysis","show-action","is-edit","exam-expand","exam-answer-setting-v-o","examAnswerRelationType","exam-rich-text-content","onMove","onDelete","onSave","onEdit","onAdd"])):"rich_text"===r.answerType?(e.openBlock(),e.createBlock(a.default,e.mergeProps({key:4,ref_for:!0},e.unref(y),{"order-index":c,richTextContent:r.richTextContent,"is-set":r.hasSet||!1,"is-save":!r.isRealCanDel,"is-edit":r.isEdit||!1,"show-action":!l.isPreview,onMove:e=>A(c,e),onDelete:e=>E(c),examAnswerRelationType:r.examAnswerRelationType,onSave:e=>R(c,e),onEdit:e=>r.isEdit=!0,onAdd:e=>T(e,c,null)}),null,16,["order-index","richTextContent","is-set","is-save","is-edit","show-action","onMove","onDelete","examAnswerRelationType","onSave","onEdit","onAdd"])):"page_end"===r.answerType?(e.openBlock(),e.createBlock(o.default,{"total-page":w.value.filter((e=>"page_end"===e.answerType)).length,key:c,"current-page-index":f(r.customId),item:r,"order-index":c,"is-edit":r.isEdit||!1,"is-set":r.hasSet||!1,"is-save":!r.isRealCanDel,examAnswerRelationType:r.examAnswerRelationType,onMove:e=>A(c,e),onDelete:e=>E(c),onSave:e=>R(c,e),onEdit:e=>r.isEdit=!0,onAdd:e=>T(e,c,null)},null,8,["total-page","current-page-index","item","order-index","is-edit","is-set","is-save","examAnswerRelationType","onMove","onDelete","onSave","onEdit","onAdd"])):e.createCommentVNode("v-if",!0)])))),128))])],2))}});exports.default=u;
|
2
2
|
//# sourceMappingURL=subject-list.vue.cjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"subject-list.vue.cjs","sources":["../../../../../../packages/components/src/subject-list/src/subject-list.vue"],"sourcesContent":["<script setup lang=\"ts\">\n// import isEqual from 'lodash/isEqual'\nimport SubjectBlankFill from './components/subject-blank-fill.vue'\nimport SubjectScale from './components/subject-scale.vue'\nimport SubjectSingle from './components/subject-single.vue'\nimport SubjectTextFill from './components/subject-text-fill.vue'\nimport SubjectRichText from './components/SubjectRichText.vue'\nimport SubjectPageEnd from './components/SubjectPageEnd.vue'\nimport { useNamespace } from '@qxs-bns/hooks'\nimport { setGuid } from '@qxs-bns/utils'\n\ndefineOptions({\n name: 'QxsSubjectList',\n})\n\nconst props = defineProps<{\n subjectList: any[]\n isPreview: boolean\n}>()\nconst currentList = ref([] as any)\nconst emits = defineEmits(['setRelation'])\n\nconst attrs = useAttrs()\n\ndefineExpose({\n addSubject,\n currentList,\n uploadExcel,\n addExam,\n setAnswerRelation,\n})\n\nfunction totalPageIndex() {\n let totalPageIndex = 0\n let isLastPageIndex = false\n currentList.value.map((v: any, i: number, arr: any) => {\n if (v.answerType === 'page_end') {\n totalPageIndex++\n isLastPageIndex = i === arr.length - 1\n }\n })\n // 假设最后是一个分页器认为是最后一页\n return isLastPageIndex ? totalPageIndex : totalPageIndex + 1\n}\n\nfunction currentPageIndex() {\n return (currentId: any) => {\n const currentPageList = currentList.value.filter(\n (v: any) => v.answerType === 'page_end'\n )\n let currentIndex = 0\n currentPageList?.forEach((c: any, i: number) => {\n if (currentId === c.id) {\n currentIndex = i + 1\n }\n })\n return currentIndex\n }\n}\n\nfunction addSubject(type: string, index: number, examAnswerRelationType: number | null) {\n console.log(index, 'index')\n if (index || index === 0) {\n currentList.value.splice(index + 1, 0, {\n customId: setGuid(),\n answerType: type,\n analysis: '',\n scaleQuestionList: [],\n isSave: false,\n isEdit: true,\n isRealCanDel: true,\n hasSet: false,\n examAnswerRelationType: examAnswerRelationType,\n })\n }\n else {\n currentList.value.push({\n customId: setGuid(),\n answerType: type,\n analysis: '',\n scaleQuestionList: [],\n isSave: false,\n isEdit: true,\n isRealCanDel: true,\n hasSet: false,\n examAnswerRelationType: examAnswerRelationType,\n })\n }\n}\n\nfunction addExam(item: any) {\n const answerList: any[] = []\n item.answers?.map((v: any) => {\n answerList.push({\n ...v,\n title: v.answer,\n answerId: v.examAnswerId,\n isCorrect: v.isCorrect,\n })\n })\n currentList.value.push({\n ...item,\n customId: setGuid(),\n answerType: item.richTextContent ? 'rich_text' : item.examTypeEnum,\n answers: answerList,\n isSave: false,\n isEdit: true,\n isRealCanDel: true,\n hasSet: false,\n })\n}\nfunction uploadExcel(list: any[]) {\n currentList.value = currentList.value.concat(list)\n}\n\nfunction move(index: number, type: 'up' | 'down') {\n if (type === 'up' && index > 0) {\n const [item] = currentList.value.splice(index, 1)\n currentList.value.splice(index - 1, 0, item)\n }\n else if (type === 'down' && index < currentList.value.length - 1) {\n const [item] = currentList.value.splice(index, 1)\n currentList.value.splice(index + 1, 0, item)\n }\n}\n\nfunction saveSubject(index: number, item: any) {\n for (let idx = 0; idx < currentList.value.length; idx++) {\n if (index === idx) {\n currentList.value[index] =\n {\n ...currentList.value[index],\n ...item,\n isEdit: false,\n examAnswerRelationType: item.examAnswerRelationType,\n }\n }\n }\n}\n\nfunction deleteSubject(index: number) {\n currentList.value.splice(index, 1)\n ElMessage.success('删除成功')\n}\n\nfunction setRelation(customId: number, examAnswers: any) {\n emits('setRelation', customId, examAnswers)\n}\n\nfunction setAnswerRelation(answerRelations: any, customId: string, customAnswerId: string,) {\n // 给examId设置答案关联\n if (answerRelations.length) {\n currentList.value?.map((v: any) => {\n if(v.customId === customId) {\n v.answers?.map((c: any) => {\n // 判断类型\n if(c.customAnswerId === customAnswerId) {\n c.answerRelations = answerRelations\n }\n })\n }\n })\n }\n}\n\nwatch(() => props.subjectList, (newList: any) => {\n if (newList) {\n currentList.value = [...newList]\n }\n}, { immediate: true })\n\nconst ns = useNamespace('subject-list')\n</script>\n\n<template>\n <div :class=\"ns.e('list-exam')\">\n <div class=\"subject-list-wrapper\">\n <div v-for=\"(item, index) in currentList\" :key=\"index + item.examId || item.title\">\n <template v-if=\"['single', 'multiple', 'sort'].includes(item.answerType)\">\n <SubjectSingle \n v-bind=\"attrs\" \n :order-index=\"index\" \n :title=\"item.title\" \n :type=\"item.answerType\"\n :exam-id=\"item.examId\"\n :isKey=\"item.isKey\" \n :is-save=\"!item.isRealCanDel\" \n :customId=\"item.customId\" \n :is-set=\"item.hasSet || false\"\n :answer-list=\"item.answers\" \n :analysis=\"item.analysis\" \n :least-answer-count=\"item.leastAnswerCount\"\n :is-edit=\"item.isEdit || false\" \n :show-action=\"!isPreview\" \n :exam-expand=\"item.examExpand\"\n :answerCheckType=\"item.answerCheckType\" \n :exam-rich-text-content=\"item.examRichTextContent\"\n :examAnswerRelationType=\"item.examAnswerRelationType\"\n @setRelation=\"setRelation\"\n @move=\"(type: 'up' | 'down') => move(index, type)\"\n @delete=\"deleteSubject(index)\"\n @save=\"(item: any) => saveSubject(index, item)\"\n @edit=\"item.isEdit = true\"\n @add=\"(type: string, examAnswerRelationType: number) => addSubject(type, index, examAnswerRelationType)\" />\n </template>\n <SubjectScale v-bind=\"attrs\" v-else-if=\"item.answerType === 'scale'\" :order-index=\"index\" :title=\"item.title\"\n :is-save=\"!item.isRealCanDel\" :is-set=\"item.hasSet || false\" :answer-list=\"item.answers\"\n :analysis=\"item.analysis\" :is-edit=\"item.isEdit || false\" :scale-question-list=\"item.scaleQuestionList\"\n :show-action=\"!isPreview\" :exam-rich-text-content=\"item.examRichTextContent\"\n :examAnswerRelationType=\"item.examAnswerRelationType\" @move=\"(type: 'up' | 'down') => move(index, type)\"\n @delete=\"deleteSubject(index)\" @save=\"(item: any) => saveSubject(index, item)\" @edit=\"item.isEdit = true\"\n @add=\"(type: string) => addSubject(type, index, null)\" />\n <SubjectBlankFill v-bind=\"attrs\" v-else-if=\"item.answerType === 'blank_fill'\" :order-index=\"index\"\n :title=\"item.title\" :is-save=\"!item.isRealCanDel\" :is-set=\"item.hasSet || false\" :answer-list=\"item.answers\"\n :analysis=\"item.analysis\" :show-action=\"!isPreview\" :is-edit=\"item.isEdit || false\"\n :exam-answer-setting-v-o=\"item.examAnswerSettingVO || {}\" :exam-rich-text-content=\"item.examRichTextContent\"\n :examAnswerRelationType=\"item.examAnswerRelationType\" @move=\"(type: 'up' | 'down') => move(index, type)\"\n @delete=\"deleteSubject(index)\" @save=\"(item: any) => saveSubject(index, item)\" @edit=\"item.isEdit = true\"\n @add=\"(type: string) => addSubject(type, index, null)\" />\n <SubjectTextFill v-bind=\"attrs\" v-else-if=\"item.answerType === 'text_fill'\" :order-index=\"index\"\n :title=\"item.title\" :is-save=\"!item.isRealCanDel\" :is-set=\"item.hasSet || false\" :answer-list=\"item.answers\"\n :analysis=\"item.analysis\" :show-action=\"!isPreview\" :is-edit=\"item.isEdit || false\"\n :exam-expand=\"item.examExpand\" :exam-answer-setting-v-o=\"item.examAnswerSettingVO || {}\"\n :examAnswerRelationType=\"item.examAnswerRelationType\" :exam-rich-text-content=\"item.examRichTextContent\"\n @move=\"(type: 'up' | 'down') => move(index, type)\" @delete=\"deleteSubject(index)\"\n @save=\"(item: any) => saveSubject(index, item)\" @edit=\"item.isEdit = true\"\n @add=\"(type: string) => addSubject(type, index, null)\" />\n <SubjectRichText v-bind=\"attrs\" v-else-if=\"item.answerType === 'rich_text'\" :order-index=\"index\"\n :richTextContent=\"item.richTextContent\" :is-set=\"item.hasSet || false\" :is-save=\"!item.isRealCanDel\"\n :is-edit=\"item.isEdit || false\" :show-action=\"!isPreview\" @move=\"(type: 'up' | 'down') => move(index, type)\"\n @delete=\"deleteSubject(index)\" :examAnswerRelationType=\"item.examAnswerRelationType\"\n @save=\"(item: any) => saveSubject(index, item)\" @edit=\"item.isEdit = true\"\n @add=\"(type: string) => addSubject(type, index, null)\" />\n <SubjectPageEnd v-else-if=\"item.answerType === 'page_end'\" :total-page=\"totalPageIndex()\" :key=\"index\"\n :current-page-index=\"currentPageIndex()(item.id)\" :item=\"item\" :order-index=\"index\"\n :is-edit=\"item.isEdit || false\" :is-set=\"item.hasSet || false\" :is-save=\"!item.isRealCanDel\"\n :examAnswerRelationType=\"item.examAnswerRelationType\" @move=\"(type: 'up' | 'down') => move(index, type)\"\n @delete=\"deleteSubject(index)\" @save=\"(item: any) => saveSubject(index, item)\" @edit=\"item.isEdit = true\"\n @add=\"(type: string) => addSubject(type, index, null)\" />\n </div>\n </div>\n </div>\n</template>\n"],"names":["props","__props","currentList","ref","emits","__emit","attrs","useAttrs","totalPageIndex","isLastPageIndex","value","map","v","i","arr","answerType","length","addSubject","type","index","examAnswerRelationType","console","log","splice","customId","setGuid","analysis","scaleQuestionList","isSave","isEdit","isRealCanDel","hasSet","push","move","item","saveSubject","idx","deleteSubject","ElMessage","success","setRelation","examAnswers","__expose","uploadExcel","list","concat","addExam","answerList","answers","title","answer","answerId","examAnswerId","isCorrect","richTextContent","examTypeEnum","setAnswerRelation","answerRelations","customAnswerId","c","watch","subjectList","newList","immediate","ns","useNamespace","currentId","currentPageList","filter","currentIndex","forEach","id"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"subject-list.vue.cjs","sources":["../../../../../../packages/components/src/subject-list/src/subject-list.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport SubjectBlankFill from './components/subject-blank-fill.vue'\nimport SubjectScale from './components/subject-scale.vue'\nimport SubjectSingle from './components/subject-single.vue'\nimport SubjectTextFill from './components/subject-text-fill.vue'\nimport SubjectRichText from './components/SubjectRichText.vue'\nimport SubjectPageEnd from './components/SubjectPageEnd.vue'\nimport { useNamespace } from '@qxs-bns/hooks'\nimport { setGuid } from '@qxs-bns/utils'\n\ndefineOptions({\n name: 'QxsSubjectList',\n})\n\nconst props = defineProps<{\n subjectList: any[]\n isPreview: boolean\n}>()\nconst currentList = ref([] as any)\nconst emits = defineEmits(['setRelation'])\n\nconst attrs = useAttrs()\n\ndefineExpose({\n addSubject,\n currentList,\n uploadExcel,\n addExam,\n setAnswerRelation,\n})\n\nfunction totalPageIndex() {\n return currentList.value.filter((v: any) => v.answerType === 'page_end').length\n}\n\nfunction currentPageIndex(currentId: any) {\n const currentPageList = currentList.value.filter((v: any) => v.answerType === 'page_end')\n const currentIndex = currentPageList.findIndex((c: any) => c.customId === currentId)\n return currentIndex + 1\n}\n\nfunction addPageEnd() {\n currentList.value.push({\n customId: setGuid(),\n answerType: 'page_end',\n analysis: '',\n scaleQuestionList: [],\n isSave: false,\n isEdit: true,\n isRealCanDel: true,\n hasSet: false,\n examAnswerRelationType: 0,\n })\n}\n\nfunction addSubject(type: string, index: number | null = null, examAnswerRelationType: number | null = null) {\n const newSubject = {\n customId: setGuid(),\n answerType: type,\n analysis: '',\n scaleQuestionList: [],\n isSave: false,\n isEdit: true,\n isRealCanDel: true,\n hasSet: false,\n examAnswerRelationType,\n }\n\n if (index !== null) {\n currentList.value.splice(index + 1, 0, newSubject)\n } else {\n currentList.value.push(newSubject)\n }\n}\n\nfunction addExam(item: any) {\n const answerList = item.answers?.map((v: any) => ({\n ...v,\n title: v.answer,\n answerId: v.examAnswerId,\n isCorrect: v.isCorrect,\n })) || []\n\n currentList.value.push({\n ...item,\n customId: setGuid(),\n answerType: item.richTextContent ? 'rich_text' : item.examTypeEnum,\n answers: answerList,\n isSave: false,\n isEdit: true,\n isRealCanDel: true,\n hasSet: false,\n })\n\n if (item.pageIndex - currentPageIndex(item.customId) === 1) {\n addPageEnd()\n }\n\n if (currentPageIndex(item.customId) > 1) {\n addPageEnd()\n }\n}\n\nfunction uploadExcel(list: any[]) {\n currentList.value = currentList.value.concat(list)\n}\n\nfunction move(index: number, type: 'up' | 'down') {\n if (type === 'up' && index > 0) {\n const [item] = currentList.value.splice(index, 1)\n currentList.value.splice(index - 1, 0, item)\n } else if (type === 'down' && index < currentList.value.length - 1) {\n const [item] = currentList.value.splice(index, 1)\n currentList.value.splice(index + 1, 0, item)\n }\n}\n\nfunction saveSubject(index: number, item: any) {\n currentList.value[index] = {\n ...currentList.value[index],\n ...item,\n isEdit: false,\n examAnswerRelationType: item.examAnswerRelationType,\n }\n}\n\nfunction deleteSubject(index: number) {\n currentList.value.splice(index, 1)\n ElMessage.success('删除成功')\n}\n\nfunction setRelation(customId: number, examAnswers: any) {\n emits('setRelation', customId, examAnswers)\n}\n\nfunction setAnswerRelation(answerRelations: any, customId: string, customAnswerId: string) {\n if (answerRelations.length) {\n const targetItem = currentList.value.find((v: any) => v.customId === customId)\n if (targetItem) {\n const targetAnswer = targetItem.answers?.find((c: any) => c.customAnswerId === customAnswerId)\n if (targetAnswer) {\n targetAnswer.answerRelations = answerRelations\n }\n }\n }\n}\n\nwatch(() => props.subjectList, (newList: any) => {\n if (newList) {\n currentList.value = [...newList]\n }\n}, { immediate: true })\n\nconst ns = useNamespace('subject-list')\n</script>\n\n<template>\n <div :class=\"ns.e('list-exam')\">\n <div class=\"subject-list-wrapper\">\n <div v-for=\"(item, index) in currentList\" :key=\"item.customId\" class=\"subject-item\">\n <template v-if=\"['single', 'multiple', 'sort'].includes(item.answerType)\">\n <SubjectSingle \n v-bind=\"attrs\" \n :order-index=\"index\" \n :title=\"item.title\" \n :type=\"item.answerType\"\n :exam-id=\"item.examId\"\n :isKey=\"item.isKey\" \n :is-save=\"!item.isRealCanDel\" \n :customId=\"item.customId\" \n :is-set=\"item.hasSet || false\"\n :answer-list=\"item.answers\" \n :analysis=\"item.analysis\" \n :least-answer-count=\"item.leastAnswerCount\"\n :is-edit=\"item.isEdit || false\" \n :show-action=\"!isPreview\" \n :exam-expand=\"item.examExpand\"\n :answerCheckType=\"item.answerCheckType\" \n :exam-rich-text-content=\"item.examRichTextContent\"\n :examAnswerRelationType=\"item.examAnswerRelationType\"\n @setRelation=\"setRelation\"\n @move=\"(type: 'up' | 'down') => move(index, type)\"\n @delete=\"deleteSubject(index)\"\n @save=\"(item: any) => saveSubject(index, item)\"\n @edit=\"item.isEdit = true\"\n @add=\"(type: string, examAnswerRelationType: number) => addSubject(type, index, examAnswerRelationType)\" />\n </template>\n <SubjectScale v-bind=\"attrs\" v-else-if=\"item.answerType === 'scale'\" :order-index=\"index\" :title=\"item.title\"\n :is-save=\"!item.isRealCanDel\" :is-set=\"item.hasSet || false\" :answer-list=\"item.answers\"\n :analysis=\"item.analysis\" :is-edit=\"item.isEdit || false\" :scale-question-list=\"item.scaleQuestionList\"\n :show-action=\"!isPreview\" :exam-rich-text-content=\"item.examRichTextContent\"\n :examAnswerRelationType=\"item.examAnswerRelationType\" @move=\"(type: 'up' | 'down') => move(index, type)\"\n @delete=\"deleteSubject(index)\" @save=\"(item: any) => saveSubject(index, item)\" @edit=\"item.isEdit = true\"\n @add=\"(type: string) => addSubject(type, index, null)\" />\n <SubjectBlankFill v-bind=\"attrs\" v-else-if=\"item.answerType === 'blank_fill'\" :order-index=\"index\"\n :title=\"item.title\" :is-save=\"!item.isRealCanDel\" :is-set=\"item.hasSet || false\" :answer-list=\"item.answers\"\n :analysis=\"item.analysis\" :show-action=\"!isPreview\" :is-edit=\"item.isEdit || false\"\n :exam-answer-setting-v-o=\"item.examAnswerSettingVO || {}\" :exam-rich-text-content=\"item.examRichTextContent\"\n :examAnswerRelationType=\"item.examAnswerRelationType\" @move=\"(type: 'up' | 'down') => move(index, type)\"\n @delete=\"deleteSubject(index)\" @save=\"(item: any) => saveSubject(index, item)\" @edit=\"item.isEdit = true\"\n @add=\"(type: string) => addSubject(type, index, null)\" />\n <SubjectTextFill v-bind=\"attrs\" v-else-if=\"item.answerType === 'text_fill'\" :order-index=\"index\"\n :title=\"item.title\" :is-save=\"!item.isRealCanDel\" :is-set=\"item.hasSet || false\" :answer-list=\"item.answers\"\n :analysis=\"item.analysis\" :show-action=\"!isPreview\" :is-edit=\"item.isEdit || false\"\n :exam-expand=\"item.examExpand\" :exam-answer-setting-v-o=\"item.examAnswerSettingVO || {}\"\n :examAnswerRelationType=\"item.examAnswerRelationType\" :exam-rich-text-content=\"item.examRichTextContent\"\n @move=\"(type: 'up' | 'down') => move(index, type)\" @delete=\"deleteSubject(index)\"\n @save=\"(item: any) => saveSubject(index, item)\" @edit=\"item.isEdit = true\"\n @add=\"(type: string) => addSubject(type, index, null)\" />\n <SubjectRichText v-bind=\"attrs\" v-else-if=\"item.answerType === 'rich_text'\" :order-index=\"index\"\n :richTextContent=\"item.richTextContent\" :is-set=\"item.hasSet || false\" :is-save=\"!item.isRealCanDel\"\n :is-edit=\"item.isEdit || false\" :show-action=\"!isPreview\" @move=\"(type: 'up' | 'down') => move(index, type)\"\n @delete=\"deleteSubject(index)\" :examAnswerRelationType=\"item.examAnswerRelationType\"\n @save=\"(item: any) => saveSubject(index, item)\" @edit=\"item.isEdit = true\"\n @add=\"(type: string) => addSubject(type, index, null)\" />\n <SubjectPageEnd v-else-if=\"item.answerType === 'page_end'\" :total-page=\"totalPageIndex()\" :key=\"index\"\n :current-page-index=\"currentPageIndex(item.customId)\" :item=\"item\" :order-index=\"index\"\n :is-edit=\"item.isEdit || false\" :is-set=\"item.hasSet || false\" :is-save=\"!item.isRealCanDel\"\n :examAnswerRelationType=\"item.examAnswerRelationType\" @move=\"(type: 'up' | 'down') => move(index, type)\"\n @delete=\"deleteSubject(index)\" @save=\"(item: any) => saveSubject(index, item)\" @edit=\"item.isEdit = true\"\n @add=\"(type: string) => addSubject(type, index, null)\" />\n </div>\n </div>\n </div>\n</template>\n"],"names":["props","__props","currentList","ref","emits","__emit","attrs","useAttrs","currentPageIndex","currentId","value","filter","v","answerType","findIndex","c","customId","addPageEnd","push","setGuid","analysis","scaleQuestionList","isSave","isEdit","isRealCanDel","hasSet","examAnswerRelationType","addSubject","type","index","newSubject","splice","move","item","length","saveSubject","deleteSubject","ElMessage","success","setRelation","examAnswers","__expose","uploadExcel","list","concat","addExam","answerList","answers","map","title","answer","answerId","examAnswerId","isCorrect","richTextContent","examTypeEnum","pageIndex","setAnswerRelation","answerRelations","customAnswerId","targetItem","find","targetAnswer","watch","subjectList","newList","immediate","ns","useNamespace"],"mappings":"0sBAcA,MAAMA,EAAQC,EAIRC,EAAcC,EAAIA,IAAA,IAClBC,EAAQC,EAERC,EAAQC,EAAAA,WAcd,SAASC,EAAiBC,GAGxB,OAFwBP,EAAYQ,MAAMC,QAAQC,GAA4B,aAAjBA,EAAEC,aAC1BC,WAAWC,GAAWA,EAAEC,WAAaP,IACpD,CAAA,CAGxB,SAASQ,IACPf,EAAYQ,MAAMQ,KAAK,CACrBF,SAAUG,EAAAA,UACVN,WAAY,WACZO,SAAU,GACVC,kBAAmB,GACnBC,QAAQ,EACRC,QAAQ,EACRC,cAAc,EACdC,QAAQ,EACRC,uBAAwB,GACzB,CAGH,SAASC,EAAWC,EAAcC,EAAuB,KAAMH,EAAwC,MACrG,MAAMI,EAAa,CACjBd,SAAUG,EAAAA,UACVN,WAAYe,EACZR,SAAU,GACVC,kBAAmB,GACnBC,QAAQ,EACRC,QAAQ,EACRC,cAAc,EACdC,QAAQ,EACRC,0BAGY,OAAVG,EACF3B,EAAYQ,MAAMqB,OAAOF,EAAQ,EAAG,EAAGC,GAE3B5B,EAAAQ,MAAMQ,KAAKY,EACzB,CAmCO,SAAAE,EAAKH,EAAeD,GACvB,GAAS,OAATA,GAAiBC,EAAQ,EAAG,CAC9B,MAAOI,GAAQ/B,EAAYQ,MAAMqB,OAAOF,EAAO,GAC/C3B,EAAYQ,MAAMqB,OAAOF,EAAQ,EAAG,EAAGI,EAAI,SACzB,SAATL,GAAmBC,EAAQ3B,EAAYQ,MAAMwB,OAAS,EAAG,CAClE,MAAOD,GAAQ/B,EAAYQ,MAAMqB,OAAOF,EAAO,GAC/C3B,EAAYQ,MAAMqB,OAAOF,EAAQ,EAAG,EAAGI,EAAI,CAC7C,CAGO,SAAAE,EAAYN,EAAeI,GACtB/B,EAAAQ,MAAMmB,GAAS,IACtB3B,EAAYQ,MAAMmB,MAClBI,EACHV,QAAQ,EACRG,uBAAwBO,EAAKP,uBAC/B,CAGF,SAASU,EAAcP,GACT3B,EAAAQ,MAAMqB,OAAOF,EAAO,GAChCQ,EAAAA,UAAUC,QAAQ,OAAM,CAGjB,SAAAC,EAAYvB,EAAkBwB,GAC/BpC,EAAA,cAAeY,EAAUwB,EAAW,CA7G/BC,EAAA,CACXd,aACAzB,cACAwC,YA6EF,SAAqBC,GACnBzC,EAAYQ,MAAQR,EAAYQ,MAAMkC,OAAOD,EAAI,EA7EjDE,QAgDF,SAAiBZ,GACf,MAAMa,EAAab,EAAKc,SAASC,KAAKpC,IAAY,IAC7CA,EACHqC,MAAOrC,EAAEsC,OACTC,SAAUvC,EAAEwC,aACZC,UAAWzC,EAAEyC,eACR,GAEPnD,EAAYQ,MAAMQ,KAAK,IAClBe,EACHjB,SAAUG,EAAAA,UACVN,WAAYoB,EAAKqB,gBAAkB,YAAcrB,EAAKsB,aACtDR,QAASD,EACTxB,QAAQ,EACRC,QAAQ,EACRC,cAAc,EACdC,QAAQ,IAGNQ,EAAKuB,UAAYhD,EAAiByB,EAAKjB,WAAc,GAC5CC,IAGTT,EAAiByB,EAAKjB,UAAY,GACzBC,GACb,EAxEAwC,kBA2GO,SAAkBC,EAAsB1C,EAAkB2C,GACjE,GAAID,EAAgBxB,OAAQ,CACpB,MAAA0B,EAAa1D,EAAYQ,MAAMmD,MAAMjD,GAAWA,EAAEI,WAAaA,IACrE,GAAI4C,EAAY,CACR,MAAAE,EAAeF,EAAWb,SAASc,MAAM9C,GAAWA,EAAE4C,iBAAmBA,IAC3EG,IACFA,EAAaJ,gBAAkBA,EACjC,CACF,CACF,IAGFK,EAAAA,OAAM,IAAM/D,EAAMgE,cAAcC,IAC1BA,IACU/D,EAAAQ,MAAQ,IAAIuD,GAAO,GAEhC,CAAEC,WAAW,IAEV,MAAAC,EAAKC,eAAa,6mIAzHflE,EAAYQ,MAAMC,QAAQC,GAA4B,aAAjBA,EAAEC,aAA2BqB"}
|
package/package.json
CHANGED
@@ -1,7 +1,5 @@
|
|
1
1
|
declare const QxsSubjectAction: import("../withInstall").SFCWithInstall<import("vue").DefineComponent<globalThis.ExtractPropTypes<{
|
2
|
-
isEdit:
|
3
|
-
type: BooleanConstructor;
|
4
|
-
};
|
2
|
+
isEdit: BooleanConstructor;
|
5
3
|
isSet: {
|
6
4
|
type: BooleanConstructor;
|
7
5
|
default: boolean;
|
@@ -29,17 +27,15 @@ declare const QxsSubjectAction: import("../withInstall").SFCWithInstall<import("
|
|
29
27
|
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
30
28
|
delete: (...args: any[]) => void;
|
31
29
|
add: (...args: any[]) => void;
|
32
|
-
|
33
|
-
|
30
|
+
"move-up": (...args: any[]) => void;
|
31
|
+
"move-down": (...args: any[]) => void;
|
34
32
|
save: (...args: any[]) => void;
|
35
33
|
edit: (...args: any[]) => void;
|
36
|
-
|
37
|
-
|
38
|
-
|
34
|
+
"on-show-rich-text": (...args: any[]) => void;
|
35
|
+
"set-key": (...args: any[]) => void;
|
36
|
+
"set-answer-setting": (...args: any[]) => void;
|
39
37
|
}, string, import("vue").PublicProps, Readonly<globalThis.ExtractPropTypes<{
|
40
|
-
isEdit:
|
41
|
-
type: BooleanConstructor;
|
42
|
-
};
|
38
|
+
isEdit: BooleanConstructor;
|
43
39
|
isSet: {
|
44
40
|
type: BooleanConstructor;
|
45
41
|
default: boolean;
|
@@ -67,13 +63,13 @@ declare const QxsSubjectAction: import("../withInstall").SFCWithInstall<import("
|
|
67
63
|
}>> & Readonly<{
|
68
64
|
onDelete?: ((...args: any[]) => any) | undefined;
|
69
65
|
onAdd?: ((...args: any[]) => any) | undefined;
|
70
|
-
|
71
|
-
|
66
|
+
"onMove-up"?: ((...args: any[]) => any) | undefined;
|
67
|
+
"onMove-down"?: ((...args: any[]) => any) | undefined;
|
72
68
|
onSave?: ((...args: any[]) => any) | undefined;
|
73
69
|
onEdit?: ((...args: any[]) => any) | undefined;
|
74
|
-
|
75
|
-
|
76
|
-
|
70
|
+
"onOn-show-rich-text"?: ((...args: any[]) => any) | undefined;
|
71
|
+
"onSet-key"?: ((...args: any[]) => any) | undefined;
|
72
|
+
"onSet-answer-setting"?: ((...args: any[]) => any) | undefined;
|
77
73
|
}>, {
|
78
74
|
isEdit: boolean;
|
79
75
|
isSet: boolean;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/components/src/subject-action/index.ts"],"names":[],"mappings":"AAGA,QAAA,MAAM,gBAAgB
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/components/src/subject-action/index.ts"],"names":[],"mappings":"AAGA,QAAA,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mGAAyB,CAAA;AAE/C,OAAO,EACL,gBAAgB,EACjB,CAAA;AAED,eAAe,gBAAgB,CAAA"}
|
@@ -1,7 +1,5 @@
|
|
1
1
|
declare const _default: import("vue").DefineComponent<globalThis.ExtractPropTypes<{
|
2
|
-
isEdit:
|
3
|
-
type: BooleanConstructor;
|
4
|
-
};
|
2
|
+
isEdit: BooleanConstructor;
|
5
3
|
isSet: {
|
6
4
|
type: BooleanConstructor;
|
7
5
|
default: boolean;
|
@@ -29,17 +27,15 @@ declare const _default: import("vue").DefineComponent<globalThis.ExtractPropType
|
|
29
27
|
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
30
28
|
delete: (...args: any[]) => void;
|
31
29
|
add: (...args: any[]) => void;
|
32
|
-
|
33
|
-
|
30
|
+
"move-up": (...args: any[]) => void;
|
31
|
+
"move-down": (...args: any[]) => void;
|
34
32
|
save: (...args: any[]) => void;
|
35
33
|
edit: (...args: any[]) => void;
|
36
|
-
|
37
|
-
|
38
|
-
|
34
|
+
"on-show-rich-text": (...args: any[]) => void;
|
35
|
+
"set-key": (...args: any[]) => void;
|
36
|
+
"set-answer-setting": (...args: any[]) => void;
|
39
37
|
}, string, import("vue").PublicProps, Readonly<globalThis.ExtractPropTypes<{
|
40
|
-
isEdit:
|
41
|
-
type: BooleanConstructor;
|
42
|
-
};
|
38
|
+
isEdit: BooleanConstructor;
|
43
39
|
isSet: {
|
44
40
|
type: BooleanConstructor;
|
45
41
|
default: boolean;
|
@@ -67,13 +63,13 @@ declare const _default: import("vue").DefineComponent<globalThis.ExtractPropType
|
|
67
63
|
}>> & Readonly<{
|
68
64
|
onDelete?: ((...args: any[]) => any) | undefined;
|
69
65
|
onAdd?: ((...args: any[]) => any) | undefined;
|
70
|
-
|
71
|
-
|
66
|
+
"onMove-up"?: ((...args: any[]) => any) | undefined;
|
67
|
+
"onMove-down"?: ((...args: any[]) => any) | undefined;
|
72
68
|
onSave?: ((...args: any[]) => any) | undefined;
|
73
69
|
onEdit?: ((...args: any[]) => any) | undefined;
|
74
|
-
|
75
|
-
|
76
|
-
|
70
|
+
"onOn-show-rich-text"?: ((...args: any[]) => any) | undefined;
|
71
|
+
"onSet-key"?: ((...args: any[]) => any) | undefined;
|
72
|
+
"onSet-answer-setting"?: ((...args: any[]) => any) | undefined;
|
77
73
|
}>, {
|
78
74
|
isEdit: boolean;
|
79
75
|
isSet: boolean;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"subject-action.vue.d.ts","sourceRoot":"","sources":["../../../../../../packages/components/src/subject-action/src/subject-action.vue"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"subject-action.vue.d.ts","sourceRoot":"","sources":["../../../../../../packages/components/src/subject-action/src/subject-action.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAs3BA,wBAiCG"}
|
@@ -2,7 +2,7 @@ declare const QxsSubjectList: import("../withInstall").SFCWithInstall<import("vu
|
|
2
2
|
subjectList: any[];
|
3
3
|
isPreview: boolean;
|
4
4
|
}, {
|
5
|
-
addSubject: (type: string, index
|
5
|
+
addSubject: (type: string, index?: number | null, examAnswerRelationType?: number | null) => void;
|
6
6
|
currentList: globalThis.Ref<any, any>;
|
7
7
|
uploadExcel: (list: any[]) => void;
|
8
8
|
addExam: (item: any) => void;
|
@@ -2,7 +2,7 @@ type __VLS_Props = {
|
|
2
2
|
subjectList: any[];
|
3
3
|
isPreview: boolean;
|
4
4
|
};
|
5
|
-
declare function addSubject(type: string, index
|
5
|
+
declare function addSubject(type: string, index?: number | null, examAnswerRelationType?: number | null): void;
|
6
6
|
declare function addExam(item: any): void;
|
7
7
|
declare function uploadExcel(list: any[]): void;
|
8
8
|
declare function setAnswerRelation(answerRelations: any, customId: string, customAnswerId: string): void;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"subject-list.vue.d.ts","sourceRoot":"","sources":["../../../../../../packages/components/src/subject-list/src/subject-list.vue"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"subject-list.vue.d.ts","sourceRoot":"","sources":["../../../../../../packages/components/src/subject-list/src/subject-list.vue"],"names":[],"mappings":"AAgPA,KAAK,WAAW,GAAG;IACjB,WAAW,EAAE,GAAG,EAAE,CAAA;IAClB,SAAS,EAAE,OAAO,CAAA;CACnB,CAAC;AAwCF,iBAAS,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,GAAE,MAAM,GAAG,IAAW,EAAE,sBAAsB,GAAE,MAAM,GAAG,IAAW,QAkB1G;AAED,iBAAS,OAAO,CAAC,IAAI,EAAE,GAAG,QA0BzB;AAED,iBAAS,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,QAE/B;AA8BD,iBAAS,iBAAiB,CAAC,eAAe,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,QAUxF;;;;;;;;;;;;AA0dD,wBAQG"}
|