فهرست منبع

Merge branch 'ysy_admin' of http://1.14.104.71:10880/root/ylrz_his_scrm_adminUI into ysy_admin

wjj 17 ساعت پیش
والد
کامیت
23b3fed97d
2فایلهای تغییر یافته به همراه164 افزوده شده و 6 حذف شده
  1. 1 1
      src/views/hisStore/components/OrderDoctorAdvice.vue
  2. 163 5
      src/views/system/config/config.vue

+ 1 - 1
src/views/hisStore/components/OrderDoctorAdvice.vue

@@ -355,7 +355,7 @@ export default {
 }
 .info-label {
   display: inline-block;
-  width: 100px;
+  width: 115px;
   color: #606266;
   font-weight: 500;
 }

+ 163 - 5
src/views/system/config/config.vue

@@ -2529,6 +2529,21 @@
                <el-input  v-model="form18.realLinkGjDomainName"     ></el-input>
              </el-tooltip>
            </el-form-item>
+          <el-form-item label="飞书看课域名">
+            <el-tooltip class="item" effect="dark" content="飞书看课域名" placement="top-end">
+              <el-input v-model="form18.feishuLinkDomainName"></el-input>
+            </el-tooltip>
+          </el-form-item>
+          <el-form-item label="新飞书看课域名">
+            <el-tooltip class="item" effect="dark" content="新跳转方式使用的飞书看课域名" placement="top-end">
+              <el-input v-model="form18.feishuNewLinkDomainName"></el-input>
+            </el-tooltip>
+          </el-form-item>
+          <el-form-item label="启用飞书新跳转">
+            <el-tooltip class="item" effect="dark" content="开启后获取飞书看课链接将使用新跳转方式" placement="top-end">
+              <el-switch v-model="form18.enableFeishuNewLink" :active-value="true" :inactive-value="false"></el-switch>
+            </el-tooltip>
+          </el-form-item>
           <el-form-item label="网页授权域名">
             <el-tooltip
               class="item"
@@ -4417,7 +4432,7 @@
       </el-tab-pane>
 
       <el-tab-pane
-        label="分享二维码获取手机号红包配置"
+        label="客户信息表动态配置"
         name="qrcRedPackage.config"
       >
         <el-form
@@ -4441,10 +4456,16 @@
               <el-option label="关" value="0"></el-option>
             </el-select>
           </el-form-item>
-          <el-form-item label="分享类型" prop="type">
-            <el-select v-model="form34.type" placeholder="请选择">
-              <el-option label="图片" value="1"></el-option>
-              <el-option label="视频" value="2"></el-option>
+<!--          <el-form-item label="分享类型" prop="type">-->
+<!--            <el-select v-model="form34.type" placeholder="请选择">-->
+<!--              <el-option label="图片" value="1"></el-option>-->
+<!--              <el-option label="视频" value="2"></el-option>-->
+<!--            </el-select>-->
+<!--          </el-form-item>-->
+          <el-form-item label="'已成交'客户认领限制" prop="enable">
+            <el-select v-model="form34.enable" placeholder="请选择">
+              <el-option label="开启" value="1"></el-option>
+              <el-option label="关闭" value="0"></el-option>
             </el-select>
           </el-form-item>
           <div class="footer">
@@ -4452,6 +4473,55 @@
           </div>
         </el-form>
       </el-tab-pane>
+      <el-tab-pane label="聚好麦店铺配置" name="jhmStore.config">
+        <el-form ref="form35" :model="form35" label-width="160px" v-if="form35 && form35.stores">
+          <div>
+            <el-button type="primary" icon="el-icon-plus" @click="addJhmStore" style="margin-bottom: 10px;">添加店铺</el-button>
+          </div>
+          <div v-for="(store, index) in form35.stores" :key="index" style="border: 1px solid #dcdfe6; padding: 20px; margin-bottom: 20px; border-radius: 4px;">
+            <div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 15px;">
+              <span style="color: #409eff;">店铺 {{ index + 1 }}</span>
+              <el-button type="danger" icon="el-icon-delete" size="mini" @click="removeJhmStore(index)" v-if="form35.stores.length > 1">删除店铺</el-button>
+            </div>
+            <el-form-item label="店铺名称" :prop="`stores.${index}.storeName`" :rules="{ required: true, message: '请输入店铺名称', trigger: 'blur' }">
+              <el-input v-model="store.storeName" placeholder="请输入店铺名称"></el-input>
+            </el-form-item>
+            <el-form-item label="应用名称" :prop="`stores.${index}.appName`" :rules="{ required: true, message: '请输入应用名称', trigger: 'blur' }">
+              <el-input v-model="store.appName" placeholder="请输入应用名称"></el-input>
+            </el-form-item>
+            <el-form-item label="appKey" :prop="`stores.${index}.appKey`" :rules="{ required: true, message: '请输入appKey', trigger: 'blur' }">
+              <el-input v-model="store.appKey" placeholder="请输入appKey"></el-input>
+            </el-form-item>
+            <el-form-item label="appSecret" :prop="`stores.${index}.appSecret`" :rules="{ required: true, message: '请输入appSecret', trigger: 'blur' }">
+              <el-input v-model="store.appSecret" placeholder="请输入appSecret"></el-input>
+            </el-form-item>
+            <el-form-item label="业务接口地址" :prop="`stores.${index}.businessUrl`" :rules="{ required: true, message: '请输入基础接口地址', trigger: 'blur' }">
+              <el-input v-model="store.businessUrl" placeholder="请输入业务接口地址"></el-input>
+            </el-form-item>
+          </div>
+          <div class="footer">
+            <el-button type="primary" @click="submitForm35">提 交</el-button>
+          </div>
+        </el-form>
+      </el-tab-pane>
+
+      <el-tab-pane label="飞书参数配置" name="feishu.config">
+        <el-form ref="form36" :model="form36" :rules="rules36" label-width="160px">
+          <el-form-item label="appId" prop="appId">
+            <el-input v-model="form36.appId" placeholder="请输入 appId"></el-input>
+          </el-form-item>
+          <el-form-item label="appSecret" prop="appSecret">
+            <el-input v-model="form36.appSecret" placeholder="请输入 appSecret" type="password" show-password></el-input>
+          </el-form-item>
+          <el-form-item label="飞书Url" prop="feishuUrl">
+            <el-input v-model="form36.feishuUrl" placeholder="请输入 feishuUrl"></el-input>
+          </el-form-item>
+          <div class="footer">
+            <el-button type="primary" @click="submitForm36">提 交</el-button>
+          </div>
+        </el-form>
+      </el-tab-pane>
+
     </el-tabs>
 
     <el-dialog
@@ -4683,6 +4753,10 @@ export default {
         loading: false,
       },
       form34: {},
+      form35: {
+        stores: []
+      },
+      form36: {},
       storeProductScrmColumns: [],
       storeScrmColumns: [],
       photoArr: [],
@@ -4770,6 +4844,14 @@ export default {
       rules31: {},
       rules32: {},
       rules34: {},
+      rules36: {
+        appId: [
+          { required: true, message: '请输入 appId', trigger: 'blur' }
+        ],
+        appSecret: [
+          { required: true, message: '请输入 appSecret', trigger: 'blur' }
+        ]
+      },
     };
   },
   created() {
@@ -5317,6 +5399,30 @@ export default {
           const value = response.data.configValue;
           this.form34 = value ? JSON.parse(value) : {};
         }
+        if (key == 'jhmStore.config') {
+          const rawValue = response.data.configValue
+          let parsed = { stores: [] }
+          if (rawValue) {
+            try {
+              parsed = JSON.parse(rawValue)
+            } catch (e) {
+              parsed = { stores: [] }
+            }
+          }
+          // 保证 parsed 是对象且 stores 为数组
+          this.form35 = parsed && typeof parsed === 'object' ? parsed : { stores: [] }
+          if (!Array.isArray(this.form35.stores)) {
+            this.form35.stores = []
+          }
+          if (this.form35.stores.length === 0) {
+            this.addJhmStore()
+          }
+        }
+        // 飞书配置处理
+        if (key == 'feishu.config') {
+          // 当 configValue 为空或 null 时,初始化为空对象
+          this.form36 = response.data.configValue ? JSON.parse(response.data.configValue) : {};
+        }
       });
     },
     /** 提交按钮 */
@@ -5968,6 +6074,58 @@ export default {
         }
       });
     },
+    addJhmStore() {
+      if (!this.form35 || !this.form35.stores) {
+        this.$set(this, 'form35', { stores: [] })
+      }
+      this.form35.stores.push({
+        storeName: '',
+        appName: '',
+        appKey: '',
+        appSecret: '',
+        businessUrl: '',
+      })
+    },
+    removeJhmStore(index) {
+      this.form35.stores.splice(index, 1)
+    },
+    submitForm35() {
+      if (!this.form35 || !this.form35.stores) {
+        this.$message.error('配置数据异常,请刷新后重试')
+        return
+      }
+      this.$refs['form35'].validate(valid => {
+        if (valid) {
+          var param = { configId: this.configId, configValue: JSON.stringify(this.form35) }
+          updateConfigByKey(param).then(response => {
+            if (response.code === 200) {
+              this.msgSuccess('修改成功')
+            }
+          })
+        }
+      })
+    },
+    submitForm36() {
+      this.$refs['form36'].validate(valid => {
+        if (valid) {
+          const param = {
+            configId: this.configId,
+            configKey: this.configKey,
+            feishuUrl: this.feishuUrl,
+            configValue: JSON.stringify(this.form36)
+          };
+          updateConfigByKey(param).then(response => {
+            if (response.code === 200) {
+              this.msgSuccess('飞书配置修改成功');
+            } else {
+              this.msgError('保存失败');
+            }
+          }).catch(() => {
+            this.msgError('请求异常');
+          });
+        }
+      });
+    }
   },
 };
 </script>