zydx-plus 1.20.123 → 1.20.124

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.20.123",
3
+ "version": "1.20.124",
4
4
  "description": "Vue.js",
5
5
  "main": "src/index.js",
6
6
  "files": [
@@ -1858,7 +1858,7 @@ let buttonNames = {
1858
1858
  headLevel: {
1859
1859
  default: "demand",
1860
1860
  demand: '思政要求',
1861
- resourceIndex: '思政项目',
1861
+ resourceIndex: '思政主题',
1862
1862
  review: '思政点评',
1863
1863
  analyse: '思政分析',
1864
1864
  countermeasure: '教学对策'
@@ -2091,19 +2091,19 @@ let buttonNames = {
2091
2091
  headLevel: {
2092
2092
  default: "demand",
2093
2093
  demand: '作业要求',
2094
- resourceIndex: '作业试题',
2094
+ resourceIndex: '作业题目',
2095
2095
  review: '作业点评',
2096
2096
  analyse: '作业分析',
2097
2097
  countermeasure: '教学对策'
2098
2098
  },
2099
2099
  otherLevel: {
2100
2100
  default: "singletonClass",
2101
- singletonClass: this.getCurrentPrefix(item) + '试题',
2102
- allClass: this.getPrefix(item) + '试题'
2101
+ singletonClass: this.getCurrentPrefix(item) + '题目',
2102
+ allClass: this.getPrefix(item) + '题目'
2103
2103
  },
2104
2104
  lowLevel: {
2105
2105
  default: "singletonClass",
2106
- singletonClass: this.getCurrentPrefix(item) + '试题'
2106
+ singletonClass: this.getCurrentPrefix(item) + '题目'
2107
2107
  }
2108
2108
  }
2109
2109
  }
@@ -4,7 +4,7 @@
4
4
  <div v-if="actionConfig[actionId].isShowFinishState" class="task_item_main width100" :class="isWidth50 ? 'width50': 'width100'" style="z-index: 110">
5
5
  <div class="task_text_desc">动作性质:</div>
6
6
  <div class="width250">
7
- <zydxSelect :options="finishStateOptions" v-model:value="finishState"></zydxSelect>
7
+ <zydxSelect :readonly="readonly" :options="finishStateOptions" v-model:value="finishState"></zydxSelect>
8
8
  </div>
9
9
  </div>
10
10
  <template v-if="actionConfig[actionId].isShowEndTime">
@@ -13,10 +13,12 @@
13
13
  <div class="task_text_desc"><span v-if="actionId === 'action_lesson015'">{{getUppercase(index)}}轮</span>{{actionConfig[actionId].endTimeBtn2}}:</div>
14
14
  <div class="width250">
15
15
  <zydx-input v-model:value="info.examJoinTime"
16
+ :readonly="readonly"
16
17
  :placeholder="'不限制'"
18
+ :border="!readonly"
17
19
  :type="'number'">
18
20
  <template #suffix>
19
- <span>分钟</span>
21
+ <span v-if="!readonly">分钟</span>
20
22
  </template>
21
23
  </zydx-input>
22
24
  </div>
@@ -24,12 +26,13 @@
24
26
  <div v-else class="task_item_main" :class="getZindex(index)">
25
27
  <div class="task_text_desc"><span v-if="actionId === 'action_lesson015'">{{getUppercase(index)}}轮</span>{{actionConfig[actionId].endTimeBtn1}}:</div>
26
28
  <div class="width250" style=" position: relative">
27
- <zydx-input v-model:value="info.endTime"
29
+ <zydx-input :value="dateFormat(info.endTime)"
28
30
  :placeholder="'不限制'"
29
- :readonly="true"
31
+ :readonly="readonly"
32
+ :border="!readonly"
30
33
  :type="'input'">
31
34
  <template #suffix>
32
- <span><img @click="showExamJoinCalenderTime[index] = !showExamJoinCalenderTime[index]" src="data:image/png;base64,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"/></span>
35
+ <span><img v-if="!readonly" @click="this.showExamJoinCalenderTime[index] = !this.showExamJoinCalenderTime[index]" src="data:image/png;base64,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"/></span>
33
36
  </template>
34
37
  </zydx-input>
35
38
  <div style="position: absolute; right: 0px; top: 15px;">
@@ -40,7 +43,7 @@
40
43
  <div v-if="actionConfig[actionId].isShowLaterScore" class="task_item_main" :class="getZindex(index)">
41
44
  <div class="task_text_desc">迟交扣分:</div>
42
45
  <div class="width250">
43
- <zydxSelect :options="laterScoreOptions" v-model:value="info.laterScore"></zydxSelect>
46
+ <zydxSelect :readonly="readonly" :options="laterScoreOptions" v-model:value="info.laterScore"></zydxSelect>
44
47
  </div>
45
48
  </div>
46
49
  </template>
@@ -48,25 +51,25 @@
48
51
  <div v-if="actionConfig[actionId].isShowScreenLimit" class="task_item_main" style="z-index: 2">
49
52
  <div class="task_text_desc">切屏限制:</div>
50
53
  <div class="width250">
51
- <zydxSelect :options="screenLimitOptions" v-model:value="screenLimit"></zydxSelect>
54
+ <zydxSelect :readonly="readonly" :options="screenLimitOptions" v-model:value="screenLimit"></zydxSelect>
52
55
  </div>
53
56
  </div>
54
57
  <div v-if="actionConfig[actionId].isShowFunDisable" class="task_item_main" style="z-index: 2">
55
58
  <div class="task_text_desc">复制限制:</div>
56
59
  <div class="width250">
57
- <zydxSelect :options="funDisableOptions" v-model:value="funDisable"></zydxSelect>
60
+ <zydxSelect :readonly="readonly" :options="funDisableOptions" v-model:value="funDisable"></zydxSelect>
58
61
  </div>
59
62
  </div>
60
63
  <div v-if="actionConfig[actionId].isShowReviewObj" class="task_item_main" style="z-index: 1">
61
64
  <div class="task_text_desc">评价主体:</div>
62
65
  <div class="width250">
63
- <zydxSelect :options="reviewObjOptions" v-model:value="reviewObj"></zydxSelect>
66
+ <zydxSelect :readonly="readonly" :options="reviewObjOptions" v-model:value="reviewObj"></zydxSelect>
64
67
  </div>
65
68
  </div>
66
69
  <div v-if="actionConfig[actionId].isShowReviewDemand" class="task_item_main" style="z-index: 1">
67
70
  <div class="task_text_desc">评价要求:</div>
68
71
  <div class="width250">
69
- <zydxSelect :options="reviewDemandOptions" v-model:value="reviewDemand"></zydxSelect>
72
+ <zydxSelect :readonly="readonly" :options="reviewDemandOptions" v-model:value="reviewDemand"></zydxSelect>
70
73
  </div>
71
74
  </div>
72
75
 
@@ -92,12 +95,16 @@
92
95
  props: {
93
96
  actionId: {
94
97
  type: String,
95
- default: "action_lesson052"
98
+ default: ""
96
99
  },
97
100
  isTimeModel: {
98
101
  type: Boolean,
99
102
  default: false
100
103
  },
104
+ readonly: {
105
+ type: Boolean,
106
+ required: true
107
+ },
101
108
  taskList: {
102
109
  type: Array,
103
110
  default: () => []
@@ -531,9 +538,9 @@
531
538
  reviewObj: '1',
532
539
  reviewDemand: "1",
533
540
  finishState: "0",
534
- laterScore: '10',
535
- examJoinTime: '30',
536
- endTime: '2021-01-10',
541
+ laterScore: '0',
542
+ examJoinTime: '',
543
+ endTime: null,
537
544
  screenLimit: '0',
538
545
  funDisable: '0',
539
546
  round: 1
@@ -543,8 +550,8 @@
543
550
  reviewDemand: "1",
544
551
  finishState: "0",
545
552
  laterScore: '0',
546
- examJoinTime: '30',
547
- endTime: '2021-01-10',
553
+ examJoinTime: '',
554
+ endTime: null,
548
555
  screenLimit: '0',
549
556
  funDisable: '0',
550
557
  round: 2
@@ -554,8 +561,8 @@
554
561
  reviewDemand: "1",
555
562
  finishState: "0",
556
563
  laterScore: '0',
557
- examJoinTime: '30',
558
- endTime: '2021-01-10',
564
+ examJoinTime: '',
565
+ endTime: null,
559
566
  screenLimit: '0',
560
567
  funDisable: '0',
561
568
  round: 3
@@ -568,8 +575,8 @@
568
575
  reviewDemand: "1",
569
576
  finishState: "0",
570
577
  laterScore: '0',
571
- examJoinTime: '30',
572
- endTime: '2021-01-10',
578
+ examJoinTime: '',
579
+ endTime: null,
573
580
  screenLimit: '0',
574
581
  funDisable: '0',
575
582
  round: 1
@@ -606,7 +613,7 @@
606
613
  },
607
614
  examJoinConfirm (param, index) {
608
615
  this.showExamJoinCalenderTime[index] = !this.showExamJoinCalenderTime[index]
609
- this.taskInfoList[index].endTime = param.start + param.date
616
+ this.taskInfoList[index].endTime = new Date(param.start + ' '+ param.date)
610
617
  },
611
618
  getUppercase (index) {
612
619
  if (index === 0) {
@@ -617,9 +624,40 @@
617
624
  return "三"
618
625
  }
619
626
  },
620
- // 排序方法
621
627
  confirm () {
628
+ this.taskInfoList.forEach(item => {
629
+ Object.keys(item).forEach(key=>{
630
+ if(this.isEmpty(item[key])) {
631
+ delete item[key];
632
+ }
633
+ })
634
+ })
622
635
  return this.taskInfoList;
636
+ },
637
+ dateFormat (date) {
638
+ if (date != null) {
639
+ var y = date.getFullYear();
640
+ var m = date.getMonth() + 1;
641
+ m = m < 10 ? ('0' + m) : m;
642
+ var d = date.getDate();
643
+ d = d < 10 ? ('0' + d) : d;
644
+ var h = date.getHours();
645
+ h = h < 10 ? ('0' + h) : h;
646
+ var minute = date.getMinutes();
647
+ minute = minute < 10 ? ('0' + minute) : minute;
648
+ var second = date.getSeconds();
649
+ second = second < 10 ? ('0' + second) : second;
650
+ return y + '-' + m + '-' + d + ' ' + h + ':' + minute + ':' + second;
651
+ } else {
652
+ return null;
653
+ }
654
+ },
655
+ isEmpty(obj) {
656
+ if (typeof obj === 'undefined' || obj === null || obj === '') {
657
+ return true;
658
+ } else {
659
+ return false;
660
+ }
623
661
  }
624
662
  }
625
663
  }
@@ -162,6 +162,7 @@ export default defineComponent({
162
162
  align-items: center;
163
163
  justify-content: flex-start;
164
164
  border-radius: 3px;
165
+ border:1px solid transparent;
165
166
  }
166
167
 
167
168
  .input_wrapper.border {
@@ -0,0 +1,48 @@
1
+ <script>
2
+ export default {
3
+ props: {
4
+ target: {
5
+ type: [HTMLElement, String],
6
+ default: null
7
+ },
8
+ handler: {
9
+ type: Function,
10
+ default: () => { }
11
+ }
12
+ },
13
+ mounted() {
14
+ window.addEventListener("pointerdown", this.listener)
15
+ },
16
+ beforeUnmount() {
17
+ window.removeEventListener("pointerdown", this.listener)
18
+ },
19
+ methods: {
20
+ listener: function (event) {
21
+ const el = this.target
22
+ if (!el || el === event.target || this.eventPath(event).includes(el)) {
23
+ return
24
+ }
25
+ this.handler(event)
26
+ },
27
+ eventPath(event) {
28
+ const path = (event.composedPath && event.composedPath()) || event.path
29
+
30
+ if (path != null)
31
+ return path
32
+
33
+ function getParents(node, memo = []) {
34
+ const parentNode = node.parentNode
35
+
36
+ return parentNode
37
+ ? getParents(parentNode, memo.concat([parentNode]))
38
+ : memo
39
+ }
40
+
41
+ return [event.target].concat(getParents(event.target))
42
+ }
43
+ },
44
+ render() {
45
+ return this.$slots.default()
46
+ }
47
+ }
48
+ </script>
@@ -1,48 +1,57 @@
1
1
  <template>
2
- <div class="wrapper">
3
- <div class="custom-select"
4
- :class="{ 'readonly': readonly }">
5
- <input type="text"
6
- :value="selected"
7
- :placeholder="placeholder"
8
- :readonly="true"
9
- @click="toggleDropDown"
10
- class="select-css" />
11
-
12
- <span class="custom-select-icons"
13
- v-if="!readonly"
14
- @click="toggleDropDown">
15
- <svg xmlns="http://www.w3.org/2000/svg"
16
- width="16"
17
- height="16"
18
- viewBox="0 0 24 24">
19
- <g :transform="transform"
20
- :style="style">
21
- <path fill="#c0c4cc"
22
- d="M15.125 21.1L6.7 12.7q-.15-.15-.213-.325T6.425 12q0-.2.062-.375T6.7 11.3l8.425-8.425q.35-.35.875-.35t.9.375q.375.375.375.875t-.375.875L9.55 12l7.35 7.35q.35.35.35.863t-.375.887q-.375.375-.875.375t-.875-.375Z" />
23
- </g>
24
- </svg>
25
- </span>
26
- <transition>
27
- <template v-if="!readonly">
28
- <template v-if="options.length">
29
- <ul v-if="isOpen"
30
- :class="{ 'custom-select-options': true, 'scroll': maxHeight > 0 }">
31
- <li v-for="(option, idx) in options"
32
- :key="idx"
33
- @click="handleClick(option)">{{ option.label }}</li>
34
- </ul>
2
+ <onClickOutSide :target="dropdown"
3
+ :handler="handler">
4
+ <div class="wrapper">
5
+ <div class="custom-select"
6
+ :class="{ 'readonly': readonly }">
7
+ <input type="text"
8
+ :value="selected"
9
+ :placeholder="placeholder"
10
+ :readonly="true"
11
+ @click="toggleDropDown"
12
+ class="select-css" />
13
+
14
+ <span class="custom-select-icons"
15
+ v-if="!readonly"
16
+ @click="toggleDropDown">
17
+ <svg xmlns="http://www.w3.org/2000/svg"
18
+ width="16"
19
+ height="16"
20
+ viewBox="0 0 24 24">
21
+ <g :transform="transform"
22
+ :style="style">
23
+ <path fill="#c0c4cc"
24
+ d="M15.125 21.1L6.7 12.7q-.15-.15-.213-.325T6.425 12q0-.2.062-.375T6.7 11.3l8.425-8.425q.35-.35.875-.35t.9.375q.375.375.375.875t-.375.875L9.55 12l7.35 7.35q.35.35.35.863t-.375.887q-.375.375-.875.375t-.875-.375Z" />
25
+ </g>
26
+ </svg>
27
+ </span>
28
+ <transition>
29
+ <template v-if="!readonly">
30
+ <template v-if="options.length">
31
+ <ul v-if="isOpen"
32
+ ref="dropdown"
33
+ :class="{ 'custom-select-options': true, 'scroll': maxHeight > 0 }">
34
+ <li v-for="(option, idx) in options"
35
+ :key="idx"
36
+ @click="handleClick(option)">{{ option.label }}</li>
37
+ </ul>
38
+ </template>
35
39
  </template>
36
- </template>
37
- </transition>
40
+ </transition>
41
+ </div>
38
42
  </div>
39
- </div>
43
+ </onClickOutSide>
40
44
  </template>
41
-
45
+ <script setup>
46
+ import { ref } from 'vue'
47
+ let dropdown = ref(null)
48
+ </script>
42
49
  <script>
50
+ import onClickOutSide from './onClickOutSide.vue'
43
51
  import { defineComponent } from 'vue'
44
52
  export default defineComponent({
45
53
  name: 'zydx-select',
54
+ components: { onClickOutSide },
46
55
  props: {
47
56
  options: {
48
57
  type: Array,
@@ -88,9 +97,13 @@ export default defineComponent({
88
97
  this.$emit('select', option)
89
98
  this.selected = option.label
90
99
  this.isOpen = false
100
+ },
101
+ handler: function () {
102
+ if (this.isOpen) {
103
+ this.isOpen = false
104
+ }
91
105
  }
92
106
  },
93
-
94
107
  computed: {
95
108
  transform: function () {
96
109
  return this.isOpen
@@ -155,7 +168,7 @@ export default defineComponent({
155
168
  }
156
169
 
157
170
  .custom-select.readonly .select-css {
158
- border: none;
171
+ border: 1px solid transparent;
159
172
  }
160
173
 
161
174
  .select-css {
package/src/index.js CHANGED
@@ -63,7 +63,7 @@ function install(app) {
63
63
  }
64
64
 
65
65
  export default {
66
- version: '1.20.123',
66
+ version: '1.20.124',
67
67
  install,
68
68
  Calendar,
69
69
  Message,