|  | @@ -10,58 +10,74 @@
 | 
	
		
			
				|  |  |    </div>
 | 
	
		
			
				|  |  |  </template>
 | 
	
		
			
				|  |  |  <script lang="ts" setup>
 | 
	
		
			
				|  |  | -  import { inject, nextTick, watch, unref } from 'vue';
 | 
	
		
			
				|  |  | -  import { BasicForm, useForm } from '/@/components/Form/index';
 | 
	
		
			
				|  |  | -  // 声明Emits
 | 
	
		
			
				|  |  | -  const emit = defineEmits(['saveOrUpdate']);
 | 
	
		
			
				|  |  | -  const testData = inject('formData') as any;
 | 
	
		
			
				|  |  | -  //表单配置
 | 
	
		
			
				|  |  | -  const [registerForm, { resetFields, setFieldsValue, validate }] = useForm({
 | 
	
		
			
				|  |  | -    schemas: unref(inject('formSchema')),
 | 
	
		
			
				|  |  | -    showActionButtonGroup: false,
 | 
	
		
			
				|  |  | -  });
 | 
	
		
			
				|  |  | +import { inject, nextTick, watch, unref, onMounted } from 'vue';
 | 
	
		
			
				|  |  | +import { BasicForm, useForm } from '/@/components/Form/index';
 | 
	
		
			
				|  |  | +import { getRegulation as getRegulationList } from '/@/views/vent/deviceManager/substationTabel/substation.api';
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -  watch(
 | 
	
		
			
				|  |  | -    testData,
 | 
	
		
			
				|  |  | -    (newV) => {
 | 
	
		
			
				|  |  | -      nextTick(() => {
 | 
	
		
			
				|  |  | -        setFieldsValue({ ...newV });
 | 
	
		
			
				|  |  | -      });
 | 
	
		
			
				|  |  | -    },
 | 
	
		
			
				|  |  | -    { immediate: true }
 | 
	
		
			
				|  |  | -  );
 | 
	
		
			
				|  |  | +// 声明Emits
 | 
	
		
			
				|  |  | +const emit = defineEmits(['saveOrUpdate']);
 | 
	
		
			
				|  |  | +const testData = inject('formData') as any;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -  // 重置表单
 | 
	
		
			
				|  |  | -  async function onReset() {
 | 
	
		
			
				|  |  | -    await resetFields();
 | 
	
		
			
				|  |  | -    await setFieldsValue({ ...testData });
 | 
	
		
			
				|  |  | -  }
 | 
	
		
			
				|  |  | -  //表单提交事件
 | 
	
		
			
				|  |  | -  async function handleSubmit(v) {
 | 
	
		
			
				|  |  | -    try {
 | 
	
		
			
				|  |  | -      let values = await validate();
 | 
	
		
			
				|  |  | -      emit('saveOrUpdate', values);
 | 
	
		
			
				|  |  | -    } finally {
 | 
	
		
			
				|  |  | -      // setModalProps({ confirmLoading: false });
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | +const existingSchemas = unref(inject('formSchema')) || [];
 | 
	
		
			
				|  |  | +const newSchema = {
 | 
	
		
			
				|  |  | +  label: '规程值',
 | 
	
		
			
				|  |  | +  field: 'regulation',
 | 
	
		
			
				|  |  | +  component: 'ApiSelect',
 | 
	
		
			
				|  |  | +  componentProps: {
 | 
	
		
			
				|  |  | +    api: getRegulationList,
 | 
	
		
			
				|  |  | +    labelField: 'name',
 | 
	
		
			
				|  |  | +    valueField: 'id',
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +// 在索引位置1处插入规程值配置
 | 
	
		
			
				|  |  | +const insertPosition = 3;
 | 
	
		
			
				|  |  | +const mergedSchemas = [...existingSchemas.slice(0, insertPosition), newSchema, ...existingSchemas.slice(insertPosition)];
 | 
	
		
			
				|  |  | +//表单配置
 | 
	
		
			
				|  |  | +const [registerForm, { resetFields, setFieldsValue, validate }] = useForm({
 | 
	
		
			
				|  |  | +  schemas: mergedSchemas,
 | 
	
		
			
				|  |  | +  showActionButtonGroup: false,
 | 
	
		
			
				|  |  | +});
 | 
	
		
			
				|  |  | +watch(
 | 
	
		
			
				|  |  | +  testData,
 | 
	
		
			
				|  |  | +  (newV) => {
 | 
	
		
			
				|  |  | +    nextTick(() => {
 | 
	
		
			
				|  |  | +      setFieldsValue({ ...newV });
 | 
	
		
			
				|  |  | +    });
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +  { immediate: true }
 | 
	
		
			
				|  |  | +);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +// 重置表单
 | 
	
		
			
				|  |  | +async function onReset() {
 | 
	
		
			
				|  |  | +  await resetFields();
 | 
	
		
			
				|  |  | +  await setFieldsValue({ ...testData });
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +//表单提交事件
 | 
	
		
			
				|  |  | +async function handleSubmit(v) {
 | 
	
		
			
				|  |  | +  try {
 | 
	
		
			
				|  |  | +    let values = await validate();
 | 
	
		
			
				|  |  | +    emit('saveOrUpdate', values);
 | 
	
		
			
				|  |  | +  } finally {
 | 
	
		
			
				|  |  | +    // setModalProps({ confirmLoading: false });
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  |  </script>
 | 
	
		
			
				|  |  |  <style lang="less" scoped>
 | 
	
		
			
				|  |  | -  @ventSpace: zxm;
 | 
	
		
			
				|  |  | -  .j-box-bottom-button-float {
 | 
	
		
			
				|  |  | -    border: none !important;
 | 
	
		
			
				|  |  | -    padding-bottom: 30px;
 | 
	
		
			
				|  |  | -    left: 0px !important;
 | 
	
		
			
				|  |  | -    right: 0px !important;
 | 
	
		
			
				|  |  | -    bottom: 0px !important;
 | 
	
		
			
				|  |  | -  }
 | 
	
		
			
				|  |  | -  .vent-form {
 | 
	
		
			
				|  |  | -    // width: 100%;
 | 
	
		
			
				|  |  | -    max-height: 700px;
 | 
	
		
			
				|  |  | -    overflow-y: auto;
 | 
	
		
			
				|  |  | +@ventSpace: zxm;
 | 
	
		
			
				|  |  | +.j-box-bottom-button-float {
 | 
	
		
			
				|  |  | +  border: none !important;
 | 
	
		
			
				|  |  | +  padding-bottom: 30px;
 | 
	
		
			
				|  |  | +  left: 0px !important;
 | 
	
		
			
				|  |  | +  right: 0px !important;
 | 
	
		
			
				|  |  | +  bottom: 0px !important;
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +.vent-form {
 | 
	
		
			
				|  |  | +  // width: 100%;
 | 
	
		
			
				|  |  | +  max-height: 700px;
 | 
	
		
			
				|  |  | +  overflow-y: auto;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    .@{ventSpace}-select-selection-item {
 | 
	
		
			
				|  |  | -      color: rgba(255, 255, 255, 1) !important;
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | +  .@{ventSpace}-select-selection-item {
 | 
	
		
			
				|  |  | +    color: rgba(255, 255, 255, 1) !important;
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  |  </style>
 |