Commit 04671c13 authored by 全洪江's avatar 全洪江

Merge branch 'dev' of http://git.local.topsunit.com/mes/mes-ui into dev

parents 10d1f42f 49782f65
FROM nginx
MAINTAINER xin.lu
VOLUME /tmp
ENV LANG en_US.UTF-8
RUN echo "server { \
listen 80; \
client_max_body_size 50M; \
location /stage-api/ { \
proxy_pass http://192.168.3.91:8080/; \
proxy_redirect off; \
proxy_set_header Host mes-ui; \
proxy_set_header X-Real-IP \$remote_addr; \
proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for; \
} \
#解决Router(mode: 'history')模式下,刷新路由地址不能找到页面的问题 \
location / { \
root /var/mes/mes-ui/; \
index index.html index.htm; \
if (!-e \$request_filename) { \
rewrite ^(.*)\$ /index.html?s=\$1 last; \
break; \
} \
} \
access_log /var/log/nginx/access.log ; \
} " > /etc/nginx/conf.d/default.conf \
&& mkdir -p /var/mes \
&& mkdir -p /var/mes/mes-ui
ADD dist/ /var/mes/mes-ui/
EXPOSE 80
EXPOSE 443
import request from '@/utils/request' import request from "@/utils/request";
// 查询打样申请列表 // 查询打样申请列表
export function listPrototypeRequest(query) { export function listPrototypeRequest(query) {
return request({ return request({
url: '/mes/pro/prototypeRequest/list', url: "/mes/pro/prototypeRequest/list",
method: 'get', method: "get",
params: query params: query,
}) });
} }
// 查询打样申请详细 // 查询打样申请详细
export function getPrototypeRequest(prototypeRequestId) { export function getPrototypeRequest(prototypeRequestId) {
return request({ return request({
url: '/mes/pro/prototypeRequest/' + prototypeRequestId, url: "/mes/pro/prototypeRequest/" + prototypeRequestId,
method: 'get' method: "get",
}) });
} }
// 新增打样申请 // 新增打样申请
export function addPrototypeRequest(data) { export function addPrototypeRequest(data) {
return request({ return request({
url: '/mes/pro/prototypeRequest', url: "/mes/pro/prototypeRequest",
method: 'post', method: "post",
data: data data: data,
}) });
} }
// 修改打样申请 // 修改打样申请
export function updatePrototypeRequest(data) { export function updatePrototypeRequest(data) {
return request({ return request({
url: '/mes/pro/prototypeRequest', url: "/mes/pro/prototypeRequest",
method: 'put', method: "put",
data: data data: data,
}) });
} }
// 删除打样申请 // 删除打样申请
export function delPrototypeRequest(prototypeRequestId) { export function delPrototypeRequest(prototypeRequestId) {
return request({ return request({
url: '/mes/pro/prototypeRequest/' + prototypeRequestId, url: "/mes/pro/prototypeRequest/" + prototypeRequestId,
method: 'delete' method: "delete",
}) });
}
// 修改状态
export function dofinish(data) {
return request({
url: "/mes/pro/prototypeRequest/modifyState/",
method: "put",
data: data,
});
} }
...@@ -2,14 +2,17 @@ ...@@ -2,14 +2,17 @@
<div class="base-info"> <div class="base-info">
<el-form :model="sapData" ref="form" label-width="120px" size="mini"> <el-form :model="sapData" ref="form" label-width="120px" size="mini">
<el-row class="form-wrap" :gutter="gutter"> <el-row class="form-wrap" :gutter="gutter">
<template v-for="(sapProperties, key) in sapPropertyMap">
<div class="separator">{{ getViewTypeName(key) }}</div>
<template v-for="item in sapProperties"> <template v-for="item in sapProperties">
<el-col :span="span" :key="item.id"> <el-col :span="span" :key="item.id">
<el-form-item :label="item.name" :prop="item.sapField" <el-form-item :label="item.name" :prop="item.sapField"
:rules="{required: true, validator: (rule, value, callback) => onValidate(rule, value, callback, item), trigger: ['blur', 'change']}"> :rules="{required: item.required, validator: (rule, value, callback) => onValidate(rule, value, callback, item), trigger: ['blur', 'change']}">
<el-input-all v-model="sapData[item.sapField]" :item="item"/> <el-input-all v-model="sapData[item.sapField]" :item="item"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</template> </template>
</template>
</el-row> </el-row>
<div class="footer"> <div class="footer">
...@@ -25,6 +28,7 @@ import {listByType} from '@/api/mes/md/sapproperty' ...@@ -25,6 +28,7 @@ import {listByType} from '@/api/mes/md/sapproperty'
import { addData, updateData, listData } from '@/api/mes/md/sapPropertyData' import { addData, updateData, listData } from '@/api/mes/md/sapPropertyData'
export default { export default {
dicts: ['sap_property_view', 'sap_property_relation'],
props: { props: {
gutter: {type: Number, default: 10}, gutter: {type: Number, default: 10},
span: {type: Number, default: 8}, span: {type: Number, default: 8},
...@@ -32,7 +36,7 @@ export default { ...@@ -32,7 +36,7 @@ export default {
data() { data() {
return { return {
loading: false, loading: false,
sapProperties: [], sapPropertyMap: [],
customer: {}, customer: {},
form: { form: {
type: null, type: null,
...@@ -65,6 +69,7 @@ export default { ...@@ -65,6 +69,7 @@ export default {
if (!Object.keys(this.sapData).length) return if (!Object.keys(this.sapData).length) return
console.log(this.sapData) console.log(this.sapData)
if (this.loading) return if (this.loading) return
if (!this.form.type || !this.form.relationId) return this.$message.error("对象为创建")
this.$refs.form.validate(valid => { this.$refs.form.validate(valid => {
if (valid) { if (valid) {
this.loading = true this.loading = true
...@@ -89,10 +94,21 @@ export default { ...@@ -89,10 +94,21 @@ export default {
} }
}, },
setData(data, sapData, sapProperties) { getViewTypeName(viewType) {
for (let property of sapProperties) { let viewTypeDict = this.dict.type.sap_property_view.find(item => item.value == this.form.type && item.raw.cssClass === viewType)
return viewTypeDict.label
},
setData(data, sapData, sapPropertyMap) {
let keys = Object.keys(sapPropertyMap)
for (const key of keys) {
if (!sapPropertyMap.hasOwnProperty(key)) continue
if (!sapData[key]) sapData[key] = {}
let properties = sapPropertyMap[key]
for (let property of properties) {
let propertyData = data[property.relationField] let propertyData = data[property.relationField]
sapData[property.sapField] = propertyData || sapData[property.sapField] sapData[key][property.sapField] = propertyData || sapData[key][property.sapField]
}
} }
console.log(sapData) console.log(sapData)
this.sapData = sapData this.sapData = sapData
...@@ -107,7 +123,13 @@ export default { ...@@ -107,7 +123,13 @@ export default {
// 获取sap特性列表 // 获取sap特性列表
listByType({type}).then(res => { listByType({type}).then(res => {
let sapProperties = res.data || [] let sapProperties = res.data || []
this.sapProperties = sapProperties let sapPropertyMap = sapProperties.reduce((sapPropertyMap, item) => {
if (!sapPropertyMap[item.viewType]) sapPropertyMap[item.viewType] = []
sapPropertyMap[item.viewType].push(item)
return sapPropertyMap
}, {})
console.log(sapPropertyMap)
this.sapPropertyMap = sapPropertyMap
if (relationId) { if (relationId) {
// 获取sap特性值 // 获取sap特性值
listData({type, relationId}).then(resp => { listData({type, relationId}).then(resp => {
...@@ -115,10 +137,10 @@ export default { ...@@ -115,10 +137,10 @@ export default {
this.form.id = row.id this.form.id = row.id
sapData = JSON.parse(row.sapData) sapData = JSON.parse(row.sapData)
// 再次赋值 // 再次赋值
this.setData(data, sapData, sapProperties) this.setData(data, sapData, sapPropertyMap)
}) })
} else { } else {
this.setData(data, sapData, sapProperties) this.setData(data, sapData, sapPropertyMap)
} }
}) })
} }
...@@ -138,4 +160,12 @@ export default { ...@@ -138,4 +160,12 @@ export default {
.footer { .footer {
text-align: right; text-align: right;
} }
.separator {
line-height: 30px;
border-bottom: 1px solid #dddddd;
padding: 10px 20px;
margin: 0 20px 20px;
font-weight: bold;
}
</style> </style>
...@@ -147,6 +147,15 @@ ...@@ -147,6 +147,15 @@
v-if="columns[5].visible" v-if="columns[5].visible"
width="120" width="120"
/> />
<el-table-column
label="备注"
align="center"
key="remark"
prop="remark"
v-if="columns[7].visible"
:show-overflow-tooltip="true"
width="160"
/>
<el-table-column <el-table-column
label="创建时间" label="创建时间"
align="center" align="center"
...@@ -236,6 +245,7 @@ export default { ...@@ -236,6 +245,7 @@ export default {
{ key: 4, label: `物料/产品`, visible: true }, { key: 4, label: `物料/产品`, visible: true },
{ key: 5, label: `物料分类`, visible: true }, { key: 5, label: `物料分类`, visible: true },
{ key: 6, label: `创建时间`, visible: true }, { key: 6, label: `创建时间`, visible: true },
{ key: 7, label: `备注`, visible: true },
], ],
}; };
}, },
......
...@@ -126,7 +126,7 @@ export const loadView = (view) => { ...@@ -126,7 +126,7 @@ export const loadView = (view) => {
return (resolve) => require([`@/views/${view}`], resolve) return (resolve) => require([`@/views/${view}`], resolve)
} else { } else {
// 使用 import 实现生产环境的路由懒加载 // 使用 import 实现生产环境的路由懒加载
return () => import(`@/views/${view}`) return (resolve) => require([`@/views/${view}`], resolve)
} }
} }
......
<template> <template>
<div class="base-info"> <div class="base-info">
<el-form :label-position="labelPosition">
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="客户工作时间" prop="clientWorkTime"> <el-form-item
<el-input v-model="form.clientWorkTime" placeholder="请输入 客户工作时间"/> label="客户工作时间"
prop="clientWorkTime"
:label-width="labelWidth"
>
<el-input
v-model="form.clientWorkTime"
placeholder="请输入客户工作时间"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="开票地址" prop="invoiceAddr"> <el-form-item
<el-input v-model="form.invoiceAddr" placeholder="请输入 开票地址"/> label="开票地址"
prop="invoiceAddr"
:label-width="labelWidth"
>
<el-input v-model="form.invoiceAddr" placeholder="请输入开票地址" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="客户送货地址" prop="address"> <el-form-item
<el-input v-model="form.address" placeholder="请输入 客户送货地址"/> label="客户送货地址"
prop="address"
:label-width="labelWidth"
>
<el-input v-model="form.address" placeholder="请输入客户送货地址" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="城市" prop="city"> <el-form-item label="城市" prop="city" :label-width="labelWidth">
<el-input v-model="form.city" placeholder="请输入 城市"/> <el-input v-model="form.city" placeholder="请输入城市" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="国家" prop="country"> <el-form-item label="国家" prop="country" :label-width="labelWidth">
<el-input v-model="form.country" placeholder="请输入 国家"/> <el-input v-model="form.country" placeholder="请输入国家" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="地区" prop="area"> <el-form-item label="地区" prop="area" :label-width="labelWidth">
<el-input v-model="form.area" placeholder="请输入 地区"/> <el-input v-model="form.area" placeholder="请输入地区" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="语言" prop="lang"> <el-form-item label="语言" prop="lang" :label-width="labelWidth">
<el-input v-model="form.lang" placeholder="请输入 语言"/> <el-input v-model="form.lang" placeholder="请输入语言" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="邮政编码" prop="postcode"> <el-form-item
<el-input v-model="form.postcode" placeholder="请输入 邮政编码"/> label="邮政编码"
prop="postcode"
:label-width="labelWidth"
>
<el-input v-model="form.postcode" placeholder="请输入邮政编码" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="电话号码" prop="tel"> <el-form-item label="电话号码" prop="tel" :label-width="labelWidth">
<el-input v-model="form.tel" placeholder="请输入 电话号码"/> <el-input v-model="form.tel" placeholder="请输入电话号码" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="移动电话" prop="phone"> <el-form-item label="移动电话" prop="phone" :label-width="labelWidth">
<el-input v-model="form.phone" placeholder="请输入 移动电话"/> <el-input v-model="form.phone" placeholder="请输入移动电话" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="Email" prop="email"> <el-form-item label="Email" prop="email" :label-width="labelWidth">
<el-input v-model="form.email" placeholder="请输入 e_Mail"/> <el-input v-model="form.email" placeholder="请输入e_Mail" />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
</el-form>
</div> </div>
</template> </template>
<script> <script>
export default { export default {
props: { props: {
form: { type: Object, required: true } form: { type: Object, required: true },
}, },
data() { data() {
return {} return {
labelPosition: "right",
labelWidth: "12em",
};
}, },
methods: { methods: {
init() { init() {},
}
}, },
created() { created() {},
};
}
}
</script> </script>
<style scoped> <style scoped></style>
</style>
<template> <template>
<div class="base-info"> <div class="base-info">
<el-form :label-position="labelPosition">
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="客户工作时间" prop="clientWorkTime"> <el-form-item
<el-input v-model="form.clientWorkTime" placeholder="请输入客户工作时间" /> label="客户工作时间"
prop="clientWorkTime"
:label-width="labelWidth"
>
<el-input
v-model="form.clientWorkTime"
placeholder="请输入客户工作时间"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="所属集团" prop="membershipGroup"> <el-form-item
<el-input v-model="form.membershipGroup" placeholder="请输入所属集团" /> label="所属集团"
prop="membershipGroup"
:label-width="labelWidth"
>
<el-input
v-model="form.membershipGroup"
placeholder="请输入所属集团"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="公司法人" prop="legalPerson"> <el-form-item
label="公司法人"
prop="legalPerson"
:label-width="labelWidth"
>
<el-input v-model="form.legalPerson" placeholder="请输入公司法人" /> <el-input v-model="form.legalPerson" placeholder="请输入公司法人" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="工商注册号" prop="licenseNo"> <el-form-item
label="工商注册号"
prop="licenseNo"
:label-width="labelWidth"
>
<el-input v-model="form.licenseNo" placeholder="请输入工商注册号" /> <el-input v-model="form.licenseNo" placeholder="请输入工商注册号" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="国税注册号" prop="taxNo"> <el-form-item
label="国税注册号"
prop="taxNo"
:label-width="labelWidth"
>
<el-input v-model="form.taxNo" placeholder="请输入国税注册号" /> <el-input v-model="form.taxNo" placeholder="请输入国税注册号" />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
</el-form>
</div> </div>
</template> </template>
<script> <script>
export default { export default {
props: { props: {
form: {type: Object, required: true} form: { type: Object, required: true },
}, },
data() { data() {
return {} return {
labelPosition: "right",
labelWidth: "12em",
};
}, },
methods: { methods: {
init() { init() {},
}
}, },
created() { created() {},
};
}
}
</script> </script>
<style scoped> <style scoped></style>
</style>
<template> <template>
<div class="base-info"> <div class="base-info">
<el-form :label-position="labelPosition">
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="验收单要求" prop="receiptRequest"> <el-form-item label="验收单要求" prop="receiptRequest" :label-width="labelWidth">
<el-input v-model="form.receiptRequest" placeholder="请输入验收单要求" /> <el-input v-model="form.receiptRequest" placeholder="请输入验收单要求" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="客户系统验收要求" prop="clientCheckRequest"> <el-form-item label="客户系统验收要求" prop="clientCheckRequest" :label-width="labelWidth">
<el-input v-model="form.clientCheckRequest" placeholder="请输入客户系统验收要求" /> <el-input v-model="form.clientCheckRequest" placeholder="请输入客户系统验收要求" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="要求签回货单" prop="requestSignReceipt"> <el-form-item label="要求签回货单" prop="requestSignReceipt" :label-width="labelWidth">
<el-input v-model="form.requestSignReceipt" placeholder="请输入要求签回货单" /> <el-input v-model="form.requestSignReceipt" placeholder="请输入要求签回货单" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="货单是否打印送货日期" prop="isPrintDate"> <el-form-item label="货单是否打印送货日期" prop="isPrintDate" :label-width="labelWidth">
<el-input v-model="form.isPrintDate" placeholder="请输入 货单是否打印送货日期" /> <el-input v-model="form.isPrintDate" placeholder="请输入 货单是否打印送货日期" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="收货方签字要求" prop="signRequest"> <el-form-item label="收货方签字要求" prop="signRequest" :label-width="labelWidth">
<el-input v-model="form.signRequest" placeholder="请输入 收货方签字要求" /> <el-input v-model="form.signRequest" placeholder="请输入 收货方签字要求" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="货单打印要求" prop="billPrintRequest"> <el-form-item label="货单打印要求" prop="billPrintRequest" :label-width="labelWidth">
<el-input v-model="form.billPrintRequest" placeholder="请输入 货单打印要求" /> <el-input v-model="form.billPrintRequest" placeholder="请输入 货单打印要求" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="产品检验报告类型" prop="qcReportType"> <el-form-item label="产品检验报告类型" prop="qcReportType" :label-width="labelWidth">
<el-input v-model="form.qcReportType" placeholder="请输入 产品检验报告类型" /> <el-input v-model="form.qcReportType" placeholder="请输入 产品检验报告类型" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="货单签回方式" prop="receiptSigningMethod"> <el-form-item label="货单签回方式" prop="receiptSigningMethod" :label-width="labelWidth">
<el-input v-model="form.receiptSigningMethod" placeholder="请输入 货单签回方式" /> <el-input v-model="form.receiptSigningMethod" placeholder="请输入 货单签回方式" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="出货方式" prop="shippingMethod"> <el-form-item label="出货方式" prop="shippingMethod" :label-width="labelWidth">
<el-input v-model="form.shippingMethod" placeholder="请输入 出货方式" /> <el-input v-model="form.shippingMethod" placeholder="请输入 出货方式" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="线路" prop="path"> <el-form-item label="线路" prop="path" :label-width="labelWidth">
<el-input v-model="form.path" placeholder="请输入 线路" /> <el-input v-model="form.path" placeholder="请输入 线路" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="线路" prop="path"> <el-form-item label="线路" prop="path" :label-width="labelWidth">
<el-input v-model="form.path" placeholder="请输入 线路" /> <el-input v-model="form.path" placeholder="请输入 线路" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="送货单打印默认设置" prop="billPrintSetting"> <el-form-item label="送货单打印默认设置" prop="billPrintSetting" :label-width="labelWidth">
<el-input v-model="form.billPrintSetting" placeholder="请输入 送货单打印默认设置" /> <el-input v-model="form.billPrintSetting" placeholder="请输入 送货单打印默认设置" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="送货单统计异常期限" prop="billExceptionDeadline"> <el-form-item label="送货单统计异常期限" prop="billExceptionDeadline" :label-width="labelWidth">
<el-input v-model="form.billExceptionDeadline" placeholder="请输入 送货单统计异常期限" /> <el-input v-model="form.billExceptionDeadline" placeholder="请输入 送货单统计异常期限" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="生产发货方式" prop="sendMode"> <el-form-item label="生产发货方式" prop="sendMode" :label-width="labelWidth">
<el-input v-model="form.sendMode" placeholder="请输入 生产发货方式" /> <el-input v-model="form.sendMode" placeholder="请输入 生产发货方式" />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
</el-form>
</div> </div>
</template> </template>
...@@ -80,10 +83,13 @@ ...@@ -80,10 +83,13 @@
export default { export default {
props: { props: {
form: {type: Object, required: true} form: { type: Object, required: true }
}, },
data() { data() {
return {} return {
labelPosition: 'right',
labelWidth: '12em'
}
}, },
methods: { methods: {
init() { init() {
...@@ -96,6 +102,4 @@ export default { ...@@ -96,6 +102,4 @@ export default {
} }
</script> </script>
<style scoped> <style scoped></style>
</style>
<template> <template>
<div class="base-info"> <div class="base-info">
<el-form :label-position="labelPosition">
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="盖章方式" prop="stampMode"> <el-form-item label="盖章方式" prop="stampMode" :label-width="labelWidth">
<el-input v-model="form.stampMode" placeholder="请输入 盖章方式"/> <el-input v-model="form.stampMode" placeholder="请输入盖章方式"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="请款联" prop="requisition"> <el-form-item label="请款联" prop="requisition" :label-width="labelWidth">
<el-input v-model="form.requisition" placeholder="请输入 请款联"/> <el-input v-model="form.requisition" placeholder="请输入请款联"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="客户联" prop="clientForm"> <el-form-item label="客户联" prop="clientForm" :label-width="labelWidth">
<el-input v-model="form.clientForm" placeholder="请输入 客户联"/> <el-input v-model="form.clientForm" placeholder="请输入客户联"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="不开发票" prop="noInvoice"> <el-form-item label="不开发票" prop="noInvoice" :label-width="labelWidth">
<el-input v-model="form.noInvoice" placeholder="请输入 不开发票"/> <el-input v-model="form.noInvoice" placeholder="请输入不开发票"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="请款要求" prop="paymentRequest"> <el-form-item label="请款要求" prop="paymentRequest" :label-width="labelWidth">
<el-input v-model="form.paymentRequest" placeholder="请输入 请款要求"/> <el-input v-model="form.paymentRequest" placeholder="请输入请款要求"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="月结方式" prop="settleMode"> <el-form-item label="月结方式" prop="settleMode" :label-width="labelWidth">
<el-input v-model="form.settleMode" placeholder="请输入 月结方式"/> <el-input v-model="form.settleMode" placeholder="请输入月结方式"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="请款期限" prop="paymentDeadline"> <el-form-item label="请款期限" prop="paymentDeadline" :label-width="labelWidth">
<el-input v-model="form.paymentDeadline" placeholder="请输入 请款期限"/> <el-input v-model="form.paymentDeadline" placeholder="请输入请款期限"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="做账截止日" prop="accountingDeadline"> <el-form-item label="做账截止日" prop="accountingDeadline" :label-width="labelWidth">
<el-input v-model="form.accountingDeadline" placeholder="请输入 做账截止日"/> <el-input v-model="form.accountingDeadline" placeholder="请输入做账截止日"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="客户收账截止日" prop="collectionDeadline"> <el-form-item label="客户收账截止日" prop="collectionDeadline" :label-width="labelWidth">
<el-input v-model="form.collectionDeadline" placeholder="请输入 客户收账截止日"/> <el-input v-model="form.collectionDeadline" placeholder="请输入客户收账截止日"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="扣款百分比" prop="deductionPercent"> <el-form-item label="扣款百分比" prop="deductionPercent" :label-width="labelWidth">
<el-input v-model="form.deductionPercent" placeholder="请输入 扣款百分比"/> <el-input v-model="form.deductionPercent" placeholder="请输入扣款百分比"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="金额小数位数" prop="amountDecimal"> <el-form-item label="金额小数位数" prop="amountDecimal" :label-width="labelWidth">
<el-input v-model="form.amountDecimal" placeholder="请输入 金额小数位数"/> <el-input v-model="form.amountDecimal" placeholder="请输入金额小数位数"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="要求用客户系统货单" prop="isClientWaybill"> <el-form-item label="要求用客户系统货单" prop="isClientWaybill" :label-width="labelWidth">
<el-input v-model="form.isClientWaybill" placeholder="请输入 要求用客户系统货单"/> <el-input v-model="form.isClientWaybill" placeholder="请输入要求用客户系统货单"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="订单要求" prop="orderRequest"> <el-form-item label="订单要求" prop="orderRequest" :label-width="labelWidth">
<el-input v-model="form.orderRequest" placeholder="请输入 订单要求"/> <el-input v-model="form.orderRequest" placeholder="请输入订单要求"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="订单统计异常期限" prop="orderExceptionDeadline"> <el-form-item label="订单统计异常期限" prop="orderExceptionDeadline" :label-width="labelWidth">
<el-input v-model="form.orderExceptionDeadline" placeholder="请输入 订单统计异常期限"/> <el-input v-model="form.orderExceptionDeadline" placeholder="请输入订单统计异常期限"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="订单性质" prop="orderKind"> <el-form-item label="订单性质" prop="orderKind" :label-width="labelWidth">
<el-input v-model="form.orderKind" placeholder="请输入 订单性质"/> <el-input v-model="form.orderKind" placeholder="请输入订单性质"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
</el-form>
</div> </div>
</template> </template>
...@@ -88,7 +90,10 @@ export default { ...@@ -88,7 +90,10 @@ export default {
form: { type: Object, required: true } form: { type: Object, required: true }
}, },
data() { data() {
return {} return {
labelWidth:'12em',
labelPosition:'regit'
}
}, },
methods: { methods: {
init() { init() {
......
<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)
} }
}, },
}; };
......
...@@ -111,12 +111,12 @@ ...@@ -111,12 +111,12 @@
</el-table> </el-table>
<pagination v-show="total>0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" /> <pagination v-show="total>0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" />
<el-dialog :title="title" :visible.sync="open" width="960px" append-to-body> <el-dialog :title="title" :visible.sync="open" width="960px">
<el-form ref="form" :model="form" :rules="rules" label-width="100px"> <el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="特性类型" prop="type"> <el-form-item label="特性类型" prop="type">
<el-select v-model="form.type" placeholder="请选择特性类型" clearable filterable> <el-select v-model="form.type" placeholder="请选择特性类型" @change="onChangeType" clearable filterable>
<el-option v-for="item in dict.type.sap_property_type" :key="item.value" v-bind="item"/> <el-option v-for="item in dict.type.sap_property_type" :key="item.value" v-bind="item"/>
</el-select> </el-select>
</el-form-item> </el-form-item>
...@@ -124,9 +124,7 @@ ...@@ -124,9 +124,7 @@
<el-col :span="8"> <el-col :span="8">
<el-form-item label="视图类型" prop="viewType"> <el-form-item label="视图类型" prop="viewType">
<el-select v-model="form.viewType" placeholder="请选择视图类型" clearable filterable> <el-select v-model="form.viewType" placeholder="请选择视图类型" clearable filterable>
<template v-for="item in viewTypes"> <el-option v-for="item in viewTypes" :key="item.value" v-bind="item"/>
<el-option v-if="!item.types || item.types.includes(form.type)" :key="item.value" v-bind="item"/>
</template>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -193,7 +191,7 @@ import { listPropertytype } from '@/api/mes/md/propertytype' ...@@ -193,7 +191,7 @@ import { listPropertytype } from '@/api/mes/md/propertytype'
export default { export default {
name: "Client", name: "Client",
dicts: ['mes_client_type','sys_yes_no','sys_data_type','sap_property_type'], dicts: ['mes_client_type','sys_yes_no','sys_data_type','sap_property_type', 'sap_property_view', 'sap_property_relation'],
data() { data() {
return { return {
//自动生成编码 //自动生成编码
...@@ -238,39 +236,8 @@ export default { ...@@ -238,39 +236,8 @@ export default {
money: 1, money: 1,
enableFlag: 'Y', enableFlag: 'Y',
}, },
viewTypes: [ viewTypes: [],
{label: '基本信息', value: '1', types: ''}, relationFields: [],
{label: '客户品牌联系人', value: '2', types: ''},
{label: '银行数据', value: '3', types: ''},
{label: '公司代码', value: '4', types: ''},
{label: '销售组织', value: '5', types: ''},
],
relationFields: [
{label: '客户编码', value: 'client_code'},
{label: '客户名称', value: 'client_name'},
{label: '客户简称', value: 'client_nick'},
{label: '客户英文名称', value: 'client_en'},
{label: '客户简介', value: 'client_des'},
{label: '客户LOGO地址', value: 'client_logo'},
{label: '客户类型', value: 'client_type'},
{label: '客户地址', value: 'address'},
{label: '客户官网地址', value: 'website'},
{label: '客户邮箱地址', value: 'email'},
{label: '客户电话', value: 'tel'},
{label: '联系人1', value: 'contact1'},
{label: '联系人1-电话', value: 'contact1_tel'},
{label: '联系人1-邮箱', value: 'contact1_email'},
{label: '联系人2', value: 'contact2'},
{label: '联系人2-电话', value: 'contact2_tel'},
{label: '联系人2-邮箱', value: 'contact2_email'},
{label: '统一社会信用代码', value: 'credit_code'},
{label: '是否启用', value: 'enable_flag'},
{label: '备注', value: 'remark'},
{label: '预留字段1', value: 'attr1'},
{label: '预留字段2', value: 'attr2'},
{label: '预留字段3', value: 'attr3'},
{label: '预留字段4', value: 'attr4'},
],
// 表单校验 // 表单校验
rules: { rules: {
type: [{ required: true, message: '特性类型不能为空', trigger: ['blur', 'change']}], type: [{ required: true, message: '特性类型不能为空', trigger: ['blur', 'change']}],
...@@ -288,6 +255,10 @@ export default { ...@@ -288,6 +255,10 @@ export default {
this.getList(); this.getList();
}, },
methods: { 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() { toDataType() {
this.$router.push({ path: '/mes/md/propertytype'}) this.$router.push({ path: '/mes/md/propertytype'})
}, },
......
<template> <template>
<div> <div>
<el-row :gutter="10" class="mb8"> <el-row :gutter="10" class="mb8" v-if="mode != 'info'">
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button
type="primary" type="primary"
...@@ -85,7 +85,12 @@ ...@@ -85,7 +85,12 @@
prop="itemRemark" prop="itemRemark"
min-width="120" min-width="120"
/> />
<el-table-column label="操作" align="center" width="120"> <el-table-column
v-if="mode != 'info'"
label="操作"
align="center"
width="120"
>
<template slot-scope="{ row, $index }"> <template slot-scope="{ row, $index }">
<el-button <el-button
type="text" type="text"
...@@ -116,11 +121,11 @@ ...@@ -116,11 +121,11 @@
> >
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="产品" prop="itemId"> <el-form-item label="物料" prop="itemId">
<el-input <el-input
v-model="form.itemName" v-model="form.itemName"
readonly readonly
placeholder="请选择产品" placeholder="请选择物料"
> >
<el-button <el-button
slot="append" slot="append"
...@@ -232,7 +237,7 @@ export default { ...@@ -232,7 +237,7 @@ export default {
rules: {}, rules: {},
/**多选 */ /**多选 */
selection: [], selection: [],
optType: 'add', optType: "add",
/**表单初始化数据 */ /**表单初始化数据 */
form: { form: {
quantity: "", quantity: "",
...@@ -247,7 +252,7 @@ export default { ...@@ -247,7 +252,7 @@ export default {
bomItemRemark: "", bomItemRemark: "",
itemRemark: "", itemRemark: "",
}, },
currentRowIdx: undefined currentRowIdx: undefined,
}; };
}, },
created() {}, created() {},
...@@ -262,13 +267,13 @@ export default { ...@@ -262,13 +267,13 @@ export default {
handleAdd() { handleAdd() {
this.resetForm(); this.resetForm();
this.showFlag = true; this.showFlag = true;
this.optType = 'add' this.optType = "add";
}, },
/**更新行 */ /**更新行 */
updateRow(row, idx) { updateRow(row, idx) {
Object.assign(this.form, row); Object.assign(this.form, row);
this.currentRowIdx = idx this.currentRowIdx = idx;
this.optType = 'edit' this.optType = "edit";
this.showFlag = true; this.showFlag = true;
}, },
/**删除行 */ /**删除行 */
...@@ -284,17 +289,18 @@ export default { ...@@ -284,17 +289,18 @@ export default {
if (row != undefined && row != null) { if (row != undefined && row != null) {
this.form.itemId = row.itemId; this.form.itemId = row.itemId;
this.form.itemName = row.itemName; this.form.itemName = row.itemName;
this.form.unit = row.unitOfMeasure; this.form.unitOfMeasure = row.unitOfMeasure;
this.form.itemRemark = row.remark;
} }
}, },
/**表单提交 */ /**表单提交 */
submitForm() { submitForm() {
this.$refs["form"].validate((valid) => { this.$refs["form"].validate((valid) => {
if (valid) { if (valid) {
if (this.optType == 'add') { if (this.optType == "add") {
this.tableData.unshift({ ...this.form }); this.tableData.unshift({ ...this.form });
} else { } else {
this.tableData.splice(this.currentRowIdx, 1, this.form) this.tableData.splice(this.currentRowIdx, 1, this.form);
} }
this.showFlag = false; this.showFlag = false;
} }
...@@ -316,6 +322,11 @@ export default { ...@@ -316,6 +322,11 @@ export default {
itemRemark: "", itemRemark: "",
}; };
}, },
/**重置组件状态 */
resetState() {
this.resetForm();
this.tableData = [];
},
/**获取组件数据 */ /**获取组件数据 */
getComData() { getComData() {
return this.tableData; return this.tableData;
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
/> />
<el-table-column label="工作站" prop="workstationId" align="center" /> <el-table-column label="工作站" prop="workstationId" align="center" />
<el-table-column label="甘特图显示颜色" prop="colorCode" align="center" /> <el-table-column label="甘特图显示颜色" prop="colorCode" align="center" />
<el-table-column label="操作" align="center" width="150"> <el-table-column v-if="mode != 'info'" label="操作" align="center" width="150">
<template slot-scope="{ row, $index }"> <template slot-scope="{ row, $index }">
<el-button <el-button
type="text" type="text"
...@@ -141,6 +141,7 @@ import ItemBomSelect from "@/components/itemBomSelect/single.vue"; ...@@ -141,6 +141,7 @@ import ItemBomSelect from "@/components/itemBomSelect/single.vue";
import ProcessProd from "./ProcessProd.vue"; import ProcessProd from "./ProcessProd.vue";
export default { export default {
components: { ItemBomSelect, ProcessProd }, components: { ItemBomSelect, ProcessProd },
inject: ['mode'],
props: { props: {
bomList: { bomList: {
type: Array, type: Array,
...@@ -218,6 +219,11 @@ export default { ...@@ -218,6 +219,11 @@ export default {
itemRemark: "", itemRemark: "",
}; };
}, },
/**重置组件状态 */
resetState() {
this.resetForm()
this.tableData = []
}
}, },
}; };
</script> </script>
......
This diff is collapsed.
<template> <template>
<div class="form-page"> <div class="form-page" v-loading="loading">
<PageTitle> <PageTitle>
{{ pageTitle }} {{ pageTitle }}
<!-- 申请按钮显示 -->
<template slot="buttons" v-if="mode == 'apply'"> <template slot="buttons" v-if="mode == 'apply'">
<el-button size="mini" @click="resetForm">重置</el-button> <el-button size="mini" @click="resetForm">重置</el-button>
<el-button size="mini" type="primary" @click="saveForm">提交</el-button> <el-button size="mini" type="primary" @click="saveForm">提交</el-button>
</template> </template>
<!-- 修改 按钮显示 -->
<template slot="buttons" v-if="mode == 'edit'">
<el-button size="mini" type="primary" @click="saveForm">提交</el-button>
</template>
</PageTitle> </PageTitle>
<PageWrapper> <PageWrapper>
...@@ -179,8 +185,12 @@ import ProogingProcess from "./components/ProogingProcess.vue"; ...@@ -179,8 +185,12 @@ import ProogingProcess from "./components/ProogingProcess.vue";
import ItemSelect from "@/components/itemSelect/single.vue"; import ItemSelect from "@/components/itemSelect/single.vue";
import RoutesProcessSelect from "@/components/routesProcessSelect/index.vue"; import RoutesProcessSelect from "@/components/routesProcessSelect/index.vue";
import { listRouteprocess } from "@/api/mes/pro/routeprocess"; import { listRouteprocess } from "@/api/mes/pro/routeprocess";
import { Loading } from "element-ui"; import tabPlugins from "@/plugins/tab";
import { addPrototypeRequest } from "@/api/mes/pro/prototypeRequest"; import {
addPrototypeRequest,
getPrototypeRequest,
updatePrototypeRequest,
} from "@/api/mes/pro/prototypeRequest";
export default { export default {
components: { ProogingBom, ProogingProcess, ItemSelect, RoutesProcessSelect }, components: { ProogingBom, ProogingProcess, ItemSelect, RoutesProcessSelect },
...@@ -192,6 +202,7 @@ export default { ...@@ -192,6 +202,7 @@ export default {
}, },
data() { data() {
return { return {
loading: false,
bomList: [], bomList: [],
// 表单参数 // 表单参数
form: { form: {
...@@ -233,11 +244,34 @@ export default { ...@@ -233,11 +244,34 @@ export default {
}, },
}, },
created() { created() {
this.getFormInfo();
this.gCode();
},
methods: {
/** 根据 id 获取页面数据 */
getFormInfo() {
if (this.mode != "apply") {
const id = this.$route.query.prototypeRequestId;
this.loading = true;
getPrototypeRequest(id)
.then(({ data }) => {
Object.assign(this.form, data);
this.bomList = data.bomList;
// 设置组件数据
this.$refs["ProogingBomRef"].tableData = data.bomList;
this.$refs["ProogingProcess"].tableData = data.processList;
})
.finally(() => {
this.loading = false;
});
}
},
/** 生成编码 */
gCode() {
genCode("PROTOTYPE_REQUEST_CODE").then((response) => { genCode("PROTOTYPE_REQUEST_CODE").then((response) => {
this.form.prototypeRequestCode = response; this.form.prototypeRequestCode = response;
}); });
}, },
methods: {
/** 点击tab 获取bom的数据,将参数传递给后面的组件 */ /** 点击tab 获取bom的数据,将参数传递给后面的组件 */
tabClick(val) { tabClick(val) {
if (val.index != 0) { if (val.index != 0) {
...@@ -275,16 +309,29 @@ export default { ...@@ -275,16 +309,29 @@ export default {
bomList, bomList,
processList, processList,
}; };
console.log("params", params); this.loading = true;
const loadingInstance = Loading.service({ fullscreen: true }); if (this.mode == "apply") {
addPrototypeRequest(params) addPrototypeRequest(params)
.then((res) => { .then((res) => {
loadingInstance.close(); this.loading = false;
this.$modal.msgSuccess("提交成功!");
// 关闭页签
tabPlugins.closeOpenPage();
})
.catch(() => {
this.loading = false;
});
} else {
updatePrototypeRequest(params)
.then(() => {
this.loading = false;
this.$modal.msgSuccess("提交成功!"); this.$modal.msgSuccess("提交成功!");
}) })
.catch(() => { .catch(() => {
loadingInstance.close(); this.loading = false;
}); });
}
}, },
/**重置表单 */ /**重置表单 */
resetForm() { resetForm() {
...@@ -305,6 +352,9 @@ export default { ...@@ -305,6 +352,9 @@ export default {
testStandard: "", testStandard: "",
remark: "", remark: "",
}; };
this.$refs["ProogingBomRef"].resetState();
this.$refs["ProogingProcessRef"].resetState();
this.gCode();
}, },
}, },
}; };
......
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