Compare commits
No commits in common. "3f14e0177e86a3a5d39a63b05dbd9f28fca291eb" and "a6d884454b95b729796ebbbb3590e58c5f257278" have entirely different histories.
3f14e0177e
...
a6d884454b
|
@ -157,37 +157,6 @@ public class QuotController extends BaseController
|
||||||
return success(quot);
|
return success(quot);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取报价详细信息-整单通过
|
|
||||||
*/
|
|
||||||
@PreAuthorize("@ss.hasPermi('quot:quot:allPass')")
|
|
||||||
@GetMapping(value = "/allPass/{quotId}")
|
|
||||||
@Log(title = "报价单-手动更新状态为通过", businessType = BusinessType.UPDATE)
|
|
||||||
public AjaxResult getAllPassInfo(@PathVariable("quotId") String quotId)
|
|
||||||
{
|
|
||||||
Quot quot = quotService.selectQuotByQuotId(quotId);
|
|
||||||
quot.setQuotApprovalStatus("2");// 提交状态设置为 通过
|
|
||||||
quot.setQuotQuotationDate(DateUtils.getNowDate());//报价单-报价日期设置为 当前日期
|
|
||||||
quot.setQuotCheckUserName(getUsername());
|
|
||||||
quotService.updateQuot(quot);
|
|
||||||
return success(quot);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取报价详细信息-整单驳回
|
|
||||||
*/
|
|
||||||
@PreAuthorize("@ss.hasPermi('quot:quot:allReject')")
|
|
||||||
@PostMapping(value = "/allReject")
|
|
||||||
@Log(title = "报价单-手动更新状态为驳回", businessType = BusinessType.UPDATE)
|
|
||||||
public AjaxResult getAllRejectInfo(@RequestBody Quot quot)
|
|
||||||
{
|
|
||||||
quot.setQuotApprovalStatus("3");// 提交状态设置为 驳回
|
|
||||||
quot.setQuotQuotationDate(DateUtils.getNowDate());//报价单-报价日期设置为 当前日期
|
|
||||||
quot.setQuotCheckUserName(getUsername());
|
|
||||||
quotService.updateQuot(quot);
|
|
||||||
return success(quot);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 导出产品明细模板
|
* 导出产品明细模板
|
||||||
* @param response
|
* @param response
|
||||||
|
|
|
@ -275,7 +275,7 @@ public class RedBookController extends BaseController
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 导出产品明细模板-型号、规格、电压、数量
|
* 导出产品明细模板
|
||||||
* @param response
|
* @param response
|
||||||
*/
|
*/
|
||||||
@PostMapping("/importTemplate")
|
@PostMapping("/importTemplate")
|
||||||
|
@ -286,7 +286,7 @@ public class RedBookController extends BaseController
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 导入产品明细-型号、规格、电压、数量
|
* 导入产品明细
|
||||||
* @param file
|
* @param file
|
||||||
* @param updateSupport
|
* @param updateSupport
|
||||||
* @return
|
* @return
|
||||||
|
@ -332,9 +332,7 @@ public class RedBookController extends BaseController
|
||||||
}
|
}
|
||||||
|
|
||||||
System.out.println("开始时间:" + DateUtils.getTime());
|
System.out.println("开始时间:" + DateUtils.getTime());
|
||||||
//List<List<OAQuotProductTemplate>> list = ListSplitUtil.averageList(tempList,10);
|
List<List<OAQuotProductTemplate>> list = ListSplitUtil.averageList(tempList,10);
|
||||||
List<List<OAQuotProductTemplate>> list = ListSplitUtil.partList(tempList,20);
|
|
||||||
|
|
||||||
List<OAQuotProduct> OAQuotProducts = new ArrayList<>();
|
List<OAQuotProduct> OAQuotProducts = new ArrayList<>();
|
||||||
|
|
||||||
//定义一个存所有线程回调函数的list
|
//定义一个存所有线程回调函数的list
|
||||||
|
@ -365,85 +363,6 @@ public class RedBookController extends BaseController
|
||||||
return success(OAQuotProducts);
|
return success(OAQuotProducts);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 导出产品明细模板-品名型号
|
|
||||||
* @param response
|
|
||||||
*/
|
|
||||||
@PostMapping("/importTemplate2")
|
|
||||||
public void importTemplate2(HttpServletResponse response)
|
|
||||||
{
|
|
||||||
ExcelUtil<OAQuotProductTemplate2> util = new ExcelUtil<OAQuotProductTemplate2>(OAQuotProductTemplate2.class);
|
|
||||||
util.importTemplateExcel(response, "产品数据");
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 导入产品明细-品名型号
|
|
||||||
* @param file
|
|
||||||
* @param updateSupport
|
|
||||||
* @return
|
|
||||||
* @throws Exception
|
|
||||||
*/
|
|
||||||
@PostMapping("/importData2")
|
|
||||||
public AjaxResult importData2(String rbUid, MultipartFile file, boolean updateSupport) throws Exception
|
|
||||||
{
|
|
||||||
ExcelUtil<OAQuotProductTemplate2> util = new ExcelUtil<OAQuotProductTemplate2>(OAQuotProductTemplate2.class);
|
|
||||||
List<OAQuotProductTemplate2> tempList = util.importExcel(file.getInputStream());
|
|
||||||
|
|
||||||
if(tempList.size()==0){
|
|
||||||
return error("导入文件无产品明细数据");
|
|
||||||
}else if(tempList.size()>200){
|
|
||||||
return error("最多导入200条");
|
|
||||||
}
|
|
||||||
|
|
||||||
int index = 1;
|
|
||||||
for(OAQuotProductTemplate2 temp:tempList){
|
|
||||||
temp.setIndex(index);
|
|
||||||
temp.setRbUid(rbUid);
|
|
||||||
|
|
||||||
String name_0 = temp.getName_0();
|
|
||||||
if(StringUtils.isNotBlank(name_0)){
|
|
||||||
name_0 = name_0.trim();
|
|
||||||
name_0 = name_0.replace(" "," ");
|
|
||||||
name_0 = name_0.toUpperCase();
|
|
||||||
temp.setName_0(name_0);
|
|
||||||
}
|
|
||||||
index++;
|
|
||||||
}
|
|
||||||
|
|
||||||
System.out.println("开始时间:" + DateUtils.getTime());
|
|
||||||
//List<List<OAQuotProductTemplate>> list = ListSplitUtil.averageList(tempList,10);
|
|
||||||
List<List<OAQuotProductTemplate2>> list = ListSplitUtil.partList(tempList,20);
|
|
||||||
|
|
||||||
List<OAQuotProduct> OAQuotProducts = new ArrayList<>();
|
|
||||||
|
|
||||||
//定义一个存所有线程回调函数的list
|
|
||||||
List<Future<List<OAQuotProduct>>> futureList=new ArrayList<>();
|
|
||||||
int num = 1;
|
|
||||||
for(List<OAQuotProductTemplate2> lt:list){
|
|
||||||
futureList.add(asyncRbTaskService.executeAsyncTask3("线程"+num+"【"+lt.size()+"条】",lt));
|
|
||||||
num++;
|
|
||||||
}
|
|
||||||
//判断进程是否全部结束**
|
|
||||||
while (true){
|
|
||||||
//回调信息空了就结束**
|
|
||||||
if (futureList.isEmpty()){
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
for (int i = 0; i < futureList.size(); i++) {
|
|
||||||
if (futureList.get(i).isDone()){
|
|
||||||
OAQuotProducts.addAll(futureList.get(i).get());
|
|
||||||
//判断线程结束,输出回调信息,并将该回调清除
|
|
||||||
futureList.remove(i);
|
|
||||||
}else {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
System.out.println("结束时间:" + DateUtils.getTime());
|
|
||||||
Collections.sort(OAQuotProducts);
|
|
||||||
return success(OAQuotProducts);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取调价日期
|
* 获取调价日期
|
||||||
* @param oAQuot
|
* @param oAQuot
|
||||||
|
|
|
@ -359,8 +359,8 @@ public class excelUtil {
|
||||||
response.setContentType("application/vnd.ms-excel");
|
response.setContentType("application/vnd.ms-excel");
|
||||||
BigDecimal totalmoney = BigDecimal.ZERO;
|
BigDecimal totalmoney = BigDecimal.ZERO;
|
||||||
|
|
||||||
File jnlogo_file = new File("logon/"+IdUtils.createNo("jnlogo_",3)+".png");
|
File jnlogo_file = new File("logon/"+quot.getQuotCode()+".png");
|
||||||
File wc_file = new File("logon/"+IdUtils.createNo("wc_",3)+".png");
|
File wc_file = new File("logon/"+quot.getQuotCode()+".png");
|
||||||
try {
|
try {
|
||||||
OutputStream os = response.getOutputStream();
|
OutputStream os = response.getOutputStream();
|
||||||
WritableWorkbook wwb = Workbook.createWorkbook(os);
|
WritableWorkbook wwb = Workbook.createWorkbook(os);
|
||||||
|
|
|
@ -31,7 +31,7 @@ server:
|
||||||
uri-encoding: UTF-8
|
uri-encoding: UTF-8
|
||||||
# 连接数满后的排队数,默认为100
|
# 连接数满后的排队数,默认为100
|
||||||
accept-count: 1000
|
accept-count: 1000
|
||||||
connection-timeout: 600s
|
connection-timeout: 120s
|
||||||
threads:
|
threads:
|
||||||
# tomcat最大线程数,默认为200
|
# tomcat最大线程数,默认为200
|
||||||
max: 800
|
max: 800
|
||||||
|
@ -110,7 +110,7 @@ token:
|
||||||
# 令牌密钥
|
# 令牌密钥
|
||||||
secret: abcdefghijklmnopqrstuvwxyz
|
secret: abcdefghijklmnopqrstuvwxyz
|
||||||
# 令牌有效期(默认30分钟)
|
# 令牌有效期(默认30分钟)
|
||||||
expireTime: 60
|
expireTime: 30
|
||||||
|
|
||||||
# MyBatis配置
|
# MyBatis配置
|
||||||
mybatis:
|
mybatis:
|
||||||
|
|
|
@ -28,7 +28,7 @@ public class WebSocketServer
|
||||||
/**
|
/**
|
||||||
* 默认最多允许同时在线人数100
|
* 默认最多允许同时在线人数100
|
||||||
*/
|
*/
|
||||||
public static int socketMaxOnlineCount = 10000;
|
public static int socketMaxOnlineCount = 100;
|
||||||
|
|
||||||
private static final Semaphore SOCKET_SEMAPHORE = new Semaphore(socketMaxOnlineCount);
|
private static final Semaphore SOCKET_SEMAPHORE = new Semaphore(socketMaxOnlineCount);
|
||||||
|
|
||||||
|
|
|
@ -1,41 +0,0 @@
|
||||||
package com.ruoyi.redBook.domain;
|
|
||||||
|
|
||||||
import com.ruoyi.common.annotation.Excel;
|
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
|
||||||
|
|
||||||
public class OAQuotProductTemplate2 {
|
|
||||||
private Integer index;
|
|
||||||
|
|
||||||
private String rbUid;
|
|
||||||
|
|
||||||
@Excel(name = "品名型号")
|
|
||||||
private String name_0;//品名型号
|
|
||||||
|
|
||||||
@Excel(name = "数量")
|
|
||||||
private BigDecimal count;//数量
|
|
||||||
|
|
||||||
public Integer getIndex() { return index; }
|
|
||||||
|
|
||||||
public void setIndex(Integer index) { this.index = index; }
|
|
||||||
|
|
||||||
public String getRbUid() { return rbUid; }
|
|
||||||
|
|
||||||
public void setRbUid(String rbUid) { this.rbUid = rbUid; }
|
|
||||||
|
|
||||||
public String getName_0() {
|
|
||||||
return name_0;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setName_0(String name_0) {
|
|
||||||
this.name_0 = name_0;
|
|
||||||
}
|
|
||||||
|
|
||||||
public BigDecimal getCount() {
|
|
||||||
return count;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setCount(BigDecimal count) {
|
|
||||||
this.count = count;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -117,22 +117,14 @@ public interface OARedBookMapper
|
||||||
String getFixDatePrice(@Param("name_0") String name_0,@Param("spec") String spec,@Param("voltage") String voltage, @Param("uid_0") String uid_0);
|
String getFixDatePrice(@Param("name_0") String name_0,@Param("spec") String spec,@Param("voltage") String voltage, @Param("uid_0") String uid_0);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 导入明细批量获取红本价格-型号、规格、电压、数量
|
* 导入明细批量获取红本价格
|
||||||
* @param name_1
|
* @param name_0
|
||||||
* @param spec
|
* @param spec
|
||||||
* @param rbUid
|
* @param rbUid
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
OAQuotProduct getFixDatePrice2(@Param("name_1") String name_1, @Param("spec") String spec, @Param("voltage") String voltage, @Param("uid_0") String rbUid);
|
OAQuotProduct getFixDatePrice2(@Param("name_1") String name_1, @Param("spec") String spec, @Param("voltage") String voltage, @Param("uid_0") String rbUid);
|
||||||
|
|
||||||
/**
|
|
||||||
* 导入明细批量获取红本价格-品名型号
|
|
||||||
* @param name_0
|
|
||||||
* @param rbUid
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
OAQuotProduct getFixDatePrice3(@Param("name_0") String name_0, @Param("uid_0") String rbUid);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询已生成的报价单列表
|
* 查询已生成的报价单列表
|
||||||
* @param oaQuot
|
* @param oaQuot
|
||||||
|
|
|
@ -141,20 +141,12 @@ public interface IRedBookService
|
||||||
List<OAQuotProduct> setRedBookPrice(List<OAQuotProduct> list);
|
List<OAQuotProduct> setRedBookPrice(List<OAQuotProduct> list);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 导入明细批量获取红本价格-型号、规格、电压、数量
|
* 导入明细批量获取红本价格
|
||||||
* @param list
|
* @param list
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<OAQuotProduct> setRedBookPrice2(List<OAQuotProductTemplate> list);
|
List<OAQuotProduct> setRedBookPrice2(List<OAQuotProductTemplate> list);
|
||||||
|
|
||||||
/**
|
|
||||||
* 导入明细批量获取红本价格-品名型号
|
|
||||||
* @param list
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
List<OAQuotProduct> setRedBookPrice3(List<OAQuotProductTemplate2> list);
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取单据编号
|
* 获取单据编号
|
||||||
* @param type
|
* @param type
|
||||||
|
|
|
@ -3,7 +3,6 @@ package com.ruoyi.redBook.service.impl;
|
||||||
import com.ruoyi.common.utils.DateUtils;
|
import com.ruoyi.common.utils.DateUtils;
|
||||||
import com.ruoyi.redBook.domain.OAQuotProduct;
|
import com.ruoyi.redBook.domain.OAQuotProduct;
|
||||||
import com.ruoyi.redBook.domain.OAQuotProductTemplate;
|
import com.ruoyi.redBook.domain.OAQuotProductTemplate;
|
||||||
import com.ruoyi.redBook.domain.OAQuotProductTemplate2;
|
|
||||||
import com.ruoyi.redBook.service.IRedBookService;
|
import com.ruoyi.redBook.service.IRedBookService;
|
||||||
import org.springframework.scheduling.annotation.Async;
|
import org.springframework.scheduling.annotation.Async;
|
||||||
import org.springframework.scheduling.annotation.AsyncResult;
|
import org.springframework.scheduling.annotation.AsyncResult;
|
||||||
|
@ -33,7 +32,7 @@ public class AsyncRbTaskService {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 导入明细批量获取红本价格-型号、规格、电压、数量
|
* 导入明细批量获取红本价格
|
||||||
* @param threadname
|
* @param threadname
|
||||||
* @param list
|
* @param list
|
||||||
* @return
|
* @return
|
||||||
|
@ -45,19 +44,5 @@ public class AsyncRbTaskService {
|
||||||
System.out.println(threadname+"结束时间:" + DateUtils.getTime());
|
System.out.println(threadname+"结束时间:" + DateUtils.getTime());
|
||||||
return new AsyncResult<>( OAQuotProducts);
|
return new AsyncResult<>( OAQuotProducts);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 导入明细批量获取红本价格-品名型号
|
|
||||||
* @param threadname
|
|
||||||
* @param list
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
@Async
|
|
||||||
public Future<List<OAQuotProduct>> executeAsyncTask3(String threadname, List<OAQuotProductTemplate2> list) {
|
|
||||||
System.out.println(threadname+"开始时间:" + DateUtils.getTime());
|
|
||||||
List<OAQuotProduct> OAQuotProducts = iRedBookService.setRedBookPrice3(list);
|
|
||||||
System.out.println(threadname+"结束时间:" + DateUtils.getTime());
|
|
||||||
return new AsyncResult<>( OAQuotProducts);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -208,17 +208,12 @@ public class RedBookServiceImpl implements IRedBookService
|
||||||
for(OAQuotProduct oAQuotProduct : list){
|
for(OAQuotProduct oAQuotProduct : list){
|
||||||
String price = oaRedBookMapper.getFixDatePrice(oAQuotProduct.getName_0(),oAQuotProduct.getSpec(),oAQuotProduct.getVoltage(),oAQuotProduct.getUid_0());
|
String price = oaRedBookMapper.getFixDatePrice(oAQuotProduct.getName_0(),oAQuotProduct.getSpec(),oAQuotProduct.getVoltage(),oAQuotProduct.getUid_0());
|
||||||
oAQuotProduct.setPrice(price);
|
oAQuotProduct.setPrice(price);
|
||||||
if(StringUtils.isEmpty(price)){
|
|
||||||
oAQuotProduct.setName_1("");
|
|
||||||
oAQuotProduct.setVoltage("");
|
|
||||||
oAQuotProduct.setStu("");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 导入明细批量获取红本价格-型号、规格、电压、数量
|
* 导入明细批量获取红本价格
|
||||||
* @param list
|
* @param list
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
@ -229,44 +224,19 @@ public class RedBookServiceImpl implements IRedBookService
|
||||||
OAQuotProduct oAQuotProduct = new OAQuotProduct();
|
OAQuotProduct oAQuotProduct = new OAQuotProduct();
|
||||||
for(OAQuotProductTemplate oAQuotProductTemplate : list){
|
for(OAQuotProductTemplate oAQuotProductTemplate : list){
|
||||||
OAQuotProduct rbProduct = oaRedBookMapper.getFixDatePrice2(oAQuotProductTemplate.getName_1(),oAQuotProductTemplate.getSpec(),oAQuotProductTemplate.getVoltage(),oAQuotProductTemplate.getRbUid());
|
OAQuotProduct rbProduct = oaRedBookMapper.getFixDatePrice2(oAQuotProductTemplate.getName_1(),oAQuotProductTemplate.getSpec(),oAQuotProductTemplate.getVoltage(),oAQuotProductTemplate.getRbUid());
|
||||||
oAQuotProduct = new OAQuotProduct();
|
if(rbProduct!=null){
|
||||||
oAQuotProduct.setIndex(oAQuotProductTemplate.getIndex());
|
oAQuotProduct = new OAQuotProduct();
|
||||||
oAQuotProduct.setUid_0(oAQuotProductTemplate.getRbUid());
|
oAQuotProduct.setIndex(oAQuotProductTemplate.getIndex());
|
||||||
oAQuotProduct.setName_0(rbProduct!=null?rbProduct.getName_0():"");
|
oAQuotProduct.setUid_0(rbProduct.getUid_0());
|
||||||
oAQuotProduct.setName_1(oAQuotProductTemplate.getName_1());
|
oAQuotProduct.setName_0(rbProduct.getName_0());
|
||||||
oAQuotProduct.setSpec(oAQuotProductTemplate.getSpec());
|
oAQuotProduct.setName_1(oAQuotProductTemplate.getName_1());
|
||||||
oAQuotProduct.setVoltage(rbProduct!=null?rbProduct.getVoltage():"");
|
oAQuotProduct.setSpec(oAQuotProductTemplate.getSpec());
|
||||||
oAQuotProduct.setStu(rbProduct!=null?rbProduct.getStu():"");
|
oAQuotProduct.setVoltage(rbProduct.getVoltage());
|
||||||
oAQuotProduct.setPrice(rbProduct!=null?rbProduct.getPrice():"");
|
oAQuotProduct.setStu(rbProduct.getStu());
|
||||||
oAQuotProduct.setCount(oAQuotProductTemplate.getCount());
|
oAQuotProduct.setPrice(rbProduct.getPrice());
|
||||||
OAQuotProducts.add(oAQuotProduct);
|
oAQuotProduct.setCount(oAQuotProductTemplate.getCount());
|
||||||
}
|
OAQuotProducts.add(oAQuotProduct);
|
||||||
return OAQuotProducts;
|
}
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 导入明细批量获取红本价格-品名型号
|
|
||||||
* @param list
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
@DataSource(DataSourceType.OAREDBOOK)
|
|
||||||
public List<OAQuotProduct> setRedBookPrice3(List<OAQuotProductTemplate2> list) {
|
|
||||||
List<OAQuotProduct> OAQuotProducts = new ArrayList<>();
|
|
||||||
OAQuotProduct oAQuotProduct = new OAQuotProduct();
|
|
||||||
for(OAQuotProductTemplate2 oAQuotProductTemplate : list){
|
|
||||||
OAQuotProduct rbProduct = oaRedBookMapper.getFixDatePrice3(oAQuotProductTemplate.getName_0(),oAQuotProductTemplate.getRbUid());
|
|
||||||
oAQuotProduct = new OAQuotProduct();
|
|
||||||
oAQuotProduct.setIndex(oAQuotProductTemplate.getIndex());
|
|
||||||
oAQuotProduct.setUid_0(oAQuotProductTemplate.getRbUid());
|
|
||||||
oAQuotProduct.setName_0(oAQuotProductTemplate.getName_0());
|
|
||||||
oAQuotProduct.setName_1(rbProduct!=null?rbProduct.getName_1():"");
|
|
||||||
oAQuotProduct.setSpec(rbProduct!=null?rbProduct.getSpec():"");
|
|
||||||
oAQuotProduct.setVoltage(rbProduct!=null?rbProduct.getVoltage():"品名不规范");
|
|
||||||
oAQuotProduct.setStu(rbProduct!=null?rbProduct.getStu():"");
|
|
||||||
oAQuotProduct.setPrice(rbProduct!=null?rbProduct.getPrice():"");
|
|
||||||
oAQuotProduct.setCount(oAQuotProductTemplate.getCount());
|
|
||||||
OAQuotProducts.add(oAQuotProduct);
|
|
||||||
}
|
}
|
||||||
return OAQuotProducts;
|
return OAQuotProducts;
|
||||||
}
|
}
|
||||||
|
|
|
@ -144,7 +144,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<!-- 数据范围过滤 -->
|
<!-- 数据范围过滤 -->
|
||||||
${params.dataScope}
|
${params.dataScope}
|
||||||
</where>
|
</where>
|
||||||
order by a.quot_inquiry_date desc
|
order by a.quot_code desc
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectQuotListCount" resultType="String">
|
<select id="selectQuotListCount" resultType="String">
|
||||||
|
|
|
@ -183,16 +183,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
and (B.sta_0=1 or sta_0=0)
|
and (B.sta_0=1 or sta_0=0)
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="getFixDatePrice3" resultType="OAQuotProduct">
|
|
||||||
select top 1 B.uid_0,A.namevoltage name_0,isnull(A.电压等级,N' - ') voltage,A.单位 stu,
|
|
||||||
A.型号 name_1,isnull(A.规格,'') spec
|
|
||||||
,convert(decimal,convert(float,A.红本价格)) price,convert(varchar(10),B.date_0,23) pricedate
|
|
||||||
from [rb_product_price] A
|
|
||||||
left join rb_productVersion B on A.version_uid_0=B.uid_0
|
|
||||||
where (B.sta_0=1 or sta_0=0) and A.namevoltage=#{name_0}
|
|
||||||
and B.uid_0 = #{uid_0}
|
|
||||||
</select>
|
|
||||||
|
|
||||||
<sql id="quotsJoins">
|
<sql id="quotsJoins">
|
||||||
LEFT JOIN sys_user u on u.user_name=a.create_by
|
LEFT JOIN sys_user u on u.user_name=a.create_by
|
||||||
LEFT JOIN sys_dept d on u.dept_id = d.dept_id
|
LEFT JOIN sys_dept d on u.dept_id = d.dept_id
|
||||||
|
|
|
@ -39,23 +39,6 @@ export function getReturnUpdateQuot(quotId) {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询报价详细-整单通过
|
|
||||||
export function getAllPass(quotId) {
|
|
||||||
return request({
|
|
||||||
url: '/quot/quot/allPass/' + quotId,
|
|
||||||
method: 'get'
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询报价详细-整单驳回
|
|
||||||
export function getAllReject(query) {
|
|
||||||
return request({
|
|
||||||
url: '/quot/quot/allReject',
|
|
||||||
method: 'post',
|
|
||||||
data: query
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增报价
|
// 新增报价
|
||||||
export function addQuot(data) {
|
export function addQuot(data) {
|
||||||
return request({
|
return request({
|
||||||
|
|
|
@ -147,7 +147,7 @@
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
// 初始化WebSocket
|
// 初始化WebSocket
|
||||||
//this.initWebSocket();
|
this.initWebSocket();
|
||||||
},
|
},
|
||||||
created(){
|
created(){
|
||||||
this.getList();
|
this.getList();
|
||||||
|
|
|
@ -18,7 +18,7 @@ const service = axios.create({
|
||||||
// axios中请求配置有baseURL选项,表示请求URL公共部分
|
// axios中请求配置有baseURL选项,表示请求URL公共部分
|
||||||
baseURL: process.env.VUE_APP_BASE_API,
|
baseURL: process.env.VUE_APP_BASE_API,
|
||||||
// 超时
|
// 超时
|
||||||
timeout: 720000
|
timeout: 300000
|
||||||
})
|
})
|
||||||
|
|
||||||
// request拦截器
|
// request拦截器
|
||||||
|
|
|
@ -113,28 +113,6 @@
|
||||||
v-hasPermi="['quot:quot:returnUpdate']"
|
v-hasPermi="['quot:quot:returnUpdate']"
|
||||||
>错误修订</el-button>
|
>错误修订</el-button>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="1.5">
|
|
||||||
<el-button
|
|
||||||
type="warning"
|
|
||||||
plain
|
|
||||||
icon="el-icon-edit"
|
|
||||||
size="mini"
|
|
||||||
:disabled="single"
|
|
||||||
@click="handleAllPass"
|
|
||||||
v-hasPermi="['quot:quot:allPass']"
|
|
||||||
>整单通过</el-button>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="1.5">
|
|
||||||
<el-button
|
|
||||||
type="warning"
|
|
||||||
plain
|
|
||||||
icon="el-icon-edit"
|
|
||||||
size="mini"
|
|
||||||
:disabled="single"
|
|
||||||
@click="handleAllReject"
|
|
||||||
v-hasPermi="['quot:quot:allReject']"
|
|
||||||
>整单驳回</el-button>
|
|
||||||
</el-col>
|
|
||||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
|
@ -151,6 +129,29 @@
|
||||||
<dict-tag :options="dict.type.quot_approval_status" :value="scope.row.quotApprovalStatus"/>
|
<dict-tag :options="dict.type.quot_approval_status" :value="scope.row.quotApprovalStatus"/>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
<el-table-column label="业务员" align="center" prop="quotSalesmanName" width="150px"/>
|
||||||
|
<el-table-column label="客户名称" align="center" prop="quotCustomerName" width="250px"/>
|
||||||
|
<el-table-column label="项目名称" align="center" prop="quotProject" width="250px"/>
|
||||||
|
<el-table-column label="金思维提交状态" align="center" prop="quotJsxzApprovalStatus" width="150px" v-if="checkRole(['QUOT'])">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<dict-tag :options="dict.type.quot_jsw_approval_status" :value="scope.row.quotJswApprovalStatus" v-if="scope.row.quotJswApprovalStatus!=0"/>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="OA提交状态" align="center" prop="quotJsxzApprovalStatus" width="150px" v-if="checkRole(['QUOT'])">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<dict-tag :options="dict.type.quot_oa_approval_status" :value="scope.row.quotOAApprovalStatus" v-if="scope.row.quotOAApprovalStatus!=0"/>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="技术协助状态" align="center" prop="quotJsxzApprovalStatus" width="150px" v-if="checkRole(['QUOT'])">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<dict-tag :options="dict.type.quot_jsxz_approval_status" :value="scope.row.quotJsxzApprovalStatus" v-if="scope.row.quotJsxzApprovalStatus!=0"/>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="核价协助状态" align="center" prop="quotHjApprovalStatus" width="150px" v-if="checkRole(['QUOT'])">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<dict-tag :options="dict.type.quot_hj_approval_status" :value="scope.row.quotHjApprovalStatus" v-if="scope.row.quotHjApprovalStatus!=0"/>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<el-table-column label="是否打印" align="center" prop="quotPrint" v-if="$auth.hasPermi('quot:quot:changQuotPrintStatus')">
|
<el-table-column label="是否打印" align="center" prop="quotPrint" v-if="$auth.hasPermi('quot:quot:changQuotPrintStatus')">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-switch
|
<el-switch
|
||||||
|
@ -163,30 +164,7 @@
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="打印人" align="center" prop="quotPrintUserName" width="150px" v-if="$auth.hasPermi('quot:quot:changQuotPrintStatus')"/>
|
<el-table-column label="打印人" align="center" prop="quotPrintUserName" width="150px" v-if="$auth.hasPermi('quot:quot:changQuotPrintStatus')"/>
|
||||||
<el-table-column label="业务员" align="center" prop="quotSalesmanName" width="150px"/>
|
<el-table-column label="金思维报价单号" align="center" prop="quotJswCode" width="280px" v-if="checkRole(['QUOT'])"/>
|
||||||
<el-table-column label="客户名称" align="center" prop="quotCustomerName" width="250px"/>
|
|
||||||
<el-table-column label="项目名称" align="center" prop="quotProject" width="250px"/>
|
|
||||||
<el-table-column label="金思维提交状态" align="center" prop="quotJsxzApprovalStatus" width="150px" v-if="checkRole(['QUOT','PRICE_VERIFICATION'])">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<dict-tag :options="dict.type.quot_jsw_approval_status" :value="scope.row.quotJswApprovalStatus" v-if="scope.row.quotJswApprovalStatus!=0"/>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="OA提交状态" align="center" prop="quotJsxzApprovalStatus" width="150px" v-if="checkRole(['QUOT','PRICE_VERIFICATION'])">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<dict-tag :options="dict.type.quot_oa_approval_status" :value="scope.row.quotOAApprovalStatus" v-if="scope.row.quotOAApprovalStatus!=0"/>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="技术协助状态" align="center" prop="quotJsxzApprovalStatus" width="150px" v-if="checkRole(['QUOT','PRICE_VERIFICATION'])">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<dict-tag :options="dict.type.quot_jsxz_approval_status" :value="scope.row.quotJsxzApprovalStatus" v-if="scope.row.quotJsxzApprovalStatus!=0"/>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="核价协助状态" align="center" prop="quotHjApprovalStatus" width="150px" v-if="checkRole(['QUOT','PRICE_VERIFICATION'])">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<dict-tag :options="dict.type.quot_hj_approval_status" :value="scope.row.quotHjApprovalStatus" v-if="scope.row.quotHjApprovalStatus!=0"/>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="金思维报价单号" align="center" prop="quotJswCode" width="280px" v-if="checkRole(['QUOT','PRICE_VERIFICATION'])"/>
|
|
||||||
<el-table-column label="询价日期" align="center" prop="quotInquiryDate" width="160">
|
<el-table-column label="询价日期" align="center" prop="quotInquiryDate" width="160">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<span>{{ parseTime(scope.row.quotInquiryDate) }}</span>
|
<span>{{ parseTime(scope.row.quotInquiryDate) }}</span>
|
||||||
|
@ -230,17 +208,17 @@
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<div v-if="checkPermi(['quot:quot:xzInfo'])">
|
<div v-if="checkPermi(['quot:quot:xzInfo'])">
|
||||||
<el-col :span="4" v-if="!checkRole(['SALES_MAN'])">
|
<el-col :span="4">
|
||||||
<el-form-item label="技术协助" prop="quotJsxzApprovalStatus">
|
<el-form-item label="技术协助" prop="quotJsxzApprovalStatus">
|
||||||
<dict-tag :options="dict.type.quot_approval_status" :value="this.form.quotJsxzApprovalStatus"/>
|
<dict-tag :options="dict.type.quot_approval_status" :value="this.form.quotJsxzApprovalStatus"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="4" v-if="!checkRole(['SALES_MAN'])">
|
<el-col :span="4">
|
||||||
<el-form-item label="核价协助" prop="quotHjApprovalStatus">
|
<el-form-item label="核价协助" prop="quotHjApprovalStatus">
|
||||||
<dict-tag :options="dict.type.quot_approval_status" :value="this.form.quotHjApprovalStatus"/>
|
<dict-tag :options="dict.type.quot_approval_status" :value="this.form.quotHjApprovalStatus"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="4" v-if="!checkRole(['SALES_MAN'])">
|
<el-col :span="4">
|
||||||
<el-form-item label="金思维协助" prop="quotJswApprovalStatus">
|
<el-form-item label="金思维协助" prop="quotJswApprovalStatus">
|
||||||
<dict-tag :options="dict.type.quot_jsw_approval_status" :value="this.form.quotJswApprovalStatus"/>
|
<dict-tag :options="dict.type.quot_jsw_approval_status" :value="this.form.quotJswApprovalStatus"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
@ -389,14 +367,14 @@
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row :gutter="8" v-if="checkRole(['QUOT','PRICE_VERIFICATION','SALES_MAN'])">
|
<el-row :gutter="8" v-if="checkRole(['QUOT','SALES_MAN'])">
|
||||||
<el-col :span="24" v-if="this.form.quotApprovalStatus != '0' && this.form.quotApprovalStatus != null">
|
<el-col :span="24" v-if="this.form.quotApprovalStatus != '0' && this.form.quotApprovalStatus != null">
|
||||||
<el-form-item label="反馈说明" prop="quotFeedbackExplanation">
|
<el-form-item label="反馈说明" prop="quotFeedbackExplanation">
|
||||||
<el-input type="textarea" autosize v-model="form.quotFeedbackExplanation" placeholder="报价组填写" :disabled="this.form.quotApprovalStatus == 2"/>
|
<el-input type="textarea" autosize v-model="form.quotFeedbackExplanation" placeholder="报价组填写" :disabled="this.form.quotApprovalStatus == 2"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row :gutter="8" v-if="checkRole(['QUOT','PRICE_VERIFICATION'])">
|
<el-row :gutter="8" v-if="checkRole(['QUOT'])">
|
||||||
<el-col :span="24" v-if="this.form.quotOAApprovalStatus == '2' || this.form.quotOAApprovalStatus == '3'">
|
<el-col :span="24" v-if="this.form.quotOAApprovalStatus == '2' || this.form.quotOAApprovalStatus == '3'">
|
||||||
<el-form-item label="OA审批说明" prop="quotOAApprovalStatusRemark">
|
<el-form-item label="OA审批说明" prop="quotOAApprovalStatusRemark">
|
||||||
<el-input type="textarea" autosize v-model="form.quotOAApprovalStatusRemark" :disabled="true"/>
|
<el-input type="textarea" autosize v-model="form.quotOAApprovalStatusRemark" :disabled="true"/>
|
||||||
|
@ -598,7 +576,7 @@
|
||||||
<div v-if="checkPermi(['quot:quot:jsxzInfo'])">
|
<div v-if="checkPermi(['quot:quot:jsxzInfo'])">
|
||||||
<el-divider content-position="left" class="customer_divider_text">技术协助</el-divider>
|
<el-divider content-position="left" class="customer_divider_text">技术协助</el-divider>
|
||||||
<el-row :gutter="8">
|
<el-row :gutter="8">
|
||||||
<!--<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="标准" prop="quotJsxzStandard">
|
<el-form-item label="标准" prop="quotJsxzStandard">
|
||||||
<el-select v-model="form.quotJsxzStandard" :disabled="this.form.quotJsxzApprovalStatus != '0'">
|
<el-select v-model="form.quotJsxzStandard" :disabled="this.form.quotJsxzApprovalStatus != '0'">
|
||||||
<el-option
|
<el-option
|
||||||
|
@ -609,7 +587,7 @@
|
||||||
/>
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>-->
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="技术协助状态" prop="quotJsxzApprovalStatus">
|
<el-form-item label="技术协助状态" prop="quotJsxzApprovalStatus">
|
||||||
<el-select v-model="form.quotJsxzApprovalStatus" :disabled="true">
|
<el-select v-model="form.quotJsxzApprovalStatus" :disabled="true">
|
||||||
|
@ -622,7 +600,7 @@
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<!--<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="是否盖技术章" prop="quotJsxzChapter">
|
<el-form-item label="是否盖技术章" prop="quotJsxzChapter">
|
||||||
<el-select v-model="form.quotJsxzChapter" :disabled="this.form.quotJsxzApprovalStatus != '0'">
|
<el-select v-model="form.quotJsxzChapter" :disabled="this.form.quotJsxzApprovalStatus != '0'">
|
||||||
<el-option
|
<el-option
|
||||||
|
@ -633,7 +611,7 @@
|
||||||
/>
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>-->
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row :gutter="8">
|
<el-row :gutter="8">
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
|
@ -936,7 +914,7 @@
|
||||||
<span style="margin-left: 10px" v-hasPermi="['quot:quot:assistHj']"><el-button type="primary" plain @click="commitHjForm" v-if="this.form.quotApprovalStatus == '1'&&this.form.quotHjApprovalStatus == '0'">提交核价审核</el-button></span>
|
<span style="margin-left: 10px" v-hasPermi="['quot:quot:assistHj']"><el-button type="primary" plain @click="commitHjForm" v-if="this.form.quotApprovalStatus == '1'&&this.form.quotHjApprovalStatus == '0'">提交核价审核</el-button></span>
|
||||||
|
|
||||||
<!-- 业务员、报价组生成报价单-->
|
<!-- 业务员、报价组生成报价单-->
|
||||||
<span style="float:left" v-hasPermi="['quot:quot:madeQuot']"><el-button type="warning" plain @click="madeQuot" v-if="this.form.quotApprovalStatus == '2'||!checkRole(['SALES_MAN'])">生成报价单</el-button></span>
|
<span style="float:left" v-hasPermi="['quot:quot:madeQuot']"><el-button type="warning" plain @click="madeQuot" v-if="this.form.quotApprovalStatus == '2'||checkRole(['QUOT'])">生成报价单</el-button></span>
|
||||||
|
|
||||||
<!-- 报价组提交金思维、OA-->
|
<!-- 报价组提交金思维、OA-->
|
||||||
<span style="margin-left: 10px;float:left" v-hasPermi="['quot:quot:assistJsw']"><el-button type="warning" plain @click="commitJswForm" v-if="this.form.quotApprovalStatus == '1'&&(this.form.quotJswApprovalStatus == '0'||this.form.quotJswApprovalStatus == '2')">提交金思维</el-button></span>
|
<span style="margin-left: 10px;float:left" v-hasPermi="['quot:quot:assistJsw']"><el-button type="warning" plain @click="commitJswForm" v-if="this.form.quotApprovalStatus == '1'&&(this.form.quotJswApprovalStatus == '0'||this.form.quotJswApprovalStatus == '2')">提交金思维</el-button></span>
|
||||||
|
@ -1021,7 +999,7 @@
|
||||||
</style>
|
</style>
|
||||||
<script>
|
<script>
|
||||||
import { NumberAdd } from '@/utils/number';// 数值计算
|
import { NumberAdd } from '@/utils/number';// 数值计算
|
||||||
import { changQuotPrintStatus,listQuot, getQuot, getReturnUpdateQuot,getAllPass,getAllReject, delQuot, addQuot, updateQuot, quotFileList, quotFileDelete, commitQuot, commitJsQuot, commitHjQuot, commitJswQuot, commitOAQuot, feedbackQuot, madeQuot, rejectQuot } from "@/api/quot/quot";
|
import { changQuotPrintStatus,listQuot, getQuot, getReturnUpdateQuot, delQuot, addQuot, updateQuot, quotFileList, quotFileDelete, commitQuot, commitJsQuot, commitHjQuot, commitJswQuot, commitOAQuot, feedbackQuot, madeQuot, rejectQuot } from "@/api/quot/quot";
|
||||||
import { getToken } from "@/utils/auth";
|
import { getToken } from "@/utils/auth";
|
||||||
import { checkPermi,checkRole } from '@/utils/permission';// 权限判断函数
|
import { checkPermi,checkRole } from '@/utils/permission';// 权限判断函数
|
||||||
import { getDicts } from "@/api/system/dict/data";
|
import { getDicts } from "@/api/system/dict/data";
|
||||||
|
@ -1318,6 +1296,7 @@ export default {
|
||||||
handleReturnUpdate(row) {
|
handleReturnUpdate(row) {
|
||||||
this.reset();
|
this.reset();
|
||||||
const quotId = row.quotId || this.ids
|
const quotId = row.quotId || this.ids
|
||||||
|
let self = this;
|
||||||
this.$modal.confirm('是否确认修订所选报价单且更新状态为协助中?').then(function() {
|
this.$modal.confirm('是否确认修订所选报价单且更新状态为协助中?').then(function() {
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
getReturnUpdateQuot(quotId).then(response => {
|
getReturnUpdateQuot(quotId).then(response => {
|
||||||
|
@ -1326,39 +1305,6 @@ export default {
|
||||||
});
|
});
|
||||||
}).catch(() => {});
|
}).catch(() => {});
|
||||||
},
|
},
|
||||||
// 整单通过
|
|
||||||
handleAllPass(row) {
|
|
||||||
this.reset();
|
|
||||||
const quotId = row.quotId || this.ids
|
|
||||||
this.$modal.confirm('是否确认修订所选报价单且更新状态为通过?').then(function() {
|
|
||||||
}).then(() => {
|
|
||||||
getAllPass(quotId).then(response => {
|
|
||||||
this.$modal.msgSuccess("更改成功");
|
|
||||||
this.getList();
|
|
||||||
});
|
|
||||||
}).catch(() => {});
|
|
||||||
},
|
|
||||||
// 整单驳回
|
|
||||||
handleAllReject(row) {
|
|
||||||
this.reset();
|
|
||||||
const quotId = row.quotId || this.ids;
|
|
||||||
|
|
||||||
this.$prompt('请输入驳回原因', '是否确认修订所选报价单且更新状态为驳回?', {
|
|
||||||
confirmButtonText: '确定',
|
|
||||||
cancelButtonText: '取消',
|
|
||||||
inputPattern: /^.+$/,
|
|
||||||
inputErrorMessage: '驳回原因必填'
|
|
||||||
}).then(({ value }) => {
|
|
||||||
this.form = {
|
|
||||||
"quotId":quotId[0],
|
|
||||||
"quotFeedbackExplanation":value
|
|
||||||
}
|
|
||||||
getAllReject(this.form).then(response => {
|
|
||||||
this.$modal.msgSuccess("更改成功");
|
|
||||||
this.getList();
|
|
||||||
});
|
|
||||||
}).catch(() => {});
|
|
||||||
},
|
|
||||||
|
|
||||||
/** 修改按钮操作-详细信息设置 */
|
/** 修改按钮操作-详细信息设置 */
|
||||||
setInfo(response){
|
setInfo(response){
|
||||||
|
@ -1667,13 +1613,11 @@ export default {
|
||||||
const param = {relationId:this.form.quotId,fileType:'quotFkFile'}
|
const param = {relationId:this.form.quotId,fileType:'quotFkFile'}
|
||||||
|
|
||||||
//协助中状态不显示反馈附件
|
//协助中状态不显示反馈附件
|
||||||
if(checkRole(['SALES_MAN'])){
|
if(this.form.quotApprovalStatus!='1' && checkRole(['SALES_MAN'])){
|
||||||
if(this.form.quotApprovalStatus!='1'){
|
quotFileList(param).then(response => {
|
||||||
quotFileList(param).then(response => {
|
this.quotFkFileList = response.rows;
|
||||||
this.quotFkFileList = response.rows;
|
});
|
||||||
});
|
}else if(checkRole(['QUOT'])){
|
||||||
}
|
|
||||||
}else{
|
|
||||||
quotFileList(param).then(response => {
|
quotFileList(param).then(response => {
|
||||||
this.quotFkFileList = response.rows;
|
this.quotFkFileList = response.rows;
|
||||||
});
|
});
|
||||||
|
@ -1748,8 +1692,7 @@ export default {
|
||||||
this.quotXjFileLoading = true;
|
this.quotXjFileLoading = true;
|
||||||
let activeName = this.activeName;
|
let activeName = this.activeName;
|
||||||
if(activeName=='quotXjFile'){
|
if(activeName=='quotXjFile'){
|
||||||
const fileExtension = file.name.split('.').pop();
|
if(file.name.split('.')[1].toLowerCase() != 'xls' && file.name.split('.')[1].toLowerCase() != 'xlsx'){
|
||||||
if(fileExtension.toLowerCase() != 'xls' && fileExtension.toLowerCase() != 'xlsx'){
|
|
||||||
this.$modal.msgError("清单附件必须是Excel格式");
|
this.$modal.msgError("清单附件必须是Excel格式");
|
||||||
this.quotXjFileLoading = false;
|
this.quotXjFileLoading = false;
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -153,7 +153,7 @@
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="版本uid" align="center" prop="uid_0" v-if="false"/>
|
<el-table-column label="版本uid" align="center" prop="uid_0" v-if="false"/>
|
||||||
<el-table-column label="产品型号" align="center" prop="name_0" width="200"/>
|
<el-table-column label="产品型号" align="center" prop="name_0" width="200" />
|
||||||
<el-table-column label="型号" align="center" prop="name_1" v-if="false"/>
|
<el-table-column label="型号" align="center" prop="name_1" v-if="false"/>
|
||||||
<el-table-column label="规格" align="center" prop="spec" v-if="false"/>
|
<el-table-column label="规格" align="center" prop="spec" v-if="false"/>
|
||||||
<el-table-column label="电压" align="center" prop="voltage"/>
|
<el-table-column label="电压" align="center" prop="voltage"/>
|
||||||
|
@ -348,7 +348,7 @@
|
||||||
// 设置上传的请求头部
|
// 设置上传的请求头部
|
||||||
headers: { Authorization: "Bearer " + getToken() },
|
headers: { Authorization: "Bearer " + getToken() },
|
||||||
// 上传的地址
|
// 上传的地址
|
||||||
url: process.env.VUE_APP_BASE_API + "/redBook/redBook/importData2"
|
url: process.env.VUE_APP_BASE_API + "/redBook/redBook/importData"
|
||||||
},
|
},
|
||||||
|
|
||||||
//折扣率 初始值
|
//折扣率 初始值
|
||||||
|
@ -624,13 +624,10 @@
|
||||||
},
|
},
|
||||||
|
|
||||||
/** 已选结果数据里存在所选调价版本不一致的数据 */
|
/** 已选结果数据里存在所选调价版本不一致的数据 */
|
||||||
cellStyle({ row, columnIndex }){
|
cellStyle({ row }){
|
||||||
if(row.uid_0 != this.form.rbDateUid){
|
if(row.uid_0 != this.form.rbDateUid){
|
||||||
return {'background-color':'#ff494959'}
|
return {'background-color':'#ff494959'}
|
||||||
}
|
}
|
||||||
if(!row.stu && (columnIndex == 2 || columnIndex == 3)){
|
|
||||||
return 'color:red'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
//删除已选结果数据
|
//删除已选结果数据
|
||||||
|
@ -786,7 +783,7 @@
|
||||||
},
|
},
|
||||||
/** 下载模板操作 */
|
/** 下载模板操作 */
|
||||||
importTemplate() {
|
importTemplate() {
|
||||||
this.download('redBook/redBook/importTemplate2', {
|
this.download('redBook/redBook/importTemplate', {
|
||||||
}, `product_template_${new Date().getTime()}.xlsx`)
|
}, `product_template_${new Date().getTime()}.xlsx`)
|
||||||
},
|
},
|
||||||
// 文件上传中处理
|
// 文件上传中处理
|
||||||
|
|
Loading…
Reference in New Issue