Commit a7e8f8e0 authored by 鲁鑫's avatar 鲁鑫

产品SAP特性页签

parent 2dc90f99
<template>
<div class="base-info">
<el-form :model="form" ref="form" label-width="120px" size="mini">
<el-row class="form-wrap" :gutter="10">
<template v-for="item in sapProperties">
<el-col :span="8" :key="item.id">
<el-form-item :label="item.name" :prop="item.sapField"
:rules="{required: true, validator: (rule, value, callback) => onValidate(rule, value, callback, item), trigger: ['blur', 'change']}">
<el-input-all v-model="form[item.sapField]" :item="item"/>
</el-form-item>
</el-col>
</template>
</el-row>
</el-form>
<div>
<el-button @click="onConfirm">确认</el-button>
</div>
</div>
</template>
<script>
import {listByType} from '@/api/mes/md/sapproperty'
export default {
props: {
},
data() {
return {
sapProperties: [],
customer: {},
form: {},
sapProperty: {
id: '',
type: '',
viewType: '',
name: '',
typeId: '',
sapField: '',
relationField: '',
typeName: '',
dataType: '',
length: '',
min: '',
max: '',
regEx: '',
dictId: '',
errMsg: '',
dictDataList: []
},
}
},
methods: {
onConfirm() {
console.log(this.form)
},
onValidate(rule, value, callback, item) {
if (value === '' || value == null) {
callback(new Error(item.errMsg))
} else {
if (item.dataType === 1) {
if (value.length > item.length || !new RegExp(item.regEx).test(value)) callback(new Error(item.errMsg))
} else if ([2, 3].includes(item.dataType)) {
if (value < item.min || value > max) callback(new Error(item.errMsg))
}
callback()
}
},
init() {
this.$refs.form && this.$refs.form.resetFields()
this.form = {}
listByType({type: 5}).then(res => {
this.sapProperties = res.data
})
}
},
created() {
}
}
</script>
<style scoped>
.form-wrap {
max-height: 400px;
overflow-y: auto;
}
</style>
......@@ -510,52 +510,60 @@
</el-row>
</el-form>
<el-tabs type="border-card" v-model="activeName" @tab-click="onTabClick" v-if="form.itemId != null && form.itemOrProduct == 'PRODUCT'">
<el-tab-pane label="基本信息">
<BaseInfo
ref="baseInfo"
:optType="optType"
:itemId="form.itemId"
></BaseInfo>
<el-tab-pane label="基本信息" name="BaseInfo">
<BaseInfo ref="BaseInfo" :optType="optType" :itemId="form.itemId"></BaseInfo>
</el-tab-pane>
<el-tab-pane label="产品特性">
<SpecProperty :optType="optType" :itemId="form.itemId"></SpecProperty>
<el-tab-pane label="产品特性" name="SpecProperty">
<SpecProperty ref="SpecProperty" :optType="optType" :itemId="form.itemId"></SpecProperty>
</el-tab-pane>
<el-tab-pane label="销售单位转换">
<SaleUnit ref="saleUnit" :optType="optType" :itemId="form.itemId"></SaleUnit>
<el-tab-pane label="销售单位转换" name="SaleUnit">
<SaleUnit ref="SaleUnit" :optType="optType" :itemId="form.itemId"></SaleUnit>
</el-tab-pane>
<el-tab-pane label="工厂信息">
<Factory :optType="optType" :itemId="form.itemId"></Factory>
<el-tab-pane label="工厂信息" name="Factory">
<Factory ref="Factory" :optType="optType" :itemId="form.itemId"></Factory>
</el-tab-pane>
<!-- <el-tab-pane label="客户信息">
<Customer :optType="optType" :itemId="form.itemId"></Customer>
</el-tab-pane>-->
<el-tab-pane label="产品外观">
<Look ref="look" :optType="optType" :itemId="form.itemId"></Look>
<el-tab-pane label="产品外观" name="Look">
<Look ref="Look" :optType="optType" :itemId="form.itemId"></Look>
</el-tab-pane>
<el-tab-pane label="排版参数">
<el-tab-pane label="排版参数" name="PublishedConf">
<PublishedConf
ref="publishedConf"
ref="PublishedConf"
:optType="optType"
:itemId="form.itemId"
></PublishedConf>
</el-tab-pane>
<el-tab-pane label="正面颜色">
<FaceColor :optType="optType" :itemId="form.itemId"></FaceColor>
<el-tab-pane label="正面颜色" name="FaceColor">
<FaceColor ref="FaceColor" :optType="optType" :itemId="form.itemId"></FaceColor>
</el-tab-pane>
<el-tab-pane label="反面颜色">
<BackFaceColor
:optType="optType"
:itemId="form.itemId"
></BackFaceColor>
<el-tab-pane label="反面颜色" name="BackFaceColor">
<BackFaceColor ref="BackFaceColor" :optType="optType" :itemId="form.itemId"></BackFaceColor>
</el-tab-pane>
<el-tab-pane label="客户loss" name="CustomerLoss">
<CustomerLoss ref="CustomerLoss" :optType="optType" :itemId="form.itemId"></CustomerLoss>
</el-tab-pane>
<el-tab-pane label="SAP销售特性" name="SapSaleProperty">
<SapPropertyData ref="SapSaleProperty"/>
</el-tab-pane>
<el-tab-pane label="SAP采购特性" name="SapPurchaseProperty">
<SapPropertyData ref="SapPurchaseProperty"/>
</el-tab-pane>
<el-tab-pane label="SAP物控特性" name="SapPMCProperty">
<SapPropertyData ref="SapPMCProperty"/>
</el-tab-pane>
<el-tab-pane label="SAP仓储特性" name="SapStorageProperty">
<SapPropertyData ref="SapStorageProperty"/>
</el-tab-pane>
<el-tab-pane label="客户loss">
<CustomerLoss :optType="optType" :itemId="form.itemId"></CustomerLoss>
<el-tab-pane label="SAP品控特性" name="SapQAProperty">
<SapPropertyData ref="SapQAProperty"/>
</el-tab-pane>
<el-tab-pane label="SAP特性" name="SapProperty">
<SapProperty ref="SapProperty"/>
<el-tab-pane label="SAP财务特性" name="SapFinanceProperty">
<SapPropertyData ref="SapFinanceProperty"/>
</el-tab-pane>
<el-tab-pane label="SOP">
<SOPTab :itemId="form.itemId" :optType="optType"></SOPTab>
<el-tab-pane label="SOP" name="SOP">
<SOPTab ref="SOP" :itemId="form.itemId" :optType="optType"></SOPTab>
</el-tab-pane>
</el-tabs>
<div slot="footer" class="dialog-footer">
......@@ -632,7 +640,6 @@ import FaceColor from "./components/faceColor.vue";
import BackFaceColor from "./components/backFaceColor.vue";
import CustomerLoss from "./components/customerLoss.vue";
import ItemBom from "./components/itembom.vue";
import SapProperty from './components/sapProperty.vue'
import SOPTab from "./components/sop.vue";
import { listAllUnitmeasure } from "@/api/mes/md/unitmeasure";
import { genCode } from "@/api/system/autocode/rule";
......@@ -645,7 +652,6 @@ export default {
name: "MdItem",
dicts: ["sys_yes_no", "mes_item_product"],
components: {
SapProperty,
Treeselect,
BaseInfo,
SpecProperty,
......@@ -658,7 +664,7 @@ export default {
BackFaceColor,
CustomerLoss,
ItemBom,
SOPTab,
SOPTab
},
data() {
return {
......@@ -882,18 +888,18 @@ export default {
if (valid) {
if (this.form.itemId != undefined) {
//基本信息保存
const baseInfoData = await this.$refs["baseInfo"].getBaseInfoData();
const baseInfoData = await this.$refs["BaseInfo"].getBaseInfoData();
baseInfoData.itemId = this.form.itemId;
//产品外观保存
const lookData = await this.$refs["look"].getLookFormData();
const lookData = await this.$refs["Look"].getLookFormData();
lookData.itemId = this.form.itemId;
//产品参数配置保存 publishedConf
const publishedConfData = await this.$refs["publishedConf"].getPublishedConfData();
const publishedConfData = await this.$refs["PublishedConf"].getPublishedConfData();
publishedConfData.itemId = this.form.itemId;
//销售单位转换保存
const saleUnit = await this.$refs["saleUnit"].getSaleUnitFormData();
const saleUnit = await this.$refs["SaleUnit"].getSaleUnitFormData();
saleUnit.itemId = this.form.itemId;
const params = {
......@@ -990,7 +996,19 @@ export default {
}
},
onTabClick() {
this.$refs[this.activeName].init && this.$refs[this.activeName].init(this.form.itemId)
if (this.activeName === 'SapSaleProperty') {
this.$refs.SapSaleProperty.init(5, this.form.itemId, this.form)
} else if (this.activeName === 'SapPurchaseProperty') {
this.$refs.SapPurchaseProperty.init(6, this.form.itemId, this.form)
} else if (this.activeName === 'SapPMCProperty'){
this.$refs.SapPMCProperty.init(7, this.form.itemId, this.form)
} else if (this.activeName === 'SapStorageProperty') {
this.$refs.SapStorageProperty.init(8, this.form.itemId, this.form)
} else if (this.activeName === 'SapQAProperty') {
this.$refs.SapQAProperty.init(9, this.form.itemId, this.form)
} else if (this.activeName === 'SapFinanceProperty') {
this.$refs.SapFinanceProperty.init(10, this.form.itemId, this.form)
} //else this.$refs[this.activeName].init && this.$refs[this.activeName].init(this.form)
}
},
};
......
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