From 323e576c64129723df20fd18effb20d96d8d18b3 Mon Sep 17 00:00:00 2001 From: Ben Lin <maobin001@msn.com> Date: 星期一, 22 七月 2024 10:27:50 +0800 Subject: [PATCH] 工单更新 --- src/views/tigerprojects/system/lowcode/setting/pageDetail.vue | 497 ++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 417 insertions(+), 80 deletions(-) diff --git a/src/views/tigerprojects/system/lowcode/setting/pageDetail.vue b/src/views/tigerprojects/system/lowcode/setting/pageDetail.vue index 07e88dd..306d5e1 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: Ben Lin + * @LastEditTime: 2024-07-17 11:14:27 +--> +<!-- 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> @@ -187,14 +205,21 @@ valueField="Name" @change="(value, option) => crudChange(value, option, field)" /> - <a-input v-model:value="crudInputs[field]" style="width: 55%" /> + <a-input v-model:value="crudInputs[field]" style="width: 33%" /> <Select ref="select" v-model:value="crudSelectVals[field]" - style="width: 20%" + style="width: 21%" :options="options" :readonly="true" @change="(value, option) => componentChange(value, option, field)" + /> + <Select + ref="select" + v-model:value="crudIsExistVals[field]" + style="width: 21%" + :options="isExistOptions" + :readonly="true" /> </a-input-group> </template> @@ -225,6 +250,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> @@ -251,7 +279,7 @@ import { useModal } from '/@/components/Modal'; import { SaveEntity, getEntity, getEntityPropertieList } from '/@/api/tigerapi/system'; import { EntityPropertie, SYS_LOW_CODE } from '/@/api/tigerapi/model/systemModel'; - import { isNullOrEmpty } from '/@/utils/is'; + import { isNullOrEmpty, isNullOrUnDef } from '/@/utils/is'; import { useUserStore } from '/@/store/modules/user'; const ACard = Card; @@ -343,6 +371,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 }); @@ -358,6 +389,7 @@ const crudInputs = ref({} as { [key: string]: any }); const crudProperties = ref([] as EntityPropertie[]); const crudSelectVals = ref({} as { [key: string]: any }); + const crudIsExistVals = ref({} as { [key: string]: any }); const crudSlots = ref([] as string[]); const crudSwSlots = ref([] as string[]); const crudrSwSlots = ref([] as string[]); @@ -368,6 +400,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 +428,10 @@ label: 'Checkbox', }, { + value: 'Upload', + label: '鏂囦欢涓婁紶', + }, + { value: 'RangePicker', label: '鏃堕棿閫夋嫨鍣�', }, @@ -407,18 +444,36 @@ label: '寮瑰嚭閫夋嫨妗�', }, ]); + + const isExistOptions = ref<SelectTypes['options']>([ + { + value: 'Y', + label: '鏄垽鏂瓨鍦�', + }, + { + value: 'N', + label: '涓嶆槸鍒ゆ柇瀛樺湪', + }, + ]); + + /** + * @description: 瀹炰緥缁勪欢鎸傝浇鏃� + * @return {*} + */ onMounted(() => { if (unref(objParams.value.Update) == '1') { getEntity({ sqlcmd: "ID ='" + objParams.value.ID + "'", entityName: 'SYS_LOW_CODE', + order: '' }).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,62 +490,83 @@ 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'], + }); + } + 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 }); + setFieldsValueMain({ MainAssemblyName: MainEntName.value, BY_ORG:data.Data.Items[0].BY_ORG }); for (const i in objs) { mainCondAdd(); setFieldsValueMain({ @@ -506,6 +582,10 @@ } }); + /** + * @description: 鍏ㄩ儴鎻愪氦 + * @return {*} + */ async function submitAll() { try { const [values, crudvalues, mainvalues] = await Promise.all([ @@ -519,9 +599,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'] = ''; @@ -535,6 +617,12 @@ 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; } if (Keys[k].toString().startsWith('InputNumber')) { @@ -542,7 +630,7 @@ _n++; } if (Keys[k].toString().startsWith('Switch')) { - _json['ifShow'] = isNullOrEmpty(values[Keys[k]]) ? false : (values[Keys[k]] as boolean); + _json['ifShow'] = isNullOrUnDef(values[Keys[k]]) ? false : (values[Keys[k]] as boolean); _n++; } if (!isNullOrEmpty(_json) && _n == 6) { @@ -550,15 +638,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 = {}; @@ -579,19 +668,19 @@ i = i + 2; } if (mKeys[k].toString().startsWith('Switch')) { - mjson['ifShow'] = isNullOrEmpty(mainvalues[mKeys[k]]) + mjson['ifShow'] = isNullOrUnDef(mainvalues[mKeys[k]]) ? false : (mainvalues[mKeys[k]] as boolean); i++; } if (mKeys[k].toString().startsWith('sSwitch')) { - mjson['sorter'] = isNullOrEmpty(mainvalues[mKeys[k]]) + mjson['sorter'] = isNullOrUnDef(mainvalues[mKeys[k]]) ? false : (mainvalues[mKeys[k]] as boolean); i++; } if (mKeys[k].toString().startsWith('wSwitch')) { - mjson['resizable'] = isNullOrEmpty(mainvalues[mKeys[k]]) + mjson['resizable'] = isNullOrUnDef(mainvalues[mKeys[k]]) ? false : (mainvalues[mKeys[k]] as boolean); i++; @@ -612,14 +701,17 @@ 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]]) ? '' : crudInputs.value[cKeys[k]]; cjson['component'] = crudSelectVals.value[cKeys[k]]; + cjson['isexist'] = crudIsExistVals.value[cKeys[k]]; if (crudSelectVals.value[cKeys[k]] == 'ApiSelect') { cjson['componentProps'] = { api: crudvalues[`ApiSelect${cKeys[k]}`], @@ -638,13 +730,13 @@ c = c + 3; } if (cKeys[k].toString().startsWith('Switch')) { - cjson['show'] = isNullOrEmpty(crudvalues[cKeys[k]]) + cjson['show'] = isNullOrUnDef(crudvalues[cKeys[k]]) ? false : (crudvalues[cKeys[k]] as boolean); c++; } if (cKeys[k].toString().startsWith('rSwitch')) { - cjson['required'] = isNullOrEmpty(crudvalues[cKeys[k]]) + cjson['required'] = isNullOrUnDef(crudvalues[cKeys[k]]) ? false : (crudvalues[cKeys[k]] as boolean); c++; @@ -654,6 +746,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 = {}; @@ -670,6 +777,7 @@ ASSEMBLY_NAME: getFieldsValueMain().MainAssemblyName, CRUD_ASSY_NAME: getFieldsValueCrud().crudAssemblyName, SEARCH_ASSY_NAME: getFieldsValue().ASSEMBLY_NAME, + BY_ORG: getFieldsValueMain().BY_ORG, }; SaveEntity(entity, unref(objParams.value.Update) == '1', 'SYS_LOW_CODE').then((action) => { if (action.IsSuccessed) { @@ -691,7 +799,10 @@ } function handleEdit(record: Recordable) {} - + /** + * @description: 鏌ヨ閰嶇疆绫诲悕閫夋嫨鎸夐挳鏂规硶 + * @return {*} + */ function handleSelecNew() { openNewModal(true, { data: 'content', @@ -699,6 +810,10 @@ }); } + /** + * @description: 涓昏〃閰嶇疆绫诲悕閫夋嫨鎸夐挳鏂规硶 + * @return {*} + */ function mainSelectAssy() { openMainModal(true, { data: 'content', @@ -706,6 +821,10 @@ }); } + /** + * @description: 澧炲垹鏀归厤缃被鍚嶉�夋嫨鎸夐挳鏂规硶 + * @return {*} + */ function handleSelectCrud() { openCrudModal(true, { data: 'content', @@ -713,41 +832,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 +894,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 +1016,11 @@ } } - /* 澧炲垹鏀笰piSelect鎻掓Ы鏁版嵁娣诲姞 */ + /** + * @description: 澧炲垹鏀笰piSelect鎻掓Ы鏁版嵁娣诲姞 + * @param {*} field + * @return {*} + */ function crudSlotsPush(field: string) { crudApiSlots.value.push(`Api${field}`); crudParamsSlots.value.push(`Params_${field}`); @@ -846,7 +1028,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 +1042,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 +1072,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 +1090,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 +1110,10 @@ ); } + /** + * @description: 涓嬫媺妗哠elect娣诲姞閫夐」 + * @return {*} + */ function addSelectOption(field: string, type: string) { const appendData: FormSchema[] = [ { @@ -928,7 +1134,7 @@ switch (type) { case 'search': appendSchemaByField(appendData, ''); - // searchSelSlotsPush(field); + searchSelSlotsPush(field); break; case 'crud': appendSchemaByFieldCrud(appendData, ''); @@ -937,13 +1143,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 +1167,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 +1352,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 +1444,10 @@ } } - /* 澧炲垹鏀归厤缃� */ + /** + * @description: 澧炲垹鏀归厤缃� + * @return {*} + */ function crudCondAdd() { appendSchemaByFieldCrud( [ @@ -1179,6 +1513,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 +1525,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