10 changed files with 1513 additions and 1055 deletions
-
6src/api/base/site.js
-
5src/api/chooselist/chooselist.js
-
65src/utils/ajax.js
-
159src/utils/excel-util.js
-
484src/views/modules/base/buInformation.vue
-
1304src/views/modules/base/factoryInformation.vue
-
525src/views/modules/base/workCenter.vue
-
2src/views/modules/common/Chooselist_eam.vue
-
10src/views/modules/shopOrder/productionReport/productionLineOperatorRegistration.vue
-
8src/views/modules/sys/user.vue
@ -1,8 +1,11 @@ |
|||
import { createAPI } from "@/utils/httpRequest.js"; |
|||
|
|||
|
|||
export const getChooselist = data => createAPI(`/chooselist/getChooselist/${data.tagNo}`,'get',data) |
|||
|
|||
export const getChooselistData = data => createAPI(`/chooselist/getChooselistData`,'post',data) |
|||
|
|||
export const getChooselistEam = data => createAPI(`/chooselist/getChooselist/${data.tagNo}`,'get',data) |
|||
|
|||
export const getChooselistDataEam = data => createAPI(`/chooselist/getChooselistData`,'post',data) |
|||
|
|||
export const verifyData = data => createAPI(`/chooselist/verifyData`,'post',data) |
|||
@ -0,0 +1,65 @@ |
|||
import Vue from "vue"; |
|||
import axios from 'axios'; |
|||
const qs = require('qs'); |
|||
var apiServer = (process.env.NODE_ENV !== 'production' && process.env.OPEN_PROXY ? '/proxyApi/' : window.SITE_CONFIG.baseUrl); |
|||
var http = axios.create({ |
|||
timeout: 10000, |
|||
headers: {}, |
|||
transformRequest: data => { |
|||
if (typeof data === 'object') { |
|||
return qs.stringify(data, { arrayFormat: 'brackets' }); |
|||
} |
|||
return data; |
|||
} |
|||
}); |
|||
export default { |
|||
axios: http, |
|||
$post(url, data, callback, error) { |
|||
// 添加 headers 配置项
|
|||
const config = { |
|||
headers: { |
|||
'Content-Type': 'application/json;charset=UTF-8', |
|||
'token': Vue.cookie.get('token') |
|||
} |
|||
}; |
|||
let p = http.post(apiServer +url, JSON.stringify(data), config); |
|||
if (callback) { |
|||
p.then(res => { |
|||
callback(res); |
|||
}) |
|||
} |
|||
if (error) { |
|||
p.catch(err => { |
|||
error(err); |
|||
}); |
|||
} |
|||
return p; |
|||
}, |
|||
file:(url, data, succ, err )=>{ |
|||
let requestUrl = apiServer + url; |
|||
var xhr = new XMLHttpRequest(); |
|||
xhr.open('POST', requestUrl, true); |
|||
xhr.responseType = "blob"; |
|||
xhr.withCredentials = true; |
|||
xhr.setRequestHeader("X-API", "true"); |
|||
xhr.setRequestHeader("Content-Type", "application/json;charset=UTF-8"); |
|||
xhr.setRequestHeader("token", Vue.cookie.get('token') ); |
|||
xhr.onreadystatechange = function (e) { |
|||
if (xhr.readyState === 4) { |
|||
if (xhr.status === 200) { |
|||
succ(xhr.response) |
|||
} else { |
|||
var fr = new FileReader(); |
|||
fr.onload = function(e) { |
|||
var text = fr.result; |
|||
console.log(text); |
|||
err ? err(text) : alert("请求发生错误:" + text) |
|||
}; |
|||
fr.readAsText(xhr.response); |
|||
} |
|||
} |
|||
}; |
|||
xhr.send(data); |
|||
}, |
|||
apiServer: apiServer |
|||
}; |
|||
@ -0,0 +1,159 @@ |
|||
import XLSX from "xlsx"; |
|||
import ajax from '@/utils/ajax' |
|||
import { |
|||
Message |
|||
} from 'element-ui'; |
|||
const excelHeaderName = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"]; |
|||
/** |
|||
* excel导出默认选项 |
|||
*/ |
|||
const exportOptionDefault = { |
|||
url: "",//*必填,导出请求地址
|
|||
tableRef: undefined,//#1组合必填 导出数据对应列信息,el-table引用
|
|||
columnMapping: undefined,//#1组合必填 自定义导出列映射
|
|||
fileName: "export.xlsx",//导出文件名
|
|||
params: {},//导出请求参数
|
|||
rowFetcher: res => {//从请求结果中获取导出行的方式,默认取请求结果中的data作为导出数据
|
|||
return (res || {data: []}).data; |
|||
}, |
|||
columnFormatter: [],//需要格式化的列
|
|||
mergeSetting: { |
|||
refs: [], //检测需要合并的数据列属性名
|
|||
columns: [] //检测需要合并后,要合并的列,以第一条数据为准合并
|
|||
}, |
|||
dropColumns: [],//导出时需要过滤掉的列
|
|||
}; |
|||
let HEADERS = []; |
|||
for (let i =0;i< 200;i++) { |
|||
let c = parseInt(i / 26); |
|||
let m = i % 26; |
|||
HEADERS.push((c > 0 ? excelHeaderName[c - 1] : "") + excelHeaderName[m]); |
|||
} |
|||
let validOption = opt => { |
|||
let option = Object.assign({}, opt); |
|||
if (!option.url) { |
|||
throw new Error("request url is required."); |
|||
} |
|||
if (!option.tableRef && !option.columnMapping) { |
|||
throw new Error("element table ref object or columnMapping is required."); |
|||
} |
|||
if (option.rowFetcher != undefined && typeof option.rowFetcher != "function") { |
|||
throw new Error("rowFetcher must be a function with one param."); |
|||
} |
|||
} |
|||
|
|||
let getMergeSetting = (data, s, allCols) => { |
|||
let refCols = s.refs; |
|||
let mcols = s.columns; |
|||
let mergeList = []; |
|||
|
|||
let refRow = data[0]; |
|||
let mergeSetting = { |
|||
s: 0, |
|||
e: 0 |
|||
}; |
|||
for (let i = 0; i < data.length; i++) { |
|||
let same = refCols.map(c => data[i][c] === refRow[c]).filter(r => !!r).length == refCols.length; |
|||
if (!same) { |
|||
mergeSetting.e > mergeSetting.s && (mergeList.push(mergeSetting)); |
|||
refRow = data[i]; |
|||
mergeSetting = { |
|||
s: i, |
|||
e: i |
|||
}; |
|||
} else { |
|||
i > mergeSetting.e && (mergeSetting.e = i); |
|||
i == data.length - 1 && (mergeList.push(mergeSetting)); |
|||
} |
|||
|
|||
} |
|||
|
|||
let setting = []; |
|||
mergeList.forEach(e => { |
|||
mcols.forEach(c => { |
|||
let ci = allCols.indexOf(c); |
|||
setting.push({ |
|||
s: { |
|||
r: e.s + 1, |
|||
c: ci |
|||
}, |
|||
e: { |
|||
r: e.e + 1, |
|||
c: ci |
|||
} |
|||
}); |
|||
}); |
|||
}); |
|||
return setting; |
|||
} |
|||
|
|||
let setStyle = (ws, s) => {} |
|||
|
|||
let getColSetting = (mapping,dropColums) => { |
|||
let columns = []; |
|||
for (let i = 0; i < mapping.length; i++) { |
|||
let c = mapping[i]; |
|||
if (dropColums.indexOf(c.columnProp) == -1) { |
|||
columns.push({ |
|||
property: c.columnProp || c.property, |
|||
label: c.columnLabel, |
|||
type: "default" |
|||
}); |
|||
} |
|||
} |
|||
return { |
|||
columns: columns |
|||
}; |
|||
} |
|||
let export2Excel = opt => { |
|||
validOption(opt); |
|||
let options = Object.assign({}, exportOptionDefault, opt); |
|||
let expColSetting = !!options.tableRef ? options.tableRef : getColSetting(options.columnMapping, options.dropColumns); |
|||
ajax.$post(options.url, options.params, resp => { |
|||
if (resp.status !== 200) { |
|||
Message.error({ |
|||
message: resp.description |
|||
}); |
|||
} |
|||
let rows = !!resp.data.rows?options.rowFetcher(resp).rows:resp.data.page.list; |
|||
var columns = [ |
|||
[] |
|||
]; |
|||
var keys = []; |
|||
let formaters = new Array(); |
|||
expColSetting.columns.forEach(column => { |
|||
if (!!column.label && column.type === "default") { |
|||
columns[0].push(column.label); |
|||
keys.push(column.property); |
|||
let formater = options.columnFormatter.find(f => !!f[column.property] && typeof f[column.property] == 'function'); |
|||
!!formater && (formaters[column.property] = formater[column.property]); |
|||
} |
|||
}); |
|||
rows.forEach(o => { |
|||
let list = []; |
|||
keys.forEach(k => { |
|||
let formater = formaters[k]; |
|||
if (!!formater) { |
|||
list.push(formater(o[k])); |
|||
} else { |
|||
list.push(o[k]); |
|||
} |
|||
}); |
|||
columns.push(list); |
|||
}); |
|||
const ws = XLSX.utils.aoa_to_sheet(columns); |
|||
if (!!options.mergeSetting && !!options.mergeSetting.refs && options.mergeSetting.refs.length > 0) { |
|||
let merges = getMergeSetting(rows, options.mergeSetting, keys); |
|||
ws["!merges"] = merges; |
|||
setStyle(ws, merges); |
|||
} |
|||
// console.log(ws);
|
|||
const wb = XLSX.utils.book_new(); |
|||
XLSX.utils.book_append_sheet(wb, ws, options.fileName.replace(/\.xlsx/, "")); |
|||
XLSX.writeFile(wb, options.fileName); |
|||
}); |
|||
} |
|||
|
|||
export default { |
|||
exportTable: export2Excel |
|||
} |
|||
@ -0,0 +1,484 @@ |
|||
<template> |
|||
<div class="mod-config"> |
|||
<el-form :inline="true" label-position="top" label-width="100px"> |
|||
<el-form-item :label="'工厂编码'"> |
|||
<el-input v-model="searchData.site" clearable style="width: 120px"></el-input> |
|||
</el-form-item> |
|||
<el-form-item :label="'BU编码'"> |
|||
<el-input v-model="searchData.buNo" clearable style="width: 120px"></el-input> |
|||
</el-form-item> |
|||
<el-form-item :label="'BU名称'"> |
|||
<el-input v-model="searchData.buDesc" clearable style="width: 120px"></el-input> |
|||
</el-form-item> |
|||
<el-form-item :label="' '"> |
|||
<el-button v-if="!authSearch" @click="getDataList()" type="primary" style="margin-left: 2px">查询</el-button> |
|||
<el-button v-if="!authSave" @click="addModal()" type="primary" style="margin-left: 5px">新增</el-button> |
|||
<el-button @click="exportExcel()" type="primary" style="margin-left: 2px">{{'导出'}}</el-button> |
|||
</el-form-item> |
|||
</el-form> |
|||
|
|||
<el-table |
|||
:height="height" |
|||
:data="dataList" |
|||
border |
|||
style="width: 100%;"> |
|||
<el-table-column |
|||
v-for="(item,index) in columnList" :key="index" |
|||
:sortable="item.columnSortable" |
|||
:prop="item.columnProp" |
|||
:header-align="item.headerAlign" |
|||
:show-overflow-tooltip="item.showOverflowTooltip" |
|||
:align="item.align" |
|||
:fixed="item.fixed==''?false:item.fixed" |
|||
:min-width="item.columnWidth" |
|||
:label="item.columnLabel"> |
|||
<template slot-scope="scope"> |
|||
<span v-if="!item.columnHidden">{{scope.row[item.columnProp]}}</span> |
|||
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column |
|||
fixed="right" |
|||
header-align="center" |
|||
align="center" |
|||
width="80" |
|||
label="操作"> |
|||
<template slot-scope="scope"> |
|||
<el-link style="cursor: pointer" v-if="!authUpdate" @click="updateModal(scope.row)">编辑</el-link> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
|
|||
<el-pagination |
|||
style="margin-top: 0px" |
|||
@size-change="sizeChangeHandle" |
|||
@current-change="currentChangeHandle" |
|||
:current-page="pageIndex" |
|||
:page-sizes="[20, 50, 100, 200, 500]" |
|||
:page-size="pageSize" |
|||
:total="totalPage" |
|||
layout="total, sizes, prev, pager, next, jumper"> |
|||
</el-pagination> |
|||
|
|||
<el-dialog title="BU信息" :close-on-click-modal="false" v-drag :visible.sync="modalFlag" width="530px"> |
|||
<el-form :inline="true" label-position="top" :rules="rules" style="margin-left: 7px;margin-top: -5px;"> |
|||
<el-form-item prop="site"> |
|||
<span v-if="modalData.flag === '1'" slot="label" @click="getBaseList(93)"><a herf="#">工厂编码</a></span> |
|||
<span v-else slot="label">工厂编码</span> |
|||
<el-input v-model="modalData.site" @change="siteChange(93)" :disabled="modalDisableFlag" style="width: 120px"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="工厂名称"> |
|||
<el-input v-model="modalData.siteName" disabled style="width: 200px"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="是否在用" prop="active"> |
|||
<el-select v-model="modalData.active" style="width: 100px"> |
|||
<el-option label="是" value="Y"></el-option> |
|||
<el-option label="否" value="N"></el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
</el-form> |
|||
<el-form :inline="true" label-position="top" :rules="rules" :model="modalData" style="margin-left: 7px"> |
|||
<el-form-item label="BU编码" prop="buNo"> |
|||
<el-input v-model="modalData.buNo" style="width: 120px"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="BU名称" prop="buDesc"> |
|||
<el-input v-model="modalData.buDesc" style="width: 200px"></el-input> |
|||
</el-form-item> |
|||
</el-form> |
|||
<el-footer style="height:35px;margin-top: 15px;text-align:center"> |
|||
<el-button type="primary" @click="saveData()">保存</el-button> |
|||
<el-button type="primary" @click="modalFlag = false">关闭</el-button> |
|||
</el-footer> |
|||
</el-dialog> |
|||
|
|||
<!-- 动态列 --> |
|||
<column v-if="visible" ref="column" @refreshData="getTableUserColumn" v-drag></column> |
|||
|
|||
<Chooselist ref="baseList" @getBaseData="getBaseData"></Chooselist> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import column from "@/views/modules/common/column" |
|||
import { |
|||
queryBuInformation, |
|||
buSave, |
|||
buEdit, |
|||
} from "@/api/base/site.js" |
|||
import { |
|||
getTableDefaultListLanguage, |
|||
getTableUserListLanguage, |
|||
} from "@/api/table.js" |
|||
import Chooselist from '@/views/modules/common/Chooselist_eam' |
|||
import {verifyData} from "@/api/chooselist/chooselist.js" |
|||
import excel from "@/utils/excel-util.js" |
|||
let functionId = '100001004' |
|||
|
|||
export default { |
|||
name: "buInformation", |
|||
components: { |
|||
column, |
|||
Chooselist |
|||
}, |
|||
data() { |
|||
return { |
|||
menuId: this.$route.meta.menuId, |
|||
tagNo: '', |
|||
exportName: "BU信息" + this.dayjs().format('YYYYMMDDHHmmss'), |
|||
visible: false, |
|||
height: 200, |
|||
pageIndex: 1, |
|||
pageSize: 20, |
|||
totalPage: 0, |
|||
queryTable: { |
|||
functionId: this.$route.meta.menuId, |
|||
tableId: "100001004Table", |
|||
languageCode: this.$i18n.locale |
|||
}, |
|||
queryTableUser: { |
|||
userId: this.$store.state.user.name, |
|||
functionId: this.$route.meta.menuId, |
|||
tableId: "100001004Table", |
|||
status: true, |
|||
languageCode: this.$i18n.locale |
|||
}, |
|||
searchData: { |
|||
site: '', |
|||
buNo: '', |
|||
buDesc: '', |
|||
page: 1, |
|||
limit: 10, |
|||
}, |
|||
modalData: { |
|||
flag: '', |
|||
site: '', |
|||
siteName: '', |
|||
buNo: '', |
|||
buDesc: '', |
|||
active: '', |
|||
}, |
|||
dataList: [], |
|||
columnList: [ |
|||
{ |
|||
userId: this.$store.state.user.name, |
|||
functionId: 100001004, |
|||
serialNumber: '100001004TableSite', |
|||
tableId: "100001004Table", |
|||
tableName: "BU信息表", |
|||
columnProp: "site", |
|||
headerAlign: "center", |
|||
align: "left", |
|||
columnLabel: "工厂编码", |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: false, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: '', |
|||
columnWidth: 100 |
|||
}, |
|||
{ |
|||
userId: this.$store.state.user.name, |
|||
functionId: 100001004, |
|||
serialNumber: '100001004TableSiteName', |
|||
tableId: "100001004Table", |
|||
tableName: "BU信息表", |
|||
columnProp: "siteName", |
|||
headerAlign: "center", |
|||
align: "left", |
|||
columnLabel: "工厂名称", |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: false, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: '', |
|||
columnWidth: 200 |
|||
}, |
|||
{ |
|||
userId: this.$store.state.user.name, |
|||
functionId: 100001004, |
|||
serialNumber: '100001004TableBuNo', |
|||
tableId: "100001004Table", |
|||
tableName: "BU信息表", |
|||
columnProp: "buNo", |
|||
headerAlign: "center", |
|||
align: "left", |
|||
columnLabel: "BU编码", |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: false, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: '', |
|||
columnWidth: 100 |
|||
}, |
|||
{ |
|||
userId: this.$store.state.user.name, |
|||
functionId: 100001004, |
|||
serialNumber: '100001004TableBuDesc', |
|||
tableId: "100001004Table", |
|||
tableName: "BU信息表", |
|||
columnProp: "buDesc", |
|||
headerAlign: "center", |
|||
align: "left", |
|||
columnLabel: "BU名称", |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: false, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: '', |
|||
columnWidth: 200 |
|||
}, |
|||
{ |
|||
userId: this.$store.state.user.name, |
|||
functionId: 100001004, |
|||
serialNumber: '100001004TableActive', |
|||
tableId: "100001004Table", |
|||
tableName: "BU信息表", |
|||
columnProp: "active", |
|||
headerAlign: "center", |
|||
align: "center", |
|||
columnLabel: "是否在用", |
|||
columnHidden: false, |
|||
columnImage: false, |
|||
columnSortable: false, |
|||
sortLv: 0, |
|||
status: true, |
|||
fixed: '', |
|||
columnWidth: 80 |
|||
}, |
|||
], |
|||
rules:{ |
|||
site:[ |
|||
{ |
|||
required: true, |
|||
message: ' ', |
|||
trigger: ['blur','change'] |
|||
} |
|||
], |
|||
buNo:[ |
|||
{ |
|||
required: true, |
|||
message: ' ', |
|||
trigger: ['blur','change'] |
|||
} |
|||
], |
|||
buDesc:[ |
|||
{ |
|||
required: true, |
|||
message: ' ', |
|||
trigger: ['blur','change'] |
|||
} |
|||
], |
|||
active:[ |
|||
{ |
|||
required: true, |
|||
message: ' ', |
|||
trigger: ['blur','change'] |
|||
} |
|||
] |
|||
}, |
|||
authSearch: false, |
|||
authUpdate: false, |
|||
authSave: false, |
|||
modalFlag: false, |
|||
modalDisableFlag: true, |
|||
} |
|||
}, |
|||
|
|||
mounted() { |
|||
this.$nextTick(() => { |
|||
this.height = window.innerHeight - 150 |
|||
}) |
|||
}, |
|||
|
|||
created () { |
|||
this.getDataList() |
|||
// 获取按钮的权限 |
|||
this.getButtonAuthData() |
|||
this.getTableUserColumn() |
|||
}, |
|||
|
|||
methods: { |
|||
|
|||
// 每页数 |
|||
sizeChangeHandle (val) { |
|||
this.pageSize = val |
|||
this.pageIndex = 1 |
|||
this.getDataList() |
|||
}, |
|||
|
|||
// 当前页 |
|||
currentChangeHandle (val) { |
|||
this.pageIndex = val |
|||
this.getDataList() |
|||
}, |
|||
|
|||
// 查询 |
|||
getDataList () { |
|||
this.searchData.limit = this.pageSize |
|||
this.searchData.page = this.pageIndex |
|||
queryBuInformation(this.searchData).then(({data}) => { |
|||
if (data.code === 0) { |
|||
this.dataList = data.page.list |
|||
this.pageIndex = data.page.currPage |
|||
this.pageSize = data.page.pageSize |
|||
this.totalPage = data.page.totalCount |
|||
} |
|||
}) |
|||
}, |
|||
|
|||
// 新增 |
|||
addModal () { |
|||
this.modalData = { |
|||
flag: '1', |
|||
site: '', |
|||
siteName: '', |
|||
buNo: '', |
|||
buDesc: '', |
|||
active: 'Y', |
|||
} |
|||
this.modalDisableFlag = false |
|||
this.modalFlag = true |
|||
}, |
|||
|
|||
// 编辑 |
|||
updateModal (row) { |
|||
this.modalData = { |
|||
flag: '2', |
|||
...row |
|||
} |
|||
this.modalDisableFlag = true |
|||
this.modalFlag = true |
|||
}, |
|||
|
|||
// 保存 |
|||
saveData () { |
|||
if (this.modalData.site == null || this.modalData.site === '') { |
|||
this.$message.warning('请选择工厂!') |
|||
return |
|||
} |
|||
if (this.modalData.buNo == null || this.modalData.buNo === '') { |
|||
this.$message.warning('请输入BU编码!') |
|||
return |
|||
} |
|||
if (this.modalData.buDesc == null || this.modalData.buDesc === '') { |
|||
this.$message.warning('请输入BU名称!') |
|||
return |
|||
} |
|||
if (this.modalData.flag === '1') { |
|||
buSave(this.modalData).then(({data}) => { |
|||
if (data && data.code === 0) { |
|||
this.siteFlag = false |
|||
this.getDataList() |
|||
this.$message.success('操作成功') |
|||
} else { |
|||
this.$message.error(data.msg) |
|||
} |
|||
}) |
|||
} else { |
|||
buEdit(this.modalData).then(({data}) => { |
|||
if (data && data.code === 0) { |
|||
this.getDataList() |
|||
this.modalFlag = false |
|||
this.$message.success('操作成功') |
|||
} else { |
|||
this.$message.error(data.msg) |
|||
} |
|||
}) |
|||
} |
|||
}, |
|||
|
|||
// site校验 |
|||
siteChange (tagNo) { |
|||
let tempData = { |
|||
tagno: tagNo, |
|||
conditionSql: " and SiteID = '" + this.modalData.site + "'" |
|||
} |
|||
verifyData(tempData).then(({data}) => { |
|||
if (data && data.code === 0) { |
|||
if (data.baseListData.length > 0) { |
|||
this.modalData.site = data.baseListData[0].SiteID |
|||
this.modalData.siteName = data.baseListData[0].SiteName |
|||
} else { |
|||
this.modalData.siteName = '' |
|||
} |
|||
} |
|||
}) |
|||
}, |
|||
|
|||
getBaseData (val) { |
|||
this.$nextTick(() => { |
|||
if (this.tagNo === 93) { |
|||
this.modalData.site = val.SiteID |
|||
this.modalData.siteName = val.SiteName |
|||
} |
|||
}) |
|||
}, |
|||
|
|||
// 获取基础数据列表 |
|||
getBaseList (val) { |
|||
this.tagNo = val |
|||
this.$nextTick(() => { |
|||
let strVal = "" |
|||
if (val === 93){ |
|||
strVal = this.modalData.site |
|||
} |
|||
this.$refs.baseList.init(val,strVal) |
|||
}) |
|||
}, |
|||
|
|||
// 获取按钮的权限数据 |
|||
getButtonAuthData () { |
|||
let searchFlag = this.isAuth(this.menuId + ":search") |
|||
let saveFlag = this.isAuth(this.menuId + ":save") |
|||
let updateFlag = this.isAuth(this.menuId + ":update") |
|||
//处理页面的权限数据 |
|||
this.authSearch = !searchFlag |
|||
this.authSave = !saveFlag |
|||
this.authUpdate = !updateFlag |
|||
}, |
|||
|
|||
// 获取 用户保存的 格式列 |
|||
getTableUserColumn () { |
|||
getTableUserListLanguage(this.queryTableUser).then(({data}) => { |
|||
if (data.rows.length > 0) { |
|||
this.columnList = data.rows |
|||
} else { |
|||
this.getColumnList() |
|||
} |
|||
}) |
|||
}, |
|||
|
|||
// 获取 tableDefault 列 |
|||
getColumnList() { |
|||
getTableDefaultListLanguage(this.queryTable).then(({data}) => { |
|||
if (data.rows.length > 0) { |
|||
this.columnList = data.rows |
|||
} |
|||
}) |
|||
}, |
|||
|
|||
async exportExcel() { |
|||
this.searchData.limit = -1 |
|||
this.searchData.page = 1 |
|||
excel.exportTable({ |
|||
url: "/base/queryBuInformation", |
|||
columnMapping: this.columnList,//可以直接用table,不需要的列就剔除 |
|||
mergeSetting: [],//需要合并的列 |
|||
params: this.searchData, |
|||
fileName: this.exportName+".xlsx", |
|||
rowFetcher: res => res.data, |
|||
columnFormatter: [], |
|||
dropColumns: [],//需要剔除的列,例如dropColumns: ["netWeight"],即剔除净重列 |
|||
}) |
|||
}, |
|||
}, |
|||
} |
|||
</script> |
|||
|
|||
<style> |
|||
|
|||
</style> |
|||
1304
src/views/modules/base/factoryInformation.vue
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
Write
Preview
Loading…
Cancel
Save
Reference in new issue