Browse Source

按需进行修改

Signed-off-by: 熊铠 <xiongkai@dragoninfo.com.cn>
熊铠 4 năm trước cách đây
mục cha
commit
bf695fce56

+ 8 - 0
src/api/service-delegate.js

@@ -18,4 +18,12 @@ export function patch(id) {
 
 export function del(id) {
     return axios.delete(`${base}/service/auth/${id}`)
+}
+
+export function dropMenu(data) {
+    return axios.post(`${base}/resource/search/drop`, data)
+}
+
+export function getAppName() {
+    return axios.get(`${base}/rolerpt/getAppName`)
 }

+ 70 - 10
src/pages/service-delegate/editor.vue

@@ -15,8 +15,12 @@
             <dg-select
                 clearable
                 filterable
-                placeholder="请选择应用名称"
-                v-model.trim="sizeForm.appName"
+                :data="appData"
+                @change="changeAppName"
+                label-name="value"
+                placeholder="请选择应用名称或输入关键字查询"
+                v-model="sizeForm.appName"
+                value-name="code"
             />
           </el-form-item>
           <el-form-item label="应用代码" prop="appCode">
@@ -26,14 +30,24 @@
                 maxlength="50"
                 placeholder=""
                 v-model.trim="sizeForm.appCode"
+                :data="appData"
+                label-name="appCode"
+                value-name="appCode"
             />
           </el-form-item>
           <el-form-item label="服务名称" prop="serviceName">
             <dg-select
                 clearable
                 filterable
-                placeholder="请选择服务名称"
+                :data="serviceData"
+                :loading="loading"
+                :remote-method="remoteSvcNameMethod"
+                @change="changeSvcName"
                 v-model.trim="sizeForm.serviceName"
+                label-name="serviceName"
+                placeholder="请输入服务名称关键字"
+                remote
+                value-name="serviceCode"
             />
           </el-form-item>
           <el-form-item label="服务代码" prop="serviceCode">
@@ -42,7 +56,10 @@
                 disabled
                 maxlength="50"
                 placeholder=""
+                :data="serviceData"
+                label-name="serviceCode"
                 v-model.trim="sizeForm.serviceCode"
+                value-name="serviceCode"
             />
           </el-form-item>
         </dg-col>
@@ -56,7 +73,7 @@
 </template>
 
 <script>
-import {save} from "@/api/service-delegate";
+import {dropMenu, getAppName, save} from "@/api/service-delegate";
 
 export default {
   name: "delegate-dialog",
@@ -70,15 +87,19 @@ export default {
   data() {
     const that = this
     return {
+      list: [],
+      loading: false,
       sizeForm: {
-        appCode: "", // *应用代码
-        appName: "", // *应用名称
-        serviceCode: "", // *服务代码
-        serviceName: "", // *服务名称
+        appName: "",
+        appCode: "",
+        serviceName: "",
+        serviceCode: "",
       },
+      appData: [],
+      serviceData: [],
       rules: {
-        appName: [{required: true, message: "请输入应用名称", trigger: "blur"}],
-        serviceName: [{required: true, message: "请输入服务名称", trigger: "blur"}],
+        appName: [{required: true, message: "请选择应用名称", trigger: "blur"}],
+        serviceName: [{required: true, message: "请选择服务名称", trigger: "blur"}],
       }
     }
   },
@@ -87,6 +108,10 @@ export default {
     if (that.type === "update") {
       that.sizeForm = that.formData;
     }
+    that.getAppName()
+  },
+  mounted() {
+
   },
   methods: {
     handleClose(bool) {
@@ -106,6 +131,41 @@ export default {
         })
             .catch(error => that.$message.error({message: error}));
       });
+    },
+    remoteSvcNameMethod(query) {
+      if (query !== '') {
+        this.loading = true;
+        const queryParams = {
+          serviceName: query
+        }
+        setTimeout(() => {
+          this.loading = false;
+          dropMenu(queryParams).then(res => {
+            this.serviceData = res
+          });
+        }, 200)
+      } else {
+        this.serviceData = [];
+      }
+    },
+    getAppName() {
+      const that = this;
+      getAppName()
+          .then(res => {
+            that.appData = res;
+            console.log(res, that.appData)
+          })
+          .catch(error => {
+            that.$message.error({message: error});
+          });
+    },
+    changeAppName(val) {
+      this.sizeForm.appCode = val
+      console.log(val, this.sizeForm)
+    },
+    changeSvcName(val) {
+      this.sizeForm.serviceCode = val
+      console.log(val, this.sizeForm)
     }
   }
 }

+ 3 - 1
src/pages/service-delegate/index.vue

@@ -106,6 +106,9 @@ export default {
       serviceNameList: []
     };
   },
+  created() {
+    console.log(this.$store.getters)
+  },
   // 计算属性
   computed: {},
   // 方法
@@ -185,7 +188,6 @@ export default {
     },
     // 详情
     handleDetail({id}) {
-      console.log(id)
       const that = this;
       api.detail(id)
           .then(res => {