| 
					
				 | 
			
			
				@@ -34,227 +34,227 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <slot name="filterCell" v-bind="{ column, record }"></slot> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     </BasicTable> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    <!-- <DeviceModal @register="registerModal" @saveOrUpdate="saveOrUpdateHandler" :showTab="showTab" :deviceType="deviceType" /> --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    <DeviceModal v-model:visible="modalVisible" @saveOrUpdate="saveOrUpdateHandler" :showTab="showTab"  /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <DeviceModal @register="registerModal" @saveOrUpdate="saveOrUpdateHandler" :showTab="showTab" :deviceType="deviceType" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <!-- <DeviceModal v-model:visible="modalVisible" @saveOrUpdate="saveOrUpdateHandler" @close-modal="closeModal" :showTab="showTab"  /> --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 <script lang="ts" setup> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  //ts语法 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  import { ref, provide, reactive, toRaw, defineExpose } from 'vue'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  import { BasicTable, TableAction, ActionItem, EditRecordRow, BasicColumn } from '/@/components/Table'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  import { useModal } from '/@/components/Modal'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  import DeviceModal from './DeviceModal.vue'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  // import { getToken } from '/@/utils/auth'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  // import { useGlobSetting } from '/@/hooks/setting'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  import { getTableHeaderColumns } from '/@/hooks/web/useWebColumns'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  import { useListPage } from '/@/hooks/system/useListPage'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  import { getPopupContainer } from '/@/utils'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//ts语法 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { ref, provide, reactive, toRaw, defineExpose } from 'vue'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { BasicTable, TableAction, ActionItem, EditRecordRow, BasicColumn } from '/@/components/Table'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { useModal } from '/@/components/Modal'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import DeviceModal from './DeviceModal.vue'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// import { getToken } from '/@/utils/auth'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// import { useGlobSetting } from '/@/hooks/setting'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { getTableHeaderColumns } from '/@/hooks/web/useWebColumns'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { useListPage } from '/@/hooks/system/useListPage'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { getPopupContainer } from '/@/utils'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  const props = defineProps({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    columnsType: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      type: String, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      // required: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    columns: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      type: Array, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      // required: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      default: () => [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    searchFormSchema: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      type: Array, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      default: () => [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    formSchema: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      type: Array, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      required: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    list: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      type: Function, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      required: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    getImportUrl: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      type: String, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      required: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    getExportUrl: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      type: String, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      required: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    deleteById: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      type: Function, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      required: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    batchDelete: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      type: Function, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    saveOrUpdate: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      type: Function, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      required: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    pointList: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      type: Function, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    showTab: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      type: Boolean, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      default: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    designScope: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      type: String, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    title: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      type: String, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    deviceType: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      type: String, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const props = defineProps({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  columnsType: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    type: String, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // required: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  columns: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    type: Array, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // required: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    default: () => [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  searchFormSchema: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    type: Array, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    default: () => [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  formSchema: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    type: Array, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    required: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  list: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    type: Function, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    required: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  getImportUrl: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    type: String, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    required: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  getExportUrl: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    type: String, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    required: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  deleteById: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    type: Function, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    required: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  batchDelete: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    type: Function, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  saveOrUpdate: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    type: Function, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    required: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  pointList: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    type: Function, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  showTab: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    type: Boolean, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    default: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  designScope: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    type: String, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  title: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    type: String, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  deviceType: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    type: String, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  const emit = defineEmits(['submitSuccess']); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const emit = defineEmits(['submitSuccess']); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  const isUpdate = ref(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  const record = reactive({}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  const modalVisible = ref(false) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const isUpdate = ref(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const record = reactive({}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  const deviceTypeId = ref('') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  const pageType = ref('') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const deviceTypeId = ref('') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const pageType = ref('') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  provide('formSchema', props.formSchema); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  provide('isUpdate', isUpdate); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  provide('formData', record); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  provide('deviceType', props.deviceType); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  // const glob = useGlobSetting(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  const [registerModal, { openModal, closeModal }] = useModal(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+provide('formSchema', props.formSchema); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+provide('isUpdate', isUpdate); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+provide('formData', record); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+provide('deviceType', props.deviceType); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// const glob = useGlobSetting(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const [registerModal, { openModal, closeModal }] = useModal(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  const columnList = getTableHeaderColumns(props.columnsType); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const columnList = getTableHeaderColumns(props.columnsType); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  // 列表页面公共参数、方法 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  const { prefixCls, tableContext, onExportXls, onImportXls, doRequest } = useListPage({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    designScope: props.designScope, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    tableProps: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      title: props.title, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      api: props.list, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      columns: props.columns.length > 0 ? (props.columns as any[]) : columnList, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      // size: 'small', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      // bordered: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      formConfig: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        showAdvancedButton: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // labelWidth: 100, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        labelAlign: 'left', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        labelCol: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          xs: 24, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          sm: 24, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          md: 24, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          lg: 9, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          xl: 7, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          xxl: 5, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        schemas: props.searchFormSchema as any[], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      useSearchForm: props.searchFormSchema.length > 0 ? true : false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      striped: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      actionColumn: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        width: 180, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      beforeFetch: (params) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return Object.assign(params, { column: 'createTime', devicekind: props.deviceType }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// 列表页面公共参数、方法 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const { prefixCls, tableContext, onExportXls, onImportXls, doRequest } = useListPage({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  designScope: props.designScope, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  tableProps: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    title: props.title, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    api: props.list, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    columns: props.columns.length > 0 ? (props.columns as any[]) : columnList, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // size: 'small', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // bordered: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    formConfig: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      showAdvancedButton: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // labelWidth: 100, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      labelAlign: 'left', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      labelCol: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        xs: 24, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        sm: 24, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        md: 24, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        lg: 9, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        xl: 7, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        xxl: 5, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      schemas: props.searchFormSchema as any[], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    exportConfig: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      name: props.title, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      url: props.getExportUrl, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    useSearchForm: props.searchFormSchema.length > 0 ? true : false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    striped: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    actionColumn: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      width: 180, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    importConfig: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      url: props.getImportUrl, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    beforeFetch: (params) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return Object.assign(params, { column: 'createTime', devicekind: props.deviceType }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  exportConfig: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    name: props.title, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    url: props.getExportUrl, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  importConfig: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    url: props.getImportUrl, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  //注册table数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  const [registerTable, { reload }, { rowSelection, selectedRowKeys }] = tableContext; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//注册table数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const [registerTable, { reload }, { rowSelection, selectedRowKeys }] = tableContext; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  const saveOrUpdateHandler = async (params) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      await props.saveOrUpdate(params, isUpdate.value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      !props.showTab ? modalVisible.value=false : ''; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      await doRequest(props.list, { confirm: false }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      emit('submitSuccess', params) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } catch (error) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      message.error('保存失败,请联系管理员'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-   * 新增事件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  function handleAdd() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    for (let key in record) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      delete record[key]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    isUpdate.value = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    // openModal(true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    modalVisible.value = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+const saveOrUpdateHandler = async (params) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    await props.saveOrUpdate(params, isUpdate.value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    !props.showTab ? closeModal() : ''; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    await doRequest(props.list, { confirm: false }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    emit('submitSuccess', params) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } catch (error) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    message.error('保存失败,请联系管理员'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-   * 编辑事件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  function handleEdit(data) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    isUpdate.value = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    Object.assign(record, toRaw(data)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    // openModal(true, { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    //   record, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    // }, false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    modalVisible.value = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// const closeModalFn = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//   closeModal() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * 新增事件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function handleAdd() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  for (let key in record) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    delete record[key]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  isUpdate.value = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  openModal(true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-   * 删除事件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  async function handleDelete(record) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    await props.deleteById({id: record.id}, reload); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * 编辑事件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function handleEdit(data) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  isUpdate.value = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  Object.assign(record, toRaw(data)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  openModal(true, { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    record, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-   * 批量删除事件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  async function batchHandleDelete() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    doRequest(() => props.batchDelete({ ids: selectedRowKeys.value })); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-   * 查看 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  // function handleDetail(record) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  //   iframeUrl.value = `${glob.uploadUrl}/sys/annountCement/show/${record.id}?token=${getToken()}`; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  //   openDetail(true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  // } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-   * 操作列定义 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-   * @param record 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  function getActions(record: EditRecordRow, column: BasicColumn): ActionItem[]  { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    return [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        label: '编辑', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        onClick: handleEdit.bind(null, record, column), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        label: '删除', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        popConfirm: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          title: '是否确认删除', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          confirm: handleDelete.bind(null, record, column), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * 删除事件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+async function handleDelete(record) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  await props.deleteById({ id: record.id }, reload); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * 批量删除事件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+async function batchHandleDelete() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  doRequest(() => props.batchDelete({ ids: selectedRowKeys.value })); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * 查看 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// function handleDetail(record) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//   iframeUrl.value = `${glob.uploadUrl}/sys/annountCement/show/${record.id}?token=${getToken()}`; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//   openDetail(true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * 操作列定义 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * @param record 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function getActions(record: EditRecordRow, column: BasicColumn): ActionItem[] { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  return [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      label: '编辑', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      onClick: handleEdit.bind(null, record, column), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      label: '删除', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      popConfirm: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        title: '是否确认删除', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        confirm: handleDelete.bind(null, record, column), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      // { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      //   label: '查看', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      //   onClick: handleDetail.bind(null, record), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      // }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    ]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //   label: '查看', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //   onClick: handleDetail.bind(null, record), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  ]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  defineExpose({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    doRequest, onExportXls, onImportXls, reload 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+defineExpose({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  doRequest, onExportXls, onImportXls, reload 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 </script> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |