Commit dfe4cbb6 authored by hiyonx's avatar hiyonx

销售订单

parent 15f9f23b
......@@ -4,7 +4,7 @@
<el-row class="form-wrap" :gutter="gutter">
<div>
<template v-for="(sapProperties, key) in sapPropertyMap">
<div class="separator">{{ getViewTypeName(key) }}</div>
<el-col v-if="showSubTitle" :span="24" class="separator">{{ getViewTypeName(key) }}</el-col>
<template v-for="item in sapProperties">
<el-col :span="span" :key="item.id">
<el-form-item :label="item.name" :prop="key + '.' + item.sapField"
......@@ -34,6 +34,7 @@ export default {
props: {
gutter: {type: Number, default: 10},
span: {type: Number, default: 8},
showSubTitle: {type: Boolean, default: true},
},
data() {
return {
......@@ -106,8 +107,30 @@ export default {
return viewType
},
setData(data, sapData, sapPropertyMap) {
let keys = Object.keys(sapPropertyMap)
setData(data, sapData, propertyViews) {
let newSapData = {}
for (const propertyView of propertyViews) {
let propertyList = propertyView.propertyList
switch (propertyView.dataType) {
case 0: // 属性
for (const property of propertyList) {
newSapData[property.sapField] = data[property.relationField] || sapData[property.sapField] || ''
}
case 1: // 对象
let viewObj = {}
for (const property of propertyList) {
viewObj[property.sapField] = data[propertyView.viewType][property.relationField] || data[property.relationField]
|| sapData[propertyView.viewType][property.sapField] || ''
}
newSapData[propertyView.viewType] = viewObj
case 2: // 列表
let viewArr = sapData[propertyView.viewType] || []
data
for (const property of propertyList) {
}
}
}
for (const key of keys) {
if (!sapPropertyMap.hasOwnProperty(key)) continue
if (!sapData[key]) sapData[key] = {}
......@@ -131,12 +154,7 @@ export default {
let sapData = {}
// 获取sap特性列表
listByType({type, viewType}).then(res => {
let sapProperties = res.data || []
let sapPropertyMap = sapProperties.reduce((sapPropertyMap, item) => {
if (!sapPropertyMap[item.viewType]) sapPropertyMap[item.viewType] = []
sapPropertyMap[item.viewType].push(item)
return sapPropertyMap
}, {})
let propertyViews = res.data || []
if (relationId) {
// 获取sap特性值
listData({type, viewType, relationId}).then(resp => {
......@@ -144,10 +162,10 @@ export default {
this.form.id = row.id
sapData = JSON.parse(row.sapData)
// 再次赋值
this.setData(data, sapData, sapPropertyMap)
this.setData(data, sapData, propertyViews)
})
} else {
this.setData(data, sapData, sapPropertyMap)
this.setData(data, sapData, propertyViews)
}
})
}
......
......@@ -156,9 +156,7 @@
</el-col>
<el-col :span="8">
<el-form-item label="关联属性" prop="relationField">
<el-select v-model="form.relationField" placeholder="请选择关联客户属性" clearable filterable>
<el-option v-for="item in relationFields" :key="item.value" v-bind="item"/>
</el-select>
<el-input v-model.trim="form.relationField" placeholder="请选择关联客户属性" clearable/>
</el-form-item>
</el-col>
<el-col :span="8">
......@@ -237,7 +235,6 @@ export default {
enableFlag: 'Y',
},
viewTypes: [],
relationFields: [],
// 表单校验
rules: {
type: [{ required: true, message: '特性类型不能为空', trigger: ['blur', 'change']}],
......@@ -257,7 +254,6 @@ export default {
methods: {
onChangeType(val) {
this.viewTypes = this.dict.type.sap_property_view.filter(item => item.value === val).map(item => ({label: item.label, value: item.raw.cssClass}))
this.relationFields = this.dict.type.sap_property_relation.filter(item => item.value === val).map(item => ({label: item.label, value: item.raw.cssClass}))
},
toDataType() {
this.$router.push({ path: '/mes/md/propertytype'})
......
......@@ -115,7 +115,7 @@
icon="el-icon-search"
@click="handleUpdate(scope.row)"
v-hasPermi="['od:salesOrder:edit']"
>查看
>详情
</el-button>
<el-button
size="mini"
......
This diff is collapsed.
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