zydx-plus 1.32.225 → 1.32.227

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zydx-plus",
3
- "version": "1.32.225",
3
+ "version": "1.32.227",
4
4
  "description": "Vue.js",
5
5
  "main": "src/index.js",
6
6
  "files": [
@@ -647,6 +647,7 @@ let buttonNames = {
647
647
  lowLevel: {
648
648
  default: "setTask",
649
649
  setTask: '布置任务',
650
+ groupStudy: '小组学习',
650
651
  duplicate: '违纪查重',
651
652
  teacherReview: '教师评价',
652
653
  studentReview: '同学互评',
@@ -1333,7 +1334,6 @@ let buttonNames = {
1333
1334
  }
1334
1335
  }
1335
1336
  },
1336
-
1337
1337
  action_lesson012: {
1338
1338
  actionName: '教师提问',
1339
1339
  buttonList: {
@@ -72,14 +72,12 @@
72
72
  <zydxSelect :readonly="readonly" :options="reviewDemandOptions" v-model:value="reviewDemand"></zydxSelect>
73
73
  </div>
74
74
  </div>
75
-
76
75
  <div v-if="actionConfig[actionId].isShowVirtualScore" class="task_item_main" style="z-index: 1">
77
76
  <div class="task_text_desc">虚仿成绩:</div>
78
77
  <div class="width250">
79
- <zydxSelect :readonly="readonly" :options="laterScoreOptions" v-model:value="virtualScore"></zydxSelect>
78
+ <zydxSelect :readonly="readonly" :options="virtualScoreOptions" v-model:value="virtualScore"></zydxSelect>
80
79
  </div>
81
80
  </div>
82
-
83
81
  <div class="default_item_main width100" >
84
82
  <slot name="class_slot"></slot>
85
83
  </div>
@@ -115,6 +113,10 @@
115
113
  taskList: {
116
114
  type: Array,
117
115
  default: () => []
116
+ },
117
+ isNeedReview: {
118
+ type: Boolean,
119
+ default: true
118
120
  }
119
121
  },
120
122
  components: {zydxSelect, zydxInput, zydxCalender},
@@ -162,8 +164,8 @@
162
164
  isShowFinishState: true,
163
165
  isShowEndTime: true,
164
166
  isShowLaterScore: true,
165
- isShowReviewObj: true,
166
- isShowReviewDemand: true,
167
+ isShowReviewObj: this.isNeedReview? true: false,
168
+ isShowReviewDemand: this.isNeedReview? true: false,
167
169
  isShowScreenLimit: false,
168
170
  isShowFunDisable: false,
169
171
  isShowVirtualScore: false
@@ -287,8 +289,8 @@
287
289
  isShowFinishState: true,
288
290
  isShowEndTime: true,
289
291
  isShowLaterScore: true,
290
- isShowReviewObj: true,
291
- isShowReviewDemand: true,
292
+ isShowReviewObj: this.isNeedReview? true: false,
293
+ isShowReviewDemand: this.isNeedReview? true: false,
292
294
  isShowScreenLimit: false,
293
295
  isShowFunDisable: false,
294
296
  isShowVirtualScore: false
@@ -557,6 +559,52 @@
557
559
  label: '100%'
558
560
  }
559
561
  ],
562
+ virtualScoreOptions: [
563
+ {
564
+ value: '0',
565
+ label: '不占比'
566
+ },
567
+ {
568
+ value: '10',
569
+ label: '10%'
570
+ },
571
+ {
572
+ value: '20',
573
+ label: '20%'
574
+ },
575
+ {
576
+ value: '30',
577
+ label: '30%'
578
+ },
579
+ {
580
+ value: '40',
581
+ label: '40%'
582
+ },
583
+ {
584
+ value: '50',
585
+ label: '50%'
586
+ },
587
+ {
588
+ value: '60',
589
+ label: '60%'
590
+ },
591
+ {
592
+ value: '70',
593
+ label: '70%'
594
+ },
595
+ {
596
+ value: '80',
597
+ label: '80%'
598
+ },
599
+ {
600
+ value: '90',
601
+ label: '90%'
602
+ },
603
+ {
604
+ value: '100',
605
+ label: '100%'
606
+ }
607
+ ],
560
608
  screenLimitOptions: [
561
609
  {
562
610
  value: '0',
@@ -721,6 +769,7 @@
721
769
  confirm () {
722
770
  let that = this
723
771
  this.taskInfoList.forEach(item => {
772
+ item.endTime = new Date(item.endTime);
724
773
  Object.keys(item).forEach(key=>{
725
774
  if(!that.keysArr.includes(key) || item[key] == null) {
726
775
  delete item[key];
@@ -208,3 +208,82 @@ input[name='check'] {
208
208
  .tab-title{
209
209
  font-weight: 700 !important;
210
210
  }
211
+ .reasoning{
212
+ font-size: 16px;
213
+ font-weight: 700;
214
+ text-indent: 1.7em;
215
+ display: inline-block;
216
+ padding-bottom: 8px;
217
+ }
218
+ .subject-student-edi{
219
+ text-indent: 2em;
220
+ padding: 2px 0;
221
+ }
222
+ .review{
223
+ padding-left: 2em;
224
+ box-sizing: border-box;
225
+ }
226
+ .review-title{
227
+ padding: 6px 0 4px 0;
228
+ display: flex;
229
+ justify-content: center;
230
+ }
231
+ .review-title span{
232
+ flex: 1;
233
+ font-size: 16px;
234
+ font-weight: 700;
235
+ }
236
+ .table td>input{
237
+ width: 80px;
238
+ border: 0;
239
+ text-align: center;
240
+ }
241
+ .enclosure{
242
+ padding-left: 2em;
243
+ box-sizing: border-box;
244
+ }
245
+ .enclosure>p{
246
+ font-size: 16px;
247
+ font-weight: 700;
248
+ }
249
+ .enclosure-list{
250
+ margin: 5px 0 0 0;
251
+ height: 22px;
252
+ line-height: 22px;
253
+ }
254
+ .enclosure-list:after{
255
+ content: "";
256
+ clear: left;
257
+ display: block;
258
+ }
259
+ .enclosure-item:first-child{
260
+ width: calc(100% - 210px);
261
+ }
262
+ .enclosure-item:last-child{
263
+ width: 210px;
264
+ }
265
+ .enclosure-item{
266
+ height: 22px;
267
+ float: left;
268
+ }
269
+ .enclosure-item>span{
270
+ display: inline-block;
271
+ overflow: hidden;
272
+ text-overflow: ellipsis;
273
+ white-space: nowrap;
274
+ max-width: 100%;
275
+ box-sizing: border-box;
276
+ padding-right: 20px;
277
+ }
278
+ .en-but{
279
+ text-align: right;
280
+ }
281
+ .task{
282
+ display: flex;
283
+ justify-content: center;
284
+ font-size: 16px;
285
+ font-weight: 700;
286
+ }
287
+ .task span{
288
+ flex: 1;
289
+ }
@@ -2,10 +2,18 @@
2
2
  <div :class="{paper: borderShow}">
3
3
  <div class="parer-cont" ref="parer">
4
4
  <div class="paper-choice" :class="{'array-ch': !styleText(item.testKey)}" v-for="(item,index) in value">
5
+ <div v-if="task" class="task">
6
+ <span>作业题目1:</span>
7
+ <div class="task-but">
8
+ <button class="but" :class="{'buts-actives': item.subject}" @click="subject(index)">{{ item.subject?'收起题目':'展开题目'}}</button>
9
+ <button class="but" :class="{'buts-actives': item.reasoning}" @click="openReasoning(index)">{{ item.reasoning?'收起回答':'展开回答'}}</button>
10
+ <button class="but" :class="{'buts-actives': item.review}" @click="review(index)">{{ item.review?'收起批阅':'展开批阅'}}</button>
11
+ </div>
12
+ </div>
5
13
  <div class="subject">
6
- <div class="subject-title">
14
+ <div class="subject-title" v-if="item.subject">
7
15
  <input v-if="multipleShow" type="checkbox" :checked="item.checked" @change="checkboxChange($event,index)" name="check" />
8
- <span>{{ item.order }}.<em v-html="item.title"></em><em v-if="scoreShow">({{ item.score }}分)</em>
16
+ <span>{{ item.order? item.order: index + 1 }}.<em v-html="item.title"></em><em v-if="scoreShow">({{ item.score }}分)</em>
9
17
  <i class="subject-but" ref="subject">
10
18
  <b :style="{right: -item.right + 'px', top: item.top + 'px'}" v-if="butShow" ref="b">
11
19
  <button class="but" @click="modify(item)">修改</button>
@@ -26,6 +34,10 @@
26
34
  <button class="but" :class="{'buts-actives': item.open}" @click="openOption(index)">{{ item.open?'收起选项':'试题选项'}}</button>
27
35
  <button class="but" :class="{'buts-actives': item.replace}" @click="statistics(index)">{{ item.replace?'收统计表':'统计表'}}</button>
28
36
  </b>
37
+ <b :style="{right: -item.right + 'px', top: item.top + 'px'}" v-if="reasoning" ref="b">
38
+ <button class="but" :class="{'buts-actives': item.reasoning}" @click="openReasoning(index)">{{ item.reasoning?reasoningBut[0].startName:reasoningBut[0].endName}}</button>
39
+ <button class="but" :class="{'buts-actives': item.review}" @click="review(index)">{{ item.review?reasoningBut[1].startName:reasoningBut[1].endName}}</button>
40
+ </b>
29
41
  </i>
30
42
  </span>
31
43
  </div>
@@ -157,6 +169,21 @@ export default {
157
169
  chooseAnswer: {
158
170
  type: Boolean,
159
171
  default: true
172
+ },
173
+ reasoning: {
174
+ type: Boolean,
175
+ default: false
176
+ },
177
+ reasoningBut: {
178
+ type: Array,
179
+ default: [
180
+ {startName: '收起推理',endName: '展开推理'},
181
+ {startName: '收起批阅',endName: '展开批阅'}
182
+ ]
183
+ },
184
+ task: {
185
+ type: Boolean,
186
+ default: false
160
187
  }
161
188
  },
162
189
  watch: {
@@ -169,6 +196,9 @@ export default {
169
196
  item.top = 0
170
197
  item.open = true
171
198
  item.replace = true
199
+ item.reasoning = true
200
+ item.review = true
201
+ item.subject = true
172
202
  if(item.alist) {
173
203
  item.alist.map(x => {
174
204
  x.annexContent = json2html({node: "root",child: JSON.parse(x.annexContent)})
@@ -193,6 +223,12 @@ export default {
193
223
  return x
194
224
  })
195
225
  }
226
+ if(item.stuAnswer) {
227
+ item.stuAnswer.answer = item.stuAnswer.answer.map(x => {
228
+ x = json2html(x)
229
+ return x
230
+ })
231
+ }
196
232
  return item
197
233
  })
198
234
  this.$nextTick(() => { // 保证所有的数据都渲染完毕
@@ -220,13 +256,24 @@ export default {
220
256
  deep: true
221
257
  }
222
258
  },
223
- emits: ['change','modify','del','changeAll','replaceData','choiceData','judgeAnswer'],
259
+ emits: ['change','modify','del','changeAll','replaceData','choiceData','judgeAnswer','openReasoning','review','subject'],
224
260
  methods: {
261
+ subject(i) {
262
+ this.data[i].subject = !this.data[i].subject
263
+ },
225
264
  diffLeveNum(v) {
226
265
  if(v === '1') return '简单'
227
266
  if(v === '2') return '中等'
228
267
  if(v === '3') return '困难'
229
268
  },
269
+ openReasoning(i) {
270
+ this.$emit('openReasoning', this.data[i].reasoning)
271
+ this.data[i].reasoning = !this.data[i].reasoning
272
+ },
273
+ review(i) {
274
+ this.$emit('review', this.data[i].review )
275
+ this.data[i].review = !this.data[i].review
276
+ },
230
277
  openOption(i) {
231
278
  this.data[i].open = !this.data[i].open
232
279
  },
package/src/index.js CHANGED
@@ -79,7 +79,7 @@ function install(app) {
79
79
  }
80
80
 
81
81
  export default {
82
- version: '1.32.225',
82
+ version: '1.32.227',
83
83
  install,
84
84
  Calendar,
85
85
  Message,