//此处是对表单的方法,组件,权限操作按钮等进行任意扩展(方法扩展可参照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;