基础资料模块优化
							parent
							
								
									c565f0acbf
								
							
						
					
					
						commit
						090141d19f
					
				| 
						 | 
				
			
			@ -122,6 +122,7 @@ export default function useFormHandler(formItems, api) {
 | 
			
		|||
		detailData,
 | 
			
		||||
		onSubmit,
 | 
			
		||||
		handleBack,
 | 
			
		||||
		fetchData
 | 
			
		||||
		fetchData,
 | 
			
		||||
		initializeFormData
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -107,11 +107,16 @@
 | 
			
		|||
				</a-form>
 | 
			
		||||
			</a-tab-pane>
 | 
			
		||||
			<a-tab-pane key="5" tab="扩展字段" force-render>
 | 
			
		||||
				<a-form layout="vertical">
 | 
			
		||||
				<a-form layout="vertical" :model="extendFormData">
 | 
			
		||||
					<a-row :gutter="16">
 | 
			
		||||
						<a-col :span="item.span || 6" v-for="(item, index) in extendData" :key="index">
 | 
			
		||||
							<a-form-item :label="item.label" :name="item.name" :rules="item.rules">
 | 
			
		||||
								<component style="width: 100%" :is="item.type" v-model:value="item.defaultValue" v-bind="item.attrs" />
 | 
			
		||||
								<component
 | 
			
		||||
									style="width: 100%"
 | 
			
		||||
									:is="item.type"
 | 
			
		||||
									v-model:value="extendFormData[item.name]"
 | 
			
		||||
									v-bind="item.attrs"
 | 
			
		||||
								/>
 | 
			
		||||
							</a-form-item>
 | 
			
		||||
						</a-col>
 | 
			
		||||
					</a-row>
 | 
			
		||||
| 
						 | 
				
			
			@ -146,6 +151,7 @@
 | 
			
		|||
		promoteEnabledState: 'ENABLE'
 | 
			
		||||
	})
 | 
			
		||||
	let extendData = ref([]) // 扩展字段
 | 
			
		||||
	let extendFormData = ref({}) // 扩展字段
 | 
			
		||||
 | 
			
		||||
	onMounted(async () => {
 | 
			
		||||
		formRefs.value = [formRef1.value, formRef2.value, formRef3.value]
 | 
			
		||||
| 
						 | 
				
			
			@ -170,6 +176,11 @@
 | 
			
		|||
				unitOptions = unitList
 | 
			
		||||
 | 
			
		||||
				dataSource.value = packageData
 | 
			
		||||
 | 
			
		||||
				if (res.extJson) {
 | 
			
		||||
					extendFormData.value = JSON.parse(res.extJson)
 | 
			
		||||
					console.log(extendFormData.value, 'extendFormData.value')
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		})
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -232,21 +243,29 @@
 | 
			
		|||
			.then((res) => {
 | 
			
		||||
				if (res) {
 | 
			
		||||
					res.forEach((item) => {
 | 
			
		||||
						const showValues = JSON.parse(item.showValues)
 | 
			
		||||
						let options = []
 | 
			
		||||
						showValues.forEach((value) => {
 | 
			
		||||
							options.push({
 | 
			
		||||
								value: value.name,
 | 
			
		||||
								label: value.name
 | 
			
		||||
							})
 | 
			
		||||
						})
 | 
			
		||||
						extendData.value.push({
 | 
			
		||||
							label: item.fieldName,
 | 
			
		||||
							label: item.name,
 | 
			
		||||
							name: item.fieldName,
 | 
			
		||||
							type: 'ASelect',
 | 
			
		||||
							type: item.showType,
 | 
			
		||||
							span: 6,
 | 
			
		||||
							attrs: {
 | 
			
		||||
								placeholder: '请输入内容',
 | 
			
		||||
								options: [],
 | 
			
		||||
								fieldNames: {
 | 
			
		||||
									label: 'name',
 | 
			
		||||
									value: 'id'
 | 
			
		||||
								}
 | 
			
		||||
								options
 | 
			
		||||
							}
 | 
			
		||||
						})
 | 
			
		||||
					})
 | 
			
		||||
 | 
			
		||||
					extendData.value.forEach((item) => {
 | 
			
		||||
						if (item.fieldName) extendFormData.value[item.fieldName] = null
 | 
			
		||||
					})
 | 
			
		||||
				}
 | 
			
		||||
			})
 | 
			
		||||
	})
 | 
			
		||||
| 
						 | 
				
			
			@ -279,12 +298,13 @@
 | 
			
		|||
	}
 | 
			
		||||
 | 
			
		||||
	const onSubmitForm = () => {
 | 
			
		||||
		console.log(productFormData.value, 'productFormData.value')
 | 
			
		||||
		console.log(extendFormData.value, 'extendFormData.value')
 | 
			
		||||
		onSubmit({
 | 
			
		||||
			isDeep: true,
 | 
			
		||||
			materialPackageList: dataSource.value,
 | 
			
		||||
			...formData,
 | 
			
		||||
			...productFormData.value
 | 
			
		||||
			...productFormData.value,
 | 
			
		||||
			extJson: JSON.stringify(extendFormData.value)
 | 
			
		||||
		})
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -28,7 +28,7 @@
 | 
			
		|||
					</a-form-item>
 | 
			
		||||
				</a-col>
 | 
			
		||||
				<a-col :span="12">
 | 
			
		||||
					<a-form-item label="字段名:" name="fieldType">
 | 
			
		||||
					<a-form-item label="字段类型:" name="fieldType">
 | 
			
		||||
						<a-input v-model:value="formData.fieldType" placeholder="请输入字段名" allow-clear />
 | 
			
		||||
					</a-form-item>
 | 
			
		||||
				</a-col>
 | 
			
		||||
| 
						 | 
				
			
			@ -69,7 +69,7 @@
 | 
			
		|||
							<a-button type="primary" danger @click="delSelectableData(index)" v-if="index !== 0">
 | 
			
		||||
								<MinusOutlined />
 | 
			
		||||
							</a-button>
 | 
			
		||||
							<a-input style="width: 100%" v-model:value="item.filedName" placeholder="请输入内容"></a-input>
 | 
			
		||||
							<a-input style="width: 100%" v-model:value="item.name" placeholder="请输入内容"></a-input>
 | 
			
		||||
						</a-space>
 | 
			
		||||
					</div>
 | 
			
		||||
				</a-col>
 | 
			
		||||
| 
						 | 
				
			
			@ -102,13 +102,13 @@
 | 
			
		|||
	// 增加数据
 | 
			
		||||
	let selectableData = ref([
 | 
			
		||||
		{
 | 
			
		||||
			filedName: ''
 | 
			
		||||
			name: '',
 | 
			
		||||
		}
 | 
			
		||||
	])
 | 
			
		||||
 | 
			
		||||
	const addSelectableData = () => {
 | 
			
		||||
		selectableData.value.push({
 | 
			
		||||
			filedName: ''
 | 
			
		||||
			name: '',
 | 
			
		||||
		})
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue