| 
					
				 | 
			
			
				@@ -1,32 +1,71 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 <template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  <el-dialog title="项目基础配置" width="50%" :close-on-click-modal="false" center :visible.sync="visib" :before-close="closeDialog"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    <el-form ref="userForm" :model="dialogForm" :rules="rules" size="small" label-width="100px"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  <el-dialog 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    title="项目基础配置" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    width="50%" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    :close-on-click-modal="false" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    center 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    :visible.sync="visib" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    :before-close="closeDialog" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <el-form 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ref="userForm" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      :model="dialogForm" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      :rules="rules" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      size="small" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      label-width="100px" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <el-row :gutter="10"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <el-col :xs="24" :sm="20" :md="8" :lg="8" :xl="8"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-col :xs="24" :sm="24" :md="8" :lg="8" :xl="8"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <el-form-item label="数据源类型" prop="sourceType"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <el-select v-model.trim="dialogForm.sourceType" placeholder="请选择" clearable @change="selectChange"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              <el-option v-for="item in dictionaryOptions" :key="item.id" :label="item.text" :value="item.id" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <el-select 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              v-model.trim="dialogForm.sourceType" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              placeholder="请选择" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              clearable 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              @change="selectChange" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <el-option 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                v-for="item in dictionaryOptions" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                :key="item.id" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                :label="item.text" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                :value="item.id" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             </el-select> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </el-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <el-col :xs="24" :sm="20" :md="6" :lg="6" :xl="6"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-col :xs="24" :sm="24" :md="8" :lg="8" :xl="8"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <el-form-item label="数据源编码" prop="sourceCode"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <el-input :disabled="updataDisabled" v-model.trim="dialogForm.sourceCode" placeholder="唯一标识" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <el-input 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              :disabled="updataDisabled" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              v-model.trim="dialogForm.sourceCode" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              placeholder="唯一标识" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </el-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <el-col :xs="24" :sm="20" :md="6" :lg="6" :xl="6"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-col :xs="24" :sm="24" :md="8" :lg="8" :xl="8"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <el-form-item label="数据源名称" prop="sourceName"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <el-input v-model.trim="dialogForm.sourceName" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </el-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <el-col :xs="24" :sm="20" :md="20" :lg="20" :xl="20"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-col :xs="24" :sm="20" :md="24" :lg="24" :xl="24"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <el-form-item label="数据源描述"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <el-input v-model.trim="dialogForm.sourceDesc" type="textarea" :autosize="{ minRows: 2, maxRows: 4 }" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <el-input 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              v-model.trim="dialogForm.sourceDesc" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              type="textarea" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              :autosize="{ minRows: 2, maxRows: 4 }" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </el-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       </el-row> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <el-row :gutter="10"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <el-col v-for="(data, index) in dataLink" :key="index" :xs="24" :sm="20" :md="20" :lg="20" :xl="20"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-col 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          v-for="(data, index) in dataLink" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          :key="index" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          :xs="24" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          :sm="24" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          :md="24" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          :lg="24" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          :xl="24" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <el-form-item :label="data.labelValue"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <el-input v-model.trim="data.value" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           </el-form-item> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -36,37 +75,44 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     <div slot="footer" class="dialog-footer"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <el-button @click="closeDialog">取消</el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <el-button type="warning" @click="test">测试</el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      <el-button type="primary" @click="UserConfirm('userForm')">确定</el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-button type="primary" @click="UserConfirm('userForm')" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        >确定</el-button 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   </el-dialog> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 <script> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import { testConnection, reportDataSourceDetail, reportDataSourceAdd, reportDataSourceUpdate } from '@/api/reportDataSource' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import { getDictList } from '@/api/dict-data' // 获取数据字典 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import Dictionary from '@/components/Dictionary/index' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import {validateEngOrNum} from "@/utils/validate"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  testConnection, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  reportDataSourceDetail, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  reportDataSourceAdd, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  reportDataSourceUpdate 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} from "@/api/reportDataSource"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { getDictList } from "@/api/dict-data"; // 获取数据字典 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import Dictionary from "@/components/Dictionary/index"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { validateEngOrNum } from "@/utils/validate"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  name: 'Support', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  name: "Support", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   components: { Dictionary }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   props: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     visib: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       required: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       type: Boolean, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      default: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      default: false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     dataSource: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       required: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       type: Object, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       default: () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   data() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       dictionaryOptions: [], // 数据源类型 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       selectedList: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      clickType: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      clickType: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       formData: {}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       list: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       totalCount: 0, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -76,140 +122,139 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       dialogFormVisible: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       basicDialog: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       params: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        sourceName: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        sourceCode: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        sourceType: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        sourceName: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        sourceCode: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        sourceType: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         pageNumber: 1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         pageSize: 10, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        order: 'DESC', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        sort: 'update_time', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        order: "DESC", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        sort: "update_time" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       dialogForm: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        sourceName: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        sourceCode: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        sourceType: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        sourceDesc: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        sourceConfig: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        sourceName: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        sourceCode: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        sourceType: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        sourceDesc: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        sourceConfig: "" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       dataLink: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       rules: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         sourceType: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          { required: true, message: '数据集名称必选', trigger: 'change' }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          { required: true, message: "数据集名称必选", trigger: "change" } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         sourceCode: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          { required: true, message: '数据集编码必填', trigger: 'blur' }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          { validator: validateEngOrNum, trigger: 'blur' }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          { required: true, message: "数据集编码必填", trigger: "blur" }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          { validator: validateEngOrNum, trigger: "blur" } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         sourceName: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          { required: true, message: '数据源名称必选', trigger: 'blur' }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          { required: true, message: "数据源名称必选", trigger: "blur" } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      value: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      value: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       updataDisabled: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      testReplyCode: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      testReplyCode: null 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   // 在生命周期 beforeCreate里面改变this指向 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  beforeCreate: function () {}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  beforeCreate: function() {}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   mounted() {}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   methods: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     async setDataSource() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       this.dialogForm = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        sourceName: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        sourceCode: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        sourceType: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        sourceDesc: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        sourceConfig: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        sourceName: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        sourceCode: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        sourceType: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        sourceDesc: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        sourceConfig: "" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       //根据dataSourceId判断新增还是编辑 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if (this.dataSource.id) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        const {code, data} = await reportDataSourceDetail(this.dataSource) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (code != '200') return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.dialogForm = data 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        const newSourceType = this.dialogForm 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let newDataLink = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.dictionaryOptions.map((item) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const { code, data } = await reportDataSourceDetail(this.dataSource); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (code != "200") return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.dialogForm = data; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const newSourceType = this.dialogForm; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let newDataLink = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.dictionaryOptions.map(item => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           if (item.id == newSourceType.sourceType) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            newDataLink = JSON.parse(item.extend) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            var sourceConfigJson = JSON.parse(newSourceType.sourceConfig) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            newDataLink = JSON.parse(item.extend); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            var sourceConfigJson = JSON.parse(newSourceType.sourceConfig); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             for (var i = 0; i < newDataLink.length; i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              newDataLink[i].value = sourceConfigJson[newDataLink[i].label] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              newDataLink[i].value = sourceConfigJson[newDataLink[i].label]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.dataLink = newDataLink 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.dataLink = newDataLink; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // 获取数据字典 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     async getSystem() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      const { code, data } = await getDictList('SOURCE_TYPE') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      if (code != '200') return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      this.dictionaryOptions = data 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      this.dialogForm.sourceType = this.dictionaryOptions[0].text 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      this.dataLink = JSON.parse(this.dictionaryOptions[0].extend) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      this.setDataSource() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const { code, data } = await getDictList("SOURCE_TYPE"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (code != "200") return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.dictionaryOptions = data; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.dialogForm.sourceType = this.dictionaryOptions[0].text; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.dataLink = JSON.parse(this.dictionaryOptions[0].extend); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.setDataSource(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // 关闭模态框 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     closeDialog() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      this.$emit('handleClose') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.$emit("handleClose"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // 提交 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     async UserConfirm(formName) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      const newList = {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      this.dataLink.forEach((item) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        newList[item.label] = item.value 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      this.dialogForm.sourceConfig = JSON.stringify(newList) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const newList = {}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.dataLink.forEach(item => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        newList[item.label] = item.value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.dialogForm.sourceConfig = JSON.stringify(newList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       this.$refs[formName].validate(async (valid, obj) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (valid) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          if (this.testReplyCode != '200') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            this.$message.error('测试结果为成功后方可保存!') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if (this.testReplyCode != "200") { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.$message.error("测试结果为成功后方可保存!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           if (this.dialogForm.id == undefined) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            const { code } = await reportDataSourceAdd(this.dialogForm) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (code != '200') return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            const { code } = await reportDataSourceAdd(this.dialogForm); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (code != "200") return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             // this.queryByPage() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            this.$emit('refreshList') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.$emit("refreshList"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            const { code } = await reportDataSourceUpdate(this.dialogForm) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (code != '200') return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            const { code } = await reportDataSourceUpdate(this.dialogForm); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (code != "200") return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             // this.queryByPage() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            this.$emit('refreshList') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.$emit("refreshList"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          this.closeDialog() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.closeDialog(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     selectChange(val) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      this.dataLink = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      const extendJSON = this.dictionaryOptions.find(function (obj) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return obj.id == val 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      this.dataLink = JSON.parse(extendJSON.extend) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.dataLink = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const extendJSON = this.dictionaryOptions.find(function(obj) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return obj.id == val; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.dataLink = JSON.parse(extendJSON.extend); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // 测试 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     test() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      const newList = {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      this.dataLink.forEach((item) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        newList[item.label] = item.value 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      this.dialogForm.sourceConfig = JSON.stringify(newList) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      testConnection(this.dialogForm).then((data) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (data.code == '200') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          this.testReplyCode = data.code 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const newList = {}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.dataLink.forEach(item => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        newList[item.label] = item.value; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.dialogForm.sourceConfig = JSON.stringify(newList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      testConnection(this.dialogForm).then(data => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (data.code == "200") { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.testReplyCode = data.code; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           this.$message({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            message: '测试成功!', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            type: 'success', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            message: "测试成功!", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            type: "success" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          this.testReplyCode = null 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.testReplyCode = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 </script> 
			 |