From 1094c29e03ee0efc7121babda0532c8138aa801f Mon Sep 17 00:00:00 2001 From: YangYuGang <1378265336@qq.com> Date: 星期六, 08 三月 2025 20:20:54 +0800 Subject: [PATCH] 收货单、退货单页面添加 --- src/views/tigerprojects/system/lowcode/setting/pageDetail.vue | 503 ++++++++++++++++++++++++++++++------------------------- 1 files changed, 276 insertions(+), 227 deletions(-) diff --git a/src/views/tigerprojects/system/lowcode/setting/pageDetail.vue b/src/views/tigerprojects/system/lowcode/setting/pageDetail.vue index 306d5e1..8161cf2 100644 --- a/src/views/tigerprojects/system/lowcode/setting/pageDetail.vue +++ b/src/views/tigerprojects/system/lowcode/setting/pageDetail.vue @@ -4,7 +4,7 @@ * @version: * @Date: 2024-05-30 22:00:44 * @LastEditors: Ben Lin - * @LastEditTime: 2024-07-17 11:14:27 + * @LastEditTime: 2024-07-30 11:00:14 --> <!-- eslint-disable prettier/prettier --> <template> @@ -14,89 +14,14 @@ content="杩欐槸浣庝唬鐮侀〉闈㈢鐞嗭紝鍦ㄨ繖鑳藉鏍规嵁瀹炰綋绫婚厤缃鍒犳敼鍔熻兘椤甸潰銆�" @back="goBack" > - <a-card title="鏌ヨ鏉′欢閰嶇疆" :bordered="false"> - <BasicForm @register="register"> - <template #add="{ field }"> - <a-button - v-if="field" - class="mt-1 ml-1" - size="small" - @click="handleSelecNew" - preIcon="search|svg" - /> - <EntityModal @register="registerNewAdd" @success="handleNewSuccess" /> - </template> - <template #condAdd="{ field }"> - <a-button - v-if="field" - class="mt-1 ml-1" - size="small" - @click="condAdd" - preIcon="add_blue|svg" - /> - </template> - <template #subtract="{ field }"> - <a-button - v-if="field" - class="mt-1 ml-1" - size="small" - @click="del(field)" - preIcon="subtract|svg" - /> - </template> - <template #[item]="{ model, field }" v-for="(item, index) in searchSlots" :key="item"> - <a-input-group compact> - <ApiSelect - style="width: 25%" - :api="getEntityPropertieList" - :params="{ StartWith: getFieldsValue().ASSEMBLY_NAME, Namespace: 'Tiger.Model' }" - v-model:value="model[field]" - resultField="items" - label-field="DisplayName" - valueField="Name" - @change="(value, option) => change(value, option, field)" - /> - <a-input v-model:value="objInputs[field]" style="width: 55%" /> - <Select - ref="select" - v-model:value="searchSelectVals[field]" - style="width: 20%" - :options="options" - :readonly="true" - @change="(value, option) => searchOnChange(value, option, field)" - /> - </a-input-group> - </template> - <template #[item]="{ model, field }" v-for="item in swSlots" :key="item"> - <a-switch v-model:checked="model[field]" /> - </template> - <template #[item]="{ model, field }" v-for="item in searchApiSlots" :key="item"> - <a-input v-model:value="model[field]" /> - </template> - <template #[item]="{ model, field }" v-for="item in searchParamsSlots" :key="item"> - <a-input v-model:value="model[field]" /> - </template> - <template #[item]="{ model, field }" v-for="item in searchResultFieldSlots" :key="item"> - <a-input v-model:value="model[field]" /> - </template> - <template #[item]="{ model, field }" v-for="item in searchLabelFieldSlots" :key="item"> - <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> - </a-card> - <a-card title="涓昏〃鏍奸厤缃�" :bordered="false" class="!mt-5"> + <template #footer> + <a-tabs default-active-key="detail" v-model:activeKey="currentKey"> + <a-tab-pane key="mainKey" tab="涓昏〃鏍奸厤缃�" /> + <a-tab-pane key="searchKey" tab="鏌ヨ鏉′欢閰嶇疆" /> + <a-tab-pane key="crudKey" tab="澧炲垹鏀归厤缃�" /> + </a-tabs> + </template> + <a-card :bordered="false" v-show="currentKey == 'mainKey'"> <div> <BasicForm @register="registerMain"> <template #add="{ field }"> @@ -155,12 +80,99 @@ <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]" /> + <!-- <a-input v-model:value="model[field]" /> --> + <CodeEditor v-model:value="model[field]" :mode="modeValue" :bordered="true" /> </template> </BasicForm> </div> </a-card> - <a-card title="澧炲垹鏀归厤缃�" :bordered="false" class="!mt-5"> + <a-card :bordered="false" v-show="currentKey == 'searchKey'"> + <BasicForm @register="register"> + <template #add="{ field }"> + <a-button + v-if="field" + class="mt-1 ml-1" + size="small" + @click="handleSelecNew" + preIcon="search|svg" + /> + <EntityModal @register="registerNewAdd" @success="handleNewSuccess" /> + </template> + <template #condAdd="{ field }"> + <a-button + v-if="field" + class="mt-1 ml-1" + size="small" + @click="condAdd(false)" + preIcon="add_blue|svg" + /> + </template> + <template #subtract="{ field }"> + <a-button + v-if="field" + class="mt-1 ml-1" + size="small" + @click="del(field)" + preIcon="subtract|svg" + /> + </template> + <template #[item]="{ model, field }" v-for="(item, index) in searchSlots" :key="item"> + <a-input-group compact> + <ApiSelect + v-if="IsSearch == 'Y'" + style="width: 25%" + :api="getEntityPropertieList" + :params="{ StartWith: getFieldsValue().ASSEMBLY_NAME, Namespace: 'Tiger.Model' }" + v-model:value="model[field]" + resultField="items" + label-field="DisplayName" + valueField="Name" + @change="(value, option) => change(value, option, field)" + /> + <a-input v-if="IsSearch == 'N'" v-model:value="objInputs2[field]" style="width: 25%" /> + <a-input v-model:value="objInputs[field]" style="width: 55%" /> + <Select + ref="select" + v-model:value="searchSelectVals[field]" + style="width: 20%" + :options="options" + :readonly="true" + @change="(value, option) => searchOnChange(value, option, field)" + /> + </a-input-group> + </template> + <template #[item]="{ model, field }" v-for="item in swSlots" :key="item"> + <a-switch v-model:checked="model[field]" /> + </template> + <template #[item]="{ model, field }" v-for="item in searchApiSlots" :key="item"> + <a-input v-model:value="model[field]" /> + </template> + <template #[item]="{ model, field }" v-for="item in searchParamsSlots" :key="item"> + <!-- <a-input v-model:value="model[field]" /> --> + <CodeEditor v-model:value="model[field]" :mode="searchModeValue" :bordered="true" /> + </template> + <template #[item]="{ model, field }" v-for="item in searchResultFieldSlots" :key="item"> + <a-input v-model:value="model[field]" /> + </template> + <template #[item]="{ model, field }" v-for="item in searchLabelFieldSlots" :key="item"> + <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]" /> --> + <CodeEditor v-model:value="model[field]" :mode="searchModeValue" :bordered="true" /> + </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> + </a-card> + <a-card :bordered="false" v-show="currentKey == 'crudKey'"> <BasicForm @register="registerCrud"> <template #add="{ field }"> <a-button @@ -233,7 +245,8 @@ <a-input v-model:value="model[field]" /> </template> <template #[item]="{ model, field }" v-for="item in crudParamsSlots" :key="item"> - <a-input v-model:value="model[field]" /> + <!-- <a-input v-model:value="model[field]" /> --> + <CodeEditor v-model:value="model[field]" :mode="searchModeValue" :bordered="true" /> </template> <template #[item]="{ model, field }" v-for="item in crudResultFieldSlots" :key="item"> <a-input v-model:value="model[field]" /> @@ -245,7 +258,8 @@ <a-input v-model:value="model[field]" /> </template> <template #[item]="{ model, field }" v-for="item in crudOptionsSlots" :key="item"> - <a-input v-model:value="model[field]" /> + <!-- <a-input v-model:value="model[field]" /> --> + <CodeEditor v-model:value="model[field]" :mode="searchModeValue" :bordered="true" /> </template> <template #[item]="{ model, field }" v-for="item in crudOnChangeSlots" :key="item"> <a-input v-model:value="model[field]" /> @@ -264,7 +278,7 @@ </template> <script lang="ts" setup> import { BasicForm, FormSchema, useForm } from '/@/components/Form'; - import { nextTick, onMounted, ref, unref } from 'vue'; + import { 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'; @@ -273,7 +287,6 @@ import { newFormSchema, crudSchemas, mainSchemas } from './setting.data'; import { useTabs } from '/@/hooks/web/useTabs'; import EntityModal from '/@/views/components/EntityModal.vue'; - import { buildUUID } from '/@/utils/uuid'; import { SelectTypes } from 'ant-design-vue/es/select'; import { useMultipleTabStore } from '/@/store/modules/multipleTab'; import { useModal } from '/@/components/Modal'; @@ -281,11 +294,15 @@ import { EntityPropertie, SYS_LOW_CODE } from '/@/api/tigerapi/model/systemModel'; import { isNullOrEmpty, isNullOrUnDef } from '/@/utils/is'; import { useUserStore } from '/@/store/modules/user'; + import { CodeEditor, MODE } from '/@/components/CodeEditor'; + import { Tabs } from 'ant-design-vue'; const ACard = Card; const AInputGroup = InputGroup; const AInput = Input; const ASwitch = Switch; + const ATabs = Tabs; + const currentKey = ref('mainKey'); const route = useRoute(); const go = useGo(); const objParams = ref(JSON.parse(decodeURI(route.params?.id as string))); @@ -362,6 +379,7 @@ /* 鏌ヨ */ const SearchEntName = ref(''); const objInputs = ref({} as { [key: string]: any }); + const objInputs2 = ref({} as { [key: string]: any }); const searchProperties = ref([] as EntityPropertie[]); const searchSlots = ref([] as string[]); const searchSelectVals = ref({} as { [key: string]: any }); @@ -374,6 +392,8 @@ const searchOptionsSlots = ref([] as string[]); const searchOnChangeSlots = ref([] as string[]); const searchPOptionsSlots = ref([] as string[]); + const searchModeValue = ref<MODE>(MODE.JSON); + const IsSearch = ref('Y'); /* 涓昏〃 */ const MainEntName = ref(''); const mainSelectVals = ref({} as { [key: string]: any }); @@ -384,6 +404,7 @@ const mainsSwSlots = ref([] as string[]); const mainwSwSlots = ref([] as string[]); const mainIaSlots = ref([] as string[]); + const modeValue = ref<MODE>(MODE.JAVASCRIPT); /* 澧炲垹鏀� */ const CrudEntName = ref(''); const crudInputs = ref({} as { [key: string]: any }); @@ -465,108 +486,130 @@ getEntity({ sqlcmd: "ID ='" + objParams.value.ID + "'", entityName: 'SYS_LOW_CODE', - order: '' + order: '', }).then((data) => { /* 鏌ヨ鍔犺浇 */ - var searchForms = JSON.parse(data.Data.Items[0].SEARCH_FORM_JSON); + const searchData = JSON.parse(data.Data.Items[0].SEARCH_FORM_JSON); + var searchForms = isNullOrEmpty(searchData.fields) ? searchData : searchData.fields; 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')); + setFieldsValue({ + ASSEMBLY_NAME: data.Data.Items[0].SEARCH_ASSY_NAME, + IsSearch: searchData.search ? 'Y' : 'N', + }); + IsSearch.value = searchData.search ? 'Y' : 'N'; + searchForms = searchForms.filter( + (item) => + !item['field'].toString().startsWith(SearchEntName.value) && + !item['field'].toString().endsWith('PSelect_0'), + ); for (const i in searchForms) { - condAdd(); - if (searchForms[i]['component'] == 'ApiSelect') { - addApiSelectOption(`${SearchEntName.value}${Number(i) + 1}a`, 'search'); - setFieldsValue({ - [`ApiSelect${SearchEntName.value}${Number(i) + 1}a`]: - searchForms[i]['componentProps']['api'], - [`Params${SearchEntName.value}${Number(i) + 1}a`]: JSON.stringify( - searchForms[i]['componentProps']['params'], - ), - [`Result${SearchEntName.value}${Number(i) + 1}a`]: - searchForms[i]['componentProps']['resultField'], - [`Label${SearchEntName.value}${Number(i) + 1}a`]: - searchForms[i]['componentProps']['labelField'], - [`Value${SearchEntName.value}${Number(i) + 1}a`]: - 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'], - }); - } + condAdd(true); + if (searchForms[i]['component'] == 'ApiSelect') { + addApiSelectOption(`${SearchEntName.value}${Number(i) + 1}a`, 'search'); 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'], + [`ApiSelect${SearchEntName.value}${Number(i) + 1}a`]: + searchForms[i]['componentProps']['api'], + [`Params${SearchEntName.value}${Number(i) + 1}a`]: JSON.stringify( + searchForms[i]['componentProps']['params'], + ), + [`Result${SearchEntName.value}${Number(i) + 1}a`]: + searchForms[i]['componentProps']['resultField'], + [`Label${SearchEntName.value}${Number(i) + 1}a`]: + searchForms[i]['componentProps']['labelField'], + [`Value${SearchEntName.value}${Number(i) + 1}a`]: + searchForms[i]['componentProps']['valueField'], }); - 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']; - if(searchForms[i]['comp']){ - addPopSelectOption(`${SearchEntName.value}${Number(i) + 1}a`, 'search'); - setFieldsValue({ - [`PSelect${SearchEntName.value}${Number(i) + 1}a`]: searchForms[i]['entityName'], - }); - } + } + 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']; + objInputs2.value[`${SearchEntName.value}${Number(i) + 1}a`] = searchForms[i]['field']; + 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')); + 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'); - 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'], - }); - } + if (crudForms[i]['component'] == 'ApiSelect') { + addApiSelectOption(`${CrudEntName.value}${Number(i) + 1}a`, 'crud'); 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'], + [`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'], }); - 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'], - }); - } - crudIsExistVals.value[`${CrudEntName.value}${Number(i) + 1}a`] = crudForms[i]['isexist']; + } + 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]['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'], + }); + } + crudIsExistVals.value[`${CrudEntName.value}${Number(i) + 1}a`] = crudForms[i]['isexist']; } /* 涓昏〃鍔犺浇 */ var objs = JSON.parse(data.Data.Items[0].BASE_FORM_JSON); MainEntName.value = data.Data.Items[0].ASSEMBLY_NAME; - setFieldsValueMain({ MainAssemblyName: MainEntName.value, BY_ORG:data.Data.Items[0].BY_ORG }); + setFieldsValueMain({ + MainAssemblyName: MainEntName.value, + BY_ORG: data.Data.Items[0].BY_ORG, + CODE_NAME: data.Data.Items[0].CODE_NAME + }); for (const i in objs) { mainCondAdd(); setFieldsValueMain({ @@ -596,7 +639,7 @@ /* 鏌ヨ鏉′欢Json */ const Keys = Object.getOwnPropertyNames(values); - var searchjsons = []; + var searchjsons = { search: getFieldsValue().IsSearch == 'Y', fields: [] as any[] }; var _json = {}; var _n = 0; let firstField = ''; @@ -604,7 +647,12 @@ 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['field'] = + getFieldsValue().IsSearch == 'N' + ? objInputs2.value[Keys[k]] + : isNullOrEmpty(values[Keys[k]]) + ? '' + : values[Keys[k]]; _json['label'] = objInputs.value[Keys[k]]; _json['defaultValue'] = ''; _json['component'] = searchSelectVals.value[Keys[k]]; @@ -639,17 +687,17 @@ _json['component'] = 'Input'; _json['comp'] = 'PoPSelect'; _json['entityName'] = values[`PSelect${firstField}`]; - searchjsons.push(_json); + searchjsons.fields.push(_json); _json = {}; _json['field'] = `${firstField}PSelect_0`; _json['label'] = '1'; _json['defaultValue'] = values[`PSelect${firstField}`]; _json['component'] = 'Input'; - _json['colProps'] = { span: 4 }; + _json['colProps'] = { span: 1 }; _json['ifShow'] = true; _json['colSlot'] = `${firstField}add`; } - searchjsons.push(_json); + searchjsons.fields.push(_json); _json = {}; _n = 0; } @@ -657,7 +705,7 @@ console.log(JSON.stringify(searchjsons)); /* 涓昏〃鏍糐son */ const mKeys = Object.getOwnPropertyNames(mainvalues); - var mjsons = []; + var mjsons = [] as any[]; var mjson = {}; var i = 0; for (const k in mKeys) { @@ -767,7 +815,7 @@ } } console.log(JSON.stringify(cjsons)); - var entity: SYS_LOW_CODE = { + var entity = { ID: objParams.value.ID, CREATE_USER: useUserStore().getUserInfo.userId as string, UPDATE_USER: useUserStore().getUserInfo.userId as string, @@ -778,6 +826,7 @@ CRUD_ASSY_NAME: getFieldsValueCrud().crudAssemblyName, SEARCH_ASSY_NAME: getFieldsValue().ASSEMBLY_NAME, BY_ORG: getFieldsValueMain().BY_ORG, + CODE_NAME: getFieldsValueMain().CODE_NAME, }; SaveEntity(entity, unref(objParams.value.Update) == '1', 'SYS_LOW_CODE').then((action) => { if (action.IsSuccessed) { @@ -802,7 +851,7 @@ /** * @description: 鏌ヨ閰嶇疆绫诲悕閫夋嫨鎸夐挳鏂规硶 * @return {*} - */ + */ function handleSelecNew() { openNewModal(true, { data: 'content', @@ -813,7 +862,7 @@ /** * @description: 涓昏〃閰嶇疆绫诲悕閫夋嫨鎸夐挳鏂规硶 * @return {*} - */ + */ function mainSelectAssy() { openMainModal(true, { data: 'content', @@ -824,7 +873,7 @@ /** * @description: 澧炲垹鏀归厤缃被鍚嶉�夋嫨鎸夐挳鏂规硶 * @return {*} - */ + */ function handleSelectCrud() { openCrudModal(true, { data: 'content', @@ -837,7 +886,7 @@ * @param {*} d * @param {*} u * @return {*} - */ + */ async function mainAssySuccess(d, u) { setFieldsValueMain({ MainAssemblyName: d.values['val'], @@ -881,7 +930,7 @@ * @param {*} option * @param {*} field * @return {*} - */ + */ function change(value, option, field) { console.log(value, option, field); objInputs.value[field] = option.label; @@ -902,7 +951,7 @@ * @param {*} option * @param {*} field * @return {*} - */ + */ function searchOnChange(value, option, field) { console.log(value, option, field); if (value == 'ApiSelect') { @@ -927,14 +976,14 @@ delPSelectOption(field, 'search'); } } - + /** * @description: 澧炲垹鏀圭粍浠堕�夋嫨浜嬩欢 * @param {*} value * @param {*} option * @param {*} field * @return {*} - */ + */ function componentChange(value, option, field) { console.log(value, option, field); if (value == 'ApiSelect') { @@ -965,7 +1014,7 @@ * @param {*} field * @param {*} type * @return {*} - */ + */ function addApiSelectOption(field: string, type: string) { const appendData: FormSchema[] = [ { @@ -973,35 +1022,35 @@ component: 'Input', label: `api`, slot: `Api${field}`, - colProps: { span: 5 }, + colProps: { span: 6 }, }, { field: `Params${field}`, component: 'Input', label: 'params', slot: `Params_${field}`, - colProps: { span: 6 }, + colProps: { span: 18 }, }, { field: `Result${field}`, component: 'Input', label: 'resultField', slot: `ResultField${field}`, - colProps: { span: 5 }, + colProps: { span: 8 }, }, { field: `Label${field}`, component: 'Input', label: 'labelField', slot: `LabelField${field}`, - colProps: { span: 4 }, + colProps: { span: 8 }, }, { field: `Value${field}`, component: 'Input', label: 'valueField', slot: `ValueField${field}`, - colProps: { span: 4 }, + colProps: { span: 8 }, }, ]; switch (type) { @@ -1020,7 +1069,7 @@ * @description: 澧炲垹鏀笰piSelect鎻掓Ы鏁版嵁娣诲姞 * @param {*} field * @return {*} - */ + */ function crudSlotsPush(field: string) { crudApiSlots.value.push(`Api${field}`); crudParamsSlots.value.push(`Params_${field}`); @@ -1028,12 +1077,12 @@ crudLabelFieldSlots.value.push(`LabelField${field}`); crudValueFieldSlots.value.push(`ValueField${field}`); } - + /** * @description: 鏌ヨApiSelect鎻掓Ы鏁版嵁娣诲姞 * @param {*} field * @return {*} - */ + */ function searchSlotsPush(field: string) { searchApiSlots.value.push(`Api${field}`); searchParamsSlots.value.push(`Params_${field}`); @@ -1047,7 +1096,7 @@ * @param {*} field * @param {*} type * @return {*} - */ + */ function delApiSelectOption(field: string, type: string) { const removeData: string[] = [ `ApiSelect${field}`, @@ -1076,7 +1125,7 @@ * @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}`); @@ -1090,12 +1139,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}`); @@ -1148,7 +1197,7 @@ * @param {*} field * @param {*} type * @return {*} - */ + */ function delSelectOption(field: string, type: string) { const removeData: string[] = [`XSelect${field}`, `XOnChange${field}`]; switch (type) { @@ -1171,7 +1220,7 @@ * @description: 鏌ヨSelect鎻掓Ы鏁版嵁娣诲姞 * @param {*} field * @return {*} - */ + */ function searchSelSlotsPush(field: string) { searchOptionsSlots.value.push(`Select_${field}`); searchOptionsSlots.value.push(`OnChange_${field}`); @@ -1181,7 +1230,7 @@ * @description: 鏌ヨ鎻掓Ы鍒犻櫎椤� * @param {*} field * @return {*} - */ + */ function searchSelSlotsSplice(field: string) { searchOptionsSlots.value = searchOptionsSlots.value.filter( (item) => item !== `Select_${field}`, @@ -1195,7 +1244,7 @@ * @description: 澧炲垹鏀筍elect鎻掓Ы鏁版嵁娣诲姞 * @param {*} field * @return {*} - */ + */ function crudSelSlotsPush(field: string) { crudOptionsSlots.value.push(`Select_${field}`); crudOnChangeSlots.value.push(`OnChange_${field}`); @@ -1217,7 +1266,7 @@ * @param {*} field * @param {*} type * @return {*} - */ + */ function addPopSelectOption(field: string, type: string) { const appendData: FormSchema[] = [ { @@ -1244,7 +1293,7 @@ * @description: 鏌ヨPopSelect鎻掓Ы鏁版嵁娣诲姞 * @param {*} field * @return {*} - */ + */ function searchPSelSlotsPush(field: string) { searchPOptionsSlots.value.push(`PSelect_${field}`); } @@ -1253,7 +1302,7 @@ * @description: 澧炲垹鏀筆opSelect鎻掓Ы鏁版嵁娣诲姞 * @param {*} field * @return {*} - */ + */ function crudPSelSlotsPush(field: string) { crudPOptionsSlots.value.push(`PSelect_${field}`); } @@ -1276,7 +1325,7 @@ * @description: 鏌ヨ鎻掓Ы鍒犻櫎椤� * @param {*} field * @return {*} - */ + */ function searchPSelSlotsSplice(field: string) { searchPOptionsSlots.value = searchPOptionsSlots.value.filter( (item) => item !== `PSelect_${field}`, @@ -1287,7 +1336,7 @@ * @description: 澧炲垹鏀规彃妲藉垹闄ら」 * @param {*} field * @return {*} - */ + */ function crudPSelSlotsSplice(field: string) { crudPOptionsSlots.value = crudPOptionsSlots.value.filter((item) => item !== `PSelect_${field}`); } @@ -1297,8 +1346,10 @@ const j = ref(1); /** * @description: 鎵归噺娣诲姞 鏌ヨ閰嶇疆 + * @param {boolean} isMounted - 鏄惁鎸傝浇鏃惰繘鍏ユ柟娉� */ - function condAdd() { + function condAdd(isMounted: boolean) { + IsSearch.value = isMounted ? IsSearch.value : getFieldsValue().IsSearch; appendSchemaByField( [ { @@ -1320,14 +1371,14 @@ field: `InputNumber${n.value}`, component: 'InputNumber', label: '鍒楀', - colProps: { span: 3 }, + colProps: { span: 4 }, }, { field: `${n.value}`, component: 'Input', label: ' ', slot: 'subtract', - colProps: { span: 4 }, + colProps: { span: 3 }, }, ], '', @@ -1352,15 +1403,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'); + delApiSelectOption(`${SearchEntName.value}${field}a`, 'search'); + delSelectOption(`${SearchEntName.value}${field}a`, 'search'); + delPSelectOption(`${SearchEntName.value}${field}a`, 'search'); } /** * @description: 涓昏〃閰嶇疆 * @return {*} - */ + */ function mainCondAdd() { appendSchemaByFieldMain( [ @@ -1395,14 +1446,14 @@ }, { field: `InputTextArea${m.value}`, - component: 'InputTextArea', + component: 'Input', label: '鑷畾涔夋覆鏌�', slot: `mainwIa${m.value}`, colProps: { span: 21 }, - componentProps: { - placeholder: '璇风紪杈戞覆鏌撲唬鐮�', - rows: 4, - }, + // componentProps: { + // placeholder: '璇风紪杈戞覆鏌撲唬鐮�', + // rows: 4, + // }, }, { field: `${m.value}`, @@ -1447,7 +1498,7 @@ /** * @description: 澧炲垹鏀归厤缃� * @return {*} - */ + */ function crudCondAdd() { appendSchemaByFieldCrud( [ @@ -1457,7 +1508,7 @@ label: '瀛楁' + j.value, // required: true, slot: 'crudfac' + j.value, - colProps: { span: 12 }, + colProps: { span: 11 }, }, { field: `Switch${j.value}`, @@ -1477,7 +1528,7 @@ field: `InputNumber${j.value}`, component: 'InputNumber', label: '鍒楀', - colProps: { span: 3 }, + colProps: { span: 4 }, }, { field: `${j.value}`, @@ -1527,5 +1578,3 @@ padding-bottom: 48px; } </style> -: { values: any[]; }: any: { values: any[]; }: any: { values: any[]; }: any: any: any: any: any: -any: any -- Gitblit v1.9.3