cnhis-design-vue 3.1.4 → 3.1.5
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.
- package/README.md +22 -22
- package/env.d.ts +26 -26
- package/es/packages/big-table/index.mjs +1 -1
- package/es/packages/big-table/index2.mjs +1 -14
- package/es/packages/big-table/src/BigTable.mjs +1 -2
- package/es/packages/big-table/src/BigTable.vue_vue_type_script_setup_true_lang.mjs +1 -2315
- package/es/packages/big-table/src/BigTable2.mjs +1 -4
- package/es/packages/big-table/src/bigTableEmits.mjs +1 -1
- package/es/packages/big-table/src/bigTableEmits2.mjs +1 -48
- package/es/packages/big-table/src/bigTableProps.mjs +1 -1
- package/es/packages/big-table/src/bigTableProps2.mjs +1 -116
- package/es/packages/big-table/src/bigTableState.mjs +1 -1
- package/es/packages/big-table/src/bigTableState2.mjs +1 -51
- package/es/packages/big-table/src/components/NoData.mjs +1 -2
- package/es/packages/big-table/src/components/NoData.vue_vue_type_script_setup_true_lang.mjs +1 -72
- package/es/packages/big-table/src/components/NoData2.mjs +1 -4
- package/es/packages/big-table/src/components/SvgIcon.mjs +1 -2
- package/es/packages/big-table/src/components/SvgIcon.vue_vue_type_script_setup_true_lang.mjs +1 -34
- package/es/packages/big-table/src/components/SvgIcon2.mjs +1 -4
- package/es/packages/big-table/src/components/TextOverTooltip.mjs +1 -2
- package/es/packages/big-table/src/components/TextOverTooltip.vue_vue_type_script_setup_true_lang.mjs +1 -74
- package/es/packages/big-table/src/components/TextOverTooltip2.mjs +1 -4
- package/es/packages/big-table/src/components/edit-form/edit-date.mjs +1 -88
- package/es/packages/big-table/src/components/edit-form/edit-input.mjs +1 -51
- package/es/packages/big-table/src/components/edit-form/edit-select.mjs +1 -89
- package/es/packages/big-table/src/hooks/useBatchEditing.mjs +1 -1
- package/es/packages/big-table/src/hooks/useBatchEditing2.mjs +1 -284
- package/es/packages/big-table/src/hooks/useEdit.mjs +1 -1
- package/es/packages/big-table/src/hooks/useEdit2.mjs +1 -108
- package/es/packages/big-table/src/hooks/useFormat.mjs +1 -1
- package/es/packages/big-table/src/hooks/useFormat2.mjs +1 -480
- package/es/packages/big-table/src/hooks/useNestTable.mjs +1 -1
- package/es/packages/big-table/src/hooks/useNestTable2.mjs +1 -84
- package/es/packages/big-table/src/hooks/useTableParse.mjs +1 -1
- package/es/packages/big-table/src/hooks/useTableParse2.mjs +1 -135
- package/es/packages/big-table/src/utils.mjs +1 -1
- package/es/packages/big-table/src/utils2.mjs +1 -597
- package/es/packages/big-table/style/index.css +3 -5
- package/es/packages/big-table/style/index.less +557 -559
- package/es/packages/button-print/index.mjs +1 -1
- package/es/packages/button-print/index2.mjs +1 -11
- package/es/packages/button-print/src/ButtonPrint.mjs +1 -2
- package/es/packages/button-print/src/ButtonPrint.vue_vue_type_script_setup_true_lang.mjs +1 -452
- package/es/packages/button-print/src/ButtonPrint2.mjs +1 -4
- package/es/packages/button-print/src/components/IdentityVerification.mjs +1 -2
- package/es/packages/button-print/src/components/IdentityVerification.vue_vue_type_script_setup_true_lang.mjs +1 -126
- package/es/packages/button-print/src/components/IdentityVerification2.mjs +1 -4
- package/es/packages/button-print/src/utils/print.es.min.mjs +1 -1
- package/es/packages/button-print/src/utils/print.es.min2.mjs +1 -2080
- package/es/packages/button-print/style/index.css +1 -3
- package/es/packages/button-print/style/index.less +30 -32
- package/es/packages/drag-layout/index.mjs +1 -1
- package/es/packages/drag-layout/index2.mjs +1 -11
- package/es/packages/drag-layout/src/DragFormLeftItem.mjs +1 -2
- package/es/packages/drag-layout/src/DragFormLeftItem.vue_vue_type_script_setup_true_lang.mjs +1 -122
- package/es/packages/drag-layout/src/DragFormLeftItem2.mjs +1 -4
- package/es/packages/drag-layout/src/DragFormRightItem.mjs +1 -2
- package/es/packages/drag-layout/src/DragFormRightItem.vue_vue_type_script_setup_true_lang.mjs +1 -267
- package/es/packages/drag-layout/src/DragFormRightItem2.mjs +1 -4
- package/es/packages/drag-layout/src/DragLayout.mjs +1 -2
- package/es/packages/drag-layout/src/DragLayout.vue.d.ts +2 -10
- package/es/packages/drag-layout/src/DragLayout.vue_vue_type_script_setup_true_lang.mjs +1 -657
- package/es/packages/drag-layout/src/DragLayout2.mjs +1 -4
- package/es/packages/drag-layout/style/index.less +208 -208
- package/es/packages/field-set/index.mjs +1 -1
- package/es/packages/field-set/index2.mjs +1 -11
- package/es/packages/field-set/src/FieldSet.mjs +1 -2
- package/es/packages/field-set/src/FieldSet.vue_vue_type_script_setup_true_lang.mjs +1 -330
- package/es/packages/field-set/src/FieldSet2.mjs +1 -4
- package/es/packages/field-set/style/index.less +172 -172
- package/es/packages/form-table/index.d.ts +3 -0
- package/es/packages/form-table/index.mjs +1 -0
- package/es/packages/form-table/index2.mjs +1 -0
- package/es/packages/form-table/src/FormTable.mjs +1 -0
- package/es/packages/form-table/src/FormTable.vue.d.ts +2 -0
- package/es/packages/form-table/src/FormTable.vue_vue_type_script_setup_true_lang.mjs +1 -0
- package/es/packages/form-table/src/FormTable2.mjs +1 -0
- package/es/packages/form-table/src/configs/index.d.ts +35 -0
- package/es/packages/form-table/src/configs/index.mjs +1 -0
- package/es/packages/form-table/src/configs/index2.mjs +1 -0
- package/es/packages/form-table/src/hooks/index.d.ts +4 -0
- package/es/packages/form-table/src/hooks/index.mjs +1 -0
- package/es/packages/form-table/src/hooks/useBoundDate.d.ts +21 -0
- package/es/packages/form-table/src/hooks/useBoundDate.mjs +1 -0
- package/es/packages/form-table/src/hooks/useBoundDate2.mjs +1 -0
- package/es/packages/form-table/src/hooks/useDateType.d.ts +17 -0
- package/es/packages/form-table/src/hooks/useDateType.mjs +1 -0
- package/es/packages/form-table/src/hooks/useDateType2.mjs +1 -0
- package/es/packages/form-table/src/hooks/useFormCommon.d.ts +14 -0
- package/es/packages/form-table/src/hooks/useFormCommon.mjs +1 -0
- package/es/packages/form-table/src/hooks/useFormCommon2.mjs +1 -0
- package/es/packages/form-table/src/hooks/useFormEvent.d.ts +9 -0
- package/es/packages/form-table/src/hooks/useFormEvent.mjs +1 -0
- package/es/packages/form-table/src/hooks/useFormEvent2.mjs +1 -0
- package/es/packages/form-table/src/hooks/useItemDefault.d.ts +73 -0
- package/es/packages/form-table/src/hooks/useItemDefault.mjs +1 -0
- package/es/packages/form-table/src/hooks/useItemDefault2.mjs +1 -0
- package/es/packages/form-table/src/hooks/useSearch.d.ts +1 -0
- package/es/packages/form-table/src/hooks/useSearch.mjs +1 -0
- package/es/packages/form-table/src/hooks/useSearch2.mjs +1 -0
- package/es/packages/form-table/src/hooks/useValidate.d.ts +24 -0
- package/es/packages/form-table/src/hooks/useValidate.mjs +1 -0
- package/es/packages/form-table/src/hooks/useValidate2.mjs +1 -0
- package/es/packages/form-table/src/types/index.d.ts +9 -0
- package/es/packages/form-table/src/types/index.mjs +1 -0
- package/es/packages/form-table/style/index.css +98 -0
- package/es/packages/form-table/style/index.less +122 -0
- package/es/packages/grid/index.mjs +1 -1
- package/es/packages/grid/index2.mjs +1 -11
- package/es/packages/grid/src/Grid.mjs +1 -28
- package/es/packages/grid/src/hooks.mjs +1 -1
- package/es/packages/grid/src/hooks2.mjs +1 -165
- package/es/packages/grid/style/index.less +1 -1
- package/es/packages/index.css +4 -8
- package/es/packages/index.less +1201 -1205
- package/es/packages/index.mjs +1 -7
- package/es/packages/index2.mjs +1 -37
- package/es/packages/select-label/src/SelectLabel.mjs +1 -0
- package/es/packages/select-label/src/SelectLabel.vue.d.ts +7445 -0
- package/es/packages/select-label/src/SelectLabel.vue_vue_type_script_setup_true_lang.mjs +1 -0
- package/es/packages/select-label/src/SelectLabel2.mjs +1 -0
- package/es/packages/select-label/src/components/label-classify.mjs +1 -0
- package/es/packages/select-label/src/components/label-classify.vue.d.ts +3570 -0
- package/es/packages/select-label/src/components/label-classify.vue_vue_type_script_setup_true_lang.mjs +1 -0
- package/es/packages/select-label/src/components/label-classify2.mjs +1 -0
- package/es/packages/select-label/src/components/label-form-content.mjs +1 -0
- package/es/packages/select-label/src/components/label-form-content.vue.d.ts +4572 -0
- package/es/packages/select-label/src/components/label-form-content.vue_vue_type_script_setup_true_lang.mjs +1 -0
- package/es/packages/select-label/src/components/label-form-content2.mjs +1 -0
- package/es/packages/select-label/style/index.css +80 -0
- package/es/packages/select-label/style/index.less +85 -0
- package/es/packages/select-person/index.mjs +1 -1
- package/es/packages/select-person/index2.mjs +1 -11
- package/es/packages/select-person/src/SearchTree.mjs +1 -2
- package/es/packages/select-person/src/SearchTree.vue_vue_type_script_setup_true_lang.mjs +1 -231
- package/es/packages/select-person/src/SearchTree2.mjs +1 -4
- package/es/packages/select-person/src/SelectPerson.mjs +1 -2
- package/es/packages/select-person/src/SelectPerson.vue.d.ts +7 -3
- package/es/packages/select-person/src/SelectPerson.vue_vue_type_script_setup_true_lang.mjs +1 -892
- package/es/packages/select-person/src/SelectPerson2.mjs +1 -4
- package/es/packages/select-person/src/utils/index.mjs +1 -1
- package/es/packages/select-person/src/utils/index2.mjs +1 -57
- package/es/packages/select-person/style/index.less +229 -229
- package/es/src/core/create.mjs +1 -1
- package/es/src/core/create2.mjs +1 -8
- package/es/src/global/variable.mjs +1 -1
- package/es/src/global/variable2.mjs +1 -4
- package/es/src/types/index.d.ts +4 -0
- package/es/src/utils/clickoutside.mjs +1 -1
- package/es/src/utils/clickoutside2.mjs +1 -48
- package/es/src/utils/crypto.mjs +1 -1
- package/es/src/utils/crypto2.mjs +1 -25
- package/es/src/utils/index.d.ts +1 -1
- package/es/src/utils/index.mjs +1 -1
- package/es/src/utils/index2.mjs +1 -27
- package/es/src/utils/vexutils.d.ts +5 -0
- package/es/src/utils/vexutils.mjs +1 -3
- package/es/src/utils/vexutils2.mjs +1 -729
- package/global.d.ts +8 -8
- package/package.json +104 -99
- package/yarn-error.log +8067 -103
- package/CHANGELOG.md +0 -208
|
@@ -1,89 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { NSelect } from 'naive-ui';
|
|
3
|
-
import vexutils from 'cnhis-design-vue/es/src/utils/vexutils';
|
|
4
|
-
|
|
5
|
-
var EditSelect = defineComponent({
|
|
6
|
-
name: "EditSelect",
|
|
7
|
-
inheritAttrs: false,
|
|
8
|
-
components: {
|
|
9
|
-
NSelect
|
|
10
|
-
},
|
|
11
|
-
props: {
|
|
12
|
-
col: {
|
|
13
|
-
type: Object,
|
|
14
|
-
default: () => ({})
|
|
15
|
-
},
|
|
16
|
-
row: {
|
|
17
|
-
type: Object,
|
|
18
|
-
default: () => ({})
|
|
19
|
-
},
|
|
20
|
-
index: {
|
|
21
|
-
type: [Number, Object],
|
|
22
|
-
default: 0
|
|
23
|
-
}
|
|
24
|
-
},
|
|
25
|
-
emits: ["setOptions", "formChange"],
|
|
26
|
-
setup(props, {
|
|
27
|
-
attrs,
|
|
28
|
-
slots,
|
|
29
|
-
emit
|
|
30
|
-
}) {
|
|
31
|
-
const state = reactive({
|
|
32
|
-
options: [],
|
|
33
|
-
loading: false,
|
|
34
|
-
keyword: "",
|
|
35
|
-
config: {}
|
|
36
|
-
});
|
|
37
|
-
const setOptions = async () => {
|
|
38
|
-
if (props.col.options) {
|
|
39
|
-
state.options = JSON.parse(JSON.stringify(props.col.options));
|
|
40
|
-
} else {
|
|
41
|
-
`${props.col.columnName}_options`;
|
|
42
|
-
const obj = {
|
|
43
|
-
keyword: state.keyword,
|
|
44
|
-
row: props.row,
|
|
45
|
-
column: props.col,
|
|
46
|
-
index: props.index
|
|
47
|
-
};
|
|
48
|
-
state.options = await props.col.queryOptions(obj);
|
|
49
|
-
state.loading = false;
|
|
50
|
-
emit("setOptions", state.options);
|
|
51
|
-
}
|
|
52
|
-
};
|
|
53
|
-
let selectSearch = (value) => {
|
|
54
|
-
state.keyword = value;
|
|
55
|
-
state.loading = true;
|
|
56
|
-
setOptions();
|
|
57
|
-
};
|
|
58
|
-
selectSearch = vexutils.debounce(selectSearch, 800);
|
|
59
|
-
const onUpdateValue = (value) => {
|
|
60
|
-
emit("formChange", {
|
|
61
|
-
value,
|
|
62
|
-
row: props.row,
|
|
63
|
-
column: props.col,
|
|
64
|
-
index: props.index
|
|
65
|
-
});
|
|
66
|
-
};
|
|
67
|
-
const init = () => {
|
|
68
|
-
if (props.col.options) {
|
|
69
|
-
setOptions();
|
|
70
|
-
} else {
|
|
71
|
-
state.config.remote = true;
|
|
72
|
-
state.config.onSearch = selectSearch;
|
|
73
|
-
selectSearch("");
|
|
74
|
-
}
|
|
75
|
-
};
|
|
76
|
-
init();
|
|
77
|
-
return () => [createVNode(NSelect, mergeProps(attrs, state.config, {
|
|
78
|
-
"options": state.options,
|
|
79
|
-
"consistentMenuWidth": false,
|
|
80
|
-
"clearable": true,
|
|
81
|
-
"filterable": true,
|
|
82
|
-
"placeholder": "\u8BF7\u9009\u62E9",
|
|
83
|
-
"loading": state.loading,
|
|
84
|
-
"onUpdateValue": onUpdateValue
|
|
85
|
-
}), null)];
|
|
86
|
-
}
|
|
87
|
-
});
|
|
88
|
-
|
|
89
|
-
export { EditSelect as default };
|
|
1
|
+
import{defineComponent as o,reactive as e,createVNode as t,mergeProps as n}from"vue";import{NSelect as i}from"naive-ui";import l from"cnhis-design-vue/es/src/utils/vexutils";var s=o({name:"EditSelect",inheritAttrs:!1,components:{NSelect:i},props:{col:{type:Object,default:()=>({})},row:{type:Object,default:()=>({})},index:{type:[Number,Object],default:0}},emits:["setOptions","formChange"],setup(o,{attrs:s,slots:r,emit:c}){const a=e({options:[],loading:!1,keyword:"",config:{}}),p=async()=>{if(o.col.options)a.options=JSON.parse(JSON.stringify(o.col.options));else{o.col.columnName;const e={keyword:a.keyword,row:o.row,column:o.col,index:o.index};a.options=await o.col.queryOptions(e),a.loading=!1,c("setOptions",a.options)}};let d=o=>{a.keyword=o,a.loading=!0,p()};d=l.debounce(d,800);const u=e=>{c("formChange",{value:e,row:o.row,column:o.col,index:o.index})};return o.col.options?p():(a.config.remote=!0,a.config.onSearch=d,d("")),()=>[t(i,n(s,a.config,{options:a.options,consistentMenuWidth:!1,clearable:!0,filterable:!0,placeholder:o.col.placeholder||"请选择",loading:a.loading,onUpdateValue:u}),null)]}});export{s as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export
|
|
1
|
+
export{useBatchEditing}from"./useBatchEditing2.mjs";
|
|
@@ -1,284 +1 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
const useBatchEditing = (props, state, emit, xGrid) => {
|
|
4
|
-
let _batchFieldList = [];
|
|
5
|
-
const allSelectedLength = computed(() => {
|
|
6
|
-
return state.checkedRows?.length;
|
|
7
|
-
});
|
|
8
|
-
watch(() => props.isBatchEditing, (val) => {
|
|
9
|
-
if (!val || props.isNestTable)
|
|
10
|
-
return false;
|
|
11
|
-
if (state.isTree != 0 || !props.isMatchComponent)
|
|
12
|
-
return false;
|
|
13
|
-
if (!checkOperateCurrentTable()) {
|
|
14
|
-
resetBatchOperationRowStatus();
|
|
15
|
-
return false;
|
|
16
|
-
}
|
|
17
|
-
hideSelectCloumns();
|
|
18
|
-
handleClickBatchEditBtnByInline();
|
|
19
|
-
});
|
|
20
|
-
watch(() => props.isBatchSave, (val) => {
|
|
21
|
-
if (!val || props.isNestTable)
|
|
22
|
-
return false;
|
|
23
|
-
if (state.isTree != 0 || !props.isMatchComponent)
|
|
24
|
-
return false;
|
|
25
|
-
if (!checkOperateCurrentTable())
|
|
26
|
-
return false;
|
|
27
|
-
handleClickBatchSaveBtnByInline();
|
|
28
|
-
});
|
|
29
|
-
watch(() => props.isBatchCancel, (val) => {
|
|
30
|
-
if (!val || props.isNestTable)
|
|
31
|
-
return false;
|
|
32
|
-
if (state.isTree != 0 || !props.isMatchComponent)
|
|
33
|
-
return false;
|
|
34
|
-
if (!checkOperateCurrentTable())
|
|
35
|
-
return false;
|
|
36
|
-
handleClickBatchCancelBtnByInline();
|
|
37
|
-
});
|
|
38
|
-
watch(() => props.isBatchCancel, (val) => {
|
|
39
|
-
if (!val || props.isNestTable)
|
|
40
|
-
return false;
|
|
41
|
-
if (state.isTree != 0 || !props.isMatchComponent)
|
|
42
|
-
return false;
|
|
43
|
-
if (!checkOperateCurrentTable())
|
|
44
|
-
return false;
|
|
45
|
-
handleClickBatchCancelBtnByInline();
|
|
46
|
-
});
|
|
47
|
-
const checkOperateCurrentTable = () => {
|
|
48
|
-
if (props.isNestTable)
|
|
49
|
-
return false;
|
|
50
|
-
let id = props.inlineEditCurrentOperateBtnId;
|
|
51
|
-
let find = props.btnList?.find((item) => {
|
|
52
|
-
return item?.settingObj?.[0]?.obj_id === id;
|
|
53
|
-
});
|
|
54
|
-
return !!find;
|
|
55
|
-
};
|
|
56
|
-
const setRowStatus = (vxeTable, rowIndex, value) => {
|
|
57
|
-
if (!vxeTable)
|
|
58
|
-
return false;
|
|
59
|
-
let tableWrap = [
|
|
60
|
-
vxeTable.querySelector(".vxe-table--main-wrapper"),
|
|
61
|
-
vxeTable.querySelector(".vxe-table--fixed-left-wrapper"),
|
|
62
|
-
vxeTable.querySelector(".vxe-table--fixed-right-wrapper"),
|
|
63
|
-
vxeTable.querySelector(".vxe-table--body-wrapper")
|
|
64
|
-
].filter((item) => item);
|
|
65
|
-
let rowWrap = [];
|
|
66
|
-
tableWrap.forEach((table) => {
|
|
67
|
-
let row = [...table.querySelectorAll(".vxe-body--row")];
|
|
68
|
-
rowWrap.push(row[rowIndex]);
|
|
69
|
-
});
|
|
70
|
-
rowWrap = rowWrap.filter((item) => item);
|
|
71
|
-
let height = value ? `${value}px` : value;
|
|
72
|
-
let lineHeight = value ? `${value - 10}px` : value;
|
|
73
|
-
rowWrap.forEach((wrap) => {
|
|
74
|
-
let rowItemWrap = [...wrap.querySelectorAll(".vxe-cell")];
|
|
75
|
-
rowItemWrap.push(...[...wrap.querySelectorAll(".vxe-body--column")]);
|
|
76
|
-
rowItemWrap.forEach((dom) => {
|
|
77
|
-
dom.style.setProperty("height", height, "important");
|
|
78
|
-
dom.style.lineHeight = lineHeight;
|
|
79
|
-
if (height) {
|
|
80
|
-
dom.style.backgroundColor = "#EFF5FF";
|
|
81
|
-
setTimeout(() => {
|
|
82
|
-
dom.title = "";
|
|
83
|
-
}, 1e3);
|
|
84
|
-
} else {
|
|
85
|
-
dom.style.backgroundColor = null;
|
|
86
|
-
}
|
|
87
|
-
});
|
|
88
|
-
});
|
|
89
|
-
};
|
|
90
|
-
const resetBatchOperationRowStatus = () => {
|
|
91
|
-
if (state.isTree != 0)
|
|
92
|
-
return false;
|
|
93
|
-
const vxeTable = xGrid.value;
|
|
94
|
-
let { tableData } = vxeTable.getTableData();
|
|
95
|
-
vxeTable.clearActived();
|
|
96
|
-
vxeTable.resetColumn();
|
|
97
|
-
tableData.forEach((row, index) => {
|
|
98
|
-
setRowStatus(vxeTable.$el, index, null);
|
|
99
|
-
row["__isInlineEditing"] = false;
|
|
100
|
-
row["__isDisableInlineEdit"] = false;
|
|
101
|
-
});
|
|
102
|
-
};
|
|
103
|
-
const hideSelectCloumns = () => {
|
|
104
|
-
const vxeTable = xGrid.value;
|
|
105
|
-
let findSelectCloumns = vxeTable.getColumns()?.find((item) => item.type === state.selectType);
|
|
106
|
-
findSelectCloumns && vxeTable.hideColumn(findSelectCloumns);
|
|
107
|
-
};
|
|
108
|
-
const checkListFormUnionSettingParamsList = () => {
|
|
109
|
-
if (!props.listFormUnionSetting?.paramsList?.length) {
|
|
110
|
-
window.$message.warning("\u53EF\u7F16\u8F91\u884C\u9700\u8981\u8BBE\u7F6E\u5173\u8054\u8868\u5355\u5B57\u6BB5\uFF0C\u8BBE\u7F6E\u540E\u8BF7\u91CD\u8BD5\uFF01");
|
|
111
|
-
emit("resetInlineEditAll", false);
|
|
112
|
-
emit("triggerSpinning", false);
|
|
113
|
-
return false;
|
|
114
|
-
}
|
|
115
|
-
let find = props.fieldListOriginal?.find((item) => item.isEdit == 1);
|
|
116
|
-
if (!find) {
|
|
117
|
-
window.$message.warning("\u6CA1\u6709\u8BBE\u7F6E\u53EF\u7F16\u8F91\u5B57\u6BB5\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458");
|
|
118
|
-
emit("resetInlineEditAll", false);
|
|
119
|
-
emit("triggerSpinning", false);
|
|
120
|
-
return false;
|
|
121
|
-
}
|
|
122
|
-
return true;
|
|
123
|
-
};
|
|
124
|
-
const resetStoreInlineOperationStatus = () => {
|
|
125
|
-
if (state.isTree != 0)
|
|
126
|
-
return false;
|
|
127
|
-
state.isSaveForm = false;
|
|
128
|
-
};
|
|
129
|
-
const getInlineOpreateRow = () => {
|
|
130
|
-
const vxeTable = xGrid.value;
|
|
131
|
-
if (props.isInlineAdding) {
|
|
132
|
-
let { tableData } = vxeTable.getTableData();
|
|
133
|
-
return {
|
|
134
|
-
row: tableData[0],
|
|
135
|
-
rowIndex: 0
|
|
136
|
-
};
|
|
137
|
-
}
|
|
138
|
-
if (state.showButtonTop == 0) {
|
|
139
|
-
let { row: row2, index: rowIndex } = state.currentClickBtnInfo || {};
|
|
140
|
-
return {
|
|
141
|
-
row: row2,
|
|
142
|
-
rowIndex
|
|
143
|
-
};
|
|
144
|
-
}
|
|
145
|
-
let row = props.clickRowData;
|
|
146
|
-
for (var i = 0; i < props.oldtableData.length; i++) {
|
|
147
|
-
let item = props.oldtableData[i];
|
|
148
|
-
if (item[props.primaryKey] === row[props.primaryKey])
|
|
149
|
-
break;
|
|
150
|
-
}
|
|
151
|
-
return {
|
|
152
|
-
row,
|
|
153
|
-
rowIndex: i
|
|
154
|
-
};
|
|
155
|
-
};
|
|
156
|
-
const setAllRowInlineStatus = (disabled = false) => {
|
|
157
|
-
const vxeTable = xGrid.value;
|
|
158
|
-
let { tableData } = vxeTable.getTableData();
|
|
159
|
-
tableData.forEach((row) => {
|
|
160
|
-
row["__isInlineEditing"] = false;
|
|
161
|
-
row["__isDisableInlineEdit"] = disabled;
|
|
162
|
-
});
|
|
163
|
-
};
|
|
164
|
-
const recordClickBtnInfo = (row, index) => {
|
|
165
|
-
state.currentClickBtnInfo = {
|
|
166
|
-
row,
|
|
167
|
-
index
|
|
168
|
-
};
|
|
169
|
-
};
|
|
170
|
-
const resetOperationRowStatus = () => {
|
|
171
|
-
if (state.isTree != 0)
|
|
172
|
-
return false;
|
|
173
|
-
const vxeTable = xGrid.value;
|
|
174
|
-
let { row, rowIndex } = getInlineOpreateRow();
|
|
175
|
-
if (!row)
|
|
176
|
-
return false;
|
|
177
|
-
if (row?.__isInsertRow) {
|
|
178
|
-
vxeTable.remove(row);
|
|
179
|
-
}
|
|
180
|
-
vxeTable.clearActived().then(() => {
|
|
181
|
-
row && vxeTable.revertData(row);
|
|
182
|
-
setRowStatus(vxeTable.$el, rowIndex, null);
|
|
183
|
-
vxeTable.resetColumn();
|
|
184
|
-
setAllRowInlineStatus();
|
|
185
|
-
recordClickBtnInfo();
|
|
186
|
-
});
|
|
187
|
-
};
|
|
188
|
-
const handleClickCancelBtnByInline = async () => {
|
|
189
|
-
const vxeTable = xGrid.value;
|
|
190
|
-
setRowStatus(vxeTable.$el, 0, null);
|
|
191
|
-
resetStoreInlineOperationStatus();
|
|
192
|
-
await vxeTable.reloadData(state.originFormatList);
|
|
193
|
-
resetOperationRowStatus();
|
|
194
|
-
emit("handleClickBtnByInline", {
|
|
195
|
-
type: "CANCEL"
|
|
196
|
-
});
|
|
197
|
-
};
|
|
198
|
-
const getBatchOpreateRows = () => {
|
|
199
|
-
const vxeTable = xGrid.value;
|
|
200
|
-
let arr = state.checkedRows;
|
|
201
|
-
let { tableData } = vxeTable.getTableData();
|
|
202
|
-
if (props.isEditAllRow) {
|
|
203
|
-
arr = tableData;
|
|
204
|
-
}
|
|
205
|
-
arr.forEach((item, i) => {
|
|
206
|
-
let rowIndex = i;
|
|
207
|
-
if (!props.isEditAllRow) {
|
|
208
|
-
let matchIndex = tableData.findIndex((v) => v[props.primaryKey] == item[props.primaryKey]);
|
|
209
|
-
if (matchIndex > -1) {
|
|
210
|
-
rowIndex = matchIndex;
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
setRowStatus(vxeTable.$el, rowIndex, "66");
|
|
214
|
-
item["__isInlineEditing"] = true;
|
|
215
|
-
});
|
|
216
|
-
};
|
|
217
|
-
const handleClickBatchEditBtnByInline = async () => {
|
|
218
|
-
if (!checkListFormUnionSettingParamsList()) {
|
|
219
|
-
handleClickCancelBtnByInline();
|
|
220
|
-
return false;
|
|
221
|
-
}
|
|
222
|
-
let arr = state.checkedRows;
|
|
223
|
-
const vxeTable = xGrid.value;
|
|
224
|
-
let { tableData } = vxeTable.getTableData();
|
|
225
|
-
if (props.isEditAllRow) {
|
|
226
|
-
arr = tableData;
|
|
227
|
-
}
|
|
228
|
-
await vxeTable.loadData(arr);
|
|
229
|
-
await props.resetInlineBatchEdit();
|
|
230
|
-
setAllRowInlineStatus(true);
|
|
231
|
-
getBatchOpreateRows();
|
|
232
|
-
};
|
|
233
|
-
const handleEditFormLength = () => {
|
|
234
|
-
let fieldLength = _batchFieldList.length;
|
|
235
|
-
if (!fieldLength)
|
|
236
|
-
return;
|
|
237
|
-
if (props.isInlineAdding) {
|
|
238
|
-
return fieldLength;
|
|
239
|
-
}
|
|
240
|
-
let rowLen = allSelectedLength.value;
|
|
241
|
-
const vxeTable = xGrid.value;
|
|
242
|
-
let { tableData } = vxeTable.getTableData();
|
|
243
|
-
if (props.isEditAllRow) {
|
|
244
|
-
rowLen = tableData.length;
|
|
245
|
-
}
|
|
246
|
-
if (!rowLen)
|
|
247
|
-
return;
|
|
248
|
-
return fieldLength * rowLen;
|
|
249
|
-
};
|
|
250
|
-
const handleClickBatchSaveBtnByInline = () => {
|
|
251
|
-
if (props.spinning)
|
|
252
|
-
return false;
|
|
253
|
-
emit("resetBatchEditDoneStatus");
|
|
254
|
-
let formDom = document.querySelectorAll(".js-inlineEditForm");
|
|
255
|
-
let sliceLen = handleEditFormLength();
|
|
256
|
-
formDom = [...formDom].slice(0, sliceLen);
|
|
257
|
-
formDom.forEach((item) => {
|
|
258
|
-
item.__vue__.handleSubmitForm();
|
|
259
|
-
});
|
|
260
|
-
};
|
|
261
|
-
const handleClickBatchCancelBtnByInline = async () => {
|
|
262
|
-
state.isSaveForm = false;
|
|
263
|
-
emit("resetInlineEditAll", false);
|
|
264
|
-
const vxeTable = xGrid.value;
|
|
265
|
-
await vxeTable.reloadData(state.originFormatList);
|
|
266
|
-
resetBatchOperationRowStatus();
|
|
267
|
-
};
|
|
268
|
-
return {
|
|
269
|
-
allSelectedLength,
|
|
270
|
-
checkOperateCurrentTable,
|
|
271
|
-
setRowStatus,
|
|
272
|
-
resetBatchOperationRowStatus,
|
|
273
|
-
checkListFormUnionSettingParamsList,
|
|
274
|
-
handleClickCancelBtnByInline,
|
|
275
|
-
setAllRowInlineStatus,
|
|
276
|
-
hideSelectCloumns,
|
|
277
|
-
handleEditFormLength,
|
|
278
|
-
getInlineOpreateRow,
|
|
279
|
-
resetOperationRowStatus,
|
|
280
|
-
recordClickBtnInfo
|
|
281
|
-
};
|
|
282
|
-
};
|
|
283
|
-
|
|
284
|
-
export { useBatchEditing };
|
|
1
|
+
import{computed as e,watch as t}from"vue";const i=(i,l,n,r)=>{let a=[];const o=e((()=>l.checkedRows?.length));t((()=>i.isBatchEditing),(e=>!(!e||i.isNestTable)&&(!(0!=l.isTree||!i.isMatchComponent)&&(s()?(u(),void m()):(d(),!1))))),t((()=>i.isBatchSave),(e=>!(!e||i.isNestTable)&&(!(0!=l.isTree||!i.isMatchComponent)&&(!!s()&&void y())))),t((()=>i.isBatchCancel),(e=>!(!e||i.isNestTable)&&(!(0!=l.isTree||!i.isMatchComponent)&&(!!s()&&void E())))),t((()=>i.isBatchCancel),(e=>!(!e||i.isNestTable)&&(!(0!=l.isTree||!i.isMatchComponent)&&(!!s()&&void E()))));const s=()=>{if(i.isNestTable)return!1;let e=i.inlineEditCurrentOperateBtnId,t=i.btnList?.find((t=>t?.settingObj?.[0]?.obj_id===e));return!!t},c=(e,t,i)=>{if(!e)return!1;let l=[e.querySelector(".vxe-table--main-wrapper"),e.querySelector(".vxe-table--fixed-left-wrapper"),e.querySelector(".vxe-table--fixed-right-wrapper"),e.querySelector(".vxe-table--body-wrapper")].filter((e=>e)),n=[];l.forEach((e=>{let i=[...e.querySelectorAll(".vxe-body--row")];n.push(i[t])})),n=n.filter((e=>e));let r=i?`${i}px`:i,a=i?i-10+"px":i;n.forEach((e=>{let t=[...e.querySelectorAll(".vxe-cell")];t.push(...e.querySelectorAll(".vxe-body--column")),t.forEach((e=>{e.style.setProperty("height",r,"important"),e.style.lineHeight=a,r?(e.style.backgroundColor="#EFF5FF",setTimeout((()=>{e.title=""}),1e3)):e.style.backgroundColor=null}))}))},d=()=>{if(0!=l.isTree)return!1;const e=r.value;let{tableData:t}=e.getTableData();e.clearActived(),e.resetColumn(),t.forEach(((t,i)=>{c(e.$el,i,null),t.__isInlineEditing=!1,t.__isDisableInlineEdit=!1}))},u=()=>{const e=r.value;let t=e.getColumns()?.find((e=>e.type===l.selectType));t&&e.hideColumn(t)},h=()=>{if(!i.listFormUnionSetting?.paramsList?.length)return window.$message.warning("可编辑行需要设置关联表单字段,设置后请重试!"),n("resetInlineEditAll",!1),n("triggerSpinning",!1),!1;let e=i.fieldListOriginal?.find((e=>1==e.isEdit));return!!e||(window.$message.warning("没有设置可编辑字段,请联系管理员"),n("resetInlineEditAll",!1),n("triggerSpinning",!1),!1)},g=()=>{const e=r.value;if(i.isInlineAdding){let{tableData:t}=e.getTableData();return{row:t[0],rowIndex:0}}if(0==l.showButtonTop){let{row:e,index:t}=l.currentClickBtnInfo||{};return{row:e,rowIndex:t}}let t=i.clickRowData;for(var n=0;n<i.oldtableData.length;n++){if(i.oldtableData[n][i.primaryKey]===t[i.primaryKey])break}return{row:t,rowIndex:n}},w=(e=!1)=>{const t=r.value;let{tableData:i}=t.getTableData();i.forEach((t=>{t.__isInlineEditing=!1,t.__isDisableInlineEdit=e}))},f=(e,t)=>{l.currentClickBtnInfo={row:e,index:t}},p=()=>{if(0!=l.isTree)return!1;const e=r.value;let{row:t,rowIndex:i}=g();if(!t)return!1;t?.__isInsertRow&&e.remove(t),e.clearActived().then((()=>{t&&e.revertData(t),c(e.$el,i,null),e.resetColumn(),w(),f()}))},b=async()=>{const e=r.value;c(e.$el,0,null),(()=>{if(0!=l.isTree)return!1;l.isSaveForm=!1})(),await e.reloadData(l.originFormatList),p(),n("handleClickBtnByInline",{type:"CANCEL"})},m=async()=>{if(!h())return b(),!1;let e=l.checkedRows;const t=r.value;let{tableData:n}=t.getTableData();i.isEditAllRow&&(e=n),await t.loadData(e),await i.resetInlineBatchEdit(),w(!0),(()=>{const e=r.value;let t=l.checkedRows,{tableData:n}=e.getTableData();i.isEditAllRow&&(t=n),t.forEach(((t,l)=>{let r=l;if(!i.isEditAllRow){let e=n.findIndex((e=>e[i.primaryKey]==t[i.primaryKey]));e>-1&&(r=e)}c(e.$el,r,"66"),t.__isInlineEditing=!0}))})()},v=()=>{let e=a.length;if(!e)return;if(i.isInlineAdding)return e;let t=o.value;const l=r.value;let{tableData:n}=l.getTableData();return i.isEditAllRow&&(t=n.length),t?e*t:void 0},y=()=>{if(i.spinning)return!1;n("resetBatchEditDoneStatus");let e=document.querySelectorAll(".js-inlineEditForm"),t=v();e=[...e].slice(0,t),e.forEach((e=>{e.__vue__.handleSubmitForm()}))},E=async()=>{l.isSaveForm=!1,n("resetInlineEditAll",!1);const e=r.value;await e.reloadData(l.originFormatList),d()};return{allSelectedLength:o,checkOperateCurrentTable:s,setRowStatus:c,resetBatchOperationRowStatus:d,checkListFormUnionSettingParamsList:h,handleClickCancelBtnByInline:b,setAllRowInlineStatus:w,hideSelectCloumns:u,handleEditFormLength:v,getInlineOpreateRow:g,resetOperationRowStatus:p,recordClickBtnInfo:f}};export{i as useBatchEditing};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export
|
|
1
|
+
export{comps,useEdit}from"./useEdit2.mjs";
|
|
@@ -1,108 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
import EditSelect from '../components/edit-form/edit-select.mjs';
|
|
3
|
-
import EditDate from '../components/edit-form/edit-date.mjs';
|
|
4
|
-
|
|
5
|
-
const comps = {
|
|
6
|
-
"input": EditInput,
|
|
7
|
-
"number": EditInput,
|
|
8
|
-
"select": EditSelect,
|
|
9
|
-
"date": EditDate
|
|
10
|
-
};
|
|
11
|
-
const useEdit = (props, state, emit, xGrid) => {
|
|
12
|
-
const initEditTable = async () => {
|
|
13
|
-
const { isEdit, fieldList = [] } = props.columnConfig;
|
|
14
|
-
if (!isEdit)
|
|
15
|
-
return;
|
|
16
|
-
const hasSelectTable = fieldList.find((v) => v.formType === "selectTable");
|
|
17
|
-
if (!hasSelectTable)
|
|
18
|
-
return;
|
|
19
|
-
const record = {
|
|
20
|
-
initRow: true
|
|
21
|
-
};
|
|
22
|
-
props.columnConfig.fieldList.forEach((col) => {
|
|
23
|
-
if (col.columnName !== "operatorColumn") {
|
|
24
|
-
record[col.columnName] = void 0;
|
|
25
|
-
}
|
|
26
|
-
});
|
|
27
|
-
await xGrid.value.insertAt(record, -1);
|
|
28
|
-
};
|
|
29
|
-
const deleteRow = (row, col, index) => {
|
|
30
|
-
xGrid.value.remove(row);
|
|
31
|
-
emit("clickBtn", { row, column: col, index });
|
|
32
|
-
};
|
|
33
|
-
const activeMethod = ({ row, rowIndex, column, columnIndex }) => {
|
|
34
|
-
const { isEdit, fieldList } = props.columnConfig;
|
|
35
|
-
if (isEdit) {
|
|
36
|
-
const isEditCol = fieldList.find((v) => v.columnName === column.field)?.isEdit || false;
|
|
37
|
-
if (isEditCol) {
|
|
38
|
-
return true;
|
|
39
|
-
} else {
|
|
40
|
-
return false;
|
|
41
|
-
}
|
|
42
|
-
} else {
|
|
43
|
-
return false;
|
|
44
|
-
}
|
|
45
|
-
};
|
|
46
|
-
const onClickSelectTable = async (row) => {
|
|
47
|
-
emit("clickSelectTable", { row });
|
|
48
|
-
const record = {
|
|
49
|
-
initRow: false,
|
|
50
|
-
row: JSON.parse(JSON.stringify(row))
|
|
51
|
-
};
|
|
52
|
-
props.columnConfig.fieldList.forEach((col) => {
|
|
53
|
-
if (col.columnName !== "operatorColumn") {
|
|
54
|
-
record[col.columnName] = void 0;
|
|
55
|
-
if (Object.keys(row).includes(col.columnName)) {
|
|
56
|
-
record[col.columnName] = row[col.columnName];
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
});
|
|
60
|
-
const getInsertRecords = xGrid.value.getInsertRecords();
|
|
61
|
-
await xGrid.value.insertAt(record, getInsertRecords.at(-1));
|
|
62
|
-
xGrid.value.clearActived();
|
|
63
|
-
};
|
|
64
|
-
const getLabel = (opts, value) => {
|
|
65
|
-
return opts.find((opt) => opt.value === value)?.label || "";
|
|
66
|
-
};
|
|
67
|
-
const onFormChange = ({ value, row, column, index }) => {
|
|
68
|
-
let oldValue = row[column.columnName];
|
|
69
|
-
if ((column?.formType === "input" || column?.formType === "number") && props.columnConfig?.formValidate) {
|
|
70
|
-
row[column.columnName] = props.columnConfig?.formValidate({ row, column, current: value, old: row[column.columnName] });
|
|
71
|
-
} else if (column?.formatMap) {
|
|
72
|
-
oldValue = {
|
|
73
|
-
label: row[column.formatMap.label],
|
|
74
|
-
value: row[column.formatMap.value]
|
|
75
|
-
};
|
|
76
|
-
row[column.formatMap.label] = getLabel(row[column.columnName + "_options"] || [], value);
|
|
77
|
-
row[column.formatMap.value] = value;
|
|
78
|
-
} else {
|
|
79
|
-
row[column.columnName] = value;
|
|
80
|
-
}
|
|
81
|
-
emit("formChange", { value, row, column, index, oldValue });
|
|
82
|
-
};
|
|
83
|
-
const getDefaultValue = (params, item) => {
|
|
84
|
-
const value = params.row[item.columnName];
|
|
85
|
-
if (item.formType === "select") {
|
|
86
|
-
if (item.formatMap) {
|
|
87
|
-
return params.row[item.formatMap.label];
|
|
88
|
-
}
|
|
89
|
-
if (item.options) {
|
|
90
|
-
return item.options.find((v) => v.value == value)?.label || value || "";
|
|
91
|
-
}
|
|
92
|
-
if (item.queryOptions) {
|
|
93
|
-
return params.row[`${item.columnName}_options`]?.find((v) => v.value === value)?.label || value || "";
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
return value;
|
|
97
|
-
};
|
|
98
|
-
return {
|
|
99
|
-
initEditTable,
|
|
100
|
-
activeMethod,
|
|
101
|
-
deleteRow,
|
|
102
|
-
onClickSelectTable,
|
|
103
|
-
onFormChange,
|
|
104
|
-
getDefaultValue
|
|
105
|
-
};
|
|
106
|
-
};
|
|
107
|
-
|
|
108
|
-
export { comps, useEdit };
|
|
1
|
+
import e from"../components/edit-form/edit-input.mjs";import o from"../components/edit-form/edit-select.mjs";import n from"../components/edit-form/edit-date.mjs";const t={input:e,number:e,select:o,date:n},l=(e,o,n,t)=>({initEditTable:async()=>{const{isEdit:o,fieldList:n=[]}=e.columnConfig;if(!o)return;if(!n.find((e=>"selectTable"===e.formType)))return;const l={initRow:!0};e.columnConfig.fieldList.forEach((e=>{"operatorColumn"!==e.columnName&&(l[e.columnName]=void 0)})),await t.value.insertAt(l,-1)},activeMethod:({row:o,rowIndex:n,column:t,columnIndex:l})=>{const{isEdit:a,fieldList:m}=e.columnConfig;if(a){return!!(m.find((e=>e.columnName===t.field))?.isEdit||!1)}return!1},deleteRow:(e,o,l)=>{t.value.remove(e),n("clickBtn",{row:e,column:o,index:l})},onClickSelectTable:async o=>{n("clickSelectTable",{row:o});const l={initRow:!1,row:JSON.parse(JSON.stringify(o))};e.columnConfig.fieldList.forEach((e=>{"operatorColumn"!==e.columnName&&(l[e.columnName]=void 0,Object.keys(o).includes(e.columnName)&&(l[e.columnName]=o[e.columnName]))}));const a=t.value.getInsertRecords();await t.value.insertAt(l,a.at(-1)),t.value.clearActived()},onFormChange:({value:o,row:t,column:l,index:a})=>{let m=t[l.columnName];"input"!==l?.formType&&"number"!==l?.formType||!e.columnConfig?.formValidate?l?.formatMap?(m={label:t[l.formatMap.label],value:t[l.formatMap.value]},t[l.formatMap.label]=((e,o)=>e.find((e=>e.value===o))?.label||"")(t[l.columnName+"_options"]||[],o),t[l.formatMap.value]=o):t[l.columnName]=o:t[l.columnName]=e.columnConfig?.formValidate({row:t,column:l,current:o,old:t[l.columnName]}),n("formChange",{value:o,row:t,column:l,index:a,oldValue:m})},getDefaultValue:(e,o)=>{const n=e.row[o.columnName];if("select"===o.formType){if(o.formatMap)return e.row[o.formatMap.label];if(o.options)return o.options.find((e=>e.value==n))?.label||n||"";if(o.queryOptions)return e.row[`${o.columnName}_options`]?.find((e=>e.value===n))?.label||n||""}return n}});export{t as comps,l as useEdit};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export
|
|
1
|
+
export{useFormat}from"./useFormat2.mjs";
|