wjx пре 1 година
родитељ
комит
3bc8ea8c2d
2 измењених фајлова са 32 додато и 4 уклоњено
  1. 17 1
      src/views/accounts/corpWechat/index.vue
  2. 15 3
      src/views/accounts/corpWechat/setSecret.vue

+ 17 - 1
src/views/accounts/corpWechat/index.vue

@@ -9,6 +9,11 @@
                 <el-input v-model="queryParams.originCorpId" placeholder="企微ID" clearable size="small" style="width: 140px"
                     @keyup.enter.native="getList" />
             </el-form-item>
+            <el-form-item label="" prop="applicationType">
+                <el-select v-model="queryParams.applicationType" placeholder="请选择应用类型" size="small" filterable clearable style="width: 140px;">
+                    <el-option v-for="item in applicationTypeList" :key="item.value" :label="item.label" :value="item.value" />
+                </el-select>
+            </el-form-item>
             <el-form-item label="" prop="authStatus">
                 <el-select v-model="queryParams.authStatus" placeholder="授权状态" clearable filterable style="width: 140px"
                     size="small" @keyup.enter.native="handleQuery">
@@ -48,6 +53,9 @@
                 </template>
             </el-table-column>
             <el-table-column label="企微ID" prop="originCorpId" align="center" width="150" />
+            <el-table-column label="应用类型" prop="applicationType" align="center" width="150">
+                <template slot-scope="scope">{{ scope.row.applicationType | filterApplicationType }}</template>
+            </el-table-column>
             <el-table-column label="用户规模" prop="corpUserMax" align="center" width="100" />
             <el-table-column label="授权方企业类型" prop="corpType" align="center" width="150">
                 <template slot-scope="scope">{{ scope.row.corpType | filterCorpType }}</template>
@@ -120,7 +128,7 @@
         <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
             @pagination="getList" />
 
-        <setSecret :value="secretData" :visible="setShow" @close="setShow = false; secretData = { bookAgentIdMap: [] }"
+        <setSecret :value="secretData" :applicationTypeList="applicationTypeList" :visible="setShow" @close="setShow = false; secretData = { bookAgentIdMap: [] }"
             @change="closeSetSecret(); getList()" />
         <mailList :corpId="corpId" :visible="mailShow" @close="mailShow = false; corpId = null" />
     </div>
@@ -152,6 +160,7 @@ export default {
             },
             mailShow: false,
             corpId: null,
+            applicationTypeList: [{label: '内部应用', value: 'INTERNAL'}, {label: '自建应用', value: 'SELF_BUILT'}, {label: '服务商代开发应用', value: 'PROVIDER'}]
         }
     },
     mounted() {
@@ -171,6 +180,12 @@ export default {
                 return { verified: '认证号', unverified: '注册号' }[val]
             }
             return '-1'
+        },
+        filterApplicationType(val) {
+            if (val) {
+                return {INTERNAL: '内部应用', SELF_BUILT: '自建应用', PROVIDER: '服务商代开发应用'}[val] || '-1';
+            }
+            return '-1'
         }
     },
     methods: {
@@ -254,6 +269,7 @@ export default {
                 originCorpId: row.originCorpId,
                 externalUserSecret: row.externalUserSecret,
                 bookAgentIdMap: [],
+                applicationType: row.applicationType,
                 remark: row.remark,
                 sysUserGroupIds: row.sysUserGroupIds
             }

+ 15 - 3
src/views/accounts/corpWechat/setSecret.vue

@@ -4,14 +4,19 @@
             <el-form-item label="企微ID" prop="originCorpId">
                 <el-input v-model.number="queryForm.originCorpId" placeholder="请输入企微ID" clearable size="small" />
             </el-form-item>
-            <el-form-item label="客户密钥" prop="externalUserSecret">
+            <el-form-item label="应用类型" prop="applicationType">
+                <el-select v-model="queryForm.applicationType" placeholder="请选择应用类型" size="small" filterable clearable style="width: 100%;">
+                    <el-option v-for="item in applicationTypeList" :key="item.value" :label="item.label" :value="item.value" />
+                </el-select>
+            </el-form-item>
+            <el-form-item label="客户密钥" v-if="queryForm.applicationType !== 'PROVIDER'" prop="externalUserSecret">
                 <el-input v-model="queryForm.externalUserSecret" placeholder="请输入客户密钥" clearable size="small" />
             </el-form-item>
             <!-- <el-form-item label="书城应用ID" prop="bookAgentId">
                 <el-input v-model.number="queryForm.bookAgentId" placeholder="请输入书城应用ID" clearable size="small" />
             </el-form-item> -->
             <el-form-item label="用户分组" prop="sysUserGroupIds">
-                <el-select v-model="queryForm.sysUserGroupIds" placeholder="请选择" size="small" multiple filterable clearable>
+                <el-select v-model="queryForm.sysUserGroupIds" placeholder="请选择" size="small" multiple filterable clearable style="width: 100%;">
                     <el-option v-for="item in groupsOptions" :key="item.id" :label="item.groupName" :value="item.id" />
                 </el-select>
             </el-form-item>
@@ -67,6 +72,9 @@ export default {
                 originCorpId: [
                     { required: true, message: '请输入企微ID', trigger: 'blur' }
                 ],
+                applicationType: [
+                    { required: true, message: '请选择应用类型', trigger: 'blur' }
+                ],
                 externalUserSecret: [
                     { required: true, message: '请输入客户密钥', trigger: 'blur' }
                 ],
@@ -97,6 +105,10 @@ export default {
         visible: {
             type: Boolean,
             default: false
+        },
+        applicationTypeList: {
+            type: Array,
+            default: []
         }
     },
     watch: {
@@ -116,7 +128,7 @@ export default {
         },
         queryPlatformBookCity: {
             handler(val) {
-                if (val.length > 0) {
+                if (val && val.length > 0) {
                     let data = this.bookCityCS.map(item => {
                         if (val.some(i => i.bookCityId === item.platformKey)) {
                             return { ...item, disabled: true }