Commit 1b1e8f51 authored by hiyon's avatar hiyon

Merge branch 'dev_9.0.1' into dev

parents 4032fd35 cd4118b3
import request from '@/utils/request' import request from '@/utils/request'
// 查询列表 // 查询列表
export function listPropertyDict(query) { export function listSapDict(query) {
return request({ return request({
url: '/md/propertydict/list', url: '/md/sapDict/list',
method: 'get', method: 'get',
params: query params: query
}) })
} }
// 查询详细 // 查询详细
export function getPropertyDict(id) { export function getSapDict(id) {
return request({ return request({
url: '/md/propertydict/' + id, url: '/md/sapDict/' + id,
method: 'get' method: 'get'
}) })
} }
// 新增 // 新增
export function addPropertyDict(data) { export function addSapDict(data) {
return request({ return request({
url: '/md/propertydict', url: '/md/sapDict',
method: 'post', method: 'post',
data: data data: data
}) })
} }
// 修改 // 修改
export function updatePropertyDict(data) { export function updateSapDict(data) {
return request({ return request({
url: '/md/propertydict', url: '/md/sapDict',
method: 'put', method: 'put',
data: data data: data
}) })
} }
// 删除 // 删除
export function delPropertyDict(id) { export function delSapDict(id) {
return request({ return request({
url: '/md/propertydict/' + id, url: '/md/sapDict/' + id,
method: 'delete' method: 'delete'
}) })
} }
import request from '@/utils/request'
// 查询列表
export function list(query) {
return request({ url: '/md/sapDictData/list', method: 'get', params: query })
}
// 查询列表
export function page(params) {
return request({ url: '/md/sapDictData/page', method: 'get', params })
}
// 查询详细
export function get(id) {
return request({ url: '/md/sapDictData/' + id, method: 'get' })
}
// 新增
export function add(data) {
return request({ url: '/md/sapDictData', method: 'post', data: data })
}
// 修改
export function update(data) {
return request({ url: '/md/sapDictData', method: 'put', data: data })
}
// 删除
export function del(id) {
return request({ url: '/md/sapDictData/' + id, method: 'delete' })
}
...@@ -25,15 +25,6 @@ export function getSapInfo(id) { ...@@ -25,15 +25,6 @@ export function getSapInfo(id) {
}) })
} }
// 查询销售订单详细
export function syncSapData(sapData) {
return request({
url: '/od/salesOrder/syncSapInfo/',
method: 'post',
data: sapData
})
}
// 查询销售订单详细 // 查询销售订单详细
export function getOrderDetail(params) { export function getOrderDetail(params) {
return request({ return request({
......
...@@ -62,7 +62,7 @@ export default { ...@@ -62,7 +62,7 @@ export default {
regEx: '', regEx: '',
dictId: '', dictId: '',
errMsg: '', errMsg: '',
dictDataList: [] dictList: []
}, },
} }
}, },
......
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px">
<el-row>
<el-col :span="6">
<el-form-item label="数据类型名" prop="name">
<el-input v-model="queryParams.name" placeholder="请输入数据类型名" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="数据类型" prop="type">
<el-select v-model="queryParams.type" placeholder="请选择数据类型" clearable filterable>
<el-option v-for="item in dict.type.sys_data_type" :key="item.value" :value="item.value" :label="item.label"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="是否启用" prop="enableFlag">
<el-select v-model="queryParams.enableFlag" clearable>
<el-option v-for="item in dict.type.sys_yes_no" v-bind="item" :key="item.value"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<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-col>
</el-row>
</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:propertytype: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:propertytype: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:propertytype: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:propertytype:export']"
>导出</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="toPropertyDict"
v-hasPermi="['md:propertytype:dict']"
>数据字典</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="list" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55"/>
<el-table-column label="数据类型名" prop="name"/>
<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>
<div v-if="row.regEx != null">正则:{{ row.regEx }}</div>
<div v-if="row.dictId != null">枚举:{{ row.propertyDict.name }}</div>
</template>
</el-table-column>
<el-table-column label="提示语" prop="errMsg" show-overflow-tooltip/>
<el-table-column label="是否启用" prop="enableFlag" >
<template slot-scope="{row}">
<dict-tag :options="dict.type.sys_yes_no" :value="row.enableFlag"/>
</template>
</el-table-column>
<el-table-column label="操作" class-name="small-padding fixed-width">
<template slot-scope="{row}">
<el-button v-hasPermi="['md:propertytype:edit']" size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(row)">
修改
</el-button>
<el-button v-hasPermi="['md:propertytype:remove']" size="mini" type="text" icon="el-icon-delete" @click="handleDelete(row)">
删除
</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="960px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row>
<el-col :span="12">
<el-form-item label="数据类型名" prop="name">
<el-input v-model.trim="form.name" placeholder="请输入数据类型名" clearable/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="数据类型" prop="type">
<el-select v-model.trim="form.type" placeholder="请选择数据类型" clearable>
<el-option v-for="item in dict.type.sys_data_type" :key="item.value" :value="item.value" :label="item.label"/>
</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>
<template v-if="form.type === '1'">
<el-col :span="12">
<el-form-item label="最大长度" prop="length">
<el-input v-model.trim.number="form.length" placeholder="请输入最大长度" clearable/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="正则" prop="regEx">
<el-input v-model.trim="form.regEx" placeholder="请输入正则" clearable/>
</el-form-item>
</el-col>
</template>
<template v-if="['2', '3'].includes(form.type)">
<el-col :span="12">
<el-form-item label="最小值" prop="min">
<el-input v-model.trim.number="form.min" placeholder="请输入最小值" clearable/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="最大值" prop="max">
<el-input v-model.trim.number="form.max" placeholder="请输入最大值" clearable/>
</el-form-item>
</el-col>
</template>
<el-col v-if="form.type === '7'" :span="12">
<el-form-item label="枚举" prop="dictId">
<el-select v-model="form.dictId" placeholder="请选择枚举类型" filterable remote :remote-method="onSearchDict" clearable>
<el-option v-for="item in dictList" :key="item.id" :value="item.id" :label="item.name"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="提示语" prop="errMsg">
<el-input v-model.trim="form.errMsg" placeholder="请输入提示语" clearable/>
</el-form-item>
</el-col>
<el-col :span="12">
<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>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="cancel" v-if="optType === 'view'">返回</el-button>
<el-button type="primary" @click="submitForm" v-else>确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { addPropertytype, getPropertytype, listPropertytype, updatePropertytype, delPropertytype } from '@/api/mes/md/propertytype'
import {listPropertyDict} from '@/api/mes/md/propertydict'
export default {
name: "Client",
dicts: ['mes_client_type','sys_yes_no', 'sys_data_type'],
data() {
return {
optType: undefined,
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 表格数据
list: [],
propertyTypeOptions: [
{label: '客户特性', value: 1},
{label: '产品特性', value: 2},
{label: '订单特性', value: 3},
{label: '品牌特性', value: 4},
],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
type: null,
name: null,
enableFlag: 'Y',
},
// 表单参数
form: {
id: null,
name: null,
required: 'Y',
type: null,
length: null,
min: null,
max: null,
regEx: null,
errMsg: null,
dictId: null,
enableFlag: 'Y',
},
dictList: [],
// 表单校验
rules: {
name: [{ required: true, max: 32, message: '数据类型名称不能为空,长度在32字以内', trigger: 'blur' }],
type: [{ required: true, message: '数据类型不能为空', trigger: 'blur' }],
length: [
{ required: true, message: '最大长度不能为空', trigger: 'blur' },
// { pattern: /^[0-9]{1,4}$/, message: '最大输入为9999', trigger: 'blur' },
],
min: [
{ required: true, message: '最小值不能为空', trigger: 'blur' }
],
max: [
{ required: true, message: '最大值不能为空', trigger: 'blur' }
],
errMsg: [{ required: true, max: 100, message: '提示语不能为空,长度在100字以内', trigger: 'blur' }],
dictId: [{ required: true, message: '枚举类型不能为空', trigger: ['blur', 'change'] }],
}
};
},
created() {
this.getList();
},
methods: {
/** 查询列表 */
getList() {
this.loading = true;
listPropertytype(this.queryParams).then(response => {
this.list = response.rows;
this.total = response.total;
}).finally(() => this.loading = false);
},
toPropertyDict() {
this.$router.push("/mes/md/propertydict")
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
onSearchDict(key) {
if (key !== '') {
listPropertyDict({name: key}).then(response => this.dictList = response.rows)
} else {
this.dictList = []
}
},
// 表单重置
reset() {
this.form = {
id: null,
name: null,
required: 'Y',
type: null,
length: null,
min: null,
max: null,
regEx: null,
errMsg: null,
dictId: null,
enableFlag: 'Y',
};
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 = "添加数据类型";
this.optType = "add";
},
/** 修改按钮操作 */
handleUpdate(row) {
if (!row.id && this.ids.length !== 1) this.$message.error("只能选择一条数据")
this.reset();
const id = row.id || this.ids[0]
listPropertyDict({id: row.dictId}).then(response => this.dictList = response.rows)
getPropertytype(id).then(response => {
this.form = response.data;
this.form.type = response.data.type;
this.open = true;
this.title = "修改数据类型";
this.optType = "edit";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.min != null && this.form.max != null) {
if (this.form.min > this.form.max) return this.$message.error("最小值不能大于最大值")
}
if (this.form.id != null) {
updatePropertytype(this.form).then(() => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addPropertytype(this.form).then(() => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除数据类型编号为"' + ids + '"的数据项?').then(function() {
return delPropertytype(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('md/propertytype/export', {
...this.queryParams
}, `propertytype_${new Date().getTime()}.xlsx`)
},
formatDataType(row) {
let item = this.dict.type.sys_data_type.find(item => item.value === row.type)
return item ? item.label : ''
}
}
};
</script>
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" inline v-show="showSearch" label-width="90px">
<el-form-item label="字典类型" prop="dictId">
<el-select v-model="queryParams.dictId" placeholder="请选择字典类型" filterable remote clearable :remote-method="onSearchDict">
<el-option v-for="item in dictList" :key="item.id" :label="item.name" :value="item.id"/>
</el-select>
</el-form-item>
<el-form-item label="字典名称" prop="name">
<el-input v-model="queryParams.name" placeholder="请选择字典名称" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="是否启用" prop="enableFlag">
<el-select v-model="queryParams.enableFlag" clearable>
<el-option v-for="item in dict.type.sys_yes_no" v-bind="item" :key="item.value"/>
</el-select>
</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="onShowEdit({})" v-hasPermi="['md:sapDictData:add']">
新增
</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="ids.length !== 1" @click="onShowEdit({})" v-hasPermi="['md:sapDictData:edit']">
修改
</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="!ids.length" @click="handleDelete" v-hasPermi="['md:sapDictData:remove']">
删除
</el-button>
</el-col>
<el-col :span="1.5">
<el-button plain icon="el-icon-refresh" size="mini" @click="toDict">
返回
</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:sapDictData:export']">
导出
</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="tableLoading" :data="page.records" row-key="id" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55"/>
<el-table-column label="字典名称" prop="name"/>
<el-table-column label="字典数值" prop="name"/>
<el-table-column label="字典类型" prop="dictName"/>
<el-table-column label="是否启用" prop="enableFlag">
<template slot-scope="{row}">
<dict-tag :options="dict.type.sys_yes_no" :value="row.enableFlag"/>
</template>
</el-table-column>
<el-table-column label="操作" class-name="small-padding fixed-width">
<template slot-scope="{row}">
<el-button v-hasPermi="['md:sapDictData:edit']" size="mini" type="text" icon="el-icon-edit" @click="onShowEdit(row)">
修改
</el-button>
<el-button v-hasPermi="['md:sapDictData:remove']" size="mini" type="text" icon="el-icon-delete" @click="handleDelete(row)">
删除
</el-button>
</template>
</el-table-column>
</el-table>
<pagination v-show="page.total>0" :total="page.total" :page.sync="queryParams.current" :limit.sync="queryParams.size" @pagination="getList"/>
<el-dialog :visible.sync="showEdit" :title="form.id ? '修改字典值' : '新增字典值'" width="750px">
<el-form ref="form" :model="form" :rules="rules" label-width="95px">
<el-row>
<el-col :span="12">
<el-form-item label="字典类型" prop="dictId">
<el-select v-model="form.dictId" placeholder="请选择数据值" filterable remote clearable :remote-method="onSearchDict">
<el-option v-for="item in dictList" :key="item.id" :label="item.name" :value="item.id"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="关联字典" prop="parentId">
<el-select v-model="form.parentId" placeholder="请选择数据值" filterable remote clearable :remote-method="onSearchDictData">
<el-option label="无" :value="0"/>
<el-option v-for="item in dataList" :key="item.id" :label="item.name" :value="item.id"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="字典名称" prop="name">
<el-input v-model.trim="form.name" placeholder="请输入数据名称" clearable/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="字典数值" prop="value">
<el-input v-model.trim="form.value" placeholder="请输入数据值" clearable/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="是否启用" prop="enableFlag">
<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>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="showEdit = false">取 消</el-button>
<el-button type="primary" :loading="loading" @click="submitForm">确 定</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { page, list, get, add, update, del } from '@/api/mes/md/sapDictData'
import { listSapDict } from '@/api/mes/md/sapDict'
export default {
name: 'Client',
dicts: ['mes_client_type', 'sys_yes_no'],
data() {
return {
loading: false,
tableLoading: false,
ids: [],
showSearch: true,
page: {
total: 0,
records: []
},
showEdit: false,
queryParams: {
current: 1,
size: 10,
parentId: 0,
dictId: null,
name: null,
enableFlag: 'Y'
},
dictList: [],
dataList: [],
form: {enableFlag: 'Y'},
rules: {
dictId: [{ required: true, message: '字典类型不能为空', trigger: 'change' }],
name: [{ required: true, max: 32, message: '字典名称不能为空,长度在32字以内', trigger: 'blur' }],
value: [{ required: true, max: 32, message: '字典名称不能为空,长度在32字以内', trigger: 'blur' }]
}
}
},
created() {
this.getList()
},
methods: {
onSearchDict(name) {
listSapDict({name, pageNum: 1, pageSize: 100}).then(res => {
let { rows } = res
if (this.form.dictId && !rows.some(item => item.id == this.form.dictId)) {
rows.shift({id: this.form.dictId, name: this.form.dictName})
}
this.dictList = rows || []
})
},
onSearchDictData(name) {
list({name, pageNum: 1, pageSize: 100}).then(res => {
let { data } = res
if (this.form.id && !data.some(item => item.id == this.form.id)) {
data.shift({id: this.form.id, name: this.form.name})
}
this.dataList = data || []
})
},
/** 查询客户列表 */
getList() {
this.tableLoading = true
page(this.queryParams).then(response => {
this.page = response.data
}).finally(() => this.tableLoading = false)
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.current = 1
this.getList()
},
/** 重置按钮操作 */
resetQuery() {
this.$refs.queryForm.resetFields()
this.handleQuery()
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
},
/** 新增按钮操作 */
onShowEdit(row) {
this.showEdit = true
let id = row.id || this.ids[0]
if (id) {
get(id).then(res => {
this.$refs.form.resetFields()
this.form = res.data || {}
})
} else {
this.$refs.form && this.$refs.form.resetFields()
this.form = {enableFlag: 'Y'}
}
this.onSearchDict(null)
this.onSearchDictData(null)
},
/** 提交按钮 */
submitForm() {
if (this.loading) return
if (this.form.id && this.form.id == this.form.parentId) {
return this.$message.error("不能关联自己")
}
this.loading = true
this.$refs['form'].validate(valid => {
if (valid) {
let edit = this.form.id ? update : add
edit(this.form).then(() => {
this.$modal.msgSuccess('操作成功')
this.showEdit = false
this.getList()
}).finally(() => this.loading = false)
} else {
this.loading = false
}
})
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids
this.$modal.confirm('是否确认删除客户编号为"' + ids + '"的数据项?').then(function() {
return del(ids)
}).then(() => {
this.getList()
this.$modal.msgSuccess('删除成功')
}).catch(() => {
})
},
/** 导出按钮操作 */
handleExport() {
this.download('md/dictData/export', {...this.queryParams}, `dictData_${Date.now()}.xlsx`)
},
toDict() {
this.$router.replace("/md/sapDict")
}
}
}
</script>
...@@ -25,46 +25,28 @@ ...@@ -25,46 +25,28 @@
<el-row :gutter="10" class="mb8"> <el-row :gutter="10" class="mb8">
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd" v-hasPermi="['md:sapDict:add']">
type="primary" 新增
plain </el-button>
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['md:propertydict:add']"
>新增</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate" v-hasPermi="['md:sapDict:edit']">
type="success" 修改
plain </el-button>
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['md:propertydict:edit']"
>修改</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete" v-hasPermi="['md:sapDict:remove']">
type="danger" 删除
plain </el-button>
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['md:propertydict:remove']"
>删除</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" v-hasPermi="['md:sapDict:export']">
type="warning" 导出
plain </el-button>
icon="el-icon-download" </el-col>
size="mini" <el-col :span="1.5">
@click="handleExport" <el-button type="primary" plain size="mini" @click="toDictData" v-hasPermi="['md:sapDict:edit']">字典数据
v-hasPermi="['md:propertydict:export']" </el-button>
>导出</el-button>
</el-col> </el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row> </el-row>
...@@ -72,65 +54,38 @@ ...@@ -72,65 +54,38 @@
<el-table v-loading="loading" :data="list" @selection-change="handleSelectionChange"> <el-table v-loading="loading" :data="list" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55"/> <el-table-column type="selection" width="55"/>
<el-table-column label="字典名称" prop="name"/> <el-table-column label="字典名称" prop="name"/>
<el-table-column label="是否启用" prop="enableFlag" > <el-table-column label="是否启用" prop="enableFlag">
<template slot-scope="{row}"> <template slot-scope="{row}">
<dict-tag :options="dict.type.sys_yes_no" :value="row.enableFlag"/> <dict-tag :options="dict.type.sys_yes_no" :value="row.enableFlag"/>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" class-name="small-padding fixed-width"> <el-table-column label="操作" class-name="small-padding fixed-width">
<template slot-scope="{row}"> <template slot-scope="{row}">
<el-button v-hasPermi="['md:propertydict:edit']" size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(row)"> <el-button v-hasPermi="['md:sapDict:edit']" size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(row)">
修改 修改
</el-button> </el-button>
<el-button v-hasPermi="['md:propertydict:remove']" size="mini" type="text" icon="el-icon-delete" @click="handleDelete(row)"> <el-button v-hasPermi="['md:sapDict:remove']" size="mini" type="text" icon="el-icon-delete" @click="handleDelete(row)">
删除 删除
</el-button> </el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<pagination v-show="total>0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" /> <pagination v-show="total>0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList"/>
<el-dialog :title="title" :visible.sync="open" width="960px" append-to-body> <el-dialog :title="title" :visible.sync="open" width="500px">
<el-form ref="form" :model="form" :rules="rules" label-width="120px"> <el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-row> <el-form-item label="字典名称" prop="name">
<el-col :span="10"> <el-input v-model.trim="form.name" placeholder="请输入字典名称" clearable/>
<el-form-item label="字典名称" prop="name"> </el-form-item>
<el-input v-model.trim="form.name" placeholder="请输入字典名称" clearable/> <el-form-item label="是否启用" prop="enableFlag">
</el-form-item> <el-radio-group v-model="form.enableFlag">
</el-col> <el-radio v-for="dict in dict.type.sys_yes_no" :key="dict.value" :label="dict.value">{{ dict.label }}
<el-col :span="12"> </el-radio>
<el-form-item label="是否启用" prop="enableFlag"> </el-radio-group>
<el-radio-group v-model="form.enableFlag"> </el-form-item>
<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-row>
<template v-for="(item, i) in form.dictDataList">
<el-row v-if="item.enableFlag === 'Y'" :key="i" :gutter="20">
<el-col :span="10">
<el-form-item label="名称" :prop="'dictDataList.' + i + '.name'"
:rules="{required: true, max: 32, message: '数值名称不能为空,长度在32字以内', trigger: 'blur'}">
<el-input v-model.trim="item.name" placeholder="请输入数值名称" clearable/>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="数值" :prop="'dictDataList.' + i + '.value'"
:rules="{required: true, max: 64, message: '数值不能为空,长度在64字以内', trigger: 'blur'}">
<el-input v-model.trim="item.value" placeholder="请输入数值" clearable/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-button type="text" @click.prevent="onAddItem">新增</el-button>
<el-button v-if="i" type="text" @click.prevent="onDelItem(item)">删除</el-button>
</el-col>
</el-row>
</template>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button type="primary" @click="cancel" v-if="optType === 'view'">返回</el-button> <el-button type="primary" @click="submitForm">确 定</el-button>
<el-button type="primary" @click="submitForm" v-else>确 定</el-button>
<el-button @click="cancel">取 消</el-button> <el-button @click="cancel">取 消</el-button>
</div> </div>
</el-dialog> </el-dialog>
...@@ -138,11 +93,10 @@ ...@@ -138,11 +93,10 @@
</template> </template>
<script> <script>
import {addPropertyDict, getPropertyDict, listPropertyDict, updatePropertyDict, delPropertyDict} from '@/api/mes/md/propertydict' import { addSapDict, delSapDict, getSapDict, listSapDict, updateSapDict } from '@/api/mes/md/sapDict'
export default { export default {
name: "Client", dicts: ['mes_client_type', 'sys_yes_no'],
dicts: ['mes_client_type','sys_yes_no'],
data() { data() {
return { return {
optType: undefined, optType: undefined,
...@@ -161,13 +115,13 @@ export default { ...@@ -161,13 +115,13 @@ export default {
// 客户表格数据 // 客户表格数据
list: [], list: [],
propertyTypeOptions: [ propertyTypeOptions: [
{label: '客户特性', value: 1}, { label: '客户特性', value: 1 },
{label: '产品特性', value: 2}, { label: '产品特性', value: 2 },
{label: '订单特性', value: 3}, { label: '订单特性', value: 3 },
{label: '品牌特性', value: 4}, { label: '品牌特性', value: 4 }
], ],
// 弹出层标题 // 弹出层标题
title: "", title: '',
// 是否显示弹出层 // 是否显示弹出层
open: false, open: false,
// 查询参数 // 查询参数
...@@ -176,47 +130,50 @@ export default { ...@@ -176,47 +130,50 @@ export default {
pageSize: 10, pageSize: 10,
type: null, type: null,
name: null, name: null,
enableFlag: 'Y', enableFlag: 'Y'
}, },
// 表单参数 // 表单参数
form: { form: {
id: null, id: null,
name: '', name: '',
dictDataList: [{name: '', value: '', enableFlag: 'Y'}] dictList: [{ name: '', value: '', enableFlag: 'Y' }]
}, },
// 表单校验 // 表单校验
rules: { rules: {
name: [{ required: true, max: 32, message: '字典名称不能为空,长度在32字以内', trigger: 'blur' }], name: [{ required: true, max: 32, message: '字典名称不能为空,长度在32字以内', trigger: 'blur' }]
} }
}; }
}, },
created() { created() {
this.getList(); this.getList()
}, },
methods: { methods: {
/** 查询客户列表 */ /** 查询客户列表 */
getList() { getList() {
this.loading = true; this.loading = true
listPropertyDict(this.queryParams).then(response => { listSapDict(this.queryParams).then(response => {
this.list = response.rows; this.list = response.rows
this.total = response.total; this.total = response.total
}).finally(() => this.loading = false); }).finally(() => this.loading = false)
}, },
/** 搜索按钮操作 */ /** 搜索按钮操作 */
handleQuery() { handleQuery() {
this.queryParams.pageNum = 1; this.queryParams.pageNum = 1
this.getList(); this.getList()
}, },
/** 重置按钮操作 */ /** 重置按钮操作 */
resetQuery() { resetQuery() {
this.resetForm("queryForm"); this.resetForm('queryForm')
this.handleQuery(); this.handleQuery()
},
toDictData() {
this.$router.push('/md/sapDictData')
}, },
/** /**
* 删除列 * 删除列
*/ */
onAddItem() { onAddItem() {
this.form.dictDataList.push({name: '', value: '', enableFlag: 'Y'}) this.form.dictList.push({ name: '', value: '', enableFlag: 'Y' })
}, },
/** /**
* 删除列 * 删除列
...@@ -225,86 +182,87 @@ export default { ...@@ -225,86 +182,87 @@ export default {
if (item.id) { if (item.id) {
item.enableFlag = 'N' item.enableFlag = 'N'
} else { } else {
let index = this.form.dictDataList.indexOf(item) let index = this.form.dictList.indexOf(item)
if (index !== -1) { if (index !== -1) {
this.form.dictDataList.splice(index, 1) this.form.dictList.splice(index, 1)
} }
} }
}, },
// 取消按钮 // 取消按钮
cancel() { cancel() {
this.open = false; this.open = false
this.reset(); this.reset()
}, },
// 表单重置 // 表单重置
reset() { reset() {
this.form = { this.form = {
name: '', name: '',
dictDataList: [{name: '', value: '', enableFlag: 'Y'}] dictList: [{ name: '', value: '', enableFlag: 'Y' }]
}; }
this.resetForm("form"); this.resetForm('form')
}, },
// 多选框选中数据 // 多选框选中数据
handleSelectionChange(selection) { handleSelectionChange(selection) {
this.ids = selection.map(item => item.id) this.ids = selection.map(item => item.id)
this.single = selection.length!==1 this.single = selection.length !== 1
this.multiple = !selection.length this.multiple = !selection.length
}, },
/** 新增按钮操作 */ /** 新增按钮操作 */
handleAdd() { handleAdd() {
this.reset(); this.reset()
this.open = true; this.open = true
this.title = "添加字典"; this.title = '添加字典'
this.optType = "add"; this.optType = 'add'
}, },
/** 修改按钮操作 */ /** 修改按钮操作 */
handleUpdate(row) { handleUpdate(row) {
if (!row.id && this.ids.length !== 1) this.$message.error("只能选择一条数据") if (!row.id && this.ids.length !== 1) this.$message.error('只能选择一条数据')
this.reset(); this.reset()
const id = row.id || this.ids[0] const id = row.id || this.ids[0]
getPropertyDict(id).then(response => { getSapDict(id).then(response => {
this.form = response.data; this.form = response.data
this.open = true; this.open = true
this.title = "修改字典"; this.title = '修改字典'
this.optType = "edit"; this.optType = 'edit'
}); })
}, },
/** 提交按钮 */ /** 提交按钮 */
submitForm() { submitForm() {
this.$refs["form"].validate(valid => { this.$refs['form'].validate(valid => {
if (valid) { if (valid) {
if (this.form.id != null) { if (this.form.id != null) {
updatePropertyDict(this.form).then(response => { updateSapDict(this.form).then(response => {
this.$modal.msgSuccess("修改成功"); this.$modal.msgSuccess('修改成功')
this.open = false; this.open = false
this.getList(); this.getList()
}); })
} else { } else {
addPropertyDict(this.form).then(response => { addSapDict(this.form).then(response => {
this.$modal.msgSuccess("新增成功"); this.$modal.msgSuccess('新增成功')
this.open = false; this.open = false
this.getList(); this.getList()
}); })
} }
} }
}); })
}, },
/** 删除按钮操作 */ /** 删除按钮操作 */
handleDelete(row) { handleDelete(row) {
const ids = row.id || this.ids; const ids = row.id || this.ids
this.$modal.confirm('是否确认删除客户编号为"' + ids + '"的数据项?').then(function() { this.$modal.confirm('是否确认删除客户编号为"' + ids + '"的数据项?').then(function() {
return delPropertyDict(ids); return delSapDict(ids)
}).then(() => { }).then(() => {
this.getList(); this.getList()
this.$modal.msgSuccess("删除成功"); this.$modal.msgSuccess('删除成功')
}).catch(() => {}); }).catch(() => {
})
}, },
/** 导出按钮操作 */ /** 导出按钮操作 */
handleExport() { handleExport() {
this.download('md/propertydict/export', { this.download('md/sapDict/export', {
...this.queryParams ...this.queryParams
}, `propertydict_${new Date().getTime()}.xlsx`) }, `sapDict_${new Date().getTime()}.xlsx`)
} }
} }
}; }
</script> </script>
...@@ -101,7 +101,7 @@ ...@@ -101,7 +101,7 @@
<script> <script>
import { listPropertyDict } from '@/api/mes/md/propertydict' import { listSapDict } from '@/api/mes/md/sapDict'
import { addView, getView, updateView } from '@/api/mes/md/sapField' import { addView, getView, updateView } from '@/api/mes/md/sapField'
import PropertySelector from '@/views/mes/md/sapField/selector' import PropertySelector from '@/views/mes/md/sapField/selector'
const formData = { const formData = {
...@@ -166,7 +166,7 @@ export default { ...@@ -166,7 +166,7 @@ export default {
}) })
}, },
onSearchDict(key) { onSearchDict(key) {
listPropertyDict({ name: key }).then(response => this.dictList = response.rows) listSapDict({ name: key }).then(response => this.dictList = response.rows)
}, },
onSelectProperty(selectList) { onSelectProperty(selectList) {
this.form.subList = selectList this.form.subList = selectList
......
...@@ -84,7 +84,7 @@ ...@@ -84,7 +84,7 @@
</template> </template>
<script> <script>
import { delView, pageView, listView, listViewVo } from '@/api/mes/md/sapField' import { delView, pageView, listView } from '@/api/mes/md/sapField'
import EditProperty from '@/views/mes/md/sapField/edit' import EditProperty from '@/views/mes/md/sapField/edit'
import SapForm from '@/views/mes/md/sapField/components/SapForm' import SapForm from '@/views/mes/md/sapField/components/SapForm'
export default { export default {
......
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px">
<el-row>
<el-col :span="6">
<el-form-item label="特性类型" prop="type">
<el-select v-model="queryParams.type" clearable filterable>
<el-option v-for="item in dict.type.sap_property_type" :key="item.value" v-bind="item"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="特性名称" prop="name">
<el-input v-model="queryParams.name" placeholder="请输入特性名称" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="是否启用" prop="enableFlag">
<el-select v-model="queryParams.enableFlag" clearable>
<el-option v-for="item in dict.type.sys_yes_no" v-bind="item" :key="item.value"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<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-col>
</el-row>
</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:sapproperty: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:sapproperty: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:sapproperty: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:sapproperty:export']"
>导出</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="toDataType"
v-hasPermi="['md:sapproperty:dataType']"
>数据类型</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="list" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" />
<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"/>
<el-table-column label="是否启用" prop="enableFlag" >
<template slot-scope="{row}">
<dict-tag :options="dict.type.sys_yes_no" :value="row.enableFlag"/>
</template>
</el-table-column>
<el-table-column label="操作" class-name="small-padding fixed-width">
<template slot-scope="{row}">
<el-button v-hasPermi="['md:sapproperty:edit']" size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(row)">
修改
</el-button>
<el-button v-hasPermi="['md:sapproperty:remove']" size="mini" type="text" icon="el-icon-delete" @click="handleDelete(row)">
删除
</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="960px">
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-row>
<el-col :span="8">
<el-form-item label="特性类型" prop="type">
<el-select v-model="form.type" placeholder="请选择特性类型" @change="onChangeType" clearable filterable>
<el-option v-for="item in dict.type.sap_property_type" :key="item.value" v-bind="item"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="视图类型" prop="viewType">
<el-select v-model="form.viewType" placeholder="请选择视图类型" clearable filterable>
<el-option v-for="item in viewTypes" :key="item.value" v-bind="item"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="特性名称" prop="name">
<el-input v-model.trim="form.name" placeholder="请输入特性名称" clearable/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="数据类型" prop="typeId">
<el-select v-model="form.typeId" placeholder="请选择数据类型" clearable filterable remote :remote-method="onSearchType">
<el-option class="data-type" v-for="item in typeList" :key="item.id" :value="item.id" :label="item.name">
<div style="float: left;font-size: 14px; line-height: 40px">{{ item.name }}</div>
<div v-if="['4','5','6'].includes(item.type)" style="float: right; color: #8492a6;width: 50%;line-height: 40px">
{{ dict.type.sys_data_type.find(type => type.value === item.type).label }}
</div>
<div v-else style="float: right; color: #8492a6;width: 50%">
<div style="overflow: hidden">{{ dict.type.sys_data_type.find(type => type.value === item.type).label }}</div>
<div style="overflow: hidden">{{ buildDataType(item) }}</div>
</div>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="sap属性" prop="sapField">
<el-input v-model.trim="form.sapField" placeholder="请输入sap属性" clearable/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="关联属性" prop="relationField">
<el-input v-model.trim="form.relationField" placeholder="请选择关联客户属性" clearable/>
</el-form-item>
</el-col>
<el-col :span="8">
<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>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="cancel" v-if="optType === 'view'">返回</el-button>
<el-button type="primary" @click="submitForm" v-else>确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import {
addSapproperty,
delSapproperty,
getSapproperty,
listSapproperty,
updateSapproperty
} from '@/api/mes/md/sapproperty'
import { listPropertytype } from '@/api/mes/md/propertytype'
export default {
name: "Client",
dicts: ['mes_client_type','sys_yes_no','sys_data_type','sap_property_type', 'sap_property_view', 'sap_property_relation'],
data() {
return {
//自动生成编码
autoGenFlag:false,
optType: undefined,
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 客户表格数据
list: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
type: null,
name: null,
enableFlag: 'Y',
},
typeList: [],
// 表单参数
form: {
id: null,
type: null,
viewType: '1',
name: null,
typeId: null,
sapField: null,
relationField: null,
money: 1,
enableFlag: 'Y',
},
viewTypes: [],
// 表单校验
rules: {
type: [{ required: true, message: '特性类型不能为空', trigger: ['blur', 'change']}],
viewType: [{ required: true, message: '视图类型不能为空', trigger: ['blur', 'change']}],
name: [{ required: true, max: 32, message: '特性名称不能为空,长度在32字符以内', trigger: ['blur', 'change'] }],
typeId: [{ required: true, message: '数据类型不能为空', trigger: ['blur', 'change']}],
sapField: [
{ required: true, max: 32, message: 'SAP属性不能为空,长度在32字符以内', trigger: 'blur' },
{ pattern: /^[a-zA-Z]\w{1,31}$/, message: '仅支持字母下划线数字,并以字母开头', trigger: ['blur', 'change'] }
],
}
};
},
created() {
this.getList();
},
methods: {
onChangeType(val) {
this.viewTypes = this.dict.type.sap_property_view.filter(item => item.value === val).map(item => ({label: item.label, value: item.raw.cssClass}))
},
toDataType() {
this.$router.push({ path: '/mes/md/propertytype'})
},
/** 查询客户列表 */
getList() {
this.loading = true;
listSapproperty(this.queryParams).then(response => {
this.list = response.rows;
this.total = response.total;
}).finally(() => this.loading = false);
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
id: null,
type: null,
name: null,
typeId: null,
sapField: null,
enableFlag: 'Y',
};
this.autoGenFlag = false;
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 = "添加特性";
this.optType = "add";
listPropertytype({name: '', pageNum: 1, pageSize: 100}).then(response => this.typeList = response.rows)
},
onSearchType(key) {
listPropertytype({name: key, pageNum: 1, pageSize: 1000}).then(response => this.typeList = response.rows)
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids
listPropertytype({id: row.typeId, pageNum: 1, pageSize: 1000}).then(response => this.typeList = response.rows)
getSapproperty(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改特性";
this.optType = "edit";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateSapproperty(this.form).then(() => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addSapproperty(this.form).then(() => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const id = row.id || this.ids;
this.$modal.confirm('是否确认删除客户编号为"' + id + '"的数据项?').then(function() {
return delSapproperty(id);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('md/sapproperty/export', {
...this.queryParams
}, `sapProperty_${new Date().getTime()}.xlsx`)
},
formatType(row) {
let item = this.dict.type.sap_property_type.find(item => item.value === row.type)
return item ? item.label : ''
},
formatDataType(row) {
let item = this.dict.type.sys_data_type.find(item => item.value === row.propertyType.type)
return item ? item.label : ''
},
buildDataType(item) {
let datatype = ''
if (item.length != null) datatype += `最大长度:${item.length};`
if (item.min != null) datatype += `最小值:${item.min};`
if (item.max != null) datatype += `最大值:${item.max};`
if (item.regEx != null) datatype += `正则:${item.regEx};`
if (item.dictId != null) datatype += `枚举:${item.propertyDict.name};`
return datatype
}
}
};
</script>
<style>
body .el-select-dropdown__item.data-type {
height: 40px !important;
line-height: 20px !important;
font-size: 12px !important;
}
</style>
<template>
<div class="OrderSync">
<div class="page-head">
<div class="page-title">同步销售订单</div>
<div class="head-btn">
<el-button size="mini" @click="onGoBack">返回</el-button>
<el-button type="primary" size="mini" :loading="loading" @click="onEdit">提交</el-button>
</div>
</div>
<div class="page-body">
<SapForm ref="sapForm"/>
</div>
</div>
</template>
<script>
import { getOrder, getSapInfo, syncSapData } from '@/api/mes/od/salesOrder'
import SapForm from '@/views/mes/md/sapField/components/SapForm'
export default {
components: {
SapForm
},
data() {
return {
loading: false,
sapInfo: {
ITEM: []
}
}
},
methods: {
onEdit() {
this.$confirm("确定同步该条数据记录").then(() => {
if (this.loading) return
this.loading = true
let sapForm = this.$refs.sapForm.sapForm
syncSapData(sapForm).then(() => {
this.onGoBack()
this.$message.success("操作成功")
}).finally(() => this.loading = false)
})
},
onGoBack() {
this.$store.dispatch('tagsView/delView', this.$router.currentRoute)
this.$router.push('/order/sales')
},
onGetSapInfo() {
let id = this.$route.query.id
if (id) {
getSapInfo(id).then(res => {
this.sapInfo = JSON.parse(res.data)[0]
this.sapInfo.id = id
console.log(this.sapInfo)
})
getOrder(id).then(res => {
this.$nextTick(() => this.$refs.sapForm.init(3, id, res.data))
this.sapInfo = res.data
})
}
},
},
created() {
this.onGetSapInfo()
}
}
</script>
<style scoped>
.page-head {
border-bottom: 1px solid #dddddd;
box-shadow: 0 2px 2px #dddddd;
}
.page-title {
line-height: 50px;
text-align: center;
font-size: 18px;
font-weight: bold;
}
.head-btn {
margin: 0 20px 20px;
}
.page-body {
margin: 20px 20px 100px;
}
</style>
...@@ -56,7 +56,7 @@ ...@@ -56,7 +56,7 @@
:default-expand-all="isExpandAll" :default-expand-all="isExpandAll"
:tree-props="{children: 'children', hasChildren: 'hasChildren'}" :tree-props="{children: 'children', hasChildren: 'hasChildren'}"
> >
<el-table-column prop="menuName" label="菜单名称" :show-overflow-tooltip="true" width="160"></el-table-column> <el-table-column prop="menuName" label="菜单名称" :show-overflow-tooltip="true"/>
<el-table-column prop="icon" label="图标" align="center" width="100"> <el-table-column prop="icon" label="图标" align="center" width="100">
<template slot-scope="scope"> <template slot-scope="scope">
<svg-icon :icon-class="scope.row.icon" /> <svg-icon :icon-class="scope.row.icon" />
...@@ -70,14 +70,14 @@ ...@@ -70,14 +70,14 @@
<dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.status"/> <dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.status"/>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="创建时间" align="center" prop="createTime"> <el-table-column label="创建时间" align="center" width="150" prop="createTime">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span> <span>{{ parseTime(scope.row.createTime) }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column label="操作" align="center" width="150" class-name="small-padding fixed-width">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
size="mini" size="mini"
type="text" type="text"
icon="el-icon-edit" icon="el-icon-edit"
......
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