0326-海宁pad走访修改
This commit is contained in:
@@ -1,56 +1,68 @@
|
||||
package com.ruoyi.ibs.grid.controller;
|
||||
|
||||
|
||||
import com.github.pagehelper.Page;
|
||||
import com.ruoyi.common.annotation.Log;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.page.TableDataPageInfo;
|
||||
import com.ruoyi.common.utils.SecurityUtils;
|
||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||
import com.ruoyi.ibs.grid.domain.entity.GridCmpmCountGongsi;
|
||||
import com.ruoyi.ibs.grid.domain.entity.GridCmpmCountLingshou;
|
||||
import com.ruoyi.ibs.grid.domain.entity.GridCmpmCountLingshou;
|
||||
import com.ruoyi.ibs.grid.domain.entity.GridCmpmCountLingshouNew825;
|
||||
import com.ruoyi.ibs.grid.domain.entity.GridCustCountGongsi;
|
||||
import com.ruoyi.ibs.grid.domain.entity.GridCustCountLingshou;
|
||||
import com.ruoyi.ibs.grid.domain.entity.GridCustCountLingshouNew825;
|
||||
import com.ruoyi.ibs.grid.service.GridCountService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@Api(tags = "网格汇总")
|
||||
@RestController
|
||||
@RequestMapping("/ibs/GridCount/")
|
||||
public class GridCountController extends BaseController {
|
||||
|
||||
@Autowired
|
||||
GridCountService service;
|
||||
private GridCountService service;
|
||||
|
||||
@ApiOperation(value = "查询零售汇总网格列表")
|
||||
@GetMapping("LsList")
|
||||
public TableDataPageInfo<GridCmpmCountLingshou> selectLsCountList(String town, String village,String dt) {
|
||||
public TableDataPageInfo<?> selectLsCountList(String town, String village, String dt) {
|
||||
Page<Object> page = startPage();
|
||||
List<GridCmpmCountLingshou> list = service.selectLsCountList(town, village,dt);
|
||||
if (isNewRetailTenant()) {
|
||||
List<GridCmpmCountLingshouNew825> list = service.selectLsCountListNew825(town, village, dt);
|
||||
return getDataTable(list, page);
|
||||
}
|
||||
List<GridCmpmCountLingshou> list = service.selectLsCountList(town, village, dt);
|
||||
return getDataTable(list, page);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "查询公司汇总网格列表")
|
||||
@GetMapping("GsList")
|
||||
public TableDataPageInfo<GridCmpmCountGongsi> selectGsCountList(String town, String village,String dt) {
|
||||
public TableDataPageInfo<GridCmpmCountGongsi> selectGsCountList(String town, String village, String dt) {
|
||||
Page<Object> page = startPage();
|
||||
List<GridCmpmCountGongsi> list = service.selectGsCountList(town, village,dt);
|
||||
List<GridCmpmCountGongsi> list = service.selectGsCountList(town, village, dt);
|
||||
return getDataTable(list, page);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "导出零售汇总网格", produces = "application/octet-stream")
|
||||
@GetMapping("exportLs")
|
||||
public void exportLs(HttpServletResponse response, String town, String village,String dt) {
|
||||
public void exportLs(HttpServletResponse response, String town, String village, String dt) {
|
||||
try {
|
||||
if (isNewRetailTenant()) {
|
||||
ExcelUtil<GridCmpmCountLingshouNew825> util = new ExcelUtil<>(GridCmpmCountLingshouNew825.class);
|
||||
util.exportExcel(response, service.selectLsCountListNew825(town, village, dt), "零售网格汇总");
|
||||
return;
|
||||
}
|
||||
ExcelUtil<GridCmpmCountLingshou> util = new ExcelUtil<>(GridCmpmCountLingshou.class);
|
||||
util.exportExcel(response, service.selectLsCountList(town, village,dt), "零售网格汇总");
|
||||
util.exportExcel(response, service.selectLsCountList(town, village, dt), "零售网格汇总");
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
@@ -59,10 +71,10 @@ public class GridCountController extends BaseController {
|
||||
@Log(title = "导出公司汇总网格")
|
||||
@ApiOperation(value = "导出公司汇总网格", produces = "application/octet-stream")
|
||||
@GetMapping("exportGs")
|
||||
public void exportGs(HttpServletResponse response, String town, String village,String dt) {
|
||||
public void exportGs(HttpServletResponse response, String town, String village, String dt) {
|
||||
try {
|
||||
ExcelUtil<GridCmpmCountGongsi> util = new ExcelUtil<>(GridCmpmCountGongsi.class);
|
||||
util.exportExcel(response, service.selectGsCountList(town, village,dt), "公司网格汇总");
|
||||
util.exportExcel(response, service.selectGsCountList(town, village, dt), "公司网格汇总");
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
@@ -71,45 +83,58 @@ public class GridCountController extends BaseController {
|
||||
@Log(title = "查询零售客户明细")
|
||||
@ApiOperation(value = "查询零售客户明细")
|
||||
@GetMapping("LsCustList")
|
||||
public TableDataPageInfo<GridCustCountLingshou> selectLsCustList(@RequestParam String regionCode, String custName, String custIdc,String dt) {
|
||||
public TableDataPageInfo<?> selectLsCustList(@RequestParam String regionCode, String custName, String custIdc, String dt) {
|
||||
Page<Object> page = startPage();
|
||||
List<GridCustCountLingshou> list = service.selectLsCustList(regionCode, custName, custIdc,dt);
|
||||
if (isNewRetailTenant()) {
|
||||
List<GridCustCountLingshouNew825> list = service.selectLsCustListNew825(regionCode, custName, custIdc, dt);
|
||||
return getDataTable(list, page);
|
||||
}
|
||||
List<GridCustCountLingshou> list = service.selectLsCustList(regionCode, custName, custIdc, dt);
|
||||
return getDataTable(list, page);
|
||||
}
|
||||
|
||||
@Log(title = "查询公司客户明细")
|
||||
@ApiOperation(value = "查询公司客户明细")
|
||||
@GetMapping("GsCustList")
|
||||
public TableDataPageInfo<GridCustCountGongsi> selectGsCustList(@RequestParam String regionCode, String custName, String socialCreditCode,String dt) {
|
||||
public TableDataPageInfo<GridCustCountGongsi> selectGsCustList(@RequestParam String regionCode, String custName, String socialCreditCode, String dt) {
|
||||
Page<Object> page = startPage();
|
||||
List<GridCustCountGongsi> list = service.selectGsCustList(regionCode, custName, socialCreditCode,dt);
|
||||
List<GridCustCountGongsi> list = service.selectGsCustList(regionCode, custName, socialCreditCode, dt);
|
||||
return getDataTable(list, page);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Log(title = "导出零售客户明细")
|
||||
@ApiOperation(value = "导出零售客户明细", produces = "application/octet-stream")
|
||||
@GetMapping("exportLsCust")
|
||||
public void exportLsCust(HttpServletResponse response, @RequestParam String regionCode, String custName, String custIdc,String dt) {
|
||||
public void exportLsCust(HttpServletResponse response, @RequestParam String regionCode, String custName, String custIdc, String dt) {
|
||||
try {
|
||||
if (isNewRetailTenant()) {
|
||||
ExcelUtil<GridCustCountLingshouNew825> util = new ExcelUtil<>(GridCustCountLingshouNew825.class);
|
||||
util.exportExcel(response, service.selectLsCustListNew825(regionCode, custName, custIdc, dt), "网格客户明细");
|
||||
return;
|
||||
}
|
||||
ExcelUtil<GridCustCountLingshou> util = new ExcelUtil<>(GridCustCountLingshou.class);
|
||||
util.exportExcel(response, service.selectLsCustList(regionCode, custName, custIdc,dt), "网格客户明细");
|
||||
util.exportExcel(response, service.selectLsCustList(regionCode, custName, custIdc, dt), "网格客户明细");
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Log(title = "导出公司客户明细")
|
||||
@ApiOperation(value = "导出公司客户明细", produces = "application/octet-stream")
|
||||
@GetMapping("exportGsCust")
|
||||
public void exportGsCust(HttpServletResponse response, @RequestParam String regionCode, String custName, String socialCreditCode,String dt) {
|
||||
public void exportGsCust(HttpServletResponse response, @RequestParam String regionCode, String custName, String socialCreditCode, String dt) {
|
||||
try {
|
||||
ExcelUtil<GridCustCountGongsi> util = new ExcelUtil<>(GridCustCountGongsi.class);
|
||||
util.exportExcel(response, service.selectGsCustList(regionCode, custName, socialCreditCode,dt), "网格客户明细");
|
||||
util.exportExcel(response, service.selectGsCustList(regionCode, custName, socialCreditCode, dt), "网格客户明细");
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 测试环境先放开965,上线前改回825。
|
||||
*/
|
||||
private boolean isNewRetailTenant() {
|
||||
return SecurityUtils.getDeptId().toString().startsWith("965");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,113 @@
|
||||
package com.ruoyi.ibs.grid.domain.entity;
|
||||
|
||||
import com.ruoyi.common.annotation.Excel;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 网格汇总统计_零售825专用对象 grid_cmpm_count_lingshou_new_825
|
||||
*/
|
||||
@Data
|
||||
public class GridCmpmCountLingshouNew825 implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Excel(name = "统计日期")
|
||||
private String dt;
|
||||
@Excel(name = "一级网格名称")
|
||||
private String gridName;
|
||||
@Excel(name = "二级网格名称")
|
||||
private String gridName2;
|
||||
@Excel(name = "县/区")
|
||||
private String county;
|
||||
@Excel(name = "镇/街道")
|
||||
private String town;
|
||||
@Excel(name = "村/社区")
|
||||
private String village;
|
||||
@Excel(name = "归属支行机构号")
|
||||
private String deptId;
|
||||
@Excel(name = "归属支行名称")
|
||||
private String deptName;
|
||||
@Excel(name = "归属网点机构号")
|
||||
private String outletsId;
|
||||
@Excel(name = "归属网点名称")
|
||||
private String outletsName;
|
||||
@Excel(name = "归属客户经理")
|
||||
private String userName;
|
||||
@Excel(name = "入格客户数")
|
||||
private Integer custNum;
|
||||
@Excel(name = "近365天已走访人数")
|
||||
private String zf365cnt;
|
||||
@Excel(name = "近180天已走访人数")
|
||||
private String zf180cnt;
|
||||
@Excel(name = "近90天已走访人数")
|
||||
private String zf90cnt;
|
||||
@Excel(name = "近30天已走访人数")
|
||||
private String zf30cnt;
|
||||
@Excel(name = "近365天走访率")
|
||||
private String zf365rt;
|
||||
@Excel(name = "近180天走访率")
|
||||
private String zf180rt;
|
||||
@Excel(name = "近90天走访率")
|
||||
private String zf90rt;
|
||||
@Excel(name = "近30天走访率")
|
||||
private String zf30rt;
|
||||
@Excel(name = "活期存款余额(元)")
|
||||
private String curBalD;
|
||||
@Excel(name = "授信率(%)")
|
||||
private String sxRat;
|
||||
@Excel(name = "用信覆盖率")
|
||||
private String yxRat;
|
||||
@Excel(name = "授信户数")
|
||||
private Integer sxNum;
|
||||
@Excel(name = "用信户数")
|
||||
private Integer yxNum;
|
||||
@Excel(name = "授信金额(合同)")
|
||||
private String sxBal;
|
||||
@Excel(name = "贷款余额(元)")
|
||||
private String balLoan;
|
||||
@Excel(name = "贷款年日均(元)")
|
||||
private String loanAve;
|
||||
@Excel(name = "合同签约率(%)")
|
||||
private String yxhtRat;
|
||||
@Excel(name = "代扣电费覆盖率(%)")
|
||||
private String dianRat;
|
||||
@Excel(name = "代扣水费率(%)")
|
||||
private String shuiRat;
|
||||
@Excel(name = "代扣税费率(%)")
|
||||
private String taxRat;
|
||||
@Excel(name = "开户率(%)")
|
||||
private String openRat;
|
||||
@Excel(name = "合同签约客户数")
|
||||
private Integer yxhtNum;
|
||||
@Excel(name = "代扣电费客户数")
|
||||
private Integer dianNum;
|
||||
@Excel(name = "代扣水费客户数")
|
||||
private Integer shuiNum;
|
||||
@Excel(name = "代扣税费数")
|
||||
private Integer taxNum;
|
||||
@Excel(name = "开户数")
|
||||
private Integer openNum;
|
||||
@Excel(name = "存款余额(元)")
|
||||
private String depBal;
|
||||
@Excel(name = "财富余额(元)")
|
||||
private String finBal;
|
||||
@Excel(name = "个人核心客户数")
|
||||
private Integer grhxNum;
|
||||
@Excel(name = "财富有效客户数")
|
||||
private Integer cfyxNum;
|
||||
@Excel(name = "有效信用卡数")
|
||||
private Integer yxxykNum;
|
||||
@Excel(name = "有效社保卡户数")
|
||||
private Integer yxsbkNum;
|
||||
@Excel(name = "二换三社保卡户数")
|
||||
private Integer twoTo3SbkNum;
|
||||
@Excel(name = "养老金迁移至社保卡户数")
|
||||
private Integer yljToSbkNum;
|
||||
@Excel(name = "丰收互联客户数")
|
||||
private Integer fshlNum;
|
||||
@Excel(name = "有效收单商户")
|
||||
private Integer yxsdNum;
|
||||
private String regionCode;
|
||||
private String opsDept;
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
package com.ruoyi.ibs.grid.domain.entity;
|
||||
|
||||
import com.ruoyi.common.annotation.Excel;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 客户明细统计_零售825专用对象 grid_cust_count_lingshou_new_825
|
||||
*/
|
||||
@Data
|
||||
public class GridCustCountLingshouNew825 implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Excel(name = "客户名称")
|
||||
private String custName;
|
||||
@Excel(name = "客户证件号")
|
||||
private String custIdc;
|
||||
@Excel(name = "客户内码")
|
||||
private String custIsn;
|
||||
@Excel(name = "活期存款余额")
|
||||
private String curBalD;
|
||||
@Excel(name = "贷款余额")
|
||||
private String balLoan;
|
||||
@Excel(name = "贷款年日均")
|
||||
private String loanAve;
|
||||
@Excel(name = "是否授信")
|
||||
private String isSx;
|
||||
@Excel(name = "是否用信")
|
||||
private String isYx;
|
||||
@Excel(name = "授信金额")
|
||||
private String sxBal;
|
||||
@Excel(name = "是否合同签约")
|
||||
private String isYxht;
|
||||
@Excel(name = "是否持有信用卡")
|
||||
private String isXyk;
|
||||
@Excel(name = "是否开通丰收互联")
|
||||
private String fshl;
|
||||
@Excel(name = "是否办理收单")
|
||||
private String isSd;
|
||||
@Excel(name = "是否代扣电费")
|
||||
private String dian;
|
||||
@Excel(name = "是否代扣水费")
|
||||
private String shui;
|
||||
@Excel(name = "是否代扣税费")
|
||||
private String tax;
|
||||
@Excel(name = "开户数")
|
||||
private String openNum;
|
||||
@Excel(name = "存款余额")
|
||||
private String depBal;
|
||||
@Excel(name = "财富余额")
|
||||
private String finBal;
|
||||
@Excel(name = "是否个人核心客户")
|
||||
private String isGrhx;
|
||||
@Excel(name = "是否财富有效客户")
|
||||
private String isCfyx;
|
||||
@Excel(name = "是否有效社保卡客户")
|
||||
private String isYxsbk;
|
||||
@Excel(name = "是否二换三社保卡")
|
||||
private String is2to3Sbk;
|
||||
@Excel(name = "是否养老金迁移至社保卡")
|
||||
private String isYljToSbk;
|
||||
private String regionCode;
|
||||
private String opsDept;
|
||||
private String custType;
|
||||
@Excel(name = "近365天有无走访")
|
||||
private String is365zf;
|
||||
@Excel(name = "近180天有无走访")
|
||||
private String is180zf;
|
||||
@Excel(name = "近90天有无走访")
|
||||
private String is90zf;
|
||||
@Excel(name = "近30天有无走访")
|
||||
private String is30zf;
|
||||
private String dt;
|
||||
}
|
||||
@@ -2,8 +2,10 @@ package com.ruoyi.ibs.grid.mapper;
|
||||
|
||||
import com.ruoyi.ibs.grid.domain.entity.GridCmpmCountGongsi;
|
||||
import com.ruoyi.ibs.grid.domain.entity.GridCmpmCountLingshou;
|
||||
import com.ruoyi.ibs.grid.domain.entity.GridCmpmCountLingshouNew825;
|
||||
import com.ruoyi.ibs.grid.domain.entity.GridCustCountGongsi;
|
||||
import com.ruoyi.ibs.grid.domain.entity.GridCustCountLingshou;
|
||||
import com.ruoyi.ibs.grid.domain.entity.GridCustCountLingshouNew825;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
import java.util.HashMap;
|
||||
@@ -12,10 +14,12 @@ import java.util.List;
|
||||
@Mapper
|
||||
public interface GridCountMapper {
|
||||
List<GridCmpmCountLingshou> selectLsCountList(HashMap<String, Object> paramMap);
|
||||
List<GridCmpmCountLingshouNew825> selectLsCountListNew825(HashMap<String, Object> paramMap);
|
||||
|
||||
List<GridCmpmCountGongsi> selectGsCountList(HashMap<String, Object> paramMap);
|
||||
|
||||
List<GridCustCountLingshou> selectLsCustList(HashMap<String, Object> paramMap);
|
||||
List<GridCustCountLingshouNew825> selectLsCustListNew825(HashMap<String, Object> paramMap);
|
||||
|
||||
List<GridCustCountGongsi> selectGsCustList(HashMap<String, Object> paramMap);
|
||||
}
|
||||
|
||||
@@ -2,18 +2,22 @@ package com.ruoyi.ibs.grid.service;
|
||||
|
||||
import com.ruoyi.ibs.grid.domain.entity.GridCmpmCountGongsi;
|
||||
import com.ruoyi.ibs.grid.domain.entity.GridCmpmCountLingshou;
|
||||
import com.ruoyi.ibs.grid.domain.entity.GridCmpmCountLingshouNew825;
|
||||
import com.ruoyi.ibs.grid.domain.entity.GridCustCountGongsi;
|
||||
import com.ruoyi.ibs.grid.domain.entity.GridCustCountLingshou;
|
||||
import com.ruoyi.ibs.grid.domain.entity.GridCustCountLingshouNew825;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
public interface GridCountService {
|
||||
List<GridCmpmCountLingshou> selectLsCountList(String town,String village,String dt);
|
||||
List<GridCmpmCountLingshouNew825> selectLsCountListNew825(String town, String village, String dt);
|
||||
|
||||
List<GridCmpmCountGongsi> selectGsCountList(String town, String village,String dt);
|
||||
|
||||
List<GridCustCountLingshou> selectLsCustList(String regionCode, String custName, String custIdc,String dt);
|
||||
List<GridCustCountLingshouNew825> selectLsCustListNew825(String regionCode, String custName, String custIdc, String dt);
|
||||
|
||||
List<GridCustCountGongsi> selectGsCustList(String regionCode, String custName, String socialCreditCode,String dt);
|
||||
}
|
||||
|
||||
@@ -3,8 +3,10 @@ package com.ruoyi.ibs.grid.service.impl;
|
||||
import com.ruoyi.common.utils.SecurityUtils;
|
||||
import com.ruoyi.ibs.grid.domain.entity.GridCmpmCountGongsi;
|
||||
import com.ruoyi.ibs.grid.domain.entity.GridCmpmCountLingshou;
|
||||
import com.ruoyi.ibs.grid.domain.entity.GridCmpmCountLingshouNew825;
|
||||
import com.ruoyi.ibs.grid.domain.entity.GridCustCountGongsi;
|
||||
import com.ruoyi.ibs.grid.domain.entity.GridCustCountLingshou;
|
||||
import com.ruoyi.ibs.grid.domain.entity.GridCustCountLingshouNew825;
|
||||
import com.ruoyi.ibs.grid.mapper.GridCountMapper;
|
||||
import com.ruoyi.ibs.grid.service.GridCountService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -21,6 +23,15 @@ public class GridCountServiceimpl implements GridCountService {
|
||||
|
||||
@Override
|
||||
public List<GridCmpmCountLingshou> selectLsCountList(String town,String village,String dt) {
|
||||
return mapper.selectLsCountList(buildLsCountParams(town, village, dt));
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<GridCmpmCountLingshouNew825> selectLsCountListNew825(String town, String village, String dt) {
|
||||
return mapper.selectLsCountListNew825(buildLsCountParams(town, village, dt));
|
||||
}
|
||||
|
||||
private HashMap<String, Object> buildLsCountParams(String town, String village, String dt) {
|
||||
HashMap<String, Object> paramMap = new HashMap<>();
|
||||
if(SecurityUtils.userRole().equals("branch")){
|
||||
paramMap.put("isBranch",true);
|
||||
@@ -36,7 +47,7 @@ public class GridCountServiceimpl implements GridCountService {
|
||||
paramMap.put("town",town);
|
||||
paramMap.put("village",village);
|
||||
paramMap.put("dt",dt);
|
||||
return mapper.selectLsCountList(paramMap);
|
||||
return paramMap;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -65,6 +76,15 @@ public class GridCountServiceimpl implements GridCountService {
|
||||
|
||||
@Override
|
||||
public List<GridCustCountLingshou> selectLsCustList(String regionCode, String custName, String custIdc,String dt) {
|
||||
return mapper.selectLsCustList(buildLsCustParams(regionCode, custName, custIdc, dt));
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<GridCustCountLingshouNew825> selectLsCustListNew825(String regionCode, String custName, String custIdc, String dt) {
|
||||
return mapper.selectLsCustListNew825(buildLsCustParams(regionCode, custName, custIdc, dt));
|
||||
}
|
||||
|
||||
private HashMap<String, Object> buildLsCustParams(String regionCode, String custName, String custIdc, String dt) {
|
||||
HashMap<String, Object> paramMap = new HashMap<>();
|
||||
paramMap.put("deptId",SecurityUtils.getDeptId());
|
||||
paramMap.put("userName",SecurityUtils.getUsername());
|
||||
@@ -72,7 +92,7 @@ public class GridCountServiceimpl implements GridCountService {
|
||||
paramMap.put("custName",custName);
|
||||
paramMap.put("custIdc",custIdc);
|
||||
paramMap.put("dt",dt);
|
||||
return mapper.selectLsCustList(paramMap);
|
||||
return paramMap;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -17,6 +17,9 @@ public class VisitInfoFeedbackUpdateDTO implements Serializable {
|
||||
@ApiModelProperty(value = "走访渠道")
|
||||
private String source;
|
||||
|
||||
@ApiModelProperty(value = "走访备注")
|
||||
private String remark;
|
||||
|
||||
@ApiModelProperty(value = "客户意愿结构化数据")
|
||||
private List<VisitFeedbackItemDTO> feedbackItems;
|
||||
|
||||
|
||||
@@ -2187,6 +2187,7 @@ public class SysCampaignServiceImpl implements ISysCampaignService
|
||||
updateDTO.setUserRole(SecurityUtils.userRole());
|
||||
updateDTO.setDeptId(String.valueOf(SecurityUtils.getDeptId()));
|
||||
updateDTO.setSource(StringUtils.trimToNull(updateDTO.getSource()));
|
||||
updateDTO.setRemark(StringUtils.trimToNull(updateDTO.getRemark()));
|
||||
updateDTO.setIntentionProductValue(buildIntentionProductValue(updateDTO.getFeedbackItems()));
|
||||
int rows = sysCampaignMapper.updateVisitInfoFeedback(updateDTO);
|
||||
if (rows <= 0) {
|
||||
|
||||
@@ -21,6 +21,24 @@
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="selectLsCountListNew825" resultType="com.ruoyi.ibs.grid.domain.entity.GridCmpmCountLingshouNew825">
|
||||
SELECT dt, grid_name, grid_name2, county, town, village, dept_id, dept_name, outlets_id, outlets_name,
|
||||
user_name, cust_num, zf_365cnt, zf_180cnt, zf_90cnt, zf_30cnt, zf_365rt, zf_180rt, zf_90rt,
|
||||
zf_30rt, cur_bal_d, sx_rat, yx_rat, sx_num, yx_num, sx_bal, bal_loan, loan_ave, yxht_rat, dian_rat,
|
||||
shui_rat, tax_rat, open_rat, yxht_num, dian_num, shui_num, tax_num, open_num, dep_bal, fin_bal,
|
||||
grhx_num, cfyx_num, yxxyk_num, yxsbk_num, `2to3_sbk_num` as twoTo3SbkNum, ylj_to_sbk_num,
|
||||
fshl_num, yxsd_num, region_code, ops_dept
|
||||
FROM grid_cmpm_count_lingshou_new_825
|
||||
<where>
|
||||
<if test=" dt != null and dt != ''">and dt = #{dt}</if>
|
||||
<if test=" town != null and town != ''">and town like concat('%',concat(#{town},'%'))</if>
|
||||
<if test=" village != null and village != ''">and village like concat('%',concat(#{village},'%'))</if>
|
||||
<if test=" isBranch == true">and dept_id like concat('%',concat(#{deptId},'%'))</if>
|
||||
<if test=" isOutlet == true">and outlets_id like concat('%',concat(#{deptId},'%'))</if>
|
||||
<if test=" isManager == true">and user_name like concat('%',concat(#{userName},'%'))</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="selectGsCountList" resultType="com.ruoyi.ibs.grid.domain.entity.GridCmpmCountGongsi">
|
||||
SELECT dt, grid_name, grid_name2, town, dept_id,dept_name, outlets_id,outlets_name, user_name,
|
||||
cust_num, hq_cur_balance, bz_cur_balance, loan_balance_cny, finance_prod_711_balance,ustr_count_per_m,ustr_bal_m,
|
||||
@@ -59,6 +77,46 @@
|
||||
<if test=" custIdc != null and custIdc != ''">and cust_idc like concat('%',concat(#{custIdc},'%'))</if>
|
||||
</select>
|
||||
|
||||
<select id="selectLsCustListNew825" resultType="com.ruoyi.ibs.grid.domain.entity.GridCustCountLingshouNew825">
|
||||
SELECT cust_name,
|
||||
cust_idc,
|
||||
cust_isn,
|
||||
cur_bal_d,
|
||||
bal_loan,
|
||||
loan_ave,
|
||||
is_sx,
|
||||
is_yx,
|
||||
sx_bal,
|
||||
is_yxht,
|
||||
is_xyk,
|
||||
fshl,
|
||||
is_sd,
|
||||
dian,
|
||||
shui,
|
||||
tax,
|
||||
open_num,
|
||||
dep_bal,
|
||||
fin_bal,
|
||||
is_grhx,
|
||||
is_cfyx,
|
||||
is_yxsbk,
|
||||
is_2to3_sbk,
|
||||
is_ylj_to_sbk,
|
||||
region_code,
|
||||
ops_dept,
|
||||
cust_type,
|
||||
is_365zf,
|
||||
is_180zf,
|
||||
is_90zf,
|
||||
is_30zf,
|
||||
dt
|
||||
FROM grid_cust_count_lingshou_new_825
|
||||
where region_code = #{regionCode}
|
||||
<if test=" dt != null and dt != ''">and dt = #{dt}</if>
|
||||
<if test=" custName != null and custName != ''">and cust_name like concat('%',concat(#{custName},'%'))</if>
|
||||
<if test=" custIdc != null and custIdc != ''">and cust_idc like concat('%',concat(#{custIdc},'%'))</if>
|
||||
</select>
|
||||
|
||||
|
||||
<select id="selectGsCustList" resultType="com.ruoyi.ibs.grid.domain.entity.GridCustCountGongsi">
|
||||
SELECT cust_name, social_credit_code, cust_isn, hq_cur_balance, bz_cur_balance, is_credit,
|
||||
@@ -77,4 +135,4 @@
|
||||
<if test=" socialCreditCode != null and socialCreditCode != ''">and social_credit_code like concat('%',concat(#{socialCreditCode},'%'))</if>
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
</mapper>
|
||||
|
||||
@@ -1429,7 +1429,9 @@
|
||||
update visit_info vi
|
||||
left join sys_dept d on vi.dept_id = d.dept_id
|
||||
set vi.source = #{source},
|
||||
vi.remark = #{remark},
|
||||
vi.intention_product_value = #{intentionProductValue},
|
||||
vi.inter_res = '0',
|
||||
vi.update_by = #{userName},
|
||||
vi.update_time = sysdate()
|
||||
where vi.id = #{id}
|
||||
|
||||
@@ -112,6 +112,7 @@ import { Message } from "element-ui";
|
||||
import {
|
||||
|
||||
privateTotalColumns, publicTotalColumns,
|
||||
privateTotalColumnsNew825,
|
||||
privateTotalColumnsNm, publicTotalColumnsNm,
|
||||
privateTotalColumnsMap, publicTotalColumnsMap,
|
||||
privateTotalColumnsAll, publicTotalColumnsAll,
|
||||
@@ -163,7 +164,7 @@ export default {
|
||||
},
|
||||
|
||||
computed: {
|
||||
...mapGetters(["roles"]),
|
||||
...mapGetters(["roles", "deptId"]),
|
||||
//对公
|
||||
isPublic() {
|
||||
return this.roles.includes("headPublic");
|
||||
@@ -172,6 +173,9 @@ export default {
|
||||
isPrivate() {
|
||||
return this.roles.includes("headPrivate");
|
||||
},
|
||||
isRetailNew825Tenant() {
|
||||
return String(this.deptId || '').slice(0, 3) === '965';
|
||||
},
|
||||
},
|
||||
created() {
|
||||
const {
|
||||
@@ -196,7 +200,7 @@ export default {
|
||||
this.shapeName = shapeName;
|
||||
this.shapeId = shapeId;
|
||||
if (type == '1') {
|
||||
this.tableColumns = this.isActive1 ? privateTotalColumns : this.isActive3 ?
|
||||
this.tableColumns = this.isActive1 ? (this.isRetailNew825Tenant ? privateTotalColumnsNew825 : privateTotalColumns) : this.isActive3 ?
|
||||
privateTotalColumnsNm : this.isActive4 ? privateTotalColumnsMap : privateTotalColumnsAll;
|
||||
}
|
||||
if (type == '2') {
|
||||
|
||||
@@ -279,6 +279,7 @@ import { cloneDeep, isEmpty } from 'lodash'
|
||||
import { Message } from 'element-ui'
|
||||
import {
|
||||
privateColumns,
|
||||
privateColumnsNew825,
|
||||
publicColumns,
|
||||
privateColumnsNm,
|
||||
publicColumnsNm,
|
||||
@@ -349,7 +350,7 @@ export default {
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
...mapGetters(['roles', 'userName']),
|
||||
...mapGetters(['roles', 'userName', 'deptId']),
|
||||
// 对公
|
||||
isPublic() {
|
||||
return this.roles.includes('headPublic')
|
||||
@@ -361,52 +362,17 @@ export default {
|
||||
// 965租户
|
||||
is965() {
|
||||
return this.userName.slice(0, 3) == 965
|
||||
},
|
||||
isRetailNew825Tenant() {
|
||||
return String(this.deptId || '').slice(0, 3) === '965'
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
selectedTab: {
|
||||
handler(val) {
|
||||
if (val) {
|
||||
if (val == '1') {
|
||||
this.tableColumns = this.isActive1
|
||||
? privateColumns
|
||||
: this.isActive3
|
||||
? privateColumnsNm
|
||||
: this.isActive4
|
||||
? privateColumnsMap
|
||||
: this.isActive7
|
||||
? customAuth
|
||||
: privateColumnsAll
|
||||
this.tableKey = this.isActive1
|
||||
? '11'
|
||||
: this.isActive3
|
||||
? '12'
|
||||
: this.isActive4
|
||||
? '13'
|
||||
: this.isActive7
|
||||
? '15'
|
||||
: '14'
|
||||
}
|
||||
if (val == '2') {
|
||||
this.tableColumns = this.isActive1
|
||||
? publicColumns
|
||||
: this.isActive3
|
||||
? publicColumnsNm
|
||||
: this.isActive4
|
||||
? publicColumnsMap
|
||||
: this.isActive7
|
||||
? customAuth
|
||||
: publicColumnsAll
|
||||
this.tableKey = this.isActive1
|
||||
? '21'
|
||||
: this.isActive3
|
||||
? '22'
|
||||
: this.isActive4
|
||||
? '23'
|
||||
: this.isActive7
|
||||
? '25'
|
||||
: '24'
|
||||
}
|
||||
this.tableColumns = this.getCurrentColumns(val)
|
||||
this.tableKey = this.getCurrentTableKey(val)
|
||||
}
|
||||
},
|
||||
immediate: true
|
||||
@@ -432,46 +398,8 @@ export default {
|
||||
this.isActive3 = isActive == '3'
|
||||
this.isActive4 = isActive == '4'
|
||||
this.isActive6 = isActive == '6'
|
||||
if (type == '1') {
|
||||
this.tableColumns = this.isActive1
|
||||
? privateColumns
|
||||
: this.isActive3
|
||||
? privateColumnsNm
|
||||
: this.isActive4
|
||||
? privateColumnsMap
|
||||
: this.isActive7
|
||||
? customAuth
|
||||
: privateColumnsAll
|
||||
this.tableKey = this.isActive1
|
||||
? '11'
|
||||
: this.isActive3
|
||||
? '12'
|
||||
: this.isActive4
|
||||
? '13'
|
||||
: this.isActive7
|
||||
? '15'
|
||||
: '14'
|
||||
}
|
||||
if (type == '2') {
|
||||
this.tableColumns = this.isActive1
|
||||
? publicColumns
|
||||
: this.isActive3
|
||||
? publicColumnsNm
|
||||
: this.isActive4
|
||||
? publicColumnsMap
|
||||
: this.isActive7
|
||||
? customAuth
|
||||
: publicColumnsAll
|
||||
this.tableKey = this.isActive1
|
||||
? '21'
|
||||
: this.isActive3
|
||||
? '22'
|
||||
: this.isActive4
|
||||
? '23'
|
||||
: this.isActive7
|
||||
? '25'
|
||||
: '24'
|
||||
}
|
||||
this.tableColumns = this.getCurrentColumns(type)
|
||||
this.tableKey = this.getCurrentTableKey(type)
|
||||
for (const key in this.$route.query) {
|
||||
delete this.$route.query[key]
|
||||
}
|
||||
@@ -489,6 +417,53 @@ export default {
|
||||
this.init()
|
||||
},
|
||||
methods: {
|
||||
getRetailPrivateColumns() {
|
||||
return this.isRetailNew825Tenant ? privateColumnsNew825 : privateColumns
|
||||
},
|
||||
getCurrentColumns(tab) {
|
||||
if (tab == '1') {
|
||||
return this.isActive1
|
||||
? this.getRetailPrivateColumns()
|
||||
: this.isActive3
|
||||
? privateColumnsNm
|
||||
: this.isActive4
|
||||
? privateColumnsMap
|
||||
: this.isActive7
|
||||
? customAuth
|
||||
: privateColumnsAll
|
||||
}
|
||||
return this.isActive1
|
||||
? publicColumns
|
||||
: this.isActive3
|
||||
? publicColumnsNm
|
||||
: this.isActive4
|
||||
? publicColumnsMap
|
||||
: this.isActive7
|
||||
? customAuth
|
||||
: publicColumnsAll
|
||||
},
|
||||
getCurrentTableKey(tab) {
|
||||
if (tab == '1') {
|
||||
return this.isActive1
|
||||
? (this.isRetailNew825Tenant ? '11-825' : '11')
|
||||
: this.isActive3
|
||||
? '12'
|
||||
: this.isActive4
|
||||
? '13'
|
||||
: this.isActive7
|
||||
? '15'
|
||||
: '14'
|
||||
}
|
||||
return this.isActive1
|
||||
? '21'
|
||||
: this.isActive3
|
||||
? '22'
|
||||
: this.isActive4
|
||||
? '23'
|
||||
: this.isActive7
|
||||
? '25'
|
||||
: '24'
|
||||
},
|
||||
handleMyApprove(type) {
|
||||
this.isActive1 = type == '1'
|
||||
this.isActive2 = type == '2'
|
||||
@@ -504,46 +479,8 @@ export default {
|
||||
this.isActive6 ||
|
||||
this.isActive7
|
||||
) {
|
||||
if (this.selectedTab == '1') {
|
||||
this.tableColumns = this.isActive1
|
||||
? privateColumns
|
||||
: this.isActive3
|
||||
? privateColumnsNm
|
||||
: this.isActive4
|
||||
? privateColumnsMap
|
||||
: this.isActive7
|
||||
? customAuth
|
||||
: privateColumnsAll
|
||||
this.tableKey = this.isActive1
|
||||
? '11'
|
||||
: this.isActive3
|
||||
? '12'
|
||||
: this.isActive4
|
||||
? '13'
|
||||
: this.isActive7
|
||||
? '15'
|
||||
: '14'
|
||||
}
|
||||
if (this.selectedTab == '2') {
|
||||
this.tableColumns = this.isActive1
|
||||
? publicColumns
|
||||
: this.isActive3
|
||||
? publicColumnsNm
|
||||
: this.isActive4
|
||||
? publicColumnsMap
|
||||
: this.isActive7
|
||||
? customAuth
|
||||
: publicColumnsAll
|
||||
this.tableKey = this.isActive1
|
||||
? '21'
|
||||
: this.isActive3
|
||||
? '22'
|
||||
: this.isActive4
|
||||
? '23'
|
||||
: this.isActive7
|
||||
? '25'
|
||||
: '24'
|
||||
}
|
||||
this.tableColumns = this.getCurrentColumns(this.selectedTab)
|
||||
this.tableKey = this.getCurrentTableKey(this.selectedTab)
|
||||
const date = new Date()
|
||||
date.setDate(date.getDate() - 1)
|
||||
const year = date.getFullYear()
|
||||
|
||||
@@ -201,6 +201,57 @@ export const privateColumns = [
|
||||
}
|
||||
]
|
||||
|
||||
export const privateColumnsNew825 = [
|
||||
{ prop: 'dt', label: '统计日期(T+1)', width: 140 },
|
||||
{ prop: 'gridName', label: '一级网格名称', width: 160 },
|
||||
{ prop: 'gridName2', label: '二级网格名称', width: 160 },
|
||||
{ prop: 'county', label: '县/区', width: 120 },
|
||||
{ prop: 'town', label: '镇/街道', width: 140 },
|
||||
{ prop: 'village', label: '村/社区', width: 140 },
|
||||
{ prop: 'deptId', label: '归属支行机构号', width: 140 },
|
||||
{ prop: 'deptName', label: '归属支行名称', width: 140 },
|
||||
{ prop: 'outletsId', label: '归属网点机构号', width: 140 },
|
||||
{ prop: 'outletsName', label: '归属网点名称', width: 140 },
|
||||
{ prop: 'userName', label: '归属客户经理', width: 140 },
|
||||
{ prop: 'custNum', label: '入格客户数', width: 120 },
|
||||
{ prop: 'zf365cnt', label: '近365天已走访人数', width: 150 },
|
||||
{ prop: 'zf180cnt', label: '近180天已走访人数', width: 150 },
|
||||
{ prop: 'zf90cnt', label: '近90天已走访人数', width: 150 },
|
||||
{ prop: 'zf30cnt', label: '近30天已走访人数', width: 150 },
|
||||
{ prop: 'curBalD', label: '活期存款余额(元)', width: 160 },
|
||||
{ prop: 'sxNum', label: '授信户数', width: 120 },
|
||||
{ prop: 'yxNum', label: '用信户数', width: 120 },
|
||||
{ prop: 'sxBal', label: '授信金额(合同)', width: 160 },
|
||||
{ prop: 'balLoan', label: '贷款余额(元)', width: 150 },
|
||||
{ prop: 'loanAve', label: '贷款年日均(元)', width: 150 },
|
||||
{ prop: 'yxhtNum', label: '合同签约客户数', width: 150 },
|
||||
{ prop: 'dianNum', label: '代扣电费客户数', width: 150 },
|
||||
{ prop: 'shuiNum', label: '代扣水费客户数', width: 150 },
|
||||
{ prop: 'taxNum', label: '代扣税费数', width: 140 },
|
||||
{ prop: 'openNum', label: '开户数', width: 120 },
|
||||
{ prop: 'depBal', label: '存款余额(元)', width: 150 },
|
||||
{ prop: 'finBal', label: '财富余额(元)', width: 150 },
|
||||
{ prop: 'grhxNum', label: '个人核心客户数', width: 150 },
|
||||
{ prop: 'cfyxNum', label: '财富有效客户数', width: 150 },
|
||||
{ prop: 'yxxykNum', label: '有效信用卡数', width: 140 },
|
||||
{ prop: 'yxsbkNum', label: '有效社保卡户数', width: 150 },
|
||||
{ prop: 'twoTo3SbkNum', label: '二换三社保卡户数', width: 160 },
|
||||
{ prop: 'yljToSbkNum', label: '养老金迁移至社保卡户数', width: 180 },
|
||||
{ prop: 'fshlNum', label: '丰收互联客户数', width: 150 },
|
||||
{ prop: 'yxsdNum', label: '有效收单商户', width: 140 },
|
||||
{ prop: 'zf365rt', label: '近365天走访率', width: 140 },
|
||||
{ prop: 'zf180rt', label: '近180天走访率', width: 140 },
|
||||
{ prop: 'zf90rt', label: '近90天走访率', width: 140 },
|
||||
{ prop: 'zf30rt', label: '近30天走访率', width: 140 },
|
||||
{ prop: 'sxRat', label: '授信率(%)', width: 120 },
|
||||
{ prop: 'yxRat', label: '用信覆盖率', width: 120 },
|
||||
{ prop: 'yxhtRat', label: '合同签约率(%)', width: 140 },
|
||||
{ prop: 'dianRat', label: '代扣电费覆盖率(%)', width: 150 },
|
||||
{ prop: 'shuiRat', label: '代扣水费率(%)', width: 140 },
|
||||
{ prop: 'taxRat', label: '代扣税费率(%)', width: 140 },
|
||||
{ prop: 'openRat', label: '开户率(%)', width: 120 }
|
||||
]
|
||||
|
||||
// 公司
|
||||
export const publicColumns = [
|
||||
{
|
||||
@@ -564,6 +615,37 @@ export const privateTotalColumns = [
|
||||
}
|
||||
]
|
||||
|
||||
export const privateTotalColumnsNew825 = [
|
||||
{ prop: 'custName', label: '客户名称', width: 120 },
|
||||
{ prop: 'custIdc', label: '客户证件号', width: 140 },
|
||||
{ prop: 'custIsn', label: '客户内码', width: 120 },
|
||||
{ prop: 'curBalD', label: '活期存款余额', width: 140 },
|
||||
{ prop: 'balLoan', label: '贷款余额', width: 140 },
|
||||
{ prop: 'loanAve', label: '贷款年日均', width: 140 },
|
||||
{ prop: 'isSx', label: '是否授信', width: 100 },
|
||||
{ prop: 'isYx', label: '是否用信', width: 100 },
|
||||
{ prop: 'sxBal', label: '授信金额', width: 120 },
|
||||
{ prop: 'isYxht', label: '是否合同签约', width: 120 },
|
||||
{ prop: 'isXyk', label: '是否持有信用卡', width: 130 },
|
||||
{ prop: 'fshl', label: '是否开通丰收互联', width: 140 },
|
||||
{ prop: 'isSd', label: '是否办理收单', width: 120 },
|
||||
{ prop: 'dian', label: '是否代扣电费', width: 120 },
|
||||
{ prop: 'shui', label: '是否代扣水费', width: 120 },
|
||||
{ prop: 'tax', label: '是否代扣税费', width: 120 },
|
||||
{ prop: 'openNum', label: '开户数', width: 100 },
|
||||
{ prop: 'depBal', label: '存款余额', width: 120 },
|
||||
{ prop: 'finBal', label: '财富余额', width: 120 },
|
||||
{ prop: 'isGrhx', label: '是否个人核心客户', width: 140 },
|
||||
{ prop: 'isCfyx', label: '是否财富有效客户', width: 140 },
|
||||
{ prop: 'isYxsbk', label: '是否有效社保卡客户', width: 150 },
|
||||
{ prop: 'is2to3Sbk', label: '是否二换三社保卡', width: 150 },
|
||||
{ prop: 'isYljToSbk', label: '是否养老金迁移至社保卡', width: 180 },
|
||||
{ prop: 'is365zf', label: '近365天有无走访', width: 140 },
|
||||
{ prop: 'is180zf', label: '近180天有无走访', width: 140 },
|
||||
{ prop: 'is90zf', label: '近90天有无走访', width: 140 },
|
||||
{ prop: 'is30zf', label: '近30天有无走访', width: 140 }
|
||||
]
|
||||
|
||||
// 公司明细
|
||||
export const publicTotalColumns = [
|
||||
{
|
||||
|
||||
@@ -422,6 +422,15 @@
|
||||
<el-radio v-for="item in sourceOptions" :key="item.value" :label="item.value">{{ item.label }}</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="走访备注">
|
||||
<el-input
|
||||
v-model="feedbackForm.remark"
|
||||
type="textarea"
|
||||
:rows="3"
|
||||
maxlength="200"
|
||||
show-word-limit
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="客户意愿" required>
|
||||
<div class="feedback-groups">
|
||||
<section v-for="type in feedbackTypeOptions" :key="type" class="feedback-group">
|
||||
@@ -541,6 +550,7 @@ export default {
|
||||
feedbackForm: {
|
||||
id: null,
|
||||
source: "",
|
||||
remark: "",
|
||||
feedbackSelections: createEmptyFeedbackSelections()
|
||||
}
|
||||
};
|
||||
@@ -616,6 +626,7 @@ export default {
|
||||
this.feedbackForm = {
|
||||
id: null,
|
||||
source: "",
|
||||
remark: "",
|
||||
feedbackSelections: createEmptyFeedbackSelections()
|
||||
};
|
||||
},
|
||||
@@ -666,6 +677,7 @@ export default {
|
||||
this.feedbackForm = {
|
||||
id: row.id,
|
||||
source: row.source === null || row.source === undefined ? "" : String(row.source),
|
||||
remark: row.remark || "",
|
||||
feedbackSelections: this.parseFeedbackValue(row.intentionProductValue)
|
||||
};
|
||||
this.feedbackDialogVisible = true;
|
||||
@@ -683,6 +695,7 @@ export default {
|
||||
const payload = {
|
||||
id: this.feedbackForm.id,
|
||||
source: this.feedbackForm.source || null,
|
||||
remark: this.feedbackForm.remark || null,
|
||||
feedbackItems
|
||||
};
|
||||
this.feedbackSubmitting = true;
|
||||
|
||||
Reference in New Issue
Block a user