linan 5 лет назад
Родитель
Сommit
302f06ce5d
2 измененных файлов с 48 добавлено и 14 удалено
  1. 47 14
      src/views/messageManagement/MessageBind.vue
  2. 1 0
      src/views/template/Af.vue

+ 47 - 14
src/views/messageManagement/MessageBind.vue

@@ -93,9 +93,9 @@
                         </el-form-item>
 
                         <el-form-item label="模板">
-                            <el-select v-model="dyForm.templateCode" placeholder="请选择发送方式">
+                            <el-select v-model="dyForm.templateCode" placeholder="请选择发送方式" @change="templateInputChange">
                                 <el-option
-                                    v-for="item in messageTemplateList"
+                                    v-for="item in TemplateList"
                                     :label="item.description+'(' + comparisonTable[item.methodCode]+')'"
                                     :value="item.code"
                                     :key="item.code"
@@ -104,9 +104,9 @@
                         </el-form-item>
 
                         <el-form-item label="服务商">
-                            <el-select v-model="dyForm.providerId" placeholder="请选择发送方式">
+                            <el-select v-model="dyForm.providerId" placeholder="请选择发送方式" @change="providerIdChange">
                                 <el-option
-                                    v-for="item in messageServicMerList"
+                                    v-for="item in ServicMerList"
                                     :label="item.name+'(' + comparisonTable[item.methodCode]+')'"
                                     :value="item.id"
                                     :key="item.id"
@@ -148,7 +148,9 @@ export default {
             sendMethodList: [],
             messagePointList: [],
             messageTemplateList: [],
+            TemplateList:[],
             messageServicMerList: [],
+            ServicMerList: [],
             // 发送方式的 code 与 name对照表
             comparisonTable: {},
             rules,
@@ -167,9 +169,7 @@ export default {
         // 获取服务商 列表
         this.getMessageServicMer();
     },
-    computed: {
-        
-    },
+
     methods: {
         ...mapActions(["fetch"]),
         // 获取消息绑定 列表
@@ -180,7 +180,6 @@ export default {
                 data: {},
                 success: res => {
                     this.tableData = res;
-                    
                 },
                 fail: err => {
                     console.log(err);
@@ -200,9 +199,9 @@ export default {
                     this.sendMethodList = res;
                     this.dyForm.methodCode = res[0].code;
 
-                    let comparisonTable = {}
+                    let comparisonTable = {};
                     res.forEach(item => {
-                        comparisonTable[item.code] = item.description
+                        comparisonTable[item.code] = item.description;
                     });
                     this.comparisonTable = comparisonTable;
                 },
@@ -239,7 +238,9 @@ export default {
                 data: {},
                 success: res => {
                     this.messageTemplateList = res;
+                    this.TemplateList = res;
                     this.dyForm.templateCode = res[0].code;
+                    this.getMessageTemplateFinish = true
                 },
                 fail: err => {
                     console.log(err);
@@ -257,7 +258,9 @@ export default {
                 success: res => {
                     console.log(res);
                     this.messageServicMerList = res;
+                    this.ServicMerList = res;
                     this.dyForm.providerId = res[0].name;
+                    this.getMessageServicMerFinish = true
                 },
                 fail: err => {
                     console.log(err);
@@ -330,12 +333,42 @@ export default {
                 }
             });
         },
-        // 
-        findSendMethodName(methodCode) {
-           
+        templateInputChange(value) {
+            console.log('templateInputChange')
+            console.log(value)
+            console.log(this.dyForm.templateCode)
+            let filterCondition = this.findSendMethodName(this.messageTemplateList, value, "code", "methodCode")
+            console.log(filterCondition)
+            let arr = this.messageTemplateList.filter(item => {
+                return item.methodCode == filterCondition
+            })
+            console.log(arr)
+            this.ServicMerList = arr
+        },
+
+        providerIdChange(value) {
+            console.log('providerIdChange')
+            console.log(value)
+            console.log(this.dyForm.providerId)
+            let filterCondition = this.findSendMethodName(this.messageServicMerList, this.dyForm.providerId, "id", "methodCode")
+            console.log(filterCondition)
+            let arr = this.messageServicMerList.filter(item => {
+                return item.methodCode == filterCondition
+            })
+            this.TemplateList = arr
+        },
+        // 根据code查找name
+        findSendMethodName(arr, code, iName, oName) {
+            let a = arr.find(item => {
+                return item[iName] == code;
+            });
+            if(a) {
+                return a[oName];
+            } else {
+                return undefined
+            }
         }
     }
 };
-
 </script>
 

+ 1 - 0
src/views/template/Af.vue

@@ -15,6 +15,7 @@ export default {
     created() {},
     methods: {
         ...mapActions(["fetch"]),
+        
         get() {
             this.fetch({
                 api: "aaa",