Commit 755e8ecc authored by 全洪江's avatar 全洪江

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

parents 79a5a707 c2e54f33
import request from '@/utils/request'
// 查询客户系人列表
export function listContact(query) {
return request({
url: '/md/clientContact/list',
method: 'get',
params: query
})
}
// 查询客户系人详细
export function getContact(id) {
return request({
url: '/md/clientContact/' + id,
method: 'get'
})
}
// 新增客户系人
export function addContact(data) {
return request({
url: '/md/clientContact',
method: 'post',
data: data
})
}
// 修改客户系人
export function updateContact(data) {
return request({
url: '/md/clientContact',
method: 'put',
data: data
})
}
// 删除客户系人
export function delContact(id) {
return request({
url: '/md/clientContact/' + id,
method: 'delete'
})
}
import request from '@/utils/request'
// 查询客户付款信息关联列表
export function listRelation(query) {
return request({
url: '/md/clientPaymentRelation/list',
method: 'get',
params: query
})
}
// 查询客户付款信息关联详细
export function getRelation(id) {
return request({
url: '/md/clientPaymentRelation/' + id,
method: 'get'
})
}
// 新增客户付款信息关联
export function addRelation(data) {
return request({
url: '/md/clientPaymentRelation',
method: 'post',
data: data
})
}
// 修改客户付款信息关联
export function updateRelation(data) {
return request({
url: '/md/clientPaymentRelation',
method: 'put',
data: data
})
}
// 删除客户付款信息关联
export function delRelation(id) {
return request({
url: '/md/clientPaymentRelation/' + id,
method: 'delete'
})
}
import request from '@/utils/request'
// 查询催货款通知邮箱列表
export function listEmail(query) {
return request({
url: '/md/clientUrgeEmail/list',
method: 'get',
params: query
})
}
// 查询催货款通知邮箱详细
export function getEmail(id) {
return request({
url: '/md/clientUrgeEmail/' + id,
method: 'get'
})
}
// 新增催货款通知邮箱
export function addEmail(data) {
return request({
url: '/md/clientUrgeEmail',
method: 'post',
data: data
})
}
// 修改催货款通知邮箱
export function updateEmail(data) {
return request({
url: '/md/clientUrgeEmail',
method: 'put',
data: data
})
}
// 删除催货款通知邮箱
export function delEmail(id) {
return request({
url: '/md/clientUrgeEmail/' + id,
method: 'delete'
})
}
import request from '@/utils/request'
// 查询销售订单列表
export function listOrder(query) {
return request({
url: '/od/salesOrder/list',
method: 'get',
params: query
})
}
// 查询销售订单详细
export function getOrder(id) {
return request({
url: '/od/salesOrder/' + id,
method: 'get'
})
}
// 新增销售订单
export function addOrder(data) {
return request({
url: '/od/salesOrder',
method: 'post',
data: data
})
}
// 修改销售订单
export function updateOrder(data) {
return request({
url: '/od/salesOrder',
method: 'put',
data: data
})
}
// 删除销售订单
export function delOrder(id) {
return request({
url: '/od/salesOrder/' + id,
method: 'delete'
})
}
import request from '@/utils/request'
// 查询销售订单详情列表
export function listDetail(query) {
return request({
url: '/od/salesOrderDetail/list',
method: 'get',
params: query
})
}
// 查询销售订单详情详细
export function getDetail(id) {
return request({
url: '/od/salesOrderDetail/' + id,
method: 'get'
})
}
// 新增销售订单详情
export function addDetail(data) {
return request({
url: '/od/salesOrderDetail',
method: 'post',
data: data
})
}
// 修改销售订单详情
export function updateDetail(data) {
return request({
url: '/od/salesOrderDetail',
method: 'put',
data: data
})
}
// 删除销售订单详情
export function delDetail(id) {
return request({
url: '/od/salesOrderDetail/' + id,
method: 'delete'
})
}
<template>
<div class="el-input-all">
<el-input v-if="item.dataType === 1" v-model="value" :placeholder="'请输入' + item.name" clearable :disabled="!!item.relationField"/>
<el-input-number v-if="item.dataType === 2" v-model="value" :placeholder="'请输入' + item.name" clearable :disabled="!!item.relationField"/>
<el-input-money v-if="item.dataType === 3" v-model="value" :placeholder="'请输入' + item.name" clearable :disabled="!!item.relationField"/>
<el-date-picker v-if="item.dataType === 4" v-model="value" :placeholder="'请选择' + item.name" clearable :disabled="!!item.relationField" type="date"/>
<el-time-picker v-if="item.dataType === 5" v-model="value" :placeholder="'请选择' + item.name" clearable :disabled="!!item.relationField"/>
<el-date-picker v-if="item.dataType === 6" v-model="value" :placeholder="'请选择' + item.name" clearable :disabled="!!item.relationField" type="datetime"/>
<el-select v-if="item.dataType === 7" v-model="value" :placeholder="'请选择' + item.name" clearable filterable :disabled="!!item.relationField">
<el-option v-for="option in item.dictDataList" :key="option.id" :value="option.value" :label="option.name"/>
</el-select>
</div>
</template>
<script>
export default {
name: 'ElInputAll',
model: {
prop: 'val',
event: 'update',
},
props: {
val: {type: [Number, String, Date, Array, Object]},
item: {type: Object, required: true},
},
computed: {
value: {
get() {
return this.val
},
set(val) {
this.$emit('update', val)
}
}
},
data() {
return {}
},
methods: {},
created() {
}
}
</script>
<style scoped>
</style>
......@@ -67,16 +67,6 @@ export default {
this.money = this.formatMoney(this.value * this.unit);
}
},
/**
* 格式化金钱
*/
formatMoney(val) {
if (val === '' || val == null) return null
let str = (+val).toFixed(2);
let intSum = str.substring(0, str.indexOf(".")).replace(/\B(?=(?:\d{3})+$)/g, ',');//取到整数部分
let dot = str.substring(str.length, str.indexOf("."))//取到小数部分搜索
return '¥ ' + intSum + dot;
},
}
}
</script>
......
......@@ -26,7 +26,7 @@ export default {
<style lang="scss">
.page-header {
background: #fff;
padding: 10px 0 7px;
padding: 10px 0 4px;
box-shadow: 0 2px 3px #e3e3e3;
.page-buttons {
padding: 0 20px;
......
<template>
<div class="page-wrapper">
<el-scrollbar style="padding: 10px 0;" :style="{ height: scrollHeight }">
<el-scrollbar style="padding: 20px 20px 10px;" :style="{ height: scrollHeight }">
<slot />
</el-scrollbar>
</div>
......@@ -20,7 +20,4 @@ export default {
</script>
<style lang="scss" scoped>
.page-wrapper {
}
</style>
<template>
<el-dialog title="产品BOM物料选择"
<el-dialog
title="产品BOM物料选择"
v-if="showFlag"
:visible.sync="showFlag"
:modal= false
:modal="true"
width="80%"
center
>
<el-table v-loading="loading" :data="bomList" @current-change="handleCurrent" @row-dblclick="handleRowDbClick">
<el-table-column width="50" align="center" >
<template v-slot="scope">
<el-radio v-model="selectedItemId" :label="scope.row.bomItemId" @change="handleRowChange(scope.row)">{{""}}</el-radio>
</template>
</el-table-column>
<el-table-column label="物料编码" align="center" prop="bomItemCode" />
<el-table-column label="物料名称" align="center" prop="bomItemName" :show-overflow-tooltip="true" />
<el-table-column label="规格" align="center" prop="bomItemSpec" :show-overflow-tooltip="true" />
<el-table-column label="单位" width="60px" align="center" prop="unitOfMeasure" />
<el-table-column label="使用比例" width="90px" align="center" prop="quantity" />
<el-table-column label="备注" align="center" prop="remark" :show-overflow-tooltip="true" />
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
<el-table
v-loading="loading"
:data="bomList"
@current-change="handleCurrent"
@row-dblclick="handleRowDbClick"
>
<el-table-column width="50" align="center">
<template v-slot="scope">
<el-radio
v-model="selectedItemId"
:label="scope.row.bomItemId"
@change="handleRowChange(scope.row)"
>{{ "" }}</el-radio
>
</template>
</el-table-column>
<el-table-column label="物料编码" align="center" prop="bomItemCode" />
<el-table-column
label="物料名称"
align="center"
prop="bomItemName"
:show-overflow-tooltip="true"
/>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="confirmSelect">确 定</el-button>
<el-button @click="showFlag=false">取 消</el-button>
<el-table-column
label="规格"
align="center"
prop="bomItemSpec"
:show-overflow-tooltip="true"
/>
<el-table-column
label="单位"
width="60px"
align="center"
prop="unitOfMeasure"
/>
<el-table-column
label="使用比例"
width="90px"
align="center"
prop="quantity"
/>
<el-table-column
label="备注"
align="center"
prop="remark"
:show-overflow-tooltip="true"
/>
</el-table>
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="confirmSelect">确 定</el-button>
<el-button @click="showFlag = false">取 消</el-button>
</div>
</el-dialog>
</el-dialog>
</template>
</template>
<script>
import { listBom } from "@/api/mes/md/bom";
export default {
name: "ItemBomSelectSingle",
props: {
itemId: undefined
<script>
import { listBom } from "@/api/mes/md/bom";
export default {
name: "ItemBomSelectSingle",
props: {
itemId: undefined,
},
data() {
return {
showFlag: false,
// 遮罩层
loading: true,
selectedItemId: undefined,
selectedRows: undefined,
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 产品BOM关系表格数据
bomList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
itemId: this.itemId,
bomItemId: null,
bomItemCode: null,
bomItemName: null,
bomItemSpec: null,
unitOfMeasure: null,
quantity: null,
enableFlag: null,
attr1: null,
attr2: null,
attr3: null,
attr4: null,
},
};
},
created() {
this.getList();
},
methods: {
/** 查询产品BOM关系列表 */
getList() {
debugger;
this.loading = true;
listBom(this.queryParams).then((response) => {
this.bomList = response.rows;
this.total = response.total;
this.loading = false;
});
},
data() {
return {
showFlag: false,
// 遮罩层
loading: true,
selectedItemId: undefined,
selectedRows: undefined,
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 产品BOM关系表格数据
bomList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
itemId: this.itemId,
bomItemId: null,
bomItemCode: null,
bomItemName: null,
bomItemSpec: null,
unitOfMeasure: null,
quantity: null,
enableFlag: null,
attr1: null,
attr2: null,
attr3: null,
attr4: null,
}
};
handleCurrent(row) {
if (row) {
this.selectedRows = row;
}
},
created() {
this.getList();
handleRowDbClick(row) {
if (row) {
this.selectedRows = row;
this.$emit("onSelected", this.selectedRows);
this.showFlag = false;
}
},
// 单选选中数据
handleRowChange(row) {
if (row) {
this.selectedRows = row;
}
},
methods: {
/** 查询产品BOM关系列表 */
getList() {
debugger;
this.loading = true;
listBom(this.queryParams).then(response => {
this.bomList = response.rows;
this.total = response.total;
this.loading = false;
});
},
handleCurrent(row){
if(row){
this.selectedRows = row;
}
},
handleRowDbClick(row){
if(row){
this.selectedRows = row;
this.$emit('onSelected',this.selectedRows);
this.showFlag = false;
}
},
// 单选选中数据
handleRowChange(row) {
if(row){
this.selectedRows = row;
}
},
//确定选中
confirmSelect(){
if(this.selectedItemId ==null || this.selectedItemId==0){
this.$notify({
title:'提示',
type:'warning',
message: '请至少选择一条数据!'
});
return;
}
this.$emit('onSelected',this.selectedRows);
this.showFlag = false;
}
}
};
</script>
\ No newline at end of file
//确定选中
confirmSelect() {
if (this.selectedItemId == null || this.selectedItemId == 0) {
this.$notify({
title: "提示",
type: "warning",
message: "请至少选择一条数据!",
});
return;
}
this.$emit("onSelected", this.selectedRows);
this.showFlag = false;
},
},
};
</script>
......@@ -2,7 +2,7 @@
<el-dialog title="物料产品选择"
v-if="showFlag"
:visible.sync="showFlag"
:modal= false
:modal="true"
width="80%"
center
>
......
......@@ -18,7 +18,7 @@ import './assets/icons' // icon
import './permission' // permission control
import { getDicts } from "@/api/system/dict/data";
import { getConfigKey } from "@/api/system/config";
import { parseTime, resetForm, addDateRange, selectDictLabel, selectDictLabels, handleTree } from "@/utils/ruoyi";
import { parseTime, resetForm, addDateRange, selectDictLabel, selectDictLabels, handleTree, formatMoney } from "@/utils/ruoyi";
import PageTitle from '@/components/Page/PageTitle.vue'
......@@ -31,6 +31,8 @@ import RightToolbar from "@/components/RightToolbar"
import Editor from "@/components/Editor"
// 金钱输入框
import ElInputMoney from "@/components/ElInputMoney"
// sap输入框
import ElInputAll from "@/components/ElInputAll"
// 文件上传组件
import FileUpload from "@/components/FileUpload"
// 图片上传组件
......@@ -56,6 +58,7 @@ Vue.prototype.selectDictLabel = selectDictLabel
Vue.prototype.selectDictLabels = selectDictLabels
Vue.prototype.download = download
Vue.prototype.handleTree = handleTree
Vue.prototype.formatMoney = formatMoney
// 全局组件挂载
Vue.component('PageWrapper', PageWrapper)
......@@ -65,6 +68,7 @@ Vue.component('Pagination', Pagination)
Vue.component('RightToolbar', RightToolbar)
Vue.component('Editor', Editor)
Vue.component('ElInputMoney', ElInputMoney)
Vue.component('ElInputAll', ElInputAll)
Vue.component('FileUpload', FileUpload)
Vue.component('ImageUpload', ImageUpload)
Vue.component('ImagePreview', ImagePreview)
......
......@@ -68,7 +68,7 @@ export function addDateRange(params, dateRange, propName) {
return search;
}
// 回显数据字典
// 回显数据字典
export function selectDictLabel(datas, value) {
if (value === undefined) {
return "";
......@@ -233,4 +233,15 @@ export async function blobValidate(data) {
} catch (error) {
return true;
}
}
\ No newline at end of file
}
/**
* 格式化金钱
*/
export function formatMoney(val, prefix = '¥ ') {
if (val === '' || val == null) return null
let str = Number(val).toFixed(2);
let intSum = str.substring(0, str.indexOf(".")).replace(/\B(?=(?:\d{3})+$)/g, ',');//取到整数部分
let dot = str.substring(str.length, str.indexOf("."))//取到小数部分搜索
return prefix + intSum + dot;
}
<template>
<div class="base-info">
<el-row>
<el-col :span="12">
<el-form-item label="客户工作时间" prop="clientWorkTime">
<el-input v-model="form.clientWorkTime" placeholder="请输入 客户工作时间"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="开票地址" prop="invoiceAddr">
<el-input v-model="form.invoiceAddr" placeholder="请输入 开票地址"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="客户送货地址" prop="address">
<el-input v-model="form.address" placeholder="请输入 客户送货地址"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="城市" prop="city">
<el-input v-model="form.city" placeholder="请输入 城市"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="国家" prop="country">
<el-input v-model="form.country" placeholder="请输入 国家"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="地区" prop="area">
<el-input v-model="form.area" placeholder="请输入 地区"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="语言" prop="lang">
<el-input v-model="form.lang" placeholder="请输入 语言"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="邮政编码" prop="postcode">
<el-input v-model="form.postcode" placeholder="请输入 邮政编码"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="电话号码" prop="tel">
<el-input v-model="form.tel" placeholder="请输入 电话号码"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="移动电话" prop="phone">
<el-input v-model="form.phone" placeholder="请输入 移动电话"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="Email" prop="email">
<el-input v-model="form.email" placeholder="请输入 e_Mail"/>
</el-form-item>
</el-col>
</el-row>
</div>
</template>
<script>
export default {
props: {
form: { type: Object, required: true }
},
data() {
return {}
},
methods: {
init() {
}
},
created() {
}
}
</script>
<style scoped>
</style>
<template>
<div class="base-info">
<el-row>
<el-col :span="12">
<el-form-item label="客户工作时间" prop="clientWorkTime">
<el-input v-model="form.clientWorkTime" placeholder="请输入客户工作时间" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="所属集团" prop="membershipGroup">
<el-input v-model="form.membershipGroup" placeholder="请输入所属集团" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="公司法人" prop="legalPerson">
<el-input v-model="form.legalPerson" placeholder="请输入公司法人" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="工商注册号" prop="licenseNo">
<el-input v-model="form.licenseNo" placeholder="请输入工商注册号" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="国税注册号" prop="taxNo">
<el-input v-model="form.taxNo" placeholder="请输入国税注册号" />
</el-form-item>
</el-col>
</el-row>
</div>
</template>
<script>
export default {
props: {
form: {type: Object, required: true}
},
data() {
return {}
},
methods: {
init() {
}
},
created() {
}
}
</script>
<style scoped>
</style>
<template>
<div class="base-info">
<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:contact: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:contact: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:contact: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:contact:export']"
>导出
</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="contactList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center"/>
<el-table-column label="跟单员" align="center" prop="id"/>
<el-table-column label="客户id" align="center" prop="clientId"/>
<el-table-column label="品牌ID" align="center" prop="brandId"/>
<el-table-column label="职位" align="center" prop="position"/>
<el-table-column label="联系人" align="center" prop="contact"/>
<el-table-column label="电话号码" align="center" prop="tel"/>
<el-table-column label="email" align="center" prop="email"/>
<el-table-column label="经营类型" align="center" prop="businessType"/>
<el-table-column label="工厂代号" align="center" prop="factoryCode"/>
<el-table-column label="跟单员" align="center" prop="merchandiser"/>
<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:contact:edit']"
>修改
</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['md:contact: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"
/>
</div>
</template>
<script>
import { listContact } from '@/api/mes/md/clientContact'
export default {
data() {
return {
// 遮罩层
loading: false,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 客户系人表格数据
contactList: [],
// 弹出层标题
title: '',
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
clientId: null,
},
// 表单参数
form: {},
// 表单校验
rules: {}
}
},
methods: {
/** 查询客户系人列表 */
getList() {
this.loading = true
listContact(this.queryParams).then(response => {
this.contactList = response.rows
this.total = response.total
}).finally(() => this.loading = false)
},
// 取消按钮
cancel() {
this.open = false
this.reset()
},
// 表单重置
reset() {
this.form = {
id: null,
clientId: null,
brandId: null,
position: null,
contact: null,
tel: null,
email: null,
businessType: null,
factoryCode: null,
merchandiser: null,
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.id)
this.single = selection.length !== 1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset()
this.open = true
this.title = '添加客户系人'
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset()
const id = row.id || this.ids
getContact(id).then(response => {
this.form = response.data
this.open = true
this.title = '修改客户系人'
})
},
/** 提交按钮 */
submitForm() {
this.$refs['form'].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateContact(this.form).then(response => {
this.$modal.msgSuccess('修改成功')
this.open = false
this.getList()
})
} else {
addContact(this.form).then(response => {
this.$modal.msgSuccess('新增成功')
this.open = false
this.getList()
})
}
}
})
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids
this.$modal.confirm('是否确认删除客户系人编号为"' + ids + '"的数据项?').then(function() {
return delContact(ids)
}).then(() => {
this.getList()
this.$modal.msgSuccess('删除成功')
}).catch(() => {
})
},
/** 导出按钮操作 */
handleExport() {
this.download('md/contact/export', {
...this.queryParams
}, `contact_${new Date().getTime()}.xlsx`)
},
init(clientId) {
if (!clientId) return
this.queryParams.clientId = clientId
this.getList()
},
}
}
</script>
<style scoped>
</style>
<template>
<div class="base-info">
<el-row>
<el-col :span="12">
<el-form-item label="验收单要求" prop="receiptRequest">
<el-input v-model="form.receiptRequest" placeholder="请输入验收单要求" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="客户系统验收要求" prop="clientCheckRequest">
<el-input v-model="form.clientCheckRequest" placeholder="请输入客户系统验收要求" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="要求签回货单" prop="requestSignReceipt">
<el-input v-model="form.requestSignReceipt" placeholder="请输入要求签回货单" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="货单是否打印送货日期" prop="isPrintDate">
<el-input v-model="form.isPrintDate" placeholder="请输入 货单是否打印送货日期" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="收货方签字要求" prop="signRequest">
<el-input v-model="form.signRequest" placeholder="请输入 收货方签字要求" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="货单打印要求" prop="billPrintRequest">
<el-input v-model="form.billPrintRequest" placeholder="请输入 货单打印要求" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="产品检验报告类型" prop="qcReportType">
<el-input v-model="form.qcReportType" placeholder="请输入 产品检验报告类型" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="货单签回方式" prop="receiptSigningMethod">
<el-input v-model="form.receiptSigningMethod" placeholder="请输入 货单签回方式" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="出货方式" prop="shippingMethod">
<el-input v-model="form.shippingMethod" placeholder="请输入 出货方式" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="线路" prop="path">
<el-input v-model="form.path" placeholder="请输入 线路" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="线路" prop="path">
<el-input v-model="form.path" placeholder="请输入 线路" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="送货单打印默认设置" prop="billPrintSetting">
<el-input v-model="form.billPrintSetting" placeholder="请输入 送货单打印默认设置" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="送货单统计异常期限" prop="billExceptionDeadline">
<el-input v-model="form.billExceptionDeadline" placeholder="请输入 送货单统计异常期限" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="生产发货方式" prop="sendMode">
<el-input v-model="form.sendMode" placeholder="请输入 生产发货方式" />
</el-form-item>
</el-col>
</el-row>
</div>
</template>
<script>
export default {
props: {
form: {type: Object, required: true}
},
data() {
return {}
},
methods: {
init() {
}
},
created() {
}
}
</script>
<style scoped>
</style>
<template>
<div class="base-info">
<el-row>
<el-col :span="12">
<el-form-item label="盖章方式" prop="stampMode">
<el-input v-model="form.stampMode" placeholder="请输入 盖章方式"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="请款联" prop="requisition">
<el-input v-model="form.requisition" placeholder="请输入 请款联"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="客户联" prop="clientForm">
<el-input v-model="form.clientForm" placeholder="请输入 客户联"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="不开发票" prop="noInvoice">
<el-input v-model="form.noInvoice" placeholder="请输入 不开发票"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="请款要求" prop="paymentRequest">
<el-input v-model="form.paymentRequest" placeholder="请输入 请款要求"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="月结方式" prop="settleMode">
<el-input v-model="form.settleMode" placeholder="请输入 月结方式"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="请款期限" prop="paymentDeadline">
<el-input v-model="form.paymentDeadline" placeholder="请输入 请款期限"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="做账截止日" prop="accountingDeadline">
<el-input v-model="form.accountingDeadline" placeholder="请输入 做账截止日"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="客户收账截止日" prop="collectionDeadline">
<el-input v-model="form.collectionDeadline" placeholder="请输入 客户收账截止日"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="扣款百分比" prop="deductionPercent">
<el-input v-model="form.deductionPercent" placeholder="请输入 扣款百分比"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="金额小数位数" prop="amountDecimal">
<el-input v-model="form.amountDecimal" placeholder="请输入 金额小数位数"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="要求用客户系统货单" prop="isClientWaybill">
<el-input v-model="form.isClientWaybill" placeholder="请输入 要求用客户系统货单"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="订单要求" prop="orderRequest">
<el-input v-model="form.orderRequest" placeholder="请输入 订单要求"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="订单统计异常期限" prop="orderExceptionDeadline">
<el-input v-model="form.orderExceptionDeadline" placeholder="请输入 订单统计异常期限"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="订单性质" prop="orderKind">
<el-input v-model="form.orderKind" placeholder="请输入 订单性质"/>
</el-form-item>
</el-col>
</el-row>
</div>
</template>
<script>
export default {
props: {
form: { type: Object, required: true }
},
data() {
return {}
},
methods: {
init() {
}
},
created() {
}
}
</script>
<style scoped>
</style>
<template>
<div class="base-info">
<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:relation: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:relation: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:relation: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:relation:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="relationList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="支付方客户ID" align="center" prop="id" />
<el-table-column label="客户id" align="center" prop="clientId" />
<el-table-column label="支付方客户ID" align="center" prop="relatedClientId" />
<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:relation:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['md:relation: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="客户id" prop="clientId">
<el-input v-model="form.clientId" placeholder="请输入客户id" />
</el-form-item>
<el-form-item label="支付方客户ID" prop="relatedClientId">
<el-input v-model="form.relatedClientId" placeholder="请输入支付方客户ID" />
</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 { listRelation, getRelation, delRelation, addRelation, updateRelation } from "@/api/mes/md/clientPaymentRelation";
export default {
name: "Relation",
data() {
return {
// 遮罩层
loading: false,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 客户付款信息关联表格数据
relationList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
clientId: null, relatedClientId: null, },
// 表单参数
form: {},
// 表单校验
rules: {
}
};
},
created() {
this.getList();
},
methods: {
/** 查询客户付款信息关联列表 */
getList() {
this.loading = true;
listRelation(this.queryParams).then(response => {
this.relationList = response.rows;
this.total = response.total;
this.loading = false;
});
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
id: null, clientId: null, relatedClientId: null, 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.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加客户付款信息关联";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids
getRelation(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改客户付款信息关联";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateRelation(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addRelation(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除客户付款信息关联编号为"' + ids + '"的数据项?').then(function() {
return delRelation(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('md/relation/export', {
...this.queryParams
}, `relation_${new Date().getTime()}.xlsx`)
},
init(clientId) {
if (!clientId) return
this.queryParams.clientId = clientId
this.getList()
}
}
};
</script>
<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: 1}).then(res => {
this.sapProperties = res.data
})
}
},
created() {
}
}
</script>
<style scoped>
.form-wrap {
max-height: 400px;
overflow-y: auto;
}
</style>
<template>
<div class="base-info">
<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:email: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:email: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:email: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:email:export']"
>导出
</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="emailList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center"/>
<el-table-column label="是否开启" align="center" prop="id"/>
<el-table-column label="客户id" align="center" prop="clientId"/>
<el-table-column label="邮箱" align="center" prop="email"/>
<el-table-column label="联系人" align="center" prop="contact"/>
<el-table-column label="是否开启" align="center" prop="enableFlag"/>
<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:email:edit']"
>修改
</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['md:email: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="客户id" prop="clientId">
<el-input v-model="form.clientId" placeholder="请输入客户id"/>
</el-form-item>
<el-form-item label="邮箱" prop="email">
<el-input v-model="form.email" placeholder="请输入邮箱"/>
</el-form-item>
<el-form-item label="联系人" prop="contact">
<el-input v-model="form.contact" placeholder="请输入联系人"/>
</el-form-item>
<el-form-item label="是否开启" prop="enableFlag">
<el-input v-model="form.enableFlag" 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 { addEmail, delEmail, getEmail, listEmail, updateEmail } from '@/api/mes/md/clientUrgeEmail'
export default {
name: 'Email',
data() {
return {
// 遮罩层
loading: false,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 催货款通知邮箱表格数据
emailList: [],
// 弹出层标题
title: '',
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
clientId: null, email: null, contact: null, enableFlag: null
},
// 表单参数
form: {},
// 表单校验
rules: {}
}
},
methods: {
/** 查询催货款通知邮箱列表 */
getList() {
this.loading = true
listEmail(this.queryParams).then(response => {
this.emailList = response.rows
this.total = response.total
this.loading = false
})
},
// 取消按钮
cancel() {
this.open = false
this.reset()
},
// 表单重置
reset() {
this.form = {
id: null,
clientId: null,
email: null,
contact: null,
enableFlag: null,
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.id)
this.single = selection.length !== 1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset()
this.open = true
this.title = '添加催货款通知邮箱'
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset()
const id = row.id || this.ids
getEmail(id).then(response => {
this.form = response.data
this.open = true
this.title = '修改催货款通知邮箱'
})
},
/** 提交按钮 */
submitForm() {
this.$refs['form'].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateEmail(this.form).then(response => {
this.$modal.msgSuccess('修改成功')
this.open = false
this.getList()
})
} else {
addEmail(this.form).then(response => {
this.$modal.msgSuccess('新增成功')
this.open = false
this.getList()
})
}
}
})
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids
this.$modal.confirm('是否确认删除催货款通知邮箱编号为"' + ids + '"的数据项?').then(function() {
return delEmail(ids)
}).then(() => {
this.getList()
this.$modal.msgSuccess('删除成功')
}).catch(() => {
})
},
/** 导出按钮操作 */
handleExport() {
this.download('md/email/export', {
...this.queryParams
}, `email_${new Date().getTime()}.xlsx`)
},
init(clientId) {
if (!clientId) return
this.queryParams.clientId = clientId
this.getList()
}
}
}
</script>
<style scoped>
</style>
This diff is collapsed.
This diff is collapsed.
......@@ -92,6 +92,7 @@
<el-table-column label="数据类型" width="150px" :formatter="formatDataType"/>
<el-table-column label="约束" show-overflow-tooltip>
<template slot-scope="{row}">
<div>是否必填:{{ row.required === 'Y' ? '是' : '否' }}</div>
<div v-if="row.length != null">最大长度:{{ row.length }}</div>
<div v-if="row.min != null">最小值:{{ row.min }}</div>
<div v-if="row.max != null">最大值:{{ row.max }}</div>
......@@ -134,12 +135,19 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="是否必填" prop="required" required>
<el-radio-group v-model="form.required">
<el-radio v-for="dict in dict.type.sys_yes_no" :key="dict.value" :label="dict.value">{{dict.label}}</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col v-if="form.type === '1'" :span="12">
<el-form-item label="最大长度" prop="length">
<el-input v-model.trim.number="form.length" placeholder="请输入最大长度" clearable/>
</el-form-item>
<el-form-item label="正则" prop="regEx">
<el-input v-model.trim.number="form.regEx" placeholder="请输入正则" clearable/>
<el-input v-model.trim="form.regEx" placeholder="请输入正则" clearable/>
</el-form-item>
</el-col>
<template v-if="['2', '3'].includes(form.type)">
......@@ -167,7 +175,7 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="是否启用" prop="enableFlag">
<el-form-item label="是否启用" prop="enableFlag" required>
<el-radio-group v-model="form.enableFlag">
<el-radio v-for="dict in dict.type.sys_yes_no" :key="dict.value" :label="dict.value">{{dict.label}}</el-radio>
</el-radio-group>
......@@ -206,7 +214,7 @@ export default {
showSearch: true,
// 总条数
total: 0,
// 客户表格数据
// 表格数据
list: [],
propertyTypeOptions: [
{label: '客户特性', value: 1},
......@@ -230,6 +238,7 @@ export default {
form: {
id: null,
name: null,
required: 'Y',
type: null,
length: null,
min: null,
......@@ -263,7 +272,7 @@ export default {
this.getList();
},
methods: {
/** 查询客户列表 */
/** 查询列表 */
getList() {
this.loading = true;
listPropertytype(this.queryParams).then(response => {
......@@ -291,6 +300,7 @@ export default {
this.form = {
id: null,
name: null,
required: 'Y',
type: null,
length: null,
min: null,
......@@ -322,7 +332,7 @@ export default {
handleAdd() {
this.reset();
this.open = true;
this.title = "添加客户";
this.title = "添加数据类型";
this.optType = "add";
},
/** 修改按钮操作 */
......
......@@ -88,8 +88,8 @@
<el-table v-loading="loading" :data="list" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" />
<el-table-column label="特性类型" prop="type" :formatter="formatType"/>
<el-table-column label="特性名称" prop="name"/>
<el-table-column label="特性类型" prop="type" :formatter="formatType"/>
<el-table-column label="sap属性" prop="sapField"/>
<el-table-column label="数据类型名" prop="propertyType.name" />
<el-table-column label="数据类型" prop="propertyType.type" :formatter="formatDataType"/>
......
<template>
<div class="index">
purchase order
</div>
</template>
<script>
export default {
data() {
return {}
},
methods: {},
created() {
}
}
</script>
<style scoped>
</style>
This diff is collapsed.
<template>
<div>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
>新增</el-button
>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
@click="handleDelete"
>删除</el-button
>
</el-col>
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-delete"
size="mini"
>产品分类导入</el-button
>
</el-col>
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-delete"
size="mini"
@click="$refs['ItemBomSelectRef'].showFlag = true"
>产品导入</el-button
>
<ItemBomSelect ref="ItemBomSelectRef" @onSelected="onItemBomSelect" />
</el-col>
</el-row>
<el-table :data="tableData" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column
label="组件数量"
align="center"
prop="quantity"
width="120"
/>
<el-table-column
label="计量单位"
align="center"
prop="unitOfMeasure"
width="120"
/>
<el-table-column
label="报废百分比"
align="center"
prop="scrapPercentage"
width="120"
/>
<el-table-column
label="替代组"
align="center"
prop="alternativeGroup"
width="120"
/>
<el-table-column
label="替代优先级"
align="center"
prop="alternativePriorities"
width="120"
/>
<el-table-column
label="策略"
align="center"
prop="alternativeStrategy"
width="120"
/>
<el-table-column
label="使用概率"
align="center"
prop="alternativeProbability"
width="120"
/>
<el-table-column
label="BOM行备注"
align="center"
prop="bomItemRemark"
width="120"
/>
<el-table-column
label="物料备注"
align="center"
prop="itemRemark"
width="120"
/>
<el-table-column label="操作" align="center" width="120">
<template slot-scope="{ row, index }">
<el-button
type="text"
icon="el-icon-edit"
size="small"
@click="updateRow(row)"
>修改</el-button
>
<el-button
type="text"
icon="el-icon-delete"
size="small"
@click="deleteRow(index)"
>删除</el-button
>
</template>
</el-table-column>
</el-table>
<el-dialog :visible.sync="showFlag" width="700px" title="添加BOM">
<el-form
ref="form"
:model="form"
:rules="rules"
inline
label-width="100px"
size="small"
>
<el-row>
<el-col :span="12">
<el-form-item label="组件数量" prop="quantity">
<el-input
type="number"
v-model="form.quantity"
placeholder="请输入组件数量"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="计量单位" prop="unitOfMeasure">
<el-input
v-model="form.unitOfMeasure"
placeholder="请输入计量单位"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="报废百分比" prop="scrapPercentage">
<el-input
v-model="form.scrapPercentage"
placeholder="请输入报废百分比"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="替代组" prop="alternativeGroup">
<el-input
v-model="form.alternativeGroup"
placeholder="请输入替代组"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="替代优先级" prop="alternativePriorities">
<el-input
v-model="form.alternativePriorities"
placeholder="请输入替代优先级"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="策略" prop="alternativeStrategy">
<el-input
v-model="form.alternativeStrategy"
placeholder="请输入策略"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="使用概率" prop="alternativeProbability">
<el-input
v-model="form.alternativeProbability"
placeholder="请输入使用概率"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="BOM行备注" prop="bomItemRemark">
<el-input
v-model="form.bomItemRemark"
placeholder="请输入BOM行备注"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="物料备注" prop="itemRemark">
<el-input
v-model="form.itemRemark"
placeholder="请输入物料备注"
></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer">
<el-button type="primary" @click="submitForm">确定</el-button>
<el-button type="default" @click="showFlag = false">取消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import ItemBomSelect from "@/components/itemBomSelect/single.vue";
export default {
components: { ItemBomSelect },
inject: ['mode'],
data() {
return {
/**弹窗状态 */
showFlag: false,
/**表格数据 */
tableData: [],
/**表单规则 */
rules: {},
/**多选 */
selection: [],
/**表单初始化数据 */
form: {
quantity: "",
unitOfMeasure: "",
scrapPercentage: "",
alternativeGroup: "",
alternativePriorities: "",
alternativeStrategy: "",
alternativeProbability: "",
bomItemRemark: "",
itemRemark: "",
},
};
},
created() {
},
methods: {
/**多选 */
handleSelectionChange(val) {
this.selection = val;
},
/**删除操作 */
handleDelete() {},
/**添加操作 */
handleAdd() {
this.resetForm();
this.showFlag = true;
},
/**更新行 */
updateRow(row) {
Object.assign(this.form, row);
this.showFlag = true;
},
/**删除行 */
deleteRow(index) {
this.tableData.splice(index, 1);
},
onItemBomSelect(row) {
// if (row != undefined && row != null) {
// this.tableData.unshift({...row})
// }
},
/**表单提交 */
submitForm() {
this.$refs["form"].validate((valid) => {
if (valid) {
this.tableData.unshift({ ...this.form });
this.showFlag = false;
}
});
},
/**重置表单 */
resetForm() {
this.form = {
quantity: "",
unitOfMeasure: "",
scrapPercentage: "",
alternativeGroup: "",
alternativePriorities: "",
alternativeStrategy: "",
alternativeProbability: "",
bomItemRemark: "",
itemRemark: "",
};
},
/**获取组件数据 */
getComData() {
return this.tableData
}
},
};
</script>
<style></style>
<template>
<div>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
>新增</el-button
>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
@click="handleDelete"
>删除</el-button
>
</el-col>
</el-row>
<el-table :data="tableData" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="工序名称" prop="processName" width="120" align="center" />
<el-table-column label="工序编码" prop="processCode" width="120" align="center" />
<el-table-column label="与下一道工序关系" prop="linkType" width="160" align="center" />
<el-table-column label="工作站" prop="workstationId" width="120" align="center" />
<el-table-column label="甘特图显示颜色" prop="colorCode" width="120" align="center" />
<el-table-column label="操作" align="center" width="120">
<template slot-scope="{ row, index }">
<el-button
type="text"
icon="el-icon-edit"
size="small"
@click="updateRow(row)"
>修改</el-button
>
<el-button
type="text"
icon="el-icon-delete"
size="small"
@click="deleteRow(index)"
>删除</el-button
>
</template>
</el-table-column>
</el-table>
<el-dialog :visible.sync="showFlag" width="700px" title="添加工艺">
<el-form
ref="form"
:model="form"
:rules="rules"
inline
label-width="100px"
size="small"
>
<el-row>
<el-col :span="12">
<el-form-item label="组件数量" prop="quantity">
<el-input
type="number"
v-model="form.quantity"
placeholder="请输入组件数量"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="计量单位" prop="unitOfMeasure">
<el-input
v-model="form.unitOfMeasure"
placeholder="请输入计量单位"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="报废百分比" prop="scrapPercentage">
<el-input
v-model="form.scrapPercentage"
placeholder="请输入报废百分比"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="替代组" prop="alternativeGroup">
<el-input
v-model="form.alternativeGroup"
placeholder="请输入替代组"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="替代优先级" prop="alternativePriorities">
<el-input
v-model="form.alternativePriorities"
placeholder="请输入替代优先级"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="策略" prop="alternativeStrategy">
<el-input
v-model="form.alternativeStrategy"
placeholder="请输入策略"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="使用概率" prop="alternativeProbability">
<el-input
v-model="form.alternativeProbability"
placeholder="请输入使用概率"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="BOM行备注" prop="bomItemRemark">
<el-input
v-model="form.bomItemRemark"
placeholder="请输入BOM行备注"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="物料备注" prop="itemRemark">
<el-input
v-model="form.itemRemark"
placeholder="请输入物料备注"
></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer">
<el-button type="primary" @click="submitForm">确定</el-button>
<el-button type="default" @click="showFlag = false">取消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import ItemBomSelect from "@/components/itemBomSelect/single.vue";
export default {
components: { ItemBomSelect },
data() {
return {
/**弹窗状态 */
showFlag: false,
/**表格数据 */
tableData: [],
/**表单规则 */
rules: {},
/**多选 */
selection: [],
/**表单初始化数据 */
form: {
quantity: "",
unitOfMeasure: "",
scrapPercentage: "",
alternativeGroup: "",
alternativePriorities: "",
alternativeStrategy: "",
alternativeProbability: "",
bomItemRemark: "",
itemRemark: "",
},
};
},
methods: {
/**多选 */
handleSelectionChange(val) {
this.selection = val;
},
/**删除操作 */
handleDelete() {},
/**添加操作 */
handleAdd() {
this.resetForm();
this.showFlag = true;
},
/**更新行 */
updateRow(row) {
Object.assign(this.form, row);
this.showFlag = true;
},
/**删除行 */
deleteRow(index) {
this.tableData.splice(index, 1);
},
onItemBomSelect(row) {
// if (row != undefined && row != null) {
// this.tableData.unshift({...row})
// }
},
/**表单提交 */
submitForm() {
this.$refs["form"].validate((valid) => {
if (valid) {
this.tableData.unshift({ ...this.form });
this.showFlag = false;
}
});
},
getComData() {},
/**重置表单 */
resetForm() {
this.form = {
quantity: "",
unitOfMeasure: "",
scrapPercentage: "",
alternativeGroup: "",
alternativePriorities: "",
alternativeStrategy: "",
alternativeProbability: "",
bomItemRemark: "",
itemRemark: "",
};
},
},
};
</script>
<style></style>
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