@qxs-bns/components 0.0.17 → 0.0.19
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/_virtual/@amap/amap-jsapi-loader/dist/index.mjs +1 -1
- package/es/_virtual/index17.mjs +2 -2
- package/es/_virtual/index18.mjs +2 -2
- package/es/_virtual/index19.mjs +2 -2
- package/es/_virtual/index21.mjs +2 -2
- package/es/_virtual/index22.mjs +2 -2
- package/es/_virtual/index23.mjs +2 -2
- package/es/_virtual/index24.mjs +2 -2
- package/es/_virtual/index25.mjs +2 -2
- package/es/_virtual/index26.mjs +2 -2
- package/es/_virtual/index27.mjs +2 -2
- package/es/_virtual/index28.mjs +2 -2
- package/es/_virtual/index29.mjs +2 -2
- package/es/_virtual/index31.mjs +2 -2
- package/es/_virtual/index32.mjs +2 -2
- package/es/_virtual/tinymce/models/dom/index.mjs +1 -1
- package/es/_virtual/tinymce/plugins/autolink/index.mjs +1 -1
- package/es/_virtual/tinymce/plugins/autolink/plugin.mjs +1 -1
- package/es/_virtual/tinymce/plugins/autoresize/index.mjs +1 -1
- package/es/_virtual/tinymce/plugins/autoresize/plugin.mjs +1 -1
- package/es/_virtual/tinymce/plugins/code/index.mjs +1 -1
- package/es/_virtual/tinymce/plugins/fullscreen/index.mjs +1 -1
- package/es/_virtual/tinymce/plugins/image/index.mjs +1 -1
- package/es/_virtual/tinymce/plugins/image/plugin.mjs +1 -1
- package/es/_virtual/tinymce/plugins/insertdatetime/index.mjs +1 -1
- package/es/_virtual/tinymce/plugins/insertdatetime/plugin.mjs +1 -1
- package/es/_virtual/tinymce/plugins/link/index.mjs +1 -1
- package/es/_virtual/tinymce/plugins/lists/index.mjs +1 -1
- package/es/_virtual/tinymce/plugins/media/index.mjs +1 -1
- package/es/_virtual/tinymce/plugins/nonbreaking/index.mjs +1 -1
- package/es/_virtual/tinymce/plugins/nonbreaking/plugin.mjs +1 -1
- package/es/_virtual/tinymce/plugins/preview/index.mjs +1 -1
- package/es/_virtual/tinymce/plugins/searchreplace/index.mjs +1 -1
- package/es/_virtual/tinymce/plugins/searchreplace/plugin.mjs +1 -1
- package/es/_virtual/tinymce/plugins/table/index.mjs +1 -1
- package/es/_virtual/tinymce/plugins/table/plugin.mjs +1 -1
- package/es/_virtual/tinymce/plugins/wordcount/index.mjs +1 -1
- package/es/_virtual/tinymce/plugins/wordcount/plugin.mjs +1 -1
- package/es/components.css +1 -1
- package/es/package.json.mjs +1 -1
- package/es/src/subject-action/src/subject-action.vue.mjs +2 -2
- package/es/src/subject-action/src/subject-action.vue2.mjs +3 -3
- package/es/src/subject-action/src/subject-action.vue2.mjs.map +1 -1
- package/es/src/subject-layout/src/subject-layout.vue.d.ts.map +1 -1
- package/es/src/subject-layout/src/subject-layout.vue.mjs +1 -1
- package/es/src/subject-layout/src/subject-layout.vue2.mjs +13 -9
- package/es/src/subject-layout/src/subject-layout.vue2.mjs.map +1 -1
- package/es/src/subject-list/src/components/SubjectPageEnd.vue.mjs +2 -2
- package/es/src/subject-list/src/components/SubjectPageEnd.vue2.mjs +12 -12
- package/es/src/subject-list/src/components/SubjectPageEnd.vue2.mjs.map +1 -1
- package/es/src/subject-list/src/components/SubjectRichText.vue.d.ts.map +1 -1
- package/es/src/subject-list/src/components/SubjectRichText.vue.mjs +2 -2
- package/es/src/subject-list/src/components/SubjectRichText.vue2.mjs +17 -16
- package/es/src/subject-list/src/components/SubjectRichText.vue2.mjs.map +1 -1
- package/es/src/subject-list/src/components/subject-single.vue.mjs +2 -2
- package/es/src/subject-list/src/components/subject-single.vue2.mjs +60 -59
- package/es/src/subject-list/src/components/subject-single.vue2.mjs.map +1 -1
- package/es/src/subject-list/src/subject-list.vue.d.ts.map +1 -1
- package/es/src/subject-list/src/subject-list.vue.mjs +2 -2
- package/es/src/subject-list/src/subject-list.vue2.mjs +186 -178
- package/es/src/subject-list/src/subject-list.vue2.mjs.map +1 -1
- package/es/theme-chalk/index.css +15 -25
- package/es/theme-chalk/subject-layout.css +3 -3
- package/es/theme-chalk/subject-layout.scss +2 -0
- package/es/theme-chalk/subject-list.css +12 -22
- package/es/theme-chalk/subject-list.scss +35 -36
- package/lib/_virtual/@amap/amap-jsapi-loader/dist/index.js +1 -1
- package/lib/_virtual/index17.js +2 -2
- package/lib/_virtual/index18.js +2 -2
- package/lib/_virtual/index19.js +2 -2
- package/lib/_virtual/index21.js +2 -2
- package/lib/_virtual/index22.js +2 -2
- package/lib/_virtual/index23.js +2 -2
- package/lib/_virtual/index24.js +2 -2
- package/lib/_virtual/index25.js +2 -2
- package/lib/_virtual/index26.js +2 -2
- package/lib/_virtual/index27.js +2 -2
- package/lib/_virtual/index28.js +2 -2
- package/lib/_virtual/index29.js +2 -2
- package/lib/_virtual/index31.js +2 -2
- package/lib/_virtual/index32.js +2 -2
- package/lib/_virtual/tinymce/models/dom/index.js +1 -1
- package/lib/_virtual/tinymce/plugins/autolink/index.js +1 -1
- package/lib/_virtual/tinymce/plugins/autolink/plugin.js +1 -1
- package/lib/_virtual/tinymce/plugins/autoresize/index.js +1 -1
- package/lib/_virtual/tinymce/plugins/autoresize/plugin.js +1 -1
- package/lib/_virtual/tinymce/plugins/code/index.js +1 -1
- package/lib/_virtual/tinymce/plugins/fullscreen/index.js +1 -1
- package/lib/_virtual/tinymce/plugins/image/index.js +1 -1
- package/lib/_virtual/tinymce/plugins/image/plugin.js +1 -1
- package/lib/_virtual/tinymce/plugins/insertdatetime/index.js +1 -1
- package/lib/_virtual/tinymce/plugins/insertdatetime/plugin.js +1 -1
- package/lib/_virtual/tinymce/plugins/link/index.js +1 -1
- package/lib/_virtual/tinymce/plugins/lists/index.js +1 -1
- package/lib/_virtual/tinymce/plugins/media/index.js +1 -1
- package/lib/_virtual/tinymce/plugins/nonbreaking/index.js +1 -1
- package/lib/_virtual/tinymce/plugins/nonbreaking/plugin.js +1 -1
- package/lib/_virtual/tinymce/plugins/preview/index.js +1 -1
- package/lib/_virtual/tinymce/plugins/searchreplace/index.js +1 -1
- package/lib/_virtual/tinymce/plugins/searchreplace/plugin.js +1 -1
- package/lib/_virtual/tinymce/plugins/table/index.js +1 -1
- package/lib/_virtual/tinymce/plugins/table/plugin.js +1 -1
- package/lib/_virtual/tinymce/plugins/wordcount/index.js +1 -1
- package/lib/_virtual/tinymce/plugins/wordcount/plugin.js +1 -1
- package/lib/components.css +1 -1
- package/lib/package.json.js +1 -1
- package/lib/src/subject-action/src/subject-action.vue.js +2 -2
- package/lib/src/subject-action/src/subject-action.vue2.js +3 -3
- package/lib/src/subject-action/src/subject-action.vue2.js.map +1 -1
- package/lib/src/subject-layout/src/subject-layout.vue.d.ts.map +1 -1
- package/lib/src/subject-layout/src/subject-layout.vue.js +1 -1
- package/lib/src/subject-layout/src/subject-layout.vue2.js +13 -9
- package/lib/src/subject-layout/src/subject-layout.vue2.js.map +1 -1
- package/lib/src/subject-list/src/components/SubjectPageEnd.vue.js +2 -2
- package/lib/src/subject-list/src/components/SubjectPageEnd.vue2.js +12 -12
- package/lib/src/subject-list/src/components/SubjectPageEnd.vue2.js.map +1 -1
- package/lib/src/subject-list/src/components/SubjectRichText.vue.d.ts.map +1 -1
- package/lib/src/subject-list/src/components/SubjectRichText.vue.js +2 -2
- package/lib/src/subject-list/src/components/SubjectRichText.vue2.js +17 -16
- package/lib/src/subject-list/src/components/SubjectRichText.vue2.js.map +1 -1
- package/lib/src/subject-list/src/components/subject-single.vue.js +2 -2
- package/lib/src/subject-list/src/components/subject-single.vue2.js +60 -59
- package/lib/src/subject-list/src/components/subject-single.vue2.js.map +1 -1
- package/lib/src/subject-list/src/subject-list.vue.d.ts.map +1 -1
- package/lib/src/subject-list/src/subject-list.vue.js +2 -2
- package/lib/src/subject-list/src/subject-list.vue2.js +186 -178
- package/lib/src/subject-list/src/subject-list.vue2.js.map +1 -1
- package/lib/theme-chalk/index.css +15 -25
- package/lib/theme-chalk/subject-layout.css +3 -3
- package/lib/theme-chalk/subject-layout.scss +2 -0
- package/lib/theme-chalk/subject-list.css +12 -22
- package/lib/theme-chalk/subject-list.scss +35 -36
- package/package.json +1 -1
@@ -1,27 +1,28 @@
|
|
1
|
-
var
|
2
|
-
var
|
3
|
-
var
|
4
|
-
var
|
5
|
-
var T = (r, l, i) => l in r ?
|
1
|
+
var k = Object.defineProperty, I = Object.defineProperties;
|
2
|
+
var $ = Object.getOwnPropertyDescriptors;
|
3
|
+
var E = Object.getOwnPropertySymbols;
|
4
|
+
var _ = Object.prototype.hasOwnProperty, L = Object.prototype.propertyIsEnumerable;
|
5
|
+
var T = (r, l, i) => l in r ? k(r, l, { enumerable: !0, configurable: !0, writable: !0, value: i }) : r[l] = i, f = (r, l) => {
|
6
6
|
for (var i in l || (l = {}))
|
7
|
-
|
8
|
-
if (
|
9
|
-
for (var i of
|
10
|
-
|
7
|
+
_.call(l, i) && T(r, i, l[i]);
|
8
|
+
if (E)
|
9
|
+
for (var i of E(l))
|
10
|
+
L.call(l, i) && T(r, i, l[i]);
|
11
11
|
return r;
|
12
|
-
}, x = (r, l) =>
|
13
|
-
import { defineComponent as
|
14
|
-
import
|
15
|
-
import
|
16
|
-
import
|
17
|
-
import
|
18
|
-
import
|
19
|
-
import
|
12
|
+
}, x = (r, l) => I(r, $(l));
|
13
|
+
import { defineComponent as B, ref as Q, useAttrs as V, watch as F, createElementBlock as y, openBlock as c, normalizeClass as N, unref as h, createElementVNode as q, Fragment as O, renderList as z, createBlock as w, createCommentVNode as G, mergeProps as H } from "vue";
|
14
|
+
import J from "./components/subject-blank-fill.vue.js";
|
15
|
+
import K from "./components/subject-scale.vue.js";
|
16
|
+
import U from "./components/subject-single.vue.js";
|
17
|
+
import W from "./components/subject-text-fill.vue.js";
|
18
|
+
import X from "./components/SubjectRichText.vue.js";
|
19
|
+
import Y from "./components/SubjectPageEnd.vue.js";
|
20
|
+
import { useNamespace as Z } from "../../../packages/hooks/src/use-namespace.js";
|
20
21
|
/* empty css */
|
21
22
|
/* empty css */
|
22
23
|
/* empty css */
|
23
|
-
import { ElMessage as
|
24
|
-
const
|
24
|
+
import { ElMessage as ee } from "../../../_virtual/element-plus/es/components/message/index.js";
|
25
|
+
const se = { class: "subject-list-wrapper" }, fe = /* @__PURE__ */ B({
|
25
26
|
name: "QxsSubjectList",
|
26
27
|
__name: "subject-list",
|
27
28
|
props: {
|
@@ -30,34 +31,34 @@ const X = { class: "subject-list-wrapper" }, ue = /* @__PURE__ */ L({
|
|
30
31
|
},
|
31
32
|
emits: ["setRelation"],
|
32
33
|
setup(r, { expose: l, emit: i }) {
|
33
|
-
const S = r, o =
|
34
|
+
const S = r, o = Q([]), A = i, R = V();
|
34
35
|
l({
|
35
36
|
addSubject: u,
|
36
37
|
currentList: o,
|
37
38
|
uploadExcel: b,
|
38
|
-
addExam:
|
39
|
-
setAnswerRelation:
|
39
|
+
addExam: D,
|
40
|
+
setAnswerRelation: C
|
40
41
|
});
|
41
42
|
function g() {
|
42
|
-
let
|
43
|
+
let a = 0, n = !1;
|
43
44
|
return o.value.map((e, t, s) => {
|
44
|
-
e.answerType === "page_end" && (
|
45
|
-
}),
|
45
|
+
e.answerType === "page_end" && (a++, n = t === s.length - 1);
|
46
|
+
}), n ? a : a + 1;
|
46
47
|
}
|
47
48
|
function m() {
|
48
|
-
return (
|
49
|
-
const
|
49
|
+
return (a) => {
|
50
|
+
const n = o.value.filter(
|
50
51
|
(t) => t.answerType === "page_end"
|
51
52
|
);
|
52
53
|
let e = 0;
|
53
|
-
return
|
54
|
-
|
54
|
+
return n.forEach((t, s) => {
|
55
|
+
a === t.id && (e = s + 1);
|
55
56
|
}), e;
|
56
57
|
};
|
57
58
|
}
|
58
|
-
function u(
|
59
|
-
console.log(
|
60
|
-
answerType:
|
59
|
+
function u(a, n, e) {
|
60
|
+
console.log(n, "index"), n || n === 0 ? o.value.splice(n + 1, 0, {
|
61
|
+
answerType: a,
|
61
62
|
analysis: "",
|
62
63
|
scaleQuestionList: [],
|
63
64
|
isSave: !1,
|
@@ -66,7 +67,7 @@ const X = { class: "subject-list-wrapper" }, ue = /* @__PURE__ */ L({
|
|
66
67
|
hasSet: !1,
|
67
68
|
examAnswerRelationType: e
|
68
69
|
}) : o.value.push({
|
69
|
-
answerType:
|
70
|
+
answerType: a,
|
70
71
|
analysis: "",
|
71
72
|
scaleQuestionList: [],
|
72
73
|
isSave: !1,
|
@@ -76,175 +77,182 @@ const X = { class: "subject-list-wrapper" }, ue = /* @__PURE__ */ L({
|
|
76
77
|
examAnswerRelationType: e
|
77
78
|
});
|
78
79
|
}
|
79
|
-
function
|
80
|
-
|
81
|
-
t.examId ===
|
82
|
-
s.examAnswerId === e && (s.answerRelations =
|
80
|
+
function C(a, n, e) {
|
81
|
+
a.length && o.value.forEach((t) => {
|
82
|
+
t.examId === n && t.answer.forEach((s) => {
|
83
|
+
s.examAnswerId === e && (s.answerRelations = a);
|
83
84
|
});
|
84
85
|
});
|
85
86
|
}
|
86
|
-
function
|
87
|
+
function D(a) {
|
87
88
|
var e;
|
88
|
-
const
|
89
|
-
(e =
|
90
|
-
|
89
|
+
const n = [];
|
90
|
+
(e = a.answers) == null || e.map((t) => {
|
91
|
+
n.push(x(f({}, t), {
|
91
92
|
title: t.answer,
|
92
|
-
answerId: t.examAnswerId
|
93
|
+
answerId: t.examAnswerId,
|
94
|
+
isCorrect: t.isCorrect
|
93
95
|
}));
|
94
|
-
}), o.value.push(x(f({},
|
96
|
+
}), o.value.push(x(f({}, a), {
|
95
97
|
examId: "",
|
96
|
-
answerType:
|
97
|
-
answers:
|
98
|
+
answerType: a.richTextContent ? "rich_text" : a.examTypeEnum,
|
99
|
+
answers: n,
|
98
100
|
isSave: !1,
|
99
101
|
isEdit: !0,
|
100
102
|
isRealCanDel: !0,
|
101
103
|
hasSet: !1
|
102
104
|
}));
|
103
105
|
}
|
104
|
-
function b(
|
105
|
-
o.value = o.value.concat(
|
106
|
+
function b(a) {
|
107
|
+
o.value = o.value.concat(a);
|
106
108
|
}
|
107
|
-
function d(
|
108
|
-
if (
|
109
|
-
const [e] = o.value.splice(
|
110
|
-
o.value.splice(
|
111
|
-
} else if (
|
112
|
-
const [e] = o.value.splice(
|
113
|
-
o.value.splice(
|
109
|
+
function d(a, n) {
|
110
|
+
if (n === "up" && a > 0) {
|
111
|
+
const [e] = o.value.splice(a, 1);
|
112
|
+
o.value.splice(a - 1, 0, e);
|
113
|
+
} else if (n === "down" && a < o.value.length - 1) {
|
114
|
+
const [e] = o.value.splice(a, 1);
|
115
|
+
o.value.splice(a + 1, 0, e);
|
114
116
|
}
|
115
117
|
}
|
116
|
-
function p(
|
118
|
+
function p(a, n) {
|
117
119
|
for (let e = 0; e < o.value.length; e++)
|
118
|
-
|
120
|
+
a === e && (o.value[a] = x(f(f({}, o.value[a]), n), {
|
119
121
|
isEdit: !1
|
120
122
|
}));
|
121
123
|
}
|
122
|
-
function v(
|
123
|
-
o.value.splice(
|
124
|
+
function v(a) {
|
125
|
+
o.value.splice(a, 1), ee.success("删除成功");
|
124
126
|
}
|
125
|
-
function j(
|
126
|
-
A("setRelation",
|
127
|
+
function j(a, n) {
|
128
|
+
A("setRelation", a, n);
|
127
129
|
}
|
128
|
-
|
129
|
-
|
130
|
-
}, { immediate: !0 })
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
"is-set": e.
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
"is-set": e.
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
"is-set": e.
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
"is-save":
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
"order-index":
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
130
|
+
F(() => S.subjectList, (a) => {
|
131
|
+
a && (o.value = [...a]);
|
132
|
+
}, { immediate: !0 });
|
133
|
+
const M = Z("subject-list");
|
134
|
+
return (a, n) => (c(), y("div", {
|
135
|
+
class: N(h(M).e("list-exam"))
|
136
|
+
}, [
|
137
|
+
q("div", se, [
|
138
|
+
(c(!0), y(O, null, z(h(o), (e, t) => (c(), y("div", {
|
139
|
+
key: t + e.examId || e.title
|
140
|
+
}, [
|
141
|
+
["single", "multiple", "sort"].includes(e.answerType) ? (c(), w(U, H({
|
142
|
+
key: 0,
|
143
|
+
ref_for: !0
|
144
|
+
}, h(R), {
|
145
|
+
"order-index": t,
|
146
|
+
title: e.title,
|
147
|
+
type: e.answerType,
|
148
|
+
"is-save": !e.isRealCanDel,
|
149
|
+
id: e.examId,
|
150
|
+
"is-set": e.hasSet || !1,
|
151
|
+
"answer-list": e.answers,
|
152
|
+
analysis: e.analysis,
|
153
|
+
"least-answer-count": e.leastAnswerCount,
|
154
|
+
"is-edit": e.isEdit || !1,
|
155
|
+
"show-action": !a.isPreview,
|
156
|
+
"exam-expand": e.examExpand,
|
157
|
+
"exam-rich-text-content": e.examRichTextContent,
|
158
|
+
examAnswerRelationType: e.examAnswerRelationType,
|
159
|
+
onSetRelation: j,
|
160
|
+
onMove: (s) => d(t, s),
|
161
|
+
onDelete: (s) => v(t),
|
162
|
+
onSave: (s) => p(t, s),
|
163
|
+
onEdit: (s) => e.isEdit = !0,
|
164
|
+
onAdd: (s, P) => u(s, t, P)
|
165
|
+
}), null, 16, ["order-index", "title", "type", "is-save", "id", "is-set", "answer-list", "analysis", "least-answer-count", "is-edit", "show-action", "exam-expand", "exam-rich-text-content", "examAnswerRelationType", "onMove", "onDelete", "onSave", "onEdit", "onAdd"])) : e.answerType === "scale" ? (c(), w(K, {
|
166
|
+
key: 1,
|
167
|
+
"order-index": t,
|
168
|
+
title: e.title,
|
169
|
+
"is-save": !e.isRealCanDel,
|
170
|
+
"is-set": e.hasSet || !1,
|
171
|
+
"answer-list": e.answers,
|
172
|
+
analysis: e.analysis,
|
173
|
+
"is-edit": e.isEdit || !1,
|
174
|
+
"scale-question-list": e.scaleQuestionList,
|
175
|
+
"show-action": !a.isPreview,
|
176
|
+
"exam-rich-text-content": e.examRichTextContent,
|
177
|
+
examAnswerRelationType: e.examAnswerRelationType,
|
178
|
+
onMove: (s) => d(t, s),
|
179
|
+
onDelete: (s) => v(t),
|
180
|
+
onSave: (s) => p(t, s),
|
181
|
+
onEdit: (s) => e.isEdit = !0,
|
182
|
+
onAdd: (s) => u(s, t, null)
|
183
|
+
}, null, 8, ["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"])) : e.answerType === "blank_fill" ? (c(), w(J, {
|
184
|
+
key: 2,
|
185
|
+
"order-index": t,
|
186
|
+
title: e.title,
|
187
|
+
"is-save": !e.isRealCanDel,
|
188
|
+
"is-set": e.hasSet || !1,
|
189
|
+
"answer-list": e.answers,
|
190
|
+
analysis: e.analysis,
|
191
|
+
"show-action": !a.isPreview,
|
192
|
+
"is-edit": e.isEdit || !1,
|
193
|
+
"exam-answer-setting-v-o": e.examAnswerSettingVO || {},
|
194
|
+
"exam-rich-text-content": e.examRichTextContent,
|
195
|
+
examAnswerRelationType: e.examAnswerRelationType,
|
196
|
+
onMove: (s) => d(t, s),
|
197
|
+
onDelete: (s) => v(t),
|
198
|
+
onSave: (s) => p(t, s),
|
199
|
+
onEdit: (s) => e.isEdit = !0,
|
200
|
+
onAdd: (s) => u(s, t, null)
|
201
|
+
}, null, 8, ["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"])) : e.answerType === "text_fill" ? (c(), w(W, {
|
202
|
+
key: 3,
|
203
|
+
"order-index": t,
|
204
|
+
title: e.title,
|
205
|
+
"is-save": !e.isRealCanDel,
|
206
|
+
"is-set": e.hasSet || !1,
|
207
|
+
"answer-list": e.answers,
|
208
|
+
analysis: e.analysis,
|
209
|
+
"show-action": !a.isPreview,
|
210
|
+
"is-edit": e.isEdit || !1,
|
211
|
+
"exam-expand": e.examExpand,
|
212
|
+
"exam-answer-setting-v-o": e.examAnswerSettingVO || {},
|
213
|
+
examAnswerRelationType: e.examAnswerRelationType,
|
214
|
+
"exam-rich-text-content": e.examRichTextContent,
|
215
|
+
onMove: (s) => d(t, s),
|
216
|
+
onDelete: (s) => v(t),
|
217
|
+
onSave: (s) => p(t, s),
|
218
|
+
onEdit: (s) => e.isEdit = !0,
|
219
|
+
onAdd: (s) => u(s, t, null)
|
220
|
+
}, null, 8, ["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"])) : e.answerType === "rich_text" ? (c(), w(X, {
|
221
|
+
key: 4,
|
222
|
+
"order-index": t,
|
223
|
+
richTextContent: e.richTextContent,
|
224
|
+
"is-set": e.hasSet || !1,
|
225
|
+
"is-save": !e.isRealCanDel,
|
226
|
+
"is-edit": e.isEdit || !1,
|
227
|
+
"show-action": !a.isPreview,
|
228
|
+
onMove: (s) => d(t, s),
|
229
|
+
onDelete: (s) => v(t),
|
230
|
+
examAnswerRelationType: e.examAnswerRelationType,
|
231
|
+
onSave: (s) => p(t, s),
|
232
|
+
onEdit: (s) => e.isEdit = !0,
|
233
|
+
onAdd: (s) => u(s, t, null)
|
234
|
+
}, null, 8, ["order-index", "richTextContent", "is-set", "is-save", "is-edit", "show-action", "onMove", "onDelete", "examAnswerRelationType", "onSave", "onEdit", "onAdd"])) : e.answerType === "page_end" ? (c(), w(Y, {
|
235
|
+
"total-page": g(),
|
236
|
+
key: t,
|
237
|
+
"current-page-index": m()(e.id),
|
238
|
+
item: e,
|
239
|
+
"order-index": t,
|
240
|
+
"is-edit": e.isEdit || !1,
|
241
|
+
"is-set": e.hasSet || !1,
|
242
|
+
"is-save": !e.isRealCanDel,
|
243
|
+
examAnswerRelationType: e.examAnswerRelationType,
|
244
|
+
onMove: (s) => d(t, s),
|
245
|
+
onDelete: (s) => v(t),
|
246
|
+
onSave: (s) => p(t, s),
|
247
|
+
onEdit: (s) => e.isEdit = !0,
|
248
|
+
onAdd: (s) => u(s, t, null)
|
249
|
+
}, null, 8, ["total-page", "current-page-index", "item", "order-index", "is-edit", "is-set", "is-save", "examAnswerRelationType", "onMove", "onDelete", "onSave", "onEdit", "onAdd"])) : G("", !0)
|
250
|
+
]))), 128))
|
251
|
+
])
|
252
|
+
], 2));
|
245
253
|
}
|
246
254
|
});
|
247
255
|
export {
|
248
|
-
|
256
|
+
fe as default
|
249
257
|
};
|
250
258
|
//# sourceMappingURL=subject-list.vue2.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"subject-list.vue2.js","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'\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 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 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 setAnswerRelation(answerRelations: any, examId: string, examAnswerId: string, ) {\n // 给examId设置答案关联\n if (answerRelations.length) {\n currentList.value.forEach((c: any) => {\n if (c.examId === examId) {\n c.answer.forEach((c: any) => {\n if (c.examAnswerId === examAnswerId) {\n c.answerRelations = answerRelations\n }\n })\n }\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 })\n })\n currentList.value.push({\n ...item,\n examId: '',\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\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 }\n }\n }\n}\n\nfunction deleteSubject(index: number) {\n currentList.value.splice(index, 1)\n ElMessage.success('删除成功')\n}\n\nfunction setRelation(examId: string, examAnswers: any) {\n emits('setRelation', examId, examAnswers)\n}\n\nwatch(() => props.subjectList, (newList: any) => {\n if (newList) {\n currentList.value = [...newList]\n }\n}, { immediate: true })\n</script>\n\n<template>\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 v-bind=\"attrs\" :order-index=\"index\" :title=\"item.title\" :type=\"item.answerType\" :is-save=\"!item.isRealCanDel\"\n :id=\"item.examId\"\n :is-set=\"item.hasSet || false\" :answer-list=\"item.answers\" :analysis=\"item.analysis\"\n :least-answer-count=\"item.leastAnswerCount\" :is-edit=\"item.isEdit || false\" :show-action=\"!isPreview\"\n :exam-expand=\"item.examExpand\" :exam-rich-text-content=\"item.examRichTextContent\"\n :examAnswerRelationType=\"item.examAnswerRelationType\" @setRelation=\"setRelation\"\n @move=\"(type: 'up' | 'down') => move(index, type)\" @delete=\"deleteSubject(index)\"\n @save=\"item => saveSubject(index, item)\" @edit=\"item.isEdit = true\"\n @add=\"(type, examAnswerRelationType) => addSubject(type, index, examAnswerRelationType)\" />\n </template>\n <SubjectScale 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-else-if=\"item.answerType === 'blank_fill'\" :order-index=\"index\" :title=\"item.title\"\n :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-else-if=\"item.answerType === 'text_fill'\" :order-index=\"index\" :title=\"item.title\"\n :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-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()\"\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</template>\n\n<style scoped>/* layer: preflights */\n*,::before,::after{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / 0.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: ;}::backdrop{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / 0.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: ;}</style>"],"names":["props","__props","currentList","ref","emits","__emit","attrs","useAttrs","__expose","addSubject","uploadExcel","addExam","setAnswerRelation","totalPageIndex","isLastPageIndex","v","i","arr","currentPageIndex","currentId","currentPageList","currentIndex","c","type","index","examAnswerRelationType","answerRelations","examId","examAnswerId","item","answerList","_a","__spreadProps","__spreadValues","list","move","saveSubject","idx","deleteSubject","ElMessage","setRelation","examAnswers","watch","newList"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"subject-list.vue2.js","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'\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 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 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 setAnswerRelation(answerRelations: any, examId: string, examAnswerId: string, ) {\n // 给examId设置答案关联\n if (answerRelations.length) {\n currentList.value.forEach((c: any) => {\n if (c.examId === examId) {\n c.answer.forEach((c: any) => {\n if (c.examAnswerId === examAnswerId) {\n c.answerRelations = answerRelations\n }\n })\n }\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 examId: '',\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\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 }\n }\n }\n}\n\nfunction deleteSubject(index: number) {\n currentList.value.splice(index, 1)\n ElMessage.success('删除成功')\n}\n\nfunction setRelation(examId: string, examAnswers: any) {\n emits('setRelation', examId, examAnswers)\n}\n\nwatch(() => props.subjectList, (newList: any) => {\n if (newList) {\n currentList.value = [...newList]\n }\n}, { immediate: true })\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 v-bind=\"attrs\" :order-index=\"index\" :title=\"item.title\" :type=\"item.answerType\" :is-save=\"!item.isRealCanDel\"\n :id=\"item.examId\"\n :is-set=\"item.hasSet || false\" :answer-list=\"item.answers\" :analysis=\"item.analysis\"\n :least-answer-count=\"item.leastAnswerCount\" :is-edit=\"item.isEdit || false\" :show-action=\"!isPreview\"\n :exam-expand=\"item.examExpand\" :exam-rich-text-content=\"item.examRichTextContent\"\n :examAnswerRelationType=\"item.examAnswerRelationType\" @setRelation=\"setRelation\"\n @move=\"(type: 'up' | 'down') => move(index, type)\" @delete=\"deleteSubject(index)\"\n @save=\"item => saveSubject(index, item)\" @edit=\"item.isEdit = true\"\n @add=\"(type, examAnswerRelationType) => addSubject(type, index, examAnswerRelationType)\" />\n </template>\n <SubjectScale 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-else-if=\"item.answerType === 'blank_fill'\" :order-index=\"index\" :title=\"item.title\"\n :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-else-if=\"item.answerType === 'text_fill'\" :order-index=\"index\" :title=\"item.title\"\n :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-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()\"\n :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\n<style scoped>/* layer: preflights */\n*,::before,::after{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / 0.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: ;}::backdrop{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / 0.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: ;}</style>"],"names":["props","__props","currentList","ref","emits","__emit","attrs","useAttrs","__expose","addSubject","uploadExcel","addExam","setAnswerRelation","totalPageIndex","isLastPageIndex","v","i","arr","currentPageIndex","currentId","currentPageList","currentIndex","c","type","index","examAnswerRelationType","answerRelations","examId","examAnswerId","item","answerList","_a","__spreadProps","__spreadValues","list","move","saveSubject","idx","deleteSubject","ElMessage","setRelation","examAnswers","watch","newList","ns","useNamespace"],"mappings":"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"}
|
@@ -906,59 +906,49 @@
|
|
906
906
|
z-index: 2500 !important;
|
907
907
|
}
|
908
908
|
|
909
|
-
.flex-items-center {
|
909
|
+
.qxs-subject-list__list-exam .flex-items-center {
|
910
910
|
display: flex;
|
911
911
|
align-items: center;
|
912
912
|
}
|
913
|
-
|
914
|
-
.flex-justify-between {
|
913
|
+
.qxs-subject-list__list-exam .flex-justify-between {
|
915
914
|
display: flex;
|
916
915
|
justify-content: space-between;
|
917
916
|
}
|
918
|
-
|
919
|
-
.flex-justify-center {
|
917
|
+
.qxs-subject-list__list-exam .flex-justify-center {
|
920
918
|
display: flex;
|
921
919
|
justify-content: center;
|
922
920
|
}
|
923
|
-
|
924
|
-
.flex-justify-end {
|
921
|
+
.qxs-subject-list__list-exam .flex-justify-end {
|
925
922
|
display: flex;
|
926
923
|
justify-content: flex-end;
|
927
924
|
}
|
928
|
-
|
929
|
-
.margin-left-10 {
|
925
|
+
.qxs-subject-list__list-exam .margin-left-10 {
|
930
926
|
margin-left: 10px;
|
931
927
|
}
|
932
|
-
|
933
|
-
.label {
|
928
|
+
.qxs-subject-list__list-exam .label {
|
934
929
|
min-width: 50px;
|
935
930
|
margin-right: 10px;
|
936
931
|
}
|
937
|
-
|
938
|
-
.preview-answer {
|
932
|
+
.qxs-subject-list__list-exam .preview-answer {
|
939
933
|
display: flex;
|
940
934
|
flex-direction: column;
|
941
935
|
margin-bottom: 10px;
|
942
936
|
}
|
943
|
-
|
944
|
-
.qxs-subject-list .flex {
|
937
|
+
.qxs-subject-list__list-exam .flex {
|
945
938
|
display: flex;
|
946
939
|
align-items: center;
|
947
940
|
}
|
948
|
-
.qxs-subject-
|
941
|
+
.qxs-subject-list__list-exam .flex-1 {
|
949
942
|
flex: 1;
|
950
943
|
}
|
951
|
-
.qxs-subject-
|
944
|
+
.qxs-subject-list__list-exam .subject-list-wrapper {
|
952
945
|
width: 100%;
|
953
946
|
margin-bottom: 20px;
|
954
947
|
}
|
955
|
-
.qxs-subject-
|
948
|
+
.qxs-subject-list__list-exam .margin-bottom {
|
956
949
|
margin-bottom: 20px;
|
957
950
|
}
|
958
|
-
.qxs-subject-
|
959
|
-
max-width: 100px;
|
960
|
-
}
|
961
|
-
.qxs-subject-list .label {
|
951
|
+
.qxs-subject-list__list-exam .label {
|
962
952
|
min-width: 50px;
|
963
953
|
margin-right: 10px;
|
964
954
|
}
|
@@ -1128,19 +1118,19 @@
|
|
1128
1118
|
margin-inline-end: 0;
|
1129
1119
|
}
|
1130
1120
|
|
1131
|
-
.qxs-subject-
|
1121
|
+
.qxs-subject-layout__layout-exam {
|
1132
1122
|
padding: 10px;
|
1133
1123
|
font-size: 12px;
|
1134
1124
|
color: #5a5a5a;
|
1135
1125
|
}
|
1136
|
-
.qxs-subject-
|
1126
|
+
.qxs-subject-layout__layout-exam .edit {
|
1137
1127
|
position: relative;
|
1138
1128
|
padding: 20px 10px;
|
1139
1129
|
padding-bottom: 10px;
|
1140
1130
|
margin-top: 20px;
|
1141
1131
|
background-color: #f6f7fb;
|
1142
1132
|
}
|
1143
|
-
.qxs-subject-
|
1133
|
+
.qxs-subject-layout__layout-exam .edit .triangle-up {
|
1144
1134
|
position: absolute;
|
1145
1135
|
top: -20px;
|
1146
1136
|
left: 100px;
|