Compare commits
2 Commits
4f24577e27
...
2d988a2a6a
Author | SHA1 | Date |
---|---|---|
JIAL | 2d988a2a6a | |
JIAL | 8f1df9b9e9 |
|
@ -1,5 +1,9 @@
|
||||||
#for tests only !
|
#for tests only !
|
||||||
|
<<<<<<< HEAD
|
||||||
|
#Fri Jun 14 15:11:13 CST 2024
|
||||||
|
=======
|
||||||
#Fri Jun 14 11:47:35 CST 2024
|
#Fri Jun 14 11:47:35 CST 2024
|
||||||
|
>>>>>>> 4f24577e27615af0f5c59b77a49deac1fa915200
|
||||||
jco.destination.pool_capacity=10
|
jco.destination.pool_capacity=10
|
||||||
jco.client.lang=ZH
|
jco.client.lang=ZH
|
||||||
jco.client.ashost=172.19.0.120
|
jco.client.ashost=172.19.0.120
|
||||||
|
@ -7,5 +11,9 @@ jco.client.saprouter=
|
||||||
jco.client.user=RFC
|
jco.client.user=RFC
|
||||||
jco.client.sysnr=00
|
jco.client.sysnr=00
|
||||||
jco.destination.peak_limit=10
|
jco.destination.peak_limit=10
|
||||||
|
<<<<<<< HEAD
|
||||||
|
jco.client.passwd=654321
|
||||||
|
=======
|
||||||
jco.client.passwd=fIM!UgIY[[%*5IWWy6w`}PO$6)+{K)R`9,$_P^3ve}26(Qf|
|
jco.client.passwd=fIM!UgIY[[%*5IWWy6w`}PO$6)+{K)R`9,$_P^3ve}26(Qf|
|
||||||
|
>>>>>>> 4f24577e27615af0f5c59b77a49deac1fa915200
|
||||||
jco.client.client=300
|
jco.client.client=300
|
||||||
|
|
|
@ -3,6 +3,7 @@ package com.ruoyi.web.controller.hainanOrder;
|
||||||
import com.ruoyi.common.core.controller.BaseController;
|
import com.ruoyi.common.core.controller.BaseController;
|
||||||
import com.ruoyi.common.core.domain.AjaxResult;
|
import com.ruoyi.common.core.domain.AjaxResult;
|
||||||
import com.ruoyi.hainanOrder.domain.HNCustomer;
|
import com.ruoyi.hainanOrder.domain.HNCustomer;
|
||||||
|
import com.ruoyi.hainanOrder.domain.HNMaterial;
|
||||||
import com.ruoyi.hainanOrder.domain.HNParams;
|
import com.ruoyi.hainanOrder.domain.HNParams;
|
||||||
import com.ruoyi.hainanOrder.service.HaiNanOrderService;
|
import com.ruoyi.hainanOrder.service.HaiNanOrderService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
@ -40,9 +41,15 @@ public class HaiNanOrderController extends BaseController {
|
||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping("materialList")
|
@PostMapping("materialList")
|
||||||
public AjaxResult materialList(@RequestBody HNParams HNParams) {
|
public TableDataInfo materialList(@RequestParam("matnr") String matnr, @RequestParam("maktx3") String maktx3,
|
||||||
|
@RequestParam("maktx") String maktx, @RequestParam("maktx4") String maktx4,
|
||||||
|
@RequestParam("diany") String diany, @RequestParam("maktx5") String maktx5,
|
||||||
|
@RequestParam("maktx2") String maktx2) {
|
||||||
|
|
||||||
return null;
|
startPage();
|
||||||
|
List<HNMaterial> materialList = haiNanOrderService.materialList(matnr, maktx3, maktx, maktx4, diany, maktx5, maktx2);
|
||||||
|
|
||||||
|
return getDataTable(materialList);
|
||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping("customList")
|
@PostMapping("customList")
|
||||||
|
@ -56,4 +63,10 @@ public class HaiNanOrderController extends BaseController {
|
||||||
// return null;
|
// return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PostMapping("contractList")
|
||||||
|
public TableDataInfo contractList(@RequestParam("kunnr") String kunnr,
|
||||||
|
@RequestParam("name1") String name1) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,34 @@
|
||||||
|
package com.ruoyi.web.controller.mobile.quoteMobile;
|
||||||
|
|
||||||
|
import com.ruoyi.common.core.controller.BaseController;
|
||||||
|
import com.ruoyi.common.core.domain.AjaxResult;
|
||||||
|
import com.ruoyi.mobile.quoteMobile.service.QuoteMobileService;
|
||||||
|
import com.ruoyi.quot.domain.Quot;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ClassName QuoteMobileController
|
||||||
|
* @Description TODO
|
||||||
|
* @Author JIAL
|
||||||
|
* @Date 2024/6/12 10:07
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/quoteMobile/quote")
|
||||||
|
public class QuoteMobileController extends BaseController {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
QuoteMobileService quoteMobileService;
|
||||||
|
|
||||||
|
@PostMapping("list")
|
||||||
|
public AjaxResult quoteList(Quot quot) {
|
||||||
|
List<Quot> quotList = quoteMobileService.quoteList(quot);
|
||||||
|
|
||||||
|
return AjaxResult.success(quotList) ;
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,6 +1,7 @@
|
||||||
package com.ruoyi.web.utils.SapFunction;
|
package com.ruoyi.web.utils.SapFunction;
|
||||||
|
|
||||||
import com.ruoyi.common.utils.StringUtils;
|
import com.ruoyi.common.utils.StringUtils;
|
||||||
|
import com.ruoyi.contract.damain.Contract;
|
||||||
import com.ruoyi.customer.domain.Bank;
|
import com.ruoyi.customer.domain.Bank;
|
||||||
import com.ruoyi.customer.domain.BankCode;
|
import com.ruoyi.customer.domain.BankCode;
|
||||||
import com.ruoyi.customer.domain.Customer;
|
import com.ruoyi.customer.domain.Customer;
|
||||||
|
@ -300,6 +301,44 @@ public class SapRfcUtils {
|
||||||
return countrys;
|
return countrys;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @title getContract
|
||||||
|
* @description 获取合同数据
|
||||||
|
* @author JIAL
|
||||||
|
* @param: param
|
||||||
|
* @updateTime 2024/6/11 16:09
|
||||||
|
* @return: java.util.List<com.ruoyi.web.utils.SapFunction.RfcResult>
|
||||||
|
*/
|
||||||
|
public static List<Contract> getContract(Object param) {
|
||||||
|
JCoFunction function = null;
|
||||||
|
Contract contract = null;
|
||||||
|
List<Contract> contractList = new ArrayList<>();
|
||||||
|
|
||||||
|
JCoDestination destination = ConnectToSAP.connect();
|
||||||
|
try {
|
||||||
|
function = destination.getRepository().getFunctionTemplate("ZYC_HTCX").getFunction();
|
||||||
|
if (function == null)
|
||||||
|
throw new RuntimeException("RFC_SYSTEM_INFO not found in SAP.");
|
||||||
|
JCoParameterList input = function.getImportParameterList();
|
||||||
|
input.setValue("HTH", StringUtils.isNotNull(param)?param:"X");//输入参数
|
||||||
|
input.setValue("KHNAME", StringUtils.isNotNull(param)?param:"X");//输入参数
|
||||||
|
input.setValue("CTRQB", StringUtils.isNotNull(param)?param:"X");//输入参数
|
||||||
|
input.setValue("FLAG40", StringUtils.isNotNull(param)?param:"X");//输入参数
|
||||||
|
input.setValue("FLAG40", StringUtils.isNotNull(param)?param:"X");//输入参数
|
||||||
|
function.execute(destination);
|
||||||
|
JCoTable table = function.getTableParameterList().getTable("OUTHT");
|
||||||
|
for(int i = 0; i<table.getNumRows(); i++){
|
||||||
|
table.setRow(i);
|
||||||
|
// rfcResult = new RfcResult();
|
||||||
|
// rfcResult.setValue(table.getString("TAXKD"));
|
||||||
|
// rfcResult.setLabel(table.getString("VTEXT"));
|
||||||
|
// countrys.add(rfcResult);
|
||||||
|
}
|
||||||
|
}catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
return contractList;
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* 获取客户税分类数据
|
* 获取客户税分类数据
|
||||||
* @param param 不传查询全部
|
* @param param 不传查询全部
|
||||||
|
|
|
@ -0,0 +1,92 @@
|
||||||
|
package com.ruoyi.contract.damain;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ClassName Contract
|
||||||
|
* @Description TODO
|
||||||
|
* @Author JIAL
|
||||||
|
* @Date 2024/6/11 17:08
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
public class Contract {
|
||||||
|
String htbh2; //合同编号
|
||||||
|
String ZSDYWYBM; //业务员编码
|
||||||
|
String ZSDYWYMS; //业务员名称
|
||||||
|
String ZSDKUNNR; //客户编码
|
||||||
|
String ZSDNAME; //客户名称
|
||||||
|
String XM; //项目
|
||||||
|
String ZSDBZ02; //备注
|
||||||
|
String HTZE; //合同金额
|
||||||
|
String ZSDHTCJSJ; //创建日期
|
||||||
|
|
||||||
|
public String getHtbh2() {
|
||||||
|
return htbh2;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setHtbh2(String htbh2) {
|
||||||
|
this.htbh2 = htbh2;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getZSDYWYBM() {
|
||||||
|
return ZSDYWYBM;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setZSDYWYBM(String ZSDYWYBM) {
|
||||||
|
this.ZSDYWYBM = ZSDYWYBM;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getZSDYWYMS() {
|
||||||
|
return ZSDYWYMS;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setZSDYWYMS(String ZSDYWYMS) {
|
||||||
|
this.ZSDYWYMS = ZSDYWYMS;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getZSDKUNNR() {
|
||||||
|
return ZSDKUNNR;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setZSDKUNNR(String ZSDKUNNR) {
|
||||||
|
this.ZSDKUNNR = ZSDKUNNR;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getZSDNAME() {
|
||||||
|
return ZSDNAME;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setZSDNAME(String ZSDNAME) {
|
||||||
|
this.ZSDNAME = ZSDNAME;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getXM() {
|
||||||
|
return XM;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setXM(String XM) {
|
||||||
|
this.XM = XM;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getZSDBZ02() {
|
||||||
|
return ZSDBZ02;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setZSDBZ02(String ZSDBZ02) {
|
||||||
|
this.ZSDBZ02 = ZSDBZ02;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getHTZE() {
|
||||||
|
return HTZE;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setHTZE(String HTZE) {
|
||||||
|
this.HTZE = HTZE;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getZSDHTCJSJ() {
|
||||||
|
return ZSDHTCJSJ;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setZSDHTCJSJ(String ZSDHTCJSJ) {
|
||||||
|
this.ZSDHTCJSJ = ZSDHTCJSJ;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,92 @@
|
||||||
|
package com.ruoyi.hainanOrder.domain;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ClassName HNMaterial
|
||||||
|
* @Description TODO
|
||||||
|
* @Author JIAL
|
||||||
|
* @Date 2024/6/4 16:30
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
public class HNMaterial {
|
||||||
|
String id;
|
||||||
|
String matnr;
|
||||||
|
String maktx;
|
||||||
|
String kmein;
|
||||||
|
String vtext;
|
||||||
|
String yxh;
|
||||||
|
String kbetr;
|
||||||
|
String dwjz;
|
||||||
|
String fdyq;
|
||||||
|
|
||||||
|
public String getId() {
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setId(String id) {
|
||||||
|
this.id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getMatnr() {
|
||||||
|
return matnr;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMatnr(String matnr) {
|
||||||
|
this.matnr = matnr;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getMaktx() {
|
||||||
|
return maktx;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMaktx(String maktx) {
|
||||||
|
this.maktx = maktx;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getKmein() {
|
||||||
|
return kmein;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setKmein(String kmein) {
|
||||||
|
this.kmein = kmein;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getVtext() {
|
||||||
|
return vtext;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setVtext(String vtext) {
|
||||||
|
this.vtext = vtext;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getYxh() {
|
||||||
|
return yxh;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setYxh(String yxh) {
|
||||||
|
this.yxh = yxh;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getKbetr() {
|
||||||
|
return kbetr;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setKbetr(String kbetr) {
|
||||||
|
this.kbetr = kbetr;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDwjz() {
|
||||||
|
return dwjz;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDwjz(String dwjz) {
|
||||||
|
this.dwjz = dwjz;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getFdyq() {
|
||||||
|
return fdyq;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setFdyq(String fdyq) {
|
||||||
|
this.fdyq = fdyq;
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,9 +1,12 @@
|
||||||
package com.ruoyi.hainanOrder.mapper;
|
package com.ruoyi.hainanOrder.mapper;
|
||||||
|
|
||||||
import com.ruoyi.hainanOrder.domain.HNCustomer;
|
import com.ruoyi.hainanOrder.domain.HNCustomer;
|
||||||
|
import com.ruoyi.hainanOrder.domain.HNMaterial;
|
||||||
import com.ruoyi.hainanOrder.domain.HNParams;
|
import com.ruoyi.hainanOrder.domain.HNParams;
|
||||||
import com.ruoyi.hainanOrder.domain.HaiNanOrder;
|
import com.ruoyi.hainanOrder.domain.HaiNanOrder;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
import org.apache.ibatis.annotations.Select;
|
||||||
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
@ -19,4 +22,9 @@ public interface HaiNanOrderMapper {
|
||||||
|
|
||||||
List<HNCustomer> customList(@Param("kunnr") String kunnr,
|
List<HNCustomer> customList(@Param("kunnr") String kunnr,
|
||||||
@Param("name1")String name1);
|
@Param("name1")String name1);
|
||||||
|
|
||||||
|
List<HNMaterial> materialList(@Param("matnr") String matnr, @Param("maktx3") String maktx3,
|
||||||
|
@Param("maktx") String maktx, @Param("maktx4") String maktx4,
|
||||||
|
@Param("diany") String diany, @Param("maktx5") String maktx5,
|
||||||
|
@Param("maktx2") String maktx2);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,9 @@
|
||||||
package com.ruoyi.hainanOrder.service;
|
package com.ruoyi.hainanOrder.service;
|
||||||
|
|
||||||
|
import com.ruoyi.common.annotation.DataSource;
|
||||||
|
import com.ruoyi.common.enums.DataSourceType;
|
||||||
import com.ruoyi.hainanOrder.domain.HNCustomer;
|
import com.ruoyi.hainanOrder.domain.HNCustomer;
|
||||||
|
import com.ruoyi.hainanOrder.domain.HNMaterial;
|
||||||
import com.ruoyi.hainanOrder.domain.HNParams;
|
import com.ruoyi.hainanOrder.domain.HNParams;
|
||||||
import com.ruoyi.hainanOrder.domain.HaiNanOrder;
|
import com.ruoyi.hainanOrder.domain.HaiNanOrder;
|
||||||
|
|
||||||
|
@ -36,4 +39,20 @@ public interface HaiNanOrderService {
|
||||||
*/
|
*/
|
||||||
List<HNCustomer> customList(String kunnr, String name1);
|
List<HNCustomer> customList(String kunnr, String name1);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @title materialList
|
||||||
|
* @description 获取物料列表
|
||||||
|
* @author JIAL
|
||||||
|
* @param: matnr
|
||||||
|
* @param: maktx3
|
||||||
|
* @param: maktx
|
||||||
|
* @param: maktx4
|
||||||
|
* @param: diany
|
||||||
|
* @param: maktx5
|
||||||
|
* @param: maktx2
|
||||||
|
* @updateTime 2024/6/4 16:37
|
||||||
|
* @return: java.util.List<com.ruoyi.hainanOrder.domain.HNMaterial>
|
||||||
|
*/
|
||||||
|
List<HNMaterial> materialList(String matnr, String maktx3, String maktx,
|
||||||
|
String maktx4, String diany, String maktx5, String maktx2);
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,6 +3,7 @@ package com.ruoyi.hainanOrder.service.impl;
|
||||||
import com.ruoyi.common.annotation.DataSource;
|
import com.ruoyi.common.annotation.DataSource;
|
||||||
import com.ruoyi.common.enums.DataSourceType;
|
import com.ruoyi.common.enums.DataSourceType;
|
||||||
import com.ruoyi.hainanOrder.domain.HNCustomer;
|
import com.ruoyi.hainanOrder.domain.HNCustomer;
|
||||||
|
import com.ruoyi.hainanOrder.domain.HNMaterial;
|
||||||
import com.ruoyi.hainanOrder.domain.HaiNanOrder;
|
import com.ruoyi.hainanOrder.domain.HaiNanOrder;
|
||||||
import com.ruoyi.hainanOrder.domain.HNParams;
|
import com.ruoyi.hainanOrder.domain.HNParams;
|
||||||
import com.ruoyi.hainanOrder.mapper.HaiNanOrderMapper;
|
import com.ruoyi.hainanOrder.mapper.HaiNanOrderMapper;
|
||||||
|
@ -25,7 +26,7 @@ public class HaiNanOrderServiceImpl implements HaiNanOrderService {
|
||||||
HaiNanOrderMapper haiNanOrderMapper;
|
HaiNanOrderMapper haiNanOrderMapper;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@DataSource(DataSourceType.ORDER)
|
@DataSource(DataSourceType.MASTER)
|
||||||
public List<HaiNanOrder> orderList(HNParams HNParams) {
|
public List<HaiNanOrder> orderList(HNParams HNParams) {
|
||||||
return haiNanOrderMapper.orderList(HNParams);
|
return haiNanOrderMapper.orderList(HNParams);
|
||||||
}
|
}
|
||||||
|
@ -35,4 +36,11 @@ public class HaiNanOrderServiceImpl implements HaiNanOrderService {
|
||||||
public List<HNCustomer> customList(String kunnr, String name1) {
|
public List<HNCustomer> customList(String kunnr, String name1) {
|
||||||
return haiNanOrderMapper.customList(kunnr, name1);
|
return haiNanOrderMapper.customList(kunnr, name1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@DataSource(DataSourceType.MASTER)
|
||||||
|
public List<HNMaterial> materialList(String matnr, String maktx3, String maktx,
|
||||||
|
String maktx4, String diany, String maktx5, String maktx2) {
|
||||||
|
return haiNanOrderMapper.materialList(matnr, maktx3, maktx, maktx4, diany, maktx5, maktx2);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,17 @@
|
||||||
|
package com.ruoyi.mobile.quoteMobile.domain;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ClassName MQuote
|
||||||
|
* @Description TODO
|
||||||
|
* @Author JIAL
|
||||||
|
* @Date 2024/6/12 10:26
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
public class MQuote {
|
||||||
|
String quot_customer_name; //客户
|
||||||
|
String quot_project; //项目名称
|
||||||
|
String quot_approval_status; //提交状态
|
||||||
|
String quot_inquiry_date; //询价日期
|
||||||
|
String quot_quotation_date; //报价日期
|
||||||
|
String create_time; //创建日期
|
||||||
|
}
|
|
@ -0,0 +1,16 @@
|
||||||
|
package com.ruoyi.mobile.quoteMobile.mapper;
|
||||||
|
|
||||||
|
import com.ruoyi.quot.domain.Quot;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ClassName QuoteMobileMapper
|
||||||
|
* @Description TODO
|
||||||
|
* @Author JIAL
|
||||||
|
* @Date 2024/6/12 10:11
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
public interface QuoteMobileMapper {
|
||||||
|
List<Quot> quoteList();
|
||||||
|
}
|
|
@ -0,0 +1,26 @@
|
||||||
|
package com.ruoyi.mobile.quoteMobile.service;
|
||||||
|
|
||||||
|
import com.ruoyi.hainanOrder.domain.HNParams;
|
||||||
|
import com.ruoyi.hainanOrder.domain.HaiNanOrder;
|
||||||
|
import com.ruoyi.quot.domain.Quot;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ClassName QuoteMobileService
|
||||||
|
* @Description TODO
|
||||||
|
* @Author JIAL
|
||||||
|
* @Date 2024/6/12 10:10
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
public interface QuoteMobileService {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @title quoteList
|
||||||
|
* @description 获取报价列表
|
||||||
|
* @author JIAL
|
||||||
|
* @updateTime 2024/6/12 11:10
|
||||||
|
* @return: java.util.List<com.ruoyi.quot.domain.Quot>
|
||||||
|
*/
|
||||||
|
List<Quot> quoteList(Quot quot);
|
||||||
|
}
|
|
@ -0,0 +1,29 @@
|
||||||
|
package com.ruoyi.mobile.quoteMobile.service.impl;
|
||||||
|
|
||||||
|
import com.ruoyi.mobile.quoteMobile.mapper.QuoteMobileMapper;
|
||||||
|
import com.ruoyi.mobile.quoteMobile.service.QuoteMobileService;
|
||||||
|
import com.ruoyi.quot.domain.Quot;
|
||||||
|
import com.ruoyi.quot.mapper.QuotMapper;
|
||||||
|
import org.apache.ibatis.jdbc.Null;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ClassName QuoteMobileServiceImpl
|
||||||
|
* @Description TODO
|
||||||
|
* @Author JIAL
|
||||||
|
* @Date 2024/6/12 10:11
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class QuoteMobileServiceImpl implements QuoteMobileService {
|
||||||
|
@Autowired
|
||||||
|
QuotMapper quotMapper;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<Quot> quoteList(Quot quot) {
|
||||||
|
return quotMapper.selectQuotList(quot);
|
||||||
|
}
|
||||||
|
}
|
|
@ -98,7 +98,7 @@
|
||||||
LEFT JOIN sapuser s on s.sapid=a.kunnr1
|
LEFT JOIN sapuser s on s.sapid=a.kunnr1
|
||||||
<!--LEFT JOIN sapusertp s1 on s1.sapid=a.kunnr1 -->
|
<!--LEFT JOIN sapusertp s1 on s1.sapid=a.kunnr1 -->
|
||||||
LEFT JOIN sapuser sb on sb.sapid=a.kunnrgwds
|
LEFT JOIN sapuser sb on sb.sapid=a.kunnrgwds
|
||||||
LEFT JOIN sys_user tuser2 ON tuser2.id =a.create_by
|
LEFT JOIN sys_user tuser2 ON tuser2.user_name =a.create_by
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
<sql id="customerOrderTpJoins">
|
<sql id="customerOrderTpJoins">
|
||||||
|
@ -169,4 +169,33 @@
|
||||||
</where>
|
</where>
|
||||||
GROUP BY kunnr,name1,name2
|
GROUP BY kunnr,name1,name2
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="materialList" resultType="HNMaterial">
|
||||||
|
select wl.id,wl.matnr,wl.maktx,wl.meins kmein,wl.vtext,a.原型号 as yxh,case when A.当前厂价=0 then null else A.当前厂价 end as kbetr,wl.dwjz,wl.mrbs fdyq from material wl left join
|
||||||
|
Redbook.RedBook.dbo.sdmdm1 A
|
||||||
|
on A.matnr='0000000000'+wl.matnr
|
||||||
|
<where>
|
||||||
|
and wl.matnr like '3%' and wl.sfyx='0' and (wl.mstav is null or wl.mstav='')
|
||||||
|
<if test="matnr !=null and matnr!= ''" >
|
||||||
|
and wl.matnr like '%${matnr}%'
|
||||||
|
</if>
|
||||||
|
<if test="maktx !=null and maktx!= ''" >
|
||||||
|
and (wl.maktx like '%${maktx}%' or wl.yxh like '%${maktx}%')
|
||||||
|
</if>
|
||||||
|
|
||||||
|
<if test="maktx3 !=null and maktx3!= ''" >
|
||||||
|
and wl.maktx like '${maktx3}%'
|
||||||
|
</if>
|
||||||
|
<if test="maktx4 !=null and maktx4!= ''" >
|
||||||
|
and wl.maktx like '%${maktx4}%'
|
||||||
|
</if>
|
||||||
|
<if test="maktx5 !=null and maktx5!= ''" >
|
||||||
|
and wl.maktx like '%${maktx5}%'
|
||||||
|
</if>
|
||||||
|
<if test="diany !=null and diany!= ''" >
|
||||||
|
and wl.diany like '%${diany}%'
|
||||||
|
</if>
|
||||||
|
and wl.maktx not like '%删%'
|
||||||
|
</where>
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
@ -0,0 +1,7 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<!DOCTYPE mapper
|
||||||
|
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="com.ruoyi.mobile.quoteMobile.mapper.QuoteMobileMapper">
|
||||||
|
|
||||||
|
</mapper>
|
|
@ -13,7 +13,7 @@ export function getMaterialList(query) {
|
||||||
return request({
|
return request({
|
||||||
url: '/orderManage_Hn/order/materialList',
|
url: '/orderManage_Hn/order/materialList',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data: query
|
params: query
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -25,4 +25,12 @@ export function getCustomList(query) {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function getContractList(query) {
|
||||||
|
return request({
|
||||||
|
url: '/orderManage_Hn/order/contractList',
|
||||||
|
method: 'post',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,10 @@
|
||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
//查询报价列表
|
||||||
|
export function getQuoteList(param) {
|
||||||
|
return request({
|
||||||
|
url: '/quoteMobile/quote/list',
|
||||||
|
method: 'post',
|
||||||
|
params: param
|
||||||
|
})
|
||||||
|
}
|
|
@ -99,7 +99,6 @@ export const constantRoutes = [
|
||||||
path: '/hainanOrder/index',
|
path: '/hainanOrder/index',
|
||||||
component: Layout,
|
component: Layout,
|
||||||
hidden: true,
|
hidden: true,
|
||||||
permissions: ['hainanOrder:operation:list'],
|
|
||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
path: '',
|
path: '',
|
||||||
|
@ -108,7 +107,33 @@ export const constantRoutes = [
|
||||||
meta: { title: '海南订单新建', activeMenu: '/hainanOrder/operation' }
|
meta: { title: '海南订单新建', activeMenu: '/hainanOrder/operation' }
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: '/quoteMobile/index',
|
||||||
|
component: Layout,
|
||||||
|
hidden: true,
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
path: '',
|
||||||
|
component: () => import('@/views/mobile/quoteMobile/index'),
|
||||||
|
name: 'quoteMobile',
|
||||||
|
meta: { title: '报价单列表', activeMenu: '/mobile/quoteMobile' }
|
||||||
}
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: '/quoteMobile/add',
|
||||||
|
component: Layout,
|
||||||
|
hidden: true,
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
path: '',
|
||||||
|
component: () => import('@/views/mobile/quoteMobile/operation/add'),
|
||||||
|
name: 'quoteMobile',
|
||||||
|
meta: { title: '新建报价单', activeMenu: '/mobile/quoteMobile/operation' }
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
]
|
]
|
||||||
|
|
||||||
// 动态路由,基于用户权限动态去加载
|
// 动态路由,基于用户权限动态去加载
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<template>
|
<template>
|
||||||
<!------------------------ dialog控件 ------------------------------------>
|
<!------------------------ dialog控件 ------------------------------------>
|
||||||
<el-dialog class="materialDialogTable" :visible.sync="visible" width="1100px" @close="closeDialog">
|
<el-dialog class="materialDialogTable" :visible.sync="visible" width="1150px" @close="closeDialog">
|
||||||
<div slot="title" style="margin: 0px; padding: 0px">
|
<div slot="title" style="margin: 0px; padding: 0px">
|
||||||
<el-form :model="queryParams" ref="queryParams" size="small" :inline="true">
|
<el-form :model="queryParams" ref="queryParams" size="small" :inline="true">
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
|
@ -43,7 +43,7 @@
|
||||||
</el-form>
|
</el-form>
|
||||||
</div>
|
</div>
|
||||||
<div style="display: flex; flex-direction: row;">
|
<div style="display: flex; flex-direction: row;">
|
||||||
<div style="width: 700px">
|
<div style="width: 800px">
|
||||||
<el-table
|
<el-table
|
||||||
:data="materialDialogData"
|
:data="materialDialogData"
|
||||||
@selection-change="handleSelectionChange"
|
@selection-change="handleSelectionChange"
|
||||||
|
@ -56,7 +56,7 @@
|
||||||
border>
|
border>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
type="selection"
|
type="selection"
|
||||||
width="55">
|
width="40">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
label="序号"
|
label="序号"
|
||||||
|
@ -64,32 +64,32 @@
|
||||||
width="55">
|
width="55">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
width="120"
|
width="100"
|
||||||
prop="matnr"
|
prop="matnr"
|
||||||
label="物料">
|
label="物料">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
width="120"
|
width="250"
|
||||||
prop="maktx"
|
prop="maktx"
|
||||||
label="物料描述">
|
label="物料描述">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
width="120"
|
width="100"
|
||||||
prop="kbetr"
|
prop="kbetr"
|
||||||
label="价格">
|
label="价格">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
width="125"
|
width="100"
|
||||||
prop="vtext"
|
prop="vtext"
|
||||||
label="物料类型">
|
label="物料类型">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
width="120"
|
width="55"
|
||||||
prop="kmein"
|
prop="kmein"
|
||||||
label="计量单位">
|
label="计量单位">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
width="102"
|
width="100"
|
||||||
prop="dwjz"
|
prop="dwjz"
|
||||||
label="单位净重">
|
label="单位净重">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
@ -108,7 +108,7 @@
|
||||||
:key="index"
|
:key="index"
|
||||||
class="selected-item"
|
class="selected-item"
|
||||||
>
|
>
|
||||||
{{ selectedItem.model }} , {{ selectedItem.specification }} , {{ selectedItem.voltLevel }}
|
{{ selectedItem.maktx }}
|
||||||
<el-button @click="removeSelectedItem(selectedItem)" type="text" class="remove-btn">✖</el-button>
|
<el-button @click="removeSelectedItem(selectedItem)" type="text" class="remove-btn">✖</el-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -191,6 +191,9 @@ export default {
|
||||||
/**-------------------确认选择-----------------**/
|
/**-------------------确认选择-----------------**/
|
||||||
confirmSelection() {
|
confirmSelection() {
|
||||||
this.$emit('confirm-selection', this.selectedMaterialItems);
|
this.$emit('confirm-selection', this.selectedMaterialItems);
|
||||||
|
this.selectedMaterialItems = [];
|
||||||
|
this.$refs.materialDialogData.clearSelection();
|
||||||
|
this.closeDialog();
|
||||||
},
|
},
|
||||||
closeDialog() {
|
closeDialog() {
|
||||||
this.$emit('update:visible', false);
|
this.$emit('update:visible', false);
|
||||||
|
|
|
@ -0,0 +1,156 @@
|
||||||
|
<template>
|
||||||
|
<el-dialog
|
||||||
|
:width="width || '900px'"
|
||||||
|
:height="height || '650px'"
|
||||||
|
:visible.sync="open"
|
||||||
|
:show-close="false" append-to-body>
|
||||||
|
<div slot="title" style="margin: 0px; padding: 0px">
|
||||||
|
<el-form :model="queryParams" ref="queryForm" size="mini" label-width="100px">
|
||||||
|
<el-form-item label="公司编码" prop="Code">
|
||||||
|
<el-input v-model="queryParams.Code" placeholder="请输入公司编码" clearable :style="{width: '100%'}">
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="公司名称" prop="Name">
|
||||||
|
<el-input v-model="queryParams.Name" placeholder="请输入公司名称" clearable :style="{width: '100%'}">
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item >
|
||||||
|
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"> 搜索 </el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
</div>
|
||||||
|
<el-table v-loading="loading" ref="table" :data="pagedData" @selection-change="handleSelectionChange" height="300">
|
||||||
|
<el-table-column type="selection" width="55" align="center" />
|
||||||
|
<el-table-column align="center">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<div class="table-cell">
|
||||||
|
<div class="table-cell-field">{{ scope.row.value }}</div>
|
||||||
|
<div class="table-cell-field">{{ scope.row.label }}</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<!-- <el-table-column label="公司编码" align="center" prop="value" />-->
|
||||||
|
<!-- <el-table-column label="公司名称" align="center" prop="label" />-->
|
||||||
|
</el-table>
|
||||||
|
<pagination
|
||||||
|
v-show="total>0"
|
||||||
|
:total="total"
|
||||||
|
:page.sync="currentPage"
|
||||||
|
:limit.sync="pageSize"
|
||||||
|
@size-change="handleSizeChange"
|
||||||
|
@current-change="handleCurrentChange"
|
||||||
|
/>
|
||||||
|
<div slot="footer" class="dialog-footer">
|
||||||
|
<el-button type="primary" @click="confirm" :disabled="single">确 定</el-button>
|
||||||
|
<el-button @click="cancel">取 消</el-button>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { listCustomer } from "@/api/common/sapRfc";// sap-rfc 函数
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: "CustomerSelect",
|
||||||
|
props: {
|
||||||
|
width: {
|
||||||
|
type: String,
|
||||||
|
default: "900px",
|
||||||
|
},
|
||||||
|
height: {
|
||||||
|
type: String,
|
||||||
|
default: '650px'
|
||||||
|
},
|
||||||
|
open: {
|
||||||
|
type: Boolean,
|
||||||
|
default:false,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
// 遮罩层
|
||||||
|
loading: false,
|
||||||
|
// 非单个禁用
|
||||||
|
single: true,
|
||||||
|
// 非多个禁用
|
||||||
|
multiple: true,
|
||||||
|
// 查询参数
|
||||||
|
queryParams: {
|
||||||
|
Code: null,
|
||||||
|
Name: null
|
||||||
|
},
|
||||||
|
// 总条数
|
||||||
|
total: 0,
|
||||||
|
pageSize: 10,
|
||||||
|
currentPage: 1,
|
||||||
|
customerList: [],
|
||||||
|
|
||||||
|
//已选择的客户信息
|
||||||
|
checkedCustomer: null,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
/** 切换每页显示条数 */
|
||||||
|
handleSizeChange(val) {
|
||||||
|
this.pageSize = val;
|
||||||
|
this.currentPage = 1;
|
||||||
|
},
|
||||||
|
/** 页码选择 */
|
||||||
|
handleCurrentChange(val) {
|
||||||
|
this.currentPage = val;
|
||||||
|
},
|
||||||
|
/** 查询客户管理列表 */
|
||||||
|
getList() {
|
||||||
|
this.loading = true;
|
||||||
|
listCustomer(this.queryParams).then(response => {
|
||||||
|
this.customerList = response.data;
|
||||||
|
this.total = response.data.length;
|
||||||
|
this.currentPage = 1;
|
||||||
|
this.loading = false;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
/** 搜索按钮操作 */
|
||||||
|
handleQuery() {
|
||||||
|
if(this.queryParams.Code || this.queryParams.Name){
|
||||||
|
this.queryParams.pageNum = 1;
|
||||||
|
this.getList();
|
||||||
|
}else{
|
||||||
|
this.$message.warning("请输入查询条件!");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 多选框选中数据
|
||||||
|
handleSelectionChange(selection) {
|
||||||
|
this.checkedCustomer = selection[0];
|
||||||
|
this.single = selection.length!==1
|
||||||
|
this.multiple = !selection.length
|
||||||
|
},
|
||||||
|
// 取消按钮
|
||||||
|
cancel() {
|
||||||
|
this.customerList = [];
|
||||||
|
this.total = 0;
|
||||||
|
this.resetForm("queryForm");
|
||||||
|
this.$emit('cancel');
|
||||||
|
},
|
||||||
|
// 确定按钮
|
||||||
|
confirm() {
|
||||||
|
this.customerList = [];
|
||||||
|
this.total = 0;
|
||||||
|
this.resetForm("queryForm");
|
||||||
|
this.$emit("submit", this.checkedCustomer); //返回username和nickname
|
||||||
|
},
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
// 分页后的数据
|
||||||
|
pagedData() {
|
||||||
|
const startIndex = (this.currentPage - 1) * this.pageSize;
|
||||||
|
const endIndex = startIndex + this.pageSize;
|
||||||
|
return this.customerList.slice(startIndex, endIndex);
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
|
||||||
|
</style>
|
|
@ -3,9 +3,9 @@
|
||||||
<el-form :model="addOrderParam" ref="addOrderParam" size="small" :inline="true" v-show="showSearch" label-width="160px">
|
<el-form :model="addOrderParam" ref="addOrderParam" size="small" :inline="true" v-show="showSearch" label-width="160px">
|
||||||
<el-row :gutter="8">
|
<el-row :gutter="8">
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="售达方" prop="soldToParty">
|
<el-form-item label="售达方" prop="kunnr">
|
||||||
<div class="flex-container">
|
<div class="flex-container">
|
||||||
<el-input v-model="addOrderParam.kunnr" placeholder="客户编号" :style="{ width: inputWidth_1 }"></el-input>
|
<el-input :disabled="true" v-model="addOrderParam.kunnr" placeholder="客户编号" :style="{ width: inputWidth_1 }"></el-input>
|
||||||
<el-button type="text" size="small" @click="openCustomDialog" class="flex-button">+选择客户</el-button>
|
<el-button type="text" size="small" @click="openCustomDialog" class="flex-button">+选择客户</el-button>
|
||||||
</div>
|
</div>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
@ -13,6 +13,7 @@
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="售达方描述" prop="soldPartyDesc">
|
<el-form-item label="售达方描述" prop="soldPartyDesc">
|
||||||
<el-input
|
<el-input
|
||||||
|
:disabled="true"
|
||||||
:style="{ width: inputWidth_1 }"
|
:style="{ width: inputWidth_1 }"
|
||||||
v-model="addOrderParam.kna1"
|
v-model="addOrderParam.kna1"
|
||||||
placeholder="客户描述"
|
placeholder="客户描述"
|
||||||
|
@ -25,24 +26,24 @@
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="合同号">
|
<el-form-item label="合同号">
|
||||||
<div class="flex-container">
|
<div class="flex-container">
|
||||||
<el-select :style="{ width: inputWidth_2 }" v-model="addOrderParam.auart" placeholder="销售凭证类型" clearable>
|
<el-select :style="{ width: inputWidth_2 }" v-model="addOrderParam.hasHt" clearable>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="dict in dict.type.sales_voucher_type"
|
v-for="dict in hasHtDict"
|
||||||
:key="dict.value"
|
:key="dict.value"
|
||||||
:label="dict.label"
|
:label="dict.label"
|
||||||
:value="dict.value"
|
:value="dict.value"
|
||||||
/>
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
<el-input :style="{ width: inputWidth_2 }" v-model="addOrderParam.kunnr" placeholder="合同号" ></el-input>
|
<el-input :style="{ width: inputWidth_2 }" :disabled="addOrderParam.hasHt === 0" v-model="addOrderParam.bstkd" placeholder="合同号" ></el-input>
|
||||||
<el-button type="text" size="small" class="flex-button">+选择合同</el-button>
|
<el-button :disabled="addOrderParam.hasHt === 0" type="text" size="small" @click="openContractDialog" class="flex-button">+选择合同</el-button>
|
||||||
</div>
|
</div>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="业务员编码及姓名">
|
<el-form-item label="业务员编码及姓名">
|
||||||
<div class="flex-container">
|
<div class="flex-container">
|
||||||
<el-input :style="{ width: inputWidth_2 }" v-model="addOrderParam.kunnr" placeholder="客户编号" ></el-input>
|
<el-input :disabled="true" :style="{ width: inputWidth_2 }" v-model="addOrderParam.kunnr1" placeholder="客户编号" ></el-input>
|
||||||
<el-input :style="{ width: inputWidth_2 }" v-model="addOrderParam.kunnr" placeholder="客户编号" ></el-input>
|
<el-input :disabled="true" :style="{ width: inputWidth_2 }" v-model="addOrderParam.sapname" placeholder="客户编号" ></el-input>
|
||||||
</div>
|
</div>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
@ -50,12 +51,13 @@
|
||||||
|
|
||||||
<el-form-item label="销售组织描述" prop="vkorg">
|
<el-form-item label="销售组织描述" prop="vkorg">
|
||||||
<el-input
|
<el-input
|
||||||
|
:disabled="true"
|
||||||
v-model="addOrderParam.vkorg"
|
v-model="addOrderParam.vkorg"
|
||||||
placeholder="销售组织描述"
|
placeholder="销售组织描述"
|
||||||
clearable
|
clearable
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="销售凭证类型" prop="zsdshdz">
|
<el-form-item label="销售凭证类型" prop="auart">
|
||||||
<el-select v-model="addOrderParam.auart" placeholder="销售凭证类型" clearable>
|
<el-select v-model="addOrderParam.auart" placeholder="销售凭证类型" clearable>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="dict in dict.type.sales_voucher_type"
|
v-for="dict in dict.type.sales_voucher_type"
|
||||||
|
@ -83,6 +85,7 @@
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="定价日期" prop="prsdt">
|
<el-form-item label="定价日期" prop="prsdt">
|
||||||
<el-input
|
<el-input
|
||||||
|
:disabled="true"
|
||||||
v-model="addOrderParam.prsdt"
|
v-model="addOrderParam.prsdt"
|
||||||
placeholder="定价日期"
|
placeholder="定价日期"
|
||||||
clearable
|
clearable
|
||||||
|
@ -140,10 +143,10 @@
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="订单编号" prop="orderNumber">
|
<el-form-item label="订单编号" prop="orderNumber">
|
||||||
<el-input
|
<el-input
|
||||||
|
:disabled="true"
|
||||||
v-model="addOrderParam.orderNumber"
|
v-model="addOrderParam.orderNumber"
|
||||||
placeholder="订单编号"
|
placeholder="订单编号"
|
||||||
clearable
|
clearable
|
||||||
|
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-row :gutter="8">
|
<el-row :gutter="8">
|
||||||
|
@ -152,28 +155,26 @@
|
||||||
<div class="flex-container">
|
<div class="flex-container">
|
||||||
<el-input
|
<el-input
|
||||||
:style="{ width: inputWidth_1 }"
|
:style="{ width: inputWidth_1 }"
|
||||||
v-model="addOrderParam.kna1"
|
v-model="addOrderParam.zsdshdz"
|
||||||
placeholder="客户描述"
|
placeholder="送货地址"
|
||||||
clearable
|
clearable
|
||||||
/>
|
/>
|
||||||
<el-button type="text" size="small" class="flex-button">+门店地址</el-button>
|
|
||||||
</div>
|
</div>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="备注信息" prop="orderNumber">
|
<el-form-item label="备注信息" prop="remarks">
|
||||||
<el-input
|
<el-input
|
||||||
type="textarea"
|
type="textarea"
|
||||||
:style="{ width: inputWidth_1 }"
|
:style="{ width: inputWidth_1 }"
|
||||||
:rows="2"
|
:rows="2"
|
||||||
placeholder="请输入内容"
|
placeholder="请输入内容"
|
||||||
v-model="addOrderParam.orderNumber">
|
v-model="addOrderParam.remarks">
|
||||||
</el-input>
|
</el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
</el-form>
|
</el-form>
|
||||||
|
|
||||||
<el-row :gutter="10" class="mb8">
|
<el-row :gutter="10" class="mb8">
|
||||||
<el-col :span="1.5">
|
<el-col :span="1.5">
|
||||||
<el-button
|
<el-button
|
||||||
|
@ -225,22 +226,73 @@
|
||||||
<right-toolbar :showSearch.sync="showSearch" ></right-toolbar>
|
<right-toolbar :showSearch.sync="showSearch" ></right-toolbar>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
<el-table width="100%" :data="orderList" :row-class-name="rowOrderIndex" @selection-change="handleSelectionChange">
|
<el-table width="100%" class="materialTable" :data="orderList" :row-class-name="rowOrderIndex" :cell-style="cellStyle">
|
||||||
<el-table-column type="selection" width="55" align="center" />
|
|
||||||
<el-table-column label="序号" align="center" prop="index" width="80"/>
|
<el-table-column label="序号" align="center" prop="index" width="80"/>
|
||||||
<el-table-column label="物料编号" width="100" align="center" prop="kna1" />
|
<el-table-column label="物料编号" width="100" align="center" prop="matnr" />
|
||||||
<el-table-column label="物料描述" width="100" align="center" prop="vdatu" />
|
<el-table-column label="物料描述" width="250" align="center" prop="maktx" />
|
||||||
<el-table-column label="订单数量" width="150" align="center" prop="orderid" />
|
<el-table-column label="订单数量" width="150" align="center" prop="kwmeng" >
|
||||||
<el-table-column label="开票价" width="150" align="center" prop="zsdywlxmb" />
|
<template v-slot="scope">
|
||||||
<el-table-column label="销售单位" width="150" align="center" prop="zsdshdz" />
|
<el-input v-model="scope.row.kwmeng" >
|
||||||
<el-table-column label="单位净重(KG/KM)" width="150" align="center" prop="bstkd" />
|
</el-input>
|
||||||
<el-table-column label="厂价" width="150" align="center" prop="pzh" />
|
</template>
|
||||||
<el-table-column label="开票价/厂价" width="150" align="center" prop="totalPrice3" />
|
</el-table-column>
|
||||||
<el-table-column label="分段要求" width="150" align="center" prop="remarks" />
|
<el-table-column label="开票价" width="150" align="center" prop="zsdhtj" >
|
||||||
<el-table-column label="备注" width="150" align="center" prop="state" />
|
<template v-slot="scope">
|
||||||
<el-table-column label="客户采购订单号" width="150" align="center" prop="tabindex" />
|
<el-input v-model="scope.row.zsdhtj" >
|
||||||
<el-table-column label="客户采购订单行项目" width="150" align="center" prop="tabindex" />
|
</el-input>
|
||||||
<el-table-column label="是否远程监造" width="150" align="center" prop="tabindex" />
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="销售单位" width="150" align="center" prop="vrkme" />
|
||||||
|
<el-table-column label="单位净重(KG/KM)" width="150" align="center" prop="dwjz" />
|
||||||
|
<el-table-column label="厂价" width="150" align="center" prop="changjia" />
|
||||||
|
<el-table-column label="开票价/厂价" width="150" align="center" prop="kpjbl" >
|
||||||
|
<template v-slot="scope">
|
||||||
|
<el-input v-model="scope.row.kpjbl" c>
|
||||||
|
</el-input>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="分段要求" width="150" align="center" prop="fdyq" >
|
||||||
|
<template v-slot="scope">
|
||||||
|
<el-select v-model="scope.row.fdyq" placeholder="分段要求" clearable>
|
||||||
|
<el-option
|
||||||
|
v-for="dict in fdyqDict"
|
||||||
|
:key="dict.value"
|
||||||
|
:label="dict.label"
|
||||||
|
:value="dict.value"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="备注" width="250" align="center" prop="zsdsobz" >
|
||||||
|
<template v-slot="scope">
|
||||||
|
<el-input v-model="scope.row.zsdsobz" >
|
||||||
|
</el-input>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="客户采购订单号" width="150" align="center" prop="bstkdE" >
|
||||||
|
<template v-slot="scope">
|
||||||
|
<el-input v-model="scope.row.bstkdE" >
|
||||||
|
</el-input>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="客户采购订单行项目" width="150" align="center" prop="posexE" >
|
||||||
|
<template v-slot="scope">
|
||||||
|
<el-input v-model="scope.row.posexE" >
|
||||||
|
</el-input>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="是否远程监造" width="150" align="center" prop="zsdycjz" >
|
||||||
|
<template v-slot="scope">
|
||||||
|
<el-select v-model="scope.row.zsdycjz" placeholder="是否远程监造" clearable>
|
||||||
|
<el-option
|
||||||
|
v-for="dict in zsdycjzDict"
|
||||||
|
:key="dict.value"
|
||||||
|
:label="dict.label"
|
||||||
|
:value="dict.value"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<el-table-column fixed="right" label="操作" align="center" width="150">
|
<el-table-column fixed="right" label="操作" align="center" width="150">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button
|
<el-button
|
||||||
|
@ -257,7 +309,7 @@
|
||||||
</el-form>
|
</el-form>
|
||||||
<MaterialDialog
|
<MaterialDialog
|
||||||
:visible.sync="dialogMaterialVisible"
|
:visible.sync="dialogMaterialVisible"
|
||||||
@confirm-selection="handleConfirmSelection"
|
@confirm-selection="materialDialogConfirmSelection"
|
||||||
@query="queryMaterialList"
|
@query="queryMaterialList"
|
||||||
:materialDialogData="materialDialogData"
|
:materialDialogData="materialDialogData"
|
||||||
:total="materialDialogTotal"
|
:total="materialDialogTotal"
|
||||||
|
@ -299,7 +351,9 @@
|
||||||
width="75"
|
width="75"
|
||||||
prop="operation"
|
prop="operation"
|
||||||
label="操作">
|
label="操作">
|
||||||
<el-button type="text" size="small">选择</el-button>
|
<template slot-scope="scope">
|
||||||
|
<el-button type="text" @click="chooseCustom(scope.row)" size="small">选择</el-button>
|
||||||
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
<pagination
|
<pagination
|
||||||
|
@ -317,6 +371,96 @@
|
||||||
</el-button-group>
|
</el-button-group>
|
||||||
</div>
|
</div>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
<el-dialog :visible.sync="contractVisible" width="1100px" @close="closeContractDialog">
|
||||||
|
<div slot="title" style="margin: 0px; padding: 0px">
|
||||||
|
<el-form :model="contractDialogParams" ref="contractDialogParams" size="small" :inline="true">
|
||||||
|
<el-form-item label="合同编号" prop="hetongid">
|
||||||
|
<el-input v-model="contractDialogParams.hetongid" placeholder="合同编号(选填)"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="客户名称" prop="customname">
|
||||||
|
<el-input v-model="contractDialogParams.customname" placeholder="客户名称(选填)"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="日期(起-止)" prop="dateRange">
|
||||||
|
<el-date-picker
|
||||||
|
v-model="contractDialogParams.dateRange"
|
||||||
|
style="width: 215px"
|
||||||
|
value-format="yyyy-MM-dd"
|
||||||
|
type="daterange"
|
||||||
|
range-separator="-"
|
||||||
|
start-placeholder="开始日期"
|
||||||
|
end-placeholder="结束日期"
|
||||||
|
></el-date-picker>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item>
|
||||||
|
<el-button type="primary" icon="el-icon-search" size="mini" @click="queryContract">搜索</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<el-table
|
||||||
|
:data="contractDialogData"
|
||||||
|
ref="contractDialogData"
|
||||||
|
:header-cell-style="{ background: '#eef1f6', color: '#606266', 'text-align': 'center', 'padding': '0px'}"
|
||||||
|
:cell-style="{'text-align': 'center', 'padding': '5px 0px'}"
|
||||||
|
highlight-selection-row
|
||||||
|
border>
|
||||||
|
<el-table-column
|
||||||
|
label="序号"
|
||||||
|
type="index"
|
||||||
|
width="55">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
width="160"
|
||||||
|
prop="htqdrq"
|
||||||
|
label="合同日期">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
width="130"
|
||||||
|
prop="htbh2"
|
||||||
|
label="合同号">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
width="160"
|
||||||
|
prop="zsdywyms"
|
||||||
|
label="业务员">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
width="160"
|
||||||
|
prop="zsdname"
|
||||||
|
label="客户">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
width="160"
|
||||||
|
prop="zsdhtje"
|
||||||
|
label="合同金额">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
width="160"
|
||||||
|
prop="zsdbz02"
|
||||||
|
label="备注">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
width="75"
|
||||||
|
prop="operation"
|
||||||
|
label="操作">
|
||||||
|
<el-button type="text" size="small">选择</el-button>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<pagination
|
||||||
|
v-show="contractDialogTotal>0"
|
||||||
|
:total="contractDialogTotal"
|
||||||
|
:page.sync="contractDialogParams.pageNum"
|
||||||
|
:limit.sync="contractDialogParams.pageSize"
|
||||||
|
@pagination="queryContract"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div style="text-align: center; padding-top: 20px">
|
||||||
|
<el-button-group>
|
||||||
|
<el-button type="primary" size="small" style="margin-right: 80px" @click="confirmContractSelection">确认</el-button>
|
||||||
|
<el-button type="warning" size="small" @click="closeContractDialog">取消</el-button>
|
||||||
|
</el-button-group>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
|
@ -328,7 +472,7 @@
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
<script>
|
<script>
|
||||||
import { getOrderList, getMaterialList, getCustomList} from "@/api/hainanOrder/order";
|
import { getMaterialList, getCustomList, getContractList } from "@/api/hainanOrder/order";
|
||||||
import MaterialDialog from '@/views/components/Tools/MaterialDialog/index.vue';
|
import MaterialDialog from '@/views/components/Tools/MaterialDialog/index.vue';
|
||||||
export default {
|
export default {
|
||||||
name: "AddOrder",
|
name: "AddOrder",
|
||||||
|
@ -353,6 +497,20 @@ export default {
|
||||||
{value: 3, label: '定做'},
|
{value: 3, label: '定做'},
|
||||||
{value: 4, label: '有货备库,无货定做'}
|
{value: 4, label: '有货备库,无货定做'}
|
||||||
],
|
],
|
||||||
|
fdyqDict: [
|
||||||
|
{value: '0', label: '选择分段'},
|
||||||
|
{value: 2, label: '整根'},
|
||||||
|
{value: 3, label: '其他分段'},
|
||||||
|
{value: 1, label: "100米/卷"}
|
||||||
|
],
|
||||||
|
zsdycjzDict: [
|
||||||
|
{label: '否'},
|
||||||
|
{value: 'X', label: '是'}
|
||||||
|
],
|
||||||
|
hasHtDict: [
|
||||||
|
{value: 0, label: '无'},
|
||||||
|
{value: 1, label: '有'}
|
||||||
|
],
|
||||||
// 选中数组
|
// 选中数组
|
||||||
ids: [],
|
ids: [],
|
||||||
// 非单个禁用
|
// 非单个禁用
|
||||||
|
@ -372,12 +530,21 @@ export default {
|
||||||
name1: ''
|
name1: ''
|
||||||
},
|
},
|
||||||
addOrderParam: {
|
addOrderParam: {
|
||||||
|
vkorg: '海南富诚',
|
||||||
kna1: null,
|
kna1: null,
|
||||||
|
hasHt: '',
|
||||||
|
kunnr1: '',
|
||||||
bstkd: null,
|
bstkd: null,
|
||||||
|
auart: '',
|
||||||
|
sapname: '',
|
||||||
zsdshdz: null,
|
zsdshdz: null,
|
||||||
orderid: null,
|
vdatu: '',
|
||||||
pzh: null,
|
vtweg: '',
|
||||||
state: null,
|
prsdt: '',
|
||||||
|
zsdywlxmb: '',
|
||||||
|
isprint: '',
|
||||||
|
sfdz: '',
|
||||||
|
orderNumber: '',
|
||||||
dateRange: [],
|
dateRange: [],
|
||||||
remarks: null
|
remarks: null
|
||||||
},
|
},
|
||||||
|
@ -395,6 +562,18 @@ export default {
|
||||||
customDialogData: [
|
customDialogData: [
|
||||||
|
|
||||||
],
|
],
|
||||||
|
//合同变量声明
|
||||||
|
contractDialogParams: {
|
||||||
|
pageNum: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
hetongid: '',
|
||||||
|
customname: '',
|
||||||
|
dateRange: []
|
||||||
|
},
|
||||||
|
contractVisible: false,
|
||||||
|
contractDialogData: [],
|
||||||
|
contractDialogTotal: 0,
|
||||||
|
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
|
@ -425,7 +604,10 @@ export default {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
/**-------表格的cell样式----------**/
|
||||||
|
cellStyle({row, column, rowIndex, columnIndex}) {
|
||||||
|
return ' text-align : center; padding: 0px';
|
||||||
|
},
|
||||||
/** 序号 */
|
/** 序号 */
|
||||||
rowOrderIndex({ row, rowIndex }) {
|
rowOrderIndex({ row, rowIndex }) {
|
||||||
row.index = rowIndex + 1;
|
row.index = rowIndex + 1;
|
||||||
|
@ -435,49 +617,22 @@ export default {
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
handleSelectionChange() {
|
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
handleUpdate() {
|
handleUpdate() {
|
||||||
|
|
||||||
},
|
},
|
||||||
/**----------------传递数据-------------**/
|
/**----------------传递数据-------------**/
|
||||||
handleConfirmSelection(selectedItems) {
|
materialDialogConfirmSelection(selectedItems) {
|
||||||
this.selectedMaterials = selectedItems;
|
this.orderList.push(...selectedItems);
|
||||||
this.dialogMaterialVisible = false;
|
|
||||||
console.log(this.selectedMaterials)
|
|
||||||
},
|
},
|
||||||
/**------------dialog中请求物料列表-------------**/
|
/**------------dialog中请求物料列表-------------**/
|
||||||
queryMaterialList(queryParams) {
|
queryMaterialList(queryParams) {
|
||||||
this.materialDialogData = [
|
getMaterialList(queryParams).then(response => {
|
||||||
{
|
this.materialDialogData = response.rows;
|
||||||
uid: '1',
|
this.materialDialogTotal = response.total;
|
||||||
prodCategory: '产品1',
|
this.loading = false;
|
||||||
model: '型号A',
|
});
|
||||||
specification: '规格1',
|
|
||||||
voltLevel: '110V',
|
|
||||||
measureUnit: '个'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
uid: '2',
|
|
||||||
prodCategory: '产品2',
|
|
||||||
model: '型号B',
|
|
||||||
specification: '规格2',
|
|
||||||
voltLevel: '220V',
|
|
||||||
measureUnit: '台'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
uid: '3',
|
|
||||||
prodCategory: '产品3',
|
|
||||||
model: '型号C',
|
|
||||||
specification: '规格3',
|
|
||||||
voltLevel: '380V',
|
|
||||||
measureUnit: '件'
|
|
||||||
},
|
|
||||||
// 可以继续添加更多数据
|
|
||||||
];
|
|
||||||
this.materialDialogTotal = 10
|
|
||||||
},
|
},
|
||||||
/**-----------------------选择客户Dialog函数-------------------------**/
|
/**-----------------------选择客户Dialog函数-------------------------**/
|
||||||
closeCustomDialog() {
|
closeCustomDialog() {
|
||||||
|
@ -498,12 +653,34 @@ export default {
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
chooseCustom(row) {
|
||||||
|
this.addOrderParam.kunnr = row.kunnr;
|
||||||
|
this.addOrderParam.kna1 = row.name1;
|
||||||
|
this.customVisible = false;
|
||||||
|
},
|
||||||
|
/**-----------------------选择合同------------------**/
|
||||||
|
closeContractDialog() {
|
||||||
|
this.contractVisible = false;
|
||||||
|
},
|
||||||
|
queryContract() {
|
||||||
|
getContractList(this.contractDialogParams).then(response => {
|
||||||
|
this.contractDialogData = response.rows;
|
||||||
|
this.contractDialogTotal = response.total;
|
||||||
|
this.loading = true;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
confirmContractSelection() {
|
||||||
|
|
||||||
},
|
},
|
||||||
|
openContractDialog() {
|
||||||
|
this.contractVisible = true;
|
||||||
|
}
|
||||||
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
|
|
||||||
.flex-container {
|
.flex-container {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
@ -517,6 +694,13 @@ export default {
|
||||||
padding-top: 10px !important;
|
padding-top: 10px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.materialTable .el-input__inner {
|
||||||
|
margin: 5px;
|
||||||
|
height: 25px;
|
||||||
|
/*font-family: Roboto, serif;*/
|
||||||
|
font-size: 12px;
|
||||||
|
line-height: 14px;
|
||||||
|
}
|
||||||
|
|
||||||
.flex-input {
|
.flex-input {
|
||||||
flex-grow: 1;
|
flex-grow: 1;
|
||||||
|
|
|
@ -0,0 +1,146 @@
|
||||||
|
<template>
|
||||||
|
<div class="app-container">
|
||||||
|
<!-- Section 1 -->
|
||||||
|
<div class="app-card">
|
||||||
|
<h2 class="app-title">报价</h2>
|
||||||
|
<el-row :gutter="10">
|
||||||
|
<el-col :span="8" class="app-icon-container">
|
||||||
|
<el-card shadow="always" class="app-icon-card" >
|
||||||
|
<div class="app-icon" @click="handleClick('quoteMobile')">
|
||||||
|
<img src="https://via.placeholder.com/50" alt="App1">
|
||||||
|
</div>
|
||||||
|
<div class="app-name">报价单</div>
|
||||||
|
</el-card>
|
||||||
|
</el-col>
|
||||||
|
<!-- <el-col :span="8" class="app-icon-container">-->
|
||||||
|
<!-- <el-card shadow="always" class="app-icon-card" @click="handleClick('App2')">-->
|
||||||
|
<!-- <div class="app-icon">-->
|
||||||
|
<!-- <img src="https://via.placeholder.com/50" alt="App2">-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- <div class="app-name">App2</div>-->
|
||||||
|
<!-- </el-card>-->
|
||||||
|
<!-- </el-col>-->
|
||||||
|
<!-- Add more icons as needed for Section 1 -->
|
||||||
|
</el-row>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Section 2 -->
|
||||||
|
<!-- <div class="app-card">-->
|
||||||
|
<!-- <h2 class="app-title">Section 2</h2>-->
|
||||||
|
<!-- <el-row :gutter="10">-->
|
||||||
|
<!-- <el-col :span="8" class="app-icon-container">-->
|
||||||
|
<!-- <el-card shadow="always" class="app-icon-card" @click="handleClick('App10')">-->
|
||||||
|
<!-- <div class="app-icon">-->
|
||||||
|
<!-- <img src="https://via.placeholder.com/50" alt="App10">-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- <div class="app-name">App10</div>-->
|
||||||
|
<!-- </el-card>-->
|
||||||
|
<!-- </el-col>-->
|
||||||
|
<!-- <el-col :span="8" class="app-icon-container">-->
|
||||||
|
<!-- <el-card shadow="always" class="app-icon-card" @click="handleClick('App11')">-->
|
||||||
|
<!-- <div class="app-icon">-->
|
||||||
|
<!-- <img src="https://via.placeholder.com/50" alt="App11">-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- <div class="app-name">App11</div>-->
|
||||||
|
<!-- </el-card>-->
|
||||||
|
<!-- </el-col>-->
|
||||||
|
<!-- <!– Add more icons as needed for Section 2 –>-->
|
||||||
|
<!-- </el-row>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
|
||||||
|
<!-- <!– Section 3 –>-->
|
||||||
|
<!-- <div class="app-card">-->
|
||||||
|
<!-- <h2 class="app-title">Section 3</h2>-->
|
||||||
|
<!-- <el-row :gutter="10">-->
|
||||||
|
<!-- <el-col :span="8" class="app-icon-container">-->
|
||||||
|
<!-- <el-card shadow="always" class="app-icon-card" @click="handleClick('App19')">-->
|
||||||
|
<!-- <div class="app-icon">-->
|
||||||
|
<!-- <img src="https://via.placeholder.com/50" alt="App19">-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- <div class="app-name">App19</div>-->
|
||||||
|
<!-- </el-card>-->
|
||||||
|
<!-- </el-col>-->
|
||||||
|
<!-- <el-col :span="8" class="app-icon-container">-->
|
||||||
|
<!-- <el-card shadow="always" class="app-icon-card" @click="handleClick('App20')">-->
|
||||||
|
<!-- <div class="app-icon">-->
|
||||||
|
<!-- <img src="https://via.placeholder.com/50" alt="App20">-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- <div class="app-name">App20</div>-->
|
||||||
|
<!-- </el-card>-->
|
||||||
|
<!-- </el-col>-->
|
||||||
|
<!-- <!– Add more icons as needed for Section 3 –>-->
|
||||||
|
<!-- </el-row>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: "index",
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
|
||||||
|
};
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
console.log("hello world")
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
handleClick(appName) {
|
||||||
|
console.log(appName);
|
||||||
|
this.$router.push('/' + appName + '/index');
|
||||||
|
// 这里可以添加更多的处理逻辑,例如跳转到相应的应用页面
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.app-container {
|
||||||
|
padding: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.app-card {
|
||||||
|
background-color: #e0f7fa;
|
||||||
|
border-radius: 15px;
|
||||||
|
padding: 20px;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.app-title {
|
||||||
|
margin-bottom: 15px;
|
||||||
|
font-size: 18px;
|
||||||
|
color: #333;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.app-icon-container {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.app-icon-card {
|
||||||
|
width: 80px;
|
||||||
|
height: 100px;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
flex-direction: column;
|
||||||
|
cursor: pointer;
|
||||||
|
border-radius: 10px;
|
||||||
|
background-color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
.app-icon img {
|
||||||
|
width: 50px;
|
||||||
|
height: 50px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.app-name {
|
||||||
|
margin-top: 5px;
|
||||||
|
font-size: 12px;
|
||||||
|
color: #333;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -0,0 +1,96 @@
|
||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<div class="search-container">
|
||||||
|
<el-input
|
||||||
|
v-model="queryParams.quotProject"
|
||||||
|
placeholder="请输入项目名称"
|
||||||
|
class="search-input"
|
||||||
|
clearable
|
||||||
|
>
|
||||||
|
<el-button slot="append" icon="el-icon-search" @click="handleSearch">搜索</el-button>
|
||||||
|
<el-button slot="append" icon="el-icon-plus" @click="handleAdd">新增</el-button>
|
||||||
|
</el-input>
|
||||||
|
</div>
|
||||||
|
<div v-if="quoteList.length === 0">内容为空</div>
|
||||||
|
<div v-for="(quote, index) in quoteList" :key="index">
|
||||||
|
<el-card class="box-card">
|
||||||
|
<div slot="header" class="clearfix">
|
||||||
|
<span>{{quote.quotCode}}</span>
|
||||||
|
<el-button style="float: right; padding: 3px 0" type="text" @click="handleEdit(quote.quotCode)">编辑</el-button>
|
||||||
|
</div>
|
||||||
|
<div class="text item">
|
||||||
|
<div v-if="false">订单号Id:{{quote.quotId}}</div>
|
||||||
|
<div>客户:{{quote.quotCustomerName}}</div>
|
||||||
|
<div>项目名称:{{quote.quotProject}}</div>
|
||||||
|
<div>提交状态:{{quote.quotApprovalStatus === '0' ? '待提交' : (quote.quotApprovalStatus === '1' ? '协助中' :
|
||||||
|
(quote.quotApprovalStatus === '2' ? '已完成' : '已驳回'))}}</div>
|
||||||
|
<div>询价日期:{{quote.quotInquiryDate}}</div>
|
||||||
|
<div>报价日期:{{quote.quotQuotationDate}}</div>
|
||||||
|
<div>创建时间:{{quote.createTime}}</div>
|
||||||
|
</div>
|
||||||
|
</el-card>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { getQuoteList} from "@/api/mobile/quoteMobile/quoteMobile";
|
||||||
|
export default {
|
||||||
|
name: "index",
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
quoteList: [],
|
||||||
|
queryParams: {
|
||||||
|
pageNum: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
quotCode: null,
|
||||||
|
quotCustomerName: null,
|
||||||
|
quotProject: null,
|
||||||
|
quotApprovalStatus: null,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.queryQuoteList();
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
queryQuoteList() {
|
||||||
|
getQuoteList(this.queryParams).then(response => {
|
||||||
|
this.quoteList = response.data
|
||||||
|
console.log(this.quoteList);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
handleSearch() {
|
||||||
|
console.log(this.queryParams)
|
||||||
|
getQuoteList(this.queryParams).then(response => {
|
||||||
|
this.quoteList = response.data
|
||||||
|
console.log(this.quoteList);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
handleAdd() {
|
||||||
|
this.$router.push('/quoteMobile/add');
|
||||||
|
},
|
||||||
|
handleEdit(quotCode) {
|
||||||
|
console.log(quotCode)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.search-container {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
margin-top: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.search-input {
|
||||||
|
width: 100%;
|
||||||
|
max-width: 600px;
|
||||||
|
border-radius: 25px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
</style>
|
|
@ -0,0 +1,374 @@
|
||||||
|
<template>
|
||||||
|
<div class="container">
|
||||||
|
<el-form ref="elForm" :model="formData" :rules="rules" size="mini" label-width="100px">
|
||||||
|
<el-form-item v-if="false" label="报价单Id" prop="quotId">
|
||||||
|
<el-input v-model="formData.quotId" placeholder="报价单Id" readonly clearable
|
||||||
|
></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="报价单单号" prop="quotCode">
|
||||||
|
<el-input v-model="formData.quotCode" placeholder="报价单单号(自动生成)" readonly clearable
|
||||||
|
></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="客户" prop="quotCustomerName">
|
||||||
|
<el-input readonly v-model="formData.quotCustomerName" placeholder="请输入客户" >
|
||||||
|
<template slot="append">
|
||||||
|
<span @click="openCustomer">选择</span>
|
||||||
|
</template>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="地址" prop="quotAddress">
|
||||||
|
<el-input v-model="formData.quotAddress" placeholder="请输入地址" clearable>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="审核人" prop="quotCheckUserNickname">
|
||||||
|
<el-input readonly v-model="formData.quotCheckUserNickname" placeholder="审核人" clearable
|
||||||
|
></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="提交状态" prop="quotApprovalStatus">
|
||||||
|
<el-input readonly v-model="formData.quotApprovalStatus" placeholder="保存后显示" clearable
|
||||||
|
></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="项目名称" prop="quotProject">
|
||||||
|
<el-input v-model="formData.quotProject" placeholder="请输入项目名称" clearable >
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="报价要求" prop="quotQuotationRequire">
|
||||||
|
<el-input v-model="formData.quotQuotationRequire" placeholder="请输入报价要求" clearable
|
||||||
|
></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="联系电话" prop="quotPhone">
|
||||||
|
<el-input v-model="formData.quotPhone" placeholder="请输入联系电话" clearable >
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
|
||||||
|
<el-divider content-position="left" class="customer_divider_text">询价附件(先保存)</el-divider>
|
||||||
|
<div v-hasPermi="['quot:quot:quotXjFile']">
|
||||||
|
<el-upload class="upload-demo"
|
||||||
|
ref="upload"
|
||||||
|
name="quotFile"
|
||||||
|
:action="uploadUrl"
|
||||||
|
:headers="headers"
|
||||||
|
:data="{ relation_id: this.formData.quotId,file_type: 'quotXjFile' }"
|
||||||
|
:on-success="handleAvatarSuccess"
|
||||||
|
:show-file-list="false"
|
||||||
|
:limit="1"
|
||||||
|
v-if="this.form.quotApprovalStatus == '0'">
|
||||||
|
<el-button size="small" type="primary" @click="uploadFile('quotXjFile')">上传文件</el-button>
|
||||||
|
</el-upload>
|
||||||
|
</div>
|
||||||
|
<el-table class="down" :data="quotXjFileList" border stripe style="width: 100%;margin-top: 10px;" height="200px">
|
||||||
|
<el-table-column prop="fileName" label="文件名称" ></el-table-column>
|
||||||
|
<el-table-column width="150px" label="操作">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button :key="Math.random()" size="small" type="text">
|
||||||
|
<a @click="downloadFile(scope.row.fileUrl)">下载</a>
|
||||||
|
</el-button>
|
||||||
|
<el-button :key="Math.random()" size="small" type="text" v-if="form.quotApprovalStatus == '0'">
|
||||||
|
<a @click="deleteFile(scope.row.fileId,'quotXjFile')">删除</a>
|
||||||
|
</el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
|
||||||
|
<el-divider content-position="left" class="customer_divider_text">技术规范要求(询价附件)</el-divider>
|
||||||
|
<div v-hasPermi="['quot:quot:quotXjFile']">
|
||||||
|
<el-upload class="upload-demo"
|
||||||
|
ref="upload"
|
||||||
|
name="quotFile"
|
||||||
|
:action="uploadUrl"
|
||||||
|
:headers="headers"
|
||||||
|
:data="{ relation_id: this.formData.quotId,file_type: 'quotXjFile' }"
|
||||||
|
:on-success="handleAvatarSuccess"
|
||||||
|
:show-file-list="false"
|
||||||
|
:limit="1"
|
||||||
|
v-if="this.form.quotApprovalStatus == '0'">
|
||||||
|
<el-button size="small" type="primary" @click="uploadFile('quotXjFile')">上传文件</el-button>
|
||||||
|
</el-upload>
|
||||||
|
</div>
|
||||||
|
<el-table class="down" :data="quotXjFileList" border stripe style="width: 100%;margin-top: 10px;" height="200px">
|
||||||
|
<el-table-column prop="fileName" label="文件名称" ></el-table-column>
|
||||||
|
<el-table-column width="150px" label="操作">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button :key="Math.random()" size="small" type="text">
|
||||||
|
<a @click="downloadFile(scope.row.fileUrl)">下载</a>
|
||||||
|
</el-button>
|
||||||
|
<el-button :key="Math.random()" size="small" type="text" v-if="form.quotApprovalStatus == '0'">
|
||||||
|
<a @click="deleteFile(scope.row.fileId,'quotXjFile')">删除</a>
|
||||||
|
</el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
|
||||||
|
<el-divider content-position="left" class="customer_divider_text">反馈附件</el-divider>
|
||||||
|
<div v-hasPermi="['quot:quot:quotXjFile']">
|
||||||
|
<el-upload class="upload-demo"
|
||||||
|
ref="upload"
|
||||||
|
name="quotFile"
|
||||||
|
:action="uploadUrl"
|
||||||
|
:headers="headers"
|
||||||
|
:data="{ relation_id: this.formData.quotId,file_type: 'quotXjFile' }"
|
||||||
|
:on-success="handleAvatarSuccess"
|
||||||
|
:show-file-list="false"
|
||||||
|
:limit="1"
|
||||||
|
v-if="this.form.quotApprovalStatus == '0'">
|
||||||
|
<el-button size="small" type="primary" @click="uploadFile('quotXjFile')">上传文件</el-button>
|
||||||
|
</el-upload>
|
||||||
|
</div>
|
||||||
|
<el-table class="down" :data="quotXjFileList" border stripe style="width: 100%;margin-top: 10px;" height="200px">
|
||||||
|
<el-table-column prop="fileName" label="文件名称" ></el-table-column>
|
||||||
|
<el-table-column width="150px" label="操作">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button :key="Math.random()" size="small" type="text">
|
||||||
|
<a @click="downloadFile(scope.row.fileUrl)">下载</a>
|
||||||
|
</el-button>
|
||||||
|
<el-button :key="Math.random()" size="small" type="text" v-if="form.quotApprovalStatus == '0'">
|
||||||
|
<a @click="deleteFile(scope.row.fileId,'quotXjFile')">删除</a>
|
||||||
|
</el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
|
||||||
|
|
||||||
|
<el-form-item style="margin-top: 15px">
|
||||||
|
<el-button @click="saveForm">保存</el-button>
|
||||||
|
<el-button style="margin: 0px 15px 0px 20px" type="primary" @click="submitForm">提交</el-button>
|
||||||
|
<el-button @click="resetForm">重置</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<CustomerSelect :width="100 + '%'" ref="customerSelect" :open="customerOpen" @submit="submitCustomer" @cancel="customerOpen=false"></CustomerSelect>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import CustomerSelect from "@/views/components/Tools/Mobile/CustomerSelect/index.vue";
|
||||||
|
import { NumberAdd } from '@/utils/number';// 数值计算
|
||||||
|
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 { checkPermi,checkRole } from '@/utils/permission';// 权限判断函数
|
||||||
|
export default {
|
||||||
|
components: {
|
||||||
|
// 注册组件
|
||||||
|
'CustomerSelect': CustomerSelect,
|
||||||
|
},
|
||||||
|
props: [],
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
// 表单参数
|
||||||
|
form: {},
|
||||||
|
// 报价单-询价附件列表数据
|
||||||
|
quotXjFileList: [],
|
||||||
|
// 报价单-反馈附件列表数据
|
||||||
|
quotFkFileList: [],
|
||||||
|
// 报价单-技术规范附件列表数据
|
||||||
|
quotJsgfFileList: [],
|
||||||
|
//报价单-询价附件上传地址
|
||||||
|
uploadUrl: process.env.VUE_APP_BASE_API + "/quot/quot/quotFile",
|
||||||
|
//报价单-询价附件请求头
|
||||||
|
headers: {Authorization: "Bearer " + getToken()},
|
||||||
|
//是否打开客户选择组件,默认不打开
|
||||||
|
customerOpen:false,
|
||||||
|
formData: {
|
||||||
|
quotId: null,
|
||||||
|
quotCode: '',
|
||||||
|
quotCustomerName: '',
|
||||||
|
quotAddress: '',
|
||||||
|
quotCheckUserNickname: '',
|
||||||
|
quotProject: '',
|
||||||
|
quotQuotationRequire: '',
|
||||||
|
quotPhone: '',
|
||||||
|
quotQuotationFrom: '',
|
||||||
|
quotPrintUserName: '',
|
||||||
|
field115: null,
|
||||||
|
field116: null,
|
||||||
|
},
|
||||||
|
rules: {
|
||||||
|
quotAddress: [{
|
||||||
|
required: true,
|
||||||
|
message: '请输入地址',
|
||||||
|
trigger: 'blur'
|
||||||
|
}],
|
||||||
|
quotProject: [{
|
||||||
|
required: true,
|
||||||
|
message: '请输入项目名称',
|
||||||
|
trigger: 'blur'
|
||||||
|
}],
|
||||||
|
quotQuotationRequire: [{
|
||||||
|
required: true,
|
||||||
|
message: '请输入报价要求',
|
||||||
|
trigger: 'blur'
|
||||||
|
}],
|
||||||
|
quotPhone: [{
|
||||||
|
required: true,
|
||||||
|
message: '请输入联系电话',
|
||||||
|
trigger: 'blur'
|
||||||
|
}],
|
||||||
|
quotQuotationFrom: [{
|
||||||
|
required: true,
|
||||||
|
message: '请输入报价来源',
|
||||||
|
trigger: 'blur'
|
||||||
|
}],
|
||||||
|
},
|
||||||
|
field115Action: 'https://jsonplaceholder.typicode.com/posts/',
|
||||||
|
field115fileList: [],
|
||||||
|
field116Action: 'https://jsonplaceholder.typicode.com/posts/',
|
||||||
|
field116fileList: [],
|
||||||
|
}
|
||||||
|
},
|
||||||
|
computed: {},
|
||||||
|
watch: {},
|
||||||
|
created() {},
|
||||||
|
mounted() {},
|
||||||
|
methods: {
|
||||||
|
//下载附件
|
||||||
|
downloadFile(fileUrl){
|
||||||
|
window.open(fileUrl, "_blank");
|
||||||
|
},
|
||||||
|
|
||||||
|
//删除附件
|
||||||
|
deleteFile(fileId,activeName){
|
||||||
|
//let activeName = this.activeName;
|
||||||
|
quotFileDelete(fileId).then(response => {
|
||||||
|
if(activeName=='quotXjFile'){
|
||||||
|
this.getQuotXjFileList();
|
||||||
|
}else if(activeName=='quotJsInfo'){
|
||||||
|
this.getQuotJsgfFileList();
|
||||||
|
}else if(activeName=='quotFkFile'){
|
||||||
|
this.getQuotFkFileList();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
//点击上传附件按钮触发事件
|
||||||
|
uploadFile(activeName){
|
||||||
|
this.activeName = activeName
|
||||||
|
},
|
||||||
|
//成功回调
|
||||||
|
handleAvatarSuccess(res) {
|
||||||
|
let activeName = this.activeName;
|
||||||
|
// 如果上传成功
|
||||||
|
if (res.code == 200) {
|
||||||
|
this.$modal.msgSuccess(res.msg);
|
||||||
|
if(activeName=='quotXjFile'){
|
||||||
|
this.getQuotXjFileList();
|
||||||
|
}else if(activeName=='quotJsInfo'){
|
||||||
|
this.getQuotJsgfFileList();
|
||||||
|
}else if(activeName=='quotFkFile'){
|
||||||
|
this.getQuotFkFileList();
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
this.$modal.msgError(res.msg);
|
||||||
|
}
|
||||||
|
this.$refs.upload.clearFiles(); //上传成功之后清除历史记录**加粗样式**
|
||||||
|
},
|
||||||
|
submitForm() {
|
||||||
|
this.$refs['elForm'].validate(valid => {
|
||||||
|
if (!valid) return
|
||||||
|
// TODO 提交表单
|
||||||
|
})
|
||||||
|
},
|
||||||
|
resetForm() {
|
||||||
|
this.$refs['elForm'].resetFields()
|
||||||
|
},
|
||||||
|
field115BeforeUpload(file) {
|
||||||
|
let isRightSize = file.size / 1024 / 1024 < 2
|
||||||
|
if (!isRightSize) {
|
||||||
|
this.$message.error('文件大小超过 2MB')
|
||||||
|
}
|
||||||
|
return isRightSize
|
||||||
|
},
|
||||||
|
field116BeforeUpload(file) {
|
||||||
|
let isRightSize = file.size / 1024 / 1024 < 100
|
||||||
|
if (!isRightSize) {
|
||||||
|
this.$message.error('文件大小超过 100MB')
|
||||||
|
}
|
||||||
|
return isRightSize
|
||||||
|
},
|
||||||
|
//打开客户选择弹窗
|
||||||
|
openCustomer(){
|
||||||
|
this.customerOpen=true;
|
||||||
|
},
|
||||||
|
//客户选择确定按钮事件
|
||||||
|
submitCustomer(customer){
|
||||||
|
this.formData.quotCustomerName = customer.label
|
||||||
|
this.customerOpen=false;
|
||||||
|
},
|
||||||
|
/** 修改按钮操作 */
|
||||||
|
handleUpdate(row) {
|
||||||
|
const quotId = row.quotId || this.ids
|
||||||
|
getQuot(quotId).then(response => {
|
||||||
|
this.setInfo(response);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
/** 修改按钮操作-详细信息设置 */
|
||||||
|
setInfo(response){
|
||||||
|
console.log(response)
|
||||||
|
this.formData = response.data;
|
||||||
|
// this.$set(this.form, "quotJsxzGroup", (this.form.quotJsxzGroupValues==''||this.form.quotJsxzGroupValues==null)?[]:this.form.quotJsxzGroupValues.split(','));
|
||||||
|
// this.quotMaterialList = response.data.quotMaterialList;
|
||||||
|
// this.open = true;
|
||||||
|
// this.activeName = "quotInfo";
|
||||||
|
//
|
||||||
|
// const quotJsxzGroup = this.form.quotJsxzGroupValues;
|
||||||
|
// if(quotJsxzGroup){
|
||||||
|
// if(quotJsxzGroup.indexOf("TL")!==-1){
|
||||||
|
// this.showTl = true;
|
||||||
|
// this.getQuotJsqrFileList('quotJsqrTlFkFile');
|
||||||
|
// }
|
||||||
|
// if(quotJsxzGroup.indexOf("DY")!==-1){
|
||||||
|
// this.showDy = true;
|
||||||
|
// this.getQuotJsqrFileList('quotJsqrDyFkFile');
|
||||||
|
// }
|
||||||
|
// if(quotJsxzGroup.indexOf("ZY")!==-1){
|
||||||
|
// this.showZy = true;
|
||||||
|
// this.getQuotJsqrFileList('quotJsqrZyFkFile');
|
||||||
|
// }
|
||||||
|
// if(quotJsxzGroup.indexOf("QT")!==-1){
|
||||||
|
// this.showQt = true;
|
||||||
|
// this.getQuotJsqrFileList('quotJsqrQtFkFile');
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// this.getQuotXjFileList();
|
||||||
|
// this.getQuotJsgfFileList();
|
||||||
|
// this.getQuotHjFileList();
|
||||||
|
// this.getQuotFkFileList();
|
||||||
|
},
|
||||||
|
|
||||||
|
/** 保存按钮 */
|
||||||
|
saveForm() {
|
||||||
|
this.$refs["elForm"].validate(valid => {
|
||||||
|
if (valid) {
|
||||||
|
if (this.formData.quotId != null) {
|
||||||
|
updateQuot(this.formData).then(response => {
|
||||||
|
this.$modal.msgSuccess("修改成功");
|
||||||
|
this.open = false;
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
addQuot(this.formData).then(response => {
|
||||||
|
this.$modal.msgSuccess("新增成功");
|
||||||
|
const row = {'quotId':response.data.quotId}
|
||||||
|
this.handleUpdate(row);
|
||||||
|
}) ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
||||||
|
<style>
|
||||||
|
.small-upload .el-upload {
|
||||||
|
|
||||||
|
width: 100px;
|
||||||
|
height: 100px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.el-upload__tip {
|
||||||
|
line-height: 1.2;
|
||||||
|
}
|
||||||
|
|
||||||
|
.container {
|
||||||
|
margin: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
Loading…
Reference in New Issue