From 8f5009a3d57821c2c97690b8419e428967b5e981 Mon Sep 17 00:00:00 2001
From: Ben Lin <maobin001@msn.com>
Date: 星期一, 03 六月 2024 22:48:41 +0800
Subject: [PATCH] 低代码更新

---
 src/views/tigerprojects/system/lowcode/setting/pageDetail.vue |  155 ++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 127 insertions(+), 28 deletions(-)

diff --git a/src/views/tigerprojects/system/lowcode/setting/pageDetail.vue b/src/views/tigerprojects/system/lowcode/setting/pageDetail.vue
index b97d7c7..43d5426 100644
--- a/src/views/tigerprojects/system/lowcode/setting/pageDetail.vue
+++ b/src/views/tigerprojects/system/lowcode/setting/pageDetail.vue
@@ -120,6 +120,9 @@
           <template #[item]="{ model, field }" v-for="item in mainwSwSlots" :key="item">
             <a-switch v-model:checked="model[field]" />
           </template>
+          <template #[item]="{ model, field }" v-for="item in mainIaSlots" :key="item">
+            <a-input v-model:value="model[field]" />
+          </template>
         </BasicForm>
       </div>
     </a-card>
@@ -195,7 +198,7 @@
 </template>
 <script lang="ts" setup>
   import { BasicForm, useForm } from '/@/components/Form';
-  import { onMounted, ref, unref } from 'vue';
+  import { nextTick, onMounted, ref, unref } from 'vue';
   import { Card, InputGroup, Select, Input, Switch } from 'ant-design-vue';
   import { ApiSelect } from '/@/components/Form/index';
   import { useRoute, useRouter } from 'vue-router';
@@ -208,7 +211,7 @@
   import { SelectTypes } from 'ant-design-vue/es/select';
   import { useMultipleTabStore } from '/@/store/modules/multipleTab';
   import { useModal } from '/@/components/Modal';
-  import { SaveEntity, getEntityPropertieList } from '/@/api/tigerapi/system';
+  import { SaveEntity, getEntity, getEntityPropertieList } from '/@/api/tigerapi/system';
   import { EntityPropertie, SYS_LOW_CODE } from '/@/api/tigerapi/model/systemModel';
   import { isNullOrEmpty } from '/@/utils/is';
   import { useUserStore } from '/@/store/modules/user';
@@ -290,6 +293,9 @@
     schemas: mainSchemas,
     showActionButtonGroup: false,
   });
+  const SearchEntName = ref('');
+  const MainEntName = ref('');
+  const CrudEntName = ref('');
   const objInputs = ref({} as { [key: string]: any });
   const mainInputs = ref({} as { [key: string]: any });
   const crudInputs = ref({} as { [key: string]: any });
@@ -304,6 +310,7 @@
   const crudSwSlots = ref([] as string[]);
   const mainsSwSlots = ref([] as string[]);
   const mainwSwSlots = ref([] as string[]);
+  const mainIaSlots = ref([] as string[]);
   const crudrSwSlots = ref([] as string[]);
   const searchSelectVals = ref({} as { [key: string]: any });
   const mainSelectVals = ref({} as { [key: string]: any });
@@ -334,17 +341,73 @@
       label: 'Checkbox',
     },
     {
-      value: 'TimePicker',
+      value: 'RangePicker',
       label: '鏃堕棿閫夋嫨鍣�',
     },
     {
       value: 'Switch',
       label: '寮�鍏�',
     },
+    {
+      value: 'PoPSelect',
+      label: '寮瑰嚭閫夋嫨妗�',
+    },
   ]);
-  onMounted(async () => {
-
-
+  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 });
+        for (const i in searchForms) {
+          if (searchForms[i]['field'] != '0') {
+            condAdd();
+            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'];
+          }
+        }
+        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 });
+        for (const i in crudForms) {
+          crudCondAdd();
+          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'];
+        }
+        var objs = JSON.parse(data.Data.Items[0].BASE_FORM_JSON);
+        MainEntName.value = data.Data.Items[0].ASSEMBLY_NAME;
+        setFieldsValueMain({ MainAssemblyName: MainEntName.value });
+        for (const i in objs) {
+          mainCondAdd();
+          setFieldsValueMain({
+            [`${MainEntName.value}${Number(i) + 1}a`]: objs[i]['dataIndex'],
+            [`Switch${Number(i) + 1}`]: objs[i]['ifShow'],
+            [`sSwitch${Number(i) + 1}`]: objs[i]['sorter'],
+            [`wSwitch${Number(i) + 1}`]: objs[i]['resizable'],
+            [`InputTextArea${Number(i) + 1}`]: objs[i]['customRender'],
+          });
+          mainInputs.value[`${MainEntName.value}${Number(i) + 1}a`] = objs[i]['title'];
+        }
+      });
+    }
   });
 
   async function submitAll() {
@@ -354,6 +417,7 @@
         crudvalidate(),
         validateMainForm(),
       ]);
+
       /* 鏌ヨ鏉′欢Json */
       const Keys = Object.getOwnPropertyNames(values);
       var searchjsons = [];
@@ -377,6 +441,20 @@
           _n++;
         }
         if (!isNullOrEmpty(_json) && _n == 6) {
+          //濡傛灉鏄脊鍑洪�夋嫨妗�
+          if (_json['component'] == 'PoPSelect') {
+            _json['component'] = 'Input';
+            _json['comp'] = 'PoPSelect';
+            searchjsons.push(_json);
+            _json = {};
+            _json['field'] = '0';
+            _json['label'] = '1';
+            _json['defaultValue'] = '';
+            _json['component'] = 'Input';
+            _json['colProps'] = { span: 4 };
+            _json['ifShow'] = true;
+            _json['colSlot'] = 'add';
+          }
           searchjsons.push(_json);
           _json = {};
           _n = 0;
@@ -413,7 +491,11 @@
             : (mainvalues[mKeys[k]] as boolean);
           i++;
         }
-        if (!isNullOrEmpty(mjson) && i == 5) {
+        if (mKeys[k].toString().startsWith('InputTextArea')) {
+          mjson['customRender'] = isNullOrEmpty(mainvalues[mKeys[k]]) ? '' : mainvalues[mKeys[k]];
+          i++;
+        }
+        if (!isNullOrEmpty(mjson) && i == 6) {
           mjsons.push(mjson);
           i = 0;
           mjson = {};
@@ -428,19 +510,19 @@
       for (const k in cKeys) {
         console.log(`${k}:${cKeys[k]}`);
         if (cKeys[k].toString().startsWith(getFieldsValueCrud().crudAssemblyName)) {
-          cjson['field'] = isNullOrEmpty(crudvalues[mKeys[k]]) ? '' : crudvalues[cKeys[k]];
-          cjson['label'] = isNullOrEmpty(crudvalues[mKeys[k]]) ? '' : crudInputs.value[cKeys[k]];
+          cjson['field'] = isNullOrEmpty(crudvalues[cKeys[k]]) ? '' : crudvalues[cKeys[k]];
+          cjson['label'] = isNullOrEmpty(crudvalues[cKeys[k]]) ? '' : crudInputs.value[cKeys[k]];
           cjson['component'] = crudSelectVals.value[cKeys[k]];
           c = c + 3;
         }
         if (cKeys[k].toString().startsWith('Switch')) {
-          cjson['show'] = isNullOrEmpty(crudvalues[mKeys[k]])
+          cjson['show'] = isNullOrEmpty(crudvalues[cKeys[k]])
             ? false
             : (crudvalues[cKeys[k]] as boolean);
           c++;
         }
         if (cKeys[k].toString().startsWith('rSwitch')) {
-          cjson['required'] = isNullOrEmpty(crudvalues[mKeys[k]])
+          cjson['required'] = isNullOrEmpty(crudvalues[cKeys[k]])
             ? false
             : (crudvalues[cKeys[k]] as boolean);
           c++;
@@ -457,6 +539,7 @@
       }
       console.log(JSON.stringify(cjsons));
       var entity: SYS_LOW_CODE = {
+        ID: objParams.value.ID,
         CREATE_USER: useUserStore().getUserInfo.userId as string,
         UPDATE_USER: useUserStore().getUserInfo.userId as string,
         SEARCH_FORM_JSON: JSON.stringify(searchjsons),
@@ -486,7 +569,7 @@
   }
 
   function handleEdit(record: Recordable) {}
-  //鐐瑰嚮鎵撳紑鐗╂枡鍒楄〃妗�
+
   function handleSelecNew() {
     openNewModal(true, {
       data: 'content',
@@ -517,6 +600,7 @@
       Namespace: 'Tiger.Model',
     });
     mainProperties.value = data.items;
+    MainEntName.value = d.values.values;
   }
 
   async function handleNewSuccess(d, u) {
@@ -528,12 +612,19 @@
       Namespace: 'Tiger.Model',
     });
     searchProperties.value = data.items;
+    SearchEntName.value = d.values.values;
   }
 
-  function handleCrudSuccess(d, u) {
+  async function handleCrudSuccess(d, u) {
     setFieldsValueCrud({
       crudAssemblyName: d.values.values,
     });
+    var data = await getEntityPropertieList({
+      StartWith: d.values.values,
+      Namespace: 'Tiger.Model',
+    });
+    crudProperties.value = data.items;
+    CrudEntName.value = d.values.values;
   }
   function change(value, option, field) {
     console.log(value, option, field);
@@ -557,10 +648,10 @@
     appendSchemaByField(
       [
         {
-          field: `${getFieldsValue().ASSEMBLY_NAME}${n.value}a`,
+          field: `${SearchEntName.value}${n.value}a`,
           component: 'InputGroup',
           label: '瀛楁' + n.value,
-          // required: true,
+          //required: true,
           slot: 'fac' + n.value,
           colProps: { span: 14 },
         },
@@ -589,15 +680,15 @@
     );
     searchSlots.value.push('fac' + n.value);
     swSlots.value.push(`sw${n.value}`);
-    objInputs.value[`${getFieldsValue().ASSEMBLY_NAME}${n.value}a`] = '';
-    searchSelectVals.value[`${getFieldsValue().ASSEMBLY_NAME}${n.value}a`] = '';
+    objInputs.value[`${SearchEntName.value}${n.value}a`] = '';
+    searchSelectVals.value[`${SearchEntName.value}${n.value}a`] = '';
     console.log(searchSlots.value);
     n.value++;
   }
 
   function del(field) {
     removeSchemaByField([
-      `${getFieldsValue().ASSEMBLY_NAME}${field}a`,
+      `${SearchEntName.value}${field}a`,
       `Switch${field}`,
       `InputNumber${field}`,
       `${field}`,
@@ -614,7 +705,7 @@
     appendSchemaByFieldMain(
       [
         {
-          field: `${getFieldsValueMain().MainAssemblyName}${m.value}a`,
+          field: `${MainEntName.value}${m.value}a`,
           component: 'InputGroup',
           label: '瀛楁' + m.value,
           // required: true,
@@ -646,7 +737,12 @@
           field: `InputTextArea${m.value}`,
           component: 'InputTextArea',
           label: '鑷畾涔夋覆鏌�',
+          slot: `mainwIa${m.value}`,
           colProps: { span: 21 },
+          componentProps: {
+            placeholder: '璇风紪杈戞覆鏌撲唬鐮�',
+            rows: 4,
+          },
         },
         {
           field: `${m.value}`,
@@ -662,15 +758,16 @@
     mainSwSlots.value.push(`mainSw${m.value}`);
     mainsSwSlots.value.push(`mainsSw${m.value}`);
     mainwSwSlots.value.push(`mainwSw${m.value}`);
-    mainInputs.value[`${getFieldsValueMain().MainAssemblyName}${m.value}a`] = '';
-    mainSelectVals.value[`${getFieldsValueMain().MainAssemblyName}${m.value}a`] = '';
+    mainIaSlots.value.push(`mainwIa${m.value}`);
+    mainInputs.value[`${MainEntName.value}${m.value}a`] = '';
+    mainSelectVals.value[`${MainEntName.value}${m.value}a`] = '';
     console.log(mainSlots.value);
     m.value++;
   }
 
   function mainDel(field) {
     removeSchemaByFieldMain([
-      `${getFieldsValueMain().MainAssemblyName}${field}a`,
+      `${MainEntName.value}${field}a`,
       `Switch${field}`,
       `sSwitch${field}`,
       `wSwitch${field}`,
@@ -680,6 +777,7 @@
     mainSwSlots.value.splice(mainSwSlots.value.indexOf(`mainSw${field}`), 1);
     mainsSwSlots.value.splice(mainsSwSlots.value.indexOf(`mainsSw${field}`), 1);
     mainwSwSlots.value.splice(mainwSwSlots.value.indexOf(`mainwSw${field}`), 1);
+    mainIaSlots.value.splice(mainIaSlots.value.indexOf(`mainwIa${field}`), 1);
     mainSlots.value.splice(mainSlots.value.indexOf(`mainfac${field}`), 1);
     if (mainSlots.value.length == 0) {
       m.value = 1;
@@ -691,7 +789,7 @@
     appendSchemaByFieldCrud(
       [
         {
-          field: `${getFieldsValueCrud().crudAssemblyName}${j.value}a`,
+          field: `${CrudEntName.value}${j.value}a`,
           component: 'InputGroup',
           label: '瀛楁' + j.value,
           // required: true,
@@ -731,15 +829,15 @@
     crudSlots.value.push('crudfac' + j.value);
     crudSwSlots.value.push(`crudSw${j.value}`);
     crudrSwSlots.value.push(`crudrSw${j.value}`);
-    crudInputs.value[`${getFieldsValueCrud().crudAssemblyName}${j.value}a`] = '';
-    crudSelectVals.value[`${getFieldsValueCrud().crudAssemblyName}${j.value}a`] = '';
+    crudInputs.value[`${CrudEntName.value}${j.value}a`] = '';
+    crudSelectVals.value[`${CrudEntName.value}${j.value}a`] = '';
     console.log(crudSlots.value);
     j.value++;
   }
 
   function crudDel(field) {
     removeSchemaByFieldCrud([
-      `${getFieldsValueCrud().crudAssemblyName}${field}a`,
+      `${CrudEntName.value}${field}a`,
       `Switch${field}`,
       `rSwitch${field}`,
       `InputNumber${field}`,
@@ -761,5 +859,6 @@
 <style lang="less" scoped>
   .high-form {
     padding-bottom: 48px;
-  }
-</style>: { values: any[]; }: any: { values: any[]; }: any: { values: any[]; }: any: 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