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