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 @@ ...@@ -510,52 +510,60 @@
</el-row> </el-row>
</el-form> </el-form>
<el-tabs type="border-card" v-model="activeName" @tab-click="onTabClick" v-if="form.itemId != null && form.itemOrProduct == 'PRODUCT'"> <el-tabs type="border-card" v-model="activeName" @tab-click="onTabClick" v-if="form.itemId != null && form.itemOrProduct == 'PRODUCT'">
<el-tab-pane label="基本信息"> <el-tab-pane label="基本信息" name="BaseInfo">
<BaseInfo <BaseInfo ref="BaseInfo" :optType="optType" :itemId="form.itemId"></BaseInfo>
ref="baseInfo"
:optType="optType"
:itemId="form.itemId"
></BaseInfo>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="产品特性"> <el-tab-pane label="产品特性" name="SpecProperty">
<SpecProperty :optType="optType" :itemId="form.itemId"></SpecProperty> <SpecProperty ref="SpecProperty" :optType="optType" :itemId="form.itemId"></SpecProperty>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="销售单位转换"> <el-tab-pane label="销售单位转换" name="SaleUnit">
<SaleUnit ref="saleUnit" :optType="optType" :itemId="form.itemId"></SaleUnit> <SaleUnit ref="SaleUnit" :optType="optType" :itemId="form.itemId"></SaleUnit>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="工厂信息"> <el-tab-pane label="工厂信息" name="Factory">
<Factory :optType="optType" :itemId="form.itemId"></Factory> <Factory ref="Factory" :optType="optType" :itemId="form.itemId"></Factory>
</el-tab-pane> </el-tab-pane>
<!-- <el-tab-pane label="客户信息"> <!-- <el-tab-pane label="客户信息">
<Customer :optType="optType" :itemId="form.itemId"></Customer> <Customer :optType="optType" :itemId="form.itemId"></Customer>
</el-tab-pane>--> </el-tab-pane>-->
<el-tab-pane label="产品外观"> <el-tab-pane label="产品外观" name="Look">
<Look ref="look" :optType="optType" :itemId="form.itemId"></Look> <Look ref="Look" :optType="optType" :itemId="form.itemId"></Look>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="排版参数"> <el-tab-pane label="排版参数" name="PublishedConf">
<PublishedConf <PublishedConf
ref="publishedConf" ref="PublishedConf"
:optType="optType" :optType="optType"
:itemId="form.itemId" :itemId="form.itemId"
></PublishedConf> ></PublishedConf>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="正面颜色"> <el-tab-pane label="正面颜色" name="FaceColor">
<FaceColor :optType="optType" :itemId="form.itemId"></FaceColor> <FaceColor ref="FaceColor" :optType="optType" :itemId="form.itemId"></FaceColor>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="反面颜色"> <el-tab-pane label="反面颜色" name="BackFaceColor">
<BackFaceColor <BackFaceColor ref="BackFaceColor" :optType="optType" :itemId="form.itemId"></BackFaceColor>
:optType="optType" </el-tab-pane>
:itemId="form.itemId" <el-tab-pane label="客户loss" name="CustomerLoss">
></BackFaceColor> <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>
<el-tab-pane label="客户loss"> <el-tab-pane label="SAP品控特性" name="SapQAProperty">
<CustomerLoss :optType="optType" :itemId="form.itemId"></CustomerLoss> <SapPropertyData ref="SapQAProperty"/>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="SAP特性" name="SapProperty"> <el-tab-pane label="SAP财务特性" name="SapFinanceProperty">
<SapProperty ref="SapProperty"/> <SapPropertyData ref="SapFinanceProperty"/>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="SOP"> <el-tab-pane label="SOP" name="SOP">
<SOPTab :itemId="form.itemId" :optType="optType"></SOPTab> <SOPTab ref="SOP" :itemId="form.itemId" :optType="optType"></SOPTab>
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
...@@ -632,7 +640,6 @@ import FaceColor from "./components/faceColor.vue"; ...@@ -632,7 +640,6 @@ import FaceColor from "./components/faceColor.vue";
import BackFaceColor from "./components/backFaceColor.vue"; import BackFaceColor from "./components/backFaceColor.vue";
import CustomerLoss from "./components/customerLoss.vue"; import CustomerLoss from "./components/customerLoss.vue";
import ItemBom from "./components/itembom.vue"; import ItemBom from "./components/itembom.vue";
import SapProperty from './components/sapProperty.vue'
import SOPTab from "./components/sop.vue"; import SOPTab from "./components/sop.vue";
import { listAllUnitmeasure } from "@/api/mes/md/unitmeasure"; import { listAllUnitmeasure } from "@/api/mes/md/unitmeasure";
import { genCode } from "@/api/system/autocode/rule"; import { genCode } from "@/api/system/autocode/rule";
...@@ -645,7 +652,6 @@ export default { ...@@ -645,7 +652,6 @@ export default {
name: "MdItem", name: "MdItem",
dicts: ["sys_yes_no", "mes_item_product"], dicts: ["sys_yes_no", "mes_item_product"],
components: { components: {
SapProperty,
Treeselect, Treeselect,
BaseInfo, BaseInfo,
SpecProperty, SpecProperty,
...@@ -658,7 +664,7 @@ export default { ...@@ -658,7 +664,7 @@ export default {
BackFaceColor, BackFaceColor,
CustomerLoss, CustomerLoss,
ItemBom, ItemBom,
SOPTab, SOPTab
}, },
data() { data() {
return { return {
...@@ -882,18 +888,18 @@ export default { ...@@ -882,18 +888,18 @@ export default {
if (valid) { if (valid) {
if (this.form.itemId != undefined) { if (this.form.itemId != undefined) {
//基本信息保存 //基本信息保存
const baseInfoData = await this.$refs["baseInfo"].getBaseInfoData(); const baseInfoData = await this.$refs["BaseInfo"].getBaseInfoData();
baseInfoData.itemId = this.form.itemId; baseInfoData.itemId = this.form.itemId;
//产品外观保存 //产品外观保存
const lookData = await this.$refs["look"].getLookFormData(); const lookData = await this.$refs["Look"].getLookFormData();
lookData.itemId = this.form.itemId; lookData.itemId = this.form.itemId;
//产品参数配置保存 publishedConf //产品参数配置保存 publishedConf
const publishedConfData = await this.$refs["publishedConf"].getPublishedConfData(); const publishedConfData = await this.$refs["PublishedConf"].getPublishedConfData();
publishedConfData.itemId = this.form.itemId; publishedConfData.itemId = this.form.itemId;
//销售单位转换保存 //销售单位转换保存
const saleUnit = await this.$refs["saleUnit"].getSaleUnitFormData(); const saleUnit = await this.$refs["SaleUnit"].getSaleUnitFormData();
saleUnit.itemId = this.form.itemId; saleUnit.itemId = this.form.itemId;
const params = { const params = {
...@@ -990,7 +996,19 @@ export default { ...@@ -990,7 +996,19 @@ export default {
} }
}, },
onTabClick() { 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