2963 lines
109 KiB
JavaScript
2963 lines
109 KiB
JavaScript
//初始化界面
|
||
var kid = sessionStorage.getItem("userId");
|
||
var depotList = null;
|
||
var depotID = null;
|
||
var supplierList = null;
|
||
var supplierID = null;
|
||
var personList = null;
|
||
var personID = null;
|
||
var ProjectSearch=null;
|
||
var userBusinessList=null;
|
||
var userdepot=null;
|
||
var depotHeadMaxId=null; //获取最大的Id
|
||
var accepId=null; //保存的主表id
|
||
var url;
|
||
var depotHeadID = 0;
|
||
var preTotalPrice = 0; //前一次加载的金额
|
||
var orgDepotHead = "";
|
||
var editIndex = undefined;
|
||
var listTitle = ""; //单据标题
|
||
var listType = ""; //入库 出库
|
||
var listSubType = ""; //采购 销售等
|
||
var payTypeTitle = "";//付款 收款
|
||
var organUrl = ""; //组织数据接口地址
|
||
var amountNum = ""; //单据编号开头字符
|
||
var depotString = ""; //店铺id列表
|
||
var orgDefaultId = 0; //单位默认编号
|
||
var orgDefaultList; //存储查询出来的会员列表
|
||
var accountList; //账户列表
|
||
var outItemList; //支出项目列表
|
||
var thisTaxRate = 0; //当前税率,选择供应商或者客户的时候设置
|
||
var oldNumber = ""; //编辑前的单据编号
|
||
var oldId = 0; //编辑前的单据Id
|
||
var otherColumns = true; //明细中的‘别名’列是否显示
|
||
var btnEnableList = getBtnStr(); //获取按钮的权限
|
||
var mPropertyList = ""; //商品属性列表
|
||
var defaultAccountId = 0; //默认账户id
|
||
$(function(){
|
||
//初始化系统基础信息
|
||
getType();
|
||
initSystemData_UB();
|
||
initSelectInfo_UB();
|
||
initSystemData_depot();
|
||
initSelectInfo_depot();
|
||
initSystemData_person();
|
||
initSelectInfo_person();
|
||
initSystemData_account();
|
||
initSelectInfo_account();
|
||
initSupplier(); //供应商
|
||
initSalesman(); //销售人员
|
||
initGift(); //初始化礼品卡
|
||
initOutItemList(); //初始化支出项目
|
||
initMProperty(); //初始化商品属性
|
||
initTableData();
|
||
ininPager();
|
||
initForm();
|
||
bindEvent();//绑定操作事件
|
||
});
|
||
//根据单据名称获取类型
|
||
function getType(){
|
||
listTitle = $("#tablePanel").prev().text();
|
||
depotString = "|";
|
||
//改变宽度和高度
|
||
$("#searchPanel").panel({width:webW-2});
|
||
$("#tablePanel").panel({width:webW-2});
|
||
var supUrl = "/supplier/findBySelect_sup"; //供应商接口
|
||
var cusUrl = "/supplier/findBySelect_cus?UBType=UserCustomer&UBKeyId=" + kid; //客户接口
|
||
var retailUrl = "/supplier/findBySelect_retail"; //散户接口
|
||
if(listTitle === "采购入库列表"){
|
||
listType = "入库";
|
||
listSubType = "采购";
|
||
payTypeTitle = "付款";
|
||
organUrl = supUrl;
|
||
amountNum = "CGRK";
|
||
}
|
||
else if(listTitle === "零售退货列表"){
|
||
listType = "入库";
|
||
listSubType = "零售退货"; //注:用预付款购买的产品不能退货
|
||
payTypeTitle = "付款";
|
||
organUrl = retailUrl;
|
||
amountNum = "LSTH";
|
||
}
|
||
else if(listTitle === "销售退货列表"){
|
||
listType = "入库";
|
||
listSubType = "销售退货";
|
||
payTypeTitle = "付款";
|
||
organUrl = cusUrl;
|
||
amountNum = "XSTH";
|
||
}
|
||
else if(listTitle === "其它入库列表"){
|
||
listType = "入库";
|
||
listSubType = "其它";
|
||
payTypeTitle = "隐藏";
|
||
organUrl = supUrl;
|
||
amountNum = "QTRK";
|
||
}
|
||
else if(listTitle === "零售出库列表"){
|
||
listType = "出库";
|
||
listSubType = "零售";
|
||
payTypeTitle = "收款";
|
||
organUrl = retailUrl;
|
||
amountNum = "LSCK";
|
||
}
|
||
else if(listTitle === "销售出库列表"){
|
||
listType = "出库";
|
||
listSubType = "销售";
|
||
payTypeTitle = "收款";
|
||
organUrl = cusUrl;
|
||
amountNum = "XSCK";
|
||
}
|
||
else if(listTitle === "采购退货列表"){
|
||
listType = "出库";
|
||
listSubType = "采购退货";
|
||
payTypeTitle = "收款";
|
||
organUrl = supUrl;
|
||
amountNum = "CGTH";
|
||
}
|
||
else if(listTitle === "其它出库列表"){
|
||
listType = "出库";
|
||
listSubType = "其它";
|
||
payTypeTitle = "隐藏";
|
||
organUrl = cusUrl;
|
||
amountNum = "QTCK";
|
||
}
|
||
else if(listTitle === "调拨出库列表"){
|
||
listType = "出库";
|
||
listSubType = "调拨";
|
||
payTypeTitle = "隐藏";
|
||
organUrl = supUrl;
|
||
amountNum = "DBCK";
|
||
}
|
||
else if(listTitle === "礼品充值列表"){
|
||
listType = "出库";
|
||
listSubType = "礼品充值";
|
||
payTypeTitle = "隐藏";
|
||
organUrl = supUrl;
|
||
amountNum = "LPCZ";
|
||
}
|
||
else if(listTitle === "礼品销售列表"){
|
||
listType = "出库";
|
||
listSubType = "礼品销售";
|
||
payTypeTitle = "隐藏";
|
||
organUrl = supUrl;
|
||
amountNum = "LPXS";
|
||
}
|
||
else if(listTitle === "组装单列表"){
|
||
listType = "其它";
|
||
listSubType = "组装单";
|
||
payTypeTitle = "隐藏";
|
||
organUrl = supUrl;
|
||
amountNum = "ZZD";
|
||
}
|
||
else if(listTitle === "拆卸单列表"){
|
||
listType = "其它";
|
||
listSubType = "拆卸单";
|
||
payTypeTitle = "隐藏";
|
||
organUrl = supUrl;
|
||
amountNum = "CSD";
|
||
}
|
||
}
|
||
//初始化系统基础信息
|
||
function initSystemData_UB(){
|
||
$.ajax({
|
||
type:"get",
|
||
url: "/userBusiness/getBasicData",
|
||
data: ({
|
||
KeyId:kid,
|
||
Type:"UserDepot"
|
||
}),
|
||
//设置为同步
|
||
async:false,
|
||
dataType: "json",
|
||
success: function (res) {
|
||
if (res && res.code === 200) {
|
||
userBusinessList = res.data.userBusinessList;
|
||
}
|
||
else {
|
||
userBusinessList = null;
|
||
}
|
||
}
|
||
});
|
||
|
||
}
|
||
//初始化页面选项卡
|
||
function initSelectInfo_UB(){
|
||
|
||
if(userBusinessList !=null)
|
||
{
|
||
if(userBusinessList.length>0)
|
||
{
|
||
//用户对应的仓库列表 [1][2][3]...
|
||
userdepot =userBusinessList[0].value;
|
||
}
|
||
}
|
||
}
|
||
|
||
|
||
//初始化系统基础信息
|
||
function initSystemData_depot(){
|
||
$.ajax({
|
||
type:"get",
|
||
url: "/depot/getAllList",
|
||
//设置为同步
|
||
async:false,
|
||
dataType: "json",
|
||
success: function (res) {
|
||
if(res && res.code === 200){
|
||
depotList = res.data;
|
||
} else {
|
||
$.messager.alert('提示', '查找系统基础信息异常,请与管理员联系!', 'error');
|
||
return;
|
||
}
|
||
}
|
||
});
|
||
}
|
||
//初始化页面选项卡
|
||
function initSelectInfo_depot(){
|
||
var options = "";
|
||
|
||
if(depotList !=null)
|
||
{
|
||
options = "";
|
||
for(var i = 0 ;i < depotList.length;i++)
|
||
{
|
||
var depot = depotList[i];
|
||
|
||
if(userdepot!=null)
|
||
{
|
||
if(userdepot.indexOf("["+depot.id+"]")!=-1)
|
||
{
|
||
options += '<option value="' + depot.id + '">' + depot.name + '</option>';
|
||
depotString = depotString + depot.id + ",";
|
||
}
|
||
}
|
||
if(depot.type === 1){
|
||
depotString = depotString + depot.id + ",";
|
||
}
|
||
}
|
||
depotString = depotString.substring(1, depotString.length-1);
|
||
$("#ProjectId").empty().append(options);
|
||
$("#AllocationProjectId").empty().append(options);
|
||
$("#searchProjectId").empty().append('<option value="">全部</option>').append(options);
|
||
}
|
||
}
|
||
|
||
//初始化供应商、客户、散户信息
|
||
function initSupplier(){
|
||
$('#OrganId').combobox({
|
||
url: organUrl,
|
||
valueField:'id',
|
||
textField:'supplier',
|
||
filter: function(q, row){
|
||
var opts = $(this).combobox('options');
|
||
return row[opts.textField].indexOf(q) >-1;
|
||
},
|
||
onLoadSuccess: function(res) {
|
||
var data = $(this).combobox('getData');
|
||
for(var i = 0; i<= data.length; i++){
|
||
if(data && data[i] && data[i].supplier === "非会员"){
|
||
orgDefaultId = data[i].id;
|
||
}
|
||
}
|
||
if(listSubType === "零售"){
|
||
orgDefaultList = res;
|
||
}
|
||
},
|
||
onSelect: function(rec){
|
||
if(listSubType === "零售"){
|
||
var option = "";
|
||
if(rec.supplier !== "非会员" && rec.advanceIn >0){
|
||
option = '<option value="预付款">预付款(' + rec.advanceIn + ')</option>';
|
||
option += '<option value="现付">现付</option>';
|
||
}
|
||
else {
|
||
option += '<option value="现付">现付</option>';
|
||
}
|
||
$("#payType").empty().append(option);
|
||
}
|
||
else{
|
||
$.ajax({
|
||
type:"get",
|
||
url: "/supplier/findById",
|
||
data: {
|
||
supplierId: rec.id
|
||
},
|
||
dataType: "json",
|
||
success: function (res){
|
||
if(res && res.code === 200) {
|
||
if(res.data && res.data[0]){
|
||
thisTaxRate = res.data[0].taxRate; //设置当前的税率
|
||
}
|
||
}
|
||
},
|
||
error:function(){
|
||
|
||
}
|
||
});
|
||
}
|
||
}
|
||
});
|
||
}
|
||
|
||
//初始化销售人员
|
||
function initSalesman(){
|
||
$('#Salesman').combobox({
|
||
url: "/person/getPersonByNumType?type=1",
|
||
valueField:'id',
|
||
textField:'name',
|
||
multiple: true
|
||
});
|
||
}
|
||
|
||
//初始化-礼品卡
|
||
function initGift(){
|
||
if(listSubType == "礼品充值"|| listSubType == "礼品销售"){
|
||
$('#GiftId').combobox({
|
||
url: "/depot/findGiftByType?type=1",
|
||
valueField:'id',
|
||
textField:'name'
|
||
});
|
||
$('#searchGiftId').combobox({
|
||
url: "/depot/findGiftByType?type=1",
|
||
valueField:'id',
|
||
textField:'name'
|
||
});
|
||
}
|
||
if(listSubType == "礼品销售"){
|
||
$.ajax({
|
||
type:"post",
|
||
url: "/supplier/findBySelectRetailNoPeople.action", //散户接口
|
||
dataType: "json",
|
||
success: function (res){
|
||
if(res && res[0]){
|
||
orgDefaultId = res[0].id;
|
||
}
|
||
}
|
||
});
|
||
}
|
||
}
|
||
|
||
//初始化收入项目列表
|
||
function initOutItemList(){
|
||
$.ajax({
|
||
type:"get",
|
||
url: "/inOutItem/findBySelect?type=out",
|
||
//设置为同步
|
||
async:false,
|
||
dataType: "json",
|
||
success: function (res){
|
||
if(res){
|
||
outItemList = res;
|
||
}
|
||
},
|
||
error:function(){
|
||
|
||
}
|
||
});
|
||
}
|
||
|
||
//初始化商品属性
|
||
function initMProperty(){
|
||
$.ajax({
|
||
type: "get",
|
||
url: "/materialProperty/list",
|
||
dataType: "json",
|
||
data: ({
|
||
search: JSON.stringify({
|
||
name: ""
|
||
}),
|
||
currentPage: 1,
|
||
pageSize: 100
|
||
}),
|
||
success: function (res) {
|
||
if(res && res.code === 200){
|
||
if(res.data && res.data.page) {
|
||
var thisRows = res.data.page.rows;
|
||
for (var i = 0; i < thisRows.length; i++) {
|
||
if (thisRows[i].enabled) {
|
||
mPropertyList += thisRows[i].nativeName + ",";
|
||
}
|
||
}
|
||
if (mPropertyList) {
|
||
mPropertyList = mPropertyList.substring(0, mPropertyList.length - 1);
|
||
}
|
||
}
|
||
}
|
||
},
|
||
//此处添加错误处理
|
||
error:function() {
|
||
$.messager.alert('查询提示','查询信息异常,请稍后再试!','error');
|
||
return;
|
||
}
|
||
});
|
||
}
|
||
|
||
//初始化系统基础信息
|
||
function initSystemData_person(){
|
||
$.ajax({
|
||
type:"get",
|
||
url: "/person/getAllList",
|
||
//设置为同步
|
||
async:false,
|
||
dataType: "json",
|
||
success: function (res) {
|
||
if(res && res.code === 200) {
|
||
if(res.data) {
|
||
personList = res.data.personList;
|
||
}
|
||
}
|
||
}
|
||
});
|
||
}
|
||
//初始化页面选项卡
|
||
function initSelectInfo_person(){
|
||
var options1 = "";
|
||
|
||
if(personList !=null)
|
||
{
|
||
for(var i = 0 ;i < personList.length;i++)
|
||
{
|
||
var person = personList[i];
|
||
if(0 == i)
|
||
{
|
||
personID = person.id;
|
||
}
|
||
if(person.type=="仓管员")
|
||
{
|
||
options1 += '<option value="' + person.id + '">' + person.name + '</option>';
|
||
}
|
||
}
|
||
$("#HandsPersonId").empty().append(options1);
|
||
}
|
||
}
|
||
//获取账户信息
|
||
function initSystemData_account(){
|
||
$.ajax({
|
||
type:"get",
|
||
url: "/account/getAccount",
|
||
//设置为同步
|
||
async:false,
|
||
dataType: "json",
|
||
success: function (res) {
|
||
if(res && res.code === 200) {
|
||
if(res.data) {
|
||
accountList = res.data.accountList;
|
||
}
|
||
}
|
||
}
|
||
});
|
||
}
|
||
//获取账户信息
|
||
function initSelectInfo_account(){
|
||
var options = "";
|
||
if(accountList !=null){
|
||
options = "<option value=''>(空)</option>";
|
||
options += "<option value='many' class='many' data-manyAmount=''>多账户</option>";
|
||
for(var i = 0 ;i < accountList.length;i++) {
|
||
var account = accountList[i];
|
||
options += '<option value="' + account.id + '" data-currentAmount="' + account.currentamount + '">' + account.name + '</option>';
|
||
if(account.isdefault) {
|
||
defaultAccountId = account.id; //给账户赋值默认id
|
||
}
|
||
}
|
||
$("#AccountId").empty().append(options);
|
||
}
|
||
}
|
||
|
||
//防止表单提交重复
|
||
function initForm(){
|
||
$('#depotHeadFM').form({
|
||
onSubmit: function(){
|
||
return false;
|
||
}
|
||
});
|
||
}
|
||
|
||
//初始化表格数据
|
||
function initTableData(){
|
||
var hideType = undefined;
|
||
var isHiddenStatus = true;
|
||
if(payTypeTitle === "隐藏"){
|
||
hideType = true; //隐藏当前列
|
||
}
|
||
var tableToolBar = [
|
||
{
|
||
id:'addDepotHead',
|
||
text:'增加',
|
||
iconCls:'icon-add',
|
||
handler:function()
|
||
{
|
||
addDepotHead();
|
||
}
|
||
},
|
||
{
|
||
id:'deleteDepotHead',
|
||
text:'删除',
|
||
iconCls:'icon-remove',
|
||
handler:function()
|
||
{
|
||
batDeleteDepotHead();
|
||
}
|
||
}
|
||
];
|
||
//如果允许的按钮列表中存在就显示,3-代表审核|反审核的权限
|
||
if(btnEnableList && btnEnableList.indexOf(3)>-1){
|
||
isHiddenStatus = false; //显示
|
||
tableToolBar.push({
|
||
id:'okDepotHead',
|
||
text:'审核',
|
||
iconCls:'icon-ok',
|
||
handler:function() {
|
||
setStatusFun();
|
||
}
|
||
},
|
||
{
|
||
id:'undoDepotHead',
|
||
text:'反审核',
|
||
iconCls:'icon-undo',
|
||
handler:function() {
|
||
setUnStatusFun();
|
||
}
|
||
});
|
||
}
|
||
else {
|
||
isHiddenStatus = true; //隐藏
|
||
}
|
||
var isShowLastMoneyColumn = false; //是否显示优惠后金额和价税合计,true为隐藏,false为显示
|
||
if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "礼品充值" || listSubType == "礼品销售" || listSubType == "组装单" || listSubType == "拆卸单"){
|
||
isShowLastMoneyColumn = true; //隐藏
|
||
}
|
||
var isShowOrganNameColumn = false; //是否显示供应商、客户等信息,true为隐藏,false为显示
|
||
var organNameTitle = ""; //组织名称标题
|
||
if(listSubType == "调拨" || listSubType == "礼品充值" || listSubType == "礼品销售" || listSubType == "组装单" || listSubType == "拆卸单"){
|
||
isShowOrganNameColumn = true; //隐藏
|
||
}
|
||
else {
|
||
if(listTitle == "采购入库列表" || listTitle == "采购退货列表" || listTitle == "其它入库列表"){
|
||
organNameTitle = "供应商名称";
|
||
}
|
||
else if(listTitle == "销售退货列表" || listTitle == "销售出库列表" || listTitle == "其它出库列表"){
|
||
organNameTitle = "客户名称";
|
||
}
|
||
else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){
|
||
organNameTitle = "会员卡号";
|
||
}
|
||
}
|
||
$('#tableData').datagrid({
|
||
height:heightInfo,
|
||
rownumbers: false,
|
||
//动画效果
|
||
animate:false,
|
||
//选中单行
|
||
singleSelect : true,
|
||
collapsible:false,
|
||
selectOnCheck:false,
|
||
pagination: true,
|
||
//交替出现背景
|
||
striped : true,
|
||
pageSize: 10,
|
||
pageList: initPageNum,
|
||
columns:[[
|
||
{ field: 'id',width:35,align:"center",checkbox:true},
|
||
{ title: '操作',field: 'op',align:"center",width:90,
|
||
formatter:function(value,rec) {
|
||
var str = '';
|
||
var rowInfo = rec.id + 'AaBb' + rec.projectid+ 'AaBb' + rec.number+ 'AaBb' + rec.operpersonname
|
||
+ 'AaBb' + rec.opertime+ 'AaBb' + rec.organid+ 'AaBb' + rec.handspersonid
|
||
+ 'AaBb' + rec.accountid+ 'AaBb' + rec.changeamount+ 'AaBb' + rec.remark
|
||
+ 'AaBb' + rec.projectName+ 'AaBb' + rec.organName+ 'AaBb' + rec.handsPersonName
|
||
+ 'AaBb' + rec.accountName + 'AaBb' + rec.totalprice + 'AaBb' + rec.allocationprojectid
|
||
+ 'AaBb' + rec.allocationProjectName + 'AaBb' + rec.paytype + 'AaBb' + rec.salesman
|
||
+ 'AaBb' + rec.discount + 'AaBb' + rec.discountmoney + 'AaBb' + rec.discountlastmoney
|
||
+ 'AaBb' + rec.accountidlist + 'AaBb' + rec.accountmoneylist
|
||
+ 'AaBb' + rec.othermoney + 'AaBb' + rec.othermoneylist + 'AaBb' + rec.othermoneyitem + 'AaBb' + rec.accountday;
|
||
rowInfo = rowInfo.replace(/\"/g, "");
|
||
rowInfo = rowInfo.replace(/\[|]/g,"");
|
||
var orgId = rec.organid? rec.organid:0;
|
||
str += '<img title="查看" src="/js/easyui-1.3.5/themes/icons/list.png" style="cursor: pointer;" onclick="showDepotHead(\'' + rowInfo + '\');"/> ';
|
||
str += '<img title="编辑" src="/js/easyui-1.3.5/themes/icons/pencil.png" style="cursor: pointer;" onclick="editDepotHead(\'' + rowInfo + '\''+',' + rec.status + ');"/> ';
|
||
str += '<img title="删除" src="/js/easyui-1.3.5/themes/icons/edit_remove.png" style="cursor: pointer;" onclick="deleteDepotHead('+ rec.id +',' + orgId +',' + rec.totalprice+',' + rec.status + ');"/>';
|
||
return str;
|
||
}
|
||
},
|
||
{ title: organNameTitle, field: 'organName',width:120, hidden:isShowOrganNameColumn},
|
||
{ title: '单据编号',field: 'number',width:130},
|
||
{ title: '商品信息',field: 'materialsList',width:180,formatter:function(value){
|
||
if(value) {
|
||
return value.replace(",",",");
|
||
}
|
||
}
|
||
},
|
||
{ title: '单据日期 ',field: 'opertime',width:130},
|
||
{ title: '操作员',field: 'operpersonname',width:60},
|
||
{ title: '金额合计',field: 'totalprice',width:60},
|
||
{ title: '含税合计',field: 'totaltaxlastmoney',hidden:isShowLastMoneyColumn,width:60,formatter:function(value,rec){
|
||
return (rec.discountmoney + rec.discountlastmoney).toFixed(2);
|
||
}
|
||
},
|
||
{ title: '优惠后金额',field: 'discountlastmoney',hidden:isShowLastMoneyColumn,width:80},
|
||
{ title: payTypeTitle,field: 'changeamount',width:50,hidden:hideType},
|
||
{ title: '状态',field: 'status',hidden:isHiddenStatus, width:70,align:"center",formatter:function(value){
|
||
return value? "<span style='color:green;'>已审核</span>":"<span style='color:red;'>未审核</span>";
|
||
}
|
||
}
|
||
]],
|
||
toolbar:tableToolBar,
|
||
onLoadError:function() {
|
||
$.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error');
|
||
return;
|
||
}
|
||
});
|
||
}
|
||
|
||
//查找库存的方法
|
||
function findStockNumById(depotId, mId, monthTime, body, input, ratio, type){
|
||
var thisRatio = 1; //比例
|
||
$.ajax({
|
||
url: "/material/findById",
|
||
type: "get",
|
||
dataType: "json",
|
||
data: {
|
||
id: mId
|
||
},
|
||
success: function (rec) {
|
||
if(rec && rec.code === 200 && rec.data && rec.data[0]) {
|
||
var loadRatio = 1; //在单位输入框上面加载比例字段
|
||
if(rec.data[0].unit) { //如果存在计量单位信息
|
||
loadRatio = 1;
|
||
}
|
||
else{
|
||
var unitName = rec.data[0].unitName;
|
||
if(unitName) {
|
||
thisRatio = unitName.substring(unitName.indexOf(":")+1).replace(")","");
|
||
unitName = unitName.substring(0, unitName.indexOf("("));
|
||
}
|
||
var unitArr = unitName.split(",");
|
||
var basicUnit = unitArr[0]; //基础单位
|
||
var otherUnit = unitArr[1]; //副单位
|
||
var unitSetInput =""; //单位
|
||
if(listSubType === "采购" || listSubType === "采购退货"){
|
||
unitSetInput = rec.data[0].firstinunit;
|
||
if(basicUnit==unitSetInput){ //基础单位等于选择的单位
|
||
loadRatio = 1;
|
||
}
|
||
else if(otherUnit==unitSetInput){ //副单位等于选择的单位
|
||
loadRatio = thisRatio;
|
||
}
|
||
}
|
||
else if(listSubType === "销售" || listSubType === "销售退货" || listTitle == "礼品充值" || listTitle == "礼品销售" || listSubType === "零售" || listSubType === "零售退货"){
|
||
unitSetInput = rec.data[0].firstoutunit;
|
||
if(basicUnit==unitSetInput){ //基础单位等于选择的单位
|
||
loadRatio = 1;
|
||
}
|
||
else if(otherUnit==unitSetInput){ //副单位等于选择的单位
|
||
loadRatio = thisRatio;
|
||
}
|
||
}
|
||
}
|
||
//查询库存
|
||
$.ajax({
|
||
type: "get",
|
||
url: '/depotItem/findStockNumById',
|
||
data:{
|
||
projectId: depotId,
|
||
materialId: mId,
|
||
monthTime: monthTime,
|
||
currentPage: 1,
|
||
pageSize: 10
|
||
},
|
||
dataType: "json",
|
||
success: function (res) {
|
||
if(res && res.code === 200) {
|
||
if (res.data && res.data.page && res.data.page[0]) {
|
||
var thisStock = res.data.page[0].thisSum;
|
||
if (type == "select") { //选择下拉框的时候
|
||
if (ratio != undefined && ratio != 1) {
|
||
loadRatio = ratio;
|
||
}
|
||
}
|
||
else if (type == "click") { //点击库存的时候
|
||
if (ratio != undefined) {
|
||
loadRatio = ratio;
|
||
}
|
||
}
|
||
thisStock = (thisStock / loadRatio).toFixed(2);
|
||
body.find("[field='Stock']").find(input).val(thisStock).attr("data-stock", res.rows[0].thisSum); //加载库存数据
|
||
}
|
||
else {
|
||
body.find("[field='Stock']").find(input).val(0).attr("data-stock", 0); //加载库存数据
|
||
}
|
||
body.find("[field='Stock']").find(input).prop("readonly", "readonly"); //设置库存数据为只读
|
||
}
|
||
},
|
||
error:function() {
|
||
$.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error');
|
||
}
|
||
});
|
||
}
|
||
},
|
||
error: function () {
|
||
$.messager.alert('查询提示', '查询数据后台异常,请稍后再试!', 'error');
|
||
}
|
||
});
|
||
}
|
||
//优惠率、合计的统计方法
|
||
function statisticsFun(body,UnitPrice,OperNumber,footer,taxRate){
|
||
var TotalPrice = 0;
|
||
var taxLastMoneyTotal = 0;
|
||
//金额的合计
|
||
body.find("[field='AllPrice']").each(function(){
|
||
if($(this).find("div").text()!==""){
|
||
TotalPrice = TotalPrice + parseFloat($(this).find("div").text().toString());
|
||
}
|
||
});
|
||
TotalPrice = TotalPrice + UnitPrice*OperNumber;
|
||
footer.find("[field='AllPrice']").find("div").text((TotalPrice).toFixed(2)); //金额的合计
|
||
//价税合计的总计
|
||
body.find("[field='TaxLastMoney']").each(function(){
|
||
if($(this).find("div").text()!==""){
|
||
taxLastMoneyTotal = taxLastMoneyTotal + (parseFloat($(this).find("div").text().toString())-0);
|
||
}
|
||
});
|
||
taxLastMoneyTotal = taxLastMoneyTotal + (UnitPrice*OperNumber*(1+taxRate/100));
|
||
footer.find("[field='TaxLastMoney']").find("div").text((taxLastMoneyTotal).toFixed(2)); //价税合计的页脚总计
|
||
var discount = $("#Discount").val(); //优惠率
|
||
var discountMoney = (taxLastMoneyTotal*discount/100).toFixed(2);
|
||
$("#DiscountMoney").val(discountMoney);//优惠金额
|
||
var discountLastMoney = (taxLastMoneyTotal*(1-discount/100)).toFixed(2)
|
||
$("#DiscountLastMoney").val(discountLastMoney);//优惠后金额
|
||
if($("#AccountId").val()!=="many"){
|
||
$("#ChangeAmount").val(discountLastMoney); //本次付、收款
|
||
}
|
||
var changeAmountNum = $("#ChangeAmount").val()-0; //本次付款或者收款
|
||
$("#Debt").val((discountLastMoney-changeAmountNum).toFixed(2)); //本次欠款
|
||
|
||
if(listSubType == "零售" || listSubType == "零售退货") {
|
||
$("#ChangeAmount, #getAmount").val((TotalPrice).toFixed(2));
|
||
$("#backAmount").val(0);
|
||
}
|
||
}
|
||
//初始化表格数据-商品列表-编辑状态
|
||
function initTableData_material(type,TotalPrice){
|
||
var body,footer,input; //定义表格和文本框
|
||
var ratio = 1; //比例-品名专用
|
||
var ratioDepot = 1; //比例-仓库用
|
||
var monthTime = getNowFormatMonth();
|
||
var isShowAnotherDepot = true; //显示对方仓库,true为隐藏,false为显示
|
||
var depotHeadName = ""; //仓库名称
|
||
var depotUrl = ""; //仓库接口地址
|
||
var depotTextField = ""; //仓库下拉名称
|
||
var anotherDepotHeadName = ""; //对方仓库的列的标题
|
||
var anotherDepotUrl = ""; //对方仓库接口地址
|
||
var anotherDepotTextField = "";
|
||
if(listSubType == "调拨"){
|
||
isShowAnotherDepot = false; //调拨时候显示对方仓库
|
||
anotherDepotHeadName = "调入仓库";
|
||
anotherDepotUrl = '/depot/findDepotByUserId?UBType=UserDepot&UBKeyId='+kid;
|
||
anotherDepotTextField = "depotName";
|
||
}
|
||
if(listSubType == "礼品充值"){
|
||
isShowAnotherDepot = false; //礼品充值时候显示礼品卡
|
||
anotherDepotHeadName = "礼品卡";
|
||
anotherDepotUrl = "/depot/findGiftByType.action?type=1";
|
||
anotherDepotTextField = "name";
|
||
}
|
||
if(listSubType == "礼品销售"){
|
||
depotHeadName = "礼品卡";
|
||
depotUrl = "/depot/findGiftByType.action?type=1";
|
||
depotTextField = "name";
|
||
}
|
||
else {
|
||
depotHeadName = "仓库名称";
|
||
depotUrl = '/depot/findDepotByUserId?UBType=UserDepot&UBKeyId='+kid;
|
||
depotTextField = "depotName";
|
||
}
|
||
var isShowTaxColumn = false; //是否显示税率相关的列,true为隐藏,false为显示
|
||
if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "礼品充值" || listSubType == "礼品销售" || listSubType == "组装单" || listSubType == "拆卸单"){
|
||
isShowTaxColumn = true; //隐藏
|
||
}
|
||
var isShowMaterialTypeColumn = true; //是否显示商品类型相关的列,true为隐藏,false为显示
|
||
if(listSubType == "组装单" || listSubType == "拆卸单"){
|
||
isShowMaterialTypeColumn = false; //显示
|
||
}
|
||
$('#materialData').datagrid({
|
||
height:245,
|
||
rownumbers: false,
|
||
//动画效果
|
||
animate:false,
|
||
//选中单行
|
||
singleSelect : true,
|
||
collapsible:false,
|
||
selectOnCheck:false,
|
||
//单击行是否选中
|
||
checkOnSelect : false,
|
||
pagination: false,
|
||
//交替出现背景
|
||
striped : true,
|
||
showFooter: true,
|
||
//loadFilter: pagerFilter,
|
||
onClickRow: onClickRow,
|
||
columns:[[
|
||
{ field: 'Id',width:35,align:"center",checkbox:true},
|
||
{ title: '商品类型',field: 'MType',editor:'validatebox',hidden:isShowMaterialTypeColumn,width:80},
|
||
{ title: depotHeadName, field: 'DepotId', editor: 'validatebox', width: 90,
|
||
formatter: function (value, row, index) {
|
||
return row.DepotName;
|
||
},
|
||
editor: {
|
||
type: 'combobox',
|
||
options: {
|
||
valueField: 'id',
|
||
textField: depotTextField,
|
||
method: 'get',
|
||
url: depotUrl,
|
||
onSelect:function(rec){
|
||
var depotId = rec.id;
|
||
body =$("#depotHeadFM .datagrid-body");
|
||
footer =$("#depotHeadFM .datagrid-footer");
|
||
input = ".datagrid-editable-input";
|
||
var mId = body.find("[field='MaterialId']").find(".combo-value").val();
|
||
if(mId){
|
||
var type = "select"; //type 类型:点击 click,选择 select
|
||
findStockNumById(depotId, mId, monthTime, body, input, ratioDepot, type);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
{ title: '品名(型号)(扩展信息)(单位)',field: 'MaterialId',width:230,
|
||
formatter:function(value,row,index){
|
||
return row.MaterialName;
|
||
},
|
||
editor:{
|
||
type:'combobox',
|
||
options:{
|
||
valueField:'Id',
|
||
textField:'MaterialName',
|
||
method:'get',
|
||
url: "/material/findBySelect",
|
||
panelWidth: 300, //下拉框的宽度
|
||
//全面模糊匹配,过滤字段
|
||
filter: function(q, row){
|
||
var opts = $(this).combobox('options');
|
||
return row[opts.textField].indexOf(q) >-1;
|
||
},
|
||
onBeforeLoad: function(param){
|
||
param.mpList = mPropertyList; //商品属性
|
||
},
|
||
onSelect:function(rec){
|
||
if(rec) {
|
||
var mId = rec.Id;
|
||
$.ajax({
|
||
url: "/material/findById",
|
||
type: "get",
|
||
dataType: "json",
|
||
data: {
|
||
id: mId
|
||
},
|
||
success: function (res) {
|
||
if(res && res.code === 200 && res.data && res.data[0]) {
|
||
var retailPrice = res.data[0].retailprice-0; //零售价格
|
||
var presetPriceOne = res.data[0].presetpriceone-0; //预计采购价
|
||
var presetPriceTwo = res.data[0].presetpricetwo-0; //批发价
|
||
var firstInUnit = res.data[0].firstinunit; //首选入库单位
|
||
var firstOutUnit = res.data[0].firstoutunit; //首选出库单位
|
||
var basicPresetPriceOne = ""; //多单位-入库-基础价格
|
||
var basicPresetPriceTwo = ""; //多单位-出库-基础价格
|
||
var retailPriceOne = ""; //多单位-入库-零售价格
|
||
var otherPresetPriceOne = ""; //多单位-入库-其他价格
|
||
var otherPresetPriceTwo = ""; //多单位-出库-其他价格
|
||
var retailPriceTwo = ""; //多单位-出库-零售价格
|
||
var basicUnit = ""; //基础单位
|
||
var otherUnit = ""; //其他单位
|
||
if(!res.data[0].unit){
|
||
var ps = res.data[0].pricestrategy;
|
||
var psObj = JSON.parse(ps);
|
||
basicPresetPriceOne = psObj[0].basic.PresetPriceOne-0;
|
||
basicPresetPriceTwo = psObj[0].basic.PresetPriceTwo-0;
|
||
retailPriceOne = psObj[0].basic.RetailPrice-0;
|
||
otherPresetPriceOne = psObj[1].other.PresetPriceOne-0;
|
||
otherPresetPriceTwo = psObj[1].other.PresetPriceTwo-0;
|
||
retailPriceTwo = psObj[1].other.RetailPrice-0;
|
||
basicUnit = psObj[0].basic.Unit;
|
||
otherUnit = psObj[1].other.Unit;
|
||
}
|
||
body =$("#depotHeadFM .datagrid-body");
|
||
footer =$("#depotHeadFM .datagrid-footer");
|
||
input = ".datagrid-editable-input";
|
||
if(res.data[0].unit){ //如果存在计量单位信息
|
||
ratio = 1; //重置比例为1
|
||
body.find("[field='Unit']").find(input).val(res.data[0].unit); //设置-计量单位信息
|
||
body.find("[field='Unit']").find(input).prop("readonly","readonly"); //设置计量单位为只读
|
||
body.find("[field='Unit']").find(input).off("click"); //移除点击事件
|
||
body.find("[field='Unit']").find(input).attr("data-ratio",ratio); //修改比例缓存信息
|
||
}
|
||
else {
|
||
var unitName = res.data[0].unitName;
|
||
if(unitName) {
|
||
ratio = unitName.substring(unitName.indexOf(":")+1).replace(")",""); //给比例赋值
|
||
unitName = unitName.substring(0, unitName.indexOf("("));
|
||
}
|
||
var unitArr = unitName.split(",");
|
||
var basicUnit = unitArr[0]; //基础单位
|
||
var otherUnit = unitArr[1]; //副单位
|
||
var unitSetInput =""; //单位
|
||
body.find("[field='Unit']").find(input).prop("readonly","readonly"); //设置计量单位为只读
|
||
var loadRatio = 1; //在单位输入框上面加载比例字段
|
||
if(listSubType === "采购" || listSubType === "采购退货"){
|
||
unitSetInput = res.data[0].firstinunit; //给单位文本框赋值
|
||
if(basicUnit==unitSetInput){ //基础单位等于选择的单位
|
||
loadRatio = 1;
|
||
}
|
||
else if(otherUnit==unitSetInput){ //副单位等于选择的单位
|
||
loadRatio = ratio;
|
||
}
|
||
}
|
||
else if(listSubType === "销售" || listSubType === "销售退货" || listSubType === "礼品充值" || listSubType === "礼品销售" || listSubType === "零售" || listSubType === "零售退货"){
|
||
unitSetInput = res.data[0].firstoutunit; //给单位文本框赋值
|
||
if(basicUnit==unitSetInput){ //基础单位等于选择的单位
|
||
loadRatio = 1;
|
||
}
|
||
else if(otherUnit==unitSetInput){ //副单位等于选择的单位
|
||
loadRatio = ratio;
|
||
}
|
||
}
|
||
body.find("[field='Unit']").find(input).val(unitSetInput).attr("data-ratio", loadRatio); //设置-首选单位
|
||
|
||
body.find("[field='Unit']").find(input).off("click").on("click",function(){
|
||
if(basicUnit && otherUnit) {
|
||
var self = this;
|
||
//定义模版
|
||
var temp = "<div class='unit-list'>";
|
||
temp +="<ul>";
|
||
temp +="<li data-type='basic' data-ratio='1'>" + basicUnit + "</li>";
|
||
temp +="<li data-type='other' data-ratio='" + ratio + "'>" + otherUnit + "</li>";
|
||
temp +="</ul>";
|
||
temp +="</div>";
|
||
if($('.unit-list').length){
|
||
$('.unit-list').remove(); //如果存在计量单位列表先移除
|
||
}
|
||
else {
|
||
$(self).after(temp); //加载列表信息
|
||
}
|
||
//计量单位列表的单击事件
|
||
$('.unit-list ul li').off("click").on("click",function(){
|
||
var unit = $(this).text();
|
||
var thisRatio = $(this).attr("data-ratio"); //获取比例
|
||
$(self).val(unit).attr("data-ratio", thisRatio);
|
||
$(self).keyup(); //模拟键盘操作
|
||
$('.unit-list').remove(); //移除计量单位列表
|
||
var stock = body.find("[field='Stock']").find(input).attr("data-stock"); //从缓存中取值
|
||
var type = $(this).attr("data-type");
|
||
var UnitPrice = 0;
|
||
if(type === "basic"){
|
||
if(listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") {
|
||
UnitPrice = basicPresetPriceOne;
|
||
}
|
||
else if(listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表" || listTitle == "礼品充值列表" || listTitle == "礼品销售列表") {
|
||
UnitPrice = basicPresetPriceTwo;
|
||
}
|
||
else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){
|
||
UnitPrice = retailPriceOne;
|
||
}
|
||
body.find("[field='Stock']").find(input).val(stock); //修改库存
|
||
}
|
||
else if(type === "other"){
|
||
if(listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") {
|
||
UnitPrice = otherPresetPriceOne;
|
||
}
|
||
else if(listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表" || listTitle == "礼品充值列表" || listTitle == "礼品销售列表") {
|
||
UnitPrice = otherPresetPriceTwo;
|
||
}
|
||
else if(listTitle == "零售出库列表" || listTitle == "零售退货列表"){
|
||
UnitPrice = retailPriceTwo;
|
||
}
|
||
body.find("[field='Stock']").find(input).val((stock/ratio).toFixed(2)); //修改库存
|
||
}
|
||
body.find("[field='UnitPrice']").find(input).val(UnitPrice); //单价
|
||
var OperNumber = body.find("[field='OperNumber']").find(input).val(); //获取数量
|
||
var taxRate = body.find("[field='TaxRate']").find(input).val(); //获取税率
|
||
body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价
|
||
body.find("[field='AllPrice']").find(input).val((UnitPrice*OperNumber).toFixed(2)); //金额
|
||
body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额
|
||
body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计
|
||
statisticsFun(body,UnitPrice,OperNumber,footer,taxRate);
|
||
});
|
||
//点击空白处移除计量单位列表
|
||
$(".datagrid-body").off("click").on("click",function(){
|
||
$('.unit-list').remove(); //移除计量单位列表
|
||
});
|
||
}
|
||
});
|
||
}
|
||
var detailPrice = 0; //明细列表-单价
|
||
if(listSubType == "零售" || listSubType == "零售退货") {
|
||
if(res.data[0].unit) { //如果存在计量单位信息
|
||
detailPrice = retailPrice;
|
||
}
|
||
else {
|
||
if (firstOutUnit == basicUnit) {
|
||
detailPrice = retailPriceOne;
|
||
}
|
||
else if (firstOutUnit == otherUnit) {
|
||
detailPrice = retailPriceTwo;
|
||
}
|
||
}
|
||
}
|
||
else if(listTitle == "采购入库列表" || listTitle == "销售退货列表" || listTitle == "其它入库列表") {
|
||
if(res.data[0].unit) { //如果存在计量单位信息
|
||
detailPrice = presetPriceOne;
|
||
}
|
||
else {
|
||
if (firstInUnit == basicUnit) {
|
||
detailPrice = basicPresetPriceOne;
|
||
}
|
||
else if (firstInUnit == otherUnit) {
|
||
detailPrice = otherPresetPriceOne;
|
||
}
|
||
}
|
||
}
|
||
else if(listTitle == "销售出库列表" || listTitle == "采购退货列表" || listTitle == "其它出库列表" || listTitle == "调拨出库列表" || listTitle == "礼品充值列表" || listTitle == "礼品销售列表") {
|
||
if(res.data[0].unit) { //如果存在计量单位信息
|
||
detailPrice = presetPriceTwo;
|
||
}
|
||
else {
|
||
if(firstOutUnit==basicUnit) {
|
||
detailPrice = basicPresetPriceTwo;
|
||
}
|
||
else if(firstOutUnit==otherUnit){
|
||
detailPrice = otherPresetPriceTwo;
|
||
}
|
||
}
|
||
}
|
||
body.find("[field='OperNumber']").find(input).val(1); //数量初始化为1
|
||
//单价和总价赋值
|
||
if(!detailPrice) {
|
||
detailPrice = 0;
|
||
}
|
||
body.find("[field='UnitPrice']").find(input).val(detailPrice);
|
||
body.find("[field='AllPrice']").find(input).val(detailPrice);
|
||
var taxRate = body.find("[field='TaxRate']").find(input).val()-0; //获取税率
|
||
body.find("[field='TaxUnitPrice']").find(input).val((detailPrice*(1+taxRate/100)).toFixed(2)); //含税单价
|
||
body.find("[field='TaxMoney']").find(input).val((detailPrice*(taxRate/100)).toFixed(2)); //税额
|
||
body.find("[field='TaxLastMoney']").find(input).val((detailPrice*(1+taxRate/100)).toFixed(2)); //价税合计
|
||
statisticsFun(body,detailPrice,1,footer,taxRate);
|
||
|
||
//查询库存信息
|
||
var depotId = body.find("[field='DepotId']").find(".combo-value").val();
|
||
if(depotId) {
|
||
var type = "select"; //type 类型:点击 click,选择 select
|
||
findStockNumById(depotId, mId, monthTime, body, input, loadRatio, type);
|
||
}
|
||
}
|
||
},
|
||
error: function() {
|
||
$.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error');
|
||
}
|
||
});
|
||
}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
{ title: '库存',field: 'Stock',editor:'validatebox',width:70},
|
||
{ title: anotherDepotHeadName, field: 'AnotherDepotId',editor:'validatebox',hidden:isShowAnotherDepot,width:90,
|
||
formatter: function (value, row, index) {
|
||
return row.AnotherDepotName;
|
||
},
|
||
editor: {
|
||
type: 'combobox',
|
||
options: {
|
||
valueField: 'id',
|
||
textField: anotherDepotTextField,
|
||
method: 'get',
|
||
url: anotherDepotUrl
|
||
}
|
||
}
|
||
},
|
||
{ title: '单位',field: 'Unit',editor:'validatebox',width:60},
|
||
{ title: '数量',field: 'OperNumber',editor:'validatebox',width:60},
|
||
{ title: '单价',field: 'UnitPrice',editor:'validatebox',width:60},
|
||
{ title: '含税单价',field: 'TaxUnitPrice',editor:'validatebox',hidden:isShowTaxColumn,width:75},
|
||
{ title: '金额',field: 'AllPrice',editor:'validatebox',width:75},
|
||
{ title: '税率(%)',field: 'TaxRate',editor:'validatebox',hidden:isShowTaxColumn,width:75},
|
||
{ title: '税额',field: 'TaxMoney',editor:'validatebox',hidden:isShowTaxColumn,width:75},
|
||
{ title: '价税合计',field: 'TaxLastMoney',editor:'validatebox',hidden:isShowTaxColumn,width:75},
|
||
{ title: '备注',field: 'Remark',editor:'validatebox',width:120},
|
||
{ title: '品名-别',field: 'OtherField1',editor:'validatebox',hidden:otherColumns,width:60},
|
||
{ title: '型号-别',field: 'OtherField2',editor:'validatebox',hidden:otherColumns,width:60},
|
||
{ title: '颜色-别',field: 'OtherField3',editor:'validatebox',hidden:otherColumns,width:60},
|
||
{ title: '备注1',field: 'OtherField4',editor:'validatebox',hidden:true,width:60},
|
||
{ title: '备注2',field: 'OtherField5',editor:'validatebox',hidden:true,width:60}
|
||
]],
|
||
toolbar:[
|
||
{
|
||
id:'append',
|
||
text:'新增',
|
||
iconCls:'icon-add',
|
||
handler:function()
|
||
{
|
||
append(); //新增
|
||
}
|
||
},
|
||
{
|
||
id:'delete',
|
||
text:'删除',
|
||
iconCls:'icon-remove',
|
||
handler:function()
|
||
{
|
||
removeit(); //删除
|
||
}
|
||
},
|
||
{
|
||
id:'reject',
|
||
text:'撤销',
|
||
iconCls:'icon-undo',
|
||
handler:function()
|
||
{
|
||
reject(); //撤销
|
||
}
|
||
}
|
||
],
|
||
onLoadError:function()
|
||
{
|
||
$.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error');
|
||
return;
|
||
}
|
||
});
|
||
$.ajax({
|
||
type:"get",
|
||
url: '/depotItem/getDetailList',
|
||
data: {
|
||
headerId: depotHeadID,
|
||
mpList: mPropertyList
|
||
},
|
||
dataType: "json",
|
||
success: function (res) {
|
||
if(res && res.code === 200) {
|
||
var data = res.data;
|
||
var AllPrice = 0;
|
||
var TaxLastMoney = 0;
|
||
var DiscountMoney = $("#DiscountMoney").val()-0; //优惠金额
|
||
var DiscountLastMoney = $("#DiscountLastMoney").val()-0; //优惠后金额
|
||
if(type === "edit") {
|
||
AllPrice = TotalPrice;
|
||
TaxLastMoney = DiscountMoney + DiscountLastMoney;
|
||
}
|
||
var array = [];
|
||
array.push({
|
||
"AllPrice": AllPrice,
|
||
"TaxLastMoney": TaxLastMoney
|
||
});
|
||
data.footer = array;
|
||
$("#materialData").datagrid('loadData',data);
|
||
}
|
||
},
|
||
error:function() {
|
||
$.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error');
|
||
}
|
||
});
|
||
}
|
||
|
||
//初始化表格数据-商品列表-查看状态
|
||
function initTableData_material_show(TotalPrice){
|
||
var isShowAnotherDepot = true; //显示对方仓库,true为隐藏,false为显示
|
||
var anotherDepotHeadName = ""; //对方仓库的列的标题
|
||
var depotHeadName = ""; //仓库的列的标题
|
||
if(listSubType == "调拨"){
|
||
isShowAnotherDepot = false; //调拨时候显示对方仓库
|
||
anotherDepotHeadName = "调入仓库";
|
||
}
|
||
if(listSubType == "礼品充值"){
|
||
isShowAnotherDepot = false; //礼品充值时候显示礼品卡
|
||
anotherDepotHeadName = "礼品卡";
|
||
}
|
||
if(listSubType == "礼品销售"){
|
||
depotHeadName = "礼品卡";
|
||
}
|
||
else {
|
||
depotHeadName = "仓库名称";
|
||
}
|
||
var isShowTaxColumn = false; //是否显示税率相关的列,true为隐藏,false为显示
|
||
if(listSubType == "调拨" || listSubType == "其它" || listSubType == "零售" || listSubType == "零售退货" || listSubType == "礼品充值" || listSubType == "礼品销售" || listSubType == "组装单" || listSubType == "拆卸单"){
|
||
isShowTaxColumn = true; //隐藏
|
||
}
|
||
var isShowMaterialTypeColumn = true; //是否显示商品类型相关的列,true为隐藏,false为显示
|
||
if(listSubType == "组装单" || listSubType == "拆卸单"){
|
||
isShowMaterialTypeColumn = false; //显示
|
||
}
|
||
$('#materialDataShow').datagrid({
|
||
height:245,
|
||
rownumbers: true,
|
||
//动画效果
|
||
animate:false,
|
||
//选中单行
|
||
singleSelect : true,
|
||
collapsible:false,
|
||
selectOnCheck:false,
|
||
pagination: false,
|
||
//交替出现背景
|
||
striped : true,
|
||
showFooter: true,
|
||
onClickRow: onClickRow,
|
||
columns:[[
|
||
{ title: '商品类型',field: 'MType',width:80, hidden:isShowMaterialTypeColumn},
|
||
{ title: depotHeadName,field: 'DepotName',editor:'validatebox',width:90},
|
||
{ title: '品名(型号)(扩展信息)(单位)',field: 'MaterialName',width:230},
|
||
{ title: anotherDepotHeadName,field: 'AnotherDepotName',hidden:isShowAnotherDepot,width:90},
|
||
{ title: '单位',field: 'Unit',editor:'validatebox',width:60},
|
||
{ title: '数量',field: 'OperNumber',editor:'validatebox',width:60},
|
||
{ title: '单价',field: 'UnitPrice',editor:'validatebox',width:60},
|
||
{ title: '含税单价',field: 'TaxUnitPrice',editor:'validattebox',hidden:isShowTaxColumn,width:75},
|
||
{ title: '金额',field: 'AllPrice',editor:'validatebox',width:75},
|
||
{ title: '税率',field: 'TaxRate',editor:'validatebox',hidden:isShowTaxColumn,width:75},
|
||
{ title: '税额',field: 'TaxMoney',editor:'validatebox',hidden:isShowTaxColumn,width:75},
|
||
{ title: '价税合计',field: 'TaxLastMoney',editor:'validatebox',hidden:isShowTaxColumn,width:75},
|
||
{ title: '备注',field: 'Remark',editor:'validatebox',width:120},
|
||
{ title: '品名-别',field: 'OtherField1',editor:'validatebox',hidden:otherColumns,width:60},
|
||
{ title: '型号-别',field: 'OtherField2',editor:'validatebox',hidden:otherColumns,width:60},
|
||
{ title: '颜色-别',field: 'OtherField3',editor:'validatebox',hidden:otherColumns,width:60},
|
||
{ title: '备注1',field: 'OtherField4',editor:'validatebox',hidden:true,width:60},
|
||
{ title: '备注2',field: 'OtherField5',editor:'validatebox',hidden:true,width:60}
|
||
]],
|
||
onLoadError:function() {
|
||
$.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error');
|
||
return;
|
||
}
|
||
});
|
||
$.ajax({
|
||
type:"get",
|
||
url: '/depotItem/getDetailList',
|
||
data: {
|
||
headerId: depotHeadID,
|
||
mpList: mPropertyList
|
||
},
|
||
dataType: "json",
|
||
success: function (res) {
|
||
if(res && res.code === 200) {
|
||
var data = res.data;
|
||
var AllPrice = TotalPrice;
|
||
var DiscountMoney = $("#DiscountMoneyShow").text() - 0; //优惠金额
|
||
var DiscountLastMoney = $("#DiscountLastMoneyShow").text() - 0; //优惠后金额
|
||
var array = [];
|
||
array.push({
|
||
"AllPrice": AllPrice,
|
||
"TaxLastMoney": DiscountMoney + DiscountLastMoney
|
||
});
|
||
data.footer = array;
|
||
$("#materialDataShow").datagrid('loadData', data);
|
||
}
|
||
},
|
||
error:function() {
|
||
$.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error');
|
||
}
|
||
});
|
||
}
|
||
|
||
//分页信息处理
|
||
function ininPager(){
|
||
try
|
||
{
|
||
var opts = $("#tableData").datagrid('options');
|
||
var pager = $("#tableData").datagrid('getPager');
|
||
pager.pagination({
|
||
onSelectPage:function(pageNum, pageSize)
|
||
{
|
||
opts.pageNumber = pageNum;
|
||
opts.pageSize = pageSize;
|
||
pager.pagination('refresh',
|
||
{
|
||
pageNumber:pageNum,
|
||
pageSize:pageSize
|
||
});
|
||
showDepotHeadDetails(pageNum,pageSize);
|
||
}
|
||
});
|
||
}
|
||
catch (e)
|
||
{
|
||
$.messager.alert('异常处理提示',"分页信息异常 : " + e.name + ": " + e.message,'error');
|
||
}
|
||
}
|
||
|
||
//删除单据信息
|
||
function deleteDepotHead(depotHeadID, thisOrganId, totalPrice, status){
|
||
if(status) {
|
||
$.messager.alert('删除提示','已审核的单据不能删除!','warning');
|
||
return;
|
||
}
|
||
$.messager.confirm('删除确认','确定要删除此单据信息吗?',function(r) {
|
||
if (r) {
|
||
$.ajax({
|
||
type:"post",
|
||
url: "/depotHead/" + depotHeadID + "/delete",
|
||
dataType: "json",
|
||
success: function (res) {
|
||
if(res && res.code == 200) {
|
||
$("#searchBtn").click();
|
||
} else {
|
||
$.messager.alert('删除提示', '删除单据信息失败,请稍后再试!', 'error');
|
||
}
|
||
},
|
||
//此处添加错误处理
|
||
error:function() {
|
||
$.messager.alert('删除提示','删除单据信息异常,请稍后再试!','error');
|
||
return;
|
||
}
|
||
});
|
||
|
||
//更新会员的预收款信息
|
||
if(listSubType === "零售") {
|
||
$.ajax({
|
||
type:"post",
|
||
url: "/supplier/updateAdvanceIn",
|
||
dataType: "json",
|
||
data:{
|
||
supplierID: thisOrganId, //会员id
|
||
advanceIn: totalPrice //删除时同时返还用户的预付款
|
||
},
|
||
success: function(res){
|
||
if(res && res.code === 200) {
|
||
//保存会员预收款成功
|
||
}
|
||
},
|
||
error: function(){
|
||
$.messager.alert('提示','保存信息异常,请稍后再试!','error');
|
||
return;
|
||
}
|
||
});
|
||
}
|
||
}
|
||
});
|
||
}
|
||
|
||
//批量删除单据信息
|
||
function batDeleteDepotHead(){
|
||
var row = $('#tableData').datagrid('getChecked');
|
||
if(row.length == 0)
|
||
{
|
||
$.messager.alert('删除提示','没有记录被选中!','info');
|
||
return;
|
||
}
|
||
if(row.length > 0)
|
||
{
|
||
$.messager.confirm('删除确认','确定要删除选中的' + row.length + '条单据信息吗?',function(r)
|
||
{
|
||
if (r)
|
||
{
|
||
var ids = "";
|
||
for(var i = 0;i < row.length; i++)
|
||
{
|
||
if(i == row.length-1)
|
||
{
|
||
ids += row[i].id;
|
||
break;
|
||
}
|
||
//alert(row[i].id);
|
||
ids += row[i].id + ",";
|
||
}
|
||
//批量更新会员的预收款信息
|
||
for(var i = 0;i < row.length; i ++) {
|
||
if(listSubType === "零售") {
|
||
$.ajax({
|
||
type:"post",
|
||
url: "/supplier/updateAdvanceIn",
|
||
dataType: "json",
|
||
data:{
|
||
supplierID: row[i].OrganId, //会员id
|
||
advanceIn: row[i].TotalPrice //删除时同时返还用户的预付款
|
||
},
|
||
success: function(res){
|
||
if(res && res.code === 200) {
|
||
//保存会员预收款成功
|
||
}
|
||
},
|
||
error: function(){
|
||
$.messager.alert('提示','保存信息异常,请稍后再试!','error');
|
||
return;
|
||
}
|
||
});
|
||
}
|
||
}
|
||
//批量删除
|
||
$.ajax({
|
||
type:"post",
|
||
url: "/depotHead/batchDelete",
|
||
dataType: "json",
|
||
async : false,
|
||
data: ({
|
||
ids : ids
|
||
}),
|
||
success: function (res) {
|
||
if(res && res.code === 200) {
|
||
$("#searchBtn").click();
|
||
$(":checkbox").attr("checked", false);
|
||
} else {
|
||
$.messager.alert('删除提示', '删除单据信息失败,请稍后再试!', 'error');
|
||
}
|
||
},
|
||
//此处添加错误处理
|
||
error:function() {
|
||
$.messager.alert('删除提示','删除单据信息异常,请稍后再试!','error');
|
||
return;
|
||
}
|
||
});
|
||
}
|
||
});
|
||
}
|
||
}
|
||
|
||
//批量审核
|
||
function setStatusFun() {
|
||
var row = $('#tableData').datagrid('getChecked');
|
||
if(row.length == 0) {
|
||
$.messager.alert('审核提示','没有记录被选中!','info');
|
||
return;
|
||
}
|
||
if(row.length > 0) {
|
||
$.messager.confirm('审核确认','确定要审核选中的' + row.length + '条信息吗?',function(r)
|
||
{
|
||
if (r)
|
||
{
|
||
var ids = "";
|
||
for(var i = 0;i < row.length; i ++)
|
||
{
|
||
if(i == row.length-1)
|
||
{
|
||
ids += row[i].id;
|
||
break;
|
||
}
|
||
ids += row[i].id + ",";
|
||
}
|
||
$.ajax({
|
||
type:"post",
|
||
url: "/depotHead/batchSetStatus",
|
||
dataType: "json",
|
||
async : false,
|
||
data: ({
|
||
status: true,
|
||
depotHeadIDs : ids
|
||
}),
|
||
success: function (res) {
|
||
if(res && res.code === 200) {
|
||
$("#searchBtn").click();
|
||
$(":checkbox").attr("checked", false);
|
||
} else {
|
||
$.messager.alert('审核提示', '审核信息失败,请稍后再试!', 'error');
|
||
}
|
||
},
|
||
//此处添加错误处理
|
||
error:function() {
|
||
$.messager.alert('审核提示','审核信息异常,请稍后再试!','error');
|
||
return;
|
||
}
|
||
});
|
||
}
|
||
});
|
||
}
|
||
}
|
||
|
||
//批量反审核
|
||
function setUnStatusFun() {
|
||
var row = $('#tableData').datagrid('getChecked');
|
||
if(row.length == 0)
|
||
{
|
||
$.messager.alert('反审核提示','没有记录被选中!','info');
|
||
return;
|
||
}
|
||
if(row.length > 0)
|
||
{
|
||
$.messager.confirm('反审核确认','确定要反审核选中的' + row.length + '条信息吗?',function(r)
|
||
{
|
||
if (r)
|
||
{
|
||
var ids = "";
|
||
for(var i = 0;i < row.length; i ++)
|
||
{
|
||
if(i == row.length-1)
|
||
{
|
||
ids += row[i].id;
|
||
break;
|
||
}
|
||
ids += row[i].id + ",";
|
||
}
|
||
$.ajax({
|
||
type:"post",
|
||
url: "/depotHead/batchSetStatus",
|
||
dataType: "json",
|
||
async : false,
|
||
data: ({
|
||
status: false,
|
||
depotHeadIDs : ids
|
||
}),
|
||
success: function (res) {
|
||
if(res && res.code === 200) {
|
||
$("#searchBtn").click();
|
||
$(":checkbox").attr("checked", false);
|
||
} else {
|
||
$.messager.alert('反审核提示', '反审核信息失败,请稍后再试!', 'error');
|
||
}
|
||
},
|
||
//此处添加错误处理
|
||
error:function() {
|
||
$.messager.alert('反审核提示','反审核信息异常,请稍后再试!','error');
|
||
return;
|
||
}
|
||
});
|
||
}
|
||
});
|
||
}
|
||
}
|
||
|
||
//新增信息
|
||
function addDepotHead(){
|
||
$("#clientIp").val(clientIp);
|
||
$('#depotHeadFM').form('clear');
|
||
var thisDateTime = getNowFormatDateTime(); //当前时间
|
||
$("#OperTime").val(thisDateTime);
|
||
var thisNumber = getNowFormatDateNum(); //根据时间生成编号
|
||
var thisDate = getNowFormatDate(); //当前日期
|
||
var beginTime = thisDate + " 00:00:00";
|
||
var endTime = thisDate + " 23:59:59";
|
||
//生成单据编号
|
||
$.ajax({
|
||
type: "get",
|
||
url: "/depotHead/buildNumber",
|
||
data: {
|
||
type: listType,
|
||
subType: listSubType,
|
||
beginTime: beginTime,
|
||
endTime: endTime
|
||
},
|
||
success:function(res){
|
||
if(res && res.code === 200){
|
||
var obj = res.data;
|
||
var defaultNumber = obj.DefaultNumber;
|
||
var thisDateTwo = getNowFormatDateTwo(); //当前日期
|
||
var newNumber = amountNum + thisDateTwo + defaultNumber
|
||
$("#Number").val(newNumber).attr("data-defaultNumber",newNumber);
|
||
}
|
||
},
|
||
error:function(){
|
||
$.messager.alert('提示','生成单据编号失败!','error');
|
||
}
|
||
});
|
||
//初始化优惠率、优惠金额、优惠后金额、本次付|收款、本次欠款 为0
|
||
$("#Discount").val(0);
|
||
$("#DiscountMoney").val(0);
|
||
$("#DiscountLastMoney").val(0);
|
||
$("#ChangeAmount").val(0);
|
||
$("#Debt").val(0);
|
||
$("#AccountId").val(defaultAccountId); //初始化默认的账户Id
|
||
var addTitle = listTitle.replace("列表","信息");
|
||
$('#depotHeadDlg').dialog('open').dialog('setTitle','<img src="/js/easyui-1.3.5/themes/icons/edit_add.png"/> 增加' + addTitle);
|
||
$(".window-mask").css({ width: webW ,height: webH});
|
||
|
||
orgDepotHead = "";
|
||
depotHeadID = 0;
|
||
initTableData_material("add"); //商品列表
|
||
reject(); //撤销下、刷新商品列表
|
||
$("#addOrgan").off("click").on("click",function(){
|
||
$('#supplierDlg').dialog('open').dialog('setTitle','<img src="/js/easyui-1.3.5/themes/icons/edit_add.png"/> 增加供应商信息');
|
||
});
|
||
url = '/depotHead/add';
|
||
|
||
//零售单据修改收款时,自动计算找零
|
||
if(listSubType == "零售" || listSubType == "零售退货") {
|
||
$("#payType").val("现付");
|
||
$("#OrganId").combobox("setValue", orgDefaultId); //自动默认选择非会员
|
||
// 鼠标点下时清空选择项
|
||
$("#OrganId").next().find("input").off("mousedown").on("mousedown",function(){
|
||
$("#OrganId").combobox("setValue", "");
|
||
});
|
||
//当会员卡号长度超过10位后,自动点击下拉框,用于兼容刷卡器
|
||
$("#OrganId").next().find("input").off("keyup").on("keyup",function(){
|
||
var self = this;
|
||
if($(this).val().length === 10){
|
||
setTimeout(function(){
|
||
$(".combo-panel .combobox-item-selected").click();
|
||
//更新付款类型,加载会员的预付款的金额
|
||
for(var i=0; i<orgDefaultList.length; i++){
|
||
var rec = orgDefaultList[i];
|
||
if(rec.supplier == $(self).val()){
|
||
var option = "";
|
||
if(rec.supplier !== "非会员" && rec.advanceIn >0){
|
||
option = '<option value="预付款">预付款(' + rec.advanceIn + ')</option>';
|
||
option += '<option value="现付">现付</option>';
|
||
}
|
||
else {
|
||
option += '<option value="现付">现付</option>';
|
||
}
|
||
$("#payType").empty().append(option);
|
||
}
|
||
}
|
||
},1000);
|
||
}
|
||
});
|
||
var getAmount = $("#depotHeadFM .get-amount");
|
||
var changeAmount = $("#depotHeadFM .change-amount");
|
||
var backAmount = $("#depotHeadFM .back-amount");
|
||
getAmount.val(0); changeAmount.val(0); backAmount.val(0); //时间初始化
|
||
getAmount.off("keyup").on("keyup",function() {
|
||
if(changeAmount.val()){
|
||
backAmount.val((getAmount.val()-changeAmount.val()).toFixed(2));
|
||
}
|
||
});
|
||
}
|
||
}
|
||
|
||
//编辑信息
|
||
function editDepotHead(depotHeadTotalInfo, status){
|
||
if(status) {
|
||
$.messager.alert('编辑提示','已审核的单据不能编辑!','warning');
|
||
return;
|
||
}
|
||
var depotHeadInfo = depotHeadTotalInfo.split("AaBb");
|
||
$("#clientIp").val(clientIp);
|
||
if(listSubType==="礼品销售"){
|
||
$("#GiftId").combobox('setValue',depotHeadInfo[1]);
|
||
}
|
||
else{
|
||
$("#ProjectId").focus().val(depotHeadInfo[1]);
|
||
}
|
||
var ProjectId=depotHeadInfo[1];
|
||
if(ProjectId!='')
|
||
{
|
||
initSystemData_person(ProjectId);
|
||
initSelectInfo_person();
|
||
}
|
||
$("#Number").val(depotHeadInfo[2]).attr("data-defaultNumber",depotHeadInfo[2]);
|
||
$("#OperTime").val(depotHeadInfo[4]);
|
||
$('#OrganId').combobox('setValue', depotHeadInfo[5]);
|
||
$("#HandsPersonId").val(depotHeadInfo[6]);
|
||
$("#AccountId").val(depotHeadInfo[7]);
|
||
$("#ChangeAmount").val(depotHeadInfo[8]);
|
||
$("#ChangeAmount").attr("data-changeamount", depotHeadInfo[8]);
|
||
$("#Remark").val(depotHeadInfo[9]);
|
||
$("#Discount").val(depotHeadInfo[19]);
|
||
$("#DiscountMoney").val(depotHeadInfo[20]);
|
||
$("#DiscountLastMoney").val(depotHeadInfo[21]);
|
||
$("#Debt").val((depotHeadInfo[21]-depotHeadInfo[8]).toFixed(2));
|
||
$("#AccountDay").val(depotHeadInfo[27].replace("undefined","")); //结算天数
|
||
var TotalPrice = depotHeadInfo[14];
|
||
preTotalPrice = depotHeadInfo[14]; //记录前一次合计金额,用于扣预付款
|
||
$("#AllocationProjectId").val(depotHeadInfo[15]);
|
||
if(listSubType==="礼品充值"){
|
||
$("#GiftId").combobox('setValue', depotHeadInfo[15]);
|
||
}
|
||
oldNumber = depotHeadInfo[2]; //记录编辑前的单据编号
|
||
oldId = depotHeadInfo[0]; //记录单据Id
|
||
var editTitle = listTitle.replace("列表","信息");
|
||
$('#depotHeadDlg').dialog('open').dialog('setTitle','<img src="/js/easyui-1.3.5/themes/icons/pencil.png"/> 编辑' + editTitle);
|
||
$(".window-mask").css({ width: webW ,height: webH});
|
||
depotHeadID = depotHeadInfo[0];
|
||
|
||
if(listSubType == "零售"){
|
||
var option = "";
|
||
if(depotHeadInfo[17] === "预付款"){
|
||
option = '<option value="预付款">预付款</option>';
|
||
option += '<option value="现付">现付</option>';
|
||
}
|
||
else {
|
||
option += '<option value="现付">现付</option>';
|
||
}
|
||
$("#payType").empty().append(option);
|
||
}
|
||
|
||
if(listSubType === "销售" || listSubType === "销售退货"){
|
||
if(depotHeadInfo[18]){
|
||
var arr = depotHeadInfo[18].split(",");
|
||
var salesmanArray = [];
|
||
for(var i=0;i<arr.length;i++){
|
||
if(arr[i]){
|
||
salesmanArray.push(arr[i].replace("<","").replace(">",""));
|
||
}
|
||
}
|
||
$("#Salesman").combobox('setValues', salesmanArray);
|
||
}
|
||
}
|
||
|
||
//采购入库、销售出库的多账户加载
|
||
if(depotHeadInfo[22]!="undefined" && depotHeadInfo[23]!="undefined"){
|
||
$("#AccountId").val("many"); //下拉框选中多账户
|
||
var accountArr = depotHeadInfo[22].split(",");
|
||
var accountMoneyArr = depotHeadInfo[23].split(",");
|
||
accountMoneyArr = changeListFmtPlus(accountMoneyArr) //将数组单个金额中的数值转为正数
|
||
|
||
if(listSubType == "零售" || listSubType == "零售退货") {
|
||
var manyAccountMoney = 0; //多账户合计-零售
|
||
for (var j = 0; j < accountArr.length; j++) {
|
||
if (accountList != null) {
|
||
for (var i = 0; i < accountList.length; i++) {
|
||
var account = accountList[i];
|
||
if (accountArr[j] == account.id) {
|
||
manyAccountMoney += accountMoneyArr[j] - 0; //多账户合计-零售
|
||
}
|
||
}
|
||
}
|
||
}
|
||
$("#getAmount").val(manyAccountMoney); //收款金额、付款金额
|
||
var changeAmount = $("#ChangeAmount").val()-0;
|
||
$("#backAmount").val((manyAccountMoney-changeAmount).toFixed(2)); //找零
|
||
}
|
||
|
||
$("#AccountId").attr("data-accountArr", JSON.stringify(accountArr)).attr("data-accountMoneyArr", JSON.stringify(accountMoneyArr)); //json数据存储
|
||
$(".many-account-ico").show(); //显示多账户的ico图标
|
||
}
|
||
|
||
//采购入库、销售出库的费用数据加载
|
||
if(depotHeadInfo[25] && depotHeadInfo[26]){
|
||
$("#OtherMoney").val(depotHeadInfo[24].replace("undefined","0")); //采购费用、销售费用
|
||
var itemArr = depotHeadInfo[25].split(",");
|
||
var itemMoneyArr = depotHeadInfo[26].split(",");
|
||
$("#OtherMoney").attr("data-itemArr",JSON.stringify(itemArr)).attr("data-itemMoneyArr",JSON.stringify(itemMoneyArr)); //json数据存储
|
||
}
|
||
|
||
initTableData_material("edit",TotalPrice); //商品列表
|
||
reject(); //撤销下、刷新商品列表
|
||
url = '/depotHead/update?id=' + depotHeadInfo[0];
|
||
}
|
||
|
||
//查看信息
|
||
function showDepotHead(depotHeadTotalInfo){
|
||
var depotHeadInfo = depotHeadTotalInfo.split("AaBb");
|
||
var manyAccountMoney = 0; //多账户合计-零售
|
||
$("#ProjectIdShow").text(depotHeadInfo[10]);
|
||
$("#NumberShow").text(depotHeadInfo[2]);
|
||
$("#OperTimeShow").text(depotHeadInfo[4]);
|
||
$('#OrganIdShow').text(depotHeadInfo[11]);
|
||
$("#HandsPersonIdShow").text(depotHeadInfo[12]);
|
||
if(depotHeadInfo[13] && depotHeadInfo[13]!="undefined"){
|
||
$("#AccountIdShow").text(depotHeadInfo[13]); //结算账户
|
||
} else {
|
||
var accountArr = depotHeadInfo[22].split(","); //账户id列表
|
||
var accountMoneyArr = depotHeadInfo[23].split(","); //账户金额列表
|
||
var accountIdShow = "";
|
||
for(var j =0;j<accountArr.length; j++){
|
||
if(accountList !=null){
|
||
for(var i = 0 ;i < accountList.length;i++){
|
||
var account = accountList[i];
|
||
if(accountArr[j] == account.id) {
|
||
var currentAccountMoney = accountMoneyArr[j]-0;
|
||
if(currentAccountMoney < 0){
|
||
currentAccountMoney = 0-currentAccountMoney;
|
||
}
|
||
accountIdShow = accountIdShow + account.name + "(" + currentAccountMoney +"元) ";
|
||
manyAccountMoney += accountMoneyArr[j]-0; //多账户合计-零售
|
||
}
|
||
}
|
||
}
|
||
}
|
||
$("#AccountIdShow").text(accountIdShow);
|
||
}
|
||
$("#ChangeAmountShow").text(depotHeadInfo[8]);
|
||
$("#RemarkShow").text(depotHeadInfo[9]);
|
||
$("#DiscountShow").text(depotHeadInfo[19]);
|
||
$("#DiscountMoneyShow").text(depotHeadInfo[20]);
|
||
$("#DiscountLastMoneyShow").text(depotHeadInfo[21]);
|
||
$("#DebtShow").text((depotHeadInfo[21]-depotHeadInfo[8]).toFixed(2));
|
||
$("#AccountDayShow").text(depotHeadInfo[27].replace("undefined","")); //结算天数
|
||
if(depotHeadInfo[25] && depotHeadInfo[26]){
|
||
var itemArr = depotHeadInfo[25].split(","); //支出项目id列表
|
||
var itemMoneyArr = depotHeadInfo[26].split(","); //支出项目金额列表
|
||
var otherMoneyShow = "";
|
||
for(var j =0;j<itemArr.length; j++) {
|
||
if (outItemList != null) {
|
||
for (var i = 0; i < outItemList.length; i++) {
|
||
var money = outItemList[i];
|
||
if(itemArr[j] == money.Id) {
|
||
otherMoneyShow = otherMoneyShow + money.InOutItemName + "(" + itemMoneyArr[j] +"元) ";
|
||
}
|
||
}
|
||
}
|
||
}
|
||
$("#OtherMoneyShow").text(otherMoneyShow +"总计:"+ depotHeadInfo[24].replace("undefined","0") + "元 "); //采购费用、销售费用
|
||
}
|
||
else {
|
||
$("#OtherMoneyShow").text(depotHeadInfo[24].replace("undefined","0")); //采购费用、销售费用
|
||
}
|
||
$("#payTypeShow").text(depotHeadInfo[17]);
|
||
var TotalPrice = depotHeadInfo[14];
|
||
$("#AllocationProjectIdShow").text(depotHeadInfo[16]);
|
||
var showTitle = listTitle.replace("列表","信息");
|
||
$('#depotHeadDlgShow').dialog('open').dialog('setTitle','<img src="/js/easyui-1.3.5/themes/icons/list.png"/> 查看' + showTitle);
|
||
$(".window-mask").css({ width: webW ,height: webH});
|
||
|
||
depotHeadID = depotHeadInfo[0];
|
||
initTableData_material_show(TotalPrice); //商品列表-查看状态
|
||
|
||
//零售单据展示数据
|
||
if(listSubType == "零售" || listSubType == "零售退货"){
|
||
var changeAccount = $("#depotHeadDlgShow .change-amount-show").text() -0;
|
||
if(manyAccountMoney!==0){
|
||
$("#depotHeadDlgShow .get-amount-show").text((manyAccountMoney).toFixed(2));
|
||
$("#depotHeadDlgShow .back-amount-show").text((manyAccountMoney -changeAccount).toFixed(2));
|
||
}
|
||
else {
|
||
$("#depotHeadDlgShow .get-amount-show").text((changeAccount).toFixed(2));
|
||
$("#depotHeadDlgShow .back-amount-show").text(0);
|
||
}
|
||
}
|
||
if(listSubType === "销售" || listSubType === "销售退货"){
|
||
if(depotHeadInfo[18]){
|
||
var arr = depotHeadInfo[18].split(",");
|
||
var salesmanStr = "";
|
||
for(var i=0;i<arr.length;i++){
|
||
if(arr[i]){
|
||
if(i === arr.length-1){
|
||
salesmanStr += arr[i].replace("<","").replace(">","");
|
||
}
|
||
else {
|
||
salesmanStr += arr[i].replace("<","").replace(">","") + ",";
|
||
}
|
||
}
|
||
}
|
||
$.ajax({
|
||
type: "get",
|
||
url: "/person/getPersonByIds",
|
||
data: {
|
||
personIDs: salesmanStr
|
||
},
|
||
success:function(res){
|
||
if(res && res.code === 200){
|
||
if(res.data) {
|
||
$("#SalesmanShow").text(res.data.names); //销售人员列表
|
||
}
|
||
}
|
||
},
|
||
error:function(){
|
||
|
||
}
|
||
});
|
||
}
|
||
}
|
||
}
|
||
|
||
//绑定操作事件
|
||
function bindEvent(){
|
||
showDepotHeadDetails(1,initPageSize); //初始化时自动查询
|
||
//搜索处理
|
||
$("#searchBtn").off("click").on("click",function(){
|
||
showDepotHeadDetails(1,initPageSize);
|
||
var opts = $("#tableData").datagrid('options');
|
||
var pager = $("#tableData").datagrid('getPager');
|
||
opts.pageNumber = 1;
|
||
opts.pageSize = initPageSize;
|
||
pager.pagination('refresh',
|
||
{
|
||
pageNumber:1,
|
||
pageSize:initPageSize
|
||
});
|
||
});
|
||
|
||
//重置按钮
|
||
$("#searchResetBtn").unbind().bind({
|
||
click:function(){
|
||
//$("#searchProjectId").val("");
|
||
$("#searchState").val("");
|
||
$("#searchBeginTime").val("");
|
||
$("#searchEndTime").val("");
|
||
//加载完以后重新初始化
|
||
$("#searchBtn").click();
|
||
}
|
||
});
|
||
|
||
//检查单据编号是否存在
|
||
function checkDepotHeadNumber() {
|
||
var thisNumber = $.trim($("#Number").val());
|
||
//表示是否存在 true == 存在 false = 不存在
|
||
var flag = false;
|
||
//开始ajax名称检验,不能重名
|
||
if(thisNumber.length > 0 &&( oldNumber.length ==0 || thisNumber != oldNumber))
|
||
{
|
||
$.ajax({
|
||
type:"get",
|
||
url: "/depotHead/checkIsNumberExist",
|
||
dataType: "json",
|
||
async : false,
|
||
data: ({
|
||
DepotHeadID : oldId,
|
||
Number : thisNumber
|
||
}),
|
||
success: function (tipInfo)
|
||
{
|
||
flag = tipInfo;
|
||
if(tipInfo)
|
||
{
|
||
$.messager.alert('提示','抱歉,该单据编号已经存在','warning');
|
||
return;
|
||
}
|
||
},
|
||
//此处添加错误处理
|
||
error:function()
|
||
{
|
||
$.messager.alert('提示','检查单据编号是否存在异常,请稍后再试!','error');
|
||
return;
|
||
}
|
||
});
|
||
}
|
||
return flag;
|
||
}
|
||
//保存信息
|
||
$("#saveDepotHead").off("click").on("click",function(){
|
||
if(!$('#depotHeadFM').form('validate')){
|
||
return;
|
||
}
|
||
else {
|
||
//如果初始编号被修改了,就要判断单据编号是否存在
|
||
if($.trim($("#Number").val()) != $('#Number').attr("data-defaultNumber")){
|
||
//调用查询单据编号是否重名的方法
|
||
if(checkDepotHeadNumber()){
|
||
return;
|
||
}
|
||
}
|
||
//输入框提示
|
||
if(listTitle === "采购入库列表"){
|
||
if(!$('#OrganId').combobox('getValue')){
|
||
$.messager.alert('提示','请选择供应商!','warning');
|
||
return;
|
||
}
|
||
if(!$('#AccountId').val()){
|
||
$.messager.alert('提示','请选择结算账户!','warning');
|
||
return;
|
||
}
|
||
}
|
||
else if(listTitle === "零售退货列表"){
|
||
if(!$('#AccountId').val()){
|
||
$.messager.alert('提示','请选择付款账户!','warning');
|
||
return;
|
||
}
|
||
if($("#AccountId").val() == "many" && $("#backAmount").val()-0 >0) {
|
||
$.messager.alert('提示', '选择多账户时的找零金额不能大于0!', 'warning');
|
||
return;
|
||
}
|
||
}
|
||
else if(listTitle === "销售退货列表"){
|
||
if(!$('#OrganId').combobox('getValue')){
|
||
$.messager.alert('提示','请选择退货单位!','warning');
|
||
return;
|
||
}
|
||
if(!$('#AccountId').val()){
|
||
$.messager.alert('提示','请选择付款账户!','warning');
|
||
return;
|
||
}
|
||
}
|
||
else if(listTitle === "其它入库列表"){
|
||
if(!$('#OrganId').combobox('getValue')){
|
||
$.messager.alert('提示','请选择往来单位!','warning');
|
||
return;
|
||
}
|
||
}
|
||
else if(listTitle === "零售出库列表"){
|
||
if(!$('#AccountId').val()){
|
||
$.messager.alert('提示','请选择收款账户!','warning');
|
||
return;
|
||
}
|
||
if($("#backAmount").val()-0 <0){
|
||
$.messager.alert('提示','找零金额不能小于0!','warning');
|
||
return;
|
||
}
|
||
if($("#AccountId").val() == "many" && $("#backAmount").val()-0 >0) {
|
||
$.messager.alert('提示', '选择多账户时的找零金额不能大于0!', 'warning');
|
||
return;
|
||
}
|
||
}
|
||
else if(listTitle === "销售出库列表"){
|
||
if(!$('#OrganId').combobox('getValue')){
|
||
$.messager.alert('提示','请选择购买单位!','warning');
|
||
return;
|
||
}
|
||
if(!$('#AccountId').val()){
|
||
$.messager.alert('提示','请选择收款账户!','warning');
|
||
return;
|
||
}
|
||
}
|
||
else if(listTitle === "采购退货列表"){
|
||
if(!$('#OrganId').combobox('getValue')){
|
||
$.messager.alert('提示','请选择收货单位!','warning');
|
||
return;
|
||
}
|
||
if(!$('#AccountId').val()){
|
||
$.messager.alert('提示','请选择收款账户!','warning');
|
||
return;
|
||
}
|
||
}
|
||
else if(listTitle === "其它出库列表"){
|
||
if(!$('#OrganId').combobox('getValue')){
|
||
$.messager.alert('提示','请选择往来单位!','warning');
|
||
return;
|
||
}
|
||
}
|
||
else if(listTitle === "调拨出库列表"){
|
||
|
||
}
|
||
//进行明细的校验
|
||
if(depotHeadID ==0) {
|
||
//新增模式下
|
||
if (!CheckData("add")) {
|
||
return;
|
||
}
|
||
}
|
||
else {
|
||
//编辑模式下
|
||
if (!CheckData("edit")) {
|
||
return;
|
||
}
|
||
}
|
||
var OrganId = null, ProjectId = null,AllocationProjectId = null;
|
||
var ChangeAmount = $.trim($("#ChangeAmount").val())-0;
|
||
var TotalPrice = $("#depotHeadFM .datagrid-footer [field='AllPrice'] div").text();
|
||
if($('#OrganId').length){
|
||
OrganId = $('#OrganId').combobox('getValue');
|
||
}
|
||
var accountMoneyList = $("#AccountId").attr("data-accountmoneyarr"); //账户金额列表-多账户
|
||
var accountMoneyArr;
|
||
if(accountMoneyList) {
|
||
accountMoneyList = accountMoneyList.replace("[","").replace("]","").toString();
|
||
var reg=new RegExp("\"","g"); //创建正则RegExp对象
|
||
accountMoneyList = accountMoneyList.replace(reg,""); //替换所有的双引号
|
||
accountMoneyArr = accountMoneyList.split(","); //转为数组
|
||
}
|
||
if(listSubType === "采购"||listSubType === "零售退货"||listSubType === "销售退货"){
|
||
//付款为负数
|
||
ChangeAmount = 0 - ChangeAmount;
|
||
TotalPrice = 0 - TotalPrice;
|
||
if(accountMoneyArr) {
|
||
accountMoneyArr = changeListFmtMinus(accountMoneyArr); //将数组单个金额中的数值转为负数
|
||
}
|
||
}
|
||
//零售时候,可以从会员预付款中扣款
|
||
var thisPayType = "现付";
|
||
if(listSubType === "零售") {
|
||
if($("#payType").val() ==="预付款") {
|
||
thisPayType = "预付款";
|
||
}
|
||
}
|
||
var SalesmanStr = "";
|
||
if(listSubType === "销售" || listSubType === "销售退货"){
|
||
var Salesman = $('#Salesman').combobox('getValues').toString(); //销售人员
|
||
if(Salesman) {
|
||
var SalesmanArray = Salesman.split(",");
|
||
for (var i = 0; i < SalesmanArray.length; i++) {
|
||
if (i === SalesmanArray.length - 1) {
|
||
SalesmanStr += "<" + SalesmanArray[i] + ">";
|
||
}
|
||
else {
|
||
SalesmanStr += "<" + SalesmanArray[i] + ">,";
|
||
}
|
||
}
|
||
}
|
||
}
|
||
var getAccountID = $.trim($("#AccountId").val());
|
||
if($("#AccountId").val() === "many"){ //多账户
|
||
getAccountID = null;
|
||
}
|
||
$.ajax({
|
||
type:"post",
|
||
url: url,
|
||
dataType: "json",
|
||
async : false,
|
||
data: ({
|
||
info : JSON.stringify({
|
||
Type: listType,
|
||
SubType: listSubType,
|
||
ProjectId: ProjectId,
|
||
AllocationProjectId: AllocationProjectId,
|
||
DefaultNumber: $.trim($("#Number").attr("data-defaultNumber")),//初始编号
|
||
Number: $.trim($("#Number").val()),
|
||
OperTime: $("#OperTime").val(),
|
||
OrganId: OrganId,
|
||
HandsPersonId: $.trim($("#HandsPersonId").val()),
|
||
Salesman: SalesmanStr, //销售人员
|
||
AccountId: getAccountID,
|
||
ChangeAmount: ChangeAmount, //付款/收款
|
||
TotalPrice: TotalPrice, //合计
|
||
PayType: thisPayType, //现付/预付款
|
||
Remark: $.trim($("#Remark").val()),
|
||
AccountIdList: $("#AccountId").attr("data-accountarr"), //账户列表-多账户
|
||
AccountMoneyList: accountMoneyArr ? JSON.stringify(accountMoneyArr) : "", //账户金额列表-多账户
|
||
Discount: $.trim($("#Discount").val()),
|
||
DiscountMoney: $.trim($("#DiscountMoney").val()),
|
||
DiscountLastMoney: $.trim($("#DiscountLastMoney").val()),
|
||
OtherMoney: $.trim($("#OtherMoney").val()), //采购费用、销售费用
|
||
OtherMoneyList: $("#OtherMoney").attr("data-itemarr"), //支出项目列表-涉及费用
|
||
OtherMoneyItem: $("#OtherMoney").attr("data-itemmoneyarr"), //支出项目金额列表-涉及费用
|
||
AccountDay: $("#AccountDay").val() //结算天数
|
||
})
|
||
}),
|
||
success: function (tipInfo)
|
||
{
|
||
if(tipInfo)
|
||
{
|
||
function closeDialog(){
|
||
$('#depotHeadDlg').dialog('close');
|
||
var opts = $("#tableData").datagrid('options');
|
||
showDepotHeadDetails(opts.pageNumber,opts.pageSize);
|
||
}
|
||
|
||
if(thisPayType === "预付款") {
|
||
//更新用户信息-预付款
|
||
var advanceIn = 0; //预付款金额
|
||
if(depotHeadID){
|
||
advanceIn = TotalPrice - preTotalPrice; //修改时,预付款=合计金额-加载金额
|
||
}
|
||
else{
|
||
advanceIn = TotalPrice; //新增时,预付款=合计金额
|
||
}
|
||
$.ajax({
|
||
type:"post",
|
||
url: "/supplier/updateAdvanceIn",
|
||
dataType: "json",
|
||
data:{
|
||
supplierId: OrganId, //会员id
|
||
advanceIn: 0 - advanceIn //保存的同时扣掉用户的预付款
|
||
},
|
||
success: function(res){
|
||
if(res && res.code === 200) {
|
||
//保存会员预收款成功
|
||
}
|
||
},
|
||
error: function(){
|
||
$.messager.alert('提示','保存信息异常,请稍后再试!','error');
|
||
return;
|
||
}
|
||
});
|
||
}
|
||
|
||
//保存明细记录
|
||
if(depotHeadID ==0)
|
||
{
|
||
getMaxId(); //查找最大的Id
|
||
accept(depotHeadMaxId,closeDialog); //新增
|
||
}
|
||
else
|
||
{
|
||
accept(depotHeadID,closeDialog); //修改
|
||
}
|
||
}
|
||
else
|
||
{
|
||
$.messager.show({
|
||
title: '错误提示',
|
||
msg: '保存信息失败,请稍后重试!'
|
||
});
|
||
}
|
||
},
|
||
//此处添加错误处理
|
||
error:function()
|
||
{
|
||
$.messager.alert('提示','保存信息异常,请稍后再试!','error');
|
||
return;
|
||
}
|
||
});
|
||
}
|
||
});
|
||
|
||
//初始化键盘enter事件
|
||
$(document).keydown(function(event){
|
||
//兼容 IE和firefox 事件
|
||
var e = window.event || event;
|
||
var k = e.keyCode||e.which||e.charCode;
|
||
//兼容 IE,firefox 兼容
|
||
var obj = e.srcElement ? e.srcElement : e.target;
|
||
//绑定键盘事件为 id是指定的输入框才可以触发键盘事件 13键盘事件 ---遗留问题 enter键效验 对话框会关闭问题
|
||
if(k == "13"&&(obj.id=="State"||obj.id=="Number"))
|
||
{
|
||
$("#saveDepotHead").click();
|
||
}
|
||
//搜索按钮添加快捷键
|
||
if(k == "13"&&(obj.id=="searchState"||obj.id=="searchNumber"||obj.id=="searchMaterial"))
|
||
{
|
||
$("#searchBtn").click();
|
||
}
|
||
});
|
||
|
||
//优惠率输入框事件
|
||
$("#Discount").off("keyup").on("keyup",function(){
|
||
var footer =$("#depotHeadFM .datagrid-footer");
|
||
var totalPrice = footer.find("[field='TaxLastMoney']").find("div").text();
|
||
var discountNum = $(this).val();
|
||
var discountMoney = (discountNum/100*totalPrice).toFixed(2);
|
||
var discountLastMoney = (totalPrice - discountMoney).toFixed(2);
|
||
$("#DiscountMoney").val(discountMoney); //优惠金额
|
||
$("#DiscountLastMoney").val(discountLastMoney); //优惠后金额
|
||
if($("#AccountId").val()!=="many"){
|
||
$("#ChangeAmount").val(discountLastMoney); //本次付、收款
|
||
}
|
||
var changeAmountNum = $("#ChangeAmount").val()-0; //本次付款或者收款
|
||
$("#Debt").val((discountLastMoney-changeAmountNum).toFixed(2)); //本次欠款
|
||
});
|
||
|
||
//优惠金额输入框事件
|
||
$("#DiscountMoney").off("keyup").on("keyup",function(){
|
||
var footer =$("#depotHeadFM .datagrid-footer");
|
||
var totalPrice = footer.find("[field='TaxLastMoney']").find("div").text();
|
||
var discountMoney = $(this).val();
|
||
var discount = (discountMoney/totalPrice).toFixed(2)*100;
|
||
var discountLastMoney = (totalPrice - discountMoney).toFixed(2);
|
||
$("#Discount").val(discount); //优惠金额
|
||
$("#DiscountLastMoney").val(discountLastMoney); //优惠后金额
|
||
if($("#AccountId").val()!=="many"){
|
||
$("#ChangeAmount").val(discountLastMoney); //本次付、收款
|
||
}
|
||
var changeAmountNum = $("#ChangeAmount").val()-0; //本次付款或者收款
|
||
$("#Debt").val((discountLastMoney-changeAmountNum).toFixed(2)); //本次欠款
|
||
});
|
||
|
||
//付款、收款输入框事件
|
||
$("#ChangeAmount").off("keyup").on("keyup",function(){
|
||
var discountLastMoney = $("#DiscountLastMoney").val();
|
||
var changeAmount = $(this).val();
|
||
var debtMoney = (discountLastMoney - changeAmount).toFixed(2);
|
||
$("#Debt").val(debtMoney); //本次欠款
|
||
});
|
||
|
||
//多账户结算窗口弹出事件
|
||
function depotHeadAccountDlgFun(){
|
||
$('#depotHeadAccountDlg').dialog('open').dialog('setTitle','<img src="/js/easyui-1.3.5/themes/icons/pencil.png"/> 多账户结算');
|
||
$("#depotHeadAccountDlg .account-dlg .account-content-tmp").remove(); //先移除输入栏目
|
||
$("#accountMoneyTotalDlg").text(0); //将合计初始化为0
|
||
for(var i=0; i<6; i++) {
|
||
$("#depotHeadAccountDlg .tabs-tmp .account-content-tmp").attr("data-index",5-i); //添加索引
|
||
var contentTmp = $("#depotHeadAccountDlg .tabs-tmp tbody").html();
|
||
var accountDlgHead = $("#depotHeadAccountDlg .account-head-tmp");
|
||
accountDlgHead.after(contentTmp);
|
||
}
|
||
|
||
//获取账户信息
|
||
function accountDlgFun() {
|
||
var options = "";
|
||
if(accountList !=null){
|
||
for(var i = 0 ;i < accountList.length;i++) {
|
||
var account = accountList[i];
|
||
options += '<option value="' + account.id + '" data-currentAmount="' + account.currentAmount + '">' + account.name + '</option>';
|
||
}
|
||
$(".account-id-dlg").empty().append("<option></option>").append(options);
|
||
}
|
||
}
|
||
accountDlgFun(); //获取账户信息
|
||
$("#depotHeadAccountDlg .tabs-tmp").hide(); //隐藏模板
|
||
|
||
//账户金额输入框事件-多账户
|
||
$("#depotHeadAccountDlg .account-dlg .account-money-dlg").off("keyup").on("keyup",function(){
|
||
var totalAccoutNum = 0;
|
||
$("#depotHeadAccountDlg .account-dlg .account-content-tmp").each(function(){
|
||
var eachAccountMoney = $(this).find(".account-money-dlg").val()-0;
|
||
totalAccoutNum += eachAccountMoney;
|
||
});
|
||
$("#accountMoneyTotalDlg").text(totalAccoutNum);
|
||
});
|
||
|
||
//结算多账户列表的切换事件
|
||
$("#depotHeadAccountDlg .account-dlg .account-id-dlg").off("change").on("change",function(){
|
||
var selectAccount = $(this).children('option:selected').text();
|
||
if(selectAccount === ""){
|
||
var thisMoneyDom = $(this).closest(".account-content-tmp").find(".account-money-dlg");
|
||
var thisMoney = thisMoneyDom.val()-0;
|
||
var accountMoneyTotal = $("#accountMoneyTotalDlg").text() - 0;
|
||
$("#accountMoneyTotalDlg").text(accountMoneyTotal - thisMoney);
|
||
thisMoneyDom.val(""); //账户为空时候,将金额也置为空
|
||
}
|
||
});
|
||
|
||
//保存按钮事件
|
||
$("#saveDepotHeadAccountDlg").off("click").on("click", function(){
|
||
//完成多账户的json数据存储
|
||
var accountArr = []; //账户id数组
|
||
var accountMoneyArr = []; //账户金额数组
|
||
var errorIndex = -1;
|
||
$("#depotHeadAccountDlg .account-dlg .account-content-tmp").each(function(){
|
||
var thisAccId = $(this).find(".account-id-dlg").val();
|
||
var thisAccMoney = $(this).find(".account-money-dlg").val();
|
||
if(!thisAccId && thisAccMoney) {
|
||
errorIndex = $(this).attr("data-index")-0;
|
||
return;
|
||
}
|
||
if(thisAccId && !thisAccMoney) {
|
||
errorIndex = $(this).attr("data-index")-0;
|
||
return;
|
||
}
|
||
if(thisAccId && thisAccMoney) {
|
||
accountArr.push(thisAccId);
|
||
accountMoneyArr.push(thisAccMoney);
|
||
}
|
||
});
|
||
if(errorIndex >-1){
|
||
$.messager.alert('错误提示',"第" + (errorIndex+1) + "行数据存在问题,请修改",'warning');
|
||
return;
|
||
}
|
||
var discountLastMoneyNum =$("#DiscountLastMoney").val()-0; //优惠后金额
|
||
var accountMoneyTotal = $("#accountMoneyTotalDlg").text()-0; //本次付款或者收款
|
||
if(accountMoneyTotal===0){
|
||
$.messager.alert('错误提示',"请填写金额后保存",'warning');
|
||
return;
|
||
}
|
||
if(accountArr.length && accountMoneyArr.length) {
|
||
$("#AccountId").attr("data-accountArr",JSON.stringify(accountArr)).attr("data-accountMoneyArr",JSON.stringify(accountMoneyArr)); //json数据存储
|
||
}
|
||
if(listSubType==="零售" || listSubType==="零售退货") {
|
||
$("#getAmount").val(accountMoneyTotal); //给付款或者收款金额赋值
|
||
var backAmount = $("#getAmount").val() - $("#ChangeAmount").val();
|
||
$("#backAmount").val((backAmount - 0).toFixed(2)); //计算找零金额
|
||
}
|
||
else {
|
||
$("#ChangeAmount").val(accountMoneyTotal); //给付款或者收款金额赋值
|
||
}
|
||
$("#Debt").val((discountLastMoneyNum-accountMoneyTotal).toFixed(2)); //本次欠款
|
||
$("#depotHeadAccountDlg").dialog('close');
|
||
});
|
||
|
||
//取消事件
|
||
function cancelFun(){
|
||
if($("#AccountId").attr("data-accountArr")){
|
||
$("#depotHeadAccountDlg").dialog('close');
|
||
}
|
||
else {
|
||
$("#depotHeadAccountDlg").dialog('close');
|
||
$("#AccountId").val("").removeAttr("data-accountArr").removeAttr("data-accountMoneyArr"); //将下拉置空并把缓存参数清空
|
||
if(listSubType==="零售" || listSubType==="零售退货"){
|
||
$("#ChangeAmount").prop("readonly","readonly");
|
||
}
|
||
else {
|
||
$("#ChangeAmount").removeProp("readonly","readonly");
|
||
}
|
||
$(".many-account-ico").hide(); //隐藏多账户小图标
|
||
}
|
||
}
|
||
//多账户-取消按钮
|
||
$("#cancelDepotHeadAccountDlg").off("click").on("click", function(){
|
||
cancelFun();
|
||
});
|
||
|
||
//多账户-右上角的关闭按钮
|
||
$("#depotHeadAccountDlg").prev().find(".panel-tool-close").off("click").on("click", function(){
|
||
cancelFun();
|
||
});
|
||
}
|
||
//点击多账户,弹出输入框
|
||
$("#AccountId").off("change").on("change",function(){
|
||
var selectText = $(this).children('option:selected').text();
|
||
if(selectText === "多账户"){
|
||
$("#ChangeAmount").prop("readonly","readonly");
|
||
depotHeadAccountDlgFun();
|
||
$(".many-account-ico").show(); //显示多账户小图标
|
||
}
|
||
else{
|
||
$(this).removeAttr("data-accountArr").removeAttr("data-accountMoneyArr"); //将下拉置空并把缓存参数清空
|
||
if(listSubType==="零售" || listSubType==="零售退货"){
|
||
$("#ChangeAmount").prop("readonly","readonly");
|
||
}
|
||
else {
|
||
$("#ChangeAmount").removeProp("readonly","readonly");
|
||
}
|
||
$(".many-account-ico").hide(); //隐藏多账户小图标
|
||
}
|
||
});
|
||
|
||
//结算账户-多账户小图标-点击事件
|
||
$(".many-account-ico").off("click").on("click",function(){
|
||
depotHeadAccountDlgFun();
|
||
//给弹窗赋值-多账户数据
|
||
var accountArr = $("#AccountId").attr("data-accountArr");
|
||
accountArr = JSON.parse(accountArr);
|
||
var accountMoneyArr = $("#AccountId").attr("data-accountMoneyArr");
|
||
accountMoneyArr = JSON.parse(accountMoneyArr);
|
||
$("#depotHeadAccountDlg .account-dlg .account-content-tmp").each(function(){
|
||
var index = $(this).attr("data-index");
|
||
$(this).find(".account-id-dlg").val(accountArr[index]);
|
||
$(this).find(".account-money-dlg").val(accountMoneyArr[index]);
|
||
});
|
||
if(listSubType==="零售" || listSubType==="零售退货") {
|
||
$("#accountMoneyTotalDlg").text($("#getAmount").val());
|
||
}
|
||
else {
|
||
$("#accountMoneyTotalDlg").text($("#ChangeAmount").val());
|
||
}
|
||
});
|
||
|
||
//点击采购费用、销售费用的事件
|
||
$(".other-money-ico").off("click").on("click",function(){
|
||
$('#otherMoneyDlg').dialog('open').dialog('setTitle','<img src="/js/easyui-1.3.5/themes/icons/pencil.png"/> '+ listSubType +'费用');
|
||
$("#otherMoneyDlg .money-dlg .money-content-tmp").remove(); //先移除输入栏目
|
||
$("#otherMoneyTotalDlg").text(0); //将合计初始化为0
|
||
for(var i=0; i<6; i++) {
|
||
$("#otherMoneyDlg .tabs-tmp .money-content-tmp").attr("data-index",5-i); //添加索引
|
||
var contentTmp = $("#otherMoneyDlg .tabs-tmp tbody").html();
|
||
var moneyDlgHead = $("#otherMoneyDlg .money-head-tmp");
|
||
moneyDlgHead.after(contentTmp);
|
||
}
|
||
|
||
//获取支出项目信息
|
||
function moneyDlgFun() {
|
||
var options = "";
|
||
if(outItemList !=null){
|
||
for(var i = 0 ;i < outItemList.length;i++) {
|
||
var money = outItemList[i];
|
||
options += '<option value="' + money.Id + '">' + money.InOutItemName + '</option>';
|
||
}
|
||
$(".money-id-dlg").empty().append("<option></option>").append(options);
|
||
}
|
||
}
|
||
moneyDlgFun(); //获取支出项目信息
|
||
$("#otherMoneyDlg .tabs-tmp").hide(); //隐藏模板
|
||
|
||
//支出项目的金额输入框事件
|
||
$("#otherMoneyDlg .money-dlg .other-money-dlg").off("keyup").on("keyup",function(){
|
||
var totalMoneyNum = 0;
|
||
$("#otherMoneyDlg .money-dlg .money-content-tmp").each(function(){
|
||
var eachOtherMoney = $(this).find(".other-money-dlg").val()-0;
|
||
totalMoneyNum += eachOtherMoney;
|
||
});
|
||
$("#otherMoneyTotalDlg").text(totalMoneyNum);
|
||
});
|
||
|
||
//支出项目列表的切换事件
|
||
$("#otherMoneyDlg .money-dlg .money-id-dlg").off("change").on("change",function(){
|
||
var selectItem = $(this).children('option:selected').text();
|
||
if(selectItem === ""){
|
||
var thisMoneyDom = $(this).closest(".money-content-tmp").find(".other-money-dlg");
|
||
var thisMoney = thisMoneyDom.val()-0;
|
||
var otherMoneyTotal = $("#otherMoneyTotalDlg").text() - 0;
|
||
$("#otherMoneyTotalDlg").text(otherMoneyTotal - thisMoney);
|
||
thisMoneyDom.val(""); //支出项目为空时候,将金额也置为空
|
||
}
|
||
});
|
||
|
||
//保存按钮事件
|
||
$("#saveOtherMoneyDlg").off("click").on("click", function(){
|
||
//完成支出项目的json数据存储
|
||
var itemArr = []; //支出项目id数组
|
||
var itemMoneyArr = []; //支出项目金额数组
|
||
var errorIndex = -1;
|
||
$("#otherMoneyDlg .money-dlg .money-content-tmp").each(function(){
|
||
var thisId = $(this).find(".money-id-dlg").val();
|
||
var thisMoney = $(this).find(".other-money-dlg").val();
|
||
if(!thisId && thisMoney) {
|
||
errorIndex = $(this).attr("data-index")-0;
|
||
return;
|
||
}
|
||
if(thisId && !thisMoney) {
|
||
errorIndex = $(this).attr("data-index")-0;
|
||
return;
|
||
}
|
||
if(thisId && thisMoney) {
|
||
itemArr.push(thisId);
|
||
itemMoneyArr.push(thisMoney);
|
||
}
|
||
});
|
||
if(errorIndex >-1){
|
||
$.messager.alert('错误提示',"第" + (errorIndex+1) + "行数据存在问题,请修改",'warning');
|
||
return;
|
||
}
|
||
var otherMoneyTotal = $("#otherMoneyTotalDlg").text()-0; //合计金额
|
||
if(otherMoneyTotal === 0){ //0的时候清空缓存数据
|
||
$("#OtherMoney").removeAttr("data-itemArr").removeAttr("data-itemMoneyArr");
|
||
}
|
||
if(itemArr.length && itemMoneyArr.length) {
|
||
$("#OtherMoney").attr("data-itemArr",JSON.stringify(itemArr)).attr("data-itemMoneyArr",JSON.stringify(itemMoneyArr)); //json数据存储
|
||
}
|
||
$("#OtherMoney").val(otherMoneyTotal); //给采购费用、销售费用赋值
|
||
$("#otherMoneyDlg").dialog('close');
|
||
});
|
||
|
||
//取消事件
|
||
function cancelFun(){
|
||
if($("#OtherMoney").attr("data-itemArr")){
|
||
$("#otherMoneyDlg").dialog('close');
|
||
}
|
||
else {
|
||
$("#otherMoneyDlg").dialog('close');
|
||
$("#OtherMoney").val("").removeAttr("data-itemArr").removeAttr("data-itemMoneyArr"); //将下拉置空并把缓存参数清空
|
||
}
|
||
}
|
||
//费用-取消按钮
|
||
$("#cancelOtherMoneyDlg").off("click").on("click", function(){
|
||
cancelFun();
|
||
});
|
||
|
||
//费用-右上角的关闭按钮
|
||
$("#otherMoneyDlg").prev().find(".panel-tool-close").off("click").on("click", function(){
|
||
cancelFun();
|
||
});
|
||
|
||
//给弹窗赋值-采购费用、销售费用数据
|
||
var itemArr = $("#OtherMoney").attr("data-itemArr");
|
||
itemArr = JSON.parse(itemArr);
|
||
var itemMoneyArr = $("#OtherMoney").attr("data-itemMoneyArr");
|
||
itemMoneyArr = JSON.parse(itemMoneyArr);
|
||
$("#otherMoneyDlg .money-dlg .money-content-tmp").each(function(){
|
||
var index = $(this).attr("data-index");
|
||
$(this).find(".money-id-dlg").val(itemArr[index]);
|
||
if(itemMoneyArr[index]!="undefined"){
|
||
$(this).find(".other-money-dlg").val(itemMoneyArr[index]);
|
||
}
|
||
});
|
||
$("#otherMoneyTotalDlg").text($("#OtherMoney").val());
|
||
});
|
||
|
||
if(listTitle === "采购入库列表"){
|
||
//检查单位名称是否存在 ++ 重名无法提示问题需要跟进
|
||
function checkSupplierName() {
|
||
var supplierName = $.trim($("#supplier").val());
|
||
var orgSupplier = "";
|
||
//表示是否存在 true == 存在 false = 不存在
|
||
var flag = false;
|
||
//开始ajax名称检验,不能重名
|
||
if(supplierName.length > 0 &&( orgSupplier.length ==0 || supplierName != orgSupplier))
|
||
{
|
||
$.ajax({
|
||
type:"get",
|
||
url: "/supplier/checkIsNameExist",
|
||
dataType: "json",
|
||
async : false,
|
||
data: ({
|
||
id : 0,
|
||
name : supplierName
|
||
}),
|
||
success: function (res) {
|
||
if(res && res.code === 200) {
|
||
if(res.data && res.data.status) {
|
||
flag = res.data.status;
|
||
if (flag) {
|
||
$.messager.alert('提示', '单位名称已经存在', 'info');
|
||
return;
|
||
}
|
||
}
|
||
}
|
||
},
|
||
//此处添加错误处理
|
||
error:function() {
|
||
$.messager.alert('提示','检查单位名称是否存在异常,请稍后再试!','error');
|
||
return;
|
||
}
|
||
});
|
||
}
|
||
return flag;
|
||
}
|
||
//保存供应商信息
|
||
$("#saveSupplier").off("click").on("click",function() {
|
||
if(checkSupplierName()){
|
||
return;
|
||
}
|
||
var reg = /^([0-9])+$/;
|
||
var phonenum = $.trim($("#phonenum").val());
|
||
if(phonenum.length>0 && !reg.test(phonenum))
|
||
{
|
||
$.messager.alert('提示','电话号码只能是数字','info');
|
||
$("#phonenum").val("").focus();
|
||
return;
|
||
}
|
||
var beginNeedGet = $.trim($("#BeginNeedGet").val());
|
||
var beginNeedPay = $.trim($("#BeginNeedPay").val());
|
||
if(beginNeedGet && beginNeedPay) {
|
||
$.messager.alert('提示','期初应收和期初应付不能同时输入','info');
|
||
return;
|
||
}
|
||
var url = '/supplier/add';
|
||
var supObj = $("#supplierFM").serializeObject();
|
||
supObj.type = "供应商";
|
||
supObj.enabled = 1;
|
||
$.ajax({
|
||
url: url,
|
||
type:"post",
|
||
dataType: "json",
|
||
data:{
|
||
info: JSON.stringify(supObj)
|
||
},
|
||
success: function(res) {
|
||
if (res) {
|
||
$('#supplierDlg').dialog('close');
|
||
initSupplier(); //刷新供应商
|
||
}
|
||
}
|
||
});
|
||
});
|
||
}
|
||
}
|
||
|
||
function showDepotHeadDetails(pageNo,pageSize){
|
||
var materialParam = $.trim($("#searchMaterial").val());
|
||
$.ajax({
|
||
type:"get",
|
||
url: "/depotItem/getHeaderIdByMaterial",
|
||
dataType: "json",
|
||
data: ({
|
||
materialParam: materialParam,
|
||
depotIds: depotString
|
||
}),
|
||
success: function (res) {
|
||
if(res && res.code === 200) {
|
||
var ids = res.data;
|
||
if(ids){
|
||
$.ajax({
|
||
type: "get",
|
||
url: "/depotHead/list",
|
||
dataType: "json",
|
||
data: ({
|
||
search: JSON.stringify({
|
||
type: listType,
|
||
subType: listSubType,
|
||
state: $.trim($("#searchState").val()),
|
||
number: $.trim($("#searchNumber").val()),
|
||
beginTime: $("#searchBeginTime").val(),
|
||
endTime: $("#searchEndTime").val(),
|
||
dhIds: ids
|
||
}),
|
||
currentPage: pageNo,
|
||
pageSize: pageSize
|
||
}),
|
||
success: function (res) {
|
||
if(res && res.code === 200){
|
||
if(res.data && res.data.page) {
|
||
$("#tableData").datagrid('loadData', res.data.page);
|
||
}
|
||
}
|
||
},
|
||
//此处添加错误处理
|
||
error: function () {
|
||
$.messager.alert('查询提示', '查询数据后台异常,请稍后再试!', 'error');
|
||
return;
|
||
}
|
||
});
|
||
}
|
||
else {
|
||
$("#tableData").datagrid('loadData', []);
|
||
}
|
||
}
|
||
},
|
||
//此处添加错误处理
|
||
error:function() {
|
||
$.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error');
|
||
return;
|
||
}
|
||
});
|
||
}
|
||
|
||
//自动计算事件
|
||
function autoReckon() {
|
||
//延时绑定事件
|
||
setTimeout(function(){
|
||
var body =$("#depotHeadFM .datagrid-body");
|
||
var footer =$("#depotHeadFM .datagrid-footer");
|
||
var input = ".datagrid-editable-input";
|
||
//点击商品下拉框,自动加载数量、单价、金额
|
||
body.find("[field='Stock']").find(input).prop("readonly","readonly");
|
||
//点击库存文本框,字段计算库存
|
||
body.find("[field='Stock']").find(input).off("click").on("click",function(){
|
||
var depotId = body.find("[field='DepotId']").find(".combo-value").val();
|
||
var mId = body.find("[field='MaterialId']").find(".combo-value").val();
|
||
var monthTime = getNowFormatMonth();
|
||
if(depotId && mId){
|
||
var ratio = body.find("[field='Unit']").find(input).attr("data-ratio");
|
||
body.find("[field='Stock']").find(input).prop("readonly","readonly");
|
||
//在新增的时候,这个ratio有值;在编辑的时候,这个ratio为undefined
|
||
var type = "click"; //type 类型:点击 click,选择 select
|
||
findStockNumById(depotId, mId, monthTime, body, input, ratio, type);
|
||
}
|
||
else{
|
||
body.find("[field='Stock']").find(input).val(0).attr("data-stock",0); //加载库存数据
|
||
}
|
||
});
|
||
//修改数量,自动计算金额和合计,另外计算含税单价、税额、价税合计
|
||
body.find("[field='OperNumber']").find(input).off("keyup").on("keyup",function(){
|
||
var UnitPrice = body.find("[field='UnitPrice']").find(input).val(); //单价
|
||
var taxRate = body.find("[field='TaxRate']").find(input).val(); //税率
|
||
var OperNumber =$(this).val()-0; //数量
|
||
body.find("[field='AllPrice']").find(input).val((UnitPrice*OperNumber).toFixed(2)); //金额
|
||
body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价
|
||
body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额
|
||
body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计
|
||
statisticsFun(body,UnitPrice,OperNumber,footer,taxRate);
|
||
|
||
});
|
||
//修改单价,自动计算金额和合计
|
||
body.find("[field='UnitPrice']").find(input).off("keyup").on("keyup",function(){
|
||
var UnitPrice =$(this).val()-0; //单价
|
||
var taxRate = body.find("[field='TaxRate']").find(input).val(); //税率
|
||
var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量
|
||
body.find("[field='AllPrice']").find(input).val((UnitPrice*OperNumber).toFixed(2)); //金额
|
||
body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价
|
||
body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额
|
||
body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计
|
||
statisticsFun(body,UnitPrice,OperNumber,footer,taxRate);
|
||
});
|
||
//点击单价,自动提示参考价格列表
|
||
body.find("[field='UnitPrice']").find(input).off("click").on("click",function(){
|
||
var self = this;
|
||
var mValue = body.find("[field='MaterialId'] .combo-value").attr("value"); //获取选中的商品id
|
||
if(!mValue) {
|
||
return;
|
||
}
|
||
else {
|
||
if(listTitle!="销售出库列表" && listTitle!="采购退货列表" && listTitle!="其它出库列表" && listTitle!="调拨出库列表") {
|
||
return;
|
||
}
|
||
$.ajax({
|
||
url: "/material/findById",
|
||
type: "get",
|
||
dataType: "json",
|
||
data: {
|
||
id: mValue - 0
|
||
},
|
||
success: function(res){
|
||
if(res && res.rows && res.rows[0]) {
|
||
var retailPrice = res.rows[0].RetailPrice;
|
||
var presetPriceOne = res.rows[0].PresetPriceOne;
|
||
var presetPriceTwo = res.rows[0].PresetPriceTwo;
|
||
//定义模版
|
||
var temp = "<div class='price-list'>";
|
||
temp +="<ul>";
|
||
temp +="<li>批发价:" + presetPriceTwo + "</li>";
|
||
temp +="<li>零售价:" + retailPrice + "</li>";
|
||
temp +="</ul>";
|
||
temp +="</div>";
|
||
if($('.price-list').length){
|
||
$('.price-list').remove(); //如果存在价格列表先移除
|
||
}
|
||
else {
|
||
if(presetPriceTwo != undefined){ //多单位的商品
|
||
$(self).after(temp); //加载列表信息
|
||
}
|
||
}
|
||
$('.price-list ul li').off("click").on("click",function(){
|
||
var price = $(this).text();
|
||
price = price.substring(price.indexOf(":") + 1);
|
||
$(self).val(price);
|
||
$(self).keyup(); //模拟键盘操作
|
||
$('.price-list').remove(); //移除价格列表
|
||
});
|
||
//点击空白处移除价格列表
|
||
$(".datagrid-body").off("click").on("click",function(){
|
||
$('.price-list').remove(); //移除价格列表
|
||
});
|
||
}
|
||
},
|
||
error: function(){
|
||
$.messager.alert('错误提示','查询商品信息异常,请稍后再试!','error');
|
||
return;
|
||
}
|
||
});
|
||
}
|
||
});
|
||
//修改含税单价,自动计算单价、金额、税额、价税合计和合计
|
||
body.find("[field='TaxUnitPrice']").find(input).off("keyup").on("keyup",function(){
|
||
var TaxUnitPrice =$(this).val()-0; //含税单价
|
||
var taxRate = body.find("[field='TaxRate']").find(input).val(); //税率
|
||
var UnitPrice = TaxUnitPrice/(1+taxRate/100); //计算单价
|
||
body.find("[field='UnitPrice']").find(input).val((UnitPrice).toFixed(2)); //单价
|
||
var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量
|
||
body.find("[field='AllPrice']").find(input).val((UnitPrice*OperNumber).toFixed(2)); //金额
|
||
body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额
|
||
body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计
|
||
statisticsFun(body,UnitPrice,OperNumber,footer,taxRate);
|
||
});
|
||
//修改金额,自动计算单价、税额、价税合计和合计
|
||
body.find("[field='AllPrice']").find(input).off("keyup").on("keyup",function(){
|
||
var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量
|
||
var taxRate = body.find("[field='TaxRate']").find(input).val(); //税率
|
||
var AllPrice =$(this).val()-0; //金额
|
||
var UnitPrice = (AllPrice/OperNumber).toFixed(2);
|
||
body.find("[field='UnitPrice']").find(input).val(UnitPrice); //单价
|
||
body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价
|
||
body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额
|
||
body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计
|
||
statisticsFun(body,UnitPrice,OperNumber,footer,taxRate);
|
||
});
|
||
//修改税率,自动计算含税单价、税额、价税合计和合计
|
||
body.find("[field='TaxRate']").find(input).off("keyup").on("keyup",function(){
|
||
var taxRate =$(this).val()-0; //税率
|
||
var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量
|
||
var UnitPrice = body.find("[field='UnitPrice']").find(input).val(); //单价
|
||
body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价
|
||
body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额
|
||
body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计
|
||
statisticsFun(body,UnitPrice,OperNumber,footer,taxRate);
|
||
});
|
||
//修改税额,自动计算税率、含税单价、价税合计和合计
|
||
body.find("[field='TaxMoney']").find(input).off("keyup").on("keyup",function(){
|
||
var taxMoney =$(this).val()-0; //税额
|
||
var AllPrice = body.find("[field='AllPrice']").find(input).val(); //金额
|
||
var taxRate = taxMoney/AllPrice*100; //税率
|
||
var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量
|
||
var UnitPrice = body.find("[field='UnitPrice']").find(input).val(); //单价
|
||
body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价
|
||
body.find("[field='TaxRate']").find(input).val((taxRate).toFixed(2)); //税率
|
||
body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计
|
||
statisticsFun(body,UnitPrice,OperNumber,footer,taxRate);
|
||
});
|
||
//修改价税合计,自动计算税率、含税单价、税额和合计
|
||
body.find("[field='TaxLastMoney']").find(input).off("keyup").on("keyup",function(){
|
||
var taxLastMoney =$(this).val()-0; //价税合计
|
||
var AllPrice = body.find("[field='AllPrice']").find(input).val(); //金额
|
||
var taxRate = (taxLastMoney-AllPrice)/AllPrice*100; //税率
|
||
var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量
|
||
var UnitPrice = body.find("[field='UnitPrice']").find(input).val(); //单价
|
||
body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价
|
||
body.find("[field='TaxRate']").find(input).val((taxRate).toFixed(2)); //税率
|
||
body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额
|
||
statisticsFun(body,UnitPrice,OperNumber,footer,taxRate);
|
||
});
|
||
|
||
//加载税率
|
||
if(thisTaxRate) {
|
||
body.find("[field='TaxRate']").find(input).val(thisTaxRate);
|
||
}
|
||
else {
|
||
body.find("[field='TaxRate']").find(input).val(0); //默认为0
|
||
}
|
||
|
||
//在商品类型加载 组装件、普通子件
|
||
var mType = body.find("[field='MType']");
|
||
var rowListLength = mType.find(input).closest(".datagrid-row").attr("datagrid-row-index");
|
||
var mTypeValue = "组合件";
|
||
if(rowListLength > 0){
|
||
mTypeValue = "普通子件";
|
||
}
|
||
if(listSubType == "组装单" || listSubType == "拆卸单"){
|
||
mType.find(input).val(mTypeValue).prop("readonly","readonly");
|
||
}
|
||
},500);
|
||
}
|
||
|
||
//结束编辑
|
||
function endEditing() {
|
||
if (editIndex == undefined) { return true }
|
||
if ($('#materialData').datagrid('validateRow', editIndex)) {
|
||
//仓库信息
|
||
var edDepot = $('#materialData').datagrid('getEditor', {index:editIndex,field:'DepotId'});
|
||
var DepotName = $(edDepot.target).combobox('getText');
|
||
$('#materialData').datagrid('getRows')[editIndex]['DepotName'] = DepotName;
|
||
//商品信息
|
||
var edMaterial = $('#materialData').datagrid('getEditor', {index:editIndex,field:'MaterialId'});
|
||
var MaterialName = $(edMaterial.target).combobox('getText');
|
||
$('#materialData').datagrid('getRows')[editIndex]['MaterialName'] = MaterialName;
|
||
$('#materialData').datagrid('endEdit', editIndex);
|
||
editIndex = undefined;
|
||
return true;
|
||
} else {
|
||
return false;
|
||
}
|
||
}
|
||
//单击
|
||
function onClickRow(index) {
|
||
if (editIndex != index) {
|
||
if (endEditing()) {
|
||
$('#materialData').datagrid('selectRow', index).datagrid('beginEdit', index);
|
||
editIndex = index;
|
||
autoReckon();
|
||
} else {
|
||
$('#materialData').datagrid('selectRow', editIndex);
|
||
}
|
||
}
|
||
}
|
||
//新增
|
||
function append(){
|
||
if (endEditing()) {
|
||
$('#materialData').datagrid('appendRow', {});
|
||
editIndex = $('#materialData').datagrid('getRows').length - 1;
|
||
$('#materialData').datagrid('selectRow', editIndex).datagrid('beginEdit', editIndex);
|
||
autoReckon();
|
||
}
|
||
}
|
||
//删除
|
||
function removeit(){
|
||
if (editIndex == undefined) { return }
|
||
$('#materialData').datagrid('cancelEdit', editIndex)
|
||
.datagrid('deleteRow', editIndex);
|
||
editIndex = undefined;
|
||
}
|
||
//撤销
|
||
function reject() {
|
||
$('#materialData').datagrid('rejectChanges');
|
||
editIndex = undefined;
|
||
}
|
||
//判断
|
||
function CheckData(type) {
|
||
append();
|
||
removeit();
|
||
var change = $('#materialData').datagrid('getChanges').length;
|
||
if(type =="add" && !change) {
|
||
$.messager.alert('提示','请输入明细信息!','warning');
|
||
return false;
|
||
}
|
||
var row = $('#materialData').datagrid('getRows');
|
||
if(!row.length){
|
||
$.messager.alert('提示',"请输入明细信息!",'info');
|
||
return false;
|
||
}
|
||
var totalRowNum = "";
|
||
for (var i = 0; i < row.length; i++) {
|
||
if (row[i].DepotId == "" || row[i].MaterialId == "" || row[i].OperNumber == "" || row[i].UnitPrice === "" || row[i].AllPrice === "") {
|
||
totalRowNum += (i + 1) + "、";
|
||
}
|
||
}
|
||
if (totalRowNum != "") {
|
||
var totalRowNum = totalRowNum.substring(0, totalRowNum.length - 1);
|
||
$.messager.alert('提示',"第" + totalRowNum + "行数据填写不完整!",'info');
|
||
return false;
|
||
}
|
||
return true;
|
||
}
|
||
//保存
|
||
function accept(accepId,fun) {
|
||
var inserted = $("#materialData").datagrid('getChanges', "inserted");
|
||
var deleted = $("#materialData").datagrid('getChanges', "deleted");
|
||
var updated = $("#materialData").datagrid('getChanges', "updated");
|
||
$.ajax({
|
||
type: "post",
|
||
url: "/depotItem/saveDetials",
|
||
data: {
|
||
inserted: JSON.stringify(inserted),
|
||
deleted: JSON.stringify(deleted),
|
||
updated: JSON.stringify(updated),
|
||
headerId:accepId
|
||
},
|
||
success: function (tipInfo)
|
||
{
|
||
if (tipInfo) {
|
||
$.messager.alert('提示','保存成功!','info');
|
||
}
|
||
else {
|
||
$.messager.alert('提示', '保存失败!', 'error');
|
||
}
|
||
fun && fun();
|
||
},
|
||
error: function (XmlHttpRequest, textStatus, errorThrown)
|
||
{
|
||
$.messager.alert('提示',XmlHttpRequest.responseText,'error');
|
||
fun && fun();
|
||
}
|
||
});
|
||
if (endEditing()) {
|
||
$('#materialData').datagrid('acceptChanges');
|
||
}
|
||
}
|
||
//获取MaxId
|
||
function getMaxId(){
|
||
var depotHeadMax=null;
|
||
$.ajax({
|
||
type:"get",
|
||
url: "/depotHead/getMaxId",
|
||
//设置为同步
|
||
async:false,
|
||
dataType: "json",
|
||
success: function (res) {
|
||
if(res && res.code === 200) {
|
||
if(res.data) {
|
||
depotHeadMax = res.data.maxId;
|
||
}
|
||
}
|
||
}
|
||
});
|
||
|
||
if(depotHeadMax !=null) {
|
||
depotHeadMaxId=depotHeadMax;
|
||
}
|
||
}
|
||
|
||
|
||
|
||
|
||
|
||
|