Эх сурвалжийг харах

Merge branch 'master' of http://120.26.64.82:10880/BFFE/dz2.1

chenjun 1 жил өмнө
parent
commit
e28e9880b3

+ 59 - 19
src/views/dataAccessPage/components/accessPageForm.vue

@@ -9,29 +9,26 @@
         </el-col>
         <el-col :span="24">
           <el-form-item prop="algorithmtype" label="类型">
-            <el-select v-model="tableForm.algorithmtype" @change="changeSelect('algorithmtype')" placeholder="请选择">
-              <el-option label="区域一" value="shanghai"></el-option>
-              <el-option label="区域二" value="beijing"></el-option>
+            <el-select v-model="tableForm.algorithmtype" @change="changeSelect('algorithmtype',tableForm.algorithmtype)" placeholder="请选择">
+              <el-option v-for="(item,index) in selectType" :key="index" :label="item.name" :value="item.id"></el-option>
             </el-select>
           </el-form-item>
         </el-col>
-        <el-col v-if="tableForm.algorithmtype == 'JAVA' || tableForm.algorithmtype == 'DB' || tableForm.algorithmtype == 'Kafka' || tableForm.algorithmtype == 'ES'" :span="24">
+        <el-col v-if="tableForm.algorithmtype == 1 || tableForm.algorithmtype == 2 || tableForm.algorithmtype == 3 || tableForm.algorithmtype == 6" :span="24">
           <el-form-item prop="executionnumber" label="算法">
-            <el-select v-model="tableForm.executionnumber" placeholder="请选择">
-              <el-option label="区域一" value="shanghai"></el-option>
-              <el-option label="区域二" value="beijing"></el-option>
+            <el-select v-model="tableForm.executionnumber" @change="changeSelect('executionnumber',tableForm.executionnumber)" placeholder="请选择">
+              <el-option v-for="(item,index) in selectAlgorithm" :key="index" :label="item.name" :value="item.id"></el-option>
             </el-select>
           </el-form-item>
         </el-col>
-        <el-col v-if=" tableForm.executionnumber == 'DB' || tableForm.algorithmtype == 'Kafka' || tableForm.algorithmtype == 'ES'" :span="24">
+        <el-col v-if=" tableForm.executionnumber == 2 || tableForm.algorithmtype == 3 || tableForm.algorithmtype == 6" :span="24">
           <el-form-item prop="datasourceid" label="数据源">
-            <el-select v-model="tableForm.datasourceid" placeholder="请选择">
-              <el-option label="区域一" value="shanghai"></el-option>
-              <el-option label="区域二" value="beijing"></el-option>
+            <el-select v-model="tableForm.datasourceid" @change="changeSelect('datasourceid',tableForm.datasourceid)" placeholder="请选择">
+              <el-option v-for="(item,index) in selectSource" :key="index" :label="item.name" :value="item.id"></el-option>
             </el-select>
           </el-form-item>
         </el-col>
-        <el-col v-if="tableForm.algorithmtype == 'JS'" :span="24">
+        <el-col :span="24">
           <el-form-item prop="computingexpression" label="表达式">
             <el-input size="small" type="textarea" v-model="tableForm.computingexpression"></el-input>
           </el-form-item>
@@ -49,7 +46,11 @@ export default {
     labelWidth: {
       type: String,
       default: '80px'
-    }
+    },
+    formData: {
+      type: Object,
+      default: () => new Object()
+    },
   },
   data () {
     return {
@@ -67,10 +68,17 @@ export default {
       selectSource: []
     }
   },
+  watch: {
+    formData: {
+      handler (obj) {
+        this.tableForm = obj
+      },
+      deep: true,
+      immediate: true
+    }
+  },
   mounted () {
-    this.getSelectData('algorithmtype', 20, {
-      type: '0'
-    })
+    this.getSelectData('algorithmtype', 20, { type: '0' })
   },
   methods: {
     //获取表单下拉数据
@@ -85,21 +93,53 @@ export default {
       this.loading = true
       if (allResult.length && allResultKey.length) {
         const results = await Promise.allSettled(allResult)
-        results.map((item) => {
+        results.map((item, index) => {
           const { status, value } = item
           if (status == 'fulfilled') {
             const { code, returnData } = value
-            console.log(code, returnData)
+            if (code == 0) {
+              this.setFormSelectData(allResultKey[index], returnData)
+            }
           }
         })
       }
       this.loading = false
     },
+    setFormSelectData (name, returnData) {
+      switch (name) {
+        case 'algorithmtype':
+          this.selectType = [...returnData]
+          break;
+        case 'executionnumber':
+          this.selectAlgorithm = [...returnData]
+          break;
+        case 'datasourceid':
+          console.log(returnData)
+          break
+        default:
+          break;
+      }
+    },
     formatData (returnData) {
       return typeof returnData == 'string' ? JSON.parse(returnData) : returnData
     },
     //获取表单下拉数据
-    changeSelect (code) { },
+    changeSelect (name, code) {
+      switch (name) {
+        case 'algorithmtype':
+          if (code == 1 || code == 2 || code == 3 || code == 6) {
+            this.getSelectData('executionnumber', 20, { superiorid: code })
+          }
+          break;
+        case 'executionnumber':
+          if (code == 2 || code == 3 || code == 6) {
+            this.getSelectData('datasourceid', 20, { superiorid: code })
+          }
+          break;
+        default:
+          break;
+      }
+    },
     restForm () {
       this.$refs['ruleForm'].resetFields()
     },

+ 40 - 1
src/views/dataAccessPage/components/accessPageTable.vue

@@ -8,7 +8,7 @@
     </div>
     <div class="accessPageTable_dialog">
       <PublicPageDialog :dialog-title="tableTitle" dialogSize="630px" :dialog-drawer="flag" @handleClose="submitClickClose('ruleForm')" @handleSubmit="submitClickHandler">
-        <PublicPageForm ref="ruleForm" :label-width="labelWidth" />
+        <PublicPageForm ref="ruleForm" :label-width="labelWidth" :form-data="tableForm" />
       </PublicPageDialog>
     </div>
   </div>
@@ -27,6 +27,12 @@ import { formatChange } from '@/utils/validate'
 export default {
   name: 'AccessPageTable',
   components: { PublicPageHeader, PublicPageDialog, PublicPageForm, PublicPageTable, AuthButton },
+  props: {
+    msgContent: {
+      type: Object,
+      default: () => new Object()
+    }
+  },
   data () {
     return {
       pageQuery: {},
@@ -71,6 +77,21 @@ export default {
       return this.tableBtns.filter(item => item.servicetype == 5)[0]
     },
   },
+  watch: {
+    msgContent: {
+      handler (row) {
+        if (row && Object.keys(row).length) {
+          const { passparameters } = row
+          const filterItem = this.formatDefault(passparameters, row)
+          if (!Object.keys(filterItem).length) return
+          this.defaultfilter = filterItem
+          this.queryTableData(true)
+        }
+      },
+      deep: true,
+      immediate: true
+    },
+  },
   mounted () {
     this.pageInit()
   },
@@ -146,6 +167,24 @@ export default {
     findBtntoForm (pageroute) {
       return this.tableBtnForms.filter(item => item.pagecode == pageroute)
     },
+    autoBtnClick (id, url, passparameters, row = {}) {
+      switch (Number(id)) {
+        case 1:
+          if (passparameters && Object.keys(row).length) {
+            const filterItem = this.formatDefault(passparameters, row)
+            this.$router.push({
+              path: url,
+              query: filterItem
+            })
+          }
+          break;
+        case 2:
+          this.$router.push(url)
+          break;
+        default:
+          break;
+      }
+    },
     //表单-新增
     handleAdd () {
       const { openmode, pageroute } = this.pageAuthBtnAdd

+ 1 - 1
src/views/dataAccessPage/index.vue

@@ -6,7 +6,7 @@
         <AccessPageTree @treeNodeClick="treeNodeClick" />
       </div>
       <div class="dataAccessPage_content_right">
-        <AccessPageTable />
+        <AccessPageTable :msg-content="msgContent" />
       </div>
     </div>
   </div>