Browse Source

Merge remote-tracking branch 'origin/master'

master
God 11 months ago
parent
commit
01eff03c3b
  1. 4
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordervehicle/BusSalesOrderVehicleFeign.java
  2. 5
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordervehicle/BusSalesOrderVehicleFeignFallback.java
  3. 2
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleMapper.java
  4. 8
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleMapper.xml
  5. 7
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleRest.java
  6. 5
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleService.java
  7. 2
      anrui-buscenter/anrui-buscenter-ui/src/components/publicPage/dingdanInfo.vue
  8. 2
      anrui-buscenter/anrui-buscenter-ui/src/views/workflow/publicPage/dingdanInfo.vue
  9. 2
      anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xiaoshoudingdanFlow/xiaoshoudingdan.vue
  10. 2
      anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xiaoshoudingdanFlow/xiaoshoudingdanByCaiGou.vue
  11. 2
      anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xiaoshoudingdanFlow/xiaoshoudingdanByJinRong.vue
  12. 2
      anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xiaoshoudingdanFlow/xiaoshoudingdanInfo.vue
  13. 2
      anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xiaoshoudingdan/xiaoshoudingdanInfo.vue
  14. 2
      anrui-buscenter/anrui-finmanage-ui/src/components/publicPage/salesOrder.vue
  15. 2
      anrui-buscenter/anrui-finmanage-ui/src/views/workFlow/publicPage/salesOrder.vue
  16. 2
      anrui-riskcenter-ui/src/components/publicPage/salesOrder.vue
  17. 2
      anrui-riskcenter-ui/src/views/workFlow/publicPage/salesOrder.vue
  18. 9
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/LoanRepaymentScheduleFeign.java
  19. 9
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/LoanRepaymentScheduleFeignFallback.java
  20. 46
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/historyData/HistoryDataImportVo.java
  21. 16
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/historyData/ReturnMsg.java
  22. 8
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleRest.java
  23. 285
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleService.java
  24. 2
      anrui-riskcenter/anrui-riskcenter-biz/src/main/resources/ftl/vouchers/returnMoney3.ftl
  25. 2
      anrui-scm/anrui-scm-ui/src/components/publicPage/saleOrder.vue
  26. 2
      anrui-scm/anrui-scm-ui/src/views/workFlow/publicPage/xiaoshoudingdanInfo.vue
  27. 32
      yxt-as-ui/src/api/goods/brand.js
  28. 31
      yxt-as-ui/src/api/goods/category.js
  29. 28
      yxt-as-ui/src/api/goods/factory.js
  30. 28
      yxt-as-ui/src/api/goods/unit.js
  31. 6
      yxt-as-ui/src/views/goods/category/categoryAdd.vue
  32. 50
      yxt-as-ui/src/views/goods/goods/goodsAdd.vue
  33. 395
      yxt-as-ui/src/views/goods/goods/goodsAdd2.vue
  34. 18
      yxt-as-ui/src/views/goods/goods/index.vue
  35. 6
      yxt-as-ui/src/views/purchase/procurement/procurement.vue
  36. 92
      yxt-as-ui/src/views/purchase/procurement/procurementAdd.vue
  37. 16
      yxt-as-ui/src/views/purchase/procurement/procurementInfo.vue
  38. 31
      yxt-as-ui/src/views/purchase/procurement/relation/chooseproducts.vue
  39. 12
      yxt-as-ui/src/views/workFlow/caigouFlow/procurementDaiBan.vue
  40. 88
      yxt-as-ui/src/views/workFlow/caigouFlow/procurementEdit.vue
  41. 12
      yxt-as-ui/src/views/workFlow/caigouFlow/procurementYiBan.vue
  42. 31
      yxt-as-ui/src/views/workFlow/caigouFlow/relation/chooseproducts.vue
  43. 17
      yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBill.java
  44. 25
      yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBillDetailsVo.java
  45. 26
      yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBillDto.java
  46. 34
      yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/InsuranceRecordVo.java
  47. 32
      yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/InsuranceVo.java
  48. 5
      yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/InvoiceVo.java
  49. 2
      yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/SitemVo.java
  50. 7
      yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbillinsurance/AsBusrepairBillInsurance.java
  51. 40
      yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbillinsurancerecord/AsBusrepairBillInsuranceRecord.java
  52. 5
      yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbillinvoice/AsBusrepairBillInvoice.java
  53. 6
      yxt-base-biz/src/main/java/com/yxt/base/apiadmin/base/BaseGoodsBrandRest.java
  54. 6
      yxt-base-biz/src/main/java/com/yxt/base/apiadmin/base/BaseGoodsTypeRest.java
  55. 6
      yxt-base-biz/src/main/java/com/yxt/base/apiadmin/base/BaseGoodsUnitRest.java
  56. 6
      yxt-base-biz/src/main/java/com/yxt/base/apiadmin/base/BaseManufacturerRest.java
  57. 79
      yxt-base-biz/src/main/java/com/yxt/base/biz/base/basebrandinfo/BaseBrandInfoService.java
  58. 2
      yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsDetailsDto.java
  59. 3
      yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsDetailsVo.java
  60. 34
      yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsSpuService.java
  61. 64
      yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodstype/BaseGoodsTypeService.java
  62. 16
      yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsunit/BaseGoodsUnitService.java
  63. 62
      yxt-base-biz/src/main/java/com/yxt/base/biz/base/basemanufacturer/BaseManufacturerService.java
  64. 3
      工作内容需要的文档/单据模板/财务凭证打印模板/还款计划/还款计划3.docx

4
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordervehicle/BusSalesOrderVehicleFeign.java

@ -171,4 +171,8 @@ public interface BusSalesOrderVehicleFeign {
@ApiOperation("根据车辆sid查询最新一条不为终止的销售订单") @ApiOperation("根据车辆sid查询最新一条不为终止的销售订单")
@PostMapping("/selectOneByVehSidAndNotStop") @PostMapping("/selectOneByVehSidAndNotStop")
ResultBean<String> selectOneByVehSidAndNotStop(@RequestParam("vehSid") String vehSid); ResultBean<String> selectOneByVehSidAndNotStop(@RequestParam("vehSid") String vehSid);
@ApiOperation("根据订单sid车架号查询")
@GetMapping("/selByOrderSidAndVinNo")
ResultBean<BusSalesOrderVehicle> selByOrderSidAndVinNo(@RequestParam("salesOrderSid")String salesOrderSid, @RequestParam("vinNo")String vinNo);
} }

5
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordervehicle/BusSalesOrderVehicleFeignFallback.java

@ -168,4 +168,9 @@ public class BusSalesOrderVehicleFeignFallback implements BusSalesOrderVehicleFe
return null; return null;
} }
@Override
public ResultBean<BusSalesOrderVehicle> selByOrderSidAndVinNo(String salesOrderSid, String vinNo) {
return null;
}
} }

2
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleMapper.java

@ -183,4 +183,6 @@ public interface BusSalesOrderVehicleMapper extends BaseMapper<BusSalesOrderVehi
List<String> selectBySalesOrderSid2(String saleOrderSid); List<String> selectBySalesOrderSid2(String saleOrderSid);
String selectOneByVehSidAndNotStop(String vehSid); String selectOneByVehSidAndNotStop(String vehSid);
BusSalesOrderVehicle selByOrderSidAndVinNo(@Param("salesOrderSid") String salesOrderSid, @Param("vinNo") String vinNo);
} }

8
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleMapper.xml

@ -364,4 +364,12 @@
ORDER BY bv.`createTime` DESC ORDER BY bv.`createTime` DESC
LIMIT 1 LIMIT 1
</select> </select>
<select id="selByOrderSidAndVinNo"
resultType="com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle">
SELECT
*
FROM bus_sales_order_vehicle bv
where bv.`salesOrderSid` = #{salesOrderSid} and
bv.linkNo LIKE CONCAT( '%', #{vinNo}, '%' )
</select>
</mapper> </mapper>

7
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleRest.java

@ -192,4 +192,11 @@ public class BusSalesOrderVehicleRest implements BusSalesOrderVehicleFeign {
String orderSid = busSalesOrderVehicleService.selectOneByVehSidAndNotStop(vehSid); String orderSid = busSalesOrderVehicleService.selectOneByVehSidAndNotStop(vehSid);
return rb.success().setData(orderSid); return rb.success().setData(orderSid);
} }
@Override
public ResultBean<BusSalesOrderVehicle> selByOrderSidAndVinNo(String salesOrderSid, String vinNo) {
ResultBean rb = ResultBean.fireFail();
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleService.selByOrderSidAndVinNo(salesOrderSid,vinNo);
return rb.success().setData(busSalesOrderVehicle);
}
} }

5
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleService.java

@ -667,4 +667,9 @@ public class BusSalesOrderVehicleService extends MybatisBaseService<BusSalesOrde
public String selectOneByVehSidAndNotStop(String vehSid) { public String selectOneByVehSidAndNotStop(String vehSid) {
return baseMapper.selectOneByVehSidAndNotStop(vehSid); return baseMapper.selectOneByVehSidAndNotStop(vehSid);
} }
public BusSalesOrderVehicle selByOrderSidAndVinNo(String salesOrderSid, String vinNo) {
String substringVinNo = vinNo.substring(vinNo.length() - 8);
return baseMapper.selByOrderSidAndVinNo(salesOrderSid,substringVinNo);
}
} }

2
anrui-buscenter/anrui-buscenter-ui/src/components/publicPage/dingdanInfo.vue

@ -149,7 +149,7 @@
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<div class="span-sty">其中上装()</div> <div class="span-sty">其中上装()</div>
<el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderModel.topPrice }}</span></el-form-item> <el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderMakeup.topPrice }}</span></el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>

2
anrui-buscenter/anrui-buscenter-ui/src/views/workflow/publicPage/dingdanInfo.vue

@ -146,7 +146,7 @@
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<div class="span-sty">其中上装()</div> <div class="span-sty">其中上装()</div>
<el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderModel.topPrice }}</span></el-form-item> <el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderMakeup.topPrice }}</span></el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>

2
anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xiaoshoudingdanFlow/xiaoshoudingdan.vue

@ -150,7 +150,7 @@
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<div class="span-sty">其中上装()</div> <div class="span-sty">其中上装()</div>
<el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderModel.topPrice }}</span></el-form-item> <el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderMakeup.topPrice }}</span></el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>

2
anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xiaoshoudingdanFlow/xiaoshoudingdanByCaiGou.vue

@ -150,7 +150,7 @@
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<div class="span-sty">其中上装()</div> <div class="span-sty">其中上装()</div>
<el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderModel.topPrice }}</span></el-form-item> <el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderMakeup.topPrice }}</span></el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>

2
anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xiaoshoudingdanFlow/xiaoshoudingdanByJinRong.vue

@ -150,7 +150,7 @@
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<div class="span-sty">其中上装()</div> <div class="span-sty">其中上装()</div>
<el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderModel.topPrice }}</span></el-form-item> <el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderMakeup.topPrice }}</span></el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>

2
anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xiaoshoudingdanFlow/xiaoshoudingdanInfo.vue

@ -146,7 +146,7 @@
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<div class="span-sty">其中上装()</div> <div class="span-sty">其中上装()</div>
<el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderModel.topPrice }}</span></el-form-item> <el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderMakeup.topPrice }}</span></el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>

2
anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xiaoshoudingdan/xiaoshoudingdanInfo.vue

@ -146,7 +146,7 @@
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<div class="span-sty">其中上装()</div> <div class="span-sty">其中上装()</div>
<el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderModel.topPrice }}</span></el-form-item> <el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderMakeup.topPrice }}</span></el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>

2
anrui-buscenter/anrui-finmanage-ui/src/components/publicPage/salesOrder.vue

@ -146,7 +146,7 @@
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<div class="span-sty">其中上装()</div> <div class="span-sty">其中上装()</div>
<el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderModel.topPrice }}</span></el-form-item> <el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderMakeup.topPrice }}</span></el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>

2
anrui-buscenter/anrui-finmanage-ui/src/views/workFlow/publicPage/salesOrder.vue

@ -146,7 +146,7 @@
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<div class="span-sty">其中上装()</div> <div class="span-sty">其中上装()</div>
<el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderModel.topPrice }}</span></el-form-item> <el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderMakeup.topPrice }}</span></el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>

2
anrui-riskcenter-ui/src/components/publicPage/salesOrder.vue

@ -146,7 +146,7 @@
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<div class="span-sty">其中上装()</div> <div class="span-sty">其中上装()</div>
<el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderModel.topPrice }}</span></el-form-item> <el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderMakeup.topPrice }}</span></el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>

2
anrui-riskcenter-ui/src/views/workFlow/publicPage/salesOrder.vue

@ -146,7 +146,7 @@
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<div class="span-sty">其中上装()</div> <div class="span-sty">其中上装()</div>
<el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderModel.topPrice }}</span></el-form-item> <el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderMakeup.topPrice }}</span></el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>

9
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/LoanRepaymentScheduleFeign.java

@ -10,7 +10,11 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*; 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.util.List; import java.util.List;
@ -80,6 +84,11 @@ public interface LoanRepaymentScheduleFeign {
@ResponseBody @ResponseBody
ResultBean<List<LoanRepaymentHistory>> selHistoryBySid(@RequestParam("sid") String sid); ResultBean<List<LoanRepaymentHistory>> selHistoryBySid(@RequestParam("sid") String sid);
@ApiOperation(value = "导入贷后历史数据")
@PostMapping("/importHistoryData")
public ResultBean importHistoryData(
@RequestParam(value = "file") MultipartFile file, HttpServletRequest request) throws IOException;
//-------------------------app接口-------------------- //-------------------------app接口--------------------
/** /**

9
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/LoanRepaymentScheduleFeignFallback.java

@ -7,7 +7,11 @@ import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo; import com.yxt.common.core.vo.PagerVo;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List; import java.util.List;
/** /**
@ -69,6 +73,11 @@ public class LoanRepaymentScheduleFeignFallback implements LoanRepaymentSchedule
return null; return null;
} }
@Override
public ResultBean importHistoryData(MultipartFile file, HttpServletRequest request) throws IOException {
return null;
}
@Override @Override
public ResultBean<PagerVo<AppRepaymentPlanVo>> getRepaymentPlanList(PagerQuery<AppRepaymentPlanQuery> pq) { public ResultBean<PagerVo<AppRepaymentPlanVo>> getRepaymentPlanList(PagerQuery<AppRepaymentPlanQuery> pq) {
return null; return null;

46
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/historyData/HistoryDataImportVo.java

@ -26,45 +26,59 @@ public class HistoryDataImportVo {
private String vinNo; private String vinNo;
@ApiModelProperty("消贷合同编号") @ApiModelProperty("消贷合同编号")
private String loanContractNo; private String loanContractNo;
@ApiModelProperty("资方合同号") @ApiModelProperty("是否存在休眠或展期")
private String sleep;
@ApiModelProperty("主产品资方合同号")
private String bankContractNo; private String bankContractNo;
@ApiModelProperty("资方名称") @ApiModelProperty("主产品资方名称")
private String bankName; private String bankName;
@ApiModelProperty("主产品期数") @ApiModelProperty("主产品期数")
private String mainPeriod; private String mainPeriod;
@ApiModelProperty("金融产品政策") @ApiModelProperty("金融产品首付比例")
private String paymentRatio;
@ApiModelProperty("金融产品保证金比例")
private String depositRatio; private String depositRatio;
@ApiModelProperty("实收保证金金额")
private String depositMoney;
@ApiModelProperty("其他融资方合同号") @ApiModelProperty("其他融资方合同号")
private String otherBankNo; private String otherBankNo;
@ApiModelProperty("其他融资方") @ApiModelProperty("其他融资方名称")
private String otherBankName; private String otherBankName;
@ApiModelProperty("其他融期数") @ApiModelProperty("其他融期数")
private String otherPeriod; private String otherPeriod;
@ApiModelProperty("主产品首期还日") @ApiModelProperty("主产品首期还日")
private String mainRepayDate; private String mainRepayDate;
@ApiModelProperty("主产品首期月还") @ApiModelProperty("主产品第一期应还金额")
private String mainFirstRepay; private String mainFirstRepay;
@ApiModelProperty("主产品期间月还") @ApiModelProperty("主产品中间期")
private String mainMidRepay; private String mainMidRepay;
@ApiModelProperty("主产品期末月还") @ApiModelProperty("主产品最后一期应还金额")
private String mainLastRepay; private String mainLastRepay;
@ApiModelProperty("其他融首期还日") @ApiModelProperty("其他融首期还日")
private String otherRepayDate; private String otherRepayDate;
@ApiModelProperty("其他融首期月还") @ApiModelProperty("其他融第一期应还金额")
private String otherFirstRepay; private String otherFirstRepay;
@ApiModelProperty("其他融期间月还") @ApiModelProperty("其他融中间期")
private String otherMidRepay; private String otherMidRepay;
@ApiModelProperty("其他融期末月还") @ApiModelProperty("其他融最后一期应还金额")
private String otherLastRepay; private String otherLastRepay;
@ApiModelProperty("推送财务凭证部门编码") @ApiModelProperty("首期总月还")
private String cwDeptNo; private String mainAmount;
@ApiModelProperty("销售部门编码") @ApiModelProperty("销售部门编码")
private String salesDeptNo; private String salesDeptNo;
@ApiModelProperty("销售部门")
private String salesDept;
@ApiModelProperty("分公司编码") @ApiModelProperty("分公司编码")
private String useOrgNo; private String useOrgNo;
@ApiModelProperty("分公司垫款金额") @ApiModelProperty("分公司")
private String useOrgName;
@ApiModelProperty("累欠本金(逾期月还)")
private String tiredMoney;
@ApiModelProperty("其中公司垫还资方金额")
private String paymentMoney; private String paymentMoney;
@ApiModelProperty("资金占用费") @ApiModelProperty("垫还资方逾期利息")
private String interest;
@ApiModelProperty("资金占用费(逾期利息)")
private String fund; private String fund;
} }

16
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/historyData/ReturnMsg.java

@ -0,0 +1,16 @@
package com.yxt.anrui.riskcenter.api.loanrepaymentschedule.historyData;
import lombok.Data;
import java.util.*;
/**
* @author Fan
* @description
* @date 2024/6/28 14:13
*/
@Data
public class ReturnMsg {
private Set<String> setMsg;
private List<HistoryDataImportVo> list;
}

8
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleRest.java

@ -13,8 +13,11 @@ import io.swagger.annotations.Api;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.UnsupportedEncodingException; import java.io.UnsupportedEncodingException;
import java.net.URLEncoder; import java.net.URLEncoder;
import java.util.List; import java.util.List;
@ -85,6 +88,11 @@ public class LoanRepaymentScheduleRest implements LoanRepaymentScheduleFeign {
return loanRepaymentScheduleService.selHistoryBySid(sid); return loanRepaymentScheduleService.selHistoryBySid(sid);
} }
@Override
public ResultBean importHistoryData(MultipartFile file, HttpServletRequest request) throws IOException {
return loanRepaymentScheduleService.importHistoryData(file,request);
}
@Override @Override
public ResultBean<PagerVo<AppRepaymentPlanVo>> getRepaymentPlanList(PagerQuery<AppRepaymentPlanQuery> pq) { public ResultBean<PagerVo<AppRepaymentPlanVo>> getRepaymentPlanList(PagerQuery<AppRepaymentPlanQuery> pq) {
ResultBean<PagerVo<AppRepaymentPlanVo>> rb = ResultBean.fireFail(); ResultBean<PagerVo<AppRepaymentPlanVo>> rb = ResultBean.fireFail();

285
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleService.java

@ -1,6 +1,7 @@
package com.yxt.anrui.riskcenter.biz.loanrepaymentschedule; package com.yxt.anrui.riskcenter.biz.loanrepaymentschedule;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
@ -39,6 +40,7 @@ import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDe
import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetailsDto; import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetailsDto;
import com.yxt.anrui.riskcenter.api.loanrepaymentschedule.*; import com.yxt.anrui.riskcenter.api.loanrepaymentschedule.*;
import com.yxt.anrui.riskcenter.api.loanrepaymentschedule.historyData.HistoryDataImportVo; import com.yxt.anrui.riskcenter.api.loanrepaymentschedule.historyData.HistoryDataImportVo;
import com.yxt.anrui.riskcenter.api.loanrepaymentschedule.historyData.ReturnMsg;
import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutions; import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutions;
import com.yxt.anrui.riskcenter.api.loansolutions.app.SolutionsDetailsVo; import com.yxt.anrui.riskcenter.api.loansolutions.app.SolutionsDetailsVo;
import com.yxt.anrui.riskcenter.api.loansolutionsotherpolicy.LoanSolutionsOtherpolicy; import com.yxt.anrui.riskcenter.api.loansolutionsotherpolicy.LoanSolutionsOtherpolicy;
@ -62,11 +64,20 @@ import com.yxt.common.core.vo.PagerVo;
import com.yxt.messagecenter.api.message.MessageFeign; import com.yxt.messagecenter.api.message.MessageFeign;
import com.yxt.messagecenter.api.message.PushMessageQuery; import com.yxt.messagecenter.api.message.PushMessageQuery;
import com.yxt.messagecenter.api.message.PushSmsDto; import com.yxt.messagecenter.api.message.PushSmsDto;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.tomcat.util.threads.ThreadPoolExecutor; import org.apache.tomcat.util.threads.ThreadPoolExecutor;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.File; import java.io.File;
import java.io.InputStream; import java.io.InputStream;
import java.math.BigDecimal; import java.math.BigDecimal;
@ -75,6 +86,8 @@ import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
import java.util.concurrent.*; import java.util.concurrent.*;
import java.util.function.Function; import java.util.function.Function;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -2653,6 +2666,7 @@ public class LoanRepaymentScheduleService extends MybatisBaseService<LoanRepayme
List<BusSalesOrderVehicle> vehicles = busSalesOrderVehicleFeign.selectListByOrderSidAndXdConSid(salesOrderSid, loanContractSid).getData(); List<BusSalesOrderVehicle> vehicles = busSalesOrderVehicleFeign.selectListByOrderSidAndXdConSid(salesOrderSid, loanContractSid).getData();
String isOtherPolicy = schedule.getIsOtherPolicy(); String isOtherPolicy = schedule.getIsOtherPolicy();
String sameBank = schedule.getSameBank(); String sameBank = schedule.getSameBank();
String isDifferent = schedule.getIsDifferent(); // 是否有单独车辆不同
String mainOrOther = ""; String mainOrOther = "";
if (null != salesOrder) { if (null != salesOrder) {
if (!vehicles.isEmpty()) { if (!vehicles.isEmpty()) {
@ -2907,6 +2921,9 @@ public class LoanRepaymentScheduleService extends MybatisBaseService<LoanRepayme
} }
} }
} }
System.out.println("------------------------");
System.out.println(pdfs);
System.out.println("------------------------");
return pdfs; return pdfs;
} }
@ -4874,7 +4891,7 @@ public class LoanRepaymentScheduleService extends MybatisBaseService<LoanRepayme
/** /**
* 导入历史数据生成还款计划表 * 导入历史数据生成还款计划表
*/ */
public void saveHistoryRecord(List<HistoryDataImportVo> list) { public List<LoanRepaymentPlanDetails> saveHistoryRecord(List<HistoryDataImportVo> list) {
List<LoanRepaymentSchedule> schedules = new ArrayList<>(); //还款计划表主表 List<LoanRepaymentSchedule> schedules = new ArrayList<>(); //还款计划表主表
List<LoanRepaymentPlanDetails> planDetails = new ArrayList<>();//还款计划表明细 List<LoanRepaymentPlanDetails> planDetails = new ArrayList<>();//还款计划表明细
List<LoanRepaymentHistory> histories = new ArrayList<>();//还款记录 List<LoanRepaymentHistory> histories = new ArrayList<>();//还款记录
@ -4911,7 +4928,8 @@ public class LoanRepaymentScheduleService extends MybatisBaseService<LoanRepayme
String salesOrderSid = ""; String salesOrderSid = "";
String loanContractSid = ""; String loanContractSid = "";
String borrowerSid = ""; String borrowerSid = "";
String[] splitVin = v.getVinNo().split(","); String vinNo = v.getVinNo();
String busVinSid = "";
if (StringUtils.isNotBlank(v.getOtherBankNo())) { if (StringUtils.isNotBlank(v.getOtherBankNo())) {
isOther = "1"; isOther = "1";
if (v.getBankContractNo().equals(v.getOtherBankNo())) { if (v.getBankContractNo().equals(v.getOtherBankNo())) {
@ -4975,15 +4993,276 @@ public class LoanRepaymentScheduleService extends MybatisBaseService<LoanRepayme
customerTemps.add(crmCustomerTemp); customerTemps.add(crmCustomerTemp);
} }
//根据车架号查询销售订单 //根据车架号查询销售订单
String orderSid = baseVehicleOutApplyFeign.selectSidByVinNo(splitVin[0]).getData(); String orderSid = baseVehicleOutApplyFeign.selectSidByVinNo(vinNo).getData();
if (StringUtils.isNotBlank(orderSid)) { if (StringUtils.isNotBlank(orderSid)) {
salesOrderSid = orderSid;
// 查询销售订单车辆列表
ResultBean<BusSalesOrderVehicle> busSalesOrderVehicle = busSalesOrderVehicleFeign.selByOrderSidAndVinNo(salesOrderSid,vinNo);
BusSalesOrderVehicle vehicleData = busSalesOrderVehicle.getData();
if (vehicleData != null) {
busVinSid = vehicleData.getSid();
loanContractSid = vehicleData.getLoanContractSid();
borrowerSid = vehicleData.getBorrowerSid();
}
} else {
} }
} }
return planDetails;
}
public ResultBean importHistoryData(MultipartFile file, HttpServletRequest request) {
ResultBean rb = ResultBean.fireFail();
try {
String temp = request.getSession().getServletContext().getRealPath(File.separator) + "temp";// 临时目录
File tempFile = new File(temp);
if (!tempFile.exists()) {
tempFile.mkdirs();
}
String fileName = file.getOriginalFilename();
if (!fileName.matches("^.+\\.(?i)(xls)$") && !fileName.matches("^.+\\.(?i)(xlsx)$")) {
return rb.fail().setMsg("上传文件不正确");
}
boolean isExcel2003 = true;
if (fileName.matches("^.+\\.(?i)(xlsx)$")) {
isExcel2003 = false;
}
InputStream is = file.getInputStream();
Workbook wb = null;
if (isExcel2003) {
wb = new HSSFWorkbook(is);
} else {
wb = new XSSFWorkbook(is);
}
Sheet sheet = wb.getSheetAt(0);
ReturnMsg returnMsg = getSheetVal(sheet);
Set<String> setMsg = returnMsg.getSetMsg();
StringBuffer sbMsg = new StringBuffer();
if (null != setMsg && setMsg.size() > 0) {
for (String s : setMsg) {
sbMsg.append(s).append(",");
}
sbMsg.delete(sbMsg.length() - 1, sbMsg.length());
if (StringUtils.isNotBlank(sbMsg.toString())) {
return rb.setMsg(sbMsg.toString());
}
}
} catch (Exception e) {
e.printStackTrace();
}
return rb.success();
}
private ReturnMsg getSheetVal(Sheet sheet) {
ReturnMsg returnMsg = new ReturnMsg();
List<HistoryDataImportVo> voList = new ArrayList<>();
Set<String> setMsg = new HashSet<>();
Row row1 = sheet.getRow(0);
Map<Integer, String> header = new HashMap<>();
Map<String, String> map = new HashMap<>();
for (int i = 0; i < row1.getPhysicalNumberOfCells(); i++) {
String trim = new String();
try {
trim = getCellVal(row1.getCell(i)).toString().trim();
String temp = getCellVal(row1.getCell(i)).toString().trim();
if (StringUtils.isNotBlank(temp)) {
header.put(i, temp);
}
} catch (Exception e) {
e.printStackTrace();
}
}
for (int r = 1; r <= sheet.getLastRowNum(); r++) {
HistoryDataImportVo info = new HistoryDataImportVo();
Row row = sheet.getRow(r);
if (row == null) {
continue;
}
for (int i = 0; i < header.size(); i++) {
// String trim = new String();
try {
// trim = getCellVal(row.getCell(i)).toString().trim();
String temp = "";
if (null != getCellVal(row.getCell(i))) {
temp = getCellVal(row.getCell(i)).toString().trim();
}
String head = header.get(i);
String field = "";
if (StringUtils.isNotBlank(temp)) {
field = temp;
}
if (head.equals("实际购车人名称")) {
info.setActualName(field);
}
if (head.equals("实际购车人电话")) {
info.setActualPhone(field);
}
if (head.equals("借款人(财务的客户)编码")) {
info.setBorrowerNo(field);
}
if (head.equals("借款人(财务的客户)名称")) {
info.setBorrowerName(field);
}
if (head.equals("车架号")) {
info.setVinNo(field);
}
if (head.equals("消贷合同编号")) {
info.setLoanContractNo(field);
}
if (head.equals("是否存在休眠或展期")) {
info.setSleep(field);
}
if (head.equals("主产品资方合同号")) {
info.setBankContractNo(field);
}
if (head.equals("主产品资方名称")) {
info.setBankName(field);
}
if (head.equals("主产品期数")) {
info.setMainPeriod(field);
}
if (head.equals("金融产品首付比例")) {
info.setPaymentRatio(field);
}
if (head.equals("金融产品保证金比例")) {
info.setDepositRatio(field);
}
if (head.equals("实收保证金金额")) {
info.setDepositMoney(field);
}
if (head.equals("其他融资方合同号")) {
info.setOtherBankNo(field);
}
if (head.equals("其他融资方名称")) {
info.setOtherBankName(field);
}
if (head.equals("其他融期数")) {
info.setOtherPeriod(field);
}
if (head.equals("主产品首期应还日期")) {
info.setMainRepayDate(field);
}
if (head.equals("主产品第一期应还金额")) {
info.setMainFirstRepay(field);
}
if (head.equals("主产品中间期")) {
info.setMainMidRepay(field);
}
if (head.equals("主产品最后一期应还金额")) {
info.setMainLastRepay(field);
}
if (head.equals("其他融首期应还日期")) {
info.setOtherRepayDate(field);
}
if (head.equals("其他融第一期应还金额")) {
info.setOtherFirstRepay(field);
}
if (head.equals("其他融中间期")) {
info.setOtherMidRepay(field);
}
if (head.equals("其他融最后一期应还金额")) {
info.setOtherLastRepay(field);
}
if (head.equals("首期总月还")) {
info.setMainAmount(field);
}
if (head.equals("销售部门编码")) {
info.setSalesDeptNo(field);
}
if (head.equals("销售部门")) {
info.setSalesDept(field);
}
if (head.equals("分公司编码")) {
info.setUseOrgNo(field);
}
if (head.equals("分公司")) {
info.setUseOrgName(field);
}
if (head.equals("累欠本金(逾期月还)")) {
info.setTiredMoney(field);
}
if (head.equals("其中公司垫还资方金额")) {
info.setPaymentMoney(field);
}
if (head.equals("垫还资方逾期利息")) {
info.setInterest(field);
}
if (head.equals("资金占用费(逾期利息)")) {
info.setFund(field);
}
} catch (Exception e) {
e.printStackTrace();
continue;
}
}
voList.add(info);
}
returnMsg.setList(voList);
return returnMsg;
}
public Object getCellVal(Cell cell) {
Object obj = null;
if (cell != null) {
switch (cell.getCellTypeEnum()) {
case BOOLEAN:
obj = cell.getBooleanCellValue();
break;
case ERROR:
obj = cell.getErrorCellValue();
break;
case NUMERIC:
obj = cell.getNumericCellValue();
break;
case STRING:
obj = cell.getStringCellValue();
break;
default:
break;
}
}
return obj;
}
public boolean isNum(String s) {
if (org.apache.commons.lang3.StringUtils.isNotBlank(s)) {
if (s.contains(".")) {
return isNumeric(s);
} else {
return isNumericFirst(s);
}
}
return false;
}
public boolean isNumeric(String s) {
String substring = s.substring(0, s.lastIndexOf("."));
String substringLast = s.substring(s.lastIndexOf(".") + 1, s.length());
if (substring != null && !"".equals(substring.trim()) || substringLast != null && !"".equals(substringLast.trim())) {
boolean matches = substring.matches("^[0-9]*$");
boolean b = substringLast.matches("^[0-9]*$");
if (matches && b) {
return true;
} else {
return false;
}
} else
return false;
}
public boolean isNumericFirst(String str) {
Pattern pattern = Pattern.compile("[0-9]*");
System.out.println(str);
Matcher isNum = pattern.matcher(str);
if (!isNum.matches()) {
return false;
}
return true;
} }
} }

2
anrui-riskcenter/anrui-riskcenter-biz/src/main/resources/ftl/vouchers/returnMoney3.ftl

@ -7574,7 +7574,7 @@
<w:u w:val="none"/> <w:u w:val="none"/>
<w:lang w:val="EN-US" w:fareast="ZH-CN"/> <w:lang w:val="EN-US" w:fareast="ZH-CN"/>
</w:rPr> </w:rPr>
<w:t>${fMoney2!}</w:t> <w:t>${fMoney3!}</w:t>
</w:r> </w:r>
</w:p> </w:p>
</w:tc> </w:tc>

2
anrui-scm/anrui-scm-ui/src/components/publicPage/saleOrder.vue

@ -146,7 +146,7 @@
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<div class="span-sty">其中上装()</div> <div class="span-sty">其中上装()</div>
<el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderModel.topPrice }}</span></el-form-item> <el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderMakeup.topPrice }}</span></el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>

2
anrui-scm/anrui-scm-ui/src/views/workFlow/publicPage/xiaoshoudingdanInfo.vue

@ -146,7 +146,7 @@
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<div class="span-sty">其中上装()</div> <div class="span-sty">其中上装()</div>
<el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderModel.topPrice }}</span></el-form-item> <el-form-item><span class="addinputInfo">{{ formobj.busSalesOrderMakeup.topPrice }}</span></el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>

32
yxt-as-ui/src/api/goods/brand.js

@ -1,7 +1,6 @@
import request from '@/utils/request' import request from '@/utils/request'
export default { export default {
// 查询分页列表 // 查询分页列表
listPage: function(params) { listPage: function(params) {
return request({ return request({
@ -13,28 +12,20 @@ export default {
} }
}) })
}, },
// 品牌查询 // 品牌查询
getAllBrand: function(params) { getAllBrand: function(params) {
return request({ return request({
url: '/yxtbase/apiadmin/base/basegoodsbrand/listAll', url: '/yxtbase/apiadmin/base/basegoodsbrand/listAll',
method: 'post', method: 'get',
data: params, params: params
headers: {
'Content-Type': 'application/json'
}
}) })
}, },
// 修改是否可用状态 // 修改是否可用状态
updateIsEnable: function(sid,isEnable) { updateIsEnable: function(sid, isEnable) {
return request({ return request({
url: '/yxtbase/apiadmin/base/basegoodsbrand/updateIsEnable/'+sid+"/"+isEnable url: '/yxtbase/apiadmin/base/basegoodsbrand/updateIsEnable/' + sid + '/' + isEnable
}); })
}, },
// 新增、保存 // 新增、保存
saveBrands: function(data) { saveBrands: function(data) {
return request({ return request({
@ -44,19 +35,15 @@ export default {
headers: { headers: {
'Content-Type': 'application/json' 'Content-Type': 'application/json'
} }
}); })
}, },
// 初始化 // 初始化
initBrands: function(data) { initBrands: function(data) {
return request({ return request({
url: '/yxtbase/apiadmin/base/basegoodsbrand/initialization/' + data, url: '/yxtbase/apiadmin/base/basegoodsbrand/initialization/' + data,
method: 'get' method: 'get'
}); })
}, },
// 品牌-- 删除 // 品牌-- 删除
deleteBySids: function(data) { deleteBySids: function(data) {
return request({ return request({
@ -67,8 +54,5 @@ export default {
'Content-Type': 'application/json' 'Content-Type': 'application/json'
} }
}) })
}, }
} }

31
yxt-as-ui/src/api/goods/category.js

@ -1,7 +1,6 @@
import request from '@/utils/request' import request from '@/utils/request'
export default { export default {
// 查询分页列表 // 查询分页列表
listPage: function(params) { listPage: function(params) {
return request({ return request({
@ -13,34 +12,26 @@ export default {
} }
}) })
}, },
// 类别查询 // 类别查询
getAllType: function(params) { getAllType: function(params) {
return request({ return request({
url: '/yxtbase/apiadmin/base/basegoodstype/listAll', url: '/yxtbase/apiadmin/base/basegoodstype/listAll',
method: 'post', method: 'get',
data: params, params: params
headers: {
'Content-Type': 'application/json'
}
}) })
}, },
// 修改是否可用状态 // 修改是否可用状态
updateIsEnable: function(sid, isEnable) { updateIsEnable: function(sid, isEnable) {
return request({ return request({
url: '/yxtbase/apiadmin/base/basegoodstype/updateIsEnable/' + sid + "/" + isEnable url: '/yxtbase/apiadmin/base/basegoodstype/updateIsEnable/' + sid + '/' + isEnable
}); })
}, },
// 修改是否一品一码 // 修改是否一品一码
updateIsGoodsID: function(sid, isGoodsID) { updateIsGoodsID: function(sid, isGoodsID) {
return request({ return request({
url: '/yxtbase/apiadmin/base/basegoodstype/updateIsGoodsID/' + sid + "/" + isGoodsID url: '/yxtbase/apiadmin/base/basegoodstype/updateIsGoodsID/' + sid + '/' + isGoodsID
}); })
}, },
// 新增、保存 // 新增、保存
saveTypes: function(data) { saveTypes: function(data) {
return request({ return request({
@ -50,7 +41,7 @@ export default {
headers: { headers: {
'Content-Type': 'application/json' 'Content-Type': 'application/json'
} }
}); })
}, },
// 初始化 // 初始化
@ -58,11 +49,8 @@ export default {
return request({ return request({
url: '/yxtbase/apiadmin/base/basegoodstype/initialization/' + data, url: '/yxtbase/apiadmin/base/basegoodstype/initialization/' + data,
method: 'get' method: 'get'
}); })
}, },
// 类别-- 删除 // 类别-- 删除
deleteBySids: function(data) { deleteBySids: function(data) {
return request({ return request({
@ -73,6 +61,5 @@ export default {
'Content-Type': 'application/json' 'Content-Type': 'application/json'
} }
}) })
}, }
} }

28
yxt-as-ui/src/api/goods/factory.js

@ -1,7 +1,6 @@
import request from '@/utils/request' import request from '@/utils/request'
export default { export default {
// 查询分页列表 // 查询分页列表
listPage: function(params) { listPage: function(params) {
return request({ return request({
@ -13,27 +12,20 @@ export default {
} }
}) })
}, },
// 厂家查询 // 厂家查询
getAllFacturer: function(params) { getAllFacturer: function(params) {
return request({ return request({
url: '/yxtbase/apiadmin/base/basemanufacturer/listAll', url: '/yxtbase/apiadmin/base/basemanufacturer/listAll',
method: 'post', method: 'get',
data: params, params: params
headers: {
'Content-Type': 'application/json'
}
}) })
}, },
// 修改是否可用状态 // 修改是否可用状态
updateIsEnable: function(sid,isEnable) { updateIsEnable: function(sid, isEnable) {
return request({ return request({
url: '/yxtbase/apiadmin/base/basemanufacturer/updateIsEnable/'+sid+"/"+isEnable url: '/yxtbase/apiadmin/base/basemanufacturer/updateIsEnable/' + sid + '/' + isEnable
}); })
}, },
// 新增、保存 // 新增、保存
saveFacturer: function(data) { saveFacturer: function(data) {
return request({ return request({
@ -43,17 +35,15 @@ export default {
headers: { headers: {
'Content-Type': 'application/json' 'Content-Type': 'application/json'
} }
}); })
}, },
// 初始化 // 初始化
initFacturer: function(data) { initFacturer: function(data) {
return request({ return request({
url: '/yxtbase/apiadmin/base/basemanufacturer/initialization/' + data, url: '/yxtbase/apiadmin/base/basemanufacturer/initialization/' + data,
method: 'get' method: 'get'
}); })
}, },
// 厂家-- 删除 // 厂家-- 删除
deleteBySids: function(data) { deleteBySids: function(data) {
return request({ return request({
@ -64,7 +54,5 @@ export default {
'Content-Type': 'application/json' 'Content-Type': 'application/json'
} }
}) })
}, }
} }

28
yxt-as-ui/src/api/goods/unit.js

@ -1,7 +1,6 @@
import request from '@/utils/request' import request from '@/utils/request'
export default { export default {
// 查询分页列表 // 查询分页列表
listPage: function(params) { listPage: function(params) {
return request({ return request({
@ -13,28 +12,20 @@ export default {
} }
}) })
}, },
// 单位查询 // 单位查询
getAllUnit: function(params) { getAllUnit: function(params) {
return request({ return request({
url: '/yxtbase/apiadmin/base/basegoodsunit/listAll', url: '/yxtbase/apiadmin/base/basegoodsunit/listAll',
method: 'post', method: 'get',
data: params, params: params
headers: {
'Content-Type': 'application/json'
}
}) })
}, },
// 修改是否可用状态 // 修改是否可用状态
updateIsEnable: function(sid,isEnable) { updateIsEnable: function(sid, isEnable) {
return request({ return request({
url: '/yxtbase/apiadmin/base/basegoodsunit/updateIsEnable/'+sid+"/"+isEnable url: '/yxtbase/apiadmin/base/basegoodsunit/updateIsEnable/' + sid + '/' + isEnable
}); })
}, },
// 新增、保存 // 新增、保存
saveUnits: function(data) { saveUnits: function(data) {
return request({ return request({
@ -44,17 +35,15 @@ export default {
headers: { headers: {
'Content-Type': 'application/json' 'Content-Type': 'application/json'
} }
}); })
}, },
// 初始化 // 初始化
initUnits: function(data) { initUnits: function(data) {
return request({ return request({
url: '/yxtbase/apiadmin/base/basegoodsunit/initialization/' + data, url: '/yxtbase/apiadmin/base/basegoodsunit/initialization/' + data,
method: 'get' method: 'get'
}); })
}, },
// 单位-- 删除 // 单位-- 删除
deleteBySids: function(data) { deleteBySids: function(data) {
return request({ return request({
@ -65,6 +54,5 @@ export default {
'Content-Type': 'application/json' 'Content-Type': 'application/json'
} }
}) })
}, }
} }

6
yxt-as-ui/src/views/goods/category/categoryAdd.vue

@ -211,11 +211,7 @@
methods: { methods: {
initData() { initData() {
console.log('>>>>>>>>>initData') console.log('>>>>>>>>>initData')
var parpams = { var parpams = { useOrgSid: window.sessionStorage.getItem('defaultOrgPath').substring(window.sessionStorage.getItem('defaultOrgPath').lastIndexOf('/') + 1) }
orgPath: window.sessionStorage.getItem('defaultOrgPath'),
userSid: window.sessionStorage.getItem('userSid'),
menuUrl: this.$route.path
}
req.getAllType(parpams).then(resp => { req.getAllType(parpams).then(resp => {
this.goodsTypeList = resp.data this.goodsTypeList = resp.data

50
yxt-as-ui/src/views/goods/goods/goodsAdd.vue

@ -373,7 +373,8 @@
<el-col :span="8"> <el-col :span="8">
<div class="span-sty">是否原厂</div> <div class="span-sty">是否原厂</div>
<el-form-item> <el-form-item>
<el-radio-group v-model="itemInfo.isOriginalFactory" :disabled="true" size="small" style="margin-left: 120px;"> <el-radio-group v-model="itemInfo.isOriginalFactory" :disabled="true" size="small"
style="margin-left: 120px;">
<el-radio :label="'1'"></el-radio> <el-radio :label="'1'"></el-radio>
<el-radio :label="'2'"></el-radio> <el-radio :label="'2'"></el-radio>
</el-radio-group> </el-radio-group>
@ -387,7 +388,8 @@
<el-col :span="8"> <el-col :span="8">
<div class="span-sty">是否库存警戒</div> <div class="span-sty">是否库存警戒</div>
<el-form-item> <el-form-item>
<el-radio-group v-model="itemInfo.isInventoryAlert" :disabled="true" size="small" style="margin-left: 120px;"> <el-radio-group v-model="itemInfo.isInventoryAlert" :disabled="true" size="small"
style="margin-left: 120px;">
<el-radio :label="'1'"></el-radio> <el-radio :label="'1'"></el-radio>
<el-radio :label="'2'"></el-radio> <el-radio :label="'2'"></el-radio>
</el-radio-group> </el-radio-group>
@ -473,7 +475,8 @@
<el-col :span="8"> <el-col :span="8">
<div class="span-sty">是否积分兑换</div> <div class="span-sty">是否积分兑换</div>
<el-form-item> <el-form-item>
<el-radio-group v-model="itemInfo.isIntegralExchange" :disabled="true" size="small" style="margin-left: 120px;"> <el-radio-group v-model="itemInfo.isIntegralExchange" :disabled="true" size="small"
style="margin-left: 120px;">
<el-radio :label="'1'"></el-radio> <el-radio :label="'1'"></el-radio>
<el-radio :label="'2'"></el-radio> <el-radio :label="'2'"></el-radio>
</el-radio-group> </el-radio-group>
@ -494,7 +497,8 @@
<el-col :span="8"> <el-col :span="8">
<div class="span-sty">锁定销售价格</div> <div class="span-sty">锁定销售价格</div>
<el-form-item> <el-form-item>
<el-radio-group v-model="itemInfo.isLockingSalesPrice" :disabled="true" size="small" style="margin-left: 120px;"> <el-radio-group v-model="itemInfo.isLockingSalesPrice" :disabled="true" size="small"
style="margin-left: 120px;">
<el-radio :label="'1'"></el-radio> <el-radio :label="'1'"></el-radio>
<el-radio :label="'2'"></el-radio> <el-radio :label="'2'"></el-radio>
</el-radio-group> </el-radio-group>
@ -782,9 +786,10 @@
goodsDescription: "" goodsDescription: ""
}, },
baseGoodsSkus: [], baseGoodsSkus: [],
useOrgSid: window.sessionStorage.getItem('departmentSid'), useOrgSid: window.sessionStorage.getItem('defaultOrgPath').substring(window.sessionStorage
.getItem('defaultOrgPath').lastIndexOf('/') + 1),
orgPath: window.sessionStorage.getItem('defaultOrgPath'), orgPath: window.sessionStorage.getItem('defaultOrgPath'),
createOrgSid: window.sessionStorage.getItem('orgSid'), createOrgSid:'',
userSid: window.sessionStorage.getItem('userSid'), userSid: window.sessionStorage.getItem('userSid'),
}, },
brandList: [], brandList: [],
@ -800,16 +805,31 @@
} }
}, },
created() { created() {
this.initData() // this.initData()
}, },
methods: { methods: {
initData() { initData() {
var parpams = { getOrgSidByPath({
orgPath: window.sessionStorage.getItem('defaultOrgPath'), orgPath: window.sessionStorage.getItem('defaultOrgPath')
userSid: window.sessionStorage.getItem('userSid'), }).then((res) => {
menuUrl: this.$route.path if (res.success) {
this.formobj.createOrgSid = res.data
}
})
// var parpams = {
// orgPath: window.sessionStorage.getItem('defaultOrgPath'),
// userSid: window.sessionStorage.getItem('userSid'),
// menuUrl: this.$route.path
// }
var parpams ={
useOrgSid: window.sessionStorage.getItem('defaultOrgPath').substring(window.sessionStorage
.getItem('defaultOrgPath').lastIndexOf('/') + 1)
} }
req2.getAllBrand(parpams).then(resp => { req2.getAllBrand(parpams).then(resp => {
this.brandList = resp.data this.brandList = resp.data
}) })
@ -874,14 +894,16 @@
goodsDescription: "" goodsDescription: ""
}, },
baseGoodsSkus: [], baseGoodsSkus: [],
useOrgSid: window.sessionStorage.getItem('departmentSid'), useOrgSid: window.sessionStorage.getItem('defaultOrgPath').substring(window.sessionStorage
.getItem('defaultOrgPath').lastIndexOf('/') + 1),
orgPath: window.sessionStorage.getItem('defaultOrgPath'), orgPath: window.sessionStorage.getItem('defaultOrgPath'),
createOrgSid: window.sessionStorage.getItem('orgSid'), createOrgSid:'',
userSid: window.sessionStorage.getItem('userSid'), userSid: window.sessionStorage.getItem('userSid'),
} }
this.$emit('doback') this.$emit('doback')
}, },
showAdd() { showAdd() {
this.initData()
var sid = require('uuid').v1() var sid = require('uuid').v1()
console.log('>>>>>>>>>showAdd', sid) console.log('>>>>>>>>>showAdd', sid)
@ -895,7 +917,7 @@
return index + 1 return index + 1
}, },
showEdit(row) { showEdit(row) {
this.initData()
this.$nextTick(() => { this.$nextTick(() => {
this.$refs['form_obj'].clearValidate() this.$refs['form_obj'].clearValidate()
}) })

395
yxt-as-ui/src/views/goods/goods/goodsAdd2.vue

@ -1,6 +1,5 @@
<template> <template>
<div> <div>
<div class="tab-header webtop"> <div class="tab-header webtop">
<!-- 标题 --> <!-- 标题 -->
<div>商品信息</div> <div>商品信息</div>
@ -12,226 +11,176 @@
<!-- end 添加修改按钮 --> <!-- end 添加修改按钮 -->
<!-- end 详情按钮 --> <!-- end 详情按钮 -->
</div> </div>
<div class="listconadd"> <div class="listconadd">
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formaddcopy02"> <el-form ref="form_obj" :model="formobj" :rules="rules" class="formaddcopy02">
<!-- <div class="title"> <!-- <div class="title">
<div>基础信息</div> <div>基础信息</div>
</div> --> </div> -->
<el-row class="first_row"> <el-row class="first_row">
<el-col :span="6"> <el-col :span="6">
<div class="span-sty"><span class="must">*</span> 商品名称</div> <div class="span-sty"><span class="must">*</span> 商品名称</div>
<el-form-item prop="goodsName"> <el-form-item prop="goodsName">
<el-input v-model="formobj.goodsName" placeholder="商品名称" class="addinputw addinputInfo" clearable /> <el-input v-model="formobj.goodsName" placeholder="商品名称" class="addinputw addinputInfo" clearable/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<div class="span-sty"><span class="must">*</span> 商品编码</div> <div class="span-sty"><span class="must">*</span> 商品编码</div>
<el-form-item prop="goodsCode"> <el-form-item prop="goodsCode">
<el-input v-model="formobj.goodsCode" placeholder="商品编码" class="addinputw addinputInfo" clearable /> <el-input v-model="formobj.goodsCode" placeholder="商品编码" class="addinputw addinputInfo" clearable/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<div class="span-sty">条形码</div> <div class="span-sty">条形码</div>
<el-form-item> <el-form-item>
<el-input v-model="formobj.barCode" placeholder="由系统自动生成" :readonly="true" class="addinputw addinputInfo" <el-input v-model="formobj.barCode" placeholder="由系统自动生成" :readonly="true" class="addinputw addinputInfo" clearable/>
clearable />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<div class="span-sty"> 拼音缩写</div> <div class="span-sty"> 拼音缩写</div>
<el-form-item> <el-form-item>
<el-input v-model="formobj.goodsPY" placeholder="由系统自动生成" :readonly="true" class="addinputw addinputInfo" <el-input v-model="formobj.goodsPY" placeholder="由系统自动生成" :readonly="true" class="addinputw addinputInfo" clearable/>
clearable />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="6"> <el-col :span="6">
<div class="span-sty"><span class="must">*</span> 计量单位</div> <div class="span-sty"><span class="must">*</span> 计量单位</div>
<el-form-item prop="goodsUnitName"> <el-form-item prop="goodsUnitName">
<el-select v-model="formobj.goodsUnitName" placeholder="请选择计量单位" class="addinputw" <el-select v-model="formobj.goodsUnitName" placeholder="请选择计量单位" class="addinputw" @change="selectunitNameChange">
@change="selectunitNameChange"> <el-option v-for="item in unitNameList" :key="item.sid" :label="item.unitName" :value="item.sid"/>
<el-option v-for="item in unitNameList" :key="item.sid" :label="item.unitName" :value="item.sid" />
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<div class="span-sty"><span class="must">*</span> 商品类别</div> <div class="span-sty"><span class="must">*</span> 商品类别</div>
<el-form-item prop="goodsTypeName"> <el-form-item prop="goodsTypeName">
<el-select v-model="formobj.goodsTypeName" placeholder="请选择商品类别" class="addinputw" <el-select v-model="formobj.goodsTypeName" placeholder="请选择商品类别" class="addinputw" @change="selectCateChange">
@change="selectCateChange"> <el-option v-for="item in cateList" :key="item.sid" :label="item.goodsTypeName" :value="item.sid"/>
<el-option v-for="item in cateList" :key="item.sid" :label="item.goodsTypeName" :value="item.sid" />
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<div class="span-sty">规格</div> <div class="span-sty">规格</div>
<el-form-item> <el-form-item>
<el-input v-model="formobj.indexes" placeholder="规格" class="addinputw addinputInfo" clearable /> <el-input v-model="formobj.indexes" placeholder="规格" class="addinputw addinputInfo" clearable/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<div class="span-sty">保质期()</div> <div class="span-sty">保质期()</div>
<el-form-item> <el-form-item>
<el-input v-model="formobj.shelfLife " placeholder="保质期(天)" class="addinputw addinputInfo" clearable <el-input v-model="formobj.shelfLife " placeholder="保质期(天)" class="addinputw addinputInfo" clearable oninput="value=value.replace(/^(0+)|[^\d]+/g,'')"/>
oninput="value=value.replace(/^(0+)|[^\d]+/g,'')" />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="6"> <el-col :span="6">
<div class="span-sty"><span class="must">*</span> 品牌</div> <div class="span-sty"><span class="must">*</span> 品牌</div>
<el-form-item prop="brandName"> <el-form-item prop="brandName">
<el-select v-model="formobj.brandName" placeholder="请选择品牌" class="addinputw" @change="selectBrandChange"> <el-select v-model="formobj.brandName" placeholder="请选择品牌" class="addinputw" @change="selectBrandChange">
<el-option v-for="item in brandList" :key="item.sid" :label="item.brandName" :value="item.sid" /> <el-option v-for="item in brandList" :key="item.sid" :label="item.brandName" :value="item.sid"/>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<div class="span-sty"><span class="must">*</span> 厂家</div> <div class="span-sty"><span class="must">*</span> 厂家</div>
<el-form-item prop="manufacturerName"> <el-form-item prop="manufacturerName">
<el-select v-model="formobj.manufacturerName" placeholder="请选择厂家" class="addinputw" <el-select v-model="formobj.manufacturerName" placeholder="请选择厂家" class="addinputw" @change="selectfacturerChange">
@change="selectfacturerChange"> <el-option v-for="item in facturerList" :key="item.sid" :label="item.manufacturerName" :value="item.sid"/>
<el-option v-for="item in facturerList" :key="item.sid" :label="item.manufacturerName"
:value="item.sid" />
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<div class="span-sty">原厂标志</div> <div class="span-sty">原厂标志</div>
<el-form-item> <el-form-item>
<el-radio-group v-model="formobj.isOriginalFactory" size="medium" <el-radio-group v-model="formobj.isOriginalFactory" size="medium" style="margin-left: 120px;" @change="selectIsOriginalFactory">
style="margin-left: 120px;" @change="selectIsOriginalFactory">
<el-radio :label="'1'"></el-radio> <el-radio :label="'1'"></el-radio>
<el-radio :label="'2'"></el-radio> <el-radio :label="'2'"></el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="6"> <el-col :span="6">
<div class="span-sty"><span class="must">*</span> 库存上限</div> <div class="span-sty"><span class="must">*</span> 库存上限</div>
<el-form-item prop="inventoryAlertUpperLimit"> <el-form-item prop="inventoryAlertUpperLimit">
<el-input v-model="formobj.inventoryAlertUpperLimit" placeholder="库存上限" class="addinputw addinputInfo" <el-input v-model="formobj.inventoryAlertUpperLimit" placeholder="库存上限" class="addinputw addinputInfo" clearable oninput="value=value.replace(/^(0+)|[^\d]+/g,'')"/>
clearable oninput="value=value.replace(/^(0+)|[^\d]+/g,'')" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="18"> <el-col :span="18">
<div class="span-sty"><span class="must">*</span> 库存下限</div> <div class="span-sty"><span class="must">*</span> 库存下限</div>
<el-form-item prop="inventoryAlertLowerLimit"> <el-form-item prop="inventoryAlertLowerLimit">
<el-input v-model="formobj.inventoryAlertLowerLimit" placeholder="库存下限" class="addinputw addinputInfo" <el-input v-model="formobj.inventoryAlertLowerLimit" placeholder="库存下限" class="addinputw addinputInfo" clearable oninput="value=value.replace(/^(0+)|[^\d]+/g,'')"/>
clearable oninput="value=value.replace(/^(0+)|[^\d]+/g,'')" />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="6"> <el-col :span="6">
<div class="span-sty"><span class="must">*</span> 排序</div> <div class="span-sty"><span class="must">*</span> 排序</div>
<el-form-item prop="sortNo"> <el-form-item prop="sortNo">
<el-input v-model="formobj.sortNo" placeholder="排序" class="addinputw addinputInfo" clearable <el-input v-model="formobj.sortNo" placeholder="排序" class="addinputw addinputInfo" clearable oninput="value=value.replace(/^(0+)|[^\d]+/g,'')"/>
oninput="value=value.replace(/^(0+)|[^\d]+/g,'')" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="18"> <el-col :span="18">
<div class="span-sty">备注</div> <div class="span-sty">备注</div>
<el-form-item> <el-form-item>
<el-input v-model="formobj.skuRemarks" placeholder="备注" class="addinputw addinputInfo" clearable /> <el-input v-model="formobj.skuRemarks" placeholder="备注" class="addinputw addinputInfo" clearable/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="6"> <el-col :span="6">
<div class="span-sty">锁定销售定价</div> <div class="span-sty">锁定销售定价</div>
<el-form-item> <el-form-item>
<el-radio-group v-model="formobj.isLockingSalesPrice" size="small" style="margin-left: 120px;" <el-radio-group v-model="formobj.isLockingSalesPrice" size="small" style="margin-left: 120px;" @change="selectIsLockingSalesPrice">
@change="selectIsLockingSalesPrice">
<el-radio :label="'1'"></el-radio> <el-radio :label="'1'"></el-radio>
<el-radio :label="'2'"></el-radio> <el-radio :label="'2'"></el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<div class="span-sty">销售底价</div> <div class="span-sty">销售底价</div>
<el-form-item> <el-form-item>
<el-input v-model="formobj.minimumSalesPrice" placeholder="销售底价" class="addinputw addinputInfo" clearable <el-input v-model="formobj.minimumSalesPrice" placeholder="销售底价" class="addinputw addinputInfo" clearable oninput="value=value.replace(/[^\d.]/g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.').replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3').replace(/^\./g, '')"/>
oninput="value=value.replace(/[^\d.]/g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.').replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3').replace(/^\./g, '')" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<div class="span-sty">三包价格</div> <div class="span-sty">三包价格</div>
<el-form-item> <el-form-item>
<el-input v-model="formobj.standardPurchasePrice" placeholder="三包价格" class="addinputw addinputInfo" <el-input v-model="formobj.standardPurchasePrice" placeholder="三包价格" class="addinputw addinputInfo" clearable
clearable oninput="value=value.replace(/[^\d.]/g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.').replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3').replace(/^\./g, '')"/>
oninput="value=value.replace(/[^\d.]/g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.').replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3').replace(/^\./g, '')" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<div class="span-sty">首保价格</div> <div class="span-sty">首保价格</div>
<el-form-item> <el-form-item>
<el-input v-model="formobj.agencyPrice" placeholder="首保价格" class="addinputw addinputInfo" clearable <el-input v-model="formobj.agencyPrice" placeholder="首保价格" class="addinputw addinputInfo" clearable
oninput="value=value.replace(/[^\d.]/g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.').replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3').replace(/^\./g, '')" /> oninput="value=value.replace(/[^\d.]/g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.').replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3').replace(/^\./g, '')"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<div class="span-sty">商品图片</div> <div class="span-sty">商品图片</div>
<el-form-item> <el-form-item>
<upload-img ref="uploadImg" class="addinputw addinputInfo" v-model="imgList" :limit="50" bucket="map" <upload-img ref="uploadImg" class="addinputw addinputInfo" v-model="imgList" :limit="50" bucket="map" :upload-data="{ type: '0001' }" @change="backData"/>
:upload-data="{ type: '0001' }" @change="backData" />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
</el-form> </el-form>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import req from '@/api/goods/goods.js' import req from '@/api/goods/goods.js'
import req2 from '@/api/goods/brand.js' import req2 from '@/api/goods/brand.js'
import req3 from '@/api/goods/category.js' import req3 from '@/api/goods/category.js'
import req4 from '@/api/goods/factory.js' import req4 from '@/api/goods/factory.js'
import req5 from '@/api/goods/unit.js' import req5 from '@/api/goods/unit.js'
import uploadImg from '@/components/uploadFile/uploadImg' import { getOrgSidByPath } from '@/api/Common/dictcommons'
export default { import uploadImg from '@/components/uploadFile/uploadImg'
export default {
components: { components: {
uploadImg uploadImg
}, },
@ -242,35 +191,37 @@
imgList: [], imgList: [],
submitdisabled: false, submitdisabled: false,
formobj: { formobj: {
"sid": "", sid: '',
"userSid": window.sessionStorage.getItem('userSid'), userSid: '',
"orgPath": window.sessionStorage.getItem('orgSidPath'), orgPath: '',
"goodsName": "", useOrgSid: '',
"goodsCode": "", createOrgSid: '',
"goodsPY": "", goodsName: '',
"barCode": "", goodsCode: '',
"goodsUnitSid": "", goodsPY: '',
"goodsUnitName": "", barCode: '',
"goodsTypeSid": "", goodsUnitSid: '',
"goodsTypeName": "", goodsUnitName: '',
"indexes": "", goodsTypeSid: '',
"shelfLife": "", goodsTypeName: '',
"brandSid": "", indexes: '',
"brandName": "", shelfLife: '',
"manufacturerSid": "", brandSid: '',
"manufacturerName": "", brandName: '',
"isOriginalFactory": "2", manufacturerSid: '',
"isOriginalFactoryValue": "", manufacturerName: '',
"sortNo": "", isOriginalFactory: '2',
"skuRemarks": "", isOriginalFactoryValue: '',
"inventoryAlertUpperLimit": "", sortNo: '',
"inventoryAlertLowerLimit": "", skuRemarks: '',
"isLockingSalesPrice": "2", inventoryAlertUpperLimit: '',
"isLockingSalesPriceValue": "", inventoryAlertLowerLimit: '',
"minimumSalesPrice": "", isLockingSalesPrice: '2',
"standardPurchasePrice": "", isLockingSalesPriceValue: '',
"agencyPrice": "", minimumSalesPrice: '',
"picPath": [] standardPurchasePrice: '',
agencyPrice: '',
picPath: []
}, },
brandList: [], brandList: [],
cateList: [], cateList: [],
@ -321,33 +272,21 @@
required: true, required: true,
message: '商品下限不能为空', message: '商品下限不能为空',
trigger: 'blur' trigger: 'blur'
}], }]
} }
} }
}, },
created() {
this.initData()
},
methods: { methods: {
selectIsOriginalFactory(val) { selectIsOriginalFactory(val) {
console.log('selectIsOriginalFactory》》》》', val) console.log('selectIsOriginalFactory》》》》', val)
this.formobj.isOriginalFactoryValue = val === '1' ? '是' : '否'
this.formobj.isOriginalFactoryValue = val == '1' ? '是' : '否'
}, },
selectIsLockingSalesPrice(val) { selectIsLockingSalesPrice(val) {
console.log('selectIsLockingSalesPrice》》》》', val) console.log('selectIsLockingSalesPrice》》》》', val)
this.formobj.isLockingSalesPriceValue = val === '1' ? '是' : '否'
this.formobj.isLockingSalesPriceValue = val == '1' ? '是' : '否'
}, },
initData() { initData(deptSid) {
var parpams = { var parpams = { useOrgSid: deptSid }
orgPath: window.sessionStorage.getItem('defaultOrgPath'),
userSid: window.sessionStorage.getItem('userSid'),
menuUrl: this.$route.path
}
req2.getAllBrand(parpams).then(resp => { req2.getAllBrand(parpams).then(resp => {
this.brandList = resp.data this.brandList = resp.data
}) })
@ -361,98 +300,23 @@
this.unitNameList = resp.data this.unitNameList = resp.data
}) })
}, },
backData(value) { showAdd(userSid, orgSid, deptSid) {
console.log('backData》》》》', value)
console.log('imgList', this.imgList)
this.formobj.picPath = this.imgList
},
saveOrUpdate() {
console.log('>>>>>>>>>saveOrUpdate', this.formobj)
this.$refs['form_obj'].validate((valid) => {
if (valid) {
req.saveGoods(this.formobj)
.then(resp => {
if (resp.success) {
this.$message({
showClose: true,
type: 'success',
message: resp.msg
})
this.handleReturn('true')
} else {
// resp.code
}
})
.catch(() => {})
}
})
},
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
this.formobj = {
"sid": "",
"userSid": window.sessionStorage.getItem('userSid'),
"orgPath": window.sessionStorage.getItem('orgSidPath'),
"goodsName": "",
"goodsCode": "",
"goodsPY": "",
"barCode": "",
"goodsUnitSid": "",
"goodsUnitName": "",
"goodsTypeSid": "",
"goodsTypeName": "",
"indexes": "",
"shelfLife": "",
"brandSid": "",
"brandName": "",
"manufacturerSid": "",
"manufacturerName": "",
"isOriginalFactory": "2",
"isOriginalFactoryValue": "",
"sortNo": "",
"skuRemarks": "",
"inventoryAlertUpperLimit": "",
"inventoryAlertLowerLimit": "",
"isLockingSalesPrice": "2",
"isLockingSalesPriceValue": "",
"minimumSalesPrice": "",
"standardPurchasePrice": "",
"agencyPrice": "",
"picPath": []
}
this.imgList = []
this.$emit('doback')
},
showAdd() {
// var sid = require('uuid').v1()
// console.log('>>>>>>>>>showAdd', sid)
// this.formobj.sid = sid
this.$nextTick(() => { this.$nextTick(() => {
this.$refs['form_obj'].clearValidate() this.$refs['form_obj'].clearValidate()
}) })
this.formobj.userSid = userSid
}, this.formobj.useOrgSid = deptSid
indexMethod(index) { this.formobj.createOrgSid = orgSid
return index + 1 this.initData(deptSid)
}, },
showEdit(row) { showEdit(row) {
this.$nextTick(() => { this.$nextTick(() => {
this.$refs['form_obj'].clearValidate() this.$refs['form_obj'].clearValidate()
}) })
req.initGoods(row.sid).then(resp => {
req.initGoods(row.sid)
.then(resp => {
if (resp.success) { if (resp.success) {
this.formobj = resp.data this.formobj = resp.data
this.initData(this.formobj.useOrgSid)
for (var i = 0; i < resp.data.picPath.length; i++) { for (var i = 0; i < resp.data.picPath.length; i++) {
var item = resp.data.picPath[i] var item = resp.data.picPath[i]
this.imgList.push({ this.imgList.push({
@ -460,76 +324,137 @@
}) })
} }
} }
}) }).catch(e => {
.catch(e => {
this.formobj = row this.formobj = row
}) })
}, },
selectBrandChange(val) { selectBrandChange(val) {
const choose = this.brandList.filter((item) => item.sid == val) const choose = this.brandList.filter((item) => item.sid === val)
console.log('>>>>>>>>>selectBrandChange', choose) console.log('>>>>>>>>>selectBrandChange', choose)
this.formobj.brandSid = choose[0].sid this.formobj.brandSid = choose[0].sid
this.formobj.brandName = choose[0].brandName this.formobj.brandName = choose[0].brandName
}, },
selectCateChange(val) { selectCateChange(val) {
const choose = this.cateList.filter((item) => item.sid == val) const choose = this.cateList.filter((item) => item.sid === val)
console.log('>>>>>>>>>selectCateChange', choose) console.log('>>>>>>>>>selectCateChange', choose)
this.formobj.goodsTypeSid = choose[0].sid this.formobj.goodsTypeSid = choose[0].sid
this.formobj.goodsTypeName = choose[0].goodsTypeName this.formobj.goodsTypeName = choose[0].goodsTypeName
}, },
selectfacturerChange(val) { selectfacturerChange(val) {
const choose = this.facturerList.filter((item) => item.sid == val) const choose = this.facturerList.filter((item) => item.sid === val)
console.log('>>>>>>>>>selectfacturerChange', choose) console.log('>>>>>>>>>selectfacturerChange', choose)
this.formobj.manufacturerSid = choose[0].sid this.formobj.manufacturerSid = choose[0].sid
this.formobj.manufacturerName = choose[0].manufacturerName this.formobj.manufacturerName = choose[0].manufacturerName
}, },
selectunitNameChange(val) { selectunitNameChange(val) {
const choose = this.unitNameList.filter((item) => item.sid == val) const choose = this.unitNameList.filter((item) => item.sid === val)
console.log('>>>>>>>>>selectunitNameChange', choose) console.log('>>>>>>>>>selectunitNameChange', choose)
this.formobj.goodsUnitSid = choose[0].sid this.formobj.goodsUnitSid = choose[0].sid
this.formobj.goodsUnitName = choose[0].unitName this.formobj.goodsUnitName = choose[0].unitName
}, },
backData(value) {
console.log('backData》》》》', value)
console.log('imgList', this.imgList)
this.formobj.picPath = this.imgList
},
saveOrUpdate() {
console.log('>>>>>>>>>saveOrUpdate', this.formobj)
this.$refs['form_obj'].validate((valid) => {
if (valid) {
req.saveGoods(this.formobj).then(resp => {
if (resp.success) {
this.$message({
showClose: true,
type: 'success',
message: resp.msg
})
this.handleReturn('true')
} else {
// resp.code
} }
}).catch(() => {
})
} }
})
},
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
this.formobj = {
sid: '',
userSid: '',
orgPath: '',
useOrgSid: '',
createOrgSid: '',
goodsName: '',
goodsCode: '',
goodsPY: '',
barCode: '',
goodsUnitSid: '',
goodsUnitName: '',
goodsTypeSid: '',
goodsTypeName: '',
indexes: '',
shelfLife: '',
brandSid: '',
brandName: '',
manufacturerSid: '',
manufacturerName: '',
isOriginalFactory: '2',
isOriginalFactoryValue: '',
sortNo: '',
skuRemarks: '',
inventoryAlertUpperLimit: '',
inventoryAlertLowerLimit: '',
isLockingSalesPrice: '2',
isLockingSalesPriceValue: '',
minimumSalesPrice: '',
standardPurchasePrice: '',
agencyPrice: '',
picPath: []
}
this.imgList = []
this.$emit('doback')
}
}
}
</script> </script>
<style scoped> <style scoped>
/deep/ .el-form-item__error { /deep/ .el-form-item__error {
margin-left: 120px !important; margin-left: 120px !important;
} }
.must { .must {
color: #f00; color: #f00;
} }
.span-sty { .span-sty {
width: 130px !important; width: 130px !important;
} }
.addinputInfo { .addinputInfo {
margin-left: 120px !important; margin-left: 120px !important;
} }
.formaddcopy02 .el-row .el-col /deep/ .el-form-item .addinputw { .formaddcopy02 .el-row .el-col /deep/ .el-form-item .addinputw {
margin-left: 120px !important; margin-left: 120px !important;
width: calc(100% - 115px); width: calc(100% - 115px);
} }
.first_row { .first_row {
border-top: 1px solid #E0E3EB; border-top: 1px solid #E0E3EB;
} }
.titleOne { .titleOne {
padding: 7px; padding: 7px;
display: flex; display: flex;
flex-direction: row; flex-direction: row;
justify-content: space-between; justify-content: space-between;
align-items: center; align-items: center;
} }
.el-radio /deep/ .el-radio__label { .el-radio /deep/ .el-radio__label {
font-size: 14px !important; font-size: 14px !important;
} }
</style> </style>

18
yxt-as-ui/src/views/goods/goods/index.vue

@ -147,6 +147,7 @@
import pageye from '@/components/pagination/pageye' import pageye from '@/components/pagination/pageye'
import divAdd from './goodsAdd2.vue' import divAdd from './goodsAdd2.vue'
import divInfo from './goodsInfo2.vue' import divInfo from './goodsInfo2.vue'
import { getOrgSidByPath } from '@/api/Common/dictcommons'
export default { export default {
components: { components: {
ButtonBar, ButtonBar,
@ -230,29 +231,22 @@
}, },
methods: { methods: {
initData() { initData() {
var parpams = { var parpams = { useOrgSid: window.sessionStorage.getItem('defaultOrgPath').substring(window.sessionStorage.getItem('defaultOrgPath').lastIndexOf('/') + 1) }
orgPath: window.sessionStorage.getItem('defaultOrgPath'),
userSid: window.sessionStorage.getItem('userSid'),
menuUrl: this.$route.path
}
// //
req2.getAllBrand(parpams).then(resp => { req2.getAllBrand(parpams).then(resp => {
console.log('>>>>>>>>>getAllBrand', resp) console.log('>>>>>>>>>getAllBrand', resp)
this.brandList = resp.data this.brandList = resp.data
}).catch(() => {}) }).catch(() => {})
// //
req3.getAllType(parpams).then(resp => { req3.getAllType(parpams).then(resp => {
console.log('>>>>>>>>>getAllType', resp) console.log('>>>>>>>>>getAllType', resp)
this.goodsTypeList = resp.data this.goodsTypeList = resp.data
}).catch(() => {}) }).catch(() => {})
// //
req4.getAllFacturer(parpams).then(resp => { req4.getAllFacturer(parpams).then(resp => {
console.log('>>>>>>>>>getAllFacturer', resp) console.log('>>>>>>>>>getAllFacturer', resp)
this.facturerList = resp.data this.facturerList = resp.data
}).catch(() => {}) }).catch(() => {})
}, },
selectBrandChange(val) { selectBrandChange(val) {
@ -367,7 +361,13 @@
}, },
toAdd() { toAdd() {
this.viewState = 2 this.viewState = 2
this.$refs['divadd'].showAdd() var orgSid = ''
getOrgSidByPath({ orgPath: window.sessionStorage.getItem('defaultOrgPath') }).then((res) => {
if (res.success) {
orgSid = res.data
}
})
this.$refs['divadd'].showAdd(window.sessionStorage.getItem('userSid'), orgSid, window.sessionStorage.getItem('defaultOrgPath').substring(window.sessionStorage.getItem('defaultOrgPath').lastIndexOf('/') + 1))
}, },
toEdit() { toEdit() {

6
yxt-as-ui/src/views/purchase/procurement/procurement.vue

@ -31,7 +31,7 @@
<span style="padding: 0 8px"></span> <span style="padding: 0 8px"></span>
<el-date-picker v-model="listQuery.params.finishEndTime" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date" placeholder="选择日期"></el-date-picker> <el-date-picker v-model="listQuery.params.finishEndTime" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date" placeholder="选择日期"></el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="采购类型"> <el-form-item label="采购方式">
<el-select v-model="listQuery.params.purchaseTypeValue" placeholder="请选择" clearable filterable> <el-select v-model="listQuery.params.purchaseTypeValue" placeholder="请选择" clearable filterable>
<el-option v-for="item in procurementType_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"></el-option> <el-option v-for="item in procurementType_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"></el-option>
</el-select> </el-select>
@ -88,11 +88,11 @@
<el-table-column prop="deptName" label="申请部门" align="center" width="120" /> <el-table-column prop="deptName" label="申请部门" align="center" width="120" />
<el-table-column prop="createTime" label="申请日期" align="center" width="120" /> <el-table-column prop="createTime" label="申请日期" align="center" width="120" />
<el-table-column prop="finishTime" label="办结日期" align="center" width="120" /> <el-table-column prop="finishTime" label="办结日期" align="center" width="120" />
<el-table-column prop="purchaseTypeValue" label="采购类型" align="center" width="100" /> <el-table-column prop="purchaseTypeValue" label="采购方式" align="center" width="100" />
<el-table-column prop="purchaseReasonValue" label="采购原因" align="center" width="100" /> <el-table-column prop="purchaseReasonValue" label="采购原因" align="center" width="100" />
<el-table-column prop="payTypeValue" label="付款方式" align="center" width="100" /> <el-table-column prop="payTypeValue" label="付款方式" align="center" width="100" />
<el-table-column prop="supplierName" label="供应商" align="center" min-width="150" /> <el-table-column prop="supplierName" label="供应商" align="center" min-width="150" />
<el-table-column prop="isInvoicing" label="是否开票" align="center" width="100" /> <el-table-column prop="isInvoicing" label="是否开票" align="center" width="100" />
<el-table-column prop="amountCount" label="采购金额合计" align="center" width="140" /> <el-table-column prop="amountCount" label="采购金额合计" align="center" width="140" />
<el-table-column prop="payableAmount" label="应付金额合计" align="center" width="140" /> <el-table-column prop="payableAmount" label="应付金额合计" align="center" width="140" />
</el-table> </el-table>

92
yxt-as-ui/src/views/purchase/procurement/procurementAdd.vue

@ -27,11 +27,16 @@
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<div class="span-sty"><span class="icon">*</span>采购类型</div> <div class="span-sty"><span class="icon">*</span>采购方式</div>
<el-form-item prop="purchaseTypeValue"> <el-form-item prop="purchaseTypeValue">
<el-select class="addinputInfo" v-model="formobj.purchaseTypeValue" placeholder="请选择" @change="purchaseTypeChange" clearable filterable> <div class="addinputInfo" style="display: flex;flex-direction: row;justify-content: flex-start;align-items: center">
<el-select v-model="formobj.purchaseTypeValue" placeholder="请选择" @change="purchaseTypeChange" clearable filterable>
<el-option v-for="item in procurementType_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"></el-option> <el-option v-for="item in procurementType_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"></el-option>
</el-select> </el-select>
<el-select v-show="formobj.purchaseTypeValue == '代理库'" style="margin-left: 5px" v-model="formobj.operateBrandValue" placeholder="选择经营品牌" @change="operateBrandChange" clearable filterable>
<el-option v-for="item in operateBrand_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"></el-option>
</el-select>
</div>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
@ -55,13 +60,18 @@
<el-col :span="8"> <el-col :span="8">
<div class="span-sty"><span class="icon">*</span>供应商</div> <div class="span-sty"><span class="icon">*</span>供应商</div>
<el-form-item prop="supplierSid"> <el-form-item prop="supplierSid">
<el-select class="addinputInfo" v-model="formobj.supplierSid" placeholder="请选择" @change="supplierChange" clearable filterable> <div class="addinputInfo" style="display: flex;flex-direction: row;justify-content: flex-start;align-items: center">
<el-select v-model="formobj.supplierSid" placeholder="请选择" @change="supplierChange" clearable filterable>
<el-option v-for="item in supplier_list" :key="item.sid" :label="item.supplierName" :value="item.sid"></el-option> <el-option v-for="item in supplier_list" :key="item.sid" :label="item.supplierName" :value="item.sid"></el-option>
</el-select> </el-select>
<el-select v-show="formobj.purchaseTypeValue == '代理库'" style="margin-left: 5px" v-model="formobj.warehouseTypeValue" placeholder="选择仓库类型" @change="warehouseTypeChange" clearable filterable>
<el-option v-for="item in warehouseType_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"></el-option>
</el-select>
</div>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<div class="span-sty"><span class="icon">*</span>是否需要发票</div> <div class="span-sty"><span class="icon">*</span>是否发票</div>
<el-form-item prop="purchaseBillInvoice.isInvoicing"> <el-form-item prop="purchaseBillInvoice.isInvoicing">
<el-radio-group class="addinputInfo" @change="isInvoicingChange" v-model="formobj.purchaseBillInvoice.isInvoicing"> <el-radio-group class="addinputInfo" @change="isInvoicingChange" v-model="formobj.purchaseBillInvoice.isInvoicing">
<el-radio label="1"></el-radio> <el-radio label="1"></el-radio>
@ -117,16 +127,12 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8" v-if="formobj.purchasePay.isFirstPay == '0'"> <el-col :span="8" v-if="formobj.purchasePay.isFirstPay == '0'">
<div class="span-sty"><span class="icon">*</span>验货后付货款</div> <div class="span-sty">验货后付货款</div>
<el-form-item prop="purchasePay.goodsMoney"> <el-form-item><span class="addinputInfo">{{ calculateGoodsMoney }}</span></el-form-item>
<el-input class="addinputInfo addinputw" @keyup.native="formobj.purchasePay.goodsMoney = getNumber(formobj.purchasePay.goodsMoney, 2)" v-model="formobj.purchasePay.goodsMoney" clearable placeholder=""/>
</el-form-item>
</el-col> </el-col>
<el-col :span="16" v-else> <el-col :span="16" v-else>
<div class="span-sty"><span class="icon">*</span>审批通过后付货款</div> <div class="span-sty">审批通过后付货款</div>
<el-form-item prop="purchasePay.goodsMoney"> <el-form-item><span class="addinputInfo">{{ calculateGoodsMoney }}</span></el-form-item>
<el-input class="addinputInfo addinputw" @keyup.native="formobj.purchasePay.goodsMoney = getNumber(formobj.purchasePay.goodsMoney, 2)" v-model="formobj.purchasePay.goodsMoney" clearable placeholder=""/>
</el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
@ -245,9 +251,11 @@ export default {
index: 0, index: 0,
accept: '.jpg,.jpeg,.png', accept: '.jpg,.jpeg,.png',
procurementType_list: [], procurementType_list: [],
operateBrand_list: [],
procurementReason_list: [], procurementReason_list: [],
paymentMethod_list: [], paymentMethod_list: [],
supplier_list: [], supplier_list: [],
warehouseType_list: [],
account_list: [], account_list: [],
formobj: { formobj: {
sid: '', sid: '',
@ -288,6 +296,10 @@ export default {
useOrgName: '', useOrgName: '',
createOrgSid: '', createOrgSid: '',
createOrgName: '', createOrgName: '',
operateBrandKey: '',
operateBrandValue: '',
warehouseTypeKey: '',
warehouseTypeValue: '',
purchasePay: { purchasePay: {
sid: '', sid: '',
billSid: '', billSid: '',
@ -312,14 +324,13 @@ export default {
pmsPurchaseBillDetailList: [] pmsPurchaseBillDetailList: []
}, },
rules: { rules: {
purchaseTypeValue: [{ required: true, message: '采购类型不能为空', trigger: 'change' }], purchaseTypeValue: [{ required: true, message: '采购方式不能为空', trigger: 'change' }],
purchaseReasonValue: [{ required: true, message: '采购原因不能为空', trigger: 'change' }], purchaseReasonValue: [{ required: true, message: '采购原因不能为空', trigger: 'change' }],
payTypeValue: [{ required: true, message: '付款方式不能为空', trigger: 'change' }], payTypeValue: [{ required: true, message: '付款方式不能为空', trigger: 'change' }],
supplierSid: [{ required: true, message: '供应商不能为空', trigger: 'change' }], supplierSid: [{ required: true, message: '供应商不能为空', trigger: 'change' }],
'purchaseBillInvoice.isInvoicing': [{ required: true, message: '是否需要发票不能为空', trigger: 'change' }], 'purchaseBillInvoice.isInvoicing': [{ required: true, message: '是否发票不能为空', trigger: 'change' }],
'purchasePay.isFirstPay': [{ required: true, message: '是否先付货款不能为空', trigger: 'change' }], 'purchasePay.isFirstPay': [{ required: true, message: '是否先付货款不能为空', trigger: 'change' }],
'purchasePay.deposit': [{ required: true, message: '审批通过后付订金不能为空', trigger: 'blur' }], 'purchasePay.deposit': [{ required: true, message: '审批通过后付订金不能为空', trigger: 'blur' }]
'purchasePay.goodsMoney': [{ required: true, message: '付货款不能为空', trigger: 'blur' }]
} }
} }
}, },
@ -348,10 +359,25 @@ export default {
} }
return cg return cg
}, },
//
yfTotal() { yfTotal() {
let yf = '0' let yf = '0'
yf = Math.round((parseFloat(yf) + parseFloat(this.cgTotal) + parseFloat(this.formobj.freight !== '' ? this.formobj.freight : '0') - parseFloat(this.formobj.discountAmount !== '' ? this.formobj.discountAmount : '0') + parseFloat(this.formobj.errorAmount !== '' ? this.formobj.errorAmount : '0')) * 100) / 100 yf = Math.round((parseFloat(yf) + parseFloat(this.cgTotal) + parseFloat(this.formobj.freight !== '' ? this.formobj.freight : '0') - parseFloat(this.formobj.discountAmount !== '' ? this.formobj.discountAmount : '0') + parseFloat(this.formobj.errorAmount !== '' ? this.formobj.errorAmount : '0')) * 100) / 100
return yf return yf
},
//
calculateGoodsMoney() {
let goodsMoney = '0'
if (this.formobj.payTypeValue === '单笔付款') {
if (this.formobj.purchasePay.isFirstPay === '1') {
// =
goodsMoney = this.yfTotal
} else if (this.formobj.purchasePay.isFirstPay === '0') {
// = -
goodsMoney = parseFloat(this.yfTotal) - parseFloat(this.formobj.purchasePay.deposit !== '' ? this.formobj.purchasePay.deposit : '0')
}
}
return goodsMoney
} }
}, },
methods: { methods: {
@ -361,6 +387,16 @@ export default {
this.procurementType_list = res.data this.procurementType_list = res.data
} }
}) })
typeValues({ type: 'operateBrand' }).then((res) => {
if (res.success) {
this.operateBrand_list = res.data
}
})
typeValues({ type: 'warehouseType' }).then((res) => {
if (res.success) {
this.warehouseType_list = res.data
}
})
typeValues({ type: 'procurementReason' }).then((res) => { typeValues({ type: 'procurementReason' }).then((res) => {
if (res.success) { if (res.success) {
this.procurementReason_list = res.data this.procurementReason_list = res.data
@ -441,6 +477,14 @@ export default {
this.formobj.purchaseTypeKey = '' this.formobj.purchaseTypeKey = ''
} }
}, },
operateBrandChange(value) {
const choose = this.operateBrand_list.filter((item) => item.dictValue === value)
if (choose !== null && choose.length > 0) {
this.formobj.operateBrandKey = choose[0].dictKey
} else {
this.formobj.operateBrandKey = ''
}
},
purchaseReasonChange(value) { purchaseReasonChange(value) {
const choose = this.procurementReason_list.filter((item) => item.dictValue === value) const choose = this.procurementReason_list.filter((item) => item.dictValue === value)
if (choose !== null && choose.length > 0) { if (choose !== null && choose.length > 0) {
@ -467,6 +511,14 @@ export default {
this.account_list = [] this.account_list = []
} }
}, },
warehouseTypeChange(value) {
const choose = this.warehouseType_list.filter((item) => item.dictValue === value)
if (choose !== null && choose.length > 0) {
this.formobj.warehouseTypeKey = choose[0].dictKey
} else {
this.formobj.warehouseTypeKey = ''
}
},
isInvoicingChange(val) { isInvoicingChange(val) {
if (val === '1') { if (val === '1') {
const choose = this.supplier_list.filter((item) => item.sid === this.formobj.supplierSid) const choose = this.supplier_list.filter((item) => item.sid === this.formobj.supplierSid)
@ -494,7 +546,7 @@ export default {
selectProducts() { selectProducts() {
this.viewState = 2 this.viewState = 2
const aa = [] const aa = []
this.$refs['divSp'].showData(aa, this.formobj.deptSid) this.$refs['divSp'].showData(aa, this.formobj.createBySid, this.formobj.createOrgSid, this.formobj.deptSid)
}, },
backData(value) { backData(value) {
this.viewState = 1 this.viewState = 1
@ -538,6 +590,7 @@ export default {
if (valid) { if (valid) {
this.submitdisabled = true this.submitdisabled = true
this.formobj.payableAmount = this.yfTotal this.formobj.payableAmount = this.yfTotal
this.formobj.purchasePay.goodsMoney = this.calculateGoodsMoney
req.saveOrUpdate(this.formobj).then((res) => { req.saveOrUpdate(this.formobj).then((res) => {
if (res.success) { if (res.success) {
this.$message({ showClose: true, type: 'success', message: '保存成功' }) this.$message({ showClose: true, type: 'success', message: '保存成功' })
@ -556,6 +609,7 @@ export default {
if (valid) { if (valid) {
this.submitdisabled = true this.submitdisabled = true
this.formobj.payableAmount = this.yfTotal this.formobj.payableAmount = this.yfTotal
this.formobj.purchasePay.goodsMoney = this.calculateGoodsMoney
req.submit(this.formobj).then((res) => { req.submit(this.formobj).then((res) => {
if (res.success) { if (res.success) {
this.$message({ showClose: true, type: 'success', message: '提交成功' }) this.$message({ showClose: true, type: 'success', message: '提交成功' })
@ -610,6 +664,10 @@ export default {
useOrgName: '', useOrgName: '',
createOrgSid: '', createOrgSid: '',
createOrgName: '', createOrgName: '',
operateBrandKey: '',
operateBrandValue: '',
warehouseTypeKey: '',
warehouseTypeValue: '',
purchasePay: { purchasePay: {
sid: '', sid: '',
billSid: '', billSid: '',

16
yxt-as-ui/src/views/purchase/procurement/procurementInfo.vue

@ -25,8 +25,8 @@
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<div class="span-sty">采购类型</div> <div class="span-sty">采购方式</div>
<el-form-item><span class="addinputInfo">{{ formobj.purchaseTypeValue }}</span></el-form-item> <el-form-item><span class="addinputInfo">{{ formobj.purchaseTypeValue }}<span v-show="formobj.purchaseTypeValue == '代理库'" style="margin-left: 20px">{{ formobj.operateBrandValue }}</span></span></el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<div class="span-sty">采购原因</div> <div class="span-sty">采购原因</div>
@ -40,10 +40,10 @@
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<div class="span-sty">供应商</div> <div class="span-sty">供应商</div>
<el-form-item><span class="addinputInfo">{{ formobj.supplierName }}</span></el-form-item> <el-form-item><span class="addinputInfo">{{ formobj.supplierName }}<span v-show="formobj.purchaseTypeValue == '代理库'" style="margin-left: 20px">{{ formobj.warehouseTypeValue }}</span></span></el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<div class="span-sty">是否需要发票</div> <div class="span-sty">是否发票</div>
<el-form-item><span class="addinputInfo">{{ formobj.purchaseBillInvoice.isInvoicing == '1' ? '是' : '否' }}</span></el-form-item> <el-form-item><span class="addinputInfo">{{ formobj.purchaseBillInvoice.isInvoicing == '1' ? '是' : '否' }}</span></el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
@ -212,6 +212,10 @@ export default {
useOrgName: '', useOrgName: '',
createOrgSid: '', createOrgSid: '',
createOrgName: '', createOrgName: '',
operateBrandKey: '',
operateBrandValue: '',
warehouseTypeKey: '',
warehouseTypeValue: '',
purchasePay: { purchasePay: {
sid: '', sid: '',
billSid: '', billSid: '',
@ -328,6 +332,10 @@ export default {
useOrgName: '', useOrgName: '',
createOrgSid: '', createOrgSid: '',
createOrgName: '', createOrgName: '',
operateBrandKey: '',
operateBrandValue: '',
warehouseTypeKey: '',
warehouseTypeValue: '',
purchasePay: { purchasePay: {
sid: '', sid: '',
billSid: '', billSid: '',

31
yxt-as-ui/src/views/purchase/procurement/relation/chooseproducts.vue

@ -1,10 +1,11 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<div> <div v-show="viewState == 1">
<div class="tab-header webtop"> <div class="tab-header webtop">
<div>选择商品</div> <div>选择商品</div>
<div> <div>
<el-button type="primary" size="small" @click="AddUpdateReturn">确定</el-button> <el-button type="primary" size="small" @click="toConfirm">确定</el-button>
<el-button type="primary" size="small" @click="addProducts">新增商品</el-button>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button> <el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div> </div>
</div> </div>
@ -51,26 +52,32 @@
</div> </div>
</div> </div>
</div> </div>
<goodsAdd2 v-show="viewState == 2" ref="divAdd" @reloadlist="getList" @doback="resetState" />
</div> </div>
</template> </template>
<script> <script>
import Pagination from '@/components/pagination' import Pagination from '@/components/pagination'
import { chooseproducts } from '@/api/Common/dictcommons' import { chooseproducts } from '@/api/Common/dictcommons'
import goodsAdd2 from '@/views/goods/goods/goodsAdd2'
export default { export default {
name: 'SelectVehicle', name: 'SelectVehicle',
components: { components: {
Pagination Pagination,
goodsAdd2
}, },
data() { data() {
return { return {
viewState: 1,
isSearchShow: false, isSearchShow: false,
searchxianshitit: '隐藏查询条件', searchxianshitit: '隐藏查询条件',
tableKey: 0, tableKey: 0,
sids: [], sids: [],
list: [], list: [],
number: '', userSid: '',
createOrgSid: '',
deptSid: '',
listLoading: false, listLoading: false,
listQuery: { listQuery: {
current: 1, current: 1,
@ -129,7 +136,7 @@ export default {
handleSelectionChange(row) { handleSelectionChange(row) {
this.sids = row this.sids = row
}, },
showData(value, useOrgSid) { showData(value, userSid, createOrgSid, deptSid) {
// const aa = [] // const aa = []
// if (value.length > 0) { // if (value.length > 0) {
// for (var i = 0; i < value.length; i++) { // for (var i = 0; i < value.length; i++) {
@ -139,20 +146,30 @@ export default {
// } else { // } else {
// this.listQuery.params.saleVehSids = [] // this.listQuery.params.saleVehSids = []
// }`` // }``
this.listQuery.params.useOrgSid = useOrgSid this.userSid = userSid
this.createOrgSid = createOrgSid
this.deptSid = deptSid
this.listQuery.params.useOrgSid = deptSid
this.listQuery.current = 1 this.listQuery.current = 1
this.listQuery.size = 5 this.listQuery.size = 5
this.listQuery.total = 0 this.listQuery.total = 0
this.getList() this.getList()
}, },
// //
AddUpdateReturn() { toConfirm() {
if (this.sids.length > 0) { if (this.sids.length > 0) {
this.$emit('backData', this.sids) this.$emit('backData', this.sids)
} else { } else {
this.$notify({ title: '提示', message: '请至少选择一条记录进行操作', type: 'error', duration: 2000 }) this.$notify({ title: '提示', message: '请至少选择一条记录进行操作', type: 'error', duration: 2000 })
} }
}, },
addProducts() {
this.viewState = 2
this.$refs['divAdd'].showAdd(this.userSid, this.createOrgSid, this.deptSid)
},
resetState() {
this.viewState = 1
},
// //
handleReturn() { handleReturn() {
this.$emit('doback') this.$emit('doback')

12
yxt-as-ui/src/views/workFlow/caigouFlow/procurementDaiBan.vue

@ -28,8 +28,8 @@
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<div class="span-sty">采购类型</div> <div class="span-sty">采购方式</div>
<el-form-item><span class="addinputInfo">{{ formobj.purchaseTypeValue }}</span></el-form-item> <el-form-item><span class="addinputInfo">{{ formobj.purchaseTypeValue }}<span v-show="formobj.purchaseTypeValue == '代理库'" style="margin-left: 20px">{{ formobj.operateBrandValue }}</span></span></el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<div class="span-sty">采购原因</div> <div class="span-sty">采购原因</div>
@ -43,10 +43,10 @@
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<div class="span-sty">供应商</div> <div class="span-sty">供应商</div>
<el-form-item><span class="addinputInfo">{{ formobj.supplierName }}</span></el-form-item> <el-form-item><span class="addinputInfo">{{ formobj.supplierName }}<span v-show="formobj.purchaseTypeValue == '代理库'" style="margin-left: 20px">{{ formobj.warehouseTypeValue }}</span></span></el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<div class="span-sty">是否需要发票</div> <div class="span-sty">是否发票</div>
<el-form-item><span class="addinputInfo">{{ formobj.purchaseBillInvoice.isInvoicing == '1' ? '是' : '否' }}</span></el-form-item> <el-form-item><span class="addinputInfo">{{ formobj.purchaseBillInvoice.isInvoicing == '1' ? '是' : '否' }}</span></el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
@ -254,6 +254,10 @@ export default {
useOrgName: '', useOrgName: '',
createOrgSid: '', createOrgSid: '',
createOrgName: '', createOrgName: '',
operateBrandKey: '',
operateBrandValue: '',
warehouseTypeKey: '',
warehouseTypeValue: '',
purchasePay: { purchasePay: {
sid: '', sid: '',
billSid: '', billSid: '',

88
yxt-as-ui/src/views/workFlow/caigouFlow/procurementEdit.vue

@ -26,11 +26,16 @@
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<div class="span-sty"><span class="icon">*</span>采购类型</div> <div class="span-sty"><span class="icon">*</span>采购方式</div>
<el-form-item prop="purchaseTypeValue"> <el-form-item prop="purchaseTypeValue">
<el-select class="addinputInfo" v-model="formobj.purchaseTypeValue" placeholder="请选择" @change="purchaseTypeChange" clearable filterable> <div class="addinputInfo" style="display: flex;flex-direction: row;justify-content: flex-start;align-items: center">
<el-select v-model="formobj.purchaseTypeValue" placeholder="请选择" @change="purchaseTypeChange" clearable filterable>
<el-option v-for="item in procurementType_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"></el-option> <el-option v-for="item in procurementType_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"></el-option>
</el-select> </el-select>
<el-select v-show="formobj.purchaseTypeValue == '代理库'" style="margin-left: 5px" v-model="formobj.operateBrandValue" placeholder="选择经营品牌" @change="operateBrandChange" clearable filterable>
<el-option v-for="item in operateBrand_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"></el-option>
</el-select>
</div>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
@ -54,13 +59,18 @@
<el-col :span="8"> <el-col :span="8">
<div class="span-sty"><span class="icon">*</span>供应商</div> <div class="span-sty"><span class="icon">*</span>供应商</div>
<el-form-item prop="supplierSid"> <el-form-item prop="supplierSid">
<el-select class="addinputInfo" v-model="formobj.supplierSid" placeholder="请选择" @change="supplierChange" clearable filterable> <div class="addinputInfo" style="display: flex;flex-direction: row;justify-content: flex-start;align-items: center">
<el-select v-model="formobj.supplierSid" placeholder="请选择" @change="supplierChange" clearable filterable>
<el-option v-for="item in supplier_list" :key="item.sid" :label="item.supplierName" :value="item.sid"></el-option> <el-option v-for="item in supplier_list" :key="item.sid" :label="item.supplierName" :value="item.sid"></el-option>
</el-select> </el-select>
<el-select v-show="formobj.purchaseTypeValue == '代理库'" style="margin-left: 5px" v-model="formobj.warehouseTypeValue" placeholder="选择仓库类型" @change="warehouseTypeChange" clearable filterable>
<el-option v-for="item in warehouseType_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"></el-option>
</el-select>
</div>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<div class="span-sty"><span class="icon">*</span>是否需要发票</div> <div class="span-sty"><span class="icon">*</span>是否发票</div>
<el-form-item prop="purchaseBillInvoice.isInvoicing"> <el-form-item prop="purchaseBillInvoice.isInvoicing">
<el-radio-group class="addinputInfo" @change="isInvoicingChange" v-model="formobj.purchaseBillInvoice.isInvoicing"> <el-radio-group class="addinputInfo" @change="isInvoicingChange" v-model="formobj.purchaseBillInvoice.isInvoicing">
<el-radio label="1"></el-radio> <el-radio label="1"></el-radio>
@ -116,16 +126,12 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8" v-if="formobj.purchasePay.isFirstPay == '0'"> <el-col :span="8" v-if="formobj.purchasePay.isFirstPay == '0'">
<div class="span-sty"><span class="icon">*</span>验货后付货款</div> <div class="span-sty">验货后付货款</div>
<el-form-item prop="purchasePay.goodsMoney"> <el-form-item><span class="addinputInfo">{{ calculateGoodsMoney }}</span></el-form-item>
<el-input class="addinputInfo addinputw" @keyup.native="formobj.purchasePay.goodsMoney = getNumber(formobj.purchasePay.goodsMoney, 2)" v-model="formobj.purchasePay.goodsMoney" clearable placeholder=""/>
</el-form-item>
</el-col> </el-col>
<el-col :span="16" v-else> <el-col :span="16" v-else>
<div class="span-sty"><span class="icon">*</span>审批通过后付货款</div> <div class="span-sty">审批通过后付货款</div>
<el-form-item prop="purchasePay.goodsMoney"> <el-form-item><span class="addinputInfo">{{ calculateGoodsMoney }}</span></el-form-item>
<el-input class="addinputInfo addinputw" @keyup.native="formobj.purchasePay.goodsMoney = getNumber(formobj.purchasePay.goodsMoney, 2)" v-model="formobj.purchasePay.goodsMoney" clearable placeholder=""/>
</el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
@ -244,9 +250,11 @@ export default {
index: 0, index: 0,
accept: '.jpg,.jpeg,.png', accept: '.jpg,.jpeg,.png',
procurementType_list: [], procurementType_list: [],
operateBrand_list: [],
procurementReason_list: [], procurementReason_list: [],
paymentMethod_list: [], paymentMethod_list: [],
supplier_list: [], supplier_list: [],
warehouseType_list: [],
account_list: [], account_list: [],
formobj: { formobj: {
sid: '', sid: '',
@ -287,6 +295,10 @@ export default {
useOrgName: '', useOrgName: '',
createOrgSid: '', createOrgSid: '',
createOrgName: '', createOrgName: '',
operateBrandKey: '',
operateBrandValue: '',
warehouseTypeKey: '',
warehouseTypeValue: '',
purchasePay: { purchasePay: {
sid: '', sid: '',
billSid: '', billSid: '',
@ -311,14 +323,13 @@ export default {
pmsPurchaseBillDetailList: [] pmsPurchaseBillDetailList: []
}, },
rules: { rules: {
purchaseTypeValue: [{ required: true, message: '采购类型不能为空', trigger: 'change' }], purchaseTypeValue: [{ required: true, message: '采购方式不能为空', trigger: 'change' }],
purchaseReasonValue: [{ required: true, message: '采购原因不能为空', trigger: 'change' }], purchaseReasonValue: [{ required: true, message: '采购原因不能为空', trigger: 'change' }],
payTypeValue: [{ required: true, message: '付款方式不能为空', trigger: 'change' }], payTypeValue: [{ required: true, message: '付款方式不能为空', trigger: 'change' }],
supplierSid: [{ required: true, message: '供应商不能为空', trigger: 'change' }], supplierSid: [{ required: true, message: '供应商不能为空', trigger: 'change' }],
'purchaseBillInvoice.isInvoicing': [{ required: true, message: '是否需要发票不能为空', trigger: 'change' }], 'purchaseBillInvoice.isInvoicing': [{ required: true, message: '是否发票不能为空', trigger: 'change' }],
'purchasePay.isFirstPay': [{ required: true, message: '是否先付货款不能为空', trigger: 'change' }], 'purchasePay.isFirstPay': [{ required: true, message: '是否先付货款不能为空', trigger: 'change' }],
'purchasePay.deposit': [{ required: true, message: '审批通过后付订金不能为空', trigger: 'blur' }], 'purchasePay.deposit': [{ required: true, message: '审批通过后付订金不能为空', trigger: 'blur' }]
'purchasePay.goodsMoney': [{ required: true, message: '付货款不能为空', trigger: 'blur' }]
} }
} }
}, },
@ -364,10 +375,25 @@ export default {
} }
return cg return cg
}, },
//
yfTotal() { yfTotal() {
let yf = '0' let yf = '0'
yf = Math.round((parseFloat(yf) + parseFloat(this.cgTotal) + parseFloat(this.formobj.freight !== '' ? this.formobj.freight : '0') - parseFloat(this.formobj.discountAmount !== '' ? this.formobj.discountAmount : '0') + parseFloat(this.formobj.errorAmount !== '' ? this.formobj.errorAmount : '0')) * 100) / 100 yf = Math.round((parseFloat(yf) + parseFloat(this.cgTotal) + parseFloat(this.formobj.freight !== '' ? this.formobj.freight : '0') - parseFloat(this.formobj.discountAmount !== '' ? this.formobj.discountAmount : '0') + parseFloat(this.formobj.errorAmount !== '' ? this.formobj.errorAmount : '0')) * 100) / 100
return yf return yf
},
//
calculateGoodsMoney() {
let goodsMoney = '0'
if (this.formobj.payTypeValue === '单笔付款') {
if (this.formobj.purchasePay.isFirstPay === '1') {
// =
goodsMoney = this.yfTotal
} else if (this.formobj.purchasePay.isFirstPay === '0') {
// = -
goodsMoney = parseFloat(this.yfTotal) - parseFloat(this.formobj.purchasePay.deposit !== '' ? this.formobj.purchasePay.deposit : '0')
}
}
return goodsMoney
} }
}, },
methods: { methods: {
@ -377,6 +403,16 @@ export default {
this.procurementType_list = res.data this.procurementType_list = res.data
} }
}) })
typeValues({ type: 'operateBrand' }).then((res) => {
if (res.success) {
this.operateBrand_list = res.data
}
})
typeValues({ type: 'warehouseType' }).then((res) => {
if (res.success) {
this.warehouseType_list = res.data
}
})
typeValues({ type: 'procurementReason' }).then((res) => { typeValues({ type: 'procurementReason' }).then((res) => {
if (res.success) { if (res.success) {
this.procurementReason_list = res.data this.procurementReason_list = res.data
@ -432,6 +468,14 @@ export default {
this.formobj.purchaseTypeKey = '' this.formobj.purchaseTypeKey = ''
} }
}, },
operateBrandChange(value) {
const choose = this.operateBrand_list.filter((item) => item.dictValue === value)
if (choose !== null && choose.length > 0) {
this.formobj.operateBrandKey = choose[0].dictKey
} else {
this.formobj.operateBrandKey = ''
}
},
purchaseReasonChange(value) { purchaseReasonChange(value) {
const choose = this.procurementReason_list.filter((item) => item.dictValue === value) const choose = this.procurementReason_list.filter((item) => item.dictValue === value)
if (choose !== null && choose.length > 0) { if (choose !== null && choose.length > 0) {
@ -458,6 +502,14 @@ export default {
this.account_list = [] this.account_list = []
} }
}, },
warehouseTypeChange(value) {
const choose = this.warehouseType_list.filter((item) => item.dictValue === value)
if (choose !== null && choose.length > 0) {
this.formobj.warehouseTypeKey = choose[0].dictKey
} else {
this.formobj.warehouseTypeKey = ''
}
},
isInvoicingChange(val) { isInvoicingChange(val) {
if (val === '1') { if (val === '1') {
const choose = this.supplier_list.filter((item) => item.sid === this.formobj.supplierSid) const choose = this.supplier_list.filter((item) => item.sid === this.formobj.supplierSid)
@ -485,7 +537,7 @@ export default {
selectProducts() { selectProducts() {
this.viewState = 2 this.viewState = 2
const aa = [] const aa = []
this.$refs['divSp'].showData(aa, this.formobj.deptSid) this.$refs['divSp'].showData(aa, this.formobj.createBySid, this.formobj.createOrgSid, this.formobj.deptSid)
}, },
backData(value) { backData(value) {
this.viewState = 1 this.viewState = 1
@ -529,6 +581,7 @@ export default {
if (valid) { if (valid) {
this.submitdisabled = true this.submitdisabled = true
this.formobj.payableAmount = this.yfTotal this.formobj.payableAmount = this.yfTotal
this.formobj.purchasePay.goodsMoney = this.calculateGoodsMoney
req.saveOrUpdate(this.formobj).then((res) => { req.saveOrUpdate(this.formobj).then((res) => {
if (res.success) { if (res.success) {
this.$message({ showClose: true, type: 'success', message: '保存成功' }) this.$message({ showClose: true, type: 'success', message: '保存成功' })
@ -554,6 +607,7 @@ export default {
if (valid) { if (valid) {
this.submitdisabled = true this.submitdisabled = true
this.formobj.payableAmount = this.yfTotal this.formobj.payableAmount = this.yfTotal
this.formobj.purchasePay.goodsMoney = this.calculateGoodsMoney
req.submit(this.formobj).then((res) => { req.submit(this.formobj).then((res) => {
if (res.success) { if (res.success) {
this.$message({ showClose: true, type: 'success', message: '提交成功' }) this.$message({ showClose: true, type: 'success', message: '提交成功' })

12
yxt-as-ui/src/views/workFlow/caigouFlow/procurementYiBan.vue

@ -25,8 +25,8 @@
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<div class="span-sty">采购类型</div> <div class="span-sty">采购方式</div>
<el-form-item><span class="addinputInfo">{{ formobj.purchaseTypeValue }}</span></el-form-item> <el-form-item><span class="addinputInfo">{{ formobj.purchaseTypeValue }}<span v-show="formobj.purchaseTypeValue == '代理库'" style="margin-left: 20px">{{ formobj.operateBrandValue }}</span></span></el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<div class="span-sty">采购原因</div> <div class="span-sty">采购原因</div>
@ -40,10 +40,10 @@
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<div class="span-sty">供应商</div> <div class="span-sty">供应商</div>
<el-form-item><span class="addinputInfo">{{ formobj.supplierName }}</span></el-form-item> <el-form-item><span class="addinputInfo">{{ formobj.supplierName }}<span v-show="formobj.purchaseTypeValue == '代理库'" style="margin-left: 20px">{{ formobj.warehouseTypeValue }}</span></span></el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<div class="span-sty">是否需要发票</div> <div class="span-sty">是否发票</div>
<el-form-item><span class="addinputInfo">{{ formobj.purchaseBillInvoice.isInvoicing == '1' ? '是' : '否' }}</span></el-form-item> <el-form-item><span class="addinputInfo">{{ formobj.purchaseBillInvoice.isInvoicing == '1' ? '是' : '否' }}</span></el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
@ -212,6 +212,10 @@ export default {
useOrgName: '', useOrgName: '',
createOrgSid: '', createOrgSid: '',
createOrgName: '', createOrgName: '',
operateBrandKey: '',
operateBrandValue: '',
warehouseTypeKey: '',
warehouseTypeValue: '',
purchasePay: { purchasePay: {
sid: '', sid: '',
billSid: '', billSid: '',

31
yxt-as-ui/src/views/workFlow/caigouFlow/relation/chooseproducts.vue

@ -1,10 +1,11 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<div> <div v-show="viewState == 1">
<div class="tab-header webtop"> <div class="tab-header webtop">
<div>选择商品</div> <div>选择商品</div>
<div> <div>
<el-button type="primary" size="small" @click="AddUpdateReturn">确定</el-button> <el-button type="primary" size="small" @click="toConfirm">确定</el-button>
<el-button type="primary" size="small" @click="addProducts">新增商品</el-button>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button> <el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div> </div>
</div> </div>
@ -51,26 +52,32 @@
</div> </div>
</div> </div>
</div> </div>
<goodsAdd2 v-show="viewState == 2" ref="divAdd" @reloadlist="getList" @doback="resetState" />
</div> </div>
</template> </template>
<script> <script>
import Pagination from '@/components/pagination' import Pagination from '@/components/pagination'
import { chooseproducts } from '@/api/Common/dictcommons' import { chooseproducts } from '@/api/Common/dictcommons'
import goodsAdd2 from '@/views/goods/goods/goodsAdd2'
export default { export default {
name: 'SelectVehicle', name: 'SelectVehicle',
components: { components: {
Pagination Pagination,
goodsAdd2
}, },
data() { data() {
return { return {
viewState: 1,
isSearchShow: false, isSearchShow: false,
searchxianshitit: '隐藏查询条件', searchxianshitit: '隐藏查询条件',
tableKey: 0, tableKey: 0,
sids: [], sids: [],
list: [], list: [],
number: '', userSid: '',
createOrgSid: '',
deptSid: '',
listLoading: false, listLoading: false,
listQuery: { listQuery: {
current: 1, current: 1,
@ -129,7 +136,7 @@ export default {
handleSelectionChange(row) { handleSelectionChange(row) {
this.sids = row this.sids = row
}, },
showData(value, useOrgSid) { showData(value, userSid, createOrgSid, deptSid) {
// const aa = [] // const aa = []
// if (value.length > 0) { // if (value.length > 0) {
// for (var i = 0; i < value.length; i++) { // for (var i = 0; i < value.length; i++) {
@ -139,20 +146,30 @@ export default {
// } else { // } else {
// this.listQuery.params.saleVehSids = [] // this.listQuery.params.saleVehSids = []
// }`` // }``
this.listQuery.params.useOrgSid = useOrgSid this.userSid = userSid
this.createOrgSid = createOrgSid
this.deptSid = deptSid
this.listQuery.params.useOrgSid = deptSid
this.listQuery.current = 1 this.listQuery.current = 1
this.listQuery.size = 5 this.listQuery.size = 5
this.listQuery.total = 0 this.listQuery.total = 0
this.getList() this.getList()
}, },
// //
AddUpdateReturn() { toConfirm() {
if (this.sids.length > 0) { if (this.sids.length > 0) {
this.$emit('backData', this.sids) this.$emit('backData', this.sids)
} else { } else {
this.$notify({ title: '提示', message: '请至少选择一条记录进行操作', type: 'error', duration: 2000 }) this.$notify({ title: '提示', message: '请至少选择一条记录进行操作', type: 'error', duration: 2000 })
} }
}, },
addProducts() {
this.viewState = 2
this.$refs['divAdd'].showAdd(this.userSid, this.createOrgSid, this.deptSid)
},
resetState() {
this.viewState = 1
},
// //
handleReturn() { handleReturn() {
this.$emit('doback') this.$emit('doback')

17
yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBill.java

@ -93,6 +93,8 @@ public class AsBusrepairBill extends BaseEntity {
private String groupName; private String groupName;
@ApiModelProperty("应收金额") @ApiModelProperty("应收金额")
private BigDecimal receivableAmount; private BigDecimal receivableAmount;
@ApiModelProperty("实收金额")
private BigDecimal actualAmount;
@ApiModelProperty("工时费") @ApiModelProperty("工时费")
private BigDecimal hourAmount; private BigDecimal hourAmount;
@ApiModelProperty("材料费") @ApiModelProperty("材料费")
@ -109,4 +111,19 @@ public class AsBusrepairBill extends BaseEntity {
private BigDecimal taxAmount; private BigDecimal taxAmount;
@ApiModelProperty("是否外出(1是,2否)") @ApiModelProperty("是否外出(1是,2否)")
private String isGoOut; private String isGoOut;
@ApiModelProperty("索赔厂家")
private String claimManufacturer;
@ApiModelProperty("索赔厂家sid")
private String claimManufacturerSid;
@ApiModelProperty("特殊标志(1有,0无)")
private Integer isSpecialSign;
@ApiModelProperty("施救费")
private BigDecimal rescueAmount;
@ApiModelProperty("厂家补助备注")
private String subsidyRemarks;
@ApiModelProperty("施救费备注")
private String rescueRemarks;
@ApiModelProperty("外出费备注")
private String outRemarks;
} }

25
yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBillDetailsVo.java

@ -18,8 +18,24 @@ import java.util.List;
public class AsBusrepairBillDetailsVo implements Vo { public class AsBusrepairBillDetailsVo implements Vo {
private String sid; private String sid;
private String orgPath; private String orgPath;
@ApiModelProperty("索赔厂家")
private String claimManufacturer;
@ApiModelProperty("索赔厂家sid")
private String claimManufacturerSid;
@ApiModelProperty("特殊标志(1有,0无)")
private String isSpecialSign;
@ApiModelProperty("客户来源 ")
private String customerSource;
@ApiModelProperty("对接人sid")
private String dockingPeopleSid;
@ApiModelProperty("对接人")
private String dockingPeople;
@ApiModelProperty("对接人电话")
private String dockingPhone;
@ApiModelProperty("应收金额") @ApiModelProperty("应收金额")
private String receivableAmount; private String receivableAmount;
@ApiModelProperty("实收金额")
private String actualAmount;
@ApiModelProperty("工时费") @ApiModelProperty("工时费")
private String hourAmount; private String hourAmount;
@ApiModelProperty("材料费") @ApiModelProperty("材料费")
@ -133,4 +149,13 @@ public class AsBusrepairBillDetailsVo implements Vo {
private List<GoodsDetailsVo> goodsDetailsVos = new ArrayList<>(); //商品信息 private List<GoodsDetailsVo> goodsDetailsVos = new ArrayList<>(); //商品信息
private SettleVo settleVo = new SettleVo(); //结算信息 private SettleVo settleVo = new SettleVo(); //结算信息
private boolean showReSettleBtn; //是否显示反结算按钮,ture显示,false不显示 private boolean showReSettleBtn; //是否显示反结算按钮,ture显示,false不显示
@ApiModelProperty("厂家补助备注")
private String subsidyRemarks;
@ApiModelProperty("施救费备注")
private String rescueRemarks;
@ApiModelProperty("外出费备注")
private String outRemarks;
@ApiModelProperty("施救费")
private String rescueAmount;
private String fileName; //文件名称
} }

26
yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBillDto.java

@ -20,8 +20,24 @@ public class AsBusrepairBillDto implements Dto {
private String orgPath; private String orgPath;
@ApiModelProperty("是否外出(1是,2否)") @ApiModelProperty("是否外出(1是,2否)")
private String isGoOut; private String isGoOut;
@ApiModelProperty("索赔厂家")
private String claimManufacturer;
@ApiModelProperty("索赔厂家sid")
private String claimManufacturerSid;
@ApiModelProperty("特殊标志(1有,0无)")
private String isSpecialSign;
@ApiModelProperty("客户来源")
private String customerSource;
@ApiModelProperty("对接人sid")
private String dockingPeopleSid;
@ApiModelProperty("对接人")
private String dockingPeople;
@ApiModelProperty("对接人电话")
private String dockingPhone;
@ApiModelProperty("应收金额") @ApiModelProperty("应收金额")
private String receivableAmount; private String receivableAmount;
@ApiModelProperty("实收金额")
private String actualAmount;
@ApiModelProperty("工时费") @ApiModelProperty("工时费")
private String hourAmount; private String hourAmount;
@ApiModelProperty("材料费") @ApiModelProperty("材料费")
@ -117,5 +133,13 @@ public class AsBusrepairBillDto implements Dto {
private List<AitemVo> aitemVos = new ArrayList<>();// 附加项目 private List<AitemVo> aitemVos = new ArrayList<>();// 附加项目
private SettleVo settleVo = new SettleVo(); //结算信息 private SettleVo settleVo = new SettleVo(); //结算信息
private List<GoodsDetailsVo> goodsDetailsVos = new ArrayList<>(); //商品信息 private List<GoodsDetailsVo> goodsDetailsVos = new ArrayList<>(); //商品信息
@ApiModelProperty("厂家补助备注")
private String subsidyRemarks;
@ApiModelProperty("施救费备注")
private String rescueRemarks;
@ApiModelProperty("外出费备注")
private String outRemarks;
@ApiModelProperty("施救费")
private String rescueAmount;
private String fileName; //文件名称
} }

34
yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/InsuranceRecordVo.java

@ -0,0 +1,34 @@
package com.yxt.anrui.as.api.asbusrepairbill;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/7/1 14:01
*/
@Data
public class InsuranceRecordVo {
@ApiModelProperty("工单sid")
private String billSid;
@ApiModelProperty("使用保险方Key")
private String useInsurerKey;
@ApiModelProperty("使用保险方")
private String useInsurer;
@ApiModelProperty("使用险种key")
private String insuranceTypeKey;
@ApiModelProperty("使用险种")
private String insuranceType;
@ApiModelProperty("保险公司key")
private String insuranceCompanyKey;
@ApiModelProperty("保险公司")
private String insuranceCompany;
@ApiModelProperty("报案号")
private String claimBillNo;
@ApiModelProperty("勘察员及电话")
private String investigator;
@ApiModelProperty("定损员及电话")
private String lossAdjuster;
}

32
yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/InsuranceVo.java

@ -3,6 +3,8 @@ package com.yxt.anrui.as.api.asbusrepairbill;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.util.List;
/** /**
* @author Fan * @author Fan
* @description * @description
@ -13,28 +15,14 @@ public class InsuranceVo {
@ApiModelProperty("责任划分") @ApiModelProperty("责任划分")
private String responsibility; private String responsibility;
@ApiModelProperty("对方险种")
private String otherInsuranceType;
@ApiModelProperty("责任划分") @ApiModelProperty("责任划分")
private String responsibilityKey; private String responsibilityKey;
@ApiModelProperty("对方险种") @ApiModelProperty("是否存在人伤(1是,0否)")
private String otherInsuranceTypeKey; private String isPersonInjuries;
@ApiModelProperty("保险公司1") @ApiModelProperty("责任比例Key")
private String insuranceCompany1; private String responsibilityRatioKey;
@ApiModelProperty("保险公司2") @ApiModelProperty("责任比例")
private String insuranceCompany2; private String responsibilityRatio;
@ApiModelProperty("保险人员")
private String insurer; private List<InsuranceRecordVo> insuranceList;
@ApiModelProperty("保险索赔单号")
private String claimBillNo;
@ApiModelProperty("勘察员")
private String investigator;
@ApiModelProperty("定损员")
private String lossAdjuster;
@ApiModelProperty("特殊标志(1有,0无)")
private String isSpecialSign;
@ApiModelProperty("出险类型")
private String accidentType;
@ApiModelProperty("出险类型")
private String accidentTypeKey;
} }

5
yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/InvoiceVo.java

@ -27,5 +27,8 @@ public class InvoiceVo {
private String invoiceCode; private String invoiceCode;
@ApiModelProperty("税率") @ApiModelProperty("税率")
private String taxRate; private String taxRate;
@ApiModelProperty("开票单位sid")
private String invoiceCompanySid;
@ApiModelProperty("开票单位")
private String invoiceCompany;
} }

2
yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/SitemVo.java

@ -26,7 +26,7 @@ public class SitemVo {
private String subjectSid; private String subjectSid;
@ApiModelProperty("科目(自费、保内等)") @ApiModelProperty("科目(自费、保内等)")
private String subject; private String subject;
@ApiModelProperty("考核工时(考核价)") @ApiModelProperty("工时提成")
private String examineHourPrice; private String examineHourPrice;
@ApiModelProperty("工时单价") @ApiModelProperty("工时单价")
private String hourPrice; private String hourPrice;

7
yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbillinsurance/AsBusrepairBillInsurance.java

@ -45,4 +45,11 @@ public class AsBusrepairBillInsurance extends BaseEntity {
private String accidentType; private String accidentType;
@ApiModelProperty("出险类型") @ApiModelProperty("出险类型")
private String accidentTypeKey; private String accidentTypeKey;
@ApiModelProperty("是否存在人伤(1是,0否)")
private String isPersonInjuries;
@ApiModelProperty("责任比例Key")
private String responsibilityRatioKey;
@ApiModelProperty("责任比例")
private String responsibilityRatio;
} }

40
yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbillinsurancerecord/AsBusrepairBillInsuranceRecord.java

@ -0,0 +1,40 @@
package com.yxt.anrui.as.api.asbusrepairbillinsurancerecord;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/7/1 13:57
*/
@Data
@ApiModel(value = "维修工单-保险信息列表", description = "维修工单-保险信息列表")
@TableName("as_busrepair_bill_insurance_record")
public class AsBusrepairBillInsuranceRecord extends BaseEntity {
@ApiModelProperty("工单sid")
private String billSid;
@ApiModelProperty("使用保险方Key")
private String useInsurerKey;
@ApiModelProperty("使用保险方")
private String useInsurer;
@ApiModelProperty("使用险种key")
private String insuranceTypeKey;
@ApiModelProperty("使用险种")
private String insuranceType;
@ApiModelProperty("保险公司key")
private String insuranceCompanyKey;
@ApiModelProperty("保险公司")
private String insuranceCompany;
@ApiModelProperty("报案号")
private String claimBillNo;
@ApiModelProperty("勘察员及电话")
private String investigator;
@ApiModelProperty("定损员及电话")
private String lossAdjuster;
}

5
yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbillinvoice/AsBusrepairBillInvoice.java

@ -32,6 +32,9 @@ public class AsBusrepairBillInvoice extends BaseEntity {
private String invoiceCode; private String invoiceCode;
@ApiModelProperty("税率") @ApiModelProperty("税率")
private BigDecimal taxRate; private BigDecimal taxRate;
@ApiModelProperty("开票单位sid")
private String invoiceCompanySid;
@ApiModelProperty("开票单位")
private String invoiceCompany;
} }

6
yxt-base-biz/src/main/java/com/yxt/base/apiadmin/base/BaseGoodsBrandRest.java

@ -30,9 +30,9 @@ public class BaseGoodsBrandRest {
return baseBrandInfoService.listPage(pq); return baseBrandInfoService.listPage(pq);
} }
@ApiOperation("查询所有的品牌") @ApiOperation("查询所有的品牌")
@PostMapping("/listAll") @GetMapping("/listAll")
public ResultBean<List<BaseBrandInfo>> listAll(@RequestBody OrgPathQuery query) { public ResultBean<List<BaseBrandInfo>> listAll(@RequestParam("useOrgSid") String useOrgSid) {
return baseBrandInfoService.listAll(query); return baseBrandInfoService.listAll(useOrgSid);
} }
@ApiOperation("保存修改") @ApiOperation("保存修改")
@PostMapping("/saveOrUpdate") @PostMapping("/saveOrUpdate")

6
yxt-base-biz/src/main/java/com/yxt/base/apiadmin/base/BaseGoodsTypeRest.java

@ -30,9 +30,9 @@ public class BaseGoodsTypeRest {
return baseGoodsTypeService.listPage(pq); return baseGoodsTypeService.listPage(pq);
} }
@ApiOperation("查询所有的类别") @ApiOperation("查询所有的类别")
@PostMapping("/listAll") @GetMapping("/listAll")
public ResultBean<List<BaseGoodsType>> listAll(@RequestBody OrgPathQuery query) { public ResultBean<List<BaseGoodsType>> listAll(@RequestParam("useOrgSid") String useOrgSid) {
return baseGoodsTypeService.listAll(query); return baseGoodsTypeService.listAll(useOrgSid);
} }
@ApiOperation("根据数据权限查询类别") @ApiOperation("根据数据权限查询类别")

6
yxt-base-biz/src/main/java/com/yxt/base/apiadmin/base/BaseGoodsUnitRest.java

@ -30,9 +30,9 @@ public class BaseGoodsUnitRest {
return baseGoodsUnitService.listPage(pq); return baseGoodsUnitService.listPage(pq);
} }
@ApiOperation("查询所有的类别") @ApiOperation("查询所有的类别")
@PostMapping("/listAll") @GetMapping("/listAll")
public ResultBean<List<BaseGoodsUnit>> listAll(@RequestBody OrgPathQuery query) { public ResultBean<List<BaseGoodsUnit>> listAll(@RequestParam("useOrgSid") String useOrgSid) {
return baseGoodsUnitService.listAll(query); return baseGoodsUnitService.listAll(useOrgSid);
} }
@ApiOperation("保存修改") @ApiOperation("保存修改")

6
yxt-base-biz/src/main/java/com/yxt/base/apiadmin/base/BaseManufacturerRest.java

@ -31,9 +31,9 @@ public class BaseManufacturerRest {
} }
@ApiOperation("查询所有的厂家") @ApiOperation("查询所有的厂家")
@PostMapping("/listAll") @GetMapping("/listAll")
public ResultBean<List<BaseManufacturer>> listAll(@RequestBody OrgPathQuery query) { public ResultBean<List<BaseManufacturer>> listAll(@RequestParam("useOrgSid") String useOrgSid) {
return baseManufacturerService.listAll(query); return baseManufacturerService.listAll(useOrgSid);
} }
@ApiOperation("保存修改") @ApiOperation("保存修改")

79
yxt-base-biz/src/main/java/com/yxt/base/biz/base/basebrandinfo/BaseBrandInfoService.java

@ -40,6 +40,7 @@ public class BaseBrandInfoService extends MybatisBaseService<BaseBrandInfoMapper
private SysOrganizationFeign sysOrganizationFeign; private SysOrganizationFeign sysOrganizationFeign;
@Autowired @Autowired
private SysStaffOrgFeign sysStaffOrgFeign; private SysStaffOrgFeign sysStaffOrgFeign;
public ResultBean<PagerVo<BaseBrandInfoVo>> listPage(PagerQuery<BaseBrandInfoQuery> pq) { public ResultBean<PagerVo<BaseBrandInfoVo>> listPage(PagerQuery<BaseBrandInfoQuery> pq) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
BaseBrandInfoQuery query = pq.getParams(); BaseBrandInfoQuery query = pq.getParams();
@ -80,10 +81,10 @@ public class BaseBrandInfoService extends MybatisBaseService<BaseBrandInfoMapper
PagerVo<BaseBrandInfoVo> p = new PagerVo<>(); PagerVo<BaseBrandInfoVo> p = new PagerVo<>();
return rb.success().setData(p); return rb.success().setData(p);
} }
if(StringUtils.isNotBlank(query.getName())){ if (StringUtils.isNotBlank(query.getName())) {
qw.like("b.brandName",query.getName()); qw.like("b.brandName", query.getName());
} }
qw.ne("b.isDelete","1"); qw.ne("b.isDelete", "1");
IPage<BaseBrandInfo> page = PagerUtil.queryToPage(pq); IPage<BaseBrandInfo> page = PagerUtil.queryToPage(pq);
IPage<BaseBrandInfoVo> pagging = baseMapper.listPage(page, qw); IPage<BaseBrandInfoVo> pagging = baseMapper.listPage(page, qw);
PagerVo<BaseBrandInfoVo> p = PagerUtil.pageToVo(pagging, null); PagerVo<BaseBrandInfoVo> p = PagerUtil.pageToVo(pagging, null);
@ -98,62 +99,13 @@ public class BaseBrandInfoService extends MybatisBaseService<BaseBrandInfoMapper
// } // }
return rb.success().setData(p); return rb.success().setData(p);
} }
public ResultBean<List<BaseBrandInfo>> listAll(@RequestBody OrgPathQuery query) {
public ResultBean<List<BaseBrandInfo>> listAll(String useOrgSid) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
QueryWrapper<BaseBrandInfo> qw = new QueryWrapper<>(); List<BaseBrandInfo> pagging = baseMapper.selectList(new QueryWrapper<BaseBrandInfo>().eq("isEnable", 1).ne("isDelete", "1").eq("useOrgSid", useOrgSid));
PrivilegeQuery privilegeQuery = new PrivilegeQuery();
privilegeQuery.setOrgPath(query.getOrgPath());
privilegeQuery.setMenuUrl(query.getMenuUrl());
privilegeQuery.setUserSid(query.getUserSid());
ResultBean<String> defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery);
if (StringUtils.isNotBlank(defaultIdReltBean.getData())) {
//数据权限ID(1集团、2事业部、3分公司、4部门、5个人)
String orgSidPath = query.getOrgPath();
orgSidPath = orgSidPath + "/";
int i1 = orgSidPath.indexOf("/");
int i2 = orgSidPath.indexOf("/", i1 + 1);
int i3 = orgSidPath.indexOf("/", i2 + 1);
int i4 = orgSidPath.indexOf("/", i3 + 1);
String orgLevelKey = defaultIdReltBean.getData();
if ("1".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i1);
qw.like("s.orgSidPath", orgSidPath);
} else if ("2".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i2);
qw.like("s.orgSidPath", orgSidPath);
} else if ("3".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i3);
qw.like("s.orgSidPath", orgSidPath);
} else if ("4".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i4);
qw.like("s.orgSidPath", orgSidPath);
} else if ("5".equals(orgLevelKey)) {
qw.eq("b.createBySid", query.getUserSid());
} else {
return rb.success().setData(new ArrayList<>());
}
} else {
return rb.success().setData(new ArrayList<>());
}
qw.eq("b.isEnable",1);
qw.ne("b.isDelete",1);
List<BaseBrandInfo> pagging = baseMapper.selListAll(qw);
// String useOrgSid = "";
// String orgPath = query.getOrgPath();
// if (StringUtils.isNotBlank(orgPath)) {
// List<String> split = Arrays.asList(orgPath.split("/"));
// if (split.size() > 1) {
// //获取本级sid获取本级部门信息
// SysOrganizationVo sysOrganization1 = sysOrganizationFeign.fetchBySid(split.get(split.size() - 1)).getData();
// useOrgSid = sysOrganization1.getSid();
// } else {
// SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(split.get(0)).getData();
// useOrgSid = sysOrganization.getSid();
// }
// }
// List<BaseBrandInfo> pagging = baseMapper.selectList(new QueryWrapper<BaseBrandInfo>().eq("isEnable",1).ne("isDelete","1").eq("useOrgSid",useOrgSid));
return rb.success().setData(pagging); return rb.success().setData(pagging);
} }
public ResultBean<String> saveOrUpdate(BaseBrandInfoDto dto) { public ResultBean<String> saveOrUpdate(BaseBrandInfoDto dto) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
String sid = ""; String sid = "";
@ -168,8 +120,8 @@ public class BaseBrandInfoService extends MybatisBaseService<BaseBrandInfoMapper
// wmsGoodsBrand.setBigPic(path); // wmsGoodsBrand.setBigPic(path);
// } // }
wmsGoodsBrand.setModifyTime(new Date()); wmsGoodsBrand.setModifyTime(new Date());
BaseBrandInfo goods=baseMapper.checkForUpdate(dto.getBrandCode(),wmsGoodsBrand.getUseOrgSid(),sid); BaseBrandInfo goods = baseMapper.checkForUpdate(dto.getBrandCode(), wmsGoodsBrand.getUseOrgSid(), sid);
if(null!=goods){ if (null != goods) {
return rb.setMsg("品牌代码不能重复"); return rb.setMsg("品牌代码不能重复");
} }
baseMapper.updateById(wmsGoodsBrand); baseMapper.updateById(wmsGoodsBrand);
@ -205,8 +157,8 @@ public class BaseBrandInfoService extends MybatisBaseService<BaseBrandInfoMapper
wmsGoodsBrand.setCreateOrgSid(createOrgSid); wmsGoodsBrand.setCreateOrgSid(createOrgSid);
} }
} }
BaseBrandInfo goods=baseMapper.checkForInsert(dto.getBrandCode(),deptSid); BaseBrandInfo goods = baseMapper.checkForInsert(dto.getBrandCode(), deptSid);
if(null!=goods){ if (null != goods) {
return rb.setMsg("品牌代码不能重复"); return rb.setMsg("品牌代码不能重复");
} }
// if (StringUtils.isNotBlank(dto.getBigPic())) { // if (StringUtils.isNotBlank(dto.getBigPic())) {
@ -239,7 +191,6 @@ public class BaseBrandInfoService extends MybatisBaseService<BaseBrandInfoMapper
} }
public ResultBean delete(String sid) { public ResultBean delete(String sid) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
BaseBrandInfo wmsGoodsBrand = fetchBySid(sid); BaseBrandInfo wmsGoodsBrand = fetchBySid(sid);
@ -248,10 +199,12 @@ public class BaseBrandInfoService extends MybatisBaseService<BaseBrandInfoMapper
} }
return rb.success().setMsg("成功"); return rb.success().setMsg("成功");
} }
public void delAll(String[] sids) { public void delAll(String[] sids) {
int count = baseMapper.updateBySidIsDelete(Arrays.stream(sids).collect(Collectors.toList())); int count = baseMapper.updateBySidIsDelete(Arrays.stream(sids).collect(Collectors.toList()));
} }
public ResultBean updateIsEnable(String sid,String isEnable) {
public ResultBean updateIsEnable(String sid, String isEnable) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
BaseBrandInfo wmsGoodsBrand = fetchBySid(sid); BaseBrandInfo wmsGoodsBrand = fetchBySid(sid);
if (null != wmsGoodsBrand) { if (null != wmsGoodsBrand) {

2
yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsDetailsDto.java

@ -19,6 +19,8 @@ public class BaseGoodsDetailsDto implements Dto {
private String userSid; private String userSid;
private String orgPath; private String orgPath;
private String createOrgSid;
private String useOrgSid;
private String goodsName;//商品名称 private String goodsName;//商品名称
private String goodsCode;//图号 private String goodsCode;//图号
private String goodsPY;//拼音缩写 private String goodsPY;//拼音缩写

3
yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsDetailsVo.java

@ -17,7 +17,8 @@ public class BaseGoodsDetailsVo implements Vo {
private String sid; private String sid;
private String userSid; private String userSid;
private String orgPath; private String orgPath;
private String createOrgSid;
private String useOrgSid;
private String goodsName;//商品名称 private String goodsName;//商品名称
private String goodsCode;//图号 private String goodsCode;//图号
private String goodsPY;//拼音缩写 private String goodsPY;//拼音缩写

34
yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsSpuService.java

@ -282,10 +282,6 @@ public class BaseGoodsSpuService extends MybatisBaseService<BaseGoodsSpuMapper,
public ResultBean<String> saveOrUpdateGoods(BaseGoodsDetailsDto dto) { public ResultBean<String> saveOrUpdateGoods(BaseGoodsDetailsDto dto) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
String sid = ""; String sid = "";
String orgPath = "";
if (StringUtils.isNotBlank(dto.getOrgPath())) {
orgPath = dto.getOrgPath();
}
BaseGoodsSpu spun = baseMapper.selectOne(new QueryWrapper<BaseGoodsSpu>().eq("sid", dto.getSid())); BaseGoodsSpu spun = baseMapper.selectOne(new QueryWrapper<BaseGoodsSpu>().eq("sid", dto.getSid()));
if (spun != null) { if (spun != null) {
sid = dto.getSid(); sid = dto.getSid();
@ -415,34 +411,10 @@ public class BaseGoodsSpuService extends MybatisBaseService<BaseGoodsSpuMapper,
sid = wmsGoods.getSid(); sid = wmsGoods.getSid();
BeanUtil.copyProperties(dto, wmsGoods, "id", "sid"); BeanUtil.copyProperties(dto, wmsGoods, "id", "sid");
wmsGoods.setCreateBySid(dto.getUserSid()); wmsGoods.setCreateBySid(dto.getUserSid());
String deptName = ""; wmsGoods.setUseOrgSid(dto.getUseOrgSid());
String deptSid = ""; wmsGoods.setCreateOrgSid(dto.getCreateOrgSid());
String createOrgSid = "";
if (StringUtils.isNotBlank(orgPath)) {
List<String> split = Arrays.asList(orgPath.split("/"));
if (split.size() > 1) {
//获取本级sid获取本级部门信息
SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(split.get(split.size() - 2)).getData();
SysOrganizationVo sysOrganization1 = sysOrganizationFeign.fetchBySid(split.get(split.size() - 1)).getData();
deptName = sysOrganization.getName() + "/" + sysOrganization1.getName();
deptName = sysOrganization1.getName();
deptSid = sysOrganization1.getSid();
} else {
SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(split.get(0)).getData();
deptName = sysOrganization.getName();
deptName = sysOrganization.getName();
deptSid = sysOrganization.getSid();
}
wmsGoods.setUseOrgSid(deptSid);
createOrgSid = sysStaffOrgFeign.getOrgSidByPath(orgPath).getData();
//创建组织使用组织
ResultBean<SysOrganizationVo> organizationResultBean = sysOrganizationFeign.fetchBySid(createOrgSid);
if (organizationResultBean.getData() != null) {
wmsGoods.setCreateOrgSid(createOrgSid);
}
}
wmsGoods.setGoodsPY(PinYinUtils.sx(wmsGoods.getGoodsName())); wmsGoods.setGoodsPY(PinYinUtils.sx(wmsGoods.getGoodsName()));
BaseGoodsSpu spu = baseMapper.checkForInsert(dto.getGoodsCode(), deptSid); BaseGoodsSpu spu = baseMapper.checkForInsert(dto.getGoodsCode(), dto.getUseOrgSid());
if (spu != null) { if (spu != null) {
return rb.setMsg("商品编码重复"); return rb.setMsg("商品编码重复");
} }

64
yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodstype/BaseGoodsTypeService.java

@ -21,6 +21,7 @@ import com.yxt.common.core.vo.PagerVo;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
@ -169,65 +170,12 @@ public class BaseGoodsTypeService extends MybatisBaseService<BaseGoodsTypeMapper
return rb.success().setData(p); return rb.success().setData(p);
} }
public ResultBean<List<BaseGoodsType>> listAll(OrgPathQuery query) { public ResultBean<List<BaseGoodsType>> listAll(String useOrgSid) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
QueryWrapper<BaseGoodsType> qw = new QueryWrapper<>(); List<BaseGoodsType> pagging = baseMapper.selectList(new QueryWrapper<BaseGoodsType>().eq("isEnable",1)
if (StringUtils.isNotBlank(query.getMenuUrl())) { .ne("isDelete","1")
PrivilegeQuery privilegeQuery = new PrivilegeQuery(); .eq("useOrgSid",useOrgSid)
privilegeQuery.setOrgPath(query.getOrgPath()); );
privilegeQuery.setMenuUrl(query.getMenuUrl());
privilegeQuery.setUserSid(query.getUserSid());
ResultBean<String> defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery);
if (StringUtils.isNotBlank(defaultIdReltBean.getData())) {
//数据权限ID(1集团、2事业部、3分公司、4部门、5个人)
String orgSidPath = query.getOrgPath();
orgSidPath = orgSidPath + "/";
int i1 = orgSidPath.indexOf("/");
int i2 = orgSidPath.indexOf("/", i1 + 1);
int i3 = orgSidPath.indexOf("/", i2 + 1);
int i4 = orgSidPath.indexOf("/", i3 + 1);
String orgLevelKey = defaultIdReltBean.getData();
if ("1".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i1);
qw.like("u.orgSidPath", orgSidPath);
} else if ("2".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i2);
qw.like("u.orgSidPath", orgSidPath);
} else if ("3".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i3);
qw.like("u.orgSidPath", orgSidPath);
} else if ("4".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i4);
qw.like("u.orgSidPath", orgSidPath);
} else if ("5".equals(orgLevelKey)) {
qw.eq("p.createBySid", query.getUserSid());
} else {
return rb.success().setData(new ArrayList<>());
}
} else {
return rb.success().setData(new ArrayList<>());
}
}
qw.eq("p.isEnable", 1);
qw.ne("p.isDelete", 1);
List<BaseGoodsType> pagging = baseMapper.selListAll(qw);
// String useOrgSid = "";
// String orgPath = query.getOrgPath();
// if (StringUtils.isNotBlank(orgPath)) {
// List<String> split = Arrays.asList(orgPath.split("/"));
// if (split.size() > 1) {
// //获取本级sid获取本级部门信息
// SysOrganizationVo sysOrganization1 = sysOrganizationFeign.fetchBySid(split.get(split.size() - 1)).getData();
// useOrgSid = sysOrganization1.getSid();
// } else {
// SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(split.get(0)).getData();
// useOrgSid = sysOrganization.getSid();
// }
// }
// List<BaseGoodsType> pagging = baseMapper.selectList(new QueryWrapper<BaseGoodsType>().eq("isEnable",1)
// .ne("isDelete","1")
// .eq("useOrgSid",useOrgSid)
// );
return rb.success().setData(pagging); return rb.success().setData(pagging);
} }

16
yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsunit/BaseGoodsUnitService.java

@ -21,6 +21,7 @@ import com.yxt.common.core.vo.PagerVo;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Arrays; import java.util.Arrays;
@ -91,21 +92,8 @@ public class BaseGoodsUnitService extends MybatisBaseService<BaseGoodsUnitMapper
PagerVo<BaseGoodsUnitVo> p = PagerUtil.pageToVo(pagging, null); PagerVo<BaseGoodsUnitVo> p = PagerUtil.pageToVo(pagging, null);
List<BaseGoodsUnitVo> records = pagging.getRecords(); List<BaseGoodsUnitVo> records = pagging.getRecords();
return rb.success().setData(p); return rb.success().setData(p);
} public ResultBean<List<BaseGoodsUnit>> listAll(OrgPathQuery query) { } public ResultBean<List<BaseGoodsUnit>> listAll(String useOrgSid) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
String useOrgSid = "";
String orgPath = query.getOrgPath();
if (StringUtils.isNotBlank(orgPath)) {
List<String> split = Arrays.asList(orgPath.split("/"));
if (split.size() > 1) {
//获取本级sid获取本级部门信息
SysOrganizationVo sysOrganization1 = sysOrganizationFeign.fetchBySid(split.get(split.size() - 1)).getData();
useOrgSid = sysOrganization1.getSid();
} else {
SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(split.get(0)).getData();
useOrgSid = sysOrganization.getSid();
}
}
List<BaseGoodsUnit> pagging = baseMapper.selectList(new QueryWrapper<BaseGoodsUnit>().eq("isEnable",1) List<BaseGoodsUnit> pagging = baseMapper.selectList(new QueryWrapper<BaseGoodsUnit>().eq("isEnable",1)
.ne("isDelete","1") .ne("isDelete","1")
.eq("useOrgSid",useOrgSid) .eq("useOrgSid",useOrgSid)

62
yxt-base-biz/src/main/java/com/yxt/base/biz/base/basemanufacturer/BaseManufacturerService.java

@ -21,6 +21,7 @@ import com.yxt.common.core.vo.PagerVo;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
@ -94,63 +95,12 @@ public class BaseManufacturerService extends MybatisBaseService<BaseManufacturer
List<BaseManufacturerVo> records = pagging.getRecords(); List<BaseManufacturerVo> records = pagging.getRecords();
return rb.success().setData(p); return rb.success().setData(p);
} }
public ResultBean<List<BaseManufacturer>> listAll(OrgPathQuery query) { public ResultBean<List<BaseManufacturer>> listAll(String useOrgSid) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
QueryWrapper<BaseManufacturer> qw = new QueryWrapper<>(); List<BaseManufacturer> pagging = baseMapper.selectList(new QueryWrapper<BaseManufacturer>().eq("isEnable",1)
PrivilegeQuery privilegeQuery = new PrivilegeQuery(); .ne("isDelete","1")
privilegeQuery.setOrgPath(query.getOrgPath()); .eq("useOrgSid",useOrgSid)
privilegeQuery.setMenuUrl(query.getMenuUrl()); );
privilegeQuery.setUserSid(query.getUserSid());
ResultBean<String> defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery);
if (StringUtils.isNotBlank(defaultIdReltBean.getData())) {
//数据权限ID(1集团、2事业部、3分公司、4部门、5个人)
String orgSidPath = query.getOrgPath();
orgSidPath = orgSidPath + "/";
int i1 = orgSidPath.indexOf("/");
int i2 = orgSidPath.indexOf("/", i1 + 1);
int i3 = orgSidPath.indexOf("/", i2 + 1);
int i4 = orgSidPath.indexOf("/", i3 + 1);
String orgLevelKey = defaultIdReltBean.getData();
if ("1".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i1);
qw.like("u.orgSidPath", orgSidPath);
} else if ("2".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i2);
qw.like("u.orgSidPath", orgSidPath);
} else if ("3".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i3);
qw.like("u.orgSidPath", orgSidPath);
} else if ("4".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i4);
qw.like("u.orgSidPath", orgSidPath);
} else if ("5".equals(orgLevelKey)) {
qw.eq("p.createBySid", query.getUserSid());
} else {
return rb.success().setData(new ArrayList<>());
}
} else {
return rb.success().setData(new ArrayList<>());
}
qw.eq("p.isEnable",1);
qw.ne("p.isDelete",1);
List<BaseManufacturer> pagging = baseMapper.selListAll(qw);
// String useOrgSid = "";
// String orgPath = query.getOrgPath();
// if (StringUtils.isNotBlank(orgPath)) {
// List<String> split = Arrays.asList(orgPath.split("/"));
// if (split.size() > 1) {
// //获取本级sid获取本级部门信息
// SysOrganizationVo sysOrganization1 = sysOrganizationFeign.fetchBySid(split.get(split.size() - 1)).getData();
// useOrgSid = sysOrganization1.getSid();
// } else {
// SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(split.get(0)).getData();
// useOrgSid = sysOrganization.getSid();
// }
// }
// List<BaseManufacturer> pagging = baseMapper.selectList(new QueryWrapper<BaseManufacturer>().eq("isEnable",1)
// .ne("isDelete","1")
// .eq("useOrgSid",useOrgSid)
// );
return rb.success().setData(pagging); return rb.success().setData(pagging);
} }

3
工作内容需要的文档/单据模板/财务凭证打印模板/还款计划/还款计划3.docx

@ -186,7 +186,7 @@ ${dueDate3!}
首期月还: 首期月还:
${fMoney2!} ${fMoney3!}
期间月还: 期间月还:
${mMoney3!} ${mMoney3!}
末期月还: 末期月还:
@ -206,3 +206,4 @@ ${lMoney3!}
Loading…
Cancel
Save