Commit 29a0ae9d authored by 李志鸣's avatar 李志鸣

fea(车道基础数据、登录页): 联调、开发完成

parent 9d003fc3
src/assets/images/Login/bg.png

2.53 MB | W: | H:

src/assets/images/Login/bg.png

1.25 MB | W: | H:

src/assets/images/Login/bg.png
src/assets/images/Login/bg.png
src/assets/images/Login/bg.png
src/assets/images/Login/bg.png
  • 2-up
  • Swipe
  • Onion skin
/* eslint-disable */ /* eslint-disable */
export default { export default {
"basic-info-controller": { "basic-info-controller": {
"area-get": {
"url": "/api/basicinfo/area",
"method": "get"
},
"equipCreate-post": { "equipCreate-post": {
"url": "/api/basicinfo/equipCreate", "url": "/api/basicinfo/equipCreate",
"method": "post" "method": "post"
...@@ -17,6 +21,10 @@ ...@@ -17,6 +21,10 @@
"url": "/api/basicinfo/equipUpdate", "url": "/api/basicinfo/equipUpdate",
"method": "put" "method": "put"
}, },
"areaId-get": {
"url": "/api/basicinfo/lane/{areaId}",
"method": "get"
},
"stationCreate-post": { "stationCreate-post": {
"url": "/api/basicinfo/stationCreate", "url": "/api/basicinfo/stationCreate",
"method": "post" "method": "post"
...@@ -104,6 +112,10 @@ ...@@ -104,6 +112,10 @@
"runtimePage-post": { "runtimePage-post": {
"url": "/api/equipment/runtimePage", "url": "/api/equipment/runtimePage",
"method": "post" "method": "post"
},
"test-get": {
"url": "/api/equipment/test",
"method": "get"
} }
}, },
"show-field-controller": { "show-field-controller": {
......
...@@ -8,12 +8,12 @@ export default { ...@@ -8,12 +8,12 @@ export default {
meta: {title: 'Basic', icon: 'codingConfig'}, meta: {title: 'Basic', icon: 'codingConfig'},
alwaysShow: true, alwaysShow: true,
children: [ children: [
{ // {
path: 'workshopBasic', // path: 'workshopBasic',
component: () => import('@/views/Basic/WorkshopBasic/list'), // component: () => import('@/views/Basic/WorkshopBasic/list'),
name: 'WorkshopBasic', // name: 'WorkshopBasic',
meta: {title: 'WorkshopBasic', icon: 'document', noCache: false} // meta: {title: 'WorkshopBasic', icon: 'document', noCache: false}
}, // },
{ {
path: 'deviceBasic', path: 'deviceBasic',
component: () => import('@/views/Basic/DeviceBasic/list'), component: () => import('@/views/Basic/DeviceBasic/list'),
......
...@@ -20,20 +20,20 @@ ...@@ -20,20 +20,20 @@
} }
} }
} }
.el-button { //.el-button {
width: 100%; // width: 100%;
border-radius: 0px; // border-radius: 0px;
height: 60px; // height: 60px;
line-height: 60px; // line-height: 60px;
font-size: 24px; // font-size: 24px;
} //}
.el-button--medium { //.el-button--medium {
padding: 0; // padding: 0;
} //}
.el-button--primary { //.el-button--primary {
background-color: #00a1d8; // background-color: #00a1d8;
border: 1px solid #00a1d8; // border: 1px solid #00a1d8;
} //}
} }
.missingListMaterial-list-page { .missingListMaterial-list-page {
.el-input { .el-input {
......
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
</el-button> </el-button>
</div> </div>
</div> </div>
<div class="general-list-main-pack pl-15 pr-15"> <div class="general-list-main-pack pl-15 pr-15 pb-15">
<div> <div>
<Table <Table
:tableConfig="tableConfig" :tableConfig="tableConfig"
...@@ -219,7 +219,7 @@ ...@@ -219,7 +219,7 @@
<style lang="scss" scoped> <style lang="scss" scoped>
.page-pack { .page-pack {
position: relative; position: relative;
height: 100%; min-height: 100%;
width: 100%; width: 100%;
border: 1px solid #d2d3d5; border: 1px solid #d2d3d5;
background-color: #fff; background-color: #fff;
......
...@@ -12,6 +12,115 @@ ...@@ -12,6 +12,115 @@
:model="formData" :model="formData"
ref="form" ref="form"
:rules="formRules"> :rules="formRules">
<el-row :gutter="30">
<el-col :span="12">
<el-form-item
label="车间"
prop="workshopCode"
required>
<el-select
v-model="formData.workshopCode"
size="small"
style="width: 100%"
placeholder="请选择车间"
@change="onWorkshopSelectChange">
<el-option
v-for="(item, index) in workShopSelectData"
:key="index"
:value="item.itemName"
:label="item.itemName">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="区域"
prop="areaId"
required>
<el-select
v-model="formData.areaId"
size="small"
style="width: 100%"
placeholder="请选择区域"
@change="onAreaSelectChange">
<el-option
v-for="(item, index) in areaSelectData"
:key="index"
:value="item.id"
:label="item.name">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="30">
<el-col :span="12">
<el-form-item
label="车道"
prop="laneId"
required>
<el-select
:disabled="formData.areaId === ''"
v-model="formData.laneId"
size="small"
style="width: 100%"
placeholder="请选择区域再选择车道">
<el-option
v-for="(item, index) in laneSelectData"
:key="index"
:value="item.id"
:label="item.name">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="工位编号"
prop="code"
required>
<el-input
size="small"
maxlength="32"
v-model="formData.code"
style="width: 100%"
placeholder="请输入工位编号">
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="30">
<el-col :span="12">
<el-form-item
label="工位序号"
prop="sequence"
required>
<el-input-number
:max="100"
v-model="formData.sequence"
style="width: 100%"
size="small"
placeholder="请输入工位序号">
</el-input-number>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="是否为关键工位"
prop="keyStation"
required>
<el-select
v-model="formData.keyStation"
size="small"
style="width: 100%"
placeholder="请选择是否为关键工位">
<el-option value="true" label="是"></el-option>
<el-option value="false" label="否"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
</el-form> </el-form>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button :loading="loadingToggle" size="small" type="primary" icon="el-icon-check" @click="doConfirmClick('form')">确认</el-button> <el-button :loading="loadingToggle" size="small" type="primary" icon="el-icon-check" @click="doConfirmClick('form')">确认</el-button>
...@@ -26,6 +135,8 @@ ...@@ -26,6 +135,8 @@
dialogToggle (newVal, oldVal) { dialogToggle (newVal, oldVal) {
// 获取车间下拉数据 // 获取车间下拉数据
this.getWorkshopSelectData() this.getWorkshopSelectData()
// 获取区域下拉数据
this.getAreaSelectData()
} }
}, },
data () { data () {
...@@ -35,24 +146,160 @@ ...@@ -35,24 +146,160 @@
// 对话框开关标识 // 对话框开关标识
dialogToggle: false, dialogToggle: false,
// 表单数据 // 表单数据
formData: {}, formData: {
workshopCode: '',
areaId: '',
laneId: '',
code: '',
sequence: '',
keyStation: ''
},
// 表单正则 // 表单正则
formRules: {}, formRules: {
// 车间
workshopCode: [
{
validator: (rule, value, callback) => {
if (_.trim(value) === '') {
callback(new Error('请选择车间'))
}
callback()
},
trigger: ['change', 'blur']
}
],
// 区域
areaId: [
{
validator: (rule, value, callback) => {
if (_.trim(value) === '') {
callback(new Error('请选择区域'))
}
callback()
},
trigger: ['change', 'blur']
}
],
// 车道
laneId: [
{
validator: (rule, value, callback) => {
if (_.trim(value) === '') {
callback(new Error('请选择车道'))
}
callback()
},
trigger: ['change', 'blur']
}
],
// 工位编号
code: [
{
validator: (rule, value, callback) => {
if (_.trim(value) === '') {
callback(new Error('请输入工位编号'))
}
callback()
},
trigger: ['change', 'blur']
}
],
// 工位序号
sequence: [
{
validator: (rule, value, callback) => {
if (_.trim(value) === '') {
callback(new Error('请输入工位序号'))
}
callback()
},
trigger: ['change', 'blur']
}
],
// 是否为关键工位
keyStation: [
{
validator: (rule, value, callback) => {
if (_.trim(value) === '') {
callback(new Error('请选择是否为关键工位'))
}
callback()
},
trigger: ['change', 'blur']
}
]
},
// 车间下拉数据 // 车间下拉数据
workShopSelectData: [] workShopSelectData: [],
// 区域下拉数据
areaSelectData: [],
// 车道下拉数据
laneSelectData: []
} }
}, },
methods: { methods: {
// 点击确认按钮 // 点击确认按钮
doConfirmClick () {}, doConfirmClick (formName) {
this.$refs[formName].validate(vaild => {
if (vaild) {
this.loadingToggle = true
let queryParams = { ...this.formData }
this.$fetch('basic-info-controller/stationCreate-post', queryParams).then(response => {
this.$message.success('新增成功!')
this.loadingToggle = false
this.dialogToggle = false
this.$refs[formName].resetFields()
this.$emit('doConfirmClick')
for (let key in this.formData) {
this.formData[key] = ''
}
}).catch(() => {
this.loadingToggle = false
})
}
})
},
// 点击取消按钮 // 点击取消按钮
doCancelClick () {}, doCancelClick (formName) {
this.dialogToggle = false
this.$refs[formName].resetFields()
for (let key in this.formData) {
this.formData[key] = ''
}
},
// 获取车间下拉数据 // 获取车间下拉数据
getWorkshopSelectData () { getWorkshopSelectData () {
let queryParams = { dicCode: 'WORKSHOP_LIST', hash: 'dicCode' } let queryParams = { dicCode: 'WORKSHOP_LIST', hash: 'dicCode' }
this.$fetch('dict-item-controller/dicCode-get', queryParams).then(response => { this.$fetch('dict-item-controller/dicCode-get', queryParams).then(response => {
this.workShopSelectData = _.cloneDeep(response) this.workShopSelectData = _.cloneDeep(response)
}) })
},
// 获取区域下拉数据
getAreaSelectData () {
this.$fetch('basic-info-controller/area-get', {}).then(response => {
this.areaSelectData = _.cloneDeep(response)
})
},
// 触发车间下拉选择事件
onWorkshopSelectChange (selectValue) {
for (let item of this.workShopSelectData) {
if (item.itemCode === selectValue) {
this.formData.workshopName = item.itemName
break
}
}
},
// 触发区域下拉选择事件
onAreaSelectChange (selectValue) {
// 根据区域id获取车道下拉数据
this.getLaneSelectDataByAreaId()
},
// 根据区域id获取车道下拉数据
getLaneSelectDataByAreaId () {
let queryParams = { areaId: this.formData.areaId, hash: 'areaId' }
this.$fetch('basic-info-controller/areaId-get', queryParams).then(response => {
this.laneSelectData = _.cloneDeep(response)
})
} }
} }
} }
......
<template>
<el-dialog
title="编辑车道基础数据"
:visible.sync="dialogToggle"
:show-close="false"
:close-on-press-escape="false"
:close-on-click-modal="false"
width="600px">
<el-form
label-width="100px"
label-position="top"
:model="formData"
ref="form"
:rules="formRules">
<el-row :gutter="30">
<el-col :span="12">
<el-form-item
label="车间"
prop="workshopCode"
required>
<el-select
v-model="formData.workshopCode"
size="small"
style="width: 100%"
placeholder="请选择车间"
@change="onWorkshopSelectChange">
<el-option
v-for="(item, index) in workShopSelectData"
:key="index"
:value="item.itemName"
:label="item.itemName">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="区域"
prop="areaId"
required>
<el-select
v-model="formData.areaId"
size="small"
style="width: 100%"
placeholder="请选择区域"
@change="onAreaSelectChange">
<el-option
v-for="(item, index) in areaSelectData"
:key="index"
:value="item.id"
:label="item.name">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="30">
<el-col :span="12">
<el-form-item
label="车道"
prop="laneId"
required>
<el-select
:disabled="formData.areaId === ''"
v-model="formData.laneId"
size="small"
style="width: 100%"
placeholder="请选择区域再选择车道">
<el-option
v-for="(item, index) in laneSelectData"
:key="index"
:value="item.id"
:label="item.name">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="工位编号"
prop="code"
required>
<el-input
size="small"
maxlength="32"
v-model="formData.code"
style="width: 100%"
placeholder="请输入工位编号">
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="30">
<el-col :span="12">
<el-form-item
label="工位序号"
prop="sequence"
required>
<el-input-number
:max="100"
v-model="formData.sequence"
style="width: 100%"
size="small"
placeholder="请输入工位序号">
</el-input-number>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="是否为关键工位"
prop="keyStation"
required>
<el-select
v-model="formData.keyStation"
size="small"
style="width: 100%"
placeholder="请选择是否为关键工位">
<el-option :value="true" label="是"></el-option>
<el-option :value="false" label="否"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button :loading="loadingToggle" size="small" type="primary" icon="el-icon-check" @click="doConfirmClick('form')">确认</el-button>
<el-button size="small" icon="el-icon-close" @click="doCancelClick('form')">取消</el-button>
</span>
</el-dialog>
</template>
<script>
export default {
props: {
editLaneBasicValue: {}
},
watch: {
dialogToggle (newVal, oldVal) {
// 获取车间下拉数据
this.getWorkshopSelectData()
// 获取区域下拉数据
this.getAreaSelectData()
},
editLaneBasicValue (newVal, oldVal) {
// 编辑数据赋值
this.editValueAssignment()
}
},
data () {
return {
// 数据提交开关标识
loadingToggle: false,
// 对话框开关标识
dialogToggle: false,
// 表单数据
formData: {
workshopCode: '',
areaId: '',
laneId: '',
code: '',
sequence: '',
keyStation: ''
},
// 表单正则
formRules: {
// 车间
workshopCode: [
{
validator: (rule, value, callback) => {
if (_.trim(value) === '') {
callback(new Error('请选择车间'))
}
callback()
},
trigger: ['change', 'blur']
}
],
// 区域
areaId: [
{
validator: (rule, value, callback) => {
if (_.trim(value) === '') {
callback(new Error('请选择区域'))
}
callback()
},
trigger: ['change', 'blur']
}
],
// 车道
laneId: [
{
validator: (rule, value, callback) => {
if (_.trim(value) === '') {
callback(new Error('请选择车道'))
}
callback()
},
trigger: ['change', 'blur']
}
],
// 工位编号
code: [
{
validator: (rule, value, callback) => {
if (_.trim(value) === '') {
callback(new Error('请输入工位编号'))
}
callback()
},
trigger: ['change', 'blur']
}
],
// 工位序号
sequence: [
{
validator: (rule, value, callback) => {
if (_.trim(value) === '') {
callback(new Error('请输入工位序号'))
}
callback()
},
trigger: ['change', 'blur']
}
],
// 是否为关键工位
keyStation: [
{
validator: (rule, value, callback) => {
if (_.trim(value) === '') {
callback(new Error('请选择是否为关键工位'))
}
callback()
},
trigger: ['change', 'blur']
}
]
},
// 车间下拉数据
workShopSelectData: [],
// 区域下拉数据
areaSelectData: [],
// 车道下拉数据
laneSelectData: []
}
},
methods: {
// 点击确认按钮
doConfirmClick (formName) {
this.$refs[formName].validate(vaild => {
if (vaild) {
this.loadingToggle = true
let queryParams = { ...this.formData }
queryParams.id = this.editLaneBasicValue.id
this.$fetch('basic-info-controller/stationUpdate-put', queryParams).then(response => {
this.$message.success('编辑成功!')
this.loadingToggle = false
this.dialogToggle = false
this.$refs[formName].resetFields()
this.$emit('doConfirmClick')
for (let key in this.formData) {
this.formData[key] = ''
}
}).catch(() => {
this.loadingToggle = false
})
}
})
},
// 点击取消按钮
doCancelClick (formName) {
this.dialogToggle = false
this.$refs[formName].resetFields()
for (let key in this.formData) {
this.formData[key] = ''
}
},
// 获取车间下拉数据
getWorkshopSelectData () {
let queryParams = { dicCode: 'WORKSHOP_LIST', hash: 'dicCode' }
this.$fetch('dict-item-controller/dicCode-get', queryParams).then(response => {
this.workShopSelectData = _.cloneDeep(response)
})
},
// 获取区域下拉数据
getAreaSelectData () {
this.$fetch('basic-info-controller/area-get', {}).then(response => {
this.areaSelectData = _.cloneDeep(response)
})
},
// 触发车间下拉选择事件
onWorkshopSelectChange (selectValue) {
for (let item of this.workShopSelectData) {
if (item.itemCode === selectValue) {
this.formData.workshopName = item.itemName
break
}
}
},
// 触发区域下拉选择事件
onAreaSelectChange (selectValue) {
// 根据区域id获取车道下拉数据
this.getLaneSelectDataByAreaId()
},
// 根据区域id获取车道下拉数据
getLaneSelectDataByAreaId () {
let queryParams = { areaId: this.formData.areaId, hash: 'areaId' }
this.$fetch('basic-info-controller/areaId-get', queryParams).then(response => {
this.laneSelectData = _.cloneDeep(response)
})
},
// 编辑数据赋值
editValueAssignment () {
for (let key in this.editLaneBasicValue) {
if (this.formData.hasOwnProperty(key)) {
this.formData[key] = this.editLaneBasicValue[key]
}
}
// 根据区域id获取车道下拉数据
this.getLaneSelectDataByAreaId()
}
}
}
</script>
<style>
</style>
...@@ -26,12 +26,20 @@ ...@@ -26,12 +26,20 @@
</el-button> </el-button>
</div> </div>
</div> </div>
<div class="general-list-main-pack pl-15 pr-15"> <div class="general-list-main-pack pl-15 pr-15 pb-15">
<div> <div>
<Table <Table
:tableConfig="tableConfig" :tableConfig="tableConfig"
@onPageSizeChange="onPageSizeChange" @onPageSizeChange="onPageSizeChange"
@onCurrentPageChange="onCurrentPageChange"> @onCurrentPageChange="onCurrentPageChange">
<template slot="workshopCode">
<el-table-column
label="车间">
<template slot-scope="scope">
<span>{{ scope.row.workshopCode !== null ? scope.row.workshopCode : '涂装车间' }}</span>
</template>
</el-table-column>
</template>
<template slot="keyStation"> <template slot="keyStation">
<el-table-column <el-table-column
label="是否为关键工位" label="是否为关键工位"
...@@ -56,12 +64,14 @@ ...@@ -56,12 +64,14 @@
label="操作"> label="操作">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
type="text"> type="text"
@click="doEditClick(scope.row)">
编辑 编辑
</el-button> </el-button>
<el-button <el-button
type="text" type="text"
style="color: rgb(244, 116, 118)"> style="color: rgb(244, 116, 118)"
@click="doDeleteClick(scope.row)">
删除 删除
</el-button> </el-button>
</template> </template>
...@@ -73,8 +83,15 @@ ...@@ -73,8 +83,15 @@
<!--新增车道基础信息对话框--> <!--新增车道基础信息对话框-->
<AddLaneDialog <AddLaneDialog
ref="AddLaneDialog"> ref="AddLaneDialog"
@doConfirmClick="doAddLaneDialogConfirmClick">
</AddLaneDialog> </AddLaneDialog>
<!--编辑车道基础信息对话框-->
<EditLaneDialog
ref="EditLaneDialog"
:editLaneBasicValue="editLaneBasicValue">
</EditLaneDialog>
</div> </div>
</template> </template>
...@@ -82,16 +99,20 @@ ...@@ -82,16 +99,20 @@
import Table from '@/components/Table/index.vue' import Table from '@/components/Table/index.vue'
import Search from '@/components/Search' import Search from '@/components/Search'
import AddLaneDialog from './components/AddLaneDialog' import AddLaneDialog from './components/AddLaneDialog'
import EditLaneDialog from './components/EditLaneDialog'
export default { export default {
name: 'LaneBasic', name: 'LaneBasic',
components: { components: {
Search, Search,
Table, Table,
AddLaneDialog AddLaneDialog,
EditLaneDialog
}, },
data () { data () {
return { return {
// 编辑车道基础数据
editLaneBasicValue: {},
// 精准搜索关键字列表 // 精准搜索关键字列表
searchList: {}, searchList: {},
// 表格配置项 // 表格配置项
...@@ -99,7 +120,7 @@ ...@@ -99,7 +120,7 @@
height: 0, height: 0,
data: [], data: [],
fieldList: [ fieldList: [
{ label: '车间', value: 'workshopCode' }, { label: '车间', value: 'workshopCode', slot: 'workshopCode' },
{ label: '区域', value: 'areaName' }, { label: '区域', value: 'areaName' },
{ label: '车道编号', value: 'laneCode' }, { label: '车道编号', value: 'laneCode' },
{ label: '工位编号', value: 'code' }, { label: '工位编号', value: 'code' },
...@@ -176,6 +197,33 @@ ...@@ -176,6 +197,33 @@
// 点击新增按钮 // 点击新增按钮
doAddClick () { doAddClick () {
this.$refs.AddLaneDialog.dialogToggle = true this.$refs.AddLaneDialog.dialogToggle = true
},
// 点击新增车道对话框确认按钮
doAddLaneDialogConfirmClick () {
// 获取表格数据
this.getTableList()
},
// 点击编辑按钮
doEditClick (laneValue) {
this.editLaneBasicValue = _.cloneDeep(laneValue)
this.$refs.EditLaneDialog.dialogToggle = true
},
// 点击删除按钮
doDeleteClick (laneValue) {
console.log(laneValue)
this.$confirm(`确定要删除车道编号为 ${laneValue.laneCode} 的车道基础数据吗?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
center: true
}).then(() => {
let queryParams = { stationId: laneValue.id, hash: 'stationId' }
this.$fetch('basic-info-controller/stationId-delete', queryParams).then(response => {
this.$message.success('删除成功!')
// 获取表格数据
this.getTableList()
})
}).catch(() => {})
} }
}, },
mounted () { mounted () {
...@@ -191,7 +239,7 @@ ...@@ -191,7 +239,7 @@
<style lang="scss" scoped> <style lang="scss" scoped>
.page-pack { .page-pack {
position: relative; position: relative;
height: 100%; min-height: 100%;
width: 100%; width: 100%;
border: 1px solid #d2d3d5; border: 1px solid #d2d3d5;
background-color: #fff; background-color: #fff;
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
</el-button> </el-button>
</div> </div>
</div> </div>
<div class="general-list-main-pack pl-15 pr-15"> <div class="general-list-main-pack pl-15 pr-15 pb-15">
<div> <div>
<Table <Table
:tableConfig="tableConfig"> :tableConfig="tableConfig">
...@@ -80,7 +80,7 @@ ...@@ -80,7 +80,7 @@
<style lang="scss" scoped> <style lang="scss" scoped>
.page-pack { .page-pack {
position: relative; position: relative;
height: 100%; min-height: 100%;
width: 100%; width: 100%;
border: 1px solid #d2d3d5; border: 1px solid #d2d3d5;
background-color: #fff; background-color: #fff;
......
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
@reset="doResetClick"> @reset="doResetClick">
</Search> </Search>
</div> </div>
<div class="general-list-main-pack pl-15 pr-15"> <div class="general-list-main-pack pl-15 pr-15 pb-15">
<div> <div>
<Table <Table
:tableConfig="tableConfig" :tableConfig="tableConfig"
...@@ -158,7 +158,7 @@ ...@@ -158,7 +158,7 @@
<style lang="scss" scoped> <style lang="scss" scoped>
.page-pack { .page-pack {
position: relative; position: relative;
height: 100%; min-height: 100%;
width: 100%; width: 100%;
border: 1px solid #d2d3d5; border: 1px solid #d2d3d5;
background-color: #fff; background-color: #fff;
......
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
@reset="doResetClick"> @reset="doResetClick">
</Search> </Search>
</div> </div>
<div class="general-list-main-pack pl-15 pr-15"> <div class="general-list-main-pack pl-15 pr-15 pb-15">
<div> <div>
<Table <Table
:tableConfig="tableConfig" :tableConfig="tableConfig"
...@@ -138,7 +138,7 @@ ...@@ -138,7 +138,7 @@
<style lang="scss" scoped> <style lang="scss" scoped>
.page-pack { .page-pack {
position: relative; position: relative;
height: 100%; min-height: 100%;
width: 100%; width: 100%;
border: 1px solid #d2d3d5; border: 1px solid #d2d3d5;
background-color: #fff; background-color: #fff;
......
<template> <template>
<div class="login-page"> <div class="login-page">
<div class="login-pack"> <div class="login-pack">
<div class="logo-pack"> <div class="login-view-pack">
<img src="../../assets/images/Login/logo.png"/> <div class="title">SCADA+AVI系统</div>
</div> <div class="user-name">
<div class="desc-pack"> <el-input
<div class="left-line"></div> v-model="username"
<div class="desc">生产制造执行系统</div> placeholder="请输入用户名"
<div class="right-line"></div> @keyup.enter.native="loginClick">
</div>
<div class="username-pack">
<el-input v-model="username" @keyup.enter.native="loginClick" placeholder="用户名">
<template slot="prepend"><svg-icon icon-class="user"></svg-icon></template>
</el-input> </el-input>
<svg-icon class="username-icon" icon-class="user"></svg-icon>
</div> </div>
<div class="password-pack"> <div class="password">
<el-input v-model="password" @keyup.enter.native="loginClick" type="password" placeholder="密码"> <el-input
<template slot="prepend"><svg-icon icon-class="password"></svg-icon></template> v-model="password"
placeholder="请输入密码"
@keyup.enter.native="loginClick"
type="password">
</el-input> </el-input>
<svg-icon class="password-icon" icon-class="password"></svg-icon>
</div>
<div class="button">
<el-button
v-if="loading"
:loading="true"
type="primary">
登陆中
</el-button>
<el-button
v-else
@click="loginClick"
type="primary">
登陆
</el-button>
</div> </div>
<div class="button-pack">
<el-button v-if="loading" disabled :loading="true" type="primary">登录中</el-button>
<el-button v-else type="primary" @click="loginClick">登录</el-button>
</div> </div>
</div> </div>
<div class="version-pack">version 1.19.2 山东万腾提供技术支持</div> <!--<div class="login-pack">-->
<!--<div class="logo-pack">-->
<!--<img src="../../assets/images/Login/logo.png"/>-->
<!--</div>-->
<!--<div class="desc-pack">-->
<!--<div class="left-line"></div>-->
<!--<div class="desc">生产制造执行系统</div>-->
<!--<div class="right-line"></div>-->
<!--</div>-->
<!--<div class="username-pack">-->
<!--<el-input v-model="username" @keyup.enter.native="loginClick" placeholder="用户名">-->
<!--<template slot="prepend"><svg-icon icon-class="user"></svg-icon></template>-->
<!--</el-input>-->
<!--</div>-->
<!--<div class="password-pack">-->
<!--<el-input v-model="password" @keyup.enter.native="loginClick" type="password" placeholder="密码">-->
<!--<template slot="prepend"><svg-icon icon-class="password"></svg-icon></template>-->
<!--</el-input>-->
<!--</div>-->
<!--<div class="button-pack">-->
<!--<el-button v-if="loading" disabled :loading="true" type="primary">登录中</el-button>-->
<!--<el-button v-else type="primary" @click="loginClick">登录</el-button>-->
<!--</div>-->
<!--</div>-->
<div class="version-pack">version 1.0.0 山东万腾电子科技有限公司提供技术支持</div>
</div> </div>
</template> </template>
...@@ -110,7 +146,7 @@ ...@@ -110,7 +146,7 @@
<style rel="stylesheet/scss" lang="scss" scoped> <style rel="stylesheet/scss" lang="scss" scoped>
@import "@/styles/mixin.scss"; @import "@/styles/mixin.scss";
.login-page { .login-page {
@include rdc-box-sizing; /*//@include rdc-box-sizing;*/
width: 100%; width: 100%;
height: 100%; height: 100%;
min-height: 900px; min-height: 900px;
...@@ -118,7 +154,7 @@ ...@@ -118,7 +154,7 @@
position: relative; position: relative;
top: 0; top: 0;
z-index: 1; z-index: 1;
padding: 120px 120px 0 120px; /*padding: 120px 120px 0 120px;*/
display: -webkit-flex; display: -webkit-flex;
display: flex; display: flex;
background-image: url(../../assets/images/Login/bg.png); background-image: url(../../assets/images/Login/bg.png);
...@@ -127,48 +163,150 @@ ...@@ -127,48 +163,150 @@
background-size: cover; background-size: cover;
-webkit-background-size: cover; -webkit-background-size: cover;
-o-background-size: cover; -o-background-size: cover;
justify-content: center;
align-items: center;
.login-pack { .login-pack {
width: 1157px;
height: 722px;
background-image: url('../../assets/images/Login/login_bg.png');
background-position: center 0;
background-repeat: no-repeat;
background-size: cover;
-webkit-background-size: cover;
-o-background-size: cover;
position: relative;
.login-view-pack {
position: absolute; position: absolute;
right: 200px; width: 370px;
top: 320px; height: 558px;
width: 451px; top: 20px;
z-index: 9; right: 20px;
.logo-pack {
.title {
font-size: 30px;
color: #0377ff;
text-align: center; text-align: center;
font-weight: bold;
margin-top: 110px;
} }
.desc-pack {
margin-top: 25px; .user-name {
width: 320px;
margin: 0 auto;
margin-top: 80px;
position: relative; position: relative;
display: -webkit-flex;
display: flex; .el-input {
align-items: center;
.left-line { /deep/ .el-input__inner {
border-bottom: 1px solid #fff; padding-left: 70px;
width: 123px; color: #a1a8b2;
background-color: #eef4fe !important;
border-radius: 20px;
border: 0px;
&::-webkit-input-placeholder{
color: #a1a8b2;
font-size: 14px;
} }
.desc {
color: #fff;
font-size: 18px;
width: 200px;
text-align: center;
} }
.right-line {
border-bottom: 1px solid #fff;
width: 123px;
} }
.username-icon {
color: #0377ff;
font-size: 30px;
position: absolute;
top: 7px;
left: 22px;
} }
.username-pack, .password-pack { }
margin-top: 25px;
margin-bottom: 10px; .password {
.svg-icon { width: 320px;
color: #fff; margin: 0 auto;
font-size: 20px; margin-top: 48px;
position: relative;
.el-input {
/deep/ .el-input__inner {
padding-left: 70px;
color: #a1a8b2;
background-color: #eef4fe !important;
border-radius: 20px;
border: 0px;
&::-webkit-input-placeholder{
color: #a1a8b2;
font-size: 14px;
}
}
}
.password-icon {
color: #0377ff;
font-size: 30px;
position: absolute;
top: 7px;
left: 22px;
}
}
.button {
padding: 0 20px;
margin-top: 45px;
.el-button {
width: 100%;
height: 46px;
font-size: 22px;
border-radius: 20px;
} }
} }
.button-pack {
margin-top: 25px;
} }
} }
/*.login-pack {*/
/*position: absolute;*/
/*right: 200px;*/
/*top: 320px;*/
/*width: 451px;*/
/*z-index: 9;*/
/*.logo-pack {*/
/*text-align: center;*/
/*}*/
/*.desc-pack {*/
/*margin-top: 25px;*/
/*position: relative;*/
/*display: -webkit-flex;*/
/*display: flex;*/
/*align-items: center;*/
/*.left-line {*/
/*border-bottom: 1px solid #fff;*/
/*width: 123px;*/
/*}*/
/*.desc {*/
/*color: #fff;*/
/*font-size: 18px;*/
/*width: 200px;*/
/*text-align: center;*/
/*}*/
/*.right-line {*/
/*border-bottom: 1px solid #fff;*/
/*width: 123px;*/
/*}*/
/*}*/
/*.username-pack, .password-pack {*/
/*margin-top: 25px;*/
/*margin-bottom: 10px;*/
/*.svg-icon {*/
/*color: #fff;*/
/*font-size: 20px;*/
/*}*/
/*}*/
/*.button-pack {*/
/*margin-top: 25px;*/
/*}*/
/*}*/
.version-pack { .version-pack {
position: absolute; position: absolute;
......
...@@ -36,7 +36,7 @@ ...@@ -36,7 +36,7 @@
</span> </span>
</div> </div>
</div> </div>
<div class="tool-pack clear-float pl-15 pr-15"> <div class="tool-pack clear-float pl-15 pr-15 pb-15">
<Search <Search
v-if="searchComponentRenderToggle" v-if="searchComponentRenderToggle"
:searchCode="currentSearchCode" :searchCode="currentSearchCode"
...@@ -52,7 +52,7 @@ ...@@ -52,7 +52,7 @@
</el-button> </el-button>
</div> </div>
</div> </div>
<div class="general-list-main-pack pl-15 pr-15"> <div class="general-list-main-pack pl-15 pr-15 pb-15">
<div> <div>
<PreviewTable <PreviewTable
:tableConfig="tableConfig" :tableConfig="tableConfig"
...@@ -254,7 +254,7 @@ ...@@ -254,7 +254,7 @@
mounted () { mounted () {
setTimeout(() => { setTimeout(() => {
this.treeHeight = { 'height': `${document.body.offsetHeight - 180}px` } this.treeHeight = { 'height': `${document.body.offsetHeight - 180}px` }
this.tableConfig.height = document.querySelector('.page-pack').offsetHeight - 205 this.tableConfig.height = document.querySelector('.page-pack').offsetHeight - 210
this.$refs.sortTree.setCurrentKey(this.sortTreeData[0].id) this.$refs.sortTree.setCurrentKey(this.sortTreeData[0].id)
this.currentSort = _.cloneDeep(this.sortTreeData[0]) this.currentSort = _.cloneDeep(this.sortTreeData[0])
this.currentSearchCode = _.cloneDeep(this.sortTreeData[0].code) this.currentSearchCode = _.cloneDeep(this.sortTreeData[0].code)
...@@ -271,7 +271,7 @@ ...@@ -271,7 +271,7 @@
<style lang="scss" scoped> <style lang="scss" scoped>
.page-pack { .page-pack {
height: 100%; min-height: 100%;
width: 100%; width: 100%;
overflow: hidden; overflow: hidden;
position: relative; position: relative;
...@@ -297,7 +297,6 @@ ...@@ -297,7 +297,6 @@
height: 100%; height: 100%;
border: 1px solid #d2d3d5; border: 1px solid #d2d3d5;
background-color: #fff; background-color: #fff;
overflow-y: auto;
.title-pack { .title-pack {
height: 38px; height: 38px;
......
...@@ -52,7 +52,7 @@ ...@@ -52,7 +52,7 @@
</el-button> </el-button>
</div> </div>
</div> </div>
<div class="general-list-main-pack pl-15 pr-15"> <div class="general-list-main-pack pl-15 pr-15 pb-15">
<div> <div>
<PreviewTable <PreviewTable
:tableConfig="tableConfig" :tableConfig="tableConfig"
...@@ -264,7 +264,7 @@ ...@@ -264,7 +264,7 @@
mounted () { mounted () {
setTimeout(() => { setTimeout(() => {
this.treeHeight = { 'height': `${document.body.offsetHeight - 180}px` } this.treeHeight = { 'height': `${document.body.offsetHeight - 180}px` }
this.tableConfig.height = document.querySelector('.page-pack').offsetHeight - 205 this.tableConfig.height = document.querySelector('.page-pack').offsetHeight - 210
this.$refs.sortTree.setCurrentKey(this.sortTreeData[0].id) this.$refs.sortTree.setCurrentKey(this.sortTreeData[0].id)
this.currentSort = _.cloneDeep(this.sortTreeData[0]) this.currentSort = _.cloneDeep(this.sortTreeData[0])
this.currentSearchCode = _.cloneDeep(this.sortTreeData[0].code) this.currentSearchCode = _.cloneDeep(this.sortTreeData[0].code)
...@@ -281,7 +281,7 @@ ...@@ -281,7 +281,7 @@
<style lang="scss" scoped> <style lang="scss" scoped>
.page-pack { .page-pack {
height: 100%; min-height: 100%;
width: 100%; width: 100%;
overflow: hidden; overflow: hidden;
position: relative; position: relative;
......
...@@ -52,7 +52,7 @@ ...@@ -52,7 +52,7 @@
</el-button> </el-button>
</div> </div>
</div> </div>
<div class="general-list-main-pack pl-15 pr-15"> <div class="general-list-main-pack pl-15 pr-15 pb-15">
<div> <div>
<PreviewTable <PreviewTable
:tableConfig="tableConfig" :tableConfig="tableConfig"
...@@ -259,7 +259,7 @@ ...@@ -259,7 +259,7 @@
mounted () { mounted () {
setTimeout(() => { setTimeout(() => {
this.treeHeight = { 'height': `${document.body.offsetHeight - 180}px` } this.treeHeight = { 'height': `${document.body.offsetHeight - 180}px` }
this.tableConfig.height = document.querySelector('.page-pack').offsetHeight - 205 this.tableConfig.height = document.querySelector('.page-pack').offsetHeight - 210
this.$refs.sortTree.setCurrentKey(this.sortTreeData[0].id) this.$refs.sortTree.setCurrentKey(this.sortTreeData[0].id)
this.currentSort = _.cloneDeep(this.sortTreeData[0]) this.currentSort = _.cloneDeep(this.sortTreeData[0])
this.currentSearchCode = _.cloneDeep(this.sortTreeData[0].code) this.currentSearchCode = _.cloneDeep(this.sortTreeData[0].code)
...@@ -276,7 +276,7 @@ ...@@ -276,7 +276,7 @@
<style lang="scss" scoped> <style lang="scss" scoped>
.page-pack { .page-pack {
height: 100%; min-height: 100%;
width: 100%; width: 100%;
overflow: hidden; overflow: hidden;
position: relative; position: relative;
......
...@@ -57,7 +57,7 @@ ...@@ -57,7 +57,7 @@
</el-button> </el-button>
</div> </div>
</div> </div>
<div class="general-list-main-pack pl-15 pr-15"> <div class="general-list-main-pack pl-15 pr-15 pb-15">
<div> <div>
<PreviewTable <PreviewTable
:tableConfig="tableConfig" :tableConfig="tableConfig"
...@@ -278,7 +278,7 @@ ...@@ -278,7 +278,7 @@
mounted () { mounted () {
setTimeout(() => { setTimeout(() => {
this.treeHeight = { 'height': `${document.body.offsetHeight - 180}px` } this.treeHeight = { 'height': `${document.body.offsetHeight - 180}px` }
this.tableConfig.height = document.querySelector('.page-pack').offsetHeight - 205 this.tableConfig.height = document.querySelector('.page-pack').offsetHeight - 210
this.$refs.sortTree.setCurrentKey(this.sortTreeData[0].id) this.$refs.sortTree.setCurrentKey(this.sortTreeData[0].id)
this.currentSort = _.cloneDeep(this.sortTreeData[0]) this.currentSort = _.cloneDeep(this.sortTreeData[0])
this.currentSearchCode = _.cloneDeep(this.sortTreeData[0].code) this.currentSearchCode = _.cloneDeep(this.sortTreeData[0].code)
...@@ -295,7 +295,7 @@ ...@@ -295,7 +295,7 @@
<style lang="scss" scoped> <style lang="scss" scoped>
.page-pack { .page-pack {
height: 100%; min-height: 100%;
width: 100%; width: 100%;
overflow: hidden; overflow: hidden;
position: relative; position: relative;
...@@ -321,7 +321,6 @@ ...@@ -321,7 +321,6 @@
height: 100%; height: 100%;
border: 1px solid #d2d3d5; border: 1px solid #d2d3d5;
background-color: #fff; background-color: #fff;
overflow-y: auto;
.title-pack { .title-pack {
height: 38px; height: 38px;
......
...@@ -52,7 +52,7 @@ ...@@ -52,7 +52,7 @@
</el-button> </el-button>
</div> </div>
</div> </div>
<div class="general-list-main-pack pl-15 pr-15"> <div class="general-list-main-pack pl-15 pr-15 pb-15">
<div> <div>
<PreviewTable <PreviewTable
:tableConfig="tableConfig" :tableConfig="tableConfig"
...@@ -244,7 +244,7 @@ ...@@ -244,7 +244,7 @@
mounted () { mounted () {
setTimeout(() => { setTimeout(() => {
this.treeHeight = { 'height': `${document.body.offsetHeight - 180}px` } this.treeHeight = { 'height': `${document.body.offsetHeight - 180}px` }
this.tableConfig.height = document.querySelector('.page-pack').offsetHeight - 205 this.tableConfig.height = document.querySelector('.page-pack').offsetHeight - 210
this.$refs.sortTree.setCurrentKey(this.sortTreeData[0].id) this.$refs.sortTree.setCurrentKey(this.sortTreeData[0].id)
this.currentSort = _.cloneDeep(this.sortTreeData[0]) this.currentSort = _.cloneDeep(this.sortTreeData[0])
this.currentSearchCode = _.cloneDeep(this.sortTreeData[0].code) this.currentSearchCode = _.cloneDeep(this.sortTreeData[0].code)
...@@ -261,7 +261,7 @@ ...@@ -261,7 +261,7 @@
<style lang="scss" scoped> <style lang="scss" scoped>
.page-pack { .page-pack {
height: 100%; min-height: 100%;
width: 100%; width: 100%;
overflow: hidden; overflow: hidden;
position: relative; position: relative;
......
...@@ -52,7 +52,7 @@ ...@@ -52,7 +52,7 @@
</el-button> </el-button>
</div> </div>
</div> </div>
<div class="general-list-main-pack pl-15 pr-15"> <div class="general-list-main-pack pl-15 pr-15 pb-15">
<div> <div>
<PreviewTable <PreviewTable
:tableConfig="tableConfig" :tableConfig="tableConfig"
...@@ -244,7 +244,7 @@ ...@@ -244,7 +244,7 @@
mounted () { mounted () {
setTimeout(() => { setTimeout(() => {
this.treeHeight = { 'height': `${document.body.offsetHeight - 180}px` } this.treeHeight = { 'height': `${document.body.offsetHeight - 180}px` }
this.tableConfig.height = document.querySelector('.page-pack').offsetHeight - 205 this.tableConfig.height = document.querySelector('.page-pack').offsetHeight - 210
this.$refs.sortTree.setCurrentKey(this.sortTreeData[0].id) this.$refs.sortTree.setCurrentKey(this.sortTreeData[0].id)
this.currentSort = _.cloneDeep(this.sortTreeData[0]) this.currentSort = _.cloneDeep(this.sortTreeData[0])
this.currentSearchCode = _.cloneDeep(this.sortTreeData[0].code) this.currentSearchCode = _.cloneDeep(this.sortTreeData[0].code)
...@@ -261,7 +261,7 @@ ...@@ -261,7 +261,7 @@
<style lang="scss" scoped> <style lang="scss" scoped>
.page-pack { .page-pack {
height: 100%; min-height: 100%;
width: 100%; width: 100%;
overflow: hidden; overflow: hidden;
position: relative; position: relative;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment