cnhis-design-vue 2.1.36 → 2.1.39

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 (42) hide show
  1. package/CHANGELOG.md +63 -10
  2. package/es/age/index.js +2 -2
  3. package/es/big-table/index.js +51 -50
  4. package/es/big-table/style.css +1 -1
  5. package/es/button/index.js +2 -2
  6. package/es/captcha/index.js +3 -3
  7. package/es/checkbox/index.js +1 -1
  8. package/es/color-picker/index.js +1 -1
  9. package/es/drag-layout/index.js +3 -3
  10. package/es/editor/index.js +1 -1
  11. package/es/fabric-chart/index.js +15 -15
  12. package/es/form-table/index.js +17 -17
  13. package/es/index/index.js +302 -285
  14. package/es/index/style.css +1 -1
  15. package/es/input/index.js +1 -1
  16. package/es/map/index.js +1 -1
  17. package/es/multi-chat/index.js +24 -24
  18. package/es/multi-chat-client/index.js +18 -18
  19. package/es/multi-chat-history/index.js +4 -4
  20. package/es/multi-chat-record/index.js +4 -4
  21. package/es/multi-chat-setting/index.js +20 -20
  22. package/es/multi-chat-sip/index.js +1 -1
  23. package/es/radio/index.js +1 -1
  24. package/es/scale-view/index.js +24 -24
  25. package/es/select/index.js +3 -3
  26. package/es/select-label/index.js +3 -3
  27. package/es/select-person/index.js +2 -2
  28. package/es/shortcut-setter/index.js +2 -2
  29. package/es/table-filter/index.js +130 -114
  30. package/es/table-filter/style.css +1 -1
  31. package/es/tag/index.js +1 -1
  32. package/es/verification-code/index.js +2 -2
  33. package/lib/cui.common.js +379 -362
  34. package/lib/cui.umd.js +379 -362
  35. package/lib/cui.umd.min.js +19 -19
  36. package/package.json +1 -1
  37. package/packages/big-table/src/BigTable.vue +5 -5
  38. package/packages/big-table/src/assets/style/table-base.less +9 -0
  39. package/packages/fabric-chart/src/fabric-chart/FabricPolylines.vue +1 -1
  40. package/packages/table-filter/src/base-search-com/BaseSearch.vue +0 -9
  41. package/packages/table-filter/src/mixins/mixins.js +3 -3
  42. package/packages/table-filter/src/quick-search/QuickSearch.vue +28 -20
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cnhis-design-vue",
3
- "version": "2.1.36",
3
+ "version": "2.1.39",
4
4
  "description": "前端业务UI库",
5
5
  "keyword": "cnhis-design-vue vue cnhis",
6
6
  "homepage": "http://dv.cnhis.com/",
@@ -88,8 +88,8 @@
88
88
  }"
89
89
  :row-style="getRowStyle"
90
90
  :edit-config="{ trigger: 'manual', mode: 'row', autoClear: false, showIcon: false }"
91
- :scroll-x="{ enabled: false }"
92
- :scroll-y="{ gt: 50 }"
91
+ :scroll-x="{ gt: 25 }"
92
+ :scroll-y="{ gt: 50, mode: 'wheel' }"
93
93
  :expand-config="{
94
94
  lazy: true,
95
95
  accordion: columnConfig && columnConfig.accordion,
@@ -782,14 +782,14 @@ export default create({
782
782
  // [{"dept_id":996,"dept_name":"高手","user_name":"我是李高手"}]
783
783
  let str = row[item.columnName];
784
784
  if (vexutils.isJSON(str)) {
785
- let hasNameField = str.includes('user_name');
786
785
  let obj = JSON.parse(str);
787
786
  if (Array.isArray(obj)) {
788
787
  let len = obj.length;
788
+ let showName = obj[0]?.user_name || obj[0]?.name;
789
789
  if (len > 1) {
790
790
  return `已选${len}人`;
791
791
  } else if (len === 1) {
792
- return (hasNameField && obj[0]?.user_name) || `已选${len}人`;
792
+ return (showName) || `已选${len}人`;
793
793
  }
794
794
  }
795
795
  }
@@ -905,7 +905,7 @@ export default create({
905
905
  const html = formatFieldText(row, item, this.columnConfig.fieldList, this.fieldListOriginal);
906
906
  let tips = this.handleValueTips(row, item);
907
907
 
908
- const content = [isLink && html ? <a on-click={e => this.linkDetail(row, item, index, e)} domPropsInnerHTML={html} /> : <span class="domPropsInnerHTML-span" domPropsInnerHTML={html} />];
908
+ const content = [isLink && html ? <a class="c-field-content" on-click={e => this.linkDetail(row, item, index, e)} domPropsInnerHTML={html} /> : <span class="domPropsInnerHTML-span" domPropsInnerHTML={html} />];
909
909
 
910
910
  if (this.isCopy(item, row)) {
911
911
  return [
@@ -195,6 +195,15 @@ body {
195
195
  .vxe-cell .vxe-tree-cell {
196
196
  height: 100%;
197
197
  }
198
+ .vxe-cell {
199
+ .c-field-content {
200
+ max-width: 100%;
201
+ display: inline-block;
202
+ text-overflow: ellipsis;
203
+ word-break: keep-all;
204
+ overflow: hidden;
205
+ }
206
+ }
198
207
 
199
208
  .scan-multi-delete {
200
209
  color: #F06F64;
@@ -616,7 +616,7 @@ export default {
616
616
  // 拖动新增节点时默认所有节点可删除
617
617
  this.currentDelPoint = null;
618
618
  });
619
- const lastPoint = this.addPointList.at(-1);
619
+ const lastPoint = this.addPointList[this.addPointList.length - 1];
620
620
  const position = this.polyline[point.polylineTypeId].position;
621
621
  const [firstPoint] = this.addPointList;
622
622
  // 如果是重合/连线节点
@@ -134,9 +134,6 @@
134
134
  </a-button>
135
135
  </a-input-search>
136
136
  </li>
137
- <a-button v-if="showRelatedSetting" type="primary" style="margin-right: 8px; margin-bottom: 8px" @click="relatedSetting" >
138
- <a-icon type="setting" />
139
- </a-button>
140
137
  <template v-if="rowTileBtnListTree && rowTileBtnListTree.length === 1">
141
138
  <a-button type="primary" style="margin-right: 8px; margin-bottom: 8px" @click="handleAddType(rowTileBtnListTree[0])">
142
139
  {{ rowTileBtnListTree[0].alias || rowTileBtnListTree[0].name }}
@@ -789,9 +786,6 @@ export default create({
789
786
  },
790
787
  showBaseTabs() {
791
788
  return this.conditionType === 'keyword' && this.tabConditionList?.length && !this.visibleInlineOperateBtn && !this.isRowEditing;
792
- },
793
- showRelatedSetting() {
794
- return !!this.relatedBaseInfo?.showSetting;
795
789
  }
796
790
  },
797
791
  data() {
@@ -1648,9 +1642,6 @@ export default create({
1648
1642
  console.log(error);
1649
1643
  }
1650
1644
  },
1651
- relatedSetting() {
1652
- this.$emit('relatedSetting')
1653
- },
1654
1645
  handleAddType(btn) {
1655
1646
  const btnObj = utils.getRowOperatorIdSetting({}, btn);
1656
1647
  let setData = JSON.parse(btnObj.setting);
@@ -426,12 +426,12 @@ export const outQuickSearchFn = {
426
426
  this.$set(el, "com", "SelectMui");
427
427
  this.$set(el, "comType", "SelectMui");
428
428
  this.$set(el, "value", tvalue);
429
- const labelList = el.setting.showSetting.map(i => {
429
+ const labelList = el.setting?.showSetting.map(i => {
430
430
  i.labelName = i.change_text;
431
431
  return i;
432
432
  });
433
433
  this.$set(el, "labelList", labelList);
434
- } else if (!this.$utils.isEmpty(el.setting.wordbook) && wordbookId) {
434
+ } else if (!this.$utils.isEmpty(el.setting?.wordbook) && wordbookId) {
435
435
  // TODO:
436
436
  // 存在映射 wordbook
437
437
  let isTree = "tree" === el?.setting?.wordbook?.showType;
@@ -507,7 +507,7 @@ export const outQuickSearchFn = {
507
507
  });
508
508
  this.$set(el, "labelList", list);
509
509
  } else {
510
- this.handleSetLabelOptions(el.setting.labelType, el);
510
+ this.handleSetLabelOptions(el.setting?.labelType, el);
511
511
  }
512
512
  } else if ("PASSWORD" === attr) {
513
513
  this.$set(el, "con", el.fieldType === "NUMBER" ? "EQ" : textCon);
@@ -245,7 +245,7 @@
245
245
  :placeholder="getI18nText('1.1.4.53', '开始时间')"
246
246
  style="width: 120px"
247
247
  allowClear
248
- :disabledDate="current => disabledDatePicker(current, item)"
248
+ :disabledDate="current => disabledDatePicker(current, item, 'start')"
249
249
  />
250
250
  &nbsp;
251
251
  <a-date-picker
@@ -257,7 +257,7 @@
257
257
  v-model="item.DATE.end_val"
258
258
  style="width: 120px"
259
259
  allowClear
260
- :disabledDate="current => disabledDatePicker(current, item)"
260
+ :disabledDate="current => disabledDatePicker(current, item, 'end')"
261
261
  />
262
262
  </div>
263
263
  </a-radio-group>
@@ -360,7 +360,7 @@
360
360
  <a-checkbox-group
361
361
  class="check-box"
362
362
  v-else-if="item.con == 'CONVERT'"
363
- :options="item.setting.showSetting"
363
+ :options="item.setting&&item.setting.showSetting"
364
364
  v-model="item.CONVERT"
365
365
  />
366
366
  </slot>
@@ -606,7 +606,7 @@
606
606
  <a-checkbox-group
607
607
  class="check-box"
608
608
  v-else-if="item.con == 'CONVERT'"
609
- :options="item.setting.showSetting"
609
+ :options="item.setting&&item.setting.showSetting"
610
610
  v-model="item.CONVERT"
611
611
  />
612
612
  </slot>
@@ -1040,7 +1040,7 @@ export default create({
1040
1040
  // 单选
1041
1041
  let optionSetting0 =String(advanceOptionSetting) == '0';
1042
1042
  let wordbookId = el?.setting?.wordbook?.id;
1043
- if (vexutils.anyNotEmpty(el.setting.wordbook) && wordbookId) {
1043
+ if (vexutils.anyNotEmpty(el.setting?.wordbook) && wordbookId) {
1044
1044
  let isTree = "tree" === el?.setting?.wordbook?.showType;
1045
1045
  let comType = isTree ? 'treeSelect' : 'SelectMuiWordBook';
1046
1046
  let defVal = isTree ? [] : [];
@@ -1096,17 +1096,17 @@ export default create({
1096
1096
  return;
1097
1097
  }
1098
1098
  }
1099
- if (el.setting.attr === "LABEL") {
1099
+ if (el.setting?.attr === "LABEL") {
1100
1100
  this.$set(el, "con", "CL"); // 2020-09-04 朱亚徽 EQ => CL
1101
1101
  this.$set(el, "LABELAttr", true);
1102
1102
  this.$set(el, "labelSelectList", []);
1103
1103
  this.$set(el, "inputVal", "");
1104
1104
  this.handleSetLabelOptions(el.setting.labelType, el);
1105
- } else if (el.setting.attr === "EVALUATE") {
1105
+ } else if (el.setting?.attr === "EVALUATE") {
1106
1106
  this.$set(el, "con", "CL");
1107
1107
  this.$set(el, "selecteds", []);
1108
1108
  this.$set(el, "EVALUATEAttr", true);
1109
- } else if (el.setting.attr === "AGE" && el.fieldType != "NUMBER") {
1109
+ } else if (el.setting?.attr === "AGE" && el.fieldType != "NUMBER") {
1110
1110
  // 年龄组件
1111
1111
  let format = el.setting.format || "YYYY-MM-DD";
1112
1112
  format = format.toUpperCase();
@@ -1114,7 +1114,7 @@ export default create({
1114
1114
  this.$set(el, "ageObj", {});
1115
1115
  this.$set(el, "format", format);
1116
1116
  this.$set(el, "AGEAttr", true);
1117
- } else if (el.setting.attr === "PASSWORD") {
1117
+ } else if (el.setting?.attr === "PASSWORD") {
1118
1118
  this.$set(el, "comAttr", "PASSWORD");
1119
1119
  this.$set(el, "PASSWORDTYPE", true);
1120
1120
  } else if (el.fieldType == "NUMBER") {
@@ -1123,7 +1123,7 @@ export default create({
1123
1123
  this.$set(el, "NUMBERFiled", true);
1124
1124
  this.$set(el, "lessValue", "");
1125
1125
  this.$set(el, "bigValue", "");
1126
- if (el.setting.attr == "PERCENTAGE") {
1126
+ if (el.setting?.attr == "PERCENTAGE") {
1127
1127
  this.$set(el, "inputUnit", "%");
1128
1128
  }
1129
1129
  } else if (el.fieldType.includes("DATE")) {
@@ -1233,18 +1233,18 @@ export default create({
1233
1233
  if (item.comType == "SelectMui" && String(item.advanceOptionSetting) === '0') return;
1234
1234
  if (open) {
1235
1235
  let obj = {};
1236
- if (item.setting.wordbook.params) {
1237
- item.setting.wordbook.params.forEach(item => {
1236
+ if (item.setting?.wordbook?.params) {
1237
+ item.setting?.wordbook?.params?.forEach(item => {
1238
1238
  obj[item.p_name] = item.p_value;
1239
1239
  });
1240
1240
  }
1241
1241
  if (item.settingObj.wordbook) {
1242
1242
  obj.autograph = item.settingObj.wordbook.autograph;
1243
1243
  }
1244
- this.curWordbookData = item.setting.wordbook;
1244
+ this.curWordbookData = item.setting?.wordbook;
1245
1245
  this.curAutograph = item.settingObj.wordbook && item.settingObj.wordbook.autograph;
1246
1246
  this.searchItem = item;
1247
- this.getWordbookData(item.setting.wordbook, obj).then(({ data }) => {
1247
+ this.getWordbookData(item.setting?.wordbook, obj).then(({ data }) => {
1248
1248
  this.handleWordbookData(item, data, obj);
1249
1249
  });
1250
1250
  }
@@ -1261,7 +1261,7 @@ export default create({
1261
1261
  let obj = {};
1262
1262
  let p = item?.setting?.wordbook?.params || undefined;
1263
1263
  if (p) {
1264
- item.setting.wordbook.params.forEach(item => {
1264
+ item.setting?.wordbook?.params?.forEach(item => {
1265
1265
  obj[item.p_name] = item.p_value;
1266
1266
  });
1267
1267
  }
@@ -1864,19 +1864,27 @@ export default create({
1864
1864
  /**
1865
1865
  * 限制日期填写
1866
1866
  */
1867
- disabledDatePicker(current,item){
1867
+ disabledDatePicker(current, item, t){
1868
+ let f = false;
1869
+ if(t=== 'start'){
1870
+ const end_val = item?.DATE?.end_val;
1871
+ f = end_val && current.valueOf() > end_val.valueOf();
1872
+ } else if(t=== 'end') {
1873
+ const start_val = item?.DATE?.start_val;
1874
+ f = start_val && current.valueOf() <= start_val.valueOf();
1875
+ }
1868
1876
  /**
1869
1877
  * 2 过去时间
1870
1878
  * 3 未来时间
1871
1879
  */
1872
1880
  let type = String(item?.advanceOptionSetting);
1873
- if(!['2','3'].includes(type)) return false;
1881
+ if(!['2','3'].includes(type)) return f;
1874
1882
  if(type === '2'){
1875
- return current >= this.$moment().endOf('day');
1883
+ return current >= this.$moment().endOf('day') || f;
1876
1884
  } else if(type==='3'){
1877
- return current && current < this.$moment().startOf('day');
1885
+ return current && current < this.$moment().startOf('day') || f;
1878
1886
  }
1879
- return false
1887
+ return f
1880
1888
  },
1881
1889
  /**
1882
1890
  * 限制时间