|
@@ -1,3 +1,8 @@
|
|
|
+/**
|
|
|
+ * 判断值是否为空
|
|
|
+ * @param value 值
|
|
|
+ * @returns {boolean}
|
|
|
+ */
|
|
|
export function isValueEmpty(value: any): boolean {
|
|
|
if (value === null || value === undefined) {
|
|
|
return true;
|
|
@@ -20,3 +25,54 @@ export function isValueEmpty(value: any): boolean {
|
|
|
}
|
|
|
return false;
|
|
|
}
|
|
|
+
|
|
|
+/**
|
|
|
+ * 获取表单数据中有值的数据
|
|
|
+ * @param formData 表单数据
|
|
|
+ * @returns {T}
|
|
|
+ */
|
|
|
+export function getFromValue<T>(formData: T): T {
|
|
|
+ const result: any = {};
|
|
|
+ for (const key in formData) {
|
|
|
+ if (!isValueEmpty(formData[key])) {
|
|
|
+ result[key] = formData[key];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+}
|
|
|
+export function resetFromValue<T>(formData: T) {
|
|
|
+ const result: any = {};
|
|
|
+ for (const key in formData) {
|
|
|
+ result[key] = '';
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+ * 对部门数据进行二次处理
|
|
|
+ * @param arr 部门数组
|
|
|
+ * @returns {any[]}
|
|
|
+ */
|
|
|
+export function updateDepTreeData(arr: any, flag: boolean = false) {
|
|
|
+ const result = []; // 创建一个新数组来存储结果
|
|
|
+ for (let i = 0; i < arr.length; i++) {
|
|
|
+ if (arr[i].id !== -1 && arr[i].id !== 0) {
|
|
|
+ if (Array.isArray(arr[i].children) && arr[i].children.length > 0) {
|
|
|
+ arr[i].children = updateDepTreeData(arr[i].children); // 递归更新子节点
|
|
|
+ }
|
|
|
+ arr[i].value = arr[i].id; // 更新value字段
|
|
|
+ result.push(arr[i]); // 将更新后的节点添加到结果数组
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(flag) {
|
|
|
+ result.splice(0, 0, {
|
|
|
+ id: -1,
|
|
|
+ label: '全部人员',
|
|
|
+ });
|
|
|
+ result.push({
|
|
|
+ id: 0,
|
|
|
+ label: '未分配',
|
|
|
+ });
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+ return result; // 返回更新后的数组,不包含id为-1或0的节点
|
|
|
+}
|