Просмотр исходного кода

修改平台易宝展示和登录界面

silent 4 лет назад
Родитель
Сommit
a85b92d6ea
3 измененных файлов с 218 добавлено и 203 удалено
  1. 1 1
      src/page/login/index.vue
  2. 25 4
      src/page/login/userlogin.vue
  3. 192 198
      src/views/ldt_platform/platformsetting.vue

+ 1 - 1
src/page/login/index.vue

@@ -92,7 +92,7 @@
             this.type = "shop"
             break;
           case "http://ldt-mall.guosen-fumao.cn":
-            this.type = "agent"
+            this.type = "mall"
             break;
           case "http://ldt-agent.guosen-fumao.cn":
             this.type = "agent"

+ 25 - 4
src/page/login/userlogin.vue

@@ -5,7 +5,7 @@
            ref="loginForm"
            :model="loginForm"
            label-width="0">
-    <el-form-item v-if="tenantMode" prop="tenantId">
+    <el-form-item v-if="tenantMode && type!=='ldt'" prop="tenantId">
       <el-input size="small"
                 @keyup.enter.native="handleLogin"
                 v-model="loginForm.tenantId"
@@ -80,17 +80,18 @@
     data() {
       return {
         tenantMode: this.website.tenantMode,
+        type:"",
         loginForm: {
           //租户ID
-          tenantId: "000000",
+          tenantId: "",
           //部门ID
           deptId: "",
           //角色ID
           roleId: "",
           //用户名
-          username: "admin",
+          username: "",
           //密码
-          password: "admin",
+          password: "",
           //账号类型
           type: "account",
           //验证码的值
@@ -167,6 +168,26 @@
       this.refreshCode();
     },
     mounted() {
+      let domain = getTopUrl();
+      switch (domain) {
+        case "http://ldt.guosen-fumao.cn":
+          this.type = "ldt"
+          this.loginForm.tenantId = "000000";
+          this.loginForm.username = "admin";
+          break;
+        case "http://ldt-shop.guosen-fumao.cn":
+          this.type = "shop"
+          break;
+        case "http://ldt-mall.guosen-fumao.cn":
+          this.type = "mall"
+          break;
+        case "http://ldt-agent.guosen-fumao.cn":
+          this.type = "agent"
+          break;
+        default:
+          this.type = "ldt"
+          break;
+      }
     },
     watch: {
       'loginForm.deptId'() {

+ 192 - 198
src/views/ldt_platform/platformsetting.vue

@@ -4,24 +4,24 @@
       <el-tab-pane :label="item.label" v-for="(item,key) in option" :key="key">
         <!--易宝选项卡下拉框-->
         <div v-if="item.key==='YEEPAY_PRODUCT_INFO'">
-          <el-select v-model="item.value" placeholder="请选择产品类型" size="small" style="width:100%" @change="selectChange(item)">
-            <el-option
-              v-for="opt in item.opt"
-              :key="opt.productCode"
-              :label="opt.productName"
-              :value="opt.productCode">
-              <span style="float: left">{{ opt.productName }}</span>
-              <span style="float: right; color: #8492a6; font-size: 13px">{{ opt.productCode }}</span>
-            </el-option>
-          </el-select>
+          <div style="text-align: right">
+            <el-button size="small" icon="el-icon-check" type="primary" @click="submit(item.data,()=>{
+                item.loading = false;
+              },item.loading=true,item)" :loading="item.loading">提交</el-button>
+          </div>
+          <div v-for="(fee,index) in item.data" :key="index">
+            <h4 style="padding-left: 50px">{{fee.productName}}</h4>
+            <avue-form :option="item.option[index]" v-model="item.data[index]"></avue-form>
+            <el-divider/>
+          </div>
         </div>
         <!--平台费率表单-->
         <avue-crud  v-if="item.key==='platform_arg'" :option="item.optionwithdrawConfigOption" v-model="item.data" :data="item.form.withdrawConfigList"
                     @row-update="(data,index,done,loading)=>submit(data,done,loading,item,'update')" @row-save="(data,done,loading)=>submit(data,done,loading,item,'save')"
                     @row-del="(data,index,done,loading)=>submit(data,done,loading,item,'delete')" style="margin-top: 20px">
         </avue-crud>
-        <!--公共表单-->
-        <avue-form :option="item.option" v-model="item.form"
+        <!--公共表单(易宝除外)-->
+        <avue-form v-if="item.key!=='YEEPAY_PRODUCT_INFO'" :option="item.option" v-model="item.form"
                    @submit="(data,done,loading)=>{submit(data,done,loading,item)}" style="margin-top: 20px"></avue-form>
       </el-tab-pane>
     </el-tabs>
@@ -251,172 +251,9 @@ export default {
           label: "商户易宝",
           id: "",
           key: "YEEPAY_PRODUCT_INFO",
-          option: {
-            labelWidth: 160,
-            emptyBtn: false,
-            column: [
-              {
-                label: '产品码',
-                prop: 'productCode',
-                disabled: true,
-                rules: [
-                  {
-                    required: true,
-                    message: '请输入产品码',
-                    trigger: 'blur'
-                  }
-                ]
-              },
-              {
-                label: '计费策略',
-                prop: 'rateType',
-                type: 'select',
-                change:(value)=>{
-                  const percentRate = this.option[3].option.column.find(ele=>{
-                    return ele.prop==='percentRate';
-                  });
-                  const fixedRate = this.option[3].option.column.find(ele=>{
-                    return ele.prop==='fixedRate';
-                  });
-                  switch (value.value){
-                    case "SINGLE_PERCENT":
-                      percentRate.disabled = false;
-                      percentRate.rules[0].required = true;
-                      fixedRate.disabled = true;
-                      fixedRate.rules[0].required = false;
-                      break;
-                    case "SINGLE_FIXED":
-                      percentRate.disabled = true;
-                      percentRate.rules[0].required = false;
-                      fixedRate.disabled = false;
-                      fixedRate.rules[0].required = true;
-                      break;
-                    case "FIXED_MIX_PERCENT":
-                    case "PERCENT_MIX_CAP":
-                      percentRate.disabled = false;
-                      percentRate.rules[0].required = true;
-                      fixedRate.disabled = false;
-                      fixedRate.rules[0].required = true;
-                      break;
-                    default:
-                      break;
-                  }
-                },
-                dicData: [
-                  {
-                    label:'单笔百分比',
-                    value:'SINGLE_PERCENT',
-                  },
-                  {
-                    label:'单笔固定值',
-                    value:'SINGLE_FIXED',
-                  },
-                  {
-                    label:'单笔固定值+单笔百分比',
-                    value:'FIXED_MIX_PERCENT',
-                  },
-                  {
-                    label:'单笔百分比+封顶值',
-                    value:'PERCENT_MIX_CAP',
-                  }
-                ],
-                rules: [
-                  {
-                    required: true,
-                    message: '请输入积分策略',
-                    trigger: 'blur'
-                  }
-                ]
-              },
-              {
-                label: '单笔百分比',
-                prop: 'percentRate',
-                disabled: true,
-                rules: [
-                  {
-                    required: false,
-                    message: '请输入单笔百分比',
-                    trigger: 'blur'
-                  }
-                ]
-              },
-              {
-                label: '单笔固定值',
-                prop: 'fixedRate',
-                disabled: true,
-                rules: [
-                  {
-                    required: false,
-                    message: '请输入单笔固定值',
-                    trigger: 'blur'
-                  }
-                ]
-              },
-              {
-                label: '手续费承担方',
-                prop: 'undertaker',
-                type: 'select',
-                dicData: [
-                  {
-                    label: '入驻商户',
-                    value: 'SETTLED_MERCHANT'
-                  },
-                  {
-                    label: '用户',
-                    value: 'USER'
-                  },
-                  {
-                    label: '标准商户',
-                    value: 'ORDINARY_MERCHANT'
-                  },
-                  {
-                    label: '平台商',
-                    value: 'PLATFORM_MERCHANT'
-                  },
-                  {
-                    label: '服务商',
-                    value: 'SAAS_SERVICE_PROVIDER'
-                  }
-                ],
-                rules: [
-                  {
-                    required: false,
-                    message: '请输入手续费承担方',
-                    trigger: 'blur'
-                  }
-                ]
-              },
-              {
-                label: '手续费收取方式',
-                prop: 'paymentMethod',
-                type: 'select',
-                dicData: [
-                  {
-                    label: '实收',
-                    value: 'REAL_TIME'
-                  },
-                  {
-                    label: '预付实扣',
-                    value: 'PREPAID_REAL'
-                  },
-                  {
-                    label: '后收',
-                    value: 'UN_REAL_TIME'
-                  }
-                ],
-                rules: [
-                  {
-                    required: false,
-                    message: '请输入手续费收取方式',
-                    trigger: 'blur'
-                  }
-                ]
-              }
-            ]
-          },
-          form: {},
-          opt:[],
-          value:"",
+          data: [],
+          option:[],
+          loading: false,
         }
       ]
     };
@@ -436,9 +273,8 @@ export default {
             tab.id = ele.id;
             //易宝
             if(tab.key==="YEEPAY_PRODUCT_INFO"){
-              tab.opt = JSON.parse(ele.settingValue);
-              tab.value = tab.opt[0].productCode;
-              this.selectChange(tab);
+              tab.data = JSON.parse(ele.settingValue);
+              this.setProductFee(tab);
             }else if(tab.key==="platform_arg"){ //平台费率
               tab.form = JSON.parse(ele.settingValue);
             }else{
@@ -448,17 +284,6 @@ export default {
         });
       });
     },
-    /**
-     * 选择下拉框值
-     * @param value
-     */
-    selectChange(tab){
-      if(tab){
-        tab.form = tab.opt.find(col=>{
-          return col.productCode === tab.value;
-        });
-      }
-    },
     //随机生成ID
     generateUuid() {
       let s = [];
@@ -472,15 +297,184 @@ export default {
       let uuid = s.join("")
       return uuid
     },
+    //设置易宝产品费率
+    setProductFee(item) {
+      item.option = [];
+      for(let i=0;i<item.data.length;i++){
+        const productFeeOption = {
+          labelWidth: 150,
+          emptyBtn: false,
+          height: 'auto',
+          calcHeight: 30,
+          tip: false,
+          submitBtn: false,
+          border: true,
+          card: true,
+          column: [
+            {
+              label: '产品码',
+              prop: 'productCode',
+              disabled: true,
+              rules: [
+                {
+                  required: true,
+                  message: '请输入产品码',
+                  trigger: 'blur'
+                }
+              ]
+            },
+            {
+              label: '计费策略',
+              prop: 'rateType',
+              type: 'select',
+              change: (value) => {
+                const percentRate = item.option[i].column.find(ele => {
+                  return ele.prop === 'percentRate';
+                });
+                const fixedRate = item.option[i].column.find(ele => {
+                  return ele.prop === 'fixedRate';
+                });
+                switch (value.value) {
+                  case "SINGLE_PERCENT":
+                    percentRate.disabled = false;
+                    percentRate.rules[0].required = true;
+                    fixedRate.disabled = true;
+                    fixedRate.rules[0].required = false;
+                    break;
+                  case "SINGLE_FIXED":
+                    percentRate.disabled = true;
+                    percentRate.rules[0].required = false;
+                    fixedRate.disabled = false;
+                    fixedRate.rules[0].required = true;
+                    break;
+                  case "FIXED_MIX_PERCENT":
+                  case "PERCENT_MIX_CAP":
+                    percentRate.disabled = false;
+                    percentRate.rules[0].required = true;
+                    fixedRate.disabled = false;
+                    fixedRate.rules[0].required = true;
+                    break;
+                  default:
+                    break;
+                }
+              },
+              dicData: [
+                {
+                  label: '单笔百分比',
+                  value: 'SINGLE_PERCENT',
+                },
+                {
+                  label: '单笔固定值',
+                  value: 'SINGLE_FIXED',
+                },
+                {
+                  label: '单笔固定值+单笔百分比',
+                  value: 'FIXED_MIX_PERCENT',
+                },
+                {
+                  label: '单笔百分比+封顶值',
+                  value: 'PERCENT_MIX_CAP',
+                }
+              ],
+              rules: [
+                {
+                  required: true,
+                  message: '请输入积分策略',
+                  trigger: 'blur'
+                }
+              ]
+            },
+            {
+              label: '单笔百分比',
+              prop: 'percentRate',
+              rules: [
+                {
+                  required: false,
+                  message: '请输入单笔百分比',
+                  trigger: 'blur'
+                }
+              ]
+            },
+            {
+              label: '单笔固定值',
+              prop: 'fixedRate',
+              rules: [
+                {
+                  required: false,
+                  message: '请输入单笔固定值',
+                  trigger: 'blur'
+                }
+              ]
+            },
+            {
+              label: '手续费承担方',
+              prop: 'undertaker',
+              type: 'select',
+              dicData: [
+                {
+                  label: '入驻商户',
+                  value: 'SETTLED_MERCHANT'
+                },
+                {
+                  label: '用户',
+                  value: 'USER'
+                },
+                {
+                  label: '标准商户',
+                  value: 'ORDINARY_MERCHANT'
+                },
+                {
+                  label: '平台商',
+                  value: 'PLATFORM_MERCHANT'
+                },
+                {
+                  label: '服务商',
+                  value: 'SAAS_SERVICE_PROVIDER'
+                }
+              ],
+              rules: [
+                {
+                  required: false,
+                  message: '请输入手续费承担方',
+                  trigger: 'blur'
+                }
+              ]
+            },
+            {
+              label: '手续费收取方式',
+              prop: 'paymentMethod',
+              type: 'select',
+              dicData: [
+                {
+                  label: '实收',
+                  value: 'REAL_TIME'
+                },
+                {
+                  label: '预付实扣',
+                  value: 'PREPAID_REAL'
+                },
+                {
+                  label: '后收',
+                  value: 'UN_REAL_TIME'
+                }
+              ],
+              rules: [
+                {
+                  required: false,
+                  message: '请输入手续费收取方式',
+                  trigger: 'blur'
+                }
+              ]
+            }
+          ]
+        };
+        item.option.push(productFeeOption);
+      }
+    },
     submit(data, done, loading, item, type) {
       //判断是否是易宝提交
       if(item.key === "YEEPAY_PRODUCT_INFO"){
-        const content = item.opt.find(col=>{
-          return col.productCode===data.productCode;
-        });
-        //拷贝对象值
-        Object.assign(content,data);
-        data = item.opt;
+        this.data = item.data;
       }else if(item.key==="platform_arg" && data.minBalance && data.maxBalance){ //平台费率提交
         if(data.minBalance>=data.maxBalance){
           this.$message.warning("区间最小值不能大于等于最大值");