| | |
| | | *****************************************************************************************/ |
| | | //此js文件是用来自定义扩展业务代码,可以扩展一些自定义页面或者重新配置生成的代码 |
| | | |
| | | import gridHeader from "./demo_Product/Dt_BillGroupStockDetail.vue"; |
| | | |
| | | // import gridHeader from "./demo_Product/Dt_BillGroupStockDetail.vue"; |
| | | import gridBody from "./extend/SupplementationData.vue" |
| | | let extension = { |
| | | components: { |
| | | //查询界面扩展组件 |
| | | gridHeader: gridHeader, |
| | | gridBody: "", |
| | | gridFooter: "", |
| | | gridHeader: '', |
| | | gridBody: gridBody, |
| | | gridFooter: '', |
| | | //新建、编辑弹出框扩展组件 |
| | | modelHeader: "", |
| | | modelBody: "", |
| | | modelFooter: "", |
| | | modelHeader: '', |
| | | modelBody: '', |
| | | modelFooter: '' |
| | | }, |
| | | tableAction: "", //指定某张表的权限(这里填写表名,默认不用填写) |
| | | tableAction: '', //指定某张表的权限(这里填写表名,默认不用填写) |
| | | buttons: { view: [], box: [], detail: [] }, //扩展的按钮 |
| | | methods: { |
| | | //下面这些方法可以保留也可以删除 |
| | | onInit() { |
| | | //框架初始化配置前, |
| | | let OutBoundBtn = this.buttons.find((x) => x.value == 'OutBound') |
| | | if (OutBoundBtn) { |
| | | OutBoundBtn.onClick = function () { |
| | | // this.$Message.success('点击了按钮') |
| | | let row = this.$refs.table.getSelected() //获取选中的行 |
| | | if (row <= 0) { |
| | | //如果没有选中行 |
| | | this.$Message.error('请选择一行数据') |
| | | return |
| | | } |
| | | let locationCode = row[0].locationCode |
| | | let palletCode = row[0].palletCode |
| | | this.http |
| | | .get( |
| | | `/api/Task/CreateAndSendOutboundTask?locationCode=${locationCode}&palletCode=${palletCode}`, |
| | | {}, |
| | | '正在创建任务' |
| | | ) |
| | | .then((res) => { |
| | | //示例:调用后台接口 |
| | | if (res.status) { |
| | | this.$Message.success('创建任务成功') |
| | | console.log(res) |
| | | this.refresh() //刷新表格 |
| | | } else { |
| | | this.$Message.error(res.message) //错误提示 |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | |
| | | |
| | | var btnSupplementationData = this.buttons.find(x => x.value == "SupplementationData"); |
| | | if (btnSupplementationData != null) { |
| | | btnSupplementationData.onClick = () => { |
| | | let rows = this.$refs.table.getSelected(); |
| | | if (rows.length == 0) { |
| | | return this.$error("请选择数据!"); |
| | | } else if (rows.length > 1) { |
| | | return this.$error("只能选择单条数据"); |
| | | } |
| | | this.$refs.gridBody.open(rows[0].palletCode); |
| | | this.refresh(); |
| | | } |
| | | |
| | | } |
| | | //示例:在按钮的最前面添加一个按钮 |
| | | // this.buttons.unshift({ //也可以用push或者splice方法来修改buttons数组 |
| | | // name: '按钮', //按钮名称 |
| | | // icon: 'el-icon-document', //按钮图标vue2版本见iview文档icon,vue3版本见element ui文档icon(注意不是element puls文档) |
| | | // type: 'primary', //按钮样式vue2版本见iview文档button,vue3版本见element ui文档button |
| | | // onClick: function () { |
| | | // this.$Message.success('点击了按钮'); |
| | | // this.buttons.unshift({ |
| | | // //也可以用push或者splice方法来修改buttons数组 |
| | | // name: '直接出库', //按钮名称 |
| | | // icon: 'el-icon-document', //按钮图标vue2版本见iview文档icon,vue3版本见element ui文档icon(注意不是element puls文档) |
| | | // type: 'primary', //按钮样式vue2版本见iview文档button,vue3版本见element ui文档button |
| | | // onClick: function () { |
| | | // this.$Message.success('点击了按钮') |
| | | // let row = this.$refs.table.getSelected() //获取选中的行 |
| | | // if (row <= 0) { |
| | | // //如果没有选中行 |
| | | // this.$Message.error('请选择一行数据') |
| | | // return |
| | | // } |
| | | // }); |
| | | // let locationCode = row[0].locationCode |
| | | // let palletCode = row[0].palletCode |
| | | // this.http.get(`/api/Task/CreateAndSendOutboundTask?locationCode=${locationCode}&palletCode=${palletCode}`, {}, "正在创建任务").then((res) => { |
| | | // //示例:调用后台接口 |
| | | // if (res.status) { |
| | | // this.$Message.success('创建任务成功') |
| | | // } else { |
| | | // this.$Message.error(res.message) //错误提示 |
| | | // } |
| | | // }) |
| | | // } |
| | | // }) |
| | | |
| | | //示例:设置修改新建、编辑弹出框字段标签的长度 |
| | | this.boxOptions.labelWidth = 150; |
| | | this.boxOptions.labelWidth = 150 |
| | | |
| | | this.columns.push({ |
| | | title: "操作", |
| | | field: "操作", |
| | | width: 150, |
| | | align: "left", // 'center', |
| | | render: (h, { row, column, index }) => { |
| | | return ( |
| | | <div> |
| | | <el-button |
| | | onClick={($e) => { |
| | | this.$refs.gridHeader.openModel1(row); |
| | | }} |
| | | type="primary" |
| | | plain |
| | | style="height:26px; padding: 10px !important;" |
| | | > |
| | | 查看库存明细 |
| | | </el-button> |
| | | </div> |
| | | ); |
| | | }, |
| | | }); |
| | | // this.columns.push({ |
| | | // title: "操作", |
| | | // field: "操作", |
| | | // width: 150, |
| | | // align: "left", // 'center', |
| | | // render: (h, { row, column, index }) => { |
| | | // return ( |
| | | // <div> |
| | | // <el-button |
| | | // onClick={($e) => { |
| | | // this.$refs.gridHeader.openModel1(row); |
| | | // }} |
| | | // type="primary" |
| | | // plain |
| | | // style="height:26px; padding: 10px !important;" |
| | | // > |
| | | // 查看库存明细 |
| | | // </el-button> |
| | | // </div> |
| | | // ); |
| | | // }, |
| | | // }); |
| | | |
| | | this.columns.forEach((column) => { |
| | | //修改颜色 |
| | | if (column.field == 'roadwayNo') { |
| | | column.formatter = (row) => { |
| | | // return '<span style="color: #2d8cf0;">' + row?.locationInfo?.roadwayNo + '</span>' |
| | | return row?.locationInfo?.roadwayNo |
| | | } |
| | | } |
| | | if (column.field == 'materielCode') { |
| | | column.formatter = (row) => { |
| | | // return '<span style="color: #2d8cf0;">' + row?.locationInfo?.roadwayNo + '</span>' |
| | | return row?.stockInfoDetails[0]?.materielCode |
| | | } |
| | | } |
| | | //格式化日期 |
| | | // 检查当前列的字段是否为 'locationStatus' |
| | | if (column.field == 'locationStatus') { |
| | | // 使用对象字面量来映射 'locationStatus' 的值和对应的文本 |
| | | const statusMap = { |
| | | '-1': '全部', |
| | | '0': '空闲', |
| | | '1': '锁定', |
| | | '2': '有货', |
| | | '3': '有货禁用', |
| | | '4': '无货禁用' |
| | | }; |
| | | // 定义一个格式化函数,根据 'locationStatus' 的值返回相应的文本 |
| | | column.formatter = (row) => { |
| | | // 使用 statusMap 对象来获取对应的文本,如果没有匹配则返回 '未知状态' |
| | | return statusMap[row?.locationInfo?.locationStatus] || '未知状态'; |
| | | } |
| | | } |
| | | }) |
| | | }, |
| | | onInited() { |
| | | //框架初始化配置后 |
| | | //如果要配置明细表,在此方法操作 |
| | | //this.detailOptions.columns.forEach(column=>{ }); |
| | | this.detailOptions.columns.forEach(column=>{ |
| | | console.log(column) |
| | | }); |
| | | }, |
| | | searchBefore(param) { |
| | | //界面查询前,可以给param.wheres添加查询参数 |
| | | //返回false,则不会执行查询 |
| | | return true; |
| | | return true |
| | | }, |
| | | searchAfter(result) { |
| | | //查询后,result返回的查询数据,可以在显示到表格前处理表格的值 |
| | | return true; |
| | | console.log(result) |
| | | return true |
| | | }, |
| | | addBefore(formData) { |
| | | //新建保存前formData为对象,包括明细表,可以给给表单设置值,自己输出看formData的值 |
| | | return true; |
| | | return true |
| | | }, |
| | | updateBefore(formData) { |
| | | //编辑保存前formData为对象,包括明细表、删除行的Id |
| | | return true; |
| | | return true |
| | | }, |
| | | rowClick({ row, column, event }) { |
| | | //查询界面点击行事件 |
| | | this.$refs.table.$refs.table.toggleRowSelection(row); //单击行时选中当前行; |
| | | // this.$refs.table.$refs.table.toggleRowSelection(row) //单击行时选中当前行; |
| | | }, |
| | | modelOpenAfter(row) { |
| | | |
| | | //点击编辑、新建按钮弹出框后,可以在此处写逻辑,如,从后台获取数据 |
| | | //(1)判断是编辑还是新建操作: this.currentAction=='Add'; |
| | | //(2)给弹出框设置默认值 |
| | | //(3)this.editFormFields.字段='xxx'; |
| | | //如果需要给下拉框设置默认值,请遍历this.editFormOptions找到字段配置对应data属性的key值 |
| | | //看不懂就把输出看:console.log(this.editFormOptions) |
| | | }, |
| | | }, |
| | | }; |
| | | export default extension; |
| | | } |
| | | } |
| | | } |
| | | export default extension |