//此处是对表单的方法,组件,权限操作按钮等进行任意扩展(方法扩展可参照SellOrder.js)
|
import gridHeader from '../../App_Expert/ContainerInfoAlert.vue'
|
let extension = {
|
components: {//动态扩充组件或组件路径
|
//表单header、content、footer对应位置扩充的组件
|
gridHeader: gridHeader,//{ template: "<div>扩展组xx件</div>" },
|
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(
|
`<strong style="font-size: 20px; color: #ff0000;">
|
测量不合格数量:${x.data.goodscount}<br/>
|
称重不合格数量:${x.data.standarcount}<br/>
|
超期数量:${x.data.dateDiffResultcount}
|
</strong>`,
|
'警告信息',
|
{
|
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;
|