cnhis-design-vue 0.1.83-beta → 0.1.87-beta

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 (119) hide show
  1. package/es/affix/index.js +8 -8
  2. package/es/age/index.js +10 -10
  3. package/es/alert/index.js +8 -8
  4. package/es/anchor/index.js +8 -8
  5. package/es/auto-complete/index.js +8 -8
  6. package/es/avatar/index.js +8 -8
  7. package/es/back-top/index.js +8 -8
  8. package/es/badge/index.js +8 -8
  9. package/es/base/index.js +8 -8
  10. package/es/big-table/index.js +127 -110
  11. package/es/big-table/style.css +1 -1
  12. package/es/breadcrumb/index.js +8 -8
  13. package/es/button/index.js +20 -20
  14. package/es/calendar/index.js +8 -8
  15. package/es/captcha/index.js +3 -3
  16. package/es/card/index.js +8 -8
  17. package/es/carousel/index.js +8 -8
  18. package/es/cascader/index.js +8 -8
  19. package/es/checkbox/index.js +9 -9
  20. package/es/col/index.js +8 -8
  21. package/es/collapse/index.js +8 -8
  22. package/es/color-picker/index.js +1 -1
  23. package/es/comment/index.js +8 -8
  24. package/es/config-provider/index.js +8 -8
  25. package/es/date-picker/index.js +8 -8
  26. package/es/descriptions/index.js +8 -8
  27. package/es/divider/index.js +8 -8
  28. package/es/drag-layout/index.js +3 -3
  29. package/es/drawer/index.js +8 -8
  30. package/es/dropdown/index.js +8 -8
  31. package/es/editor/index.js +1 -1
  32. package/es/empty/index.js +8 -8
  33. package/es/fabric-chart/index.js +9 -9
  34. package/es/form/index.js +8 -8
  35. package/es/form-model/index.js +8 -8
  36. package/es/index/index.js +893 -642
  37. package/es/index/style.css +1 -1
  38. package/es/input/index.js +9 -9
  39. package/es/input-number/index.js +8 -8
  40. package/es/layout/index.js +8 -8
  41. package/es/list/index.js +8 -8
  42. package/es/locale-provider/index.js +8 -8
  43. package/es/map/index.js +9 -9
  44. package/es/mentions/index.js +8 -8
  45. package/es/menu/index.js +8 -8
  46. package/es/message/index.js +8 -8
  47. package/es/multi-chat/index.js +465 -242
  48. package/es/multi-chat/style.css +1 -1
  49. package/es/multi-chat-client/index.js +419 -205
  50. package/es/multi-chat-client/style.css +1 -1
  51. package/es/multi-chat-history/index.js +4 -4
  52. package/es/multi-chat-record/index.js +16 -16
  53. package/es/multi-chat-setting/index.js +51 -44
  54. package/es/multi-chat-sip/index.js +1 -1
  55. package/es/notification/index.js +8 -8
  56. package/es/page-header/index.js +8 -8
  57. package/es/pagination/index.js +8 -8
  58. package/es/popconfirm/index.js +8 -8
  59. package/es/popover/index.js +8 -8
  60. package/es/progress/index.js +8 -8
  61. package/es/radio/index.js +9 -9
  62. package/es/rate/index.js +8 -8
  63. package/es/result/index.js +8 -8
  64. package/es/row/index.js +8 -8
  65. package/es/scale-view/index.js +24 -24
  66. package/es/select/index.js +11 -11
  67. package/es/select-label/index.js +10 -10
  68. package/es/select-person/index.js +2 -2
  69. package/es/skeleton/index.js +8 -8
  70. package/es/slider/index.js +8 -8
  71. package/es/space/index.js +8 -8
  72. package/es/spin/index.js +8 -8
  73. package/es/statistic/index.js +8 -8
  74. package/es/steps/index.js +8 -8
  75. package/es/switch/index.js +8 -8
  76. package/es/table-filter/index.js +170 -159
  77. package/es/table-filter/style.css +1 -1
  78. package/es/tabs/index.js +8 -8
  79. package/es/tag/index.js +9 -9
  80. package/es/time-picker/index.js +8 -8
  81. package/es/timeline/index.js +8 -8
  82. package/es/tooltip/index.js +8 -8
  83. package/es/transfer/index.js +8 -8
  84. package/es/tree/index.js +8 -8
  85. package/es/tree-select/index.js +8 -8
  86. package/es/upload/index.js +8 -8
  87. package/es/verification-code/index.js +2 -2
  88. package/lib/cui.common.js +1370 -1603
  89. package/lib/cui.umd.js +1370 -1603
  90. package/lib/cui.umd.min.js +54 -54
  91. package/lib/img/no-data2.3879f4a8.png +0 -0
  92. package/package.json +2 -2
  93. package/packages/big-table/src/BigTable.vue +29 -13
  94. package/packages/multi-chat/chat/chatHeader.vue +41 -33
  95. package/packages/multi-chat/chat/index.vue +93 -66
  96. package/packages/multi-chat/chat/scrollList.vue +4 -2
  97. package/packages/multi-chat/components/user-status.vue +204 -0
  98. package/packages/multi-chat/img/no-data2.png +0 -0
  99. package/packages/multi-chat/store/getters.js +3 -0
  100. package/packages/multi-chat/store/mutation.js +4 -1
  101. package/packages/multi-chat/store/state.js +2 -1
  102. package/packages/table-filter/src/base-search-com/BaseSearch.vue +28 -35
  103. package/packages/table-filter/src/components/table-modal/TableModal.vue +4 -4
  104. package/packages/table-filter/src/quick-search/QuickSearch.vue +9 -9
  105. package/es/img/audio.75c2c1ea.png +0 -0
  106. package/es/img/customer.a3b50156.png +0 -0
  107. package/es/img/customer_staff.426f87de.png +0 -0
  108. package/es/img/end-voice.cd63ae82.png +0 -0
  109. package/es/img/mute-audio.03ce245b.png +0 -0
  110. package/es/img/no-data.5ed2843c.png +0 -0
  111. package/es/img/no-data2.0ca9388b.png +0 -0
  112. package/es/img/notfound.3a1dabb7.png +0 -0
  113. package/es/img/receive.c4de18e9.png +0 -0
  114. package/es/img/to-session.8d3bf7b0.png +0 -0
  115. package/es/img/video-accept.2d7319b3.png +0 -0
  116. package/es/img/video_default_cover.bbbc9079.png +0 -0
  117. package/es/img/xb_big.7b2a9f5a.png +0 -0
  118. package/es/img/xb_small.dd9ba602.png +0 -0
  119. package/lib/img/no-data2.0ca9388b.png +0 -0
@@ -0,0 +1,204 @@
1
+ <template>
2
+ <div>
3
+ <a-dropdown
4
+ v-if="type === 'right-top'"
5
+ placement="bottomCenter"
6
+ :getPopupContainer="
7
+ triggerNode => {
8
+ return triggerNode.parentNode || document.body;
9
+ }
10
+ "
11
+ >
12
+ <a-button>
13
+ <svg-icon v-if="statusIcon" :icon-class="statusIcon" style="font-size: 16px"></svg-icon>
14
+ <img v-else :src="getImg(status)" height="16" />
15
+ {{ statusDesc }}
16
+ <a-icon type="down" />
17
+ </a-button>
18
+ <a-menu slot="overlay">
19
+ <a-menu-item v-for="{ title, status, description, icon } in statusList" :key="status" @click="handleStatusChange(status)">
20
+ <template v-if="description">
21
+ <a-tooltip placement="right">
22
+ <template slot="title">
23
+ <span>{{ description }}</span>
24
+ </template>
25
+ <a>
26
+ <svg-icon v-if="icon" :icon-class="icon" style="font-size: 16px"></svg-icon>
27
+
28
+ <img v-else :src="getImg(status)" height="16" />
29
+ {{ title }}
30
+ </a>
31
+ </a-tooltip>
32
+ </template>
33
+ <template v-else
34
+ ><a>
35
+ <svg-icon v-if="icon" :icon-class="icon" style="font-size: 16px"></svg-icon>
36
+
37
+ <img v-else :src="getImg(status)" height="16" />
38
+ {{ title }}
39
+ </a></template
40
+ >
41
+ </a-menu-item>
42
+ </a-menu>
43
+ </a-dropdown>
44
+ <template v-else>
45
+ <div class="status-btn">
46
+ <svg-icon v-if="statusIcon" :icon-class="statusIcon" style="font-size: 16px"></svg-icon>
47
+ <img v-else :src="getImg(status)" height="16" />
48
+ {{ statusDesc }}
49
+ <a-icon type="right" />
50
+ <ul class="status-list">
51
+ <li v-for="{ title, status, description, icon } in statusList" :key="status" @click="handleStatusChange(status)">
52
+ <template v-if="description">
53
+ <a-tooltip placement="right">
54
+ <template slot="title">
55
+ <span>{{ description }}</span>
56
+ </template>
57
+ <a>
58
+ <svg-icon v-if="icon" :icon-class="icon" style="font-size: 16px"></svg-icon>
59
+
60
+ <img v-else :src="getImg(status)" height="16" />
61
+ {{ title }}
62
+ </a>
63
+ </a-tooltip>
64
+ </template>
65
+ <template v-else
66
+ ><a>
67
+ <svg-icon v-if="icon" :icon-class="icon" style="font-size: 16px"></svg-icon>
68
+
69
+ <img v-else :src="getImg(status)" height="16" />
70
+ {{ title }}
71
+ </a></template
72
+ >
73
+ </li>
74
+ </ul>
75
+ </div>
76
+ </template>
77
+ </div>
78
+ </template>
79
+ <script>
80
+ import { Tooltip, Dropdown, Icon, Menu } from 'ant-design-vue';
81
+ import SvgIcon from '@/component/svg/index.vue';
82
+ import fetch, { qs } from '@/utils/chatFetch';
83
+
84
+ export default {
85
+ inject: ['i18nText'],
86
+ components: {
87
+ [Tooltip.name]: Tooltip,
88
+ [Dropdown.name]: Dropdown,
89
+ [Icon.name]: Icon,
90
+ [Menu.name]: Menu,
91
+ [Menu.Item.name]: Menu.Item,
92
+ SvgIcon
93
+ },
94
+ props: {
95
+ type: {
96
+ type: String,
97
+ default: 'right-top'
98
+ },
99
+ assemblyId: {
100
+ type: String,
101
+ require: true
102
+ },
103
+ statusList: {
104
+ type: Array,
105
+ default: () => []
106
+ },
107
+ curStatus: {
108
+ type: String,
109
+ default: 'ON-LINE'
110
+ }
111
+ },
112
+ computed: {
113
+ statusObj() {
114
+ return this.statusList.find(item => item.status === this.status);
115
+ },
116
+ statusIcon() {
117
+ return this.statusObj?.icon || '';
118
+ },
119
+ statusDesc() {
120
+ return this.statusObj?.title;
121
+ }
122
+ },
123
+ data() {
124
+ return {
125
+ status: 'ON-LINE' // 客服状态
126
+ };
127
+ },
128
+ watch: {
129
+ curStatus(val) {
130
+ val && (this.status = val);
131
+ }
132
+ },
133
+ methods: {
134
+ getImg(name) {
135
+ try {
136
+ return require(`../img/${name}.png`);
137
+ } catch {
138
+ return '';
139
+ }
140
+ },
141
+ handleStatusChange(status) {
142
+ this.status = status;
143
+ let params = {
144
+ assemblyId: this.assemblyId,
145
+ status
146
+ };
147
+ fetch.post('/chat/service/updateServiceState', qs.stringify(params)).then(({ data }) => {
148
+ if (data.result === 'SUCCESS') {
149
+ this.$emit('changeStatus', status);
150
+ this.$message.success(`${this.i18nText('1.9.334')}!`);
151
+ }
152
+ });
153
+ }
154
+ }
155
+ };
156
+ </script>
157
+ <style lang="less" scoped>
158
+ .status-btn {
159
+ position: relative;
160
+ padding-right: 10px;
161
+ height: 26px;
162
+ line-height: 26px;
163
+ cursor: pointer;
164
+ .status-list {
165
+ position: absolute;
166
+ right: -85px;
167
+ bottom: 8px;
168
+ z-index: 1;
169
+ display: none;
170
+ padding: 4px 0;
171
+ outline: none;
172
+ list-style-type: none;
173
+ border-radius: 4px;
174
+ box-shadow: 0 2px 8px rgba(0, 0, 0, .15);
175
+ background-color: #fff;
176
+ transition: all .5s;
177
+ li {
178
+ height: 32px;
179
+ line-height: 32px;
180
+ padding: 0 16px;
181
+ display: flex;
182
+ align-items: center;
183
+ cursor: pointer;
184
+ background: #fff;
185
+ a {
186
+ padding-right: 8px;
187
+ color: rgba(0, 0, 0, 0.65);
188
+ }
189
+ &:hover {
190
+ background: #f2f2f2;
191
+ }
192
+ }
193
+ }
194
+ &:hover {
195
+ .status-list {
196
+ display: block;
197
+ }
198
+ }
199
+ }
200
+ .dropdown-status {
201
+ left: 92px !important;
202
+ top: 706px !important;
203
+ }
204
+ </style>
@@ -337,5 +337,8 @@ export default {
337
337
  },
338
338
  isRecorderVoice(state) {
339
339
  return state.isRecorderVoice;
340
+ },
341
+ status(state) {
342
+ return state.status;
340
343
  }
341
344
  };
@@ -262,5 +262,8 @@ export default {
262
262
  },
263
263
  setUserInfo(state, userInfo) {
264
264
  state.userInfo = userInfo;
265
- }
265
+ },
266
+ setStatus(state, status) {
267
+ state.status = status;
268
+ },
266
269
  };
@@ -102,6 +102,7 @@ export default () => {
102
102
  curScrollItem: null,
103
103
  isQuickReply: false,
104
104
  isRecorderVoice: false,
105
- msgRecordCache: {} // 消息已读记录缓存
105
+ msgRecordCache: {}, // 消息已读记录缓存
106
+ status: ''
106
107
  };
107
108
  };
@@ -8,17 +8,28 @@
8
8
  设置
9
9
  <!-- {{ $t("1.1.5.3") }} -->
10
10
  </a-button>
11
- <a-dropdown overlayClassName="viewList-dropdown" v-if="showViewList">
12
- <a-button class="viewList-button">
13
- <svg-icon :icon-class="'anniuqiehuanmoshi'" style="font-size: 22px"></svg-icon>
14
- </a-button>
15
- <a-menu slot="overlay">
16
- <a-menu-item v-for="(item, index) in viewList" :value="item.id" :key="index" @click="handlerSelectTemp(item.id)" :class="{ 'menu-active': currentTempId === item.id }">
17
- <span>{{ item.name }}</span>
18
- <!-- <a-icon v-if="currentTempId === item.id" type="check" /> -->
19
- </a-menu-item>
20
- </a-menu>
21
- </a-dropdown>
11
+ <template v-if="showViewList">
12
+ <a-popover v-model="viewListVisible" placement="bottom" overlayClassName="product-line-popover viewList-popover" >
13
+ <a-button class="viewList-button">
14
+ <svg-icon :icon-class="'anniuqiehuanmoshi'" style="font-size: 22px"></svg-icon>
15
+ </a-button>
16
+ <template slot="content">
17
+ <ul class="product-line-list">
18
+ <li
19
+ v-for="(item, index) in viewList"
20
+ :value="item.id"
21
+ :key="index"
22
+ @click="handlerSelectTemp(item.id)"
23
+ class="product-line-list-item"
24
+ :class="{ 'active': currentTempId === item.id }"
25
+ >
26
+ <span>{{ item.name }}</span>
27
+ <a-icon v-if="currentTempId === item.id" type="check" class="check-icon product-line-check-icon" />
28
+ </li>
29
+ </ul>
30
+ </template>
31
+ </a-popover>
32
+ </template>
22
33
  </div>
23
34
  <slot name="classification"></slot>
24
35
  <li v-if="isShowSetting('hideQuickSearch') && isRelatedSearchFold" ref="quickSearchLi">
@@ -760,7 +771,8 @@ export default create({
760
771
  groupBtnObj: {},
761
772
  btnObj: BTNOBJ,
762
773
  printBtnStrategys: [], // 打印按钮组策略list
763
- outRelationQuickSearch: [] // 关联表 筛选外显
774
+ outRelationQuickSearch: [], // 关联表 筛选外显
775
+ viewListVisible: false
764
776
  };
765
777
  },
766
778
  created() {
@@ -1183,6 +1195,7 @@ export default create({
1183
1195
  },
1184
1196
  handlerSelectTemp(e) {
1185
1197
  if (this.currentTempId === e) return;
1198
+ this.viewListVisible = false;
1186
1199
  this.currentTempId = e;
1187
1200
  const tab = e == 0 ? 'bigTable' : null;
1188
1201
  this.$emit('handlerChangeView', e, tab);
@@ -1565,7 +1578,7 @@ export default create({
1565
1578
 
1566
1579
  if (editTableWrapper.options && utils.isPlainObject(editTableWrapper.options.extendParams)) {
1567
1580
  // 有额外的参数
1568
- this.options?.extendParams && Object.assign(tableParams.form, this.options.extendParams);
1581
+ editTableWrapper.options?.extendParams && Object.assign(tableParams.form, editTableWrapper.options.extendParams);
1569
1582
  }
1570
1583
  const paramsData = Object.assign(tableParams, {
1571
1584
  table: btn
@@ -1773,7 +1786,7 @@ export default create({
1773
1786
  try {
1774
1787
  const print = { formatId, number };
1775
1788
  // 执行打印后置条件
1776
- const result = await this.postStepRule(printBtn.settingObj, {
1789
+ const result = await this.printConfig.postStepRule(printBtn.settingObj, {
1777
1790
  result: res,
1778
1791
  print: print
1779
1792
  });
@@ -2281,27 +2294,7 @@ export default create({
2281
2294
  }
2282
2295
  }
2283
2296
  }
2284
- .viewList-dropdown {
2297
+ .viewList-popover {
2285
2298
  min-width: 120px;
2286
- .ant-dropdown-menu-item {
2287
- display: flex;
2288
- justify-content: space-between;
2289
- align-items: center;
2290
- color: #2e2e2e;
2291
- margin: 1px 0;
2292
- &:hover {
2293
- background: #f2f2f2;
2294
- }
2295
- > span {
2296
- display: inline;
2297
- width: 85%;
2298
- text-overflow: ellipsis;
2299
- white-space: nowrap;
2300
- overflow: hidden;
2301
- }
2302
- }
2303
- .ant-dropdown-menu-item.menu-active {
2304
- color: #2d7aff;
2305
- }
2306
2299
  }
2307
2300
  </style>
@@ -39,11 +39,11 @@
39
39
  <div class="list-title">
40
40
  <span class="list-title-item" style="width:6%"></span>
41
41
  <span class="list-title-item">
42
- 父类名称
42
+ 名称
43
43
  <!-- {{ $t("1.9.362") }} -->
44
44
  </span>
45
45
  <span class="list-title-item">
46
- 名称
46
+ 父类名称
47
47
  <!-- {{ $t("1.1.3.1.1") }} -->
48
48
  </span>
49
49
  <span class="list-title-item">
@@ -73,10 +73,10 @@
73
73
  </a-tooltip>
74
74
  </span>
75
75
  <span :title="item.displayCategory" class="list-content-item">
76
- {{ item.displayCategory }}
76
+ {{ item.name }}
77
77
  </span>
78
78
  <span :title="item.name" class="list-content-item">
79
- {{ item.name }}
79
+ {{ item.displayCategory }}
80
80
  </span>
81
81
  <!-- <span v-show="item.type == 'line'" class="list-content-line"
82
82
  ><span class="text">{{ item.name }}</span></span
@@ -975,7 +975,7 @@ export default create({
975
975
  if (el.setting) {
976
976
  // el.seting 可能是 string / object
977
977
  el.setting = typeof el.setting == "string" ? JSON.parse(el.setting) : el.setting;
978
- if (!this.$utils.isEmpty(el.setting.wordbook)) {
978
+ if (!vexutils.isEmpty(el.setting.wordbook)) {
979
979
  this.$set(el, "con", "QUOTE");
980
980
  this.$set(el, "dataSource", []);
981
981
  this.$set(el, "QUOTE", []);
@@ -1261,12 +1261,12 @@ export default create({
1261
1261
  if (item.EVALUATEAttr) {
1262
1262
  value = item.selecteds.join("|#|");
1263
1263
  }
1264
- } else if (item.con == "QUOTE" && !this.$utils.isEmpty(item.value)) {
1264
+ } else if (item.con == "QUOTE" && !vexutils.isEmpty(item.value)) {
1265
1265
  // value = item.QUOTE.join("|#|");
1266
1266
  value = item.value.join("|#|");
1267
- } else if (!this.$utils.isEmpty(item.CONVERT)) {
1267
+ } else if (!vexutils.isEmpty(item.CONVERT)) {
1268
1268
  value = item.CONVERT.map(item => {
1269
- if (item && this.$utils.isJSON(item)) {
1269
+ if (item && vexutils.isJSON(item)) {
1270
1270
  return JSON.parse(item);
1271
1271
  }
1272
1272
  return item;
@@ -1301,7 +1301,7 @@ export default create({
1301
1301
 
1302
1302
  // 校验
1303
1303
  if (item.BIRTHDAY.start_val) {
1304
- let res = this.$utils.validateBirthday(
1304
+ let res = vexutils.validateBirthday(
1305
1305
  item.BIRTHDAY.start_val,
1306
1306
  item.title,
1307
1307
  item.BIRTHDAY.unit
@@ -1309,7 +1309,7 @@ export default create({
1309
1309
  if (!res) return;
1310
1310
  }
1311
1311
  if (item.BIRTHDAY.end_val) {
1312
- let res = this.$utils.validateBirthday(
1312
+ let res = vexutils.validateBirthday(
1313
1313
  item.BIRTHDAY.end_val,
1314
1314
  item.title,
1315
1315
  item.BIRTHDAY.unit
@@ -1349,7 +1349,7 @@ export default create({
1349
1349
  }
1350
1350
  }
1351
1351
  // 删除字符串前后空格
1352
- if (value && this.$utils.isString(value)) {
1352
+ if (value && vexutils.isString(value)) {
1353
1353
  value = value.trim();
1354
1354
  }
1355
1355
  let temp = {
@@ -1519,10 +1519,10 @@ export default create({
1519
1519
  if (item.EQ || item.CL) {
1520
1520
  item.EQ = "";
1521
1521
  item.CL = "";
1522
- } else if (item.con == "QUOTE" && !this.$utils.isEmpty(item.value)) {
1522
+ } else if (item.con == "QUOTE" && !vexutils.isEmpty(item.value)) {
1523
1523
  item.QUOTE = [];
1524
1524
  item.value = [];
1525
- } else if (!this.$utils.isEmpty(item.CONVERT)) {
1525
+ } else if (!vexutils.isEmpty(item.CONVERT)) {
1526
1526
  item.CONVERT = [];
1527
1527
  } else if (item.DATE) {
1528
1528
  item.showDate = false;
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file