Browse Source

物料主数据添加类型

pull/126/head
liwei 3 years ago
parent
commit
ff3eba2adb
2 changed files with 355 additions and 200 deletions
  1. +14
    -1
      src/common/allField.js
  2. +341
    -199
      src/views/plant/material/part.vue

+ 14
- 1
src/common/allField.js View File

@ -17,5 +17,18 @@ export function getColumnName(colName) {
return col
}
}
return col
return col;
// let col = colName
// if (fieldObj[colName]){
// col=fieldObj[colName];
// }else{
// if (colName.indexOf('-') > -1) col = colName.split('-')[1]
// for (const key in fieldObj) {
// if (col === key.split('-')[1]) {
// col = fieldObj[key]
// return col
// }
// }
// }
// return col;
}

+ 341
- 199
src/views/plant/material/part.vue View File

@ -7,24 +7,44 @@
placeholder="请输入查询内容"
clearable
size="small"
style="width: 200px"/>
style="width: 200px"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button
type="primary"
icon="el-icon-search"
size="mini"
@click="handleQuery"
>搜索</el-button
>
<el-button
size="mini"
type="primary"
icon="el-icon-plus"
@click="handleAdd"
>新增</el-button>
>新增</el-button
>
</el-form-item>
</el-form>
<el-table v-loading="loading" :data="dataList" border>
<el-table-column v-for="(item, index) in headers" :key="index" :label="getColumnName(item)" :show-overflow-tooltip="true" width="156px">
<el-table-column
v-for="(item, index) in headers"
:key="index"
:label="getColumnName(item)"
:show-overflow-tooltip="true"
width="156px"
>
<template slot-scope="scope">
<span v-if="item === 'Article-PlantNr'">{{ getValue(scope.row['Article-PlantNr']) }}</span>
<span v-else-if="item === 'Article-LastModify'"> {{ parseTime(scope.row[item]) }} </span>
<span v-else-if="item === 'Article-CreateTime'"> {{ parseTime(scope.row[item]) }} </span>
<span v-if="item === 'Article-PlantNr'">{{
getValue(scope.row['Article-PlantNr'])
}}</span>
<span v-else-if="item === 'Article-LastModify'">
{{ parseTime(scope.row[item]) }}
</span>
<span v-else-if="item === 'Article-CreateTime'">
{{ parseTime(scope.row[item]) }}
</span>
<span v-else>{{ scope.row[item] }}</span>
</template>
</el-table-column>
@ -35,204 +55,313 @@
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
>修改</el-button>
>修改</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
>删除</el-button>
>删除</el-button
>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNumber"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<el-dialog :title="title" :visible.sync="open" width="90%" :close-on-click-modal="false">
<el-form ref="form" :model="form" :rules="rules" label-width="120px" style="margin-bottom: 10px;">
<el-row>
<el-col :span="12">
<!-- 零件号 -->
<el-form-item :label="getColumnName('Article-ArtId')" prop="Article-ArtId">
<el-input v-model="form['Article-ArtId']" :disabled="!isAdd" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<!-- 项目定义 -->
<el-form-item :label="getColumnName('Article-ProjectId')" prop="Article-ProjectId">
<el-select v-model="form['Article-ProjectId']" filterable placeholder="请选择" style="width:100%;">
<el-option
v-for="item in projectArray"
:key="item['ME_Project-ProjectId']"
:label="item['ME_Project-Descr']"
:value="item['ME_Project-ProjectId']"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<!-- 产线ID -->
<el-form-item :label="getColumnName('Article-PlanResourceId')" prop="Article-PlanResourceId">
<el-select v-model="form['Article-PlanResourceId']" filterable placeholder="请选择" style="width:100%;">
<el-option
v-for="item in worklineArray"
:key="item['WorkLine-WorkLineid']"
:label="item['WorkLine-Descr']"
:value="item['WorkLine-WorkLineid']"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<!-- 产线ID -->
<el-form-item :label="getColumnName('Article-UsedResourceId')" prop="Article-UsedResourceId">
<el-select v-model="form['Article-UsedResourceId']" filterable placeholder="请选择" style="width:100%;">
<el-option
v-for="item in worklineArray"
:key="item['WorkLine-WorkLineid']"
:label="item['WorkLine-Descr']"
:value="item['WorkLine-WorkLineid']"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<!-- 描述1 -->
<el-form-item :label="getColumnName('Article-Descr1')">
<el-input v-model="form['Article-Descr1']" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<!-- 描述2 -->
<el-form-item :label="getColumnName('Article-Descr2')">
<el-input v-model="form['Article-Descr2']" placeholder="请输入" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item>
<el-checkbox disabled v-model="form['Article-RatePerHourToggle']">{{getColumnName('Article-RatePerHourToggle')}}</el-checkbox>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="getColumnName('Article-QuantityPerHour')">
<el-input v-model="form['Article-QuantityPerHour']" placeholder="请输入" />
</el-form-item>
</el-col>
</el-row>
<el-col :span="24">
<el-tabs v-model="activeName" type="card" @tab-click="handleClick" style="margin-bottom: 10px;">
<el-tab-pane label="常规" name="first">
<el-row>
<el-col :span="12">
<!-- 内部零件号 -->
<el-form-item :label="getColumnName('Article-AlternativeArtId')">
<el-input v-model="form['Article-AlternativeArtId']" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<!-- 计量单位 -->
<el-form-item :label="getColumnName('Article-UomId')">
<el-input v-model="form['Article-UomId']" placeholder="请输入" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item :label="getColumnName('Article-CustArtId')">
<el-input v-model="form['Article-CustArtId']" placeholder="请输入" />
</el-form-item>
</el-col>
</el-row>
</el-tab-pane>
<el-tab-pane label="分配的属性" name="second">
<el-row>
<el-col :span="12">
<el-divider>未分配</el-divider>
<div class="table">
<el-table
:data="form.Unvalst"
:height="tableHeight"
border
@selection-change="handleSelectionUnassign"
>
<el-table-column type="selection" width="40" align="center" />
<el-table-column
prop="Attribute-AttrCode"
:label="getColumnName('Attribute-AttrCode')"
/>
<el-table-column
prop="Attribute-Descr"
:label="getColumnName('Attribute-Descr')"
/>
<el-table-column
prop="Attribute-AttrName"
:label="getColumnName('Attribute-AttrName')"
/>
<el-table-column
prop="Attribute-AttrType"
:label="getColumnName('Attribute-AttrType')"
/>
</el-table>
<el-button type="primary" size="mini" :disabled="!isAssign" icon="el-icon-arrow-left" @click="handleToLeft" />
</div>
</el-col>
<el-col :span="12">
<el-divider>已分配</el-divider>
<div class="table">
<el-button type="primary" size="mini" :disabled="!isUnassign" icon="el-icon-arrow-right" @click="handleToRight" />
<el-table
:data="form.Valst"
:height="tableHeight"
border
@selection-change="handleSelectionAssign"
>
<el-table-column type="selection" width="40" align="center" />
<el-table-column
prop="Attribute-AttrCode"
:label="getColumnName('Attribute-AttrCode')"
/>
<el-table-column
prop="Attribute-Descr"
:label="getColumnName('Attribute-Descr')"
/>
<el-table-column
prop="Attribute-AttrName"
:label="getColumnName('Attribute-AttrName')"
/>
<el-table-column
prop="Attribute-AttrType"
:label="getColumnName('Attribute-AttrType')"
/>
<el-table-column :label="getColumnName('Attribute-AttrValue')">
<template slot-scope="scope">
<el-select v-model="scope.row['Attribute-AttrValue']" placeholder="请选择">
<el-option
v-for="item in optionsCode[scope.row['Attribute-AttrCode']]"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</template>
</el-table-column>
</el-table>
</div>
</el-col>
</el-row>
</el-tab-pane>
</el-tabs>
</el-col>
<el-dialog
:title="title"
:visible.sync="open"
width="90%"
:close-on-click-modal="false"
>
<el-form
ref="form"
:model="form"
:rules="rules"
label-width="120px"
style="margin-bottom: 10px"
>
<el-row>
<el-col :span="12">
<!-- 零件号 -->
<el-form-item
:label="getColumnName('Article-ArtId')"
prop="Article-ArtId"
>
<el-input
v-model="form['Article-ArtId']"
:disabled="!isAdd"
placeholder="请输入"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<!-- 项目定义 -->
<el-form-item
:label="getColumnName('Article-ProjectId')"
prop="Article-ProjectId"
>
<el-select
v-model="form['Article-ProjectId']"
filterable
placeholder="请选择"
style="width: 100%"
>
<el-option
v-for="item in projectArray"
:key="item['ME_Project-ProjectId']"
:label="item['ME_Project-Descr']"
:value="item['ME_Project-ProjectId']"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<!-- 产线ID -->
<el-form-item
:label="getColumnName('Article-PlanResourceId')"
prop="Article-PlanResourceId"
>
<el-select
v-model="form['Article-PlanResourceId']"
filterable
placeholder="请选择"
style="width: 100%"
>
<el-option
v-for="item in worklineArray"
:key="item['WorkLine-WorkLineid']"
:label="item['WorkLine-Descr']"
:value="item['WorkLine-WorkLineid']"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<!-- 产线ID -->
<el-form-item
:label="getColumnName('Article-UsedResourceId')"
prop="Article-UsedResourceId"
>
<el-select
v-model="form['Article-UsedResourceId']"
filterable
placeholder="请选择"
style="width: 100%"
>
<el-option
v-for="item in worklineArray"
:key="item['WorkLine-WorkLineid']"
:label="item['WorkLine-Descr']"
:value="item['WorkLine-WorkLineid']"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<!-- 描述1 -->
<el-form-item :label="getColumnName('Article-Descr1')">
<el-input v-model="form['Article-Descr1']" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<!-- 描述2 -->
<el-form-item :label="getColumnName('Article-Descr2')">
<el-input v-model="form['Article-Descr2']" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
:label="getColumnName('Article-ArtSpec1')"
prop="Article-ArtSpec1"
>
<el-select
v-model="form['Article-ArtSpec1']"
filterable
placeholder="请选择"
style="width: 100%"
>
<el-option
v-for="item in artSpecList"
:key="item['stdeftab-stdeftyp']"
:label="item['stdeftab-bez']"
:value="item['stdeftab-stdeftyp']"
/>
              </el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="getColumnName('Article-QuantityPerHour')">
<el-input
v-model="form['Article-QuantityPerHour']"
placeholder="请输入"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item>
<el-checkbox
disabled
v-model="form['Article-RatePerHourToggle']"
>{{ getColumnName('Article-RatePerHourToggle') }}</el-checkbox
>
</el-form-item>
</el-col>
<el-col :span="24">
<el-tabs
v-model="activeName"
type="card"
@tab-click="handleClick"
style="margin-bottom: 10px"
>
<el-tab-pane label="常规" name="first">
<el-row>
<el-col :span="12">
<!-- 内部零件号 -->
<el-form-item
:label="getColumnName('Article-AlternativeArtId')"
>
<el-input
v-model="form['Article-AlternativeArtId']"
placeholder="请输入"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<!-- 计量单位 -->
<el-form-item :label="getColumnName('Article-UomId')">
<el-input
v-model="form['Article-UomId']"
placeholder="请输入"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item :label="getColumnName('Article-CustArtId')">
<el-input
v-model="form['Article-CustArtId']"
placeholder="请输入"
/>
</el-form-item>
</el-col>
</el-row>
</el-tab-pane>
<el-tab-pane label="分配的属性" name="second">
<el-row>
<el-col :span="12">
<el-divider>未分配</el-divider>
<div class="table">
<el-table
:data="form.Unvalst"
:height="tableHeight"
border
@selection-change="handleSelectionUnassign"
>
<el-table-column
type="selection"
width="40"
align="center"
/>
<el-table-column
prop="Attribute-AttrCode"
:label="getColumnName('Attribute-AttrCode')"
/>
<el-table-column
prop="Attribute-Descr"
:label="getColumnName('Attribute-Descr')"
/>
<el-table-column
prop="Attribute-AttrName"
:label="getColumnName('Attribute-AttrName')"
/>
<el-table-column
prop="Attribute-AttrType"
:label="getColumnName('Attribute-AttrType')"
/>
</el-table>
<el-button
type="primary"
size="mini"
:disabled="!isAssign"
icon="el-icon-arrow-left"
@click="handleToLeft"
/>
</div>
</el-col>
<el-col :span="12">
<el-divider>已分配</el-divider>
<div class="table">
<el-button
type="primary"
size="mini"
:disabled="!isUnassign"
icon="el-icon-arrow-right"
@click="handleToRight"
/>
<el-table
:data="form.Valst"
:height="tableHeight"
border
@selection-change="handleSelectionAssign"
>
<el-table-column
type="selection"
width="40"
align="center"
/>
<el-table-column
prop="Attribute-AttrCode"
:label="getColumnName('Attribute-AttrCode')"
/>
<el-table-column
prop="Attribute-Descr"
:label="getColumnName('Attribute-Descr')"
/>
<el-table-column
prop="Attribute-AttrName"
:label="getColumnName('Attribute-AttrName')"
/>
<el-table-column
prop="Attribute-AttrType"
:label="getColumnName('Attribute-AttrType')"
/>
<el-table-column
:label="getColumnName('Attribute-AttrValue')"
>
<template slot-scope="scope">
<el-select
v-model="scope.row['Attribute-AttrValue']"
placeholder="请选择"
>
<el-option
v-for="item in optionsCode[
scope.row['Attribute-AttrCode']
]"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</template>
</el-table-column>
</el-table>
</div>
</el-col>
</el-row>
</el-tab-pane>
</el-tabs>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
@ -311,13 +440,18 @@ export default {
'Article-UsedResourceId':[
{ required: true, message: '此项不能为空', trigger: 'blur' }
],
'Article-ArtSpec1':[
{ required: true, message: '此项不能为空', trigger: 'blur' }
],
},
artSpecList:[], //
}
},
created() {
this.options = getWorkshopList()
this.getList()
this.getAttrList()
this.getArtSpecList();
// 线
getWorklineList().then(res => {
this.worklineArray = res.data
@ -326,8 +460,15 @@ export default {
getProjectList().then(res => {
this.projectArray = res.data
})
},
methods: {
//
getArtSpecList(){
this.getStanderOne({ statid: 'Article-ArtSpec1' }).then(({data=[]}) => {
this.artSpecList=data;
})
},
/** 选择已分配 */
handleSelectionAssign(selection) {
this.assignArray = []
@ -422,6 +563,7 @@ export default {
'Article-DeliveryBuffer',
'Article-LastModify',
'Article-LastUser',
'Article-ArtSpec1',
'Article-CreateTime'
]
this.loading = false
@ -534,12 +676,12 @@ export default {
<style lang="scss" scoped>
.article-container {
.table {
display: flex;
align-items:center;
margin: 0 2px;
}
.users-wrap {
.table {
display: flex;
align-items: center;
margin: 0 2px;
}
.users-wrap {
/deep/ .el-transfer {
width: 100%;
}
@ -562,9 +704,9 @@ export default {
/deep/ .el-transfer__button {
border-radius: 4px;
}
/deep/ .el-transfer-panel__item.el-checkbox {
margin-bottom: 10px;
}
/deep/ .el-transfer-panel__item.el-checkbox {
margin-bottom: 10px;
}
}
}
</style>

Loading…
Cancel
Save