From dea0a32cf795a33bf4e4cbdb8a3cbae2897ba698 Mon Sep 17 00:00:00 2001 From: admin <15939171744@163.com> Date: 星期二, 26 十一月 2024 14:33:28 +0800 Subject: [PATCH] -物料信息 工位信息 --- billion-main/src/main/java/com/billion/main/bs/domain/BsMaterialInfo.java | 71 ++ billion-main/src/main/java/com/billion/main/bs/mapper/BsMaterialInfoMapper.java | 63 + billion-main/src/main/java/com/billion/main/bs/controller/BsMaterialInfoController.java | 104 +++ billion-ui/src/api/main/bs/locationInfo.js | 44 + billion-ui/src/views/main/bs/routeInfo/ProductSelector.vue | 58 + billion-main/src/main/java/com/billion/main/bs/domain/BsLocationInfo.java | 47 + billion-main/src/main/resources/mapper/bs/BsMaterialInfoMapper.xml | 124 +++ billion-ui/src/views/main/bs/locationInfo/index.vue | 300 +++++++++ billion-ui/src/api/main/bs/materialInfo.js | 44 + billion-main/src/main/java/com/billion/main/bs/service/impl/BsMaterialInfoServiceImpl.java | 98 +++ billion-main/src/main/resources/mapper/bs/BsLocationInfoMapper.xml | 97 +++ billion-main/src/main/java/com/billion/main/bs/service/IBsMaterialInfoService.java | 63 + billion-generator/src/main/resources/vm/vue/index.vue.vm | 2 billion-ui/src/views/main/bs/routeInfo/index.vue | 57 + billion-main/src/main/java/com/billion/main/bs/service/IBsLocationInfoService.java | 63 + billion-main/src/main/java/com/billion/main/bs/controller/BsLocationInfoController.java | 104 +++ billion-main/src/main/java/com/billion/main/bs/mapper/BsLocationInfoMapper.java | 63 + billion-main/src/main/java/com/billion/main/bs/service/impl/BsLocationInfoServiceImpl.java | 98 +++ billion-ui/src/views/main/bs/materialInfo/index.vue | 410 ++++++++++++ 19 files changed, 1,899 insertions(+), 11 deletions(-) diff --git a/billion-generator/src/main/resources/vm/vue/index.vue.vm b/billion-generator/src/main/resources/vm/vue/index.vue.vm index 002940f..e08822f 100644 --- a/billion-generator/src/main/resources/vm/vue/index.vue.vm +++ b/billion-generator/src/main/resources/vm/vue/index.vue.vm @@ -145,7 +145,7 @@ </template> </el-table-column> #elseif($column.list && "" != $javaField) - <el-table-column show-overflow-tooltip="true" label="${comment}" align="center" prop="${javaField}" /> + <el-table-column :show-overflow-tooltip="true" label="${comment}" align="center" prop="${javaField}" /> #end #end ## <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width"> diff --git a/billion-main/src/main/java/com/billion/main/bs/controller/BsLocationInfoController.java b/billion-main/src/main/java/com/billion/main/bs/controller/BsLocationInfoController.java new file mode 100644 index 0000000..1c143bc --- /dev/null +++ b/billion-main/src/main/java/com/billion/main/bs/controller/BsLocationInfoController.java @@ -0,0 +1,104 @@ +package com.billion.main.bs.controller; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.billion.common.annotation.Log; +import com.billion.common.core.controller.BaseController; +import com.billion.common.core.domain.AjaxResult; +import com.billion.common.enums.BusinessType; +import com.billion.main.bs.domain.BsLocationInfo; +import com.billion.main.bs.service.IBsLocationInfoService; +import com.billion.common.utils.poi.ExcelUtil; +import com.billion.common.core.page.TableDataInfo; + +/** + * 宸ヤ綅淇℃伅Controller + * + * @author Billion-Yi + * @date 2024-11-26 + */ +@RestController +@RequestMapping("/bs/locationInfo") +public class BsLocationInfoController extends BaseController +{ + @Autowired + private IBsLocationInfoService bsLocationInfoService; + + /** + * 鏌ヨ宸ヤ綅淇℃伅鍒楄〃 + */ + @PreAuthorize("@ss.hasPermi('bs:locationInfo:list')") + @GetMapping("/list") + public TableDataInfo list(BsLocationInfo bsLocationInfo) + { + startPage(); + List<BsLocationInfo> list = bsLocationInfoService.selectBsLocationInfoList(bsLocationInfo); + return getDataTable(list); + } + + /** + * 瀵煎嚭宸ヤ綅淇℃伅鍒楄〃 + */ + @PreAuthorize("@ss.hasPermi('bs:locationInfo:export')") + @Log(title = "宸ヤ綅淇℃伅", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BsLocationInfo bsLocationInfo) + { + List<BsLocationInfo> list = bsLocationInfoService.selectBsLocationInfoList(bsLocationInfo); + ExcelUtil<BsLocationInfo> util = new ExcelUtil<BsLocationInfo>(BsLocationInfo.class); + util.exportExcel(response, list, "宸ヤ綅淇℃伅鏁版嵁"); + } + + /** + * 鑾峰彇宸ヤ綅淇℃伅璇︾粏淇℃伅 + */ + @PreAuthorize("@ss.hasPermi('bs:locationInfo:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) + { + return success(bsLocationInfoService.selectBsLocationInfoById(id)); + } + + /** + * 鏂板宸ヤ綅淇℃伅 + */ + @PreAuthorize("@ss.hasPermi('bs:locationInfo:add')") + @Log(title = "宸ヤ綅淇℃伅", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody BsLocationInfo bsLocationInfo) + { + return toAjax(bsLocationInfoService.insertBsLocationInfo(bsLocationInfo)); + } + + /** + * 淇敼宸ヤ綅淇℃伅 + */ + @PreAuthorize("@ss.hasPermi('bs:locationInfo:edit')") + @Log(title = "宸ヤ綅淇℃伅", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody BsLocationInfo bsLocationInfo) + { + return toAjax(bsLocationInfoService.updateBsLocationInfo(bsLocationInfo)); + } + + /** + * 鍒犻櫎宸ヤ綅淇℃伅 + */ + @PreAuthorize("@ss.hasPermi('bs:locationInfo:remove')") + @Log(title = "宸ヤ綅淇℃伅", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) + { + return toAjax(bsLocationInfoService.deleteBsLocationInfoByIds(ids)); + } +} diff --git a/billion-main/src/main/java/com/billion/main/bs/controller/BsMaterialInfoController.java b/billion-main/src/main/java/com/billion/main/bs/controller/BsMaterialInfoController.java new file mode 100644 index 0000000..02bdd59 --- /dev/null +++ b/billion-main/src/main/java/com/billion/main/bs/controller/BsMaterialInfoController.java @@ -0,0 +1,104 @@ +package com.billion.main.bs.controller; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.billion.common.annotation.Log; +import com.billion.common.core.controller.BaseController; +import com.billion.common.core.domain.AjaxResult; +import com.billion.common.enums.BusinessType; +import com.billion.main.bs.domain.BsMaterialInfo; +import com.billion.main.bs.service.IBsMaterialInfoService; +import com.billion.common.utils.poi.ExcelUtil; +import com.billion.common.core.page.TableDataInfo; + +/** + * 鐗╂枡淇℃伅Controller + * + * @author Billion-Yi + * @date 2024-11-26 + */ +@RestController +@RequestMapping("/bs/materialInfo") +public class BsMaterialInfoController extends BaseController +{ + @Autowired + private IBsMaterialInfoService bsMaterialInfoService; + + /** + * 鏌ヨ鐗╂枡淇℃伅鍒楄〃 + */ + @PreAuthorize("@ss.hasPermi('bs:materialInfo:list')") + @GetMapping("/list") + public TableDataInfo list(BsMaterialInfo bsMaterialInfo) + { + startPage(); + List<BsMaterialInfo> list = bsMaterialInfoService.selectBsMaterialInfoList(bsMaterialInfo); + return getDataTable(list); + } + + /** + * 瀵煎嚭鐗╂枡淇℃伅鍒楄〃 + */ + @PreAuthorize("@ss.hasPermi('bs:materialInfo:export')") + @Log(title = "鐗╂枡淇℃伅", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, BsMaterialInfo bsMaterialInfo) + { + List<BsMaterialInfo> list = bsMaterialInfoService.selectBsMaterialInfoList(bsMaterialInfo); + ExcelUtil<BsMaterialInfo> util = new ExcelUtil<BsMaterialInfo>(BsMaterialInfo.class); + util.exportExcel(response, list, "鐗╂枡淇℃伅鏁版嵁"); + } + + /** + * 鑾峰彇鐗╂枡淇℃伅璇︾粏淇℃伅 + */ + @PreAuthorize("@ss.hasPermi('bs:materialInfo:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) + { + return success(bsMaterialInfoService.selectBsMaterialInfoById(id)); + } + + /** + * 鏂板鐗╂枡淇℃伅 + */ + @PreAuthorize("@ss.hasPermi('bs:materialInfo:add')") + @Log(title = "鐗╂枡淇℃伅", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody BsMaterialInfo bsMaterialInfo) + { + return toAjax(bsMaterialInfoService.insertBsMaterialInfo(bsMaterialInfo)); + } + + /** + * 淇敼鐗╂枡淇℃伅 + */ + @PreAuthorize("@ss.hasPermi('bs:materialInfo:edit')") + @Log(title = "鐗╂枡淇℃伅", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody BsMaterialInfo bsMaterialInfo) + { + return toAjax(bsMaterialInfoService.updateBsMaterialInfo(bsMaterialInfo)); + } + + /** + * 鍒犻櫎鐗╂枡淇℃伅 + */ + @PreAuthorize("@ss.hasPermi('bs:materialInfo:remove')") + @Log(title = "鐗╂枡淇℃伅", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) + { + return toAjax(bsMaterialInfoService.deleteBsMaterialInfoByIds(ids)); + } +} diff --git a/billion-main/src/main/java/com/billion/main/bs/domain/BsLocationInfo.java b/billion-main/src/main/java/com/billion/main/bs/domain/BsLocationInfo.java new file mode 100644 index 0000000..0079381 --- /dev/null +++ b/billion-main/src/main/java/com/billion/main/bs/domain/BsLocationInfo.java @@ -0,0 +1,47 @@ +package com.billion.main.bs.domain; + +import lombok.Data; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.billion.common.annotation.Excel; +import com.billion.main.common.BaseEntity; + +/** + * 宸ヤ綅淇℃伅瀵硅薄 bs_location_info + * + * @author Billion-Yi + * @date 2024-11-26 + */ +@Data +public class BsLocationInfo extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 涓婚敭id */ + private Long id; + + /** 宸ヤ綅缂栧彿 */ + @Excel(name = "宸ヤ綅缂栧彿") + private String locationCode; + + /** 宸ヤ綅鍚嶇О */ + @Excel(name = "宸ヤ綅鍚嶇О") + private String locationName; + + /** 宸ヤ綅绫诲瀷锛�1鑷姩2鍗婅嚜鍔�3鎵嬪姩锛� */ + @Excel(name = "宸ヤ綅绫诲瀷", readConverterExp = "1=鑷姩2鍗婅嚜鍔�3鎵嬪姩") + private String locationType; + + /** 浜х嚎缂栧彿 */ + @Excel(name = "浜х嚎缂栧彿") + private String lineCode; + + /** 澶囨敞 */ + @Excel(name = "澶囨敞") + private String remarks; + + /** 閫昏緫鍒犻櫎 */ + private String delFlag; + + +} diff --git a/billion-main/src/main/java/com/billion/main/bs/domain/BsMaterialInfo.java b/billion-main/src/main/java/com/billion/main/bs/domain/BsMaterialInfo.java new file mode 100644 index 0000000..07adb07 --- /dev/null +++ b/billion-main/src/main/java/com/billion/main/bs/domain/BsMaterialInfo.java @@ -0,0 +1,71 @@ +package com.billion.main.bs.domain; + +import lombok.Data; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.billion.common.annotation.Excel; +import com.billion.main.common.BaseEntity; + +/** + * 鐗╂枡淇℃伅瀵硅薄 bs_material_info + * + * @author Billion-Yi + * @date 2024-11-26 + */ +@Data +public class BsMaterialInfo extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 涓婚敭id */ + private Long id; + + /** 鐗╂枡缂栧彿 */ + @Excel(name = "鐗╂枡缂栧彿") + private String materialCode; + + /** 鐗╂枡鍚嶇О */ + @Excel(name = "鐗╂枡鍚嶇О") + private String materialName; + + /** 瑙嗗浘 */ + @Excel(name = "瑙嗗浘") + private String materialView; + + /** 绉嶇被 */ + @Excel(name = "绉嶇被") + private String typeZ; + + /** 绫诲瀷 */ + @Excel(name = "绫诲瀷") + private String typeL; + + /** 鍗曚綅 */ + @Excel(name = "鍗曚綅") + private String unit; + + /** 鐗堟湰 */ + @Excel(name = "鐗堟湰") + private String version; + + /** 鐘舵�� */ + @Excel(name = "鐘舵��") + private String status; + + /** 鍘傚晢 */ + @Excel(name = "鍘傚晢") + private String supplier; + + /** 鏁版嵁鏉ユ簮 */ + @Excel(name = "鏁版嵁鏉ユ簮") + private String dataSource; + + /** 閫昏緫鍒犻櫎 */ + private String delFlag; + + /** 澶囨敞 */ + @Excel(name = "澶囨敞") + private String remark; + + +} diff --git a/billion-main/src/main/java/com/billion/main/bs/mapper/BsLocationInfoMapper.java b/billion-main/src/main/java/com/billion/main/bs/mapper/BsLocationInfoMapper.java new file mode 100644 index 0000000..f189c91 --- /dev/null +++ b/billion-main/src/main/java/com/billion/main/bs/mapper/BsLocationInfoMapper.java @@ -0,0 +1,63 @@ +package com.billion.main.bs.mapper; + +import java.util.List; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.billion.main.bs.domain.BsLocationInfo; + +/** + * 宸ヤ綅淇℃伅Mapper鎺ュ彛 + * + * @author Billion-Yi + * @date 2024-11-26 + */ +public interface BsLocationInfoMapper extends BaseMapper<BsLocationInfo> +{ + /** + * 鏌ヨ宸ヤ綅淇℃伅 + * + * @param id 宸ヤ綅淇℃伅涓婚敭 + * @return 宸ヤ綅淇℃伅 + */ + public BsLocationInfo selectBsLocationInfoById(Long id); + + /** + * 鏌ヨ宸ヤ綅淇℃伅鍒楄〃 + * + * @param bsLocationInfo 宸ヤ綅淇℃伅 + * @return 宸ヤ綅淇℃伅闆嗗悎 + */ + public List<BsLocationInfo> selectBsLocationInfoList(BsLocationInfo bsLocationInfo); + + /** + * 鏂板宸ヤ綅淇℃伅 + * + * @param bsLocationInfo 宸ヤ綅淇℃伅 + * @return 缁撴灉 + */ + public int insertBsLocationInfo(BsLocationInfo bsLocationInfo); + + /** + * 淇敼宸ヤ綅淇℃伅 + * + * @param bsLocationInfo 宸ヤ綅淇℃伅 + * @return 缁撴灉 + */ + public int updateBsLocationInfo(BsLocationInfo bsLocationInfo); + + /** + * 鍒犻櫎宸ヤ綅淇℃伅 + * + * @param id 宸ヤ綅淇℃伅涓婚敭 + * @return 缁撴灉 + */ + public int deleteBsLocationInfoById(Long id); + + /** + * 鎵归噺鍒犻櫎宸ヤ綅淇℃伅 + * + * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎 + * @return 缁撴灉 + */ + public int deleteBsLocationInfoByIds(Long[] ids); +} diff --git a/billion-main/src/main/java/com/billion/main/bs/mapper/BsMaterialInfoMapper.java b/billion-main/src/main/java/com/billion/main/bs/mapper/BsMaterialInfoMapper.java new file mode 100644 index 0000000..349bab3 --- /dev/null +++ b/billion-main/src/main/java/com/billion/main/bs/mapper/BsMaterialInfoMapper.java @@ -0,0 +1,63 @@ +package com.billion.main.bs.mapper; + +import java.util.List; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.billion.main.bs.domain.BsMaterialInfo; + +/** + * 鐗╂枡淇℃伅Mapper鎺ュ彛 + * + * @author Billion-Yi + * @date 2024-11-26 + */ +public interface BsMaterialInfoMapper extends BaseMapper<BsMaterialInfo> +{ + /** + * 鏌ヨ鐗╂枡淇℃伅 + * + * @param id 鐗╂枡淇℃伅涓婚敭 + * @return 鐗╂枡淇℃伅 + */ + public BsMaterialInfo selectBsMaterialInfoById(Long id); + + /** + * 鏌ヨ鐗╂枡淇℃伅鍒楄〃 + * + * @param bsMaterialInfo 鐗╂枡淇℃伅 + * @return 鐗╂枡淇℃伅闆嗗悎 + */ + public List<BsMaterialInfo> selectBsMaterialInfoList(BsMaterialInfo bsMaterialInfo); + + /** + * 鏂板鐗╂枡淇℃伅 + * + * @param bsMaterialInfo 鐗╂枡淇℃伅 + * @return 缁撴灉 + */ + public int insertBsMaterialInfo(BsMaterialInfo bsMaterialInfo); + + /** + * 淇敼鐗╂枡淇℃伅 + * + * @param bsMaterialInfo 鐗╂枡淇℃伅 + * @return 缁撴灉 + */ + public int updateBsMaterialInfo(BsMaterialInfo bsMaterialInfo); + + /** + * 鍒犻櫎鐗╂枡淇℃伅 + * + * @param id 鐗╂枡淇℃伅涓婚敭 + * @return 缁撴灉 + */ + public int deleteBsMaterialInfoById(Long id); + + /** + * 鎵归噺鍒犻櫎鐗╂枡淇℃伅 + * + * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎 + * @return 缁撴灉 + */ + public int deleteBsMaterialInfoByIds(Long[] ids); +} diff --git a/billion-main/src/main/java/com/billion/main/bs/service/IBsLocationInfoService.java b/billion-main/src/main/java/com/billion/main/bs/service/IBsLocationInfoService.java new file mode 100644 index 0000000..88198ef --- /dev/null +++ b/billion-main/src/main/java/com/billion/main/bs/service/IBsLocationInfoService.java @@ -0,0 +1,63 @@ +package com.billion.main.bs.service; + +import java.util.List; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.billion.main.bs.domain.BsLocationInfo; + +/** + * 宸ヤ綅淇℃伅Service鎺ュ彛 + * + * @author Billion-Yi + * @date 2024-11-26 + */ +public interface IBsLocationInfoService extends IService<BsLocationInfo> +{ + /** + * 鏌ヨ宸ヤ綅淇℃伅 + * + * @param id 宸ヤ綅淇℃伅涓婚敭 + * @return 宸ヤ綅淇℃伅 + */ + public BsLocationInfo selectBsLocationInfoById(Long id); + + /** + * 鏌ヨ宸ヤ綅淇℃伅鍒楄〃 + * + * @param bsLocationInfo 宸ヤ綅淇℃伅 + * @return 宸ヤ綅淇℃伅闆嗗悎 + */ + public List<BsLocationInfo> selectBsLocationInfoList(BsLocationInfo bsLocationInfo); + + /** + * 鏂板宸ヤ綅淇℃伅 + * + * @param bsLocationInfo 宸ヤ綅淇℃伅 + * @return 缁撴灉 + */ + public int insertBsLocationInfo(BsLocationInfo bsLocationInfo); + + /** + * 淇敼宸ヤ綅淇℃伅 + * + * @param bsLocationInfo 宸ヤ綅淇℃伅 + * @return 缁撴灉 + */ + public int updateBsLocationInfo(BsLocationInfo bsLocationInfo); + + /** + * 鎵归噺鍒犻櫎宸ヤ綅淇℃伅 + * + * @param ids 闇�瑕佸垹闄ょ殑宸ヤ綅淇℃伅涓婚敭闆嗗悎 + * @return 缁撴灉 + */ + public int deleteBsLocationInfoByIds(Long[] ids); + + /** + * 鍒犻櫎宸ヤ綅淇℃伅淇℃伅 + * + * @param id 宸ヤ綅淇℃伅涓婚敭 + * @return 缁撴灉 + */ + public int deleteBsLocationInfoById(Long id); +} diff --git a/billion-main/src/main/java/com/billion/main/bs/service/IBsMaterialInfoService.java b/billion-main/src/main/java/com/billion/main/bs/service/IBsMaterialInfoService.java new file mode 100644 index 0000000..5779382 --- /dev/null +++ b/billion-main/src/main/java/com/billion/main/bs/service/IBsMaterialInfoService.java @@ -0,0 +1,63 @@ +package com.billion.main.bs.service; + +import java.util.List; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.billion.main.bs.domain.BsMaterialInfo; + +/** + * 鐗╂枡淇℃伅Service鎺ュ彛 + * + * @author Billion-Yi + * @date 2024-11-26 + */ +public interface IBsMaterialInfoService extends IService<BsMaterialInfo> +{ + /** + * 鏌ヨ鐗╂枡淇℃伅 + * + * @param id 鐗╂枡淇℃伅涓婚敭 + * @return 鐗╂枡淇℃伅 + */ + public BsMaterialInfo selectBsMaterialInfoById(Long id); + + /** + * 鏌ヨ鐗╂枡淇℃伅鍒楄〃 + * + * @param bsMaterialInfo 鐗╂枡淇℃伅 + * @return 鐗╂枡淇℃伅闆嗗悎 + */ + public List<BsMaterialInfo> selectBsMaterialInfoList(BsMaterialInfo bsMaterialInfo); + + /** + * 鏂板鐗╂枡淇℃伅 + * + * @param bsMaterialInfo 鐗╂枡淇℃伅 + * @return 缁撴灉 + */ + public int insertBsMaterialInfo(BsMaterialInfo bsMaterialInfo); + + /** + * 淇敼鐗╂枡淇℃伅 + * + * @param bsMaterialInfo 鐗╂枡淇℃伅 + * @return 缁撴灉 + */ + public int updateBsMaterialInfo(BsMaterialInfo bsMaterialInfo); + + /** + * 鎵归噺鍒犻櫎鐗╂枡淇℃伅 + * + * @param ids 闇�瑕佸垹闄ょ殑鐗╂枡淇℃伅涓婚敭闆嗗悎 + * @return 缁撴灉 + */ + public int deleteBsMaterialInfoByIds(Long[] ids); + + /** + * 鍒犻櫎鐗╂枡淇℃伅淇℃伅 + * + * @param id 鐗╂枡淇℃伅涓婚敭 + * @return 缁撴灉 + */ + public int deleteBsMaterialInfoById(Long id); +} diff --git a/billion-main/src/main/java/com/billion/main/bs/service/impl/BsLocationInfoServiceImpl.java b/billion-main/src/main/java/com/billion/main/bs/service/impl/BsLocationInfoServiceImpl.java new file mode 100644 index 0000000..2f04417 --- /dev/null +++ b/billion-main/src/main/java/com/billion/main/bs/service/impl/BsLocationInfoServiceImpl.java @@ -0,0 +1,98 @@ +package com.billion.main.bs.service.impl; + +import java.util.List; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.billion.common.utils.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.billion.main.bs.mapper.BsLocationInfoMapper; +import com.billion.main.bs.domain.BsLocationInfo; +import com.billion.main.bs.service.IBsLocationInfoService; + +/** + * 宸ヤ綅淇℃伅Service涓氬姟灞傚鐞� + * + * @author Billion-Yi + * @date 2024-11-26 + */ +@Service +public class BsLocationInfoServiceImpl extends ServiceImpl<BsLocationInfoMapper, BsLocationInfo> implements IBsLocationInfoService +{ + @Autowired + private BsLocationInfoMapper bsLocationInfoMapper; + + /** + * 鏌ヨ宸ヤ綅淇℃伅 + * + * @param id 宸ヤ綅淇℃伅涓婚敭 + * @return 宸ヤ綅淇℃伅 + */ + @Override + public BsLocationInfo selectBsLocationInfoById(Long id) + { + return bsLocationInfoMapper.selectBsLocationInfoById(id); + } + + /** + * 鏌ヨ宸ヤ綅淇℃伅鍒楄〃 + * + * @param bsLocationInfo 宸ヤ綅淇℃伅 + * @return 宸ヤ綅淇℃伅 + */ + @Override + public List<BsLocationInfo> selectBsLocationInfoList(BsLocationInfo bsLocationInfo) + { + return bsLocationInfoMapper.selectBsLocationInfoList(bsLocationInfo); + } + + /** + * 鏂板宸ヤ綅淇℃伅 + * + * @param bsLocationInfo 宸ヤ綅淇℃伅 + * @return 缁撴灉 + */ + @Override + public int insertBsLocationInfo(BsLocationInfo bsLocationInfo) + { + bsLocationInfo.setCreateTime(DateUtils.getNowDate()); + return bsLocationInfoMapper.insertBsLocationInfo(bsLocationInfo); + } + + /** + * 淇敼宸ヤ綅淇℃伅 + * + * @param bsLocationInfo 宸ヤ綅淇℃伅 + * @return 缁撴灉 + */ + @Override + public int updateBsLocationInfo(BsLocationInfo bsLocationInfo) + { + bsLocationInfo.setUpdateTime(DateUtils.getNowDate()); + return bsLocationInfoMapper.updateBsLocationInfo(bsLocationInfo); + } + + /** + * 鎵归噺鍒犻櫎宸ヤ綅淇℃伅 + * + * @param ids 闇�瑕佸垹闄ょ殑宸ヤ綅淇℃伅涓婚敭 + * @return 缁撴灉 + */ + @Override + public int deleteBsLocationInfoByIds(Long[] ids) + { + return bsLocationInfoMapper.deleteBsLocationInfoByIds(ids); + } + + /** + * 鍒犻櫎宸ヤ綅淇℃伅淇℃伅 + * + * @param id 宸ヤ綅淇℃伅涓婚敭 + * @return 缁撴灉 + */ + @Override + public int deleteBsLocationInfoById(Long id) + { + return bsLocationInfoMapper.deleteBsLocationInfoById(id); + } +} diff --git a/billion-main/src/main/java/com/billion/main/bs/service/impl/BsMaterialInfoServiceImpl.java b/billion-main/src/main/java/com/billion/main/bs/service/impl/BsMaterialInfoServiceImpl.java new file mode 100644 index 0000000..63c0452 --- /dev/null +++ b/billion-main/src/main/java/com/billion/main/bs/service/impl/BsMaterialInfoServiceImpl.java @@ -0,0 +1,98 @@ +package com.billion.main.bs.service.impl; + +import java.util.List; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.billion.common.utils.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.billion.main.bs.mapper.BsMaterialInfoMapper; +import com.billion.main.bs.domain.BsMaterialInfo; +import com.billion.main.bs.service.IBsMaterialInfoService; + +/** + * 鐗╂枡淇℃伅Service涓氬姟灞傚鐞� + * + * @author Billion-Yi + * @date 2024-11-26 + */ +@Service +public class BsMaterialInfoServiceImpl extends ServiceImpl<BsMaterialInfoMapper, BsMaterialInfo> implements IBsMaterialInfoService +{ + @Autowired + private BsMaterialInfoMapper bsMaterialInfoMapper; + + /** + * 鏌ヨ鐗╂枡淇℃伅 + * + * @param id 鐗╂枡淇℃伅涓婚敭 + * @return 鐗╂枡淇℃伅 + */ + @Override + public BsMaterialInfo selectBsMaterialInfoById(Long id) + { + return bsMaterialInfoMapper.selectBsMaterialInfoById(id); + } + + /** + * 鏌ヨ鐗╂枡淇℃伅鍒楄〃 + * + * @param bsMaterialInfo 鐗╂枡淇℃伅 + * @return 鐗╂枡淇℃伅 + */ + @Override + public List<BsMaterialInfo> selectBsMaterialInfoList(BsMaterialInfo bsMaterialInfo) + { + return bsMaterialInfoMapper.selectBsMaterialInfoList(bsMaterialInfo); + } + + /** + * 鏂板鐗╂枡淇℃伅 + * + * @param bsMaterialInfo 鐗╂枡淇℃伅 + * @return 缁撴灉 + */ + @Override + public int insertBsMaterialInfo(BsMaterialInfo bsMaterialInfo) + { + bsMaterialInfo.setCreateTime(DateUtils.getNowDate()); + return bsMaterialInfoMapper.insertBsMaterialInfo(bsMaterialInfo); + } + + /** + * 淇敼鐗╂枡淇℃伅 + * + * @param bsMaterialInfo 鐗╂枡淇℃伅 + * @return 缁撴灉 + */ + @Override + public int updateBsMaterialInfo(BsMaterialInfo bsMaterialInfo) + { + bsMaterialInfo.setUpdateTime(DateUtils.getNowDate()); + return bsMaterialInfoMapper.updateBsMaterialInfo(bsMaterialInfo); + } + + /** + * 鎵归噺鍒犻櫎鐗╂枡淇℃伅 + * + * @param ids 闇�瑕佸垹闄ょ殑鐗╂枡淇℃伅涓婚敭 + * @return 缁撴灉 + */ + @Override + public int deleteBsMaterialInfoByIds(Long[] ids) + { + return bsMaterialInfoMapper.deleteBsMaterialInfoByIds(ids); + } + + /** + * 鍒犻櫎鐗╂枡淇℃伅淇℃伅 + * + * @param id 鐗╂枡淇℃伅涓婚敭 + * @return 缁撴灉 + */ + @Override + public int deleteBsMaterialInfoById(Long id) + { + return bsMaterialInfoMapper.deleteBsMaterialInfoById(id); + } +} diff --git a/billion-main/src/main/resources/mapper/bs/BsLocationInfoMapper.xml b/billion-main/src/main/resources/mapper/bs/BsLocationInfoMapper.xml new file mode 100644 index 0000000..403be8b --- /dev/null +++ b/billion-main/src/main/resources/mapper/bs/BsLocationInfoMapper.xml @@ -0,0 +1,97 @@ +<?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.billion.main.bs.mapper.BsLocationInfoMapper"> + + <resultMap type="BsLocationInfo" id="BsLocationInfoResult"> + <result property="id" column="id" /> + <result property="locationCode" column="location_code" /> + <result property="locationName" column="location_name" /> + <result property="locationType" column="location_type" /> + <result property="lineCode" column="line_code" /> + <result property="remarks" column="remarks" /> + <result property="createBy" column="create_by" /> + <result property="createTime" column="create_time" /> + <result property="updateBy" column="update_by" /> + <result property="updateTime" column="update_time" /> + <result property="delFlag" column="del_flag" /> + </resultMap> + + <sql id="selectBsLocationInfoVo"> + select id, location_code, location_name, location_type, line_code, remarks, create_by, create_time, update_by, update_time, del_flag from bs_location_info + </sql> + + <select id="selectBsLocationInfoList" parameterType="BsLocationInfo" resultMap="BsLocationInfoResult"> + <include refid="selectBsLocationInfoVo"/> + <where> + <if test="locationCode != null and locationCode != ''"> and location_code like concat('%', #{locationCode}, '%')</if> + <if test="locationName != null and locationName != ''"> and location_name like concat('%', #{locationName}, '%')</if> + <if test="locationType != null and locationType != ''"> and location_type = #{locationType}</if> + <if test="lineCode != null and lineCode != ''"> and line_code like concat('%', #{lineCode}, '%')</if> + </where> + </select> + + <select id="selectBsLocationInfoById" parameterType="Long" resultMap="BsLocationInfoResult"> + <include refid="selectBsLocationInfoVo"/> + where id = #{id} + </select> + + <insert id="insertBsLocationInfo" parameterType="BsLocationInfo"> + insert into bs_location_info + <trim prefix="(" suffix=")" suffixOverrides=","> + <if test="id != null">id,</if> + <if test="locationCode != null">location_code,</if> + <if test="locationName != null">location_name,</if> + <if test="locationType != null">location_type,</if> + <if test="lineCode != null">line_code,</if> + <if test="remarks != null">remarks,</if> + <if test="createBy != null">create_by,</if> + <if test="createTime != null">create_time,</if> + <if test="updateBy != null">update_by,</if> + <if test="updateTime != null">update_time,</if> + <if test="delFlag != null">del_flag,</if> + </trim> + <trim prefix="values (" suffix=")" suffixOverrides=","> + <if test="id != null">#{id},</if> + <if test="locationCode != null">#{locationCode},</if> + <if test="locationName != null">#{locationName},</if> + <if test="locationType != null">#{locationType},</if> + <if test="lineCode != null">#{lineCode},</if> + <if test="remarks != null">#{remarks},</if> + <if test="createBy != null">#{createBy},</if> + <if test="createTime != null">#{createTime},</if> + <if test="updateBy != null">#{updateBy},</if> + <if test="updateTime != null">#{updateTime},</if> + <if test="delFlag != null">#{delFlag},</if> + </trim> + </insert> + + <update id="updateBsLocationInfo" parameterType="BsLocationInfo"> + update bs_location_info + <trim prefix="SET" suffixOverrides=","> + <if test="locationCode != null">location_code = #{locationCode},</if> + <if test="locationName != null">location_name = #{locationName},</if> + <if test="locationType != null">location_type = #{locationType},</if> + <if test="lineCode != null">line_code = #{lineCode},</if> + <if test="remarks != null">remarks = #{remarks},</if> + <if test="createBy != null">create_by = #{createBy},</if> + <if test="createTime != null">create_time = #{createTime},</if> + <if test="updateBy != null">update_by = #{updateBy},</if> + <if test="updateTime != null">update_time = #{updateTime},</if> + <if test="delFlag != null">del_flag = #{delFlag},</if> + </trim> + where id = #{id} + </update> + + <delete id="deleteBsLocationInfoById" parameterType="Long"> + delete from bs_location_info where id = #{id} + </delete> + + <delete id="deleteBsLocationInfoByIds" parameterType="String"> + delete from bs_location_info where id in + <foreach item="id" collection="array" open="(" separator="," close=")"> + #{id} + </foreach> + </delete> +</mapper> \ No newline at end of file diff --git a/billion-main/src/main/resources/mapper/bs/BsMaterialInfoMapper.xml b/billion-main/src/main/resources/mapper/bs/BsMaterialInfoMapper.xml new file mode 100644 index 0000000..3883699 --- /dev/null +++ b/billion-main/src/main/resources/mapper/bs/BsMaterialInfoMapper.xml @@ -0,0 +1,124 @@ +<?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.billion.main.bs.mapper.BsMaterialInfoMapper"> + + <resultMap type="BsMaterialInfo" id="BsMaterialInfoResult"> + <result property="id" column="id" /> + <result property="materialCode" column="material_code" /> + <result property="materialName" column="material_name" /> + <result property="materialView" column="material_view" /> + <result property="typeZ" column="type_z" /> + <result property="typeL" column="type_l" /> + <result property="unit" column="unit" /> + <result property="version" column="version" /> + <result property="status" column="status" /> + <result property="supplier" column="supplier" /> + <result property="remark" column="remark" /> + <result property="dataSource" column="data_source" /> + <result property="createBy" column="create_by" /> + <result property="createTime" column="create_time" /> + <result property="updateBy" column="update_by" /> + <result property="updateTime" column="update_time" /> + <result property="delFlag" column="del_flag" /> + </resultMap> + + <sql id="selectBsMaterialInfoVo"> + select id, material_code, material_name, material_view, type_z, type_l, unit, version, status, supplier, remark, data_source, create_by, create_time, update_by, update_time, del_flag from bs_material_info + </sql> + + <select id="selectBsMaterialInfoList" parameterType="BsMaterialInfo" resultMap="BsMaterialInfoResult"> + <include refid="selectBsMaterialInfoVo"/> + <where> + <if test="materialCode != null and materialCode != ''"> and material_code like concat('%', #{materialCode}, '%')</if> + <if test="materialName != null and materialName != ''"> and material_name like concat('%', #{materialName}, '%')</if> + <if test="materialView != null and materialView != ''"> and material_view = #{materialView}</if> + <if test="typeZ != null and typeZ != ''"> and type_z = #{typeZ}</if> + <if test="typeL != null and typeL != ''"> and type_l = #{typeL}</if> + <if test="unit != null and unit != ''"> and unit = #{unit}</if> + <if test="status != null and status != ''"> and status = #{status}</if> + </where> + </select> + + <select id="selectBsMaterialInfoById" parameterType="Long" resultMap="BsMaterialInfoResult"> + <include refid="selectBsMaterialInfoVo"/> + where id = #{id} + </select> + + <insert id="insertBsMaterialInfo" parameterType="BsMaterialInfo"> + insert into bs_material_info + <trim prefix="(" suffix=")" suffixOverrides=","> + <if test="id != null">id,</if> + <if test="materialCode != null and materialCode != ''">material_code,</if> + <if test="materialName != null and materialName != ''">material_name,</if> + <if test="materialView != null">material_view,</if> + <if test="typeZ != null">type_z,</if> + <if test="typeL != null">type_l,</if> + <if test="unit != null">unit,</if> + <if test="version != null">version,</if> + <if test="status != null">status,</if> + <if test="supplier != null">supplier,</if> + <if test="remark != null">remark,</if> + <if test="dataSource != null">data_source,</if> + <if test="createBy != null">create_by,</if> + <if test="createTime != null">create_time,</if> + <if test="updateBy != null">update_by,</if> + <if test="updateTime != null">update_time,</if> + <if test="delFlag != null">del_flag,</if> + </trim> + <trim prefix="values (" suffix=")" suffixOverrides=","> + <if test="id != null">#{id},</if> + <if test="materialCode != null and materialCode != ''">#{materialCode},</if> + <if test="materialName != null and materialName != ''">#{materialName},</if> + <if test="materialView != null">#{materialView},</if> + <if test="typeZ != null">#{typeZ},</if> + <if test="typeL != null">#{typeL},</if> + <if test="unit != null">#{unit},</if> + <if test="version != null">#{version},</if> + <if test="status != null">#{status},</if> + <if test="supplier != null">#{supplier},</if> + <if test="remark != null">#{remark},</if> + <if test="dataSource != null">#{dataSource},</if> + <if test="createBy != null">#{createBy},</if> + <if test="createTime != null">#{createTime},</if> + <if test="updateBy != null">#{updateBy},</if> + <if test="updateTime != null">#{updateTime},</if> + <if test="delFlag != null">#{delFlag},</if> + </trim> + </insert> + + <update id="updateBsMaterialInfo" parameterType="BsMaterialInfo"> + update bs_material_info + <trim prefix="SET" suffixOverrides=","> + <if test="materialCode != null and materialCode != ''">material_code = #{materialCode},</if> + <if test="materialName != null and materialName != ''">material_name = #{materialName},</if> + <if test="materialView != null">material_view = #{materialView},</if> + <if test="typeZ != null">type_z = #{typeZ},</if> + <if test="typeL != null">type_l = #{typeL},</if> + <if test="unit != null">unit = #{unit},</if> + <if test="version != null">version = #{version},</if> + <if test="status != null">status = #{status},</if> + <if test="supplier != null">supplier = #{supplier},</if> + <if test="remark != null">remark = #{remark},</if> + <if test="dataSource != null">data_source = #{dataSource},</if> + <if test="createBy != null">create_by = #{createBy},</if> + <if test="createTime != null">create_time = #{createTime},</if> + <if test="updateBy != null">update_by = #{updateBy},</if> + <if test="updateTime != null">update_time = #{updateTime},</if> + <if test="delFlag != null">del_flag = #{delFlag},</if> + </trim> + where id = #{id} + </update> + + <delete id="deleteBsMaterialInfoById" parameterType="Long"> + delete from bs_material_info where id = #{id} + </delete> + + <delete id="deleteBsMaterialInfoByIds" parameterType="String"> + delete from bs_material_info where id in + <foreach item="id" collection="array" open="(" separator="," close=")"> + #{id} + </foreach> + </delete> +</mapper> \ No newline at end of file diff --git a/billion-ui/src/api/main/bs/locationInfo.js b/billion-ui/src/api/main/bs/locationInfo.js new file mode 100644 index 0000000..8177960 --- /dev/null +++ b/billion-ui/src/api/main/bs/locationInfo.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 鏌ヨ宸ヤ綅淇℃伅鍒楄〃 +export function listLocationInfo(query) { + return request({ + url: '/bs/locationInfo/list', + method: 'get', + params: query + }) +} + +// 鏌ヨ宸ヤ綅淇℃伅璇︾粏 +export function getLocationInfo(id) { + return request({ + url: '/bs/locationInfo/' + id, + method: 'get' + }) +} + +// 鏂板宸ヤ綅淇℃伅 +export function addLocationInfo(data) { + return request({ + url: '/bs/locationInfo', + method: 'post', + data: data + }) +} + +// 淇敼宸ヤ綅淇℃伅 +export function updateLocationInfo(data) { + return request({ + url: '/bs/locationInfo', + method: 'put', + data: data + }) +} + +// 鍒犻櫎宸ヤ綅淇℃伅 +export function delLocationInfo(id) { + return request({ + url: '/bs/locationInfo/' + id, + method: 'delete' + }) +} diff --git a/billion-ui/src/api/main/bs/materialInfo.js b/billion-ui/src/api/main/bs/materialInfo.js new file mode 100644 index 0000000..aeaf5f6 --- /dev/null +++ b/billion-ui/src/api/main/bs/materialInfo.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 鏌ヨ鐗╂枡淇℃伅鍒楄〃 +export function listMaterialInfo(query) { + return request({ + url: '/bs/materialInfo/list', + method: 'get', + params: query + }) +} + +// 鏌ヨ鐗╂枡淇℃伅璇︾粏 +export function getMaterialInfo(id) { + return request({ + url: '/bs/materialInfo/' + id, + method: 'get' + }) +} + +// 鏂板鐗╂枡淇℃伅 +export function addMaterialInfo(data) { + return request({ + url: '/bs/materialInfo', + method: 'post', + data: data + }) +} + +// 淇敼鐗╂枡淇℃伅 +export function updateMaterialInfo(data) { + return request({ + url: '/bs/materialInfo', + method: 'put', + data: data + }) +} + +// 鍒犻櫎鐗╂枡淇℃伅 +export function delMaterialInfo(id) { + return request({ + url: '/bs/materialInfo/' + id, + method: 'delete' + }) +} diff --git a/billion-ui/src/views/main/bs/locationInfo/index.vue b/billion-ui/src/views/main/bs/locationInfo/index.vue new file mode 100644 index 0000000..ed97152 --- /dev/null +++ b/billion-ui/src/views/main/bs/locationInfo/index.vue @@ -0,0 +1,300 @@ +<template> + <div class="app-container"> + <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> + <el-form-item label="宸ヤ綅缂栧彿" prop="locationCode"> + <el-input + v-model="queryParams.locationCode" + placeholder="璇疯緭鍏ュ伐浣嶇紪鍙�" + clearable + @keyup.enter.native="handleQuery" + /> + </el-form-item> + <el-form-item label="宸ヤ綅鍚嶇О" prop="locationName"> + <el-input + v-model="queryParams.locationName" + placeholder="璇疯緭鍏ュ伐浣嶅悕绉�" + clearable + @keyup.enter.native="handleQuery" + /> + </el-form-item> + <el-form-item label="宸ヤ綅绫诲瀷" prop="locationType"> + <el-select v-model="queryParams.locationType" placeholder="璇烽�夋嫨宸ヤ綅绫诲瀷" clearable> + <el-option + v-for="dict in dict.type.location_type" + :key="dict.value" + :label="dict.label" + :value="dict.value" + /> + </el-select> + </el-form-item> +<!-- <el-form-item label="浜х嚎缂栧彿" prop="lineCode">--> +<!-- <el-input--> +<!-- v-model="queryParams.lineCode"--> +<!-- placeholder="璇疯緭鍏ヤ骇绾跨紪鍙�"--> +<!-- clearable--> +<!-- @keyup.enter.native="handleQuery"--> +<!-- />--> +<!-- </el-form-item>--> + <el-form-item style="float: right"> + <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button> + <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button> + </el-form-item> + </el-form> + + <el-row :gutter="10" class="mb8"> + <el-col :span="1.5"> + <el-button + type="primary" + plain + icon="el-icon-plus" + size="mini" + @click="handleAdd" + v-hasPermi="['bs:locationInfo:add']" + >鏂板</el-button> + </el-col> + <el-col :span="1.5"> + <el-button + type="success" + plain + icon="el-icon-edit" + size="mini" + :disabled="single" + @click="handleUpdate" + v-hasPermi="['bs:locationInfo:edit']" + >淇敼</el-button> + </el-col> + <el-col :span="1.5"> + <el-button + type="danger" + plain + icon="el-icon-delete" + size="mini" + :disabled="multiple" + @click="handleDelete" + v-hasPermi="['bs:locationInfo:remove']" + >鍒犻櫎</el-button> + </el-col> + <el-col :span="1.5"> + <el-button + type="warning" + plain + icon="el-icon-download" + size="mini" + @click="handleExport" + v-hasPermi="['bs:locationInfo:export']" + >瀵煎嚭</el-button> + </el-col> + </el-row> + + <el-table border v-loading="loading" :data="locationInfoList" @selection-change="handleSelectionChange"> + <el-table-column type="selection" width="55" align="center" /> + <el-table-column show-overflow-tooltip="true" label="宸ヤ綅缂栧彿" align="center" prop="locationCode" /> + <el-table-column show-overflow-tooltip="true" label="宸ヤ綅鍚嶇О" align="center" prop="locationName" /> + <el-table-column label="宸ヤ綅绫诲瀷" align="center" prop="locationType"> + <template slot-scope="scope"> + <dict-tag :options="dict.type.location_type" :value="scope.row.locationType"/> + </template> + </el-table-column> + <el-table-column show-overflow-tooltip="true" label="浜х嚎缂栧彿" align="center" prop="lineCode" /> + <el-table-column show-overflow-tooltip="true" label="澶囨敞" align="center" prop="remarks" /> + <el-table-column show-overflow-tooltip="true" label="鍒涘缓鐢ㄦ埛" align="center" prop="createBy" /> + <el-table-column label="鍒涘缓鏃堕棿" align="center" prop="createTime" width="180"> + </el-table-column> + <el-table-column show-overflow-tooltip="true" label="鏇存敼鐢ㄦ埛" align="center" prop="updateBy" /> + <el-table-column label="鏇存敼鏃堕棿" align="center" prop="updateTime" width="180"> + </el-table-column> + </el-table> + + <pagination + v-show="total>0" + :total="total" + :page.sync="queryParams.pageNum" + :limit.sync="queryParams.pageSize" + @pagination="getList" + /> + + <!-- 娣诲姞鎴栦慨鏀瑰伐浣嶄俊鎭璇濇 --> + <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body> + <el-form ref="form" :model="form" :rules="rules" label-width="80px"> + <el-form-item label="宸ヤ綅缂栧彿" prop="locationCode"> + <el-input v-model="form.locationCode" placeholder="璇疯緭鍏ュ伐浣嶇紪鍙�" /> + </el-form-item> + <el-form-item label="宸ヤ綅鍚嶇О" prop="locationName"> + <el-input v-model="form.locationName" placeholder="璇疯緭鍏ュ伐浣嶅悕绉�" /> + </el-form-item> + <el-form-item label="宸ヤ綅绫诲瀷" prop="locationType"> + <el-select style="width: 100%" v-model="form.locationType" placeholder="璇烽�夋嫨宸ヤ綅绫诲瀷"> + <el-option + v-for="dict in dict.type.location_type" + :key="dict.value" + :label="dict.label" + :value="dict.value" + ></el-option> + </el-select> + </el-form-item> + <el-form-item label="浜х嚎缂栧彿" prop="lineCode"> + <el-input v-model="form.lineCode" placeholder="璇疯緭鍏ヤ骇绾跨紪鍙�" /> + </el-form-item> + <el-form-item label="澶囨敞" prop="remarks"> + <el-input v-model="form.remarks" placeholder="璇疯緭鍏ュ娉�" /> + </el-form-item> + </el-form> + <div slot="footer" class="dialog-footer"> + <el-button type="primary" @click="submitForm">纭� 瀹�</el-button> + <el-button @click="cancel">鍙� 娑�</el-button> + </div> + </el-dialog> + </div> +</template> + +<script> +import { listLocationInfo, getLocationInfo, delLocationInfo, addLocationInfo, updateLocationInfo } from "@/api/main/bs/locationInfo"; + +export default { + name: "LocationInfo", + dicts: ['location_type'], + data() { + return { + // 閬僵灞� + loading: true, + // 閫変腑鏁扮粍 + ids: [], + // 闈炲崟涓鐢� + single: true, + // 闈炲涓鐢� + multiple: true, + // 鏄剧ず鎼滅储鏉′欢 + showSearch: true, + // 鎬绘潯鏁� + total: 0, + // 宸ヤ綅淇℃伅琛ㄦ牸鏁版嵁 + locationInfoList: [], + // 寮瑰嚭灞傛爣棰� + title: "", + // 鏄惁鏄剧ず寮瑰嚭灞� + open: false, + // 鏌ヨ鍙傛暟 + queryParams: { + pageNum: 1, + pageSize: 10, + locationCode: null, + locationName: null, + locationType: null, + lineCode: null, + }, + // 琛ㄥ崟鍙傛暟 + form: {}, + // 琛ㄥ崟鏍¢獙 + rules: { + id: [ + { required: true, message: "涓婚敭id涓嶈兘涓虹┖", trigger: "blur" } + ], + } + }; + }, + created() { + this.getList(); + }, + methods: { + /** 鏌ヨ宸ヤ綅淇℃伅鍒楄〃 */ + getList() { + this.loading = true; + listLocationInfo(this.queryParams).then(response => { + this.locationInfoList = response.rows; + this.total = response.total; + this.loading = false; + }); + }, + // 鍙栨秷鎸夐挳 + cancel() { + this.open = false; + this.reset(); + }, + // 琛ㄥ崟閲嶇疆 + reset() { + this.form = { + id: null, + locationCode: null, + locationName: null, + locationType: null, + lineCode: null, + remarks: null, + createBy: null, + createTime: null, + updateBy: null, + updateTime: null, + delFlag: null + }; + this.resetForm("form"); + }, + /** 鎼滅储鎸夐挳鎿嶄綔 */ + handleQuery() { + this.queryParams.pageNum = 1; + this.getList(); + }, + /** 閲嶇疆鎸夐挳鎿嶄綔 */ + resetQuery() { + this.resetForm("queryForm"); + this.handleQuery(); + }, + // 澶氶�夋閫変腑鏁版嵁 + handleSelectionChange(selection) { + this.ids = selection.map(item => item.id) + this.single = selection.length!==1 + this.multiple = !selection.length + }, + /** 鏂板鎸夐挳鎿嶄綔 */ + handleAdd() { + this.reset(); + this.open = true; + this.title = "娣诲姞宸ヤ綅淇℃伅"; + }, + /** 淇敼鎸夐挳鎿嶄綔 */ + handleUpdate(row) { + this.reset(); + const id = row.id || this.ids + getLocationInfo(id).then(response => { + this.form = response.data; + this.open = true; + this.title = "淇敼宸ヤ綅淇℃伅"; + }); + }, + /** 鎻愪氦鎸夐挳 */ + submitForm() { + this.$refs["form"].validate(valid => { + if (valid) { + if (this.form.id != null) { + updateLocationInfo(this.form).then(response => { + this.$modal.msgSuccess("淇敼鎴愬姛"); + this.open = false; + this.getList(); + }); + } else { + addLocationInfo(this.form).then(response => { + this.$modal.msgSuccess("鏂板鎴愬姛"); + this.open = false; + this.getList(); + }); + } + } + }); + }, + /** 鍒犻櫎鎸夐挳鎿嶄綔 */ + handleDelete(row) { + const ids = row.id || this.ids; + this.$modal.confirm('鏄惁纭鍒犻櫎').then(function() { + return delLocationInfo(ids); + }).then(() => { + this.getList(); + this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); + }).catch(() => {}); + }, + /** 瀵煎嚭鎸夐挳鎿嶄綔 */ + handleExport() { + this.download('bs/locationInfo/export', { + ...this.queryParams + }, `locationInfo_${new Date().getTime()}.xlsx`) + } + } +}; +</script> diff --git a/billion-ui/src/views/main/bs/materialInfo/index.vue b/billion-ui/src/views/main/bs/materialInfo/index.vue new file mode 100644 index 0000000..a013862 --- /dev/null +++ b/billion-ui/src/views/main/bs/materialInfo/index.vue @@ -0,0 +1,410 @@ +<template> + <div class="app-container"> + <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> + <el-form-item label="鐗╂枡缂栧彿" prop="materialCode"> + <el-input + v-model="queryParams.materialCode" + placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" + clearable + @keyup.enter.native="handleQuery" + /> + </el-form-item> + <el-form-item label="鐗╂枡鍚嶇О" prop="materialName"> + <el-input + v-model="queryParams.materialName" + placeholder="璇疯緭鍏ョ墿鏂欏悕绉�" + clearable + @keyup.enter.native="handleQuery" + /> + </el-form-item> + <el-form-item style="float: right"> + <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button> + <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button> + <el-button icon="el-icon-setting" size="mini" @click="toggleAdvancedSearch">楂樼骇鏌ヨ</el-button> + </el-form-item> + <transition name="fade"> + <div v-if="advancedSearchVisible" class="advanced-search"> + <el-form-item label="瑙嗗浘" prop="materialView"> + <el-input + v-model="queryParams.materialView" + placeholder="璇疯緭鍏ヨ鍥�" + clearable + @keyup.enter.native="handleQuery" + /> + </el-form-item> + <el-form-item label="绉嶇被" prop="typeZ"> + <el-select v-model="queryParams.typeZ" placeholder="璇烽�夋嫨绉嶇被" clearable> + <el-option + v-for="dict in dict.type.type_z" + :key="dict.value" + :label="dict.label" + :value="dict.value" + /> + </el-select> + </el-form-item> + <el-form-item label="绫诲瀷" prop="typeL"> + <el-select v-model="queryParams.typeL" placeholder="璇烽�夋嫨绫诲瀷" clearable> + <el-option + v-for="dict in dict.type.type_l" + :key="dict.value" + :label="dict.label" + :value="dict.value" + /> + </el-select> + </el-form-item> + <el-form-item label="鍗曚綅" prop="unit"> + <el-select v-model="queryParams.unit" placeholder="璇烽�夋嫨鍗曚綅" clearable> + <el-option + v-for="dict in dict.type.unit" + :key="dict.value" + :label="dict.label" + :value="dict.value" + /> + </el-select> + </el-form-item> + <el-form-item label="鐘舵��" prop="status"> + <el-select v-model="queryParams.status" placeholder="璇烽�夋嫨鐘舵��" clearable> + <el-option + v-for="dict in dict.type.sys_normal_disable" + :key="dict.value" + :label="dict.label" + :value="dict.value" + /> + </el-select> + </el-form-item> + </div> + </transition> + </el-form> + + <el-row :gutter="10" class="mb8"> + <el-col :span="1.5"> + <el-button + type="primary" + plain + icon="el-icon-plus" + size="mini" + @click="handleAdd" + v-hasPermi="['bs:materialInfo:add']" + >鏂板</el-button> + </el-col> + <el-col :span="1.5"> + <el-button + type="success" + plain + icon="el-icon-edit" + size="mini" + :disabled="single" + @click="handleUpdate" + v-hasPermi="['bs:materialInfo:edit']" + >淇敼</el-button> + </el-col> + <el-col :span="1.5"> + <el-button + type="danger" + plain + icon="el-icon-delete" + size="mini" + :disabled="multiple" + @click="handleDelete" + v-hasPermi="['bs:materialInfo:remove']" + >鍒犻櫎</el-button> + </el-col> + <el-col :span="1.5"> + <el-button + type="warning" + plain + icon="el-icon-download" + size="mini" + @click="handleExport" + v-hasPermi="['bs:materialInfo:export']" + >瀵煎嚭</el-button> + </el-col> + </el-row> + + <el-table border v-loading="loading" :data="materialInfoList" @selection-change="handleSelectionChange"> + <el-table-column type="selection" width="55" align="center" /> + <el-table-column :show-overflow-tooltip="true" label="鐗╂枡缂栧彿" align="center" prop="materialCode" /> + <el-table-column :show-overflow-tooltip="true" label="鐗╂枡鍚嶇О" align="center" prop="materialName" /> + <el-table-column :show-overflow-tooltip="true" label="瑙嗗浘" align="center" prop="materialView" /> + <el-table-column label="绉嶇被" align="center" prop="typeZ"> + <template slot-scope="scope"> + <dict-tag :options="dict.type.type_z" :value="scope.row.typeZ"/> + </template> + </el-table-column> + <el-table-column label="绫诲瀷" align="center" prop="typeL"> + <template slot-scope="scope"> + <dict-tag :options="dict.type.type_l" :value="scope.row.typeL"/> + </template> + </el-table-column> + <el-table-column label="鍗曚綅" align="center" prop="unit"> + <template slot-scope="scope"> + <dict-tag :options="dict.type.unit" :value="scope.row.unit"/> + </template> + </el-table-column> + <el-table-column :show-overflow-tooltip="true" label="鐗堟湰" align="center" prop="version" /> + <el-table-column label="鐘舵��" align="center" prop="status"> + <template slot-scope="scope"> + <dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.status"/> + </template> + </el-table-column> + <el-table-column :show-overflow-tooltip="true" label="鍘傚晢" align="center" prop="supplier" /> + <el-table-column :show-overflow-tooltip="true" label="澶囨敞" align="center" prop="remark" /> + <el-table-column :show-overflow-tooltip="true" label="鏁版嵁鏉ユ簮" align="center" prop="dataSource" /> + <el-table-column :show-overflow-tooltip="true" label="鍒涘缓鐢ㄦ埛" align="center" prop="createBy" /> + <el-table-column label="鍒涘缓鏃堕棿" align="center" prop="createTime" width="180"> + </el-table-column> + <el-table-column :show-overflow-tooltip="true" label="鏇存敼鐢ㄦ埛" align="center" prop="updateBy" /> + <el-table-column label="鏇存敼鏃堕棿" align="center" prop="updateTime" width="180"> + </el-table-column> + </el-table> + + <pagination + v-show="total>0" + :total="total" + :page.sync="queryParams.pageNum" + :limit.sync="queryParams.pageSize" + @pagination="getList" + /> + + <!-- 娣诲姞鎴栦慨鏀圭墿鏂欎俊鎭璇濇 --> + <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body> + <el-form ref="form" :model="form" :rules="rules" label-width="80px"> + <el-form-item label="鐗╂枡缂栧彿" prop="materialCode"> + <el-input v-model="form.materialCode" placeholder="璇疯緭鍏ョ墿鏂欑紪鍙�" /> + </el-form-item> + <el-form-item label="鐗╂枡鍚嶇О" prop="materialName"> + <el-input v-model="form.materialName" placeholder="璇疯緭鍏ョ墿鏂欏悕绉�" /> + </el-form-item> + <el-form-item label="瑙嗗浘" prop="materialView"> + <el-input v-model="form.materialView" placeholder="璇疯緭鍏ヨ鍥�" /> + </el-form-item> + <el-form-item label="绉嶇被" prop="typeZ"> + <el-select style="width: 100%" v-model="form.typeZ" placeholder="璇烽�夋嫨绉嶇被"> + <el-option + v-for="dict in dict.type.type_z" + :key="dict.value" + :label="dict.label" + :value="dict.value" + ></el-option> + </el-select> + </el-form-item> + <el-form-item label="绫诲瀷" prop="typeL"> + <el-select style="width: 100%" v-model="form.typeL" placeholder="璇烽�夋嫨绫诲瀷"> + <el-option + v-for="dict in dict.type.type_l" + :key="dict.value" + :label="dict.label" + :value="dict.value" + ></el-option> + </el-select> + </el-form-item> + <el-form-item label="鍗曚綅" prop="unit"> + <el-select style="width: 100%" v-model="form.unit" placeholder="璇烽�夋嫨鍗曚綅"> + <el-option + v-for="dict in dict.type.unit" + :key="dict.value" + :label="dict.label" + :value="dict.value" + ></el-option> + </el-select> + </el-form-item> + <el-form-item label="鐗堟湰" prop="version"> + <el-input v-model="form.version" placeholder="璇疯緭鍏ョ増鏈�" /> + </el-form-item> + <el-form-item label="鐘舵��" prop="status"> + <el-radio-group v-model="form.status"> + <el-radio + v-for="dict in dict.type.sys_normal_disable" + :key="dict.value" + :label="dict.value" + >{{dict.label}}</el-radio> + </el-radio-group> + </el-form-item> + <el-form-item label="鍘傚晢" prop="supplier"> + <el-input v-model="form.supplier" placeholder="璇疯緭鍏ュ巶鍟�" /> + </el-form-item> + <el-form-item label="澶囨敞" prop="remark"> + <el-input v-model="form.remark" type="textarea" placeholder="璇疯緭鍏ュ唴瀹�" /> + </el-form-item> + <el-form-item label="鏁版嵁鏉ユ簮" prop="dataSource"> + <el-input v-model="form.dataSource" placeholder="璇疯緭鍏ユ暟鎹潵婧�" /> + </el-form-item> + </el-form> + <div slot="footer" class="dialog-footer"> + <el-button type="primary" @click="submitForm">纭� 瀹�</el-button> + <el-button @click="cancel">鍙� 娑�</el-button> + </div> + </el-dialog> + </div> +</template> + +<script> +import { listMaterialInfo, getMaterialInfo, delMaterialInfo, addMaterialInfo, updateMaterialInfo } from "@/api/main/bs/materialInfo"; + +export default { + name: "MaterialInfo", + dicts: ['sys_normal_disable', 'type_l', 'unit', 'type_z'], + data() { + return { + // 閬僵灞� + loading: true, + // 閫変腑鏁扮粍 + ids: [], + // 闈炲崟涓鐢� + single: true, + // 闈炲涓鐢� + multiple: true, + // 鏄剧ず鎼滅储鏉′欢 + showSearch: true, + // 鎬绘潯鏁� + total: 0, + advancedSearchVisible: false, + // 鐗╂枡淇℃伅琛ㄦ牸鏁版嵁 + materialInfoList: [], + // 寮瑰嚭灞傛爣棰� + title: "", + // 鏄惁鏄剧ず寮瑰嚭灞� + open: false, + // 鏌ヨ鍙傛暟 + queryParams: { + pageNum: 1, + pageSize: 10, + materialCode: null, + materialName: null, + materialView: null, + typeZ: null, + typeL: null, + unit: null, + status: null, + }, + // 琛ㄥ崟鍙傛暟 + form: {}, + // 琛ㄥ崟鏍¢獙 + rules: { + id: [ + { required: true, message: "涓婚敭id涓嶈兘涓虹┖", trigger: "blur" } + ], + materialCode: [ + { required: true, message: "鐗╂枡缂栧彿涓嶈兘涓虹┖", trigger: "blur" } + ], + materialName: [ + { required: true, message: "鐗╂枡鍚嶇О涓嶈兘涓虹┖", trigger: "blur" } + ], + } + }; + }, + created() { + this.getList(); + }, + methods: { + toggleAdvancedSearch() { + this.advancedSearchVisible = !this.advancedSearchVisible; + }, + /** 鏌ヨ鐗╂枡淇℃伅鍒楄〃 */ + getList() { + this.loading = true; + listMaterialInfo(this.queryParams).then(response => { + this.materialInfoList = response.rows; + this.total = response.total; + this.loading = false; + }); + }, + // 鍙栨秷鎸夐挳 + cancel() { + this.open = false; + this.reset(); + }, + // 琛ㄥ崟閲嶇疆 + reset() { + this.form = { + id: null, + materialCode: null, + materialName: null, + materialView: null, + typeZ: null, + typeL: null, + unit: null, + version: null, + status: "0", + supplier: null, + remark: null, + dataSource: null, + createBy: null, + createTime: null, + updateBy: null, + updateTime: null, + delFlag: null + }; + this.resetForm("form"); + }, + /** 鎼滅储鎸夐挳鎿嶄綔 */ + handleQuery() { + this.queryParams.pageNum = 1; + this.getList(); + }, + /** 閲嶇疆鎸夐挳鎿嶄綔 */ + resetQuery() { + this.resetForm("queryForm"); + this.handleQuery(); + }, + // 澶氶�夋閫変腑鏁版嵁 + handleSelectionChange(selection) { + this.ids = selection.map(item => item.id) + this.single = selection.length!==1 + this.multiple = !selection.length + }, + /** 鏂板鎸夐挳鎿嶄綔 */ + handleAdd() { + this.reset(); + this.open = true; + this.title = "娣诲姞鐗╂枡淇℃伅"; + }, + /** 淇敼鎸夐挳鎿嶄綔 */ + handleUpdate(row) { + this.reset(); + const id = row.id || this.ids + getMaterialInfo(id).then(response => { + this.form = response.data; + this.open = true; + this.title = "淇敼鐗╂枡淇℃伅"; + }); + }, + /** 鎻愪氦鎸夐挳 */ + submitForm() { + this.$refs["form"].validate(valid => { + if (valid) { + if (this.form.id != null) { + updateMaterialInfo(this.form).then(response => { + this.$modal.msgSuccess("淇敼鎴愬姛"); + this.open = false; + this.getList(); + }); + } else { + addMaterialInfo(this.form).then(response => { + this.$modal.msgSuccess("鏂板鎴愬姛"); + this.open = false; + this.getList(); + }); + } + } + }); + }, + /** 鍒犻櫎鎸夐挳鎿嶄綔 */ + handleDelete(row) { + const ids = row.id || this.ids; + this.$modal.confirm('鏄惁纭鍒犻櫎').then(function() { + return delMaterialInfo(ids); + }).then(() => { + this.getList(); + this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); + }).catch(() => {}); + }, + /** 瀵煎嚭鎸夐挳鎿嶄綔 */ + handleExport() { + this.download('bs/materialInfo/export', { + ...this.queryParams + }, `materialInfo_${new Date().getTime()}.xlsx`) + } + } +}; +</script> diff --git a/billion-ui/src/views/main/bs/routeInfo/ProductSelector.vue b/billion-ui/src/views/main/bs/routeInfo/ProductSelector.vue new file mode 100644 index 0000000..35b07c5 --- /dev/null +++ b/billion-ui/src/views/main/bs/routeInfo/ProductSelector.vue @@ -0,0 +1,58 @@ +<template> + <el-dialog :title="title" :visible.sync="visible" @close="handleClose"> + <el-table :data="gridData" selection="single" ref="multipleTable" @selection-change="productSelectionChange"> + <el-table-column type="selection" width="55"></el-table-column> + <el-table-column property="date" label="鏃ユ湡" width="150"></el-table-column> + <el-table-column property="name" label="濮撳悕" width="200"></el-table-column> + <el-table-column property="address" label="鍦板潃"></el-table-column> + </el-table> + <div slot="footer" class="dialog-footer"> + <el-button @click="handleClose">鍙� 娑�</el-button> + <el-button type="primary" @click="confirmSelection">纭� 瀹�</el-button> + </div> + </el-dialog> +</template> + +<script> +export default { + name: "ProductSelector", + props: { + visible: Boolean, + title: { + type: String, + default: "鐗╂枡淇℃伅" + }, + gridData: Array + }, + data() { + return { + multipleSelection: [] + }; + }, + methods: { + handleClose() { + this.$emit('update:visible', false); + }, + productSelectionChange(selection) { + if (selection.length > 1) { + this.$refs.multipleTable.clearSelection(); + this.$refs.multipleTable.toggleRowSelection(selection[selection.length - 1], true); + this.multipleSelection = [selection[selection.length - 1]]; + } else { + this.multipleSelection = selection; + } + }, + confirmSelection() { + if (this.multipleSelection.length > 0) { + this.$emit('select-product', this.multipleSelection[0]); + this.handleClose(); + } else { + this.$message({ + message: '璀﹀憡鍝︼紝鏈�夋嫨浠讳綍琛�', + type: 'warning' + }); + } + } + } +}; +</script> diff --git a/billion-ui/src/views/main/bs/routeInfo/index.vue b/billion-ui/src/views/main/bs/routeInfo/index.vue index c310d30..99a64f4 100644 --- a/billion-ui/src/views/main/bs/routeInfo/index.vue +++ b/billion-ui/src/views/main/bs/routeInfo/index.vue @@ -117,21 +117,21 @@ </router-link> </template> </el-table-column> - <el-table-column show-overflow-tooltip="true" label="娴佺▼鍚嶇О" align="center" prop="routeName" /> - <el-table-column show-overflow-tooltip="true" label="浜у搧缂栫爜" align="center" prop="productCode" /> - <el-table-column show-overflow-tooltip="true" label="浜у搧鍚嶇О" align="center" prop="productName" /> - <el-table-column show-overflow-tooltip="true" label="鐗堟湰" align="center" prop="version" /> + <el-table-column :show-overflow-tooltip="true" label="娴佺▼鍚嶇О" align="center" prop="routeName" /> + <el-table-column :show-overflow-tooltip="true" label="浜у搧缂栫爜" align="center" prop="productCode" /> + <el-table-column :show-overflow-tooltip="true" label="浜у搧鍚嶇О" align="center" prop="productName" /> + <el-table-column :show-overflow-tooltip="true" label="鐗堟湰" align="center" prop="version" /> <el-table-column label="鐘舵��" align="center" prop="status"> <template slot-scope="scope"> <dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.status"/> </template> </el-table-column> - <el-table-column show-overflow-tooltip="true" label="鏁版嵁鏉ユ簮" align="center" prop="dataSource" /> - <el-table-column show-overflow-tooltip="true" label="澶囨敞" align="center" prop="remark" /> - <el-table-column show-overflow-tooltip="true" label="鍒涘缓鐢ㄦ埛" align="center" prop="createBy" /> + <el-table-column :show-overflow-tooltip="true" label="鏁版嵁鏉ユ簮" align="center" prop="dataSource" /> + <el-table-column :show-overflow-tooltip="true" label="澶囨敞" align="center" prop="remark" /> + <el-table-column :show-overflow-tooltip="true" label="鍒涘缓鐢ㄦ埛" align="center" prop="createBy" /> <el-table-column label="鍒涘缓鏃堕棿" align="center" prop="createTime" width="180"> </el-table-column> - <el-table-column show-overflow-tooltip="true" label="鏇存敼鐢ㄦ埛" align="center" prop="updateBy" /> + <el-table-column :show-overflow-tooltip="true" label="鏇存敼鐢ㄦ埛" align="center" prop="updateBy" /> <el-table-column label="鏇存敼鏃堕棿" align="center" prop="updateTime" width="180"> </el-table-column> </el-table> @@ -157,7 +157,11 @@ <el-input v-model="form.routeName" placeholder="璇疯緭鍏ユ祦绋嬪悕绉�" /> </el-form-item> <el-form-item label="浜у搧缂栫爜" prop="productCode"> - <el-input v-model="form.productCode" placeholder="璇疯緭鍏ヤ骇鍝佺紪鐮�" /> + <el-input v-model="form.productCode" placeholder="璇烽�夋嫨浜у搧缂栫爜" readonly> + <template #append> + <el-button @click="dialogTableVisible = true">閫夋嫨</el-button> + </template> + </el-input> </el-form-item> <el-form-item label="浜у搧鍚嶇О" prop="productName"> <el-input v-model="form.productName" placeholder="璇疯緭鍏ヤ骇鍝佸悕绉�" /> @@ -186,17 +190,46 @@ <el-button @click="cancel">鍙� 娑�</el-button> </div> </el-dialog> + <!-- 浜у搧閫夋嫨鍣ㄧ粍浠� --> + <ProductSelector + :visible="dialogTableVisible" + :gridData="gridData" + @select-product="handleSelectProduct" + @update:visible="dialogTableVisible = $event" + /> </div> </template> <script> import { listRouteInfo, getRouteInfo, delRouteInfo, addRouteInfo, updateRouteInfo } from "@/api/main/bs/routeInfo"; - +import ProductSelector from "./ProductSelector.vue"; export default { + components: { + ProductSelector + }, name: "RouteInfo", dicts: ['sys_normal_disable'], data() { return { + multipleSelection: [], + gridData: [{ + date: '2016-05-02', + name: '鐜嬩竴铏�', + address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�' + }, { + date: '2016-05-04', + name: '鐜嬩簩铏�', + address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�' + }, { + date: '2016-05-01', + name: '鐜嬩笁铏�', + address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�' + }, { + date: '2016-05-03', + name: '鐜嬪洓铏�', + address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�' + }], + dialogTableVisible: false, advancedSearchVisible: false, // 閬僵灞� loading: true, @@ -247,6 +280,10 @@ this.getList(); }, methods: { + handleSelectProduct(selectedProduct) { + this.form.productCode = selectedProduct.date; // 鍋囪浣犻渶瑕佺殑鏄棩鏈熷瓧娈� + this.form.productName = selectedProduct.name; // 鍋囪浣犻渶瑕佺殑鏄鍚嶅瓧娈� + }, toggleAdvancedSearch() { this.advancedSearchVisible = !this.advancedSearchVisible; }, -- Gitblit v1.9.3