xiaoyong931011
2021-03-09 332270224e9c4b4f634b60db8dceb05a8b4055d5
20210226 分销设置页
7 files added
2 files modified
912 ■■■■■ changed files
zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoSettingAction.java 135 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/fenxiao/constant/FenxiaoSettingConstant.java 24 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/fenxiao/dao/FenXiaoSettingDao.java 7 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/fenxiao/entity/FenXiaoSettingEntity.java 18 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/fenxiao/service/FenXiaoSettingService.java 53 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/fenxiao/vo/FenXiaoSettingVo.java 139 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/hive/dao/ShoppingGoodsDao.java 2 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/resources/mybatis/mapper/hive/ShoppingGoodsDao.xml 10 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-setting.html 524 ●●●●● patch | view | raw | blame | history
zq-erp/src/main/java/com/matrix/system/fenxiao/action/FenXiaoSettingAction.java
New file
@@ -0,0 +1,135 @@
package com.matrix.system.fenxiao.action;
import com.matrix.core.constance.MatrixConstance;
import com.matrix.core.pojo.AjaxResult;
import com.matrix.core.tools.WebUtil;
import com.matrix.system.common.bean.BusParameterSettings;
import com.matrix.system.common.bean.SysUsers;
import com.matrix.system.common.dao.BusParameterSettingsDao;
import com.matrix.system.fenxiao.constant.FenxiaoSettingConstant;
import com.matrix.system.fenxiao.service.FenXiaoSettingService;
import com.matrix.system.fenxiao.vo.FenXiaoSettingVo;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import com.matrix.system.hive.bean.ShoppingGoods;
import com.matrix.system.hive.dao.ShoppingGoodsDao;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping(value = "/fenXiao/ruleSetting")
public class FenXiaoSettingAction {
    @Autowired
    private FenXiaoSettingService fenXiaoSettingService;
    @Autowired
    private BusParameterSettingsDao busParameterSettingsDao;
    @Autowired
    private ShoppingGoodsDao shoppingGoodsDao;
    /**
     *查询分销配置
     */
    @RequestMapping(value = "/selectFenXiaoSetting")
    public AjaxResult selectFenXiaoSetting() {
       AjaxResult result= AjaxResult.buildSuccessInstance("查询成功");
       SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
       Long companyId = user.getCompanyId();
       //分销开关
       String[] FXKGCode={FenxiaoSettingConstant.FX_SWITCH};
       String[] FXKGName={"分销开关"};
       List<FenXiaoSettingVo> fxkgRuleSettingsVo = getRuleSettingsVo(FXKGCode,FXKGName,companyId);
       result.putInMap("fxkg", fxkgRuleSettingsVo);
       //分销模式
       String[] FXMSCode={FenxiaoSettingConstant.FX_MODEL};
       String[] FXMSName={"分销模式"};
       List<FenXiaoSettingVo> fxmsRuleSettingsVo = getRuleSettingsVo(FXMSCode,FXMSName,companyId);
       result.putInMap("fxms", fxmsRuleSettingsVo);
       //申请方式
       String[] sqfsCode={FenxiaoSettingConstant.FX_APPLY_WAY};
       String[] sqfsName={"申请方式"};
       List<FenXiaoSettingVo> sqfsRuleSettingsVo = getRuleSettingsVo(sqfsCode,sqfsName,companyId);
       result.putInMap("sqfs", sqfsRuleSettingsVo);
       //审核方式
       String[] shfsCode={FenxiaoSettingConstant.FX_AUDIT_METHOD};
       String[] shfsName={"审核方式"};
       List<FenXiaoSettingVo> shfsRuleSettingsVo = getRuleSettingsVo(shfsCode,shfsName,companyId);
       result.putInMap("shfs", shfsRuleSettingsVo);
       //申请条件
       String[] sqtjCode={FenxiaoSettingConstant.FX_APPLY_CONDITION};
       String[] sqtjName={"申请条件"};
       List<FenXiaoSettingVo> sqtjRuleSettingsVo = getRuleSettingsVo(sqtjCode,sqtjName,companyId);
       result.putInMap("sqtj", sqtjRuleSettingsVo);
       if(CollUtil.isNotEmpty(sqtjRuleSettingsVo)){
           for(FenXiaoSettingVo fenXiaoSettingVo : sqtjRuleSettingsVo) {
               if("3".equals(fenXiaoSettingVo.getParamValue())) {
                   String paramValue1 = fenXiaoSettingVo.getParamValue1();
                   if(StrUtil.isNotEmpty(paramValue1)) {
                       List<Integer> idsList = new ArrayList<>();
                       List<String> idsStringList = Arrays.asList(paramValue1.split(","));
                       if(CollUtil.isNotEmpty(idsStringList)){
                           for(String string : idsStringList) {
                               Integer parseInt = Integer.parseInt(string);
                               idsList.add(parseInt);
                           }
                       }
                       List<ShoppingGoods> list = shoppingGoodsDao.selectByIds(idsList);
                       result.putInMap("order", list);
                   }
               }
           }
       }
       return result;
    }
    /**
     *获取对应的规则设置数据
     * @param ArrayCode
     * @param ArrayName
     * @param companyId
     * @return
     */
    private List<FenXiaoSettingVo> getRuleSettingsVo(String[] ArrayCode,String[] ArrayName,Long companyId){
        List<BusParameterSettings> dataList = busParameterSettingsDao.selectByCodesAndCompanyId(Arrays.asList(ArrayCode), companyId);
        List<FenXiaoSettingVo> scoreRuleSettingsVos=new ArrayList<FenXiaoSettingVo>();
        int index=0;
        for (BusParameterSettings item:dataList){
            FenXiaoSettingVo paramVo=new FenXiaoSettingVo();
            BeanUtils.copyProperties(item,paramVo);
            paramVo.setParamName(ArrayName[index]);
            scoreRuleSettingsVos.add(paramVo);
            index++;
        }
        return scoreRuleSettingsVos;
    }
    /**
     * 修改公司维度的分销规则
     */
    @PostMapping(value = "/updateFenXiaoSetting")
    public @ResponseBody
    AjaxResult updateFenXiaoSetting(@RequestBody List<BusParameterSettings> busParameterSettings) {
        return fenXiaoSettingService.updateFenXiaoSettingByCompanyId(busParameterSettings);
    }
}
zq-erp/src/main/java/com/matrix/system/fenxiao/constant/FenxiaoSettingConstant.java
New file
@@ -0,0 +1,24 @@
package com.matrix.system.fenxiao.constant;
public class FenxiaoSettingConstant {
    /**
     * 分销开关
     */
    public final static String FX_SWITCH = "FX_SWITCH";
    /**
     * 分销模式
     */
    public final static String FX_MODEL = "FX_MODEL";
    /**
     * 申请方式
     */
    public final static String FX_APPLY_WAY = "FX_APPLY_WAY";
    /**
     * 审核方式
     */
    public final static String FX_AUDIT_METHOD = "FX_AUDIT_METHOD";
    /**
     * 申请条件
     */
    public final static String FX_APPLY_CONDITION = "FX_APPLY_CONDITION";
}
zq-erp/src/main/java/com/matrix/system/fenxiao/dao/FenXiaoSettingDao.java
New file
@@ -0,0 +1,7 @@
package com.matrix.system.fenxiao.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.matrix.system.fenxiao.entity.FenXiaoSettingEntity;
public interface FenXiaoSettingDao extends BaseMapper<FenXiaoSettingEntity> {
}
zq-erp/src/main/java/com/matrix/system/fenxiao/entity/FenXiaoSettingEntity.java
New file
@@ -0,0 +1,18 @@
package com.matrix.system.fenxiao.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.matrix.system.score.entity.BaseEntity;
@TableName("score_order")
public class FenXiaoSettingEntity extends BaseEntity {
    private String orderNo;
    public String getOrderNo() {
        return orderNo;
    }
    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }
}
zq-erp/src/main/java/com/matrix/system/fenxiao/service/FenXiaoSettingService.java
New file
@@ -0,0 +1,53 @@
package com.matrix.system.fenxiao.service;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.matrix.core.constance.MatrixConstance;
import com.matrix.core.pojo.AjaxResult;
import com.matrix.core.tools.StringUtils;
import com.matrix.core.tools.WebUtil;
import com.matrix.system.common.bean.BusParameterSettings;
import com.matrix.system.common.bean.SysUsers;
import com.matrix.system.common.dao.BusParameterSettingsDao;
import com.matrix.system.fenxiao.dao.FenXiaoSettingDao;
import com.matrix.system.fenxiao.entity.FenXiaoSettingEntity;
import com.matrix.system.hive.bean.ShoppingGoods;
@Service
public class FenXiaoSettingService extends ServiceImpl<FenXiaoSettingDao, FenXiaoSettingEntity> {
    @Autowired
    private BusParameterSettingsDao busParameterSettingsDao;
    public AjaxResult updateFenXiaoSettingByCompanyId(List<BusParameterSettings> busParameterSettings) {
        //获取当前登录人员信息
        SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
        for (BusParameterSettings busParameterSetting:busParameterSettings ) {
            String paramCode = busParameterSetting.getParamCode();
            if(StringUtils.isNotBlank(paramCode)){
                //删除原有code
                BusParameterSettings delParanm=new BusParameterSettings();
                delParanm.setCompanyId(user.getCompanyId());
                delParanm.setParamCode(paramCode);
                busParameterSettingsDao.deleteByModel(delParanm);
                //添加新的code
                BusParameterSettings newParam=new BusParameterSettings();
                newParam.setParamCode(paramCode);
                newParam.setCompanyId(user.getCompanyId());
                newParam.setParamValue(busParameterSetting.getParamValue());
                newParam.setParamValue1(busParameterSetting.getParamValue1());
                newParam.setParamValue2(busParameterSetting.getParamValue2());
                busParameterSettingsDao.insert(newParam);
            }else{
                return AjaxResult.buildFailInstance("code不能为空");
            }
        }
        AjaxResult result = new AjaxResult(AjaxResult.STATUS_SUCCESS, "更新成功");
        return result;
    }
}
zq-erp/src/main/java/com/matrix/system/fenxiao/vo/FenXiaoSettingVo.java
New file
@@ -0,0 +1,139 @@
package com.matrix.system.fenxiao.vo;
import com.matrix.core.anotations.Extend;
public class FenXiaoSettingVo {
    @Extend
    private static final long serialVersionUID = 1L;
    private Long paramId;
    /**
     * 参数名称
     */
    private String paramName;
    /**
     * 参数编码
     */
    private String paramCode;
    /**
     * switch按钮
     */
    private Boolean paramSwitch;
    /**
     * 参数值
     */
    private String paramValue;
    /**
     * 值1
     */
    private String paramValue1;
    /**
     * 值2
     */
    private String paramValue2;
    /**
     * 值3
     */
    private String paramValue3;
    private Long companyId;
    private Long shopId;
    public Long getShopId() {
        return shopId;
    }
    public void setShopId(Long shopId) {
        this.shopId = shopId;
    }
    public Long getCompanyId() {
        return companyId;
    }
    public void setCompanyId(Long companyId) {
        this.companyId = companyId;
    }
    public Long getParamId() {
        return paramId;
    }
    public void setParamId(Long paramId) {
        this.paramId = paramId;
    }
    public String getParamCode() {
        return paramCode;
    }
    public void setParamCode(String paramCode) {
        this.paramCode = paramCode;
    }
    public String getParamValue() {
        return paramValue;
    }
    public void setParamValue(String paramValue) {
        this.paramValue = paramValue;
    }
    public String getParamValue1() {
        return paramValue1;
    }
    public void setParamValue1(String paramValue1) {
        this.paramValue1 = paramValue1;
    }
    public String getParamValue2() {
        return paramValue2;
    }
    public void setParamValue2(String paramValue2) {
        this.paramValue2 = paramValue2;
    }
    public String getParamValue3() {
        return paramValue3;
    }
    public void setParamValue3(String paramValue3) {
        this.paramValue3 = paramValue3;
    }
    public String getParamName() {
        return paramName;
    }
    public void setParamName(String paramName) {
        this.paramName = paramName;
    }
    public Boolean getParamSwitch() {
        return paramSwitch;
    }
    public void setParamSwitch(Boolean paramSwitch) {
        this.paramSwitch = paramSwitch;
    }
}
zq-erp/src/main/java/com/matrix/system/hive/dao/ShoppingGoodsDao.java
@@ -89,4 +89,6 @@
    List<ShoppingGoodsListVo> selectShoppingGoodsApiInPage(@Param("record") ShoppingGoodsListDto shoppingGoodsListDto, @Param("pageVo") PaginationVO pageVo);
    int selectShopppingGoodsAipTotal(@Param("record") ShoppingGoodsListDto shoppingGoodsListDto);
    public List<ShoppingGoods> selectByIds(@Param("ids")List<Integer> ids);
}
zq-erp/src/main/resources/mybatis/mapper/hive/ShoppingGoodsDao.xml
@@ -1296,4 +1296,14 @@
            and a.good_type=#{record.goodType}
        </if>
    </select>
    <select id="selectByIds" resultMap="ShoppingGoodsSimpleMap">
        select
        *
        from shopping_goods
        where id in
        <foreach collection="ids" item="item" separator="," open="(" close=")">
            #{item}
        </foreach>
    </select>
</mapper>
zq-erp/src/main/resources/templates/views/admin/fenxiao/fenxiao-setting.html
New file
@@ -0,0 +1,524 @@
<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org" xmlns:matrix="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="utf-8">
    <META HTTP-EQUIV="Pragma" CONTENT="no-cache">
    <meta name="renderer" content="webkit|ie-comp|ie-stand">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport"
          content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
    <meta http-equiv="Cache-Control" content="no-siteapp"/>
    <!-- 本框架基本脚本和样式 -->
    <script type="text/javascript" th:src="@{/js/systools/MBaseVue.js}"></script>
    <link rel="stylesheet" th:href="@{/plugin/element-ui/index.css}">
    <link rel="stylesheet" th:href="@{/plugin/bootstrap-3.3.5/css/bootstrap.min.css}">
    <link th:href="@{/css/styleOne/style.min.css}" rel="stylesheet" type="text/css"/>
</head>
<body>
<div class="ibox-content" id="app" v-cloak>
    <el-form label-width="120px" >
        <el-row>
            <p class="el-big-title">分享设置</p>
        </el-row>
        <el-row style="margin-top: 20px;">
            <el-col>
                <template v-for="paramSettingOne in fxkg">
                    <el-form-item>
                        <span slot="label">{{paramSettingOne.paramName}}</span>
                        <el-col >
                            <el-radio-group v-model="paramSettingOne.paramValue">
                                <el-radio v-model="paramSettingOne.paramValue" :label="'1'">开启分销</el-radio>
                                <el-radio v-model="paramSettingOne.paramValue" :label="'2'">关闭分销</el-radio>
                            </el-radio-group>
                        </el-col>
                    </el-form-item >
                </template>
            </el-col>
        </el-row>
        <el-row style="margin-top: 20px;">
            <el-col>
                <template v-for="paramSettingTwo in fxms">
                    <el-form-item>
                        <span slot="label">{{paramSettingTwo.paramName}}</span>
                        <el-col>
                            <el-radio-group v-model="paramSettingTwo.paramValue">
                                <el-radio :label="'1'">一级分销</el-radio>
                                <el-radio :label="'2'">二级分销</el-radio>
                            </el-radio-group>
                        </el-col>
                    </el-form-item >
                </template>
            </el-col>
        </el-row>
        <el-row style="margin-top: 20px;">
            <el-col>
                <template v-for="paramSettingThree in sqfs">
                    <el-form-item>
                        <span slot="label">{{paramSettingThree.paramName}}</span>
                        <el-col>
                            <el-radio-group v-model="paramSettingThree.paramValue">
                                <div style="margin-top: 12px;"><el-radio :label="'1'">无需申请满足条件自动成为分销员</el-radio></div>
                                <div style="margin-top: 20px;"><el-radio :label="'2'">需要客户主动申请</el-radio></div>
                            </el-radio-group>
                        </el-col>
                    </el-form-item >
                </template>
            </el-col>
        </el-row>
        <el-row style="margin-top: 20px;">
            <el-col>
                <template v-for="paramSettingFour in shfs">
                    <el-form-item>
                        <span slot="label">{{paramSettingFour.paramName}}</span>
                        <el-col>
                            <el-radio-group v-model="paramSettingFour.paramValue">
                                <div style="margin-top: 12px;"><el-radio :label="'1'">系统自动审核</el-radio></div>
                                <div style="margin-top: 20px;"><el-radio :label="'2'">人工审核</el-radio></div>
                            </el-radio-group>
                        </el-col>
                    </el-form-item >
                </template>
            </el-col>
        </el-row>
        <el-row style="margin-top: 20px;">
            <el-col>
                <template v-for="paramSettingFive in sqtj">
                    <el-form-item>
                        <span slot="label">{{paramSettingFive.paramName}}</span>
                        <el-col>
                            <el-radio-group v-model="paramSettingFive.paramValue">
                                <div style="margin-top: 12px;"><el-radio :label="'1'">无条件注册即可成为分销员</el-radio></div>
                                <div style="margin-top: 25px;"><el-radio :label="'2'">消费任意产品可成为分销员</el-radio></div>
                                <div style="margin-top: 25px;display:flex;align-items: center;">
                                    <el-radio :label="'3'">消费指定产品可成为分销员</el-radio>
                                    <div style="display:flex;align-items: center;">
                                        <el-button type="primary" @click="drawer = true">设置产品</el-button>
                                        <el-input  style="width:100px;" v-model="paramSettingFive.paramValue1"></el-input>
                                        <el-input  style="width:100px;display: block;" v-model="cpid"></el-input>
                                    </div>
                                </div>
                                <div style="margin-top: 25px;display:flex;align-items: center;">
                                    <el-radio :label="'4'">消费指定金额可成为分销员</el-radio>
                                    <div style="display:flex;align-items: center;">
                                        <el-input style="width:100px;" v-model="paramSettingFive.paramValue2" oninput ="value=value.replace(/[^0-9.]/g,'')"></el-input>
                                        <div style="font-size: 14px;align-items: center;">元</div>
                                    </div>
                                </div>
                            </el-radio-group>
                        </el-col>
                    </el-form-item >
                </template>
            </el-col>
        </el-row>
        <el-drawer
                title="业绩设置"
                :visible.sync="drawer"
                :direction="direction"
                size="90%"
        >
            <el-row >
                <el-col :span="24">
                    <el-row class="vertical  ">
                        <el-input class="searchInput" @input="searchGoods()" v-model="queryKey"
                                  placeholder="搜索添加产品"></el-input>
                        <el-button @click="searchGoods()" type="primary">搜索</el-button>
                    </el-row>
                    <div class="searchResultTable" style="width: 50%" v-show="showSearchTable">
                        <!-- 搜索加载数据表格 -->
                        <el-table
                                ref="dataTable"
                                v-loading="loading"
                                element-loading-text="拼命加载中"
                                element-loading-spinner="el-icon-loading"
                                element-loading-background="rgba(0, 0, 0, 0.8)"
                                @selection-change="handleSelectionChange"
                                @row-click="handleClickTableRow"
                                :max-height="400"
                                :data="searchTableData"
                                style="width: 100%">
                            <el-table-column
                                    type="selection"
                                    width="50">
                            </el-table-column>
                            <el-table-column
                                    prop="code"
                                    label="产品编号"
                                    width="100">
                            </el-table-column>
                            <el-table-column
                                    prop="name"
                                    label="产品名称">
                            </el-table-column>
                            <el-table-column
                                    prop="sealPice"
                                    label="售价">
                            </el-table-column>
                            <el-table-column
                                    prop="goodType"
                                    label="类型">
                            </el-table-column>
                            <el-table-column
                                    prop="cateName"
                                    label="分类">
                            </el-table-column>
                            <el-table-column
                                    width="150"
                                    prop="address"
                                    label="操作">
                                <template slot-scope="scope">
                                    <el-button type="primary"
                                               size="mini"
                                               @click="handleEdit(scope.$index, scope.row)">选择
                                    </el-button>
                                </template>
                            </el-table-column>
                        </el-table>
                        <el-row class="btn-box">
                            <el-button size="mini" type="danger" @click="closeXm()">关闭</el-button>
                            <el-button size="mini" type="primary" @click="chouseGoods()">确认</el-button>
                        </el-row>
                    </div>
                    <el-row class="mt-10">
                        <el-table
                                :stripe="true"
                                :border="true"
                                :height="tableHeight"
                                :data="order.items"
                                style="width: 100%">
                            <el-table-column
                                    type="index"
                                    width="50">
                            </el-table-column>
                            <el-table-column
                                    prop="shoppingGoods.code"
                                    label="产品编号"
                                    width="100">
                            </el-table-column>
                            <el-table-column
                                    prop="shoppingGoods.name"
                                    width="280"
                                    label="产品名称">
                            </el-table-column>
                            <el-table-column
                                    prop="shoppingGoods.goodType"
                                    width="80"
                                    label="产品类型">
                            </el-table-column>
                            <el-table-column
                                    prop="shoppingGoods.sealPice"
                                    label="单价">
                            </el-table-column>
                            <el-table-column
                                    prop="address"
                                    label="操作">
                                <template slot-scope="scope">
                                    <el-button type="primary" v-if="order.statu!='欠款'"
                                               size="mini"
                                               @click="removeItem(scope.$index, scope.row)">删除
                                    </el-button>
                                </template>
                            </el-table-column>
                        </el-table>
                    </el-row>
                    <el-row class="mt-20 vertical">
                        <el-col :span="14" class="btn-box">
                            <el-button type="primary" @click="submitOrder()">保存</el-button>
                            <el-button type="danger" @click="drawer = false">取消</el-button>
                        </el-col>
                    </el-row>
                </el-col>
            </el-row>
        </el-drawer>
        <el-row justify="center" type="flex">
            <el-button type="primary" @click="submit()">保存</el-button>
        </el-row>
    </el-form>
</div>
</body>
<script type="text/javascript" th:src="@{/js/plugin/jquery-2.1.4.min.js}"></script>
<script type="text/javascript" th:src="@{/js/plugin/jquery.query.js}"></script>
<script type="text/javascript" th:src="@{/plugin/bootstrap-3.3.5/js/bootstrap.min.js}"></script>
<script type="text/javascript" th:src="@{/js/systools/AjaxProxyVue.js}"></script>
<script type="text/javascript" th:src="@{/js/plugin/vue.js}"></script>
<script type="text/javascript" th:src="@{/plugin/element-ui/index.js}"></script>
<script type="text/javascript" th:src="@{/js/systools/MJsBase.js}"></script>
<script>
    var app = new Vue({
        el: '#app',
        data: {
            cpid:"",
            //业绩设置框
            drawer: false,
            direction: 'rtl',
            order: {
                items: [
                ],
            },
            tableHeight: 500,
            /*****搜索表格数据*********/
            //搜索关键词
            queryKey: '',
            //是否展示搜索表格
            showSearchTable: false,
            //搜索表格数据
            searchTableData: [],
            //表格加载效果
            loading: false,
            /******搜索表格数据END********/
            fxkg:[],
            fxms:[],
            sqfs:[],
            shfs:[],
            sqtj:[],
        },
        created: function () {
            this.loadInfo();
        },
        mounted: function () {
        },
        methods: {
            //加载分类
            loadInfo() {
                let _this = this;
                _this.loadParamSetting();
            },
            loadParamSetting() {
                let _this = this;
                //加载配置
                AjaxProxy.requst({
                    app: _this,
                    data: {},
                    url: basePath + '/fenXiao/ruleSetting/selectFenXiaoSetting',
                    callback: function (data) {
                        _this.fxkg = data.mapInfo.fxkg;
                        _this.fxms = data.mapInfo.fxms;
                        _this.sqfs = data.mapInfo.sqfs;
                        _this.shfs = data.mapInfo.shfs;
                        _this.sqtj = data.mapInfo.sqtj;
                        //_this.order.items = data.mapInfo.order;
                        //console.log(_this.order.items);
                    }
                });
            },
            setSelectGoods(data){
                console.log(data);
            },
            //选择产品
            handleEdit(index, row) {
                this.pushToSelectGoods(row);
            },
            pushToSelectGoods(goods) {
                //判断是否被选中
                let selected = false;
                this.order.items.forEach(item => {
                    if (item.shoppingGoods.id == goods.id) {
                        selected = true;
                        return;
                    }
                });
                if (!selected) {
                    //未选中产品加入列表
                    let item = {};
                    item.shoppingGoods = goods;
                    item.goodsId = goods.id;
                    item.count = 1;
                    this.order.items.push(item);
                }
            },
            /**
             * 点击多选
             */
            handleSelectionChange(val) {
                this.multipleSelection = val;
            },
            /**
             * 提交表单订单
             * submitType 1 提交,2保存
             */
            submitOrder(submitType) {
                let _this = this;
                let submitDate ="";
                for (let i = 0; i < _this.order.items.length; i++) {
                    let goods = _this.order.items[i];
                    let goodsId = goods.goodsId;
                    submitDate = submitDate +goodsId+",";
                }
                _this.cpid = submitDate;
                _this.drawer = false
            },
            /**
             * 批量选择产品
             */
            chouseGoods() {
                let _this = this;
                // this.multipleSelection.forEach(item => {
                //     _this.pushToSelectGoods(item, BUY_TYPE_NOT_FREE);
                // });
                this.closeXm();
            },
            /**
             * 行点击事件
             */
            handleClickTableRow(row, event, column) {
                this.$refs.dataTable.toggleRowSelection(row);
            },
            /**
             * 删除组合产品
             */
            removeItem(index, row) {
                this.order.items.splice(index, 1);
            },
            /**
             * 搜索项目绑定的产品信息
             */
            searchGoods() {
                let _this = this;
                if (this.queryKey && this.queryKey.trim().length > 0) {
                    this.showSearchTable = true;
                    this.loading = true;
                    AjaxProxy.requst({
                        app: _this,
                        contentType: 'application/x-www-form-urlencoded',
                        //TODO 优化下拉加载
                        data: {name: _this.queryKey, limit: 10000},
                        url: basePath + "/admin/shoppinggoods/showList",
                        callback: function (data) {
                            _this.searchTableData = data.rows;
                            _this.loading = false;
                        }
                    });
                } else {
                    this.showSearchTable = false;
                }
            },
            closeXm() {
                this.showSearchTable = false;
            },
            submit() {
                console.log("提交");
                let _this = this;
                let submitDate = [];
                for (let i = 0; i < _this.fxkg.length; i++) {
                    let paramSetting = _this.fxkg[i];
                    let paramCode = paramSetting.paramCode;
                    let paramValue = paramSetting.paramValue;
                    let paramValue1 = paramSetting.paramValue1;
                    let paramValue2 = paramSetting.paramValue2;
                    let obj = {
                        paramCode: paramCode,
                        paramValue: paramValue,
                        paramValue1: paramValue1,
                        paramValue2: paramValue2,
                    }
                    submitDate.push(obj);
                }
                for (let i = 0; i < _this.fxms.length; i++) {
                    let paramSetting = _this.fxms[i];
                    let paramCode = paramSetting.paramCode;
                    let paramValue = paramSetting.paramValue;
                    let paramValue1 = paramSetting.paramValue1;
                    let paramValue2 = paramSetting.paramValue2;
                    let obj = {
                        paramCode: paramCode,
                        paramValue: paramValue,
                        paramValue1: paramValue1,
                        paramValue2: paramValue2,
                    }
                    submitDate.push(obj);
                }
                for (let i = 0; i < _this.sqfs.length; i++) {
                    let paramSetting = _this.sqfs[i];
                    let paramCode = paramSetting.paramCode;
                    let paramValue = paramSetting.paramValue;
                    let paramValue1 = paramSetting.paramValue1;
                    let paramValue2 = paramSetting.paramValue2;
                    let obj = {
                        paramCode: paramCode,
                        paramValue: paramValue,
                        paramValue1: paramValue1,
                        paramValue2: paramValue2,
                    }
                    submitDate.push(obj);
                }
                for (let i = 0; i < _this.shfs.length; i++) {
                    let paramSetting = _this.shfs[i];
                    let paramCode = paramSetting.paramCode;
                    let paramValue = paramSetting.paramValue;
                    let paramValue1 = paramSetting.paramValue1;
                    let paramValue2 = paramSetting.paramValue2;
                    let obj = {
                        paramCode: paramCode,
                        paramValue: paramValue,
                        paramValue1: paramValue1,
                        paramValue2: paramValue2,
                    }
                    submitDate.push(obj);
                }
                for (let i = 0; i < _this.sqtj.length; i++) {
                    let paramSetting = _this.sqtj[i];
                    let paramCode = paramSetting.paramCode;
                    let paramValue = paramSetting.paramValue;
                    let paramValue1;
                    let paramValue2;
                    alert(paramValue);
                    if(paramValue === '3'){
                        paramValue1 = _this.cpid;
                    }else if(paramValue === '4'){
                        paramValue2 = paramSetting.paramValue2;
                    }
                    alert(paramValue1);
                    alert(paramValue2);
                    let obj = {
                        paramCode: paramCode,
                        paramValue: paramValue,
                        paramValue1: paramValue1,
                        paramValue2: paramValue2,
                    }
                    submitDate.push(obj);
                }
                AjaxProxy.requst({
                    app: _this,
                    data: submitDate,
                    url: basePath + '/fenXiao/ruleSetting/updateFenXiaoSetting',
                    callback: function (data) {
                        _this.$message({
                            message: data.info,
                            type: 'success',
                            onClose: function () {
                                _this.loadParamSetting();
                            }
                        });
                    }
                });
            }
        }
    })
</script>
</body>
</html>