王晓迪
1 month ago
28 changed files with 0 additions and 6509 deletions
@ -1,178 +0,0 @@ |
|||
package com.ruoyi.system.controller; |
|||
|
|||
import com.ruoyi.common.annotation.Log; |
|||
import com.ruoyi.common.config.RuoYiConfig; |
|||
import com.ruoyi.common.core.controller.BaseController; |
|||
import com.ruoyi.common.core.domain.AjaxResult; |
|||
import com.ruoyi.common.core.page.TableDataInfo; |
|||
import com.ruoyi.common.enums.BusinessType; |
|||
import com.ruoyi.common.utils.file.FileUploadUtils; |
|||
import com.ruoyi.common.utils.file.FileUtils; |
|||
import com.ruoyi.common.utils.poi.ExcelUtil; |
|||
import com.ruoyi.system.domain.SysDrawing; |
|||
import com.ruoyi.system.service.ISysDrawingService; |
|||
import org.apache.shiro.authz.annotation.RequiresPermissions; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.http.MediaType; |
|||
import org.springframework.stereotype.Controller; |
|||
import org.springframework.ui.ModelMap; |
|||
import org.springframework.web.bind.annotation.*; |
|||
import org.springframework.web.multipart.MultipartFile; |
|||
|
|||
import javax.servlet.http.HttpServletRequest; |
|||
import javax.servlet.http.HttpServletResponse; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* 图纸资料Controller |
|||
* |
|||
* @author ruoyi |
|||
* @date 2022-10-26 |
|||
*/ |
|||
@Controller |
|||
@RequestMapping("/system/drawing") |
|||
public class SysDrawingController extends BaseController |
|||
{ |
|||
private String prefix = "system/drawing"; |
|||
|
|||
@Autowired |
|||
private ISysDrawingService sysDrawingService; |
|||
|
|||
@RequiresPermissions("system:drawing:view") |
|||
@GetMapping() |
|||
public String drawing() |
|||
{ |
|||
return prefix + "/drawing"; |
|||
} |
|||
|
|||
/** |
|||
* 查询图纸资料列表 |
|||
*/ |
|||
@RequiresPermissions("system:drawing:list") |
|||
@PostMapping("/list") |
|||
@ResponseBody |
|||
public TableDataInfo list(SysDrawing sysDrawing) |
|||
{ |
|||
startPage(); |
|||
List<SysDrawing> list = sysDrawingService.selectSysDrawingList(sysDrawing); |
|||
return getDataTable(list); |
|||
} |
|||
|
|||
/** |
|||
* 导出图纸资料列表 |
|||
*/ |
|||
@RequiresPermissions("system:drawing:export") |
|||
@Log(title = "图纸资料", businessType = BusinessType.EXPORT) |
|||
@PostMapping("/export") |
|||
@ResponseBody |
|||
public AjaxResult export(SysDrawing sysDrawing) |
|||
{ |
|||
List<SysDrawing> list = sysDrawingService.selectSysDrawingList(sysDrawing); |
|||
ExcelUtil<SysDrawing> util = new ExcelUtil<SysDrawing>(SysDrawing.class); |
|||
return util.exportExcel(list, "图纸资料数据"); |
|||
} |
|||
|
|||
/** |
|||
* 新增图纸资料 |
|||
*/ |
|||
@GetMapping("/add") |
|||
public String add() |
|||
{ |
|||
return prefix + "/add"; |
|||
} |
|||
|
|||
/** |
|||
* 新增保存图纸资料 |
|||
*/ |
|||
@RequiresPermissions("system:drawing:add") |
|||
@Log(title = "图纸资料", businessType = BusinessType.INSERT) |
|||
@PostMapping("/add") |
|||
@ResponseBody |
|||
public AjaxResult addSave(SysDrawing sysDrawing) |
|||
{ |
|||
return toAjax(sysDrawingService.insertSysDrawing(sysDrawing)); |
|||
} |
|||
|
|||
/** |
|||
* 修改图纸资料 |
|||
*/ |
|||
@GetMapping("/edit/{drawingId}") |
|||
public String edit(@PathVariable("drawingId") Long drawingId, ModelMap mmap) |
|||
{ |
|||
SysDrawing sysDrawing = sysDrawingService.selectSysDrawingById(drawingId); |
|||
mmap.put("sysDrawing", sysDrawing); |
|||
return prefix + "/edit"; |
|||
} |
|||
|
|||
/** |
|||
* 修改保存图纸资料 |
|||
*/ |
|||
@RequiresPermissions("system:drawing:edit") |
|||
@Log(title = "图纸资料", businessType = BusinessType.UPDATE) |
|||
@PostMapping("/edit") |
|||
@ResponseBody |
|||
public AjaxResult editSave(SysDrawing sysDrawing) |
|||
{ |
|||
return toAjax(sysDrawingService.updateSysDrawing(sysDrawing)); |
|||
} |
|||
|
|||
/** |
|||
* 删除图纸资料 |
|||
*/ |
|||
@RequiresPermissions("system:drawing:remove") |
|||
@Log(title = "图纸资料", businessType = BusinessType.DELETE) |
|||
@PostMapping( "/remove") |
|||
@ResponseBody |
|||
public AjaxResult remove(String ids) |
|||
{ |
|||
return toAjax(sysDrawingService.deleteSysDrawingByIds(ids)); |
|||
} |
|||
|
|||
@PostMapping("/upload") |
|||
@ResponseBody |
|||
public AjaxResult uploadFile(MultipartFile file) throws Exception |
|||
{ |
|||
try |
|||
{ |
|||
// 上传文件路径
|
|||
String filePath = RuoYiConfig.getUploadPath(); |
|||
String modalName = prefix.substring(prefix.lastIndexOf("/")+1); |
|||
String filePathNow = filePath + "/" + modalName; |
|||
// 上传并返回新文件名称
|
|||
String fileName = FileUploadUtils.upload(filePathNow, file); |
|||
String url = filePathNow + fileName; |
|||
AjaxResult ajax = AjaxResult.success(); |
|||
ajax.put("fileName", fileName); |
|||
ajax.put("url", url); |
|||
return ajax; |
|||
} |
|||
catch (Exception e) |
|||
{ |
|||
return AjaxResult.error(e.getMessage()); |
|||
} |
|||
} |
|||
|
|||
|
|||
@RequestMapping ("/downloadFile") |
|||
public void downloadFile(String filepath, HttpServletResponse response, |
|||
HttpServletRequest request) throws Exception |
|||
{ |
|||
String fileNameNow = filepath.substring(filepath.lastIndexOf("/")+1); |
|||
|
|||
try |
|||
{ |
|||
// System.out.println(fileName);
|
|||
String filePath = filepath; |
|||
|
|||
response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE); |
|||
FileUtils.setAttachmentResponseHeader(response, fileNameNow); |
|||
FileUtils.writeBytes(filePath, response.getOutputStream()); |
|||
|
|||
} |
|||
catch (Exception e) |
|||
{ |
|||
System.out.println("fail"); |
|||
} |
|||
} |
|||
|
|||
} |
@ -1,285 +0,0 @@ |
|||
package com.ruoyi.system.controller; |
|||
|
|||
import com.alibaba.excel.EasyExcel; |
|||
import com.alibaba.excel.ExcelWriter; |
|||
import com.alibaba.excel.util.MapUtils; |
|||
import com.alibaba.excel.write.metadata.WriteSheet; |
|||
import com.alibaba.excel.write.metadata.fill.FillConfig; |
|||
import com.alibaba.fastjson.JSONArray; |
|||
import com.alibaba.fastjson.JSONObject; |
|||
import com.ruoyi.ck.utils.Result; |
|||
import com.ruoyi.common.annotation.Log; |
|||
import com.ruoyi.common.config.RuoYiConfig; |
|||
import com.ruoyi.common.core.controller.BaseController; |
|||
import com.ruoyi.common.core.domain.AjaxResult; |
|||
import com.ruoyi.common.core.page.TableDataInfo; |
|||
import com.ruoyi.common.enums.BusinessType; |
|||
import com.ruoyi.common.utils.file.FileUploadUtils; |
|||
import com.ruoyi.common.utils.file.FileUtils; |
|||
import com.ruoyi.common.utils.poi.ExcelUtil; |
|||
import com.ruoyi.system.domain.SysCustomer; |
|||
import com.ruoyi.system.domain.SysProductQuotation; |
|||
import com.ruoyi.system.domain.exportDto.SysCustomerDto; |
|||
import com.ruoyi.system.domain.exportDto.SysProductQuotationDto; |
|||
import com.ruoyi.system.service.ISysCustomerService; |
|||
import com.ruoyi.system.service.ISysProductQuotationService; |
|||
import org.apache.shiro.authz.annotation.RequiresPermissions; |
|||
import org.springframework.beans.BeanUtils; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.http.MediaType; |
|||
import org.springframework.stereotype.Controller; |
|||
import org.springframework.ui.ModelMap; |
|||
import org.springframework.web.bind.annotation.*; |
|||
import org.springframework.web.multipart.MultipartFile; |
|||
|
|||
import javax.servlet.http.HttpServletRequest; |
|||
import javax.servlet.http.HttpServletResponse; |
|||
import java.io.IOException; |
|||
import java.net.URLEncoder; |
|||
import java.util.ArrayList; |
|||
import java.util.Iterator; |
|||
import java.util.List; |
|||
import java.util.Map; |
|||
|
|||
import static com.ruoyi.common.config.datasource.DynamicDataSourceContextHolder.log; |
|||
|
|||
/** |
|||
* 产品报价Controller |
|||
* |
|||
* @author ruoyi |
|||
* @date 2022-11-15 |
|||
*/ |
|||
@Controller |
|||
@RequestMapping("/system/productquotation") |
|||
public class SysProductQuotationController extends BaseController |
|||
{ |
|||
private String prefix = "system/productquotation"; |
|||
|
|||
@Autowired |
|||
private ISysProductQuotationService sysProductQuotationService; |
|||
@Autowired |
|||
private ISysCustomerService sysCustomerService; |
|||
|
|||
@RequiresPermissions("system:productquotation:view") |
|||
@GetMapping() |
|||
public String productquotation() |
|||
{ |
|||
return prefix + "/productquotation"; |
|||
} |
|||
|
|||
/** |
|||
* 查询产品报价列表 |
|||
*/ |
|||
@RequiresPermissions("system:productquotation:list") |
|||
@PostMapping("/list") |
|||
@ResponseBody |
|||
public TableDataInfo list(SysProductQuotation sysProductQuotation) |
|||
{ |
|||
startPage(); |
|||
List<SysProductQuotation> list = sysProductQuotationService.selectSysProductQuotationList(sysProductQuotation); |
|||
return getDataTable(list); |
|||
} |
|||
|
|||
/** |
|||
* 导出产品报价列表 |
|||
*/ |
|||
@RequiresPermissions("system:productquotation:export") |
|||
@Log(title = "产品报价", businessType = BusinessType.EXPORT) |
|||
@PostMapping("/export") |
|||
@ResponseBody |
|||
public AjaxResult export(SysProductQuotation sysProductQuotation) |
|||
{ |
|||
List<SysProductQuotation> list = sysProductQuotationService.selectSysProductQuotationList(sysProductQuotation); |
|||
ExcelUtil<SysProductQuotation> util = new ExcelUtil<SysProductQuotation>(SysProductQuotation.class); |
|||
return util.exportExcel(list, "产品报价数据"); |
|||
} |
|||
|
|||
/** |
|||
* 新增产品报价 |
|||
*/ |
|||
@GetMapping("/add") |
|||
public String add() |
|||
{ |
|||
return prefix + "/add"; |
|||
} |
|||
|
|||
/** |
|||
* 新增保存产品报价 |
|||
*/ |
|||
@RequiresPermissions("system:productquotation:add") |
|||
@Log(title = "产品报价", businessType = BusinessType.INSERT) |
|||
@PostMapping("/add") |
|||
@ResponseBody |
|||
public AjaxResult addSave(SysProductQuotation sysProductQuotation) |
|||
{ |
|||
return toAjax(sysProductQuotationService.insertSysProductQuotation(sysProductQuotation)); |
|||
} |
|||
|
|||
/** |
|||
* 修改产品报价 |
|||
*/ |
|||
@GetMapping("/edit/{productQuotationId}") |
|||
public String edit(@PathVariable("productQuotationId") Long productQuotationId, ModelMap mmap) |
|||
{ |
|||
SysProductQuotation sysProductQuotation = sysProductQuotationService.selectSysProductQuotationById(productQuotationId); |
|||
mmap.put("sysProductQuotation", sysProductQuotation); |
|||
return prefix + "/edit"; |
|||
} |
|||
|
|||
/** |
|||
* 修改保存产品报价 |
|||
*/ |
|||
@RequiresPermissions("system:productquotation:edit") |
|||
@Log(title = "产品报价", businessType = BusinessType.UPDATE) |
|||
@PostMapping("/edit") |
|||
@ResponseBody |
|||
public AjaxResult editSave(SysProductQuotation sysProductQuotation) |
|||
{ |
|||
return toAjax(sysProductQuotationService.updateSysProductQuotation(sysProductQuotation)); |
|||
} |
|||
|
|||
/** |
|||
* 删除产品报价 |
|||
*/ |
|||
@RequiresPermissions("system:productquotation:remove") |
|||
@Log(title = "产品报价", businessType = BusinessType.DELETE) |
|||
@PostMapping( "/remove") |
|||
@ResponseBody |
|||
public AjaxResult remove(String ids) |
|||
{ |
|||
return toAjax(sysProductQuotationService.deleteSysProductQuotationByIds(ids)); |
|||
} |
|||
|
|||
|
|||
@RequiresPermissions("system:productquotation:export") |
|||
@Log(title = "产品报价", businessType = BusinessType.EXPORT) |
|||
@RequestMapping("/exportProductQuotation") |
|||
@ResponseBody |
|||
public void exportProductQuotation(@RequestBody String scData, HttpServletResponse response) throws IOException { |
|||
|
|||
//数据处理
|
|||
// System.out.println(scData);
|
|||
|
|||
JSONObject jsonObject = JSONObject.parseObject(scData); |
|||
// System.out.println(jsonObject);
|
|||
|
|||
JSONObject scDataJSON = jsonObject.getJSONObject("scData"); |
|||
// System.out.println(scDataJSON);
|
|||
|
|||
// JSONArray jsonArray1 = scDataJSON.getJSONArray("selectData");
|
|||
// List<SysProductQuotationDto> selectDataList = JSONObject.parseArray(String.valueOf(jsonArray1), SysProductQuotationDto.class);
|
|||
JSONArray jsonArray2 = scDataJSON.getJSONArray("customerData"); |
|||
List<SysCustomer> customerDataList = JSONObject.parseArray(String.valueOf(jsonArray2), SysCustomer.class); |
|||
String pricingDate = scDataJSON.getString("pricingDate").replace("\"",""); |
|||
// System.out.println(selectDataList);
|
|||
// System.out.println(customerDataList);
|
|||
|
|||
//获取基础信息
|
|||
SysCustomer sysCustomer = sysCustomerService.selectSysCustomerById(customerDataList.get(0).getId()); |
|||
SysCustomerDto sysCustomerDto = new SysCustomerDto(); |
|||
BeanUtils.copyProperties(sysCustomer,sysCustomerDto); |
|||
|
|||
//产品信息
|
|||
SysProductQuotation sysProductQuotation = new SysProductQuotation(); |
|||
sysProductQuotation.setEnterpriseCode(customerDataList.get(0).getEnterpriseCode()); |
|||
sysProductQuotation.setEnterpriseName(customerDataList.get(0).getEnterpriseName()); |
|||
sysProductQuotation.setPricingDate(pricingDate); |
|||
List<SysProductQuotation> sysProductQuotationList = sysProductQuotationService.selectSysProductQuotationList(sysProductQuotation); |
|||
List<SysProductQuotationDto> sysProductQuotationDtoList = new ArrayList<>(); |
|||
try { |
|||
Iterator values= sysProductQuotationList.iterator(); |
|||
while(values.hasNext()) { |
|||
Object source = values.next(); |
|||
SysProductQuotationDto target = SysProductQuotationDto.class.newInstance(); |
|||
BeanUtils.copyProperties(source, target); |
|||
sysProductQuotationDtoList.add(target); |
|||
} |
|||
}catch (Exception e) { |
|||
log.error(">>>>>>异常<<<<<<", e); |
|||
} |
|||
int num = 0; |
|||
for (int i = 0; i < sysProductQuotationDtoList.size(); i++) { |
|||
num = num + 1; |
|||
sysProductQuotationDtoList.get(i).setNumber(num); |
|||
} |
|||
// System.out.println(sysProductQuotationDtoList);
|
|||
|
|||
|
|||
//填充表格
|
|||
response.setCharacterEncoding("utf-8"); |
|||
String fileName = URLEncoder.encode("国税发票", "UTF-8").replaceAll("\\+", "%20"); |
|||
response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx"); |
|||
String templateFileName = "C:\\exportTemplates\\exportProductQuotation.xlsx"; |
|||
try (ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream(), SysProductQuotationDto.class).withTemplate(templateFileName).build()) { |
|||
WriteSheet writeSheet = EasyExcel.writerSheet().build(); |
|||
FillConfig fillConfig = FillConfig.builder().forceNewRow(Boolean.TRUE).build(); |
|||
excelWriter.fill(sysProductQuotationDtoList, fillConfig, writeSheet); |
|||
Map<String, Object> map = MapUtils.newHashMap(); |
|||
map.put("enterpriseName", sysCustomerDto.getEnterpriseName()); |
|||
map.put("contactNumber", sysCustomerDto.getContactNumber()); |
|||
map.put("customerFax", sysCustomerDto.getCustomerFax()); |
|||
map.put("customerContact", sysCustomerDto.getCustomerContact()); |
|||
map.put("commonCurrency", sysCustomerDto.getCommonCurrency()); |
|||
map.put("taxRate", sysCustomerDto.getTaxRate()); |
|||
map.put("pricingDate", pricingDate); |
|||
excelWriter.fill(map, writeSheet); |
|||
} |
|||
} |
|||
|
|||
|
|||
@PostMapping("/upload") |
|||
@ResponseBody |
|||
public AjaxResult uploadFile(MultipartFile file) throws Exception |
|||
{ |
|||
try |
|||
{ |
|||
// 上传文件路径
|
|||
String filePath = RuoYiConfig.getUploadPath(); |
|||
String modalName = prefix.substring(prefix.lastIndexOf("/")+1); |
|||
String filePathNow = filePath + "/" + modalName; |
|||
// 上传并返回新文件名称
|
|||
String fileName = FileUploadUtils.upload(filePathNow, file); |
|||
String url = filePathNow + fileName; |
|||
AjaxResult ajax = AjaxResult.success(); |
|||
ajax.put("fileName", fileName); |
|||
ajax.put("url", url); |
|||
return ajax; |
|||
} |
|||
catch (Exception e) |
|||
{ |
|||
return AjaxResult.error(e.getMessage()); |
|||
} |
|||
} |
|||
|
|||
|
|||
@RequestMapping ("/downloadFile") |
|||
public void downloadFile(String filepath, HttpServletResponse response, |
|||
HttpServletRequest request) throws Exception |
|||
{ |
|||
String fileNameNow = filepath.substring(filepath.lastIndexOf("/")+1); |
|||
|
|||
try |
|||
{ |
|||
// System.out.println(fileName);
|
|||
String filePath = filepath; |
|||
|
|||
response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE); |
|||
FileUtils.setAttachmentResponseHeader(response, fileNameNow); |
|||
FileUtils.writeBytes(filePath, response.getOutputStream()); |
|||
|
|||
} |
|||
catch (Exception e) |
|||
{ |
|||
System.out.println("fail"); |
|||
} |
|||
} |
|||
|
|||
/** |
|||
* 获取报价编号 |
|||
*/ |
|||
@PostMapping("/getId") |
|||
@ResponseBody |
|||
public Result getId() throws Exception { |
|||
return Result.getSuccessResult(sysProductQuotationService.getId()); |
|||
} |
|||
} |
@ -1,137 +0,0 @@ |
|||
package com.ruoyi.system.controller; |
|||
|
|||
import java.util.List; |
|||
|
|||
import com.ruoyi.ck.utils.Result; |
|||
import org.apache.shiro.authz.annotation.RequiresPermissions; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.stereotype.Controller; |
|||
import org.springframework.ui.ModelMap; |
|||
import org.springframework.web.bind.annotation.GetMapping; |
|||
import org.springframework.web.bind.annotation.PathVariable; |
|||
import org.springframework.web.bind.annotation.PostMapping; |
|||
import org.springframework.web.bind.annotation.RequestMapping; |
|||
import org.springframework.web.bind.annotation.ResponseBody; |
|||
import com.ruoyi.common.annotation.Log; |
|||
import com.ruoyi.common.enums.BusinessType; |
|||
import com.ruoyi.system.domain.SysQutsourcingQuotation; |
|||
import com.ruoyi.system.service.ISysQutsourcingQuotationService; |
|||
import com.ruoyi.common.core.controller.BaseController; |
|||
import com.ruoyi.common.core.domain.AjaxResult; |
|||
import com.ruoyi.common.utils.poi.ExcelUtil; |
|||
import com.ruoyi.common.core.page.TableDataInfo; |
|||
|
|||
/** |
|||
* 委外报价Controller |
|||
* |
|||
* @author ruoyi |
|||
* @date 2022-11-10 |
|||
*/ |
|||
@Controller |
|||
@RequestMapping("/system/qutsourcingquotation") |
|||
public class SysQutsourcingQuotationController extends BaseController |
|||
{ |
|||
private String prefix = "system/qutsourcingquotation"; |
|||
|
|||
@Autowired |
|||
private ISysQutsourcingQuotationService sysQutsourcingQuotationService; |
|||
|
|||
@RequiresPermissions("system:qutsourcingquotation:view") |
|||
@GetMapping() |
|||
public String qutsourcingquotation() |
|||
{ |
|||
return prefix + "/qutsourcingquotation"; |
|||
} |
|||
|
|||
/** |
|||
* 查询委外报价列表 |
|||
*/ |
|||
@RequiresPermissions("system:qutsourcingquotation:list") |
|||
@PostMapping("/list") |
|||
@ResponseBody |
|||
public TableDataInfo list(SysQutsourcingQuotation sysQutsourcingQuotation) |
|||
{ |
|||
startPage(); |
|||
List<SysQutsourcingQuotation> list = sysQutsourcingQuotationService.selectSysQutsourcingQuotationList(sysQutsourcingQuotation); |
|||
return getDataTable(list); |
|||
} |
|||
|
|||
/** |
|||
* 导出委外报价列表 |
|||
*/ |
|||
@RequiresPermissions("system:qutsourcingquotation:export") |
|||
@Log(title = "委外报价", businessType = BusinessType.EXPORT) |
|||
@PostMapping("/export") |
|||
@ResponseBody |
|||
public AjaxResult export(SysQutsourcingQuotation sysQutsourcingQuotation) |
|||
{ |
|||
List<SysQutsourcingQuotation> list = sysQutsourcingQuotationService.selectSysQutsourcingQuotationList(sysQutsourcingQuotation); |
|||
ExcelUtil<SysQutsourcingQuotation> util = new ExcelUtil<SysQutsourcingQuotation>(SysQutsourcingQuotation.class); |
|||
return util.exportExcel(list, "委外报价数据"); |
|||
} |
|||
|
|||
/** |
|||
* 新增委外报价 |
|||
*/ |
|||
@GetMapping("/add") |
|||
public String add() |
|||
{ |
|||
return prefix + "/add"; |
|||
} |
|||
|
|||
/** |
|||
* 新增保存委外报价 |
|||
*/ |
|||
@RequiresPermissions("system:qutsourcingquotation:add") |
|||
@Log(title = "委外报价", businessType = BusinessType.INSERT) |
|||
@PostMapping("/add") |
|||
@ResponseBody |
|||
public AjaxResult addSave(SysQutsourcingQuotation sysQutsourcingQuotation) |
|||
{ |
|||
return toAjax(sysQutsourcingQuotationService.insertSysQutsourcingQuotation(sysQutsourcingQuotation)); |
|||
} |
|||
|
|||
/** |
|||
* 修改委外报价 |
|||
*/ |
|||
@GetMapping("/edit/{qutsourcingQuotationId}") |
|||
public String edit(@PathVariable("qutsourcingQuotationId") Long qutsourcingQuotationId, ModelMap mmap) |
|||
{ |
|||
SysQutsourcingQuotation sysQutsourcingQuotation = sysQutsourcingQuotationService.selectSysQutsourcingQuotationById(qutsourcingQuotationId); |
|||
mmap.put("sysQutsourcingQuotation", sysQutsourcingQuotation); |
|||
return prefix + "/edit"; |
|||
} |
|||
|
|||
/** |
|||
* 修改保存委外报价 |
|||
*/ |
|||
@RequiresPermissions("system:qutsourcingquotation:edit") |
|||
@Log(title = "委外报价", businessType = BusinessType.UPDATE) |
|||
@PostMapping("/edit") |
|||
@ResponseBody |
|||
public AjaxResult editSave(SysQutsourcingQuotation sysQutsourcingQuotation) |
|||
{ |
|||
return toAjax(sysQutsourcingQuotationService.updateSysQutsourcingQuotation(sysQutsourcingQuotation)); |
|||
} |
|||
|
|||
/** |
|||
* 删除委外报价 |
|||
*/ |
|||
@RequiresPermissions("system:qutsourcingquotation:remove") |
|||
@Log(title = "委外报价", businessType = BusinessType.DELETE) |
|||
@PostMapping( "/remove") |
|||
@ResponseBody |
|||
public AjaxResult remove(String ids) |
|||
{ |
|||
return toAjax(sysQutsourcingQuotationService.deleteSysQutsourcingQuotationByIds(ids)); |
|||
} |
|||
|
|||
/** |
|||
* 获取报价编号 |
|||
*/ |
|||
@PostMapping("/getId") |
|||
@ResponseBody |
|||
public Result getId() throws Exception { |
|||
return Result.getSuccessResult(sysQutsourcingQuotationService.getId()); |
|||
} |
|||
} |
@ -1,132 +0,0 @@ |
|||
package com.ruoyi.system.domain; |
|||
|
|||
import org.apache.commons.lang3.builder.ToStringBuilder; |
|||
import org.apache.commons.lang3.builder.ToStringStyle; |
|||
import com.ruoyi.common.annotation.Excel; |
|||
import com.ruoyi.common.core.domain.BaseEntity; |
|||
|
|||
/** |
|||
* 图纸资料对象 sys_drawing |
|||
* |
|||
* @author ruoyi |
|||
* @date 2022-10-26 |
|||
*/ |
|||
public class SysDrawing extends BaseEntity |
|||
{ |
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
/** 图纸id */ |
|||
private Long drawingId; |
|||
|
|||
/** 图纸编码 */ |
|||
@Excel(name = "图纸编码") |
|||
private String drawingCode; |
|||
|
|||
/** 图纸类别 */ |
|||
@Excel(name = "图纸类别") |
|||
private String drawingMaterialCategory; |
|||
|
|||
/** 备注 */ |
|||
@Excel(name = "备注") |
|||
private String drawingRemarks; |
|||
|
|||
/** 图纸上传 */ |
|||
@Excel(name = "图纸上传") |
|||
private String drawingUpload; |
|||
|
|||
/** 上传人 */ |
|||
@Excel(name = "图纸上传") |
|||
private String uploadPerson; |
|||
|
|||
/** 录入时间 */ |
|||
@Excel(name = "录入时间") |
|||
private String firstAddTime; |
|||
|
|||
/** 修改时间 */ |
|||
@Excel(name = "修改时间") |
|||
private String updateInfoTime; |
|||
|
|||
public void setDrawingId(Long drawingId) |
|||
{ |
|||
this.drawingId = drawingId; |
|||
} |
|||
|
|||
public Long getDrawingId() |
|||
{ |
|||
return drawingId; |
|||
} |
|||
public void setDrawingCode(String drawingCode) |
|||
{ |
|||
this.drawingCode = drawingCode; |
|||
} |
|||
|
|||
public String getDrawingCode() |
|||
{ |
|||
return drawingCode; |
|||
} |
|||
public void setDrawingMaterialCategory(String drawingMaterialCategory) |
|||
{ |
|||
this.drawingMaterialCategory = drawingMaterialCategory; |
|||
} |
|||
|
|||
public String getDrawingMaterialCategory() |
|||
{ |
|||
return drawingMaterialCategory; |
|||
} |
|||
public void setDrawingRemarks(String drawingRemarks) |
|||
{ |
|||
this.drawingRemarks = drawingRemarks; |
|||
} |
|||
|
|||
public String getDrawingRemarks() |
|||
{ |
|||
return drawingRemarks; |
|||
} |
|||
public void setDrawingUpload(String drawingUpload) |
|||
{ |
|||
this.drawingUpload = drawingUpload; |
|||
} |
|||
|
|||
public String getDrawingUpload() |
|||
{ |
|||
return drawingUpload; |
|||
} |
|||
|
|||
public String getUploadPerson() { |
|||
return uploadPerson; |
|||
} |
|||
|
|||
public void setUploadPerson(String uploadPerson) { |
|||
this.uploadPerson = uploadPerson; |
|||
} |
|||
|
|||
public String getFirstAddTime() { |
|||
return firstAddTime; |
|||
} |
|||
|
|||
public void setFirstAddTime(String firstAddTime) { |
|||
this.firstAddTime = firstAddTime; |
|||
} |
|||
|
|||
public String getUpdateInfoTime() { |
|||
return updateInfoTime; |
|||
} |
|||
|
|||
public void setUpdateInfoTime(String updateInfoTime) { |
|||
this.updateInfoTime = updateInfoTime; |
|||
} |
|||
|
|||
@Override |
|||
public String toString() { |
|||
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) |
|||
.append("drawingId", getDrawingId()) |
|||
.append("drawingCode", getDrawingCode()) |
|||
.append("drawingMaterialCategory", getDrawingMaterialCategory()) |
|||
.append("drawingRemarks", getDrawingRemarks()) |
|||
.append("drawingUpload", getDrawingUpload()) |
|||
.append("uploadPerson", getUploadPerson()) |
|||
.append("firstAddTime", getFirstAddTime()) |
|||
.append("updateInfoTime", getUpdateInfoTime()) |
|||
.toString(); |
|||
} |
|||
} |
@ -1,568 +0,0 @@ |
|||
package com.ruoyi.system.domain; |
|||
|
|||
import org.apache.commons.lang3.builder.ToStringBuilder; |
|||
import org.apache.commons.lang3.builder.ToStringStyle; |
|||
import com.ruoyi.common.annotation.Excel; |
|||
import com.ruoyi.common.core.domain.BaseEntity; |
|||
|
|||
/** |
|||
* 产品报价对象 sys_product_quotation |
|||
* |
|||
* @author ruoyi |
|||
* @date 2022-11-15 |
|||
*/ |
|||
public class SysProductQuotation extends BaseEntity |
|||
{ |
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
/** 产品报价id */ |
|||
private Long productQuotationId; |
|||
|
|||
/** 报价编码 */ |
|||
@Excel(name = "报价编码") |
|||
private String quotationCode; |
|||
|
|||
/** 成品代码 */ |
|||
@Excel(name = "成品代码") |
|||
private String finishProductCode; |
|||
|
|||
/** 成品名称 */ |
|||
@Excel(name = "成品名称") |
|||
private String finishProductName; |
|||
|
|||
/** 规格型号 */ |
|||
@Excel(name = "规格型号") |
|||
private String specificationModel; |
|||
|
|||
/** 机种 */ |
|||
@Excel(name = "机种") |
|||
private String typeMachine; |
|||
|
|||
/** 单位 */ |
|||
@Excel(name = "单位") |
|||
private String inventoryUnit; |
|||
|
|||
/** 币别 */ |
|||
@Excel(name = "币别") |
|||
private String commonCurrency; |
|||
|
|||
/** 单价 */ |
|||
@Excel(name = "单价") |
|||
private String processPrice; |
|||
|
|||
|
|||
/** 客户料号 */ |
|||
@Excel(name = "客户料号") |
|||
private String customerNumber; |
|||
|
|||
|
|||
/** 客户编号 */ |
|||
@Excel(name = "客户编号") |
|||
private String enterpriseCode; |
|||
|
|||
/** 客户名称 */ |
|||
@Excel(name = "客户名称") |
|||
private String enterpriseName; |
|||
|
|||
/** 登记人 */ |
|||
@Excel(name = "登记人") |
|||
private String registrant; |
|||
|
|||
/** 订价日期 */ |
|||
@Excel(name = "订价日期") |
|||
private String pricingDate; |
|||
|
|||
/** 税率 */ |
|||
@Excel(name = "税率") |
|||
private String taxRate; |
|||
|
|||
/** 不含税价 */ |
|||
@Excel(name = "不含税价") |
|||
private String priceExcludingTax; |
|||
|
|||
/** 含税价 */ |
|||
@Excel(name = "含税价") |
|||
private String priceIncludingTax; |
|||
|
|||
/** 上次价格 */ |
|||
@Excel(name = "上次价格") |
|||
private String lastPrice; |
|||
|
|||
/** 上次价格2 */ |
|||
@Excel(name = "上次价格2") |
|||
private String lastPriceEnd; |
|||
|
|||
/** 当前材料成本RMB */ |
|||
@Excel(name = "当前材料成本RMB") |
|||
private String costRmb; |
|||
|
|||
/** 当前汇率 */ |
|||
@Excel(name = "当前汇率") |
|||
private String currentExchangeRate; |
|||
|
|||
/** 材料占比 */ |
|||
@Excel(name = "材料占比") |
|||
private String proportionMaterials; |
|||
|
|||
/** 备注说明 */ |
|||
@Excel(name = "备注说明") |
|||
private String quotationExplain; |
|||
|
|||
/** 是否为当前报价 */ |
|||
@Excel(name = "是否为当前报价") |
|||
private String currentQuote; |
|||
|
|||
/** 是否含税 */ |
|||
@Excel(name = "是否含税") |
|||
private String confirmTax; |
|||
|
|||
/** 文件存储 */ |
|||
@Excel(name = "文件存储") |
|||
private String fileUpload; |
|||
|
|||
/** 确认否 */ |
|||
@Excel(name = "确认否") |
|||
private String confirmNo; |
|||
|
|||
/** 确认人 */ |
|||
@Excel(name = "确认人") |
|||
private String confirmName; |
|||
|
|||
/** 确认时间 */ |
|||
@Excel(name = "确认时间") |
|||
private String confirmTime; |
|||
|
|||
/** 审核否 */ |
|||
@Excel(name = "审核否") |
|||
private String auditNo; |
|||
|
|||
/** 审核人 */ |
|||
@Excel(name = "审核人") |
|||
private String auditName; |
|||
|
|||
/** 审核时间 */ |
|||
@Excel(name = "审核时间") |
|||
private String auditTime; |
|||
|
|||
/** 核准否 */ |
|||
@Excel(name = "核准否") |
|||
private String approveNo; |
|||
|
|||
/** 核准人 */ |
|||
@Excel(name = "核准人") |
|||
private String approveName; |
|||
|
|||
/** 核准时间 */ |
|||
@Excel(name = "核准时间") |
|||
private String approveTime; |
|||
|
|||
/** 备用一 */ |
|||
@Excel(name = "备用一") |
|||
private String standbyOne; |
|||
|
|||
/** 备用二 */ |
|||
@Excel(name = "备用二") |
|||
private String standbyTwo; |
|||
/** 录入时间 */ |
|||
@Excel(name = "录入时间") |
|||
private String firstAddTime; |
|||
|
|||
/** 修改时间 */ |
|||
@Excel(name = "修改时间") |
|||
private String updateInfoTime; |
|||
|
|||
|
|||
public void setProductQuotationId(Long productQuotationId) |
|||
{ |
|||
this.productQuotationId = productQuotationId; |
|||
} |
|||
|
|||
public Long getProductQuotationId() |
|||
{ |
|||
return productQuotationId; |
|||
} |
|||
public void setQuotationCode(String quotationCode) |
|||
{ |
|||
this.quotationCode = quotationCode; |
|||
} |
|||
|
|||
public String getQuotationCode() |
|||
{ |
|||
return quotationCode; |
|||
} |
|||
public void setFinishProductCode(String finishProductCode) |
|||
{ |
|||
this.finishProductCode = finishProductCode; |
|||
} |
|||
|
|||
public String getFinishProductCode() |
|||
{ |
|||
return finishProductCode; |
|||
} |
|||
public void setFinishProductName(String finishProductName) |
|||
{ |
|||
this.finishProductName = finishProductName; |
|||
} |
|||
|
|||
public String getFinishProductName() |
|||
{ |
|||
return finishProductName; |
|||
} |
|||
public void setSpecificationModel(String specificationModel) |
|||
{ |
|||
this.specificationModel = specificationModel; |
|||
} |
|||
|
|||
public String getSpecificationModel() |
|||
{ |
|||
return specificationModel; |
|||
} |
|||
public void setTypeMachine(String typeMachine) |
|||
{ |
|||
this.typeMachine = typeMachine; |
|||
} |
|||
|
|||
public String getTypeMachine() |
|||
{ |
|||
return typeMachine; |
|||
} |
|||
public void setInventoryUnit(String inventoryUnit) |
|||
{ |
|||
this.inventoryUnit = inventoryUnit; |
|||
} |
|||
|
|||
public String getInventoryUnit() |
|||
{ |
|||
return inventoryUnit; |
|||
} |
|||
public void setCommonCurrency(String commonCurrency) |
|||
{ |
|||
this.commonCurrency = commonCurrency; |
|||
} |
|||
|
|||
public String getCommonCurrency() |
|||
{ |
|||
return commonCurrency; |
|||
} |
|||
public void setProcessPrice(String processPrice) |
|||
{ |
|||
this.processPrice = processPrice; |
|||
} |
|||
|
|||
public String getProcessPrice() |
|||
{ |
|||
return processPrice; |
|||
} |
|||
public void setEnterpriseCode(String enterpriseCode) |
|||
{ |
|||
this.enterpriseCode = enterpriseCode; |
|||
} |
|||
|
|||
public String getEnterpriseCode() |
|||
{ |
|||
return enterpriseCode; |
|||
} |
|||
public void setEnterpriseName(String enterpriseName) |
|||
{ |
|||
this.enterpriseName = enterpriseName; |
|||
} |
|||
|
|||
public String getEnterpriseName() |
|||
{ |
|||
return enterpriseName; |
|||
} |
|||
public void setRegistrant(String registrant) |
|||
{ |
|||
this.registrant = registrant; |
|||
} |
|||
|
|||
public String getRegistrant() |
|||
{ |
|||
return registrant; |
|||
} |
|||
public void setPricingDate(String pricingDate) |
|||
{ |
|||
this.pricingDate = pricingDate; |
|||
} |
|||
|
|||
public String getPricingDate() |
|||
{ |
|||
return pricingDate; |
|||
} |
|||
public void setTaxRate(String taxRate) |
|||
{ |
|||
this.taxRate = taxRate; |
|||
} |
|||
|
|||
public String getTaxRate() |
|||
{ |
|||
return taxRate; |
|||
} |
|||
public void setPriceExcludingTax(String priceExcludingTax) |
|||
{ |
|||
this.priceExcludingTax = priceExcludingTax; |
|||
} |
|||
|
|||
public String getPriceExcludingTax() |
|||
{ |
|||
return priceExcludingTax; |
|||
} |
|||
public void setPriceIncludingTax(String priceIncludingTax) |
|||
{ |
|||
this.priceIncludingTax = priceIncludingTax; |
|||
} |
|||
|
|||
public String getPriceIncludingTax() |
|||
{ |
|||
return priceIncludingTax; |
|||
} |
|||
public void setLastPrice(String lastPrice) |
|||
{ |
|||
this.lastPrice = lastPrice; |
|||
} |
|||
|
|||
public String getLastPrice() |
|||
{ |
|||
return lastPrice; |
|||
} |
|||
public void setLastPriceEnd(String lastPriceEnd) |
|||
{ |
|||
this.lastPriceEnd = lastPriceEnd; |
|||
} |
|||
|
|||
public String getLastPriceEnd() |
|||
{ |
|||
return lastPriceEnd; |
|||
} |
|||
public void setCostRmb(String costRmb) |
|||
{ |
|||
this.costRmb = costRmb; |
|||
} |
|||
|
|||
public String getCostRmb() |
|||
{ |
|||
return costRmb; |
|||
} |
|||
public void setCurrentExchangeRate(String currentExchangeRate) |
|||
{ |
|||
this.currentExchangeRate = currentExchangeRate; |
|||
} |
|||
|
|||
public String getCurrentExchangeRate() |
|||
{ |
|||
return currentExchangeRate; |
|||
} |
|||
public void setProportionMaterials(String proportionMaterials) |
|||
{ |
|||
this.proportionMaterials = proportionMaterials; |
|||
} |
|||
|
|||
public String getProportionMaterials() |
|||
{ |
|||
return proportionMaterials; |
|||
} |
|||
public void setQuotationExplain(String quotationExplain) |
|||
{ |
|||
this.quotationExplain = quotationExplain; |
|||
} |
|||
|
|||
public String getQuotationExplain() |
|||
{ |
|||
return quotationExplain; |
|||
} |
|||
public void setCurrentQuote(String currentQuote) |
|||
{ |
|||
this.currentQuote = currentQuote; |
|||
} |
|||
|
|||
public String getCurrentQuote() |
|||
{ |
|||
return currentQuote; |
|||
} |
|||
public void setConfirmTax(String confirmTax) |
|||
{ |
|||
this.confirmTax = confirmTax; |
|||
} |
|||
|
|||
public String getConfirmTax() |
|||
{ |
|||
return confirmTax; |
|||
} |
|||
|
|||
public String getFileUpload() { |
|||
return fileUpload; |
|||
} |
|||
|
|||
public void setFileUpload(String fileUpload) { |
|||
this.fileUpload = fileUpload; |
|||
} |
|||
|
|||
public void setConfirmNo(String confirmNo) |
|||
{ |
|||
this.confirmNo = confirmNo; |
|||
} |
|||
|
|||
public String getConfirmNo() |
|||
{ |
|||
return confirmNo; |
|||
} |
|||
public void setConfirmName(String confirmName) |
|||
{ |
|||
this.confirmName = confirmName; |
|||
} |
|||
|
|||
public String getConfirmName() |
|||
{ |
|||
return confirmName; |
|||
} |
|||
public void setConfirmTime(String confirmTime) |
|||
{ |
|||
this.confirmTime = confirmTime; |
|||
} |
|||
|
|||
public String getConfirmTime() |
|||
{ |
|||
return confirmTime; |
|||
} |
|||
public void setAuditNo(String auditNo) |
|||
{ |
|||
this.auditNo = auditNo; |
|||
} |
|||
|
|||
public String getAuditNo() |
|||
{ |
|||
return auditNo; |
|||
} |
|||
public void setAuditName(String auditName) |
|||
{ |
|||
this.auditName = auditName; |
|||
} |
|||
|
|||
public String getAuditName() |
|||
{ |
|||
return auditName; |
|||
} |
|||
public void setAuditTime(String auditTime) |
|||
{ |
|||
this.auditTime = auditTime; |
|||
} |
|||
|
|||
public String getAuditTime() |
|||
{ |
|||
return auditTime; |
|||
} |
|||
public void setApproveNo(String approveNo) |
|||
{ |
|||
this.approveNo = approveNo; |
|||
} |
|||
|
|||
public String getApproveNo() |
|||
{ |
|||
return approveNo; |
|||
} |
|||
public void setApproveName(String approveName) |
|||
{ |
|||
this.approveName = approveName; |
|||
} |
|||
|
|||
public String getApproveName() |
|||
{ |
|||
return approveName; |
|||
} |
|||
public void setApproveTime(String approveTime) |
|||
{ |
|||
this.approveTime = approveTime; |
|||
} |
|||
|
|||
public String getApproveTime() |
|||
{ |
|||
return approveTime; |
|||
} |
|||
public void setStandbyOne(String standbyOne) |
|||
{ |
|||
this.standbyOne = standbyOne; |
|||
} |
|||
|
|||
public String getStandbyOne() |
|||
{ |
|||
return standbyOne; |
|||
} |
|||
public void setStandbyTwo(String standbyTwo) |
|||
{ |
|||
this.standbyTwo = standbyTwo; |
|||
} |
|||
|
|||
public String getStandbyTwo() |
|||
{ |
|||
return standbyTwo; |
|||
} |
|||
|
|||
public String getFirstAddTime() { |
|||
return firstAddTime; |
|||
} |
|||
|
|||
public void setFirstAddTime(String firstAddTime) { |
|||
this.firstAddTime = firstAddTime; |
|||
} |
|||
|
|||
public String getUpdateInfoTime() { |
|||
return updateInfoTime; |
|||
} |
|||
|
|||
public void setUpdateInfoTime(String updateInfoTime) { |
|||
this.updateInfoTime = updateInfoTime; |
|||
} |
|||
|
|||
public String getCustomerNumber() { |
|||
return customerNumber; |
|||
} |
|||
|
|||
public void setCustomerNumber(String customerNumber) { |
|||
this.customerNumber = customerNumber; |
|||
} |
|||
|
|||
@Override |
|||
public String toString() { |
|||
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) |
|||
.append("productQuotationId", getProductQuotationId()) |
|||
.append("quotationCode", getQuotationCode()) |
|||
.append("finishProductCode", getFinishProductCode()) |
|||
.append("finishProductName", getFinishProductName()) |
|||
.append("specificationModel", getSpecificationModel()) |
|||
.append("typeMachine", getTypeMachine()) |
|||
.append("inventoryUnit", getInventoryUnit()) |
|||
.append("commonCurrency", getCommonCurrency()) |
|||
.append("processPrice", getProcessPrice()) |
|||
.append("customerNumber", getCustomerNumber()) |
|||
.append("enterpriseCode", getEnterpriseCode()) |
|||
.append("enterpriseName", getEnterpriseName()) |
|||
.append("registrant", getRegistrant()) |
|||
.append("pricingDate", getPricingDate()) |
|||
.append("taxRate", getTaxRate()) |
|||
.append("priceExcludingTax", getPriceExcludingTax()) |
|||
.append("priceIncludingTax", getPriceIncludingTax()) |
|||
.append("lastPrice", getLastPrice()) |
|||
.append("lastPriceEnd", getLastPriceEnd()) |
|||
.append("costRmb", getCostRmb()) |
|||
.append("currentExchangeRate", getCurrentExchangeRate()) |
|||
.append("proportionMaterials", getProportionMaterials()) |
|||
.append("quotationExplain", getQuotationExplain()) |
|||
.append("currentQuote", getCurrentQuote()) |
|||
.append("confirmTax", getConfirmTax()) |
|||
.append("fileUpload", getFileUpload()) |
|||
.append("confirmNo", getConfirmNo()) |
|||
.append("confirmName", getConfirmName()) |
|||
.append("confirmTime", getConfirmTime()) |
|||
.append("auditNo", getAuditNo()) |
|||
.append("auditName", getAuditName()) |
|||
.append("auditTime", getAuditTime()) |
|||
.append("approveNo", getApproveNo()) |
|||
.append("approveName", getApproveName()) |
|||
.append("approveTime", getApproveTime()) |
|||
.append("standbyOne", getStandbyOne()) |
|||
.append("standbyTwo", getStandbyTwo()) |
|||
.append("firstAddTime", getFirstAddTime()) |
|||
.append("updateInfoTime", getUpdateInfoTime()) |
|||
.toString(); |
|||
} |
|||
} |
@ -1,483 +0,0 @@ |
|||
package com.ruoyi.system.domain; |
|||
|
|||
import org.apache.commons.lang3.builder.ToStringBuilder; |
|||
import org.apache.commons.lang3.builder.ToStringStyle; |
|||
import com.ruoyi.common.annotation.Excel; |
|||
import com.ruoyi.common.core.domain.BaseEntity; |
|||
|
|||
/** |
|||
* 委外报价对象 sys_qutsourcing_quotation |
|||
* |
|||
* @author ruoyi |
|||
* @date 2022-11-10 |
|||
*/ |
|||
public class SysQutsourcingQuotation extends BaseEntity |
|||
{ |
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
/** 委外报价id */ |
|||
private Long qutsourcingQuotationId; |
|||
|
|||
/** 报价编码 */ |
|||
@Excel(name = "报价编码") |
|||
private String quotationCode; |
|||
|
|||
/** 物料代码 */ |
|||
@Excel(name = "物料代码") |
|||
private String materialCode; |
|||
|
|||
/** 物料名称 */ |
|||
@Excel(name = "物料名称") |
|||
private String materialName; |
|||
|
|||
/** 规格型号 */ |
|||
@Excel(name = "规格型号") |
|||
private String specificationModel; |
|||
|
|||
/** 成品机种 */ |
|||
@Excel(name = "成品机种") |
|||
private String typeMachine; |
|||
|
|||
/** 计量单位 */ |
|||
@Excel(name = "计量单位") |
|||
private String measurementUnit; |
|||
|
|||
/** 报价币别 */ |
|||
@Excel(name = "报价币别") |
|||
private String commonCurrency; |
|||
|
|||
/** 加工单价 */ |
|||
@Excel(name = "加工单价") |
|||
private String processPrice; |
|||
|
|||
/** 加工工序名称 */ |
|||
@Excel(name = "加工工序名称") |
|||
private String processingProcedureName; |
|||
|
|||
/** 加工工序编号 */ |
|||
@Excel(name = "加工工序编号") |
|||
private String processingProcedureCode; |
|||
|
|||
/** 加工商编号 */ |
|||
@Excel(name = "加工商编号") |
|||
private String converterCode; |
|||
|
|||
/** 加工商名称 */ |
|||
@Excel(name = "加工商名称") |
|||
private String converterName; |
|||
|
|||
/** 报价日期 */ |
|||
@Excel(name = "报价日期") |
|||
private String pricingDate; |
|||
|
|||
/** 库存单位 */ |
|||
@Excel(name = "库存单位") |
|||
private String inventoryUnit; |
|||
|
|||
/** 交税税率 */ |
|||
@Excel(name = "交税税率") |
|||
private String taxRate; |
|||
|
|||
/** 每采购单位对应多少库存单位 */ |
|||
@Excel(name = "每采购单位对应多少库存单位") |
|||
private String relationalFormula; |
|||
|
|||
/** 备注 */ |
|||
@Excel(name = "备注") |
|||
private String quotationExplain; |
|||
|
|||
/** 是否为当前报价 */ |
|||
@Excel(name = "是否为当前报价") |
|||
private String currentQuote; |
|||
|
|||
/** 登记人 */ |
|||
@Excel(name = "登记人") |
|||
private String registrant; |
|||
|
|||
/** 确认否 */ |
|||
@Excel(name = "确认否") |
|||
private String confirmNo; |
|||
|
|||
/** 确认人 */ |
|||
@Excel(name = "确认人") |
|||
private String confirmName; |
|||
|
|||
/** 确认时间 */ |
|||
@Excel(name = "确认时间") |
|||
private String confirmTime; |
|||
|
|||
/** 审核否 */ |
|||
@Excel(name = "审核否") |
|||
private String auditNo; |
|||
|
|||
/** 审核人 */ |
|||
@Excel(name = "审核人") |
|||
private String auditName; |
|||
|
|||
/** 审核时间 */ |
|||
@Excel(name = "审核时间") |
|||
private String auditTime; |
|||
|
|||
/** 核准否 */ |
|||
@Excel(name = "核准否") |
|||
private String approveNo; |
|||
|
|||
/** 核准人 */ |
|||
@Excel(name = "核准人") |
|||
private String approveName; |
|||
|
|||
/** 核准时间 */ |
|||
@Excel(name = "核准时间") |
|||
private String approveTime; |
|||
|
|||
/** 备用一 */ |
|||
@Excel(name = "备用一") |
|||
private String standbyOne; |
|||
|
|||
/** 备用二 */ |
|||
@Excel(name = "备用二") |
|||
private String standbyTwo; |
|||
|
|||
/** 录入时间 */ |
|||
@Excel(name = "录入时间") |
|||
private String firstAddTime; |
|||
|
|||
/** 修改时间 */ |
|||
@Excel(name = "修改时间") |
|||
private String updateInfoTime; |
|||
|
|||
public void setQutsourcingQuotationId(Long qutsourcingQuotationId) |
|||
{ |
|||
this.qutsourcingQuotationId = qutsourcingQuotationId; |
|||
} |
|||
|
|||
public Long getQutsourcingQuotationId() |
|||
{ |
|||
return qutsourcingQuotationId; |
|||
} |
|||
public void setQuotationCode(String quotationCode) |
|||
{ |
|||
this.quotationCode = quotationCode; |
|||
} |
|||
|
|||
public String getQuotationCode() |
|||
{ |
|||
return quotationCode; |
|||
} |
|||
public void setMaterialCode(String materialCode) |
|||
{ |
|||
this.materialCode = materialCode; |
|||
} |
|||
|
|||
public String getMaterialCode() |
|||
{ |
|||
return materialCode; |
|||
} |
|||
public void setMaterialName(String materialName) |
|||
{ |
|||
this.materialName = materialName; |
|||
} |
|||
|
|||
public String getMaterialName() |
|||
{ |
|||
return materialName; |
|||
} |
|||
public void setSpecificationModel(String specificationModel) |
|||
{ |
|||
this.specificationModel = specificationModel; |
|||
} |
|||
|
|||
public String getSpecificationModel() |
|||
{ |
|||
return specificationModel; |
|||
} |
|||
public void setTypeMachine(String typeMachine) |
|||
{ |
|||
this.typeMachine = typeMachine; |
|||
} |
|||
|
|||
public String getTypeMachine() |
|||
{ |
|||
return typeMachine; |
|||
} |
|||
public void setMeasurementUnit(String measurementUnit) |
|||
{ |
|||
this.measurementUnit = measurementUnit; |
|||
} |
|||
|
|||
public String getMeasurementUnit() |
|||
{ |
|||
return measurementUnit; |
|||
} |
|||
public void setCommonCurrency(String commonCurrency) |
|||
{ |
|||
this.commonCurrency = commonCurrency; |
|||
} |
|||
|
|||
public String getCommonCurrency() |
|||
{ |
|||
return commonCurrency; |
|||
} |
|||
public void setProcessPrice(String processPrice) |
|||
{ |
|||
this.processPrice = processPrice; |
|||
} |
|||
|
|||
public String getProcessPrice() |
|||
{ |
|||
return processPrice; |
|||
} |
|||
public void setProcessingProcedureName(String processingProcedureName) |
|||
{ |
|||
this.processingProcedureName = processingProcedureName; |
|||
} |
|||
|
|||
public String getProcessingProcedureName() |
|||
{ |
|||
return processingProcedureName; |
|||
} |
|||
public void setProcessingProcedureCode(String processingProcedureCode) |
|||
{ |
|||
this.processingProcedureCode = processingProcedureCode; |
|||
} |
|||
|
|||
public String getProcessingProcedureCode() |
|||
{ |
|||
return processingProcedureCode; |
|||
} |
|||
public void setConverterCode(String converterCode) |
|||
{ |
|||
this.converterCode = converterCode; |
|||
} |
|||
|
|||
public String getConverterCode() |
|||
{ |
|||
return converterCode; |
|||
} |
|||
public void setConverterName(String converterName) |
|||
{ |
|||
this.converterName = converterName; |
|||
} |
|||
|
|||
public String getConverterName() |
|||
{ |
|||
return converterName; |
|||
} |
|||
public void setPricingDate(String pricingDate) |
|||
{ |
|||
this.pricingDate = pricingDate; |
|||
} |
|||
|
|||
public String getPricingDate() |
|||
{ |
|||
return pricingDate; |
|||
} |
|||
public void setInventoryUnit(String inventoryUnit) |
|||
{ |
|||
this.inventoryUnit = inventoryUnit; |
|||
} |
|||
|
|||
public String getInventoryUnit() |
|||
{ |
|||
return inventoryUnit; |
|||
} |
|||
public void setTaxRate(String taxRate) |
|||
{ |
|||
this.taxRate = taxRate; |
|||
} |
|||
|
|||
public String getTaxRate() |
|||
{ |
|||
return taxRate; |
|||
} |
|||
public void setRelationalFormula(String relationalFormula) |
|||
{ |
|||
this.relationalFormula = relationalFormula; |
|||
} |
|||
|
|||
public String getRelationalFormula() |
|||
{ |
|||
return relationalFormula; |
|||
} |
|||
public void setQuotationExplain(String quotationExplain) |
|||
{ |
|||
this.quotationExplain = quotationExplain; |
|||
} |
|||
|
|||
public String getQuotationExplain() |
|||
{ |
|||
return quotationExplain; |
|||
} |
|||
public void setCurrentQuote(String currentQuote) |
|||
{ |
|||
this.currentQuote = currentQuote; |
|||
} |
|||
|
|||
public String getCurrentQuote() |
|||
{ |
|||
return currentQuote; |
|||
} |
|||
public void setRegistrant(String registrant) |
|||
{ |
|||
this.registrant = registrant; |
|||
} |
|||
|
|||
public String getRegistrant() |
|||
{ |
|||
return registrant; |
|||
} |
|||
public void setConfirmNo(String confirmNo) |
|||
{ |
|||
this.confirmNo = confirmNo; |
|||
} |
|||
|
|||
public String getConfirmNo() |
|||
{ |
|||
return confirmNo; |
|||
} |
|||
public void setConfirmName(String confirmName) |
|||
{ |
|||
this.confirmName = confirmName; |
|||
} |
|||
|
|||
public String getConfirmName() |
|||
{ |
|||
return confirmName; |
|||
} |
|||
public void setConfirmTime(String confirmTime) |
|||
{ |
|||
this.confirmTime = confirmTime; |
|||
} |
|||
|
|||
public String getConfirmTime() |
|||
{ |
|||
return confirmTime; |
|||
} |
|||
public void setAuditNo(String auditNo) |
|||
{ |
|||
this.auditNo = auditNo; |
|||
} |
|||
|
|||
public String getAuditNo() |
|||
{ |
|||
return auditNo; |
|||
} |
|||
public void setAuditName(String auditName) |
|||
{ |
|||
this.auditName = auditName; |
|||
} |
|||
|
|||
public String getAuditName() |
|||
{ |
|||
return auditName; |
|||
} |
|||
public void setAuditTime(String auditTime) |
|||
{ |
|||
this.auditTime = auditTime; |
|||
} |
|||
|
|||
public String getAuditTime() |
|||
{ |
|||
return auditTime; |
|||
} |
|||
public void setApproveNo(String approveNo) |
|||
{ |
|||
this.approveNo = approveNo; |
|||
} |
|||
|
|||
public String getApproveNo() |
|||
{ |
|||
return approveNo; |
|||
} |
|||
public void setApproveName(String approveName) |
|||
{ |
|||
this.approveName = approveName; |
|||
} |
|||
|
|||
public String getApproveName() |
|||
{ |
|||
return approveName; |
|||
} |
|||
public void setApproveTime(String approveTime) |
|||
{ |
|||
this.approveTime = approveTime; |
|||
} |
|||
|
|||
public String getApproveTime() |
|||
{ |
|||
return approveTime; |
|||
} |
|||
public void setStandbyOne(String standbyOne) |
|||
{ |
|||
this.standbyOne = standbyOne; |
|||
} |
|||
|
|||
public String getStandbyOne() |
|||
{ |
|||
return standbyOne; |
|||
} |
|||
public void setStandbyTwo(String standbyTwo) |
|||
{ |
|||
this.standbyTwo = standbyTwo; |
|||
} |
|||
|
|||
public String getStandbyTwo() |
|||
{ |
|||
return standbyTwo; |
|||
} |
|||
|
|||
public String getFirstAddTime() { |
|||
return firstAddTime; |
|||
} |
|||
|
|||
public void setFirstAddTime(String firstAddTime) { |
|||
this.firstAddTime = firstAddTime; |
|||
} |
|||
|
|||
public String getUpdateInfoTime() { |
|||
return updateInfoTime; |
|||
} |
|||
|
|||
public void setUpdateInfoTime(String updateInfoTime) { |
|||
this.updateInfoTime = updateInfoTime; |
|||
} |
|||
|
|||
@Override |
|||
public String toString() { |
|||
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) |
|||
.append("qutsourcingQuotationId", getQutsourcingQuotationId()) |
|||
.append("quotationCode", getQuotationCode()) |
|||
.append("materialCode", getMaterialCode()) |
|||
.append("materialName", getMaterialName()) |
|||
.append("specificationModel", getSpecificationModel()) |
|||
.append("typeMachine", getTypeMachine()) |
|||
.append("measurementUnit", getMeasurementUnit()) |
|||
.append("commonCurrency", getCommonCurrency()) |
|||
.append("processPrice", getProcessPrice()) |
|||
.append("processingProcedureName", getProcessingProcedureName()) |
|||
.append("processingProcedureCode", getProcessingProcedureCode()) |
|||
.append("converterCode", getConverterCode()) |
|||
.append("converterName", getConverterName()) |
|||
.append("pricingDate", getPricingDate()) |
|||
.append("inventoryUnit", getInventoryUnit()) |
|||
.append("taxRate", getTaxRate()) |
|||
.append("relationalFormula", getRelationalFormula()) |
|||
.append("quotationExplain", getQuotationExplain()) |
|||
.append("currentQuote", getCurrentQuote()) |
|||
.append("registrant", getRegistrant()) |
|||
.append("confirmNo", getConfirmNo()) |
|||
.append("confirmName", getConfirmName()) |
|||
.append("confirmTime", getConfirmTime()) |
|||
.append("auditNo", getAuditNo()) |
|||
.append("auditName", getAuditName()) |
|||
.append("auditTime", getAuditTime()) |
|||
.append("approveNo", getApproveNo()) |
|||
.append("approveName", getApproveName()) |
|||
.append("approveTime", getApproveTime()) |
|||
.append("standbyOne", getStandbyOne()) |
|||
.append("standbyTwo", getStandbyTwo()) |
|||
.append("firstAddTime", getFirstAddTime()) |
|||
.append("updateInfoTime", getUpdateInfoTime()) |
|||
.toString(); |
|||
} |
|||
} |
@ -1,61 +0,0 @@ |
|||
package com.ruoyi.system.mapper; |
|||
|
|||
import java.util.List; |
|||
import com.ruoyi.system.domain.SysDrawing; |
|||
|
|||
/** |
|||
* 图纸资料Mapper接口 |
|||
* |
|||
* @author ruoyi |
|||
* @date 2022-10-26 |
|||
*/ |
|||
public interface SysDrawingMapper |
|||
{ |
|||
/** |
|||
* 查询图纸资料 |
|||
* |
|||
* @param drawingId 图纸资料ID |
|||
* @return 图纸资料 |
|||
*/ |
|||
public SysDrawing selectSysDrawingById(Long drawingId); |
|||
|
|||
/** |
|||
* 查询图纸资料列表 |
|||
* |
|||
* @param sysDrawing 图纸资料 |
|||
* @return 图纸资料集合 |
|||
*/ |
|||
public List<SysDrawing> selectSysDrawingList(SysDrawing sysDrawing); |
|||
|
|||
/** |
|||
* 新增图纸资料 |
|||
* |
|||
* @param sysDrawing 图纸资料 |
|||
* @return 结果 |
|||
*/ |
|||
public int insertSysDrawing(SysDrawing sysDrawing); |
|||
|
|||
/** |
|||
* 修改图纸资料 |
|||
* |
|||
* @param sysDrawing 图纸资料 |
|||
* @return 结果 |
|||
*/ |
|||
public int updateSysDrawing(SysDrawing sysDrawing); |
|||
|
|||
/** |
|||
* 删除图纸资料 |
|||
* |
|||
* @param drawingId 图纸资料ID |
|||
* @return 结果 |
|||
*/ |
|||
public int deleteSysDrawingById(Long drawingId); |
|||
|
|||
/** |
|||
* 批量删除图纸资料 |
|||
* |
|||
* @param drawingIds 需要删除的数据ID |
|||
* @return 结果 |
|||
*/ |
|||
public int deleteSysDrawingByIds(String[] drawingIds); |
|||
} |
@ -1,61 +0,0 @@ |
|||
package com.ruoyi.system.mapper; |
|||
|
|||
import java.util.List; |
|||
import com.ruoyi.system.domain.SysProductQuotation; |
|||
|
|||
/** |
|||
* 产品报价Mapper接口 |
|||
* |
|||
* @author ruoyi |
|||
* @date 2022-11-15 |
|||
*/ |
|||
public interface SysProductQuotationMapper |
|||
{ |
|||
/** |
|||
* 查询产品报价 |
|||
* |
|||
* @param productQuotationId 产品报价ID |
|||
* @return 产品报价 |
|||
*/ |
|||
public SysProductQuotation selectSysProductQuotationById(Long productQuotationId); |
|||
|
|||
/** |
|||
* 查询产品报价列表 |
|||
* |
|||
* @param sysProductQuotation 产品报价 |
|||
* @return 产品报价集合 |
|||
*/ |
|||
public List<SysProductQuotation> selectSysProductQuotationList(SysProductQuotation sysProductQuotation); |
|||
|
|||
/** |
|||
* 新增产品报价 |
|||
* |
|||
* @param sysProductQuotation 产品报价 |
|||
* @return 结果 |
|||
*/ |
|||
public int insertSysProductQuotation(SysProductQuotation sysProductQuotation); |
|||
|
|||
/** |
|||
* 修改产品报价 |
|||
* |
|||
* @param sysProductQuotation 产品报价 |
|||
* @return 结果 |
|||
*/ |
|||
public int updateSysProductQuotation(SysProductQuotation sysProductQuotation); |
|||
|
|||
/** |
|||
* 删除产品报价 |
|||
* |
|||
* @param productQuotationId 产品报价ID |
|||
* @return 结果 |
|||
*/ |
|||
public int deleteSysProductQuotationById(Long productQuotationId); |
|||
|
|||
/** |
|||
* 批量删除产品报价 |
|||
* |
|||
* @param productQuotationIds 需要删除的数据ID |
|||
* @return 结果 |
|||
*/ |
|||
public int deleteSysProductQuotationByIds(String[] productQuotationIds); |
|||
} |
@ -1,61 +0,0 @@ |
|||
package com.ruoyi.system.mapper; |
|||
|
|||
import java.util.List; |
|||
import com.ruoyi.system.domain.SysQutsourcingQuotation; |
|||
|
|||
/** |
|||
* 委外报价Mapper接口 |
|||
* |
|||
* @author ruoyi |
|||
* @date 2022-11-10 |
|||
*/ |
|||
public interface SysQutsourcingQuotationMapper |
|||
{ |
|||
/** |
|||
* 查询委外报价 |
|||
* |
|||
* @param qutsourcingQuotationId 委外报价ID |
|||
* @return 委外报价 |
|||
*/ |
|||
public SysQutsourcingQuotation selectSysQutsourcingQuotationById(Long qutsourcingQuotationId); |
|||
|
|||
/** |
|||
* 查询委外报价列表 |
|||
* |
|||
* @param sysQutsourcingQuotation 委外报价 |
|||
* @return 委外报价集合 |
|||
*/ |
|||
public List<SysQutsourcingQuotation> selectSysQutsourcingQuotationList(SysQutsourcingQuotation sysQutsourcingQuotation); |
|||
|
|||
/** |
|||
* 新增委外报价 |
|||
* |
|||
* @param sysQutsourcingQuotation 委外报价 |
|||
* @return 结果 |
|||
*/ |
|||
public int insertSysQutsourcingQuotation(SysQutsourcingQuotation sysQutsourcingQuotation); |
|||
|
|||
/** |
|||
* 修改委外报价 |
|||
* |
|||
* @param sysQutsourcingQuotation 委外报价 |
|||
* @return 结果 |
|||
*/ |
|||
public int updateSysQutsourcingQuotation(SysQutsourcingQuotation sysQutsourcingQuotation); |
|||
|
|||
/** |
|||
* 删除委外报价 |
|||
* |
|||
* @param qutsourcingQuotationId 委外报价ID |
|||
* @return 结果 |
|||
*/ |
|||
public int deleteSysQutsourcingQuotationById(Long qutsourcingQuotationId); |
|||
|
|||
/** |
|||
* 批量删除委外报价 |
|||
* |
|||
* @param qutsourcingQuotationIds 需要删除的数据ID |
|||
* @return 结果 |
|||
*/ |
|||
public int deleteSysQutsourcingQuotationByIds(String[] qutsourcingQuotationIds); |
|||
} |
@ -1,61 +0,0 @@ |
|||
package com.ruoyi.system.service; |
|||
|
|||
import java.util.List; |
|||
import com.ruoyi.system.domain.SysDrawing; |
|||
|
|||
/** |
|||
* 图纸资料Service接口 |
|||
* |
|||
* @author ruoyi |
|||
* @date 2022-10-26 |
|||
*/ |
|||
public interface ISysDrawingService |
|||
{ |
|||
/** |
|||
* 查询图纸资料 |
|||
* |
|||
* @param drawingId 图纸资料ID |
|||
* @return 图纸资料 |
|||
*/ |
|||
public SysDrawing selectSysDrawingById(Long drawingId); |
|||
|
|||
/** |
|||
* 查询图纸资料列表 |
|||
* |
|||
* @param sysDrawing 图纸资料 |
|||
* @return 图纸资料集合 |
|||
*/ |
|||
public List<SysDrawing> selectSysDrawingList(SysDrawing sysDrawing); |
|||
|
|||
/** |
|||
* 新增图纸资料 |
|||
* |
|||
* @param sysDrawing 图纸资料 |
|||
* @return 结果 |
|||
*/ |
|||
public int insertSysDrawing(SysDrawing sysDrawing); |
|||
|
|||
/** |
|||
* 修改图纸资料 |
|||
* |
|||
* @param sysDrawing 图纸资料 |
|||
* @return 结果 |
|||
*/ |
|||
public int updateSysDrawing(SysDrawing sysDrawing); |
|||
|
|||
/** |
|||
* 批量删除图纸资料 |
|||
* |
|||
* @param ids 需要删除的数据ID |
|||
* @return 结果 |
|||
*/ |
|||
public int deleteSysDrawingByIds(String ids); |
|||
|
|||
/** |
|||
* 删除图纸资料信息 |
|||
* |
|||
* @param drawingId 图纸资料ID |
|||
* @return 结果 |
|||
*/ |
|||
public int deleteSysDrawingById(Long drawingId); |
|||
} |
@ -1,64 +0,0 @@ |
|||
package com.ruoyi.system.service; |
|||
|
|||
import com.ruoyi.system.domain.SysProductQuotation; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* 产品报价Service接口 |
|||
* |
|||
* @author ruoyi |
|||
* @date 2022-11-15 |
|||
*/ |
|||
public interface ISysProductQuotationService |
|||
{ |
|||
/** |
|||
* 查询产品报价 |
|||
* |
|||
* @param productQuotationId 产品报价ID |
|||
* @return 产品报价 |
|||
*/ |
|||
public SysProductQuotation selectSysProductQuotationById(Long productQuotationId); |
|||
|
|||
/** |
|||
* 查询产品报价列表 |
|||
* |
|||
* @param sysProductQuotation 产品报价 |
|||
* @return 产品报价集合 |
|||
*/ |
|||
public List<SysProductQuotation> selectSysProductQuotationList(SysProductQuotation sysProductQuotation); |
|||
|
|||
/** |
|||
* 新增产品报价 |
|||
* |
|||
* @param sysProductQuotation 产品报价 |
|||
* @return 结果 |
|||
*/ |
|||
public int insertSysProductQuotation(SysProductQuotation sysProductQuotation); |
|||
|
|||
/** |
|||
* 修改产品报价 |
|||
* |
|||
* @param sysProductQuotation 产品报价 |
|||
* @return 结果 |
|||
*/ |
|||
public int updateSysProductQuotation(SysProductQuotation sysProductQuotation); |
|||
|
|||
/** |
|||
* 批量删除产品报价 |
|||
* |
|||
* @param ids 需要删除的数据ID |
|||
* @return 结果 |
|||
*/ |
|||
public int deleteSysProductQuotationByIds(String ids); |
|||
|
|||
/** |
|||
* 删除产品报价信息 |
|||
* |
|||
* @param productQuotationId 产品报价ID |
|||
* @return 结果 |
|||
*/ |
|||
public int deleteSysProductQuotationById(Long productQuotationId); |
|||
|
|||
public String getId(); |
|||
} |
@ -1,64 +0,0 @@ |
|||
package com.ruoyi.system.service; |
|||
|
|||
import com.ruoyi.system.domain.SysQutsourcingQuotation; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* 委外报价Service接口 |
|||
* |
|||
* @author ruoyi |
|||
* @date 2022-11-10 |
|||
*/ |
|||
public interface ISysQutsourcingQuotationService |
|||
{ |
|||
/** |
|||
* 查询委外报价 |
|||
* |
|||
* @param qutsourcingQuotationId 委外报价ID |
|||
* @return 委外报价 |
|||
*/ |
|||
public SysQutsourcingQuotation selectSysQutsourcingQuotationById(Long qutsourcingQuotationId); |
|||
|
|||
/** |
|||
* 查询委外报价列表 |
|||
* |
|||
* @param sysQutsourcingQuotation 委外报价 |
|||
* @return 委外报价集合 |
|||
*/ |
|||
public List<SysQutsourcingQuotation> selectSysQutsourcingQuotationList(SysQutsourcingQuotation sysQutsourcingQuotation); |
|||
|
|||
/** |
|||
* 新增委外报价 |
|||
* |
|||
* @param sysQutsourcingQuotation 委外报价 |
|||
* @return 结果 |
|||
*/ |
|||
public int insertSysQutsourcingQuotation(SysQutsourcingQuotation sysQutsourcingQuotation); |
|||
|
|||
/** |
|||
* 修改委外报价 |
|||
* |
|||
* @param sysQutsourcingQuotation 委外报价 |
|||
* @return 结果 |
|||
*/ |
|||
public int updateSysQutsourcingQuotation(SysQutsourcingQuotation sysQutsourcingQuotation); |
|||
|
|||
/** |
|||
* 批量删除委外报价 |
|||
* |
|||
* @param ids 需要删除的数据ID |
|||
* @return 结果 |
|||
*/ |
|||
public int deleteSysQutsourcingQuotationByIds(String ids); |
|||
|
|||
/** |
|||
* 删除委外报价信息 |
|||
* |
|||
* @param qutsourcingQuotationId 委外报价ID |
|||
* @return 结果 |
|||
*/ |
|||
public int deleteSysQutsourcingQuotationById(Long qutsourcingQuotationId); |
|||
|
|||
public String getId(); |
|||
} |
@ -1,95 +0,0 @@ |
|||
package com.ruoyi.system.service.impl; |
|||
|
|||
import com.ruoyi.common.core.text.Convert; |
|||
import com.ruoyi.system.domain.SysDrawing; |
|||
import com.ruoyi.system.mapper.SysDrawingMapper; |
|||
import com.ruoyi.system.service.ISysDrawingService; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* 图纸资料Service业务层处理 |
|||
* |
|||
* @author ruoyi |
|||
* @date 2022-10-26 |
|||
*/ |
|||
@Service |
|||
public class SysDrawingServiceImpl implements ISysDrawingService |
|||
{ |
|||
@Autowired |
|||
private SysDrawingMapper sysDrawingMapper; |
|||
|
|||
/** |
|||
* 查询图纸资料 |
|||
* |
|||
* @param drawingId 图纸资料ID |
|||
* @return 图纸资料 |
|||
*/ |
|||
@Override |
|||
public SysDrawing selectSysDrawingById(Long drawingId) |
|||
{ |
|||
return sysDrawingMapper.selectSysDrawingById(drawingId); |
|||
} |
|||
|
|||
/** |
|||
* 查询图纸资料列表 |
|||
* |
|||
* @param sysDrawing 图纸资料 |
|||
* @return 图纸资料 |
|||
*/ |
|||
@Override |
|||
public List<SysDrawing> selectSysDrawingList(SysDrawing sysDrawing) |
|||
{ |
|||
return sysDrawingMapper.selectSysDrawingList(sysDrawing); |
|||
} |
|||
|
|||
/** |
|||
* 新增图纸资料 |
|||
* |
|||
* @param sysDrawing 图纸资料 |
|||
* @return 结果 |
|||
*/ |
|||
@Override |
|||
public int insertSysDrawing(SysDrawing sysDrawing) |
|||
{ |
|||
return sysDrawingMapper.insertSysDrawing(sysDrawing); |
|||
} |
|||
|
|||
/** |
|||
* 修改图纸资料 |
|||
* |
|||
* @param sysDrawing 图纸资料 |
|||
* @return 结果 |
|||
*/ |
|||
@Override |
|||
public int updateSysDrawing(SysDrawing sysDrawing) |
|||
{ |
|||
return sysDrawingMapper.updateSysDrawing(sysDrawing); |
|||
} |
|||
|
|||
/** |
|||
* 删除图纸资料对象 |
|||
* |
|||
* @param ids 需要删除的数据ID |
|||
* @return 结果 |
|||
*/ |
|||
@Override |
|||
public int deleteSysDrawingByIds(String ids) |
|||
{ |
|||
return sysDrawingMapper.deleteSysDrawingByIds(Convert.toStrArray(ids)); |
|||
} |
|||
|
|||
/** |
|||
* 删除图纸资料信息 |
|||
* |
|||
* @param drawingId 图纸资料ID |
|||
* @return 结果 |
|||
*/ |
|||
@Override |
|||
public int deleteSysDrawingById(Long drawingId) |
|||
{ |
|||
return sysDrawingMapper.deleteSysDrawingById(drawingId); |
|||
} |
|||
} |
@ -1,102 +0,0 @@ |
|||
package com.ruoyi.system.service.impl; |
|||
|
|||
import com.ruoyi.common.core.text.Convert; |
|||
import com.ruoyi.system.domain.SysProductQuotation; |
|||
import com.ruoyi.system.mapper.SysProductQuotationMapper; |
|||
import com.ruoyi.system.service.ISysProductQuotationService; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
import java.text.SimpleDateFormat; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* 产品报价Service业务层处理 |
|||
* |
|||
* @author ruoyi |
|||
* @date 2022-11-15 |
|||
*/ |
|||
@Service |
|||
public class SysProductQuotationServiceImpl implements ISysProductQuotationService |
|||
{ |
|||
@Autowired |
|||
private SysProductQuotationMapper sysProductQuotationMapper; |
|||
|
|||
/** |
|||
* 查询产品报价 |
|||
* |
|||
* @param productQuotationId 产品报价ID |
|||
* @return 产品报价 |
|||
*/ |
|||
@Override |
|||
public SysProductQuotation selectSysProductQuotationById(Long productQuotationId) |
|||
{ |
|||
return sysProductQuotationMapper.selectSysProductQuotationById(productQuotationId); |
|||
} |
|||
|
|||
/** |
|||
* 查询产品报价列表 |
|||
* |
|||
* @param sysProductQuotation 产品报价 |
|||
* @return 产品报价 |
|||
*/ |
|||
@Override |
|||
public List<SysProductQuotation> selectSysProductQuotationList(SysProductQuotation sysProductQuotation) |
|||
{ |
|||
return sysProductQuotationMapper.selectSysProductQuotationList(sysProductQuotation); |
|||
} |
|||
|
|||
/** |
|||
* 新增产品报价 |
|||
* |
|||
* @param sysProductQuotation 产品报价 |
|||
* @return 结果 |
|||
*/ |
|||
@Override |
|||
public int insertSysProductQuotation(SysProductQuotation sysProductQuotation) |
|||
{ |
|||
return sysProductQuotationMapper.insertSysProductQuotation(sysProductQuotation); |
|||
} |
|||
|
|||
/** |
|||
* 修改产品报价 |
|||
* |
|||
* @param sysProductQuotation 产品报价 |
|||
* @return 结果 |
|||
*/ |
|||
@Override |
|||
public int updateSysProductQuotation(SysProductQuotation sysProductQuotation) |
|||
{ |
|||
return sysProductQuotationMapper.updateSysProductQuotation(sysProductQuotation); |
|||
} |
|||
|
|||
/** |
|||
* 删除产品报价对象 |
|||
* |
|||
* @param ids 需要删除的数据ID |
|||
* @return 结果 |
|||
*/ |
|||
@Override |
|||
public int deleteSysProductQuotationByIds(String ids) |
|||
{ |
|||
return sysProductQuotationMapper.deleteSysProductQuotationByIds(Convert.toStrArray(ids)); |
|||
} |
|||
|
|||
/** |
|||
* 删除产品报价信息 |
|||
* |
|||
* @param productQuotationId 产品报价ID |
|||
* @return 结果 |
|||
*/ |
|||
@Override |
|||
public int deleteSysProductQuotationById(Long productQuotationId) |
|||
{ |
|||
return sysProductQuotationMapper.deleteSysProductQuotationById(productQuotationId); |
|||
} |
|||
|
|||
@Override |
|||
public String getId() { |
|||
String time = new SimpleDateFormat("yyyyMMddHHmmssSSS").format(System.currentTimeMillis()); |
|||
return "BJ" + time.substring(2); |
|||
} |
|||
} |
@ -1,102 +0,0 @@ |
|||
package com.ruoyi.system.service.impl; |
|||
|
|||
import com.ruoyi.common.core.text.Convert; |
|||
import com.ruoyi.system.domain.SysQutsourcingQuotation; |
|||
import com.ruoyi.system.mapper.SysQutsourcingQuotationMapper; |
|||
import com.ruoyi.system.service.ISysQutsourcingQuotationService; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
import java.text.SimpleDateFormat; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* 委外报价Service业务层处理 |
|||
* |
|||
* @author ruoyi |
|||
* @date 2022-11-10 |
|||
*/ |
|||
@Service |
|||
public class SysQutsourcingQuotationServiceImpl implements ISysQutsourcingQuotationService |
|||
{ |
|||
@Autowired |
|||
private SysQutsourcingQuotationMapper sysQutsourcingQuotationMapper; |
|||
|
|||
/** |
|||
* 查询委外报价 |
|||
* |
|||
* @param qutsourcingQuotationId 委外报价ID |
|||
* @return 委外报价 |
|||
*/ |
|||
@Override |
|||
public SysQutsourcingQuotation selectSysQutsourcingQuotationById(Long qutsourcingQuotationId) |
|||
{ |
|||
return sysQutsourcingQuotationMapper.selectSysQutsourcingQuotationById(qutsourcingQuotationId); |
|||
} |
|||
|
|||
/** |
|||
* 查询委外报价列表 |
|||
* |
|||
* @param sysQutsourcingQuotation 委外报价 |
|||
* @return 委外报价 |
|||
*/ |
|||
@Override |
|||
public List<SysQutsourcingQuotation> selectSysQutsourcingQuotationList(SysQutsourcingQuotation sysQutsourcingQuotation) |
|||
{ |
|||
return sysQutsourcingQuotationMapper.selectSysQutsourcingQuotationList(sysQutsourcingQuotation); |
|||
} |
|||
|
|||
/** |
|||
* 新增委外报价 |
|||
* |
|||
* @param sysQutsourcingQuotation 委外报价 |
|||
* @return 结果 |
|||
*/ |
|||
@Override |
|||
public int insertSysQutsourcingQuotation(SysQutsourcingQuotation sysQutsourcingQuotation) |
|||
{ |
|||
return sysQutsourcingQuotationMapper.insertSysQutsourcingQuotation(sysQutsourcingQuotation); |
|||
} |
|||
|
|||
/** |
|||
* 修改委外报价 |
|||
* |
|||
* @param sysQutsourcingQuotation 委外报价 |
|||
* @return 结果 |
|||
*/ |
|||
@Override |
|||
public int updateSysQutsourcingQuotation(SysQutsourcingQuotation sysQutsourcingQuotation) |
|||
{ |
|||
return sysQutsourcingQuotationMapper.updateSysQutsourcingQuotation(sysQutsourcingQuotation); |
|||
} |
|||
|
|||
/** |
|||
* 删除委外报价对象 |
|||
* |
|||
* @param ids 需要删除的数据ID |
|||
* @return 结果 |
|||
*/ |
|||
@Override |
|||
public int deleteSysQutsourcingQuotationByIds(String ids) |
|||
{ |
|||
return sysQutsourcingQuotationMapper.deleteSysQutsourcingQuotationByIds(Convert.toStrArray(ids)); |
|||
} |
|||
|
|||
/** |
|||
* 删除委外报价信息 |
|||
* |
|||
* @param qutsourcingQuotationId 委外报价ID |
|||
* @return 结果 |
|||
*/ |
|||
@Override |
|||
public int deleteSysQutsourcingQuotationById(Long qutsourcingQuotationId) |
|||
{ |
|||
return sysQutsourcingQuotationMapper.deleteSysQutsourcingQuotationById(qutsourcingQuotationId); |
|||
} |
|||
|
|||
@Override |
|||
public String getId() { |
|||
String time = new SimpleDateFormat("yyyyMMddHHmmssSSS").format(System.currentTimeMillis()); |
|||
return "BJ" + time.substring(2); |
|||
} |
|||
} |
@ -1,78 +0,0 @@ |
|||
<?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.system.mapper.SysDrawingMapper"> |
|||
|
|||
<resultMap type="SysDrawing" id="SysDrawingResult"> |
|||
<result property="drawingId" column="drawing_id" /> |
|||
<result property="drawingCode" column="drawing_code" /> |
|||
<result property="drawingMaterialCategory" column="drawing_material_category" /> |
|||
<result property="drawingRemarks" column="drawing_remarks" /> |
|||
<result property="drawingUpload" column="drawing_upload" /> |
|||
<result property="uploadPerson" column="upload_person" /> |
|||
<result property="firstAddTime" column="first_add_time" /> |
|||
<result property="updateInfoTime" column="update_info_time" /> |
|||
</resultMap> |
|||
|
|||
<sql id="selectSysDrawingVo"> |
|||
select drawing_id, drawing_code, drawing_material_category, drawing_remarks, drawing_upload, upload_person, first_add_time, update_info_time from sys_drawing |
|||
</sql> |
|||
|
|||
<select id="selectSysDrawingList" parameterType="SysDrawing" resultMap="SysDrawingResult"> |
|||
<include refid="selectSysDrawingVo"/> |
|||
<where> |
|||
<if test="drawingCode != null and drawingCode != ''"> and drawing_code = #{drawingCode}</if> |
|||
</where> |
|||
</select> |
|||
|
|||
<select id="selectSysDrawingById" parameterType="Long" resultMap="SysDrawingResult"> |
|||
<include refid="selectSysDrawingVo"/> |
|||
where drawing_id = #{drawingId} |
|||
</select> |
|||
|
|||
<insert id="insertSysDrawing" parameterType="SysDrawing" useGeneratedKeys="true" keyProperty="drawingId"> |
|||
insert into sys_drawing |
|||
<trim prefix="(" suffix=")" suffixOverrides=","> |
|||
<if test="drawingCode != null">drawing_code,</if> |
|||
<if test="drawingMaterialCategory != null">drawing_material_category,</if> |
|||
<if test="drawingRemarks != null">drawing_remarks,</if> |
|||
<if test="drawingUpload != null">drawing_upload,</if> |
|||
<if test="uploadPerson != null">upload_person,</if> |
|||
first_add_time, |
|||
</trim> |
|||
<trim prefix="values (" suffix=")" suffixOverrides=","> |
|||
<if test="drawingCode != null">#{drawingCode},</if> |
|||
<if test="drawingMaterialCategory != null">#{drawingMaterialCategory},</if> |
|||
<if test="drawingRemarks != null">#{drawingRemarks},</if> |
|||
<if test="drawingUpload != null">#{drawingUpload},</if> |
|||
<if test="uploadPerson != null">#{uploadPerson},</if> |
|||
now(), |
|||
</trim> |
|||
</insert> |
|||
|
|||
<update id="updateSysDrawing" parameterType="SysDrawing"> |
|||
update sys_drawing |
|||
<trim prefix="SET" suffixOverrides=","> |
|||
<if test="drawingCode != null">drawing_code = #{drawingCode},</if> |
|||
<if test="drawingMaterialCategory != null">drawing_material_category = #{drawingMaterialCategory},</if> |
|||
<if test="drawingRemarks != null">drawing_remarks = #{drawingRemarks},</if> |
|||
<if test="drawingUpload != null">drawing_upload = #{drawingUpload},</if> |
|||
<if test="uploadPerson != null">upload_person = #{uploadPerson},</if> |
|||
update_info_time = CONCAT_WS(',',NOW(),update_info_time), |
|||
</trim> |
|||
where drawing_id = #{drawingId} |
|||
</update> |
|||
|
|||
<delete id="deleteSysDrawingById" parameterType="Long"> |
|||
delete from sys_drawing where drawing_id = #{drawingId} |
|||
</delete> |
|||
|
|||
<delete id="deleteSysDrawingByIds" parameterType="String"> |
|||
delete from sys_drawing where drawing_id in |
|||
<foreach item="drawingId" collection="array" open="(" separator="," close=")"> |
|||
#{drawingId} |
|||
</foreach> |
|||
</delete> |
|||
|
|||
</mapper> |
@ -1,210 +0,0 @@ |
|||
<?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.system.mapper.SysProductQuotationMapper"> |
|||
|
|||
<resultMap type="SysProductQuotation" id="SysProductQuotationResult"> |
|||
<result property="productQuotationId" column="product_quotation_id" /> |
|||
<result property="quotationCode" column="quotation_code" /> |
|||
<result property="finishProductCode" column="finish_product_code" /> |
|||
<result property="finishProductName" column="finish_product_name" /> |
|||
<result property="specificationModel" column="specification_model" /> |
|||
<result property="typeMachine" column="type_machine" /> |
|||
<result property="inventoryUnit" column="inventory_unit" /> |
|||
<result property="commonCurrency" column="common_currency" /> |
|||
<result property="processPrice" column="process_price" /> |
|||
<result property="customerNumber" column="customer_number" /> |
|||
<result property="enterpriseCode" column="enterprise_code" /> |
|||
<result property="enterpriseName" column="enterprise_name" /> |
|||
<result property="registrant" column="registrant" /> |
|||
<result property="pricingDate" column="pricing_date" /> |
|||
<result property="taxRate" column="tax_rate" /> |
|||
<result property="priceExcludingTax" column="price_excluding_tax" /> |
|||
<result property="priceIncludingTax" column="price_including_tax" /> |
|||
<result property="lastPrice" column="last_price" /> |
|||
<result property="lastPriceEnd" column="last_price_end" /> |
|||
<result property="costRmb" column="cost_rmb" /> |
|||
<result property="currentExchangeRate" column="current_exchange_rate" /> |
|||
<result property="proportionMaterials" column="proportion_materials" /> |
|||
<result property="quotationExplain" column="quotation_explain" /> |
|||
<result property="currentQuote" column="current_quote" /> |
|||
<result property="confirmTax" column="confirm_tax" /> |
|||
<result property="fileUpload" column="file_upload" /> |
|||
<result property="confirmNo" column="confirm_no" /> |
|||
<result property="confirmName" column="confirm_name" /> |
|||
<result property="confirmTime" column="confirm_time" /> |
|||
<result property="auditNo" column="audit_no" /> |
|||
<result property="auditName" column="audit_name" /> |
|||
<result property="auditTime" column="audit_time" /> |
|||
<result property="approveNo" column="approve_no" /> |
|||
<result property="approveName" column="approve_name" /> |
|||
<result property="approveTime" column="approve_time" /> |
|||
<result property="standbyOne" column="standby_one" /> |
|||
<result property="standbyTwo" column="standby_two" /> |
|||
<result property="firstAddTime" column="first_add_time" /> |
|||
<result property="updateInfoTime" column="update_info_time" /> |
|||
|
|||
</resultMap> |
|||
|
|||
<sql id="selectSysProductQuotationVo"> |
|||
select product_quotation_id, quotation_code, finish_product_code, finish_product_name, specification_model, type_machine, inventory_unit, common_currency, process_price, customer_number, enterprise_code, enterprise_name, registrant, pricing_date, tax_rate, price_excluding_tax, price_including_tax, last_price, last_price_end, cost_rmb, current_exchange_rate, proportion_materials, quotation_explain, current_quote, confirm_tax, file_upload, confirm_no, confirm_name, confirm_time, audit_no, audit_name, audit_time, approve_no, approve_name, approve_time, standby_one, standby_two, first_add_time, update_info_time from sys_product_quotation |
|||
</sql> |
|||
|
|||
<select id="selectSysProductQuotationList" parameterType="SysProductQuotation" resultMap="SysProductQuotationResult"> |
|||
<include refid="selectSysProductQuotationVo"/> |
|||
<where> |
|||
<if test="quotationCode != null and quotationCode != ''"> and quotation_code like concat('%', #{quotationCode}, '%')</if> |
|||
<if test="finishProductCode != null and finishProductCode != ''"> and finish_product_code like concat('%', #{finishProductCode}, '%')</if> |
|||
<if test="finishProductName != null and finishProductName != ''"> and finish_product_name like concat('%', #{finishProductName}, '%')</if> |
|||
<if test="customerNumber != null and customerNumber != ''"> and customer_number like concat('%', #{customerNumber}, '%')</if> |
|||
<if test="enterpriseCode != null and enterpriseCode != ''"> and enterprise_code like concat('%', #{enterpriseCode}, '%')</if> |
|||
<if test="enterpriseName != null and enterpriseName != ''"> and enterprise_name like concat('%', #{enterpriseName}, '%')</if> |
|||
<if test="pricingDate != null and pricingDate != ''"> and pricing_date like concat('%', #{pricingDate}, '%')</if> |
|||
<if test="currentQuote != null and currentQuote != ''"> and current_quote = #{currentQuote}</if> |
|||
</where> |
|||
</select> |
|||
|
|||
<select id="selectSysProductQuotationById" parameterType="Long" resultMap="SysProductQuotationResult"> |
|||
<include refid="selectSysProductQuotationVo"/> |
|||
where product_quotation_id = #{productQuotationId} |
|||
</select> |
|||
|
|||
<insert id="insertSysProductQuotation" parameterType="SysProductQuotation" useGeneratedKeys="true" keyProperty="productQuotationId"> |
|||
insert into sys_product_quotation |
|||
<trim prefix="(" suffix=")" suffixOverrides=","> |
|||
<if test="quotationCode != null">quotation_code,</if> |
|||
<if test="finishProductCode != null">finish_product_code,</if> |
|||
<if test="finishProductName != null">finish_product_name,</if> |
|||
<if test="specificationModel != null">specification_model,</if> |
|||
<if test="typeMachine != null">type_machine,</if> |
|||
<if test="inventoryUnit != null">inventory_unit,</if> |
|||
<if test="commonCurrency != null">common_currency,</if> |
|||
<if test="processPrice != null">process_price,</if> |
|||
<if test="customerNumber != null">customer_number,</if> |
|||
<if test="enterpriseCode != null">enterprise_code,</if> |
|||
<if test="enterpriseName != null">enterprise_name,</if> |
|||
<if test="registrant != null">registrant,</if> |
|||
<if test="pricingDate != null">pricing_date,</if> |
|||
<if test="taxRate != null">tax_rate,</if> |
|||
<if test="priceExcludingTax != null">price_excluding_tax,</if> |
|||
<if test="priceIncludingTax != null">price_including_tax,</if> |
|||
<if test="lastPrice != null">last_price,</if> |
|||
<if test="lastPriceEnd != null">last_price_end,</if> |
|||
<if test="costRmb != null">cost_rmb,</if> |
|||
<if test="currentExchangeRate != null">current_exchange_rate,</if> |
|||
<if test="proportionMaterials != null">proportion_materials,</if> |
|||
<if test="quotationExplain != null">quotation_explain,</if> |
|||
<if test="currentQuote != null">current_quote,</if> |
|||
<if test="confirmTax != null">confirm_tax,</if> |
|||
<if test="fileUpload != null">file_upload,</if> |
|||
<if test="confirmNo != null">confirm_no,</if> |
|||
<if test="confirmName != null">confirm_name,</if> |
|||
<if test="confirmTime != null">confirm_time,</if> |
|||
<if test="auditNo != null">audit_no,</if> |
|||
<if test="auditName != null">audit_name,</if> |
|||
<if test="auditTime != null">audit_time,</if> |
|||
<if test="approveNo != null">approve_no,</if> |
|||
<if test="approveName != null">approve_name,</if> |
|||
<if test="approveTime != null">approve_time,</if> |
|||
<if test="standbyOne != null">standby_one,</if> |
|||
<if test="standbyTwo != null">standby_two,</if> |
|||
first_add_time, |
|||
</trim> |
|||
<trim prefix="values (" suffix=")" suffixOverrides=","> |
|||
<if test="quotationCode != null">#{quotationCode},</if> |
|||
<if test="finishProductCode != null">#{finishProductCode},</if> |
|||
<if test="finishProductName != null">#{finishProductName},</if> |
|||
<if test="specificationModel != null">#{specificationModel},</if> |
|||
<if test="typeMachine != null">#{typeMachine},</if> |
|||
<if test="inventoryUnit != null">#{inventoryUnit},</if> |
|||
<if test="commonCurrency != null">#{commonCurrency},</if> |
|||
<if test="processPrice != null">#{processPrice},</if> |
|||
<if test="customerNumber != null">#{customerNumber},</if> |
|||
<if test="enterpriseCode != null">#{enterpriseCode},</if> |
|||
<if test="enterpriseName != null">#{enterpriseName},</if> |
|||
<if test="registrant != null">#{registrant},</if> |
|||
<if test="pricingDate != null">#{pricingDate},</if> |
|||
<if test="taxRate != null">#{taxRate},</if> |
|||
<if test="priceExcludingTax != null">#{priceExcludingTax},</if> |
|||
<if test="priceIncludingTax != null">#{priceIncludingTax},</if> |
|||
<if test="lastPrice != null">#{lastPrice},</if> |
|||
<if test="lastPriceEnd != null">#{lastPriceEnd},</if> |
|||
<if test="costRmb != null">#{costRmb},</if> |
|||
<if test="currentExchangeRate != null">#{currentExchangeRate},</if> |
|||
<if test="proportionMaterials != null">#{proportionMaterials},</if> |
|||
<if test="quotationExplain != null">#{quotationExplain},</if> |
|||
<if test="currentQuote != null">#{currentQuote},</if> |
|||
<if test="confirmTax != null">#{confirmTax},</if> |
|||
<if test="fileUpload != null">#{fileUpload},</if> |
|||
<if test="confirmNo != null">#{confirmNo},</if> |
|||
<if test="confirmName != null">#{confirmName},</if> |
|||
<if test="confirmTime != null">#{confirmTime},</if> |
|||
<if test="auditNo != null">#{auditNo},</if> |
|||
<if test="auditName != null">#{auditName},</if> |
|||
<if test="auditTime != null">#{auditTime},</if> |
|||
<if test="approveNo != null">#{approveNo},</if> |
|||
<if test="approveName != null">#{approveName},</if> |
|||
<if test="approveTime != null">#{approveTime},</if> |
|||
<if test="standbyOne != null">#{standbyOne},</if> |
|||
<if test="standbyTwo != null">#{standbyTwo},</if> |
|||
now(), |
|||
</trim> |
|||
</insert> |
|||
|
|||
<update id="updateSysProductQuotation" parameterType="SysProductQuotation"> |
|||
update sys_product_quotation |
|||
<trim prefix="SET" suffixOverrides=","> |
|||
<if test="quotationCode != null">quotation_code = #{quotationCode},</if> |
|||
<if test="finishProductCode != null">finish_product_code = #{finishProductCode},</if> |
|||
<if test="finishProductName != null">finish_product_name = #{finishProductName},</if> |
|||
<if test="specificationModel != null">specification_model = #{specificationModel},</if> |
|||
<if test="typeMachine != null">type_machine = #{typeMachine},</if> |
|||
<if test="inventoryUnit != null">inventory_unit = #{inventoryUnit},</if> |
|||
<if test="commonCurrency != null">common_currency = #{commonCurrency},</if> |
|||
<if test="processPrice != null">process_price = #{processPrice},</if> |
|||
<if test="customerNumber != null">customer_number = #{customerNumber},</if> |
|||
<if test="enterpriseCode != null">enterprise_code = #{enterpriseCode},</if> |
|||
<if test="enterpriseName != null">enterprise_name = #{enterpriseName},</if> |
|||
<if test="registrant != null">registrant = #{registrant},</if> |
|||
<if test="pricingDate != null">pricing_date = #{pricingDate},</if> |
|||
<if test="taxRate != null">tax_rate = #{taxRate},</if> |
|||
<if test="priceExcludingTax != null">price_excluding_tax = #{priceExcludingTax},</if> |
|||
<if test="priceIncludingTax != null">price_including_tax = #{priceIncludingTax},</if> |
|||
<if test="lastPrice != null">last_price = #{lastPrice},</if> |
|||
<if test="lastPriceEnd != null">last_price_end = #{lastPriceEnd},</if> |
|||
<if test="costRmb != null">cost_rmb = #{costRmb},</if> |
|||
<if test="currentExchangeRate != null">current_exchange_rate = #{currentExchangeRate},</if> |
|||
<if test="proportionMaterials != null">proportion_materials = #{proportionMaterials},</if> |
|||
<if test="quotationExplain != null">quotation_explain = #{quotationExplain},</if> |
|||
<if test="currentQuote != null">current_quote = #{currentQuote},</if> |
|||
<if test="confirmTax != null">confirm_tax = #{confirmTax},</if> |
|||
<if test="fileUpload != null">file_upload = #{fileUpload},</if> |
|||
<if test="confirmNo != null">confirm_no = #{confirmNo},</if> |
|||
<if test="confirmName != null">confirm_name = #{confirmName},</if> |
|||
<if test="confirmTime != null">confirm_time = #{confirmTime},</if> |
|||
<if test="auditNo != null">audit_no = #{auditNo},</if> |
|||
<if test="auditName != null">audit_name = #{auditName},</if> |
|||
<if test="auditTime != null">audit_time = #{auditTime},</if> |
|||
<if test="approveNo != null">approve_no = #{approveNo},</if> |
|||
<if test="approveName != null">approve_name = #{approveName},</if> |
|||
<if test="approveTime != null">approve_time = #{approveTime},</if> |
|||
<if test="standbyOne != null">standby_one = #{standbyOne},</if> |
|||
<if test="standbyTwo != null">standby_two = #{standbyTwo},</if> |
|||
update_info_time = CONCAT_WS(',',NOW(),update_info_time), |
|||
</trim> |
|||
where product_quotation_id = #{productQuotationId} |
|||
</update> |
|||
|
|||
<delete id="deleteSysProductQuotationById" parameterType="Long"> |
|||
delete from sys_product_quotation where product_quotation_id = #{productQuotationId} |
|||
</delete> |
|||
|
|||
<delete id="deleteSysProductQuotationByIds" parameterType="String"> |
|||
delete from sys_product_quotation where product_quotation_id in |
|||
<foreach item="productQuotationId" collection="array" open="(" separator="," close=")"> |
|||
#{productQuotationId} |
|||
</foreach> |
|||
</delete> |
|||
|
|||
</mapper> |
@ -1,184 +0,0 @@ |
|||
<?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.system.mapper.SysQutsourcingQuotationMapper"> |
|||
|
|||
<resultMap type="SysQutsourcingQuotation" id="SysQutsourcingQuotationResult"> |
|||
<result property="qutsourcingQuotationId" column="qutsourcing_quotation_id" /> |
|||
<result property="quotationCode" column="quotation_code" /> |
|||
<result property="materialCode" column="material_code" /> |
|||
<result property="materialName" column="material_name" /> |
|||
<result property="specificationModel" column="specification_model" /> |
|||
<result property="typeMachine" column="type_machine" /> |
|||
<result property="measurementUnit" column="measurement_unit" /> |
|||
<result property="commonCurrency" column="common_currency" /> |
|||
<result property="processPrice" column="process_price" /> |
|||
<result property="processingProcedureName" column="processing_procedure_name" /> |
|||
<result property="processingProcedureCode" column="processing_procedure_code" /> |
|||
<result property="converterCode" column="converter_code" /> |
|||
<result property="converterName" column="converter_name" /> |
|||
<result property="pricingDate" column="pricing_date" /> |
|||
<result property="inventoryUnit" column="inventory_unit" /> |
|||
<result property="taxRate" column="tax_rate" /> |
|||
<result property="relationalFormula" column="relational_formula" /> |
|||
<result property="quotationExplain" column="quotation_explain" /> |
|||
<result property="currentQuote" column="current_quote" /> |
|||
<result property="registrant" column="registrant" /> |
|||
<result property="confirmNo" column="confirm_no" /> |
|||
<result property="confirmName" column="confirm_name" /> |
|||
<result property="confirmTime" column="confirm_time" /> |
|||
<result property="auditNo" column="audit_no" /> |
|||
<result property="auditName" column="audit_name" /> |
|||
<result property="auditTime" column="audit_time" /> |
|||
<result property="approveNo" column="approve_no" /> |
|||
<result property="approveName" column="approve_name" /> |
|||
<result property="approveTime" column="approve_time" /> |
|||
<result property="standbyOne" column="standby_one" /> |
|||
<result property="standbyTwo" column="standby_two" /> |
|||
<result property="firstAddTime" column="first_add_time" /> |
|||
<result property="updateInfoTime" column="update_info_time" /> |
|||
</resultMap> |
|||
|
|||
<sql id="selectSysQutsourcingQuotationVo"> |
|||
select qutsourcing_quotation_id, quotation_code, material_code, material_name, specification_model, type_machine, measurement_unit, common_currency, process_price, processing_procedure_name, processing_procedure_code, converter_code, converter_name, pricing_date, inventory_unit, tax_rate, relational_formula, quotation_explain, current_quote, registrant, confirm_no, confirm_name, confirm_time, audit_no, audit_name, audit_time, approve_no, approve_name, approve_time, standby_one, standby_two , first_add_time, update_info_time from sys_qutsourcing_quotation |
|||
</sql> |
|||
|
|||
<select id="selectSysQutsourcingQuotationList" parameterType="SysQutsourcingQuotation" resultMap="SysQutsourcingQuotationResult"> |
|||
<include refid="selectSysQutsourcingQuotationVo"/> |
|||
<where> |
|||
<if test="quotationCode != null and quotationCode != ''"> and quotation_code = #{quotationCode}</if> |
|||
<if test="materialCode != null and materialCode != ''"> and material_code = #{materialCode}</if> |
|||
<if test="materialName != null and materialName != ''"> and material_name like concat('%', #{materialName}, '%')</if> |
|||
<if test="converterName != null and converterName != ''"> and converter_name like concat('%', #{converterName}, '%')</if> |
|||
<if test="confirmNo != null and confirmNo != ''"> and confirm_no = #{confirmNo}</if> |
|||
<if test="auditNo != null and auditNo != ''"> and audit_no = #{auditNo}</if> |
|||
<if test="approveNo != null and approveNo != ''"> and approve_no = #{approveNo}</if> |
|||
</where> |
|||
</select> |
|||
|
|||
<select id="selectSysQutsourcingQuotationById" parameterType="Long" resultMap="SysQutsourcingQuotationResult"> |
|||
<include refid="selectSysQutsourcingQuotationVo"/> |
|||
where qutsourcing_quotation_id = #{qutsourcingQuotationId} |
|||
</select> |
|||
|
|||
<insert id="insertSysQutsourcingQuotation" parameterType="SysQutsourcingQuotation" useGeneratedKeys="true" keyProperty="qutsourcingQuotationId"> |
|||
insert into sys_qutsourcing_quotation |
|||
<trim prefix="(" suffix=")" suffixOverrides=","> |
|||
<if test="quotationCode != null">quotation_code,</if> |
|||
<if test="materialCode != null">material_code,</if> |
|||
<if test="materialName != null">material_name,</if> |
|||
<if test="specificationModel != null">specification_model,</if> |
|||
<if test="typeMachine != null">type_machine,</if> |
|||
<if test="measurementUnit != null">measurement_unit,</if> |
|||
<if test="commonCurrency != null">common_currency,</if> |
|||
<if test="processPrice != null">process_price,</if> |
|||
<if test="processingProcedureName != null">processing_procedure_name,</if> |
|||
<if test="processingProcedureCode != null">processing_procedure_code,</if> |
|||
<if test="converterCode != null">converter_code,</if> |
|||
<if test="converterName != null">converter_name,</if> |
|||
<if test="pricingDate != null">pricing_date,</if> |
|||
<if test="inventoryUnit != null">inventory_unit,</if> |
|||
<if test="taxRate != null">tax_rate,</if> |
|||
<if test="relationalFormula != null">relational_formula,</if> |
|||
<if test="quotationExplain != null">quotation_explain,</if> |
|||
<if test="currentQuote != null">current_quote,</if> |
|||
<if test="registrant != null">registrant,</if> |
|||
<if test="confirmNo != null">confirm_no,</if> |
|||
<if test="confirmName != null">confirm_name,</if> |
|||
<if test="confirmTime != null">confirm_time,</if> |
|||
<if test="auditNo != null">audit_no,</if> |
|||
<if test="auditName != null">audit_name,</if> |
|||
<if test="auditTime != null">audit_time,</if> |
|||
<if test="approveNo != null">approve_no,</if> |
|||
<if test="approveName != null">approve_name,</if> |
|||
<if test="approveTime != null">approve_time,</if> |
|||
<if test="standbyOne != null">standby_one,</if> |
|||
<if test="standbyTwo != null">standby_two,</if> |
|||
first_add_time, |
|||
</trim> |
|||
<trim prefix="values (" suffix=")" suffixOverrides=","> |
|||
<if test="quotationCode != null">#{quotationCode},</if> |
|||
<if test="materialCode != null">#{materialCode},</if> |
|||
<if test="materialName != null">#{materialName},</if> |
|||
<if test="specificationModel != null">#{specificationModel},</if> |
|||
<if test="typeMachine != null">#{typeMachine},</if> |
|||
<if test="measurementUnit != null">#{measurementUnit},</if> |
|||
<if test="commonCurrency != null">#{commonCurrency},</if> |
|||
<if test="processPrice != null">#{processPrice},</if> |
|||
<if test="processingProcedureName != null">#{processingProcedureName},</if> |
|||
<if test="processingProcedureCode != null">#{processingProcedureCode},</if> |
|||
<if test="converterCode != null">#{converterCode},</if> |
|||
<if test="converterName != null">#{converterName},</if> |
|||
<if test="pricingDate != null">#{pricingDate},</if> |
|||
<if test="inventoryUnit != null">#{inventoryUnit},</if> |
|||
<if test="taxRate != null">#{taxRate},</if> |
|||
<if test="relationalFormula != null">#{relationalFormula},</if> |
|||
<if test="quotationExplain != null">#{quotationExplain},</if> |
|||
<if test="currentQuote != null">#{currentQuote},</if> |
|||
<if test="registrant != null">#{registrant},</if> |
|||
<if test="confirmNo != null">#{confirmNo},</if> |
|||
<if test="confirmName != null">#{confirmName},</if> |
|||
<if test="confirmTime != null">#{confirmTime},</if> |
|||
<if test="auditNo != null">#{auditNo},</if> |
|||
<if test="auditName != null">#{auditName},</if> |
|||
<if test="auditTime != null">#{auditTime},</if> |
|||
<if test="approveNo != null">#{approveNo},</if> |
|||
<if test="approveName != null">#{approveName},</if> |
|||
<if test="approveTime != null">#{approveTime},</if> |
|||
<if test="standbyOne != null">#{standbyOne},</if> |
|||
<if test="standbyTwo != null">#{standbyTwo},</if> |
|||
now(), |
|||
</trim> |
|||
</insert> |
|||
|
|||
<update id="updateSysQutsourcingQuotation" parameterType="SysQutsourcingQuotation"> |
|||
update sys_qutsourcing_quotation |
|||
<trim prefix="SET" suffixOverrides=","> |
|||
<if test="quotationCode != null">quotation_code = #{quotationCode},</if> |
|||
<if test="materialCode != null">material_code = #{materialCode},</if> |
|||
<if test="materialName != null">material_name = #{materialName},</if> |
|||
<if test="specificationModel != null">specification_model = #{specificationModel},</if> |
|||
<if test="typeMachine != null">type_machine = #{typeMachine},</if> |
|||
<if test="measurementUnit != null">measurement_unit = #{measurementUnit},</if> |
|||
<if test="commonCurrency != null">common_currency = #{commonCurrency},</if> |
|||
<if test="processPrice != null">process_price = #{processPrice},</if> |
|||
<if test="processingProcedureName != null">processing_procedure_name = #{processingProcedureName},</if> |
|||
<if test="processingProcedureCode != null">processing_procedure_code = #{processingProcedureCode},</if> |
|||
<if test="converterCode != null">converter_code = #{converterCode},</if> |
|||
<if test="converterName != null">converter_name = #{converterName},</if> |
|||
<if test="pricingDate != null">pricing_date = #{pricingDate},</if> |
|||
<if test="inventoryUnit != null">inventory_unit = #{inventoryUnit},</if> |
|||
<if test="taxRate != null">tax_rate = #{taxRate},</if> |
|||
<if test="relationalFormula != null">relational_formula = #{relationalFormula},</if> |
|||
<if test="quotationExplain != null">quotation_explain = #{quotationExplain},</if> |
|||
<if test="currentQuote != null">current_quote = #{currentQuote},</if> |
|||
<if test="registrant != null">registrant = #{registrant},</if> |
|||
<if test="confirmNo != null">confirm_no = #{confirmNo},</if> |
|||
<if test="confirmName != null">confirm_name = #{confirmName},</if> |
|||
<if test="confirmTime != null">confirm_time = #{confirmTime},</if> |
|||
<if test="auditNo != null">audit_no = #{auditNo},</if> |
|||
<if test="auditName != null">audit_name = #{auditName},</if> |
|||
<if test="auditTime != null">audit_time = #{auditTime},</if> |
|||
<if test="approveNo != null">approve_no = #{approveNo},</if> |
|||
<if test="approveName != null">approve_name = #{approveName},</if> |
|||
<if test="approveTime != null">approve_time = #{approveTime},</if> |
|||
<if test="standbyOne != null">standby_one = #{standbyOne},</if> |
|||
<if test="standbyTwo != null">standby_two = #{standbyTwo},</if> |
|||
update_info_time = CONCAT_WS(',',NOW(),update_info_time), |
|||
</trim> |
|||
where qutsourcing_quotation_id = #{qutsourcingQuotationId} |
|||
</update> |
|||
|
|||
<delete id="deleteSysQutsourcingQuotationById" parameterType="Long"> |
|||
delete from sys_qutsourcing_quotation where qutsourcing_quotation_id = #{qutsourcingQuotationId} |
|||
</delete> |
|||
|
|||
<delete id="deleteSysQutsourcingQuotationByIds" parameterType="String"> |
|||
delete from sys_qutsourcing_quotation where qutsourcing_quotation_id in |
|||
<foreach item="qutsourcingQuotationId" collection="array" open="(" separator="," close=")"> |
|||
#{qutsourcingQuotationId} |
|||
</foreach> |
|||
</delete> |
|||
|
|||
</mapper> |
@ -1,90 +0,0 @@ |
|||
<!DOCTYPE html> |
|||
<html lang="zh" xmlns:th="http://www.thymeleaf.org" > |
|||
<head> |
|||
<th:block th:include="include :: header('新增图纸资料')" /> |
|||
<th:block th:include="include :: bootstrap-fileinput-css"/> |
|||
</head> |
|||
<style> |
|||
.m{ |
|||
display: block; |
|||
} |
|||
.m .form-group{ |
|||
width: 100%; |
|||
} |
|||
.col-sm-3 { |
|||
width: 20%; |
|||
} |
|||
</style> |
|||
<body class="white-bg"> |
|||
<div class="wrapper wrapper-content animated fadeInRight ibox-content"> |
|||
<form class="form-horizontal m" id="form-drawing-add"> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">图纸编码:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="drawingCode" class="form-control" type="text"> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">图纸类别:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="drawingMaterialCategory" class="form-control" type="text"> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">备注:</label> |
|||
<div class="col-sm-8"> |
|||
<textarea name="drawingRemarks" class="form-control"></textarea> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">上传人:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="uploadPerson" class="form-control" type="text"> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">图纸上传:</label> |
|||
<div class="col-sm-8"> |
|||
<input type="hidden" name="drawingUpload"> |
|||
<div class="file-loading"> |
|||
<input class="form-control file-upload" id="drawingUpload" name="file" type="file"> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</form> |
|||
</div> |
|||
<th:block th:include="include :: footer" /> |
|||
<th:block th:include="include :: bootstrap-fileinput-js"/> |
|||
<script th:inline="javascript"> |
|||
var prefix = ctx + "system/drawing" |
|||
$("#form-drawing-add").validate({ |
|||
focusCleanup: true |
|||
}); |
|||
|
|||
function submitHandler() { |
|||
if ($.validate.form()) { |
|||
$.operate.save(prefix + "/add", $('#form-drawing-add').serialize()); |
|||
} |
|||
} |
|||
|
|||
let userName = [[${@permission.getPrincipalProperty('userName')}]]; |
|||
$("#form-drawing-add input[name='uploadPerson']").val(userName) |
|||
|
|||
$(".file-upload").fileinput({ |
|||
uploadUrl: prefix + '/upload', |
|||
maxFileCount: 1, |
|||
autoReplace: true, |
|||
overwriteInitial: false, |
|||
initialPreviewAsData: true, |
|||
}).on('fileuploaded', function (event, data, previewId, index) { |
|||
// console.log(event.currentTarget.id) |
|||
$("input[name='" + event.currentTarget.id + "']").val(data.response.url) |
|||
}).on('fileremoved', function (event, id, index) { |
|||
$("input[name='" + event.currentTarget.id + "']").val('') |
|||
}) |
|||
|
|||
|
|||
</script> |
|||
|
|||
</body> |
|||
</html> |
@ -1,128 +0,0 @@ |
|||
<!DOCTYPE html> |
|||
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro"> |
|||
<head> |
|||
<th:block th:include="include :: header('图纸资料列表')" /> |
|||
</head> |
|||
<body class="gray-bg"> |
|||
<div class="container-div"> |
|||
<div class="row"> |
|||
<div class="col-sm-12 search-collapse"> |
|||
<form id="formId"> |
|||
<div class="select-list"> |
|||
<ul> |
|||
<li> |
|||
<label>图纸编码:</label> |
|||
<input type="text" name="drawingCode"/> |
|||
</li> |
|||
<li> |
|||
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i> 搜索</a> |
|||
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i> 重置</a> |
|||
</li> |
|||
</ul> |
|||
</div> |
|||
</form> |
|||
</div> |
|||
|
|||
<div class="btn-group-sm" id="toolbar" role="group"> |
|||
<a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="system:drawing:add"> |
|||
<i class="fa fa-plus"></i> 添加 |
|||
</a> |
|||
<a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="system:drawing:edit"> |
|||
<i class="fa fa-edit"></i> 修改 |
|||
</a> |
|||
<a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="system:drawing:remove"> |
|||
<i class="fa fa-remove"></i> 删除 |
|||
</a> |
|||
<!-- <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="system:drawing:export">--> |
|||
<!-- <i class="fa fa-download"></i> 导出--> |
|||
<!-- </a>--> |
|||
</div> |
|||
<div class="col-sm-12 select-table table-striped"> |
|||
<table id="bootstrap-table" style="white-space:nowrap"></table> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<th:block th:include="include :: footer" /> |
|||
<script th:inline="javascript"> |
|||
var editFlag = [[${@permission.hasPermi('system:drawing:edit')}]]; |
|||
var removeFlag = [[${@permission.hasPermi('system:drawing:remove')}]]; |
|||
var prefix = ctx + "system/drawing"; |
|||
|
|||
$(function() { |
|||
var options = { |
|||
url: prefix + "/list", |
|||
createUrl: prefix + "/add", |
|||
updateUrl: prefix + "/edit/{id}", |
|||
removeUrl: prefix + "/remove", |
|||
exportUrl: prefix + "/export", |
|||
clickToSelect: true, |
|||
modalName: "图纸资料", |
|||
columns: [{ |
|||
checkbox: true |
|||
}, |
|||
{ |
|||
field: 'drawingId', |
|||
title: '图纸id', |
|||
visible: false |
|||
}, |
|||
{ |
|||
field: 'drawingCode', |
|||
title: '图纸编码' |
|||
}, |
|||
{ |
|||
field: 'drawingMaterialCategory', |
|||
title: '图纸类别' |
|||
}, |
|||
{ |
|||
field: 'drawingRemarks', |
|||
title: '备注' |
|||
}, |
|||
{ |
|||
field: 'drawingUpload', |
|||
title: '图纸上传', |
|||
formatter: function(value, row, index) { |
|||
var filepath = value.substring(value.lastIndexOf("/")+1) |
|||
var actions = []; |
|||
actions.push('<a href="javascript:void(0)" onclick="downloadFile(\'' + value + '\')">'+filepath+'</a> '); |
|||
return actions.join(''); |
|||
} |
|||
}, |
|||
{ |
|||
field: 'uploadPerson', |
|||
title: '上传人' |
|||
}, |
|||
{ |
|||
field: 'firstAddTime', |
|||
title: '录入时间', |
|||
formatter: function (value, row, index) { |
|||
if (value == null) { |
|||
return " "; |
|||
} else { |
|||
return value; |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
field: 'updateInfoTime', |
|||
title: '上次修改时间', |
|||
formatter: function (value, row, index) { |
|||
if (value == null) { |
|||
return " "; |
|||
} else { |
|||
var vArr = value.split(',') |
|||
return vArr[0]; |
|||
} |
|||
} |
|||
}] |
|||
}; |
|||
$.table.init(options); |
|||
}); |
|||
|
|||
|
|||
/*下载*/ |
|||
function downloadFile(filepath) { |
|||
window.location.href =prefix + "/downloadFile?filepath="+ filepath; |
|||
} |
|||
</script> |
|||
</body> |
|||
</html> |
@ -1,89 +0,0 @@ |
|||
<!DOCTYPE html> |
|||
<html lang="zh" xmlns:th="http://www.thymeleaf.org" > |
|||
<head> |
|||
<th:block th:include="include :: header('修改图纸资料')" /> |
|||
<th:block th:include="include :: bootstrap-fileinput-css"/> |
|||
</head> |
|||
<style> |
|||
.m{ |
|||
display: block; |
|||
} |
|||
.m .form-group{ |
|||
width: 100%; |
|||
} |
|||
.col-sm-3 { |
|||
width: 20%; |
|||
} |
|||
</style> |
|||
<body class="white-bg"> |
|||
<div class="wrapper wrapper-content animated fadeInRight ibox-content"> |
|||
<form class="form-horizontal m" id="form-drawing-edit" th:object="${sysDrawing}"> |
|||
<input name="drawingId" th:field="*{drawingId}" type="hidden"> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">图纸编码:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="drawingCode" th:field="*{drawingCode}" class="form-control" type="text"> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">图纸类别:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="drawingMaterialCategory" th:field="*{drawingMaterialCategory}" class="form-control" type="text"> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">备注:</label> |
|||
<div class="col-sm-8"> |
|||
<textarea name="drawingRemarks" class="form-control">[[*{drawingRemarks}]]</textarea> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">上传人:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="uploadPerson" th:field="*{uploadPerson}" class="form-control" type="text"> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">图纸上传:</label> |
|||
<div class="col-sm-8"> |
|||
<input type="hidden" name="drawingUpload" th:field="*{drawingUpload}"> |
|||
<div class="file-loading"> |
|||
<input class="form-control file-upload" id="drawingUpload" name="file" type="file"> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</form> |
|||
</div> |
|||
<th:block th:include="include :: footer" /> |
|||
<th:block th:include="include :: bootstrap-fileinput-js"/> |
|||
<script th:inline="javascript"> |
|||
var prefix = ctx + "system/drawing"; |
|||
$("#form-drawing-edit").validate({ |
|||
focusCleanup: true |
|||
}); |
|||
|
|||
function submitHandler() { |
|||
if ($.validate.form()) { |
|||
$.operate.save(prefix + "/edit", $('#form-drawing-edit').serialize()); |
|||
} |
|||
} |
|||
|
|||
$(".file-upload").each(function (i) { |
|||
var val = $("input[name='" + this.id + "']").val() |
|||
$(this).fileinput({ |
|||
'uploadUrl': prefix + '/upload', |
|||
initialPreviewAsData: true, |
|||
initialPreview: [val], |
|||
maxFileCount: 1, |
|||
autoReplace: true, |
|||
showPreview: true, |
|||
}).on('fileuploaded', function (event, data, previewId, index) { |
|||
$("input[name='" + event.currentTarget.id + "']").val(data.response.url) |
|||
}).on('fileremoved', function (event, id, index) { |
|||
$("input[name='" + event.currentTarget.id + "']").val('') |
|||
}) |
|||
$(this).fileinput('_initFileActions'); |
|||
}); |
|||
</script> |
|||
</body> |
|||
</html> |
@ -1,451 +0,0 @@ |
|||
<!DOCTYPE html> |
|||
<html lang="zh" xmlns:th="http://www.thymeleaf.org" > |
|||
<head> |
|||
<th:block th:include="include :: header('新增产品报价')" /> |
|||
<th:block th:include="include :: datetimepicker-css" /> |
|||
<link th:href="@{/ajax/libs/select2/select2.css}" rel="stylesheet"> |
|||
<link th:href="@{/ajax/libs/select2/select2-bootstrap.css}" rel="stylesheet"> |
|||
<th:block th:include="include :: bootstrap-fileinput-css"/> |
|||
</head> |
|||
<style> |
|||
.division { |
|||
width: 100%; |
|||
border-bottom: 1px solid #f1ecec; |
|||
padding: 10px 0 0; |
|||
margin-bottom: 30px; |
|||
|
|||
|
|||
} |
|||
.changeWidth{ |
|||
width: 33% !important; |
|||
} |
|||
.col-sm-3 { |
|||
width: 26%; |
|||
} |
|||
</style> |
|||
<body class="white-bg"> |
|||
<div class="wrapper wrapper-content animated fadeInRight ibox-content"> |
|||
<form class="form-horizontal m" id="form-productquotation-add"> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label is-required">报价编码:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="quotationCode" class="form-control" type="text" required readonly> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label is-required">成品代码:</label> |
|||
<div class="col-sm-8"> |
|||
<select name="finishProductCode" class="form-control m-b" required> |
|||
<option value="">所有</option> |
|||
</select> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">成品名称:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="finishProductName" class="form-control" type="text" readonly> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">规格型号:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="specificationModel" class="form-control" type="text" readonly> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">机种:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="typeMachine" class="form-control" type="text" readonly> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">单位:</label> |
|||
<div class="col-sm-8"> |
|||
<select name="inventoryUnit" class="form-control m-b" th:with="type=${@dict.getType('sys_unit_class')}"> |
|||
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option> |
|||
</select> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">币别:</label> |
|||
<div class="col-sm-8"> |
|||
<select name="commonCurrency" class="form-control m-b" th:with="type=${@dict.getType('sys_common_currency')}"> |
|||
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option> |
|||
</select> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">单价:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="processPrice" class="form-control" type="text"> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">客户料号:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="customerNumber" class="form-control" type="text" readonly> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">客户编号:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="enterpriseCode" class="form-control" type="text" readonly> |
|||
|
|||
<!-- <select name="enterpriseCode" class="form-control m-b">--> |
|||
<!-- <option value="">所有</option>--> |
|||
<!-- </select>--> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">客户名称:</label> |
|||
<div class="col-sm-8"> |
|||
<!-- <select name="enterpriseName" class="form-control m-b">--> |
|||
<!-- <option value="">所有</option>--> |
|||
<!-- </select>--> |
|||
<input name="enterpriseName" class="form-control" type="text" readonly> |
|||
|
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">登记人:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="registrant" class="form-control" type="text"> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">订价日期:</label> |
|||
<div class="col-sm-8"> |
|||
<div class="input-group date"> |
|||
<input name="pricingDate" class="form-control" placeholder="yyyy-MM-dd" type="text"> |
|||
<span class="input-group-addon"><i class="fa fa-calendar"></i></span> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">税率:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="taxRate" class="form-control" type="text"> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">不含税价:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="priceExcludingTax" class="form-control" type="text"> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">含税价:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="priceIncludingTax" class="form-control" type="text"> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">上次价格:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="lastPrice" class="form-control" type="text"> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">上次价格2:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="lastPriceEnd" class="form-control" type="text"> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">当前材料成本RMB:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="costRmb" class="form-control" type="text"> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">当前汇率:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="currentExchangeRate" class="form-control" type="text"> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">材料占比:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="proportionMaterials" class="form-control" type="text"> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">备注说明:</label> |
|||
<div class="col-sm-8"> |
|||
<textarea name="quotationExplain" class="form-control"></textarea> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">是否为当前报价:</label> |
|||
<div class="col-sm-8"> |
|||
<select name="currentQuote" class="form-control m-b" th:with="type=${@dict.getType('sys_whether')}"> |
|||
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option> |
|||
</select> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">是否含税:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="confirmTax" class="form-control" type="text"> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">文件存储:</label> |
|||
<div class="col-sm-8"> |
|||
<input type="hidden" name="fileUpload"> |
|||
<div class="file-loading"> |
|||
<input class="form-control file-upload" id="fileUpload" name="file" type="file"> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<!--<div class="division"> |
|||
<h4>确认</h4> |
|||
</div> |
|||
|
|||
<div class="form-group changeWidth" > |
|||
<label class="col-sm-3 control-label">确认否:</label> |
|||
<div class="col-sm-8"> |
|||
<select name="confirmNo" class="form-control m-b" th:with="type=${@dict.getType('sys_whether')}"> |
|||
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option> |
|||
</select> |
|||
</div> |
|||
</div> |
|||
<div class="form-group changeWidth"> |
|||
<label class="col-sm-3 control-label">确认人:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="confirmName" class="form-control" type="text"> |
|||
</div> |
|||
</div> |
|||
<div class="form-group changeWidth"> |
|||
<label class="col-sm-3 control-label">确认时间:</label> |
|||
<div class="col-sm-8"> |
|||
<div class="input-group date"> |
|||
<input name="confirmTime" class="form-control" placeholder="yyyy-MM-dd HH:mm:ss" type="text"> |
|||
<span class="input-group-addon"><i class="fa fa-calendar"></i></span> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="division"> |
|||
<h4>审核</h4> |
|||
</div> |
|||
<div class="form-group changeWidth"> |
|||
<label class="col-sm-3 control-label">审核否:</label> |
|||
<div class="col-sm-8"> |
|||
<select name="auditNo" class="form-control m-b" th:with="type=${@dict.getType('sys_whether')}"> |
|||
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option> |
|||
</select> |
|||
</div> |
|||
</div> |
|||
<div class="form-group changeWidth"> |
|||
<label class="col-sm-3 control-label">审核人:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="auditName" class="form-control" type="text"> |
|||
</div> |
|||
</div> |
|||
<div class="form-group changeWidth"> |
|||
<label class="col-sm-3 control-label">审核时间:</label> |
|||
<div class="col-sm-8"> |
|||
<div class="input-group date"> |
|||
<input name="auditTime" class="form-control" placeholder="yyyy-MM-dd HH:mm:ss" type="text"> |
|||
<span class="input-group-addon"><i class="fa fa-calendar"></i></span> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="division"> |
|||
<h4>核准</h4> |
|||
</div> |
|||
<div class="form-group changeWidth"> |
|||
<label class="col-sm-3 control-label">核准否:</label> |
|||
<div class="col-sm-8"> |
|||
<select name="approveNo" class="form-control m-b" th:with="type=${@dict.getType('sys_whether')}"> |
|||
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option> |
|||
</select> |
|||
</div> |
|||
</div> |
|||
|
|||
|
|||
<div class="form-group changeWidth"> |
|||
<label class="col-sm-3 control-label">核准人:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="approveName" class="form-control" type="text"> |
|||
</div> |
|||
</div> |
|||
<div class="form-group changeWidth"> |
|||
<label class="col-sm-3 control-label">核准时间:</label> |
|||
<div class="col-sm-8"> |
|||
<div class="input-group date"> |
|||
<input name="approveTime" class="form-control" placeholder="yyyy-MM-dd HH:mm:ss" type="text"> |
|||
<span class="input-group-addon"><i class="fa fa-calendar"></i></span> |
|||
</div> |
|||
</div> |
|||
</div>--> |
|||
<!-- <div class="form-group"> --> |
|||
<!-- <label class="col-sm-3 control-label">备用一:</label>--> |
|||
<!-- <div class="col-sm-8">--> |
|||
<!-- <input name="standbyOne" class="form-control" type="text">--> |
|||
<!-- </div>--> |
|||
<!-- </div>--> |
|||
<!-- <div class="form-group"> --> |
|||
<!-- <label class="col-sm-3 control-label">备用二:</label>--> |
|||
<!-- <div class="col-sm-8">--> |
|||
<!-- <input name="standbyTwo" class="form-control" type="text">--> |
|||
<!-- </div>--> |
|||
<!-- </div>--> |
|||
</form> |
|||
</div> |
|||
<th:block th:include="include :: footer" /> |
|||
<th:block th:include="include :: select2-js"/> |
|||
<th:block th:include="include :: bootstrap-fileinput-js"/> |
|||
<th:block th:include="include :: datetimepicker-js" /> |
|||
<script th:inline="javascript"> |
|||
var prefix = ctx + "system/productquotation" |
|||
$("#form-productquotation-add").validate({ |
|||
focusCleanup: true |
|||
}); |
|||
|
|||
function submitHandler() { |
|||
if ($.validate.form()) { |
|||
$.operate.save(prefix + "/add", $('#form-productquotation-add').serialize()); |
|||
} |
|||
} |
|||
$(".file-upload").fileinput({ |
|||
uploadUrl: prefix + '/upload', |
|||
maxFileCount: 1, |
|||
autoReplace: true, |
|||
overwriteInitial: false, |
|||
initialPreviewAsData: true, |
|||
}).on('fileuploaded', function (event, data, previewId, index) { |
|||
// console.log(event.currentTarget.id) |
|||
$("input[name='" + event.currentTarget.id + "']").val(data.response.url) |
|||
}).on('fileremoved', function (event, id, index) { |
|||
$("input[name='" + event.currentTarget.id + "']").val('') |
|||
}) |
|||
|
|||
$("input[name='pricingDate']").datetimepicker({ |
|||
format: "yyyy-mm-dd", |
|||
minView: "month", |
|||
autoclose: true |
|||
}); |
|||
|
|||
$("input[name='confirmTime']").datetimepicker({ |
|||
format: 'yyyy-mm-dd hh:ii:ss', |
|||
autoclose: true, |
|||
minView: 0, |
|||
minuteStep:1 |
|||
}); |
|||
|
|||
$("input[name='auditTime']").datetimepicker({ |
|||
format: 'yyyy-mm-dd hh:ii:ss', |
|||
autoclose: true, |
|||
minView: 0, |
|||
minuteStep:1 |
|||
}); |
|||
|
|||
$("input[name='approveTime']").datetimepicker({ |
|||
format: 'yyyy-mm-dd hh:ii:ss', |
|||
autoclose: true, |
|||
minView: 0, |
|||
minuteStep:1 |
|||
}); |
|||
|
|||
// 自动获取当前时间 |
|||
$("input[name='pricingDate']").datetimepicker("setDate",new Date()); |
|||
|
|||
//获取单号 |
|||
$.ajax({ |
|||
url: prefix + "/getId", |
|||
type: "post", |
|||
dateType: "json", |
|||
success: function (resp) { |
|||
if (resp.code === 0) { |
|||
$("input[name='quotationCode']").val(resp.data); |
|||
} else { |
|||
$.modal.msgError("失败啦"); |
|||
} |
|||
}, |
|||
error: function () { |
|||
$.modal.msgError("后台出错啦!"); |
|||
} |
|||
}); |
|||
// 确认 |
|||
$("select[name='confirmNo']").change(function (){ |
|||
console.log($(this).val()) |
|||
if($(this).val()==1){ |
|||
$("input[name='confirmTime']").datetimepicker("setDate",new Date()); |
|||
|
|||
} |
|||
else { |
|||
$("input[name='confirmTime']").val('') |
|||
} |
|||
}) |
|||
// 审核 |
|||
$("select[name='auditNo']").change(function (){ |
|||
console.log($(this).val()) |
|||
if($(this).val()==1){ |
|||
$("input[name='auditTime']").datetimepicker("setDate",new Date()); |
|||
|
|||
} |
|||
else { |
|||
$("input[name='auditTime']").val('') |
|||
} |
|||
}) |
|||
// 核准 |
|||
$("select[name='approveNo']").change(function (){ |
|||
console.log($(this).val()) |
|||
if($(this).val()==1){ |
|||
$("input[name='approveTime']").datetimepicker("setDate",new Date()); |
|||
|
|||
} |
|||
else { |
|||
$("input[name='approveTime']").val('') |
|||
} |
|||
}) |
|||
|
|||
// 获取成品信息 |
|||
|
|||
$.ajax({ |
|||
url: ctx + "system/finishproduct/finishList", |
|||
type: "POST", |
|||
success: function (res) { |
|||
console.log(res) |
|||
if (res.length > 0) { |
|||
finishProductdata = res; |
|||
//alert(JSON.stringify(data)); |
|||
for (let i in finishProductdata) { |
|||
$("select[name='finishProductCode']").append("<option value='" + finishProductdata[i].finishProductCode + "'>" + finishProductdata[i].finishProductCode + "</option>"); |
|||
// $("select[name='enterpriseCode']").append("<option value='" + finishProductdata[i].enterpriseCode + "'>" + finishProductdata[i].enterpriseCode + "</option>"); |
|||
// $("select[name='enterpriseName']").append("<option value='" + finishProductdata[i].enterpriseName + "'>" + finishProductdata[i].enterpriseName + "</option>"); |
|||
|
|||
} |
|||
|
|||
} else { |
|||
$.modal.msgError(res.msg); |
|||
} |
|||
}, |
|||
error: function () { |
|||
$.modal.msgError("后台出错啦!"); |
|||
|
|||
} |
|||
|
|||
}) |
|||
// 成品改变 |
|||
$("select[name='finishProductCode']").change(function () { |
|||
|
|||
var finishProductCode = $(this).val(); |
|||
|
|||
for (i = 0; i < finishProductdata.length; i++) { |
|||
if (finishProductdata[i].finishProductCode === finishProductCode) { |
|||
$("input[name='finishProductName']").val(finishProductdata[i].finishProductName) |
|||
$("input[name='specificationModel']").val(finishProductdata[i].specificationModel) |
|||
$("input[name='typeMachine']").val(finishProductdata[i].typeMachine) |
|||
$("select[name='inventoryUnit']").val(finishProductdata[i].inventoryUnit).trigger("change") |
|||
$("input[name='customerNumber']").val(finishProductdata[i].customerNumber) |
|||
$("input[name='enterpriseCode']").val(finishProductdata[i].enterpriseCode) |
|||
$("input[name='enterpriseName']").val(finishProductdata[i].enterpriseName) |
|||
|
|||
} |
|||
} |
|||
}) |
|||
</script> |
|||
</body> |
|||
</html> |
@ -1,439 +0,0 @@ |
|||
<!DOCTYPE html> |
|||
<html lang="zh" xmlns:th="http://www.thymeleaf.org" > |
|||
<head> |
|||
<th:block th:include="include :: header('修改产品报价')" /> |
|||
<th:block th:include="include :: datetimepicker-css" /> |
|||
<link th:href="@{/ajax/libs/select2/select2.css}" rel="stylesheet"> |
|||
<link th:href="@{/ajax/libs/select2/select2-bootstrap.css}" rel="stylesheet"> |
|||
<th:block th:include="include :: bootstrap-fileinput-css"/> |
|||
</head> |
|||
<style> |
|||
.division { |
|||
width: 100%; |
|||
border-bottom: 1px solid #f1ecec; |
|||
padding: 10px 0 0; |
|||
margin-bottom: 30px; |
|||
} |
|||
.changeWidth{ |
|||
width: 33% !important; |
|||
} |
|||
.col-sm-3 { |
|||
width: 26%; |
|||
} |
|||
</style> |
|||
<body class="white-bg"> |
|||
<div class="wrapper wrapper-content animated fadeInRight ibox-content"> |
|||
<form class="form-horizontal m" id="form-productquotation-edit" th:object="${sysProductQuotation}"> |
|||
<input name="productQuotationId" th:field="*{productQuotationId}" type="hidden"> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">报价编码:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="quotationCode" th:field="*{quotationCode}" class="form-control" type="text" readonly> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">成品代码:</label> |
|||
<div class="col-sm-8"> |
|||
<select name="finishProductCode" class="form-control m-b"> |
|||
<option value="">所有</option> |
|||
</select> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">成品名称:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="finishProductName" th:field="*{finishProductName}" class="form-control" type="text" readonly> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">规格型号:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="specificationModel" th:field="*{specificationModel}" class="form-control" type="text" readonly> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">机种:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="typeMachine" th:field="*{typeMachine}" class="form-control" type="text" readonly> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">单位:</label> |
|||
<div class="col-sm-8"> |
|||
<select name="inventoryUnit" class="form-control m-b" th:with="type=${@dict.getType('sys_unit_class')}"> |
|||
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{inventoryUnit}"></option> |
|||
</select> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">币别:</label> |
|||
<div class="col-sm-8"> |
|||
<select name="commonCurrency" class="form-control m-b" th:with="type=${@dict.getType('sys_common_currency')}"> |
|||
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{commonCurrency}"></option> |
|||
</select> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">单价:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="processPrice" th:field="*{processPrice}" class="form-control" type="text"> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">客户料号:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="customerNumber" th:field="*{customerNumber}" class="form-control" type="text" readonly> |
|||
|
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">客户编号:</label> |
|||
<div class="col-sm-8"> |
|||
<!-- <select name="enterpriseCode" class="form-control m-b">--> |
|||
<!-- <option value="">所有</option>--> |
|||
<!-- </select>--> |
|||
<input name="enterpriseCode" th:field="*{enterpriseCode}" class="form-control" type="text" readonly> |
|||
|
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">客户名称:</label> |
|||
<div class="col-sm-8"> |
|||
<!-- <select name="enterpriseName" class="form-control m-b">--> |
|||
<!-- <option value="">所有</option>--> |
|||
<!-- </select>--> |
|||
|
|||
<input name="enterpriseName" th:field="*{enterpriseName}" class="form-control" type="text" readonly> |
|||
|
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">登记人:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="registrant" th:field="*{registrant}" class="form-control" type="text"> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">订价日期:</label> |
|||
<div class="col-sm-8"> |
|||
<div class="input-group date"> |
|||
<input name="pricingDate" th:value="*{pricingDate}" class="form-control" placeholder="yyyy-MM-dd" type="text"> |
|||
<span class="input-group-addon"><i class="fa fa-calendar"></i></span> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">税率:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="taxRate" th:field="*{taxRate}" class="form-control" type="text"> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">不含税价:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="priceExcludingTax" th:field="*{priceExcludingTax}" class="form-control" type="text"> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">含税价:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="priceIncludingTax" th:field="*{priceIncludingTax}" class="form-control" type="text"> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">上次价格:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="lastPrice" th:field="*{lastPrice}" class="form-control" type="text"> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">上次价格2:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="lastPriceEnd" th:field="*{lastPriceEnd}" class="form-control" type="text"> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">当前材料成本RMB:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="costRmb" th:field="*{costRmb}" class="form-control" type="text"> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">当前汇率:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="currentExchangeRate" th:field="*{currentExchangeRate}" class="form-control" type="text"> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">材料占比:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="proportionMaterials" th:field="*{proportionMaterials}" class="form-control" type="text"> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">备注说明:</label> |
|||
<div class="col-sm-8"> |
|||
<textarea name="quotationExplain" class="form-control">[[*{quotationExplain}]]</textarea> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">是否为当前报价:</label> |
|||
<div class="col-sm-8"> |
|||
<select name="currentQuote" class="form-control m-b" th:with="type=${@dict.getType('sys_whether')}"> |
|||
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{currentQuote}"></option> |
|||
</select> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">是否含税:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="confirmTax" th:field="*{confirmTax}" class="form-control" type="text"> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">文件存储:</label> |
|||
<div class="col-sm-8"> |
|||
<input type="hidden" name="fileUpload" th:field="*{fileUpload}"> |
|||
<div class="file-loading"> |
|||
<input class="form-control file-upload" id="fileUpload" name="file" type="file"> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<!--<div class="division"> |
|||
<h4>确认</h4> |
|||
</div> |
|||
<div class="form-group changeWidth"> |
|||
<label class="col-sm-3 control-label">确认否:</label> |
|||
<div class="col-sm-8"> |
|||
<select name="confirmNo" class="form-control m-b" th:with="type=${@dict.getType('sys_whether')}"> |
|||
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{confirmNo}"></option> |
|||
</select> |
|||
</div> |
|||
</div> |
|||
<div class="form-group changeWidth"> |
|||
<label class="col-sm-3 control-label">确认人:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="confirmName" th:field="*{confirmName}" class="form-control" type="text"> |
|||
</div> |
|||
</div> |
|||
<div class="form-group changeWidth"> |
|||
<label class="col-sm-3 control-label">确认时间:</label> |
|||
<div class="col-sm-8"> |
|||
<div class="input-group date"> |
|||
<input name="confirmTime" th:value="*{confirmTime}" class="form-control" placeholder="yyyy-MM-dd HH:mm:ss" type="text"> |
|||
<span class="input-group-addon"><i class="fa fa-calendar"></i></span> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="division"> |
|||
<h4>审核</h4> |
|||
</div> |
|||
<div class="form-group changeWidth"> |
|||
<label class="col-sm-3 control-label">审核否:</label> |
|||
<div class="col-sm-8"> |
|||
<select name="auditNo" class="form-control m-b" th:with="type=${@dict.getType('sys_whether')}"> |
|||
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{auditNo}"></option> |
|||
</select> |
|||
</div> |
|||
</div> |
|||
<div class="form-group changeWidth"> |
|||
<label class="col-sm-3 control-label">审核人:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="auditName" th:field="*{auditName}" class="form-control" type="text"> |
|||
</div> |
|||
</div> |
|||
<div class="form-group changeWidth"> |
|||
<label class="col-sm-3 control-label">审核时间:</label> |
|||
<div class="col-sm-8"> |
|||
<div class="input-group date"> |
|||
<input name="auditTime" th:value="*{auditTime}" class="form-control" placeholder="yyyy-MM-dd HH:mm:ss" type="text"> |
|||
<span class="input-group-addon"><i class="fa fa-calendar"></i></span> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="division"> |
|||
<h4>核准</h4> |
|||
</div> |
|||
|
|||
<div class="form-group changeWidth"> |
|||
<label class="col-sm-3 control-label">核准否:</label> |
|||
<div class="col-sm-8"> |
|||
<select name="approveNo" class="form-control m-b" th:with="type=${@dict.getType('sys_whether')}"> |
|||
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{approveNo}"></option> |
|||
</select> |
|||
</div> |
|||
</div> |
|||
<div class="form-group changeWidth"> |
|||
<label class="col-sm-3 control-label">核准人:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="approveName" th:field="*{approveName}" class="form-control" type="text"> |
|||
</div> |
|||
</div> |
|||
<div class="form-group changeWidth"> |
|||
<label class="col-sm-3 control-label">核准时间:</label> |
|||
<div class="col-sm-8"> |
|||
<div class="input-group date"> |
|||
<input name="approveTime" th:value="*{approveTime}" class="form-control" placeholder="yyyy-MM-dd HH:mm:ss" type="text"> |
|||
<span class="input-group-addon"><i class="fa fa-calendar"></i></span> |
|||
</div> |
|||
</div> |
|||
</div>--> |
|||
<!-- <div class="form-group"> --> |
|||
<!-- <label class="col-sm-3 control-label">备用一:</label>--> |
|||
<!-- <div class="col-sm-8">--> |
|||
<!-- <input name="standbyOne" th:field="*{standbyOne}" class="form-control" type="text">--> |
|||
<!-- </div>--> |
|||
<!-- </div>--> |
|||
<!-- <div class="form-group"> --> |
|||
<!-- <label class="col-sm-3 control-label">备用二:</label>--> |
|||
<!-- <div class="col-sm-8">--> |
|||
<!-- <input name="standbyTwo" th:field="*{standbyTwo}" class="form-control" type="text">--> |
|||
<!-- </div>--> |
|||
<!-- </div>--> |
|||
</form> |
|||
</div> |
|||
<th:block th:include="include :: footer" /> |
|||
<th:block th:include="include :: datetimepicker-js" /> |
|||
<th:block th:include="include :: bootstrap-fileinput-js"/> |
|||
<th:block th:include="include :: select2-js"/> |
|||
|
|||
<script th:inline="javascript"> |
|||
var getData = [[${sysProductQuotation}]]; |
|||
|
|||
var prefix = ctx + "system/productquotation"; |
|||
$("#form-productquotation-edit").validate({ |
|||
focusCleanup: true |
|||
}); |
|||
|
|||
$(".file-upload").each(function (i) { |
|||
var val = $("input[name='" + this.id + "']").val() |
|||
$(this).fileinput({ |
|||
'uploadUrl': prefix + '/upload', |
|||
initialPreviewAsData: true, |
|||
initialPreview: [val], |
|||
maxFileCount: 1, |
|||
autoReplace: true, |
|||
showPreview: true, |
|||
}).on('fileuploaded', function (event, data, previewId, index) { |
|||
$("input[name='" + event.currentTarget.id + "']").val(data.response.url) |
|||
}).on('fileremoved', function (event, id, index) { |
|||
$("input[name='" + event.currentTarget.id + "']").val('') |
|||
}) |
|||
$(this).fileinput('_initFileActions'); |
|||
}); |
|||
|
|||
function submitHandler() { |
|||
if ($.validate.form()) { |
|||
$.operate.save(prefix + "/edit", $('#form-productquotation-edit').serialize()); |
|||
} |
|||
} |
|||
$("input[name='pricingDate']").datetimepicker({ |
|||
format: "yyyy-mm-dd", |
|||
minView: "month", |
|||
autoclose: true |
|||
}); |
|||
|
|||
$("input[name='confirmTime']").datetimepicker({ |
|||
format: 'yyyy-mm-dd hh:ii:ss', |
|||
autoclose: true, |
|||
minView: 0, |
|||
minuteStep:1 |
|||
}); |
|||
|
|||
$("input[name='auditTime']").datetimepicker({ |
|||
format: 'yyyy-mm-dd hh:ii:ss', |
|||
autoclose: true, |
|||
minView: 0, |
|||
minuteStep:1 |
|||
}); |
|||
|
|||
$("input[name='approveTime']").datetimepicker({ |
|||
format: 'yyyy-mm-dd hh:ii:ss', |
|||
autoclose: true, |
|||
minView: 0, |
|||
minuteStep:1 |
|||
}); |
|||
// 自动获取当前时间 |
|||
$("input[name='pricingDate']").datetimepicker("setDate",new Date()); |
|||
// 确认 |
|||
$("select[name='confirmNo']").change(function (){ |
|||
console.log($(this).val()) |
|||
if($(this).val()==1){ |
|||
$("input[name='confirmTime']").datetimepicker("setDate",new Date()); |
|||
|
|||
} |
|||
else { |
|||
$("input[name='confirmTime']").val('') |
|||
} |
|||
}) |
|||
// 审核 |
|||
$("select[name='auditNo']").change(function (){ |
|||
console.log($(this).val()) |
|||
if($(this).val()==1){ |
|||
$("input[name='auditTime']").datetimepicker("setDate",new Date()); |
|||
|
|||
} |
|||
else { |
|||
$("input[name='auditTime']").val('') |
|||
} |
|||
}) |
|||
// 核准 |
|||
$("select[name='approveNo']").change(function (){ |
|||
console.log($(this).val()) |
|||
if($(this).val()==1){ |
|||
$("input[name='approveTime']").datetimepicker("setDate",new Date()); |
|||
|
|||
} |
|||
else { |
|||
$("input[name='approveTime']").val('') |
|||
} |
|||
}) |
|||
|
|||
// 获取成品信息 |
|||
|
|||
$.ajax({ |
|||
url: ctx + "system/finishproduct/finishList", |
|||
type: "POST", |
|||
success: function (res) { |
|||
console.log(res) |
|||
if (res.length > 0) { |
|||
finishProductdata = res; |
|||
//alert(JSON.stringify(data)); |
|||
for (let i in finishProductdata) { |
|||
$("select[name='finishProductCode']").append("<option value='" + finishProductdata[i].finishProductCode + "'>" + finishProductdata[i].finishProductCode + "</option>"); |
|||
|
|||
} |
|||
$("select[name='finishProductCode']").val(getData.finishProductCode).trigger("change") |
|||
|
|||
|
|||
} else { |
|||
$.modal.msgError(res.msg); |
|||
} |
|||
}, |
|||
error: function () { |
|||
$.modal.msgError("后台出错啦!"); |
|||
|
|||
} |
|||
|
|||
}) |
|||
// 成品改变 |
|||
$("select[name='finishProductCode']").change(function () { |
|||
|
|||
var finishProductCode = $(this).val(); |
|||
|
|||
for (i = 0; i < finishProductdata.length; i++) { |
|||
if (finishProductdata[i].finishProductCode == finishProductCode) { |
|||
$("input[name='finishProductName']").val(finishProductdata[i].finishProductName) |
|||
$("input[name='specificationModel']").val(finishProductdata[i].specificationModel) |
|||
$("input[name='typeMachine']").val(finishProductdata[i].typeMachine) |
|||
$("select[name='inventoryUnit']").val(finishProductdata[i].inventoryUnit).trigger("change") |
|||
$("input[name='customerNumber']").val(finishProductdata[i].customerNumber) |
|||
$("input[name='enterpriseCode']").val(finishProductdata[i].enterpriseCode) |
|||
$("input[name='enterpriseName']").val(finishProductdata[i].enterpriseName) |
|||
|
|||
} |
|||
} |
|||
}) |
|||
</script> |
|||
</body> |
|||
</html> |
@ -1,761 +0,0 @@ |
|||
<!DOCTYPE html> |
|||
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro"> |
|||
<head> |
|||
<th:block th:include="include :: header('产品报价列表')"/> |
|||
<script type="text/javascript" th:src="@{/js/axios.min.js}"></script> |
|||
</head> |
|||
<style> |
|||
/*提醒框*/ |
|||
.alert{ |
|||
position: fixed; |
|||
top: 50%; |
|||
left: 50%; |
|||
transform: translate(-50%, -50%); |
|||
/* width: 200px; */ |
|||
/* margin-left: 20%; */ |
|||
z-index: 2000; |
|||
text-align: center; |
|||
font-size: 18px; |
|||
padding: 20px 50px; |
|||
} |
|||
</style> |
|||
<body class="gray-bg"> |
|||
<div class="container-div"> |
|||
<div class="row"> |
|||
<div class="col-sm-12 search-collapse"> |
|||
<form id="formId"> |
|||
<div class="select-list"> |
|||
<ul> |
|||
<li> |
|||
<label>报价编码:</label> |
|||
<input type="text" name="quotationCode"/> |
|||
</li> |
|||
<li> |
|||
<label>成品代码:</label> |
|||
<!-- <select name="finishProductCode">--> |
|||
<!-- <option value="">所有</option>--> |
|||
<!-- <option value="-1">代码生成请选择字典属性</option>--> |
|||
<!-- </select>--> |
|||
<input type="text" name="finishProductCode"/> |
|||
</li> |
|||
<li> |
|||
<label>成品名称:</label> |
|||
<input type="text" name="finishProductName"/> |
|||
</li> |
|||
<li> |
|||
<label>客户料号:</label> |
|||
<input type="text" name="customerNumber"/> |
|||
</li> |
|||
<li> |
|||
<label>客户编号:</label> |
|||
<!-- <select name="enterpriseCode">--> |
|||
<!-- <option value="">所有</option>--> |
|||
<!-- <option value="-1">代码生成请选择字典属性</option>--> |
|||
<!-- </select>--> |
|||
<input type="text" name="enterpriseCode"/> |
|||
|
|||
</li> |
|||
<li> |
|||
<label>客户名称:</label> |
|||
<!-- <select name="enterpriseName">--> |
|||
<!-- <option value="">所有</option>--> |
|||
<!-- <option value="-1">代码生成请选择字典属性</option>--> |
|||
<!-- </select>--> |
|||
<input type="text" name="enterpriseName"/> |
|||
|
|||
</li> |
|||
<li class="select-time"> |
|||
<label>订价日期:</label> |
|||
<input type="text" class="time-input" id="startTime" placeholder="开始时间" name="params[beginTime]"/> |
|||
<span>-</span> |
|||
<input type="text" class="time-input" id="endTime" placeholder="结束时间" name="params[endTime]"/> |
|||
</li> |
|||
<li> |
|||
<label>是否为当前报价:</label> |
|||
<select name="currentQuote" th:with="type=${@dict.getType('sys_whether')}"> |
|||
<option value="">所有</option> |
|||
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" |
|||
th:value="${dict.dictValue}"></option> |
|||
</select> |
|||
</li> |
|||
<li> |
|||
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i |
|||
class="fa fa-search"></i> 搜索</a> |
|||
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i |
|||
class="fa fa-refresh"></i> 重置</a> |
|||
</li> |
|||
</ul> |
|||
</div> |
|||
</form> |
|||
</div> |
|||
|
|||
<div class="btn-group-sm" id="toolbar" role="group"> |
|||
<a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="system:productquotation:add"> |
|||
<i class="fa fa-plus"></i> 添加 |
|||
</a> |
|||
<a class="btn btn-primary single disabled" onclick="$.operate.edit()" |
|||
shiro:hasPermission="system:productquotation:edit"> |
|||
<i class="fa fa-edit"></i> 修改 |
|||
</a> |
|||
<a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" |
|||
shiro:hasPermission="system:productquotation:remove"> |
|||
<i class="fa fa-remove"></i> 删除 |
|||
</a> |
|||
<a class="btn btn-warning" onclick="exportProductQuotation()" |
|||
shiro:hasPermission="system:productquotation:export"> |
|||
<i class="fa fa-download"></i> 导出 |
|||
</a> |
|||
<a class="btn btn-info" onclick="quotationAudit()" shiro:hasPermission="system:productquotation:audit"> |
|||
|
|||
<i class="fa fa-file-text"></i> 审核 |
|||
</a> |
|||
<a class="btn btn-success" onclick="quotationConfirm()" shiro:hasPermission="system:productquotation:confirm"> |
|||
|
|||
<i class="fa fa-hand-grab-o"></i> 确认 |
|||
</a> |
|||
<a class="btn btn-primary" onclick="quotationApprove()" shiro:hasPermission="system:productquotation:approve"> |
|||
|
|||
<i class="fa fa-hand-grab-o"></i> 核准 |
|||
</a> |
|||
|
|||
</div> |
|||
<div class="col-sm-12 select-table table-striped"> |
|||
<table id="bootstrap-table" style="white-space:nowrap"></table> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
|
|||
<!--审核确认--> |
|||
<div class="modal fade" id="AuditModel"> |
|||
<div class="modal-dialog"> |
|||
<div class="modal-content message_align"> |
|||
<div class="modal-header"> |
|||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span |
|||
aria-hidden="true">×</span></button> |
|||
<h4 class="modal-title">审核信息</h4> |
|||
</div> |
|||
<div class="modal-body" style="height: 180px"> |
|||
<form id="form-audit-edit"> |
|||
<div class="form-group" style="display: none"> |
|||
<label class="col-sm-3 control-label is-required">产品报价id:</label> |
|||
<div class="col-sm-8"> |
|||
<input id="productQuotationId" name="productQuotationId" class="form-control" type="text" required |
|||
readonly> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">审核否:</label> |
|||
<div class="col-sm-8"> |
|||
<select id="auditNo" name="auditNo" class="form-control" |
|||
th:with="type=${@dict.getType('sys_whether')}"> |
|||
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" |
|||
th:value="${dict.dictValue}"></option> |
|||
</select> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">审核时间:</label> |
|||
<div class="col-sm-8"> |
|||
<div class="input-group date"> |
|||
<input id="auditTime" name="auditTime" class="form-control " |
|||
placeholder="yyyy-MM-dd HH:mm:ss" type="text"> |
|||
<span class="input-group-addon"><i class="fa fa-calendar"></i></span> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">审核人:</label> |
|||
<div class="col-sm-8"> |
|||
<input id="auditName" name="auditName" class="form-control" type="text"> |
|||
</div> |
|||
</div> |
|||
</form> |
|||
</div> |
|||
<div class="modal-footer"> |
|||
<button type="button" class="btn btn-default" data-dismiss="modal">取消</button> |
|||
<button type="button" onclick="AuditConfirmSubmit()" class="btn btn-success" data-dismiss="modal">确定 |
|||
</button> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="alert alert-success hide">审核成功</div> |
|||
|
|||
<!--核准--> |
|||
|
|||
<div class="modal fade" id="approveModel"> |
|||
<div class="modal-dialog"> |
|||
<div class="modal-content message_align"> |
|||
<div class="modal-header"> |
|||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span |
|||
aria-hidden="true">×</span></button> |
|||
<h4 class="modal-title">核准信息</h4> |
|||
</div> |
|||
<div class="modal-body" style="height: 180px"> |
|||
<form id="form-approve-edit"> |
|||
<div class="form-group" style="display: none"> |
|||
<label class="col-sm-3 control-label is-required">产品报价id:</label> |
|||
<div class="col-sm-8"> |
|||
<input id="productQuotationId3" name="productQuotationId" class="form-control" type="text" required |
|||
readonly> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">核准否:</label> |
|||
<div class="col-sm-8"> |
|||
<select id="approveNo" name="approveNo" class="form-control" th:with="type=${@dict.getType('sys_whether')}"> |
|||
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option> |
|||
</select> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">核准时间:</label> |
|||
<div class="col-sm-8"> |
|||
<div class="input-group date"> |
|||
<input id="approveTime" name="approveTime" class="form-control" placeholder="yyyy-MM-dd HH:mm:ss" type="text"> |
|||
<span class="input-group-addon"><i class="fa fa-calendar"></i></span> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">核准人:</label> |
|||
<div class="col-sm-8"> |
|||
<input id="approveName" name="approveName" class="form-control" type="text"> |
|||
</div> |
|||
</div> |
|||
</form> |
|||
</div> |
|||
<div class="modal-footer"> |
|||
<button type="button" class="btn btn-default" data-dismiss="modal">取消</button> |
|||
<button type="button" onclick="ApproveConfirmSubmit()" class="btn btn-success" data-dismiss="modal">确定</button> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="alert alert-warning hide">产品报价已核准</div> |
|||
|
|||
<!--确认--> |
|||
<div class="modal fade" id="confirmModel"> |
|||
<div class="modal-dialog"> |
|||
<div class="modal-content message_align"> |
|||
<div class="modal-header"> |
|||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span |
|||
aria-hidden="true">×</span></button> |
|||
<h4 class="modal-title">确认信息</h4> |
|||
</div> |
|||
<div class="modal-body" style="height: 180px"> |
|||
<form id="form-confirm-edit"> |
|||
<div class="form-group" style="display: none"> |
|||
<label class="col-sm-3 control-label is-required">产品报价id:</label> |
|||
<div class="col-sm-8"> |
|||
<input id="productQuotationId2" name="productQuotationId" class="form-control" type="text" required |
|||
readonly> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">确认否:</label> |
|||
<div class="col-sm-8"> |
|||
<select id="confirmNo" name="confirmNo" class="form-control" |
|||
th:with="type=${@dict.getType('sys_whether')}"> |
|||
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" |
|||
th:value="${dict.dictValue}"></option> |
|||
</select> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">确认日期:</label> |
|||
<div class="col-sm-8"> |
|||
<div class="input-group date"> |
|||
<input id="confirmTime" name="confirmTime" class="form-control" |
|||
placeholder="yyyy-mm-dd hh:ii:ss" type="text"> |
|||
<span class="input-group-addon"><i class="fa fa-calendar"></i></span> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">确认人:</label> |
|||
<div class="col-sm-8"> |
|||
<input id="confirmName" name="confirmName" class="form-control" type="text"> |
|||
</div> |
|||
</div> |
|||
</form> |
|||
</div> |
|||
<div class="modal-footer"> |
|||
<button type="button" class="btn btn-default" data-dismiss="modal">取消</button> |
|||
<button type="button" onclick="ConfirmSubmit()" class="btn btn-success" data-dismiss="modal">确定</button> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="alert alert-info hide">产品报价已确认</div> |
|||
|
|||
|
|||
<th:block th:include="include :: footer"/> |
|||
<th:block th:include="include :: datetimepicker-js"/> |
|||
|
|||
<script th:inline="javascript"> |
|||
var editFlag = [[${@permission.hasPermi('system:productquotation:edit')}]]; |
|||
var removeFlag = [[${@permission.hasPermi('system:productquotation:remove')}]]; |
|||
var inventoryUnitDatas = [[${@dict.getType('sys_unit_class')}]]; |
|||
var commonCurrencyDatas = [[${@dict.getType('sys_common_currency')}]]; |
|||
var currentQuoteDatas = [[${@dict.getType('sys_whether')}]]; |
|||
var confirmNoDatas = [[${@dict.getType('sys_whether')}]]; |
|||
var auditNoDatas = [[${@dict.getType('sys_whether')}]]; |
|||
var approveNoDatas = [[${@dict.getType('sys_whether')}]]; |
|||
var prefix = ctx + "system/productquotation"; |
|||
var prefixCustomer = ctx + "system/customer"; |
|||
|
|||
$(function () { |
|||
var options = { |
|||
url: prefix + "/list", |
|||
createUrl: prefix + "/add", |
|||
updateUrl: prefix + "/edit/{id}", |
|||
removeUrl: prefix + "/remove", |
|||
exportUrl: prefix + "/export", |
|||
clickToSelect: true, |
|||
modalName: "产品报价", |
|||
columns: [{ |
|||
checkbox: true |
|||
}, |
|||
{ |
|||
field: 'productQuotationId', |
|||
title: '产品报价id', |
|||
visible: false |
|||
}, |
|||
{ |
|||
field: 'auditNo', |
|||
title: '审核否', |
|||
formatter: function (value, row, index) { |
|||
// return $.table.selectDictLabel(auditNoDatas, value); |
|||
var actions = []; |
|||
if ($.table.selectDictLabel(auditNoDatas, value) == "<span class=''>是</span>") { |
|||
actions.push('<a class="btn btn-primary btn-xs disabled">已审核</a> '); |
|||
} else { |
|||
actions.push('<a class="btn btn-danger btn-xs disabled">未审核</a> '); |
|||
} |
|||
return actions.join(''); |
|||
} |
|||
}, |
|||
{ |
|||
field: 'confirmNo', |
|||
title: '确认否', |
|||
formatter: function (value, row, index) { |
|||
// return $.table.selectDictLabel(confirmNoDatas, value); |
|||
|
|||
var actions = []; |
|||
if ($.table.selectDictLabel(confirmNoDatas, value) == "<span class=''>是</span>") { |
|||
actions.push('<a class="btn btn-primary btn-xs disabled">已确认</a> '); |
|||
} else { |
|||
actions.push('<a class="btn btn-danger btn-xs disabled">未确认</a> '); |
|||
} |
|||
return actions.join(''); |
|||
} |
|||
}, |
|||
{ |
|||
field: 'approveNo', |
|||
title: '核准否', |
|||
formatter: function (value, row, index) { |
|||
// return $.table.selectDictLabel(approveNoDatas, value); |
|||
var actions = []; |
|||
if ($.table.selectDictLabel(approveNoDatas, value) == "<span class=''>是</span>") { |
|||
actions.push('<a class="btn btn-primary btn-xs disabled">已核准</a> '); |
|||
} else { |
|||
actions.push('<a class="btn btn-danger btn-xs disabled">未核准</a> '); |
|||
} |
|||
return actions.join(''); |
|||
} |
|||
}, |
|||
{ |
|||
field: 'currentQuote', |
|||
title: '是否为当前报价', |
|||
formatter: function (value, row, index) { |
|||
return $.table.selectDictLabel(currentQuoteDatas, value); |
|||
} |
|||
}, |
|||
{ |
|||
field: 'quotationCode', |
|||
title: '报价编码' |
|||
}, |
|||
{ |
|||
field: 'finishProductCode', |
|||
title: '成品代码' |
|||
}, |
|||
{ |
|||
field: 'finishProductName', |
|||
title: '成品名称' |
|||
}, |
|||
{ |
|||
field: 'specificationModel', |
|||
title: '规格型号' |
|||
}, |
|||
{ |
|||
field: 'typeMachine', |
|||
title: '机种' |
|||
}, |
|||
{ |
|||
field: 'inventoryUnit', |
|||
title: '单位', |
|||
formatter: function (value, row, index) { |
|||
return $.table.selectDictLabel(inventoryUnitDatas, value); |
|||
} |
|||
}, |
|||
{ |
|||
field: 'commonCurrency', |
|||
title: '币别', |
|||
formatter: function (value, row, index) { |
|||
return $.table.selectDictLabel(commonCurrencyDatas, value); |
|||
} |
|||
}, |
|||
{ |
|||
field: 'processPrice', |
|||
title: '单价' |
|||
}, |
|||
{ |
|||
field: 'customerNumber', |
|||
title: '客户料号' |
|||
}, |
|||
{ |
|||
field: 'enterpriseCode', |
|||
title: '客户编号' |
|||
}, |
|||
{ |
|||
field: 'enterpriseName', |
|||
title: '客户名称' |
|||
}, |
|||
{ |
|||
field: 'registrant', |
|||
title: '登记人' |
|||
}, |
|||
{ |
|||
field: 'pricingDate', |
|||
title: '订价日期' |
|||
}, |
|||
{ |
|||
field: 'taxRate', |
|||
title: '税率' |
|||
}, |
|||
{ |
|||
field: 'priceExcludingTax', |
|||
title: '不含税价' |
|||
}, |
|||
{ |
|||
field: 'priceIncludingTax', |
|||
title: '含税价' |
|||
}, |
|||
{ |
|||
field: 'lastPrice', |
|||
title: '上次价格' |
|||
}, |
|||
{ |
|||
field: 'lastPriceEnd', |
|||
title: '上次价格2' |
|||
}, |
|||
{ |
|||
field: 'costRmb', |
|||
title: '当前材料成本RMB' |
|||
}, |
|||
{ |
|||
field: 'currentExchangeRate', |
|||
title: '当前汇率' |
|||
}, |
|||
{ |
|||
field: 'proportionMaterials', |
|||
title: '材料占比' |
|||
}, |
|||
{ |
|||
field: 'quotationExplain', |
|||
title: '备注说明' |
|||
}, |
|||
{ |
|||
field: 'confirmTax', |
|||
title: '是否含税' |
|||
}, |
|||
{ |
|||
field: 'fileUpload', |
|||
title: '文件存储', |
|||
formatter: function(value, row, index) { |
|||
var filepath = value.substring(value.lastIndexOf("/")+1) |
|||
var actions = []; |
|||
actions.push('<a href="javascript:void(0)" onclick="downloadFile(\'' + value + '\')">'+filepath+'</a> '); |
|||
return actions.join(''); |
|||
} |
|||
}, |
|||
{ |
|||
field: 'confirmName', |
|||
title: '确认人' |
|||
}, |
|||
{ |
|||
field: 'confirmTime', |
|||
title: '确认时间' |
|||
}, |
|||
|
|||
{ |
|||
field: 'auditName', |
|||
title: '审核人' |
|||
}, |
|||
{ |
|||
field: 'auditTime', |
|||
title: '审核时间' |
|||
}, |
|||
{ |
|||
field: 'approveName', |
|||
title: '核准人' |
|||
}, |
|||
{ |
|||
field: 'approveTime', |
|||
title: '核准时间' |
|||
}, |
|||
{ |
|||
field: 'standbyOne', |
|||
title: '备用一', |
|||
visible: false |
|||
|
|||
|
|||
}, |
|||
{ |
|||
field: 'standbyTwo', |
|||
title: '备用二', |
|||
visible: false |
|||
|
|||
}, |
|||
{ |
|||
field: 'firstAddTime', |
|||
title: '录入时间', |
|||
formatter: function (value, row, index) { |
|||
if (value == null) { |
|||
return " "; |
|||
} else { |
|||
return value; |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
field: 'updateInfoTime', |
|||
title: '上次修改时间', |
|||
formatter: function (value, row, index) { |
|||
if (value == null) { |
|||
return " "; |
|||
} else { |
|||
var vArr = value.split(',') |
|||
return vArr[0]; |
|||
} |
|||
} |
|||
} |
|||
// { |
|||
// title: '操作', |
|||
// align: 'center', |
|||
// formatter: function (value, row, index) { |
|||
// var actions = []; |
|||
// actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.productQuotationId + '\')"><i class="fa fa-edit"></i>编辑</a> '); |
|||
// actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.productQuotationId + '\')"><i class="fa fa-remove"></i>删除</a>'); |
|||
// return actions.join(''); |
|||
// } |
|||
// } |
|||
] |
|||
}; |
|||
$.table.init(options); |
|||
}); |
|||
|
|||
$("input[name='auditTime']").datetimepicker({ |
|||
format: "yyyy-mm-dd hh:ii:ss", |
|||
minView: "month", |
|||
autoclose: true, |
|||
todayBtn: true |
|||
}); |
|||
$("input[name='confirmTime']").datetimepicker({ |
|||
format: "yyyy-mm-dd hh:ii:ss", |
|||
minView: "month", |
|||
autoclose: true, |
|||
todayBtn: true |
|||
}); |
|||
$("input[name='approveTime']").datetimepicker({ |
|||
format: "yyyy-mm-dd hh:ii:ss", |
|||
minView: "month", |
|||
autoclose: true, |
|||
todayBtn: true |
|||
}); |
|||
|
|||
// 审核确认 |
|||
function quotationAudit() { |
|||
let data = $("#bootstrap-table").bootstrapTable("getSelections"); |
|||
let userName = [[${@permission.getPrincipalProperty('userName')}]]; |
|||
console.log(data) |
|||
if (data.length === 1) { |
|||
$("#productQuotationId").val(data[0].productQuotationId) |
|||
$("#auditNo").val(1).trigger("change") |
|||
$("#auditName").val(userName) |
|||
$("#auditTime").datetimepicker("setDate", new Date()); |
|||
$("#AuditModel").modal("show"); |
|||
} else { |
|||
$.modal.alert("请选择一条数据"); |
|||
} |
|||
|
|||
} |
|||
|
|||
// 审核确认 |
|||
function AuditConfirmSubmit() { |
|||
$.ajax({ |
|||
url: prefix + "/edit", |
|||
type: "post", |
|||
resultType: "json", |
|||
data: $('#form-audit-edit').serialize(), |
|||
success: function (resp) { |
|||
console.log(resp) |
|||
$("#bootstrap-table").bootstrapTable('refresh'); |
|||
// $(".alert-success").addClass("show"); |
|||
// window.setTimeout(function () { |
|||
// $(".alert-success").removeClass("show"); |
|||
// }, 1000);//显示的时间 |
|||
$.modal.msgSuccess("操作成功!") |
|||
}, |
|||
error: function () { |
|||
$.modal.msgError("出错了!"); |
|||
} |
|||
}); |
|||
} |
|||
|
|||
// 确认 |
|||
function quotationConfirm() { |
|||
let data = $("#bootstrap-table").bootstrapTable("getSelections"); |
|||
let userName = [[${@permission.getPrincipalProperty('userName')}]]; |
|||
if (data.length === 1) { |
|||
$("#productQuotationId2").val(data[0].productQuotationId) |
|||
$("#confirmNo").val(1).trigger("change") |
|||
$("#confirmName").val(userName) |
|||
$("#confirmTime").datetimepicker("setDate", new Date()); |
|||
$("#confirmModel").modal("show"); |
|||
} else { |
|||
$.modal.alert("请选择一条数据"); |
|||
} |
|||
|
|||
} |
|||
|
|||
// 确认 |
|||
function ConfirmSubmit() { |
|||
$.ajax({ |
|||
url: prefix + "/edit", |
|||
type: "post", |
|||
resultType: "json", |
|||
data: $('#form-confirm-edit').serialize(), |
|||
success: function (resp) { |
|||
console.log(resp) |
|||
$("#bootstrap-table").bootstrapTable('refresh'); |
|||
// $(".alert-info").addClass("show"); |
|||
// window.setTimeout(function () { |
|||
// $(".alert-info").removeClass("show"); |
|||
// }, 1000);//显示的时间 |
|||
$.modal.msgSuccess("操作成功!") |
|||
}, |
|||
error: function () { |
|||
$.modal.msgError("出错了!"); |
|||
} |
|||
}); |
|||
} |
|||
//核准 |
|||
function quotationApprove() { |
|||
let data = $("#bootstrap-table").bootstrapTable("getSelections"); |
|||
let userName = [[${@permission.getPrincipalProperty('userName')}]]; |
|||
if (data.length === 1) { |
|||
$("#productQuotationId3").val(data[0].productQuotationId) |
|||
$("#approveNo").val(1).trigger("change") |
|||
$("#approveName").val(userName) |
|||
$("#approveTime").datetimepicker("setDate", new Date()); |
|||
$("#approveModel").modal("show"); |
|||
} else { |
|||
$.modal.alert("请选择一条数据"); |
|||
} |
|||
|
|||
} |
|||
|
|||
//核准 |
|||
function ApproveConfirmSubmit() { |
|||
|
|||
$.ajax({ |
|||
url: prefix + "/edit", |
|||
type: "post", |
|||
resultType: "json", |
|||
data: $('#form-approve-edit').serialize(), |
|||
success: function (resp) { |
|||
$("#bootstrap-table").bootstrapTable('refresh'); |
|||
// $(".alert-warning").addClass("show"); |
|||
// window.setTimeout(function () { |
|||
// $(".alert-warning").removeClass("show"); |
|||
// }, 1000);//显示的时间 |
|||
$.modal.msgSuccess("操作成功!") |
|||
}, |
|||
error: function () { |
|||
$.modal.msgError("出错了!"); |
|||
} |
|||
}); |
|||
} |
|||
|
|||
//导出 |
|||
function exportProductQuotation() { |
|||
var enterpriseCode = $("input[name='enterpriseCode']").val() |
|||
console.log(enterpriseCode) |
|||
var enterpriseName = $("input[name='enterpriseName']").val() |
|||
console.log(enterpriseName) |
|||
var pricingDate = $("input[name='pricingDate']").val() |
|||
if ((enterpriseCode != '')||(enterpriseName != '')){ |
|||
if (pricingDate == '') { |
|||
$.modal.alertWarning("导出前请选择日期进行筛选"); |
|||
} else { |
|||
$.modal.confirm("确认导出以下数据吗?", function() { |
|||
$.ajax({ |
|||
url: prefixCustomer + '/list', |
|||
type: 'post', |
|||
data: { |
|||
enterpriseCode: enterpriseCode, |
|||
enterpriseName: enterpriseName |
|||
}, |
|||
success: function (res) { |
|||
console.log(res) |
|||
var customerData = res.rows; |
|||
var selectData = $("#bootstrap-table").bootstrapTable("getData") |
|||
console.log(selectData) |
|||
var pricingDate = $("input[name='pricingDate']").val() |
|||
axios({ |
|||
url: prefix + '/exportProductQuotation', |
|||
method: 'POST', |
|||
data: { |
|||
scData: { |
|||
// "selectData": JSON.stringify(selectData), |
|||
"customerData": JSON.stringify(customerData), |
|||
"pricingDate": JSON.stringify(pricingDate) |
|||
} |
|||
}, |
|||
responseType: 'blob' |
|||
}).then(response => { |
|||
// console.log(response) |
|||
// console.log(response.data) |
|||
const URL = window.URL.createObjectURL(response.data) |
|||
// 创建隐藏<a>标签进行下载 |
|||
const tempLink = document.createElement('a') |
|||
tempLink.style.display = 'none' |
|||
tempLink.href = URL |
|||
let time = new Date().toLocaleString() |
|||
tempLink.setAttribute('download', time + "产品报价.xlsx") |
|||
if (typeof tempLink.download === 'undefined') { |
|||
tempLink.setAttribute('target', '_blank') |
|||
} |
|||
document.body.appendChild(tempLink) |
|||
tempLink.click() |
|||
document.body.removeChild(tempLink)// 移除dom元素 |
|||
window.URL.revokeObjectURL(URL)//释放内存 |
|||
}) |
|||
} |
|||
}) |
|||
}) |
|||
} |
|||
} else { |
|||
$.modal.alertWarning("导出前请选择客户编号或者客户名称进行筛选"); |
|||
} |
|||
} |
|||
|
|||
/*下载*/ |
|||
function downloadFile(filepath) { |
|||
window.location.href =prefix + "/downloadFile?filepath="+ filepath; |
|||
} |
|||
</script> |
|||
</body> |
|||
</html> |
@ -1,533 +0,0 @@ |
|||
<!DOCTYPE html> |
|||
<html lang="zh" xmlns:th="http://www.thymeleaf.org" > |
|||
<head> |
|||
<th:block th:include="include :: header('新增委外报价')" /> |
|||
<th:block th:include="include :: datetimepicker-css" /> |
|||
<link th:href="@{/ajax/libs/select2/select2.css}" rel="stylesheet"> |
|||
<link th:href="@{/ajax/libs/select2/select2-bootstrap.css}" rel="stylesheet"> |
|||
</head> |
|||
<style> |
|||
.division { |
|||
width: 100%; |
|||
border-bottom: 1px solid #f1ecec; |
|||
padding: 10px 0 0; |
|||
margin-bottom: 30px; |
|||
|
|||
|
|||
} |
|||
.changeWidth{ |
|||
width: 33% !important; |
|||
margin-left: 40px; |
|||
} |
|||
.col-sm-3 { |
|||
width: 26%; |
|||
} |
|||
</style> |
|||
|
|||
<body class="white-bg"> |
|||
<div class="wrapper wrapper-content animated fadeInRight ibox-content"> |
|||
<form class="form-horizontal m" id="form-qutsourcingquotation-add"> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label is-required">报价编码:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="quotationCode" class="form-control" type="text" required readonly> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label is-required">物料代码:</label> |
|||
<div class="col-sm-8"> |
|||
<select name="materialCode" class="form-control m-b" required> |
|||
<option value="">请选择物料代码</option> |
|||
</select> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label is-required">物料名称:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="materialName" class="form-control" type="text" readonly> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">规格型号:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="specificationModel" class="form-control" type="text" readonly> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">成品机种:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="typeMachine" class="form-control" type="text" readonly> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">计量单位:</label> |
|||
<div class="col-sm-8"> |
|||
<select name="measurementUnit" class="form-control m-b" th:with="type=${@dict.getType('sys_unit_class')}"> |
|||
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option> |
|||
</select> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">报价币别:</label> |
|||
<div class="col-sm-8"> |
|||
<select name="commonCurrency" class="form-control m-b" th:with="type=${@dict.getType('sys_common_currency')}"> |
|||
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option> |
|||
</select> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">加工单价:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="processPrice" class="form-control" type="text"> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">加工工序编号:</label> |
|||
<div class="col-sm-8"> |
|||
<select name="processingProcedureCode" class="form-control m-b"> |
|||
<option value="">请选择加工工序编号</option> |
|||
</select> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">加工工序名称:</label> |
|||
<div class="col-sm-8"> |
|||
<select name="processingProcedureName" class="form-control m-b"> |
|||
<option value="">请输入加工工序名称</option> |
|||
</select> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label is-required">加工商编号:</label> |
|||
<div class="col-sm-8"> |
|||
<select name="converterCode" class="form-control m-b" required> |
|||
<option value="">请选择加工商编号</option> |
|||
|
|||
</select> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label is-required">加工商名称:</label> |
|||
<div class="col-sm-8"> |
|||
<select name="converterName" class="form-control m-b" required> |
|||
<option value="">请选择加工商名称</option> |
|||
|
|||
</select> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">报价日期:</label> |
|||
<div class="col-sm-8"> |
|||
<div class="input-group date"> |
|||
<input name="pricingDate" class="form-control" placeholder="yyyy-MM-dd" type="text"> |
|||
<span class="input-group-addon"><i class="fa fa-calendar"></i></span> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">库存单位:</label> |
|||
<div class="col-sm-8"> |
|||
<select name="inventoryUnit" class="form-control m-b" th:with="type=${@dict.getType('sys_unit_class')}"> |
|||
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option> |
|||
</select> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">交税税率:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="taxRate" class="form-control" type="text"> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">每采购单位对应多少库存单位:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="relationalFormula" class="form-control" type="text"> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">备注:</label> |
|||
<div class="col-sm-8"> |
|||
<textarea name="quotationExplain" class="form-control"></textarea> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">是否为当前报价:</label> |
|||
<div class="col-sm-8"> |
|||
<div class="radio-box" th:each="dict : ${@dict.getType('sys_whether')}"> |
|||
<input type="radio" th:id="${'currentQuote_' + dict.dictCode}" name="currentQuote" th:value="${dict.dictValue}" th:checked="${dict.default}"> |
|||
<label th:for="${'currentQuote_' + dict.dictCode}" th:text="${dict.dictLabel}"></label> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">登记人:</label> |
|||
<div class="col-sm-8"> |
|||
<!-- <input name="registrant" class="form-control" type="text">--> |
|||
<select name="registrant" class="form-control m-b"> |
|||
<option value="">请选择登记人</option> |
|||
</select> |
|||
</div> |
|||
</div> |
|||
<!-- |
|||
<div class="division"> |
|||
<h4>确认</h4> |
|||
</div> |
|||
|
|||
<div class="form-group changeWidth" > |
|||
<label class="col-sm-3 control-label">确认否:</label> |
|||
<div class="col-sm-8"> |
|||
<select name="confirmNo" class="form-control m-b" th:with="type=${@dict.getType('sys_whether')}"> |
|||
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option> |
|||
</select> |
|||
</div> |
|||
</div> |
|||
<div class="form-group changeWidth"> |
|||
<label class="col-sm-3 control-label">确认人:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="confirmName" class="form-control" type="text"> |
|||
</div> |
|||
</div> |
|||
<div class="form-group changeWidth"> |
|||
<label class="col-sm-3 control-label">确认时间:</label> |
|||
<div class="col-sm-8"> |
|||
<div class="input-group date"> |
|||
<input name="confirmTime" class="form-control" placeholder="yyyy-MM-dd HH:mm:ss" type="text"> |
|||
<span class="input-group-addon"><i class="fa fa-calendar"></i></span> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="division"> |
|||
<h4>审核</h4> |
|||
</div> |
|||
<div class="form-group changeWidth"> |
|||
<label class="col-sm-3 control-label">审核否:</label> |
|||
<div class="col-sm-8"> |
|||
<select name="auditNo" class="form-control m-b" th:with="type=${@dict.getType('sys_whether')}"> |
|||
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option> |
|||
</select> |
|||
</div> |
|||
</div> |
|||
<div class="form-group changeWidth"> |
|||
<label class="col-sm-3 control-label">审核人:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="auditName" class="form-control" type="text"> |
|||
</div> |
|||
</div> |
|||
<div class="form-group changeWidth"> |
|||
<label class="col-sm-3 control-label">审核时间:</label> |
|||
<div class="col-sm-8"> |
|||
<div class="input-group date"> |
|||
<input name="auditTime" class="form-control" placeholder="yyyy-MM-dd HH:mm:ss" type="text"> |
|||
<span class="input-group-addon"><i class="fa fa-calendar"></i></span> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="division"> |
|||
<h4>核准</h4> |
|||
</div> |
|||
<div class="form-group changeWidth"> |
|||
<label class="col-sm-3 control-label">核准否:</label> |
|||
<div class="col-sm-8"> |
|||
<select name="approveNo" class="form-control m-b" th:with="type=${@dict.getType('sys_whether')}"> |
|||
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option> |
|||
</select> |
|||
</div> |
|||
</div> |
|||
|
|||
|
|||
<div class="form-group changeWidth"> |
|||
<label class="col-sm-3 control-label">核准人:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="approveName" class="form-control" type="text"> |
|||
</div> |
|||
</div> |
|||
<div class="form-group changeWidth"> |
|||
<label class="col-sm-3 control-label">核准时间:</label> |
|||
<div class="col-sm-8"> |
|||
<div class="input-group date"> |
|||
<input name="approveTime" class="form-control" placeholder="yyyy-MM-dd HH:mm:ss" type="text"> |
|||
<span class="input-group-addon"><i class="fa fa-calendar"></i></span> |
|||
</div> |
|||
</div> |
|||
</div>--> |
|||
<!-- <div class="form-group"> --> |
|||
<!-- <label class="col-sm-3 control-label">备用一:</label>--> |
|||
<!-- <div class="col-sm-8">--> |
|||
<!-- <input name="standbyOne" class="form-control" type="text">--> |
|||
<!-- </div>--> |
|||
<!-- </div>--> |
|||
<!-- <div class="form-group"> --> |
|||
<!-- <label class="col-sm-3 control-label">备用二:</label>--> |
|||
<!-- <div class="col-sm-8">--> |
|||
<!-- <input name="standbyTwo" class="form-control" type="text">--> |
|||
<!-- </div>--> |
|||
<!-- </div>--> |
|||
</form> |
|||
</div> |
|||
<th:block th:include="include :: footer" /> |
|||
<th:block th:include="include :: select2-js"/> |
|||
|
|||
|
|||
<th:block th:include="include :: datetimepicker-js" /> |
|||
<script th:inline="javascript"> |
|||
|
|||
var finishProductdata = [] |
|||
var supplierdata=[] |
|||
var proceduredata=[] |
|||
var prefix = ctx + "system/qutsourcingquotation" |
|||
$("#form-qutsourcingquotation-add").validate({ |
|||
focusCleanup: true |
|||
}); |
|||
|
|||
function submitHandler() { |
|||
if ($.validate.form()) { |
|||
$.operate.save(prefix + "/add", $('#form-qutsourcingquotation-add').serialize()); |
|||
} |
|||
} |
|||
|
|||
$("input[name='pricingDate']").datetimepicker({ |
|||
format: "yyyy-mm-dd", |
|||
minView: "month", |
|||
autoclose: true |
|||
}); |
|||
|
|||
$("input[name='confirmTime']").datetimepicker({ |
|||
format: 'yyyy-mm-dd hh:ii:ss', |
|||
autoclose: true, |
|||
minView: 0, |
|||
minuteStep:1 |
|||
}); |
|||
|
|||
$("input[name='auditTime']").datetimepicker({ |
|||
format: 'yyyy-mm-dd hh:ii:ss', |
|||
autoclose: true, |
|||
minView: 0, |
|||
minuteStep:1 |
|||
}); |
|||
|
|||
$("input[name='approveTime']").datetimepicker({ |
|||
format: 'yyyy-mm-dd hh:ii:ss', |
|||
autoclose: true, |
|||
minView: 0, |
|||
minuteStep:1 |
|||
}); |
|||
// 自动获取当前时间 |
|||
$("input[name='pricingDate']").datetimepicker("setDate",new Date()); |
|||
/* |
|||
// 确认 |
|||
$("select[name='confirmNo']").change(function (){ |
|||
// console.log($(this).val()) |
|||
if($(this).val()==1){ |
|||
$("input[name='confirmTime']").datetimepicker("setDate",new Date()); |
|||
|
|||
} |
|||
else { |
|||
$("input[name='confirmTime']").val('') |
|||
} |
|||
}) |
|||
// 审核 |
|||
$("select[name='auditNo']").change(function (){ |
|||
// console.log($(this).val()) |
|||
if($(this).val()==1){ |
|||
$("input[name='auditTime']").datetimepicker("setDate",new Date()); |
|||
|
|||
} |
|||
else { |
|||
$("input[name='auditTime']").val('') |
|||
} |
|||
}) |
|||
// 核准 |
|||
$("select[name='approveNo']").change(function (){ |
|||
// console.log($(this).val()) |
|||
if($(this).val()==1){ |
|||
$("input[name='approveTime']").datetimepicker("setDate",new Date()); |
|||
|
|||
} |
|||
else { |
|||
$("input[name='approveTime']").val('') |
|||
} |
|||
}) |
|||
*/ |
|||
//获取单号 |
|||
$.ajax({ |
|||
url: prefix + "/getId", |
|||
type: "post", |
|||
dateType: "json", |
|||
success: function (resp) { |
|||
if (resp.code === 0) { |
|||
$("input[name='quotationCode']").val(resp.data); |
|||
} else { |
|||
$.modal.msgError("失败啦"); |
|||
} |
|||
}, |
|||
error: function () { |
|||
$.modal.msgError("后台出错啦!"); |
|||
} |
|||
}); |
|||
// 获取成品信息 |
|||
|
|||
$.ajax({ |
|||
url: ctx + "system/finishproduct/finishList", |
|||
type: "POST", |
|||
success: function (res) { |
|||
// console.log(res) |
|||
if (res.length > 0) { |
|||
finishProductdata = res; |
|||
//alert(JSON.stringify(data)); |
|||
for (let i in finishProductdata) { |
|||
$("select[name='materialCode']").append("<option value='" + finishProductdata[i].finishProductCode + "'>" + finishProductdata[i].finishProductCode + "</option>"); |
|||
|
|||
} |
|||
|
|||
} else { |
|||
$.modal.msgError(res.msg); |
|||
} |
|||
}, |
|||
error: function () { |
|||
$.modal.msgError("后台出错啦!"); |
|||
|
|||
} |
|||
|
|||
}) |
|||
|
|||
//获取登记人 |
|||
$.ajax({ |
|||
url: ctx + "system/user/list", |
|||
type: "post", |
|||
success: function (res) { |
|||
// console.log(res) |
|||
if (res.rows.length > 0) { |
|||
let userData = res.rows; |
|||
for (let i in userData) { |
|||
// console.log(finishProductData[i].finishProductCode) |
|||
$("#form-qutsourcingquotation-add select[name='registrant']").append("<option value='" + userData[i].userName + "'>" + userData[i].userName + "</option>"); |
|||
} |
|||
let userName = [[${@permission.getPrincipalProperty('userName')}]]; |
|||
$("#form-qutsourcingquotation-add select[name='registrant']").val(userName).trigger("change") |
|||
} |
|||
|
|||
} |
|||
}) |
|||
// 成品改变 |
|||
$("select[name='materialCode']").change(function () { |
|||
|
|||
var finishProductCode = $(this).val(); |
|||
|
|||
for (i = 0; i < finishProductdata.length; i++) { |
|||
if (finishProductdata[i].finishProductCode == finishProductCode) { |
|||
$("input[name='materialName']").val(finishProductdata[i].finishProductName) |
|||
$("input[name='specificationModel']").val(finishProductdata[i].specificationModel) |
|||
$("input[name='typeMachine']").val(finishProductdata[i].typeMachine) |
|||
$("select[name='measurementUnit']").val(finishProductdata[i].inventoryUnit).trigger("change") |
|||
|
|||
} |
|||
} |
|||
}) |
|||
// 厂商编号 |
|||
$.ajax({ |
|||
url: ctx + "system/supplier/list", |
|||
type: "POST", |
|||
success: function (res) { |
|||
// console.log(res) |
|||
if (res.rows.length > 0) { |
|||
supplierdata = res.rows; |
|||
//alert(JSON.stringify(data)); |
|||
// console.log(res.rows) |
|||
for (let i in supplierdata) { |
|||
$("select[name='converterCode']").append("<option value='" + supplierdata[i].supplierCode + "'>" + supplierdata[i].supplierCode + "</option>"); |
|||
$("select[name='converterName']").append("<option value='" + supplierdata[i].supplierName + "'>" + supplierdata[i].supplierName + "</option>"); |
|||
|
|||
} |
|||
|
|||
} else { |
|||
$.modal.msgError(res.msg); |
|||
} |
|||
}, |
|||
error: function () { |
|||
$.modal.msgError("后台出错啦!"); |
|||
|
|||
} |
|||
|
|||
}) |
|||
|
|||
$("select[name='converterCode']").change(function () { |
|||
|
|||
var converterCode = $(this).val(); |
|||
|
|||
for (i = 0; i < supplierdata.length; i++) { |
|||
if (supplierdata[i].supplierCode == converterCode) { |
|||
|
|||
$("select[name='converterName']").val(supplierdata[i].supplierName).trigger("change") |
|||
|
|||
} |
|||
} |
|||
}) |
|||
// $("select[name='converterName']").change(function () { |
|||
// |
|||
// var converterName = $(this).val(); |
|||
// |
|||
// for (i = 0; i < supplierdata.length; i++) { |
|||
// if (supplierdata[i].converterName == converterName) { |
|||
// |
|||
// $("select[name='converterCode']").val(supplierdata[i].supplierCode).trigger("change") |
|||
// |
|||
// } |
|||
// } |
|||
// }) |
|||
|
|||
// 加工工序 |
|||
$.ajax({ |
|||
url: ctx + "system/procedure/list", |
|||
type: "POST", |
|||
success: function (res) { |
|||
// console.log(res) |
|||
if (res.rows.length > 0) { |
|||
proceduredata = res.rows; |
|||
//alert(JSON.stringify(data)); |
|||
// console.log(res.rows) |
|||
for (let i in proceduredata) { |
|||
$("select[name='processingProcedureCode']").append("<option value='" + proceduredata[i].procedureCode + "'>" + proceduredata[i].procedureCode + "</option>"); |
|||
$("select[name='processingProcedureName']").append("<option value='" + proceduredata[i].procedureName + "'>" + proceduredata[i].procedureName + "</option>"); |
|||
|
|||
} |
|||
|
|||
} else { |
|||
$.modal.msgError(res.msg); |
|||
} |
|||
}, |
|||
error: function () { |
|||
$.modal.msgError("后台出错啦!"); |
|||
|
|||
} |
|||
|
|||
}) |
|||
// |
|||
// $("select[name='processingProcedureName']").change(function () { |
|||
// |
|||
// var processingProcedureName = $(this).val(); |
|||
// |
|||
// for (i = 0; i < proceduredata.length; i++) { |
|||
// if (proceduredata[i].procedureName == processingProcedureName) { |
|||
// |
|||
// $("select[name='processingProcedureCode']").val(proceduredata[i].procedureCode).trigger("change") |
|||
// |
|||
// } |
|||
// } |
|||
// }) |
|||
|
|||
|
|||
$("select[name='processingProcedureCode']").change(function () { |
|||
|
|||
var processingProcedureCode = $(this).val(); |
|||
|
|||
for (i = 0; i < proceduredata.length; i++) { |
|||
if (proceduredata[i].procedureCode == processingProcedureCode) { |
|||
|
|||
$("select[name='processingProcedureName']").val(proceduredata[i].procedureName).trigger("change") |
|||
|
|||
} |
|||
} |
|||
}) |
|||
</script> |
|||
</body> |
|||
</html> |
@ -1,441 +0,0 @@ |
|||
<!DOCTYPE html> |
|||
<html lang="zh" xmlns:th="http://www.thymeleaf.org" > |
|||
<head> |
|||
<th:block th:include="include :: header('修改委外报价')" /> |
|||
<th:block th:include="include :: datetimepicker-css" /> |
|||
<link th:href="@{/ajax/libs/select2/select2.css}" rel="stylesheet"> |
|||
<link th:href="@{/ajax/libs/select2/select2-bootstrap.css}" rel="stylesheet"> |
|||
</head> |
|||
<style> |
|||
.division { |
|||
width: 100%; |
|||
border-bottom: 1px solid #f1ecec; |
|||
padding: 10px 0 0; |
|||
margin-bottom: 30px; |
|||
} |
|||
.changeWidth{ |
|||
width: 33% !important; |
|||
} |
|||
.col-sm-3 { |
|||
width: 26%; |
|||
} |
|||
</style> |
|||
<body class="white-bg"> |
|||
<div class="wrapper wrapper-content animated fadeInRight ibox-content"> |
|||
<form class="form-horizontal m" id="form-qutsourcingquotation-edit" th:object="${sysQutsourcingQuotation}"> |
|||
<input name="qutsourcingQuotationId" th:field="*{qutsourcingQuotationId}" type="hidden"> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label is-required">报价编码:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="quotationCode" th:field="*{quotationCode}" class="form-control" type="text" required readonly> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label is-required">物料代码:</label> |
|||
<div class="col-sm-8"> |
|||
<!-- <select name="materialCode" class="form-control m-b">--> |
|||
<!-- <option value="">所有</option>--> |
|||
<!-- </select>--> |
|||
<input name="materialCode" th:field="*{materialCode}" class="form-control" type="text" readonly> |
|||
|
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label is-required">物料名称:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="materialName" th:field="*{materialName}" class="form-control" type="text" readonly> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">规格型号:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="specificationModel" th:field="*{specificationModel}" class="form-control" type="text" readonly> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">成品机种:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="typeMachine" th:field="*{typeMachine}" class="form-control" type="text" readonly> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">计量单位:</label> |
|||
<div class="col-sm-8"> |
|||
<select name="measurementUnit" class="form-control m-b" th:with="type=${@dict.getType('sys_unit_class')}"> |
|||
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{measurementUnit}"></option> |
|||
</select> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">报价币别:</label> |
|||
<div class="col-sm-8"> |
|||
<select name="commonCurrency" class="form-control m-b" th:with="type=${@dict.getType('sys_common_currency')}"> |
|||
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{commonCurrency}"></option> |
|||
</select> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">加工单价:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="processPrice" th:field="*{processPrice}" class="form-control" type="text"> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">加工工序编号:</label> |
|||
<div class="col-sm-8"> |
|||
<select name="processingProcedureCode" class="form-control m-b"> |
|||
<option value="-1">请选择加工工序编号</option> |
|||
</select> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">加工工序名称:</label> |
|||
<div class="col-sm-8"> |
|||
<select name="processingProcedureName" class="form-control m-b"> |
|||
<option value="-1">请输入加工工序名称</option> |
|||
|
|||
</select> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label is-required">加工商编号:</label> |
|||
<div class="col-sm-8"> |
|||
<select name="converterCode" class="form-control m-b" required> |
|||
<option value="-1">请选择加工商编号</option> |
|||
</select> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label is-required">加工商名称:</label> |
|||
<div class="col-sm-8"> |
|||
<select name="converterName" class="form-control m-b" required> |
|||
<option value="-1">请选择加工商名称</option> |
|||
</select> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">报价日期:</label> |
|||
<div class="col-sm-8"> |
|||
<div class="input-group date"> |
|||
<input name="pricingDate" th:value="*{pricingDate}" class="form-control" placeholder="yyyy-MM-dd" type="text"> |
|||
<span class="input-group-addon"><i class="fa fa-calendar"></i></span> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">库存单位:</label> |
|||
<div class="col-sm-8"> |
|||
<select name="inventoryUnit" class="form-control m-b" th:with="type=${@dict.getType('sys_unit_class')}"> |
|||
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{inventoryUnit}"></option> |
|||
</select> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">交税税率:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="taxRate" th:field="*{taxRate}" class="form-control" type="text"> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">每采购单位对应多少库存单位:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="relationalFormula" th:field="*{relationalFormula}" class="form-control" type="text"> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">备注:</label> |
|||
<div class="col-sm-8"> |
|||
<textarea name="quotationExplain" class="form-control">[[*{quotationExplain}]]</textarea> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">是否为当前报价:</label> |
|||
<div class="col-sm-8"> |
|||
<div class="radio-box" th:each="dict : ${@dict.getType('sys_whether')}"> |
|||
<input type="radio" th:id="${'currentQuote_' + dict.dictCode}" name="currentQuote" th:value="${dict.dictValue}" th:field="*{currentQuote}"> |
|||
<label th:for="${'currentQuote_' + dict.dictCode}" th:text="${dict.dictLabel}"></label> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">登记人:</label> |
|||
<div class="col-sm-8"> |
|||
<!-- <input name="registrant" th:field="*{registrant}" class="form-control" type="text">--> |
|||
<select name="registrant" class="form-control m-b" th:field="*{registrant}"> |
|||
<option value="">请选择登记人</option> |
|||
</select> |
|||
</div> |
|||
</div> |
|||
<!-- |
|||
<div class="division"> |
|||
<h4>确认</h4> |
|||
</div> |
|||
<div class="form-group changeWidth"> |
|||
<label class="col-sm-3 control-label">确认否:</label> |
|||
<div class="col-sm-8"> |
|||
<select name="confirmNo" class="form-control m-b" th:with="type=${@dict.getType('sys_whether')}"> |
|||
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{confirmNo}"></option> |
|||
</select> |
|||
</div> |
|||
</div> |
|||
<div class="form-group changeWidth"> |
|||
<label class="col-sm-3 control-label">确认人:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="confirmName" th:field="*{confirmName}" class="form-control" type="text"> |
|||
</div> |
|||
</div> |
|||
<div class="form-group changeWidth"> |
|||
<label class="col-sm-3 control-label">确认时间:</label> |
|||
<div class="col-sm-8"> |
|||
<div class="input-group date"> |
|||
<input name="confirmTime" th:value="*{confirmTime}" class="form-control" placeholder="yyyy-MM-dd HH:mm:ss" type="text"> |
|||
<span class="input-group-addon"><i class="fa fa-calendar"></i></span> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="division"> |
|||
<h4>审核</h4> |
|||
</div> |
|||
<div class="form-group changeWidth"> |
|||
<label class="col-sm-3 control-label">审核否:</label> |
|||
<div class="col-sm-8"> |
|||
<select name="auditNo" class="form-control m-b" th:with="type=${@dict.getType('sys_whether')}"> |
|||
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{auditNo}"></option> |
|||
</select> |
|||
</div> |
|||
</div> |
|||
<div class="form-group changeWidth"> |
|||
<label class="col-sm-3 control-label">审核人:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="auditName" th:field="*{auditName}" class="form-control" type="text"> |
|||
</div> |
|||
</div> |
|||
<div class="form-group changeWidth"> |
|||
<label class="col-sm-3 control-label">审核时间:</label> |
|||
<div class="col-sm-8"> |
|||
<div class="input-group date"> |
|||
<input name="auditTime" th:value="*{auditTime}" class="form-control" placeholder="yyyy-MM-dd HH:mm:ss" type="text"> |
|||
<span class="input-group-addon"><i class="fa fa-calendar"></i></span> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="division"> |
|||
<h4>核准</h4> |
|||
</div> |
|||
|
|||
<div class="form-group changeWidth"> |
|||
<label class="col-sm-3 control-label">核准否:</label> |
|||
<div class="col-sm-8"> |
|||
<select name="approveNo" class="form-control m-b" th:with="type=${@dict.getType('sys_whether')}"> |
|||
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{approveNo}"></option> |
|||
</select> |
|||
</div> |
|||
</div> |
|||
<div class="form-group changeWidth"> |
|||
<label class="col-sm-3 control-label">核准人:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="approveName" th:field="*{approveName}" class="form-control" type="text"> |
|||
</div> |
|||
</div> |
|||
<div class="form-group changeWidth"> |
|||
<label class="col-sm-3 control-label">核准时间:</label> |
|||
<div class="col-sm-8"> |
|||
<div class="input-group date"> |
|||
<input name="approveTime" th:value="*{approveTime}" class="form-control" placeholder="yyyy-MM-dd HH:mm:ss" type="text"> |
|||
<span class="input-group-addon"><i class="fa fa-calendar"></i></span> |
|||
</div> |
|||
</div> |
|||
</div>--> |
|||
<!-- <div class="form-group"> --> |
|||
<!-- <label class="col-sm-3 control-label">备用一:</label>--> |
|||
<!-- <div class="col-sm-8">--> |
|||
<!-- <input name="standbyOne" th:field="*{standbyOne}" class="form-control" type="text">--> |
|||
<!-- </div>--> |
|||
<!-- </div>--> |
|||
<!-- <div class="form-group"> --> |
|||
<!-- <label class="col-sm-3 control-label">备用二:</label>--> |
|||
<!-- <div class="col-sm-8">--> |
|||
<!-- <input name="standbyTwo" th:field="*{standbyTwo}" class="form-control" type="text">--> |
|||
<!-- </div>--> |
|||
<!-- </div>--> |
|||
</form> |
|||
</div> |
|||
<th:block th:include="include :: footer" /> |
|||
<th:block th:include="include :: select2-js"/> |
|||
<th:block th:include="include :: datetimepicker-js" /> |
|||
<script th:inline="javascript"> |
|||
var getData = [[${sysQutsourcingQuotation}]]; |
|||
console.log(getData.processingProcedureCode) |
|||
var prefix = ctx + "system/qutsourcingquotation"; |
|||
var supplierdata=[] |
|||
var proceduredata=[] |
|||
$("#form-qutsourcingquotation-edit").validate({ |
|||
focusCleanup: true |
|||
}); |
|||
|
|||
function submitHandler() { |
|||
if ($.validate.form()) { |
|||
$.operate.save(prefix + "/edit", $('#form-qutsourcingquotation-edit').serialize()); |
|||
} |
|||
} |
|||
$("input[name='pricingDate']").datetimepicker({ |
|||
format: "yyyy-mm-dd", |
|||
minView: "month", |
|||
autoclose: true |
|||
}); |
|||
|
|||
$("input[name='confirmTime']").datetimepicker({ |
|||
format: 'yyyy-mm-dd hh:ii:ss', |
|||
autoclose: true, |
|||
minView: 0, |
|||
minuteStep:1 |
|||
}); |
|||
|
|||
$("input[name='auditTime']").datetimepicker({ |
|||
format: 'yyyy-mm-dd hh:ii:ss', |
|||
autoclose: true, |
|||
minView: 0, |
|||
minuteStep:1 |
|||
}); |
|||
|
|||
$("input[name='approveTime']").datetimepicker({ |
|||
format: 'yyyy-mm-dd hh:ii:ss', |
|||
autoclose: true, |
|||
minView: 0, |
|||
minuteStep:1 |
|||
}); |
|||
|
|||
// 厂商编号 |
|||
$.ajax({ |
|||
url: ctx + "system/supplier/list", |
|||
type: "POST", |
|||
success: function (res) { |
|||
// console.log(res) |
|||
if (res.rows.length > 0) { |
|||
supplierdata = res.rows; |
|||
//alert(JSON.stringify(data)); |
|||
// console.log(res.rows) |
|||
for (let i in supplierdata) { |
|||
$("select[name='converterCode']").append("<option value='" + supplierdata[i].supplierCode + "'>" + supplierdata[i].supplierCode + "</option>"); |
|||
$("select[name='converterName']").append("<option value='" + supplierdata[i].supplierName + "'>" + supplierdata[i].supplierName + "</option>"); |
|||
|
|||
} |
|||
$("select[name='converterCode']").val(getData.converterCode).trigger("change") |
|||
$("select[name='converterName']").val(getData.converterName).trigger("change") |
|||
} else { |
|||
$.modal.msgError(res.msg); |
|||
} |
|||
}, |
|||
error: function () { |
|||
$.modal.msgError("后台出错啦!"); |
|||
|
|||
} |
|||
|
|||
}) |
|||
|
|||
$("select[name='converterCode']").change(function () { |
|||
|
|||
var converterCode = $(this).val(); |
|||
|
|||
for (i = 0; i < supplierdata.length; i++) { |
|||
if (supplierdata[i].supplierCode == converterCode) { |
|||
|
|||
$("select[name='converterName']").val(supplierdata[i].supplierName).trigger("change") |
|||
|
|||
} |
|||
} |
|||
}) |
|||
// $("select[name='converterName']").change(function () { |
|||
// |
|||
// var converterName = $(this).val(); |
|||
// |
|||
// for (i = 0; i < supplierdata.length; i++) { |
|||
// if (supplierdata[i].converterName == converterName) { |
|||
// |
|||
// $("select[name='converterCode']").val(supplierdata[i].supplierCode).trigger("change") |
|||
// |
|||
// } |
|||
// } |
|||
// }) |
|||
|
|||
// 加工工序 |
|||
|
|||
$.ajax({ |
|||
url: ctx + "system/procedure/list", |
|||
type: "POST", |
|||
success: function (res) { |
|||
console.log(res) |
|||
if (res.rows.length > 0) { |
|||
proceduredata = res.rows; |
|||
//alert(JSON.stringify(data)); |
|||
// console.log(res.rows) |
|||
for (let i in proceduredata) { |
|||
$("select[name='processingProcedureCode']").append("<option value='" + proceduredata[i].procedureCode + "'>" + proceduredata[i].procedureCode + "</option>"); |
|||
$("select[name='processingProcedureName']").append("<option value='" + proceduredata[i].procedureName + "'>" + proceduredata[i].procedureName + "</option>"); |
|||
|
|||
} |
|||
|
|||
$("select[name='processingProcedureCode']").val(getData.processingProcedureCode).trigger("change") |
|||
$("select[name='processingProcedureName']").val(getData.processingProcedureName).trigger("change") |
|||
|
|||
} else { |
|||
$.modal.msgError(res.msg); |
|||
} |
|||
}, |
|||
error: function () { |
|||
$.modal.msgError("后台出错啦!"); |
|||
|
|||
} |
|||
|
|||
}) |
|||
// |
|||
// $("select[name='processingProcedureName']").change(function () { |
|||
// |
|||
// var processingProcedureName = $(this).val(); |
|||
// |
|||
// for (i = 0; i < proceduredata.length; i++) { |
|||
// if (proceduredata[i].procedureName == processingProcedureName) { |
|||
// |
|||
// $("select[name='processingProcedureCode']").val(proceduredata[i].procedureCode).trigger("change") |
|||
// |
|||
// } |
|||
// } |
|||
// }) |
|||
|
|||
//获取登记人 |
|||
$.ajax({ |
|||
url: ctx + "system/user/list", |
|||
type: "post", |
|||
success: function (res) { |
|||
// console.log(res) |
|||
if (res.rows.length > 0) { |
|||
let userData = res.rows; |
|||
for (let i in userData) { |
|||
// console.log(finishProductData[i].finishProductCode) |
|||
$("#form-qutsourcingquotation-edit select[name='registrant']").append("<option value='" + userData[i].userName + "'>" + userData[i].userName + "</option>"); |
|||
} |
|||
$("#form-qutsourcingquotation-edit select[name='registrant']").val(getData.registrant).trigger("change") |
|||
} else { |
|||
$.modal.msgError(res.msg); |
|||
} |
|||
|
|||
} |
|||
}) |
|||
|
|||
$("select[name='processingProcedureCode']").change(function () { |
|||
|
|||
var processingProcedureCode = $(this).val(); |
|||
|
|||
for (i = 0; i < proceduredata.length; i++) { |
|||
if (proceduredata[i].procedureCode == processingProcedureCode) { |
|||
|
|||
$("select[name='processingProcedureName']").val(proceduredata[i].procedureName).trigger("change") |
|||
|
|||
} |
|||
} |
|||
}) |
|||
|
|||
|
|||
</script> |
|||
</body> |
|||
</html> |
@ -1,650 +0,0 @@ |
|||
<!DOCTYPE html> |
|||
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro"> |
|||
<head> |
|||
<th:block th:include="include :: header('委外报价列表')"/> |
|||
</head> |
|||
<body class="gray-bg"> |
|||
<div class="container-div"> |
|||
<div class="row"> |
|||
<div class="col-sm-12 search-collapse"> |
|||
<form id="formId"> |
|||
<div class="select-list"> |
|||
<ul> |
|||
<li> |
|||
<label>报价编码:</label> |
|||
<input type="text" name="quotationCode"/> |
|||
</li> |
|||
<li> |
|||
<label>物料代码:</label> |
|||
|
|||
<!-- <select name="materialCode">--> |
|||
<!-- <option value="">所有</option>--> |
|||
<!-- </select>--> |
|||
<input type="text" name="materialCode"/> |
|||
|
|||
</li> |
|||
<li> |
|||
<label>物料名称:</label> |
|||
<input type="text" name="materialName"/> |
|||
</li> |
|||
<li> |
|||
<label>加工商名称:</label> |
|||
<!-- <select name="converterName">--> |
|||
<!-- <option value="">所有</option>--> |
|||
|
|||
<!-- </select>--> |
|||
<input type="text" name="converterName"/> |
|||
|
|||
</li> |
|||
<li> |
|||
<label>确认否:</label> |
|||
<select name="confirmNo" th:with="type=${@dict.getType('sys_whether')}"> |
|||
<option value="">所有</option> |
|||
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" |
|||
th:value="${dict.dictValue}"></option> |
|||
</select> |
|||
</li> |
|||
<li> |
|||
<label>审核否:</label> |
|||
<select name="auditNo" th:with="type=${@dict.getType('sys_whether')}"> |
|||
<option value="">所有</option> |
|||
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" |
|||
th:value="${dict.dictValue}"></option> |
|||
</select> |
|||
</li> |
|||
<li> |
|||
<label>核准否:</label> |
|||
<select name="approveNo" th:with="type=${@dict.getType('sys_whether')}"> |
|||
<option value="">所有</option> |
|||
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" |
|||
th:value="${dict.dictValue}"></option> |
|||
</select> |
|||
</li> |
|||
<li> |
|||
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i |
|||
class="fa fa-search"></i> 搜索</a> |
|||
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i |
|||
class="fa fa-refresh"></i> 重置</a> |
|||
</li> |
|||
</ul> |
|||
</div> |
|||
</form> |
|||
</div> |
|||
|
|||
<div class="btn-group-sm" id="toolbar" role="group"> |
|||
<a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="system:qutsourcingquotation:add"> |
|||
<i class="fa fa-plus"></i> 添加 |
|||
</a> |
|||
<a class="btn btn-primary single disabled" onclick="$.operate.edit()" |
|||
shiro:hasPermission="system:qutsourcingquotation:edit"> |
|||
<i class="fa fa-edit"></i> 修改 |
|||
</a> |
|||
<a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" |
|||
shiro:hasPermission="system:qutsourcingquotation:remove"> |
|||
<i class="fa fa-remove"></i> 删除 |
|||
</a> |
|||
<a class="btn btn-warning" onclick="$.table.exportExcel()" |
|||
shiro:hasPermission="system:qutsourcingquotation:export"> |
|||
<i class="fa fa-download"></i> 导出 |
|||
</a> |
|||
<a class="btn btn-info" onclick="quotationAudit()" shiro:hasPermission="system:qutsourcingquotation:audit"> |
|||
|
|||
<i class="fa fa-file-text"></i> 审核 |
|||
</a> |
|||
<a class="btn btn-success" onclick="quotationConfirm()" shiro:hasPermission="system:qutsourcingquotation:confirm"> |
|||
|
|||
<i class="fa fa-hand-grab-o"></i> 确认 |
|||
</a> |
|||
<a class="btn btn-primary" onclick="quotationApprove()" shiro:hasPermission="system:qutsourcingquotation:approve"> |
|||
|
|||
<i class="fa fa-hand-grab-o"></i> 核准 |
|||
</a> |
|||
</div> |
|||
<div class="col-sm-12 select-table table-striped"> |
|||
<table id="bootstrap-table" style="white-space:nowrap"></table> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
|
|||
<!--审核确认--> |
|||
<div class="modal fade" id="AuditModel"> |
|||
<div class="modal-dialog"> |
|||
<div class="modal-content message_align"> |
|||
<div class="modal-header"> |
|||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span |
|||
aria-hidden="true">×</span></button> |
|||
<h4 class="modal-title">审核信息</h4> |
|||
</div> |
|||
<div class="modal-body" style="height: 180px"> |
|||
<form id="form-audit-edit"> |
|||
<div class="form-group" style="display: none"> |
|||
<label class="col-sm-3 control-label is-required">委外报价id:</label> |
|||
<div class="col-sm-8"> |
|||
<input id="qutsourcingQuotationId" name="qutsourcingQuotationId" class="form-control" type="text" |
|||
required |
|||
readonly> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">审核否:</label> |
|||
<div class="col-sm-8"> |
|||
<select id="auditNo" name="auditNo" class="form-control" |
|||
th:with="type=${@dict.getType('sys_whether')}"> |
|||
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" |
|||
th:value="${dict.dictValue}"></option> |
|||
</select> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">审核时间:</label> |
|||
<div class="col-sm-8"> |
|||
<div class="input-group date"> |
|||
<input id="auditTime" name="auditTime" class="form-control " |
|||
placeholder="yyyy-MM-dd HH:mm:ss" type="text"> |
|||
<span class="input-group-addon"><i class="fa fa-calendar"></i></span> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">审核人:</label> |
|||
<div class="col-sm-8"> |
|||
<input id="auditName" name="auditName" class="form-control" type="text"> |
|||
</div> |
|||
</div> |
|||
</form> |
|||
</div> |
|||
<div class="modal-footer"> |
|||
<button type="button" class="btn btn-default" data-dismiss="modal">取消</button> |
|||
<button type="button" onclick="AuditConfirmSubmit()" class="btn btn-success" data-dismiss="modal">确定 |
|||
</button> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="alert alert-success hide">审核成功</div> |
|||
|
|||
<!--核准--> |
|||
|
|||
<div class="modal fade" id="approveModel"> |
|||
<div class="modal-dialog"> |
|||
<div class="modal-content message_align"> |
|||
<div class="modal-header"> |
|||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span |
|||
aria-hidden="true">×</span></button> |
|||
<h4 class="modal-title">核准信息</h4> |
|||
</div> |
|||
<div class="modal-body" style="height: 180px"> |
|||
<form id="form-approve-edit"> |
|||
<div class="form-group" style="display: none"> |
|||
<label class="col-sm-3 control-label is-required">委外报价id:</label> |
|||
<div class="col-sm-8"> |
|||
<input id="qutsourcingQuotationId3" name="qutsourcingQuotationId" class="form-control" type="text" |
|||
required |
|||
readonly> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">核准否:</label> |
|||
<div class="col-sm-8"> |
|||
<select id="approveNo" name="approveNo" class="form-control" |
|||
th:with="type=${@dict.getType('sys_whether')}"> |
|||
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" |
|||
th:value="${dict.dictValue}"></option> |
|||
</select> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">核准时间:</label> |
|||
<div class="col-sm-8"> |
|||
<div class="input-group date"> |
|||
<input id="approveTime" name="approveTime" class="form-control" |
|||
placeholder="yyyy-mm-dd hh:ii:ss" type="text"> |
|||
<span class="input-group-addon"><i class="fa fa-calendar"></i></span> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">核准人:</label> |
|||
<div class="col-sm-8"> |
|||
<input id="approveName" name="approveName" class="form-control" type="text"> |
|||
</div> |
|||
</div> |
|||
</form> |
|||
</div> |
|||
<div class="modal-footer"> |
|||
<button type="button" class="btn btn-default" data-dismiss="modal">取消</button> |
|||
<button type="button" onclick="ApproveConfirmSubmit()" class="btn btn-success" data-dismiss="modal">确定 |
|||
</button> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="alert alert-warning hide">委外报价已核准</div> |
|||
|
|||
<!--确认--> |
|||
|
|||
|
|||
<div class="modal fade" id="confirmModel"> |
|||
<div class="modal-dialog"> |
|||
<div class="modal-content message_align"> |
|||
<div class="modal-header"> |
|||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span |
|||
aria-hidden="true">×</span></button> |
|||
<h4 class="modal-title">确认信息</h4> |
|||
</div> |
|||
<div class="modal-body" style="height: 180px"> |
|||
<form id="form-confirm-edit"> |
|||
<div class="form-group" style="display: none"> |
|||
<label class="col-sm-3 control-label is-required">委外报价id:</label> |
|||
<div class="col-sm-8"> |
|||
<input id="qutsourcingQuotationId2" name="qutsourcingQuotationId" class="form-control" type="text" |
|||
required |
|||
readonly> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">确认否:</label> |
|||
<div class="col-sm-8"> |
|||
<select id="confirmNo" name="confirmNo" class="form-control" |
|||
th:with="type=${@dict.getType('sys_whether')}"> |
|||
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" |
|||
th:value="${dict.dictValue}"></option> |
|||
</select> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">确认日期:</label> |
|||
<div class="col-sm-8"> |
|||
<div class="input-group date"> |
|||
<input id="confirmTime" name="confirmTime" class="form-control" |
|||
placeholder="yyyy-mm-dd hh:ii:ss" type="text"> |
|||
<span class="input-group-addon"><i class="fa fa-calendar"></i></span> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">确认人:</label> |
|||
<div class="col-sm-8"> |
|||
<input id="confirmName" name="confirmName" class="form-control" type="text"> |
|||
</div> |
|||
</div> |
|||
</form> |
|||
</div> |
|||
<div class="modal-footer"> |
|||
<button type="button" class="btn btn-default" data-dismiss="modal">取消</button> |
|||
<button type="button" onclick="ConfirmSubmit()" class="btn btn-success" data-dismiss="modal">确定</button> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="alert alert-info hide">委外报价已确认</div> |
|||
|
|||
<th:block th:include="include :: footer"/> |
|||
<th:block th:include="include :: datetimepicker-js"/> |
|||
|
|||
<script th:inline="javascript"> |
|||
var editFlag = [[${@permission.hasPermi('system:qutsourcingquotation:edit')}]]; |
|||
var removeFlag = [[${@permission.hasPermi('system:qutsourcingquotation:remove')}]]; |
|||
var measurementUnitDatas = [[${@dict.getType('sys_unit_class')}]]; |
|||
var commonCurrencyDatas = [[${@dict.getType('sys_common_currency')}]]; |
|||
var inventoryUnitDatas = [[${@dict.getType('sys_unit_class')}]]; |
|||
var currentQuoteDatas = [[${@dict.getType('sys_whether')}]]; |
|||
var confirmNoDatas = [[${@dict.getType('sys_whether')}]]; |
|||
var auditNoDatas = [[${@dict.getType('sys_whether')}]]; |
|||
var approveNoDatas = [[${@dict.getType('sys_whether')}]]; |
|||
var prefix = ctx + "system/qutsourcingquotation"; |
|||
|
|||
$(function () { |
|||
var options = { |
|||
url: prefix + "/list", |
|||
createUrl: prefix + "/add", |
|||
updateUrl: prefix + "/edit/{id}", |
|||
removeUrl: prefix + "/remove", |
|||
exportUrl: prefix + "/export", |
|||
clickToSelect: true, |
|||
modalName: "委外报价", |
|||
columns: [{ |
|||
checkbox: true |
|||
}, |
|||
{ |
|||
field: 'qutsourcingQuotationId', |
|||
title: '委外报价id', |
|||
visible: false |
|||
}, |
|||
{ |
|||
field: 'auditNo', |
|||
title: '审核否', |
|||
formatter: function (value, row, index) { |
|||
return $.table.selectDictLabel(auditNoDatas, value); |
|||
} |
|||
}, |
|||
{ |
|||
field: 'confirmNo', |
|||
title: '确认否', |
|||
visible: false, |
|||
formatter: function (value, row, index) { |
|||
// return $.table.selectDictLabel(confirmNoDatas, value); |
|||
|
|||
var actions = []; |
|||
if ($.table.selectDictLabel(confirmNoDatas, value) == "<span class=''>是</span>") { |
|||
actions.push('<a class="btn btn-primary btn-xs disabled">已确认</a> '); |
|||
} else { |
|||
actions.push('<a class="btn btn-danger btn-xs disabled">未确认</a> '); |
|||
} |
|||
return actions.join(''); |
|||
} |
|||
}, |
|||
{ |
|||
field: 'approveNo', |
|||
title: '核准否', |
|||
formatter: function (value, row, index) { |
|||
// return $.table.selectDictLabel(confirmNoDatas, value); |
|||
|
|||
var actions = []; |
|||
if ($.table.selectDictLabel(approveNoDatas, value) == "<span class=''>是</span>") { |
|||
actions.push('<a class="btn btn-primary btn-xs disabled">已核准</a> '); |
|||
} else { |
|||
actions.push('<a class="btn btn-danger btn-xs disabled">未核准</a> '); |
|||
} |
|||
return actions.join(''); |
|||
} |
|||
}, |
|||
{ |
|||
field: 'quotationCode', |
|||
title: '报价编码' |
|||
}, |
|||
{ |
|||
field: 'materialCode', |
|||
title: '物料代码' |
|||
}, |
|||
{ |
|||
field: 'materialName', |
|||
title: '物料名称' |
|||
}, |
|||
{ |
|||
field: 'measurementUnit', |
|||
title: '计量单位', |
|||
formatter: function (value, row, index) { |
|||
return $.table.selectDictLabel(measurementUnitDatas, value); |
|||
} |
|||
}, |
|||
{ |
|||
field: 'commonCurrency', |
|||
title: '报价币别', |
|||
formatter: function (value, row, index) { |
|||
return $.table.selectDictLabel(commonCurrencyDatas, value); |
|||
} |
|||
}, |
|||
{ |
|||
field: 'processPrice', |
|||
title: '加工单价' |
|||
}, |
|||
{ |
|||
field: 'processingProcedureName', |
|||
title: '加工工序名称' |
|||
}, |
|||
{ |
|||
field: 'processingProcedureCode', |
|||
title: '加工工序编号' |
|||
}, |
|||
{ |
|||
field: 'converterCode', |
|||
title: '加工商编号' |
|||
}, |
|||
{ |
|||
field: 'converterName', |
|||
title: '加工商名称' |
|||
}, |
|||
{ |
|||
field: 'pricingDate', |
|||
title: '报价日期' |
|||
}, |
|||
{ |
|||
field: 'inventoryUnit', |
|||
title: '库存单位', |
|||
formatter: function (value, row, index) { |
|||
return $.table.selectDictLabel(inventoryUnitDatas, value); |
|||
} |
|||
}, |
|||
{ |
|||
field: 'taxRate', |
|||
title: '国内税率', |
|||
}, |
|||
{ |
|||
field: 'relationalFormula', |
|||
title: '每采购单位对应多少库存单位', |
|||
visible: false |
|||
}, |
|||
{ |
|||
field: 'quotationExplain', |
|||
title: '备注' |
|||
}, |
|||
{ |
|||
field: 'currentQuote', |
|||
title: '是否为当前报价', |
|||
formatter: function (value, row, index) { |
|||
return $.table.selectDictLabel(currentQuoteDatas, value); |
|||
} |
|||
}, |
|||
{ |
|||
field: 'registrant', |
|||
title: '登记人' |
|||
}, |
|||
|
|||
{ |
|||
field: 'confirmName', |
|||
title: '确认人' |
|||
}, |
|||
{ |
|||
field: 'confirmTime', |
|||
title: '确认时间' |
|||
}, |
|||
|
|||
{ |
|||
field: 'auditName', |
|||
title: '审核人', |
|||
visible: false |
|||
}, |
|||
{ |
|||
field: 'auditTime', |
|||
title: '审核时间', |
|||
visible: false |
|||
}, |
|||
{ |
|||
field: 'approveName', |
|||
title: '核准人', |
|||
visible: false |
|||
}, |
|||
{ |
|||
field: 'approveTime', |
|||
title: '核准时间', |
|||
visible: false |
|||
}, |
|||
{ |
|||
field: 'standbyOne', |
|||
title: '备用一', |
|||
visible: false |
|||
}, |
|||
{ |
|||
field: 'standbyTwo', |
|||
title: '备用二', |
|||
visible: false |
|||
|
|||
}, |
|||
{ |
|||
field: 'firstAddTime', |
|||
title: '录入时间', |
|||
formatter: function (value, row, index) { |
|||
if (value == null) { |
|||
return " "; |
|||
} else { |
|||
return value; |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
field: 'createBy', |
|||
title: '录入时间', |
|||
}, |
|||
{ |
|||
field: 'updateBy', |
|||
title: '更新人' |
|||
}, |
|||
{ |
|||
field: 'updateInfoTime', |
|||
title: '上次更新时间', |
|||
formatter: function (value, row, index) { |
|||
if (value == null) { |
|||
return " "; |
|||
} else { |
|||
var vArr = value.split(',') |
|||
return vArr[0]; |
|||
} |
|||
} |
|||
}, |
|||
{ |
|||
title: '操作', |
|||
align: 'center', |
|||
formatter: function (value, row, index) { |
|||
var actions = []; |
|||
actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.qutsourcingQuotationId + '\')"><i class="fa fa-edit"></i>编辑</a> '); |
|||
actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.qutsourcingQuotationId + '\')"><i class="fa fa-remove"></i>删除</a>'); |
|||
return actions.join(''); |
|||
} |
|||
}] |
|||
}; |
|||
$.table.init(options); |
|||
}); |
|||
|
|||
// 审核确认 |
|||
function quotationAudit() { |
|||
let data = $("#bootstrap-table").bootstrapTable("getSelections"); |
|||
let userName = [[${@permission.getPrincipalProperty('userName')}]]; |
|||
if (data.length === 1) { |
|||
$("#qutsourcingQuotationId").val(data[0].qutsourcingQuotationId) |
|||
$("#auditNo").val(1).trigger("change") |
|||
$("#auditName").val(userName) |
|||
$("#auditTime").datetimepicker("setDate", new Date()); |
|||
$("#AuditModel").modal("show"); |
|||
} else { |
|||
$.modal.alert("请选择一条数据"); |
|||
} |
|||
|
|||
} |
|||
|
|||
// 审核确认 |
|||
function AuditConfirmSubmit() { |
|||
var auditNo = $("#auditNo").val() |
|||
$.ajax({ |
|||
url: prefix + "/edit", |
|||
type: "post", |
|||
resultType: "json", |
|||
data: $('#form-audit-edit').serialize(), |
|||
success: function (resp) { |
|||
console.log(resp) |
|||
$("#bootstrap-table").bootstrapTable('refresh'); |
|||
// $(".alert-success").addClass("show"); |
|||
// window.setTimeout(function () { |
|||
// $(".alert-success").removeClass("show"); |
|||
// }, 1000);//显示的时间 |
|||
if (auditNo == 1) { |
|||
$.modal.msgSuccess("审核成功!") |
|||
} else if (auditNo == 0) { |
|||
$.modal.msgSuccess("取消审核成功!") |
|||
} |
|||
}, |
|||
error: function () { |
|||
$.modal.msgError("出错了!"); |
|||
} |
|||
}); |
|||
} |
|||
|
|||
// 确认 |
|||
function quotationConfirm() { |
|||
let data = $("#bootstrap-table").bootstrapTable("getSelections"); |
|||
let userName = [[${@permission.getPrincipalProperty('userName')}]]; |
|||
if (data.length === 1) { |
|||
$("#qutsourcingQuotationId2").val(data[0].qutsourcingQuotationId) |
|||
$("#confirmNo").val(1).trigger("change") |
|||
$("#confirmName").val(userName) |
|||
$("#confirmTime").datetimepicker("setDate", new Date()); |
|||
$("#confirmModel").modal("show"); |
|||
} else { |
|||
$.modal.alert("请选择一条数据"); |
|||
} |
|||
|
|||
} |
|||
|
|||
// 确认 |
|||
function ConfirmSubmit() { |
|||
// console.log($('#form-confirm-edit').serialize()) |
|||
var confirmNo = $("#confirmNo").val() |
|||
$.ajax({ |
|||
url: prefix + "/edit", |
|||
type: "post", |
|||
resultType: "json", |
|||
data: $('#form-confirm-edit').serialize(), |
|||
success: function (resp) { |
|||
console.log(resp) |
|||
$("#bootstrap-table").bootstrapTable('refresh'); |
|||
// $(".alert-info").addClass("show"); |
|||
// window.setTimeout(function () { |
|||
// $(".alert-info").removeClass("show"); |
|||
// }, 1000);//显示的时间 |
|||
if (confirmNo == 1) { |
|||
$.modal.msgSuccess("确认成功!") |
|||
} else if (confirmNo == 0) { |
|||
$.modal.msgSuccess("取消确认成功!") |
|||
} |
|||
}, |
|||
error: function () { |
|||
$.modal.msgError("出错了!"); |
|||
} |
|||
}); |
|||
} |
|||
// 核准 |
|||
function quotationApprove() { |
|||
let data = $("#bootstrap-table").bootstrapTable("getSelections"); |
|||
let userName = [[${@permission.getPrincipalProperty('userName')}]]; |
|||
if (data.length === 1) { |
|||
$("#qutsourcingQuotationId3").val(data[0].qutsourcingQuotationId) |
|||
$("#approveNo").val(1).trigger("change") |
|||
$("#approveName").val(userName) |
|||
$("#approveTime").datetimepicker("setDate", new Date()); |
|||
$("#approveModel").modal("show"); |
|||
} else { |
|||
$.modal.alert("请选择一条数据"); |
|||
} |
|||
|
|||
} |
|||
|
|||
// 核准 |
|||
function ApproveConfirmSubmit() { |
|||
|
|||
var approveNo = $("#approveNo").val() |
|||
$.ajax({ |
|||
url: prefix + "/edit", |
|||
type: "post", |
|||
resultType: "json", |
|||
data: $('#form-approve-edit').serialize(), |
|||
success: function (resp) { |
|||
$("#bootstrap-table").bootstrapTable('refresh'); |
|||
// $(".alert-warning").addClass("show"); |
|||
// window.setTimeout(function () { |
|||
// $(".alert-warning").removeClass("show"); |
|||
// }, 1000);//显示的时间 |
|||
if (approveNo == 1) { |
|||
$.modal.msgSuccess("核准成功!") |
|||
} else if (approveNo == 0) { |
|||
$.modal.msgSuccess("取消核准成功!") |
|||
} |
|||
}, |
|||
error: function () { |
|||
$.modal.msgError("出错了!"); |
|||
} |
|||
}); |
|||
} |
|||
|
|||
</script> |
|||
</body> |
|||
</html> |
Loading…
Reference in new issue