cloud-web-corejs 1.0.54-dev.327 → 1.0.54-dev.329

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.
@@ -242,7 +242,7 @@
242
242
  <div>
243
243
  <template v-for="(fieldWidget,index) in obj.column.params.widgetList">
244
244
  <component
245
- v-if="!!fieldSchemaMap[obj.row._X_ROW_KEY]"
245
+ v-if="!!fieldSchemaMap[obj.row._X_ROW_KEY] && !!obj.row._X_ROW_KEY"
246
246
  :is="getColumnWidgetName(fieldWidget)"
247
247
  v-bind="getRowWidgetOption(obj,fieldWidget)"
248
248
  :form-model="globalModel.formModel"
@@ -252,7 +252,7 @@
252
252
  :columnConfig="obj.column.params.columnConfig"
253
253
  :subFormRowIndex="obj.rowIndex"
254
254
  :subFormRowId="obj.row._X_ROW_KEY"
255
- formItemProp="false"
255
+ :formItemProp="getColumnProp2(fieldWidget, obj)"
256
256
  :tableParam="obj"
257
257
  >
258
258
  <template v-for="slot in Object.keys($scopedSlots)" v-slot:[slot]="scope">
@@ -1488,46 +1488,88 @@ modules = {
1488
1488
  this.removeTreeRow({ row });
1489
1489
  return;
1490
1490
  }
1491
+ delete this.fieldSchemaMap[row._X_ROW_KEY]
1491
1492
  let $grid = this.getGridTable();
1492
1493
  $grid.remove(row);
1493
1494
  let tableData = $grid.getTableData();
1494
1495
  let isEditTable = this.widget.options.isEditTable;
1495
1496
  let fullData = !isEditTable ? tableData.fullData : tableData.tableData;
1496
- await this.$nextTick(() => {
1497
- this.formModel[this.fieldKeyName] = fullData;
1498
- this.fieldModel = fullData;
1499
- });
1497
+ this.formModel[this.fieldKeyName] = fullData;
1498
+ this.fieldModel = fullData;
1500
1499
  this.$nextTick(() => {
1501
1500
  this.handleWbs();
1502
1501
  });
1503
- this.deleteRowWidgets(row);
1502
+ // this.deleteRowWidgets(row);
1503
+ },
1504
+ isSingerlSearch(widget){
1505
+ let widgetType = widget?.type;
1506
+ let result = widgetType === "singerSearch" || (widgetType === 'vabsearch' && !widget.options.multipleChoices)
1507
+ return result
1508
+ },
1509
+ getColumnNullValue(widget){
1510
+ if(!widget)return null
1511
+ let nullValue = null;
1512
+ let widgetType = widget.type;
1513
+ let multiWidgetTypes = ["checkbox","time-range","baseAttachment","vabUpload","project-tag"];
1514
+
1515
+ let defaultValue = widget.options.defaultValue;
1516
+ if (defaultValue !== undefined && defaultValue !== null && defaultValue !== "") {
1517
+ nullValue = defaultValue;
1518
+ } else if (widgetType === 'select' && widget.options.multiple) {
1519
+ nullValue = [];
1520
+ } else if (widgetType === 'date' && widget.options.type == "dates") {
1521
+ nullValue = [];
1522
+ }else if (widgetType === 'vabsearch' && widget.options.multipleChoices) {
1523
+ nullValue = [];
1524
+ } else if (multiWidgetTypes.includes(widgetType)){
1525
+ nullValue = [];
1526
+ }
1527
+ return nullValue;
1528
+ },
1529
+ getIsFormWidget(widget){
1530
+ let widgetTypes = ["baseAttachment"];
1531
+ let result = false;
1532
+ if(widget.formItemFlag){
1533
+ result = true;
1534
+ }
1535
+ return result;
1536
+ },
1537
+ handleWidgetNullValue(widget,newData){
1538
+ if(!widget || !newData)return
1539
+ if(this.getIsFormWidget(widget)){
1540
+ let field = this.getFieldKeyName(widget)
1541
+ let nullValue = newData.hasOwnProperty(field) ? null : this.getColumnNullValue(widget);
1542
+ newData[field] = nullValue;
1543
+ if(this.isSingerlSearch(widget)){
1544
+ let vabSearchName = widget.options.vabSearchName;
1545
+ if (vabSearchName) newData[vabSearchName] = null;
1546
+ }
1547
+ }
1504
1548
  },
1505
1549
  createNewTableData(isEdit) {
1506
1550
  let newData = {};
1507
1551
  this.loodHandleColumns(this.widget.options.tableColumns, (item) => {
1508
1552
  if (!item.children?.length && item.prop && item.label) {
1509
1553
  let formatS = !isEdit ? item.formatS : item.editFormatS;
1510
- let columnOption = !isEdit
1511
- ? item.columnOption
1512
- : item.editColumnOption;
1513
- if (formatS == "editSearch") {
1514
- newData[item.prop] = null;
1515
- let vabSearchName = item?.columnOption?.vabSearchName;
1516
- if (vabSearchName) newData[vabSearchName] = null;
1517
- }
1518
- if (formatS == "editAttachment") {
1519
- newData[item.prop] = [];
1520
- } else {
1521
- newData[item.prop] = null;
1522
- if (
1523
- columnOption &&
1524
- columnOption.defaultValue !== undefined &&
1525
- columnOption.defaultValue !== null &&
1526
- columnOption.defaultValue !== ""
1527
- ) {
1528
- newData[item.prop] = columnOption.defaultValue;
1554
+ let widget = null;
1555
+ if(isEdit){
1556
+ widget = item.editWidget || item.widget;
1557
+ }else {
1558
+ widget = item.widget;
1559
+ }
1560
+ if (formatS == "widgetRender") {
1561
+ if(item.widgetList){
1562
+ loopHandleWidget(item.widgetList, (w, p) => {
1563
+ this.handleWidgetNullValue(w, newData);
1564
+ });
1565
+ }
1566
+ }else {
1567
+ if(widget){
1568
+ this.handleWidgetNullValue(widget, newData);
1569
+ }else {
1570
+ newData[item.prop] = null
1571
+ }
1529
1572
  }
1530
- }
1531
1573
  }
1532
1574
  });
1533
1575
 
@@ -1559,6 +1601,7 @@ modules = {
1559
1601
  return newData;
1560
1602
  },
1561
1603
  addTableData(rows, field) {
1604
+ debugger
1562
1605
  let $grid = this.getGridTable();
1563
1606
  let formDataModel = this.formModel;
1564
1607
  let tableRows = formDataModel[this.fieldKeyName] || [];
@@ -1701,6 +1744,17 @@ modules = {
1701
1744
  }
1702
1745
  return { columnSelectedWidget, columnEditFields };
1703
1746
  },
1747
+ getColumnProp2(fieldWidget, obj) {
1748
+ let fieldKeyName = this.getFieldKeyName(this.widget);
1749
+ let property = this.getFieldKeyName(fieldWidget);
1750
+ if (this.isVabsearchFlagWidget(fieldWidget)) {
1751
+ property = fieldWidget.options.vabSearchName || property;
1752
+ }
1753
+ let rowIndex = Math.max(obj.rowIndex, 0);
1754
+
1755
+ let propName = fieldKeyName + "." + rowIndex + "." + property;
1756
+ return propName
1757
+ },
1704
1758
  getColumnProp(widget, obj, isEdit) {
1705
1759
  if (!widget) {
1706
1760
  return "false";
@@ -1708,26 +1762,39 @@ modules = {
1708
1762
  /*if(isEdit){
1709
1763
  return "false"
1710
1764
  }*/
1711
-
1712
- let fieldKeyName = this.getFieldKeyName(widget);
1713
- let rowIndex = Math.max(obj.rowIndex, 0);
1714
1765
  let isQueryTable = this.widget.options.isQueryTable || false;
1715
1766
  if (isEdit || !isQueryTable) {
1716
- let propName =
1717
- fieldKeyName + "." + rowIndex + "." + obj.column.property;
1718
- let lineWidget = !isEdit
1767
+ let sourceWidgetId = isEdit?obj.column.params.editWidget.id:obj.column.params.widget.id;
1768
+ if(!this.fieldSchemaMap[obj.row._X_ROW_KEY])return "false"
1769
+ let fieldWidget = this.fieldSchemaMap[obj.row._X_ROW_KEY][sourceWidgetId]
1770
+ if (!fieldWidget) {
1771
+ return "false";
1772
+ }
1773
+
1774
+ let fieldKeyName = this.getFieldKeyName(widget);
1775
+ let rowIndex = Math.max(obj.rowIndex, 0);
1776
+
1777
+ let property = this.getFieldKeyName(fieldWidget);
1778
+ if(obj.row[property] && Array.isArray(obj.row[property])){
1779
+ return "false"
1780
+ }
1781
+ // let property = obj.column.property
1782
+ if (this.isVabsearchFlagWidget(fieldWidget)) {
1783
+ property = fieldWidget.options.vabSearchName || property;
1784
+ }
1785
+ let propName = fieldKeyName + "." + rowIndex + "." + property;
1786
+ /* let lineWidget = !isEdit
1719
1787
  ? obj.column.params.widget
1720
1788
  : obj.column.params.editWidget;
1721
1789
  if (!lineWidget) {
1722
1790
  return "false";
1723
- }
1724
- if (this.isVabsearchFlagWidget(lineWidget)) {
1791
+ } */
1792
+ /* if (this.isVabsearchFlagWidget(lineWidget)) {
1725
1793
  let fieldName =
1726
1794
  lineWidget.options.vabSearchName ||
1727
1795
  this.getFieldKeyName(lineWidget);
1728
1796
  propName = fieldKeyName + "." + rowIndex + "." + fieldName;
1729
- }
1730
-
1797
+ } */
1731
1798
  return propName;
1732
1799
  } else {
1733
1800
  return "false";