Browse Source

Merge remote-tracking branch 'origin/master'

master
ligaode 2 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.setVoucherNo(voucher.getUseOrgCode());
}
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String formatDate = sdf.format(date);
String formatDate = voucher.getBussDate();
String[] split = formatDate.split("-");
String month = split[1];
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.bussalesordervehicle.BusSalesOrderVehicle;
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.voucher.GeneralVoucher;
import com.yxt.anrui.flowable.api.flow.FlowableFeign;
@ -124,6 +126,8 @@ public class LoanMonthlyAccrualApplyService extends MybatisBaseService<LoanMonth
private MessageListFeign messageListFeign;
@Autowired
private LoanRepaymentScheduleService loanRepaymentScheduleService;
@Autowired
private FinTempTimePushFeign finTempTimePushFeign;
public ResultBean<LoanMonthlyAccrualApplyInit> accrualInit(String orgPath) {
ResultBean<LoanMonthlyAccrualApplyInit> rb = ResultBean.fireFail();
@ -636,21 +640,27 @@ public class LoanMonthlyAccrualApplyService extends MybatisBaseService<LoanMonth
LoanMonthlyAccrualApply accrualApply = fetchBySid(businessSid);
accrualApply.setClosingDate(new DateTime());
baseMapper.updateById(accrualApply);
try {
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
.setNameFormat("demo-pool-%d").build();
ExecutorService pool = new org.apache.tomcat.util.threads.ThreadPoolExecutor(1, 10,
1000, TimeUnit.MILLISECONDS,
new LinkedBlockingQueue<Runnable>(1024), namedThreadFactory, new org.apache.tomcat.util.threads.ThreadPoolExecutor.AbortPolicy());
//推送月还计提凭证数据
Future future = pool.submit(() -> {
pushAccrualVoucher(businessSid);
});
} catch (Exception e) {
e.printStackTrace();
log.error("推送数据失败=========================" + e.getMessage());
return rb.setMsg("推送数据失败");
}
//推送金蝶保存数据临时表
FinTempTimePushDto finTempTimePushDto = new FinTempTimePushDto();
finTempTimePushDto.setCreateBySid(accrualApply.getCreateBySid());
finTempTimePushDto.setBusSid(businessSid);
finTempTimePushDto.setBusType("月还计提");
finTempTimePushFeign.save(finTempTimePushDto);
// try {
// ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
// .setNameFormat("demo-pool-%d").build();
// ExecutorService pool = new org.apache.tomcat.util.threads.ThreadPoolExecutor(1, 10,
// 1000, TimeUnit.MILLISECONDS,
// new LinkedBlockingQueue<Runnable>(1024), namedThreadFactory, new org.apache.tomcat.util.threads.ThreadPoolExecutor.AbortPolicy());
// //推送月还计提凭证数据
// Future future = pool.submit(() -> {
// pushAccrualVoucher(businessSid);
// });
// } catch (Exception e) {
// e.printStackTrace();
// log.error("推送数据失败=========================" + e.getMessage());
// return rb.setMsg("推送数据失败");
// }
}
return rb.success().setData(resultBean.getData());
} else {
@ -659,6 +669,7 @@ public class LoanMonthlyAccrualApplyService extends MybatisBaseService<LoanMonth
}
private void pushAccrualVoucher(String businessSid) {
LoanMonthlyAccrualApply apply = fetchBySid(businessSid);
List<LoanMonthlyAccrualRecord> records = loanMonthlyAccrualRecordService.selByMainSid(businessSid);
if (!records.isEmpty()) {
int index = 1000;
@ -669,6 +680,7 @@ public class LoanMonthlyAccrualApplyService extends MybatisBaseService<LoanMonth
List<LoanMonthlyAccrualRecord> newList = records.subList(i, i + index);
if (!newList.isEmpty()) {
GeneralVoucher generalVoucher = new GeneralVoucher();
generalVoucher.setBussDate(DateUtil.formatDate(apply.getClosingDate()));
List<GeneralVoucher.GeneralVoucherDetail> voucherDetails = new ArrayList<>();
for (LoanMonthlyAccrualRecord v : newList) {
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 class="tab-header webtop">
<!-- 标题 -->
<div>{{title}}定调价策略申请</div>
<div>{{ title }}定调价策略申请</div>
<!-- start 添加修改按钮 -->
<div>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="saveOrUpdate">保存</el-button>
@ -13,15 +13,9 @@
<!-- end 添加修改按钮 -->
<!-- end 详情按钮 -->
</div>
<div class="listconadd">
<el-form ref="form_obj" :model="formobj" class="formaddcopy02">
<!-- <div class="title">
<div>基础信息</div>
</div> -->
<el-row class="first_row">
<el-col :span="8">
<div class="span-sty">申请人</div>
<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-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">备注</div>
<el-form-item> <el-input v-model="formobj.remarks" placeholder="" class="addinputw addinputInfo"
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-row>
<div class="title titleOne">
<div>商品类别列表</div>
<el-button type="primary" size="mini" class="btntopblueline" @click="categoryAdd()">添加</el-button>
</div>
<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">
<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>
</template>
</el-table-column>
<el-table-column label="类别编码" prop="goodsTypeCode" align="center" />
<el-table-column label="类别名称" prop="goodsTypeName" align="center" />
<el-table-column label="类别编码" prop="goodsTypeCode" align="center"/>
<el-table-column label="类别名称" prop="goodsTypeName" align="center"/>
<el-table-column label="价格策略" align="center">
<template slot-scope="scope">
{{calculation(scope.row)}}
{{ calculation(scope.row) }}
</template>
</el-table-column>
<el-table-column label="策略明细" align="center" width="600">
<template slot-scope="scope">
{{calculation2(scope.row)}}
{{ calculation2(scope.row) }}
</template>
</el-table-column>
</el-table>
</el-form>
</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>
</template>
<script>
import req from '@/api/storage/adjustment.js'
import {
getCurrentDate
} from '@/utils/index.js'
import choosecategory from './relation/choosecategory'
import editPriceStrategy from './relation/editPriceStrategy'
import {
getOrgSidByPath
} from '@/api/Common/dictcommons'
export default {
components: {
choosecategory,
editPriceStrategy
import req from '@/api/storage/adjustment.js'
import {
getCurrentDate
} from '@/utils/index.js'
import choosecategory from './relation/choosecategory'
import editPriceStrategy from './relation/editPriceStrategy'
import {
getOrgSidByPath
} from '@/api/Common/dictcommons'
export default {
components: {
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() {
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": []
},
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
},
created() {
deleteGoodsType(index) {
this.formobj.smsPricestrategyBillDetailList.splice(index, 1)
},
methods: {
calculation(row) {
console.log("calculation》》》》", row)
var info = ''
if (row.strategyType == 1) {
info = '固定比例'
}
if (row.strategyType == 2) {
info = '价格区间'
}
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 + ";"
editPriceStrategy(row) {
this.viewState = 3
const aa = []
this.$refs['editPriceStrategy'].showAdd(aa, row)
},
backData(value) {
this.viewState = 1
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
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 + '%;'
}
console.log('>>>>>>>>>backData2', info)
const choose = this.formobj.smsPricestrategyBillDetailList.filter((item) => item.goodsTypeSid == value
.goodsTypeSid)
console.log('>>>>>>>>>busTypeSelect', choose)
// choose[0].strategyDetail = value.strategyType == 0 ? value.gdMarkupRate : info
choose[0].smsPricestrategyBillGoodstypedetailList = value.smsPricestrategyBillGoodstypedetailList
choose[0].strategyType = value.strategyType
// choose[0].strategyTypeValue = value.strategyType == 0 ? '' : ''
if (value.strategyType == 1) {
choose[0].strategyTypeValue = '固定比例'
choose[0].strategyDetail = value.gdMarkupRate
}
if (value.strategyType == 2) {
choose[0].strategyTypeValue = '价格区间'
choose[0].strategyDetail = info
}
console.log('>>>>>>>>>backData2', choose)
},
resetState() {
this.viewState = 1
},
categoryAdd() {
this.viewState = 2
const aa = []
this.$refs['choosecategory'].showData(aa, this.formobj.createOrgSid)
},
indexMethod(index) {
return index + 1
},
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(() => {
}
const choose = this.formobj.smsPricestrategyBillDetailList.filter((item) => item.goodsTypeSid == value.goodsTypeSid)
choose[0].smsPricestrategyBillGoodstypedetailList = value.smsPricestrategyBillGoodstypedetailList
choose[0].strategyType = value.strategyType
if (value.strategyType == 1) {
choose[0].strategyTypeValue = '固定比例'
choose[0].strategyDetail = value.gdMarkupRate
}
if (value.strategyType == 2) {
choose[0].strategyTypeValue = '价格区间'
choose[0].strategyDetail = info
}
},
resetState() {
this.viewState = 1
},
categoryAdd() {
this.viewState = 2
const aa = []
this.$refs['choosecategory'].showData(aa, this.formobj.createOrgSid)
},
indexMethod(index) {
return index + 1
},
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: '保存成功'
})
this.handleReturn('true')
} else {
this.submitdisabled = false
})
}
})
},
submintdate() {
console.log('>>>>>>>>>saveOrUpdate', this.formobj)
if (this.formobj.smsPricestrategyBillDetailList.length == 0) {
this.$message({
showClose: true,
type: 'warning',
message: '请添加商品类别'
}
}).catch(() => {
this.submitdisabled = false
})
return
}
this.$refs['form_obj'].validate((valid) => {
if (valid) {
this.submitdisabled = true
req.submit(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
})
}
})
},
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
}
})
},
submintdate() {
if (this.formobj.smsPricestrategyBillDetailList.length == 0) {
this.$message({
showClose: true,
type: 'warning',
message: '请添加商品类别'
})
},
showEdit(row) {
this.title = '【编辑】'
req.init(row.sid)
.then(resp => {
if (resp.success) {
this.formobj = resp.data
return
}
this.$refs['form_obj'].validate((valid) => {
if (valid) {
this.submitdisabled = true
req.submit(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
})
.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>
<style scoped>
/deep/ .el-form-item__error {
margin-left: 120px !important;
}
.must {
color: #f00;
}
.span-sty {
width: 130px !important;
}
.addinputInfo {
margin-left: 120px !important;
}
.formaddcopy02 .el-row .el-col /deep/ .el-form-item .addinputw {
margin-left: 120px !important;
width: calc(100% - 115px);
}
.first_row {
border-top: 1px solid #E0E3EB;
}
.titleOne {
padding: 7px;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
}
/deep/ .el-form-item__error {
margin-left: 120px !important;
}
.must {
color: #f00;
}
.span-sty {
width: 130px !important;
}
.addinputInfo {
margin-left: 120px !important;
}
.formaddcopy02 .el-row .el-col /deep/ .el-form-item .addinputw {
margin-left: 120px !important;
width: calc(100% - 115px);
}
.first_row {
border-top: 1px solid #E0E3EB;
}
.titleOne {
padding: 7px;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
}
</style>

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

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

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

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

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

@ -2,7 +2,7 @@
<div class="app-container">
<!--列表页面-->
<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查询列表部分-->
<div class="main-content">
<div class="searchcon">
@ -10,44 +10,48 @@
<div v-show="isSearchShow" class="search">
<el-form ref="listQueryform" :inline="true" :model="listQuery" label-width="100px" class="tab-header">
<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 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 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 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 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 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 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 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 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 label="发生时间">
<el-date-picker v-model="listQuery.params.createTimeStart" value-format="yyyy-MM-dd" format="yyyy-MM-dd"
type="date" placeholder="选择日期"></el-date-picker>
<el-date-picker v-model="listQuery.params.createTimeStart" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date" placeholder="选择日期"></el-date-picker>
<span style="padding: 0 8px"></span>
<el-date-picker v-model="listQuery.params.createTimeEnd" value-format="yyyy-MM-dd" format="yyyy-MM-dd"
type="date" placeholder="选择日期"></el-date-picker>
<el-date-picker v-model="listQuery.params.createTimeEnd" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date" placeholder="选择日期"></el-date-picker>
</el-form-item>
<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 label="经办人">
<el-input v-model="listQuery.params.handlerName" placeholder="" clearable />
<el-input v-model="listQuery.params.handlerName" placeholder="" clearable/>
</el-form-item>
</el-form>
<div class="btn" style="text-align: center;">
@ -59,13 +63,12 @@
<!--End查询列表部分-->
<div class="listtop">
<div class="tit">商品出入库列表</div>
<pageye v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current"
:limit.sync="listQuery.size" class="pagination" @pagination="getList" />
<pageye v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
</div>
<!--Start 主页面主要部分 -->
<div class="">
<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="goodsSpuName" label="商品名称" align="center" width="180" />
<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="cost" 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="createByName" label="操作人" align="center" width="100" />
<el-table-column prop="handlerName" label="经办人" align="center" width="100" />
@ -95,10 +98,9 @@
</div>
<!--End 主页面主要部分-->
<div class="pages">
<div class="tit" />
<div class="tit"/>
<!-- 翻页 -->
<pagination v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current"
:limit.sync="listQuery.size" class="pagination" @pagination="getList" />
<pagination v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
</div>
<!--End查询列表部分-->
</div>
@ -107,190 +109,210 @@
</template>
<script>
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import ButtonBar from '@/components/ButtonBar'
import req from '@/api/storage/inventory'
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import ButtonBar from '@/components/ButtonBar'
import req from '@/api/storage/inventory'
import { typeValues } from '@/api/Common/dictcommons'
export default {
name: 'InventoryRefer',
components: {
Pagination,
pageye,
ButtonBar
},
data() {
return {
btndisabled: false,
btnList: [{
type: 'primary',
size: 'small',
icon: 'export',
btnKey: 'doExport',
btnLabel: '导出'
},
{
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}
],
isSearchShow: false,
searchxianshitit: '显示查询条件',
viewState: 1, // 1 2 3 4
tableKey: 0,
list: [],
sids: [], // SIDs
FormLoading: false,
listLoading: false,
//
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: ''
}
export default {
name: 'InventoryRefer',
components: {
Pagination,
pageye,
ButtonBar
},
data() {
return {
btndisabled: false,
btnList: [{
type: 'primary',
size: 'small',
icon: 'export',
btnKey: 'doExport',
btnLabel: '导出'
},
{
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}
],
isSearchShow: false,
searchxianshitit: '显示查询条件',
viewState: 1, // 1 2 3 4
tableKey: 0,
list: [],
sids: [], // SIDs
busType_list: [],
billType_list: [
{
dictKey: '0',
dictValue: '出库'
},
{
dictKey: '1',
dictValue: '入库'
}
],
FormLoading: false,
listLoading: false,
//
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: ''
}
}
}
},
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() {
//
this.getList()
//
clicksearchShow() {
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: {
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
//
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.pageList(this.listQuery).then((response) => {
this.listLoading = false
if (response.success) {
this.list = response.data.records
this.listQuery.total = response.data.total
} else {
this.searchxianshitit = '显示查询条件'
this.list = []
this.listQuery.total = 0
}
},
btnHandle(btnKey) {
console.log('XXXXXXXXXXXXXXX ' + btnKey)
switch (btnKey) {
case 'doExport':
this.doExport()
break
case 'doClose':
this.doClose()
break
default:
break
}
},
//
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.pageList(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
}
})
},
//
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: ''
}
})
},
//
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>
<style scoped>
</style>

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

@ -34,17 +34,17 @@
</el-row>
<div class="title">商品类别列表</div>
<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 label="类别编码" prop="goodsTypeCode" align="center" />
<el-table-column label="类别名称" prop="goodsTypeName" 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="goodsTypeName" align="center"/>
<el-table-column label="价格策略" align="center">
<template slot-scope="scope">
{{calculation(scope.row)}}
{{ calculation(scope.row) }}
</template>
</el-table-column>
<el-table-column label="策略明细" align="center" width="600">
<template slot-scope="scope">
{{calculation2(scope.row)}}
{{ calculation2(scope.row) }}
</template>
</el-table-column>
@ -82,8 +82,10 @@
<span>意见:</span>
</el-col>
<el-col :span="20">
<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-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-row>
<div style="text-align:center;margin-top: 20px;">
@ -96,372 +98,366 @@
</template>
<script>
import req from '@/api/storage/adjustment.js'
import {
selectStaffListss
} from '@/api/Common/dictcommons'
import req from '@/api/storage/adjustment.js'
import {
selectStaffListss
} from '@/api/Common/dictcommons'
export default {
name: '',
data() {
return {
viewTitle: '',
viewState: 1,
tableKey: 1,
index: 0,
formobj: {
"sid": "",
"createByName": "",
"billNo": "",
"deptName": "",
"deptSid": "",
"remarks": "",
"createBySid": "",
"createTime": "",
"procDefId": "",
"nodeId": "",
"procInstId": "",
"nodeState": "",
"taskId": "",
"finishTime": "",
"useOrgSid": "",
"useOrgName": "",
"smsPricestrategyBillDetailList": []
},
rules: {},
options: [],
operation: '', //
dialogList: {
comment: ''
},
startTask: true,
current: {
taskDefKey: '',
taskName: '' //
},
nextNode: {}, //
nodeDialogVisible: false,
currentLink: true,
countersignLink: false,
//
linkByParameter: {
businessSid: '',
comment: '',
instanceId: '',
taskId: '',
orgSidPath: '',
taskDefKey: '',
userSid: ''
},
//
countersign: {
taskId: '',
assignee: '',
userSid: '',
instanceId: '',
views: ''
}
export default {
name: '',
data() {
return {
viewTitle: '',
viewState: 1,
tableKey: 1,
index: 0,
formobj: {
"sid": "",
"createByName": "",
"billNo": "",
"deptName": "",
"deptSid": "",
"remarks": "",
"createBySid": "",
"createTime": "",
"procDefId": "",
"nodeId": "",
"procInstId": "",
"nodeState": "",
"taskId": "",
"finishTime": "",
"useOrgSid": "",
"useOrgName": "",
"smsPricestrategyBillDetailList": []
},
rules: {},
options: [],
operation: '', //
dialogList: {
comment: ''
},
startTask: true,
current: {
taskDefKey: '',
taskName: '' //
},
nextNode: {}, //
nodeDialogVisible: false,
currentLink: true,
countersignLink: false,
//
linkByParameter: {
businessSid: '',
comment: '',
instanceId: '',
taskId: '',
orgSidPath: '',
taskDefKey: '',
userSid: ''
},
//
countersign: {
taskId: '',
assignee: '',
userSid: '',
instanceId: '',
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() {
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'
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
},
methods: {
calculation(row) {
console.log("calculation》》》》", row)
var info = ''
if (row.strategyType == 1) {
info = '固定比例'
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
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) {
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
})
},
//
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
}
return info
},
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
if (this.formobj.fileList.length > 0) {
const aa = []
this.formobj.fileList.forEach((e) => {
aa.push(e.url)
})
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
})
},
//
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
}
},
/** 加签 */
handleCountersign() {
if (this.countersign.assignee === '') {
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: '请选择加签人员'
message: '请填写审批意见'
})
return
} else {
this.handleReject()
}
} else if (this.operation === '终止') {
if (this.dialogList.comment === '') {
this.$message({
showClose: true,
type: 'error',
message: '请填写审批意见'
})
return
} else {
this.handleStop()
}
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
}
}, '*')
}
} else if (this.operation === '加签') {
this.handleCountersign()
}
},
/** 加签 */
handleCountersign() {
if (this.countersign.assignee === '') {
this.$message({
showClose: true,
type: 'error',
message: '请选择加签人员'
})
},
/** 终止任务 */
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
}
}, '*')
}
return
}
if (this.dialogList.comment === '') {
this.$message({
showClose: true,
type: 'error',
message: '请填写审批意见'
})
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>
<style scoped>
.span-sty {
width: 130px !important;
}
.span-sty {
width: 130px !important;
}
.addinputInfo {
margin-left: 120px !important;
}
.addinputInfo {
margin-left: 120px !important;
}
.rowClass {
border-top: 1px solid #E0E3EB;
}
.rowClass {
border-top: 1px solid #E0E3EB;
}
</style>

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

@ -23,310 +23,267 @@
<div class="span-sty">申请日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.createTime }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">备注</div>
<el-form-item><el-input class="addinputInfo" style="width: 80%" v-model="formobj.remarks" clearable
placeholder="" /></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-form-item>
<el-input class="addinputInfo" style="width: 80%" v-model="formobj.remarks" clearable placeholder=""/>
</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-row>
<div class="title">商品类别列表</div>
<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">
<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>
</template>
</el-table-column>
<el-table-column label="类别编码" prop="goodsTypeCode" align="center" />
<el-table-column label="类别名称" prop="goodsTypeName" align="center" />
<el-table-column label="类别编码" prop="goodsTypeCode" align="center"/>
<el-table-column label="类别名称" prop="goodsTypeName" align="center"/>
<el-table-column label="价格策略" align="center">
<template slot-scope="scope">
{{calculation(scope.row)}}
{{ calculation(scope.row) }}
</template>
</el-table-column>
<el-table-column label="策略明细" align="center" width="600">
<template slot-scope="scope">
{{calculation2(scope.row)}}
{{ calculation2(scope.row) }}
</template>
</el-table-column>
</el-table>
</el-form>
</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>
</template>
<script>
import req from '@/api/storage/adjustment.js'
import {
getCurrentDate
} from '@/utils/index.js'
import choosecategory from './relation/choosecategory'
import editPriceStrategy from './relation/editPriceStrategy'
export default {
components: {
choosecategory,
editPriceStrategy
import req from '@/api/storage/adjustment.js'
import choosecategory from './relation/choosecategory'
import editPriceStrategy from './relation/editPriceStrategy'
export default {
components: {
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() {
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": []
},
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
},
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)
deleteGoodsType(index) {
this.formobj.smsPricestrategyBillDetailList.splice(index, 1)
},
mounted() {
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 2,
data: 500 + 'px'
}
}, '*')
editPriceStrategy(row) {
this.viewState = 3
const aa = []
this.$refs['editPriceStrategy'].showAdd(aa, row)
},
methods: {
calculation(row) {
console.log("calculation》》》》", row)
var info = ''
if (row.strategyType == 1) {
info = '固定比例'
}
if (row.strategyType == 2) {
info = '价格区间'
}
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 + ";"
backData(value) {
this.viewState = 1
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
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 + '%;'
}
console.log('>>>>>>>>>backData2', info)
const choose = this.formobj.smsPricestrategyBillDetailList.filter((item) => item.goodsTypeSid == value
.goodsTypeSid)
console.log('>>>>>>>>>busTypeSelect', choose)
// choose[0].strategyDetail = value.strategyType == 0 ? value.gdMarkupRate : info
choose[0].smsPricestrategyBillGoodstypedetailList = value.smsPricestrategyBillGoodstypedetailList
choose[0].strategyType = value.strategyType
// choose[0].strategyTypeValue = value.strategyType == 0 ? '' : ''
if (value.strategyType == 1) {
choose[0].strategyTypeValue = '固定比例'
choose[0].strategyDetail = value.gdMarkupRate
}
if (value.strategyType == 2) {
choose[0].strategyTypeValue = '价格区间'
choose[0].strategyDetail = info
}
const choose = this.formobj.smsPricestrategyBillDetailList.filter((item) => item.goodsTypeSid == value.goodsTypeSid)
choose[0].smsPricestrategyBillGoodstypedetailList = value.smsPricestrategyBillGoodstypedetailList
choose[0].strategyType = value.strategyType
if (value.strategyType == 1) {
choose[0].strategyTypeValue = '固定比例'
choose[0].strategyDetail = value.gdMarkupRate
}
if (value.strategyType == 2) {
choose[0].strategyTypeValue = '价格区间'
choose[0].strategyDetail = info
}
},
resetState() {
this.viewState = 1
},
categoryAdd() {
this.viewState = 2
const aa = []
this.$refs['choosecategory'].showData(aa, this.formobj.createOrgSid)
},
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)
},
resetState() {
this.viewState = 1
},
categoryAdd() {
this.viewState = 2
const aa = []
this.$refs['choosecategory'].showData(aa, this.formobj.createOrgSid)
},
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
}
})
},
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(() => {
})
},
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
})
}
})
},
submit() {
this.$refs['form_obj'].validate((valid) => {
if (valid) {
this.submitdisabled = true
req.submit(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(() => {
}
}).catch(() => {
this.submitdisabled = false
})
}
})
},
submit() {
this.$refs['form_obj'].validate((valid) => {
if (valid) {
this.submitdisabled = true
req.submit(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
})
}
})
}
}
}
</script>
<style scoped>
.span-sty {
width: 130px !important;
}
.span-sty {
width: 130px !important;
}
.addinputInfo {
margin-left: 120px !important;
}
.addinputInfo {
margin-left: 120px !important;
}
</style>

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

@ -31,17 +31,17 @@
</el-row>
<div class="title">商品类别列表</div>
<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 label="类别编码" prop="goodsTypeCode" align="center" />
<el-table-column label="类别名称" prop="goodsTypeName" 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="goodsTypeName" align="center"/>
<el-table-column label="价格策略" align="center">
<template slot-scope="scope">
{{calculation(scope.row)}}
{{ calculation(scope.row) }}
</template>
</el-table-column>
<el-table-column label="策略明细" align="center" width="600">
<template slot-scope="scope">
{{calculation2(scope.row)}}
{{ calculation2(scope.row) }}
</template>
</el-table-column>
@ -53,171 +53,165 @@
</template>
<script>
import req from '@/api/storage/adjustment.js'
import req from '@/api/storage/adjustment.js'
export default {
name: '',
data() {
return {
viewTitle: '',
viewState: 1,
tableKey: 1,
index: 0,
formobj: {
"sid": "",
"createByName": "",
"billNo": "",
"deptName": "",
"deptSid": "",
"remarks": "",
"createBySid": "",
"createTime": "",
"procDefId": "",
"nodeId": "",
"procInstId": "",
"nodeState": "",
"taskId": "",
"finishTime": "",
"useOrgSid": "",
"useOrgName": "",
"smsPricestrategyBillDetailList": []
},
rules: {},
//
linkByParameter: {
businessSid: '',
comment: '',
instanceId: '',
taskId: '',
orgSidPath: '',
taskDefKey: '',
userSid: ''
}
export default {
name: '',
data() {
return {
viewTitle: '',
viewState: 1,
tableKey: 1,
index: 0,
formobj: {
"sid": "",
"createByName": "",
"billNo": "",
"deptName": "",
"deptSid": "",
"remarks": "",
"createBySid": "",
"createTime": "",
"procDefId": "",
"nodeId": "",
"procInstId": "",
"nodeState": "",
"taskId": "",
"finishTime": "",
"useOrgSid": "",
"useOrgName": "",
"smsPricestrategyBillDetailList": []
},
rules: {},
//
linkByParameter: {
businessSid: '',
comment: '',
instanceId: '',
taskId: '',
orgSidPath: '',
taskDefKey: '',
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() {
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'
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
},
methods: {
calculation(row) {
console.log("calculation》》》》", row)
var info = ''
if (row.strategyType == 1) {
info = '固定比例'
}
if (row.strategyType == 2) {
info = '价格区间'
}
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 + ";"
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
if (this.formobj.fileList.length > 0) {
const aa = []
this.formobj.fileList.forEach((e) => {
aa.push(e.url)
})
this.formobj.fileList = aa
}
} else {
info = row.gdMarkupRate
}
return info
},
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
if (this.formobj.fileList.length > 0) {
const aa = []
this.formobj.fileList.forEach((e) => {
aa.push(e.url)
})
this.formobj.fileList = aa
}
}
})
},
/** 确认撤回任务 */
openRevoke() {
this.$confirm('是否确认执行撤回操作', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.handleRevoke()
}).catch(() => {
this.$message({
type: 'info',
message: '已取消撤回'
})
},
/** 确认撤回任务 */
openRevoke() {
this.$confirm('是否确认执行撤回操作', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.handleRevoke()
}).catch(() => {
this.$message({
type: 'info',
message: '已取消撤回'
})
},
/** 撤回任务 */
handleRevoke() {
req.revokeProcess(this.linkByParameter).then((response) => {
if (response.success) {
this.$notify({
title: '提示',
message: '执行成功',
type: 'success',
duration: 2000
})
})
},
/** 撤回任务 */
handleRevoke() {
req.revokeProcess(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
}
}, '*')
}
})
}
this.nodeDialogVisible = false
//
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
}
})
}
}
}
</script>
<style scoped>
.span-sty {
width: 130px !important;
}
.span-sty {
width: 130px !important;
}
.addinputInfo {
margin-left: 120px !important;
}
.addinputInfo {
margin-left: 120px !important;
}
</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.AsBusrepairInventorybillDetailSDto;
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.domain.AsBillNo;
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.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import javassist.Loader;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -263,6 +260,19 @@ public class AsBusrepairInventorybillService extends MybatisBaseService<AsBusrep
public String saveBill(AsBusrepairInventorybillDto dto, String busTypeKey) {
AsBusrepairInventorybill entity = new AsBusrepairInventorybill();
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;
if (busTypeKey.equals("0")) {
entity.setBusTypeKey("0");
@ -383,6 +393,8 @@ public class AsBusrepairInventorybillService extends MybatisBaseService<AsBusrep
BeanUtil.copyProperties(inventory, recordDto, "sid", "createBySid");
recordDto.setCount(sDto.getCount());
recordDto.setCurrentCount(subtractCount.toString());
recordDto.setCustomerSid(customerSid);
recordDto.setCustomerName(customerName);
wmsInventoryRecordFeign.save(recordDto);
} else if (busTypeKey.equals("1")) {
//维修退库
@ -405,6 +417,8 @@ public class AsBusrepairInventorybillService extends MybatisBaseService<AsBusrep
BeanUtil.copyProperties(inventory, recordDto, "sid", "createBySid");
recordDto.setCount(sDto.getCount());
recordDto.setCurrentCount(add.toString());
recordDto.setCustomerSid(customerSid);
recordDto.setCustomerName(customerName);
wmsInventoryRecordFeign.save(recordDto);
}
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;
@ApiModelProperty("前一单编号")
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");
recordDto.setCount(inventoryCount.toString());
recordDto.setCurrentCount(subtractCount.toString());
recordDto.setCustomerSid(smsSalesBill.getCustomerSid());
recordDto.setCustomerName(smsSalesBill.getCustomerName());
wmsInventoryRecordFeign.save(recordDto);
WmsUpdateCountQuery countQuery = new WmsUpdateCountQuery();
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;
@ApiModelProperty("使用组织sid")
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")
ResultBean<PagerVo<WmsInventoryRecordsVo>> pageList(@RequestBody PagerQuery<WmsInventoryRecordsQuery> pagerQuery){
ResultBean<PagerVo<WmsInventoryRecordsVo>> rb = ResultBean.fireFail();
WmsInventoryRecordsQuery params = pagerQuery.getParams();
params.setType("配件库");
pagerQuery.setParams(params);
PagerVo<WmsInventoryRecordsVo> pv = wmsInventoryRecordService.listPage(pagerQuery);
return rb.success().setData(pv);
}
@ -166,6 +169,7 @@ public class WmsInventoryRecordRest {
@PostMapping("/exportExcel")
@ApiOperation(value = "出入库记录导出")
public void exportExcel(@RequestBody WmsInventoryRecordsQuery query) {
query.setType("配件库");
//得到所有要导出的数据
List<WmsInventoryRecordsExcelVo> exportVoList = wmsInventoryRecordService.listExcel(query);
//定义导出的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;
@ApiModelProperty("前一单编号")
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 io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
* Project: wms(yxt) <br/>
* File: WmsInventoryRecordDto.java <br/>
@ -128,4 +125,8 @@ public class WmsInventoryRecordDto implements Dto {
private String preBillSid;
@ApiModelProperty("前一单编号")
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 com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
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.WmsInventoryService;
import com.yxt.wms.biz.inventory.wmsinventory.WmsInventoryVo;
import com.yxt.wms.biz.inventory.wmsinventoryrecord.report.*;
import com.yxt.wms.biz.inventory.wmsoldinventory.WmsOldInventoryDetailsListVo;
import com.yxt.wms.feign.portal.privilege.PrivilegeQuery;
import com.yxt.wms.feign.portal.sysuser.SysUserFeign;
import com.yxt.wms.feign.portal.sysuser.SysUserVo;
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.stereotype.Service;
import java.math.BigDecimal;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
@ -318,9 +314,7 @@ public class WmsInventoryRecordService extends MybatisBaseService<WmsInventoryRe
qw.like("wir.handlerName", query.getHandlerName());
}
if (StringUtils.isNotBlank(query.getType())) {
if (query.getType().equals("拆件库")) {
qw.eq("i.warehouseTypeValue", "拆件库");
}
qw.eq("i.warehouseTypeValue", query.getType());
}
IPage<WmsInventoryRecord> page = PagerUtil.queryToPage(pagerQuery);
IPage<WmsInventoryRecordsVo> pagging = baseMapper.listPage(page, qw);
@ -415,9 +409,7 @@ public class WmsInventoryRecordService extends MybatisBaseService<WmsInventoryRe
qw.like("wir.handlerName", query.getHandlerName());
}
if (StringUtils.isNotBlank(query.getType())) {
if (query.getType().equals("拆件库")) {
qw.eq("i.warehouseTypeValue", "拆件库");
}
qw.eq("i.warehouseTypeValue", query.getType());
}
List<WmsInventoryRecordsExcelVo> list = baseMapper.listExcel(qw);
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.setHandlerName(createByName);
recordDto.setGoodsID(goodsID);
recordDto.setSourceBillSid(shelvesId);
recordDto.setBillNo(wmsShelfBill.getBillNo());
recordDto.setPreBillSid(shelvesId);
recordDto.setPreBillNo(wmsShelfBill.getBillNo());
recordDto.setBillType("1");
recordDto.setBusTypeKey("01");
recordDto.setBusTypeValue("采购入库");
@ -821,6 +822,8 @@ public class WmsShelfBillService extends MybatisBaseService<WmsShelfBillMapper,
String ansSid = wmsReceiptBill.getSourceBillSid(); //预约入库sid
WmsAnsBill ansBill = wmsAnsBillService.fetchBySid(ansSid);
if (null != ansBill) {
recordDto.setSourceBillSid(ansBill.getSourceBillSid());
recordDto.setBillNo(ansBill.getSourceBillNo());
if (null != ansBill.getTaxRate()) {
recordDto.setTaxRate(ansBill.getTaxRate().toString());
}

Loading…
Cancel
Save