20230520 0826北汽福田现场

This commit is contained in:
2023-05-20 08:27:11 +08:00
parent ed309299ff
commit 7b33ffb462
66 changed files with 3523 additions and 2636 deletions

View File

@@ -7,8 +7,8 @@ const os = require('os')
const networkInterfaces = os.networkInterfaces()
const ip = networkInterfaces['WLAN'][1] ? networkInterfaces['WLAN'][1].address : networkInterfaces['WLAN'][0].address
// const ip = '127.0.0.1'
// const ip = networkInterfaces['WLAN'][1] ? networkInterfaces['WLAN'][1].address : networkInterfaces['WLAN'][0].address
const ip = '127.0.0.1'
module.exports = {
dev: {
// Paths

View File

@@ -4,12 +4,13 @@
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>MES信息管理系统</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/docxtemplater/3.9.1/docxtemplater.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/2.6.1/jszip.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/FileSaver.js/1.3.8/FileSaver.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jszip-utils/0.0.2/jszip-utils.js"></script>
</head>
<body style="background-color: #eeeeee">
<script src=<%= BASE_URL %>/config.js></script>
<script src=<%= BASE_URL %>/libs/docxtemplater.js></script>
<script src=<%= BASE_URL %>/libs/jszip.js></script>
<script src=<%= BASE_URL %>/libs/FileSaver.js></script>
<script src=<%= BASE_URL %>/libs/jszip-utils.js></script>
<script src=<%= BASE_URL %>/tinymce4.7.5/tinymce.min.js></script>
<div id="app"></div>
<script></script>

View File

@@ -13,7 +13,6 @@
"svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml"
},
"dependencies": {
"@xkeshi/vue-barcode": "^1.0.0",
"axios": "0.18.0",
"dhtmlx-gantt": "^7.1.12",
"docxtemplater": "^3.19.7",
@@ -23,17 +22,18 @@
"html2canvas": "^1.0.0-alpha.12",
"jquery": "^3.5.1",
"js-cookie": "2.2.0",
"jspdf": "^1.5.2",
"jspdf": "2.5.1",
"jszip-utils": "^0.1.0",
"node-sass": "^4.10.0",
"mqtt": "^4.3.7",
"node-sass": "latest",
"normalize.css": "7.0.0",
"npm": "^7.20.5",
"nprogress": "0.2.0",
"qrcode": "^1.3.2",
"stylus": "0.52.4",
"stylus-loader": "^3.0.1",
"three-freeform-controls": "^0.1.12",
"time-formater": "^1.0.3",
"uuid": "^9.0.0",
"v-viewer": "^1.3.1",
"view-ui-plus": "^1.3.1",
"vue": "2.5.17",
@@ -65,7 +65,7 @@
"eventsource-polyfill": "0.9.6",
"file-loader": "1.1.11",
"friendly-errors-webpack-plugin": "1.7.0",
"html-webpack-plugin": "4.0.0-alpha",
"html-webpack-plugin": "^4.5.2",
"mini-css-extract-plugin": "0.4.1",
"node-notifier": "5.2.1",
"optimize-css-assets-webpack-plugin": "5.0.0",
@@ -77,7 +77,7 @@
"raw-loader": "^4.0.2",
"rimraf": "2.6.2",
"sass-loader": "7.0.3",
"script-ext-html-webpack-plugin": "2.0.1",
"script-ext-html-webpack-plugin": "2.1.3",
"script-loader": "^0.7.2",
"semver": "5.5.0",
"shelljs": "0.8.2",
@@ -88,7 +88,7 @@
"vue-loader": "15.3.0",
"vue-style-loader": "4.1.2",
"vue-template-compiler": "2.5.17",
"webpack": "4.16.5",
"webpack": "4.36.1",
"webpack-bundle-analyzer": "2.13.1",
"webpack-cli": "3.1.0",
"webpack-dev-server": "3.1.5",

View File

@@ -24,7 +24,7 @@ export function getModule(role) {
UserID: state.state.user.id,
ModularID: router.currentRoute.path,
type: '3',
name: `select * from 基础表_角色模块信息 inner join 基础表_模块信息 on 基础表_角色模块信息.id = 基础表_模块信息.id where 角色编号=${role} order by 角色模块顺序`
name: `select * from 基础表_角色模块信息 inner join 基础表_模块信息 on 基础表_角色模块信息.id = 基础表_模块信息.id where 角色编号=${role} and 是否禁用 = 0 order by 角色模块顺序`
}
})
}
@@ -37,7 +37,7 @@ export function initFisrtLevel() {
UserID: state.state.user.id,
ModularID: router.currentRoute.path,
type: '3',
name: `select id,title from 基础表_模块信息 where [path] = '/'`
name: `select id,title from 基础表_模块信息 where [path] = '/' and 是否禁用 = 0`
}
})
}
@@ -50,7 +50,7 @@ export function initSecondLevel() {
UserID: state.state.user.id,
ModularID: router.currentRoute.path,
type: '3',
name: `select id,title from 基础表_模块信息 where [path] <> '/'`
name: `select id,title from 基础表_模块信息 where [path] <> '/' and 是否禁用 = 0`
}
})
}

View File

@@ -11,7 +11,13 @@ export function getTableData1() {
UserID: state.state.user.id,
ModularID: router.currentRoute.path,
type: '3',
name: 'SELECT * FROM [基础数据_设备工位点检表]inner join dbo.基础数据_点检类型名称 on [基础数据_设备工位点检表].点检表类型 = 基础数据_点检类型名称.点检表类型流水号'
name: `
SELECT 基础数据_点检类型名称.*,[基础数据_设备工位点检表].*,[MES_计划BOM_工位与名称].工位名称 FROM [基础数据_设备工位点检表]
inner join dbo.基础数据_点检类型名称
on [基础数据_设备工位点检表].点检表类型 = 基础数据_点检类型名称.点检表类型流水号
inner join [MES_计划BOM_工位与名称]
on [MES_计划BOM_工位与名称].工位号 = [基础数据_设备工位点检表].工位号
`
}
})
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.9 KiB

After

Width:  |  Height:  |  Size: 9.0 KiB

BIN
src/assets/img/leftPic.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

BIN
src/assets/img/logo.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

BIN
src/assets/img/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

View File

@@ -0,0 +1,2 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1660036431427" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="6114" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css">@font-face { font-family: feedback-iconfont; src: url("//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff2?t=1630033759944") format("woff2"), url("//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff?t=1630033759944") format("woff"), url("//at.alicdn.com/t/font_1031158_u69w8yhxdu.ttf?t=1630033759944") format("truetype"); }
</style></defs><path d="M477.9 983L113.6 774.1c-18.7-10.7-30.2-30.5-30.2-52V304.3c0-21.4 11.5-41.2 30.2-52L477.9 43.4c18.7-10.7 41.7-10.7 60.4 0l364.3 208.9c18.7 10.7 30.2 30.5 30.2 52v417.9c0 21.4-11.5 41.2-30.2 52L538.3 983a60.349 60.349 0 0 1-60.4 0zM144.5 721.8l363.6 208.6 363.6-208.6V304.7L508.1 96.1 144.5 304.7v417.1z" p-id="6115"></path><path d="M508.1 803.2c-78 0-151.3-30.2-206.4-84.9-55.1-54.8-85.5-127.6-85.5-205.1s30.4-150.3 85.5-205.1c55.1-54.8 128.4-84.9 206.4-84.9s151.3 30.2 206.4 84.9c55.1 54.8 85.5 127.6 85.5 205.1 0 39.7-7.9 78.1-23.6 114.3l-17.8 41.3-159.9-159.9-94.3 93.7 159.8 159.8-41.4 17.6c-36.3 15.4-74.9 23.2-114.7 23.2z m0-519.4c-127.3 0-230.9 102.9-230.9 229.4s103.6 229.4 230.9 229.4c15.5 0 30.8-1.5 45.7-4.5L418.2 602.4 598.8 423l135.6 135.7c3-14.8 4.5-30 4.5-45.4 0.1-126.6-103.5-229.5-230.8-229.5z" p-id="6116"></path><path d="M573.2 621.7a44.7 44.4 0 1 0 89.4 0 44.7 44.4 0 1 0-89.4 0Z" p-id="6117"></path></svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@@ -20,7 +20,7 @@ import time from 'time-formater'
import htmlToPdf from '@/vendor/htmlToPdf'
import Viewer from 'v-viewer'
import 'viewerjs/dist/viewer.css'
import VueBarcode from '@xkeshi/vue-barcode'
// import VueBarcode from '@xkeshi/vue-barcode'
import Direction from 'vue-direction-key'
import elDragDialog from '@/directive/el-dragDialog'
// 全局数字、金额输入框组件
@@ -32,7 +32,7 @@ Vue.prototype.$axios = axios // 修改原型链
// axios.defaults.withCredentials = true
Vue.use(elDragDialog)
Vue.component('barcode', VueBarcode)
// Vue.component('barcode', VueBarcode)
Vue.use(Direction)
Vue.use(curd)
Vue.use(htmlToPdf)
@@ -107,7 +107,7 @@ export function HashTable() {
}
this.getValues = function() {
// eslint-disable-next-line no-array-constructor
const values = new Array()
const values = []
for (const prop in entry) {
values.push(entry[prop])
}

View File

@@ -46,9 +46,9 @@ router.beforeEach((to, from, next) => {
store.dispatch('GetInfo').then(res => { // 拉取user_info
const data = res.data
const asyncRouterMap = getRouter(data, 0)
console.log(asyncRouterMap)
asyncRouterMap.push({ path: '*', redirect: '/404', hidden: true })
store.dispatch('GenerateRoutes', asyncRouterMap).then(() => { // 根据roles权限生成可访问的路由表
store.dispatch('GenerateRoutes', asyncRouterMap).then(() => {
// 根据roles权限生成可访问的路由表
router.addRoutes(store.getters.addRouters) // 动态添加可访问路由表
next({ ...to, replace: true }) // hack方法 确保addRoutes已完成 ,set the replace: true so the navigation will not leave a history record
})

View File

@@ -21,6 +21,13 @@ import Layout from '../views/layout/Layout'
icon: 'svg-name' the icon show in the sidebar,
}
**/
const originalPush = Router.prototype.push
Router.prototype.push = function push(location, onResolve, onReject) {
if (onResolve || onReject) { return originalPush.call(this, location, onResolve, onReject) }
return originalPush.call(this, location).catch((err) => err)
}
export const constantRouterMap = [
{ path: '/login', component: () => import('@/views/login/index'), hidden: true },
{ path: '/404', component: () => import('@/views/404'), hidden: true },

View File

@@ -70,7 +70,7 @@
background-color: #d8dde6;/*修改斑马线表格背景*/
}
.el-table thead.is-group th{
background-color: rgb(98, 157, 209);
background-color: rgb(134, 172, 206);
}
/* .el-textarea__inner,

View File

@@ -324,7 +324,8 @@ input[type=number]::-webkit-outer-spin-button {
}
}
.el-table__body tr.current-row>td{
background-color: #5da2ef !important;
background-color: #9bcaff !important;
color: white;
}
//统一标准全局class 张丁予20200213
.machineTool { // 机床Select

104
src/utils/mqtt.js Normal file
View File

@@ -0,0 +1,104 @@
import { v4 as uuid } from 'uuid'
import mqtt from 'mqtt'
export { Mqtt }
class Mqtt {
constructor(config) {
this.connection = {
host: config.host,
port: config.port,
endpoint: config.endpoint || '/mqtt',
clean: config.clean || true,
connectTimeout: config.connectTimeout || 4000,
reconnectPeriod: config.reconnectPeriod || 4000,
clientId: config.clientId || uuid(),
username: config.username || '',
password: config.password || ''
}
this.client = {
connected: false
}
}
// 创建连接
createConnection() {
// 连接字符串, 通过协议指定使用的连接方式
// ws 未加密 WebSocket 连接
// wss 加密 WebSocket 连接
// mqtt 未加密 TCP 连接
// mqtts 加密 TCP 连接
// wxs 微信小程序连接
// alis 支付宝小程序连接
const { host, port, endpoint, ...options } = this.connection
const connectUrl = `ws://${host}:${port}${endpoint}`
try {
this.client = mqtt.connect(connectUrl, options)
} catch (error) {
// 连接错位、
this.connectError(error)
}
}
connectError(error) {
console.log('mqtt.connect error', error)
}
// 订阅主题
doSubscribe(subscription) {
const { topic, qos } = subscription
let subscribeSuccess = false
this.client.subscribe(topic, { qos }, (error, res) => {
if (error) {
subscribeSuccess = false
console.log('Subscribe to topics error', error)
} else {
subscribeSuccess = true
console.log('Subscribe to topics res', res)
}
})
return subscribeSuccess
}
// 取消订阅
doUnSubscribe(subscription) {
const { topic } = subscription
let unSubscribeSuccess = false
this.client.unsubscribe(topic, error => {
if (error) {
unSubscribeSuccess = false
console.log('Unsubscribe error', error)
} else {
unSubscribeSuccess = true
}
})
return unSubscribeSuccess
}
// 发送消息
doPublish(publish) {
const { topic, qos, payload } = publish
let doPublishSuccess = false
this.client.publish(topic, payload, qos, error => {
if (error) {
doPublishSuccess = false
console.log('Publish error', error)
} else {
doPublishSuccess = true
}
})
return doPublishSuccess
}
// 断开连接
destroyConnection() {
let destroyConnectionSuccess = false
if (this.client.connected) {
try {
this.client.end()
this.client = {
connected: false
}
destroyConnectionSuccess = true
console.log('Successfully disconnected!')
} catch (error) {
destroyConnectionSuccess = false
console.log('Disconnect failed', error.toString())
}
}
return destroyConnectionSuccess
}
}

View File

@@ -1,10 +1,34 @@
import axios from 'axios'
import { wsuri_config, name_config, name1_config, name3_config, name4_config, readFile_config, readImg_config, upload_config, upload2_config, upload3_config, uploadInvoiceScan_config, uploadInvoiceScan1_config,
download_config, uploadPerson_config, uploadOP_config, url_config, ExcelDownLoad_config, ServerIP_config, uploadFileMachine_config,
downloadFileMachine_config, MESUploadFile_config, MESDownloadFile_config, request_config, MESUploadFileProduct_config, MESUploadFileProject_config, MESUploadFileProcess_config } from '../../static/config'
import Cookies from 'js-cookie'
import store from '@/store'
const wsuri_config = `ws://192.168.1.27:61101//WebMoudule//websocket`
const name_config = `OP8888`
const name1_config = `OP1000`
const name3_config = `OP2000`
const name4_config = `OP9999`
const readFile_config = window.g.baseURL + `/webpage/file/` // invoice
const readImg_config = window.g.baseURL + `/webpage/img/` // delivery/MS/performancebond
const upload_config = window.g.baseURL + `/submit/uploadFile.ashx` // ContractInformationManagement
const upload2_config = window.g.baseURL + `/submit/upload2.ashx` // delivery
const upload3_config = window.g.baseURL + `/submit/upload3.ashx` // performancebond
const uploadInvoiceScan_config = window.g.baseURL + `/submit/uploadInvoiceScan.ashx` // invoice
const uploadInvoiceScan1_config = window.g.baseURL + `/submit/uploadInvoiceScan1.ashx` // invoice(workshop)
const download_config = window.g.baseURL + `/submit/downloadFile.ashx` // ContractInformationManagement
const uploadPerson_config = window.g.baseURL + `/submit/uploadPerson.ashx`
const uploadOP_config = window.g.baseURL + `/submit/uploadOP.ashx`
const url_config = window.g.baseURL + `/submit/MESCommonBase.ashx` // 采购件入库、离线件入库
const ExcelDownLoad_config = window.g.baseURL + '/submit/MESCommonBase.ashx' // 导出excel
const ServerIP_config = window.g.baseURL + `/webpage/file/`
const uploadFileMachine_config = window.g.baseURL + `/submit/uploadFileMachine.ashx` // 机床总图 发布时改成0.231
const downloadFileMachine_config = window.g.baseURL + `/submit/downloadFileMachine.ashx` // 机床总图 发布时改成0.231
const MESUploadFile_config = window.g.baseURL + `/submit/MESUploadFileParts.ashx`
const MESUploadFileProduct_config = window.g.baseURL + `/submit/MESUploadFileProduct.ashx`
const MESDownloadFile_config = window.g.baseURL + `/submit/MESDownloadFile.ashx`
const MESUploadFileProject_config = window.g.baseURL + `/submit/MESUploadFileProject.ashx`
const MESUploadFileProcess_config = window.g.baseURL + `/submit/MESUploadFileProcess.ashx`
const request_config = window.g.baseURL + `/submit/MESCommonBase.ashx`
export const wsuri = wsuri_config
export const name = name_config
export const name1 = name1_config
@@ -41,11 +65,7 @@ const service = axios.create({
service.interceptors.request.use(config => {
if (config.data.name !== '菜单系统模块_用户名密码_查询数据_new2' && config.data.name !== '菜单系统模块_获取角色模块_查询数据') {
const id = Cookies.get('id')
if (typeof (id) !== 'undefined') {
console.log(id, 123)
console.log(typeof (id))
} else {
console.log(456)
if (typeof (id) === 'undefined') {
store.dispatch('FedLogOut').then(() => {
location.reload() // 为了重新实例化vue-router对象 避免bug
alert('此账号登录失效,请重新登录')

View File

@@ -116,6 +116,22 @@ export function getNowTime1() {
const time = year + '-' + month + '-' + day + ' ' + hour + ':' + minute + ':' + second
return time
}
export function getNowTime3(date) {
const month = zeroFill2(date.getMonth() + 1)
const day = zeroFill(date.getDate())
return date.getFullYear() + '-' + month + '-' + day
}
function zeroFill2(i) {
if (i >= 0 && i <= 9) {
if (i === 0) {
return '01'
} else {
return '0' + i
}
} else {
return i
}
}
// 工时统计上个月26-本月25
export function getTime26() {
const date = new Date()

View File

@@ -11,6 +11,7 @@
</div>
<el-table ref="multipleTableLeft" :data="fisrtLevelFilter" stripe highlight-current-row size="mini" height="500" style="height:calc(100vh - 330px);" @selection-change="handleSelectionChangeLeft">
<el-table-column :selectable="selectable" align="center" type="selection" width="55"/>
<el-table-column type="index" align="center" width="60"/>
<el-table-column align="center" label="模块名称">
<template slot-scope="scope">
{{ scope.row.title }}
@@ -83,6 +84,7 @@
</div>
<el-table ref="multipleTableRight" :data="secondLevelFilter" stripe highlight-current-row size="mini" height="500" style="height:calc(100vh - 330px);" @selection-change="handleSelectionChangeRight">
<el-table-column :selectable="selectable" align="center" type="selection" width="55"/>
<el-table-column type="index" align="center" width="60"/>
<el-table-column align="center" label="模块名称">
<template slot-scope="scope">
{{ scope.row.title }}

View File

@@ -17,30 +17,28 @@
<el-button type="distribution" icon="el-icon-circle-plus-outline" size="small" @click="addPeople()">新增</el-button>
<el-button type="danger" icon="el-icon-circle-close-outline" size="small" plain @click="Quit()">离职</el-button>
<el-button type="text" size="small" style="float: right" plain @click="searchLeavingList">离职名单</el-button>
<el-button v-popover:popover4 :disabled="disabledMove" type="success" icon="el-icon-sort" size="small" plain @click="moveGroup">移动
</el-button>
<el-button v-popover:popover4 :disabled="disabledMove" type="success" icon="el-icon-sort" size="small" plain @click="moveGroup">移动</el-button>
<!--<el-button size="small" @click="postMaintain()">岗位维护</el-button>-->
<el-popover
ref="popover4"
width="178"
placement="right"
height="400"
placement="bottom"
trigger="click"
@hide="hide()">
<el-dropdown size="small" placement="bottom-start" style="margin-right: 0">
<el-dropdown size="small" placement="right-start" style="margin-right: 0">
<el-input
v-model="nodeName1"
:disabled="true"
size="small"
placeholder="请选择部门"/>
<el-button type="text" size="small" style="margin-left: 60px; margin-top: 15px" @click="moveGroupConfim">
确认
</el-button>
<el-button type="text" size="small" style="margin-left: 50px; margin-top: 15px" @click="moveGroupConfim">确认</el-button>
<el-dropdown-menu slot="dropdown">
<el-tree
ref="treeForm"
:data="departmentData"
:props="defaultProps"
style="width: 150px"
style="width: 200px;margin: 10px"
node-key="id"
accordion
@node-click="NodeClick"/>
@@ -76,11 +74,9 @@
<el-table
ref="multipleTable"
:data="List"
stripe
tooltip-effect="dark"
style="width: 100%"
height="650"
highlight-current-row
border
size="mini"
@selection-change="handleSelectionChange">
@@ -88,28 +84,28 @@
align="center"
type="selection"
width="50"/>
<el-table-column align="center" label="照片" width="50">
<template slot-scope="scope">
<el-popover
v-if="scope.row.文件标识 && scope.row.文件标识 !== 'null'"
placement="top-start"
width="200"
trigger="hover">
<el-button type="text" style="float:right" @click="deletePhoto(scope.row)">删除</el-button>
<el-image :src="scope.row.文件标识 && scope.row.文件标识 !== 'null' ? (readFile + scope.row.文件标识 + '.' + scope.row.文件后缀) : readFile + '123.jpg'">
<div slot="error" class="image-slot">
<i class="el-icon-picture-outline"/>
</div>
</el-image>
<el-image slot="reference" :src="scope.row.文件标识 && scope.row.文件标识 !== 'null' ? (readFile + scope.row.文件标识 + '.' + scope.row.文件后缀) : readFile + '123.jpg'" style="width:23px;">
<div slot="error" class="image-slot">
<i class="el-icon-picture-outline"/>
</div>
</el-image>
</el-popover>
<span v-else></span>
</template>
</el-table-column>
<!-- <el-table-column align="center" label="照片" width="50">-->
<!-- <template slot-scope="scope">-->
<!-- <el-popover-->
<!-- v-if="scope.row.文件标识 && scope.row.文件标识 !== 'null'"-->
<!-- placement="top-start"-->
<!-- width="200"-->
<!-- trigger="hover">-->
<!-- <el-button type="text" style="float:right" @click="deletePhoto(scope.row)">删除</el-button>-->
<!-- <el-image :src="scope.row.文件标识 && scope.row.文件标识 !== 'null' ? (readFile + scope.row.文件标识 + '.' + scope.row.文件后缀) : readFile + '123.jpg'">-->
<!-- <div slot="error" class="image-slot">-->
<!-- <i class="el-icon-picture-outline"/>-->
<!-- </div>-->
<!-- </el-image>-->
<!-- <el-image slot="reference" :src="scope.row.文件标识 && scope.row.文件标识 !== 'null' ? (readFile + scope.row.文件标识 + '.' + scope.row.文件后缀) : readFile + '123.jpg'" style="width:23px;">-->
<!-- <div slot="error" class="image-slot">-->
<!-- <i class="el-icon-picture-outline"/>-->
<!-- </div>-->
<!-- </el-image>-->
<!-- </el-popover>-->
<!-- <span v-else></span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column align="center" label="部门名称" width="100">
<template slot-scope="scope">
{{ scope.row.节点名称 }}
@@ -175,14 +171,14 @@
{{ scope.row.家庭住址 }}
</template>
</el-table-column>
<el-table-column label="操作" fixed="right" align="center" width="220">
<el-table-column label="操作" fixed="right" align="center" width="150">
<template slot-scope="scope">
<el-button
:disabled="scope.row.文件标识 && scope.row.文件标识 !== 'null'"
size="mini"
type="primary"
icon="el-icon-picture"
@click="handlePicture(scope.row)">上传图片</el-button>
<!-- <el-button-->
<!-- :disabled="scope.row.文件标识 && scope.row.文件标识 !== 'null'"-->
<!-- size="mini"-->
<!-- type="primary"-->
<!-- icon="el-icon-picture"-->
<!-- @click="handlePicture(scope.row)">上传图片</el-button>-->
<el-button
size="mini"
type="primary"
@@ -228,7 +224,7 @@
<el-form ref="people_form" :rules="rules" :model="people_form" label-position="left" label-width="110px" class="demo-ruleForm">
<el-row>
<el-col :span="12">
<el-form-item label="考勤编号" prop="AccountNumber">
<el-form-item label="号" prop="AccountNumber">
<el-input v-model="people_form.AccountNumber" size="small" style="width:200px"/>
</el-form-item>
</el-col>
@@ -342,7 +338,7 @@
{{ scope.row.节点名称 }}
</template>
</el-table-column>
<el-table-column align="center" label="考勤编号" width="100">
<el-table-column align="center" label="号" width="100">
<template slot-scope="scope">
{{ scope.row.考勤编号 }}
</template>
@@ -450,22 +446,29 @@ import { fetchteamviwer, moveGroups, getTree, tree, getTablePeople, getTablePeop
import { uploadPerson } from '@/utils/request'
import { readFile } from '@/utils/request'
import request from '@/utils/request'
import { isvalidUsername } from '@/utils/validate'
export default {
data() {
const checkIDCard = (rule, value, callback) => {
const IDCardReg = /^\d{6}(18|19|20)?\d{2}(0[1-9]|1[0-2])(([0-2][1-9])|10|20|30|31)\d{3}(\d|X|x)$/
// const sfzhReg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/
if (value) {
if (IDCardReg.test(value)) {
const validateUsername = (rule, value, callback) => {
if (!isvalidUsername(value)) {
callback(new Error('请输入4-5位工号'))
} else {
callback()
} else {
callback(new Error('身份证号格式不正确'))
}
} else {
callback(new Error('请输入身份证号'))
}
}
// const checkIDCard = (rule, value, callback) => {
// const IDCardReg = /^\d{6}(18|19|20)?\d{2}(0[1-9]|1[0-2])(([0-2][1-9])|10|20|30|31)\d{3}(\d|X|x)$/
// // const sfzhReg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/
// if (value) {
// if (IDCardReg.test(value)) {
// callback()
// } else {
// callback(new Error('身份证号格式不正确'))
// }
// } else {
// callback(new Error('请输入身份证号'))
// }
// }
return {
Team: [],
handleAdd_disable: false,
@@ -524,34 +527,35 @@ export default {
},
rules: {
Name: [{ required: true, message: '请输入', trigger: 'blur' }],
AccountNumber: [{ required: true, message: '请输入', trigger: 'blur' }],
Password: [{ required: true, message: '请输入', trigger: 'blur' }],
Sex: [{ required: true, message: '请输入', trigger: 'change' }],
Birthday: [{ required: true, message: '请输入', trigger: 'change' }],
IDcard: [{ required: true, message: '请输入', trigger: 'blur' }, {
validator: checkIDCard,
trigger: 'blur'
}],
TimeOfEntry: [{ required: true, message: '请输入', trigger: 'change' }],
ContactInformation: [{ required: true, message: '请输入', trigger: 'blur' }, { type: 'number',
message: '手机号格式不正确',
trigger: 'blur',
transform(value) {
var phonereg = 11 && /^((13|14|15|16|17|18|19)[0-9]{1}\d{8})$/
if (!phonereg.test(value)) {
return false
} else {
return Number(value)
}
}
}],
Address: [{ required: true, message: '请输入', trigger: 'change' }],
Nation: [{ required: true, message: '请输入', trigger: 'change' }],
ForeignLanguageLevel: [{ required: true, message: '请输入', trigger: 'change' }],
Title: [{ required: true, message: '请输入', trigger: 'change' }],
PositionStatus: [{ required: true, message: '请输入', trigger: 'change' }],
Education: [{ required: true, message: '请输入', trigger: 'change' }],
DepartmentName: [{ required: true, message: '请输入', trigger: 'blur' }]
// AccountNumber: [{ required: true, message: '请输入', trigger: 'blur' }],
AccountNumber: [{ required: true, trigger: 'blur', validator: validateUsername }],
Password: [{ required: true, message: '请输入', trigger: 'blur' }]
// Sex: [{ required: true, message: '请输入', trigger: 'change' }],
// Birthday: [{ required: true, message: '请输入', trigger: 'change' }],
// IDcard: [{ required: true, message: '请输入', trigger: 'blur' }, {
// validator: checkIDCard,
// trigger: 'blur'
// }],
// TimeOfEntry: [{ required: true, message: '请输入', trigger: 'change' }],
// ContactInformation: [{ required: true, message: '请输入', trigger: 'blur' }, { type: 'number',
// message: '手机号格式不正确',
// trigger: 'blur',
// transform(value) {
// var phonereg = 11 && /^((13|14|15|16|17|18|19)[0-9]{1}\d{8})$/
// if (!phonereg.test(value)) {
// return false
// } else {
// return Number(value)
// }
// }
// }],
// Address: [{ required: true, message: '请输入', trigger: 'change' }],
// Nation: [{ required: true, message: '请输入', trigger: 'change' }],
// ForeignLanguageLevel: [{ required: true, message: '请输入', trigger: 'change' }],
// Title: [{ required: true, message: '请输入', trigger: 'change' }],
// PositionStatus: [{ required: true, message: '请输入', trigger: 'change' }],
// Education: [{ required: true, message: '请输入', trigger: 'change' }],
// DepartmentName: [{ required: true, message: '请输入', trigger: 'blur' }]
},
SexData: [{
value: 1,

View File

@@ -3,7 +3,7 @@
<el-card class="topCard">
<div class="topDiv">
<span style="margin-left: 10px">工位号</span>
<el-select v-model="dataTypeValue" placeholder="工位号" clearable size="small" style="width:100px">
<el-select v-model="dataTypeValue" placeholder="工位号" clearable size="small" style="width:150px">
<el-option
v-for="item in dataType"
:key="item.value"
@@ -18,8 +18,8 @@
<!-- :label="item.label"-->
<!-- :value="item.value"/>-->
<!-- </el-select>-->
<el-button type="primary" plain size="small" icon="el-icon-search" style="margin-left: 5px" @click="pageSize=100;pageCurrent=1;searchTable()">查询</el-button>
<el-button type="success" plain icon="el-icon-document-copy" size="small" @click="copyData('form4')">复制</el-button>
<el-button type="primary" plain size="small" icon="el-icon-search" style="margin-left: 5px" @click="pageSize=50;pageCurrent=1;searchTable()">查询</el-button>
<!-- <el-button type="success" plain icon="el-icon-document-copy" size="small" @click="copyData('form4')">复制</el-button>-->
</div>
<el-table
v-loading="loading"
@@ -52,7 +52,7 @@
</el-table-column>
<el-table-column label="地址" align="center">
<template slot-scope="scope">
{{ scope.row.变量类型 }} {{ scope.row.变量地址 }}
{{ scope.row.DbName }}{{ scope.row.变量类型 }}{{ scope.row.变量地址 }} {{ scope.row.变量其它 }}
</template>
</el-table-column>
<!-- <el-table-column label="测量位置" align="center">-->
@@ -60,14 +60,14 @@
<!-- {{ scope.row.测量位置 }}-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column label="测量项目" align="center">
<el-table-column label="报警类型" align="center">
<template slot-scope="scope">
{{ scope.row.报警类型 }}
{{ scope.row.测量位置 }}
</template>
</el-table-column>
<el-table-column label="变量类型名称" width="300px" align="center">
<el-table-column label="报警内容" min-width="300px" align="center">
<template slot-scope="scope">
{{ scope.row.变量类型名称 }}
{{ scope.row.测量项目 }}
</template>
</el-table-column>
<el-table-column label="操作" width="100" align="center">
@@ -95,8 +95,8 @@
</el-card>
<el-dialog :visible.sync="dialogFormVisible" :title="title" center style="min-height: 200px;" width="400px">
<el-form ref="form" :model="form" :rules="rules" label-position="right" label-width="110px">
<el-form-item label="测量项目" prop="measurementItems" style="display: inline-block">
<el-select v-model="form.measurementItems" placeholder="IP" clearable size="small">
<el-form-item label="报警类型" prop="measurementItems" style="display: inline-block">
<el-select v-model="form.measurementItems" placeholder="IP" size="small">
<el-option
v-for="item in alarmType"
:key="item.value"
@@ -104,7 +104,7 @@
:value="item.value"/>
</el-select>
</el-form-item>
<el-form-item label="变量类型名称" prop="valueName" style="display: inline-block">
<el-form-item label="报警内容" prop="valueName" style="display: inline-block">
<el-input
v-model="form.valueName"
clearable
@@ -180,8 +180,8 @@ export default {
rules: { // 表单验证规则
},
total: 0, // 总条数
pageList: 100, // 每页显示条数
pageSize: 100, // 每页显示条数
pageList: 50, // 每页显示条数
pageSize: 50, // 每页显示条数
pageCurrent: 1 // 后台获取页
}
},
@@ -229,7 +229,7 @@ export default {
for (let i = 0; i < response.data.length; i++) {
this.alarmType.push({
label: response.data[i].报警类型,
value: response.data[i].ID
value: response.data[i].报警类型
})
}
}
@@ -266,9 +266,9 @@ export default {
this.$refs['form'].resetFields()
}
this.form.tagID = row.TagID
this.form.measurementItems = row.测量项目
this.form.measurementItems = row.测量位置
this.form.stationNo = row.工位号
this.form.valueName = row.变量类型名称
this.form.valueName = row.测量项目
this.title = '编辑'
this.dialogFormVisible = true
},

View File

@@ -18,18 +18,71 @@
:label="item.label"
:value="item.value"/>
</el-select>
<el-button type="primary" plain size="small" icon="el-icon-search" style="margin-left: 5px" @click="pageSize=100;pageCurrent=1;searchTable()">查询</el-button>
<span style="margin-left: 10px">是否启用</span>
<el-select v-model="valueUsedValue" placeholder="是否启用" clearable size="small" style="width:100px">
<el-option
v-for="item in valueUsed"
:key="item.value"
:label="item.label"
:value="item.value"/>
</el-select>
<span style="margin-left: 10px">是否监控</span>
<el-select v-model="valueMonitorValue" placeholder="是否监控" clearable size="small" style="width:100px">
<el-option
v-for="item in valueMonitor"
:key="item.value"
:label="item.label"
:value="item.value"/>
</el-select>
<el-button type="primary" plain size="small" icon="el-icon-search" style="margin-left: 5px" @click="pageSize=50;pageCurrent=1;searchTable()">查询</el-button>
</div>
<el-table
v-loading="loading"
:data="tableData"
:key="isUpdate"
highlight-current-row
border
size="mini"
height="740"
height="670"
center
style="width: 100%">
style="width: 100%"
@cell-dblclick="showEdit">
<el-table-column type="index" width="60" label="序号" align="center"/>
<el-table-column label="是否启用" align="center">
<template slot-scope="scope">
<el-switch
v-model="scope.row.是否启用_Value"
size="mini"
active-color="#13ce66"
inactive-color="#ff4949"
@change="switchChange($event, 1, scope.row)"/>
</template>
</el-table-column>
<el-table-column label="是否监控" align="center">
<template slot-scope="scope">
<el-switch
v-model="scope.row.是否监控_Value"
size="mini"
active-color="#13ce66"
inactive-color="#ff0000"
@change="switchChange($event, 2, scope.row)"/>
</template>
</el-table-column>
<el-table-column label="变量类型代码" align="center">
<template slot-scope="scope">
{{ scope.row.变量类型代码 }}
</template>
</el-table-column>
<el-table-column label="测量位置" align="center" min-width="200px">
<template slot-scope="scope">
{{ scope.row.测量位置 }}
</template>
</el-table-column>
<el-table-column label="测量项目" align="center" min-width="200px">
<template slot-scope="scope">
{{ scope.row.测量项目 }}
</template>
</el-table-column>
<el-table-column label="TagID" align="center">
<template slot-scope="scope">
{{ scope.row.TagID }}
@@ -50,7 +103,7 @@
{{ scope.row.数据来源 }}
</template>
</el-table-column>
<el-table-column label="IP" align="center">
<el-table-column label="IP" align="center" min-width="100">
<template slot-scope="scope">
{{ scope.row.IP }}
</template>
@@ -95,27 +148,12 @@
{{ scope.row.列位置 }}
</template>
</el-table-column>
<el-table-column label="测量位置" align="center">
<template slot-scope="scope">
{{ scope.row.测量位置 }}
</template>
</el-table-column>
<el-table-column label="测量项目" align="center">
<template slot-scope="scope">
{{ scope.row.测量项目 }}
</template>
</el-table-column>
<el-table-column label="测量单位" align="center">
<template slot-scope="scope">
{{ scope.row.测量单位 }}
</template>
</el-table-column>
<el-table-column label="变量类型代码" align="center">
<template slot-scope="scope">
{{ scope.row.变量类型代码 }}
</template>
</el-table-column>
<el-table-column label="变量类型名称" width="300px" align="center">
<el-table-column label="变量类型名称" min-width="300px" align="center">
<template slot-scope="scope">
{{ scope.row.变量类型名称 }}
</template>
@@ -135,12 +173,7 @@
{{ scope.row.TagAdrDemo }}
</template>
</el-table-column>
<el-table-column label="是否启用" align="center">
<template slot-scope="scope">
{{ scope.row.是否启用 }}
</template>
</el-table-column>
<el-table-column label="监控组" align="center">
<el-table-column label="监控组" align="center" min-width="120px">
<template slot-scope="scope">
{{ scope.row.监控组 }}
</template>
@@ -160,11 +193,6 @@
{{ scope.row.变量特点 }}
</template>
</el-table-column>
<el-table-column label="是否监控" align="center">
<template slot-scope="scope">
{{ scope.row.是否监控 }}
</template>
</el-table-column>
<el-table-column label="变量排序" align="center">
<template slot-scope="scope">
{{ scope.row.变量排序 }}
@@ -225,6 +253,23 @@
{{ scope.row.OpcServer_MIS }}
</template>
</el-table-column>
<el-table-column label="操作" fixed="right" width="150" align="center">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
plain
icon="el-icon-edit"
@click="editShiftTable(scope.row)">编辑</el-button>
<el-button
size="mini"
type="text"
plain
icon="el-icon-delete"
style="color: #ff0000"
@click="handleDelete(scope.row)">删除</el-button>
</template>
</el-table-column>
</el-table>
<div class="block" style="margin-top: 10px;">
<el-pagination
@@ -237,6 +282,28 @@
@size-change="handleSizeChange"
@current-change="handleCurrentChange"/>
</div>
<el-dialog :visible.sync="dialogFormVisible3" :title="title" center style="min-height: 200px" width="400px">
<el-form ref="form" :model="form" :rules="rules" label-position="right" label-width="110px">
<el-form-item label="原始值" prop="oldValue" style="display: inline-block">
<el-input
v-model="form.oldValue"
readonly
size="small"
placeholder="原始值"/>
</el-form-item>
<el-form-item label="修改值" prop="newValue" style="display: inline-block">
<el-input
v-model="form.newValue"
clearable
size="small"
placeholder="修改值"/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button size="small" @click="callOff('form')">取消</el-button>
<el-button type="primary" size="small" @click="submitAdd('form')">确定</el-button>
</div>
</el-dialog>
</el-card>
</div>
</template>
@@ -246,7 +313,22 @@ import request from '@/utils/request'
export default {
data() {
return {
form: {
tagID: '',
oldValue: '',
newValue: '',
filed: ''
},
rules: {
tagID: [{ required: true, message: '请输入tagID', trigger: 'blur' }],
oldValue: [{ required: true, message: '请输入oldValue', trigger: 'blur' }],
newValue: [{ required: true, message: '请输入newValue', trigger: 'blur' }],
filed: [{ required: true, message: '请输入filed', trigger: 'blur' }]
},
title: '',
dialogFormVisible3: false,
loading: false,
isUpdate: false,
tableData: [],
dataType: [], // 工位数组
dataTypeValue: '', // 工位信息
@@ -262,16 +344,36 @@ export default {
value: 7
}
],
valueUsed: [
{
label: '启用',
value: 1
}, {
label: '禁用',
value: 0
}
],
valueMonitor: [
{
label: '监控',
value: 1
}, {
label: '不监控',
value: 0
}
],
valueTypeValue: '',
valueUsedValue: 1,
valueMonitorValue: '',
total: 0, // 总条数
pageList: 100, // 每页显示条数
pageSize: 100, // 每页显示条数
pageSize: 50, // 每页显示条数
pageCurrent: 1 // 后台获取页
}
},
created() {
this.getNumber()
this.searchTable()
// this.searchTable()
},
methods: {
// 初始化获取产品型号
@@ -298,29 +400,114 @@ export default {
searchTable() {
this.loading = true
this.tableData = []
let stationNumberValue_check, valueType_check
let stationNumberValue_check, valueType_check, valueUsed_check, monitor_check
// this.engineTypeValue ? engineTypeValue_check = 1 : (engineTypeValue_check = 0, this.engineTypeValue = '')
this.dataTypeValue ? stationNumberValue_check = 1 : (stationNumberValue_check = 0, this.dataTypeValue = '')
this.valueTypeValue ? valueType_check = 1 : (valueType_check = 0, this.valueTypeValue = '')
this.dataTypeValue ? stationNumberValue_check = 1 : stationNumberValue_check = 0
this.valueTypeValue ? valueType_check = 1 : valueType_check = 0
this.valueUsedValue !== 0 && this.valueUsedValue !== 1 ? valueUsed_check = 0 : valueUsed_check = 1
this.valueMonitorValue !== 0 && this.valueMonitorValue !== 1 ? monitor_check = 0 : monitor_check = 1
var param = []
param[0] = ['变量类型_ischeck', valueType_check]
param[1] = ['变量类型', this.valueTypeValue]
param[2] = ['工位号_ischeck', stationNumberValue_check]
param[3] = ['工位号', this.dataTypeValue]
param[4] = ['PageCurrent', this.pageCurrent]
param[5] = ['PageSize', this.pageSize]
param[6] = ['PageCount', '1111', 'int', '1']
param[7] = ['ItemCount', '1111', 'int', '1']
param[4] = ['启用_ischeck', valueUsed_check]
param[5] = ['启用', this.valueUsedValue]
param[6] = ['监控_ischeck', monitor_check]
param[7] = ['监控', this.valueMonitorValue]
param[8] = ['PageCurrent', this.pageCurrent]
param[9] = ['PageSize', this.pageSize]
param[10] = ['PageCount', '1111', 'int', '1']
param[11] = ['ItemCount', '1111', 'int', '1']
var Data = this.CreateData('11', 'MES_基本变量_查询数据', param)
this.ExecDatabase(Data).then(response => {
console.log(response, 66)
if (response.data.result.length !== 0) {
this.tableData = response.data.result
}
for (const valueUsedCheckElement of this.tableData) {
valueUsedCheckElement['是否启用_Value'] = !!parseInt(valueUsedCheckElement['是否启用'])
valueUsedCheckElement['是否监控_Value'] = !!parseInt(valueUsedCheckElement['是否监控'])
}
this.total = parseInt(response.data.output[0].ItemCount)
this.loading = false
})
},
searchTableAfterEdit(tagID) {
var param = []
param[0] = ['TagId', tagID]
var Data = this.CreateData('11', 'MES_基本变量_查询数据_TagId', param)
this.ExecDatabase(Data).then(response => {
if (response.data.length !== 0) {
for (let i = 0; i < this.tableData.length; i++) {
if (this.tableData[i]['TagID'] === tagID) {
response.data[0]['是否启用_Value'] = !!parseInt(response.data[0]['是否启用'])
response.data[0]['是否监控_Value'] = !!parseInt(response.data[0]['是否监控'])
console.log(response.data[0])
this.$set(this.tableData, i, response.data[0])
// this.tableData[i] = response.data[0]
return
}
}
}
this.isUpdate = !this.isUpdate
})
},
editShiftTable(row) {},
handleDelete(row) {},
switchChange(status, type, row) {
var param = []
param[0] = ['Value_type', parseInt(type)]
param[1] = ['Value_edit', status ? 1 : 0]
param[2] = ['TagID', row.TagID]
var Data = this.CreateData('12', 'MES_基本变量_启用与监控编辑', param)
this.ExecDatabase(Data).then(response => {
if (response.data[0].result === '1') {
this.$message({
message: '修改成功',
type: 'success'
})
this.searchTableAfterEdit(row.TagID)
} else {
this.$message.error('修改失败!')
}
})
},
showEdit(row, column, cell, event) {
console.log(row, column, cell, event)
this.title = `${column.label}】 修改信息`
this.form.filed = column.label
this.form.oldValue = row[column.label]
this.form.tagID = row.TagID
this.form.newValue = ''
this.dialogFormVisible3 = true
},
submitAdd() {
var param = []
param[0] = ['newValue', this.form.newValue]
param[1] = ['filed', this.form.filed]
param[2] = ['TagID', this.form.tagID]
var Data = this.CreateData('12', 'MES_基本变量_字段信息_编辑', param)
this.ExecDatabase(Data).then(response => {
if (response.data[0].result === '1') {
this.$message({
message: '修改成功',
type: 'success'
})
this.searchTableAfterEdit(this.form.tagID)
this.dialogFormVisible3 = false
} else {
this.$message.error('修改失败!')
}
})
},
callOff() {
this.title = ''
this.form.filed = ''
this.form.oldValue = ''
this.form.tagID = ''
this.form.newValue = ''
this.dialogFormVisible3 = false
},
// 分页
handleSizeChange(val) {
this.pageCurrent = 1

View File

@@ -46,6 +46,13 @@
</template>
</template>
</el-table-column>
<el-table-column label="工位名称" min-width="220px" align="center">
<template slot-scope="scope">
<template>
{{ scope.row.工位名称 }}
</template>
</template>
</el-table-column>
<el-table-column disabled label="机床类型" align="center">
<template slot-scope="scope">
<template>
@@ -472,6 +479,7 @@
type="text"
plain
icon="el-icon-delete"
style="color: #ff0000"
@click="handleDelete(scope.row)">删除</el-button>
</template>
</el-table-column>
@@ -521,7 +529,7 @@
<el-input v-model="formData.ipIndustrialComputer" clearable size="small" placeholder="工控机IP"/>
</el-form-item>
<el-form-item label="通讯端口" prop="communicationPort" style="display: inline-block">
<el-input v-model="formData.communicationPort" clearable size="small" placeholder="通讯端口"/>
<el-input-number v-model="formData.communicationPort" :min="1" :max="65534" :step="1" clearable size="small" placeholder="通讯端口"/>
</el-form-item>
<el-form-item label="文件名称" prop="fileName" style="display: inline-block">
<el-input v-model="formData.fileName" clearable size="small" placeholder="文件名称"/>
@@ -1179,7 +1187,6 @@ export default {
param[63] = ['IP', this.formData.IP]
param[64] = ['报警数', this.formData.numberAlarms]
param[65] = ['质量组数', this.formData.numberQualityGroups]
console.log(param, 'param')
var Data = this.CreateData('12', '基础数据_工位信息维护_增加', param)
this.ExecDatabase(Data).then(response => {
console.log(response)

View File

@@ -2,7 +2,7 @@
<div class="app-container">
<el-card>
<div>
<span style="line-height: 25px">设备对应点检类型维护</span>
<span style="line-height: 25px;font-size: 20px">设备对应点检类型维护</span>
<!-- <div style="float: right;margin: 5px">-->
<!-- <el-select v-model="OPnameValue" filterable size="small" placeholder="工位号" style="width: 110px">-->
<!-- <el-option-->
@@ -23,16 +23,11 @@
{{ scope.row.工位号 }}
</template>
</el-table-column>
<!-- <el-table-column align="center" label="设备名称" min-width="150">-->
<!-- <template slot-scope="scope">-->
<!-- {{ scope.row.设备名称 }}-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column align="center" label="设备编号" show-overflow-tooltip min-width="200">-->
<!-- <template slot-scope="scope">-->
<!-- {{ scope.row.设备编号 }}-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column align="center" label="工位名称">
<template slot-scope="scope">
{{ scope.row.工位名称 }}
</template>
</el-table-column>
<el-table-column align="center" label="点检表类型" min-width="150">
<template slot-scope="scope">
<el-select v-model="tableData1[scope.$index].点检表类型流水号" filterable size="small" placeholder="点检表类型" style="margin:3px 10px;width: 150px" @change="editType(scope.row)">
@@ -44,9 +39,14 @@
</el-select>
</template>
</el-table-column>
<el-table-column align="center" label="操作时间" show-overflow-tooltip min-width="200">
<el-table-column align="center" label="点检指导图片" show-overflow-tooltip min-width="200">
<template slot-scope="scope">
{{ scope.row.操作时间 }}
<el-image :src="scope.row.点检图片url" :preview-src-list="[scope.row.点检图片url]" style="width: 50px; height: 50px"/>
</template>
</el-table-column>
<el-table-column align="center" label="操作" width="120">
<template slot-scope="scope">
<el-button type="text" size="mini" icon="el-icon-edit" @click="uploadShow(scope.row)"/>
</template>
</el-table-column>
</el-table>
@@ -119,275 +119,30 @@
</el-table>
</el-col>
</el-card>
<el-card v-show="false" style="width: 1565px">
<div id="dianjianbiao">
<div style="width: 1541px;font-size: 28px;font-weight: bold;text-align: center;">设备保养点检记录表</div>
<div>
<span style="font-size: 20px;margin-left: 50px">设备名称</span>
<span style="font-size: 20px">{{ 设备名称 }}</span>
<span style="font-size: 20px;margin-left: 50px">设备编号</span>
<span style="font-size: 20px">{{ 设备编号 }}</span>
<el-dialog v-el-drag-dialog :visible.sync="dialogFormVisible" title="上传图片" center style="height: 800px" width="17%">
<el-upload
id="invoiceScan"
ref="upload"
:on-remove="handelLimitStyle"
:on-change="handelLimit"
:multiple="true"
:auto-upload="false"
:on-success="uploadSuccess"
:on-preview="handlePictureCardPreview"
:before-upload="beforeUpload"
:on-exceed="warningExceed"
:limit="limit"
:data="Data"
:action="upload"
style="margin-left: 60px"
list-type="picture-card">
<i class="el-icon-plus"/>
</el-upload>
<div slot="footer" class="dialog-footer">
<el-button @click="dialogFormVisible=false">取消</el-button>
<el-button type="primary" style="width: 70px" @click="submitPicture()">确定</el-button>
</div>
<el-table :data="tableData" :resizable="false" style="margin: 5px 0 0 0;width: 1541px" border>
<el-table-column :resizable="false" align="center" label="项次" type="index" width="50"/>
<el-table-column :resizable="false" align="center" label="日保养项目" width="250">
<template slot-scope="scope">
{{ scope.row.保养项目 }}
</template>
</el-table-column>
<el-table-column :resizable="false" align="center" label="1" width="40">
<template slot-scope="scope">
<span v-if="scope.row.F1===1">V</span>
<span v-if="scope.row.F1===2">R</span>
<span v-if="scope.row.F1===3">X</span>
</template>
</el-table-column>
<el-table-column :resizable="false" align="center" label="2" width="40">
<template slot-scope="scope">
<span v-if="scope.row.F2===1">V</span>
<span v-if="scope.row.F2===2">R</span>
<span v-if="scope.row.F2===3">X</span>
</template>
</el-table-column>
<el-table-column :resizable="false" align="center" label="3" width="40">
<template slot-scope="scope">
<span v-if="scope.row.F3===1">V</span>
<span v-if="scope.row.F3===2">R</span>
<span v-if="scope.row.F3===3">X</span>
</template>
</el-table-column>
<el-table-column :resizable="false" align="center" label="4" width="40">
<template slot-scope="scope">
<span v-if="scope.row.F4===1">V</span>
<span v-if="scope.row.F4===2">R</span>
<span v-if="scope.row.F4===3">X</span>
</template>
</el-table-column>
<el-table-column :resizable="false" align="center" label="5" width="40">
<template slot-scope="scope">
<span v-if="scope.row.F5===1">V</span>
<span v-if="scope.row.F5===2">R</span>
<span v-if="scope.row.F5===3">X</span>
</template>
</el-table-column>
<el-table-column :resizable="false" align="center" label="6" width="40">
<template slot-scope="scope">
<span v-if="scope.row.F6===1">V</span>
<span v-if="scope.row.F6===2">R</span>
<span v-if="scope.row.F6===3">X</span>
</template>
</el-table-column>
<el-table-column :resizable="false" align="center" label="7" width="40">
<template slot-scope="scope">
<span v-if="scope.row.F7===1">V</span>
<span v-if="scope.row.F7===2">R</span>
<span v-if="scope.row.F7===3">X</span>
</template>
</el-table-column>
<el-table-column :resizable="false" align="center" label="8" width="40">
<template slot-scope="scope">
<span v-if="scope.row.F8===1">V</span>
<span v-if="scope.row.F8===2">R</span>
<span v-if="scope.row.F8===3">X</span>
</template>
</el-table-column>
<el-table-column :resizable="false" align="center" label="9" width="40">
<template slot-scope="scope">
<span v-if="scope.row.F9===1">V</span>
<span v-if="scope.row.F9===2">R</span>
<span v-if="scope.row.F9===3">X</span>
</template>
</el-table-column>
<el-table-column :resizable="false" align="center" label="10" width="40">
<template slot-scope="scope">
<span v-if="scope.row.F10===1">V</span>
<span v-if="scope.row.F10===2">R</span>
<span v-if="scope.row.F10===3">X</span>
</template>
</el-table-column>
<el-table-column :resizable="false" align="center" label="11" width="40">
<template slot-scope="scope">
<span v-if="scope.row.F11===1">V</span>
<span v-if="scope.row.F11===2">R</span>
<span v-if="scope.row.F11===3">X</span>
</template>
</el-table-column>
<el-table-column :resizable="false" align="center" label="12" width="40">
<template slot-scope="scope">
<span v-if="scope.row.F12===1">V</span>
<span v-if="scope.row.F12===2">R</span>
<span v-if="scope.row.F12===3">X</span>
</template>
</el-table-column>
<el-table-column :resizable="false" align="center" label="13" width="40">
<template slot-scope="scope">
<span v-if="scope.row.F13===1">V</span>
<span v-if="scope.row.F13===2">R</span>
<span v-if="scope.row.F13===3">X</span>
</template>
</el-table-column>
<el-table-column :resizable="false" align="center" label="14" width="40">
<template slot-scope="scope">
<span v-if="scope.row.F14===1">V</span>
<span v-if="scope.row.F14===2">R</span>
<span v-if="scope.row.F14===3">X</span>
</template>
</el-table-column>
<el-table-column :resizable="false" align="center" label="15" width="40">
<template slot-scope="scope">
<span v-if="scope.row.F15===1">V</span>
<span v-if="scope.row.F15===2">R</span>
<span v-if="scope.row.F15===3">X</span>
</template>
</el-table-column>
<el-table-column :resizable="false" align="center" label="16" width="40">
<template slot-scope="scope">
<span v-if="scope.row.F16===1">V</span>
<span v-if="scope.row.F16===2">R</span>
<span v-if="scope.row.F16===3">X</span>
</template>
</el-table-column>
<el-table-column :resizable="false" align="center" label="17" width="40">
<template slot-scope="scope">
<span v-if="scope.row.F17===1">V</span>
<span v-if="scope.row.F17===2">R</span>
<span v-if="scope.row.F17===3">X</span>
</template>
</el-table-column>
<el-table-column :resizable="false" align="center" label="18" width="40">
<template slot-scope="scope">
<span v-if="scope.row.F18===1">V</span>
<span v-if="scope.row.F18===2">R</span>
<span v-if="scope.row.F18===3">X</span>
</template>
</el-table-column>
<el-table-column :resizable="false" align="center" label="19" width="40">
<template slot-scope="scope">
<span v-if="scope.row.F19===1">V</span>
<span v-if="scope.row.F19===2">R</span>
<span v-if="scope.row.F19===3">X</span>
</template>
</el-table-column>
<el-table-column :resizable="false" align="center" label="20" width="40">
<template slot-scope="scope">
<span v-if="scope.row.F20===1">V</span>
<span v-if="scope.row.F20===2">R</span>
<span v-if="scope.row.F20===3">X</span>
</template>
</el-table-column>
<el-table-column :resizable="false" align="center" label="21" width="40">
<template slot-scope="scope">
<span v-if="scope.row.F21===1">V</span>
<span v-if="scope.row.F21===2">R</span>
<span v-if="scope.row.F21===3">X</span>
</template>
</el-table-column>
<el-table-column :resizable="false" align="center" label="21" width="40">
<template slot-scope="scope">
<span v-if="scope.row.F21===1">V</span>
<span v-if="scope.row.F21===2">R</span>
<span v-if="scope.row.F21===3">X</span>
</template>
</el-table-column>
<el-table-column :resizable="false" align="center" label="23" width="40">
<template slot-scope="scope">
<span v-if="scope.row.F23===1">V</span>
<span v-if="scope.row.F23===2">R</span>
<span v-if="scope.row.F23===3">X</span>
</template>
</el-table-column>
<el-table-column :resizable="false" align="center" label="24" width="40">
<template slot-scope="scope">
<span v-if="scope.row.F24===1">V</span>
<span v-if="scope.row.F24===2">R</span>
<span v-if="scope.row.F24===3">X</span>
</template>
</el-table-column>
<el-table-column :resizable="false" align="center" label="25" width="40">
<template slot-scope="scope">
<span v-if="scope.row.F25===1">V</span>
<span v-if="scope.row.F25===2">R</span>
<span v-if="scope.row.F25===3">X</span>
</template>
</el-table-column>
<el-table-column :resizable="false" align="center" label="26" width="40">
<template slot-scope="scope">
<span v-if="scope.row.F26===1">V</span>
<span v-if="scope.row.F26===2">R</span>
<span v-if="scope.row.F26===3">X</span>
</template>
</el-table-column>
<el-table-column :resizable="false" align="center" label="27" width="40">
<template slot-scope="scope">
<span v-if="scope.row.F27===1">V</span>
<span v-if="scope.row.F27===2">R</span>
<span v-if="scope.row.F27===3">X</span>
</template>
</el-table-column>
<el-table-column :resizable="false" align="center" label="28" width="40">
<template slot-scope="scope">
<span v-if="scope.row.F28===1">V</span>
<span v-if="scope.row.F28===2">R</span>
<span v-if="scope.row.F28===3">X</span>
</template>
</el-table-column>
<el-table-column :resizable="false" align="center" label="29" width="40">
<template slot-scope="scope">
<span v-if="scope.row.F29===1">V</span>
<span v-if="scope.row.F29===2">R</span>
<span v-if="scope.row.F29===3">X</span>
</template>
</el-table-column>
<el-table-column :resizable="false" align="center" label="30" width="40">
<template slot-scope="scope">
<span v-if="scope.row.F30===1">V</span>
<span v-if="scope.row.F30===2">R</span>
<span v-if="scope.row.F30===3">X</span>
</template>
</el-table-column>
<el-table-column :resizable="false" align="center" label="31" width="40">
<template slot-scope="scope">
<span v-if="scope.row.F31===1">V</span>
<span v-if="scope.row.F31===2">R</span>
<span v-if="scope.row.F31===3">X</span>
</template>
</el-table-column>
</el-table>
<div style="width: 300px;height: 80px;border: 1px solid rgb(235,238,245);float: left;text-align: center;line-height: 80px;"> 操作工</div>
<div style="width: 40px;height: 80px;border: 1px solid rgb(235,238,245);float: left;text-align: center;line-height: 40px;-webkit-writing-mode: vertical-rl;">{{ tableData[0] ? tableData[0].姓名1 : '' }}</div>
<div style="width: 40px;height: 80px;border: 1px solid rgb(235,238,245);float: left;text-align: center;line-height: 40px;-webkit-writing-mode: vertical-rl;">{{ tableData[0] ? tableData[0].姓名2 : '' }}</div>
<div style="width: 40px;height: 80px;border: 1px solid rgb(235,238,245);float: left;text-align: center;line-height: 40px;-webkit-writing-mode: vertical-rl;">{{ tableData[0] ? tableData[0].姓名3 : '' }}</div>
<div style="width: 40px;height: 80px;border: 1px solid rgb(235,238,245);float: left;text-align: center;line-height: 40px;-webkit-writing-mode: vertical-rl;">{{ tableData[0] ? tableData[0].姓名4 : '' }}</div>
<div style="width: 40px;height: 80px;border: 1px solid rgb(235,238,245);float: left;text-align: center;line-height: 40px;-webkit-writing-mode: vertical-rl;">{{ tableData[0] ? tableData[0].姓名5 : '' }}</div>
<div style="width: 40px;height: 80px;border: 1px solid rgb(235,238,245);float: left;text-align: center;line-height: 40px;-webkit-writing-mode: vertical-rl;">{{ tableData[0] ? tableData[0].姓名6 : '' }}</div>
<div style="width: 40px;height: 80px;border: 1px solid rgb(235,238,245);float: left;text-align: center;line-height: 40px;-webkit-writing-mode: vertical-rl;">{{ tableData[0] ? tableData[0].姓名7 : '' }}</div>
<div style="width: 40px;height: 80px;border: 1px solid rgb(235,238,245);float: left;text-align: center;line-height: 40px;-webkit-writing-mode: vertical-rl;">{{ tableData[0] ? tableData[0].姓名8 : '' }}</div>
<div style="width: 40px;height: 80px;border: 1px solid rgb(235,238,245);float: left;text-align: center;line-height: 40px;-webkit-writing-mode: vertical-rl;">{{ tableData[0] ? tableData[0].姓名9 : '' }}</div>
<div style="width: 40px;height: 80px;border: 1px solid rgb(235,238,245);float: left;text-align: center;line-height: 40px;-webkit-writing-mode: vertical-rl;">{{ tableData[0] ? tableData[0].姓名10 : '' }}</div>
<div style="width: 40px;height: 80px;border: 1px solid rgb(235,238,245);float: left;text-align: center;line-height: 40px;-webkit-writing-mode: vertical-rl;">{{ tableData[0] ? tableData[0].姓名11 : '' }}</div>
<div style="width: 40px;height: 80px;border: 1px solid rgb(235,238,245);float: left;text-align: center;line-height: 40px;-webkit-writing-mode: vertical-rl;">{{ tableData[0] ? tableData[0].姓名12 : '' }}</div>
<div style="width: 40px;height: 80px;border: 1px solid rgb(235,238,245);float: left;text-align: center;line-height: 40px;-webkit-writing-mode: vertical-rl;">{{ tableData[0] ? tableData[0].姓名13 : '' }}</div>
<div style="width: 40px;height: 80px;border: 1px solid rgb(235,238,245);float: left;text-align: center;line-height: 40px;-webkit-writing-mode: vertical-rl;">{{ tableData[0] ? tableData[0].姓名14 : '' }}</div>
<div style="width: 40px;height: 80px;border: 1px solid rgb(235,238,245);float: left;text-align: center;line-height: 40px;-webkit-writing-mode: vertical-rl;">{{ tableData[0] ? tableData[0].姓名15 : '' }}</div>
<div style="width: 40px;height: 80px;border: 1px solid rgb(235,238,245);float: left;text-align: center;line-height: 40px;-webkit-writing-mode: vertical-rl;">{{ tableData[0] ? tableData[0].姓名16 : '' }}</div>
<div style="width: 40px;height: 80px;border: 1px solid rgb(235,238,245);float: left;text-align: center;line-height: 40px;-webkit-writing-mode: vertical-rl;">{{ tableData[0] ? tableData[0].姓名17 : '' }}</div>
<div style="width: 40px;height: 80px;border: 1px solid rgb(235,238,245);float: left;text-align: center;line-height: 40px;-webkit-writing-mode: vertical-rl;">{{ tableData[0] ? tableData[0].姓名18 : '' }}</div>
<div style="width: 40px;height: 80px;border: 1px solid rgb(235,238,245);float: left;text-align: center;line-height: 40px;-webkit-writing-mode: vertical-rl;">{{ tableData[0] ? tableData[0].姓名19 : '' }}</div>
<div style="width: 40px;height: 80px;border: 1px solid rgb(235,238,245);float: left;text-align: center;line-height: 40px;-webkit-writing-mode: vertical-rl;">{{ tableData[0] ? tableData[0].姓名20 : '' }}</div>
<div style="width: 40px;height: 80px;border: 1px solid rgb(235,238,245);float: left;text-align: center;line-height: 40px;-webkit-writing-mode: vertical-rl;">{{ tableData[0] ? tableData[0].姓名21 : '' }}</div>
<div style="width: 40px;height: 80px;border: 1px solid rgb(235,238,245);float: left;text-align: center;line-height: 40px;-webkit-writing-mode: vertical-rl;">{{ tableData[0] ? tableData[0].姓名22 : '' }}</div>
<div style="width: 40px;height: 80px;border: 1px solid rgb(235,238,245);float: left;text-align: center;line-height: 40px;-webkit-writing-mode: vertical-rl;">{{ tableData[0] ? tableData[0].姓名23 : '' }}</div>
<div style="width: 40px;height: 80px;border: 1px solid rgb(235,238,245);float: left;text-align: center;line-height: 40px;-webkit-writing-mode: vertical-rl;">{{ tableData[0] ? tableData[0].姓名24 : '' }}</div>
<div style="width: 40px;height: 80px;border: 1px solid rgb(235,238,245);float: left;text-align: center;line-height: 40px;-webkit-writing-mode: vertical-rl;">{{ tableData[0] ? tableData[0].姓名25 : '' }}</div>
<div style="width: 40px;height: 80px;border: 1px solid rgb(235,238,245);float: left;text-align: center;line-height: 40px;-webkit-writing-mode: vertical-rl;">{{ tableData[0] ? tableData[0].姓名26 : '' }}</div>
<div style="width: 40px;height: 80px;border: 1px solid rgb(235,238,245);float: left;text-align: center;line-height: 40px;-webkit-writing-mode: vertical-rl;">{{ tableData[0] ? tableData[0].姓名27 : '' }}</div>
<div style="width: 40px;height: 80px;border: 1px solid rgb(235,238,245);float: left;text-align: center;line-height: 40px;-webkit-writing-mode: vertical-rl;">{{ tableData[0] ? tableData[0].姓名28 : '' }}</div>
<div style="width: 40px;height: 80px;border: 1px solid rgb(235,238,245);float: left;text-align: center;line-height: 40px;-webkit-writing-mode: vertical-rl;">{{ tableData[0] ? tableData[0].姓名29 : '' }}</div>
<div style="width: 40px;height: 80px;border: 1px solid rgb(235,238,245);float: left;text-align: center;line-height: 40px;-webkit-writing-mode: vertical-rl;">{{ tableData[0] ? tableData[0].姓名30 : '' }}</div>
<div style="width: 40px;height: 80px;border: 1px solid rgb(235,238,245);float: left;text-align: center;line-height: 40px;-webkit-writing-mode: vertical-rl;">{{ tableData[0] ? tableData[0].姓名31 : '' }}</div>
</div>
</el-card>
</el-dialog>
<el-dialog :visible.sync="dialogFormVisible1" title="新增" center width="500px">
<el-form ref="form1" :model="form1" :rules="rules" label-position="right" label-width="160px">
<el-form-item label="点检类型名称" prop="点检类型名称">
@@ -425,10 +180,14 @@
<script>
import { getTableData1, getTableData2, getTableData3, editType, confirmEdit1, confirmEdit2, selectCount, openDelete1, openDelete2, submit1, submit2, exportOut } from '@/api/ManufacturingCenter/maintainInformation'
import $ from 'jquery'
import { url } from '@/utils/request'
export default {
data() {
return {
opCode: '',
limit: 1,
Data: {},
upload: url,
点检表类型: [],
tableData1: [],
loading1: false,
@@ -456,6 +215,7 @@ export default {
form1: {
点检类型名称: ''
},
dialogFormVisible: false,
dialogFormVisible1: false,
form2: {
保养项目: '',
@@ -498,6 +258,11 @@ export default {
this.tableData1 = []
this.loading1 = true
getTableData1().then(response => {
for (let i = 0; i < response.data.length; i++) {
if (response.data[i]['点检图片']) {
response.data[i]['点检图片url'] = 'data:image/png;base64,' + response.data[i]['点检图片']
}
}
this.tableData1 = response.data
this.loading1 = false
})
@@ -748,6 +513,66 @@ export default {
body.children().not('script').show()
body.children().not('#app').hide()
printNode.remove()
},
uploadShow(row) {
this.opCode = row.工位号
this.dialogFormVisible = true
},
handelLimit() {
var obj = document.getElementsByClassName('el-upload--picture-card')
if (obj[0].style.display === '') {
for (var i = 0; i < obj.length; i++) {
obj[i].style.display = 'none'
}
}
},
handelLimitStyle() {
var obj = document.getElementsByClassName('el-upload--picture-card')
if (obj[0].style.display === 'none') {
for (var i = 0; i < obj.length; i++) {
obj[i].style.display = 'block'
}
}
},
warningExceed() {
this.$message.error('仅可上传一张照片')
},
beforeUpload(file) { // 上传前检测
const isJPG = /^image\/.*/.test(file.type)
if (!isJPG) {
this.$message.error('只能上传图片。。')
}
return isJPG
},
uploadSuccess(res) { // 上传成功回调
this.dialogFormVisible = false
this.$refs.upload.clearFiles()
var obj = document.getElementsByClassName('el-upload--picture-card')
if (obj[0].style.display === 'none') {
for (var i = 0; i < obj.length; i++) {
obj[i].style.display = 'block'
}
}
this.getTableData1()
},
handlePictureCardPreview(file) {
this.dialogImageUrl = file.url
this.dialogVisiblePictureCard = true
},
submitPicture() {
var param = []
param[0] = ['工位号', this.opCode]
param[1] = ['文件名称', '']
param[2] = ['文件后缀', '']
param[3] = ['文件内容', null]
var Data1 = this.CreateData('15', '基础数据_设备工位点检表图片_保存图片', param)
this.Data.param = Data1
this.$refs.upload.submit()
this.dialogFormVisible = false
},
callOff() {
this.dialogFormVisible = false
this.$refs['form'].resetFields()
}
}
}

View File

@@ -0,0 +1,680 @@
<!--操作者工号-->
<template>
<div class="app-container">
<el-card class="topCard">
<div class="topDiv">
<span style="margin-left: 10px">基本机型</span>
<el-select
v-model="bigEngine"
placeholder="请选择基本机型"
clearable
filterable
size="small"
style="width: 200px; margin-left: 13px"
@change="selectBigEngine">
<el-option
v-for="item in bigEngineList"
:key="item.value"
:label="item.label"
:value="item.value"
size="mini" />
</el-select>
<span style="margin-left: 10px">总成号</span>
<el-select
v-model="smallEngine"
placeholder="请选择总成号"
clearable
filterable
size="small"
style="width: 200px; margin-left: 13px">
<el-option
v-for="item in smallEngineList"
:key="item.value"
:label="item.label"
:value="item.value"
size="mini" />
</el-select>
<span style="margin-left: 10px">工位号</span>
<el-select
v-model="stationNumberValue"
placeholder="请选择工位号"
clearable
filterable
size="small"
style="width: 200px; margin-left: 13px">
<el-option
v-for="item in stationNumber"
:key="item.value"
:label="item.label"
:value="item.value"
size="mini" />
</el-select>
<span style="margin-left: 10px">零件号</span>
<el-input
v-model="partId"
clearable
size="small"
placeholder="请输入零件号"/>
<span style="margin-left: 10px">零件名称</span>
<el-input
v-model="partName"
clearable
size="small"
placeholder="请输入零件名称"/>
<br>
<br>
<el-button
type="primary"
plain
size="small"
icon="el-icon-search"
style="margin-left: 5px"
@click="pageSize = 30; pageCurrent = 1; searchOrder()">查询</el-button>
<el-button
type="primary"
plain
size="small"
icon="el-icon-circle-plus-outline"
style="margin-left: 5px"
@click="addInformation()">新增</el-button>
<el-button
type="success"
size="small"
plain
icon="el-icon-document-copy"
@click="copyBOM('form1')">总成号拷贝</el-button>
<el-button type="info" size="small" icon="el-icon-download" @click="exportExcel()">Excel</el-button>
</div>
<el-table
v-loading="loading"
ref="multipleTable"
:data="tableData"
:header-cell-style="{ background: '#eef1f6', color: '#606266' }"
:cell-class-name="tableRowClassName"
element-loading-text="数据加载中"
element-loading-spinner="el-icon-loading"
element-loading-background="rgba(0, 0, 0, 0.2)"
class="main"
tooltip-effect="dark"
height="640px"
style="width: 100%;"
border
size="mini">
<el-table-column type="index" width="60" label="序号" align="center" />
<el-table-column align="center" label="总成号">
<template slot-scope="scope">
{{ scope.row.零件号 }}
</template>
</el-table-column>
<el-table-column align="center" label="基本型号">
<template slot-scope="scope">
{{ scope.row.基本型号 }}
</template>
</el-table-column>
<el-table-column align="center" label="工位号">
<template slot-scope="scope">
{{ scope.row.工位号 }}
</template>
</el-table-column>
<el-table-column align="center" label="零件名称">
<template slot-scope="scope">
{{ scope.row.零件名称 }}
</template>
</el-table-column>
<el-table-column align="center" label="零件号">
<template slot-scope="scope">
{{ scope.row.零件编号 }}
</template>
</el-table-column>
<el-table-column align="center" label="数量">
<template slot-scope="scope">
{{ scope.row.数量 }}
</template>
</el-table-column>
<el-table-column align="center" label="拷贝来源">
<template slot-scope="scope">
{{ scope.row.拷贝来源 }}
</template>
</el-table-column>
<el-table-column align="center" label="操作">
<template slot-scope="scope">
<el-button type="text" icon="el-icon-edit" size="small" @click="editInformation(scope.row)">编辑</el-button>
<el-button type="text" icon="el-icon-delete" size="small" @click="deleteInformation(scope.row)">删除</el-button>
</template>
</el-table-column>
</el-table>
<div class="block" style="margin-top: 10px;">
<el-pagination
v-if="!loading"
:current-page="pageCurrent"
:page-sizes="[15, 30, 40]"
:page-size="pageSize"
:total="total"
layout="total, sizes, prev, pager, next, jumper"
@size-change="handleSizeChange"
@current-change="handleCurrentChange" />
</div>
</el-card>
<!-- 拷贝图号弹出框 -->
<el-dialog :visible.sync="dialogFormVisible1" title="总成号拷贝" center style="min-height: 200px" width="400px">
<el-form ref="form1" :model="form1" :rules="rules1" label-position="right" label-width="110px">
<el-form-item label="来源总成号" prop="EngineSource" style="display: inline-block">
<el-select v-model="form1.EngineSource" placeholder="请选择来源总成号" filterable size="small" @change="selectCopyEngineSourceChange">
<el-option
v-for="item in smallEngineList"
:key="item.value"
:label="item.label"
:value="item.value"
size="mini" />
</el-select>
</el-form-item>
<el-form-item label="来源福田号" style="display: inline-block">
<el-input v-model="form1.FoTonPartsCodeSource" size="small" placeholder="" clearable disabled />
</el-form-item>
<el-form-item label="目标总成号" prop="EngineTarget" style="display: inline-block">
<el-input v-model="form1.EngineTarget" size="small" placeholder="请输入目标总成号" clearable />
</el-form-item>
<el-form-item label="目标福田号" prop="FoTonPartsCodeTarget" style="display: inline-block">
<el-input v-model="form1.FoTonPartsCodeTarget" size="small" placeholder="请输入目标福田零件号" clearable />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button size="small" @click="callOff1()">取消</el-button>
<el-button type="primary" size="small" @click="submitAdd1()">确定</el-button>
</div>
</el-dialog>
<!-- 新增修改弹出框 -->
<el-dialog :visible.sync="dialogFormVisible2" :title="title" center style="min-height: 200px;" width="400px">
<el-form ref="form1" :model="addForm" :rules="addUpdateRules" label-position="right" label-width="110px">
<el-form-item label="基本机型:" prop="bigEngine" style="display: inline-block">
<el-select
v-model="bigEngine"
placeholder="请选择基本机型"
clearable
filterable
size="small"
style="width: 200px; margin-left: 13px"
@change="selectBigEngine">
<el-option
v-for="item in bigEngineList"
:key="item.value"
:label="item.label"
:value="item.value"
size="mini" />
</el-select>
</el-form-item>
<el-form-item label="总成号:" prop="smallEngine" style="display: inline-block">
<el-select
v-model="addForm.smallEngine"
placeholder="请选择总成号"
clearable
filterable
size="small"
style="width: 200px; margin-left: 13px">
<el-option
v-for="item in smallEngineList"
:key="item.value"
:label="item.label"
:value="item.value"
size="mini" />
</el-select>
</el-form-item>
<el-form-item label="工位号:" prop="opName" style="display: inline-block">
<el-select
v-model="addForm.opName"
placeholder="请选择工位号"
clearable
filterable
size="small"
style="width: 200px; margin-left: 13px">
<el-option
v-for="item in stationNumber"
:key="item.value"
:label="item.label"
:value="item.value"
size="mini" />
</el-select>
</el-form-item>
<el-form-item label="零件名称" prop="partName" style="display: inline-block">
<el-input v-model="addForm.partName" size="small" placeholder="请输入零件名称" clearable />
</el-form-item>
<el-form-item label="零件号" prop="partId" style="display: inline-block">
<el-input v-model="addForm.partId" size="small" placeholder="请输入零件号" clearable />
</el-form-item>
<el-form-item label="数量" prop="size" style="display: inline-block">
<el-input-number
v-model="addForm.size"
:min="0"
:step="1"
size="small"
style="width: 200px;"
placeholder="请输入使用数量" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button size="small" @click="callOff2('addForm')">取消</el-button>
<el-button v-if="title === '编辑'" type="primary" size="small" @click="submitUpdate('addForm')">确定</el-button>
<el-button v-if="title === '新增'" type="primary" size="small" @click="submitAdd('addForm')">确定</el-button>
</div>
</el-dialog>
</div>
</template>
<!--<script src="../../../utils/setMethods.js"></script>-->
<script>
export default {
data() {
return {
number: [],
tableData: [], // 总数据数组
stationNumberValue: '', // 工位号
stationNumber: [], // 工位号
bigEngine: '', // 大机型
smallEngine: '', // 小机型
partName: '', // 零件名称
partId: '', // 零件号
dateTime: '',
total: 0, // 总条数
pageList: 30, // 每页显示条数
pageSize: 30, // 每页显示条数
pageCurrent: 1, // 后台获取页
mid: [], // id
loading: false,
timer_1: null,
MIDGroup: [],
dialogFormVisible1: false,
dialogFormVisible2: false,
title: '',
form1: {
FoTonPartsCodeTarget: '', // 目标福田号
FoTonPartsCodeSource: '', // 来源福田号
EngineSource: '', // 图号来源
EngineTarget: '' // 目标图号
},
addForm: {
id: '',
smallEngine: '',
partId: '',
opName: '',
size: 0,
partName: ''
},
rules1: {
FoTonPartsCodeTarget: [{ required: true, message: '请选择图号来源', trigger: ['blur', 'change'] }],
EngineSource: [{ required: true, message: '请选择图号来源', trigger: ['blur', 'change'] }],
EngineTarget: [{ required: true, message: '请输入目标图号', trigger: ['blur', 'change'] }]
},
addUpdateRules: {
smallEngine: [{ required: true, message: '请选择总成号', trigger: ['blur', 'change'] }],
partName: [{ required: true, message: '请输入零件名称', trigger: ['blur', 'change'] }],
partId: [{ required: true, message: '请输入零件号', trigger: ['blur', 'change'] }],
opName: [{ required: true, message: '请选择工位号', trigger: ['blur', 'change'] }],
size: [{ required: true, message: '请输入使用数量', trigger: ['blur', 'change'] }]
},
smallEngineList: [], // 小机型列表
bigEngineList: [] // 大机型列表
}
},
created() {
var year, month, day, audiTime
this.date = new Date() // 修改数据date
year = new Date().getFullYear()
month = new Date().getMonth() + 1 < 10 ? '0' + (new Date().getMonth() + 1) : new Date().getMonth() + 1
day = new Date().getDate() < 10 ? '0' + new Date().getDate() : new Date().getDate()
audiTime = year + '-' + month + '-' + day
console.log(audiTime, 'audiTime')
this.dateTime = [audiTime, audiTime]
this.getStationNumber()
this.getSmallEngine()
this.getEndStation()
this.searchOrder()
},
mounted() {
},
methods: {
// 表格颜色变化
tableRowClassName({ row, rowIndex }) {
// console.log(row, rowIndex)
if (rowIndex % 2 === 0) {
return 'black'
} else {
return 'red'
}
},
// 工位号
getStationNumber() {
this.stationNumber = []
var param = []
var Data = this.CreateData('11', 'MES_计划BOM_工位与名称_查询', param)
this.ExecDatabase(Data).then(response => {
for (let i = 0; i < response.data.length; i++) {
this.stationNumber.push({
label: response.data[i].工位号,
value: response.data[i].工位号
})
}
})
},
// 选择大机型触发事件
selectBigEngine() {
this.addForm.smallEngine = ''
this.smallEngine = ''
this.getSmallEngine()
},
// 拷贝总成号 机型选中事件 获取福田号
selectCopyEngineSourceChange() {
this.form1.FoTonPartsCodeSource = ''
var param = []
param[0] = ['零件号', this.form1.EngineSource]
var Data = this.CreateData('11', '北汽福田_BOM_福田零件号_查询', param)
this.ExecDatabase(Data).then(response => {
if (response.data.length > 0) {
this.form1.FoTonPartsCodeSource = response.data[0].福田零件号
this.form1.FoTonPartsCodeTarget = response.data[0].福田零件号
} else {
this.$message.error('此总成号无对应福田零件号')
}
})
},
// 编辑零件
editInformation(row) {
this.addForm.id = row.ID
this.addForm.smallEngine = row.零件号
this.addForm.opName = row.工位号
this.addForm.size = row.数量
this.addForm.partId = row.零件编号
this.addForm.partName = row.零件名称
this.title = '编辑'
this.dialogFormVisible2 = true
},
// 新增零件
addInformation() {
this.title = '新增'
// 清空表单
this.addForm.smallEngine = ''
this.addForm.partId = ''
this.addForm.opName = ''
this.addForm.size = 0
this.addForm.partName = ''
this.dialogFormVisible2 = true
},
// 删除订单
deleteInformation(row) {
this.$confirm('此操作将在所有总成号中删除该零件, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
var param = []
param[0] = ['零件编号', row.零件编号]
var Data = this.CreateData('12', '北汽福田_BOM_删除', param)
this.ExecDatabase(Data).then(response => {
if (response.data[0].result === '1') {
this.$message({
message: '零件删除成功',
type: 'success'
})
this.searchOrder()
} else {
this.$message.error('零件删除失败!')
}
})
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
})
})
},
// 复制图号取消
callOff1() {
this.dialogFormVisible1 = false
},
// 修改框取消
callOff2() {
this.dialogFormVisible2 = false
},
// 复制图号提交
submitAdd1() {
var param = []
param[0] = ['零件号', this.form1.EngineSource]
param[1] = ['新零件号', this.form1.EngineTarget]
param[2] = ['新福田号', this.form1.FoTonPartsCodeTarget]
var Data = this.CreateData('11', '北汽福田BOM_复制', param)
this.ExecDatabase(Data).then(response => {
console.log(response)
if (response.data[0].result === 1) {
this.$message({
message: response.data[0].msg,
type: 'success'
})
this.dialogFormVisible1 = false
this.smallEngine = this.form1.EngineTarget
this.getSmallEngine()
this.getEndStation()
this.searchOrder()
} else {
this.$message.error(response.data[0].msg)
}
})
},
// 修改提交
submitUpdate() {
var param = []
param[0] = ['零件号', this.addForm.smallEngine]
param[1] = ['工位号', this.addForm.opName]
param[2] = ['零件名称', this.addForm.partName]
param[3] = ['零件编号', this.addForm.partId]
param[4] = ['数量', this.addForm.size]
param[5] = ['id', this.addForm.id]
var Data = this.CreateData('11', '北汽福田_BOM_修改', param)
this.ExecDatabase(Data).then(response => {
console.log(response)
if (response.data[0].result === 1) {
this.$message({
message: response.data[0].msg,
type: 'success'
})
this.dialogFormVisible2 = false
this.searchOrder()
} else {
this.$message.error(response.data[0].msg)
}
})
},
// 新增提交
submitAdd() {
var param = []
param[0] = ['零件号', this.addForm.smallEngine]
param[1] = ['工位号', this.addForm.opName]
param[2] = ['零件名称', this.addForm.partName]
param[3] = ['零件编号', this.addForm.partId]
param[4] = ['数量', this.addForm.size]
var Data = this.CreateData('11', '北汽福田_BOM_增加', param)
this.ExecDatabase(Data).then(response => {
console.log(response)
if (response.data[0].result === 1) {
this.$message({
message: response.data[0].msg,
type: 'success'
})
this.dialogFormVisible2 = false
this.searchOrder()
} else {
this.$message.error(response.data[0].msg)
}
})
},
// 获取小机型
getSmallEngine() {
this.smallEngineList = []
var param = []
this.bigEngine ? param[0] = ['基本型号', this.bigEngine] : ''
var Data = this.CreateData('11', '北汽福田_BOM_零件号查询', param)
this.ExecDatabase(Data).then(response => {
for (let i = 0; i < response.data.length; i++) {
this.smallEngineList.push({
label: response.data[i].零件号,
value: response.data[i].零件号
})
}
})
},
// 获取大机型
getEndStation() {
this.bigEngine = ''
this.bigEngineList = []
var param = []
var Data = this.CreateData('11', 'MES_基本变量_机型代码_查询', param)
this.ExecDatabase(Data).then(response => {
for (let i = 0; i < response.data.length; i++) {
this.bigEngineList.push({
label: response.data[i].发动机型号,
value: response.data[i].发动机型号,
labelName: response.data[i].发动机机型标志
})
}
})
},
// 拷贝BOM数据 按钮
copyBOM(formName) {
if (this.$refs[formName] !== undefined) {
this.$refs[formName].resetFields()
}
this.dialogFormVisible1 = true
},
// 查询订单
searchOrder() {
this.tableData = []
let stationNumberValue_check
let bigEngine_check
let smallEngine_check
let partName_check
let partId_check
this.stationNumberValue ? stationNumberValue_check = 1 : (stationNumberValue_check = 0, this.stationNumberValue = '')
this.bigEngine ? bigEngine_check = 1 : (bigEngine_check = 0, this.bigEngine = '')
this.smallEngine ? smallEngine_check = 1 : (smallEngine_check = 0, this.smallEngine = '')
this.partName ? partName_check = 1 : (partName_check = 0, this.partName = '')
this.partId ? partId_check = 1 : (partId_check = 0, this.partId = '')
var param = []
param[0] = ['基本型号_ischeck', bigEngine_check]
param[1] = ['基本型号', this.bigEngine]
param[2] = ['工位号_ischeck', stationNumberValue_check]
param[3] = ['工位号', this.stationNumberValue]
param[4] = ['PageCurrent', this.pageCurrent]
param[5] = ['PageSize', this.pageSize]
param[6] = ['PageCount', '1111', 'int', '1']
param[7] = ['ItemCount', '1111', 'int', '1']
param[8] = ['零件号_ischeck', smallEngine_check]
param[9] = ['零件号', this.smallEngine]
param[10] = ['零件编号_ischeck', partId_check]
param[11] = ['零件编号', this.partId]
param[12] = ['零件名称_ischeck', partName_check]
param[13] = ['零件名称', this.partName]
var Data = this.CreateData('11', '北汽福田_BOM_查询', param)
this.ExecDatabase(Data).then(response => {
console.log(response, 66)
if (response.data.result.length !== 0) {
this.tableData = response.data.result
}
this.total = parseInt(response.data.output[0].ItemCount)
this.loading = false
})
},
exportExcel() {
if (this.tableData.length !== 0) {
let stationNumberValue_check
let bigEngine_check
let smallEngine_check
let partName_check
let partId_check
// this.engineTypeValue ? engineTypeValue_check = 1 : (engineTypeValue_check = 0, this.engineTypeValue = '')
this.stationNumberValue ? stationNumberValue_check = 1 : (stationNumberValue_check = 0, this.stationNumberValue = '')
this.bigEngine ? bigEngine_check = 1 : (bigEngine_check = 0, this.bigEngine = '')
this.smallEngine ? smallEngine_check = 1 : (smallEngine_check = 0, this.smallEngine = '')
this.partName ? partName_check = 1 : (partName_check = 0, this.partName = '')
this.partId ? partId_check = 1 : (partId_check = 0, this.partId = '')
// this.orderNumberValue ? orderNumberValue_check = 1 : (orderNumberValue_check = 0, this.orderNumberValue = '')
var param = []
param[0] = ['基本型号_ischeck', bigEngine_check]
param[1] = ['基本型号', this.bigEngine]
param[2] = ['工位号_ischeck', stationNumberValue_check]
param[3] = ['工位号', this.stationNumberValue]
param[4] = ['PageCurrent', this.pageCurrent]
param[5] = ['PageSize', this.pageSize]
param[6] = ['PageCount', '1111', 'int', '1']
param[7] = ['ItemCount', '1111', 'int', '1']
param[8] = ['零件号_ischeck', smallEngine_check]
param[9] = ['零件号', this.smallEngine]
param[10] = ['零件编号_ischeck', partId_check]
param[11] = ['零件编号', this.partId]
param[12] = ['零件名称_ischeck', partName_check]
param[13] = ['零件名称', this.partName]
var Data = this.CreateData('2001', '北汽福田_BOM_查询', param)
this.exportExcel_NPOI(Data)
} else {
this.$message.warning('暂无数据')
}
},
// 分页
handleSizeChange(val) {
this.pageCurrent = 1
this.pageSize = val
this.searchOrder()
},
handleCurrentChange(val) {
this.pageCurrent = val
this.searchOrder()
}
}
}
</script>
<style scoped>
.topCard {
margin: 5px;
}
.topDiv {
margin-bottom: 10px;
}
.el-select {
width: 200px
}
.el-input {
width: 200px
}
.text {
font-size: 14px;
}
.item {
padding: 18px 0;
}
.box-card {
position: absolute;
right: 6px;
top: 80px;
width: 300px;
}
.el-table .warning-row {
background: oldlace;
}
.el-table .success-row {
background: #f0f9eb;
}
</style>

View File

@@ -0,0 +1,299 @@
<template>
<div class="app-container">
<el-row>
<el-col :span="24">
<el-card style="margin-bottom: 10px;width: 100%;">
<span style="margin-left: 10px">工位号</span>
<el-select
v-model="stationNumberValue"
placeholder="请选择工位号"
clearable
filterable
size="small"
style="width: 200px; margin-left: 13px">
<el-option
v-for="item in stationNumber"
:key="item.value"
:label="item.label"
:value="item.value"
size="mini" />
</el-select>
<span style="margin-left: 10px">基本机型</span>
<el-select
v-model="bigEngine"
placeholder="请选择基本机型"
clearable
filterable
size="small"
style="width: 200px; margin-left: 13px"
@change="selectBigEngine">
<el-option
v-for="item in bigEngineList"
:key="item.value"
:label="item.label"
:value="item.value"
size="mini" />
</el-select>
<el-select v-model="EngineName1" placeholder="请选择比对零件号" filterable size="small">
<el-option
v-for="item in smallEngineList"
:key="item.value"
:label="item.label"
:value="item.value"
size="mini" />
</el-select>
<el-button size="small" type="distribution" style="margin: 0 2vw;" @click="searchBomList()">比对零件号差异</el-button>
<el-select v-model="EngineName2" placeholder="请选择比对零件号" filterable size="small">
<el-option
v-for="item in smallEngineList"
:key="item.value"
:label="item.label"
:value="item.value"
size="mini" />
</el-select>
</el-card>
</el-col>
<el-col :span="12">
<!-- <el-card style="margin-bottom: 10px">
<el-button size="small" type="distribution">创建一级菜单</el-button>
</el-card> -->
<el-card>
<el-table
ref="multipleTableLeft"
:data="tableData"
:cell-class-name="cellClassName"
stripe
size="mini"
height="700"
style="height:calc(100vh - 330px);">
<el-table-column type="index" width="60" label="序号" align="center" />
<el-table-column align="center" label="工位号">
<template slot-scope="scope">
{{ scope.row.工位号 }}
</template>
</el-table-column>
<el-table-column align="center" label="零件号">
<template slot-scope="scope">
{{ scope.row.零件号 }}
</template>
</el-table-column>
<el-table-column align="center" label="零件编号">
<template slot-scope="scope">
{{ scope.row.零件编号 }}
</template>
</el-table-column>
<el-table-column align="center" label="零件名称">
<template slot-scope="scope">
{{ scope.row.零件名称 }}
</template>
</el-table-column>
<el-table-column align="center" label="数量">
<template slot-scope="scope">
{{ scope.row.数量 }}
</template>
</el-table-column>
</el-table>
</el-card>
</el-col>
<el-col :span="12">
<el-card>
<el-table
ref="multipleTableRight"
:data="tableData"
:cell-class-name="cellClassName"
stripe
size="mini"
height="700"
style="height:calc(100vh - 330px);">
<el-table-column type="index" width="60" label="序号" align="center" />
<el-table-column align="center" label="工位号">
<template slot-scope="scope">
{{ scope.row.工位号2 }}
</template>
</el-table-column>
<el-table-column align="center" label="零件号">
<template slot-scope="scope">
{{ scope.row.零件号2 }}
</template>
</el-table-column>
<el-table-column align="center" label="零件编号">
<template slot-scope="scope">
{{ scope.row.零件编号2 }}
</template>
</el-table-column>
<el-table-column align="center" label="零件名称">
<template slot-scope="scope">
{{ scope.row.零件名称2 }}
</template>
</el-table-column>
<el-table-column align="center" label="数量">
<template slot-scope="scope">
{{ scope.row.数量2 }}
</template>
</el-table-column>
</el-table>
</el-card>
</el-col>
</el-row>
</div>
</template>
<script>
export default {
name: 'MenuManagement',
data() {
return {
tableData: [],
EngineName1: '',
EngineName2: '',
rules1: {
moduleName: [{ required: true, message: '请输入', trigger: ['blur', 'change'] }]
},
rules2: {
moduleName: [{ required: true, message: '请输入', trigger: ['blur', 'change'] }]
},
smallEngineList: [],
dom1: null,
dom2: null,
stationNumber: [], // 工位号
stationNumberValue: '',
bigEngine: '',
bigEngineList: []
}
},
created() {
this.getSmallEngine()
this.getStationNumber()
this.getEndStation()
setTimeout(() => {
this.dom1 = this.$refs.multipleTableLeft.bodyWrapper
this.dom2 = this.$refs.multipleTableRight.bodyWrapper
this.listenerScroll()
}, 500)
},
methods: {
listenerScroll() {
this.dom2.addEventListener('scroll', () => {
// 横滚
this.dom1.scrollLeft = this.dom2.scrollLeft
// 竖滚
this.dom1.scrollTop = this.dom2.scrollTop
})
this.dom1.addEventListener('scroll', () => {
// 横滚
this.dom2.scrollLeft = this.dom1.scrollLeft
// 竖滚
this.dom2.scrollTop = this.dom1.scrollTop
})
},
// 工位号
getStationNumber() {
this.stationNumber = []
var param = []
var Data = this.CreateData('11', 'MES_计划BOM_工位与名称_查询', param)
this.ExecDatabase(Data).then(response => {
for (let i = 0; i < response.data.length; i++) {
this.stationNumber.push({
label: response.data[i].工位号,
value: response.data[i].工位号
})
}
})
},
// 查询零件号数据
searchBomList() {
this.tableData = []
let stationNumberValue_check
this.stationNumberValue ? stationNumberValue_check = 1 : (stationNumberValue_check = 0, this.stationNumberValue = '')
var param = []
param[0] = ['零件号1', this.EngineName1]
param[1] = ['零件号2', this.EngineName2]
param[2] = ['工位号_ischeck', stationNumberValue_check]
param[3] = ['工位号', this.stationNumberValue]
var Data = this.CreateData('11', '北汽福田_BOM_零件差异查询', param)
this.ExecDatabase(Data).then(response => {
console.log(response, 66)
if (response.data.length !== 0) {
this.tableData = response.data
}
// this.loading = false
})
},
// 选择大机型触发事件
selectBigEngine() {
this.EngineName1 = ''
this.EngineName2 = ''
this.getSmallEngine()
},
// 获取大机型
getEndStation() {
this.bigEngine = ''
this.bigEngineList = []
var param = []
var Data = this.CreateData('11', 'MES_基本变量_机型代码_查询', param)
this.ExecDatabase(Data).then(response => {
for (let i = 0; i < response.data.length; i++) {
this.bigEngineList.push({
label: response.data[i].发动机型号,
value: response.data[i].发动机型号,
labelName: response.data[i].发动机机型标志
})
}
})
},
// 获取小机型
getSmallEngine() {
this.smallEngineList = []
var param = []
this.bigEngine ? param[0] = ['基本型号', this.bigEngine] : ''
var Data = this.CreateData('11', '北汽福田_BOM_零件号查询', param)
this.ExecDatabase(Data).then(response => {
for (let i = 0; i < response.data.length; i++) {
this.smallEngineList.push({
label: response.data[i].零件号,
value: response.data[i].零件号
})
}
})
},
// 根据差异来决定该行颜色
cellClassName({ row, column }) {
let isNoEqual = false
row.工位号 !== row.工位号2 ? isNoEqual = true : ''
// row.零件号 !== row.零件号2 ? isNoEqual = true : ''
row.零件编号 !== row.零件编号2 ? isNoEqual = true : ''
row.零件名称 !== row.零件名称2 ? isNoEqual = true : ''
row.数量 !== row.数量2 ? isNoEqual = true : ''
if (isNoEqual) {
return 'NoEqual-row'
}
return ''
}
}
}
</script>
<style scoped>
.custom-tree-node {
flex: 1;
display: flex;
align-items: center;
justify-content: space-between;
font-size: 14px;
padding-right: 8px;
}
/deep/.el-table .el-table__body .NoEqual-row {
background: rgba(255, 255, 0, 0.5) !important;
/* color: #fff !important; */
}
</style>

View File

@@ -0,0 +1,31 @@
<template>
<div>
<el-tabs v-model="activeName" type="border-card">
<el-tab-pane label="Bom数据" name="1">
<BomList ref="fresh1" />
</el-tab-pane>
<el-tab-pane label="总成号比对" name="2">
<BomListCompare ref="fresh1" />
</el-tab-pane>
</el-tabs>
</div>
</template>
<script>
import BomList from '@/views/ProcessManagement/BomEngineManagement/BomList.vue'
import BomListCompare from '@/views/ProcessManagement/BomEngineManagement/BomListCompare.vue'
export default {
components: {
'BomList': BomList,
'BomListCompare': BomListCompare
},
data() {
return {
activeName: '1'
}
},
methods: {}
}
</script>
<style scoped></style>

View File

@@ -205,7 +205,6 @@ export default {
// param[3] = ['check工位号', stationNumberValue_check]
var Data = this.CreateData('11', '工艺管理_界面模块维护_信息查询', param)
this.ExecDatabase(Data).then(response => {
console.log(response, 66)
if (response.data.length !== 0) {
this.tableData = response.data
}

View File

@@ -3,7 +3,7 @@
<el-card class="topCard">
<div class="topDiv">
<span style="margin-left: 10px">工位号</span>
<el-select v-model="stationNumberValue" placeholder="请选择工位号" clearable size="small" style="width: 150px">
<el-select v-model="stationNumberValue" placeholder="工位号" clearable size="small" style="width: 110px">
<el-option
v-for="item in stationNumber"
:key="item.value"
@@ -12,7 +12,7 @@
size="mini"/>
</el-select>
<span style="margin-left: 10px">工位名称</span>
<el-input v-model="stationName" disabled style="width:150px;" placeholder="" size="small"/>
<el-input v-model="stationName" disabled style="width:170px;" placeholder="" size="small"/>
<span style="margin-left: 10px">产品型号</span>
<el-select v-model="engineTypeValue" placeholder="请选择产品型号" size="small" style="width: 150px" @change="searchOrder()">
<el-option
@@ -24,9 +24,9 @@
</el-select>
<el-button type="primary" plain size="small" icon="el-icon-search" style="margin-left: 10px" @click="searchOrder()">查询物料</el-button>
<el-button type="distribution" size="small" icon="el-icon-circle-plus" @click="creatOrder('form')">创建物料</el-button>
<el-button type="success" size="small" plain icon="el-icon-document-copy" @click="copyOrder('form4')">复制物料</el-button>
<el-button type="info" plain size="small" icon="el-icon-upload2" @click="importOrder('form')">物料导入</el-button>
<el-button type="info" plain size="small" icon="el-icon-download" @click="exportExcel()">物料导出</el-button>
<!-- <el-button type="success" size="small" plain icon="el-icon-document-copy" @click="copyOrder('form4')">复制物料</el-button>-->
<!-- <el-button type="info" plain size="small" icon="el-icon-upload2" @click="importOrder('form')">物料导入</el-button>-->
<!-- <el-button type="info" plain size="small" icon="el-icon-download" @click="exportExcel()">物料导出</el-button>-->
</div>
<el-table
v-loading="loading"
@@ -40,24 +40,24 @@
class="main"
tooltip-effect="dark"
height="740px"
style="width: 100%"
style="width: 70%"
border
size="mini"
@selection-change="handleSelectionChange">
<el-table-column type="index" width="60" label="序号" align="center"/>
<el-table-column align="center" label="物料号">
<template slot-scope="scope">
{{ scope.row.物料号 }}
</template>
</el-table-column>
<!-- <el-table-column align="center" label="物料号">-->
<!-- <template slot-scope="scope">-->
<!-- {{ scope.row.物料号 }}-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column align="center" label="工位号">
<template slot-scope="scope">
{{ scope.row.工位号 }}
</template>
</el-table-column>
<el-table-column align="center" label="零件名称">
<el-table-column align="center" label="产品型号">
<template slot-scope="scope">
{{ scope.row.零件名称 }}
{{ scope.row.型号 }}
</template>
</el-table-column>
<el-table-column align="center" label="零件图号">
@@ -65,28 +65,28 @@
{{ scope.row.零件图号 }}
</template>
</el-table-column>
<el-table-column align="center" label="零件数量">
<el-table-column align="center" label="零件名称" min-width="120px">
<template slot-scope="scope">
{{ scope.row.零件数量 }}
</template>
</el-table-column>
<el-table-column align="center" label="生产厂家">
<template slot-scope="scope">
{{ scope.row.生产厂家 }}
{{ scope.row.零件名称 }}
</template>
</el-table-column>
<!-- <el-table-column align="center" label="零件数量">-->
<!-- <template slot-scope="scope">-->
<!-- {{ scope.row.零件数量 }}-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column align="center" label="是否验证">
<template slot-scope="scope">
<span v-if="Number(scope.row.是否验证) === 1"></span>
<span v-if="Number(scope.row.是否验证) === 0"></span>
</template>
</el-table-column>
<el-table-column align="center" label="是否主物料">
<template slot-scope="scope">
<span v-if="Number(scope.row.是否主物料) === 1"></span>
<span v-if="Number(scope.row.是否主物料) === 0"></span>
<el-tag v-if="Number(scope.row.是否验证) === 1" size="mini" type="success"></el-tag>
<el-tag v-if="Number(scope.row.是否验证) === 0" size="mini" type="warning"></el-tag>
</template>
</el-table-column>
<!-- <el-table-column align="center" label="是否主物料">-->
<!-- <template slot-scope="scope">-->
<!-- <span v-if="Number(scope.row.是否主物料) === 1"></span>-->
<!-- <span v-if="Number(scope.row.是否主物料) === 0"></span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column align="center" label="操作" width="150">
<template slot-scope="scope">
<el-button
@@ -98,6 +98,7 @@
size="mini"
type="text"
icon="el-icon-delete"
style="color:#ff0000;"
@click="deleteOrder(scope.row)">删除</el-button>
</template>
</el-table-column>
@@ -114,7 +115,7 @@
@current-change="handleCurrentChange"/>
</div>
</el-card>
<el-dialog :visible.sync="dialogFormVisible" title="创建物料" center style="min-height: 200px;" width="800px">
<el-dialog :visible.sync="dialogFormVisible" title="创建物料" center style="min-height: 200px;" width="400px">
<el-form ref="form" :model="form" :rules="rules" label-position="right" label-width="110px">
<el-form-item label="工位号" prop="stationNumberValue" style="display: inline-block">
<el-select v-model="form.stationNumberValue" size="small" placeholder="请选择工位号">
@@ -134,12 +135,19 @@
:value="item.value"/>
</el-select>
</el-form-item>
<el-form-item label="物料号" prop="orderNumber" style="display: inline-block">
<!-- <el-form-item label="物料号" prop="orderNumber" style="display: inline-block">-->
<!-- <el-input-->
<!-- v-model="form.orderNumber"-->
<!-- clearable-->
<!-- size="small"-->
<!-- placeholder="请输入物料号"/>-->
<!-- </el-form-item>-->
<el-form-item label="零件图号" prop="partDrawing" style="display: inline-block">
<el-input
v-model="form.orderNumber"
v-model="form.partDrawing"
clearable
size="small"
placeholder="请输入物料号"/>
placeholder="请输入零件图号"/>
</el-form-item>
<el-form-item label="零件名称" prop="partName" style="display: inline-block">
<el-input
@@ -148,27 +156,20 @@
size="small"
placeholder="零件名称"/>
</el-form-item>
<el-form-item label="零件图号" prop="partDrawing" style="display: inline-block">
<el-input
v-model="form.partDrawing"
clearable
size="small"
placeholder="请输入零件图号"/>
</el-form-item>
<el-form-item label="数量" prop="number" style="display: inline-block">
<el-input
v-model="form.number"
clearable
size="small"
placeholder="请输入数量"/>
</el-form-item>
<el-form-item label="生产厂家" prop="manufactor" style="display: inline-block">
<el-input
v-model="form.manufactor"
clearable
size="small"
placeholder="请输入生产厂家"/>
</el-form-item>
<!-- <el-form-item label="数量" prop="number" style="display: inline-block">-->
<!-- <el-input-->
<!-- v-model="form.number"-->
<!-- clearable-->
<!-- size="small"-->
<!-- placeholder="请输入数量"/>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="生产厂家" prop="manufactor" style="display: inline-block">-->
<!-- <el-input-->
<!-- v-model="form.manufactor"-->
<!-- clearable-->
<!-- size="small"-->
<!-- placeholder="请输入生产厂家"/>-->
<!-- </el-form-item>-->
<el-form-item label="是否验证" prop="verificationValue" style="display: inline-block">
<el-select v-model="form.verificationValue" size="small" placeholder="请选择产品型号">
<el-option
@@ -178,15 +179,15 @@
:value="item.value"/>
</el-select>
</el-form-item>
<el-form-item label="是否主物料" prop="mainMaterialValue" style="display: inline-block">
<el-select v-model="form.mainMaterialValue" size="small" placeholder="请选择产品型号">
<el-option
v-for="item in mainMaterial"
:key="item.value"
:label="item.label"
:value="item.value"/>
</el-select>
</el-form-item>
<!-- <el-form-item label="是否主物料" prop="mainMaterialValue" style="display: inline-block">-->
<!-- <el-select v-model="form.mainMaterialValue" size="small" placeholder="请选择产品型号">-->
<!-- <el-option-->
<!-- v-for="item in mainMaterial"-->
<!-- :key="item.value"-->
<!-- :label="item.label"-->
<!-- :value="item.value"/>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
</el-form>
<div slot="footer" class="dialog-footer">
<el-button size="small" @click="callOff('form')">取消</el-button>
@@ -196,21 +197,26 @@
<el-dialog :visible.sync="dialogFormVisible1" title="编辑物料" center style="min-height: 200px" width="400px">
<el-form ref="form1" :model="form1" :rules="rules1" label-position="right" label-width="110px">
<el-form-item label="工位号" prop="stationNumberValue" style="display: inline-block">
<el-select v-model="form1.stationNumberValue" size="small" placeholder="请选择工位号">
<el-option
v-for="item in stationNumber"
:key="item.value"
:label="item.label"
:value="item.value"/>
</el-select>
</el-form-item>
<el-form-item label="物料号" prop="orderNumber" style="display: inline-block">
<el-input
v-model="form1.orderNumber"
clearable
v-model="form1.stationNumberValue"
readonly
size="small"
placeholder="请输入物料号"/>
placeholder="工位号"/>
</el-form-item>
<el-form-item label="零件图号" prop="partDrawing" style="display: inline-block">
<el-input
v-model="form1.partDrawing"
readonly
size="small"
placeholder="请输入零件图号"/>
</el-form-item>
<!-- <el-form-item label="物料号" prop="orderNumber" style="display: inline-block">-->
<!-- <el-input-->
<!-- v-model="form1.orderNumber"-->
<!-- clearable-->
<!-- size="small"-->
<!-- placeholder="请输入物料号"/>-->
<!-- </el-form-item>-->
<el-form-item label="零件名称" prop="partName" style="display: inline-block">
<el-input
v-model="form1.partName"
@@ -218,27 +224,20 @@
size="small"
placeholder="零件名称"/>
</el-form-item>
<el-form-item label="零件图号" prop="partDrawing" style="display: inline-block">
<el-input
v-model="form1.partDrawing"
clearable
size="small"
placeholder="请输入零件图号"/>
</el-form-item>
<el-form-item label="数量" prop="number" style="display: inline-block">
<el-input
v-model="form1.number"
clearable
size="small"
placeholder="请输入数量"/>
</el-form-item>
<el-form-item label="生产厂家" prop="manufactor" style="display: inline-block">
<el-input
v-model="form1.manufactor"
clearable
size="small"
placeholder="请输入生产厂家"/>
</el-form-item>
<!-- <el-form-item label="数量" prop="number" style="display: inline-block">-->
<!-- <el-input-->
<!-- v-model="form1.number"-->
<!-- clearable-->
<!-- size="small"-->
<!-- placeholder="请输入数量"/>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="生产厂家" prop="manufactor" style="display: inline-block">-->
<!-- <el-input-->
<!-- v-model="form1.manufactor"-->
<!-- clearable-->
<!-- size="small"-->
<!-- placeholder="请输入生产厂家"/>-->
<!-- </el-form-item>-->
<el-form-item label="是否验证" prop="verificationValue" style="display: inline-block">
<el-select v-model="form1.verificationValue" size="small" placeholder="请选择产品型号">
<el-option
@@ -248,15 +247,15 @@
:value="item.value"/>
</el-select>
</el-form-item>
<el-form-item label="是否主物料" prop="mainMaterialValue" style="display: inline-block">
<el-select v-model="form1.mainMaterialValue" size="small" placeholder="请选择产品型号">
<el-option
v-for="item in mainMaterial"
:key="item.value"
:label="item.label"
:value="item.value"/>
</el-select>
</el-form-item>
<!-- <el-form-item label="是否主物料" prop="mainMaterialValue" style="display: inline-block">-->
<!-- <el-select v-model="form1.mainMaterialValue" size="small" placeholder="请选择产品型号">-->
<!-- <el-option-->
<!-- v-for="item in mainMaterial"-->
<!-- :key="item.value"-->
<!-- :label="item.label"-->
<!-- :value="item.value"/>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
</el-form>
<div slot="footer" class="dialog-footer">
<el-button size="small" @click="callOff1()">取消</el-button>
@@ -299,7 +298,6 @@
<script>
import UploadExcelComponent from './UploadExcel.vue'
import { sleep } from '../../../utils/tool'
import request from '@/utils/request'
export default {
name: 'UploadExcel',
components: { UploadExcelComponent },
@@ -353,19 +351,19 @@ export default {
partDrawing: '',
number: '',
manufactor: '',
verificationValue: 0,
verificationValue: 1,
mainMaterialValue: 0
},
rules: { // 创建订单验证
partName: [{ required: true, message: '请输入零件名称', trigger: 'blur' }],
stationNumberValue: [{ required: true, message: '请选择工位号', trigger: 'change' }],
orderNumber: [{ required: true, message: '请输入物料号', trigger: 'blur' }],
// orderNumber: [{ required: true, message: '请输入物料号', trigger: 'blur' }],
engineTypeValue: [{ required: true, message: '请选择机型', trigger: 'blur' }],
partDrawing: [{ required: true, message: '请输入零件图号', trigger: 'blur' }],
number: [{ required: true, message: '请输入数量', trigger: 'blur' }],
manufactor: [{ required: true, message: '请输入生产厂家', trigger: 'blur' }],
verificationValue: [{ required: true, message: '请选择是否验证', trigger: 'change' }],
mainMaterialValue: [{ required: true, message: '请选择是否主物料', trigger: 'change' }]
// number: [{ required: true, message: '请输入数量', trigger: 'blur' }],
// manufactor: [{ required: true, message: '请输入生产厂家', trigger: 'blur' }],
verificationValue: [{ required: true, message: '请选择是否验证', trigger: 'change' }]
// mainMaterialValue: [{ required: true, message: '请选择是否主物料', trigger: 'change' }]
},
form1: { // 修改订单
partName: '',
@@ -374,19 +372,19 @@ export default {
partDrawing: '',
number: '',
manufactor: '',
verificationValue: 0,
verificationValue: 1,
mainMaterialValue: 0,
ID: ''
},
rules1: { // 修改订单验证
partName: [{ required: true, message: '请输入零件名称', trigger: 'blur' }],
orderNumber: [{ required: true, message: '请输入物料号', trigger: 'blur' }],
partDrawing: [{ required: true, message: '请输入零件图号', trigger: 'blur' }],
number: [{ required: true, message: '请输入数量', trigger: 'blur' }],
manufactor: [{ required: true, message: '请输入生产厂家', trigger: 'blur' }],
verificationValue: [{ required: true, message: '请选择是否验证', trigger: 'change' }],
stationNumberValue: [{ required: true, message: '请选择', trigger: 'change' }],
mainMaterialValue: [{ required: true, message: '请选择是否主物料', trigger: 'change' }]
// orderNumber: [{ required: true, message: '请输入物料号', trigger: 'blur' }],
// partDrawing: [{ required: true, message: '请输入零件图号', trigger: 'blur' }],
// number: [{ required: true, message: '请输入数量', trigger: 'blur' }],
// manufactor: [{ required: true, message: '请输入生产厂家', trigger: 'blur' }],
verificationValue: [{ required: true, message: '请选择是否验证', trigger: 'change' }]
// stationNumberValue: [{ required: true, message: '请选择工位号', trigger: 'change' }]
// mainMaterialValue: [{ required: true, message: '请选择是否主物料', trigger: 'change' }]
},
form2: { // 订单下发
planQuantity: '',
@@ -496,7 +494,7 @@ export default {
this.stationNumber.push({
label: response.data[i].工位号,
value: response.data[i].工位号,
labelName: response.data[i].名称
labelName: response.data[i].名称
})
}
})
@@ -528,7 +526,7 @@ export default {
this.form.partDrawing = ''
this.form.number = ''
this.form.manufactor = ''
this.form.verificationValue = 0
this.form.verificationValue = 1
this.form.mainMaterialValue = 0
this.dialogFormVisible = true
},
@@ -546,20 +544,18 @@ export default {
param[6] = ['是否验证', this.form.verificationValue]
param[7] = ['是否主物料', this.form.mainMaterialValue]
param[8] = ['零件数量', this.form.number]
var Data = this.CreateData('12', '电子看板_装配零件_SPC_增加', param)
var Data = this.CreateData('11', '电子看板_装配零件_SPC_增加_北汽福田', param)
this.ExecDatabase(Data).then(response => {
if (response.data[0].result === '1') {
if (response.data[0]['result'] === '1') {
this.$message({
message: '增加成功',
message: response.data[0]['msg'],
type: 'success'
})
this.dialogFormVisible = false
this.searchOrder()
} else {
this.$message.error('增加失败!')
this.$message.error(response.data[0]['msg'])
}
})
this.dialogFormVisible = false
} else {
return false
}
@@ -618,7 +614,6 @@ export default {
param[6] = ['是否验证', verificationValue]
param[7] = ['是否主物料', mainMaterialValue]
param[8] = ['零件数量', number]
console.log(param, 'param')
var Data = this.CreateData('12', '电子看板_装配零件_SPC_增加', param)
return new Promise((resolve, reject) => {
this.ExecDatabase(Data).then(response => {
@@ -643,14 +638,10 @@ export default {
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
request({
url: '',
method: 'post',
data: {
type: '4',
name: `delete from 电子看板_装配零件 where ID = ${row.id}`
}
}).then(response => {
var param = []
param[0] = ['ID', row.id]
var Data = this.CreateData('12', '电子看板_装配零件_SPC_删除_北汽福田', param)
this.ExecDatabase(Data).then(response => {
if (response.data[0].result === '1') {
this.$message.success('删除成功')
this.searchOrder()
@@ -670,15 +661,14 @@ export default {
if (this.$refs['form1'] !== undefined) {
this.$refs['form1'].resetFields()
}
console.log(row.排序)
this.form1.partName = row.零件名称
this.form1.stationNumberValue = row.工位号
this.form1.orderNumber = row.物料号
// this.form1.orderNumber = row.物料号
this.form1.partDrawing = row.零件图号
this.form1.number = row.零件数量
this.form1.manufactor = row.生产厂家
// this.form1.number = row.零件数量
// this.form1.manufactor = row.生产厂家
this.form1.verificationValue = Number(row.是否验证)
this.form1.mainMaterialValue = Number(row.是否主物料)
// this.form1.mainMaterialValue = Number(row.是否主物料)
this.form1.ID = row.id
this.dialogFormVisible1 = true
},
@@ -698,7 +688,7 @@ export default {
param[7] = ['零件数量', this.form1.number]
param[8] = ['工位号', this.form1.stationNumberValue]
param[9] = ['发动机型号', this.engineTypeValue]
var Data = this.CreateData('12', '电子看板_装配零件_SPC_修改', param)
var Data = this.CreateData('12', '电子看板_装配零件_SPC_修改_北汽福田', param)
this.ExecDatabase(Data).then(response => {
if (response.data[0].result === '1') {
this.$message({

View File

@@ -137,8 +137,8 @@ export default {
this.stationNumberValue ? stationNumberValue_check = 1 : (stationNumberValue_check = 0, this.stationNumberValue = '')
// this.orderNumberValue ? orderNumberValue_check = 1 : (orderNumberValue_check = 0, this.orderNumberValue = '')
var param = []
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59']
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59:59']
param[2] = ['工位号_ischeck', stationNumberValue_check]
param[3] = ['工位号', this.stationNumberValue]
param[4] = ['PageCurrent', this.pageCurrent]

View File

@@ -137,8 +137,8 @@ export default {
this.stationNumberValue ? stationNumberValue_check = 1 : (stationNumberValue_check = 0, this.stationNumberValue = '')
// this.orderNumberValue ? orderNumberValue_check = 1 : (orderNumberValue_check = 0, this.orderNumberValue = '')
var param = []
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59']
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59:59']
param[2] = ['工位号_ischeck', stationNumberValue_check]
param[3] = ['工位号', this.stationNumberValue]
param[4] = ['PageCurrent', this.pageCurrent]

View File

@@ -161,8 +161,8 @@ export default {
this.stationNumberValue ? stationNumberValue_check = 1 : (stationNumberValue_check = 0, this.stationNumberValue = '')
// this.orderNumberValue ? orderNumberValue_check = 1 : (orderNumberValue_check = 0, this.orderNumberValue = '')
var param = []
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59']
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59:59']
param[2] = ['工位号_ischeck', stationNumberValue_check]
param[3] = ['工位号', this.stationNumberValue]
param[4] = ['PageCurrent', this.pageCurrent]

View File

@@ -166,8 +166,8 @@ export default {
this.stationNumberValue ? stationNumberValue_check = 1 : (stationNumberValue_check = 0, this.stationNumberValue = '')
// this.orderNumberValue ? orderNumberValue_check = 1 : (orderNumberValue_check = 0, this.orderNumberValue = '')
var param = []
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59']
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59:59']
param[2] = ['工位号_ischeck', stationNumberValue_check]
param[3] = ['工位号', this.stationNumberValue]
param[4] = ['PageCurrent', this.pageCurrent]

View File

@@ -151,8 +151,8 @@ export default {
this.stationNumberValue ? stationNumberValue_check = 1 : (stationNumberValue_check = 0, this.stationNumberValue = '')
// this.orderNumberValue ? orderNumberValue_check = 1 : (orderNumberValue_check = 0, this.orderNumberValue = '')
var param = []
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59']
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59:59']
param[2] = ['工位号_ischeck', stationNumberValue_check]
param[3] = ['工位号', this.stationNumberValue]
param[4] = ['PageCurrent', this.pageCurrent]

View File

@@ -152,8 +152,8 @@ export default {
this.stationNumberValue ? stationNumberValue_check = 1 : (stationNumberValue_check = 0, this.stationNumberValue = '')
// this.orderNumberValue ? orderNumberValue_check = 1 : (orderNumberValue_check = 0, this.orderNumberValue = '')
var param = []
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59']
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59:59']
param[2] = ['工位号_ischeck', stationNumberValue_check]
param[3] = ['工位号', this.stationNumberValue]
param[4] = ['PageCurrent', this.pageCurrent]

View File

@@ -137,8 +137,8 @@ export default {
this.stationNumberValue ? stationNumberValue_check = 1 : (stationNumberValue_check = 0, this.stationNumberValue = '')
// this.orderNumberValue ? orderNumberValue_check = 1 : (orderNumberValue_check = 0, this.orderNumberValue = '')
var param = []
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59']
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59:59']
param[2] = ['工位号_ischeck', stationNumberValue_check]
param[3] = ['工位号', this.stationNumberValue]
param[4] = ['PageCurrent', this.pageCurrent]

View File

@@ -137,8 +137,8 @@ export default {
this.stationNumberValue ? stationNumberValue_check = 1 : (stationNumberValue_check = 0, this.stationNumberValue = '')
// this.orderNumberValue ? orderNumberValue_check = 1 : (orderNumberValue_check = 0, this.orderNumberValue = '')
var param = []
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59']
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59:59']
param[2] = ['工位号_ischeck', stationNumberValue_check]
param[3] = ['工位号', this.stationNumberValue]
param[4] = ['PageCurrent', this.pageCurrent]

View File

@@ -152,8 +152,8 @@ export default {
this.stationNumberValue ? stationNumberValue_check = 1 : (stationNumberValue_check = 0, this.stationNumberValue = '')
// this.orderNumberValue ? orderNumberValue_check = 1 : (orderNumberValue_check = 0, this.orderNumberValue = '')
var param = []
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59']
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59:59']
param[2] = ['工位号_ischeck', stationNumberValue_check]
param[3] = ['工位号', this.stationNumberValue]
param[4] = ['PageCurrent', this.pageCurrent]

View File

@@ -137,8 +137,8 @@ export default {
this.stationNumberValue ? stationNumberValue_check = 1 : (stationNumberValue_check = 0, this.stationNumberValue = '')
// this.orderNumberValue ? orderNumberValue_check = 1 : (orderNumberValue_check = 0, this.orderNumberValue = '')
var param = []
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59']
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59:59']
param[2] = ['工位号_ischeck', stationNumberValue_check]
param[3] = ['工位号', this.stationNumberValue]
param[4] = ['PageCurrent', this.pageCurrent]

View File

@@ -202,6 +202,7 @@ export default {
},
batchImportOfDrawings() {
this.action = `${MESUploadFileProject}?&num=1&tableName=电子看板_工位名称与产品型号工艺卡&stationNumberValue=${this.stationNumberValue}&engineTypeValue1=${this.engineTypeValue1}&engineTypeValue=${this.engineTypeValue}`
console.log(this.action)
},
uploadSuccess(res, file, fileList) {
if (res[0].result === '1') {

View File

@@ -25,8 +25,9 @@
<el-button type="primary" plain size="small" icon="el-icon-order" @click="searchTable()">查询</el-button>
<el-button type="distribution" icon="el-icon-circle-plus-outline" size="small" @click="addTo">上传</el-button>
</div>
<div v-for="(url, key) in urls" :key="key" style="width: 900px;height: 600px;border: 1px solid black">
<el-image :key="url.url" :src="url.url" :preview-src-list="urls1" lazy style="width: 895px; height: 595px"/>
<span>图片尺寸要求*650 * 780</span>
<div v-for="(url, key) in urls" :key="key" style="width: 650px;height: 780px;border: 1px solid black;display: flex;justify-content: center;align-items: center;">
<el-image :key="url.url" :src="url.url" :preview-src-list="urls1" lazy style="width: 640px; height: 770px"/>
</div>
</el-card>
<el-dialog v-el-drag-dialog :visible.sync="dialogFormVisible" title="上传图片" center style="height: 800px" width="17%">
@@ -98,7 +99,6 @@ export default {
stationNumberValue() {
for (let i = 0; i < this.stationNumber.length; i++) {
if (this.stationNumber[i].value === this.stationNumberValue) {
console.log(this.stationNumber[i].label, 'this.stationNumber[i].label')
this.stationName = this.stationNumber[i].labelName
}
}

View File

@@ -3,7 +3,7 @@
<el-card class="topCard">
<div class="topDiv">
<span style="margin-left: 10px">工位号</span>
<el-select v-model="stationNumberValue" placeholder="请选择工位号" size="small" style="width: 150px">
<el-select v-model="stationNumberValue" placeholder="请选择工位号" size="small" style="width: 110px">
<el-option
v-for="item in stationNumber"
:key="item.value"
@@ -12,7 +12,7 @@
size="mini"/>
</el-select>
<span style="margin-left: 10px">工位名称</span>
<el-input v-model="stationName" disabled style="width:150px;" placeholder="" size="small"/>
<el-input v-model="stationName" disabled style="width:170px;" placeholder="" size="small"/>
<span style="margin-left: 10px">产品型号</span>
<el-select v-model="engineTypeValue" placeholder="请选择产品型号" size="small" style="width: 150px">
<el-option
@@ -119,7 +119,7 @@
</el-dialog>
<el-dialog :visible.sync="dialogFormVisible4" title="数据复制" center style="min-height: 200px" width="400px">
<el-form ref="form1" :model="form4" :rules="rules4" label-position="right" label-width="110px">
<el-form-item label="产品型号" prop="engineTypeValue" style="display: inline-block">
<el-form-item label="工位号" prop="engineTypeValue" style="display: inline-block">
<el-select v-model="form4.stationNumberValue" placeholder="请选择工位号" size="small">
<el-option
v-for="item in stationNumber"
@@ -273,7 +273,7 @@ export default {
this.stationNumber.push({
label: response.data[i].工位号,
value: response.data[i].工位号,
labelName: response.data[i].名称
labelName: response.data[i].名称
})
}
})

View File

@@ -1,62 +1,51 @@
<template>
<div class="app-container">
<el-card class="topCard">
<el-col :span="11">
<div class="topDiv">
<el-button type="primary" plain size="small" icon="el-icon-refresh" @click="searchOrder()">刷新</el-button>
</div>
<span>配方名称</span>
<el-input v-model="repiceName" style="width:150px;" placeholder="配方名称" size="small"/>
<el-button type="primary" plain size="small" icon="el-icon-order" @click="searchTable()">查询</el-button>
<el-button type="distribution" icon="el-icon-circle-plus-outline" size="small" @click="addTo">新增</el-button>
<el-button type="success" size="small" plain icon="el-icon-document-copy" @click="copyOrder('form4')">复制配方</el-button>
<el-table
v-loading="loading"
ref="multipleTable"
:data="tableData"
:header-cell-style="{background:'#eef1f6',color:'#606266'}"
:cell-class-name="tableRowClassName"
element-loading-text="数据加载中"
element-loading-spinner="el-icon-loading"
element-loading-background="rgba(0, 0, 0, 0.2)"
height="370px"
class="main"
tooltip-effect="dark"
height="720px"
style="width: 100%;"
style="width: 100%"
border
size="mini">
<el-table-column align="center" label="工位号">
size="mini"
@row-click="currentRepice">
<el-table-column align="center" label="配方号" width="100">
<template slot-scope="scope">
{{ scope.row.工位 }}
{{ scope.row.配方 }}
</template>
</el-table-column>
<el-table-column align="center" label="库位号">
<el-table-column align="center" label="配方名称">
<template slot-scope="scope">
{{ scope.row.库位号 }}
{{ scope.row.配方名称 }}
</template>
</el-table-column>
<el-table-column align="center" label="条码">
<el-table-column align="center" label="配方说明">
<template slot-scope="scope">
{{ scope.row.条码 }}
{{ scope.row.配方说明 }}
</template>
</el-table-column>
<el-table-column align="center" label="订单号">
<el-table-column align="center" label="操作" width="200">
<template slot-scope="scope">
{{ scope.row.订单号 }}
<el-button type="text" icon="el-icon-edit" size="small" @click="editInformation(scope.row)">编辑</el-button>
<el-button type="text" icon="el-icon-delete" size="small" style="color: red" @click="deleteInformation(scope.row)">删除</el-button>
</template>
</el-table-column>
<el-table-column align="center" label="发动机号">
<template slot-scope="scope">
{{ scope.row.发动机号 }}
</template>
</el-table-column>
<el-table-column align="center" label="发动机型号">
<template slot-scope="scope">
{{ scope.row.发动机型号 }}
</template>
</el-table-column>
<el-table-column align="center" label="机型代码">
<template slot-scope="scope">
{{ scope.row.机型代码 }}
</template>
</el-table-column>
<el-table-column align="center" label="是否有件">
<template slot-scope="scope">
<el-select v-model="scope.row.是否有件" filterable size="small" style="width: 90%;" @change="ModifyData(scope.row)">
</el-table>
</div>
<div class="topDiv">
<span>工位号</span>
<el-select v-model="stationNumberValue" placeholder="工位号" clearable size="small" style="width: 120px">
<el-option
v-for="item in stationNumber"
:key="item.value"
@@ -64,39 +53,295 @@
:value="item.value"
size="mini"/>
</el-select>
<el-input v-model="stationName" readonly style="width:160px;" size="small"/>
<span style="margin-left: 10px">操作名</span>
<el-input v-model="operationName" style="width:150px;" placeholder="操作名" size="small"/>
<el-button type="primary" plain size="small" icon="el-icon-order" @click="searchTableOperation()">查询</el-button>
<el-button type="distribution" icon="el-icon-circle-plus-outline" size="small" @click="addTo">新增</el-button>
<el-table
ref="multipleTable"
:data="tableData3"
:header-cell-style="{background:'#eef1f6',color:'#606266'}"
:cell-class-name="tableRowClassName"
height="370px"
class="main"
tooltip-effect="dark"
style="width: 100%"
border
size="mini">
<el-table-column align="center" label="操作号码" width="100px">
<template slot-scope="scope">
{{ scope.row.操作号码 }}
</template>
</el-table-column>
<el-table-column align="center" label="操作时间">
<el-table-column align="center" label="工位号" width="120px">
<template slot-scope="scope">
{{ scope.row.操作时间 }}
{{ scope.row.工位号 }}
</template>
</el-table-column>
<el-table-column align="center" label="操作名称">
<template slot-scope="scope">
{{ scope.row.操作名称 }}
</template>
</el-table-column>
<el-table-column align="center" label="操作" width="200">
<template slot-scope="scope">
<el-button type="text" icon="el-icon-edit" size="small" @click="editInformation(scope.row)">编辑</el-button>
<el-button type="text" icon="el-icon-delete" size="small" style="color: red" @click="deleteInformation(scope.row)">删除</el-button>
</template>
</el-table-column>
</el-table>
</div>
</el-col>
<el-col :span="12">
<div class="topDiv" style="margin-left: 10px">
<span style="margin-left: 10px">配方列表请选择左侧配方查看,选择工位号进行筛选</span>
<el-select v-model="stationRepiceValue" placeholder="工位号" clearable size="small" style="width: 120px" @change="changeTableData">
<el-option
v-for="item in stationRepiceNumber"
:key="item.value"
:label="item.label"
:value="item.value"
size="mini"/>
</el-select>
<el-table
ref="multipleTable"
:data="tableData1"
:header-cell-style="{background:'#eef1f6',color:'#606266'}"
:cell-class-name="tableRowClassName"
height="784px"
class="main"
tooltip-effect="dark"
style="width: 100%"
border
size="mini">
<el-table-column align="center" label="排序" width="100px">
<template slot-scope="scope">
{{ scope.row.工位排序 }}
</template>
</el-table-column>
<el-table-column align="center" label="工位号" width="150px">
<template slot-scope="scope">
{{ scope.row.工位号 }}
</template>
</el-table-column>
<el-table-column align="center" label="操作号码" width="100px">
<template slot-scope="scope">
{{ scope.row.操作号码 }}
</template>
</el-table-column>
<el-table-column align="center" label="操作名称">
<template slot-scope="scope">
{{ scope.row.操作名称 }}
</template>
</el-table-column>
<el-table-column align="center" label="操作" width="100">
<template slot-scope="scope">
<el-button type="text" icon="el-icon-edit" size="small" @click="editInformation(scope.row)">编辑</el-button>
</template>
</el-table-column>
</el-table>
</div>
</el-col>
</el-card>
<el-dialog :visible.sync="dialogFormVisible" :title="title" center style="min-height: 200px;" width="400px">
<el-form ref="form" :model="form" :rules="rules" label-position="right" label-width="110px">
<el-form-item label="工位号:" prop="stationNumber" style="display: inline-block">
<el-select v-model="form.stationNumber" placeholder="请选择工位号" clearable size="small" style="width: 200px">
<el-option
v-for="item in stationNumber"
:key="item.value"
:label="item.label"
:value="item.value"
size="mini"/>
</el-select>
</el-form-item>
<el-form-item label="产品型号:" prop="moduleDescription" style="display: inline-block">
<el-select v-model="form.moduleDescription" placeholder="请选择产品型号" clearable size="small" style="width: 200px">
<el-option
v-for="item in engineType"
:key="item.value"
:label="item.label"
:value="item.value"
size="mini"/>
</el-select>
</el-form-item>
<el-form-item label="序号:" prop="number" style="display: inline-block">
<el-input v-model="form.number" style="width:200px;" placeholder="请输入序号" size="small"/>
</el-form-item>
<el-form-item label="操作内容:" prop="text" style="display: inline-block">
<el-input
v-model="form.text"
:rows="2"
type="textarea"
clearable
size="small"
style="width: 200px"
placeholder="请输入操作内容"/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button size="small" @click="callOff('form')">取消</el-button>
<el-button v-if="title === '添加'" type="primary" size="small" @click="submitAdd('form')">确定</el-button>
</div>
</el-dialog>
<el-dialog :visible.sync="dialogFormVisible1" :title="title" center style="min-height: 200px;" width="400px">
<el-form ref="form1" :model="form1" :rules="rules1" label-position="right" label-width="110px">
<el-form-item label="序号:" prop="number" style="display: inline-block">
<el-input v-model="form1.number" style="width:200px;" placeholder="请输入序号" size="small"/>
</el-form-item>
<el-form-item label="操作内容:" prop="text" style="display: inline-block">
<el-input
v-model="form1.text"
:rows="2"
type="textarea"
clearable
size="small"
style="width: 200px"
placeholder="请输入操作内容"/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button size="small" @click="callOff1('form1')">取消</el-button>
<el-button v-if="title === '编辑'" type="primary" size="small" @click="submitUpdate('form1')">确定</el-button>
</div>
</el-dialog>
<el-dialog :visible.sync="dialogFormVisible4" title="数据复制" center style="min-height: 200px" width="400px">
<el-form ref="form1" :model="form4" :rules="rules4" label-position="right" label-width="110px">
<el-form-item label="工位号" prop="engineTypeValue" style="display: inline-block">
<el-select v-model="form4.stationNumberValue" placeholder="请选择工位号" size="small">
<el-option
v-for="item in stationNumber"
:key="item.value"
:label="item.label"
:value="item.value"
size="mini"/>
</el-select>
</el-form-item>
<el-form-item label="产品型号" prop="engineTypeValue" style="display: inline-block">
<el-select v-model="form4.engineTypeValue" placeholder="请选择产品型号" size="small">
<el-option
v-for="item in engineType"
:key="item.value"
:label="item.label"
:value="item.value"
size="mini"/>
</el-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button size="small" @click="callOff4()">取消</el-button>
<el-button type="primary" size="small" @click="submitAdd4()">确定</el-button>
</div>
</el-dialog>
</div>
</template>
<!--<script src="../../../utils/setMethods.js"></script>-->
<script>
import { mapGetters } from 'vuex'
export default {
data() {
return {
loading: true,
stationRepiceNumberTemp: [],
stationRepiceNumber: [],
stationRepiceValue: '',
isSearchRepice: false,
operationName: '',
repiceName: '',
tableData: [], // 总数据数组
stationNumber: [{
value: 0,
label: '否'
}, {
value: 1,
label: ''
}]
tableData1: [], // 总数据数组
tableData1Temp: [], // 总数据数组
tableData3: [], // 总数据数组
stationNumber: [],
stationNumberValue: '',
stationName: '',
moduleDescription: [],
moduleDescriptionValue: '',
engineTypeValue: '',
engineTypeValue1: '',
engineTypeName: '',
engineType: [],
isDisableValue: 0,
labelText: '',
labelNumber: '',
dialogFormVisible: false,
dialogFormVisible1: false,
dialogFormVisible4: false,
title: '',
form: {
stationNumber: '',
moduleDescription: '',
number: '',
text: ''
},
rules: {
stationNumber: [{ required: true, message: '请选择工位号', trigger: 'change' }],
moduleDescription: [{ required: true, message: '请选择产品型号', trigger: 'change' }],
number: [{ required: true, message: '请输入序号', trigger: 'blur' }],
text: [{ required: true, message: '请输入操作内容', trigger: 'blur' }]
},
form1: {
number: '',
text: ''
},
rules1: {
number: [{ required: true, message: '请输入序号', trigger: 'blur' }],
text: [{ required: true, message: '请输入操作内容', trigger: 'blur' }]
},
form4: {
engineTypeValue: '',
stationNumberValue: ''
},
rules4: { // 订单下发验证
engineTypeValue: [{ required: true, message: '请选择机型', trigger: 'blur' }],
stationNumberValue: [{ required: true, message: '请选择工位号', trigger: 'blur' }]
}
}
},
computed: {
...mapGetters([
'id',
'token',
'departmentName'
])
},
watch: {
stationNumberValue() {
for (let i = 0; i < this.stationNumber.length; i++) {
if (this.stationNumber[i].value === this.stationNumberValue) {
console.log(this.stationNumber[i].label, 'this.stationNumber[i].label')
this.stationName = this.stationNumber[i].labelName
}
}
if (!this.stationNumberValue) {
this.stationName = ''
}
}
},
created() {
this.searchOrder()
this.getStationNumber()
},
mounted() {
setTimeout(() => {
this.searchTable()
this.searchTableOperation()
}, 300)
},
methods: {
getStationNumber() {
this.stationNumber = []
var param = []
var Data = this.CreateData('11', 'MES_计划BOM_工位与名称_查询', param)
this.ExecDatabase(Data).then(response => {
for (let i = 0; i < response.data.length; i++) {
this.stationNumber.push({
label: response.data[i].工位号,
value: response.data[i].工位号,
labelName: response.data[i].工位名称
})
}
})
},
// 表格颜色变化
tableRowClassName({ row, rowIndex }) {
// console.log(row, rowIndex)
@@ -106,36 +351,238 @@ export default {
return 'red'
}
},
// 查询订单
searchOrder() {
this.loading = true
// 查询配方
searchTable() {
this.tableData = []
var param = []
var Data = this.CreateData('11', '思源库位管理_管理软件查询', param)
param[0] = ['配方名称', this.repiceName]
var Data = this.CreateData('11', '北汽福田_配方_配方查询', param)
this.ExecDatabase(Data).then(response => {
console.log(response, 66)
console.log(response.data)
if (response.data.length !== 0) {
this.tableData = response.data
}
this.loading = false
})
},
ModifyData(row) {
currentRepice(row) {
if (this.isSearchRepice) {
this.$message({
message: '正在查询,请稍等!',
type: 'warning'
})
return
}
this.isSearchRepice = true
this.tableData1 = []
this.stationRepiceNumberTemp = []
this.stationRepiceNumber = []
this.stationRepiceValue = ''
var param = []
param[0] = ['ID', row.ID]
param[1] = ['是否有件', row.是否有件]
console.log(param, '思源库位管理_管理软件修改param')
var Data = this.CreateData('12', '思源库位管理_管理软件修改', param)
param[0] = ['配方号', row['配方号']]
var Data = this.CreateData('11', '北汽福田_配方_配方详细查询', param)
this.ExecDatabase(Data).then(response => {
if (response.data.length !== 0) {
this.tableData1 = response.data
this.tableData1Temp = response.data
for (let i = 0; i < this.tableData1.length; i++) {
if (this.stationRepiceNumberTemp.indexOf(this.tableData1[i].工位号) === -1) {
this.stationRepiceNumberTemp.push(this.tableData1[i].工位号)
this.stationRepiceNumber.push({
label: this.tableData1[i].工位号,
value: this.tableData1[i].工位号
})
}
}
}
this.isSearchRepice = false
})
},
changeTableData(value) {
if (value === '') {
this.tableData1 = this.tableData1Temp
return
}
this.tableData1 = this.tableData1Temp.filter(item => item.工位号 === value)
},
// 北汽福田_配方_配方操作查询
searchTableOperation() {
this.tableData3 = []
var param = []
param[0] = ['操作名称', this.operationName]
param[1] = ['工位号', this.stationNumberValue]
var Data = this.CreateData('11', '北汽福田_配方_配方操作查询', param)
this.ExecDatabase(Data).then(response => {
console.log(response.data)
if (response.data.length !== 0) {
this.tableData3 = response.data
}
})
},
copyOrder(formName) {
if (this.tableData.length) {
if (this.$refs[formName] !== undefined) {
this.$refs[formName].resetFields()
}
this.dialogFormVisible4 = true
} else {
this.$message({
message: '暂无可复制的数据!',
type: 'error'
})
}
},
async submitAdd4() {
let number, text
for (let i = 0; i < this.tableData.length; i++) {
number = this.tableData[i].工步号
text = this.tableData[i].操作内容
await this.submitAdd5(number, text)
}
this.$message({
message: '增加成功',
type: 'success'
})
this.dialogFormVisible4 = false
this.engineTypeValue = this.form4.engineTypeValue
this.stationNumberValue = this.form4.stationNumberValue
this.searchTable()
},
async submitAdd5(number, text) {
var param = []
param[0] = ['工位号', this.form4.stationNumberValue]
param[1] = ['产品型号代码', this.form4.engineTypeValue]
param[2] = ['工步号', number]
param[3] = ['操作内容', text]
param[4] = ['发动机型号', this.form4.engineTypeValue]
console.log(param)
var Data = this.CreateData('12', '电子看板_工序内容_增加', param)
return new Promise((resolve, reject) => {
this.ExecDatabase(Data).then(response => {
if (response.data[0].result === '1') {
console.log('1')
resolve(1)
} else {
console.log('0')
reject(2)
}
})
})
},
callOff4() {
this.dialogFormVisible4 = false
},
addTo() {
this.title = '添加'
this.dialogFormVisible = true
},
submitAdd(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
var param = []
param[0] = ['工位号', this.form.stationNumber]
param[1] = ['产品型号代码', this.form.moduleDescription]
param[2] = ['工步号', this.form.number]
param[3] = ['操作内容', this.form.text]
param[4] = ['发动机型号', this.form.moduleDescription]
console.log(param)
var Data = this.CreateData('12', '电子看板_工序内容_增加', param)
this.ExecDatabase(Data).then(response => {
if (response.data[0].result === '1') {
this.$message({
message: '状态修改成功',
message: '增加成功',
type: 'success'
})
this.dialogFormVisible = false
this.searchTable()
} else {
this.$message.error('状态修改失败!')
this.$message.error('增加失败!')
}
})
} else {
return false
}
})
},
callOff() {
this.dialogFormVisible = false
this.$refs['form'].resetFields()
this.form.stationNumber = ''
this.form.moduleDescription = ''
this.form.number = ''
this.form.text = ''
this.engineTypeName = ''
this.title = ''
},
callOff1() {
this.dialogFormVisible1 = false
this.$refs['form1'].resetFields()
this.form.stationNumber = ''
this.form.moduleDescription = ''
this.form.number = ''
this.form.text = ''
this.engineTypeName = ''
this.title = ''
},
editInformation(row) {
this.labelNumber = row.ID
this.form1.number = row.工步号
this.form1.text = row.操作内容
this.title = '编辑'
this.dialogFormVisible1 = true
},
// 编辑消息
submitUpdate(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
var param = []
param[0] = ['工步号', this.form1.number]
param[1] = ['操作内容', this.form1.text]
param[2] = ['ID', this.labelNumber]
console.log(param)
var Data = this.CreateData('12', '电子看板_工序内容_修改_要点理由YC', param)
this.ExecDatabase(Data).then(response => {
if (response.data[0].result === '1') {
this.$message({
message: '修改成功',
type: 'success'
})
this.dialogFormVisible1 = false
this.searchTable()
} else {
this.$message.error('修改失败!')
}
})
} else {
return false
}
})
},
deleteInformation(row) {
this.$confirm('此操作将永久删除该行, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
var param = []
param[0] = ['ID', row.ID]
var Data = this.CreateData('12', '电子看板_工序内容_删除', param)
this.ExecDatabase(Data).then(response => {
if (response.data[0].result === '1') {
this.$message({
message: '订单删除成功',
type: 'success'
})
this.searchTable()
} else {
this.$message.error('订单删除失败!')
}
})
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
})
})
}
}
}
@@ -175,5 +622,9 @@ export default {
.el-table .success-row {
background: #f0f9eb;
}
/deep/.el-input.is-disabled .el-input__inner{
color: #606266!important;
}
</style>

View File

@@ -28,8 +28,8 @@
:value="item.value"
size="mini"/>
</el-select>
<span style="margin-left: 10px">批次条码</span>
<el-input v-model="traceabilityCode" placeholder="请输入批次条码" clearable size="small" style="width: 200px; margin-left: 13px"/>
<!-- <span style="margin-left: 10px">批次条码</span>-->
<!-- <el-input v-model="traceabilityCode" placeholder="请输入批次条码" clearable size="small" style="width: 200px; margin-left: 13px"/>-->
<!-- <span style="margin-left: 10px">精确追溯码</span>-->
<!-- <el-input v-model="traceabilityCode" placeholder="请输入精确追溯码" clearable size="small" style="width: 200px"/>-->
<!-- <el-select v-model="traceabilityCode" placeholder="请选择精确追溯码" filterable clearable size="small" style="width: 200px">-->
@@ -42,17 +42,17 @@
<!-- </el-select>-->
<!-- <span style="margin-left: 10px">总成编号</span>-->
<!-- <el-input v-model="assemblyNumber" style="width:150px;" placeholder="总成编号" size="small" clearable/>-->
<span style="margin-left: 10px">测量位置</span>
<el-select v-model="measuringPositionValue" placeholder="请选择测量位置" filterable clearable size="small" style="width: 200px" @change="getMeasuringProject()">
<el-option
v-for="item in measuringPosition"
:key="item.value"
:label="item.label"
:value="item.value"
size="mini"/>
</el-select>
<!-- <span style="margin-left: 10px">测量位置</span>-->
<!-- <el-select v-model="measuringPositionValue" placeholder="请选择测量位置" filterable clearable size="small" style="width: 200px" @change="getMeasuringProject()">-->
<!-- <el-option-->
<!-- v-for="item in measuringPosition"-->
<!-- :key="item.value"-->
<!-- :label="item.label"-->
<!-- :value="item.value"-->
<!-- size="mini"/>-->
<!-- </el-select>-->
<span style="margin-left: 10px">总成编号</span>
<el-select v-model="assemblyNumberValue" placeholder="请选择总成编号" allow-create filterable clearable size="small" style="width: 240px;">
<el-select v-model="assemblyNumberValue" placeholder="请选择总成编号" allow-create filterable clearable size="small" style="width: 280px;">
<el-option
v-for="item in assemblyNumber"
:key="item.value"
@@ -93,26 +93,24 @@
<!-- :value="item.value"-->
<!-- size="mini"/>-->
<!-- </el-select>-->
<span style="margin-left: 10px">是否合格</span>
<el-select v-model="isQualifiedValue" placeholder="请选择是否合格" clearable size="small" style="width: 200px; margin-left: 13px">
<el-option
v-for="item in isQualified"
:key="item.value"
:label="item.label"
:value="item.value"
size="mini"/>
</el-select>
<span style="margin-left: 10px">测量项目</span>
<el-select v-model="measuringProjectValue" placeholder="请选择测量项目" filterable clearable size="small" style="width: 200px">
<el-option
v-for="item in measuringProject"
:key="item.value"
:label="item.label"
:value="item.value"
size="mini"/>
</el-select>
</div>
<div style="margin: 10px 0 0 89%">
<!-- <span style="margin-left: 10px">是否合格</span>-->
<!-- <el-select v-model="isQualifiedValue" placeholder="请选择是否合格" clearable size="small" style="width: 200px; margin-left: 13px">-->
<!-- <el-option-->
<!-- v-for="item in isQualified"-->
<!-- :key="item.value"-->
<!-- :label="item.label"-->
<!-- :value="item.value"-->
<!-- size="mini"/>-->
<!-- </el-select>-->
<!-- <span style="margin-left: 10px">测量项目</span>-->
<!-- <el-select v-model="measuringProjectValue" placeholder="请选择测量项目" filterable clearable size="small" style="width: 200px">-->
<!-- <el-option-->
<!-- v-for="item in measuringProject"-->
<!-- :key="item.value"-->
<!-- :label="item.label"-->
<!-- :value="item.value"-->
<!-- size="mini"/>-->
<!-- </el-select>-->
<el-button type="primary" plain size="small" icon="el-icon-search" style="margin-left: 5px" @click="selectDate()">查询</el-button>
<el-button type="info" size="small" icon="el-icon-download" @click="exportExcel()">Excel</el-button>
</div>
@@ -133,12 +131,12 @@
size="mini">
<!-- <el-table-column :selectable="selectable" type="selection" width="45" align="center"/>-->
<el-table-column type="index" width="60" label="序号" align="center"/>
<el-table-column align="center" label="订单号">
<el-table-column align="center" width="120px" label="订单号">
<template slot-scope="scope">
{{ scope.row.订单号 }}
</template>
</el-table-column>
<el-table-column align="center" label="型">
<el-table-column align="center" width="100px" label="型">
<template slot-scope="scope">
{{ scope.row.发动机型号 }}
</template>
@@ -148,27 +146,27 @@
{{ scope.row.发动机号 }}
</template>
</el-table-column>
<el-table-column align="center" label="工位号">
<el-table-column align="center" width="100px" label="工位号">
<template slot-scope="scope">
{{ scope.row.工位号 }}
</template>
</el-table-column>
<el-table-column align="center" label="工位名称">
<template slot-scope="scope">
{{ scope.row.名称 }}
</template>
</el-table-column>
<el-table-column align="center" label="测量位置">
<!-- <el-table-column align="center" label="工位名称">-->
<!-- <template slot-scope="scope">-->
<!-- {{ scope.row.名称 }}-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column align="center" width="150px" label="测量位置">
<template slot-scope="scope">
{{ scope.row.测量位置 }}
</template>
</el-table-column>
<el-table-column align="center" label="测量项目">
<el-table-column align="center" width="150px" label="测量项目">
<template slot-scope="scope">
{{ scope.row.测量项目 }}
</template>
</el-table-column>
<el-table-column align="center" label="测量值" width="80px">
<el-table-column align="center" label="测量值" width="150px">
<template slot-scope="scope">
{{ scope.row.测量值 }}
</template>
@@ -178,22 +176,22 @@
{{ scope.row.测量单位 }}
</template>
</el-table-column>
<el-table-column align="center" label="理论值" width="80px">
<template slot-scope="scope">
{{ scope.row.理论值 }}
</template>
</el-table-column>
<el-table-column align="center" label="值上限" width="80px">
<template slot-scope="scope">
{{ scope.row.上限值 }}
</template>
</el-table-column>
<el-table-column align="center" label="值下限" width="80px">
<template slot-scope="scope">
{{ scope.row.下限值 }}
</template>
</el-table-column>
<el-table-column align="center" label="生产日期">
<!-- <el-table-column align="center" label="理论值" width="80px">-->
<!-- <template slot-scope="scope">-->
<!-- {{ scope.row.理论值 }}-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column align="center" label="值上限" width="80px">-->
<!-- <template slot-scope="scope">-->
<!-- {{ scope.row.上限值 }}-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column align="center" label="值下限" width="80px">-->
<!-- <template slot-scope="scope">-->
<!-- {{ scope.row.下限值 }}-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column align="center" width="150px" label="生产日期">
<template slot-scope="scope">
{{ scope.row.生产日期 }}
</template>
@@ -332,8 +330,8 @@ export default {
isQualifiedValue = this.isQualifiedValue
}
var param = []
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59']
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59:59']
// param[0] = ['开始时间', this.dateTime[0]]
// param[1] = ['结束时间', this.dateTime[1]]
param[2] = ['合格标志', isQualifiedValue]
@@ -354,8 +352,8 @@ export default {
this.engineTypeValue ? engineTypeValue_check = 1 : engineTypeValue_check = 0
this.stationNumberValue ? stationNumberValue_check = 1 : stationNumberValue_check = 0
var param = []
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59']
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59:59']
// param[0] = ['开始时间', this.dateTime[0]]
// param[1] = ['结束时间', this.dateTime[1]]
param[2] = ['发动机型号_ischeck', engineTypeValue_check]
@@ -380,8 +378,8 @@ export default {
this.engineTypeValue ? engineTypeValue_check = 1 : engineTypeValue_check = 0
this.stationNumberValue ? stationNumberValue_check = 1 : stationNumberValue_check = 0
var param = []
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59']
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59:59']
// param[0] = ['开始时间', this.dateTime[0]]
// param[1] = ['结束时间', this.dateTime[1]]
param[2] = ['发动机型号_ischeck', engineTypeValue_check]
@@ -402,8 +400,8 @@ export default {
getBatchBarcode() {
this.batchBarcode = []
var param = []
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59']
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59:59']
// param[0] = ['开始时间', this.dateTime[0]]
// param[1] = ['结束时间', this.dateTime[1]]
param[2] = ['工位号', this.stationNumberValue]
@@ -459,8 +457,8 @@ export default {
this.traceabilityCode ? traceabilityCode_check = 1 : (traceabilityCode_check = 0, this.traceabilityCode = '')
this.orderNumberValue ? orderNumberValue_check = 1 : (orderNumberValue_check = 0, this.orderNumberValue = '')
var param = []
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59']
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59:59']
param[2] = ['发动机型号_ischeck', engineTypeValue_check]
param[3] = ['发动机型号', this.engineTypeValue]
param[4] = ['发动机号_ischeck', assemblyNumberValue_check]
@@ -501,8 +499,8 @@ export default {
this.traceabilityCode ? traceabilityCode_check = 1 : (traceabilityCode_check = 0, this.traceabilityCode = '')
this.orderNumberValue ? orderNumberValue_check = 1 : (orderNumberValue_check = 0, this.orderNumberValue = '')
var param = []
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59']
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59:59']
// param[0] = ['开始时间', this.dateTime[0]]
// param[1] = ['结束时间', this.dateTime[1]]
param[2] = ['发动机型号_ischeck', engineTypeValue_check]

View File

@@ -33,15 +33,15 @@
:value="item.value"
size="mini"/>
</el-select>
<span style="margin-left: 10px">总成编号</span>
<el-select v-model="assemblyNumberValue" placeholder="请选择总成编号" allow-create filterable clearable size="small" style="width: 240px; margin-left: 13px">
<el-option
v-for="item in assemblyNumber"
:key="item.ID"
:label="item.label"
:value="item.value"
size="mini"/>
</el-select>
<!-- <span style="margin-left: 10px">总成编号</span>-->
<!-- <el-select v-model="assemblyNumberValue" placeholder="请选择总成编号" allow-create filterable clearable size="small" style="width: 240px; margin-left: 13px">-->
<!-- <el-option-->
<!-- v-for="item in assemblyNumber"-->
<!-- :key="item.ID"-->
<!-- :label="item.label"-->
<!-- :value="item.value"-->
<!-- size="mini"/>-->
<!-- </el-select>-->
<span style="margin-left: 10px">订单号</span>
<el-select v-model="orderNumberValue" placeholder="请选择订单" clearable filterable size="small" style="width: 200px" @change="getAssemblyNumber()">
<el-option
@@ -115,7 +115,7 @@
{{ scope.row.离开时间 }}
</template>
</el-table-column>
<el-table-column align="center" label="在线时间min">
<el-table-column align="center" label="在线时间(s)">
<template slot-scope="scope">
{{ scope.row.在线时间 }}
</template>
@@ -125,11 +125,11 @@
{{ scope.row.是否合格 }}
</template>
</el-table-column>
<el-table-column align="center" label="操作时间">
<template slot-scope="scope">
{{ scope.row.操作时间 }}
</template>
</el-table-column>
<!-- <el-table-column align="center" label="操作时间">-->
<!-- <template slot-scope="scope">-->
<!-- {{ scope.row.操作时间 }}-->
<!-- </template>-->
<!-- </el-table-column>-->
</el-table>
<div class="block" style="margin-top: 10px;">
<el-pagination
@@ -251,8 +251,8 @@ export default {
getOrderNumber() {
this.orderNumber = []
var param = []
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59']
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59:59']
// param[0] = ['开始时间', this.dateTime[0]]
// param[1] = ['结束时间', this.dateTime[1]]
var Data = this.CreateData('11', '测量数据发动机在线状态_订单号_查询 ', param)
@@ -270,8 +270,8 @@ export default {
var orderNumberValue_check
this.orderNumberValue ? orderNumberValue_check = 1 : orderNumberValue_check = 0
var param = []
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59']
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59:59']
// param[0] = ['开始时间', this.dateTime[0]]
// param[1] = ['结束时间', this.dateTime[1]]
param[2] = ['订单号_ischeck', orderNumberValue_check]
@@ -295,8 +295,8 @@ export default {
this.stationNumberValueN ? stationNumberValueN_check = 1 : (stationNumberValueN_check = 0, this.stationNumberValueN = '')
this.orderNumberValue ? orderNumberValue_check = 1 : (orderNumberValue_check = 0, this.orderNumberValue = '')
var param = []
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59']
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59:59']
// param[0] = ['开始时间', this.dateTime[0]]
// param[1] = ['结束时间', this.dateTime[1]]
param[2] = ['工位号N_ischeck', stationNumberValueN_check]
@@ -329,8 +329,8 @@ export default {
this.stationNumberValueN ? stationNumberValueN_check = 1 : (stationNumberValueN_check = 0, this.stationNumberValueN = '')
this.orderNumberValue ? orderNumberValue_check = 1 : (orderNumberValue_check = 0, this.orderNumberValue = '')
var param = []
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59']
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59:59']
// param[0] = ['开始时间', this.dateTime[0]]
// param[1] = ['结束时间', this.dateTime[1]]
param[2] = ['工位号N_ischeck', stationNumberValueN_check]

View File

@@ -10,7 +10,7 @@
filterable
clearable
size="small"
style="width: 200px; margin-left: 13px"
style="width: 200px"
@change="getPartName();getBatchBarcode();getAssemblyNumber();getTraceabilityCode()">
<el-option
v-for="item in stationNumber"
@@ -28,8 +28,6 @@
:value="item.value"
size="mini"/>
</el-select>
<span style="margin-left: 10px">精确追溯码</span>
<el-input v-model="traceabilityCode" placeholder="请输入精确追溯码" clearable size="small" style="width: 200px;"/>
<!-- <span style="margin-left: 10px">精确追溯码</span>-->
<!-- <el-select v-model="traceabilityCode" placeholder="请选择精确追溯码" filterable clearable size="small" style="width: 200px">-->
<!-- <el-option-->
@@ -50,15 +48,17 @@
</el-select>
</div>
<div style="margin-top: 10px">
<span style="margin-left: 10px">零件名称</span>
<el-select v-model="partNameValue" placeholder="请选择零件名称" filterable clearable size="small" style="width: 200px;">
<el-option
v-for="item in partName"
:key="item.ID"
:label="item.label"
:value="item.value"
size="mini"/>
</el-select>
<span style="margin-left: 10px">追溯码</span>
<el-input v-model="traceabilityCode" placeholder="请输入精确追溯码" clearable size="small" style="width: 200px;"/>
<!-- <span style="margin-left: 10px">零件名称</span>-->
<!-- <el-select v-model="partNameValue" placeholder="请选择零件名称" filterable clearable size="small" style="width: 200px;">-->
<!-- <el-option-->
<!-- v-for="item in partName"-->
<!-- :key="item.ID"-->
<!-- :label="item.label"-->
<!-- :value="item.value"-->
<!-- size="mini"/>-->
<!-- </el-select>-->
<span style="margin-left: 10px">时间</span>
<el-date-picker
:clearable = "false"
@@ -73,8 +73,10 @@
start-placeholder="开始日期"
end-placeholder="结束日期"
@change="getTraceabilityCode();getBatchBarcode();getAssemblyNumber()"/>
<span style="margin-left: 10px">批次条码</span>
<el-input v-model="batchBarcodeValue" placeholder="请输入批次条码" clearable size="small" style="width: 200px; margin-left: 13px"/>
<el-button type="primary" plain size="small" icon="el-icon-search" style="margin-left: 5px" @click="pageCurrent = 1,pageSize = 30,selectDate()">查询</el-button>
<el-button type="info" size="small" icon="el-icon-download" @click="exportExcel()">Excel</el-button>
<!-- <span style="margin-left: 10px">批次条码</span>-->
<!-- <el-input v-model="batchBarcodeValue" placeholder="请输入批次条码" clearable size="small" style="width: 200px; margin-left: 13px"/>-->
<!-- <span style="margin-left: 10px">批次条码</span>-->
<!-- <el-select v-model="batchBarcodeValue" placeholder="请选择批次条码" clearable filterable size="small" style="width: 200px;margin-left: 13px">-->
<!-- <el-option-->
@@ -85,10 +87,6 @@
<!-- size="mini"/>-->
<!-- </el-select>-->
</div>
<div style="margin: 10px 0 0 89%">
<el-button type="primary" plain size="small" icon="el-icon-search" style="margin-left: 5px" @click="pageCurrent = 1,pageSize = 30,selectDate()">查询</el-button>
<el-button type="info" size="small" icon="el-icon-download" @click="exportExcel()">Excel</el-button>
</div>
<el-table
v-loading="loading"
ref="multipleTable"
@@ -106,66 +104,66 @@
size="mini">
<!-- <el-table-column :selectable="selectable" type="selection" width="45" align="center"/>-->
<el-table-column type="index" width="60" label="序号" align="center"/>
<el-table-column align="center" label="订单号">
<el-table-column align="center" width="120px" label="订单号">
<template slot-scope="scope">
{{ scope.row.订单号 }}
</template>
</el-table-column>
<el-table-column align="center" label="型">
<el-table-column align="center" width="100px" label="型">
<template slot-scope="scope">
{{ scope.row.发动机型号 }}
</template>
</el-table-column>
<el-table-column align="center" label="总成编号">
<el-table-column align="center" min-width="150px" label="总成编号">
<template slot-scope="scope">
{{ scope.row.发动机号 }}
</template>
</el-table-column>
<el-table-column align="center" label="工位号">
<el-table-column align="center" width="100px" label="工位号">
<template slot-scope="scope">
{{ scope.row.工位号 }}
</template>
</el-table-column>
<el-table-column align="center" label="工位名称">
<template slot-scope="scope">
{{ scope.row.工序名称 }}
</template>
</el-table-column>
<el-table-column align="center" label="零件数量">
<!-- <el-table-column align="center" label="工位名称">-->
<!-- <template slot-scope="scope">-->
<!-- {{ scope.row.工序名称 }}-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column align="center" width="100px" label="零件数量">
<template slot-scope="scope">
{{ scope.row.零件数量 }}
</template>
</el-table-column>
<el-table-column align="center" label="零件名称">
<el-table-column align="center" min-width="150px" label="零件名称">
<template slot-scope="scope">
{{ scope.row.零件名称 }}
</template>
</el-table-column>
<el-table-column align="center" label="零件图号">
<template slot-scope="scope">
{{ scope.row.零件图号 }}
</template>
</el-table-column>
<el-table-column align="center" label="物料号">
<!-- <el-table-column align="center" width="150px" label="零件图号">-->
<!-- <template slot-scope="scope">-->
<!-- {{ scope.row.零件图号 }}-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column align="center" width="150px" label="物料号">
<template slot-scope="scope">
{{ scope.row.物料号 }}
</template>
</el-table-column>
<el-table-column align="center" label="生产厂家">
<template slot-scope="scope">
{{ scope.row.生产厂家 }}
</template>
</el-table-column>
<el-table-column align="center" label="物料条码">
<!-- <el-table-column align="center" label="生产厂家">-->
<!-- <template slot-scope="scope">-->
<!-- {{ scope.row.生产厂家 }}-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column align="center" min-width="150px" label="物料条码">
<template slot-scope="scope">
{{ scope.row.物料条码 }}
</template>
</el-table-column>
<el-table-column align="center" label="物料条码批次">
<template slot-scope="scope">
{{ scope.row.物料条码批次 }}
</template>
</el-table-column>
<!-- <el-table-column align="center" label="物料条码批次">-->
<!-- <template slot-scope="scope">-->
<!-- {{ scope.row.物料条码批次 }}-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column align="center" label="操作时间">
<template slot-scope="scope">
{{ scope.row.操作时间 }}
@@ -315,8 +313,8 @@ export default {
this.engineTypeValue ? engineTypeValue_check = 1 : engineTypeValue_check = 0
this.stationNumberValue ? stationNumberValue_check = 1 : stationNumberValue_check = 0
var param = []
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59']
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59:59']
// param[0] = ['开始时间', this.dateTime[0]]
// param[1] = ['结束时间', this.dateTime[1]]
param[2] = ['发动机型号_ischeck', engineTypeValue_check]
@@ -341,8 +339,8 @@ export default {
this.engineTypeValue ? engineTypeValue_check = 1 : engineTypeValue_check = 0
this.stationNumberValue ? stationNumberValue_check = 1 : stationNumberValue_check = 0
var param = []
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59']
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59:59']
param[2] = ['发动机型号_ischeck', engineTypeValue_check]
param[3] = ['发动机型号', this.engineTypeValue]
param[4] = ['工位号_ischeck', stationNumberValue_check]
@@ -361,8 +359,8 @@ export default {
getBatchBarcode() {
this.batchBarcode = []
var param = []
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59']
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59:59']
param[2] = ['工位号', this.stationNumberValue]
console.log(param, 'param')
var Data = this.CreateData('11', '物料数据分线_视图_物料条码批次号_查询 ', param)
@@ -400,8 +398,8 @@ export default {
this.traceabilityCode ? traceabilityCode_check = 1 : (traceabilityCode_check = 0, this.traceabilityCode = '')
this.batchBarcodeValue ? batchBarcodeValue_check = 1 : (batchBarcodeValue_check = 0, this.batchBarcodeValue = '')
var param = []
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59']
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59:59']
param[2] = ['发动机型号_ischeck', engineTypeValue_check]
param[3] = ['发动机型号', this.engineTypeValue]
param[4] = ['发动机号_ischeck', assemblyNumberValue_check]
@@ -438,8 +436,8 @@ export default {
this.traceabilityCode ? traceabilityCode_check = 1 : (traceabilityCode_check = 0, this.traceabilityCode = '')
this.batchBarcodeValue ? batchBarcodeValue_check = 1 : (batchBarcodeValue_check = 0, this.batchBarcodeValue = '')
var param = []
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59']
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59:59']
param[2] = ['发动机型号_ischeck', engineTypeValue_check]
param[3] = ['发动机型号', this.engineTypeValue]
param[4] = ['发动机号_ischeck', assemblyNumberValue_check]

View File

@@ -28,15 +28,15 @@
:value="item.value"
size="mini"/>
</el-select>
<span style="margin-left: 10px">精确追溯码</span>
<el-select v-model="traceabilityCode" placeholder="请选择精确追溯码" filterable clearable size="small" style="width: 200px">
<el-option
v-for="item in traceabilityCodeArr"
:key="item.ID"
:label="item.label"
:value="item.value"
size="mini"/>
</el-select>
<!-- <span style="margin-left: 10px">精确追溯码</span>-->
<!-- <el-select v-model="traceabilityCode" placeholder="请选择精确追溯码" filterable clearable size="small" style="width: 200px">-->
<!-- <el-option-->
<!-- v-for="item in traceabilityCodeArr"-->
<!-- :key="item.ID"-->
<!-- :label="item.label"-->
<!-- :value="item.value"-->
<!-- size="mini"/>-->
<!-- </el-select>-->
<span style="margin-left: 10px">总成编号</span>
<el-select v-model="assemblyNumberValue" placeholder="请选择总成编号" allow-create filterable clearable size="small" style="width: 240px; margin-left: 13px">
<el-option
@@ -48,15 +48,15 @@
</el-select>
<!-- <span style="margin-left: 10px">总成编号</span>-->
<!-- <el-input v-model="assemblyNumber" style="width:150px;" placeholder="总成编号" size="small" clearable/>-->
<span style="margin-left: 10px">测量位置</span>
<el-select v-model="measuringPositionValue" placeholder="请选择测量位置" filterable clearable size="small" style="width: 200px" @change="getMeasuringProject()">
<el-option
v-for="item in measuringPosition"
:key="item.value"
:label="item.label"
:value="item.value"
size="mini"/>
</el-select>
<!-- <span style="margin-left: 10px">测量位置</span>-->
<!-- <el-select v-model="measuringPositionValue" placeholder="请选择测量位置" filterable clearable size="small" style="width: 200px" @change="getMeasuringProject()">-->
<!-- <el-option-->
<!-- v-for="item in measuringPosition"-->
<!-- :key="item.value"-->
<!-- :label="item.label"-->
<!-- :value="item.value"-->
<!-- size="mini"/>-->
<!-- </el-select>-->
</div>
<div style="margin-top: 10px">
<span style="margin-left: 10px">订单号</span>
@@ -82,35 +82,33 @@
start-placeholder="开始日期"
end-placeholder="结束日期"
@change="getOrderNumber();getTraceabilityCode();getBatchBarcode();getAssemblyNumber()"/>
<span style="margin-left: 10px">批次条码</span>
<el-select v-model="batchBarcodeValue" placeholder="请选择批次条码" clearable filterable size="small" style="width: 200px; margin-left: 13px">
<el-option
v-for="item in batchBarcode"
:key="item.value"
:label="item.label"
:value="item.value"
size="mini"/>
</el-select>
<span style="margin-left: 10px">是否合格</span>
<el-select v-model="isQualifiedValue" placeholder="请选择是否合格" clearable size="small" style="width: 240px; margin-left: 13px">
<el-option
v-for="item in isQualified"
:key="item.value"
:label="item.label"
:value="item.value"
size="mini"/>
</el-select>
<span style="margin-left: 10px">测量项目</span>
<el-select v-model="measuringProjectValue" placeholder="请选择测量项目" filterable clearable size="small" style="width: 200px">
<el-option
v-for="item in measuringProject"
:key="item.value"
:label="item.label"
:value="item.value"
size="mini"/>
</el-select>
</div>
<div style="margin: 10px 0 0 89%">
<!-- <span style="margin-left: 10px">批次条码</span>-->
<!-- <el-select v-model="batchBarcodeValue" placeholder="请选择批次条码" clearable filterable size="small" style="width: 200px; margin-left: 13px">-->
<!-- <el-option-->
<!-- v-for="item in batchBarcode"-->
<!-- :key="item.value"-->
<!-- :label="item.label"-->
<!-- :value="item.value"-->
<!-- size="mini"/>-->
<!-- </el-select>-->
<!-- <span style="margin-left: 10px">是否合格</span>-->
<!-- <el-select v-model="isQualifiedValue" placeholder="请选择是否合格" clearable size="small" style="width: 240px; margin-left: 13px">-->
<!-- <el-option-->
<!-- v-for="item in isQualified"-->
<!-- :key="item.value"-->
<!-- :label="item.label"-->
<!-- :value="item.value"-->
<!-- size="mini"/>-->
<!-- </el-select>-->
<!-- <span style="margin-left: 10px">测量项目</span>-->
<!-- <el-select v-model="measuringProjectValue" placeholder="请选择测量项目" filterable clearable size="small" style="width: 200px">-->
<!-- <el-option-->
<!-- v-for="item in measuringProject"-->
<!-- :key="item.value"-->
<!-- :label="item.label"-->
<!-- :value="item.value"-->
<!-- size="mini"/>-->
<!-- </el-select>-->
<el-button type="primary" plain size="small" icon="el-icon-search" style="margin-left: 5px" @click="selectDate()">查询</el-button>
<el-button type="info" size="small" icon="el-icon-download" @click="exportExcel()">Excel</el-button>
</div>
@@ -132,12 +130,12 @@
size="mini">
<!-- <el-table-column :selectable="selectable" type="selection" width="45" align="center"/>-->
<el-table-column type="index" width="60" label="序号" align="center"/>
<el-table-column align="center" label="订单号">
<el-table-column align="center" width="120px" label="订单号">
<template slot-scope="scope">
{{ scope.row.订单号 }}
</template>
</el-table-column>
<el-table-column align="center" label="型">
<el-table-column align="center" width="100px" label="型">
<template slot-scope="scope">
{{ scope.row.发动机型号 }}
</template>
@@ -147,27 +145,27 @@
{{ scope.row.发动机号 }}
</template>
</el-table-column>
<el-table-column align="center" label="工位号">
<el-table-column align="center" width="100px" label="工位号">
<template slot-scope="scope">
{{ scope.row.工位号 }}
</template>
</el-table-column>
<el-table-column align="center" label="工位名称">
<template slot-scope="scope">
{{ scope.row.名称 }}
</template>
</el-table-column>
<el-table-column align="center" label="测量位置">
<!-- <el-table-column align="center" label="工位名称">-->
<!-- <template slot-scope="scope">-->
<!-- {{ scope.row.名称 }}-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column align="center" width="150px" label="测量位置">
<template slot-scope="scope">
{{ scope.row.测量位置 }}
</template>
</el-table-column>
<el-table-column align="center" label="测量项目">
<el-table-column align="center" width="150px" label="测量项目">
<template slot-scope="scope">
{{ scope.row.测量项目 }}
</template>
</el-table-column>
<el-table-column align="center" label="测量值" width="80px">
<el-table-column align="center" label="测量值" width="150px">
<template slot-scope="scope">
{{ scope.row.测量值 }}
</template>
@@ -177,22 +175,22 @@
{{ scope.row.测量单位 }}
</template>
</el-table-column>
<el-table-column align="center" label="理论值" width="80px">
<template slot-scope="scope">
{{ scope.row.理论值 }}
</template>
</el-table-column>
<el-table-column align="center" label="值上限" width="80px">
<template slot-scope="scope">
{{ scope.row.上限值 }}
</template>
</el-table-column>
<el-table-column align="center" label="值下限" width="80px">
<template slot-scope="scope">
{{ scope.row.下限值 }}
</template>
</el-table-column>
<el-table-column align="center" label="生产日期">
<!-- <el-table-column align="center" label="理论值" width="80px">-->
<!-- <template slot-scope="scope">-->
<!-- {{ scope.row.理论值 }}-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column align="center" label="值上限" width="80px">-->
<!-- <template slot-scope="scope">-->
<!-- {{ scope.row.上限值 }}-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column align="center" label="值下限" width="80px">-->
<!-- <template slot-scope="scope">-->
<!-- {{ scope.row.下限值 }}-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column align="center" width="150px" label="生产日期">
<template slot-scope="scope">
{{ scope.row.生产日期 }}
</template>
@@ -325,8 +323,8 @@ export default {
getOrderNumber() {
this.orderNumber = []
var param = []
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59']
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59:59']
var Data = this.CreateData('11', '测量数据发动机在线状态_订单号_查询 ', param)
this.ExecDatabase(Data).then(response => {
for (let i = 0; i < response.data.length; i++) {
@@ -344,8 +342,8 @@ export default {
this.engineTypeValue ? engineTypeValue_check = 1 : engineTypeValue_check = 0
this.stationNumberValue ? stationNumberValue_check = 1 : stationNumberValue_check = 0
var param = []
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59']
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59:59']
param[2] = ['发动机型号_ischeck', engineTypeValue_check]
param[3] = ['发动机型号', this.engineTypeValue]
param[4] = ['工位号_ischeck', stationNumberValue_check]
@@ -368,8 +366,8 @@ export default {
this.engineTypeValue ? engineTypeValue_check = 1 : engineTypeValue_check = 0
this.stationNumberValue ? stationNumberValue_check = 1 : stationNumberValue_check = 0
var param = []
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59']
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59:59']
param[2] = ['发动机型号_ischeck', engineTypeValue_check]
param[3] = ['发动机型号', this.engineTypeValue]
param[4] = ['工位号_ischeck', stationNumberValue_check]
@@ -388,8 +386,8 @@ export default {
getBatchBarcode() {
this.batchBarcode = []
var param = []
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59']
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59:59']
param[2] = ['工位号', this.stationNumberValue]
var Data = this.CreateData('11', '物料数据分线_视图_物料条码批次号_查询 ', param)
this.ExecDatabase(Data).then(response => {
@@ -443,8 +441,8 @@ export default {
this.traceabilityCode ? traceabilityCode_check = 1 : (traceabilityCode_check = 0, this.traceabilityCode = '')
this.orderNumberValue ? orderNumberValue_check = 1 : (orderNumberValue_check = 0, this.orderNumberValue = '')
var param = []
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59']
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59:59']
param[2] = ['发动机型号_ischeck', engineTypeValue_check]
param[3] = ['发动机型号', this.engineTypeValue]
param[4] = ['发动机号_ischeck', assemblyNumberValue_check]
@@ -485,8 +483,8 @@ export default {
this.traceabilityCode ? traceabilityCode_check = 1 : (traceabilityCode_check = 0, this.traceabilityCode = '')
this.orderNumberValue ? orderNumberValue_check = 1 : (orderNumberValue_check = 0, this.orderNumberValue = '')
var param = []
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59']
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59:59']
param[2] = ['发动机型号_ischeck', engineTypeValue_check]
param[3] = ['发动机型号', this.engineTypeValue]
param[4] = ['发动机号_ischeck', assemblyNumberValue_check]

View File

@@ -4,7 +4,7 @@
<div class="topDiv">
<div>
<span style="margin-left: 10px">工位号</span>
<el-select v-model="stationNumberValue" placeholder="请选择工位号" filterable clearable size="small" style="width: 200px; margin-left: 13px" @change="getPartName();getBatchBarcode();getAssemblyNumber()">
<el-select v-model="stationNumberValue" placeholder="请选择工位号" filterable clearable size="small" style="width: 200px" @change="getPartName();getBatchBarcode();getAssemblyNumber()">
<el-option
v-for="item in stationNumber"
:key="item.value"
@@ -21,16 +21,6 @@
:value="item.value"
size="mini"/>
</el-select>
<span style="margin-left: 10px">精确追溯码</span>
<el-input v-model="traceabilityCode" placeholder="请输入精确追溯码" clearable size="small" style="width: 200px;"/>
<!-- <el-select v-model="traceabilityCode" placeholder="请选择精确追溯码" filterable clearable size="small" style="width: 200px">-->
<!-- <el-option-->
<!-- v-for="item in traceabilityCodeArr"-->
<!-- :key="item.ID"-->
<!-- :label="item.label"-->
<!-- :value="item.value"-->
<!-- size="mini"/>-->
<!-- </el-select>-->
<span style="margin-left: 10px">总成编号</span>
<el-select v-model="assemblyNumberValue" placeholder="请选择总成编号" allow-create filterable clearable size="small" style="width: 240px">
<el-option
@@ -40,17 +30,28 @@
:value="item.value"
size="mini"/>
</el-select>
<!-- <el-select v-model="traceabilityCode" placeholder="请选择精确追溯码" filterable clearable size="small" style="width: 200px">-->
<!-- <el-option-->
<!-- v-for="item in traceabilityCodeArr"-->
<!-- :key="item.ID"-->
<!-- :label="item.label"-->
<!-- :value="item.value"-->
<!-- size="mini"/>-->
<!-- </el-select>-->
</div>
<div style="margin-top: 10px">
<span style="margin-left: 10px">零件名称</span>
<el-select v-model="partNameValue" placeholder="请选择零件名称" filterable clearable size="small" style="width: 200px;">
<el-option
v-for="item in partName"
:key="item.ID"
:label="item.label"
:value="item.value"
size="mini"/>
</el-select>
<span style="margin-left: 10px">追溯码</span>
<el-input v-model="traceabilityCode" placeholder="请输入精确追溯码" clearable size="small" style="width: 200px;"/>
<!-- <span style="margin-left: 10px">零件名称</span>-->
<!-- <el-select v-model="partNameValue" placeholder="请选择零件名称" filterable clearable size="small" style="width: 200px;">-->
<!-- <el-option-->
<!-- v-for="item in partName"-->
<!-- :key="item.ID"-->
<!-- :label="item.label"-->
<!-- :value="item.value"-->
<!-- size="mini"/>-->
<!-- </el-select>-->
<span style="margin-left: 10px">时间</span>
<el-date-picker
:clearable = "false"
@@ -65,8 +66,10 @@
start-placeholder="开始日期"
end-placeholder="结束日期"
@change="getTraceabilityCode();getBatchBarcode();getAssemblyNumber()"/>
<span style="margin-left: 10px">批次条码</span>
<el-input v-model="batchBarcodeValue" placeholder="请输入批次条码" clearable size="small" style="width: 200px; margin-left: 13px"/>
<el-button type="primary" plain size="small" icon="el-icon-search" style="margin-left: 5px" @click="pageCurrent = 1,pageSize = 30,selectDate()">查询</el-button>
<el-button type="info" size="small" icon="el-icon-download" @click="exportExcel()">Excel</el-button>
<!-- <span style="margin-left: 10px">批次条码</span>-->
<!-- <el-input v-model="batchBarcodeValue" placeholder="请输入批次条码" clearable size="small" style="width: 200px; margin-left: 13px"/>-->
<!-- <el-select v-model="batchBarcodeValue" placeholder="请选择批次条码" clearable filterable size="small" style="width: 200px;margin-left: 13px">-->
<!-- <el-option-->
<!-- v-for="item in batchBarcode"-->
@@ -76,10 +79,6 @@
<!-- size="mini"/>-->
<!-- </el-select>-->
</div>
<div style="margin: 10px 0 0 89%">
<el-button type="primary" plain size="small" icon="el-icon-search" style="margin-left: 5px" @click="pageCurrent = 1,pageSize = 30,selectDate()">查询</el-button>
<el-button type="info" size="small" icon="el-icon-download" @click="exportExcel()">Excel</el-button>
</div>
<el-table
v-loading="loading"
ref="multipleTable"
@@ -97,12 +96,12 @@
size="mini">
<!-- <el-table-column :selectable="selectable" type="selection" width="45" align="center"/>-->
<el-table-column type="index" width="60" label="序号" align="center"/>
<el-table-column align="center" label="订单号">
<el-table-column align="center" width="120px" label="订单号">
<template slot-scope="scope">
{{ scope.row.订单号 }}
</template>
</el-table-column>
<el-table-column align="center" label="型">
<el-table-column align="center" width="100px" label="型">
<template slot-scope="scope">
{{ scope.row.发动机型号 }}
</template>
@@ -112,51 +111,51 @@
{{ scope.row.发动机号 }}
</template>
</el-table-column>
<el-table-column align="center" label="工位号">
<el-table-column align="center" width="100px" label="工位号">
<template slot-scope="scope">
{{ scope.row.工位号 }}
</template>
</el-table-column>
<el-table-column align="center" label="工位名称">
<template slot-scope="scope">
{{ scope.row.工序名称 }}
</template>
</el-table-column>
<el-table-column align="center" label="零件数量">
<!-- <el-table-column align="center" label="工位名称">-->
<!-- <template slot-scope="scope">-->
<!-- {{ scope.row.工序名称 }}-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column align="center" width="100px" label="零件数量">
<template slot-scope="scope">
{{ scope.row.零件数量 }}
</template>
</el-table-column>
<el-table-column align="center" label="零件名称">
<el-table-column align="center" min-width="150px" label="零件名称">
<template slot-scope="scope">
{{ scope.row.零件名称 }}
</template>
</el-table-column>
<el-table-column align="center" label="零件图号">
<template slot-scope="scope">
{{ scope.row.零件图号 }}
</template>
</el-table-column>
<el-table-column align="center" label="物料号">
<!-- <el-table-column align="center" width="150px" label="零件图号">-->
<!-- <template slot-scope="scope">-->
<!-- {{ scope.row.零件图号 }}-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column align="center" width="150px" label="物料号">
<template slot-scope="scope">
{{ scope.row.物料号 }}
</template>
</el-table-column>
<el-table-column align="center" label="生产厂家">
<template slot-scope="scope">
{{ scope.row.生产厂家 }}
</template>
</el-table-column>
<el-table-column align="center" label="物料条码">
<!-- <el-table-column align="center" label="生产厂家">-->
<!-- <template slot-scope="scope">-->
<!-- {{ scope.row.生产厂家 }}-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column align="center" min-width="150px" label="物料条码">
<template slot-scope="scope">
{{ scope.row.物料条码 }}
</template>
</el-table-column>
<el-table-column align="center" label="物料条码批次">
<template slot-scope="scope">
{{ scope.row.物料条码批次 }}
</template>
</el-table-column>
<!-- <el-table-column align="center" label="物料条码批次">-->
<!-- <template slot-scope="scope">-->
<!-- {{ scope.row.物料条码批次 }}-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column align="center" label="操作时间">
<template slot-scope="scope">
{{ scope.row.操作时间 }}
@@ -307,8 +306,8 @@ export default {
this.engineTypeValue ? engineTypeValue_check = 1 : engineTypeValue_check = 0
this.stationNumberValue ? stationNumberValue_check = 1 : stationNumberValue_check = 0
var param = []
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59']
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59:59']
// param[0] = ['开始时间', this.dateTime[0]]
// param[1] = ['结束时间', this.dateTime[1]]
param[2] = ['发动机型号_ischeck', engineTypeValue_check]
@@ -333,8 +332,8 @@ export default {
this.engineTypeValue ? engineTypeValue_check = 1 : engineTypeValue_check = 0
this.stationNumberValue ? stationNumberValue_check = 1 : stationNumberValue_check = 0
var param = []
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59']
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59:59']
// param[0] = ['开始时间', this.dateTime[0]]
// param[1] = ['结束时间', this.dateTime[1]]
param[2] = ['发动机型号_ischeck', engineTypeValue_check]
@@ -355,8 +354,8 @@ export default {
getBatchBarcode() {
this.batchBarcode = []
var param = []
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59']
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59:59']
// param[0] = ['开始时间', this.dateTime[0]]
// param[1] = ['结束时间', this.dateTime[1]]
param[2] = ['工位号', this.stationNumberValue]
@@ -411,8 +410,8 @@ export default {
this.traceabilityCode ? traceabilityCode_check = 1 : (traceabilityCode_check = 0, this.traceabilityCode = '')
this.batchBarcodeValue ? batchBarcodeValue_check = 1 : (batchBarcodeValue_check = 0, this.batchBarcodeValue = '')
var param = []
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59']
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59:59']
// param[0] = ['开始时间', this.dateTime[0]]
// param[1] = ['结束时间', this.dateTime[1]]
param[2] = ['发动机型号_ischeck', engineTypeValue_check]
@@ -451,8 +450,8 @@ export default {
this.traceabilityCode ? traceabilityCode_check = 1 : (traceabilityCode_check = 0, this.traceabilityCode = '')
this.batchBarcodeValue ? batchBarcodeValue_check = 1 : (batchBarcodeValue_check = 0, this.batchBarcodeValue = '')
var param = []
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59']
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59:59']
// param[0] = ['开始时间', this.dateTime[0]]
// param[1] = ['结束时间', this.dateTime[1]]
param[2] = ['发动机型号_ischeck', engineTypeValue_check]

View File

@@ -311,8 +311,8 @@ export default {
this.stationNumberValue ? stationNumberValue_check = 1 : (stationNumberValue_check = 0, this.stationNumberValue = '')
this.orderNumberValue ? orderNumberValue_check = 1 : (orderNumberValue_check = 0, this.orderNumberValue = '')
var param = []
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59']
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59:59']
// param[0] = ['开始时间', this.dateTime[0]]
// param[1] = ['结束时间', this.dateTime[1]]
param[2] = ['工位号_ischeck', stationNumberValue_check]
@@ -351,8 +351,8 @@ export default {
this.stationNumberValue ? stationNumberValue_check = 1 : (stationNumberValue_check = 0, this.stationNumberValue = '')
this.orderNumberValue ? orderNumberValue_check = 1 : (orderNumberValue_check = 0, this.orderNumberValue = '')
var param = []
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59']
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59:59']
// param[0] = ['开始时间', this.dateTime[0]]
// param[1] = ['结束时间', this.dateTime[1]]
param[2] = ['工位号_ischeck', stationNumberValue_check]
@@ -393,8 +393,8 @@ export default {
this.stationNumberValue ? stationNumberValue_check = 1 : (stationNumberValue_check = 0, this.stationNumberValue = '')
this.orderNumberValue ? orderNumberValue_check = 1 : (orderNumberValue_check = 0, this.orderNumberValue = '')
var param = []
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59']
param[0] = ['开始时间', this.dateTime[0] + ' ' + '00:00:00']
param[1] = ['结束时间', this.dateTime[1] + ' ' + '23:59:59']
// param[0] = ['开始时间', this.dateTime[0]]
// param[1] = ['结束时间', this.dateTime[1]]
param[2] = ['工位号_ischeck', stationNumberValue_check]

View File

@@ -18,7 +18,7 @@
class="main"
tooltip-effect="dark"
height="790px"
style="width: 100%;"
style="width: 60%;"
border
size="mini">
<el-table-column type="index" width="60" label="序号" align="center"/>
@@ -42,16 +42,16 @@
{{ scope.row.总成物料号 }}
</template>
</el-table-column>
<el-table-column align="center" label="规格(大机型)">
<template slot-scope="scope">
{{ scope.row.箱体名称 }}
</template>
</el-table-column>
<el-table-column align="center" label="型号(小机型)">
<template slot-scope="scope">
{{ scope.row.吨位名称 }}
</template>
</el-table-column>
<!-- <el-table-column align="center" label="规格(大机型)">-->
<!-- <template slot-scope="scope">-->
<!-- {{ scope.row.箱体名称 }}-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column align="center" label="型号(小机型)">-->
<!-- <template slot-scope="scope">-->
<!-- {{ scope.row.吨位名称 }}-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column align="center" label="是否禁用">
<template slot-scope="scope">
<span v-if="Number(scope.row.是否禁用) === 1"> </span>
@@ -108,26 +108,26 @@
size="small"
placeholder="总成物料号"/>
</el-form-item>
<el-form-item label="规格(大机型)" prop="boxSign" style="display: inline-block">
<el-select v-model="form.boxSign" placeholder="请选择" size="small" style="display: inline-block">
<el-option
v-for="item in boxSign"
:key="item.value"
:label="item.label"
:value="item.value"
size="mini"/>
</el-select>
</el-form-item>
<el-form-item label="型号(小机型)" prop="tonnageSign" style="display: inline-block">
<el-select v-model="form.tonnageSign" placeholder="请选择" size="small" style="display: inline-block">
<el-option
v-for="item in tonnageSign"
:key="item.value"
:label="item.label"
:value="item.value"
size="mini"/>
</el-select>
</el-form-item>
<!-- <el-form-item label="规格(大机型)" prop="boxSign" style="display: inline-block">-->
<!-- <el-select v-model="form.boxSign" placeholder="请选择" size="small" style="display: inline-block">-->
<!-- <el-option-->
<!-- v-for="item in boxSign"-->
<!-- :key="item.value"-->
<!-- :label="item.label"-->
<!-- :value="item.value"-->
<!-- size="mini"/>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="型号(小机型)" prop="tonnageSign" style="display: inline-block">-->
<!-- <el-select v-model="form.tonnageSign" placeholder="请选择" size="small" style="display: inline-block">-->
<!-- <el-option-->
<!-- v-for="item in tonnageSign"-->
<!-- :key="item.value"-->
<!-- :label="item.label"-->
<!-- :value="item.value"-->
<!-- size="mini"/>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item label="是否禁用" prop="enDisable" style="display: inline-block">
<el-select v-model="form.enDisable" placeholder="请选择" size="small" style="display: inline-block">
<el-option

View File

@@ -4,40 +4,30 @@
<div class="topDiv">
<span style="margin-left: 10px">订单号</span>
<el-select v-model="orderNumberValue" placeholder="请选择订单" clearable size="small" style="width: 150px">
<el-option
v-for="item in orderNumber"
:key="item.value"
:label="item.label"
:value="item.value"
size="mini"/>
<el-option v-for="item in orderNumber" :key="item.value" :label="item.label" :value="item.value" size="mini" />
</el-select>
<span style="margin-left: 10px">产品型号</span>
<el-select v-model="engineTypeValue" placeholder="请选择产品型号" clearable size="small" style="width: 150px">
<el-option
v-for="item in engineType"
:key="item.value"
:label="item.label"
:value="item.value"
size="mini"/>
<el-option v-for="item in engineType" :key="item.value" :label="item.label" :value="item.value" size="mini" />
</el-select>
<span style="margin-left: 10px">开始时间</span>
<el-date-picker
v-model="startPlanTime"
type="datetime"
<span style="margin-left: 10px">开始日期</span>
<el-date-picker v-model="startPlanTime" type="date" size="small" value-format="yyyy-MM-dd" placeholder="选择开始日期" />
<span style="margin-left: 10px">结束日期</span>
<el-date-picker v-model="endPlanTime" type="date" size="small" value-format="yyyy-MM-dd" placeholder="选择结束日期" />
<el-button
type="primary"
plain
size="small"
value-format="yyyy-MM-dd HH:mm:ss"
placeholder="选择开始时间"/>
<span style="margin-left: 10px">结束时间</span>
<el-date-picker
v-model="endPlanTime"
type="datetime"
icon="el-icon-search"
style="margin-left: 10px"
@click="pageSize = 15; pageCurrent = 1; searchOrder()">查询订单</el-button>
<el-button
type="distribution"
size="small"
value-format="yyyy-MM-dd HH:mm:ss"
placeholder="选择结束时间"/>
<el-button type="primary" plain size="small" icon="el-icon-search" style="margin-left: 10px" @click="pageSize=15;pageCurrent=1;searchOrder()">查询订单</el-button>
<el-button type="distribution" size="small" icon="el-icon-circle-plus" @click="creatOrder('form')">创建订单</el-button>
<el-button type="info" plain size="small" icon="el-icon-upload2" @click="importOrder('form')">订单导入</el-button>
<el-button type="info" plain size="small" icon="el-icon-download" @click="exportExcel()">订单导出</el-button>
icon="el-icon-circle-plus"
@click="creatOrder('form')">创建订单</el-button>
<!-- <el-button type="info" plain size="small" icon="el-icon-upload2" @click="importOrder('form')">订单导入</el-button>-->
<!-- <el-button type="info" plain size="small" icon="el-icon-download" @click="exportExcel()">订单导出</el-button>-->
</div>
<el-table
v-loading="loading"
@@ -45,6 +35,8 @@
:data="tableData"
:header-cell-style="{ background: '#eef1f6', color: '#606266' }"
:cell-class-name="tableRowClassName"
:expand-row-keys="expandsDetail"
:row-key="getRowKeys"
element-loading-text="数据加载中"
element-loading-spinner="el-icon-loading"
element-loading-background="rgba(0, 0, 0, 0.2)"
@@ -52,11 +44,97 @@
tooltip-effect="dark"
style="width: 100%;max-height: 700px"
border
height="800px"
size="mini"
@expand-change="selectPlan"
@selection-change="handleSelectionChange">
<el-table-column align="center" label="排序">
<el-table-column align="center" type="index" label="排序" />
<el-table-column align="center" type="expand" label="" fixed width="35">
<template slot-scope="scope" >
{{ scope.row.排序 }}
<div style="display: flex">
<!-- 计划数据盒子-->
<div style="margin: 5px 10px;width: 400px">
<el-table
:data="tableDataPrint"
:header-cell-style="{ background: '#e5e7f8', color: '#606266' }"
element-loading-text="数据加载中"
element-loading-spinner="el-icon-loading"
element-loading-background="rgba(0, 0, 0, 0.2)"
class="main"
tooltip-effect="dark"
style="width: 100%"
max-height="400px"
border
size="mini">
<el-table-column align="center" label="总成号">
<template slot-scope="scope">
{{ scope.row.零件号 }}
</template>
</el-table-column>
<el-table-column align="center" label="日期" width="100">
<template slot-scope="scope">
{{ scope.row.打印日期 }}
</template>
</el-table-column>
<el-table-column align="center" label="序列号">
<template slot-scope="scope">
{{ scope.row.打印起始号 }}
</template>
</el-table-column>
<el-table-column align="center" label="数量">
<template slot-scope="scope">
{{ scope.row.打印数量 }}
</template>
</el-table-column>
</el-table>
</div>
<!-- 详细数据盒子 -->
<div style="margin: 5px 10px;width: 1000px">
<el-table
:data="tableDataPrintDetail"
:header-cell-style="{ background: '#e5e7f8', color: '#606266' }"
element-loading-text="数据加载中"
element-loading-spinner="el-icon-loading"
element-loading-background="rgba(0, 0, 0, 0.2)"
class="main"
tooltip-effect="dark"
style="width: 100%;"
max-height="400px"
border
size="mini">
<el-table-column align="center" label="变速箱总成号" width="250">
<template slot-scope="scope">
{{ scope.row.变速箱总成号 }}
</template>
</el-table-column>
<el-table-column align="center" label="序列号" width="150">
<template slot-scope="scope">
{{ scope.row.变速箱总成号.split('*')[2] }}
</template>
</el-table-column>
<el-table-column align="center" label="总装上线时间">
<template slot-scope="scope">
{{ scope.row.上线时间 ? scope.row.上线时间 : '未上线' }}
</template>
</el-table-column>
<el-table-column align="center" label="总装下线时间">
<template slot-scope="scope">
{{ scope.row.下线时间 ? scope.row.下线时间 : '未下线' }}
</template>
</el-table-column>
<el-table-column align="center" label="测试上线时间">
<template slot-scope="scope">
{{ scope.row.测试上线时间 ? scope.row.测试上线时间 : '未上线' }}
</template>
</el-table-column>
<el-table-column align="center" label="测试下线时间">
<template slot-scope="scope">
{{ scope.row.测试下线时间 ? scope.row.测试下线时间 : '未下线' }}
</template>
</el-table-column>
</el-table>
</div>
</div>
</template>
</el-table-column>
<el-table-column align="center" label="订单号">
@@ -69,16 +147,21 @@
{{ scope.row.产品型号 }}
</template>
</el-table-column>
<el-table-column align="center" label="总成号">
<template slot-scope="scope">
{{ scope.row.零件号 }}
</template>
</el-table-column>
<el-table-column align="center" label="计划数量">
<template slot-scope="scope">
{{ scope.row.计划数量 }}
</template>
</el-table-column>
<el-table-column align="center" label="完成数量">
<template slot-scope="scope">
{{ scope.row.完成数量 }}
</template>
</el-table-column>
<!-- <el-table-column align="center" label="完成数量">-->
<!-- <template slot-scope="scope">-->
<!-- {{ scope.row.完成数量 }}-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column align="center" label="状态">-->
<!-- <template slot-scope="scope">-->
<!-- <el-tag v-if="parseInt(scope.row.订单状态) === 0" effect="plain" style="width: 70px" type="info">已结束</el-tag>-->
@@ -88,16 +171,36 @@
<!-- <el-tag v-if="parseInt(scope.row.订单状态) === 4" effect="plain" style="width: 70px" type="danger">已超额</el-tag>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column align="center" label="计划开始时间">
<el-table-column align="center" label="计划开始日期">
<template slot-scope="scope">
{{ scope.row.计划开始时间 }}
</template>
</el-table-column>
<el-table-column align="center" label="计划完成时间">
<el-table-column align="center" label="计划完成日期">
<template slot-scope="scope">
{{ scope.row.计划完成时间 }}
</template>
</el-table-column>
<el-table-column align="center" label="总装上线" width="100px">
<template slot-scope="scope">
{{ scope.row.总装上线 }}
</template>
</el-table-column>
<el-table-column align="center" label="总装下线" width="100px">
<template slot-scope="scope">
{{ scope.row.总装下线 }}
</template>
</el-table-column>
<el-table-column align="center" label="测试上线" width="100px">
<template slot-scope="scope">
{{ scope.row.测试上线 }}
</template>
</el-table-column>
<el-table-column align="center" label="测试下线" width="100px">
<template slot-scope="scope">
{{ scope.row.测试下线 }}
</template>
</el-table-column>
<el-table-column align="center" label="操作" min-width="150">
<template slot-scope="scope">
<el-button
@@ -111,19 +214,21 @@
size="mini"
type="text"
icon="el-icon-delete"
style="color: red"
@click="deleteOrder(scope.row)">删除</el-button>
<el-button
:disabled="parseInt(scope.row.订单状态) !== 2 "
size="mini"
type="text"
icon="el-icon-success"
@click="ordersIssuedEditor(scope.row)">订单下发</el-button>
<el-button
:disabled="parseInt(scope.row.订单状态) !== 1 "
size="mini"
type="text"
icon="el-icon-success"
@click="ordersIssuedEditor1(scope.row)">取消下达</el-button>
<!-- <el-button-->
<!-- :disabled="parseInt(scope.row.订单状态) !== 2 "-->
<!-- size="mini"-->
<!-- type="text"-->
<!-- icon="el-icon-success"-->
<!-- @click="ordersIssuedEditor(scope.row)">订单下发</el-button>-->
<!-- <el-button-->
<!-- :disabled="parseInt(scope.row.订单状态) !== 1 "-->
<!-- size="mini"-->
<!-- type="text"-->
<!-- icon="el-icon-success"-->
<!-- @click="ordersIssuedEditor1(scope.row)">取消下达</el-button>-->
<el-button size="mini" type="text" icon="el-icon-success" @click="printShow(scope.row)">打印条码</el-button>
</template>
</el-table-column>
</el-table>
@@ -141,43 +246,42 @@
</el-card>
<el-dialog :visible.sync="dialogFormVisible" title="创建生产订单" center style="min-height: 200px;" width="400px">
<el-form ref="form" :model="form" :rules="rules" label-position="right" label-width="110px">
<el-form-item label="订单号" prop="orderNumber" style="display: inline-block">
<el-input
v-model="form.orderNumber"
clearable
size="small"
placeholder="请输入订单号"/>
</el-form-item>
<!-- <el-form-item label="订单号" prop="orderNumber" style="display: inline-block">-->
<!-- <el-input v-model="form.orderNumber" clearable size="small" placeholder="请输入订单号" />-->
<!-- </el-form-item>-->
<el-form-item label="产品型号" prop="engineTypeValue" style="display: inline-block">
<el-select v-model="form.engineTypeValue" size="small" placeholder="请选择产品型号">
<el-option
v-for="item in engineType"
:key="item.value"
:label="item.label"
:value="item.value"/>
<el-select v-model="form.engineTypeValue" size="small" placeholder="请选择产品型号" @change="getPartCodeList">
<el-option v-for="item in engineType" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
<el-form-item label="总成号" prop="partCode" style="display: inline-block">
<el-select v-model="form.partCode" size="small" filterable placeholder="请选择总成号">
<el-option v-for="item in partCodeList" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
<el-form-item label="计划数量" prop="planQuantity" style="display: inline-block">
<el-input
<el-input-number
v-model="form.planQuantity"
clearable
:min="1"
:step="1"
size="small"
style="width: 200px;"
placeholder="请输入计划数量" />
</el-form-item>
<el-form-item label="计划开始时间" prop="startPlanTime" style="display: inline-block">
<el-date-picker
v-model="form.startPlanTime"
size="small"
type="datetime"
value-format="yyyy-MM-dd HH:mm:ss"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择开始时间" />
</el-form-item>
<el-form-item label="计划结束时间" prop="endPlanTime" style="display: inline-block">
<el-date-picker
v-model="form.endPlanTime"
size="small"
type="datetime"
value-format="yyyy-MM-dd HH:mm:ss"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择结束时间" />
</el-form-item>
</el-form>
@@ -189,43 +293,37 @@
<el-dialog :visible.sync="dialogFormVisible1" title="编辑生产订单" center style="min-height: 200px" width="400px">
<el-form ref="form1" :model="form1" :rules="rules1" label-position="right" label-width="110px">
<el-form-item label="订单号" prop="orderNumber" style="display: inline-block">
<el-input
v-model="form1.orderNumber"
readonly
disabled
size="small"
placeholder="请输入订单号"/>
<el-input v-model="form1.orderNumber" readonly size="small" placeholder="请输入订单号" />
</el-form-item>
<el-form-item label="产品型号" prop="engineTypeValue" style="display: inline-block">
<el-select v-model="form1.engineTypeValue" size="small" placeholder="请选择产品型号">
<el-option
v-for="item in engineType"
:key="item.value"
:label="item.label"
:value="item.value"/>
</el-select>
<el-input v-model="form1.engineTypeValue" readonly size="small" placeholder="产品型号" />
</el-form-item>
<el-form-item label="总成号" prop="partCode" style="display: inline-block">
<el-input v-model="form1.partCode" readonly size="small" placeholder="总成号" />
</el-form-item>
<el-form-item label="计划数量" prop="planQuantity" style="display: inline-block">
<el-input
<el-input-number
v-model="form1.planQuantity"
clearable
:min="1"
:step="1"
size="small"
style="width: 200px;"
placeholder="请输入计划数量" />
</el-form-item>
<el-form-item label="计划开始时间" prop="startPlanTime" style="display: inline-block">
<el-date-picker
v-model="form1.startPlanTime"
size="small"
type="datetime"
value-format="yyyy-MM-dd HH:mm:ss"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择开始时间" />
</el-form-item>
<el-form-item label="计划结束时间" prop="endPlanTime" style="display: inline-block">
<el-date-picker
v-model="form1.endPlanTime"
size="small"
type="datetime"
value-format="yyyy-MM-dd HH:mm:ss"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择结束时间" />
</el-form-item>
</el-form>
@@ -238,7 +336,8 @@
<div class="app-container">
<upload-excel-component style="margin-left: 15%" @on-selected-file="selected" />
<div style="margin-left: 395px">
<span v-show="worksheet.length > 1" style="cursor: pointer;width: 50px;" @click="removeAll"><i class="el-icon-close"/></span>
<span v-show="worksheet.length > 1" style="cursor: pointer;width: 50px;" @click="removeAll"><i
class="el-icon-close" /></span>
<el-upload :on-remove="handleRemove" :file-list="itemFile" style="width: 220px" action="" />
</div>
<div v-if="worksheet.length !== 0" style="margin: 3px 0 0 395px">
@@ -246,17 +345,86 @@
</div>
</div>
</el-dialog>
<el-dialog :visible.sync="dialogFormVisible4" title="打印变速器条码" center style="min-height: 200px;" width="400px">
<el-form ref="printForm" :model="printForm" :rules="printRules" label-position="right" label-width="110px">
<el-form-item label="产品型号" prop="产品型号" style="display: inline-block">
<el-input v-model="printForm.产品型号" readonly size="small" placeholder="请输入产品型号" />
</el-form-item>
<el-form-item label="总成号" prop="零件号" style="display: inline-block">
<el-input v-model="printForm.零件号" readonly size="small" placeholder="请输入总成号" />
</el-form-item>
<el-form-item label="序列号" prop="起始号码" style="display: inline-block">
<el-input :disabled="printCountPlanIsShow" v-model="printForm.起始号码" size="small" placeholder="请输入八位序列号" @blur="startKeyChange(printForm.起始号码)" />
<!-- <el-input-number-->
<!-- v-model="printForm.起始号码"-->
<!-- :min="1"-->
<!-- :step="1"-->
<!-- size="small"-->
<!-- style="width: 200px;"-->
<!-- placeholder="请输入计划数量" />-->
</el-form-item>
<el-form-item label="打印日期" prop="打印日期" style="display: inline-block">
<el-date-picker
v-model="printForm.打印日期"
:disabled="printCountPlanIsShow"
size="small"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择打印日期"
@change="getPrintDate" />
</el-form-item>
<el-form-item label="打印数量" prop="打印数量" style="display: inline-block">
<el-input-number
:disabled="printCountPlanIsShow"
v-model="printForm.打印数量"
:min="1"
:step="1"
size="small"
style="width: 200px;"
placeholder="请输入打印数量" />
</el-form-item>
<div v-if="printCountPlanIsShow" style="text-align: center;color: #3c9445;font-size: 20px">打印进度{{ printCountPlan }} / {{ printForm.打印数量 }} </div>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button size="small" @click="callOffPrint()">取消</el-button>
<el-button :disabled="isAllowAddClike" type="primary" size="small" @click="submitAddPrint('printForm')">确定</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import UploadExcelComponent from './UploadExcel.vue'
import { sleep } from '../../../utils/tool'
import { Mqtt } from '../../../utils/mqtt.js'
export default {
name: 'UploadExcel',
components: { UploadExcelComponent },
data() {
return {
expands: [],
expandsDetail: [],
mqttClient: null,
mqttConnection: {
host: window.g.mqttIP,
port: window.g.mqttPortNumber,
endpoint: '/mqtt',
clean: true, // 保留会话
connectTimeout: 4000, // 超时时间
reconnectPeriod: 4000, // 重连时间间隔
clientId: '', // 同一个ID 无法二次连接
username: 'MES_Manager',
password: '123456'
},
subscription: {
topic: '',
qos: 0
},
publication: {
topic: '',
qos: 0,
payload: ''
},
worksheet: [],
itemFile: [],
unSpecification: [],
@@ -272,15 +440,34 @@ export default {
OrderNumber_check: 0,
engineTypeValue: '',
engineType: [],
partCodeList: [],
OKWarehouseValue: '',
OKWarehouse: [],
NGWarehouseValue: '',
NGWarehouse: [],
engineType_check: 0,
printForm: { // 创建订单
订单号: '',
零件号: '',
产品型号: '',
产品型号代码: '',
起始号码: '',
打印日期: '',
打印数量: 1
},
printRules: { // 打印条码验证
零件号: [{ required: true, message: '请输入总成号', trigger: 'blur' }],
订单号: [{ required: true, message: '请输入订单号', trigger: 'blur' }],
产品型号: [{ required: true, message: '请输入产品型号', trigger: 'blur' }],
起始号码: [{ required: true, min: 8, message: '长度最少为八位', trigger: 'blur' }],
打印日期: [{ required: true, message: '请选择打印日期', trigger: 'blur' }],
打印数量: [{ required: true, message: '请输入打印数量', trigger: 'blur' }]
},
form: { // 创建订单
planQuantity: '',
orderNumber: '',
engineTypeValue: '',
partCode: '',
startPlanTime: '',
endPlanTime: '',
quantityCompletion: ''
@@ -289,6 +476,7 @@ export default {
planQuantity: [{ required: true, message: '请输入计划数量', trigger: 'blur' }],
orderNumber: [{ required: true, message: '请输入订单号', trigger: 'blur' }],
engineTypeValue: [{ required: true, message: '请选择机型', trigger: 'blur' }],
partCode: [{ required: true, message: '请选择总成号', trigger: 'blur' }],
startPlanTime: [{ required: true, message: '请选择计划开始时间', trigger: 'blur' }],
endPlanTime: [{ required: true, message: '请选择计划结束时间', trigger: 'blur' }],
quantityCompletion: [{ required: true, message: '请输入计划完成数量', trigger: 'blur' }]
@@ -299,6 +487,7 @@ export default {
engineTypeValue: '',
startPlanTime: '',
endPlanTime: '',
partCode: '',
quantityCompletion: 0,
MID: '',
rank: ''
@@ -307,6 +496,7 @@ export default {
planQuantity: [{ required: true, message: '请输入计划数量', trigger: 'blur' }],
orderNumber: [{ required: true, message: '请输入订单号', trigger: 'blur' }],
engineTypeValue: [{ required: true, message: '请选择机型', trigger: 'blur' }],
partCode: [{ required: true, message: '请选择总成号', trigger: 'blur' }],
startPlanTime: [{ required: true, message: '请选择计划开始时间', trigger: 'blur' }],
endPlanTime: [{ required: true, message: '请选择计划结束时间', trigger: 'blur' }],
quantityCompletion: [{ required: true, message: '请输入计划完成数量', trigger: 'blur' }]
@@ -344,11 +534,17 @@ export default {
endPlanTime: '',
endPlanTime_check: 0,
tableData: [],
tableDataPrint: [],
tableDataPrintDetail: [],
importData: [],
dialogFormVisible: false, // 创建订单
dialogFormVisible1: false, // 修改订单
dialogFormVisible3: false, // 订单导入
dialogFormVisible4: false, // 打印
isAllowAddClike: false, // 打印按钮是否禁用
states: '', // 当前库存状态
printCountPlan: 0, // 打印进度条
printCountPlanIsShow: false, // 打印进度条是否显示
MIDGroup: [],
total: 0, // 总条数
pageList: 15, // 每页显示条数
@@ -360,9 +556,56 @@ export default {
created() {
this.getOrderNumber()
this.getEndStation()
this.getPartCodeList()
this.searchOrder()
},
mounted() {
if (window.g.mqttClient) {
window.g.mqttClient.destroyConnection()
}
this.mqttConnection.username = 'MES_Manager_Plan'
window.g.mqttClient = new Mqtt(this.mqttConnection)
window.g.mqttClient.createConnection()
window.g.mqttClient.client.on('connect', () => {
console.log('MQTT Connection succeeded!')
})
// this.subscription.topic = window.g.mqttSubscriptionTopic
// window.g.mqttClient.doSubscribe(this.subscription)
// 使用过程中的报错 断开连接 服务端出问题
window.g.mqttClient.client.on('error', error => {
console.log('Connection failed', error)
})
window.g.mqttClient.client.on('message', (topic, message) => {
console.log('Received message:', topic, message.toString())
})
},
beforeDestroy() {
if (window.g.mqttClient.client.connected) {
const destroyConnection = window.g.mqttClient.destroyConnection()
if (destroyConnection) {
this.$message({
message: 'MQTT断开成功',
type: 'success'
})
} else {
this.$message({
message: 'MQTT断开失败',
type: 'error'
})
}
}
},
methods: {
printShow(row) {
this.printForm.订单号 = row.订单号
this.printForm.产品型号 = row.产品型号
this.printForm.产品型号代码 = row.机型代码
this.printForm.零件号 = row.零件号
this.printForm.打印日期 = this.getNowFormatDate()
this.printForm.打印数量 = 1
this.dialogFormVisible4 = true
},
removeAll() {
this.worksheet = []
this.itemFile = []
@@ -407,6 +650,45 @@ export default {
}
})
},
// 日期框点击事件
getPrintDate(date) {
this.printForm.打印日期 = date
},
// 获取当前日期函数
getNowFormatDate() {
const date = new Date()
const year = date.getFullYear() // 获取完整的年份(4位)
let month = date.getMonth() + 1 // 获取当前月份(0-11,0代表1月)
let strDate = date.getDate() // 获取当前日(1-31)
if (month < 10) month = `0${month}` // 如果月份是个位数在前面补0
if (strDate < 10) strDate = `0${strDate}` // 如果日是个位数在前面补0
return `${year}-${month}-${strDate}`
},
// 初始化获取产品型号
getPartCodeList() {
this.partCodeList = []
var param = []
param[0] = ['基本机型', this.form.engineTypeValue]
var Data = this.CreateData('11', '北汽福田订单创建零件号_查询', param)
this.ExecDatabase(Data).then(response => {
if (response.data.length === 0) {
this.$message({
type: 'error',
message: '该机型没有对应的零件号'
})
return false
} else {
for (let i = 0; i < response.data.length; i++) {
this.partCodeList.push({
label: response.data[i].零件号,
value: response.data[i].零件号
})
}
this.form.partCodeValue = this.partCodeList[0].value
}
})
},
// 初始化获取订单号
getOrderNumber() {
this.orderNumber = []
@@ -423,8 +705,46 @@ export default {
}
})
},
// 控制展开列
selectPlan(row, expandedRows) {
if (expandedRows.length) {
this.expands = []
this.expandsDetail = []
if (row) {
this.tableDataPrint = []
var param = []
param[0] = ['工单号', row.订单号]
var Data = this.CreateData('11', '生产计划_派工订单_打印_查询', param)
this.ExecDatabase(Data).then(response => {
console.log(response.data)
if (response.data.length !== 0) {
this.tableDataPrint = response.data
}
this.expands.push(row.订单号)
})
this.tableDataPrintDetail = []
var Data2 = this.CreateData('11', '生产计划_派工订单_打印详细_查询', param)
this.ExecDatabase(Data2).then(response => {
console.log(response.data)
if (response.data.length !== 0) {
this.tableDataPrintDetail = response.data
}
this.expandsDetail.push(row.订单号)
})
}
} else {
this.expands = []
this.expandsDetail = []
}
},
// 获取展开列的工单号
getRowKeys(row) {
return row.订单号
},
// 查询订单
searchOrder() {
this.expands = []
this.tableData = []
this.startPlanTime ? this.startPlanTime_check = 1 : this.startPlanTime_check = 0
this.endPlanTime ? this.endPlanTime_check = 1 : this.endPlanTime_check = 0
@@ -447,7 +767,6 @@ export default {
param[11] = ['ItemCount', '1111', 'int', '1']
var Data = this.CreateData('11', 'MES_计划BOM_发动机订单计划_查询分页', param)
this.ExecDatabase(Data).then(response => {
console.log(response, 66)
if (response.data.result.length !== 0) {
this.tableData = response.data.result
}
@@ -471,14 +790,13 @@ export default {
this.$refs[formName].validate((valid) => {
if (valid) {
var param = []
param[0] = ['订单号', this.form.orderNumber]
// param[0] = ['订单号', this.form.orderNumber]
param[1] = ['产品型号', this.form.engineTypeValue]
param[2] = ['计划开始时间', this.form.startPlanTime]
param[3] = ['计划完成时间', this.form.endPlanTime]
param[4] = ['计划数量', this.form.planQuantity]
// param[5] = ['完成数量', this.form.quantityCompletion]
param[5] = ['排序', this.form.quantityCompletion]
// param[6] = ['结果', '1111', 'int', '1']
param[0] = ['零件号', this.form.partCode]
var Data = this.CreateData('12', 'MES_计划BOM_发动机订单计划_订单手动增加', param)
this.ExecDatabase(Data).then(response => {
if (response.data[0].result === '1') {
@@ -501,6 +819,112 @@ export default {
}
})
},
submitAddPrint(formName) {
if (this.printForm.起始号码.length < 8) return
this.$refs[formName].validate((valid) => {
const scope = this
var param = []
param[0] = ['工单号', this.printForm.订单号]
param[1] = ['零件号', this.printForm.零件号]
param[2] = ['打印起始号', this.printForm.起始号码]
param[3] = ['打印数量', this.printForm.打印数量]
param[4] = ['打印日期', this.printForm.打印日期]
var Data = this.CreateData('12', '生产计划_派工订单_打印_增加', param)
this.ExecDatabase(Data).then(response => {
if (response.data[0].result === '1') {
this.$message({
message: '开始打印变速器条码',
type: 'success'
})
// 置空进度条进度
this.printCountPlan = 0
this.printCountPlanIsShow = true
this.searchPrintListFinal()
const printPartCode = this.printForm.零件号
const printTemplate = window.g.printTemplate
const printStartNum = parseInt(this.printForm.起始号码)
const printDate = typeof (this.printForm.打印日期) === 'string' ? new Date(this.printForm.打印日期) : this.printForm.打印日期
const printCount = this.printForm.打印数量
const printDateFinal = printDate.getFullYear() + '' + ((printDate.getMonth() + 1) >= 10 ? (printDate.getMonth() + 1) : '0' + (printDate.getMonth() + 1)) + '' + (printDate.getDate() >= 10 ? printDate.getDate() : '0' + printDate.getDate())
for (let i = 0; i < printCount; i++) {
(function(t) { // 注意这里是形参
setTimeout(function() {
const printCountFinal = (printStartNum + t).toString().padStart(8, '0')
const printFinal = printPartCode.replaceAll(' ', '') + '*' + printDateFinal + '*' + printCountFinal
scope.publication.topic = window.g.mqttPublishTopic
scope.publication.payload = `J07MA000~1~${printTemplate}|BarCode^Code0^${printFinal}|TEXT^TEXT0^${printFinal}`
const result = window.g.mqttClient.doPublish(scope.publication)
console.log(result, printFinal)
scope.submitAddPrintList(scope.printForm.订单号, scope.printForm.产品型号, scope.printForm.产品型号代码, scope.printForm.零件号, printFinal)
}, 100 * t)
})(i)
}
} else {
this.$message.error('打印变速器条码失败!')
}
})
})
},
// 判断起始号是否重复打印
startKeyChange() {
var param = []
param[0] = ['起始号', this.printForm.起始号码]
param[1] = ['机型', this.printForm.产品型号]
var Data = this.CreateData('11', '生产计划_派工订单_打印记录_是否重复_查询', param)
this.ExecDatabase(Data).then(response => {
if (response.data[0].result === 2) {
this.$message.error(response.data[0].msg)
this.isAllowAddClike = true
} else {
this.isAllowAddClike = false
}
})
},
// 提交新增订单
submitAddPrintList(orderCode, engineType, engineTypeValue, partCode, engineId) {
var param = []
param[0] = ['订单号', orderCode]
param[1] = ['零件号', partCode]
param[2] = ['变速箱总成号', engineId]
param[3] = ['机型代码', engineTypeValue]
param[4] = ['机型', engineType]
var Data = this.CreateData('12', '生产计划_派工订单_打印记录_增加', param)
this.ExecDatabase(Data).then(response => {
if (response.data[0].result === '1') {
// this.$message({
// message: '订记录成功',
// type: 'success'
// })
this.printCountPlan++
if (this.printCountPlan === Number(this.printForm.打印数量)) {
this.$message({
message: '全部条码打印完成',
type: 'success'
})
// 关闭进度条 关闭打印窗口
this.printCountPlanIsShow = false
this.dialogFormVisible4 = false
}
} else {
this.$message.error('记录失败!')
}
})
},
callOffPrint() {
this.searchPrintListFinal()
this.dialogFormVisible4 = false
},
searchPrintListFinal() {
this.tableDataPrint = []
const param = []
param[0] = ['工单号', this.printForm.订单号]
const Data = this.CreateData('11', '生产计划_派工订单_打印_查询', param)
this.ExecDatabase(Data).then(response => {
if (response.data.length !== 0) {
this.tableDataPrint = response.data
}
})
},
// 取消新增订单
callOff(formName) {
this.dialogFormVisible = false
@@ -545,9 +969,9 @@ export default {
if (this.$refs['form1'] !== undefined) {
this.$refs['form1'].resetFields()
}
console.log(row.排序)
this.form1.planQuantity = row.计划数量
this.form1.orderNumber = row.订单号
this.form1.partCode = row.零件号
this.form1.startPlanTime = row.计划开始时间
this.form1.endPlanTime = row.计划完成时间
this.form1.quantityCompletion = row.完成数量
@@ -561,13 +985,10 @@ export default {
this.$refs['form1'].validate((valid) => {
if (valid) {
var param = []
param[0] = ['订单号', this.form1.orderNumber]
param[1] = ['产品型号', this.form1.engineTypeValue]
param[2] = ['计划开始时间', this.form1.startPlanTime]
param[3] = ['计划完成时间', this.form1.endPlanTime]
param[4] = ['计划数量', this.form1.planQuantity]
param[5] = ['MID', this.form1.MID]
param[6] = ['排序', this.form1.rank]
param[0] = ['计划开始时间', this.form1.startPlanTime]
param[1] = ['计划完成时间', this.form1.endPlanTime]
param[2] = ['计划数量', this.form1.planQuantity]
param[3] = ['MID', this.form1.MID]
var Data = this.CreateData('12', '订单计划_修改', param)
this.ExecDatabase(Data).then(response => {
if (response.data[0].result === '1') {
@@ -825,10 +1246,12 @@ export default {
handleSizeChange(val) {
this.pageCurrent = 1
this.pageSize = val
this.expands = []
this.searchOrder()
},
handleCurrentChange(val) {
this.pageCurrent = val
this.expands = []
this.searchOrder()
}
}
@@ -839,15 +1262,19 @@ export default {
.topCard {
margin: 5px;
}
.topDiv {
margin-bottom: 10px;
}
.el-select {
width: 200px
}
.el-input {
width: 200px
}
.text {
font-size: 14px;
}
@@ -862,6 +1289,7 @@ export default {
top: 80px;
width: 300px;
}
.el-table .warning-row {
background: oldlace;
}

View File

@@ -3,53 +3,40 @@
<el-card class="topCard">
<div class="topDiv">
<span style="margin-left: 10px">产品型号</span>
<el-select v-model="engineTypeValue" placeholder="请选择产品型号" clearable size="small" style="width: 150px">
<el-option
v-for="item in engineType"
:key="item.value"
:label="item.label"
:value="item.value"
size="mini"/>
<el-select
v-model="engineTypeValue"
placeholder="请选择产品型号"
clearable
size="small"
style="width: 150px"
@change="getPartCodeList">
<el-option v-for="item in engineType" :key="item.value" :label="item.label" :value="item.value" size="mini" />
</el-select>
<span style="margin-left: 10px">计划状态</span>
<el-select v-model="statePlanValue" placeholder="请选择状态" clearable size="small" style="width: 150px">
<el-option
v-for="item in statePlan"
:key="item.value"
:label="item.label"
:value="item.value"
size="mini"/>
<span style="margin-left: 10px">总成号</span>
<el-select v-model="partCodeValue" placeholder="请选择状态" clearable filterable size="small" style="width: 150px">
<el-option v-for="item in partCodeList" :key="item.value" :label="item.label" :value="item.value" size="mini" />
</el-select>
<span style="margin-left: 10px">导入时间</span>
<span style="margin-left: 10px">计划日期</span>
<el-date-picker
v-model="importTime"
:clearable="false"
size="small"
type="daterange"
align="center"
style="width: 240px;"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
range-separator=""
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期" />
<span style="margin-left: 10px">下达时间</span>
<el-date-picker
v-model="releaseTime"
<el-button
type="primary"
plain
size="small"
type="daterange"
align="center"
style="width: 240px;"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
range-separator=""
start-placeholder="开始日期"
end-placeholder="结束日期"/>
<el-button type="primary" plain size="small" icon="el-icon-search" style="margin-left: 5px" @click="pageSize=15;pageCurrent=1;searchOrder()">查询</el-button>
<!-- <el-button type="distribution" size="small" icon="el-icon-top" @click="topOrder()">上移</el-button>-->
<!-- <el-button type="distribution" size="small" icon="el-icon-bottom" @click="downOrder()">下移</el-button>-->
<!-- <el-button type="distribution" size="small" icon="el-icon-error" @click="stopOrder()">禁用</el-button>-->
<!-- <el-button type="distribution" size="small" icon="el-icon-check" @click="startOrder">启用</el-button>-->
<el-button type="info" size="small" icon="el-icon-download" @click="exportExcel()">Excel</el-button>
icon="el-icon-search"
style="margin-left: 5px"
@click="pageSize = 50; pageCurrent = 1; searchOrder()">查询</el-button>
<!-- <el-button type="info" size="small" icon="el-icon-download" @click="exportExcel()">Excel</el-button>-->
</div>
<el-table
v-loading="loading"
@@ -62,13 +49,14 @@
element-loading-background="rgba(0, 0, 0, 0.2)"
class="main"
tooltip-effect="dark"
style="width: 100%;max-height: 700px"
style="width: 100%"
max-height="700px"
border
size="mini">
<!-- <el-table-column :selectable="selectable" type="selection" width="45" align="center"/>-->
<el-table-column align="center" width="80px" label="排序">
<el-table-column align="center" type="index" width="80px" label="序号" />
<el-table-column align="center" label="总成编号" min-width="120px">
<template slot-scope="scope">
{{ scope.row.排序 }}
{{ scope.row.变速箱总成号 }}
</template>
</el-table-column>
<el-table-column align="center" label="订单号">
@@ -76,81 +64,76 @@
{{ scope.row.订单号 }}
</template>
</el-table-column>
<el-table-column align="center" label="产品型号">
<!-- <el-table-column align="center" label="产品型号" width="80px">-->
<!-- <template slot-scope="scope">-->
<!-- {{ scope.row.机型 }}-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column align="center" min-width="80px" label="总成号">
<template slot-scope="scope">
{{ scope.row.产品型 }}
{{ scope.row.零件 }}
</template>
</el-table-column>
<el-table-column align="center" width="80px" label="计划数量">
<template slot-scope="scope">
{{ scope.row.计划数量 }}
</template>
</el-table-column>
<el-table-column align="center" width="80px" label="完成数量">
<template slot-scope="scope">
{{ scope.row.完成数量 }}
</template>
</el-table-column>
<el-table-column align="center" label="状态">
<template slot-scope="scope">
{{ scope.row.订单状态名称 }}
</template>
</el-table-column>
<el-table-column align="center" label="计划开始时间">
<el-table-column align="center" label="计划开始日期">
<template slot-scope="scope">
{{ scope.row.计划开始时间 }}
</template>
</el-table-column>
<el-table-column align="center" label="计划完成时间">
<el-table-column align="center" label="计划完成日期">
<template slot-scope="scope">
{{ scope.row.计划完成时间 }}
</template>
</el-table-column>
<el-table-column align="center" label="导入时间">
<el-table-column align="center" label="总装上线时间">
<template slot-scope="scope">
{{ scope.row.操作时间 }}
{{ scope.row.上线时间 ? scope.row.上线时间 : '未上线' }}
</template>
</el-table-column>
<el-table-column align="center" label="下发时间">
<el-table-column align="center" label="总装下线时间">
<template slot-scope="scope">
{{ scope.row.发时间 }}
{{ scope.row.线时间 ? scope.row.下线时间 : '未下线' }}
</template>
</el-table-column>
<el-table-column align="center" label="是否禁用">
<el-table-column align="center" label="测试上线时间">
<template slot-scope="scope">
{{ scope.row.是否禁用 }}
{{ scope.row.测试上线时间 ? scope.row.测试上线时间 : '未上线' }}
</template>
</el-table-column>
<el-table-column align="center" label="操作" width="280">
<el-table-column align="center" label="测试下线时间">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-top"
@click="topOrder(scope.row)">上移</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-bottom"
@click="downOrder(scope.row)">下移</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-error"
@click="stopOrder(scope.row)">禁用</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-check"
@click="startOrder(scope.row)">启用</el-button>
{{ scope.row.测试下线时间 ? scope.row.测试下线时间 : '未下线' }}
</template>
</el-table-column>
<!-- <el-table-column align="center" label="操作" width="280">-->
<!-- <template slot-scope="scope">-->
<!-- <el-button-->
<!-- size="mini"-->
<!-- type="text"-->
<!-- icon="el-icon-top"-->
<!-- @click="topOrder(scope.row)">上移</el-button>-->
<!-- <el-button-->
<!-- size="mini"-->
<!-- type="text"-->
<!-- icon="el-icon-bottom"-->
<!-- @click="downOrder(scope.row)">下移</el-button>-->
<!-- <el-button-->
<!-- size="mini"-->
<!-- type="text"-->
<!-- icon="el-icon-error"-->
<!-- @click="stopOrder(scope.row)">禁用</el-button>-->
<!-- <el-button-->
<!-- size="mini"-->
<!-- type="text"-->
<!-- icon="el-icon-check"-->
<!-- @click="startOrder(scope.row)">启用</el-button>-->
<!-- </template>-->
<!-- </el-table-column>-->
</el-table>
<div class="block" style="margin-top: 10px;">
<el-pagination
v-if="!loading"
:current-page="pageCurrent"
:page-sizes="[15, 30, 40]"
:page-sizes="[50, 100, 200]"
:page-size="pageSize"
:total="total"
layout="total, sizes, prev, pager, next, jumper"
@@ -162,19 +145,23 @@
</template>
<script>
// import { getNowTime3 } from '@/utils/tool'
export default {
data() {
return {
partCodeList: [], // 零件号数组
partCodeValue: '', // 零件号
tableData: [], // 总数据数组
engineTypeValue: '', // 产品型号
engineType: [], // 产品型号数组
statePlan: [], // 计划状态数组
statePlanValue: '', // 计划状态
importTime: '', // 计划状态
importTime: [], // 计划状态
releaseTime: '', // 计划状态
total: 0, // 总条数
pageList: 15, // 每页显示条数
pageSize: 15, // 每页显示条数
pageList: 50, // 每页显示条数
pageSize: 50, // 每页显示条数
pageCurrent: 1, // 后台获取页
mid: [], // id
loading: false,
@@ -182,7 +169,14 @@ export default {
}
},
created() {
this.getStatePlan()
this.date = new Date() // 修改数据date
const year = new Date().getFullYear()
const month = new Date().getMonth() + 1 < 10 ? '0' + (new Date().getMonth() + 1) : new Date().getMonth() + 1
const day = new Date().getDate() < 10 ? '0' + new Date().getDate() : new Date().getDate()
const audiTime = year + '-' + month + '-' + day
this.importTime = [audiTime, audiTime]
// this.getStatePlan()
this.getPartCodeList()
this.getEndStation()
this.searchOrder()
},
@@ -232,32 +226,43 @@ export default {
}
})
},
// 初始化获取产品型号
getPartCodeList() {
this.partCodeList = []
var param = []
param[0] = ['基本机型', this.engineTypeValue]
var Data = this.CreateData('11', '北汽福田订单创建零件号_查询', param)
this.ExecDatabase(Data).then(response => {
if (response.data.length === 0) {
this.$message({
type: 'error',
message: '该机型没有对应的总成号'
})
return false
} else {
for (let i = 0; i < response.data.length; i++) {
this.partCodeList.push({
label: response.data[i].零件号,
value: response.data[i].零件号
})
}
}
})
},
// 查询订单
searchOrder() {
this.tableData = []
let engineTypeValue_check, statePlan_check, importTime_check, releaseTime_check
this.importTime ? importTime_check = 1 : (importTime_check = 0, this.importTime = '')
this.engineTypeValue ? engineTypeValue_check = 1 : (engineTypeValue_check = 0, this.engineTypeValue = '')
this.statePlanValue ? statePlan_check = 1 : (statePlan_check = 0, this.statePlanValue = '')
this.releaseTime ? releaseTime_check = 1 : (releaseTime_check = 0, this.releaseTime = '')
var param = []
param[0] = ['导入时间_check', importTime_check]
param[1] = ['导入开始时间', this.importTime[0]]
param[2] = ['导入完成时间', this.importTime[1]]
param[3] = ['下发时间_check', releaseTime_check]
param[4] = ['下发开始时间', this.releaseTime[0]]
param[5] = ['下发完成时间', this.releaseTime[1]]
param[6] = ['产品型号_check', engineTypeValue_check]
param[7] = ['产品型号', this.engineTypeValue]
param[8] = ['PageCurrent', this.pageCurrent]
param[9] = ['PageSize', this.pageSize]
param[10] = ['PageCount', '1111', 'int', '1']
param[11] = ['ItemCount', '1111', 'int', '1']
param[12] = ['订单状态_check', statePlan_check]
param[13] = ['订单状态', this.statePlanValue]
param[0] = ['零件号', this.partCodeValue]
param[1] = ['导入开始时间', this.importTime[0] + ' ' + '00:00:00']
param[2] = ['导入完成时间', this.importTime[1] + ' ' + '23:59:59']
param[3] = ['产品型号', this.engineTypeValue]
param[4] = ['PageCurrent', this.pageCurrent]
param[5] = ['PageSize', this.pageSize]
param[6] = ['PageCount', '1111', 'int', '1']
param[7] = ['ItemCount', '1111', 'int', '1']
var Data = this.CreateData('11', 'MES_计划BOM_发动机订单计划_下发查询', param)
this.ExecDatabase(Data).then(response => {
console.log(response, 66)
if (response.data.result.length !== 0) {
this.tableData = response.data.result
}
@@ -279,7 +284,7 @@ export default {
type: 'success'
})
this.pageCurrent = 1
this.pageSize = 15
this.pageSize = 50
this.searchOrder()
} else {
this.$message.error('上移失败!')
@@ -303,7 +308,7 @@ export default {
type: 'success'
})
this.pageCurrent = 1
this.pageSize = 15
this.pageSize = 50
this.searchOrder()
} else {
this.$message.error('下移失败!')
@@ -327,7 +332,7 @@ export default {
type: 'success'
})
this.pageCurrent = 1
this.pageSize = 15
this.pageSize = 50
this.searchOrder()
} else {
this.$message.error('禁用失败!')
@@ -351,7 +356,7 @@ export default {
type: 'success'
})
this.pageCurrent = 1
this.pageSize = 15
this.pageSize = 50
this.searchOrder()
} else {
this.$message.error('启用失败!')
@@ -386,18 +391,15 @@ export default {
}
},
tableRowClassName({ row, rowIndex }) {
if (row.订单状态 === 2) {
return 'no-accept'
} else if (row.订单状态 === 1) {
return 'assembly'
} else if (row.订单状态 === 0) {
if (row.是否下线 === 1 || row.测试下线 === 1) {
return 'complete'
} else if (row.订单状态 === 3) {
return 'suspend'
}
if (Number(row.订单状态) === 4) {
if (row.是否上线 === 1 || row.测试上线 === 1) {
return 'is-group'
}
if (row.是否上线 === 0 || row.测试上线 === 0) {
return 'no-accept'
}
},
// 分页
handleSizeChange(val) {
@@ -414,17 +416,21 @@ export default {
</script>
<style>
.el-table .no-accept {
background: #F2D1D6!important;
background: #ffffff !important;
}
.el-table .is-group {
background: #FFF582 !important;
}
.el-table .assembly {
background: #C4E1FF !important;
}
.el-table .complete {
background: #c6d7b3 !important;
}
.el-table .suspend {
background: #FFD1A4 !important;
}
@@ -433,15 +439,19 @@ export default {
.topCard {
margin: 5px;
}
.topDiv {
margin-bottom: 10px;
}
.el-select {
width: 200px
}
.el-input {
width: 200px
}
.text {
font-size: 14px;
}
@@ -456,6 +466,7 @@ export default {
top: 80px;
width: 300px;
}
.el-table .warning-row {
background: oldlace;
}

View File

@@ -6,7 +6,7 @@
<breadcrumb />
<el-dropdown class="avatar-container" trigger="click">
<div class="avatar-wrapper">
<img :src="require('@/assets/img/MES.png')" class="user-avatar">
<img :src="require('@/assets/img/leftPic.png')" class="user-avatar">
<i class="el-icon-caret-bottom"/>
</div>
<el-dropdown-menu slot="dropdown" class="user-dropdown">
@@ -20,7 +20,21 @@
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<!-- <div style="position: absolute;right: 20%;top:8px">-->
<!-- <el-badge v-if="showError" :value="errorCount" type="danger">-->
<!-- <el-button size="small" type="warning" @click="showOrder">昨日未生产订单</el-button>-->
<!-- </el-badge>-->
<!-- </div>-->
</el-menu>
<el-dialog :visible.sync="dialogFormVisible4" title="未生产订单" center style="min-height: 200px" width="400px">
<div style="font-size: 1.5rem;color: #ff0000">
昨日有未生产完成的订单请前往处理
</div>
<div slot="footer" class="dialog-footer">
<el-button size="small" @click="dialogFormVisible4 = false">取消</el-button>
<el-button type="primary" size="small" @click="submitAdd4()">处理订单</el-button>
</div>
</el-dialog>
</div>
</template>
@@ -43,7 +57,7 @@ import { searchTable1 as searchContractApproval } from '@/api/WorkshopProcuremen
/* import { searchTable } from '@/api/PurchasingCenter/PurchaseMaterielModify'
import { search } from '@/api/Assembly/DeliveryConfirmation'
import { searchtable as searchtableSupplement } from '@/api/WorkshopProcurement/ScrappedSupplementaryInvestment1'*/ // 查询报废补投零件
import Cookies from 'js-cookie'
// import Cookies from 'js-cookie'
export default {
components: {
Breadcrumb,
@@ -51,6 +65,10 @@ export default {
},
data() {
return {
tableData: [],
errorCount: 0,
showError: false,
dialogFormVisible4: false,
timer: '',
noticeFund: null,
noticeInvoice: null,
@@ -89,8 +107,10 @@ export default {
'token'
])
},
created() {
// this.showOrder()
},
mounted() {
console.log(Cookies.get('id'), 999)
/* if (this.id === 3 || Cookies.get('id') === 3) { // id=3 沈大为 总经理
this.checkApproval()
this.timer = setInterval(this.checkApproval, 1000 * 60 * 5)
@@ -393,6 +413,26 @@ export default {
}
})
},
showOrder() {
// 未完成订单查询
var param = []
var Data = this.CreateData('11', 'MES_计划BOM_发动机订单计划_未完成计划_查询', param)
this.ExecDatabase(Data).then(response => {
console.log(response.data)
if (response.data.length > 0) {
this.errorCount = response.data.length
this.showError = true
this.dialogFormVisible4 = true
} else {
this.showError = false
}
})
},
submitAdd4() {
this.$router.push({
// param参数用name query 参数用 path
path: '/WorkOrderManagement/ScheduleStatusChange' })
},
toggleSideBar() {
this.$store.dispatch('ToggleSideBar')
},

View File

@@ -2,7 +2,7 @@
<div>
<el-scrollbar wrap-class="scrollbar-wrapper">
<div v-show="isShow" class="img-wrapper">
<img :src="require('@/assets/img/MESWORK.png')">
<img :src="require('@/assets/img/logo.png')" width="165px" height="49px">
<!-- <span style="font-size: 18px; font-weight: bold; color: white;margin-top: 7px">迈思信息<br>-->
<!-- <span style="font-size: 13px; color: white;margin-top: 0px!important;">MESWORK</span>-->
<!-- </span>-->
@@ -68,12 +68,13 @@ export default {
</script>
<style lang="scss" scoped>
.img-wrapper{
display: flex;
background-color: #1576e8 !important;
background-color: #ffffff !important;
text-align: center;
border-bottom: 1px solid #1576e8;
img{
width: 137px;
height: 38px;
margin: 6px 10px 5px 45px;
//width: 137px;
//height: 38px;
//margin: 6px 10px 5px 45px;
}
}
</style>

View File

@@ -1,71 +0,0 @@
<template>
<div :class="classObj" class="app-wrapper">
<div v-if="device==='mobile'&&sidebar.opened" class="drawer-bg" @click="handleClickOutside"/>
<sidebar class="sidebar-container"/>
<div class="main-container">
<navbar/>
<tags-view/>
<app-main/>
</div>
</div>
</template>
<script>
import { Navbar, Sidebar, AppMain, TagsView } from './components'
import ResizeMixin from './mixin/ResizeHandler'
export default {
name: 'Layout',
components: {
Navbar,
Sidebar,
AppMain,
TagsView
},
mixins: [ResizeMixin],
computed: {
sidebar() {
return this.$store.state.app.sidebar
},
device() {
return this.$store.state.app.device
},
classObj() {
return {
hideSidebar: !this.sidebar.opened,
openSidebar: this.sidebar.opened,
withoutAnimation: this.sidebar.withoutAnimation,
mobile: this.device === 'mobile'
}
}
},
methods: {
handleClickOutside() {
this.$store.dispatch('CloseSideBar', { withoutAnimation: false })
}
}
}
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
@import "src/styles/mixin.scss";
.app-wrapper {
@include clearfix;
position: relative;
height: 100%;
width: 100%;
&.mobile.openSidebar{
position: fixed;
top: 0;
}
}
.drawer-bg {
background: #000;
opacity: 0.3;
width: 100%;
top: 0;
height: 100%;
position: absolute;
z-index: 999;
}
</style>

View File

@@ -1,30 +0,0 @@
<template>
<!--<section class="app-main">-->
<section id="app-main" class="app-main">
<transition name="fade-transform" mode="out-in">
<!-- or name="fade" -->
<!-- <router-view :key="key"></router-view> -->
<router-view/>
</transition>
</section>
</template>
<script>
export default {
name: 'AppMain',
computed: {
// key() {
// return this.$route.name !== undefined ? this.$route.name + +new Date() : this.$route + +new Date()
// }
}
}
</script>
<style scoped>
.app-main {
/*50 = navbar */
position: relative;
overflow: hidden;
/*min-height:calc(100vh - 50px);background: url('../../../../static/bg.jpg') repeat;*/
}
</style>

View File

@@ -1,455 +0,0 @@
<!--suppress ALL -->
<template>
<div>
<el-menu class="navbar" mode="horizontal" style="background: #1576e8!important;">
<hamburger :toggle-click="toggleSideBar" :is-active="sidebar.opened" class="hamburger-container"/>
<breadcrumb />
<el-dropdown class="avatar-container" trigger="click">
<div class="avatar-wrapper">
<img :src="require('@/assets/img/HELI.jpg')" class="user-avatar">
<i class="el-icon-caret-bottom"/>
</div>
<el-dropdown-menu slot="dropdown" class="user-dropdown">
<router-link class="inlineBlock" to="/">
<el-dropdown-item>
主页
</el-dropdown-item>
</router-link>
<el-dropdown-item divided @click.native="logout">
<span style="display:block;">退出</span>
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</el-menu>
</div>
</template>
<script>
import { mapGetters } from 'vuex'
import Breadcrumb from '@/components/Breadcrumb'
import Hamburger from '@/components/Hamburger'
/* import { searchTable1 } from '@/api/PurchasingCenter/PurchaseContractApproval'
import { getMaterial, getMaterial_NOTES, setChakan } from '@/api/PurchasingCenter/MaterialManagement'
import { initApproval, initApprovalOffline } from '@/api/PurchasingCenter/FundApproval'
import { searchUrgentItem } from '@/api/ManufacturingCenter/InitialProduction'
import { searchTable1 as searchTableInvoice } from '@/api/PurchasingCenter/InvoiceSettlementApprove'
import { RequestFund, setChakan2 } from '@/api/PurchasingCenter/PurchaseContractRequestFund'
import { initApproval1, initApprovalOutsourcing, initApprovalMaterials } from '@/api/WorkshopProcurement/FundApproval'
import { searchTable1 as InvoiceSettlementApprove1 } from '@/api/WorkshopProcurement/InvoiceSettlementApprove1'
import { searchTable1 as OutsourcingArrivalTicket } from '@/api/Outsourcing/ApprovalOfOutsourcingArrivalTicket'
import { searchInvoice as searchMaterialsInvoice } from '@/api/WorkshopProcurement/MaterialsInvoiceApproval'
import { searchTable1 as searchContractApproval } from '@/api/WorkshopProcurement/ProcurementContractApproval'*/
// import { getPickingList, setPickingList } from '@/api/Inventory/MaterialOut'
/* import { searchTable } from '@/api/PurchasingCenter/PurchaseMaterielModify'
import { search } from '@/api/Assembly/DeliveryConfirmation'
import { searchtable as searchtableSupplement } from '@/api/WorkshopProcurement/ScrappedSupplementaryInvestment1'*/ // 查询报废补投零件
import Cookies from 'js-cookie'
export default {
components: {
Breadcrumb,
Hamburger
},
data() {
return {
timer: '',
noticeFund: null,
noticeInvoice: null,
noticeContractKG: null, // 领料单
selfMadeparts: null, // 自制件
productionPicking: null, // 物料
purchaseContract: null, // 采购合同
purchaseOrder: null, // 采购订单
productionOperation: null, // 生产投产
orderOperation: null, // 订单投产
deliveryNotice: null, // 发货通知
partsScrapping: null, // 零件报废
noticeDeliver: null,
noticeApproval: null,
noticeInvoiceManufacture: null,
noticeInvoiceOutsourcing: null,
noticeInvoiceMaterials: null,
noticeContractApproval: null,
PickingListSearch: null, // 领料单
SelfMadePartsReceiptSearch: null, // 库存管理自制件
PurchaseContract: null,
OrderProduction: null,
PurchaseContractSearch: null,
DeliveryNotice: null,
ScrapReplenishment: null,
OrderConfirmationShipment: null
}
},
computed: {
...mapGetters([
'sidebar',
'avatar',
'name',
'id',
'token',
'token'
])
},
mounted() {
console.log(Cookies.get('id'), 999)
/* if (this.id === 3 || Cookies.get('id') === 3) { // id=3 沈大为 总经理
this.checkApproval()
this.timer = setInterval(this.checkApproval, 1000 * 60 * 5)
} else if (this.token.toString() === '11') { // 11 技术部长
// 存储过程 库存管理_物料主文件_基本_采购部_查询未审核数量
this.comfirmMaterial() // 您有采购物料申请待审批,请及时处理,点击查看
this.timer = setInterval(this.comfirmMaterial, 1000 * 60 * 5)
// 存储过程 采购管理_采购物料修改确认_查询数据
this.comfirmMaterial_Update() // 您有采购物料更改申请待审批,请及时处理,点击查看
this.timer = setInterval(this.comfirmMaterial_Update, 1000 * 60 * 5)
} else if (this.token.toString() === '2' || this.token.toString() === '3') { // 2 采购部长 3 采购员 18 财务(会计)
this.comfirmMaterial_CG()
this.timer = setInterval(this.comfirmMaterial_CG, 1000 * 60 * 5)
} else if (this.token.toString() === '5') { // 5 计划员
this.comfirmUrgentItem()
this.timer = setInterval(this.comfirmUrgentItem, 1000 * 60 * 5)
this.searchtableSupplement() // 报废补投(制造)
this.timer = setInterval(this.searchtableSupplement, 1000 * 60 * 5)
} else if (this.token.toString() === '21') { // 21 装配部长
this.comfirmDeliver()
this.timer = setInterval(this.comfirmDeliver, 1000 * 60 * 5)
} else if (this.token.toString() === '26') { // 26 制造部总经理
this.ManufacturingApprova()
this.timer = setInterval(this.ManufacturingApprova, 1000 * 60 * 5)
} else if (this.token.toString() === '18') { // 26 财务
this.FinanceApprova()
this.timer = setInterval(this.FinanceApprova, 1000 * 60 * 5)
}*/
if (this.token.toString() === '7') { // 仓库
this.warehouseSearch()
this.timer = setInterval(this.warehouseSearch, 1000 * 60 * 5)
} else if (this.token.toString() === '11') { // 审核
this.newPurchaseContract()
this.timer = setInterval(this.newPurchaseContract, 1000 * 60 * 5)
} else if (this.token.toString() === '8') { // 发货
this.newDeliveryNotice()
this.timer = setInterval(this.newDeliveryNotice, 1000 * 60 * 5)
} else if (this.token.toString() === '16') { // 16 精工车间
this.newScrapReplenishment()
this.timer = setInterval(this.newScrapReplenishment, 1000 * 60 * 5)
} else if (this.token.toString() === '4') { // 4 采购
this.purchaseSearch()
this.timer = setInterval(this.purchaseSearch, 1000 * 60 * 5)
} else if (this.token.toString() === '3' || this.token.toString() === '11') { // 4 销售
this.saleSearch()
this.timer = setInterval(this.saleSearch, 1000 * 60 * 5)
} else if (this.token.toString() === '15') { // 15 技术
this.newOrderInformation()
this.timer = setInterval(this.newOrderInformation, 1000 * 60 * 5)
} else if (this.token.toString() === '15') { // 15 技术
this.newOrderInformation()
this.timer = setInterval(this.newOrderInformation, 1000 * 60 * 5)
} else if (this.token.toString() === '2') { // 2 管理员
this.newOrderProduction()
this.timer = setInterval(this.newOrderProduction, 1000 * 60 * 5)
}
},
beforeDestroy() {
clearInterval(this.timer)
},
methods: {
warehouseSearch() {
this.newPickingListSearch()
this.newSelfMadePartsReceiptSearch()
},
purchaseSearch() {
this.newPurchaseContractSearch()
this.newPaymentOrder()
},
saleSearch() {
this.newOrderConfirmationShipment()
},
newPickingListSearch() {
// 新领料单通知查询
var param = []
var Data = this.CreateData('11', '装配管理_领料单明细_查询_新通知', param)
this.ExecDatabase(Data).then(response => {
if (response.data.length > 0) {
this.PickingListSearch = null
this.PickingListSearch = this.$notify.success({
title: '提示',
dangerouslyUseHTMLString: true,
message: ' <div>您有新的领料单需要备料确认,请及时处理,<a style="color: #1e6abc">点击查看</a></div>',
onClick: () => {
this.$router.push({ path: '/WarehouseManagement/MaterialRequisition' })
setTimeout(this.PickingListSearch.close(), 1000)
var param = []
var Data = this.CreateData('12', '装配管理_领料单明细_确认查看', param)
this.ExecDatabase(Data)
},
duration: 1000 * 60
})
}
})
},
newSelfMadePartsReceiptSearch() {
// 新自制件入库查询
var param = []
var Data = this.CreateData('11', '库存管理_自制件_查询_新通知', param)
this.ExecDatabase(Data).then(response => {
if (response.data.length > 0) {
this.SelfMadePartsReceiptSearch = null
this.SelfMadePartsReceiptSearch = this.$notify.success({
title: '提示',
dangerouslyUseHTMLString: true,
message: ' <div>您有新的自制件入库,需要您确认<a style="color: #1e6abc">点击进入确认界面</a></div>',
onClick: () => {
this.$router.push({ path: '/WarehouseManagement/PurchasePartsStorage' })
setTimeout(this.SelfMadePartsReceiptSearch.close(), 1000)
var param = []
var Data = this.CreateData('12', '库存管理_自制件_确认查看', param)
this.ExecDatabase(Data)
},
duration: 1000 * 60
})
}
})
},
newPurchaseContract() {
// 新采购合同查询
var param = []
var Data = this.CreateData('11', '采购管理_采购合同_查询_新通知', param)
this.ExecDatabase(Data).then(response => {
if (response.data.length > 0) {
this.PurchaseContract = null
this.PurchaseContract = this.$notify.success({
title: '提示',
dangerouslyUseHTMLString: true,
message: ' <div>您有新的采购合同,需要您审批<a style="color: #1e6abc">点击进入确认界面</a></div>',
onClick: () => {
this.$router.push({ path: '/SeikoWorkshop/ProcurementContractAudit' })
setTimeout(this.PurchaseContract.close(), 1000)
var param = []
var Data = this.CreateData('12', '采购管理_采购合同_确认查看', param)
this.ExecDatabase(Data)
},
duration: 1000 * 60
})
}
})
},
newPurchaseContractSearch() {
// 采购合同审核通过是否通知
var param = []
var Data = this.CreateData('11', '采购管理_采购合同_审核通过是否通知_查询新通知', param)
this.ExecDatabase(Data).then(response => {
if (response.data.length > 0) {
this.PurchaseContractSearch = null
this.PurchaseContractSearch = this.$notify.success({
title: '提示',
dangerouslyUseHTMLString: true,
message: ' <div>您有新的合同审核通过<a style="color: #1e6abc">点击查看详情</a></div>',
onClick: () => {
this.$router.push({ path: '/PurchasingManagement/OrderInquiry' })
setTimeout(this.PurchaseContractSearch.close(), 1000)
var param = []
var Data = this.CreateData('12', '采购管理_采购合同_审核通过是否通知_确认查看', param)
this.ExecDatabase(Data)
},
duration: 1000 * 60
})
}
})
},
newOrderInformation() {
// 新订单查询技术审核确认
var param = []
var Data = this.CreateData('11', '合同管理_订单信息_基础表_查询_新通知', param)
this.ExecDatabase(Data).then(response => {
if (response.data.length > 0) {
this.OrderInformation = null
this.OrderInformation = this.$notify.success({
title: '提示',
dangerouslyUseHTMLString: true,
message: ' <div>您有新的订单,需要您技术审核确认<a style="color: #1e6abc">点击进入技术确认界面</a></div>',
onClick: () => {
this.$router.push({ path: '/TechnologyCenter/DrawingConfirmation' })
setTimeout(this.OrderInformation.close(), 1000)
var param = []
var Data = this.CreateData('12', '合同管理_订单信息_基础表_确认查看', param)
this.ExecDatabase(Data)
},
duration: 1000 * 60
})
}
})
},
newOrderProduction() {
// 新订单查询订单投产
var param = []
var Data = this.CreateData('11', '合同管理_订单信息_基础表_查询_新通知', param)
this.ExecDatabase(Data).then(response => {
if (response.data.length > 0) {
this.OrderProduction = null
this.OrderProduction = this.$notify.success({
title: '提示',
dangerouslyUseHTMLString: true,
message: ' <div>您有新的订单,需要投产<a style="color: #1e6abc">点击进入订单投产</a></div>',
onClick: () => {
this.$router.push({ path: '/SalesManagement/OrderRelease' })
setTimeout(this.OrderProduction.close(), 1000)
var param = []
var Data = this.CreateData('12', '合同管理_订单信息_基础表_确认查看', param)
this.ExecDatabase(Data)
},
duration: 1000 * 60
})
}
})
},
newPaymentOrder() {
// 付款是否通知
var param = []
var Data = this.CreateData('11', '采购管理_采购合同_付款是否通知_新通知', param)
this.ExecDatabase(Data).then(response => {
if (response.data.length > 0) {
this.PaymentOrder = null
this.PaymentOrder = this.$notify.success({
title: '提示',
dangerouslyUseHTMLString: true,
message: ' <div>您有合同付款通知<a style="color: #1e6abc">点击查看详情</a></div>',
onClick: () => {
this.$router.push({ path: '/PurchasingManagement/OrderInquiry' })
setTimeout(this.PaymentOrder.close(), 1000)
var param = []
var Data = this.CreateData('12', '采购管理_采购合同_付款通知_确认查看', param)
this.ExecDatabase(Data)
},
duration: 1000 * 60
})
}
})
},
newDeliveryNotice() {
// 新发货通知是否查看
var param = []
var Data = this.CreateData('11', '合同管理_订单信息_基础表_通知发货是否查看_查询新通知', param)
this.ExecDatabase(Data).then(response => {
if (response.data.length > 0) {
this.DeliveryNotice = null
this.DeliveryNotice = this.$notify.success({
title: '提示',
dangerouslyUseHTMLString: true,
message: ' <div>您有新的发货通知,注意查看<a style="color: #1e6abc">点击查看详情</a></div>',
onClick: () => {
this.$router.push({ path: '/SalesManagement/ProductDelivery' })
setTimeout(this.DeliveryNotice.close(), 1000)
var param = []
var Data = this.CreateData('12', '合同管理_订单信息_基础表_通知发货是否查看_确认查看', param)
this.ExecDatabase(Data)
},
duration: 1000 * 60
})
}
})
},
newScrapReplenishment() {
// 精工车间 报废补投新的查询
var param = []
var Data = this.CreateData('11', '车间生产管理工艺_零件工艺计划_报废零件记录_是否查看查询', param)
this.ExecDatabase(Data).then(response => {
if (response.data.length > 0) {
this.ScrapReplenishment = null
this.ScrapReplenishment = this.$notify.success({
title: '提示',
dangerouslyUseHTMLString: true,
message: ' <div>有零件报废,请及时补投<a style="color: #1e6abc">点击进入“报废补投”界面</a></div>',
onClick: () => {
this.$router.push({ path: '/SeikoWorkshop/ScrapProduction' })
setTimeout(this.ScrapReplenishment.close(), 1000)
var param = []
var Data = this.CreateData('12', '车间生产管理工艺_零件工艺计划_报废零件记录_确认查看', param)
this.ExecDatabase(Data)
},
duration: 1000 * 60
})
}
})
},
newOrderConfirmationShipment() {
// 订单确认发货
var param = []
var Data = this.CreateData('11', '合同管理_订单信息_基础表_已发货是否查看查询', param)
this.ExecDatabase(Data).then(response => {
if (response.data.length > 0) {
this.OrderConfirmationShipment = null
this.OrderConfirmationShipment = this.$notify.success({
title: '提示',
dangerouslyUseHTMLString: true,
message: ' <div>有合同已发货<a style="color: #1e6abc">点击查看发货信息</a></div>',
onClick: () => {
this.$router.push({ path: '/SalesManagement/DeliveryRecord' })
setTimeout(this.OrderConfirmationShipment.close(), 1000)
var param = []
var Data = this.CreateData('12', '合同管理_订单信息_基础表_已发货_确认查看', param)
this.ExecDatabase(Data)
},
duration: 1000 * 60
})
}
})
},
toggleSideBar() {
this.$store.dispatch('ToggleSideBar')
},
logout() {
this.$store.dispatch('FedLogOut').then(() => {
location.reload() // 为了重新实例化vue-router对象 避免bug
})
}
}
}
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
.navbar {
height: 50px;
line-height: 50px;
border-radius: 0px !important;
.hamburger-container {
line-height: 58px;
height: 50px;
float: left;
padding: 0 10px;
}
.screenfull {
position: absolute;
right: 90px;
top: 16px;
color: red;
}
.avatar-container {
height: 50px;
display: inline-block;
position: absolute;
right: 35px;
.avatar-wrapper {
cursor: pointer;
margin-top: 5px;
position: relative;
width: 40px;
height: 40px;
background-color: #1576e8;
.user-avatar {
width: 35px;
height: 35px;
margin: 3px 0 0 3px;
}
.el-icon-caret-bottom {
color: #fff;
position: absolute;
right: -20px;
top: 25px;
font-size: 12px;
}
/deep/ .el-notification.right{
cursor:pointer!important;
}
}
}
}
</style>

View File

@@ -1,29 +0,0 @@
<script>
export default {
name: 'MenuItem',
functional: true,
props: {
icon: {
type: String,
default: ''
},
title: {
type: String,
default: ''
}
},
render(h, context) {
const { icon, title } = context.props
const vnodes = []
if (icon) {
vnodes.push(<svg-icon icon-class={icon}/>)
}
if (title) {
vnodes.push(<span slot='title'>{(title)}</span>)
}
return vnodes
}
}
</script>

View File

@@ -1,104 +0,0 @@
<template>
<div v-if="!item.hidden&&item.children" class="menu-wrapper">
<template v-if="hasOneShowingChild(item.children,item) && (!onlyOneChild.children||onlyOneChild.noShowingChildren)&&!item.alwaysShow">
<a :href="onlyOneChild.path" target="_blank" @click="clickLink(onlyOneChild.path,$event)">
<el-menu-item :index="resolvePath(onlyOneChild.path)" :class="{'submenu-title-noDropdown':!isNest}">
<item v-if="onlyOneChild.meta" :icon="onlyOneChild.meta.icon||item.meta.icon" :title="onlyOneChild.meta.title" />
</el-menu-item>
</a>
</template>
<el-submenu v-else :index="item.name||item.path">
<template slot="title">
<item v-if="item.meta" :icon="item.meta.icon" :title="item.meta.title" />
</template>
<template v-for="child in item.children" v-if="!child.hidden">
<sidebar-item
v-if="child.children&&child.children.length>0"
:is-nest="true"
:item="child"
:key="child.path"
:base-path="resolvePath(child.path)"
class="nest-menu" />
<a v-else :href="child.path" :key="child.name" target="_blank" @click="clickLink(child.path,$event)">
<el-menu-item :index="resolvePath(child.path)" style="padding-left: 58px!important;">
<item v-if="child.meta" :icon="child.meta.icon" :title="child.meta.title" />
</el-menu-item>
</a>
</template>
</el-submenu>
</div>
</template>
<script>
import path from 'path'
import { validateURL } from '@/utils/validate'
import Item from './Item'
export default {
name: 'SidebarItem',
components: { Item },
props: {
// route object
item: {
type: Object,
required: true
},
isNest: {
type: Boolean,
default: false
},
basePath: {
type: String,
default: ''
}
},
data() {
return {
onlyOneChild: null
}
},
methods: {
hasOneShowingChild(children, parent) {
const showingChildren = children.filter(item => {
if (item.hidden) {
return false
} else {
// Temp set(will be used if only has one showing child)
this.onlyOneChild = item
return true
}
})
// When there is only one child router, the child router is displayed by default
if (showingChildren.length === 1) {
return true
}
// Show parent if there are no child router to display
if (showingChildren.length === 0) {
this.onlyOneChild = { ... parent, path: '', noShowingChildren: true }
return true
}
return false
},
resolvePath(routePath) {
return path.resolve(this.basePath, routePath)
},
isExternalLink(routePath) {
return validateURL(routePath)
},
clickLink(routePath, e) {
if (!this.isExternalLink(routePath)) {
e.preventDefault()
const path = this.resolvePath(routePath)
this.$router.push(path)
}
}
}
}
</script>

View File

@@ -1,48 +0,0 @@
<template>
<div class="menu-wrapper">
<template v-for="item in routes" v-if="!item.hidden&&item.children">
<!--一级-->
<router-link v-if="item.children.length===1 && !item.children[0].children" :to="item.path+'/'+item.children[0].path" :key="item.children[0].name">
<el-menu-item :index="item.path+'/'+item.children[0].path" :class="{'submenu-title-noDropdown':!isNest}">
<svg-icon v-if="item.children[0].meta&&item.children[0].meta.icon" :icon-class="item.children[0].meta.icon"/>
<span v-if="item.children[0].meta&&item.children[0].meta.title">{{ item.children[0].meta.title }}</span>
</el-menu-item>
</router-link>
<!--二级-->
<el-submenu v-else :index="item.name||item.path" :key="item.name">
<template slot="title">
<svg-icon v-if="item.meta&&item.meta.icon" :icon-class="item.meta.icon"/>
<span v-if="item.meta&&item.meta.title">{{ item.meta.title }}</span>
</template>
<template v-for="child in item.children" v-if="!child.hidden">
<sidebar-item v-if="child.children&&child.children.length>0" :routes="[child]" :key="child.path" :is-nest="true" class="nest-menu"/>
<router-link v-else :to="item.path+child.path" :key="child.name">
<el-menu-item :index="item.path+'/'+child.path">
<svg-icon v-if="child.meta&&child.meta.icon" :icon-class="child.meta.icon"/>
<span v-if="child.meta&&child.meta.title">{{ child.meta.title }}</span>
{{ item.path+'/'+child.path }}
</el-menu-item>
</router-link>
</template>
</el-submenu>
</template>
</div>
</template>
<script>
export default {
name: 'SidebarItem',
props: {
routes: {
type: Array,
default: null
},
isNest: {
type: Boolean,
default: false
}
}
}
</script>

View File

@@ -1,69 +0,0 @@
<template>
<div>
<el-scrollbar wrap-class="scrollbar-wrapper">
<div v-show="isShow" class="img-wrapper">
<img :src="require('@/assets/img/HELILOGO.png')">
</div>
<el-menu
:show-timeout="200"
:default-active="$route.path"
:collapse="isCollapse"
mode="vertical"
background-color="white"
text-color="black"
active-text-color="#1576e8"
style="height:calc(100% - 124px)"
>
<sidebar-item v-for="route in permission_routers" :key="route.name" :item="route" :base-path="route.path"/>
</el-menu>
</el-scrollbar>
</div>
</template>
<script>
import { mapGetters } from 'vuex'
import SidebarItem from './SidebarItem'
export default {
components: { SidebarItem },
data() {
return {
isShow: ''
}
},
computed: {
...mapGetters([
'sidebar',
'permission_routers'
]),
routes() {
return this.$router.options.routes
},
isCollapse() {
this.showLogo()
return !this.sidebar.opened
}
},
methods: {
showLogo() {
if (this.sidebar.opened === true) {
this.isShow = true
} else {
this.isShow = false
}
}
}
}
</script>
<style lang="scss" scoped>
.img-wrapper{
display: flex;
background-color: #1576e8 !important;
img{
width: 137px;
height: 38px;
margin: 6px 10px 5px 45px;
}
}
</style>

View File

@@ -1,334 +0,0 @@
<template>
<div class="tags-view-container">
<scroll-pane ref="scrollPane" class="tags-view-wrapper" style="background: rgb(255,255,255)!important;">
<router-link v-for="tag in Array.from(visitedViews)" ref="tag" :class="isActive(tag)?'active':''" :to="tag.path" :key="tag.path" class="tags-view-item" @contextmenu.prevent.native="openMenu(tag,$event)" >
{{ tag.title }}
<span class="el-icon-close" @click.prevent.stop="closeSelectedTag(tag)"/>
</router-link>
</scroll-pane>
<ul v-show="visible" :style="{left:tagLeft+'px',top:tagTop+'px','z-index': 99}" class="contextmenu">
<li @click="refreshSelectedTag(selectedTag)">重新加载</li>
<li @click="closeSelectedTag(selectedTag)">关闭当前</li>
<li @click="closeOthersTags">关闭其他</li>
<li @click="closeAllTags">关闭全部</li>
</ul>
</div>
</template>
<script>
import ScrollPane from '@/components/ScrollPane'
import Cookies from 'js-cookie'
export default {
components: { ScrollPane },
inject: ['reload'],
data() {
return {
visible: false,
tagTop: 0,
tagLeft: 0,
selectedTag: {},
timer: ''
}
},
computed: {
visitedViews() {
return this.$store.state.tagsView.visitedViews
}
},
watch: {
$route() {
this.addViewTags()
// this.moveToCurrentTag()
},
visible(value) {
if (value) {
window.addEventListener('click', this.closeMenu)
} else {
window.removeEventListener('click', this.closeMenu)
}
}
},
mounted() {
this.addViewTags()
},
methods: {
// generateTitle, // generateTitle by vue-i18n
// generateRoute() {
// if (this.$route.name) {
// return this.$route
// }
// return false
// },
generateRoute() {
clearTimeout(this.timer)
switch (this.$route.name) {
case 'EquipmentMonitoring':
this.timer = setTimeout(() => {
document.getElementById('app-main').style.width = '1710px'
document.getElementsByClassName('tags-view-wrapper')[0].style.minWidth = '1710px'
document.getElementsByClassName('navbar')[0].style.minWidth = '1710px'
}, 400)
break
case 'ProjectPlanningManagementNew': // 项目计划管理
this.timer = setTimeout(() => {
document.getElementById('app-main').style.width = '1700px'
document.getElementsByClassName('tags-view-wrapper')[0].style.minWidth = '1700px'
document.getElementsByClassName('navbar')[0].style.minWidth = '1700px'
}, 400)
break
case 'ProjectPlanningManagementQuery': // 项目计划查询
this.timer = setTimeout(() => {
document.getElementById('app-main').style.width = '1700px'
document.getElementsByClassName('tags-view-wrapper')[0].style.minWidth = '1700px'
document.getElementsByClassName('navbar')[0].style.minWidth = '1700px'
}, 400)
break
case 'CreatingPurchasingMaterials': // 外购备料
this.timer = setTimeout(() => {
document.getElementById('app-main').style.width = '1680px'
document.getElementsByClassName('tags-view-wrapper')[0].style.minWidth = '1680px'
document.getElementsByClassName('navbar')[0].style.minWidth = '1680px'
}, 400)
break
case 'RequestOutsourcingMaterials': // 外购备料请款
this.timer = setTimeout(() => {
document.getElementById('app-main').style.width = '1710px'
document.getElementsByClassName('tags-view-wrapper')[0].style.minWidth = '1710px'
document.getElementsByClassName('navbar')[0].style.minWidth = '1710px'
}, 400)
break
case 'OutsourcingMaterialsInvoice': // 外购备料到票
this.timer = setTimeout(() => {
document.getElementById('app-main').style.width = '1690px'
document.getElementsByClassName('tags-view-wrapper')[0].style.minWidth = '1690px'
document.getElementsByClassName('navbar')[0].style.minWidth = '1690px'
}, 400)
break
case 'OfflineProcurement': // 外购备料(离线)
this.timer = setTimeout(() => {
document.getElementById('app-main').style.width = '1700px'
document.getElementsByClassName('tags-view-wrapper')[0].style.minWidth = '1700px'
document.getElementsByClassName('navbar')[0].style.minWidth = '1700px'
}, 400)
break
case 'AutomaticScheduling': // 车间排产
this.timer = setTimeout(() => {
document.getElementById('app-main').style.width = '1910px'
document.getElementsByClassName('tags-view-wrapper')[0].style.minWidth = '1910px'
document.getElementsByClassName('navbar')[0].style.minWidth = '1910px'
}, 400)
break
case 'PurchaseTaskAllocate': // 采购任务分配
this.timer = setTimeout(() => {
document.getElementById('app-main').style.width = '1680px'
document.getElementsByClassName('tags-view-wrapper')[0].style.minWidth = '1680px'
document.getElementsByClassName('navbar')[0].style.minWidth = '1680px'
}, 400)
break
case 'AssemblyTaskAssignment': // 装配任务分配
this.timer = setTimeout(() => {
document.getElementById('app-main').style.width = '1690px'
document.getElementsByClassName('tags-view-wrapper')[0].style.minWidth = '1690px'
document.getElementsByClassName('navbar')[0].style.minWidth = '1690px'
}, 400)
break
case 'OutsourcingMaterialsSearch': // 备料查询
this.timer = setTimeout(() => {
document.getElementById('app-main').style.width = '1500px'
document.getElementsByClassName('tags-view-wrapper')[0].style.minWidth = '1500px'
document.getElementsByClassName('navbar')[0].style.minWidth = '1500px'
}, 400)
break
case 'PurchaseSituationSearchMetalworking': // 制造采购件查询
this.timer = setTimeout(() => {
document.getElementById('app-main').style.width = '1620px'
document.getElementsByClassName('tags-view-wrapper')[0].style.minWidth = '1620px'
document.getElementsByClassName('navbar')[0].style.minWidth = '1620px'
}, 400)
break
case 'ParseQuery': // 备料查询
this.timer = setTimeout(() => {
document.getElementById('app-main').style.width = '1710px'
document.getElementsByClassName('tags-view-wrapper')[0].style.minWidth = '1710px'
document.getElementsByClassName('navbar')[0].style.minWidth = '1710px'
}, 400)
break
case 'MaterialPreparationContractQuery': // 备料合同查询
this.timer = setTimeout(() => {
document.getElementById('app-main').style.width = '1710px'
document.getElementsByClassName('tags-view-wrapper')[0].style.minWidth = '1710px'
document.getElementsByClassName('navbar')[0].style.minWidth = '1710px'
}, 400)
break
case 'PurchaseContractRequestFund1': // 合同请款(制造)
this.timer = setTimeout(() => {
document.getElementById('app-main').style.width = '1510px'
document.getElementsByClassName('tags-view-wrapper')[0].style.minWidth = '1510px'
document.getElementsByClassName('navbar')[0].style.minWidth = '1510px'
}, 400)
break
default:
this.timer = setTimeout(() => {
document.getElementById('app-main').style.width = '100%'
document.getElementsByClassName('tags-view-wrapper')[0].style.minWidth = '100%'
document.getElementsByClassName('navbar')[0].style.minWidth = '100%'
}, 400)
}
if (this.$route.name) {
return this.$route
}
return false
},
isActive(route) {
return route.path === this.$route.path || route.name === this.$route.name
},
addViewTags() {
const route = this.generateRoute()
if (!route) {
return false
}
this.$store.dispatch('addVisitedViews', route)
},
moveToCurrentTag() {
const tags = this.$refs.tag
this.$nextTick(() => {
for (const tag of tags) {
if (tag.to === this.$route.path) {
this.$refs.scrollPane.moveToTarget(tag.$el)
break
}
}
})
},
refreshSelectedTag() {
this.$nextTick(() => {
this.reload() // 2019.6.2 cjn
})
},
closeSelectedTag(view) {
this.$store.dispatch('delVisitedViews', view).then((views) => {
if (this.isActive(view)) {
const latestView = views.slice(-1)[0]
if (latestView) {
this.$router.push(latestView.path)
} else {
this.$router.push('/')
}
}
})
},
closeOthersTags() {
this.$router.push(this.selectedTag.path)
this.$store.dispatch('delOthersViews', this.selectedTag).then(() => {
this.moveToCurrentTag()
})
},
closeAllTags() {
this.$store.dispatch('delAllViews')
this.$router.push('/')
},
openMenu(tag, e) {
const status = Cookies.get('sidebarStatus')
this.visible = true
this.selectedTag = tag
this.tagLeft = e.clientX
if (status === '0') this.tagLeft = parseInt(e.clientX) - 200
this.tagTop = e.clientY
},
closeMenu() {
this.visible = false
}
}
}
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
.tags-view-container {
.tags-view-wrapper {
background: #ffffff;
height: 34px;
border-bottom: 1px solid #d8dce5;
box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 3px 0 rgba(0, 0, 0, .04);
.tags-view-item {
display: inline-block;
position: relative;
height: 26px;
line-height: 26px;
border: 1px solid rgb(52,119,190);
color: rgb(52,119,190);
background: white;
padding: 0 8px;
font-size: 12px;
margin-left: 5px;
margin-top: 4px;
&:first-of-type {
margin-left: 15px;
}
&.active {
/*background-color: rgb(52,119,190);*/
background-color: #2A71CA;
color: #ffffff;
border-color: #ffffff;
&::before {
content: '';
background: #ffffff;
display: inline-block;
width: 8px;
height: 8px;
border-radius: 50%;
position: relative;
margin-right: 2px;
}
}
}
}
.contextmenu {
margin: 0;
background: #fff;
z-index: 2;
position: absolute;
list-style-type: none;
padding: 5px 0;
border-radius: 4px;
font-size: 12px;
font-weight: 400;
color: #333;
box-shadow: 2px 2px 3px 0 rgba(0, 0, 0, .3);
li {
margin: 0;
padding: 7px 16px;
cursor: pointer;
&:hover {
background: #eee;
}
}
}
}
</style>
<style rel="stylesheet/scss" lang="scss">
//reset element css of el-icon-close
.tags-view-wrapper {
.tags-view-item {
.el-icon-close {
width: 16px;
height: 16px;
vertical-align: 2px;
border-radius: 50%;
text-align: center;
transition: all .3s cubic-bezier(.645, .045, .355, 1);
transform-origin: 100% 50%;
&:before {
transform: scale(.6);
display: inline-block;
vertical-align: -3px;
}
&:hover {
background-color: #b4bccc;
color: #fff;
}
}
}
}
</style>

View File

@@ -1,4 +0,0 @@
export { default as Navbar } from './Navbar'
export { default as Sidebar } from './Sidebar'
export { default as AppMain } from './AppMain'
export { default as TagsView } from './TagsView'

View File

@@ -1,52 +0,0 @@
import store from '@/store'
const { body } = document
const WIDTH = 1024
const RATIO = 3
export default {
watch: {
$route(route) {
if (this.device === 'mobile' && this.sidebar.opened) {
store.dispatch('CloseSideBar', { withoutAnimation: false })
}
}
},
beforeMount() {
window.addEventListener('resize', this.resizeHandler)
},
mounted() {
const isMobile = this.isMobile()
const isSmallDesktop = this.isSmallDesktop()
if (isSmallDesktop) {
store.dispatch('CloseSideBar', { withoutAnimation: false })
}
if (isMobile) {
store.dispatch('ToggleDevice', 'mobile')
store.dispatch('CloseSideBar', { withoutAnimation: true })
}
},
methods: {
isMobile() {
const rect = body.getBoundingClientRect()
return rect.width - RATIO < WIDTH
},
isSmallDesktop() {
const rect = body.getBoundingClientRect()
return rect.width - RATIO < 1300
},
resizeHandler() {
if (!document.hidden) {
const isMobile = this.isMobile()
const isSmallDesktop = this.isSmallDesktop()
store.dispatch('ToggleDevice', isMobile ? 'mobile' : 'desktop')
if (isSmallDesktop) {
store.dispatch('CloseSideBar', { withoutAnimation: false })
}
if (isMobile) {
store.dispatch('CloseSideBar', { withoutAnimation: true })
}
}
}
}
}

View File

@@ -82,7 +82,7 @@ export default {
}
const validateUsername = (rule, value, callback) => {
if (!isvalidUsername(value)) {
callback(new Error('请输入正确的用户名'))
callback(new Error('请输入4-5位工号'))
} else {
callback()
}
@@ -99,7 +99,7 @@ export default {
againPassword: [
{ required: true, message: '请输入确认密码', trigger: 'blur' },
{ required: true, trigger: 'blur', validator: validateValue }],
Account: [{ required: true, message: '请输入考勤编号', trigger: 'blur' }],
Account: [{ required: true, trigger: 'blur', validator: validateUsername }],
beforPassword: [{ required: true, message: '请输入原始密码', trigger: 'blur' }],
newPassword: [{ required: true, message: '请输入新密码', trigger: 'blur' }]
},

View File

@@ -1,33 +1,10 @@
export const wsuri_config = `ws://192.168.1.27:61101//WebMoudule//websocket`
export const name_config = `OP8888`
export const name1_config = `OP1000`
export const name3_config = `OP2000`
export const name4_config = `OP9999`
var url = `http://localhost:8100`
// var url = `http://124.220.15.242:8104`
// var url = `http://124.220.15.242:8110` // AP
export const readFile_config = url + `/webpage/file/` // invoice
export const readImg_config = url + `/webpage/img/` // delivery/MS/performancebond
export const upload_config = url + `/submit/uploadFile.ashx` // ContractInformationManagement
export const upload2_config = url + `/submit/upload2.ashx` // delivery
export const upload3_config = url + `/submit/upload3.ashx` // performancebond
export const uploadInvoiceScan_config = url + `/submit/uploadInvoiceScan.ashx` // invoice
export const uploadInvoiceScan1_config = url + `/submit/uploadInvoiceScan1.ashx` // invoice(workshop)
export const download_config = url + `/submit/downloadFile.ashx` // ContractInformationManagement
export const uploadPerson_config = url + `/submit/uploadPerson.ashx`
export const uploadOP_config = url + `/submit/uploadOP.ashx`
export const url_config = url + `/submit/MESCommonBase.ashx` // 采购件入库、离线件入库
export const ExcelDownLoad_config = url + '/submit/MESCommonBase.ashx' // 导出excel
// 技术中心程序发布时要更改下面所有的IP到0段
export const ServerIP_config = url + `/webpage/file/`
export const uploadFileMachine_config = url + `/submit/uploadFileMachine.ashx` // 机床总图 发布时改成0.231
export const downloadFileMachine_config = url + `/submit/downloadFileMachine.ashx` // 机床总图 发布时改成0.231
export const MESUploadFile_config = url + `/submit/MESUploadFileParts.ashx`
export const MESUploadFileProduct_config = url + `/submit/MESUploadFileProduct.ashx`
export const MESDownloadFile_config = url + `/submit/MESDownloadFile.ashx`
export const MESUploadFileProject_config = url + `/submit/MESUploadFileProject.ashx`
export const MESUploadFileProcess_config = url + `/submit/MESUploadFileProcess.ashx`
export const request_config = url + `/submit/MESCommonBase.ashx`
window.g = {
mqttClient: null,
mqttSubscriptionTopic: 'MES/InstantMessaging/PF25/',
mqttPublishTopic: 'MesPrint',
mqttIP: '10.227.246.200',
mqttPortNumber: '8083',
printTemplate: 'BQFT_BarCode_001',
// baseURL: 'http://127.0.0.1:10031'
baseURL: 'http://10.227.246.200:10030'
}