@tencentcloud/ai-desk-customer-vue 1.1.0 → 1.3.0

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.
Files changed (37) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/components/CustomerServiceChat/index-web.vue +3 -3
  3. package/components/CustomerServiceChat/message-list/index-web.vue +1 -0
  4. package/components/CustomerServiceChat/message-list/message-elements/message-bubble-web.vue +14 -15
  5. package/components/CustomerServiceChat/message-list/message-elements/message-desk/message-desk-elements/marked.ts +1 -1
  6. package/components/CustomerServiceChat/message-list/message-elements/message-desk/message-desk-elements/message-branch.vue +25 -6
  7. package/components/CustomerServiceChat/message-list/message-elements/message-desk/message-desk-elements/message-concurrency-limit.vue +40 -0
  8. package/components/CustomerServiceChat/message-list/message-elements/message-desk/message-desk-elements/message-desk.vue +21 -4
  9. package/components/CustomerServiceChat/message-list/message-elements/message-desk/message-desk-elements/message-multi-branch/branch-pc.vue +93 -73
  10. package/components/CustomerServiceChat/message-list/message-elements/message-desk/message-desk-elements/message-multi-branch/index.vue +53 -52
  11. package/components/CustomerServiceChat/message-list/message-elements/message-desk/message-desk-elements/message-multi-form/component-mobile/input-mobile.vue +73 -80
  12. package/components/CustomerServiceChat/message-list/message-elements/message-desk/message-desk-elements/message-multi-form/component-mobile/label-mobile.vue +21 -24
  13. package/components/CustomerServiceChat/message-list/message-elements/message-desk/message-desk-elements/message-multi-form/component-mobile/radios-mobile.vue +115 -116
  14. package/components/CustomerServiceChat/message-list/message-elements/message-desk/message-desk-elements/message-multi-form/component-pc/input-pc.vue +69 -73
  15. package/components/CustomerServiceChat/message-list/message-elements/message-desk/message-desk-elements/message-multi-form/component-pc/label-pc.vue +21 -25
  16. package/components/CustomerServiceChat/message-list/message-elements/message-desk/message-desk-elements/message-multi-form/component-pc/radio-pc.vue +87 -77
  17. package/components/CustomerServiceChat/message-list/message-elements/message-desk/message-desk-elements/message-multi-form/form-mobile.vue +213 -200
  18. package/components/CustomerServiceChat/message-list/message-elements/message-desk/message-desk-elements/message-multi-form/form-pc.vue +122 -113
  19. package/components/CustomerServiceChat/message-list/message-elements/message-desk/message-desk-elements/message-multi-form/index.vue +7 -7
  20. package/components/CustomerServiceChat/message-list/message-elements/message-desk/message-desk-elements/message-order.vue +142 -0
  21. package/components/CustomerServiceChat/message-list/message-elements/message-desk/message-desk-elements/message-rich-text.vue +5 -1
  22. package/components/CustomerServiceChat/message-list/message-elements/message-desk/message-desk-elements/message-stream.vue +25 -1
  23. package/components/CustomerServiceChat/message-list/scroll-button/index.vue +15 -3
  24. package/components/common/BottomPopup/index.vue +1 -1
  25. package/constant.ts +10 -4
  26. package/locales/en/aidesk.ts +3 -1
  27. package/locales/fil/aidesk.ts +3 -1
  28. package/locales/id/aidesk.ts +4 -2
  29. package/locales/ja/aidesk.ts +4 -2
  30. package/locales/ms/aidesk.ts +4 -2
  31. package/locales/ru/aidesk.ts +5 -3
  32. package/locales/th/aidesk.ts +3 -1
  33. package/locales/vi/aidesk.ts +4 -2
  34. package/locales/zh_cn/aidesk.ts +4 -3
  35. package/locales/zh_tw/aidesk.ts +3 -1
  36. package/package.json +1 -1
  37. package/server.ts +6 -1
@@ -1,33 +1,29 @@
1
1
  <template>
2
- <div class="form-label">
3
- <div v-if="isRequired" style="color: red;">
4
- *&nbsp;
5
- </div>
6
- {{ name }}
7
-
2
+ <div class="form-label">
3
+ <div v-if="isRequired" style="color: red;">
4
+ *&nbsp;
8
5
  </div>
6
+ {{ name }}
7
+ </div>
9
8
  </template>
10
9
  <script lang="ts">
11
- export default {
12
- props:{
13
- name:{
14
- type:String,
15
- default:''
16
- },
17
- isRequired:{
18
- type:Number,
19
- default:0
20
- }
21
- },
22
- setup(props){
23
-
24
- }
25
- }
10
+ export default {
11
+ props: {
12
+ name: {
13
+ type: String,
14
+ default: ''
15
+ },
16
+ isRequired: {
17
+ type: Number,
18
+ default: 0
19
+ }
20
+ },
21
+ }
26
22
  </script>
27
23
  <style lang="scss">
28
24
  .form-label {
29
- display:flex;
30
- padding-bottom: 8px;
31
- margin-top:12px;
25
+ display:flex;
26
+ padding-bottom: 8px;
27
+ margin-top:12px;
32
28
  }
33
- </style>
29
+ </style>
@@ -1,99 +1,109 @@
1
1
  <template>
2
- <div>
3
- <div class="radio-container-pc">
4
- <div v-if="validator" class="validator-line">
5
- {{ TUITranslateService.t("AIDesk.请填写必填项") }}
6
- </div>
7
- <div class="form-radio-box-pc" v-for="(item,index) in chooseItemList" :key="index">
8
- <div class="radio-container-pc-icon" @click="clickItem(index)">
9
- <div class="radio-icon">
10
- <img :src="changeSelectedIcon(item)" alt="" style="width: 20px; height: 20px; vertical-align: middle;"/>
11
- </div>
12
- <div class="radio-label">
13
- {{ item }}
14
- </div>
15
- </div>
16
- </div>
2
+ <div>
3
+ <div class="radio-container-pc">
4
+ <div v-if="validator && !isDisabled" class="validator-line">
5
+ {{ TUITranslateService.t("AIDesk.请填写必填项") }}
6
+ </div>
7
+ <div :class="['form-radio-box-pc',isDisabled ? 'form-radio-box-pc-disabled' : '']" v-for="(item,index) in chooseItemList" :key="index">
8
+ <div class="radio-container-pc-icon" @click="clickItem(index)">
9
+ <div class="radio-icon">
10
+ <img :src="changeSelectedIcon(item)" alt="" style="width: 20px; height: 20px; vertical-align: middle;"/>
11
+ </div>
12
+ <div class="radio-label">
13
+ {{ item }}
14
+ </div>
17
15
  </div>
18
-
16
+ </div>
19
17
  </div>
18
+ </div>
20
19
  </template>
21
20
  <script lang="ts">
22
21
  import vue from '../../../../../../../../adapter-vue';
23
22
  import radioUncheckIcon from '../../../../../../../../assets/radio-uncheck.png';
24
23
  import radioCheckIcon from '../../../../../../../../assets/radio-check.png';
25
24
  import { TUITranslateService } from '@tencentcloud/chat-uikit-engine';
26
- const { ref } = vue;
25
+ const { ref } = vue;
27
26
  export default {
28
- props:{
29
- chooseItemList:{
30
- type:Array,
31
- default:[]
32
- },
33
- name:{
34
- type:String,
35
- default:'',
36
- },
37
- isRequired:{
38
- type:Number,
39
- default:0,
40
- },
41
- validator:{
42
- type:Boolean,
43
- default:false
44
- }
27
+ props: {
28
+ chooseItemList: {
29
+ type: Array,
30
+ default: []
45
31
  },
46
- emits:['input-change'],
47
- setup(props,{emit}){
48
- const selectedOption = ref<string>('');
49
- const checkedIcon = ref<string>('');
50
- const changeSelectedIcon = (name:any) => {
51
- if(selectedOption.value === name)
52
- return radioCheckIcon;
53
- else
54
- return radioUncheckIcon;
55
- }
56
-
57
- const clickItem=(index:number) => {
58
- selectedOption.value = props.chooseItemList[index] as string;
59
- emit('input-change',{name:props.name,value:selectedOption.value});
60
- }
32
+ name: {
33
+ type: String,
34
+ default: '',
35
+ },
36
+ isRequired: {
37
+ type: Number,
38
+ default: 0,
39
+ },
40
+ validator: {
41
+ type: Boolean,
42
+ default: false
43
+ },
44
+ isDisabled: {
45
+ type: Boolean,
46
+ default: false
47
+ }
48
+ },
49
+ emits:['input-change'],
50
+ setup(props,{emit}){
51
+ const selectedOption = ref<string>('');
52
+ const checkedIcon = ref<string>('');
53
+ const changeSelectedIcon = (name:any) => {
54
+ if (selectedOption.value === name) {
55
+ return radioCheckIcon;
56
+ } else {
57
+ return radioUncheckIcon;
58
+ }
59
+ }
61
60
 
62
- const onInputChanged = ():void => {
63
- emit('input-change',{name:props.name,value:selectedOption.value});
64
- };
65
- return {
66
- onInputChanged,
67
- selectedOption,
68
- clickItem,
69
- radioUncheckIcon,
70
- radioCheckIcon,
71
- changeSelectedIcon,
72
- checkedIcon,
73
- TUITranslateService
74
- }
61
+ const clickItem=(index:number) => {
62
+ if (props.isDisabled) {
63
+ return;
64
+ }
65
+ selectedOption.value = props.chooseItemList[index] as string;
66
+ emit('input-change',{name:props.name,value:selectedOption.value});
75
67
  }
68
+
69
+ const onInputChanged = ():void => {
70
+ emit('input-change',{name:props.name,value:selectedOption.value});
71
+ };
72
+ return {
73
+ onInputChanged,
74
+ selectedOption,
75
+ clickItem,
76
+ radioUncheckIcon,
77
+ radioCheckIcon,
78
+ changeSelectedIcon,
79
+ checkedIcon,
80
+ TUITranslateService
81
+ }
82
+ }
76
83
  }
77
84
  </script>
78
85
  <style lang="scss">
79
86
  .form-radio-box{
80
- margin-bottom: 5px;
87
+ margin-bottom: 5px;
81
88
  }
82
89
  .radio-container-pc {
83
- display:flex;
84
- flex-direction: column;
85
- width:100%;
90
+ display: flex;
91
+ flex-direction: column;
92
+ width: 100%;
86
93
  }
87
- .form-radio-box-pc{
88
- padding: 5px 0;
94
+ .form-radio-box-pc {
95
+ padding: 5px 0;
89
96
  }
90
- .radio-container-pc-icon{
91
- display:flex;
92
- flex-direction: row;
93
- width: 100%;
94
- align-items: center;
95
- .radio-icon {
96
- margin-right:5px;
97
- }
97
+ .form-radio-box-pc-disabled {
98
+ color: #b0b0b0;
99
+ }
100
+ .radio-container-pc-icon {
101
+ display: flex;
102
+ flex-direction: row;
103
+ width: 100%;
104
+ align-items: center;
105
+ .radio-icon {
106
+ margin-right:5px;
107
+ }
98
108
  }
99
- </style>
109
+ </style>