From 28cd71d5ff26ca539e48a229eed4055df7cae5ad Mon Sep 17 00:00:00 2001
From: Ben Lin <maobin001@msn.com>
Date: 星期四, 13 六月 2024 23:08:36 +0800
Subject: [PATCH] 打印模板更新

---
 src/views/tigerprojects/system/lowcode/setting/pageDetail.vue |  454 ++++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 384 insertions(+), 70 deletions(-)

diff --git a/src/views/tigerprojects/system/lowcode/setting/pageDetail.vue b/src/views/tigerprojects/system/lowcode/setting/pageDetail.vue
index 07e88dd..df75d40 100644
--- a/src/views/tigerprojects/system/lowcode/setting/pageDetail.vue
+++ b/src/views/tigerprojects/system/lowcode/setting/pageDetail.vue
@@ -1,3 +1,12 @@
+<!--
+ * @Description: 浣庝唬鐮佺敓鎴愰〉闈�
+ * @Author: Ben Lin
+ * @version: 
+ * @Date: 2024-05-30 22:00:44
+ * @LastEditors: your name
+ * @LastEditTime: 2024-06-13 14:21:16
+-->
+<!-- eslint-disable prettier/prettier -->
 <template>
   <PageWrapper
     class="high-form"
@@ -74,6 +83,15 @@
           <a-input v-model:value="model[field]" />
         </template>
         <template #[item]="{ model, field }" v-for="item in searchValueFieldSlots" :key="item">
+          <a-input v-model:value="model[field]" />
+        </template>
+        <template #[item]="{ model, field }" v-for="item in searchOptionsSlots" :key="item">
+          <a-input v-model:value="model[field]" />
+        </template>
+        <template #[item]="{ model, field }" v-for="item in searchOnChangeSlots" :key="item">
+          <a-input v-model:value="model[field]" />
+        </template>
+        <template #[item]="{ model, field }" v-for="item in searchPOptionsSlots" :key="item">
           <a-input v-model:value="model[field]" />
         </template>
       </BasicForm>
@@ -225,6 +243,9 @@
         <template #[item]="{ model, field }" v-for="item in crudOnChangeSlots" :key="item">
           <a-input v-model:value="model[field]" />
         </template>
+        <template #[item]="{ model, field }" v-for="item in crudPOptionsSlots" :key="item">
+          <a-input v-model:value="model[field]" />
+        </template>
       </BasicForm>
     </a-card>
 
@@ -343,6 +364,9 @@
   const searchResultFieldSlots = ref([] as string[]);
   const searchLabelFieldSlots = ref([] as string[]);
   const searchValueFieldSlots = ref([] as string[]);
+  const searchOptionsSlots = ref([] as string[]);
+  const searchOnChangeSlots = ref([] as string[]);
+  const searchPOptionsSlots = ref([] as string[]);
   /* 涓昏〃 */
   const MainEntName = ref('');
   const mainSelectVals = ref({} as { [key: string]: any });
@@ -368,6 +392,7 @@
   const crudValueFieldSlots = ref([] as string[]);
   const crudOptionsSlots = ref([] as string[]);
   const crudOnChangeSlots = ref([] as string[]);
+  const crudPOptionsSlots = ref([] as string[]);
 
   const options = ref<SelectTypes['options']>([
     {
@@ -395,6 +420,10 @@
       label: 'Checkbox',
     },
     {
+      value: 'Upload',
+      label: '鏂囦欢涓婁紶',
+    },
+    {
       value: 'RangePicker',
       label: '鏃堕棿閫夋嫨鍣�',
     },
@@ -407,18 +436,24 @@
       label: '寮瑰嚭閫夋嫨妗�',
     },
   ]);
+
+  /**
+   * @description: 瀹炰緥缁勪欢鎸傝浇鏃�
+   * @return {*}
+   */
   onMounted(() => {
     if (unref(objParams.value.Update) == '1') {
       getEntity({
         sqlcmd: "ID ='" + objParams.value.ID + "'",
         entityName: 'SYS_LOW_CODE',
       }).then((data) => {
+        /* 鏌ヨ鍔犺浇 */
         var searchForms = JSON.parse(data.Data.Items[0].SEARCH_FORM_JSON);
         SearchEntName.value = data.Data.Items[0].SEARCH_ASSY_NAME;
         setFieldsValue({ ASSEMBLY_NAME: data.Data.Items[0].SEARCH_ASSY_NAME });
+        searchForms = searchForms.filter((item) => !item['field'].toString().startsWith(SearchEntName.value) && !item['field'].toString().endsWith('PSelect_0'));
         for (const i in searchForms) {
-          if (searchForms[i]['field'] != '0') {
-            condAdd();
+          condAdd();
             if (searchForms[i]['component'] == 'ApiSelect') {
               addApiSelectOption(`${SearchEntName.value}${Number(i) + 1}a`, 'search');
               setFieldsValue({
@@ -435,59 +470,79 @@
                   searchForms[i]['componentProps']['valueField'],
               });
             }
+            if (searchForms[i]['component'] == 'Select') {
+              addSelectOption(`${SearchEntName.value}${Number(i) + 1}a`, 'search');
+              setFieldsValue({
+                [`XSelect${SearchEntName.value}${Number(i) + 1}a`]: JSON.stringify(
+                  searchForms[i]['componentProps']['options'],
+                ),
+                [`XOnChange${SearchEntName.value}${Number(i) + 1}a`]:
+                  searchForms[i]['componentProps']['onChange'],
+              });
+            }
             setFieldsValue({
               [`${SearchEntName.value}${Number(i) + 1}a`]: searchForms[i]['field'],
               [`InputNumber${Number(i) + 1}`]: searchForms[i]['colProps'].span,
               [`Switch${Number(i) + 1}`]: searchForms[i]['ifShow'],
             });
             objInputs.value[`${SearchEntName.value}${Number(i) + 1}a`] = searchForms[i]['label'];
-            searchSelectVals.value[`${SearchEntName.value}${Number(i) + 1}a`] = searchForms[i][
-              'comp'
-            ]
-              ? searchForms[i]['comp']
-              : searchForms[i]['component'];
-          }
+            searchSelectVals.value[`${SearchEntName.value}${Number(i) + 1}a`] = searchForms[i]['comp']? searchForms[i]['comp']: searchForms[i]['component'];
+            if(searchForms[i]['comp']){
+              addPopSelectOption(`${SearchEntName.value}${Number(i) + 1}a`, 'search');
+              setFieldsValue({
+                [`PSelect${SearchEntName.value}${Number(i) + 1}a`]: searchForms[i]['entityName'],
+              });
+            }
         }
+        /* 澧炲垹鏀瑰姞杞� */
         var crudForms = JSON.parse(data.Data.Items[0].FORM_JSON);
         CrudEntName.value = data.Data.Items[0].CRUD_ASSY_NAME;
         setFieldsValueCrud({ crudAssemblyName: data.Data.Items[0].CRUD_ASSY_NAME });
+        crudForms = crudForms.filter((item) => !item['field'].toString().startsWith(CrudEntName.value) && !item['field'].toString().endsWith('PSelect_0'));
         for (const i in crudForms) {
           crudCondAdd();
-          if (crudForms[i]['component'] == 'ApiSelect') {
-            addApiSelectOption(`${CrudEntName.value}${Number(i) + 1}a`, 'crud');
+            if (crudForms[i]['component'] == 'ApiSelect') {
+              addApiSelectOption(`${CrudEntName.value}${Number(i) + 1}a`, 'crud');
+              setFieldsValueCrud({
+                [`ApiSelect${CrudEntName.value}${Number(i) + 1}a`]:
+                  crudForms[i]['componentProps']['api'],
+                [`Params${CrudEntName.value}${Number(i) + 1}a`]: JSON.stringify(
+                  crudForms[i]['componentProps']['params'],
+                ),
+                [`Result${CrudEntName.value}${Number(i) + 1}a`]:
+                  crudForms[i]['componentProps']['resultField'],
+                [`Label${CrudEntName.value}${Number(i) + 1}a`]:
+                  crudForms[i]['componentProps']['labelField'],
+                [`Value${CrudEntName.value}${Number(i) + 1}a`]:
+                  crudForms[i]['componentProps']['valueField'],
+              });
+            }
+            if (crudForms[i]['component'] == 'Select') {
+              addSelectOption(`${CrudEntName.value}${Number(i) + 1}a`, 'crud');
+              setFieldsValueCrud({
+                [`XSelect${CrudEntName.value}${Number(i) + 1}a`]: JSON.stringify(
+                  crudForms[i]['componentProps']['options'],
+                ),
+                [`XOnChange${CrudEntName.value}${Number(i) + 1}a`]:
+                  crudForms[i]['componentProps']['onChange'],
+              });
+            }
             setFieldsValueCrud({
-              [`ApiSelect${CrudEntName.value}${Number(i) + 1}a`]:
-                crudForms[i]['componentProps']['api'],
-              [`Params${CrudEntName.value}${Number(i) + 1}a`]: JSON.stringify(
-                crudForms[i]['componentProps']['params'],
-              ),
-              [`Result${CrudEntName.value}${Number(i) + 1}a`]:
-                crudForms[i]['componentProps']['resultField'],
-              [`Label${CrudEntName.value}${Number(i) + 1}a`]:
-                crudForms[i]['componentProps']['labelField'],
-              [`Value${CrudEntName.value}${Number(i) + 1}a`]:
-                crudForms[i]['componentProps']['valueField'],
+              [`${CrudEntName.value}${Number(i) + 1}a`]: crudForms[i]['field'],
+              [`InputNumber${Number(i) + 1}`]: crudForms[i]['colProps'].span,
+              [`Switch${Number(i) + 1}`]: crudForms[i]['show'],
+              [`rSwitch${Number(i) + 1}`]: crudForms[i]['required'],
             });
-          }
-          if (crudForms[i]['component'] == 'Select') {
-            addSelectOption(`${CrudEntName.value}${Number(i) + 1}a`, 'crud');
-            setFieldsValueCrud({
-              [`XSelect${CrudEntName.value}${Number(i) + 1}a`]: JSON.stringify(
-                crudForms[i]['componentProps']['options'],
-              ),
-              [`XOnChange${CrudEntName.value}${Number(i) + 1}a`]:
-                crudForms[i]['componentProps']['onChange'],
-            });
-          }
-          setFieldsValueCrud({
-            [`${CrudEntName.value}${Number(i) + 1}a`]: crudForms[i]['field'],
-            [`InputNumber${Number(i) + 1}`]: crudForms[i]['colProps'].span,
-            [`Switch${Number(i) + 1}`]: crudForms[i]['show'],
-            [`rSwitch${Number(i) + 1}`]: crudForms[i]['required'],
-          });
-          crudInputs.value[`${CrudEntName.value}${Number(i) + 1}a`] = crudForms[i]['label'];
-          crudSelectVals.value[`${CrudEntName.value}${Number(i) + 1}a`] = crudForms[i]['component'];
+            crudInputs.value[`${CrudEntName.value}${Number(i) + 1}a`] = crudForms[i]['label'];
+            crudSelectVals.value[`${CrudEntName.value}${Number(i) + 1}a`] = crudForms[i]['comp']? crudForms[i]['comp']: crudForms[i]['component'];
+            if(crudForms[i]['comp']){
+              addPopSelectOption(`${CrudEntName.value}${Number(i) + 1}a`, 'crud');
+              setFieldsValueCrud({
+                [`PSelect${CrudEntName.value}${Number(i) + 1}a`]: crudForms[i]['entityName'],
+              });
+            }
         }
+        /* 涓昏〃鍔犺浇 */
         var objs = JSON.parse(data.Data.Items[0].BASE_FORM_JSON);
         MainEntName.value = data.Data.Items[0].ASSEMBLY_NAME;
         setFieldsValueMain({ MainAssemblyName: MainEntName.value });
@@ -506,6 +561,10 @@
     }
   });
 
+  /**
+   * @description: 鍏ㄩ儴鎻愪氦
+   * @return {*}
+   */
   async function submitAll() {
     try {
       const [values, crudvalues, mainvalues] = await Promise.all([
@@ -519,9 +578,11 @@
       var searchjsons = [];
       var _json = {};
       var _n = 0;
+      let firstField = '';
       for (const k in Keys) {
         console.log(`${k}:${Keys[k]}`);
         if (Keys[k].toString().startsWith(getFieldsValue().ASSEMBLY_NAME)) {
+          firstField = Keys[k];
           _json['field'] = isNullOrEmpty(values[Keys[k]]) ? '' : values[Keys[k]];
           _json['label'] = objInputs.value[Keys[k]];
           _json['defaultValue'] = '';
@@ -533,6 +594,12 @@
               resultField: values[`Result${Keys[k]}`],
               labelField: values[`Label${Keys[k]}`],
               valueField: values[`Value${Keys[k]}`],
+            };
+          }
+          if (searchSelectVals.value[Keys[k]] == 'Select') {
+            _json['componentProps'] = {
+              options: JSON.parse(values[`XSelect${Keys[k]}`]),
+              onChange: values[`XOnChange${Keys[k]}`],
             };
           }
           _n = _n + 4;
@@ -550,15 +617,16 @@
           if (_json['component'] == 'PoPSelect') {
             _json['component'] = 'Input';
             _json['comp'] = 'PoPSelect';
+            _json['entityName'] = values[`PSelect${firstField}`];
             searchjsons.push(_json);
             _json = {};
-            _json['field'] = '0';
+            _json['field'] = `${firstField}PSelect_0`;
             _json['label'] = '1';
-            _json['defaultValue'] = '';
+            _json['defaultValue'] = values[`PSelect${firstField}`];
             _json['component'] = 'Input';
             _json['colProps'] = { span: 4 };
             _json['ifShow'] = true;
-            _json['colSlot'] = 'add';
+            _json['colSlot'] = `${firstField}add`;
           }
           searchjsons.push(_json);
           _json = {};
@@ -612,9 +680,11 @@
       var cjsons = [];
       var cjson = {};
       var c = 0;
+      let cfirstField = '';
       for (const k in cKeys) {
         console.log(`${k}:${cKeys[k]}`);
         if (cKeys[k].toString().startsWith(getFieldsValueCrud().crudAssemblyName)) {
+          cfirstField = cKeys[k];
           cjson['field'] = isNullOrEmpty(crudvalues[cKeys[k]]) ? '' : crudvalues[cKeys[k]];
           cjson['label'] = isNullOrEmpty(crudInputs.value[cKeys[k]])
             ? ''
@@ -654,6 +724,21 @@
           c++;
         }
         if (!isNullOrEmpty(cjson) && c == 6) {
+          //濡傛灉鏄脊鍑洪�夋嫨妗�
+          if (cjson['component'] == 'PoPSelect') {
+            cjson['component'] = 'Input';
+            cjson['comp'] = 'PoPSelect';
+            cjson['entityName'] = crudvalues[`PSelect${cfirstField}`];
+            cjsons.push(cjson);
+            cjson = {};
+            cjson['field'] = `${cfirstField}PSelect_0`;
+            cjson['label'] = '1';
+            cjson['defaultValue'] = crudvalues[`PSelect${cfirstField}`];
+            cjson['component'] = 'Input';
+            cjson['colProps'] = { span: 4 };
+            cjson['ifShow'] = true;
+            cjson['colSlot'] = `${cfirstField}add`;
+          }
           cjsons.push(cjson);
           c = 0;
           cjson = {};
@@ -691,7 +776,10 @@
   }
 
   function handleEdit(record: Recordable) {}
-
+  /**
+   * @description: 鏌ヨ閰嶇疆绫诲悕閫夋嫨鎸夐挳鏂规硶
+   * @return {*}
+   */  
   function handleSelecNew() {
     openNewModal(true, {
       data: 'content',
@@ -699,6 +787,10 @@
     });
   }
 
+  /**
+   * @description: 涓昏〃閰嶇疆绫诲悕閫夋嫨鎸夐挳鏂规硶
+   * @return {*}
+   */  
   function mainSelectAssy() {
     openMainModal(true, {
       data: 'content',
@@ -706,6 +798,10 @@
     });
   }
 
+  /**
+   * @description: 澧炲垹鏀归厤缃被鍚嶉�夋嫨鎸夐挳鏂规硶
+   * @return {*}
+   */  
   function handleSelectCrud() {
     openCrudModal(true, {
       data: 'content',
@@ -713,41 +809,56 @@
     });
   }
 
+  /**
+   * @description: 閫夋嫨绫诲悕寮瑰嚭妗嗚繑鍥炴垚鍔熸柟娉�
+   * @param {*} d
+   * @param {*} u
+   * @return {*}
+   */  
   async function mainAssySuccess(d, u) {
     setFieldsValueMain({
-      MainAssemblyName: d.values.values,
+      MainAssemblyName: d.values['val'],
     });
     var data = await getEntityPropertieList({
-      StartWith: d.values.values,
+      StartWith: d.values['val'],
       Namespace: 'Tiger.Model',
     });
     mainProperties.value = data.items;
-    MainEntName.value = d.values.values;
+    MainEntName.value = d.values['val'];
   }
 
   async function handleNewSuccess(d, u) {
     setFieldsValue({
-      ASSEMBLY_NAME: d.values.values,
+      ASSEMBLY_NAME: d.values['val'],
     });
     var data = await getEntityPropertieList({
-      StartWith: d.values.values,
+      StartWith: d.values['val'],
       Namespace: 'Tiger.Model',
     });
     searchProperties.value = data.items;
-    SearchEntName.value = d.values.values;
+    SearchEntName.value = d.values['val'];
   }
 
   async function handleCrudSuccess(d, u) {
     setFieldsValueCrud({
-      crudAssemblyName: d.values.values,
+      crudAssemblyName: d.values['val'],
     });
     var data = await getEntityPropertieList({
-      StartWith: d.values.values,
+      StartWith: d.values['val'],
       Namespace: 'Tiger.Model',
     });
     crudProperties.value = data.items;
-    CrudEntName.value = d.values.values;
+    CrudEntName.value = d.values['val'];
   }
+  /* 閫夋嫨绫诲悕寮瑰嚭妗嗚繑鍥炴垚鍔熸柟娉� End */
+
+  /**
+   * @description: 閰嶇疆瀛楁閫夋嫨鏀瑰彉鍚庝簨浠舵柟娉�
+   * @param {*} value
+   * @param {*} option
+   * @param {*} field
+   * @return {*}
+   */  
   function change(value, option, field) {
     console.log(value, option, field);
     objInputs.value[field] = option.label;
@@ -760,34 +871,78 @@
     console.log(value, option, field);
     crudInputs.value[field] = option.label;
   }
-  /* 鏌ヨ缁勪欢閫夋嫨浜嬩欢 */
+  /* 閰嶇疆瀛楁閫夋嫨鏀瑰彉鍚庝簨浠舵柟娉� End */
+
+  /**
+   * @description: 鏌ヨ缁勪欢閫夋嫨浜嬩欢
+   * @param {*} value
+   * @param {*} option
+   * @param {*} field
+   * @return {*}
+   */  
   function searchOnChange(value, option, field) {
     console.log(value, option, field);
     if (value == 'ApiSelect') {
       addApiSelectOption(field, 'search');
+      delSelectOption(field, 'search');
+      delPSelectOption(field, 'search');
     } else {
       delApiSelectOption(field, 'search');
     }
-    // if (value == 'PoPSelect') {}
+    if (value == 'Select') {
+      addSelectOption(field, 'search');
+      delApiSelectOption(field, 'search');
+      delPSelectOption(field, 'search');
+    } else {
+      delSelectOption(field, 'search');
+    }
+    if (value == 'PoPSelect') {
+      addPopSelectOption(field, 'search');
+      delApiSelectOption(field, 'search');
+      delSelectOption(field, 'search');
+    } else {
+      delPSelectOption(field, 'search');
+    }
   }
-  /* 澧炲垹鏀圭粍浠堕�夋嫨浜嬩欢 */
+  
+  /**
+   * @description: 澧炲垹鏀圭粍浠堕�夋嫨浜嬩欢
+   * @param {*} value
+   * @param {*} option
+   * @param {*} field
+   * @return {*}
+   */  
   function componentChange(value, option, field) {
     console.log(value, option, field);
     if (value == 'ApiSelect') {
       addApiSelectOption(field, 'crud');
       delSelectOption(field, 'crud');
+      delPSelectOption(field, 'crud');
     } else {
       delApiSelectOption(field, 'crud');
     }
     if (value == 'Select') {
       addSelectOption(field, 'crud');
       delApiSelectOption(field, 'crud');
+      delPSelectOption(field, 'crud');
     } else {
       delSelectOption(field, 'crud');
     }
-    // if (value == 'PoPSelect') {}
+    if (value == 'PoPSelect') {
+      addPopSelectOption(field, 'crud');
+      delApiSelectOption(field, 'crud');
+      delSelectOption(field, 'crud');
+    } else {
+      delPSelectOption(field, 'crud');
+    }
   }
 
+  /**
+   * @description: 閫夋嫨浜咥piSelect缁勪欢閫夐」鍚庯紝澧炲姞鐩稿簲鐨勮緭鍏ラ」
+   * @param {*} field
+   * @param {*} type
+   * @return {*}
+   */  
   function addApiSelectOption(field: string, type: string) {
     const appendData: FormSchema[] = [
       {
@@ -838,7 +993,11 @@
     }
   }
 
-  /* 澧炲垹鏀笰piSelect鎻掓Ы鏁版嵁娣诲姞 */
+  /**
+   * @description: 澧炲垹鏀笰piSelect鎻掓Ы鏁版嵁娣诲姞
+   * @param {*} field
+   * @return {*}
+   */  
   function crudSlotsPush(field: string) {
     crudApiSlots.value.push(`Api${field}`);
     crudParamsSlots.value.push(`Params_${field}`);
@@ -846,7 +1005,12 @@
     crudLabelFieldSlots.value.push(`LabelField${field}`);
     crudValueFieldSlots.value.push(`ValueField${field}`);
   }
-  /* 鏌ヨApiSelect鎻掓Ы鏁版嵁娣诲姞 */
+  
+  /**
+   * @description: 鏌ヨApiSelect鎻掓Ы鏁版嵁娣诲姞
+   * @param {*} field
+   * @return {*}
+   */  
   function searchSlotsPush(field: string) {
     searchApiSlots.value.push(`Api${field}`);
     searchParamsSlots.value.push(`Params_${field}`);
@@ -855,6 +1019,12 @@
     searchValueFieldSlots.value.push(`ValueField${field}`);
   }
 
+  /**
+   * @description: 鍙栨秷ApiSelect缁勪欢鍚庡垹闄ゆ坊鍔犵殑杈撳叆椤�
+   * @param {*} field
+   * @param {*} type
+   * @return {*}
+   */  
   function delApiSelectOption(field: string, type: string) {
     const removeData: string[] = [
       `ApiSelect${field}`,
@@ -879,7 +1049,11 @@
     }
   }
 
-  /* 澧炲垹鏀规彃妲藉垹闄ら」 */
+  /**
+   * @description: 澧炲垹鏀规彃妲藉垹闄ら」
+   * @param {*} field
+   * @return {*}
+   */  
   function crudSlotsSplice(field: string) {
     crudApiSlots.value = crudApiSlots.value.filter((item) => item !== `Api${field}`);
     crudParamsSlots.value = crudParamsSlots.value.filter((item) => item !== `Params_${field}`);
@@ -893,7 +1067,12 @@
       (item) => item !== `ValueField${field}`,
     );
   }
-  /* 澧炲垹鏀规彃妲藉垹闄ら」 */
+  
+  /**
+   * @description: 澧炲垹鏀规彃妲藉垹闄ら」
+   * @param {*} field
+   * @return {*}
+   */  
   function searchSlotsSplice(field: string) {
     searchApiSlots.value = searchApiSlots.value.filter((item) => item !== `Api${field}`);
     searchParamsSlots.value = searchParamsSlots.value.filter((item) => item !== `Params_${field}`);
@@ -908,6 +1087,10 @@
     );
   }
 
+  /**
+   * @description: 涓嬫媺妗哠elect娣诲姞閫夐」
+   * @return {*}
+   */
   function addSelectOption(field: string, type: string) {
     const appendData: FormSchema[] = [
       {
@@ -928,7 +1111,7 @@
     switch (type) {
       case 'search':
         appendSchemaByField(appendData, '');
-        // searchSelSlotsPush(field);
+        searchSelSlotsPush(field);
         break;
       case 'crud':
         appendSchemaByFieldCrud(appendData, '');
@@ -937,13 +1120,19 @@
     }
   }
 
+  /**
+   * @description: 鍙栨秷Select缁勪欢鍚庡垹闄ゆ坊鍔犵殑杈撳叆椤�
+   * @param {*} field
+   * @param {*} type
+   * @return {*}
+   */  
   function delSelectOption(field: string, type: string) {
     const removeData: string[] = [`XSelect${field}`, `XOnChange${field}`];
     switch (type) {
       case 'search':
         //if (!isNullOrEmpty(getFieldsValue()[`XSelect${field}`])) {
         removeSchemaByField(removeData);
-        // searchSelSlotsSplice(field);
+        searchSelSlotsSplice(field);
         //}
         break;
       case 'crud':
@@ -955,16 +1144,129 @@
     }
   }
 
-  /* 澧炲垹鏀筍elect鎻掓Ы鏁版嵁娣诲姞 */
+  /**
+   * @description: 鏌ヨSelect鎻掓Ы鏁版嵁娣诲姞
+   * @param {*} field
+   * @return {*}
+   */  
+  function searchSelSlotsPush(field: string) {
+    searchOptionsSlots.value.push(`Select_${field}`);
+    searchOptionsSlots.value.push(`OnChange_${field}`);
+  }
+
+  /**
+   * @description: 鏌ヨ鎻掓Ы鍒犻櫎椤�
+   * @param {*} field
+   * @return {*}
+   */  
+  function searchSelSlotsSplice(field: string) {
+    searchOptionsSlots.value = searchOptionsSlots.value.filter(
+      (item) => item !== `Select_${field}`,
+    );
+    searchOptionsSlots.value = searchOptionsSlots.value.filter(
+      (item) => item !== `OnChange_${field}`,
+    );
+  }
+
+  /**
+   * @description: 澧炲垹鏀筍elect鎻掓Ы鏁版嵁娣诲姞
+   * @param {*} field
+   * @return {*}
+   */  
   function crudSelSlotsPush(field: string) {
     crudOptionsSlots.value.push(`Select_${field}`);
     crudOnChangeSlots.value.push(`OnChange_${field}`);
   }
 
-  /* 澧炲垹鏀规彃妲藉垹闄ら」 */
+  /**
+   * @description: 澧炲垹鏀规彃妲藉垹闄ら」
+   * @return {*}
+   */
   function crudSelSlotsSplice(field: string) {
     crudOptionsSlots.value = crudOptionsSlots.value.filter((item) => item !== `Select_${field}`);
-    crudOnChangeSlots.value = crudOnChangeSlots.value.filter((item) => item !== `Select_${field}`);
+    crudOnChangeSlots.value = crudOnChangeSlots.value.filter(
+      (item) => item !== `OnChange_${field}`,
+    );
+  }
+
+  /**
+   * @description: 寮瑰嚭閫夋嫨妗哖opSelect娣诲姞閫夐」
+   * @param {*} field
+   * @param {*} type
+   * @return {*}
+   */  
+  function addPopSelectOption(field: string, type: string) {
+    const appendData: FormSchema[] = [
+      {
+        field: `PSelect${field}`,
+        component: 'Input',
+        label: `defaultValue`,
+        slot: `PSelect_${field}`,
+        colProps: { span: 24 },
+      },
+    ];
+    switch (type) {
+      case 'search':
+        appendSchemaByField(appendData, '');
+        searchPSelSlotsPush(field);
+        break;
+      case 'crud':
+        appendSchemaByFieldCrud(appendData, '');
+        crudPSelSlotsPush(field);
+        break;
+    }
+  }
+
+  /**
+   * @description: 鏌ヨPopSelect鎻掓Ы鏁版嵁娣诲姞
+   * @param {*} field
+   * @return {*}
+   */  
+  function searchPSelSlotsPush(field: string) {
+    searchPOptionsSlots.value.push(`PSelect_${field}`);
+  }
+
+  /**
+   * @description: 澧炲垹鏀筆opSelect鎻掓Ы鏁版嵁娣诲姞
+   * @param {*} field
+   * @return {*}
+   */  
+  function crudPSelSlotsPush(field: string) {
+    crudPOptionsSlots.value.push(`PSelect_${field}`);
+  }
+
+  function delPSelectOption(field: string, type: string) {
+    const removeData: string[] = [`PSelect${field}`];
+    switch (type) {
+      case 'search':
+        removeSchemaByField(removeData);
+        searchPSelSlotsSplice(field);
+        break;
+      case 'crud':
+        removeSchemaByFieldCrud(removeData);
+        crudPSelSlotsSplice(field);
+        break;
+    }
+  }
+
+  /**
+   * @description: 鏌ヨ鎻掓Ы鍒犻櫎椤�
+   * @param {*} field
+   * @return {*}
+   */  
+  function searchPSelSlotsSplice(field: string) {
+    searchPOptionsSlots.value = searchPOptionsSlots.value.filter(
+      (item) => item !== `PSelect_${field}`,
+    );
+  }
+
+  /**
+   * @description: 澧炲垹鏀规彃妲藉垹闄ら」
+   * @param {*} field
+   * @return {*}
+   */  
+  function crudPSelSlotsSplice(field: string) {
+    crudPOptionsSlots.value = crudPOptionsSlots.value.filter((item) => item !== `PSelect_${field}`);
   }
 
   const n = ref(1);
@@ -1027,9 +1329,15 @@
     if (searchSlots.value.length == 0) {
       n.value = 1;
     }
+    delApiSelectOption(`${CrudEntName.value}${field}a`, 'search');
+    delSelectOption(`${CrudEntName.value}${field}a`, 'search');
+    delPSelectOption(`${CrudEntName.value}${field}a`, 'search');
   }
 
-  /* 涓昏〃閰嶇疆 */
+  /**
+   * @description: 涓昏〃閰嶇疆
+   * @return {*}
+   */  
   function mainCondAdd() {
     appendSchemaByFieldMain(
       [
@@ -1113,7 +1421,10 @@
     }
   }
 
-  /* 澧炲垹鏀归厤缃� */
+  /**
+   * @description: 澧炲垹鏀归厤缃�
+   * @return {*}
+   */  
   function crudCondAdd() {
     appendSchemaByFieldCrud(
       [
@@ -1179,6 +1490,8 @@
       j.value = 1;
     }
     delApiSelectOption(`${CrudEntName.value}${field}a`, 'crud');
+    delSelectOption(`${CrudEntName.value}${field}a`, 'crud');
+    delPSelectOption(`${CrudEntName.value}${field}a`, 'crud');
   }
 
   function goBack() {
@@ -1189,6 +1502,7 @@
 <style lang="less" scoped>
   .high-form {
     padding-bottom: 48px;
-  }</style
->: { values: any[]; }: any: { values: any[]; }: any: { values: any[]; }: any: any: any: any: any:
+  }
+</style>
+: { values: any[]; }: any: { values: any[]; }: any: { values: any[]; }: any: any: any: any: any:
 any: any

--
Gitblit v1.9.3