//此处是对表单的方法,组件,权限操作按钮等进行任意扩展(方法扩展可参照SellOrder.js)
import gridHeader from '../../App_Expert/ContainerInfoAlert.vue'
let extension = {
components: {//动态扩充组件或组件路径
//表单header、content、footer对应位置扩充的组件
gridHeader: gridHeader,//{ template: "
扩展组xx件
" },
gridBody: "",
gridFooter: '',
//弹出框(修改、编辑、查看)header、content、footer对应位置扩充的组件
modelHeader: '',
modelBody: '',
modelFooter: ''
},
buttons: { view: [], box: [], detail: [] },//扩展的按钮
methods: {//事件扩展
onInit() {
this.columns.forEach(x => {
if (x.field == "containerdtl_goodsWeight") {
x.render = (h, { row, column, index }) => {
if (row.materiel_id == "CRH1A" || row.materiel_id == "CRH380B") {
return h('span', row.containerdtl_goodsWeight);
}
}
}
});
this.http.post("/api/VV_ContainerInfo/Getgqrkts", null, false).then(x => {
this.$alert(
`
测量不合格数量:${x.data.goodscount}
称重不合格数量:${x.data.standarcount}
超期数量:${x.data.dateDiffResultcount}
`,
'警告信息',
{
confirmButtonText: '我知道了',
dangerouslyUseHTMLString: true, // 允许HTML内容
customClass: 'custom-alert-style',
type: 'error'
}
);
});
let but = this.buttons.find(r => r.value == "ManualOut");
if (null != but) {
but.onClick = function () {
let rows = this.$refs.table.getSelected();
if (rows.length == 0) return this.$Message.error("请选择要出库的库存!");
let delKeys = rows.map(x => {
return x[this.table.key];
});
if (!delKeys || delKeys.length == 0)
return this.$Message.error("没有获取要出库的行数据!");
this.$refs.gridHeader.showBoxOutboundAlert(rows, 'box');
};
}
let addbtn = this.buttons.find(r => r.value == "Add");
if (null != addbtn) {
addbtn.name = "添加空库存";
addbtn.onClick = function () {
this.$refs.gridHeader.show_addGoodsRecord();
}
}
let move = this.buttons.find(r => r.value == "MoveOut");
if (null != move) {
move.onClick = function () {
let rows = this.$refs.table.getSelected();
if (rows.length == 0) return this.$Message.error("请选择要移库的库存!");
if (rows.length > 1) return this.$Message.error("请选择一条库存移库!");
this.$refs.gridHeader.show_moveOutbound(rows[0], "Box");
}
}
let qualityCheck = this.buttons.find(r => r.value == "qualityCheck");
if (null != qualityCheck) {
qualityCheck.onClick = function () {
this.check("qualityCheck");
}
}
let takeGoogsCheck = this.buttons.find(r => r.value == "takeGoogsCheck");
if (null != takeGoogsCheck) {
takeGoogsCheck.onClick = function () {
this.check("takeGoogsCheck");
}
}
//如果是快过期的轴承,在此显示不同的颜色,比如红色
// this.columns.forEach(x => {
// x.cellStyle = (row, rowIndex, columnIndex) => {
// var inboundDate = new Date(row.containerdtl_createtime);
// var currentDate = new Date();
// var difftime = (currentDate - inboundDate) / 1000; //计算时间差,把毫秒转换成秒
// var days = parseInt(difftime / 86400);
// if (days > 180) {
// return { background: "#ff6565", color: "#ffff" }
// }
// }
// })
//如果是有效期过期的轴承,在此显示不同的颜色,比如蓝色
// this.columns.forEach(x => {
// x.cellStyle = (row, rowIndex, columnIndex) => {
// var inboundDate = new Date(row.containerdtl_createtime);
// var currentDate = new Date();
// if (inboundDate > currentDate) {
// return { backgroundColor: "#ffcccc", color: "black" };
// }
// }
// })
let materiel_modelno = this.getOption("materiel_id");
let materielType = this.getOption("containerdtl_type");
materiel_modelno.onChange = (val, options) => {
let params = {
MainData: { "materielId": val },
}
this.searchFormFields.containerdtl_type = '';
materielType.data = [];
this.http.post("api/Dt_materiel_zc_info/GetZCInfoByMateriel", params, "").then(x => {
materielType.data = x.data;
});
};
this.maxBtnLength = 15;
},
rowClick({ row, column, event }) {
this.$refs.gridHeader.showContainerDetailInfoAlert(row);
},
//获取当前时间
getNowDate() {
var myDate = new Date;
var year = myDate.getFullYear(); //获取当前年
var mon = myDate.getMonth() + 1; //获取当前月
var date = myDate.getDate(); //获取当前日
var hours = myDate.getHours(); //获取当前小时
var minutes = myDate.getMinutes(); //获取当前分钟
var seconds = myDate.getSeconds(); //获取当前秒
var now = year + "-" + mon + "-" + date + " " + hours + ":" + minutes + ":" + seconds;
return now;
},
getOption(field) {
let option;
this.searchFormOptions.forEach(x => {
let col = x.find(r => r.field == field);
if (null != col) {
option = col;
return;
}
});
return option;
}, check(type) {
let rows = this.$refs.table.getSelected();
if (rows.length == 0) return this.$error("请选择要进行确认的轴承!");
let delKeys = rows.map(x => {
return x[this.table.key];
});
if (!delKeys || delKeys.length == 0)
return this.$error("没有获取到选定轴承的行库存!");
let tigger = false;
this.$confirm("要对选中的轴承进行确认吗?", "确认警告!", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
center: true,
}).then(() => {
if (tigger) return;
tigger = true;
let params = {
MainData: null,
DetailData: null,
DelKeys: delKeys,
Extra: type
}
this.http.post("/api/VV_ContainerInfo/update", params, "正在确认....").then(x => {
if (!x.status) return this.$Message.error(x.message);
this.$Message.success("确认成功!");
});
});
}
},
};
export default extension;