| | |
| | | <template> |
| | | <a-card :bordered="false"> |
| | | <!-- 查询区域 --> |
| | | <div class="table-page-search-wrapper"> |
| | | <div class="table-page-search-wrapper"> |
| | | <a-form layout="inline" @keyup.enter.native="searchQuery"> |
| | | <a-row :gutter="24"> |
| | | <a-col :md="6" :sm="8"> |
| | |
| | | dict="sys_user,realname,id,del_flag!=1" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col |
| | | </a-col> |
| | | <a-col :md="6" :sm="8"> |
| | | <a-form-item label="确认人"> |
| | | <j-search-select-tag |
| | | v-model="queryParam.confirmer" |
| | | placeholder="请选择确认人" |
| | | dict="sys_user,realname,id,del_flag!=1" |
| | | /> |
| | | </a-form-item> |
| | | </a-col> |
| | | <!-- <a-col :md="6" :sm="8">--> |
| | | <!-- <a-form-item label="入库时间">--> |
| | | <!-- <j-date--> |
| | | <!-- v-model="queryParam.receiveTime"--> |
| | | <!-- type="date"--> |
| | | <!-- value-format="YYYY-MM-DD"--> |
| | | <!-- />--> |
| | | <!-- </a-form-item>--> |
| | | <!-- </a-col>--> |
| | | <a-col |
| | | :md="6" |
| | | :sm="8" |
| | | > |
| | |
| | | <!-- 操作按钮区域 --> |
| | | <div class="table-operator"> |
| | | <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button> |
| | | <!-- <a-button type="primary" icon="download" @click="handleExportXls('刀具入库单')">导出</a-button> |
| | | <a-button type="primary" icon="download" @click="handleExportXls('刀具入库单')">导出</a-button> |
| | | <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel"> |
| | | <a-button type="primary" icon="import">导入</a-button> |
| | | </a-upload> --> |
| | | </a-upload> |
| | | </div> |
| | | |
| | | <!-- table区域-begin --> |
| | |
| | | <a>删除</a> |
| | | </a-popconfirm> |
| | | </a-menu-item> |
| | | <a-menu-item> |
| | | <a-popconfirm title="确定提交吗?" @confirm="() => handleSubmit(record.id)"> |
| | | <a>提交</a> |
| | | </a-popconfirm> |
| | | </a-menu-item> |
| | | </a-menu> |
| | | </a-dropdown> |
| | | </span> |
| | |
| | | </a-card> |
| | | </template> |
| | | |
| | | |
| | | |
| | | |
| | | <script> |
| | | |
| | | import '@/assets/less/TableExpand.less' |
| | |
| | | import { JeecgListMixin } from '@/mixins/JeecgListMixin' |
| | | import CuttingInboundModal from './modules/CuttingInboundModal' |
| | | import CuttingInboundDetailList from './CuttingInboundDetailList' |
| | | import { downFile, httpAction } from '@api/manage' |
| | | import Vue from 'vue' |
| | | import { ACCESS_TOKEN } from '@/store/mutation-types' |
| | | import store from '@/store' |
| | | |
| | | |
| | | export default { |
| | |
| | | { |
| | | title:'入库单状态', |
| | | align:"center", |
| | | dataIndex: 'orderStatus' |
| | | dataIndex: 'orderStatus_dictText', |
| | | }, |
| | | { |
| | | title: '操作', |
| | |
| | | deleteBatch: "/cms/cuttingInbound/deleteBatch", |
| | | exportXlsUrl: "/cms/cuttingInbound/exportXls", |
| | | importExcelUrl: "cms/cuttingInbound/importExcel", |
| | | |
| | | }, |
| | | dictOptions:{}, |
| | | superFieldList:[], |
| | | } |
| | | }, |
| | | created() { |
| | | this.getSuperFieldList(); |
| | | this.getSuperFieldList(); |
| | | // 添加字典数据加载 |
| | | this.initDictConfig(); |
| | | }, |
| | | computed: { |
| | | importExcelUrl: function(){ |
| | |
| | | }, |
| | | }, |
| | | methods: { |
| | | searchQuery() { |
| | | this.loadData(1); |
| | | }, |
| | | searchReset() { |
| | | this.queryParam = {} |
| | | this.$refs.cuttingInbounDetailList.dataSource = [] |
| | | this.loadData(1); |
| | | }, |
| | | this.queryParam = {} |
| | | this.$refs.cuttingInbounDetailList.dataSource = [] |
| | | this.loadData(1); |
| | | }, |
| | | handleEdit: function (record) { |
| | | this.$refs.modalForm.edit(record) |
| | | this.$refs.modalForm.title = '编辑' |
| | | this.$refs.modalForm.disableSubmit = false |
| | | }, |
| | | handleAdd() { |
| | | this.$refs.modalForm.add() |
| | | this.$refs.modalForm.title = '新增' |
| | | this.$refs.modalForm.disableSubmit = false |
| | | }, |
| | | handleDetail:function(record){ |
| | | this.$refs.modalForm.edit(record); |
| | | this.$refs.modalForm.title="详情"; |
| | | this.$refs.modalForm.disableSubmit = true; |
| | | }, |
| | | customRow(record) { |
| | | return { |
| | | on: { |
| | | click: (e) => { |
| | | //将当前选中的记录传到子页面 |
| | | this.$bus.$emit('getToolingStorageData', record) |
| | | //点击当前行变色 |
| | | let oldList = document.querySelectorAll('.checked-td-of-add-table') |
| | | if (oldList) { |
| | | for (let j = 0; j < oldList.length; j++) { |
| | | oldList[j].classList.remove('checked-td-of-add-table') |
| | | }, |
| | | handleAdd() { |
| | | this.$refs.modalForm.add() |
| | | this.$refs.modalForm.title = '新增' |
| | | this.$refs.modalForm.disableSubmit = false |
| | | }, |
| | | handleDetail:function(record){ |
| | | this.$refs.modalForm.edit(record); |
| | | this.$refs.modalForm.title="详情"; |
| | | this.$refs.modalForm.disableSubmit = true; |
| | | }, |
| | | // 自定义行点击事件 |
| | | customRow(record) { |
| | | return { |
| | | on: { |
| | | click: (e) => { |
| | | //将当前选中的记录传到子页面 |
| | | this.$bus.$emit('getToolingStorageData', record) |
| | | //点击当前行变色 |
| | | let oldList = document.querySelectorAll('.checked-td-of-add-table') |
| | | if (oldList) { |
| | | for (let j = 0; j < oldList.length; j++) { |
| | | oldList[j].classList.remove('checked-td-of-add-table') |
| | | } |
| | | } |
| | | } |
| | | let children = e.target.parentNode.children |
| | | for (let i = 0; i < children.length; i++) { |
| | | children[i].classList.add('checked-td-of-add-table') |
| | | } |
| | | let children = e.target.parentNode.children |
| | | for (let i = 0; i < children.length; i++) { |
| | | children[i].classList.add('checked-td-of-add-table') |
| | | } |
| | | }, |
| | | }, |
| | | }, |
| | | } |
| | | }, |
| | | } |
| | | }, |
| | | |
| | | handleExportXls(fileName){ |
| | | if(!fileName || typeof fileName != "string"){ |
| | | fileName = "导出文件" |
| | | } |
| | | let param = this.getQueryParams(); |
| | | if(this.selectedRowKeys && this.selectedRowKeys.length>0){ |
| | | param['selections'] = this.selectedRowKeys.join(",") |
| | | } |
| | | console.log("导出参数",param) |
| | | downFile(this.url.exportXlsUrl,param).then((data)=>{ |
| | | if (!data) { |
| | | // this.$message.warning("文件下载失败") |
| | | this.$notification.warning({ |
| | | message:'消息', |
| | | description:"文件下载失败" |
| | | }); |
| | | return |
| | | } |
| | | if (typeof window.navigator.msSaveBlob !== 'undefined') { |
| | | window.navigator.msSaveBlob(new Blob([data],{type: 'application/vnd.ms-excel'}), fileName+'.xls') |
| | | }else{ |
| | | let url = window.URL.createObjectURL(new Blob([data],{type: 'application/vnd.ms-excel'})) |
| | | let link = document.createElement('a') |
| | | link.style.display = 'none' |
| | | link.href = url |
| | | link.setAttribute('download', fileName+'.xls') |
| | | document.body.appendChild(link) |
| | | link.click() |
| | | document.body.removeChild(link); //下载完成移除元素 |
| | | window.URL.revokeObjectURL(url); //释放掉blob对象 |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | /* 导入 */ |
| | | handleImportExcel(info){ |
| | | this.loading = true; |
| | | if (info.file.status !== 'uploading') { |
| | | console.log(info.file, info.fileList); |
| | | } |
| | | if (info.file.status === 'done') { |
| | | this.loading = false; |
| | | if (info.file.response.success) { |
| | | // this.$message.success(`${info.file.name} 文件上传成功`); |
| | | if (info.file.response.code === 201) { |
| | | let { message, result: { msg, fileUrl, fileName } } = info.file.response |
| | | let href = window._CONFIG['domianURL'] + fileUrl |
| | | this.$warning({ |
| | | title: message, |
| | | content: (<div> |
| | | <span>{msg}</span><br/> |
| | | <span>具体详情请 <a href={href} target="_blank" download={fileName}>点击下载</a> </span> |
| | | </div> |
| | | ) |
| | | }) |
| | | } else { |
| | | // this.$message.success(info.file.response.message || `${info.file.name} 文件上传成功`) |
| | | this.$notification.success({ |
| | | message:'消息', |
| | | description:info.file.response.message || `${info.file.name} 文件上传成功` |
| | | }); |
| | | } |
| | | this.loadData() |
| | | } else { |
| | | // this.$message.error(`${info.file.name} ${info.file.response.message}.`); |
| | | this.$notification.error({ |
| | | message:'消息', |
| | | description:`${info.file.name} ${info.file.response.message}.` |
| | | }); |
| | | } |
| | | } else if (info.file.status === 'error') { |
| | | this.loading = false; |
| | | if (info.file.response.status === 500) { |
| | | let data = info.file.response |
| | | const token = Vue.ls.get(ACCESS_TOKEN) |
| | | if (token && data.message.includes("Token失效")) { |
| | | this.$error({ |
| | | title: '登录已过期', |
| | | content: '很抱歉,登录已过期,请重新登录', |
| | | okText: '重新登录', |
| | | mask: false, |
| | | onOk: () => { |
| | | store.dispatch('Logout').then(() => { |
| | | Vue.ls.remove(ACCESS_TOKEN) |
| | | window.location.reload(); |
| | | }) |
| | | } |
| | | }) |
| | | } |
| | | } else { |
| | | // this.$message.error(`文件上传失败: ${info.file.msg} `); |
| | | this.$notification.error({ |
| | | message:'消息', |
| | | description:`文件上传失败: ${info.file.msg} ` |
| | | }); |
| | | } |
| | | } |
| | | }, |
| | | |
| | | /** |
| | | * 单据提交 |
| | | */ |
| | | // handleSubmit: function() { |
| | | // if (!this.url.submit) { |
| | | // this.$message.error('请设置url.submit属性!') |
| | | // return |
| | | // } |
| | | // if (this.selectedRowKeys.length != 1) { |
| | | // this.$message.warning('请选择一条记录!') |
| | | // return |
| | | // } else { |
| | | // var id = this.selectedRowKeys[0] |
| | | // let httpurl = this.url.submit |
| | | // let method = 'post' |
| | | // var params = { id: id } |
| | | // |
| | | // const that = this |
| | | // |
| | | // this.$confirm({ |
| | | // title: '确认提交!', |
| | | // okText: '确认', |
| | | // cancelText: '取消', |
| | | // onOk() { |
| | | // httpAction(httpurl, params, method).then((res) => { |
| | | // if (res.success) { |
| | | // that.$message.success(res.message) |
| | | // that.loadData() |
| | | // } else { |
| | | // that.$message.warning(res.message) |
| | | // } |
| | | // }).finally(() => { |
| | | // that.loading = false |
| | | // |
| | | // }) |
| | | // } |
| | | // }) |
| | | // } |
| | | // }, |
| | | } |
| | | } |
| | | </script> |