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