cnhis-design-vue 0.2.18-beta → 0.2.19-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 (122) 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 +434 -211
  11. package/es/big-table/style.css +1 -1
  12. package/es/breadcrumb/index.js +8 -8
  13. package/es/button/index.js +102 -65
  14. package/es/button/style.css +1 -1
  15. package/es/calendar/index.js +8 -8
  16. package/es/captcha/index.js +3 -3
  17. package/es/card/index.js +8 -8
  18. package/es/carousel/index.js +8 -8
  19. package/es/cascader/index.js +8 -8
  20. package/es/checkbox/index.js +9 -9
  21. package/es/col/index.js +8 -8
  22. package/es/collapse/index.js +8 -8
  23. package/es/color-picker/index.js +1 -1
  24. package/es/comment/index.js +8 -8
  25. package/es/config-provider/index.js +8 -8
  26. package/es/date-picker/index.js +8 -8
  27. package/es/descriptions/index.js +8 -8
  28. package/es/divider/index.js +8 -8
  29. package/es/drag-layout/index.js +3 -3
  30. package/es/drawer/index.js +8 -8
  31. package/es/dropdown/index.js +8 -8
  32. package/es/editor/index.js +1 -1
  33. package/es/empty/index.js +8 -8
  34. package/es/fabric-chart/index.js +9 -9
  35. package/es/form/index.js +8 -8
  36. package/es/form-model/index.js +8 -8
  37. package/es/index/index.js +1505 -872
  38. package/es/index/style.css +1 -1
  39. package/es/input/index.js +9 -9
  40. package/es/input-number/index.js +8 -8
  41. package/es/layout/index.js +8 -8
  42. package/es/list/index.js +8 -8
  43. package/es/locale-provider/index.js +8 -8
  44. package/es/map/index.js +9 -9
  45. package/es/mentions/index.js +8 -8
  46. package/es/menu/index.js +8 -8
  47. package/es/message/index.js +8 -8
  48. package/es/multi-chat/index.js +650 -247
  49. package/es/multi-chat/style.css +1 -1
  50. package/es/multi-chat-client/index.js +570 -195
  51. package/es/multi-chat-client/style.css +1 -1
  52. package/es/multi-chat-history/index.js +4 -4
  53. package/es/multi-chat-record/index.js +14 -14
  54. package/es/multi-chat-setting/index.js +330 -79
  55. package/es/multi-chat-setting/style.css +1 -1
  56. package/es/multi-chat-sip/index.js +1 -1
  57. package/es/notification/index.js +8 -8
  58. package/es/page-header/index.js +8 -8
  59. package/es/pagination/index.js +8 -8
  60. package/es/popconfirm/index.js +8 -8
  61. package/es/popover/index.js +8 -8
  62. package/es/progress/index.js +8 -8
  63. package/es/radio/index.js +9 -9
  64. package/es/rate/index.js +8 -8
  65. package/es/result/index.js +8 -8
  66. package/es/row/index.js +8 -8
  67. package/es/scale-view/index.js +92 -77
  68. package/es/scale-view/style.css +1 -1
  69. package/es/select/index.js +11 -11
  70. package/es/select-label/index.js +10 -10
  71. package/es/select-person/index.js +2 -2
  72. package/es/skeleton/index.js +8 -8
  73. package/es/slider/index.js +8 -8
  74. package/es/space/index.js +8 -8
  75. package/es/spin/index.js +8 -8
  76. package/es/statistic/index.js +8 -8
  77. package/es/steps/index.js +8 -8
  78. package/es/switch/index.js +8 -8
  79. package/es/table-filter/index.js +241 -143
  80. package/es/table-filter/style.css +1 -1
  81. package/es/tabs/index.js +8 -8
  82. package/es/tag/index.js +9 -9
  83. package/es/time-picker/index.js +8 -8
  84. package/es/timeline/index.js +8 -8
  85. package/es/tooltip/index.js +8 -8
  86. package/es/transfer/index.js +8 -8
  87. package/es/tree/index.js +8 -8
  88. package/es/tree-select/index.js +8 -8
  89. package/es/upload/index.js +8 -8
  90. package/es/utils/UniRTCv2.js +586 -0
  91. package/es/verification-code/index.js +2 -2
  92. package/lib/cui.common.js +2412 -1225
  93. package/lib/cui.umd.js +2412 -1225
  94. package/lib/cui.umd.min.js +61 -61
  95. package/package.json +3 -3
  96. package/packages/big-table/src/BigTable.vue +71 -16
  97. package/packages/big-table/src/assets/style/table-base.less +5 -0
  98. package/packages/big-table/src/components/TextOverTooltip.vue +23 -10
  99. package/packages/big-table/src/utils/batchEditing.js +1 -1
  100. package/packages/big-table/src/utils/bigTableProps.js +2 -1
  101. package/packages/button/src/ButtonPrint/index.vue +49 -14
  102. package/packages/multi-chat/chat/audio.vue +22 -0
  103. package/packages/multi-chat/chat/calling.vue +6 -0
  104. package/packages/multi-chat/chat/chatFooter.vue +43 -3
  105. package/packages/multi-chat/chat/client/clientChat.vue +13 -1
  106. package/packages/multi-chat/chat/index.vue +16 -3
  107. package/packages/multi-chat/chat/mixins/uniRTCAPI.js +77 -0
  108. package/packages/multi-chat/chat/multiVideo.vue +14 -0
  109. package/packages/multi-chat/chat/scrollList.vue +7 -1
  110. package/packages/multi-chat/chat/video.vue +4 -0
  111. package/packages/multi-chat/components/user-status.vue +50 -45
  112. package/packages/multi-chat/setting/baseInfo/index.vue +3 -3
  113. package/packages/multi-chat/setting/configuration/index.vue +38 -1
  114. package/packages/multi-chat/store/actions.js +76 -0
  115. package/packages/multi-chat/store/getters.js +9 -0
  116. package/packages/multi-chat/store/mutation.js +9 -0
  117. package/packages/multi-chat/store/state.js +4 -1
  118. package/packages/scale-view/answerParse.vue +27 -14
  119. package/packages/scale-view/scaleView.vue +18 -8
  120. package/packages/table-filter/src/base-search-com/BaseSearch.vue +74 -7
  121. package/packages/table-filter/src/quick-search/QuickSearch.vue +31 -18
  122. package/src/utils/UniRTCv2.js +561 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cnhis-design-vue",
3
- "version": "0.2.18-beta",
3
+ "version": "0.2.19-beta",
4
4
  "description": "基于 Ant Desgin Vue 的UI库",
5
5
  "keyword": "cnhis-design-vue vue cnhis",
6
6
  "homepage": "http://dv.cnhis.com/",
@@ -40,7 +40,7 @@
40
40
  "spark-md5": "^3.0.1",
41
41
  "stompjs": "^2.3.3",
42
42
  "text-security": "^3.2.1",
43
- "trtc-js-sdk": "^4.11.7",
43
+ "trtc-js-sdk": "^4.11.4",
44
44
  "v-viewer": "1.5.1",
45
45
  "video.js": "^7.8.4",
46
46
  "vue-dom-portal": "^0.1.6",
@@ -93,4 +93,4 @@
93
93
  "commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
94
94
  }
95
95
  }
96
- }
96
+ }
@@ -3,7 +3,7 @@
3
3
  class="big-table"
4
4
  :class="{
5
5
  mt: visibleCheckAllWrap || visibleTreeCheck || hasRefresh,
6
- 'expand-padding': isExpandTable
6
+ 'expand-padding': !isNestTable
7
7
  }"
8
8
  :style="{ height: tableHeight }"
9
9
  >
@@ -147,7 +147,7 @@
147
147
  <script>
148
148
  import Vue from 'vue';
149
149
  import TextOverTooltip from './components/TextOverTooltip.vue';
150
- import { Icon, Tooltip, Progress, Switch, Popover, Button, Dropdown, Menu, Checkbox, Input } from 'ant-design-vue';
150
+ import { Icon, Tooltip, Progress, Switch, Popover, Button, Dropdown, Menu, Checkbox, Input, Popconfirm } from 'ant-design-vue';
151
151
  import format from './utils/format';
152
152
  import { parseDurationValue, parseCombinationValue, formatFieldText, imgs2imgArr } from './utils/tableParse';
153
153
  import passwordCom from './components/password-com.vue';
@@ -167,6 +167,7 @@ import EditForm from './components/edit-form/EditForm.vue';
167
167
 
168
168
  import nestTable from './utils/nestTable';
169
169
  import bigTableProps from './utils/bigTableProps';
170
+ import SvgIcon from '@/component/svg/index.vue';
170
171
 
171
172
  let addInlineEditPrimaryKey = '';
172
173
  export default create({
@@ -182,9 +183,11 @@ export default create({
182
183
  [Switch.name]: Switch,
183
184
  [Popover.name]: Popover,
184
185
  [Dropdown.name]: Dropdown,
186
+ [Popconfirm.name]: Popconfirm,
185
187
  [Menu.name]: Menu,
186
188
  [Grid.name]: Grid,
187
- [VideoList.name]: VideoList
189
+ [VideoList.name]: VideoList,
190
+ SvgIcon
188
191
  },
189
192
  mixins: [format, batchEditing, nestTable],
190
193
  props: Object.assign({}, bigTableProps),
@@ -347,6 +350,9 @@ export default create({
347
350
  }
348
351
  let startIndex = (this.pageVO.pageIndex - 1) * this.pageVO.pageSize;
349
352
  return { startIndex: startIndex < 0 ? 0 : startIndex };
353
+ },
354
+ isScanMultiTable() {
355
+ return this.columnConfig?.isScanMultiTable
350
356
  }
351
357
  },
352
358
  watch: {
@@ -468,6 +474,10 @@ export default create({
468
474
  }
469
475
  },
470
476
  methods: {
477
+ customerInit(){
478
+ this.loadColumn(this.columnConfig);
479
+ this.loadData(this.data);
480
+ },
471
481
  setTalbeScrollTo() {
472
482
  let table = this.$refs.xGrid;
473
483
  if (!table) return;
@@ -1289,8 +1299,9 @@ export default create({
1289
1299
  * sortable: 是否允许列排序
1290
1300
  */
1291
1301
  // 配置列表
1292
- let { selectType, noSetting } = this.getOtherConfigInit() || {};
1293
- let { isBatchSelect, fieldList, showButtonTop } = map;
1302
+ let { selectType } = this.getOtherConfigInit() || {};
1303
+ let { tableNoSetting } = this;
1304
+ let { isBatchSelect, fieldList, showButtonTop, isScanMultiTable } = map;
1294
1305
  if (selectType) {
1295
1306
  // 有设置 selectType 强制可选。
1296
1307
  isBatchSelect = 1;
@@ -1313,7 +1324,20 @@ export default create({
1313
1324
  );
1314
1325
  }
1315
1326
  };
1316
- const columns = [
1327
+ let checkVisible = isBatchSelect == 1 && !this.isNestTable && !isScanMultiTable || false;
1328
+ let columns = [
1329
+ {
1330
+ fixed: 'left',
1331
+ align: 'center',
1332
+ visible: isScanMultiTable || false,
1333
+ width: '50',
1334
+ slots: {
1335
+ header: () => {
1336
+ return "操作";
1337
+ },
1338
+ default: this.scanMultiOperate
1339
+ }
1340
+ },
1317
1341
  {
1318
1342
  type: 'seq',
1319
1343
  fixed: this.isNestTable ? '' : 'left',
@@ -1323,7 +1347,7 @@ export default create({
1323
1347
  showOverflow: true,
1324
1348
  slots: {
1325
1349
  header: () => {
1326
- return [noSetting ? null : <a-icon class="setting" type="setting" onClick={() => this.showDrawer()} />];
1350
+ return [tableNoSetting ? null : <a-icon class="setting" type="setting" onClick={() => this.showDrawer()} />];
1327
1351
  }
1328
1352
  }
1329
1353
  },
@@ -1331,7 +1355,7 @@ export default create({
1331
1355
  type: selectType,
1332
1356
  fixed: this.isNestTable ? '' : 'left',
1333
1357
  align: 'center',
1334
- visible: isBatchSelect == 1 && !this.isNestTable,
1358
+ visible: checkVisible,
1335
1359
  resizable: false,
1336
1360
  width: checkMinWidth,
1337
1361
  // slots: selectType === 'checkbox' ? checkboxSlot : null,
@@ -1360,6 +1384,14 @@ export default create({
1360
1384
  let treeNode = this.isNestTable ? false : this.isTree != 0 ? index === 0 : false;
1361
1385
  let type = index === 0 && this.showNestTable ? 'expand' : '';
1362
1386
 
1387
+ // 扫码打开的table只展示
1388
+ if(isScanMultiTable) {
1389
+ fixed = "";
1390
+ sortable = false;
1391
+ treeNode = false;
1392
+ type = "";
1393
+ }
1394
+
1363
1395
  const col = Object.assign(item, {
1364
1396
  visible: item.columnName == 'operatorColumn' ? showButtonTop == 0 : item.isShow == 1,
1365
1397
  field: item.columnName,
@@ -1384,7 +1416,7 @@ export default create({
1384
1416
  editRender: this.generateEditRender(item)
1385
1417
  });
1386
1418
 
1387
- if (filterField && !this.isNestTable) {
1419
+ if (filterField && !this.isNestTable && !isScanMultiTable) {
1388
1420
  this.$set(
1389
1421
  this.filterFields,
1390
1422
  item.columnName,
@@ -1407,7 +1439,10 @@ export default create({
1407
1439
  col.slots.header = this.toolTipTitle(item);
1408
1440
  }
1409
1441
 
1410
- col.slots.footer = 'tooltip_footer';
1442
+
1443
+ if (!isScanMultiTable) {
1444
+ col.slots.footer = 'tooltip_footer';
1445
+ }
1411
1446
 
1412
1447
  // 主表设置expand
1413
1448
  if (this.showNestTable && this.isTree == 0 && this.curNestColumnConfig?.isTree == 0) {
@@ -1691,7 +1726,7 @@ export default create({
1691
1726
  if (this.tableOptions?.dataSourceType == 'guage') {
1692
1727
  tooltipTitle = item.alias || item.title;
1693
1728
  }
1694
- if (name && name !== tooltipTitle) {
1729
+ if (name&& tooltipTitle && name !== tooltipTitle) {
1695
1730
  isAlias = !!tooltipTitle;
1696
1731
  }
1697
1732
  if (type === 'format') return <text-over-tooltip refName={'item-' + item[this.handleRowId]} tooltipTitle={tooltipTitle} content={name} isAlias={isAlias} />;
@@ -1971,6 +2006,23 @@ export default create({
1971
2006
  field.indeterminate = !!len && len !== field.setting.showSetting.length;
1972
2007
  field.searchFilterText = '';
1973
2008
  },
2009
+ scanMultiOperate(params){
2010
+ return [
2011
+ <a-popconfirm ok-text={'确认'} cancel-text={'取消'} title={'是否确认删除?'} on-confirm={() =>this.confirmScanMulti(params)}>
2012
+ <svg-icon class="scan-multi-delete" iconClass="shanchu" />
2013
+ </a-popconfirm>
2014
+ ]
2015
+ },
2016
+ /**
2017
+ * 删除选中scan数据
2018
+ */
2019
+ confirmScanMulti(params){
2020
+ let{row, $rowIndex} = params || {}
2021
+ if(!row) return;
2022
+ this.$emit("scanMultiRemove", $rowIndex, params)
2023
+ let vxeTable = this.$refs.xGrid;
2024
+ vxeTable.remove(row);
2025
+ },
1974
2026
  // 表格渲染逻辑
1975
2027
  formatter(params, col) {
1976
2028
  let { row, column, $rowIndex } = params;
@@ -2065,7 +2117,7 @@ export default create({
2065
2117
  ];
2066
2118
  }
2067
2119
 
2068
- if (this.isLink(own, row)) {
2120
+ if (this.isLink(own, row) && !this.isScanMultiTable) {
2069
2121
  if (own.btnLinkSwitch) {
2070
2122
  let disabled = false;
2071
2123
  let curBtn = row.btnList?.find(v => v.name == own.columnName);
@@ -2225,14 +2277,14 @@ export default create({
2225
2277
  },
2226
2278
  // 行双击
2227
2279
  rowdblclick({ row, column }) {
2228
- if (this.isInlineOperating) return false;
2280
+ if (this.isScanMultiTable || this.isInlineOperating) return false;
2229
2281
  if (vexutils.has(row, GROUP_TITLE_KEY)) return false;
2230
2282
  this.$emit('setNestTableClick', this.isNestTable);
2231
2283
  this.$emit('rowdblclick', row, column, true, true);
2232
2284
  },
2233
2285
  // 行单击
2234
2286
  handlerClickRow(data) {
2235
- if (this.isInlineOperating) return false;
2287
+ if (this.isScanMultiTable || this.isInlineOperating) return false;
2236
2288
  if (vexutils.has(data?.row, GROUP_TITLE_KEY)) return false;
2237
2289
  if (this.isTriggerSelectionChange && this.isTree == 0) return false;
2238
2290
  let table = this.$refs.xGrid;
@@ -2242,7 +2294,7 @@ export default create({
2242
2294
  let { row, $event = {}, $rowIndex } = data;
2243
2295
  // 点击主表格展开行按钮 不需要触发选中行
2244
2296
  let { className } = $event.target || {};
2245
- if (className && className.includes('vxe-table--expand-btn')) return;
2297
+ if (className && vexutils.isString(className) && className.includes('vxe-table--expand-btn')) return;
2246
2298
 
2247
2299
  // 记录上次点击table信息 用于清除
2248
2300
  this.isAboutNestTable && this.$emit('setNestLastClickTable', table, this.isNestTable, row[this.handleRowId], row);
@@ -2812,7 +2864,10 @@ export default create({
2812
2864
  const config = tableOptions?.config || {};
2813
2865
  return config || undefined;
2814
2866
  },
2815
-
2867
+ tableNoSetting(){
2868
+ let { noSetting } = this.getOtherConfigInit() || {};
2869
+ return noSetting || this.showSettings?.hideSettingBtn == 1;
2870
+ },
2816
2871
  // 单选
2817
2872
  radioOnChange(rowData = {}) {
2818
2873
  let { data, row, $rowIndex } = rowData;
@@ -17,6 +17,7 @@ body {
17
17
  img {
18
18
  max-height: 100%;
19
19
  object-fit: contain;
20
+ cursor: pointer;
20
21
  }
21
22
  &.img-circle {
22
23
  img {
@@ -179,6 +180,10 @@ body {
179
180
  height: 100%;
180
181
  }
181
182
 
183
+ .scan-multi-delete {
184
+ color: #F06F64;
185
+ }
186
+
182
187
  .vxe-table--header {
183
188
  background-color: #f2f2f2;
184
189
  .vxe-header--column .vxe-cell--title {
@@ -1,7 +1,17 @@
1
1
  <template>
2
2
  <div class="text-over-tooltip-components">
3
- <a-tooltip :effect="effect" :disabled="isDisabledTooltip" :title="curContent" :placement="placement">
4
- <div class="ellipsis" :class="className" @mouseover="onMouseOver(refName)">
3
+ <a-tooltip
4
+ :effect="effect"
5
+ :visible="isDisabledTooltip"
6
+ :title="curContent"
7
+ :placement="placement"
8
+ >
9
+ <div
10
+ class="ellipsis"
11
+ :class="className"
12
+ @mouseover="onMouseOver(refName)"
13
+ @mouseout="onMouseOut"
14
+ >
5
15
  <i :ref="refName">
6
16
  <slot></slot>
7
17
  <i>{{ content }}</i>
@@ -12,10 +22,10 @@
12
22
  </template>
13
23
 
14
24
  <script>
15
- import { Tooltip } from 'ant-design-vue';
25
+ import { Tooltip } from "ant-design-vue";
16
26
  import vexutils from '@/utils/vexutils';
17
27
  export default {
18
- name: 'TextOverTooltip',
28
+ name: "TextOverTooltip",
19
29
  components: {
20
30
  [Tooltip.name]: Tooltip
21
31
  },
@@ -30,27 +40,27 @@ export default {
30
40
  effect: {
31
41
  type: String,
32
42
  default: () => {
33
- return 'dark';
43
+ return "dark";
34
44
  }
35
45
  },
36
46
  // Tooltip 的出现位置top/top-start/top-end/bottom/bottom-start/bottom-end/left/left-start/left-end/right/right-start/right-end
37
47
  placement: {
38
48
  type: String,
39
49
  default: () => {
40
- return 'top';
50
+ return "top";
41
51
  }
42
52
  },
43
- tooltipTitle: { type: [Number, String], default: '' },
53
+ tooltipTitle: { type: [Number, String], default: "" },
44
54
  isAlias: Boolean
45
55
  },
46
56
  data() {
47
57
  return {
48
- isDisabledTooltip: true // 是否需要禁止提示
58
+ isDisabledTooltip: false // 是否需要禁止提示
49
59
  };
50
60
  },
51
61
  computed: {
52
62
  curContent() {
53
- let res = this.tooltipTitle || this.content || '';
63
+ let res = this.tooltipTitle || this.content || "";
54
64
  if (vexutils.isNumber(res)) {
55
65
  return res.toString();
56
66
  }
@@ -67,7 +77,10 @@ export default {
67
77
  let parentWidth = this.$refs[str].parentNode.offsetWidth;
68
78
  let contentWidth = this.$refs[str].offsetWidth;
69
79
  // 判断是否禁用tooltip功能
70
- this.isDisabledTooltip = contentWidth <= parentWidth;
80
+ this.isDisabledTooltip = contentWidth > parentWidth;
81
+ },
82
+ onMouseOut() {
83
+ this.isDisabledTooltip = false;
71
84
  }
72
85
  }
73
86
  };
@@ -296,7 +296,7 @@ export default {
296
296
  * @returns
297
297
  */
298
298
  showEditForm(row, column, $rowIndex) {
299
- if (!this.isMatchComponent || this.isNestTable) return false;
299
+ if (!this.isMatchComponent || this.isNestTable || this.isScanMultiTable) return false;
300
300
  if (this.isBatchEditing || this.isInlineEditing || this.isInlineAdding) {
301
301
  let matchObj = this.editColumnMap[column.property];
302
302
  if (!matchObj || !matchObj.matchItem || !matchObj.fieldItem) return false;
@@ -76,7 +76,8 @@ const bigTableProps = {
76
76
  },
77
77
  submitForm: Function,
78
78
  isMatchComponent: Boolean,
79
- asyncCount: Boolean
79
+ asyncCount: Boolean,
80
+ showSettings: { type: Object, default: () => ({}) }
80
81
  };
81
82
 
82
83
  export default bigTableProps;
@@ -100,6 +100,9 @@ export default create({
100
100
  params: {
101
101
  type: Array
102
102
  },
103
+ hisParams: {
104
+ type: Object
105
+ },
103
106
  /* */
104
107
  prevFn: {
105
108
  type: Function,
@@ -290,7 +293,6 @@ export default create({
290
293
  const { templateNumber, authorizationKey, baseUrl, getPrintFormatByNumberUrl, versionType } = this;
291
294
  const suffix = versionType == 1 ? `jsessionids=${vexutils.cookie.get('jsessionids') || '31e5fc0e-955f-4c89-9679-39c43d0171321636163291241'}` : `authorizationKey=${authorizationKey}`;
292
295
  const url = `${baseUrl}${getPrintFormatByNumberUrl}?number=${templateNumber}&${suffix}`;
293
-
294
296
  return httpFn
295
297
  .get(url)
296
298
  .then(async ({ data }) => {
@@ -450,15 +452,29 @@ export default create({
450
452
  })
451
453
  .then(() => {
452
454
  if (this.versionType == 1) {
453
- const params = this.getHisParams();
454
- printInstance
455
- .handleHisPrint(7, params)
456
- .then(res => {
457
- console.log(res, '777777777777');
458
- })
459
- .catch(error => {
460
- console.log(error, 'error777');
461
- });
455
+ if (this.strategy === 'MULTI') {
456
+ for (let i = 0; i < this.params.length; i++) {
457
+ const params = this.getHisParams(i);
458
+ printInstance
459
+ .handleHisPrint(7, params)
460
+ .then(res => {
461
+ console.log(res, '777777777777');
462
+ })
463
+ .catch(error => {
464
+ console.log(error, 'error777');
465
+ });
466
+ }
467
+ } else {
468
+ const params = this.getOnceHisParams();
469
+ printInstance
470
+ .handleHisPrint(7, params)
471
+ .then(res => {
472
+ console.log(res, '777777777777');
473
+ })
474
+ .catch(error => {
475
+ console.log(error, 'error777');
476
+ });
477
+ }
462
478
  } else {
463
479
  if (this.strategy === 'MULTI') {
464
480
  // 循环多条
@@ -491,7 +507,7 @@ export default create({
491
507
  this.visible = false;
492
508
  });
493
509
  },
494
- getHisParams() {
510
+ getHisParams(index = 0) {
495
511
  const { templateParams, hisParams, params } = this;
496
512
  const { reportid = '280' } = hisParams;
497
513
  const { id, name } = templateParams;
@@ -499,7 +515,26 @@ export default create({
499
515
  reportid,
500
516
  formatid: id,
501
517
  formatname: name,
502
- param: params[0]
518
+ param: params[index]
519
+ };
520
+ },
521
+ getOnceHisParams() {
522
+ const { templateParams, hisParams, params } = this;
523
+ const { reportid = '280' } = hisParams;
524
+ const { id, name } = templateParams;
525
+ const obj = {}
526
+ Object.keys(params[0]).forEach(v => {
527
+ obj[v] = [];
528
+ params.forEach(k => {
529
+ obj[v].push(k[v]);
530
+ });
531
+ obj[v] = obj[v].join(',');
532
+ });
533
+ return {
534
+ reportid,
535
+ formatid: id,
536
+ formatname: name,
537
+ param: obj
503
538
  };
504
539
  },
505
540
  async handleClickPreview(e) {
@@ -512,7 +547,7 @@ export default create({
512
547
  })
513
548
  .then(() => {
514
549
  if (this.versionType == 1) {
515
- const params = this.getHisParams();
550
+ const params = this.strategy === 'MULTI' ? this.getHisParams() : this.getOnceHisParams();
516
551
  printInstance
517
552
  .handleHisPrint(8, params)
518
553
  .then(res => {
@@ -551,7 +586,7 @@ export default create({
551
586
  })
552
587
  .then(() => {
553
588
  if (this.versionType == 1) {
554
- const params = this.getHisParams();
589
+ const params = this.strategy === 'MULTI' ? this.getHisParams() : this.getOnceHisParams();
555
590
  printInstance
556
591
  .handleHisPrint(9, params)
557
592
  .then(res => {
@@ -73,8 +73,10 @@ import { mapGetters, mapActions, mapMutations } from '../store/helper';
73
73
  import fetch, { qs } from '@/utils/chatFetch';
74
74
  import RtcClient from '../utils/rtc-client-multi';
75
75
  import { getSipUserId } from '@/utils/sip-device';
76
+ import uniRTCAPI from './mixins/uniRTCAPI';
76
77
  export default {
77
78
  inject: ['store', 'i18nText'],
79
+ mixins: [uniRTCAPI],
78
80
  components: {
79
81
  SvgIcon,
80
82
  [Icon.name]: Icon,
@@ -255,6 +257,12 @@ export default {
255
257
  this.$message.success(this.i18nText('1.9.386'));
256
258
  // this.appendVideoMessage();
257
259
  this.setVideoData(data.map);
260
+ // 江苏省
261
+ if (this.uniRTC || data.map?.vendor == 3) {
262
+ const targetList = data.map?.targetList || [];
263
+ this.checkStatus(targetList);
264
+ this.startCall(targetList);
265
+ }
258
266
  } else {
259
267
  this.$message.warning(data.resultMsg);
260
268
  this.setShowAudio(false);
@@ -288,6 +296,8 @@ export default {
288
296
  if (this.videoData?.roomId) {
289
297
  this.handleLeaveRoom();
290
298
  this.setMuteAudio(false);
299
+
300
+ this.uniRTC && this.hangUp();
291
301
  }
292
302
  } else {
293
303
  this.$message.warning(data.resultMsg);
@@ -313,6 +323,15 @@ export default {
313
323
  this.setMuteAudio(false);
314
324
  this.setVideoMembers([]);
315
325
  this.setVideoData({});
326
+ // 江苏省
327
+ if (this.uniRTC) {
328
+ if (this.videoData.isCaller || this.videoData.inviteResult == 1) {
329
+ this.stopCall();
330
+ } else {
331
+ // 拒接
332
+ this.refuseCall();
333
+ }
334
+ }
316
335
  } else {
317
336
  if (data.map.type == 1 && data.map.mode == 2) {
318
337
  this.setShowVideo(true);
@@ -322,6 +341,9 @@ export default {
322
341
  this.$nextTick(() => {
323
342
  this.setRecordId(data.map.recordId);
324
343
  });
344
+ // 江苏省接听
345
+ console.log('江苏省接听->videoInviteEnter', this.incoming);
346
+ this.uniRTC && this.acceptCall();
325
347
  }
326
348
  }
327
349
  });
@@ -14,9 +14,11 @@
14
14
  <script>
15
15
  import { mapGetters, mapMutations } from "../store/helper";
16
16
  import fetch, { qs } from "@/utils/chatFetch";
17
+ import uniRTCAPI from './mixins/uniRTCAPI';
17
18
 
18
19
  export default {
19
20
  inject: ["store", "i18nText"],
21
+ mixins: [uniRTCAPI],
20
22
  props: {
21
23
  validTalkingEnv: {
22
24
  type: Function
@@ -119,6 +121,8 @@ export default {
119
121
  }
120
122
  this.disabled = false;
121
123
  if (!accept) {
124
+ // 江苏省拒接
125
+ this.uniRTC && this.refuseCall();
122
126
  return;
123
127
  }
124
128
  let res = data.obj || data.map;
@@ -153,6 +157,8 @@ export default {
153
157
  "1.9.21"
154
158
  )}!`
155
159
  );
160
+ // 江苏省接听
161
+ this.uniRTC && this.acceptCall();
156
162
  } else {
157
163
  let realIndex = this.callings.findIndex(item => item.sessionId === sessionId);
158
164
  if (realIndex !== -1) {
@@ -1357,6 +1357,45 @@ export default {
1357
1357
  };
1358
1358
  </script>
1359
1359
 
1360
+ <style lang="less">
1361
+ .chat-footer-modal-big {
1362
+ padding: 10px;
1363
+ &.ant-modal-wrap {
1364
+ overflow: none;
1365
+ }
1366
+ .ant-modal {
1367
+ width: 100%;
1368
+ height: 100%;
1369
+ top: 0;
1370
+ padding-bottom: 0;
1371
+ }
1372
+ .ant-modal-content {
1373
+ height: 100%;
1374
+ }
1375
+ .ant-modal-body {
1376
+ height: calc(100% - 55px);
1377
+ }
1378
+ }
1379
+ .chat-footer-modal-small {
1380
+ &.ant-modal-wrap {
1381
+ overflow: none;
1382
+ }
1383
+ .ant-modal {
1384
+ width: 80%;
1385
+ height: 80%;
1386
+ padding-bottom: 0;
1387
+ top: 60px;
1388
+ }
1389
+ .ant-modal-content {
1390
+ height: 100%;
1391
+ }
1392
+ .ant-modal-body {
1393
+ height: 100%;
1394
+ padding: 0;
1395
+ }
1396
+ }
1397
+
1398
+ </style>
1360
1399
  <style lang="less" scoped>
1361
1400
  .message-operate {
1362
1401
  display: flex;
@@ -1370,8 +1409,8 @@ export default {
1370
1409
  &::-webkit-scrollbar {
1371
1410
  height: 5px;
1372
1411
  }
1373
- > img,
1374
- > .operate-icon {
1412
+ > img {
1413
+ // > .operate-icon {
1375
1414
  margin-left: 10px;
1376
1415
  }
1377
1416
  /deep/ .ant-tabs .ant-tabs-top-content > .ant-tabs-tabpane {
@@ -1531,7 +1570,8 @@ export default {
1531
1570
  }
1532
1571
  }
1533
1572
  .toolbar {
1534
- margin-left: 10px;
1573
+ // margin-left: 10px;
1574
+ margin: 0 5px;
1535
1575
  font-size: 20px;
1536
1576
  outline: none;
1537
1577
  padding: 6px;
@@ -34,9 +34,11 @@ import fetch, { qs } from '@/utils/chatFetch';
34
34
  import vexutils from '@/utils/vexutils';
35
35
  import SvgIcon from '@/component/svg/index.vue';
36
36
  import { checkTalkingEnv } from '../../utils/index';
37
+ import uniRTCAPI from '../mixins/uniRTCAPI';
37
38
 
38
39
  export default {
39
40
  inject: ['store', 'dispatchEvent', 'i18nText'],
41
+ mixins: [uniRTCAPI],
40
42
  data() {
41
43
  this.stompClient = null;
42
44
  return {
@@ -183,7 +185,8 @@ export default {
183
185
  ]),
184
186
  ...mapActions({
185
187
  getHistoryMsg: 'setMsgList',
186
- setChatTimer: 'setChatTimer'
188
+ setChatTimer: 'setChatTimer',
189
+ initUniRTC: 'initUniRTC'
187
190
  }),
188
191
  // 获取视频sdk
189
192
  getSdkAppId() {
@@ -197,6 +200,15 @@ export default {
197
200
  if (data.result === 'SUCCESS') {
198
201
  const { sdkAppId, host, vendor } = data.obj;
199
202
  this.setSdkInfo({ sdkAppId, host, vendor });
203
+ // 江苏省
204
+ if (vendor == 3) {
205
+ this.initUniRTC({
206
+ ...data.obj,
207
+ params: {
208
+ assemblyId: this.assemblyId,
209
+ }
210
+ });
211
+ }
200
212
  }
201
213
  });
202
214
  },