Commit a8751e5b authored by 全洪江's avatar 全洪江

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

parents 3d39eb4e 0a028f6b
<<<<<<< HEAD
.DS_Store
=======
<<<<<<< Updated upstream
.DS_Store
=======
#.DS_Store
>>>>>>> Stashed changes
>>>>>>> 0a028f6bcbb29205351e9b390599bffc80e9120f
node_modules/
dist/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
**/*.log
<<<<<<< HEAD
=======
<<<<<<< Updated upstream
>>>>>>> 0a028f6bcbb29205351e9b390599bffc80e9120f
tests/**/coverage/
tests/e2e/reports
......@@ -21,6 +33,29 @@ selenium-debug.log
.editorconfig
.eslintignore
.eslintrc.js
<<<<<<< HEAD
# .env.*
=======
.env.*
=======
#
#tests/**/coverage/
#tests/e2e/reports
#selenium-debug.log
#
## Editor directories and files
.idea
.vscode
#*.suo
#*.ntvs*
#*.njsproj
#*.sln
#*.local
.editorconfig
.eslintignore
.eslintrc.js
#.env.*
>>>>>>> Stashed changes
>>>>>>> 0a028f6bcbb29205351e9b390599bffc80e9120f
package-lock.json
yarn.lock
import request from '@/utils/request'
// 查询产品基本信息列表
export function listInfo(query) {
return request({
url: '/md/info/list',
method: 'get',
params: query
})
}
// 查询产品基本信息详细
export function getInfo(itemId) {
return request({
url: '/md/info/' + itemId,
method: 'get'
})
}
// 新增产品基本信息
export function addInfo(data) {
return request({
url: '/md/info',
method: 'post',
data: data
})
}
// 修改产品基本信息
export function updateInfo(data) {
return request({
url: '/md/info',
method: 'put',
data: data
})
}
// 删除产品基本信息
export function delInfo(baseInfoId) {
return request({
url: '/md/info/' + baseInfoId,
method: 'delete'
})
}
import request from '@/utils/request'
// 查询生产用途列表
export function listBrand(query) {
return request({
url: '/mes/md/brand/list',
method: 'get',
params: query
})
}
// 查询所有有效生产用途
export function listAllBrand() {
return request({
url: '/mes/md/brand/listAll',
method: 'get'
})
}
// 查询生产用途详细
export function getBrand(brandId) {
return request({
url: '/mes/md/brand/' + brandId,
method: 'get'
})
}
// 新增生产用途
export function addBrand(data) {
return request({
url: '/mes/md/brand',
method: 'post',
data: data
})
}
// 修改生产用途
export function updateBrand(data) {
return request({
url: '/mes/md/brand',
method: 'put',
data: data
})
}
// 删除生产用途
export function delBrand(brandId) {
return request({
url: '/mes/md/brand/' + brandId,
method: 'delete'
})
}
import request from '@/utils/request'
// 查询颜色主数据列表
export function listColor(query) {
return request({
url: '/md/color/list',
method: 'get',
params: query
})
}
// 查询颜色主数据详细
export function getColor(colorId) {
return request({
url: '/md/color/' + colorId,
method: 'get'
})
}
// 新增颜色主数据
export function addColor(data) {
return request({
url: '/md/color',
method: 'post',
data: data
})
}
// 修改颜色主数据
export function updateColor(data) {
return request({
url: '/md/color',
method: 'put',
data: data
})
}
// 删除颜色主数据
export function delColor(colorId) {
return request({
url: '/md/color/' + colorId,
method: 'delete'
})
}
import request from '@/utils/request'
// 查询产品颜色列表
export function listFaceColor(query) {
return request({
url: '/mes/md/faceColor/list',
method: 'get',
params: query
})
}
// 查询产品颜色详细
export function getFaceColor(faceColorId) {
return request({
url: '/mes/md/faceColor/' + faceColorId,
method: 'get'
})
}
// 新增产品颜色
export function addFaceColor(data) {
return request({
url: '/mes/md/faceColor',
method: 'post',
data: data
})
}
// 修改产品颜色
export function updateFaceColor(data) {
return request({
url: '/mes/md/faceColor',
method: 'put',
data: data
})
}
// 删除产品颜色
export function delFaceColor(mdFaceColorIds) {
return request({
url: '/mes/md/faceColor/' + mdFaceColorIds,
method: 'delete'
})
}
import request from '@/utils/request'
// 查询产品外观列表
export function listLook(query) {
return request({
url: '/md/look/list',
method: 'get',
params: query
})
}
// 查询产品外观详细
export function getLook(itemId) {
return request({
url: '/md/look/' + itemId,
method: 'get'
})
}
// 新增产品外观
export function addLook(data) {
return request({
url: '/md/look',
method: 'post',
data: data
})
}
// 修改产品外观
export function updateLook(data) {
return request({
url: '/md/look',
method: 'put',
data: data
})
}
// 删除产品外观
export function delLook(productLookId) {
return request({
url: '/md/look/' + productLookId,
method: 'delete'
})
}
import request from '@/utils/request'
// 查询产品工厂配置列表
export function listFactory(query) {
return request({
url: '/md/factory/list',
method: 'get',
params: query
})
}
// 查询产品工厂配置详细
export function getFactory(productFactoryId) {
return request({
url: '/md/factory/' + productFactoryId,
method: 'get'
})
}
// 新增产品工厂配置
export function addFactory(data) {
return request({
url: '/md/factory',
method: 'post',
data: data
})
}
// 修改产品工厂配置
export function updateFactory(data) {
return request({
url: '/md/factory',
method: 'put',
data: data
})
}
// 删除产品工厂配置
export function delFactory(productFactoryId) {
return request({
url: '/md/factory/' + productFactoryId,
method: 'delete'
})
}
import request from '@/utils/request'
// 查询产品loss配置列表
export function listLoss(query) {
return request({
url: '/md/loss/list',
method: 'get',
params: query
})
}
// 查询产品loss配置详细
export function getLoss(productLossId) {
return request({
url: '/md/loss/' + productLossId,
method: 'get'
})
}
// 新增产品loss配置
export function addLoss(data) {
return request({
url: '/md/loss',
method: 'post',
data: data
})
}
// 修改产品loss配置
export function updateLoss(data) {
return request({
url: '/md/loss',
method: 'put',
data: data
})
}
// 删除产品loss配置
export function delLoss(productLossId) {
return request({
url: '/md/loss/' + productLossId,
method: 'delete'
})
}
import request from '@/utils/request'
// 查询产品打样排版参数配置列表
export function listConf(query) {
return request({
url: '/md/conf/list',
method: 'get',
params: query
})
}
// 查询产品打样排版参数配置详细
export function getConf(productPublishedConfId) {
return request({
url: '/md/conf/' + productPublishedConfId,
method: 'get'
})
}
// 新增产品打样排版参数配置
export function addConf(data) {
return request({
url: '/md/conf',
method: 'post',
data: data
})
}
// 修改产品打样排版参数配置
export function updateConf(data) {
return request({
url: '/md/conf',
method: 'put',
data: data
})
}
// 删除产品打样排版参数配置
export function delConf(productPublishedConfId) {
return request({
url: '/md/conf/' + productPublishedConfId,
method: 'delete'
})
}
import request from '@/utils/request'
// 查询生产用途列表
export function listUsage(query) {
return request({
url: '/mes/pro/usage/list',
method: 'get',
params: query
})
}
// 查询所有有效生产用途
export function listAllUsage() {
return request({
url: '/mes/pro/usage/listAll',
method: 'get'
})
}
// 查询生产用途详细
export function getUsage(usageId) {
return request({
url: '/mes/pro/usage/' + usageId,
method: 'get'
})
}
// 新增生产用途
export function addUsage(data) {
return request({
url: '/mes/pro/usage',
method: 'post',
data: data
})
}
// 修改生产用途
export function updateUsage(data) {
return request({
url: '/mes/pro/usage',
method: 'put',
data: data
})
}
// 删除生产用途
export function delUsage(usageId) {
return request({
url: '/mes/pro/usage/' + usageId,
method: 'delete'
})
}
<template>
<el-dialog title="颜色选择"
v-if="showFlag"
:visible.sync="showFlag"
:modal= false
width="80%"
center
>
<el-row :gutter="20">
<!--颜色数据-->
<el-col :span="20" :xs="24">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="颜色编码" prop="colorCode">
<el-input
v-model="queryParams.colorCode"
placeholder="请输入颜色编码"
clearable
style="width: 240px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="颜色名称" prop="colorName">
<el-input
v-model="queryParams.colorName"
placeholder="请输入颜色名称"
clearable
style="width: 240px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-table v-loading="loading" :data="colorList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="50" align="center" />
<el-table-column label="颜色编码" width = "120" align="center" key="colorCode" prop="colorCode" v-if="columns[0].visible" >
</el-table-column>
<el-table-column label="颜色名称" min-width="120" align="left" key="colorName" prop="colorName" v-if="columns[1].visible" :show-overflow-tooltip="true" />
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</el-col>
</el-row>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="confirmSelect">确 定</el-button>
<el-button @click="showFlag=false">取 消</el-button>
</div>
</el-dialog>
</template>
<script>
import { listColor} from "@/api/mes/md/color";
import { listAllUnitmeasure} from "@/api/mes/md/unitmeasure";
import {genCode} from "@/api/system/autocode/rule"
import { getToken } from "@/utils/auth";
export default {
name: "ColorSingle",
dicts: ['sys_yes_no','mes_item_product'],
components: { },
data() {
return {
showFlag:false,
// 选中数组
ids: [],
selectedRows: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 物料产品表格数据
colorList: null,
// 部门树选项
//itemTypeOptions: undefined,
// 部门名称
//itemTypeName: undefined,
defaultProps: {
children: "children",
label: "label"
},
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
colorCode: undefined,
colorName: undefined,
},
// 列信息
columns: [
{ key: 0, label: `颜色编码`, visible: true },
{ key: 1, label: `颜色名称`, visible: true },
//{ key: 6, label: `创建时间`, visible: true }
]
};
},
created() {
this.getList();
//this.getTreeselect();
},
methods: {
/** 查询物料编码列表 */
getList() {
this.loading = true;
listColor(this.queryParams).then(response => {
this.colorList = response.rows;
this.total = response.total;
this.loading = false;
}
);
},
// 节点单击事件
handleNodeClick(data) {
this.handleQuery();
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.itemId);
this.single = selection.length != 1;
this.multiple = !selection.length;
this.selectedRows = selection;
},
//确定选中
confirmSelect(){
if(this.ids ==[] || this.ids.length==0){
this.$notify({
title:'提示',
type:'warning',
message: '请至少选择一条数据!'
});
return;
}
this.$emit('onSelected',this.selectedRows);
this.showFlag = false;
}
}
};
</script>
This diff is collapsed.
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="颜色编码" prop="colorCode">
<el-input
v-model="queryParams.colorCode"
placeholder="请输入颜色编码"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="颜色名称" prop="colorName">
<el-input
v-model="queryParams.colorName"
placeholder="请输入颜色名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['md:color:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['md:color:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['md:color:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['md:color:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="colorList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="颜色主键id" align="center" prop="colorId" />
<el-table-column label="颜色编码" align="center" prop="colorCode" />
<el-table-column label="颜色名称" align="center" prop="colorName" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['md:color:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['md:color:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<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="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="颜色编码" prop="colorCode">
<el-input v-model="form.colorCode" placeholder="请输入颜色编码" />
</el-form-item>
<el-form-item label="颜色名称" prop="colorName">
<el-input v-model="form.colorName" placeholder="请输入颜色名称" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listColor, getColor, delColor, addColor, updateColor } from "@/api/mes/md/color";
export default {
name: "Color",
data() {
return {
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 颜色主数据表格数据
colorList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
colorCode: null, colorName: null },
// 表单参数
form: {},
// 表单校验
rules: {
}
};
},
created() {
this.getList();
},
methods: {
/** 查询颜色主数据列表 */
getList() {
this.loading = true;
listColor(this.queryParams).then(response => {
this.colorList = response.rows;
this.total = response.total;
this.loading = false;
});
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
colorId: null, colorCode: null, colorName: null };
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.colorId)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加颜色主数据";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const colorId = row.colorId || this.ids
getColor(colorId).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改颜色主数据";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.colorId != null) {
updateColor(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addColor(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const colorIds = row.colorId || this.ids;
this.$modal.confirm('是否确认删除颜色主数据编号为"' + colorIds + '"的数据项?').then(function() {
return delColor(colorIds);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('md/color/export', {
...this.queryParams
}, `color_${new Date().getTime()}.xlsx`)
}
}
};
</script>
<!--
产品基本信息-->
<!--产品基本信息-->
<template>
<div class="app-container">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row>
<el-col :span="8">
<el-form-item label="产品计量单位" prop="productUnit">
<el-input v-model="form.productUnit" maxlength="64" v-if="optType == 'view'"/>
<el-input v-model="form.productUnit" placeholder="请输入产品计量单位" maxlength="64" v-else/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="产品有效起始日期" prop="productStartDate">
<el-input v-model="form.productStartDate" type="date" placeholder="请输入产品有效起始日期"/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="样品编号" prop="productSampleCode">
<el-input v-model="form.productSampleCode" maxlength="64" v-if="optType == 'view'"/>
<el-input v-model="form.productSampleCode" placeholder="样品编号" maxlength="64" v-else/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="品牌名称" prop="brandName">
<el-input v-model="form.brandName" maxlength="64" v-if="optType == 'view'"/>
<el-input v-model="form.brandName" placeholder="请输入品牌名称" maxlength="64" v-else/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="产品类型" prop="productType">
<el-input v-model="form.productType" maxlength="64" v-if="optType == 'view'"/>
<el-input v-model="form.productType" placeholder="请输入产品类型" maxlength="64" v-else/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="尺码组id" prop="productSizeGroupId">
<el-input v-model="form.productSizeGroupId" maxlength="64" v-if="optType == 'view'"/>
<el-input v-model="form.productSizeGroupId" placeholder="请输入尺码组id" maxlength="64" v-else/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="工厂名称" prop="factoryName">
<el-input v-model="form.factoryName" maxlength="64" v-if="optType == 'view'"/>
<el-input v-model="form.factoryName" placeholder="请输入工厂名称" maxlength="64" v-else/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="版面" prop="productLayout">
<el-select v-model="form.productLayout" placeholder="请选择任务分组">
<el-option
v-for="dict in dict.type.product_layout"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="产品代号" prop="productNo">
<el-input v-model="form.productNo" maxlength="64" v-if="optType == 'view'"/>
<el-input v-model="form.productNo" placeholder="请输入产品代号" maxlength="64" v-else/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="英文名称" prop="productEnglishName">
<el-input v-model="form.productEnglishName" maxlength="64" v-if="optType == 'view'"/>
<el-input v-model="form.productEnglishName" placeholder="请输入英文名称" maxlength="64" v-else/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="客户料号" prop="customerMaterialCode">
<el-input v-model="form.customerMaterialCode" maxlength="64" v-if="optType == 'view'"/>
<el-input v-model="form.customerMaterialCode" placeholder="请输入客户料号" maxlength="64" v-else/>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</template>
<script>
import {getInfo} from "@/api/mes/md/baseInfo";
export default {
name: "BaseInfo",
dicts: ['product_layout'],
components: { },
data() {
return {
// 遮罩层
loading: true,
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
itemId: this.itemId,
},
// 表单参数
form: {
baseInfoId:'',
productUnit:'',
productStartDate:'',
productSampleCode:'',
brandName:'',
productType:'',
productSizeGroupId:'',
factoryName:'',
productLayout:'',
productNo:'',
productEnglishName:'',
customerMaterialCode:'',
},
// 表单校验
rules: {
/*quantity: [
{ required: true, message: "物料使用比例不能为空", trigger: "blur" }
]*/
}
};
},
props: {
optType: undefined,
itemId: undefined
},
created() {
this.getBaseInfo();
},
methods: {
//获取基本信息表单数据
async getBaseInfoData(){
await this.submitForm()
return this.form
},
getBaseInfo(){
getInfo(this.itemId).then(res=>{
Object.assign(this.form,res.data)
})
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
itemId: this.itemId,
productUnit:null,
productStartDate: null,
productSampleCode: null,
brandName: null,
productType: null,
productSizeGroupId: null,
factoryName: null,
productLayout: null,
productNo: null,
productEnglishName: null,
customerMaterialCode: null
};
this.resetForm("form");
},
/** 提交按钮 */
async submitForm() {
return await this.$refs["form"].validate();
},
}
};
</script>
<!--客户loss信息-->
<template>
<div class="app-container">
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['md:loss:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['md:loss:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['md:loss:remove']"
>删除</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="lossList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<!-- <el-table-column label="产品lossID" align="center" prop="productLossId" />
<el-table-column label="产品ID" align="center" prop="itemId" />-->
<el-table-column label="产品最大loss数量" align="center" prop="productLossMax" />
<el-table-column label="loss比率(单位%)" align="center" prop="productLossRate" />
<el-table-column label="冗余量" align="center" prop="productLossRedundance" />
<el-table-column label="备注信息" align="center" prop="productLossRemark" />
<el-table-column label="客户名称" align="center" prop="customerName" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['md:loss:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['md:loss:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改产品loss配置对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<!-- <el-form-item label="产品ID" prop="itemId">
<el-input v-model="form.itemId" placeholder="请输入产品ID" />
</el-form-item>-->
<el-form-item label="产品最大loss数量" prop="productLossMax">
<el-input v-model="form.productLossMax" placeholder="请输入产品最大loss数量" />
</el-form-item>
<el-form-item label="loss比率(单位%)" prop="productLossRate">
<el-input v-model="form.productLossRate" placeholder="请输入loss比率(单位%)" />
</el-form-item>
<el-form-item label="冗余量" prop="productLossRedundance">
<el-input v-model="form.productLossRedundance" placeholder="请输入冗余量" />
</el-form-item>
<el-form-item label="备注信息" prop="productLossRemark">
<el-input v-model="form.productLossRemark" placeholder="请输入备注信息" />
</el-form-item>
<el-form-item label="客户名称" prop="customerName">
<el-input v-model="form.customerName" placeholder="请输入客户名称" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listLoss, getLoss, delLoss, addLoss, updateLoss } from "@/api/mes/md/productLoss";
export default {
name: "Loss",
data() {
return {
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 产品loss配置表格数据
lossList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
itemId: this.itemId,
productLossMax: null,
productLossRate: null,
productLossRedundance: null,
productLossRemark: null,
customerName: null
},
// 表单参数
form: {},
// 表单校验
rules: {
},
};
},
props: {
optType: undefined,
itemId: undefined
},
created() {
this.getList();
},
methods: {
/** 查询产品loss配置列表 */
getList() {
this.loading = true;
listLoss(this.queryParams).then(response => {
this.lossList = response.rows;
this.total = response.total;
this.loading = false;
});
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
productLossId: null,
itemId: null,
productLossMax: null,
productLossRate: null,
productLossRedundance: null,
productLossRemark: null,
customerName: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.productLossId)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加产品loss配置";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const productLossId = row.productLossId || this.ids
getLoss(productLossId).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改产品loss配置";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.productLossId != null) {
updateLoss(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
this.form.itemId = this.itemId
addLoss(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const productLossIds = row.productLossId || this.ids;
this.$modal.confirm('是否确认删除产品loss配置编号为"' + productLossIds + '"的数据项?').then(function() {
return delLoss(productLossIds);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('md/loss/export', {
...this.queryParams
}, `loss_${new Date().getTime()}.xlsx`)
}
}
};
</script>
<!--产品正反面颜色-->
<template>
<div class="app-container">
<el-row :gutter="10" class="mb8" v-if="optType !='view'">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['mes:md:faceColor:add']"
>新增</el-button>
<ColorSelect ref="colorSelect" @onSelected="onColorSelected" > </ColorSelect>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['mes:md:faceColor:remove']"
>删除</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="faceColorList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="排序号" align="center" prop="sortOrder" />
<el-table-column label="颜色" align="center" prop="colorName" />
<el-table-column label="覆盖率(单位%)" align="center" prop="coverageRate" :show-overflow-tooltip="true" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" v-if="optType !='view'">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['mes:md:faceColor:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['mes:md:faceColor:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<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="600px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-form-item label="排序号" prop="sortOrder">
<el-input v-model="form.sortOrder" placeholder="请输入排序号" />
</el-form-item>
<el-form-item label="颜色" prop="colorName">
<el-input v-model="form.colorName" readonly placeholder="请输入颜色" />
</el-form-item>
<el-form-item label="覆盖率(单位%)" prop="coverageRate">
<el-input v-model="form.coverageRate" type="textarea" placeholder="请输入覆盖率" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listFaceColor, getFaceColor, delFaceColor, addFaceColor, updateFaceColor } from "@/api/mes/md/faceColor";
import ColorSelect from "@/components/colorSelect/index.vue";
//import faceColor from "@/views/mes/md/product/components/faceColor.vue";
export default {
name: "FaceColor",
components: { ColorSelect },
data() {
return {
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 产品BOM关系表格数据
faceColorList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
itemId: this.itemId,
colorId: null,
mdFaceColorId: null,
colorName: null,
face: null,
coverageRate: null,
sortOrder: null,
},
// 表单参数
form: {},
// 表单校验
rules: {
/*quantity: [
{ required: true, message: "物料使用比例不能为空", trigger: "blur" }
]*/
}
};
},
props: {
optType: undefined,
itemId: undefined
},
created() {
this.getList();
},
methods: {
/** 查询产品颜色关系列表 */
getList() {
this.loading = true;
listFaceColor(this.queryParams).then(response => {
this.faceColorList = response.rows;
this.total = response.total;
this.loading = false;
});
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
itemId: null,
colorId: null,
mdFaceColorId: null,
colorName: null,
coverageRate: null,
sortOrder: null,
face: "front",
createBy: null,
createTime: null,
updateBy: null,
updateTime: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.mdFaceColorId)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.$refs.colorSelect.showFlag = true;
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const mdFaceColorId = row.mdFaceColorId || this.ids
getFaceColor(mdFaceColorId).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改产品颜色";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
updateFaceColor(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const mdFaceColorIds = row.mdFaceColorId || this.ids;
this.$modal.confirm('是否确认删除产品BOM关系编号为"' + mdFaceColorIds + '"的数据项?').then(function() {
return delFaceColor(mdFaceColorIds);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
//物料选择弹出框
onColorSelected(obj){
debugger;
this.form.itemId = this.itemId;
if(obj != undefined && obj != null){
obj.forEach(element => {
//this.form.itemId = element.itemId;
this.form.colorId = element.colorId;
this.form.colorName = element.colorName;
var retFlag = false;
addFaceColor(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.getList();
});
});
}
}
}
};
</script>
<!--工厂信息-->
<template>
<div class="app-container">
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['md:factory:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['md:factory:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['md:factory:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['md:factory:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="factoryList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<!-- <el-table-column label="产品工厂id" align="center" prop="productFactoryId" />
<el-table-column label="产品id" align="center" prop="itemId" />-->
<el-table-column label="工厂编码" align="center" prop="factoryCode" />
<el-table-column label="工厂名称" align="center" prop="factoryName" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['md:factory:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['md:factory:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<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="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="工厂编码" prop="factoryCode">
<el-input v-model="form.factoryCode" placeholder="请输入工厂编码" />
</el-form-item>
<el-form-item label="工厂名称" prop="factoryName">
<el-input v-model="form.factoryName" placeholder="请输入工厂名称" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listFactory, getFactory, delFactory, addFactory, updateFactory } from "@/api/mes/md/productFactory";
export default {
name: "Factory",
data() {
return {
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 产品工厂配置表格数据
factoryList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
itemId: this.itemId,
factoryCode: null,
factoryName: null
},
// 表单参数
form: {},
// 表单校验
rules: {
}
};
},
props:{
optType: undefined,
itemId:null
},
created() {
this.getList();
},
methods: {
/** 查询产品工厂配置列表 */
getList() {
this.loading = true;
listFactory(this.queryParams).then(response => {
this.factoryList = response.rows;
this.total = response.total;
this.loading = false;
});
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
productFactoryId: null,
itemId: null,
factoryCode: null,
factoryName: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.productFactoryId)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加产品工厂配置";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const productFactoryId = row.productFactoryId || this.ids
getFactory(productFactoryId).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改产品工厂配置";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.productFactoryId != null) {
updateFactory(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
this.form.itemId = this.itemId
addFactory(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const productFactoryIds = row.productFactoryId || this.ids;
this.$modal.confirm('是否确认删除产品工厂配置编号为"' + productFactoryIds + '"的数据项?').then(function() {
return delFactory(productFactoryIds);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('md/factory/export', {
...this.queryParams
}, `factory_${new Date().getTime()}.xlsx`)
}
}
};
</script>
<!--产品外观-->
<template>
<div class="app-container">
<!-- 添加或修改产品外观对话框 -->
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-row>
<el-col :span="8">
<el-form-item label="长度cm" prop="productLength">
<el-input v-model="form.productLength" type="number" :precision="2" placeholder="请输入长度" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="宽度cm" prop="productWidth">
<el-input v-model="form.productWidth" type="number" :precision="2" placeholder="请输入宽度" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="高度cm" prop="productHeight">
<el-input v-model="form.productHeight" type="number" :precision="2" placeholder="请输入高度" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="厚度mm" prop="productThick">
<el-input v-model="form.productThick" type="number" :precision="2" placeholder="请输入厚度" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="成品克重g" prop="productWeight">
<el-input v-model="form.productWeight" type="number" :precision="2" placeholder="请输入成品克重" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="角型" prop="productAngleType">
<el-select v-model="form.productAngleType" placeholder="请选择角型">
<el-option
v-for="dict in dict.type.product_shape"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="角度(mm)" prop="productAngle">
<el-input v-model="form.productAngle" type="number" :precision="2" placeholder="请输入角度" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="孔径(mm)" prop="productAperture">
<el-input v-model="form.productAperture" type="number" :precision="2" placeholder="请输入孔径" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="单层厚(丝)" prop="productSingleLayer">
<el-input v-model="form.productSingleLayer" type="number" :precision="2" placeholder="请输入单层厚(单位丝)" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="单重(KG)" prop="productSingleWeight">
<el-input v-model="form.productSingleWeight" type="number" :precision="2" placeholder="请输入单重" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="层数" prop="productLayerNum">
<el-input v-model="form.productLayerNum" type="number" :precision="2" placeholder="请输入层数" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="是否防霉" prop="productMould">
<el-select v-model="form.productMould" placeholder="请选择是否防霉">
<el-option
v-for="dict in dict.type.sys_yes_no"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="是否写码" prop="productCoding">
<el-select v-model="form.productCoding" placeholder="请选择是否写码">
<el-option
v-for="dict in dict.type.sys_yes_no"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="体系认证" prop="productSysCertification">
<el-input v-model="form.productSysCertification" placeholder="请输入体系认证" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="采购单位" prop="productBuyUnit">
<el-input v-model="form.productBuyUnit" placeholder="请输入采购单位" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="样品形状" prop="productShape">
<el-select v-model="form.productShape" placeholder="请选择样品形状">
<el-option
v-for="dict in dict.type.product_shape"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="样品形状大小" prop="productShapeSize">
<el-input v-model="form.productShapeSize" type="number" :precision="4" placeholder="请输入样品形状大小" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="换算值" prop="purchaseConversionValue">
<el-input v-model="form.purchaseConversionValue" type="number" :precision="4" placeholder="请输入采购换算值" />
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</template>
<script>
import {getLook } from "@/api/mes/md/look";
export default {
name: "Look",
dicts: ['sys_yes_no','product_shape'],
data() {
return {
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
itemId: this.itemId
},
// 表单参数
form: {
productLength: '',
productWidth: '',
productHeight: '',
productThick: '',
productWeight: '',
productAngleType: '',
productAngle: '',
productAperture: '',
productSingleLayer: '',
productSingleWeight: '',
productLayerNum: '',
productMould: '',
productCoding: '',
productSysCertification: '',
productBuyUnit: '',
productShape: '',
productShapeSize: '',
purchaseConversionValue: ''
},
// 表单校验
rules: {
}
};
},
props: {
optType: undefined,
itemId: undefined
},
created() {
this.getProductLook();
},
methods: {
//获取基本信息表单数据
async getLookFormData(){
await this.submitForm()
return this.form
},
//回显外观数据
getProductLook(){
getLook(this.itemId).then(res=>{
Object.assign(this.form,res.data)
})
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
itemId: this.itemId,
productLength: null,
productWidth: null,
productHeight: null,
productThick: null,
productWeight: null,
productAngleType: null,
productAngle: null,
productAperture: null,
productSingleLayer: null,
productSingleWeight: null,
productLayerNum: null,
productMould: null,
productCoding: null,
productSysCertification: null,
productBuyUnit: null,
productShape: null,
productShapeSize: null,
purchaseConversionValue: null
};
this.resetForm("form");
},
/** 提交按钮 */
async submitForm() {
return await this.$refs["form"].validate();
},
}
};
</script>
<!--排版参数-->
<!--产品外观-->
<template>
<div class="app-container">
<!-- 添加或修改产品外观对话框 -->
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-row>
<el-col :span="8">
<el-form-item label="模数" prop="modulus">
<el-input v-model="form.modulus" type="number" :precision="2" placeholder="请输入模数" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="行数" prop="rowNum">
<el-input v-model="form.rowNum" type="number" :precision="2" placeholder="请输入行数" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="列数" prop="columnNum">
<el-input v-model="form.columnNum" type="number" :precision="2" placeholder="请输入列数" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="搭版数" prop="contactNum">
<el-input v-model="form.contactNum" type="number" :precision="2" placeholder="请输入搭版数" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="行双刀位(mm)" prop="rowDoubleBlade">
<el-input v-model="form.rowDoubleBlade" type="number" :precision="2" placeholder="请输入行双刀位(单位mm)" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="列双刀位(mm)" prop="columnDoubleBlade">
<el-input v-model="form.columnDoubleBlade" type="number" :precision="2" placeholder="请输入列双刀位(单位mm)" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="派工倍数" prop="dispatchMultiple">
<el-input v-model="form.dispatchMultiple" type="number" :precision="2" placeholder="请输入派工倍数" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="印张长度(cm)" prop="sheetLength">
<!-- <el-input v-model="form.sheetLength" placeholder="请输入印张长度(单位cm)" />-->
<el-input v-model="form.sheetLength" type="number" :precision="2" placeholder="请输入印张长度(单位cm)"/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="印张宽度(cm)" prop="sheetWidth">
<el-input v-model="form.sheetWidth" type="number" :precision="2" placeholder="请输入印张宽度(单位cm)" />
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</template>
<script>
import {getConf } from "@/api/mes/md/publishedConf";
export default {
name: "Conf",
dicts: ['sys_yes_no','product_shape'],
data() {
return {
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
itemId: this.itemId
},
// 表单参数
form: {
modulus: '',
rowNum: '',
columnNum: '',
contactNum: '',
rowDoubleBlade: '',
columnDoubleBlade: '',
dispatchMultiple: '',
sheetLength: '',
sheetWidth: ''
},
// 表单校验
rules: {
}
};
},
props: {
optType: undefined,
itemId: undefined
},
created() {
this.getPublishedConf();
},
methods: {
//获取产品参数配置表单数据
async getPublishedConfData(){
await this.submitForm()
return this.form
},
//回显参数配置数据
getPublishedConf(){
getConf(this.itemId).then(res=>{
Object.assign(this.form,res.data)
})
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
itemId: this.itemId,
modulus: null,
rowNum: null,
columnNum: null,
contactNum: null,
rowDoubleBlade: null,
columnDoubleBlade: null,
dispatchMultiple: null,
sheetLength: null,
sheetWidth: null
};
this.resetForm("form");
},
/** 提交按钮 */
async submitForm() {
return await this.$refs["form"].validate();
},
}
};
</script>
......@@ -60,7 +60,7 @@
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['mes:md:mditem:add']"
v-hasPermi="['mes:md:faceColor:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
......@@ -71,7 +71,7 @@
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['mes:md:mditem:edit']"
v-hasPermi="['mes:md:faceColor:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
......@@ -82,10 +82,10 @@
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['mes:md:mditem:remove']"
v-hasPermi="['mes:md:faceColor:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<!-- <el-col :span="1.5">
<el-button
type="info"
plain
......@@ -104,7 +104,7 @@
@click="handleExport"
v-hasPermi="['mes:md:mditem:export']"
>导出</el-button>
</el-col>
</el-col>-->
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList" :columns="columns"></right-toolbar>
</el-row>
......@@ -310,7 +310,7 @@
</el-form>
<el-tabs type="border-card" v-if="form.itemId != null">
<el-tab-pane label="基本信息">
<BaseInfo :optType="optType" :itemId="form.itemId"></BaseInfo>
<BaseInfo ref="baseInfo" :optType="optType" :itemId="form.itemId"></BaseInfo>
</el-tab-pane>
<el-tab-pane label="产品特性">
<SpecProperty :optType="optType" :itemId="form.itemId"></SpecProperty>
......@@ -324,11 +324,11 @@
<el-tab-pane label="客户信息">
<Customer :optType="optType" :itemId="form.itemId"></Customer>
</el-tab-pane>
<el-tab-pane label="客户信息">
<Look :optType="optType" :itemId="form.itemId"></Look>
<el-tab-pane label="产品外观">
<Look ref="look" :optType="optType" :itemId="form.itemId"></Look>
</el-tab-pane>
<el-tab-pane label="排版参数">
<PublishedConf :optType="optType" :itemId="form.itemId"></PublishedConf>
<PublishedConf ref="publishedConf" :optType="optType" :itemId="form.itemId"></PublishedConf>
</el-tab-pane>
<el-tab-pane label="正反面颜色">
<FaceColor :optType="optType" :itemId="form.itemId"></FaceColor>
......@@ -559,7 +559,6 @@ export default {
itemName: undefined,
specification: undefined,
unitOfMeasrue: undefined,
enableFlag: undefined,
itemOrProduct: undefined,
enableFlag: 'Y',
safeStockFlag: 'N',
......@@ -624,10 +623,26 @@ export default {
},
/** 提交按钮 */
submitForm: function() {
this.$refs["form"].validate(valid => {
this.$refs["form"].validate(async (valid) => {
if (valid) {
if (this.form.itemId != undefined) {
updateMdItem(this.form).then(response => {
//基本信息保存
const baseInfoData = await this.$refs['baseInfo'].getBaseInfoData()
baseInfoData.itemId = this.form.itemId;
//产品外观保存
const lookData = await this.$refs['look'].getLookFormData()
lookData.itemId = this.form.itemId;
//产品参数配置保存 publishedConf
const publishedConfData = await this.$refs['publishedConf'].getPublishedConfData()
publishedConfData.itemId = this.form.itemId;
const params = {
...this.form,
baseInfo:baseInfoData,
look:lookData,
publishedConf:publishedConfData
}
updateMdItem(params).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
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