Browse Source

Merge remote-tracking branch 'origin/master'

master
ligaode 3 months ago
parent
commit
5025f0ab4e
  1. 25
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fintemptimepush/FinTempTimePush.java
  2. 17
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fintemptimepush/FinTempTimePushDto.java
  3. 23
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fintemptimepush/FinTempTimePushFeign.java
  4. 40
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fintemptimepush/FinTempTimePushMapper.java
  5. 13
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fintemptimepush/FinTempTimePushMapper.xml
  6. 48
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fintemptimepush/FinTempTimePushRest.java
  7. 52
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fintemptimepush/FinTempTimePushService.java
  8. 40
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fintemptimepush/TimingPushService.java
  9. 4
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeFeignRest.java
  10. 42
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyService.java
  11. 540
      yxt-as-ui/src/views/storage/adjustment/adjustmentAdd.vue
  12. 198
      yxt-as-ui/src/views/storage/adjustment/adjustmentInfo.vue
  13. 542
      yxt-as-ui/src/views/storage/adjustment/index.vue
  14. 412
      yxt-as-ui/src/views/storage/inventory/inventoryRefer.vue
  15. 684
      yxt-as-ui/src/views/workFlow/adjustmentFlow/adjustmentDaiBan.vue
  16. 475
      yxt-as-ui/src/views/workFlow/adjustmentFlow/adjustmentEdit.vue
  17. 308
      yxt-as-ui/src/views/workFlow/adjustmentFlow/adjustmentYiBan.vue
  18. 20
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairinventorybill/AsBusrepairInventorybillService.java
  19. 4
      yxt-as/src/main/java/com/yxt/anrui/as/feign/wms/wmsInventoryrecord/WmsInventoryRecordDto.java
  20. 2
      yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SmsSalesBillService.java
  21. 5
      yxt-sms-biz/src/main/java/com/yxt/sms/feign/wms/wmsinventoryrecord/WmsInventoryRecordDto.java
  22. 4
      yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsInventoryRecordRest.java
  23. 4
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventoryrecord/WmsInventoryRecord.java
  24. 7
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventoryrecord/WmsInventoryRecordDto.java
  25. 22
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventoryrecord/WmsInventoryRecordService.java
  26. 7
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/WmsShelfBillService.java

25
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fintemptimepush/FinTempTimePush.java

@ -0,0 +1,25 @@
package com.yxt.anrui.fin.api.fintemptimepush;
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;
@ApiModel(value = "金蝶数据推送-临时表", description = "金蝶数据推送-临时表")
@TableName("fin_temp_time_push")
@Data
public class FinTempTimePush extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty("业务sid")
private String busSid;
@ApiModelProperty("业务类型")
private String busType;
}

17
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fintemptimepush/FinTempTimePushDto.java

@ -0,0 +1,17 @@
package com.yxt.anrui.fin.api.fintemptimepush;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class FinTempTimePushDto implements Dto {
private String createBySid;
@ApiModelProperty("业务sid")
private String busSid;
@ApiModelProperty("业务类型")
private String busType;
}

23
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fintemptimepush/FinTempTimePushFeign.java

@ -0,0 +1,23 @@
package com.yxt.anrui.fin.api.fintemptimepush;
import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@Api(tags = "金蝶数据推送-临时表")
@FeignClient(
contextId = "anrui-fin-FinTempTimePush",
name = "anrui-fin",
path = "v1/FinTempTimePush")
public interface FinTempTimePushFeign {
@ApiOperation("新增保存")
@PostMapping("/save")
public ResultBean save(@RequestBody FinTempTimePushDto dto);
}

40
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fintemptimepush/FinTempTimePushMapper.java

@ -0,0 +1,40 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.fin.biz.fintemptimepush;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yxt.anrui.fin.api.fintemptimepush.FinTempTimePush;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface FinTempTimePushMapper extends BaseMapper<FinTempTimePush> {
List<FinTempTimePush> selListByBusType(@Param("busType") String busType);
}

13
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fintemptimepush/FinTempTimePushMapper.xml

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.anrui.fin.biz.fintemptimepush.FinTempTimePushMapper">
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="selListByBusType" resultType="com.yxt.anrui.fin.api.fintemptimepush.FinTempTimePush">
select *
from fin_temp_time_push
where busType = #{busType}
</select>
</mapper>

48
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fintemptimepush/FinTempTimePushRest.java

@ -0,0 +1,48 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.fin.biz.fintemptimepush;
import com.yxt.anrui.fin.api.fintemptimepush.FinTempTimePushDto;
import com.yxt.anrui.fin.api.fintemptimepush.FinTempTimePushFeign;
import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.Api;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@Api(tags = "金蝶数据推送-临时表")
@RestController("com.yxt.anrui.fin.biz.fintemptimepush.FinTempTimePushRest")
@RequestMapping("v1/FinTempTimePush")
public class FinTempTimePushRest implements FinTempTimePushFeign {
@Autowired
private FinTempTimePushService finTempTimePushService;
@Override
public ResultBean save(FinTempTimePushDto dto) {
return finTempTimePushService.saveEntity(dto);
}
}

52
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fintemptimepush/FinTempTimePushService.java

@ -0,0 +1,52 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.fin.biz.fintemptimepush;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.fin.api.fintemptimepush.FinTempTimePush;
import com.yxt.anrui.fin.api.fintemptimepush.FinTempTimePushDto;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.core.result.ResultBean;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class FinTempTimePushService extends MybatisBaseService<FinTempTimePushMapper, FinTempTimePush> {
public ResultBean saveEntity(FinTempTimePushDto dto) {
ResultBean rb = ResultBean.fireFail();
FinTempTimePush finTempTimePush = new FinTempTimePush();
BeanUtil.copyProperties(dto,finTempTimePush);
baseMapper.insert(finTempTimePush);
return rb.success();
}
public List<FinTempTimePush> selListByBusType(String busType) {
return baseMapper.selListByBusType(busType);
}
}

40
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fintemptimepush/TimingPushService.java

@ -0,0 +1,40 @@
package com.yxt.anrui.fin.biz.fintemptimepush;
import com.yxt.anrui.fin.api.fintemptimepush.FinTempTimePush;
import com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply.LoanMonthlyAccrualApplyFeign;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.util.Collections;
import java.util.List;
/**
* @author Administrator
* @description
* @date 2023/11/7 14:02
*/
@Component
public class TimingPushService {
@Autowired
private LoanMonthlyAccrualApplyFeign loanMonthlyAccrualApplyFeign;
@Autowired
private FinTempTimePushService finTempTimePushService;
/**
* 定时推送月还计提凭证
*/
@Scheduled(cron = "0 0 3 2,3,4,5,6,7,8,9,10 * ? ") //每月2-10号 3点推送
public void monthlyAccrualVoucher() {
List<FinTempTimePush> list = finTempTimePushService.selListByBusType("月还计提");
list.removeAll(Collections.singleton(null));
if (!list.isEmpty()) {
for (FinTempTimePush f : list) {
loanMonthlyAccrualApplyFeign.rePushVoucher(f.getBusSid());
finTempTimePushService.deleteBySid(f.getSid());
}
}
}
}

4
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeFeignRest.java

@ -1187,9 +1187,7 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign {
newVoucher.setAccountBook(voucher.getUseOrgCode()); newVoucher.setAccountBook(voucher.getUseOrgCode());
newVoucher.setVoucherNo(voucher.getUseOrgCode()); newVoucher.setVoucherNo(voucher.getUseOrgCode());
} }
Date date = new Date(); String formatDate = voucher.getBussDate();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String formatDate = sdf.format(date);
String[] split = formatDate.split("-"); String[] split = formatDate.split("-");
String month = split[1]; String month = split[1];
int m = Integer.parseInt(month); int m = Integer.parseInt(month);

42
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyService.java

@ -15,6 +15,8 @@ import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFeign;
import com.yxt.anrui.buscenter.api.bussalesorderborrower.BusSalesOrderBorrowerFeign; import com.yxt.anrui.buscenter.api.bussalesorderborrower.BusSalesOrderBorrowerFeign;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle; import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleFeign; import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleFeign;
import com.yxt.anrui.fin.api.fintemptimepush.FinTempTimePushDto;
import com.yxt.anrui.fin.api.fintemptimepush.FinTempTimePushFeign;
import com.yxt.anrui.fin.api.kingdee.FinKingDeeFeign; import com.yxt.anrui.fin.api.kingdee.FinKingDeeFeign;
import com.yxt.anrui.fin.api.kingdee.voucher.GeneralVoucher; import com.yxt.anrui.fin.api.kingdee.voucher.GeneralVoucher;
import com.yxt.anrui.flowable.api.flow.FlowableFeign; import com.yxt.anrui.flowable.api.flow.FlowableFeign;
@ -124,6 +126,8 @@ public class LoanMonthlyAccrualApplyService extends MybatisBaseService<LoanMonth
private MessageListFeign messageListFeign; private MessageListFeign messageListFeign;
@Autowired @Autowired
private LoanRepaymentScheduleService loanRepaymentScheduleService; private LoanRepaymentScheduleService loanRepaymentScheduleService;
@Autowired
private FinTempTimePushFeign finTempTimePushFeign;
public ResultBean<LoanMonthlyAccrualApplyInit> accrualInit(String orgPath) { public ResultBean<LoanMonthlyAccrualApplyInit> accrualInit(String orgPath) {
ResultBean<LoanMonthlyAccrualApplyInit> rb = ResultBean.fireFail(); ResultBean<LoanMonthlyAccrualApplyInit> rb = ResultBean.fireFail();
@ -636,21 +640,27 @@ public class LoanMonthlyAccrualApplyService extends MybatisBaseService<LoanMonth
LoanMonthlyAccrualApply accrualApply = fetchBySid(businessSid); LoanMonthlyAccrualApply accrualApply = fetchBySid(businessSid);
accrualApply.setClosingDate(new DateTime()); accrualApply.setClosingDate(new DateTime());
baseMapper.updateById(accrualApply); baseMapper.updateById(accrualApply);
try { //推送金蝶保存数据临时表
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() FinTempTimePushDto finTempTimePushDto = new FinTempTimePushDto();
.setNameFormat("demo-pool-%d").build(); finTempTimePushDto.setCreateBySid(accrualApply.getCreateBySid());
ExecutorService pool = new org.apache.tomcat.util.threads.ThreadPoolExecutor(1, 10, finTempTimePushDto.setBusSid(businessSid);
1000, TimeUnit.MILLISECONDS, finTempTimePushDto.setBusType("月还计提");
new LinkedBlockingQueue<Runnable>(1024), namedThreadFactory, new org.apache.tomcat.util.threads.ThreadPoolExecutor.AbortPolicy()); finTempTimePushFeign.save(finTempTimePushDto);
//推送月还计提凭证数据 // try {
Future future = pool.submit(() -> { // ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
pushAccrualVoucher(businessSid); // .setNameFormat("demo-pool-%d").build();
}); // ExecutorService pool = new org.apache.tomcat.util.threads.ThreadPoolExecutor(1, 10,
} catch (Exception e) { // 1000, TimeUnit.MILLISECONDS,
e.printStackTrace(); // new LinkedBlockingQueue<Runnable>(1024), namedThreadFactory, new org.apache.tomcat.util.threads.ThreadPoolExecutor.AbortPolicy());
log.error("推送数据失败=========================" + e.getMessage()); // //推送月还计提凭证数据
return rb.setMsg("推送数据失败"); // Future future = pool.submit(() -> {
} // pushAccrualVoucher(businessSid);
// });
// } catch (Exception e) {
// e.printStackTrace();
// log.error("推送数据失败=========================" + e.getMessage());
// return rb.setMsg("推送数据失败");
// }
} }
return rb.success().setData(resultBean.getData()); return rb.success().setData(resultBean.getData());
} else { } else {
@ -659,6 +669,7 @@ public class LoanMonthlyAccrualApplyService extends MybatisBaseService<LoanMonth
} }
private void pushAccrualVoucher(String businessSid) { private void pushAccrualVoucher(String businessSid) {
LoanMonthlyAccrualApply apply = fetchBySid(businessSid);
List<LoanMonthlyAccrualRecord> records = loanMonthlyAccrualRecordService.selByMainSid(businessSid); List<LoanMonthlyAccrualRecord> records = loanMonthlyAccrualRecordService.selByMainSid(businessSid);
if (!records.isEmpty()) { if (!records.isEmpty()) {
int index = 1000; int index = 1000;
@ -669,6 +680,7 @@ public class LoanMonthlyAccrualApplyService extends MybatisBaseService<LoanMonth
List<LoanMonthlyAccrualRecord> newList = records.subList(i, i + index); List<LoanMonthlyAccrualRecord> newList = records.subList(i, i + index);
if (!newList.isEmpty()) { if (!newList.isEmpty()) {
GeneralVoucher generalVoucher = new GeneralVoucher(); GeneralVoucher generalVoucher = new GeneralVoucher();
generalVoucher.setBussDate(DateUtil.formatDate(apply.getClosingDate()));
List<GeneralVoucher.GeneralVoucherDetail> voucherDetails = new ArrayList<>(); List<GeneralVoucher.GeneralVoucherDetail> voucherDetails = new ArrayList<>();
for (LoanMonthlyAccrualRecord v : newList) { for (LoanMonthlyAccrualRecord v : newList) {
LoanRepaymentPlanDetails planDetails = loanRepaymentPlanDetailsService.fetchDetails(v.getRecordSid()).getData(); LoanRepaymentPlanDetails planDetails = loanRepaymentPlanDetailsService.fetchDetails(v.getRecordSid()).getData();

540
yxt-as-ui/src/views/storage/adjustment/adjustmentAdd.vue

@ -3,7 +3,7 @@
<div v-show="viewState == 1"> <div v-show="viewState == 1">
<div class="tab-header webtop"> <div class="tab-header webtop">
<!-- 标题 --> <!-- 标题 -->
<div>{{title}}定调价策略申请</div> <div>{{ title }}定调价策略申请</div>
<!-- start 添加修改按钮 --> <!-- start 添加修改按钮 -->
<div> <div>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="saveOrUpdate">保存</el-button> <el-button type="primary" size="small" :disabled="submitdisabled" @click="saveOrUpdate">保存</el-button>
@ -13,15 +13,9 @@
<!-- end 添加修改按钮 --> <!-- end 添加修改按钮 -->
<!-- end 详情按钮 --> <!-- end 详情按钮 -->
</div> </div>
<div class="listconadd"> <div class="listconadd">
<el-form ref="form_obj" :model="formobj" class="formaddcopy02"> <el-form ref="form_obj" :model="formobj" class="formaddcopy02">
<!-- <div class="title">
<div>基础信息</div>
</div> -->
<el-row class="first_row"> <el-row class="first_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.createByName }}</span></el-form-item> <el-form-item><span class="addinputInfo">{{ formobj.createByName }}</span></el-form-item>
@ -35,351 +29,287 @@
<el-form-item><span class="addinputInfo">{{ formobj.createTime }}</span></el-form-item> <el-form-item><span class="addinputInfo">{{ formobj.createTime }}</span></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-input v-model="formobj.remarks" placeholder="" class="addinputw addinputInfo" <el-form-item>
type="textarea" :rows="4" clearable /></el-form-item> <el-input v-model="formobj.remarks" placeholder="" class="addinputw addinputInfo" type="textarea" :rows="4" clearable/>
</el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<div class="title titleOne"> <div class="title titleOne">
<div>商品类别列表</div> <div>商品类别列表</div>
<el-button type="primary" size="mini" class="btntopblueline" @click="categoryAdd()">添加</el-button> <el-button type="primary" size="mini" class="btntopblueline" @click="categoryAdd()">添加</el-button>
</div> </div>
<el-table v-loading="listLoading" :data="formobj.smsPricestrategyBillDetailList" border style="width: 100%;"> <el-table v-loading="listLoading" :data="formobj.smsPricestrategyBillDetailList" border style="width: 100%;">
<!-- <el-table-column fixed width="50" type="selection" align="center" /> --> <el-table-column fixed width="80" label="序号" type="index" :index="indexMethod" align="center"/>
<el-table-column fixed width="80" label="序号" type="index" :index="indexMethod" align="center" />
<el-table-column fixed label="操作" wid align="center" width="200"> <el-table-column fixed label="操作" wid align="center" width="200">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="primary" size="mini" @click="deleteGoodsType(scope.row)">删除</el-button> <el-button type="primary" size="mini" @click="deleteGoodsType(scope.$index)">删除</el-button>
<el-button type="primary" size="mini" @click="editPriceStrategy(scope.row)">编辑</el-button> <el-button type="primary" size="mini" @click="editPriceStrategy(scope.row)">编辑</el-button>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="类别编码" prop="goodsTypeCode" align="center" /> <el-table-column label="类别编码" prop="goodsTypeCode" align="center"/>
<el-table-column label="类别名称" prop="goodsTypeName" align="center" /> <el-table-column label="类别名称" prop="goodsTypeName" align="center"/>
<el-table-column label="价格策略" align="center"> <el-table-column label="价格策略" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
{{calculation(scope.row)}} {{ calculation(scope.row) }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="策略明细" align="center" width="600"> <el-table-column label="策略明细" align="center" width="600">
<template slot-scope="scope"> <template slot-scope="scope">
{{calculation2(scope.row)}} {{ calculation2(scope.row) }}
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
</el-form> </el-form>
</div> </div>
</div> </div>
<!-- 选择商品类别 --> <!-- 选择商品类别 -->
<choosecategory v-show="viewState == 2" ref="choosecategory" @backData="backData" @doback="resetState" /> <choosecategory v-show="viewState == 2" ref="choosecategory" @backData="backData" @doback="resetState"/>
<!-- 编辑价格策略 --> <!-- 编辑价格策略 -->
<editPriceStrategy v-show="viewState == 3" ref="editPriceStrategy" @backData2="backData2" @doback="resetState" /> <editPriceStrategy v-show="viewState == 3" ref="editPriceStrategy" @backData2="backData2" @doback="resetState"/>
</div> </div>
</template> </template>
<script> <script>
import req from '@/api/storage/adjustment.js' import req from '@/api/storage/adjustment.js'
import { import {
getCurrentDate getCurrentDate
} from '@/utils/index.js' } from '@/utils/index.js'
import choosecategory from './relation/choosecategory' import choosecategory from './relation/choosecategory'
import editPriceStrategy from './relation/editPriceStrategy' import editPriceStrategy from './relation/editPriceStrategy'
import { import {
getOrgSidByPath getOrgSidByPath
} from '@/api/Common/dictcommons' } from '@/api/Common/dictcommons'
export default {
components: { export default {
choosecategory, components: {
editPriceStrategy choosecategory,
editPriceStrategy
},
data() {
return {
title: '【新增】',
viewState: 1,
listLoading: false,
submitdisabled: false,
formobj: {
sid: '',
createByName: window.sessionStorage.getItem('name'),
billNo: '',
deptName: window.sessionStorage.getItem('defaultOrgPathName').substring(window
.sessionStorage.getItem('defaultOrgPathName').lastIndexOf('/') + 1),
deptSid: window.sessionStorage.getItem('defaultOrgPath').substring(window.sessionStorage
.getItem('defaultOrgPath').lastIndexOf('/') + 1),
remarks: '',
createBySid: window.sessionStorage.getItem('userSid'),
createTime: getCurrentDate(),
procDefId: '',
nodeId: '',
procInstId: '',
nodeState: '',
taskId: '',
finishTime: '',
useOrgSid: '',
useOrgName: '',
smsPricestrategyBillDetailList: []
}
}
},
methods: {
calculation(row) {
var info = ''
if (row.strategyType == 1) {
info = '固定比例'
}
if (row.strategyType == 2) {
info = '价格区间'
}
return info
}, },
data() { calculation2(row) {
return { var info = ''
title: "【新增】", if (row.strategyType == 2) {
viewState: 1, for (var i = 0; i < row.smsPricestrategyBillGoodstypedetailList.length; i++) {
listLoading: false, info += row.smsPricestrategyBillGoodstypedetailList[i].rangeStart + '-' + row
submitdisabled: false, .smsPricestrategyBillGoodstypedetailList[i].rangeEnd + ' ' + row
formobj: { .smsPricestrategyBillGoodstypedetailList[i]
"sid": "", .markupRate + '%;'
"createByName": window.sessionStorage.getItem('name'), }
"billNo": "", } else {
"deptName": window.sessionStorage.getItem('defaultOrgPathName').substring(window info = row.gdMarkupRate + '%'
.sessionStorage.getItem('defaultOrgPathName').lastIndexOf('/') + 1),
"deptSid": window.sessionStorage.getItem('defaultOrgPath').substring(window.sessionStorage
.getItem('defaultOrgPath').lastIndexOf('/') + 1),
"remarks": "",
"createBySid": window.sessionStorage.getItem('userSid'),
"createTime": getCurrentDate(),
"procDefId": "",
"nodeId": "",
"procInstId": "",
"nodeState": "",
"taskId": "",
"finishTime": "",
"useOrgSid": "",
"useOrgName": "",
"smsPricestrategyBillDetailList": []
},
} }
return info
}, },
created() { deleteGoodsType(index) {
this.formobj.smsPricestrategyBillDetailList.splice(index, 1)
}, },
methods: { editPriceStrategy(row) {
this.viewState = 3
calculation(row) { const aa = []
console.log("calculation》》》》", row) this.$refs['editPriceStrategy'].showAdd(aa, row)
var info = '' },
backData(value) {
if (row.strategyType == 1) { this.viewState = 1
info = '固定比例' for (var i = 0; i < value.length; i++) {
} this.formobj.smsPricestrategyBillDetailList.push(
if (row.strategyType == 2) { {
info = '价格区间' goodsTypeSid: value[i].sid,
} goodsTypeCode: value[i].goodsTypeCode,
goodsTypeName: value[i].goodsTypeName,
return info strategyType: '',
}, strategyTypeValue: '',
calculation2(row) { gdMarkupRate: '',
var info = '' strategyDetail: '',
smsPricestrategyBillGoodstypedetailList: []
if (row.strategyType == 2) {
for (var i = 0; i < row.smsPricestrategyBillGoodstypedetailList.length; i++) {
info += row.smsPricestrategyBillGoodstypedetailList[i].rangeStart + "——" + row
.smsPricestrategyBillGoodstypedetailList[i].rangeEnd + " " + row
.smsPricestrategyBillGoodstypedetailList[i]
.markupRate + ";"
}
} else {
info = row.gdMarkupRate
}
return info
},
deleteGoodsType(row) {
const index = this.formobj.smsPricestrategyBillDetailList.findIndex((item) => item === row)
console.log("index》》》》", index)
this.formobj.smsPricestrategyBillDetailList.splice(index, 1)
},
editPriceStrategy(row) {
this.viewState = 3
const aa = []
this.$refs['editPriceStrategy'].showAdd(aa, row)
},
backData(value) {
this.viewState = 1
console.log('>>>>>>>>>backData', value)
for (var i = 0; i < value.length; i++) {
this.formobj.smsPricestrategyBillDetailList.push(
{
goodsTypeSid: value[i].sid,
goodsTypeCode: value[i].goodsTypeCode,
goodsTypeName: value[i].goodsTypeName,
strategyType: '',
strategyTypeValue: '',
gdMarkupRate: "",
strategyDetail: '',
smsPricestrategyBillGoodstypedetailList: []
}
)
}
},
backData2(value) {
this.viewState = 1
console.log('>>>>>>>>>backData2', value)
var info = ''
if (value.strategyType == 2) {
for (var i = 0; i < value.smsPricestrategyBillGoodstypedetailList.length; i++) {
info += value.smsPricestrategyBillGoodstypedetailList[i].rangeStart + "——" + value
.smsPricestrategyBillGoodstypedetailList[i].rangeEnd + " " + value
.smsPricestrategyBillGoodstypedetailList[i]
.markupRate + ";"
} }
)
}
},
backData2(value) {
this.viewState = 1
var info = ''
if (value.strategyType == 2) {
for (var i = 0; i < value.smsPricestrategyBillGoodstypedetailList.length; i++) {
info += value.smsPricestrategyBillGoodstypedetailList[i].rangeStart + '-' + value
.smsPricestrategyBillGoodstypedetailList[i].rangeEnd + ' ' + value
.smsPricestrategyBillGoodstypedetailList[i]
.markupRate + '%;'
} }
}
const choose = this.formobj.smsPricestrategyBillDetailList.filter((item) => item.goodsTypeSid == value.goodsTypeSid)
console.log('>>>>>>>>>backData2', info) choose[0].smsPricestrategyBillGoodstypedetailList = value.smsPricestrategyBillGoodstypedetailList
choose[0].strategyType = value.strategyType
const choose = this.formobj.smsPricestrategyBillDetailList.filter((item) => item.goodsTypeSid == value if (value.strategyType == 1) {
.goodsTypeSid) choose[0].strategyTypeValue = '固定比例'
console.log('>>>>>>>>>busTypeSelect', choose) choose[0].strategyDetail = value.gdMarkupRate
}
// choose[0].strategyDetail = value.strategyType == 0 ? value.gdMarkupRate : info if (value.strategyType == 2) {
choose[0].smsPricestrategyBillGoodstypedetailList = value.smsPricestrategyBillGoodstypedetailList choose[0].strategyTypeValue = '价格区间'
choose[0].strategyType = value.strategyType choose[0].strategyDetail = info
// choose[0].strategyTypeValue = value.strategyType == 0 ? '' : '' }
},
resetState() {
if (value.strategyType == 1) { this.viewState = 1
choose[0].strategyTypeValue = '固定比例' },
choose[0].strategyDetail = value.gdMarkupRate categoryAdd() {
} this.viewState = 2
if (value.strategyType == 2) { const aa = []
choose[0].strategyTypeValue = '价格区间' this.$refs['choosecategory'].showData(aa, this.formobj.createOrgSid)
choose[0].strategyDetail = info },
} indexMethod(index) {
return index + 1
console.log('>>>>>>>>>backData2', choose) },
saveOrUpdate() {
}, this.$refs['form_obj'].validate((valid) => {
resetState() { if (valid) {
this.viewState = 1 this.submitdisabled = true
}, req.save(this.formobj).then((res) => {
if (res.success) {
categoryAdd() { this.$message({
this.viewState = 2 showClose: true,
const aa = [] type: 'success',
this.$refs['choosecategory'].showData(aa, this.formobj.createOrgSid) message: '保存成功'
}, })
indexMethod(index) { this.handleReturn('true')
return index + 1 } else {
},
saveOrUpdate() {
console.log('>>>>>>>>>saveOrUpdate', this.formobj)
this.$refs['form_obj'].validate((valid) => {
if (valid) {
this.submitdisabled = true
req.save(this.formobj).then((res) => {
if (res.success) {
this.$message({
showClose: true,
type: 'success',
message: '保存成功'
})
this.handleReturn('true')
} else {
this.submitdisabled = false
}
}).catch(() => {
this.submitdisabled = false this.submitdisabled = false
}) }
} }).catch(() => {
}) this.submitdisabled = false
},
submintdate() {
console.log('>>>>>>>>>saveOrUpdate', this.formobj)
if (this.formobj.smsPricestrategyBillDetailList.length == 0) {
this.$message({
showClose: true,
type: 'warning',
message: '请添加商品类别'
}) })
return
} }
})
},
this.$refs['form_obj'].validate((valid) => { submintdate() {
if (valid) { if (this.formobj.smsPricestrategyBillDetailList.length == 0) {
this.submitdisabled = true this.$message({
req.submit(this.formobj).then((res) => { showClose: true,
if (res.success) { type: 'warning',
this.$message({ message: '请添加商品类别'
showClose: true,
type: 'success',
message: '保存成功'
})
this.handleReturn('true')
} else {
this.submitdisabled = false
}
}).catch(() => {
this.submitdisabled = false
})
}
})
},
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
this.submitdisabled = false
this.formobj = {
}
this.$emit('doback')
},
showAdd() {
this.title = '【新增】'
getOrgSidByPath({
orgPath: window.sessionStorage.getItem('defaultOrgPath')
}).then((res) => {
if (res.success) {
this.formobj.createOrgSid = res.data
this.formobj.useOrgSid = res.data
}
}) })
}, return
showEdit(row) { }
this.$refs['form_obj'].validate((valid) => {
this.title = '【编辑】' if (valid) {
this.submitdisabled = true
req.init(row.sid) req.submit(this.formobj).then((res) => {
.then(resp => { if (res.success) {
if (resp.success) { this.$message({
this.formobj = resp.data showClose: true,
type: 'success',
message: '保存成功'
})
this.handleReturn('true')
} else {
this.submitdisabled = false
} }
}).catch(() => {
this.submitdisabled = false
}) })
.catch(e => { }
this.formobj = {} })
}) },
} handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
this.submitdisabled = false
this.formobj = {}
this.$emit('doback')
},
showAdd() {
this.title = '【新增】'
getOrgSidByPath({ orgPath: window.sessionStorage.getItem('defaultOrgPath') }).then((res) => {
if (res.success) {
this.formobj.createOrgSid = res.data
this.formobj.useOrgSid = res.data
}
})
},
showEdit(row) {
this.title = '【编辑】'
req.init(row.sid).then(resp => {
if (resp.success) {
this.formobj = resp.data
}
}).catch(e => {
this.formobj = {}
})
} }
} }
}
</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;
} }
</style> </style>

198
yxt-as-ui/src/views/storage/adjustment/adjustmentInfo.vue

@ -1,6 +1,5 @@
<template> <template>
<div> <div>
<div class="tab-header webtop"> <div class="tab-header webtop">
<!-- 标题 --> <!-- 标题 -->
<div>定调价策略申请</div> <div>定调价策略申请</div>
@ -11,15 +10,9 @@
<!-- end 添加修改按钮 --> <!-- end 添加修改按钮 -->
<!-- end 详情按钮 --> <!-- end 详情按钮 -->
</div> </div>
<div class="listconadd"> <div class="listconadd">
<el-form ref="form_obj" :model="formobj" class="formaddcopy02"> <el-form ref="form_obj" :model="formobj" class="formaddcopy02">
<!-- <div class="title">
<div>基础信息</div>
</div> -->
<el-row class="first_row"> <el-row class="first_row">
<el-col :span="8"> <el-col :span="8">
<div class="span-sty">申请人</div> <div class="span-sty">申请人</div>
<el-form-item><span class="addinputw addinputInfo">{{ formobj.createByName }}</span></el-form-item> <el-form-item><span class="addinputw addinputInfo">{{ formobj.createByName }}</span></el-form-item>
@ -33,151 +26,114 @@
<el-form-item><span class="addinputw addinputInfo">{{ formobj.createTime }}</span></el-form-item> <el-form-item><span class="addinputw addinputInfo">{{ formobj.createTime }}</span></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><span class="addinputw addinputInfo">{{ formobj.remarks }}</span></el-form-item> <el-form-item><span class="addinputw addinputInfo">{{ formobj.remarks }}</span></el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<div class="title">
<div class="title titleOne">
<div>商品类别列表</div> <div>商品类别列表</div>
<!-- <el-button type="primary" size="mini" class="btntopblueline" @click="batchAddAll()">添加</el-button> -->
</div> </div>
<el-table v-loading="listLoading" :data="formobj.smsPricestrategyBillDetailList" border style="width: 100%;"> <el-table v-loading="listLoading" :data="formobj.smsPricestrategyBillDetailList" border style="width: 100%;">
<!-- <el-table-column fixed width="50" type="selection" align="center" /> --> <el-table-column fixed width="80" label="序号" type="index" :index="indexMethod" align="center"/>
<el-table-column fixed width="80" label="序号" type="index" :index="indexMethod" align="center" /> <el-table-column label="类别编码" prop="goodsTypeCode" align="center"/>
<el-table-column label="类别编码" prop="goodsTypeCode" align="center" /> <el-table-column label="类别名称" prop="goodsTypeName" align="center"/>
<el-table-column label="类别名称" prop="goodsTypeName" align="center" />
<el-table-column label="价格策略" align="center"> <el-table-column label="价格策略" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
{{calculation(scope.row)}} {{ calculation(scope.row) }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="策略明细" align="center" width="600"> <el-table-column label="策略明细" align="center" width="600">
<template slot-scope="scope"> <template slot-scope="scope">
{{calculation2(scope.row)}} {{ calculation2(scope.row) }}
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
</el-form> </el-form>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import req from '@/api/storage/adjustment.js' import req from '@/api/storage/adjustment.js'
export default {
components: {}, export default {
data() { components: {},
return { data() {
listLoading: false, return {
submitdisabled: false, listLoading: false,
formobj: { submitdisabled: false,
formobj: {}
}, }
},
methods: {
calculation(row) {
var info = ''
if (row.strategyType == 1) {
info = '固定比例'
}
if (row.strategyType == 2) {
info = '价格区间'
} }
return info
}, },
created() {}, calculation2(row) {
methods: { var info = ''
if (row.smsPricestrategyBillGoodstypedetailList != null && row.smsPricestrategyBillGoodstypedetailList.length >
calculation(row) { 0) {
var info = '' for (var i = 0; i < row.smsPricestrategyBillGoodstypedetailList.length; i++) {
if (row.strategyType == 1) {
info = '固定比例' info += row.smsPricestrategyBillGoodstypedetailList[i].rangeStart + '-' + row
} .smsPricestrategyBillGoodstypedetailList[i].rangeEnd + ' ' + row
if (row.strategyType == 2) { .smsPricestrategyBillGoodstypedetailList[i]
info = '价格区间' .markupRate + '%;'
}
return info
},
calculation2(row) {
var info = ''
if (row.smsPricestrategyBillGoodstypedetailList != null && row.smsPricestrategyBillGoodstypedetailList.length >
0) {
for (var i = 0; i < row.smsPricestrategyBillGoodstypedetailList.length; i++) {
info += row.smsPricestrategyBillGoodstypedetailList[i].rangeStart + "——" + row
.smsPricestrategyBillGoodstypedetailList[i].rangeEnd + " " + row
.smsPricestrategyBillGoodstypedetailList[i]
.markupRate + ";"
}
}else{
info = row.gdMarkupRate
} }
} else {
info = row.gdMarkupRate + '%'
}
return info
},
indexMethod(index) {
return index + 1
},
handleReturn() {
return info this.submitdisabled = false
}, this.formobj = {}
indexMethod(index) { this.$emit('doback')
return index + 1 },
}, showInfo(row) {
req.init(row.sid).then(resp => {
handleReturn(isreload) { if (resp.success) {
if (isreload === 'true') this.$emit('reloadlist') this.formobj = resp.data
this.submitdisabled = false
this.formobj = {
} }
this.$emit('doback') }).catch(e => {
}, this.formobj = {}
})
showAdd() {
},
showInfo(row) {
req.init(row.sid)
.then(resp => {
if (resp.success) {
this.formobj = resp.data
}
})
.catch(e => {
this.formobj = {}
})
}
} }
} }
}
</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 { .span-sty {
color: #f00; width: 130px !important;
} }
.span-sty { .addinputInfo {
width: 130px !important; margin-left: 120px !important;
} }
.addinputInfo { .formaddcopy02 .el-row .el-col /deep/ .el-form-item .addinputw {
margin-left: 120px !important; margin-left: 120px !important;
} width: calc(100% - 115px);
}
.formaddcopy02 .el-row .el-col /deep/ .el-form-item .addinputw {
margin-left: 120px !important; .first_row {
width: calc(100% - 115px); border-top: 1px solid #E0E3EB;
} }
.first_row {
border-top: 1px solid #E0E3EB;
}
.titleOne {
padding: 7px;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
}
</style> </style>

542
yxt-as-ui/src/views/storage/adjustment/index.vue

@ -2,7 +2,7 @@
<div class="app-container"> <div class="app-container">
<!--列表页面--> <!--列表页面-->
<div v-show="viewState == 1"> <div v-show="viewState == 1">
<button-bar view-title="定调价策略申请管理" ref="btnbar" :btndisabled="btndisabled" @btnhandle="btnHandle" /> <button-bar view-title="定调价策略申请管理" ref="btnbar" :btndisabled="btndisabled" @btnhandle="btnHandle"/>
<!--Start查询列表部分--> <!--Start查询列表部分-->
<div class="main-content"> <div class="main-content">
<div class="searchcon"> <div class="searchcon">
@ -10,30 +10,26 @@
<div v-show="isSearchShow" class="search"> <div v-show="isSearchShow" class="search">
<el-form ref="listQueryform" :inline="true" :model="listQuery" label-width="110px" class="tab-header"> <el-form ref="listQueryform" :inline="true" :model="listQuery" label-width="110px" class="tab-header">
<el-form-item label="分公司"> <el-form-item label="分公司">
<el-input v-model="listQuery.params.createOrgName" placeholder="" clearable /> <el-input v-model="listQuery.params.useOrgName" placeholder="" clearable/>
</el-form-item> </el-form-item>
<el-form-item label="申请部门"> <el-form-item label="申请部门">
<el-input v-model="listQuery.params.deptName" placeholder="" clearable /> <el-input v-model="listQuery.params.deptName" placeholder="" clearable/>
</el-form-item> </el-form-item>
<el-form-item label="申请人"> <el-form-item label="申请人">
<el-input v-model="listQuery.params.createByName" placeholder="" clearable /> <el-input v-model="listQuery.params.createByName" placeholder="" clearable/>
</el-form-item> </el-form-item>
<el-form-item label="单据编号"> <el-form-item label="单据编号">
<el-input v-model="listQuery.params.billNo" placeholder="" clearable /> <el-input v-model="listQuery.params.billNo" placeholder="" clearable/>
</el-form-item> </el-form-item>
<el-form-item label="申请日期"> <el-form-item label="申请日期">
<el-date-picker v-model="listQuery.params.createStartTime" value-format="yyyy-MM-dd" format="yyyy-MM-dd" <el-date-picker v-model="listQuery.params.createStartTime" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date" placeholder="选择日期"></el-date-picker>
type="date" placeholder="选择日期"></el-date-picker>
<span style="padding: 0 8px"></span> <span style="padding: 0 8px"></span>
<el-date-picker v-model="listQuery.params.createEndTime" value-format="yyyy-MM-dd" format="yyyy-MM-dd" <el-date-picker v-model="listQuery.params.createEndTime" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date" placeholder="选择日期"></el-date-picker>
type="date" placeholder="选择日期"></el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="办结日期"> <el-form-item label="办结日期">
<el-date-picker v-model="listQuery.params.finishStartTime" value-format="yyyy-MM-dd" format="yyyy-MM-dd" <el-date-picker v-model="listQuery.params.finishStartTime" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date" placeholder="选择日期"></el-date-picker>
type="date" placeholder="选择日期"></el-date-picker>
<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" <el-date-picker v-model="listQuery.params.finishEndTime" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date" placeholder="选择日期"></el-date-picker>
type="date" placeholder="选择日期"></el-date-picker>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div class="btn" style="text-align: center;"> <div class="btn" style="text-align: center;">
@ -49,14 +45,12 @@
</div> </div>
<!--Start 主页面主要部分 --> <!--Start 主页面主要部分 -->
<div class=""> <div class="">
<el-table :key="tableKey" v-loading="listLoading" :data="list" :border="true" style="width: 100%;" <el-table :key="tableKey" v-loading="listLoading" :data="list" :border="true" style="width: 100%;" @selection-change="handleSelectionChange">
@selection-change="handleSelectionChange"> <el-table-column type="selection" align="center" width="50"/>
<el-table-column type="selection" align="center" width="50" /> <el-table-column label="序号" type="index" width="80" :index="indexMethod" align="center"/>
<el-table-column label="序号" type="index" width="80" :index="indexMethod" align="center" />
<el-table-column label="操作" width="180" align="center"> <el-table-column label="操作" width="180" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="primary" size="mini" @click="toEdit(scope.row)" <el-button type="primary" size="mini" @click="toEdit(scope.row)" :disabled="scope.row.nodeState =='发起申请' ? false : scope.row.nodeState == '待提交' ? false : true">办理</el-button>
:disabled="scope.row.nodeState =='发起申请' ? false : scope.row.nodeState == '待提交' ? false : true">办理</el-button>
<el-button type="primary" size="mini" @click="toInfo(scope.row)">查看</el-button> <el-button type="primary" size="mini" @click="toInfo(scope.row)">查看</el-button>
</template> </template>
</el-table-column> </el-table-column>
@ -66,7 +60,6 @@
<span v-else @click="flowRecord(scope.row)" class="bluezi">{{ scope.row.nodeState }}</span> <span v-else @click="flowRecord(scope.row)" class="bluezi">{{ scope.row.nodeState }}</span>
</template> </template>
</el-table-column> </el-table-column>
<!-- <el-table-column prop="nodeState" label="流程状态" align="center" /> -->
<el-table-column prop="billNo" label="单据编号" align="center" /> <el-table-column prop="billNo" label="单据编号" align="center" />
<el-table-column prop="useOrgName" label="分公司" align="center" /> <el-table-column prop="useOrgName" label="分公司" align="center" />
<el-table-column prop="deptName" label="申请部门" align="center" /> <el-table-column prop="deptName" label="申请部门" align="center" />
@ -76,289 +69,288 @@
</div> </div>
<!--End 主页面主要部分--> <!--End 主页面主要部分-->
<div class="pages"> <div class="pages">
<div class="tit" /> <div class="tit"/>
<!-- 翻页 --> <!-- 翻页 -->
<pagination v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" <pagination v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
:limit.sync="listQuery.size" class="pagination" @pagination="getList" />
</div> </div>
<!--End查询列表部分--> <!--End查询列表部分-->
</div> </div>
</div> </div>
<!--新增及修改 --> <!--新增及修改 -->
<adjustmentAdd v-show="viewState == 2 || viewState == 3" ref="divAdd" @doback="resetState" @reloadlist="getList" /> <adjustmentAdd v-show="viewState == 2 || viewState == 3" ref="divAdd" @doback="resetState" @reloadlist="getList"/>
<!-- 详情 --> <!-- 详情 -->
<adjustmentInfo v-show="viewState == 4" ref="divInfo" @doback="resetState" /> <adjustmentInfo v-show="viewState == 4" ref="divInfo" @doback="resetState"/>
<!-- 流程审批记录 --> <!-- 流程审批记录 -->
<el-dialog title="" :visible.sync="centerDialogVisible" width="78%" height="1%" :before-close="closeIt" center> <el-dialog title="" :visible.sync="centerDialogVisible" width="78%" height="1%" :before-close="closeIt" center>
<iframe frameborder="0" id="iframe" style="width:100%;" scrolling="no" <iframe frameborder="0" id="iframe" style="width:100%;" scrolling="no" :src="this.centerDialogVisible === true ? url :''"></iframe>
:src="this.centerDialogVisible === true ? url :''"></iframe>
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
<script> <script>
import Pagination from '@/components/pagination' import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye' import ButtonBar from '@/components/ButtonBar'
import ButtonBar from '@/components/ButtonBar' import req from '@/api/storage/adjustment.js'
import req from '@/api/storage/adjustment.js' import { typeValues } from '@/api/Common/dictcommons'
import { import { getStorage } from '@/utils/auth'
typeValues import adjustmentAdd from './adjustmentAdd'
} from '@/api/Common/dictcommons' import adjustmentInfo from './adjustmentInfo'
import {
getStorage
} from '@/utils/auth'
import adjustmentAdd from './adjustmentAdd'
import adjustmentInfo from './adjustmentInfo'
export default { export default {
name: 'Procurement', name: 'Procurement',
components: { components: {
Pagination, Pagination,
pageye, ButtonBar,
ButtonBar, adjustmentAdd,
adjustmentAdd, adjustmentInfo
adjustmentInfo },
}, data() {
data() { return {
return { url: '',
url: '', dialogHeight: '80%',
dialogHeight: '80%', centerDialogVisible: false,
centerDialogVisible: false, btndisabled: false,
btndisabled: false, btnList: [{
btnList: [{ type: 'primary',
type: 'primary', size: 'small',
size: 'small', icon: 'plus',
icon: 'plus', btnKey: 'toAdd',
btnKey: 'toAdd', btnLabel: '新增'
btnLabel: '新增' },
}, {
{ type: 'danger',
type: 'danger', size: 'small',
size: 'small', icon: 'del',
icon: 'del', btnKey: 'doDel',
btnKey: 'doDel', btnLabel: '删除'
btnLabel: '删除' },
}, {
{ type: 'info',
type: 'info', size: 'small',
size: 'small', icon: 'cross',
icon: 'cross', btnKey: 'doClose',
btnKey: 'doClose', btnLabel: '关闭'
btnLabel: '关闭' }
} ],
], isSearchShow: false,
isSearchShow: false, searchxianshitit: '显示查询条件',
searchxianshitit: '显示查询条件', viewState: 1, // 1 2 3 4
viewState: 1, // 1 2 3 4 tableKey: 0,
tableKey: 0, list: [],
list: [], sids: [], // SIDs
sids: [], // SIDs billType_list: [],
billType_list: [], FormLoading: false,
FormLoading: false, listLoading: false,
listLoading: false, //
// listQuery: {
listQuery: { current: 1,
current: 1, size: 5,
size: 5, total: 0,
total: 0, params: {
params: { useOrgName: '',
createOrgName: '', deptName: '',
deptName: '', createByName: '',
createByName: '', billNo: '',
billNo: '', createStartTime: '',
createStartTime: '', createEndTime: '',
createEndTime: '', finishStartTime: '',
finishStartTime: '', finishEndTime: '',
finishEndTime: '', userSid: '',
} orgPath: '',
menuUrl: ''
} }
} }
}
},
created() {
//
this.getList()
},
mounted() {
// vuewindowpostMessagehandleMessage
window.addEventListener('message', this.handleMessage)
this.$refs['btnbar'].setButtonList(this.btnList)
},
methods: {
init() {
typeValues({
type: 'billType'
}).then((res) => {
if (res.success) {
this.billType_list = res.data
}
})
}, },
created() { async handleMessage(event) {
// var code = ''
this.getList() if (event.data.params !== null && event.data.params !== undefined) {
code = event.data.params.code
}
if (code === 1) {
this.centerDialogVisible = false
} else if (code === 2) {
this.dialogHeight = event.data.params.data
this.setIframeHeight(document.getElementById('iframe'))
}
}, },
mounted() { closeIt() {
// vuewindowpostMessagehandleMessage this.url = ''
window.addEventListener('message', this.handleMessage) this.centerDialogVisible = false
this.$refs['btnbar'].setButtonList(this.btnList)
}, },
methods: { setIframeHeight(iframe) {
init() { iframe.height = this.dialogHeight
typeValues({ },
type: 'billType' flowRecord(row) {
}).then((res) => { this.centerDialogVisible = true
if (res.success) { var params = {
this.billType_list = res.data deployId: row.procDefId,
} procInsId: row.procInstId,
}) token: getStorage()
}, }
async handleMessage(event) { this.url = '/#/flow/flowRecordForBusiness?data=' + encodeURI((JSON.stringify(params)))
var code = '' },
if (event.data.params !== null && event.data.params !== undefined) { //
code = event.data.params.code clicksearchShow() {
} this.isSearchShow = !this.isSearchShow
if (code === 1) { if (this.isSearchShow) {
this.centerDialogVisible = false this.searchxianshitit = '隐藏查询条件'
} else if (code === 2) { } else {
this.dialogHeight = event.data.params.data this.searchxianshitit = '显示查询条件'
this.setIframeHeight(document.getElementById('iframe')) }
} },
}, btnHandle(btnKey) {
closeIt() { console.log('XXXXXXXXXXXXXXX ' + btnKey)
this.url = '' switch (btnKey) {
this.centerDialogVisible = false case 'toAdd':
}, this.toAdd()
setIframeHeight(iframe) { break
iframe.height = this.dialogHeight case 'doDel':
}, this.doDel()
flowRecord(row) { break
this.centerDialogVisible = true case 'doClose':
var params = { this.doClose()
deployId: row.procDefId, break
procInsId: row.procInstId, default:
token: getStorage() break
} }
this.url = '/#/flow/flowRecordForBusiness?data=' + encodeURI((JSON.stringify(params))) },
}, // sid
// handleSelectionChange(row) {
clicksearchShow() { const aa = []
this.isSearchShow = !this.isSearchShow row.forEach(element => {
if (this.isSearchShow) { aa.push(element.sid)
this.searchxianshitit = '隐藏查询条件' })
this.sids = aa
},
//
indexMethod(index) {
var pagestart = (this.listQuery.current - 1) * this.listQuery.size
var pageindex = index + 1 + pagestart
return pageindex
},
//
getList() {
this.listLoading = true
this.listQuery.params.userSid = window.sessionStorage.getItem('userSid')
this.listQuery.params.orgPath = window.sessionStorage.getItem('defaultOrgPath')
this.listQuery.params.menuUrl = this.$route.path
req.listPage(this.listQuery).then((response) => {
this.listLoading = false
if (response.success) {
this.list = response.data.records
this.listQuery.total = response.data.total
} else { } else {
this.searchxianshitit = '显示查询条件' this.list = []
this.listQuery.total = 0
} }
}, })
btnHandle(btnKey) { },
console.log('XXXXXXXXXXXXXXX ' + btnKey) //
switch (btnKey) { handleFilter() {
case 'toAdd': this.listQuery.current = 1
this.toAdd() this.getList()
break },
case 'doDel': //
this.doDel() handleReset() {
break this.listQuery = {
case 'doClose': current: 1,
this.doClose() size: 5,
break total: 0,
default: params: {
break useOrgName: '',
deptName: '',
createByName: '',
billNo: '',
createStartTime: '',
createEndTime: '',
finishStartTime: '',
finishEndTime: '',
userSid: '',
orgPath: '',
menuUrl: ''
} }
}, }
// sid this.getList()
handleSelectionChange(row) { },
const aa = [] toAdd() {
row.forEach(element => { this.viewState = 2
aa.push(element.sid) this.$refs['divAdd'].showAdd()
},
toEdit(row) {
this.viewState = 3
this.$refs['divAdd'].showEdit(row)
},
toInfo(row) {
this.viewState = 4
this.$refs['divInfo'].showInfo(row)
},
doDel() {
if (this.sids.length === 0) {
this.$message({
showClose: true,
type: 'error',
message: '请选择至少一条记录进行删除操作'
}) })
this.sids = aa return
}, }
// const tip = '请确认是否删除所选 ' + this.sids.length + ' 条记录?'
indexMethod(index) { this.$confirm(tip, '提示', {
var pagestart = (this.listQuery.current - 1) * this.listQuery.size confirmButtonText: '确定',
var pageindex = index + 1 + pagestart cancelButtonText: '取消',
return pageindex type: 'warning'
}, }).then(() => {
// const loading = this.$loading({
getList() { lock: true,
this.listLoading = true text: 'Loading',
this.listQuery.params.userSid = window.sessionStorage.getItem('userSid') spinner: 'el-icon-loading',
this.listQuery.params.orgPath = window.sessionStorage.getItem('defaultOrgPath') background: 'rgba(0, 0, 0, 0.7)'
this.listQuery.params.menuUrl = this.$route.path
req.listPage(this.listQuery).then((response) => {
this.listLoading = false
if (response.success) {
this.list = response.data.records
this.listQuery.total = response.data.total
} else {
this.list = []
this.listQuery.total = 0
}
}) })
}, req.deleteBySids(this.sids).then(resp => {
// if (resp.success) {
handleFilter() { this.$message({
this.listQuery.current = 1 type: 'success',
this.getList() message: resp.msg,
}, showClose: true
// })
handleReset() {
this.listQuery = {
current: 1,
size: 5,
total: 0,
params: {
createOrgName: '',
deptName: '',
createByName: '',
billNo: '',
createStartTime: '',
createEndTime: '',
finishStartTime: '',
finishEndTime: '',
} }
} this.getList()
this.getList() loading.close()
}, }).catch(e => {
toAdd() { loading.close()
this.viewState = 3 })
this.$refs['divAdd'].showAdd() }).catch(() => {
}, })
toEdit(row) { },
this.viewState = 3 //
this.$refs['divAdd'].showEdit(row) resetState() {
}, this.viewState = 1
toInfo(row) { },
this.viewState = 4 doClose() {
this.$refs['divInfo'].showInfo(row) this.$store.dispatch('tagsView/delView', this.$route)
}, this.$router.go(-1)
doDel() {
if (this.sids.length === 0) {
this.$message({
showClose: true,
type: 'error',
message: '请选择至少一条记录进行删除操作'
})
return
}
const tip = '请确认是否删除所选 ' + this.sids.length + ' 条记录?'
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
req.deleteBySids(this.sids).then(resp => {
if (resp.success) {
this.$message({
type: 'success',
message: resp.msg,
showClose: true
})
}
this.getList()
loading.close()
}).catch(e => {
loading.close()
})
}).catch(() => {})
},
//
resetState() {
this.viewState = 1
},
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
}
} }
} }
}
</script> </script>
<style scoped> <style scoped>
</style> </style>

412
yxt-as-ui/src/views/storage/inventory/inventoryRefer.vue

@ -2,7 +2,7 @@
<div class="app-container"> <div class="app-container">
<!--列表页面--> <!--列表页面-->
<div v-show="viewState == 1"> <div v-show="viewState == 1">
<button-bar view-title="出入库查询" ref="btnbar" :btndisabled="btndisabled" @btnhandle="btnHandle" /> <button-bar view-title="出入库查询" ref="btnbar" :btndisabled="btndisabled" @btnhandle="btnHandle"/>
<!--Start查询列表部分--> <!--Start查询列表部分-->
<div class="main-content"> <div class="main-content">
<div class="searchcon"> <div class="searchcon">
@ -10,44 +10,48 @@
<div v-show="isSearchShow" class="search"> <div v-show="isSearchShow" class="search">
<el-form ref="listQueryform" :inline="true" :model="listQuery" label-width="100px" class="tab-header"> <el-form ref="listQueryform" :inline="true" :model="listQuery" label-width="100px" class="tab-header">
<el-form-item label="商品ID"> <el-form-item label="商品ID">
<el-input v-model="listQuery.params.goodsID" placeholder="" clearable /> <el-input v-model="listQuery.params.goodsID" placeholder="" clearable/>
</el-form-item> </el-form-item>
<el-form-item label="商品名称"> <el-form-item label="商品名称">
<el-input v-model="listQuery.params.goodsSpuName" placeholder="" clearable /> <el-input v-model="listQuery.params.goodsSpuName" placeholder="" clearable/>
</el-form-item> </el-form-item>
<el-form-item label="图号"> <el-form-item label="图号">
<el-input v-model="listQuery.params.goodsSkuCode" placeholder="" clearable /> <el-input v-model="listQuery.params.goodsSkuCode" placeholder="" clearable/>
</el-form-item> </el-form-item>
<el-form-item label="仓库"> <el-form-item label="仓库">
<el-input v-model="listQuery.params.warehouseName" placeholder="" clearable /> <el-input v-model="listQuery.params.warehouseName" placeholder="" clearable/>
</el-form-item> </el-form-item>
<el-form-item label="库位"> <el-form-item label="库位">
<el-input v-model="listQuery.params.warehouseRackCode" placeholder="" clearable /> <el-input v-model="listQuery.params.warehouseRackCode" placeholder="" clearable/>
</el-form-item> </el-form-item>
<el-form-item label="供应商"> <el-form-item label="供应商">
<el-input v-model="listQuery.params.supplierName" placeholder="" clearable /> <el-input v-model="listQuery.params.supplierName" placeholder="" clearable/>
</el-form-item> </el-form-item>
<el-form-item label="来源单号"> <el-form-item label="来源单号">
<el-input v-model="listQuery.params.billNo" placeholder="" clearable /> <el-input v-model="listQuery.params.billNo" placeholder="" clearable/>
</el-form-item> </el-form-item>
<el-form-item label="单据类型"> <el-form-item label="单据类型">
<el-input v-model="listQuery.params.billType" placeholder="" clearable /> <el-select v-model="listQuery.params.billType" clearable placeholder="请选择" filterable>
<el-option v-for="item in billType_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue">
</el-option>
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="业务类型"> <el-form-item label="业务类型">
<el-input v-model="listQuery.params.busTypeValue" placeholder="" clearable /> <el-select v-model="listQuery.params.busTypeValue" clearable placeholder="请选择" filterable>
<el-option v-for="item in busType_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue">
</el-option>
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="发生时间"> <el-form-item label="发生时间">
<el-date-picker v-model="listQuery.params.createTimeStart" value-format="yyyy-MM-dd" format="yyyy-MM-dd" <el-date-picker v-model="listQuery.params.createTimeStart" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date" placeholder="选择日期"></el-date-picker>
type="date" placeholder="选择日期"></el-date-picker>
<span style="padding: 0 8px"></span> <span style="padding: 0 8px"></span>
<el-date-picker v-model="listQuery.params.createTimeEnd" value-format="yyyy-MM-dd" format="yyyy-MM-dd" <el-date-picker v-model="listQuery.params.createTimeEnd" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date" placeholder="选择日期"></el-date-picker>
type="date" placeholder="选择日期"></el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="操作人"> <el-form-item label="操作人">
<el-input v-model="listQuery.params.createByName" placeholder="" clearable /> <el-input v-model="listQuery.params.createByName" placeholder="" clearable/>
</el-form-item> </el-form-item>
<el-form-item label="经办人"> <el-form-item label="经办人">
<el-input v-model="listQuery.params.handlerName" placeholder="" clearable /> <el-input v-model="listQuery.params.handlerName" placeholder="" clearable/>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div class="btn" style="text-align: center;"> <div class="btn" style="text-align: center;">
@ -59,13 +63,12 @@
<!--End查询列表部分--> <!--End查询列表部分-->
<div class="listtop"> <div class="listtop">
<div class="tit">商品出入库列表</div> <div class="tit">商品出入库列表</div>
<pageye v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" <pageye v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
:limit.sync="listQuery.size" class="pagination" @pagination="getList" />
</div> </div>
<!--Start 主页面主要部分 --> <!--Start 主页面主要部分 -->
<div class=""> <div class="">
<el-table :key="tableKey" v-loading="listLoading" :data="list" :border="true" style="width: 100%;"> <el-table :key="tableKey" v-loading="listLoading" :data="list" :border="true" style="width: 100%;">
<el-table-column label="序号" type="index" width="80" :index="indexMethod" align="center" /> <el-table-column label="序号" type="index" width="80" :index="indexMethod" align="center"/>
<el-table-column prop="goodsID" label="商品ID" align="center" width="150" /> <el-table-column prop="goodsID" label="商品ID" align="center" width="150" />
<el-table-column prop="goodsSpuName" label="商品名称" align="center" width="180" /> <el-table-column prop="goodsSpuName" label="商品名称" align="center" width="180" />
<el-table-column prop="goodsSkuCode" label="图号" align="center" width="120" /> <el-table-column prop="goodsSkuCode" label="图号" align="center" width="120" />
@ -87,7 +90,7 @@
<el-table-column prop="currentCount" label="出入库后的库存" align="center" width="150" /> <el-table-column prop="currentCount" label="出入库后的库存" align="center" width="150" />
<el-table-column prop="cost" label="出入库单价" align="center" width="140" /> <el-table-column prop="cost" label="出入库单价" align="center" width="140" />
<el-table-column prop="amount" label="出入库金额" align="center" width="140" /> <el-table-column prop="amount" label="出入库金额" align="center" width="140" />
<el-table-column prop="tax" label="税率" align="center" width="100" /> <el-table-column prop="tax" label="税率(%)" align="center" width="100" />
<el-table-column prop="guidPrice" label="销售指导价" align="center" width="130" /> <el-table-column prop="guidPrice" label="销售指导价" align="center" width="130" />
<el-table-column prop="createByName" label="操作人" align="center" width="100" /> <el-table-column prop="createByName" label="操作人" align="center" width="100" />
<el-table-column prop="handlerName" label="经办人" align="center" width="100" /> <el-table-column prop="handlerName" label="经办人" align="center" width="100" />
@ -95,10 +98,9 @@
</div> </div>
<!--End 主页面主要部分--> <!--End 主页面主要部分-->
<div class="pages"> <div class="pages">
<div class="tit" /> <div class="tit"/>
<!-- 翻页 --> <!-- 翻页 -->
<pagination v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" <pagination v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
:limit.sync="listQuery.size" class="pagination" @pagination="getList" />
</div> </div>
<!--End查询列表部分--> <!--End查询列表部分-->
</div> </div>
@ -107,190 +109,210 @@
</template> </template>
<script> <script>
import Pagination from '@/components/pagination' import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye' import pageye from '@/components/pagination/pageye'
import ButtonBar from '@/components/ButtonBar' import ButtonBar from '@/components/ButtonBar'
import req from '@/api/storage/inventory' import req from '@/api/storage/inventory'
import { typeValues } from '@/api/Common/dictcommons'
export default { export default {
name: 'InventoryRefer', name: 'InventoryRefer',
components: { components: {
Pagination, Pagination,
pageye, pageye,
ButtonBar ButtonBar
}, },
data() { data() {
return { return {
btndisabled: false, btndisabled: false,
btnList: [{ btnList: [{
type: 'primary', type: 'primary',
size: 'small', size: 'small',
icon: 'export', icon: 'export',
btnKey: 'doExport', btnKey: 'doExport',
btnLabel: '导出' btnLabel: '导出'
}, },
{ {
type: 'info', type: 'info',
size: 'small', size: 'small',
icon: 'cross', icon: 'cross',
btnKey: 'doClose', btnKey: 'doClose',
btnLabel: '关闭' btnLabel: '关闭'
} }
], ],
isSearchShow: false, isSearchShow: false,
searchxianshitit: '显示查询条件', searchxianshitit: '显示查询条件',
viewState: 1, // 1 2 3 4 viewState: 1, // 1 2 3 4
tableKey: 0, tableKey: 0,
list: [], list: [],
sids: [], // SIDs sids: [], // SIDs
FormLoading: false, busType_list: [],
listLoading: false, billType_list: [
// {
listQuery: { dictKey: '0',
current: 1, dictValue: '出库'
size: 5, },
total: 0, {
params: { dictKey: '1',
goodsID: '', dictValue: '入库'
billNo: '', }
billType: '', ],
busTypeValue: '', FormLoading: false,
billObjName: '', listLoading: false,
batchNumber: '', //
goodsSpuName: '', listQuery: {
goodsSkuCode: '', current: 1,
warehouseName: '', size: 5,
warehouseRackCode: '', total: 0,
createTimeStart: '', params: {
createTimeEnd: '', goodsID: '',
supplierName: '', billNo: '',
createByName: '', billType: '',
handlerName: '', busTypeValue: '',
userSid: '', billObjName: '',
orgPath: '', batchNumber: '',
menuUrl: '' goodsSpuName: '',
} goodsSkuCode: '',
warehouseName: '',
warehouseRackCode: '',
createTimeStart: '',
createTimeEnd: '',
supplierName: '',
createByName: '',
handlerName: '',
userSid: '',
orgPath: '',
menuUrl: ''
} }
} }
}
},
created() {
//
this.init()
this.getList()
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
},
methods: {
init() {
typeValues({ type: 'wms_busType' }).then((res) => {
if (res.success) {
this.busType_list = res.data
}
})
}, },
created() { //
// clicksearchShow() {
this.getList() this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
btnHandle(btnKey) {
console.log('XXXXXXXXXXXXXXX ' + btnKey)
switch (btnKey) {
case 'doExport':
this.doExport()
break
case 'doClose':
this.doClose()
break
default:
break
}
}, },
mounted() { //
this.$refs['btnbar'].setButtonList(this.btnList) indexMethod(index) {
var pagestart = (this.listQuery.current - 1) * this.listQuery.size
var pageindex = index + 1 + pagestart
return pageindex
}, },
methods: { //
// getList() {
clicksearchShow() { this.listLoading = true
this.isSearchShow = !this.isSearchShow this.listQuery.params.userSid = window.sessionStorage.getItem('userSid')
if (this.isSearchShow) { this.listQuery.params.orgPath = window.sessionStorage.getItem('defaultOrgPath')
this.searchxianshitit = '隐藏查询条件' this.listQuery.params.menuUrl = this.$route.path
req.pageList(this.listQuery).then((response) => {
this.listLoading = false
if (response.success) {
this.list = response.data.records
this.listQuery.total = response.data.total
} else { } else {
this.searchxianshitit = '显示查询条件' this.list = []
this.listQuery.total = 0
} }
}, })
btnHandle(btnKey) { },
console.log('XXXXXXXXXXXXXXX ' + btnKey) //
switch (btnKey) { handleFilter() {
case 'doExport': this.listQuery.current = 1
this.doExport() this.getList()
break },
case 'doClose': //
this.doClose() handleReset() {
break this.listQuery = {
default: current: 1,
break size: 5,
} total: 0,
}, params: {
// goodsID: '',
indexMethod(index) { billNo: '',
var pagestart = (this.listQuery.current - 1) * this.listQuery.size billType: '',
var pageindex = index + 1 + pagestart busTypeValue: '',
return pageindex billObjName: '',
}, batchNumber: '',
// goodsSpuName: '',
getList() { goodsSkuCode: '',
this.listLoading = true warehouseName: '',
this.listQuery.params.userSid = window.sessionStorage.getItem('userSid') warehouseRackCode: '',
this.listQuery.params.orgPath = window.sessionStorage.getItem('defaultOrgPath') createTimeStart: '',
this.listQuery.params.menuUrl = this.$route.path createTimeEnd: '',
req.pageList(this.listQuery).then((response) => { supplierName: '',
this.listLoading = false createByName: '',
if (response.success) { handlerName: '',
this.list = response.data.records userSid: '',
this.listQuery.total = response.data.total orgPath: '',
} else { menuUrl: ''
this.list = []
this.listQuery.total = 0
}
})
},
//
handleFilter() {
this.listQuery.current = 1
this.getList()
},
//
handleReset() {
this.listQuery = {
current: 1,
size: 5,
total: 0,
params: {
goodsID: '',
billNo: '',
billType: '',
busTypeValue: '',
billObjName: '',
batchNumber: '',
goodsSpuName: '',
goodsSkuCode: '',
warehouseName: '',
warehouseRackCode: '',
createTimeStart: '',
createTimeEnd: '',
supplierName: '',
createByName: '',
handlerName: '',
userSid: '',
orgPath: '',
menuUrl: ''
}
} }
this.getList()
},
doExport() {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
req.exportExcel(this.listQuery.params).then((resp) => {
loading.close()
const blob = new Blob([resp], {
type: 'application/vnd.ms-excel'
})
const fileName = '出入库记录' + '.xls'
const elink = document.createElement('a')
elink.download = fileName
elink.style.display = 'nonde'
elink.href = URL.createObjectURL(blob)
document.body.appendChild(elink)
elink.click()
URL.revokeObjectURL(elink.href)
document.body.removeChild(elink)
}).catch(() => {
loading.close()
})
},
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
} }
this.getList()
},
doExport() {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
req.exportExcel(this.listQuery.params).then((resp) => {
loading.close()
const blob = new Blob([resp], {
type: 'application/vnd.ms-excel'
})
const fileName = '出入库记录' + '.xls'
const elink = document.createElement('a')
elink.download = fileName
elink.style.display = 'none'
elink.href = URL.createObjectURL(blob)
document.body.appendChild(elink)
elink.click()
URL.revokeObjectURL(elink.href)
document.body.removeChild(elink)
}).catch(() => {
loading.close()
})
},
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
} }
} }
}
</script> </script>
<style scoped> <style scoped>
</style> </style>

684
yxt-as-ui/src/views/workFlow/adjustmentFlow/adjustmentDaiBan.vue

@ -34,17 +34,17 @@
</el-row> </el-row>
<div class="title">商品类别列表</div> <div class="title">商品类别列表</div>
<el-table v-loading="listLoading" :data="formobj.smsPricestrategyBillDetailList" border style="width: 100%;"> <el-table v-loading="listLoading" :data="formobj.smsPricestrategyBillDetailList" border style="width: 100%;">
<el-table-column fixed width="80" label="序号" type="index" :index="indexMethod" align="center" /> <el-table-column fixed width="80" label="序号" type="index" :index="indexMethod" align="center"/>
<el-table-column label="类别编码" prop="goodsTypeCode" align="center" /> <el-table-column label="类别编码" prop="goodsTypeCode" align="center"/>
<el-table-column label="类别名称" prop="goodsTypeName" align="center" /> <el-table-column label="类别名称" prop="goodsTypeName" align="center"/>
<el-table-column label="价格策略" align="center"> <el-table-column label="价格策略" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
{{calculation(scope.row)}} {{ calculation(scope.row) }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="策略明细" align="center" width="600"> <el-table-column label="策略明细" align="center" width="600">
<template slot-scope="scope"> <template slot-scope="scope">
{{calculation2(scope.row)}} {{ calculation2(scope.row) }}
</template> </template>
</el-table-column> </el-table-column>
@ -82,8 +82,10 @@
<span>意见:</span> <span>意见:</span>
</el-col> </el-col>
<el-col :span="20"> <el-col :span="20">
<el-form-item><el-input size="small" v-model="dialogList.comment" placeholder="审批意见" class="addinputw" <el-form-item>
type="textarea" :autosize="{ minRows: 1, maxRows: 10}" clearable></el-input></el-form-item> <el-input size="small" v-model="dialogList.comment" placeholder="审批意见" class="addinputw"
type="textarea" :autosize="{ minRows: 1, maxRows: 10}" clearable></el-input>
</el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<div style="text-align:center;margin-top: 20px;"> <div style="text-align:center;margin-top: 20px;">
@ -96,372 +98,366 @@
</template> </template>
<script> <script>
import req from '@/api/storage/adjustment.js' import req from '@/api/storage/adjustment.js'
import { import {
selectStaffListss selectStaffListss
} from '@/api/Common/dictcommons' } from '@/api/Common/dictcommons'
export default { export default {
name: '', name: '',
data() { data() {
return { return {
viewTitle: '', viewTitle: '',
viewState: 1, viewState: 1,
tableKey: 1, tableKey: 1,
index: 0, index: 0,
formobj: { formobj: {
"sid": "", "sid": "",
"createByName": "", "createByName": "",
"billNo": "", "billNo": "",
"deptName": "", "deptName": "",
"deptSid": "", "deptSid": "",
"remarks": "", "remarks": "",
"createBySid": "", "createBySid": "",
"createTime": "", "createTime": "",
"procDefId": "", "procDefId": "",
"nodeId": "", "nodeId": "",
"procInstId": "", "procInstId": "",
"nodeState": "", "nodeState": "",
"taskId": "", "taskId": "",
"finishTime": "", "finishTime": "",
"useOrgSid": "", "useOrgSid": "",
"useOrgName": "", "useOrgName": "",
"smsPricestrategyBillDetailList": [] "smsPricestrategyBillDetailList": []
}, },
rules: {}, rules: {},
options: [], options: [],
operation: '', // operation: '', //
dialogList: { dialogList: {
comment: '' comment: ''
}, },
startTask: true, startTask: true,
current: { current: {
taskDefKey: '', taskDefKey: '',
taskName: '' // taskName: '' //
}, },
nextNode: {}, // nextNode: {}, //
nodeDialogVisible: false, nodeDialogVisible: false,
currentLink: true, currentLink: true,
countersignLink: false, countersignLink: false,
// //
linkByParameter: { linkByParameter: {
businessSid: '', businessSid: '',
comment: '', comment: '',
instanceId: '', instanceId: '',
taskId: '', taskId: '',
orgSidPath: '', orgSidPath: '',
taskDefKey: '', taskDefKey: '',
userSid: '' userSid: ''
}, },
// //
countersign: { countersign: {
taskId: '', taskId: '',
assignee: '', assignee: '',
userSid: '', userSid: '',
instanceId: '', instanceId: '',
views: '' views: ''
}
} }
}
},
created() {
console.log('url:' + window.location.href)
var one = window.location.href.indexOf('&data') + 6
const data = window.location.href.substr(one) // urlunescape()web,使
const obj = JSON.parse(decodeURIComponent(data))
console.log('iframe页面获取的obj:', obj)
//
this.linkByParameter.businessSid = obj.businessSid
this.linkByParameter.instanceId = obj.instanceId
this.linkByParameter.taskId = obj.taskId
this.linkByParameter.taskDefKey = obj.taskDefKey
// this.linkByParameter.orgSidPath = window.sessionStorage.getItem('orgSidPath')
this.linkByParameter.userSid = window.sessionStorage.getItem('userSid')
this.current.taskDefKey = obj.taskDefKey
this.current.taskName = obj.taskName
//
this.countersign.taskId = obj.taskId
this.countersign.userSid = window.sessionStorage.getItem('userSid')
this.countersign.instanceId = obj.instanceId
//
this.showInfo(obj.businessSid)
},
mounted() {
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 2,
data: 400 + 'px'
}
}, '*')
},
methods: {
calculation(row) {
console.log("calculation》》》》", row)
var info = ''
if (row.strategyType == 1) {
info = '固定比例'
}
if (row.strategyType == 2) {
info = '价格区间'
}
return info
}, },
created() { calculation2(row) {
console.log('url:' + window.location.href) var info = ''
var one = window.location.href.indexOf('&data') + 6 if (row.strategyType == 2) {
const data = window.location.href.substr(one) // urlunescape()web,使 for (var i = 0; i < row.smsPricestrategyBillGoodstypedetailList.length; i++) {
const obj = JSON.parse(decodeURIComponent(data)) info += row.smsPricestrategyBillGoodstypedetailList[i].rangeStart + '-' + row
console.log('iframe页面获取的obj:', obj) .smsPricestrategyBillGoodstypedetailList[i].rangeEnd + ' ' + row
// .smsPricestrategyBillGoodstypedetailList[i]
this.linkByParameter.businessSid = obj.businessSid .markupRate + '%;'
this.linkByParameter.instanceId = obj.instanceId
this.linkByParameter.taskId = obj.taskId
this.linkByParameter.taskDefKey = obj.taskDefKey
// this.linkByParameter.orgSidPath = window.sessionStorage.getItem('orgSidPath')
this.linkByParameter.userSid = window.sessionStorage.getItem('userSid')
this.current.taskDefKey = obj.taskDefKey
this.current.taskName = obj.taskName
//
this.countersign.taskId = obj.taskId
this.countersign.userSid = window.sessionStorage.getItem('userSid')
this.countersign.instanceId = obj.instanceId
//
this.showInfo(obj.businessSid)
},
mounted() {
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 2,
data: 400 + 'px'
} }
}, '*') } else {
info = row.gdMarkupRate + '%'
}
return info
}, },
methods: { showInfo(sid) {
calculation(row) { this.viewTitle = '定调价策略申请详情'
console.log("calculation》》》》", row) this.$nextTick(() => {
var info = '' this.$refs['form_obj'].clearValidate()
})
if (row.strategyType == 1) { req.init(sid).then((res) => {
info = '固定比例' if (res.success) {
this.formobj = res.data
this.formobj.instanceId = res.data.procInstId
if (this.formobj.fileList.length > 0) {
const aa = []
this.formobj.fileList.forEach((e) => {
aa.push(e.url)
})
this.formobj.fileList = aa
}
} }
if (row.strategyType == 2) { })
info = '价格区间' selectStaffListss().then((res) => {
if (res.success) {
this.options = res.data
} }
})
return info },
}, //
calculation2(row) { openCountersign(val) {
var info = '' this.operation = val
this.currentLink = true
if (row.strategyType == 2) { this.countersignLink = true
for (var i = 0; i < row.smsPricestrategyBillGoodstypedetailList.length; i++) { this.dialogList.comment = ''
req.getNextNodesForSubmit({
info += row.smsPricestrategyBillGoodstypedetailList[i].rangeStart + "——" + row taskDefKey: this.current.taskDefKey,
.smsPricestrategyBillGoodstypedetailList[i].rangeEnd + " " + row businessSid: this.linkByParameter.businessSid
.smsPricestrategyBillGoodstypedetailList[i] }).then((resp) => {
.markupRate + ";" if (resp.success) {
} var arr = resp.data
} else { this.nextNode = arr[0]
info = row.gdMarkupRate this.nodeDialogVisible = true
} }
this.submitdisabled = false
})
return info },
}, //
showInfo(sid) { openAgree(val) {
this.viewTitle = '定调价策略申请详情' this.operation = val
this.$nextTick(() => { this.currentLink = true
this.$refs['form_obj'].clearValidate() this.countersignLink = false
}) this.dialogList.comment = '同意'
req.init(sid).then((res) => { req.getNextNodesForSubmit({
if (res.success) { taskDefKey: this.current.taskDefKey,
this.formobj = res.data businessSid: this.linkByParameter.businessSid
this.formobj.instanceId = res.data.procInstId }).then((resp) => {
if (this.formobj.fileList.length > 0) { if (resp.success) {
const aa = [] var arr = resp.data
this.formobj.fileList.forEach((e) => { this.nextNode = arr[0]
aa.push(e.url) this.nodeDialogVisible = true
})
this.formobj.fileList = aa
}
}
})
selectStaffListss().then((res) => {
if (res.success) {
this.options = res.data
}
})
},
//
openCountersign(val) {
this.operation = val
this.currentLink = true
this.countersignLink = true
this.dialogList.comment = ''
req.getNextNodesForSubmit({
taskDefKey: this.current.taskDefKey,
businessSid: this.linkByParameter.businessSid
}).then((resp) => {
if (resp.success) {
var arr = resp.data
this.nextNode = arr[0]
this.nodeDialogVisible = true
}
this.submitdisabled = false
})
},
//
openAgree(val) {
this.operation = val
this.currentLink = true
this.countersignLink = false
this.dialogList.comment = '同意'
req.getNextNodesForSubmit({
taskDefKey: this.current.taskDefKey,
businessSid: this.linkByParameter.businessSid
}).then((resp) => {
if (resp.success) {
var arr = resp.data
this.nextNode = arr[0]
this.nodeDialogVisible = true
}
this.submitdisabled = false
})
},
//
openReject(val) {
this.operation = val
this.currentLink = true
this.countersignLink = false
this.dialogList.comment = ''
req.getPreviousNodesForReject({
taskDefKey: this.current.taskDefKey,
businessSid: this.linkByParameter.businessSid
}).then((resp) => {
if (resp.success) {
var arr = resp.data
this.nextNode = arr[0]
this.nodeDialogVisible = true
}
this.submitdisabled = false
})
},
//
openStop(val) {
this.operation = val
this.currentLink = false
this.countersignLink = false
this.dialogList.comment = ''
this.nodeDialogVisible = true
},
reject() {
if (this.operation === '同意') {
this.handleAgree()
} else if (this.operation === '驳回') {
if (this.dialogList.comment === '') {
this.$message({
showClose: true,
type: 'error',
message: '请填写审批意见'
})
} else {
this.handleReject()
}
} else if (this.operation === '终止') {
if (this.dialogList.comment === '') {
this.$message({
showClose: true,
type: 'error',
message: '请填写审批意见'
})
} else {
this.handleStop()
}
} else if (this.operation === '加签') {
this.handleCountersign()
} }
}, this.submitdisabled = false
/** 加签 */ })
handleCountersign() { },
if (this.countersign.assignee === '') { //
openReject(val) {
this.operation = val
this.currentLink = true
this.countersignLink = false
this.dialogList.comment = ''
req.getPreviousNodesForReject({
taskDefKey: this.current.taskDefKey,
businessSid: this.linkByParameter.businessSid
}).then((resp) => {
if (resp.success) {
var arr = resp.data
this.nextNode = arr[0]
this.nodeDialogVisible = true
}
this.submitdisabled = false
})
},
//
openStop(val) {
this.operation = val
this.currentLink = false
this.countersignLink = false
this.dialogList.comment = ''
this.nodeDialogVisible = true
},
reject() {
if (this.operation === '同意') {
this.handleAgree()
} else if (this.operation === '驳回') {
if (this.dialogList.comment === '') {
this.$message({ this.$message({
showClose: true, showClose: true,
type: 'error', type: 'error',
message: '请选择加签人员' message: '请填写审批意见'
}) })
return } else {
this.handleReject()
} }
} else if (this.operation === '终止') {
if (this.dialogList.comment === '') { if (this.dialogList.comment === '') {
this.$message({ this.$message({
showClose: true, showClose: true,
type: 'error', type: 'error',
message: '请填写审批意见' message: '请填写审批意见'
}) })
return } else {
this.handleStop()
} }
this.countersign.views = this.dialogList.comment } else if (this.operation === '加签') {
req.delegate(this.countersign).then((response) => { this.handleCountersign()
if (response.success) { }
this.$notify({ },
title: '提示', /** 加签 */
message: '执行成功', handleCountersign() {
type: 'success', if (this.countersign.assignee === '') {
duration: 2000 this.$message({
}) showClose: true,
this.nodeDialogVisible = false type: 'error',
// message: '请选择加签人员'
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
}
})
},
/** 同意任务 */
handleAgree() {
this.linkByParameter.comment = this.dialogList.comment
req.complete(this.linkByParameter).then((response) => {
if (response.success) {
this.$notify({
title: '提示',
message: '执行成功',
type: 'success',
duration: 2000
})
this.nodeDialogVisible = false
//
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
}
})
},
/** 驳回任务 */
handleReject() {
this.linkByParameter.comment = this.dialogList.comment
req.reject(this.linkByParameter).then((response) => {
if (response.success) {
this.$notify({
title: '提示',
message: '执行成功',
type: 'success',
duration: 2000
})
this.nodeDialogVisible = false
//
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
}
}) })
}, return
/** 终止任务 */ }
handleStop() { if (this.dialogList.comment === '') {
this.linkByParameter.comment = this.dialogList.comment this.$message({
req.breakProcess(this.linkByParameter).then((response) => { showClose: true,
if (response.success) { type: 'error',
this.$notify({ message: '请填写审批意见'
title: '提示',
message: '执行成功',
type: 'success',
duration: 2000
})
this.nodeDialogVisible = false
//
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
}
}) })
return
} }
this.countersign.views = this.dialogList.comment
req.delegate(this.countersign).then((response) => {
if (response.success) {
this.$notify({
title: '提示',
message: '执行成功',
type: 'success',
duration: 2000
})
this.nodeDialogVisible = false
//
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
}
})
},
/** 同意任务 */
handleAgree() {
this.linkByParameter.comment = this.dialogList.comment
req.complete(this.linkByParameter).then((response) => {
if (response.success) {
this.$notify({
title: '提示',
message: '执行成功',
type: 'success',
duration: 2000
})
this.nodeDialogVisible = false
//
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
}
})
},
/** 驳回任务 */
handleReject() {
this.linkByParameter.comment = this.dialogList.comment
req.reject(this.linkByParameter).then((response) => {
if (response.success) {
this.$notify({
title: '提示',
message: '执行成功',
type: 'success',
duration: 2000
})
this.nodeDialogVisible = false
//
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
}
})
},
/** 终止任务 */
handleStop() {
this.linkByParameter.comment = this.dialogList.comment
req.breakProcess(this.linkByParameter).then((response) => {
if (response.success) {
this.$notify({
title: '提示',
message: '执行成功',
type: 'success',
duration: 2000
})
this.nodeDialogVisible = false
//
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
}
})
} }
} }
}
</script> </script>
<style scoped> <style scoped>
.span-sty { .span-sty {
width: 130px !important; width: 130px !important;
} }
.addinputInfo { .addinputInfo {
margin-left: 120px !important; margin-left: 120px !important;
} }
.rowClass { .rowClass {
border-top: 1px solid #E0E3EB; border-top: 1px solid #E0E3EB;
} }
</style> </style>

475
yxt-as-ui/src/views/workFlow/adjustmentFlow/adjustmentEdit.vue

@ -23,310 +23,267 @@
<div class="span-sty">申请日期</div> <div class="span-sty">申请日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.createTime }}</span></el-form-item> <el-form-item><span class="addinputInfo">{{ formobj.createTime }}</span></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-input class="addinputInfo" style="width: 80%" v-model="formobj.remarks" clearable <el-form-item>
placeholder="" /></el-form-item> <el-input class="addinputInfo" style="width: 80%" v-model="formobj.remarks" clearable placeholder=""/>
<el-form-item> <el-input v-model="formobj.remarks" placeholder="" class="addinputw addinputInfo" </el-form-item>
type="textarea" :rows="4" clearable /></el-form-item> <el-form-item>
<el-input v-model="formobj.remarks" placeholder="" class="addinputw addinputInfo" type="textarea" :rows="4" clearable/>
</el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<div class="title">商品类别列表</div> <div class="title">商品类别列表</div>
<el-table v-loading="listLoading" :data="formobj.smsPricestrategyBillDetailList" border style="width: 100%;"> <el-table v-loading="listLoading" :data="formobj.smsPricestrategyBillDetailList" border style="width: 100%;">
<el-table-column fixed width="80" label="序号" type="index" :index="indexMethod" align="center" /> <el-table-column fixed width="80" label="序号" type="index" :index="indexMethod" align="center"/>
<el-table-column fixed label="操作" wid align="center" width="200"> <el-table-column fixed label="操作" wid align="center" width="200">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="primary" size="mini" @click="deleteGoodsType(scope.row)">删除</el-button> <el-button type="primary" size="mini" @click="deleteGoodsType(scope.$index)">删除</el-button>
<el-button type="primary" size="mini" @click="editPriceStrategy(scope.row)">编辑</el-button> <el-button type="primary" size="mini" @click="editPriceStrategy(scope.row)">编辑</el-button>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="类别编码" prop="goodsTypeCode" align="center" /> <el-table-column label="类别编码" prop="goodsTypeCode" align="center"/>
<el-table-column label="类别名称" prop="goodsTypeName" align="center" /> <el-table-column label="类别名称" prop="goodsTypeName" align="center"/>
<el-table-column label="价格策略" align="center"> <el-table-column label="价格策略" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
{{calculation(scope.row)}} {{ calculation(scope.row) }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="策略明细" align="center" width="600"> <el-table-column label="策略明细" align="center" width="600">
<template slot-scope="scope"> <template slot-scope="scope">
{{calculation2(scope.row)}} {{ calculation2(scope.row) }}
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
</el-form> </el-form>
</div> </div>
</div> </div>
<!-- 选择商品类别 --> <!-- 选择商品类别 -->
<choosecategory v-show="viewState == 2" ref="choosecategory" @backData="backData" @doback="resetState" /> <choosecategory v-show="viewState == 2" ref="choosecategory" @backData="backData" @doback="resetState"/>
<!-- 编辑价格策略 --> <!-- 编辑价格策略 -->
<editPriceStrategy v-show="viewState == 3" ref="editPriceStrategy" @backData2="backData2" @doback="resetState" /> <editPriceStrategy v-show="viewState == 3" ref="editPriceStrategy" @backData2="backData2" @doback="resetState"/>
</div> </div>
</template> </template>
<script> <script>
import req from '@/api/storage/adjustment.js' import req from '@/api/storage/adjustment.js'
import { import choosecategory from './relation/choosecategory'
getCurrentDate import editPriceStrategy from './relation/editPriceStrategy'
} from '@/utils/index.js'
import choosecategory from './relation/choosecategory' export default {
import editPriceStrategy from './relation/editPriceStrategy' components: {
export default { choosecategory,
components: { editPriceStrategy
choosecategory, },
editPriceStrategy data() {
return {
viewTitle: "【新增】",
viewState: 1,
listLoading: false,
submitdisabled: false,
formobj: {
"sid": "",
"createByName": "",
"billNo": "",
"deptName": "",
"deptSid": "",
"remarks": "",
"createBySid": "",
"createTime": "",
"procDefId": "",
"nodeId": "",
"procInstId": "",
"nodeState": "",
"taskId": "",
"finishTime": "",
"useOrgSid": "",
"useOrgName": "",
"smsPricestrategyBillDetailList": []
}
}
},
created() {
console.log('url:' + window.location.href)
var one = window.location.href.indexOf('&data') + 6
const data = window.location.href.substr(one) // urlunescape()web,使
const obj = JSON.parse(decodeURIComponent(data))
this.showInfo(obj.businessSid)
},
mounted() {
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 2,
data: 500 + 'px'
}
}, '*')
},
methods: {
calculation(row) {
var info = ''
if (row.strategyType == 1) {
info = '固定比例'
}
if (row.strategyType == 2) {
info = '价格区间'
}
return info
}, },
data() { calculation2(row) {
return { var info = ''
viewTitle: "【新增】", if (row.strategyType == 2) {
viewState: 1, for (var i = 0; i < row.smsPricestrategyBillGoodstypedetailList.length; i++) {
listLoading: false, info += row.smsPricestrategyBillGoodstypedetailList[i].rangeStart + '-' + row
submitdisabled: false, .smsPricestrategyBillGoodstypedetailList[i].rangeEnd + ' ' + row
formobj: { .smsPricestrategyBillGoodstypedetailList[i]
"sid": "", .markupRate + '%;'
"createByName": "", }
"billNo": "", } else {
"deptName": "", info = row.gdMarkupRate + '%'
"deptSid": "",
"remarks": "",
"createBySid": "",
"createTime": "",
"procDefId": "",
"nodeId": "",
"procInstId": "",
"nodeState": "",
"taskId": "",
"finishTime": "",
"useOrgSid": "",
"useOrgName": "",
"smsPricestrategyBillDetailList": []
},
} }
return info
}, },
created() { deleteGoodsType(index) {
console.log('url:' + window.location.href) this.formobj.smsPricestrategyBillDetailList.splice(index, 1)
var one = window.location.href.indexOf('&data') + 6
const data = window.location.href.substr(one) // urlunescape()web,使
const obj = JSON.parse(decodeURIComponent(data))
this.showInfo(obj.businessSid)
}, },
mounted() { editPriceStrategy(row) {
window.parent.postMessage({ this.viewState = 3
cmd: 'returnHeight', const aa = []
params: { this.$refs['editPriceStrategy'].showAdd(aa, row)
//
code: 2,
data: 500 + 'px'
}
}, '*')
}, },
methods: { backData(value) {
this.viewState = 1
calculation(row) { for (var i = 0; i < value.length; i++) {
console.log("calculation》》》》", row) this.formobj.smsPricestrategyBillDetailList.push(
var info = '' {
goodsTypeSid: value[i].sid,
if (row.strategyType == 1) { goodsTypeCode: value[i].goodsTypeCode,
info = '固定比例' goodsTypeName: value[i].goodsTypeName,
} strategyType: '',
if (row.strategyType == 2) { strategyTypeValue: '',
info = '价格区间' gdMarkupRate: "",
} strategyDetail: '',
smsPricestrategyBillGoodstypedetailList: []
return info
},
calculation2(row) {
var info = ''
if (row.strategyType == 2) {
for (var i = 0; i < row.smsPricestrategyBillGoodstypedetailList.length; i++) {
info += row.smsPricestrategyBillGoodstypedetailList[i].rangeStart + "——" + row
.smsPricestrategyBillGoodstypedetailList[i].rangeEnd + " " + row
.smsPricestrategyBillGoodstypedetailList[i]
.markupRate + ";"
}
} else {
info = row.gdMarkupRate
}
return info
},
deleteGoodsType(row) {
const index = this.formobj.smsPricestrategyBillDetailList.findIndex((item) => item === row)
console.log("index》》》》", index)
this.formobj.smsPricestrategyBillDetailList.splice(index, 1)
},
editPriceStrategy(row) {
this.viewState = 3
const aa = []
this.$refs['editPriceStrategy'].showAdd(aa, row)
},
backData(value) {
this.viewState = 1
console.log('>>>>>>>>>backData', value)
for (var i = 0; i < value.length; i++) {
this.formobj.smsPricestrategyBillDetailList.push(
{
goodsTypeSid: value[i].sid,
goodsTypeCode: value[i].goodsTypeCode,
goodsTypeName: value[i].goodsTypeName,
strategyType: '',
strategyTypeValue: '',
gdMarkupRate: "",
strategyDetail: '',
smsPricestrategyBillGoodstypedetailList: []
}
)
}
},
backData2(value) {
this.viewState = 1
console.log('>>>>>>>>>backData2', value)
var info = ''
if (value.strategyType == 2) {
for (var i = 0; i < value.smsPricestrategyBillGoodstypedetailList.length; i++) {
info += value.smsPricestrategyBillGoodstypedetailList[i].rangeStart + "——" + value
.smsPricestrategyBillGoodstypedetailList[i].rangeEnd + " " + value
.smsPricestrategyBillGoodstypedetailList[i]
.markupRate + ";"
} }
)
}
},
backData2(value) {
this.viewState = 1
var info = ''
if (value.strategyType == 2) {
for (var i = 0; i < value.smsPricestrategyBillGoodstypedetailList.length; i++) {
info += value.smsPricestrategyBillGoodstypedetailList[i].rangeStart + '-' + value
.smsPricestrategyBillGoodstypedetailList[i].rangeEnd + ' ' + value
.smsPricestrategyBillGoodstypedetailList[i]
.markupRate + '%;'
} }
}
const choose = this.formobj.smsPricestrategyBillDetailList.filter((item) => item.goodsTypeSid == value.goodsTypeSid)
console.log('>>>>>>>>>backData2', info) choose[0].smsPricestrategyBillGoodstypedetailList = value.smsPricestrategyBillGoodstypedetailList
choose[0].strategyType = value.strategyType
const choose = this.formobj.smsPricestrategyBillDetailList.filter((item) => item.goodsTypeSid == value if (value.strategyType == 1) {
.goodsTypeSid) choose[0].strategyTypeValue = '固定比例'
console.log('>>>>>>>>>busTypeSelect', choose) choose[0].strategyDetail = value.gdMarkupRate
}
// choose[0].strategyDetail = value.strategyType == 0 ? value.gdMarkupRate : info if (value.strategyType == 2) {
choose[0].smsPricestrategyBillGoodstypedetailList = value.smsPricestrategyBillGoodstypedetailList choose[0].strategyTypeValue = '价格区间'
choose[0].strategyType = value.strategyType choose[0].strategyDetail = info
// choose[0].strategyTypeValue = value.strategyType == 0 ? '' : '' }
},
resetState() {
if (value.strategyType == 1) { this.viewState = 1
choose[0].strategyTypeValue = '固定比例' },
choose[0].strategyDetail = value.gdMarkupRate categoryAdd() {
} this.viewState = 2
if (value.strategyType == 2) { const aa = []
choose[0].strategyTypeValue = '价格区间' this.$refs['choosecategory'].showData(aa, this.formobj.createOrgSid)
choose[0].strategyDetail = info },
indexMethod(index) {
return index + 1
},
showInfo(sid) {
this.viewTitle = '【编辑】定调价策略申请'
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
req.init(sid).then((res) => {
if (res.success) {
this.formobj = res.data
this.formobj.instanceId = res.data.procInstId
} }
})
console.log('>>>>>>>>>backData2', choose) },
saveOrUpdate() {
}, this.$refs['form_obj'].validate((valid) => {
resetState() { if (valid) {
this.viewState = 1 this.submitdisabled = true
}, req.save(this.formobj).then((res) => {
if (res.success) {
categoryAdd() { this.$message({
this.viewState = 2 showClose: true,
const aa = [] type: 'success',
this.$refs['choosecategory'].showData(aa, this.formobj.createOrgSid) message: '保存成功'
}, })
indexMethod(index) { // ()
return index + 1 window.parent.postMessage({
}, cmd: 'returnHeight',
params: {
showInfo(sid) { //
this.viewTitle = '【编辑】定调价策略申请' code: 1
this.$nextTick(() => { }
this.$refs['form_obj'].clearValidate() }, '*')
}) } else {
req.init(sid).then((res) => {
if (res.success) {
this.formobj = res.data
this.formobj.instanceId = res.data.procInstId
}
})
},
saveOrUpdate() {
this.$refs['form_obj'].validate((valid) => {
if (valid) {
this.submitdisabled = true
req.save(this.formobj).then((res) => {
if (res.success) {
this.$message({
showClose: true,
type: 'success',
message: '保存成功'
})
// ()
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
} else {
this.submitdisabled = false
}
}).catch(() => {
this.submitdisabled = false this.submitdisabled = false
}) }
} }).catch(() => {
}) this.submitdisabled = false
}, })
submit() { }
this.$refs['form_obj'].validate((valid) => { })
if (valid) { },
this.submitdisabled = true submit() {
req.submit(this.formobj).then((res) => { this.$refs['form_obj'].validate((valid) => {
if (res.success) { if (valid) {
this.$message({ this.submitdisabled = true
showClose: true, req.submit(this.formobj).then((res) => {
type: 'success', if (res.success) {
message: '提交成功' this.$message({
}) showClose: true,
// () type: 'success',
window.parent.postMessage({ message: '提交成功'
cmd: 'returnHeight', })
params: { // ()
// window.parent.postMessage({
code: 1 cmd: 'returnHeight',
} params: {
}, '*') //
} else { code: 1
this.submitdisabled = false }
} }, '*')
}).catch(() => { } else {
this.submitdisabled = false this.submitdisabled = false
}) }
} }).catch(() => {
}) this.submitdisabled = false
} })
}
})
} }
} }
}
</script> </script>
<style scoped> <style scoped>
.span-sty { .span-sty {
width: 130px !important; width: 130px !important;
} }
.addinputInfo { .addinputInfo {
margin-left: 120px !important; margin-left: 120px !important;
} }
</style> </style>

308
yxt-as-ui/src/views/workFlow/adjustmentFlow/adjustmentYiBan.vue

@ -31,17 +31,17 @@
</el-row> </el-row>
<div class="title">商品类别列表</div> <div class="title">商品类别列表</div>
<el-table v-loading="listLoading" :data="formobj.smsPricestrategyBillDetailList" border style="width: 100%;"> <el-table v-loading="listLoading" :data="formobj.smsPricestrategyBillDetailList" border style="width: 100%;">
<el-table-column fixed width="80" label="序号" type="index" :index="indexMethod" align="center" /> <el-table-column fixed width="80" label="序号" type="index" :index="indexMethod" align="center"/>
<el-table-column label="类别编码" prop="goodsTypeCode" align="center" /> <el-table-column label="类别编码" prop="goodsTypeCode" align="center"/>
<el-table-column label="类别名称" prop="goodsTypeName" align="center" /> <el-table-column label="类别名称" prop="goodsTypeName" align="center"/>
<el-table-column label="价格策略" align="center"> <el-table-column label="价格策略" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
{{calculation(scope.row)}} {{ calculation(scope.row) }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="策略明细" align="center" width="600"> <el-table-column label="策略明细" align="center" width="600">
<template slot-scope="scope"> <template slot-scope="scope">
{{calculation2(scope.row)}} {{ calculation2(scope.row) }}
</template> </template>
</el-table-column> </el-table-column>
@ -53,171 +53,165 @@
</template> </template>
<script> <script>
import req from '@/api/storage/adjustment.js' import req from '@/api/storage/adjustment.js'
export default { export default {
name: '', name: '',
data() { data() {
return { return {
viewTitle: '', viewTitle: '',
viewState: 1, viewState: 1,
tableKey: 1, tableKey: 1,
index: 0, index: 0,
formobj: { formobj: {
"sid": "", "sid": "",
"createByName": "", "createByName": "",
"billNo": "", "billNo": "",
"deptName": "", "deptName": "",
"deptSid": "", "deptSid": "",
"remarks": "", "remarks": "",
"createBySid": "", "createBySid": "",
"createTime": "", "createTime": "",
"procDefId": "", "procDefId": "",
"nodeId": "", "nodeId": "",
"procInstId": "", "procInstId": "",
"nodeState": "", "nodeState": "",
"taskId": "", "taskId": "",
"finishTime": "", "finishTime": "",
"useOrgSid": "", "useOrgSid": "",
"useOrgName": "", "useOrgName": "",
"smsPricestrategyBillDetailList": [] "smsPricestrategyBillDetailList": []
}, },
rules: {}, rules: {},
// //
linkByParameter: { linkByParameter: {
businessSid: '', businessSid: '',
comment: '', comment: '',
instanceId: '', instanceId: '',
taskId: '', taskId: '',
orgSidPath: '', orgSidPath: '',
taskDefKey: '', taskDefKey: '',
userSid: '' userSid: ''
}
} }
}
},
created() {
console.log('url:' + window.location.href)
var one = window.location.href.indexOf('&data') + 6
const data = window.location.href.substr(one) // urlunescape()web,使
const obj = JSON.parse(decodeURIComponent(data))
console.log('iframe页面获取的obj:', obj)
//
this.linkByParameter.businessSid = obj.businessSid
this.linkByParameter.instanceId = obj.instanceId
this.linkByParameter.taskId = obj.taskId
this.linkByParameter.taskDefKey = obj.taskDefKey
this.linkByParameter.userSid = window.sessionStorage.getItem('userSid')
//
this.showInfo(obj.businessSid)
},
mounted() {
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 2,
data: 400 + 'px'
}
}, '*')
},
methods: {
calculation(row) {
console.log("calculation》》》》", row)
var info = ''
if (row.strategyType == 1) {
info = '固定比例'
}
if (row.strategyType == 2) {
info = '价格区间'
}
return info
}, },
created() { calculation2(row) {
console.log('url:' + window.location.href) var info = ''
var one = window.location.href.indexOf('&data') + 6 if (row.strategyType == 2) {
const data = window.location.href.substr(one) // urlunescape()web,使 for (var i = 0; i < row.smsPricestrategyBillGoodstypedetailList.length; i++) {
const obj = JSON.parse(decodeURIComponent(data)) info += row.smsPricestrategyBillGoodstypedetailList[i].rangeStart + '-' + row
console.log('iframe页面获取的obj:', obj) .smsPricestrategyBillGoodstypedetailList[i].rangeEnd + ' ' + row
// .smsPricestrategyBillGoodstypedetailList[i]
this.linkByParameter.businessSid = obj.businessSid .markupRate + '%;'
this.linkByParameter.instanceId = obj.instanceId
this.linkByParameter.taskId = obj.taskId
this.linkByParameter.taskDefKey = obj.taskDefKey
this.linkByParameter.userSid = window.sessionStorage.getItem('userSid')
//
this.showInfo(obj.businessSid)
},
mounted() {
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 2,
data: 400 + 'px'
} }
}, '*') } else {
info = row.gdMarkupRate + '%'
}
return info
}, },
methods: { showInfo(sid) {
calculation(row) { this.viewTitle = '定调价策略申请详情'
console.log("calculation》》》》", row) this.$nextTick(() => {
var info = '' this.$refs['form_obj'].clearValidate()
})
if (row.strategyType == 1) { req.init(sid).then((res) => {
info = '固定比例' if (res.success) {
} this.formobj = res.data
if (row.strategyType == 2) { this.formobj.instanceId = res.data.procInstId
info = '价格区间' if (this.formobj.fileList.length > 0) {
} const aa = []
this.formobj.fileList.forEach((e) => {
return info aa.push(e.url)
}, })
calculation2(row) { this.formobj.fileList = aa
var info = ''
if (row.strategyType == 2) {
for (var i = 0; i < row.smsPricestrategyBillGoodstypedetailList.length; i++) {
info += row.smsPricestrategyBillGoodstypedetailList[i].rangeStart + "——" + row
.smsPricestrategyBillGoodstypedetailList[i].rangeEnd + " " + row
.smsPricestrategyBillGoodstypedetailList[i]
.markupRate + ";"
} }
} else {
info = row.gdMarkupRate
} }
})
},
return info /** 确认撤回任务 */
}, openRevoke() {
showInfo(sid) { this.$confirm('是否确认执行撤回操作', '提示', {
this.viewTitle = '定调价策略申请详情' confirmButtonText: '确定',
this.$nextTick(() => { cancelButtonText: '取消',
this.$refs['form_obj'].clearValidate() type: 'warning'
}) }).then(() => {
req.init(sid).then((res) => { this.handleRevoke()
if (res.success) { }).catch(() => {
this.formobj = res.data this.$message({
this.formobj.instanceId = res.data.procInstId type: 'info',
if (this.formobj.fileList.length > 0) { message: '已取消撤回'
const aa = []
this.formobj.fileList.forEach((e) => {
aa.push(e.url)
})
this.formobj.fileList = aa
}
}
}) })
}, })
/** 确认撤回任务 */ },
openRevoke() { /** 撤回任务 */
this.$confirm('是否确认执行撤回操作', '提示', { handleRevoke() {
confirmButtonText: '确定', req.revokeProcess(this.linkByParameter).then((response) => {
cancelButtonText: '取消', if (response.success) {
type: 'warning' this.$notify({
}).then(() => { title: '提示',
this.handleRevoke() message: '执行成功',
}).catch(() => { type: 'success',
this.$message({ duration: 2000
type: 'info',
message: '已取消撤回'
}) })
}) this.nodeDialogVisible = false
}, //
/** 撤回任务 */ window.parent.postMessage({
handleRevoke() { cmd: 'returnHeight',
req.revokeProcess(this.linkByParameter).then((response) => { params: {
if (response.success) { //
this.$notify({ code: 1
title: '提示', }
message: '执行成功', }, '*')
type: 'success', }
duration: 2000 })
})
this.nodeDialogVisible = false
//
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
}
})
}
} }
} }
}
</script> </script>
<style scoped> <style scoped>
.span-sty { .span-sty {
width: 130px !important; width: 130px !important;
} }
.addinputInfo { .addinputInfo {
margin-left: 120px !important; margin-left: 120px !important;
} }
</style> </style>

20
yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairinventorybill/AsBusrepairInventorybillService.java

@ -14,8 +14,6 @@ import com.yxt.anrui.as.api.asbusrepairinventorybill.*;
import com.yxt.anrui.as.api.asbusrepairinventorybilldetail.AsBusrepairInventorybillDetail; import com.yxt.anrui.as.api.asbusrepairinventorybilldetail.AsBusrepairInventorybillDetail;
import com.yxt.anrui.as.api.asbusrepairinventorybilldetail.AsBusrepairInventorybillDetailSDto; import com.yxt.anrui.as.api.asbusrepairinventorybilldetail.AsBusrepairInventorybillDetailSDto;
import com.yxt.anrui.as.api.asbusrepairinventorybilldetail.SitemsVo; import com.yxt.anrui.as.api.asbusrepairinventorybilldetail.SitemsVo;
import com.yxt.anrui.as.api.asbusreservebill.AsBusreserveBillVo;
import com.yxt.anrui.as.api.enums.AsBillTypeEnum;
import com.yxt.anrui.as.api.utils.AsRule; import com.yxt.anrui.as.api.utils.AsRule;
import com.yxt.anrui.as.api.utils.domain.AsBillNo; import com.yxt.anrui.as.api.utils.domain.AsBillNo;
import com.yxt.anrui.as.biz.asbusrepairbill.AsBusrepairBillService; import com.yxt.anrui.as.biz.asbusrepairbill.AsBusrepairBillService;
@ -40,7 +38,6 @@ import com.yxt.common.base.utils.StringUtils;
import com.yxt.common.core.query.PagerQuery; 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 javassist.Loader;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -263,6 +260,19 @@ public class AsBusrepairInventorybillService extends MybatisBaseService<AsBusrep
public String saveBill(AsBusrepairInventorybillDto dto, String busTypeKey) { public String saveBill(AsBusrepairInventorybillDto dto, String busTypeKey) {
AsBusrepairInventorybill entity = new AsBusrepairInventorybill(); AsBusrepairInventorybill entity = new AsBusrepairInventorybill();
BeanUtil.copyProperties(dto, entity, "id", "sid"); BeanUtil.copyProperties(dto, entity, "id", "sid");
String sourceBillSid = entity.getSourceBillSid();//维修单sid
AsBusrepairBill asBusrepairBill = asBusrepairBillService.fetchBySid(sourceBillSid);
String customerSid = "";
String customerName = "";
if (null != asBusrepairBill) {
if (StringUtils.isNotBlank(asBusrepairBill.getCustomerSid())) {
customerSid = asBusrepairBill.getCustomerSid();
}
if (StringUtils.isNotBlank(asBusrepairBill.getCustomerName())) {
customerName = asBusrepairBill.getCustomerName();
}
}
int isEnable = 0; int isEnable = 0;
if (busTypeKey.equals("0")) { if (busTypeKey.equals("0")) {
entity.setBusTypeKey("0"); entity.setBusTypeKey("0");
@ -383,6 +393,8 @@ public class AsBusrepairInventorybillService extends MybatisBaseService<AsBusrep
BeanUtil.copyProperties(inventory, recordDto, "sid", "createBySid"); BeanUtil.copyProperties(inventory, recordDto, "sid", "createBySid");
recordDto.setCount(sDto.getCount()); recordDto.setCount(sDto.getCount());
recordDto.setCurrentCount(subtractCount.toString()); recordDto.setCurrentCount(subtractCount.toString());
recordDto.setCustomerSid(customerSid);
recordDto.setCustomerName(customerName);
wmsInventoryRecordFeign.save(recordDto); wmsInventoryRecordFeign.save(recordDto);
} else if (busTypeKey.equals("1")) { } else if (busTypeKey.equals("1")) {
//维修退库 //维修退库
@ -405,6 +417,8 @@ public class AsBusrepairInventorybillService extends MybatisBaseService<AsBusrep
BeanUtil.copyProperties(inventory, recordDto, "sid", "createBySid"); BeanUtil.copyProperties(inventory, recordDto, "sid", "createBySid");
recordDto.setCount(sDto.getCount()); recordDto.setCount(sDto.getCount());
recordDto.setCurrentCount(add.toString()); recordDto.setCurrentCount(add.toString());
recordDto.setCustomerSid(customerSid);
recordDto.setCustomerName(customerName);
wmsInventoryRecordFeign.save(recordDto); wmsInventoryRecordFeign.save(recordDto);
} }
wmsInventoryFeign.updateInventoryCount(countQuery); wmsInventoryFeign.updateInventoryCount(countQuery);

4
yxt-as/src/main/java/com/yxt/anrui/as/feign/wms/wmsInventoryrecord/WmsInventoryRecordDto.java

@ -125,4 +125,8 @@ public class WmsInventoryRecordDto implements Dto {
private String preBillSid; private String preBillSid;
@ApiModelProperty("前一单编号") @ApiModelProperty("前一单编号")
private String preBillNo; private String preBillNo;
@ApiModelProperty("客户sid")
private String customerSid;
@ApiModelProperty("客户名称")
private String customerName;
} }

2
yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SmsSalesBillService.java

@ -963,6 +963,8 @@ public class SmsSalesBillService extends MybatisBaseService<SmsSalesBillMapper,
BeanUtil.copyProperties(inventory, recordDto, "sid", "createBySid"); BeanUtil.copyProperties(inventory, recordDto, "sid", "createBySid");
recordDto.setCount(inventoryCount.toString()); recordDto.setCount(inventoryCount.toString());
recordDto.setCurrentCount(subtractCount.toString()); recordDto.setCurrentCount(subtractCount.toString());
recordDto.setCustomerSid(smsSalesBill.getCustomerSid());
recordDto.setCustomerName(smsSalesBill.getCustomerName());
wmsInventoryRecordFeign.save(recordDto); wmsInventoryRecordFeign.save(recordDto);
WmsUpdateCountQuery countQuery = new WmsUpdateCountQuery(); WmsUpdateCountQuery countQuery = new WmsUpdateCountQuery();
countQuery.setSid(inventorySid); countQuery.setSid(inventorySid);

5
yxt-sms-biz/src/main/java/com/yxt/sms/feign/wms/wmsinventoryrecord/WmsInventoryRecordDto.java

@ -112,5 +112,8 @@ public class WmsInventoryRecordDto implements Dto {
private String createOrgSid; private String createOrgSid;
@ApiModelProperty("使用组织sid") @ApiModelProperty("使用组织sid")
private String useOrgSid; private String useOrgSid;
@ApiModelProperty("客户sid")
private String customerSid;
@ApiModelProperty("客户名称")
private String customerName;
} }

4
yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsInventoryRecordRest.java

@ -150,6 +150,9 @@ public class WmsInventoryRecordRest {
@PostMapping("/pageList") @PostMapping("/pageList")
ResultBean<PagerVo<WmsInventoryRecordsVo>> pageList(@RequestBody PagerQuery<WmsInventoryRecordsQuery> pagerQuery){ ResultBean<PagerVo<WmsInventoryRecordsVo>> pageList(@RequestBody PagerQuery<WmsInventoryRecordsQuery> pagerQuery){
ResultBean<PagerVo<WmsInventoryRecordsVo>> rb = ResultBean.fireFail(); ResultBean<PagerVo<WmsInventoryRecordsVo>> rb = ResultBean.fireFail();
WmsInventoryRecordsQuery params = pagerQuery.getParams();
params.setType("配件库");
pagerQuery.setParams(params);
PagerVo<WmsInventoryRecordsVo> pv = wmsInventoryRecordService.listPage(pagerQuery); PagerVo<WmsInventoryRecordsVo> pv = wmsInventoryRecordService.listPage(pagerQuery);
return rb.success().setData(pv); return rb.success().setData(pv);
} }
@ -166,6 +169,7 @@ public class WmsInventoryRecordRest {
@PostMapping("/exportExcel") @PostMapping("/exportExcel")
@ApiOperation(value = "出入库记录导出") @ApiOperation(value = "出入库记录导出")
public void exportExcel(@RequestBody WmsInventoryRecordsQuery query) { public void exportExcel(@RequestBody WmsInventoryRecordsQuery query) {
query.setType("配件库");
//得到所有要导出的数据 //得到所有要导出的数据
List<WmsInventoryRecordsExcelVo> exportVoList = wmsInventoryRecordService.listExcel(query); List<WmsInventoryRecordsExcelVo> exportVoList = wmsInventoryRecordService.listExcel(query);
//定义导出的excel名字 //定义导出的excel名字

4
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventoryrecord/WmsInventoryRecord.java

@ -118,4 +118,8 @@ public class WmsInventoryRecord extends BaseEntity {
private String preBillSid; private String preBillSid;
@ApiModelProperty("前一单编号") @ApiModelProperty("前一单编号")
private String preBillNo; private String preBillNo;
@ApiModelProperty("客户sid")
private String customerSid;
@ApiModelProperty("客户名称")
private String customerName;
} }

7
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventoryrecord/WmsInventoryRecordDto.java

@ -27,13 +27,10 @@ package com.yxt.wms.biz.inventory.wmsinventoryrecord;
import com.yxt.common.core.dto.Dto; import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal;
/** /**
* Project: wms(yxt) <br/> * Project: wms(yxt) <br/>
* File: WmsInventoryRecordDto.java <br/> * File: WmsInventoryRecordDto.java <br/>
@ -128,4 +125,8 @@ public class WmsInventoryRecordDto implements Dto {
private String preBillSid; private String preBillSid;
@ApiModelProperty("前一单编号") @ApiModelProperty("前一单编号")
private String preBillNo; private String preBillNo;
@ApiModelProperty("客户sid")
private String customerSid;
@ApiModelProperty("客户名称")
private String customerName;
} }

22
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventoryrecord/WmsInventoryRecordService.java

@ -28,28 +28,24 @@ package com.yxt.wms.biz.inventory.wmsinventoryrecord;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
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;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.wms.biz.inventory.wmsinventory.WmsInventory; import com.yxt.wms.biz.inventory.wmsinventory.WmsInventory;
import com.yxt.wms.biz.inventory.wmsinventory.WmsInventoryService; import com.yxt.wms.biz.inventory.wmsinventory.WmsInventoryService;
import com.yxt.wms.biz.inventory.wmsinventory.WmsInventoryVo;
import com.yxt.wms.biz.inventory.wmsinventoryrecord.report.*; import com.yxt.wms.biz.inventory.wmsinventoryrecord.report.*;
import com.yxt.wms.biz.inventory.wmsoldinventory.WmsOldInventoryDetailsListVo; import com.yxt.wms.biz.inventory.wmsoldinventory.WmsOldInventoryDetailsListVo;
import com.yxt.wms.feign.portal.privilege.PrivilegeQuery; import com.yxt.wms.feign.portal.privilege.PrivilegeQuery;
import com.yxt.wms.feign.portal.sysuser.SysUserFeign; import com.yxt.wms.feign.portal.sysuser.SysUserFeign;
import com.yxt.wms.feign.portal.sysuser.SysUserVo;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
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 java.math.BigDecimal; import java.math.BigDecimal;
import java.text.ParseException; import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
import java.util.Date; import java.util.Date;
@ -318,9 +314,7 @@ public class WmsInventoryRecordService extends MybatisBaseService<WmsInventoryRe
qw.like("wir.handlerName", query.getHandlerName()); qw.like("wir.handlerName", query.getHandlerName());
} }
if (StringUtils.isNotBlank(query.getType())) { if (StringUtils.isNotBlank(query.getType())) {
if (query.getType().equals("拆件库")) { qw.eq("i.warehouseTypeValue", query.getType());
qw.eq("i.warehouseTypeValue", "拆件库");
}
} }
IPage<WmsInventoryRecord> page = PagerUtil.queryToPage(pagerQuery); IPage<WmsInventoryRecord> page = PagerUtil.queryToPage(pagerQuery);
IPage<WmsInventoryRecordsVo> pagging = baseMapper.listPage(page, qw); IPage<WmsInventoryRecordsVo> pagging = baseMapper.listPage(page, qw);
@ -415,9 +409,7 @@ public class WmsInventoryRecordService extends MybatisBaseService<WmsInventoryRe
qw.like("wir.handlerName", query.getHandlerName()); qw.like("wir.handlerName", query.getHandlerName());
} }
if (StringUtils.isNotBlank(query.getType())) { if (StringUtils.isNotBlank(query.getType())) {
if (query.getType().equals("拆件库")) { qw.eq("i.warehouseTypeValue", query.getType());
qw.eq("i.warehouseTypeValue", "拆件库");
}
} }
List<WmsInventoryRecordsExcelVo> list = baseMapper.listExcel(qw); List<WmsInventoryRecordsExcelVo> list = baseMapper.listExcel(qw);
list.removeAll(Collections.singleton(null)); list.removeAll(Collections.singleton(null));

7
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/WmsShelfBillService.java

@ -795,8 +795,9 @@ public class WmsShelfBillService extends MybatisBaseService<WmsShelfBillMapper,
recordDto.setHandlerSid(dto.getUserSid()); recordDto.setHandlerSid(dto.getUserSid());
recordDto.setHandlerName(createByName); recordDto.setHandlerName(createByName);
recordDto.setGoodsID(goodsID); recordDto.setGoodsID(goodsID);
recordDto.setSourceBillSid(shelvesId); recordDto.setPreBillSid(shelvesId);
recordDto.setBillNo(wmsShelfBill.getBillNo()); recordDto.setPreBillNo(wmsShelfBill.getBillNo());
recordDto.setBillType("1"); recordDto.setBillType("1");
recordDto.setBusTypeKey("01"); recordDto.setBusTypeKey("01");
recordDto.setBusTypeValue("采购入库"); recordDto.setBusTypeValue("采购入库");
@ -821,6 +822,8 @@ public class WmsShelfBillService extends MybatisBaseService<WmsShelfBillMapper,
String ansSid = wmsReceiptBill.getSourceBillSid(); //预约入库sid String ansSid = wmsReceiptBill.getSourceBillSid(); //预约入库sid
WmsAnsBill ansBill = wmsAnsBillService.fetchBySid(ansSid); WmsAnsBill ansBill = wmsAnsBillService.fetchBySid(ansSid);
if (null != ansBill) { if (null != ansBill) {
recordDto.setSourceBillSid(ansBill.getSourceBillSid());
recordDto.setBillNo(ansBill.getSourceBillNo());
if (null != ansBill.getTaxRate()) { if (null != ansBill.getTaxRate()) {
recordDto.setTaxRate(ansBill.getTaxRate().toString()); recordDto.setTaxRate(ansBill.getTaxRate().toString());
} }

Loading…
Cancel
Save