Browse Source

2025-07-31 基础数据调整

master
fengyuan_yang 6 months ago
parent
commit
29286fa61e
  1. 6
      src/api/base/site.js
  2. 5
      src/api/chooselist/chooselist.js
  3. 65
      src/utils/ajax.js
  4. 159
      src/utils/excel-util.js
  5. 484
      src/views/modules/base/buInformation.vue
  6. 466
      src/views/modules/base/factoryInformation.vue
  7. 373
      src/views/modules/base/workCenter.vue
  8. 2
      src/views/modules/common/Chooselist_eam.vue
  9. 6
      src/views/modules/shopOrder/productionReport/productionLineOperatorRegistration.vue
  10. 8
      src/views/modules/sys/user.vue

6
src/api/base/site.js

@ -179,3 +179,9 @@ export const uploadSOPFile= data => createAPI(`/base/uploadSOPFile`,'post',data)
export const sopFileEdit= data => createAPI(`/base/sopFileEdit`,'post',data) export const sopFileEdit= data => createAPI(`/base/sopFileEdit`,'post',data)
export const getRoleUserList = data => createAPI(`/base/getRoleUserList`,'post',data) export const getRoleUserList = data => createAPI(`/base/getRoleUserList`,'post',data)
export const queryBuInformation = data => createAPI(`/base/queryBuInformation`,'post',data)
export const buSave = data => createAPI(`/base/buSave`,'post',data)
export const buEdit = data => createAPI(`/base/buEdit`,'post',data)

5
src/api/chooselist/chooselist.js

@ -1,8 +1,11 @@
import { createAPI } from "@/utils/httpRequest.js"; import { createAPI } from "@/utils/httpRequest.js";
export const getChooselist = data => createAPI(`/chooselist/getChooselist/${data.tagNo}`,'get',data) export const getChooselist = data => createAPI(`/chooselist/getChooselist/${data.tagNo}`,'get',data)
export const getChooselistData = data => createAPI(`/chooselist/getChooselistData`,'post',data) export const getChooselistData = data => createAPI(`/chooselist/getChooselistData`,'post',data)
export const getChooselistEam = data => createAPI(`/chooselist/getChooselist/${data.tagNo}`,'get',data) export const getChooselistEam = data => createAPI(`/chooselist/getChooselist/${data.tagNo}`,'get',data)
export const getChooselistDataEam = data => createAPI(`/chooselist/getChooselistData`,'post',data) export const getChooselistDataEam = data => createAPI(`/chooselist/getChooselistData`,'post',data)
export const verifyData = data => createAPI(`/chooselist/verifyData`,'post',data)

65
src/utils/ajax.js

@ -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
};

159
src/utils/excel-util.js

@ -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
}

484
src/views/modules/base/buInformation.vue

@ -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>

466
src/views/modules/base/factoryInformation.vue

@ -1,9 +1,15 @@
<template> <template>
<div class="mod-config"> <div class="mod-config">
<el-form :inline="true" label-position="top" label-width="100px" style="margin-top: 0px;">
<el-button @click="getData()" type="primary" style="margin-left: 2px;margin-top: 0px">{{buttons.search}}</el-button>
<el-button @click="addModal()" type="primary" :disabled = "authAdd"
style="margin-left: 2px;margin-top: 0px">{{buttons.add}}</el-button>
<el-form :inline="true" label-position="top" label-width="100px">
<el-form-item :label="'工厂编码'">
<el-input v-model="searchData.siteID" clearable style="width: 120px"></el-input>
</el-form-item>
<el-form-item :label="'工厂名称'">
<el-input v-model="searchData.siteName" clearable style="width: 120px"></el-input>
</el-form-item>
<el-form-item :label="' '">
<el-button v-if="!authSearch" @click="getData()" type="primary" style="margin-left: 2px">{{buttons.search}}</el-button>
<el-button v-if="!authSave" @click="addModal()" type="primary" style="margin-left: 5px">{{buttons.add}}</el-button>
<download-excel <download-excel
:fields="fields()" :fields="fields()"
:data="exportData" :data="exportData"
@ -18,25 +24,14 @@
class="el-button el-button--primary el-button--medium"> class="el-button el-button--primary el-button--medium">
{{buttons.download}} {{buttons.download}}
</download-excel> </download-excel>
<el-button @click="userSetting" type="primary">{{ buttons.settingTable }}</el-button>
</el-form-item>
</el-form> </el-form>
<el-table <el-table
:height="height" :height="height"
:data="dataList" :data="dataList"
border border
v-loading="dataListLoading"
style="width: 100%;"> style="width: 100%;">
<el-table-column
header-align="center"
align="center"
width="160"
label="操作">
<template slot-scope="scope">
<a type="text" size="small" v-if="!authEdit" @click="editSite(scope.row)">{{buttons.update}}</a>
<a type="text" size="small" v-if="jumpFlag" @click="getCompanyInformation(scope.row)">{{buttons.companyInformation}}</a>
</template>
</el-table-column>
<el-table-column <el-table-column
v-for="(item,index) in columnList" :key="index" v-for="(item,index) in columnList" :key="index"
:sortable="item.columnSortable" :sortable="item.columnSortable"
@ -45,15 +40,25 @@
:show-overflow-tooltip="item.showOverflowTooltip" :show-overflow-tooltip="item.showOverflowTooltip"
:align="item.align" :align="item.align"
:fixed="item.fixed==''?false:item.fixed" :fixed="item.fixed==''?false:item.fixed"
:width="item.columnWidth"
:min-width="item.columnWidth"
:label="item.columnLabel"> :label="item.columnLabel">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="!item.columnHidden">{{scope.row[item.columnProp]}}</span> <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>
<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="editSite(scope.row)">{{buttons.update}}</el-link>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<el-dialog :title=labels.factoryInformation :close-on-click-modal="false" v-drag :visible.sync="siteFlag" width="630px"> <el-dialog :title=labels.factoryInformation :close-on-click-modal="false" v-drag :visible.sync="siteFlag" width="630px">
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;"> <el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;">
<el-form-item :label="labels.site"> <el-form-item :label="labels.site">
@ -70,15 +75,11 @@
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;"> <el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;">
<el-form-item >
<span slot="label" style="" @click="getBaseList(1003)"><a herf="#">{{labels.company}}</a></span>
<el-input v-model="siteData.companyID" style="width: 130px"></el-input>
</el-form-item>
<el-form-item :label=labels.referenceCustomerID> <el-form-item :label=labels.referenceCustomerID>
<el-input v-model="siteData.referenceCustomerID" style="width: 130px"></el-input> <el-input v-model="siteData.referenceCustomerID" style="width: 130px"></el-input>
</el-form-item> </el-form-item>
<el-form-item :label=labels.active> <el-form-item :label=labels.active>
<el-select filterable v-model="siteData.active" style="width: 130px">
<el-select v-model="siteData.active" style="width: 130px">
<el-option label="是" value="Y"></el-option> <el-option label="是" value="Y"></el-option>
<el-option label="否" value="N"></el-option> <el-option label="否" value="N"></el-option>
</el-select> </el-select>
@ -106,7 +107,6 @@
<el-form-item :label=labels.faxNo> <el-form-item :label=labels.faxNo>
<el-input v-model="siteData.faxNo" style="width: 130px"></el-input> <el-input v-model="siteData.faxNo" style="width: 130px"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;"> <el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;">
<el-form-item :label=labels.address> <el-form-item :label=labels.address>
@ -114,7 +114,6 @@
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: 0px;"> <el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: 0px;">
<el-form-item :label=labels.addressE> <el-form-item :label=labels.addressE>
<el-input v-model="siteData.addressE" type="textarea" :autosize="{ minRows: 1, maxRows: 6}" style="width: 562px"></el-input> <el-input v-model="siteData.addressE" type="textarea" :autosize="{ minRows: 1, maxRows: 6}" style="width: 562px"></el-input>
</el-form-item> </el-form-item>
@ -129,6 +128,7 @@
<el-button type="primary" @click="siteFlag = false">{{buttons.close}}</el-button> <el-button type="primary" @click="siteFlag = false">{{buttons.close}}</el-button>
</el-footer> </el-footer>
</el-dialog> </el-dialog>
<!-- 动态列 --> <!-- 动态列 -->
<column v-if="visible" ref="column" @refreshData="getTableUserColumn" v-drag></column> <column v-if="visible" ref="column" @refreshData="getTableUserColumn" v-drag></column>
@ -137,29 +137,17 @@
</template> </template>
<script> <script>
import column from "@/views/modules/common/column"; import column from "@/views/modules/common/column";
import { import {
getSiteData, getSiteData,
getCompanyData,
siteSave siteSave
} from "@/api/base/site.js" } from "@/api/base/site.js"
import { import {
searchFunctionButtonList,
} from "@/api/sysLanguage.js"
import {
saveTableDefaultList,
saveTableUser,
getTableDefaultListLanguage, getTableDefaultListLanguage,
getTableUserListLanguage, getTableUserListLanguage,
removerDefault,
removerUser
} from "@/api/table.js" } from "@/api/table.js"
import Chooselist from '@/views/modules/common/Chooselist' import Chooselist from '@/views/modules/common/Chooselist'
var functionId='100001002';
let functionId = '100001002'
export default { export default {
name: "factoryInformation", name: "factoryInformation",
@ -181,10 +169,9 @@
status: true, status: true,
languageCode: this.$i18n.locale languageCode: this.$i18n.locale
}, },
jumpFlag:true,
authEdit: false,
authAdd: false,
authDelete: false,
authSearch: false,
authUpdate: false,
authSave: false,
menuId: this.$route.meta.menuId, menuId: this.$route.meta.menuId,
tagNo: '', tagNo: '',
// start // start
@ -192,155 +179,8 @@
exportName: "工厂信息" + this.dayjs().format('YYYYMMDDHHmmss'), exportName: "工厂信息" + this.dayjs().format('YYYYMMDDHHmmss'),
exportHeader: ["工厂信息"], exportHeader: ["工厂信息"],
exportFooter: [], exportFooter: [],
// end
dataListLoading: false,
// start // start
// table // table
buttonList: [
{
functionId: functionId,
languageValue: '查询',
objectId: 'search',
objectType: 'button',
tableId: '*',
}, {
functionId: functionId,
languageValue: '新增',
objectId: 'add',
objectType: 'button',
tableId: '*',
}, {
functionId: functionId,
languageValue: '导出',
objectId: 'download',
objectType: 'button',
tableId: '*',
}, {
functionId: functionId,
languageValue: '修改',
objectId: 'update',
objectType: 'button',
tableId: '*',
}, {
functionId: functionId,
languageValue: '查看会计单位信息',
objectId: 'companyInformation',
objectType: 'button',
tableId: '*',
}, {
functionId: functionId,
languageValue: '保存',
objectId: 'save',
objectType: 'button',
tableId: '*',
}, {
functionId: functionId,
languageValue: '关闭',
objectId: 'close',
objectType: 'button',
tableId: '*',
},
],
labelsList:[
{
functionId: functionId,
languageValue: '工厂编码',
objectId: 'site',
objectType: 'label',
tableId: '*',
}, {
functionId: functionId,
languageValue: '工厂信息',
objectId: 'factoryInformation',
objectType: 'label',
tableId: '*',
}, {
functionId: functionId,
languageValue: '工厂名称(中文)',
objectId: 'siteName_cn',
objectType: 'label',
tableId: '*',
}, {
functionId: functionId,
languageValue: '工厂名称(英文)',
objectId: 'siteName_en',
objectType: 'label',
tableId: '*',
}, {
functionId: functionId,
languageValue: '邮政编码',
objectId: 'postCode',
objectType: 'label',
tableId: '*',
}, {
functionId: functionId,
languageValue: '会计单位',
objectId: 'company',
objectType: 'label',
tableId: '*',
}, {
functionId: functionId,
languageValue: '参照客户编码',
objectId: 'referenceCustomerID',
objectType: 'label',
tableId: '*',
}, {
functionId: functionId,
languageValue: '在用',
objectId: 'active',
objectType: 'label',
tableId: '*',
}, {
functionId: functionId,
languageValue: '发货时间',
objectId: 'shipTime',
objectType: 'label',
tableId: '*',
}, {
functionId: functionId,
languageValue: '联系人',
objectId: 'contactName',
objectType: 'label',
tableId: '*',
}, {
functionId: functionId,
languageValue: '电话',
objectId: 'phoneNo',
objectType: 'label',
tableId: '*',
}, {
functionId: functionId,
languageValue: 'email',
objectId: 'email',
objectType: 'label',
tableId: '*',
}, {
functionId: functionId,
languageValue: '传真',
objectId: 'faxNo',
objectType: 'label',
tableId: '*',
}, {
functionId: functionId,
languageValue: '地址(中文)',
objectId: 'address',
objectType: 'label',
tableId: '*',
}, {
functionId: functionId,
languageValue: '地址(英文)',
objectId: 'addressE',
objectType: 'label',
tableId: '*',
}, {
functionId: functionId,
languageValue: '公司网站',
objectId: 'website',
objectType: 'label',
tableId: '*',
},
],
labels: { labels: {
site:'工厂编码', site:'工厂编码',
factoryInformation:'工厂信息', factoryInformation:'工厂信息',
@ -363,25 +203,12 @@
search:'查询', search:'查询',
add:'新增', add:'新增',
download:'导出', download:'导出',
update:'修改',
update:'编辑',
companyInformation:'查看会计单位信息', companyInformation:'查看会计单位信息',
save:'保存', save:'保存',
close:'关闭', close:'关闭',
settingTable:'动态列', settingTable:'动态列',
}, },
queryButton: {
functionId: functionId,
table_id: '*',
languageCode: this.$i18n.locale,
objectType: 'button'
},
queryLabel: {
functionId: functionId,
table_id: '*',
languageCode: this.$i18n.locale,
objectType: 'label'
},
visible: false, visible: false,
// end // end
height: 200, height: 200,
@ -420,7 +247,7 @@
columnHidden: false, columnHidden: false,
columnImage: false, columnImage: false,
columnSortable: false, columnSortable: false,
sortLv: 10,
sortLv: 0,
status: true, status: true,
fixed: '', fixed: '',
columnWidth: 60 columnWidth: 60
@ -438,7 +265,7 @@
columnHidden: false, columnHidden: false,
columnImage: false, columnImage: false,
columnSortable: false, columnSortable: false,
sortLv: 20,
sortLv: 0,
status: true, status: true,
fixed: '', fixed: '',
columnWidth: 120 columnWidth: 120
@ -456,47 +283,11 @@
columnHidden: false, columnHidden: false,
columnImage: false, columnImage: false,
columnSortable: false, columnSortable: false,
sortLv: 30,
sortLv: 0,
status: true, status: true,
fixed: '', fixed: '',
columnWidth: 200 columnWidth: 200
}, },
{
userId: this.$store.state.user.name,
functionId: 100001002,
serialNumber: '100001002TableCompanyID',
tableId: "100001002Table",
tableName: "工厂信息表",
columnProp: "companyID",
headerAlign: "center",
align: "left",
columnLabel: "会计单位",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 40,
status: true,
fixed: '',
columnWidth: 100
},
{
userId: this.$store.state.user.name,
functionId: 100001002,
serialNumber: '100001002TableCompanyName',
tableId: "100001002Table",
tableName: "工厂信息表",
columnProp: "companyName",
headerAlign: "center",
align: "left",
columnLabel: "会计单位名称",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 50,
status: true,
fixed: '',
columnWidth: 150
},
{ {
userId: this.$store.state.user.name, userId: this.$store.state.user.name,
functionId: 100001002, functionId: 100001002,
@ -510,7 +301,7 @@
columnHidden: false, columnHidden: false,
columnImage: false, columnImage: false,
columnSortable: false, columnSortable: false,
sortLv: 60,
sortLv: 0,
status: true, status: true,
fixed: '', fixed: '',
columnWidth: 200 columnWidth: 200
@ -528,7 +319,7 @@
columnHidden: false, columnHidden: false,
columnImage: false, columnImage: false,
columnSortable: false, columnSortable: false,
sortLv: 70,
sortLv: 0,
status: true, status: true,
fixed: '', fixed: '',
columnWidth: 200 columnWidth: 200
@ -546,7 +337,7 @@
columnHidden: false, columnHidden: false,
columnImage: false, columnImage: false,
columnSortable: false, columnSortable: false,
sortLv: 80,
sortLv: 0,
status: true, status: true,
fixed: '', fixed: '',
columnWidth: 150 columnWidth: 150
@ -564,7 +355,7 @@
columnHidden: false, columnHidden: false,
columnImage: false, columnImage: false,
columnSortable: false, columnSortable: false,
sortLv: 90,
sortLv: 0,
status: true, status: true,
fixed: '', fixed: '',
columnWidth: 100 columnWidth: 100
@ -582,7 +373,7 @@
columnHidden: false, columnHidden: false,
columnImage: false, columnImage: false,
columnSortable: false, columnSortable: false,
sortLv: 100,
sortLv: 0,
status: true, status: true,
fixed: '', fixed: '',
columnWidth: 100 columnWidth: 100
@ -600,7 +391,7 @@
columnHidden: false, columnHidden: false,
columnImage: false, columnImage: false,
columnSortable: false, columnSortable: false,
sortLv: 110,
sortLv: 0,
status: true, status: true,
fixed: '', fixed: '',
columnWidth: 100 columnWidth: 100
@ -618,7 +409,7 @@
columnHidden: false, columnHidden: false,
columnImage: false, columnImage: false,
columnSortable: false, columnSortable: false,
sortLv: 120,
sortLv: 0,
status: true, status: true,
fixed: '', fixed: '',
columnWidth: 100 columnWidth: 100
@ -636,7 +427,7 @@
columnHidden: false, columnHidden: false,
columnImage: false, columnImage: false,
columnSortable: false, columnSortable: false,
sortLv: 130,
sortLv: 0,
status: true, status: true,
fixed: '', fixed: '',
columnWidth: 100 columnWidth: 100
@ -654,7 +445,7 @@
columnHidden: false, columnHidden: false,
columnImage: false, columnImage: false,
columnSortable: false, columnSortable: false,
sortLv: 140,
sortLv: 0,
status: true, status: true,
fixed: '', fixed: '',
columnWidth: 50 columnWidth: 50
@ -672,12 +463,16 @@
columnHidden: false, columnHidden: false,
columnImage: false, columnImage: false,
columnSortable: false, columnSortable: false,
sortLv: 150,
sortLv: 0,
status: true, status: true,
fixed: '', fixed: '',
columnWidth: 120 columnWidth: 120
} }
], ],
searchData: {
siteID: '',
siteName: ''
},
} }
}, },
@ -686,44 +481,36 @@
this.height = window.innerHeight - 140; this.height = window.innerHeight - 140;
}) })
}, },
watch: {
'$route' (to, from) {
if(localStorage.getItem('factoryInformation')!=undefined){
this.getData();
}
}
},
methods: { methods: {
getBaseData (val) { getBaseData (val) {
this.$nextTick(() => { this.$nextTick(() => {
if (this.tagNo === 1003) { if (this.tagNo === 1003) {
this.siteData.companyID = val.CompanyID this.siteData.companyID = val.CompanyID
} }
}) })
}, },
// //
getBaseList (val) { getBaseList (val) {
this.tagNo = val this.tagNo = val
this.$nextTick(() => { this.$nextTick(() => {
let strVal = "";
let strVal = ""
if (val === 1003 && this.siteData.companyID){ if (val === 1003 && this.siteData.companyID){
strVal = this.siteData.companyID strVal = this.siteData.companyID
} }
this.$refs.baseList.init(val,strVal) this.$refs.baseList.init(val,strVal)
}) })
}, },
getData () { getData () {
let data={};
if(localStorage.getItem('factoryInformation')!=undefined){
data=JSON.parse(localStorage.getItem('factoryInformation'));
}
localStorage.removeItem('factoryInformation');
getSiteData(data).then(({data}) => {
getSiteData(this.searchData).then(({data}) => {
if (data.code === 0) {
this.dataList = data.rows this.dataList = data.rows
}
}) })
}, },
addModal () { addModal () {
this.siteData = { this.siteData = {
add: '', add: '',
@ -742,59 +529,44 @@
active: 'Y', active: 'Y',
shipTime: '', shipTime: '',
referenceCustomerID: '', referenceCustomerID: '',
},
this.siteData.add=0;
this.siteInputFlag=false;
this.siteData.active='Y';
this.siteFlag=true;
}
this.siteData.add = 0
this.siteInputFlag = false
this.siteFlag = true
}, },
editSite (row) { editSite (row) {
this.siteData=JSON.parse(JSON.stringify(row));
this.siteData.add=1;
this.siteInputFlag=true;
this.siteFlag=true;
this.siteData = JSON.parse(JSON.stringify(row))
this.siteData.add = 1
this.siteInputFlag = true
this.siteFlag = true
}, },
siteSave () { siteSave () {
siteSave(this.siteData).then(({data}) => {
if(this.siteData.companyID==''||this.siteData.companyID==null){
this.$alert("请选择会计单位!",'错误',{
confirmButtonText:'确定'
})
return false;
}
if(this.siteData.siteID==''||this.siteData.siteID==null){
this.$alert("请输入工厂编码!",'错误',{
confirmButtonText:'确定'
})
return false;
if (this.siteData.siteID == null || this.siteData.siteID === '') {
this.$message.warning('请输入工厂编码!')
return
} }
if(this.siteData.siteName==''||this.siteData.siteName==null){
this.$alert("请输入工厂名称!",'错误',{
confirmButtonText:'确定'
})
return false;
if (this.siteData.siteName == null || this.siteData.siteName === '') {
this.$message.warning('请输入工厂名称!')
return
} }
if (data && data.code == 200) {
siteSave(this.siteData).then(({data}) => {
if (data && data.code === 0) {
this.siteFlag = false this.siteFlag = false
this.getData();
this.getData()
this.$message.success('操作成功') this.$message.success('操作成功')
} else { } else {
this.$alert(data.msg, '错误', {
confirmButtonText: '确定'
})
this.$message.error(data.msg)
} }
}) })
}, },
// excel // excel
createExportData() { createExportData() {
return this.dataList;
return this.dataList
}, },
startDownload() { startDownload() {
// this.exportData = this.dataList
}, },
finishDownload() { finishDownload() {
@ -803,7 +575,7 @@
fields () { fields () {
let json = "{" let json = "{"
this.columnList.forEach((item, index) => { this.columnList.forEach((item, index) => {
if (index == this.columnList.length - 1) {
if (index === this.columnList.length - 1) {
json += "\"" + item.columnLabel + "\"" + ":" + "\"" + item.columnProp + "\"" json += "\"" + item.columnLabel + "\"" + ":" + "\"" + item.columnProp + "\""
} else { } else {
json += "\"" + item.columnLabel + "\"" + ":" + "\"" + item.columnProp + "\"" + "," json += "\"" + item.columnLabel + "\"" + ":" + "\"" + item.columnProp + "\"" + ","
@ -811,99 +583,45 @@
}) })
json += "}" json += "}"
let s = eval("(" + json + ")") let s = eval("(" + json + ")")
return s return s
}, },
// end
getCompanyInformation(row){
let inData={companyID:row.companyID,companyName:row.companyName};
localStorage.setItem('companyInformation', JSON.stringify(inData))
this.$router.replace('base-companyInformation')
},
// //
getButtonAuthData () { getButtonAuthData () {
let updateFlag = this.isAuth(this.menuId+":revise");
let fullControFlag = this.isAuth(this.menuId+":fullContro");
let deleteFlag = this.isAuth(this.menuId+":remove");
let searchFlag = this.isAuth(this.menuId+":search")
let saveFlag = this.isAuth(this.menuId+":save")
let updateFlag = this.isAuth(this.menuId+":update")
// //
this.authEdit = !updateFlag ||!fullControFlag;
this.authAdd = !fullControFlag;
this.authDelete = !deleteFlag;
//
let menList = JSON.parse(sessionStorage.getItem('dynamicMenuRoutes') || '[]').filter(item => item.path == 'base-companyInformation')
if (menList.length > 0) {
this.jumpFlag = false
}
this.authSearch = !searchFlag
this.authSave = !saveFlag
this.authUpdate = !updateFlag
}, },
//
getMultiLanguageList() {
//
searchFunctionButtonList(this.queryButton).then(({data}) => {
if (data.code == 0) {
this.buttons = data.data
} else {
// saveButtonList(this.buttonList).then(({data}) => {
// })
}
});
//
searchFunctionButtonList(this.queryLabel).then(({data}) => {
if (data.code == 0) {
this.labels = data.data
} else {
// saveButtonList(this.buttonList).then(({data}) => {
// })
}
});
},
//
userSetting() {
this.visible = true;
let queryTable = {
userId: this.$store.state.user.name,
functionId: this.$route.meta.menuId,
tableId:this.queryTable .tableId,
languageCode: this.$i18n.locale
}
this.$nextTick(() => {
this.$refs.column.init(queryTable);
});
},
// //
getTableUserColumn(tableId) {
console.log(tableId)
getTableUserColumn () {
getTableUserListLanguage(this.queryTableUser).then(({data}) => { getTableUserListLanguage(this.queryTableUser).then(({data}) => {
if (data.rows.length > 0) { if (data.rows.length > 0) {
//this.columnList = []
this.columnList = data.rows this.columnList = data.rows
} else { } else {
this.getColumnList() this.getColumnList()
} }
}) })
}, },
// tableDefault // tableDefault
getColumnList() { getColumnList() {
getTableDefaultListLanguage(this.queryTable).then(({data}) => { getTableDefaultListLanguage(this.queryTable).then(({data}) => {
if (!data.rows.length == 0) {
// this.showDefault = false
if (data.rows.length !== 0) {
this.columnList = data.rows this.columnList = data.rows
} else {
// this.showDefault = true
} }
}) })
}, },
}, },
created() {
this.getMultiLanguageList()//
this.getData();
created () {
this.getData()
// //
this.getButtonAuthData();
this.getButtonAuthData()
this.getTableUserColumn() this.getTableUserColumn()
} }
} }

373
src/views/modules/base/workCenter.vue

@ -13,7 +13,7 @@
</el-form-item> </el-form-item>
<el-form-item :label="labels.active"> <el-form-item :label="labels.active">
<el-input v-model="modelData.active" readonly style="width: 40px"></el-input> <el-input v-model="modelData.active" readonly style="width: 40px"></el-input>
<el-button @click="addModal()" type="primary" :disabled = "authAdd" style="margin-left: 2px;margin-top: 0px">{{buttons.add}}</el-button>
<el-button @click="addModal()" type="primary" :disabled="authAdd" style="margin-left: 2px">{{buttons.add}}</el-button>
<download-excel <download-excel
:fields="fields()" :fields="fields()"
:data="exportData" :data="exportData"
@ -44,6 +44,7 @@
</download-excel> </download-excel>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-tabs v-model="activeName" > <el-tabs v-model="activeName" >
<el-tab-pane :label="labels.base" name="first"> <el-tab-pane :label="labels.base" name="first">
<el-form :inline="true" label-position="top" label-width="100px" style="margin-top: 0px;"> <el-form :inline="true" label-position="top" label-width="100px" style="margin-top: 0px;">
@ -131,13 +132,13 @@
:label="item.columnLabel"> :label="item.columnLabel">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="!item.columnHidden"> {{scope.row[item.columnProp]}}</span> <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>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
<el-dialog :title="labels.dataList" :close-on-click-modal="false" v-drag :visible.sync="modelFlag2" width="680px" > <el-dialog :title="labels.dataList" :close-on-click-modal="false" v-drag :visible.sync="modelFlag2" width="680px" >
<el-table <el-table
height="400" height="400"
@ -168,8 +169,7 @@
:label="item.columnLabel"> :label="item.columnLabel">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="!item.columnHidden"> {{scope.row[item.columnProp]}}</span> <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>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -177,17 +177,29 @@
<el-button type="primary" @click="modelFlag2 = false">{{buttons.close}}</el-button> <el-button type="primary" @click="modelFlag2 = false">{{buttons.close}}</el-button>
</el-footer> </el-footer>
</el-dialog> </el-dialog>
<el-dialog :title="labels.workCenter" :close-on-click-modal="false" v-drag :visible.sync="modelFlag" width="619px" > <el-dialog :title="labels.workCenter" :close-on-click-modal="false" v-drag :visible.sync="modelFlag" width="619px" >
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;"> <el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;">
<el-form-item label="BU" prop="bu">
<el-select v-model="modelData2.bu" placeholder="请选择" :disabled="modelInputFlag" style="width: 130px">
<el-option
v-for = "i in userBuList"
:key = "i.buNo"
:label = "i.sitename"
:value = "i.buNo">
<span style="float: left;width: 100px">{{ i.sitename }}</span>
<span style="float: right; color: #8492a6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; font-size: 11px;width: 60px">
{{ i.buDesc }}
</span>
</el-option>
</el-select>
</el-form-item>
<el-form-item :label="labels.workCenterNo"> <el-form-item :label="labels.workCenterNo">
<el-input v-model="modelData2.workCenterNo" style="width: 130px" onblur="this.value=this.value.toUpperCase()"></el-input>
<el-input v-model="modelData2.workCenterNo" :disabled="modelInputFlag" style="width: 130px" onblur="this.value=this.value.toUpperCase()"></el-input>
</el-form-item> </el-form-item>
<el-form-item :label="labels.workCenterDesc"> <el-form-item :label="labels.workCenterDesc">
<el-input v-model="modelData2.workCenterDesc" style="width: 130px"></el-input> <el-input v-model="modelData2.workCenterDesc" style="width: 130px"></el-input>
</el-form-item> </el-form-item>
<el-form-item :label="labels.site">
<el-input v-model="modelData2.site" style="width: 130px"></el-input>
</el-form-item>
<el-form-item :label="labels.active"> <el-form-item :label="labels.active">
<el-select filterable v-model="modelData2.active" style="width: 130px"> <el-select filterable v-model="modelData2.active" style="width: 130px">
<el-option label="Y" value="Y"></el-option> <el-option label="Y" value="Y"></el-option>
@ -195,7 +207,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;">
<el-form :inline="true" label-position="top" style="margin-left: 7px">
<el-form-item :label="labels.workCenterType"> <el-form-item :label="labels.workCenterType">
<el-select filterable v-model="modelData2.workCenterType" style="width: 130px"> <el-select filterable v-model="modelData2.workCenterType" style="width: 130px">
<el-option :label="labels.inner" value="内部"></el-option> <el-option :label="labels.inner" value="内部"></el-option>
@ -203,8 +215,8 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item > <el-form-item >
<span slot="label" style="" @click="getBaseList(25)"><a herf="#">{{labels.proLineNo}}</a></span>
<el-input v-model="modelData2.proLineNo" @change="getProLineNo" style="width: 130px" onblur="this.value=this.value.toUpperCase()"></el-input>
<span slot="label" style="" @click="getBaseList(501)"><a herf="#">{{labels.proLineNo}}</a></span>
<el-input v-model="modelData2.proLineNo" @change="proLineChange(501)" style="width: 130px" onblur="this.value=this.value.toUpperCase()"></el-input>
</el-form-item> </el-form-item>
<el-form-item :label="labels.productionLineDesc"> <el-form-item :label="labels.productionLineDesc">
<el-input v-model="modelData2.productionLineDesc" disabled style="width: 130px"></el-input> <el-input v-model="modelData2.productionLineDesc" disabled style="width: 130px"></el-input>
@ -216,7 +228,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;">
<el-form :inline="true" label-position="top" style="margin-left: 7px">
<el-form-item :label="labels.createdDate"> <el-form-item :label="labels.createdDate">
<el-date-picker <el-date-picker
style="width: 130px" style="width: 130px"
@ -235,11 +247,12 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-footer style="height:40px;margin-top: 20px;text-align:center">
<el-button type="primary" @click="ModelSave()">{{buttons.save}}</el-button>
<el-footer style="height:35px;margin-top: 15px;text-align:center">
<el-button type="primary" @click="modelSave()">{{buttons.save}}</el-button>
<el-button type="primary" @click="modelFlag = false">{{buttons.close}}</el-button> <el-button type="primary" @click="modelFlag = false">{{buttons.close}}</el-button>
</el-footer> </el-footer>
</el-dialog> </el-dialog>
<el-dialog :title="labels.resource" :close-on-click-modal="false" v-drag :visible.sync="modelFlag3" width="460px" > <el-dialog :title="labels.resource" :close-on-click-modal="false" v-drag :visible.sync="modelFlag3" width="460px" >
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;"> <el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;">
<el-form-item :label="labels.workCenterNo"> <el-form-item :label="labels.workCenterNo">
@ -271,7 +284,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<span slot="label" style="" @click="getBaseList(91)"><a herf="#">{{labels.calendarID}}</a></span>
<span slot="label" style="" @click="getBaseList(502)"><a herf="#">{{labels.calendarID}}</a></span>
<el-input v-model="modelData3.calendarID" style="width: 130px"></el-input> <el-input v-model="modelData3.calendarID" style="width: 130px"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
@ -285,6 +298,7 @@
<el-button type="primary" @click="modelFlag3 = false">{{buttons.close}}</el-button> <el-button type="primary" @click="modelFlag3 = false">{{buttons.close}}</el-button>
</el-footer> </el-footer>
</el-dialog> </el-dialog>
<el-dialog :title="labels.partNo2" :close-on-click-modal="false" v-drag :visible.sync="partFlag" width="630px" > <el-dialog :title="labels.partNo2" :close-on-click-modal="false" v-drag :visible.sync="partFlag" width="630px" >
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;"> <el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;">
<el-form-item :label="labels.partNo"> <el-form-item :label="labels.partNo">
@ -468,18 +482,13 @@
</el-dialog> </el-dialog>
<Chooselist ref="baseList" @getBaseData="getBaseData"></Chooselist> <Chooselist ref="baseList" @getBaseData="getBaseData"></Chooselist>
</div> </div>
</template> </template>
<script> <script>
import { import {
saveTableDefaultList,
getTableDefaultListLanguage, getTableDefaultListLanguage,
getTableUserListLanguage, getTableUserListLanguage,
removerDefault,
removerUser
} from "@/api/table.js" } from "@/api/table.js"
import { import {
getWorkCenterData, getWorkCenterData,
@ -492,16 +501,12 @@ import {
setResourceFlag, setResourceFlag,
sopFileListSearch, sopFileListSearch,
deleteSOPFile, deleteSOPFile,
}from "@/api/base/site.js"
import {
searchPartNoData, searchPartNoData,
}from "@/api/base/site.js" }from "@/api/base/site.js"
import Chooselist from '@/views/modules/common/Chooselist'
import {
searchFunctionButtonList,
} from "@/api/sysLanguage.js"
import {getSiteAndBuByUserName} from "@/api/qc/qc.js"
import Chooselist from '@/views/modules/common/Chooselist_eam'
import {verifyData} from "@/api/chooselist/chooselist.js"
import {searchFunctionButtonList} from "@/api/sysLanguage.js"
import {uploadSOPFile,sopFileEdit} from "../../../api/base/site"; import {uploadSOPFile,sopFileEdit} from "../../../api/base/site";
var functionId='103004'; var functionId='103004';
@ -527,20 +532,19 @@ export default {
status: true, status: true,
languageCode: this.$i18n.locale languageCode: this.$i18n.locale
}, },
labels: { labels: {
workCenterNo:'加工中心编码:',
workCenterDesc:'名称:',
site:'工厂编号:',
active:'是否在用:',
workCenterNo:'加工中心编码',
workCenterDesc:'加工中心名称',
site:'工厂编号',
active:'是否在用',
base:'基本信息', base:'基本信息',
workCenterType:'加工中心类型:',
proLineNo:'生产线编码:',
productionLineDesc:'生产线名称:',
canCreateNewRollFlag:'是否可以创建新卷:',
createdDate:'新增日期:',
remark:'备注:',
needSetupFlag:'生产是否需要调机:',
workCenterType:'加工中心类型',
proLineNo:'生产线编码',
productionLineDesc:'生产线名称',
canCreateNewRollFlag:'是否可以创建新卷',
createdDate:'新增日期',
remark:'备注',
needSetupFlag:'生产是否需要调机',
partInvolved:'涉及产品', partInvolved:'涉及产品',
dataList:'数据表', dataList:'数据表',
workCenter:'加工中心', workCenter:'加工中心',
@ -548,18 +552,18 @@ export default {
outer:'外部', outer:'外部',
chooseDate:'选择日期', chooseDate:'选择日期',
resource:'机台维护', resource:'机台维护',
resourceID:'机台编码:',
resourceDesc:'机台名称:',
efficiency:'效率:',
utilization:'利用率:',
calendarID:'工作日历编码:',
partNo:'物料编码:',
resourceID:'机台编码',
resourceDesc:'机台名称',
efficiency:'效率',
utilization:'利用率',
calendarID:'工作日历编码',
partNo:'物料编码',
partNo2:'物料编码', partNo2:'物料编码',
partDescription:'物料名称:',
createDate:'新增日期:',
umid:'计量单位:',
configurationTemplateID:'客户名称:',
remark2:'客户产品料号:',
partDescription:'物料名称',
createDate:'新增日期',
umid:'计量单位',
configurationTemplateID:'客户名称',
remark2:'客户产品料号',
resource2:'机台', resource2:'机台',
do:'操作', do:'操作',
error:'错误', error:'错误',
@ -703,6 +707,7 @@ export default {
user:this.$store.state.user.name, user:this.$store.state.user.name,
}, },
modelData2: { modelData2: {
bu: '',
add: '', add: '',
workCenterNo: '', workCenterNo: '',
workCenterDesc: '', workCenterDesc: '',
@ -733,9 +738,8 @@ export default {
dataList:[], dataList:[],
dataList2:[], dataList2:[],
dataList3:[], dataList3:[],
userBuList: [],
dataListLoading: false, dataListLoading: false,
columnList: [ columnList: [
{ {
userId: this.$store.state.user.name, userId: this.$store.state.user.name,
@ -1344,17 +1348,26 @@ export default {
menuId: this.$route.meta.menuId, menuId: this.$route.meta.menuId,
} }
}, },
mounted() { mounted() {
this.$nextTick(() => { this.$nextTick(() => {
this.height = window.innerHeight - 225; this.height = window.innerHeight - 225;
}) })
}, },
watch: {
'$route' (to, from) {
if(localStorage.getItem('workCenterNo')!=undefined){
this.jump();
}
created() {
this.first()
//
this.getButtonAuthData()
// site bu
this.getSiteAndBuByUserName()
this.getMultiLanguageList() //
this.getTableUserColumn('103004Table',1)
this.getTableUserColumn('103004Table2',2)
this.getTableUserColumn('103004Table3',3)
}, },
watch: {
modelData2: { modelData2: {
deep: true, deep: true,
handler: function (newV, oldV) { handler: function (newV, oldV) {
@ -1370,7 +1383,21 @@ export default {
} }
}, },
}, },
methods: { methods: {
// bu
getSiteAndBuByUserName () {
let tempData = {
username: this.$store.state.user.name,
}
getSiteAndBuByUserName(tempData).then(({data}) => {
if (data.code === 0) {
this.userBuList = data.rows
}
})
},
editResource () { editResource () {
if (this.currentRow2 == null) { if (this.currentRow2 == null) {
this.$alert(this.labels.resourceIn,this.labels.error, { this.$alert(this.labels.resourceIn,this.labels.error, {
@ -1389,18 +1416,18 @@ export default {
calendarID: this.currentRow2.calendarID, calendarID: this.currentRow2.calendarID,
remark: this.currentRow2.remark, remark: this.currentRow2.remark,
add: 1, add: 1,
};
this.model3InputFlag=true;
this.modelFlag3=true;
}
this.model3InputFlag = true
this.modelFlag3 = true
}, },
addResource () { addResource () {
if(this.modelData.workCenterNo==''||this.modelData.workCenterNo==null){
if (this.modelData.workCenterNo == null || this.modelData.workCenterNo === '') {
this.$alert(this.labels.workCenterNoChoose,this.labels.error, { this.$alert(this.labels.workCenterNoChoose,this.labels.error, {
confirmButtonText: this.labels.true confirmButtonText: this.labels.true
}) })
return false; return false;
} }
this.modelData3 = { this.modelData3 = {
workCenterNo: this.modelData.workCenterNo, workCenterNo: this.modelData.workCenterNo,
site: this.modelData.site, site: this.modelData.site,
@ -1412,62 +1439,61 @@ export default {
calendarID: '', calendarID: '',
remark: '', remark: '',
add: 0, add: 0,
};
this.model3InputFlag=false;
this.modelFlag3=true;
}
this.model3InputFlag = false
this.modelFlag3 = true
}, },
ResourceSave () { ResourceSave () {
if(this.modelData3.resourceID==''||this.modelData3.resourceID==null){
if (this.modelData3.resourceID === '' || this.modelData3.resourceID == null) {
this.$alert(this.labels.resourceIDIn,this.labels.error, { this.$alert(this.labels.resourceIDIn,this.labels.error, {
confirmButtonText: this.labels.true confirmButtonText: this.labels.true
}) })
return false; return false;
} }
if(this.modelData3.resourceDesc==''||this.modelData3.resourceDesc==null){
if (this.modelData3.resourceDesc === '' || this.modelData3.resourceDesc == null) {
this.$alert(this.labels.resourceDescIn,this.labels.error, { this.$alert(this.labels.resourceDescIn,this.labels.error, {
confirmButtonText: this.labels.true confirmButtonText: this.labels.true
}) })
return false; return false;
} }
if(this.modelData3.efficiency==''||this.modelData3.efficiency==null){
if (this.modelData3.efficiency === '' || this.modelData3.efficiency == null) {
this.$alert(this.labels.efficiencyIn,this.labels.error, { this.$alert(this.labels.efficiencyIn,this.labels.error, {
confirmButtonText: this.labels.true confirmButtonText: this.labels.true
}) })
return false; return false;
} }
if(this.modelData3.utilization==''||this.modelData3.utilization==null){
if (this.modelData3.utilization === '' || this.modelData3.utilization == null) {
this.$alert(this.labels.utilizationIn,this.labels.error, { this.$alert(this.labels.utilizationIn,this.labels.error, {
confirmButtonText: this.labels.true confirmButtonText: this.labels.true
}) })
return false; return false;
} }
if(this.modelData3.active==''||this.modelData3.active==null){
if (this.modelData3.active === '' || this.modelData3.active == null) {
this.$alert(this.labels.activeIn,this.labels.error, { this.$alert(this.labels.activeIn,this.labels.error, {
confirmButtonText: this.labels.true confirmButtonText: this.labels.true
}) })
return false; return false;
} }
if(this.modelData3.calendarID==''||this.modelData3.calendarID==null){
if (this.modelData3.calendarID === '' || this.modelData3.calendarID == null) {
this.$alert(this.labels.calendarIDIn,this.labels.error, { this.$alert(this.labels.calendarIDIn,this.labels.error, {
confirmButtonText: this.labels.true confirmButtonText: this.labels.true
}) })
return false; return false;
} }
saveResource(this.modelData3).then(({data}) => { saveResource(this.modelData3).then(({data}) => {
if (data && data.code == 200) {
if (data && data.code === 200) {
this.modelFlag3 = false this.modelFlag3 = false
getWorkCenterDataDetail(this.modelData).then(({data}) => { getWorkCenterDataDetail(this.modelData).then(({data}) => {
this.dataList2 = data.rows2;
this.dataList2 = data.rows2
}) })
this.$message.success(this.labels.doYes) this.$message.success(this.labels.doYes)
} else { } else {
this.$alert(data.msg, this.labels.error, {
confirmButtonText: this.labels.true
})
this.$message.error(data.msg)
} }
}) })
}, },
setResource () { setResource () {
if (this.currentRow2 == null) { if (this.currentRow2 == null) {
this.$alert(this.labels.resourceIn, this.labels.error, { this.$alert(this.labels.resourceIn, this.labels.error, {
@ -1475,9 +1501,9 @@ export default {
}) })
return false; return false;
} }
let msg=this.labels.virturlFlagAsk1;
if(this.currentRow2.virturlFlag=='Y'){
msg=this.labels.virturlFlagAsk2;
let msg = this.labels.virturlFlagAsk1
if (this.currentRow2.virturlFlag==='Y') {
msg = this.labels.virturlFlagAsk2
} }
this.$confirm(msg, this.labels.point, { this.$confirm(msg, this.labels.point, {
confirmButtonText: this.labels.true, confirmButtonText: this.labels.true,
@ -1487,7 +1513,7 @@ export default {
setResourceFlag(this.currentRow2).then(({data}) => { setResourceFlag(this.currentRow2).then(({data}) => {
if (data && data.code == 200) { if (data && data.code == 200) {
getWorkCenterDataDetail(this.modelData).then(({data}) => { getWorkCenterDataDetail(this.modelData).then(({data}) => {
this.dataList2 = data.rows2;
this.dataList2 = data.rows2
}) })
this.$message.success(this.labels.doYes) this.$message.success(this.labels.doYes)
} else { } else {
@ -1721,31 +1747,36 @@ export default {
}) })
}) })
}, },
getBaseData (val) { getBaseData (val) {
if (this.tagNo === 25){
if (this.tagNo === 501) {
this.modelData2.proLineNo = val.ProLineNo this.modelData2.proLineNo = val.ProLineNo
this.modelData2.productionLineDesc = val.ProLineDesc
} }
if (this.tagNo === 91){
if (this.tagNo === 502) {
this.modelData3.calendarID = val.CalendarID this.modelData3.calendarID = val.CalendarID
} }
}, },
// //
getBaseList(val){ getBaseList(val){
this.tagNo = val this.tagNo = val
this.$nextTick(() => { this.$nextTick(() => {
let strVal = "";
if (val === 25){
let strVal = ""
if (val === 501) {
strVal = this.modelData2.proLineNo strVal = this.modelData2.proLineNo
} }
if (val === 91){
if (val === 502) {
strVal = this.modelData3.calendarID strVal = this.modelData3.calendarID
} }
this.$refs.baseList.init(val,strVal) this.$refs.baseList.init(val,strVal)
}) })
}, },
clickData2 (row) { clickData2 (row) {
this.currentRow2 = JSON.parse(JSON.stringify(row));
this.currentRow2 = JSON.parse(JSON.stringify(row))
}, },
jumpCalendar () { jumpCalendar () {
if(this.currentRow2==null){ if(this.currentRow2==null){
this.$alert(this.labels.resourceIn, this.labels.error, { this.$alert(this.labels.resourceIn, this.labels.error, {
@ -1770,52 +1801,57 @@ export default {
partNo:this.currentRow.partNo partNo:this.currentRow.partNo
} }
searchPartNoData(inData).then(({data}) => { searchPartNoData(inData).then(({data}) => {
if (data.rows.length==0){
if (data.rows.length === 0) {
this.$alert(this.labels.partNot, this.labels.error, { this.$alert(this.labels.partNot, this.labels.error, {
confirmButtonText: this.labels.true confirmButtonText: this.labels.true
}) })
return false; return false;
} }
this.partData = data.rows[0];
this.partFlag=true;
this.partData = data.rows[0]
this.partFlag = true
}) })
}, },
first () { first () {
if(localStorage.getItem('workCenterNo')!=undefined){
this.jump();
if (localStorage.getItem('workCenterNo') !== undefined) {
this.jump()
} }
}, },
getData () { getData () {
let inData = { let inData = {
user: this.$store.state.user.name user: this.$store.state.user.name
} }
getWorkCenterData(inData).then(({data}) => { getWorkCenterData(inData).then(({data}) => {
this.dataList3 = data.rows;
this.modelFlag2=true;
this.dataList3 = data.rows
this.modelFlag2 = true
}) })
}, },
jump () { jump () {
let data=JSON.parse(localStorage.getItem('workCenterNo'));
localStorage.removeItem('workCenterNo');
let data = JSON.parse(localStorage.getItem('workCenterNo'))
localStorage.removeItem('workCenterNo')
getWorkCenterData(data).then(({data}) => { getWorkCenterData(data).then(({data}) => {
this.dataList3 = data.rows;
this.modelData=data.rows[0];
this.dataList3 = data.rows
this.modelData = data.rows[0]
getWorkCenterDataDetail(this.modelData).then(({data}) => { getWorkCenterDataDetail(this.modelData).then(({data}) => {
this.dataList2 = data.rows2;
this.dataList = data.rows1;
this.dataList2 = data.rows2
this.dataList = data.rows1
}) })
}) })
}, },
clickData (row) { clickData (row) {
this.currentRow = JSON.parse(JSON.stringify(row));
this.currentRow = JSON.parse(JSON.stringify(row))
}, },
addModal () { addModal () {
this.modelData2 = { this.modelData2 = {
add: '', add: '',
bu: this.userBuList[0].buNo,
workCenterNo: '', workCenterNo: '',
workCenterDesc: '', workCenterDesc: '',
site:this.$store.state.user.site,
site: '',
active: '', active: '',
workCenterType: '', workCenterType: '',
proLineNo: '', proLineNo: '',
@ -1825,77 +1861,71 @@ export default {
remark: '', remark: '',
needSetupFlag: '', needSetupFlag: '',
user: this.$store.state.user.name, user: this.$store.state.user.name,
}
this.modelData2.add = 0
this.modelInputFlag = false
this.modelData2.active = 'Y'
this.modelData2.canCreateNewRollFlag = 'Y'
this.modelData2.needSetupFlag = 'Y'
this.modelData2.workCenterType = '内部'
this.modelData2.createdDate = new Date()
this.modelFlag = true
}, },
this.modelData2.add=0;
this.modelInputFlag=false;
this.modelData2.active='Y';
this.modelData2.canCreateNewRollFlag='Y';
this.modelData2.needSetupFlag='Y';
this.modelData2.workCenterType='内部',
this.modelData2.createdDate=new Date();
this.modelFlag=true;
},
editModel (row) { editModel (row) {
this.modelData2=JSON.parse(JSON.stringify(row));
this.modelData2.add=1;
this.modelInputFlag=true;
this.modelFlag=true;
},
ModelSave(){
if(this.modelData2.workCenterNo==''||this.modelData2.workCenterNo==null){
this.$alert(this.labels.workCenterNoIn, this.labels.error, {
confirmButtonText: this.labels.true
})
return false;
this.modelData2 = {
...row,
bu: row.site + '_' + row.buNo,
add: 1,
user: this.$store.state.user.name
} }
if(this.modelData2.workCenterDesc==''||this.modelData2.workCenterDesc==null){
this.$alert(this.labels.workCenterDescIn, this.labels.error, {
confirmButtonText: this.labels.true
})
return false;
this.modelInputFlag = true
this.modelFlag = true
},
modelSave () {
if (this.modelData2.bu === '' || this.modelData2.bu == null) {
this.$message.warning('请选择BU!')
return
} }
if(this.modelData2.site==''||this.modelData2.site==null){
this.$alert(this.labels.siteIn, this.labels.error, {
confirmButtonText: this.labels.true
})
return false;
if (this.modelData2.workCenterNo === '' || this.modelData2.workCenterNo == null) {
this.$message.warning('请输入加工中心编码!')
return
} }
if(this.modelData2.createdDate==''||this.modelData2.createdDate==null){
this.$alert(this.labels.createdDateIn, this.labels.error, {
confirmButtonText: this.labels.true
})
return false;
if (this.modelData2.workCenterDesc === '' || this.modelData2.workCenterDesc == null) {
this.$message.warning('请输入加工中心名称!')
return
}
if (this.modelData2.createdDate === '' || this.modelData2.createdDate == null) {
this.$message.warning('请选择新增日期!')
return
} }
this.modelData2.user=this.$store.state.user.name;
saveWorkCenterData(this.modelData2).then(({data}) => { saveWorkCenterData(this.modelData2).then(({data}) => {
if (data && data.code == 200) {
if (data && data.code === 0) {
this.modelFlag = false this.modelFlag = false
this.getData();
this.getData()
this.$message.success(this.labels.doYes) this.$message.success(this.labels.doYes)
} else { } else {
this.$alert(data.msg, this.labels.error, {
confirmButtonText: this.labels.true
})
this.$message.error(data.msg)
} }
}) })
}, },
deleteData (row) { deleteData (row) {
this.$confirm( this.labels.workCenterDeleteAsk, this.labels.point, { this.$confirm( this.labels.workCenterDeleteAsk, this.labels.point, {
confirmButtonText: this.labels.true, confirmButtonText: this.labels.true,
cancelButtonText: this.labels.cancel, cancelButtonText: this.labels.cancel,
type: 'warning' type: 'warning'
}).then(() => { }).then(() => {
let inData = { let inData = {
site: row.site,
buNo: row.buNo,
workCenterNo: row.workCenterNo, workCenterNo: row.workCenterNo,
site:row.site
} }
deleteWorkCenterData(inData).then(({data}) => { deleteWorkCenterData(inData).then(({data}) => {
if (data && data.code == 200) {
if (data && data.code === 0) {
this.modelFlag = false this.modelFlag = false
this.getData();
this.getData()
this.$message.success( this.labels.doYes) this.$message.success( this.labels.doYes)
} else { } else {
this.$alert(data.msg, this.labels.error, { this.$alert(data.msg, this.labels.error, {
@ -1905,6 +1935,7 @@ export default {
}) })
}) })
}, },
tableHanddle(row){ tableHanddle(row){
this.modelData=row; this.modelData=row;
this.modelFlag2=false; this.modelFlag2=false;
@ -1913,21 +1944,25 @@ export default {
this.dataList = data.rows1; this.dataList = data.rows1;
}) })
}, },
getProLineNo(){
let inData={
site : this.$store.state.user.site,
proLineNo : this.modelData2.proLineNo
}
getProLineNoDetail(inData).then(({data}) => {
let outList = data.rows
if (outList.length>0){
this.modelData2.productionLineDesc=outList[0].proLineDesc;
this.modelData2=JSON.parse(JSON.stringify(this.modelData2));
// 线
proLineChange (tagNo) {
let tempData = {
tagno: tagNo,
conditionSql: " and ProLineNo = '" + this.modelData2.proLineNo + "'" + " and site = '" + this.modelData2.bu.split('_')[0] + "'"
}
verifyData(tempData).then(({data}) => {
if (data && data.code === 0) {
if (data.baseListData.length > 0) {
this.modelData2.proLineNo = data.baseListData[0].ProLineNo
this.modelData2.productionLineDesc = data.baseListData[0].ProLineDesc
} else { } else {
this.modelData2.productionLineDesc='';
this.modelData2.productionLineDesc = ''
}
} }
}) })
}, },
//excel //excel
createExportData() { createExportData() {
@ -2071,21 +2106,9 @@ export default {
// this.showDefault = true // this.showDefault = true
} }
}) })
}, },
}, },
created() {
this.first();
//
this.getButtonAuthData();
//
this.getMultiLanguageList()//
this.getTableUserColumn('103004Table',1)
this.getTableUserColumn('103004Table2',2)
this.getTableUserColumn('103004Table3',3)
}
} }
</script> </script>

2
src/views/modules/common/Chooselist_eam.vue

@ -228,7 +228,7 @@ export default {
} }
if (this.tagNo <= 500 && this.tagNo !== 93 && this.tagNo !== 201) { if (this.tagNo <= 500 && this.tagNo !== 93 && this.tagNo !== 201) {
if (this.param7) { if (this.param7) {
sql += " and site in (select site from eam_access_site where username = '" + this.param7 + "') " + " and (site + '-' + bu_no) in (select (a.site + '-' + a.bu_no) from AccessBu as a left join eam_access_site as b on a.site = b.site and a.username = b.username where a.username = '" + this.param7 + "')"
sql += " and site in (select site from eam_access_site where username = '" + this.param7 + "') " + " and bu_no in (select bu_no from AccessBu where username = '" + this.param7 + "')"
} }
} }
if (this.tagNo > 500 && this.tagNo < 1000) { if (this.tagNo > 500 && this.tagNo < 1000) {

6
src/views/modules/shopOrder/productionReport/productionLineOperatorRegistration.vue

@ -99,7 +99,7 @@
</el-form> </el-form>
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;"> <el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;">
<el-form-item > <el-form-item >
<span slot="label" style="" @click="getBaseList(91)"><a herf="#">{{labels.calendarID}}</a></span>
<span slot="label" style="" @click="getBaseList(502)"><a herf="#">{{labels.calendarID}}</a></span>
<el-input v-model="modelData.calendarID" style="width: 130px" onblur="this.value=this.value.toUpperCase()"></el-input> <el-input v-model="modelData.calendarID" style="width: 130px" onblur="this.value=this.value.toUpperCase()"></el-input>
</el-form-item> </el-form-item>
<el-form-item :label="labels.efficiency"> <el-form-item :label="labels.efficiency">
@ -481,7 +481,7 @@ export default {
this.modelData.workCenterNo = val.WorkCenterNo this.modelData.workCenterNo = val.WorkCenterNo
this.modelData.workCenterDesc = val.WorkCenterDesc this.modelData.workCenterDesc = val.WorkCenterDesc
} }
if (this.tagNo === 91){
if (this.tagNo === 502){
this.modelData.calendarID = val.CalendarID this.modelData.calendarID = val.CalendarID
} }
}, },
@ -493,7 +493,7 @@ export default {
if (val === 24){ if (val === 24){
strVal = this.modelData.workCenterNo strVal = this.modelData.workCenterNo
} }
if (val === 91){
if (val === 502){
strVal = this.modelData.calendarID strVal = this.modelData.calendarID
} }
this.$refs.baseList.init(val,strVal) this.$refs.baseList.init(val,strVal)

8
src/views/modules/sys/user.vue

@ -13,7 +13,7 @@
<el-button v-if="isAuth('sys:user:save')" :disabled="this.showButton" type="primary" @click="siteAuthorize()"> {{ buttons.factoryAuthorization || '工厂授权' }}</el-button> <el-button v-if="isAuth('sys:user:save')" :disabled="this.showButton" type="primary" @click="siteAuthorize()"> {{ buttons.factoryAuthorization || '工厂授权' }}</el-button>
<el-button v-if="isAuth('sys:user:save')" :disabled="this.showButton" type="primary" @click="buAuthorize()">{{ buttons.buAuthorization || 'BU授权' }}</el-button> <el-button v-if="isAuth('sys:user:save')" :disabled="this.showButton" type="primary" @click="buAuthorize()">{{ buttons.buAuthorization || 'BU授权' }}</el-button>
<el-button v-if="isAuth('sys:user:save')" :disabled="this.showButton" type="primary" @click="deptAuthorize()">{{ buttons.deptAuthorization || '部门授权' }}</el-button> <el-button v-if="isAuth('sys:user:save')" :disabled="this.showButton" type="primary" @click="deptAuthorize()">{{ buttons.deptAuthorization || '部门授权' }}</el-button>
<el-button v-if="isAuth('sys:user:save')" :disabled="this.showButton" type="primary" @click="businessRoleAuthorize()">{{ buttons.businessRoleAuthorization || '角色授权' }}</el-button>
<el-button v-if="isAuth('sys:user:save')" :disabled="this.showButton" type="primary" @click="businessRoleAuthorize()">{{ buttons.businessRoleAuthorization || '岗位角色' }}</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
@ -556,7 +556,7 @@ export default {
factoryAuthorization: '工厂授权', factoryAuthorization: '工厂授权',
buAuthorization: 'BU授权', buAuthorization: 'BU授权',
deptAuthorization: '部门授权', deptAuthorization: '部门授权',
businessRoleAuthorization: '角色授权',
businessRoleAuthorization: '岗位角色',
createTime: '创建时间', createTime: '创建时间',
username: '用户账号', username: '用户账号',
userDisplay: '用户名', userDisplay: '用户名',
@ -1033,9 +1033,9 @@ export default {
}) })
}, },
// ========================== ==========================
// ========================== ==========================
//
//
businessRoleAuthorize () { businessRoleAuthorize () {
this.businessRoleData = { this.businessRoleData = {
site: '', site: '',

Loading…
Cancel
Save