Commit 21766b84 authored by chenzj's avatar chenzj

11

parents 04344f37 94245884
import request from '@/utils/request'
// 查询Sap特性视图列表
export function pageView(data) {
return request({
url: '/md/mdSapField/page',
method: 'post',
data
})
}
// 查询Sap特性视图列表
export function listView(query) {
return request({
url: '/md/mdSapField/list',
method: 'get',
params: query
})
}
// 查询Sap特性视图列表
export function listViewVo(query) {
return request({
url: '/md/mdSapField/listVo',
method: 'get',
params: query
})
}
// 查询Sap特性视图详细
export function getView(params) {
return request({
url: '/md/mdSapField/',
method: 'get',
params
})
}
// 新增Sap特性视图
export function addView(data) {
return request({
url: '/md/mdSapField',
method: 'post',
data: data
})
}
// 修改Sap特性视图
export function updateView(data) {
return request({
url: '/md/mdSapField',
method: 'put',
data: data
})
}
// 删除Sap特性视图
export function delView(id) {
return request({
url: '/md/mdSapField/' + id,
method: 'delete'
})
}
<template>
<el-dialog title="客户选择" :visible.sync="showFlag" modal width="80%" center>
<el-form :model="queryParams" ref="queryForm" size="small" inline label-width="68px">
<el-form-item label="客户编码" prop="clientCode">
<el-input v-model="queryParams.clientCode" placeholder="请输入客户编码" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="客户名称" prop="clientName">
<el-input v-model="queryParams.clientName" placeholder="请输入客户名称" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="客户简称" prop="clientNick">
<el-input v-model="queryParams.clientNick" placeholder="请输入客户简称" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="英文名称" prop="clientEn">
<el-input v-model="queryParams.clientEn" placeholder="请输入客户英文名称" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label-width="0">
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-table v-loading="loading" :data="list" ref="multipleTable" @select-all="onSelectAll" @select="onSelect" @row-dblclick="handleRowDbClick">
<el-table-column type="selection"/>
<el-table-column label="客户编码" prop="clientCode"/>
<el-table-column label="客户名称" width="150px" prop="clientName" :show-overflow-tooltip="true"/>
<el-table-column label="客户简称" prop="clientNick"/>
<el-table-column label="客户类型" prop="clientType">
<dict-tag slot-scope="{row}" :options="dict.type['mes_client_type']" :value="row.clientType"/>
</el-table-column>
<el-table-column label="客户电话" prop="tel"/>
<el-table-column label="联系人" prop="contact1"/>
<el-table-column label="联系人-电话" prop="contact1Tel"/>
<el-table-column label="是否启用" prop="enableFlag">
<dict-tag slot-scope="{row}" :options="dict.type['sys_yes_no']" :value="row.enableFlag"/>
</el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList"/>
<div slot="footer">
<el-button type="primary" @click="confirmSelect">确 定</el-button>
<el-button @click="showFlag = false">取 消</el-button>
</div>
</el-dialog>
</template>
<script>
import { listClient } from '@/api/mes/md/client'
export default {
name: 'ClientSelector',
dicts: ['sys_yes_no', 'mes_client_type'],
data() {
return {
showFlag: false,
loading: false,
queryParams: { pageNum: 1, pageSize: 10 },
total: 0,
list: [],
selectedRows: null
}
},
created() {
this.getList()
},
methods: {
/** 查询物料编码列表 */
getList() {
this.loading = true
listClient(this.queryParams).then(response => {
this.list = response.rows
this.total = response.total
}).finally(() => this.loading = false)
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1
this.getList()
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm('queryForm')
this.handleQuery()
},
onSelect(rows, row) {
this.$refs.multipleTable.clearSelection()
this.$refs.multipleTable.toggleRowSelection(row)
this.selectedRows = row
},
onSelectAll() {
this.$refs.multipleTable.clearSelection()
this.selectedRows = null
},
handleRowDbClick(row) {
if (row) {
this.selectedRows = row
this.$emit('onSelected', this.selectedRows)
this.showFlag = false
}
},
//确定选中
confirmSelect() {
if (!this.selectedRows) {
return this.$notify({title: '提示',type: 'warning',message: '请至少选择一条数据!'})
}
this.$emit('onSelected', this.selectedRows)
this.showFlag = false
}
}
}
</script>
<template>
<div class="el-input-all">
<el-input v-if="item.dataType === 1" v-model="value" class="input-item" :placeholder="'请输入' + item.name" clearable :disabled="!!item.relationField"/>
<el-input-number v-if="item.dataType === 2" v-model="value" class="input-item" :placeholder="'请输入' + item.name" clearable :disabled="!!item.relationField"/>
<el-input-money v-if="item.dataType === 3" v-model="value" class="input-item" :placeholder="'请输入' + item.name" clearable :disabled="!!item.relationField"/>
<el-date-picker v-if="item.dataType === 4" v-model="value" class="input-item" :placeholder="'请选择' + item.name" clearable :disabled="!!item.relationField" type="date"/>
<el-time-picker v-if="item.dataType === 5" v-model="value" class="input-item" :placeholder="'请选择' + item.name" clearable :disabled="!!item.relationField"/>
<el-date-picker v-if="item.dataType === 6" v-model="value" class="input-item" :placeholder="'请选择' + item.name" clearable :disabled="!!item.relationField" type="datetime"/>
<el-select v-if="item.dataType === 7" v-model="value" class="input-item" :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-input v-if="item.dataType == 1" v-model.trim="value" class="input-item" :placeholder="'请输入' + item.name" clearable :disabled="!!item.field"/>
<el-input v-else-if="item.dataType == 2" v-model.number="value" class="input-item" :placeholder="'请输入' + item.name" clearable :disabled="!!item.field"/>
<el-input-money v-else-if="item.dataType == 3" v-model="value" class="input-item" :placeholder="'请输入' + item.name" clearable :disabled="!!item.field"/>
<el-date-picker v-else-if="item.dataType == 4" v-model="value" class="input-item" :placeholder="'请选择' + item.name" clearable :disabled="!!item.field" type="date"/>
<el-time-picker v-else-if="item.dataType == 5" v-model="value" class="input-item" :placeholder="'请选择' + item.name" clearable :disabled="!!item.field"/>
<el-date-picker v-else-if="item.dataType == 6" v-model="value" class="input-item" :placeholder="'请选择' + item.name" clearable :disabled="!!item.field" type="datetime"/>
<el-select v-else-if="item.dataType == 7" v-model="value" class="input-item" :placeholder="'请选择' + item.name" clearable filterable :disabled="!!item.field">
<el-option v-for="option in item.dictList" :key="option.id" :value="option.value" :label="option.name"/>
</el-select>
<el-cascader v-else-if="item.dataType == 8" v-model="value" class="input-item" :placeholder="'请选择' + item.name" clearable :disabled="!!item.field" :options="item.dictList"/>
</div>
</template>
......@@ -37,7 +38,11 @@ export default {
data() {
return {}
},
methods: {},
methods: {
showChildren() {
},
},
created() {
}
......
......@@ -128,12 +128,14 @@
<script>
import { addAccount, delAccount, getAccount, pageAccount, updateAccount } from '@/api/mes/md/clientAccount'
import {number} from "echarts/lib/export";
export default {
name: 'Account',
dicts: ['sys_yes_no'],
props: {
clientCode: {type: String | undefined, default: undefined},
clientId: {type: number | null, default: null}
},
data() {
return {
......@@ -159,7 +161,7 @@ export default {
queryParams: {
pageNum: 1,
pageSize: 10,
clientCode: this.clientCode, bank: null, bankAccount: null, accountName: null, enableFlag: null
clientCode: this.clientCode, bank: null, bankAccount: null, accountName: null, enableFlag: null,clientId: this.clientId
},
// 表单参数
form: {},
......@@ -268,7 +270,7 @@ export default {
},
/** 导出按钮操作 */
handleExport() {
this.download('md/account/export', {
this.download('md/mdClientAccount/export', {
...this.queryParams
}, `account_${new Date().getTime()}.xlsx`)
},
......
......@@ -8,7 +8,6 @@
icon="el-icon-plus"
size="mini"
@click="handleAdd"
:disabled="!queryParams.clientId"
>新增</el-button>
</el-col>
<el-col :span="1.5">
......@@ -31,12 +30,31 @@
@click="handleDelete"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="info"
plain
icon="el-icon-upload2"
size="mini"
@click="handleImport"
>导入</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="itemList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" />
<el-table-column label="产品" prop="itemName" />
<el-table-column label="产品编码" prop="itemCode" />
<el-table-column label="客户产品名称" prop="clientItemName" />
<el-table-column label="客户产品编码" prop="clientItemCode" />
<el-table-column label="操作" width="120">
......@@ -53,6 +71,8 @@
icon="el-icon-delete"
@click="handleDelete(scope.row)"
>删除</el-button>
</template>
</el-table-column>
</el-table>
......@@ -86,18 +106,65 @@
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
<!-- 产品对照组导入对话框 -->
<el-dialog
:title="upload.title"
:visible.sync="upload.open"
width="400px"
append-to-body
>
<el-upload
ref="upload"
:limit="1"
accept=".xlsx, .xls"
:headers="upload.headers"
:action="upload.url + '?updateSupport=' + upload.updateSupport"
:disabled="upload.isUploading"
:on-progress="handleFileUploadProgress"
:on-success="handleFileSuccess"
:auto-upload="false"
drag
>
<i class="el-icon-upload"></i>
<div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
<div class="el-upload__tip text-center" slot="tip">
<div class="el-upload__tip" slot="tip">
<el-checkbox v-model="upload.updateSupport" />
是否更新已经存在的用户数据
</div>
<span>仅允许导入xls、xlsx格式文件。</span>
<el-link
type="primary"
:underline="false"
style="font-size: 12px; vertical-align: baseline"
@click="importTemplate"
>下载模板</el-link
>
</div>
</el-upload>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitFileForm">确 定</el-button>
<el-button @click="upload.open = false">取 消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { addItem, delItem, getItem, listItem, updateItem } from '@/api/mes/md/clientItem'
import { listClient } from '@/api/mes/md/client'
import ItemSelect from '@/components/itemSelect/single.vue'
import {getToken} from "@/utils/auth";
import {number} from "echarts/lib/export";
export default {
components: {
ItemSelect
},
props: {
clientCode: {type: String | undefined, default: undefined},
},
data() {
return {
// 遮罩层
......@@ -122,7 +189,19 @@ export default {
queryParams: {
pageNum: 1,
pageSize: 10,
clientId: null, itemId: null, clientItemName: null, clientItemCode: null,},
clientCode: this.clientCode, itemId: null, clientItemName: null, clientItemCode: null,
},
//用户导入参数
upload: {
open: false,
title: "",
isUploading: false,
updateSupport: 0,
// 设置上传的请求头部
headers: { Authorization: "Bearer " + getToken() },
// 上传的地址
url: process.env.VUE_APP_BASE_API + "/md/clientItem/importData",
},
// 表单参数
form: {},
clientList: [],
......@@ -150,7 +229,7 @@ export default {
reset() {
this.form = {
id: null,
clientId: null,
clientCode: null,
itemId: null,
clientItemName: null,
clientItemCode: null,
......@@ -171,6 +250,17 @@ export default {
this.resetForm("queryForm");
this.handleQuery();
},
/** 导入按钮操作 */
handleImport() {
this.upload.title = "产品对照组导入";
this.upload.open = true;
},
/** 导出按钮操作 */
handleExport() {
this.download('md/clientItem/export', {
...this.queryParams
}, `client_${new Date().getTime()}.xlsx`)
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
......@@ -190,8 +280,6 @@ export default {
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.form.clientId = this.queryParams.clientId || 0
if (!this.form.clientId) return
this.open = true;
this.title = "添加客户产品对照";
},
......@@ -237,8 +325,7 @@ export default {
},
init(form) {
this.queryParams.clientId = form.clientId || 0
console.log(form)
this.queryParams.clientCode = form.clientCode || 0
this.getList();
},
}
......
......@@ -243,19 +243,19 @@
<FinanceInfo ref="FinanceInfo" :form="form"/>
</el-tab-pane>-->
<el-tab-pane label="客户联系人" name="ClientContact">
<ClientContact ref="ClientContact" :clientCode="form.clientCode"/>
<ClientContact ref="ClientContact" :clientCode="form.clientCode" :clientId="form.clientId"/>
</el-tab-pane>
<el-tab-pane label="银行账号" name="Account">
<Account ref="Account" :clientCode="form.clientCode"/>
<Account ref="Account" :clientCode="form.clientCode" :clientId="form.clientId"/>
</el-tab-pane>
<el-tab-pane label="产品对照" name="ClientItem">
<ClientItem ref="ClientItem"/>
</el-tab-pane>
<el-tab-pane label="催货款通知邮箱" name="UrgeEmail">
<UrgeEmail ref="UrgeEmail" :clientCode="form.clientCode"/>
<UrgeEmail ref="UrgeEmail" :clientCode="form.clientCode" :clientId="form.clientId"/>
</el-tab-pane>
<el-tab-pane label="客户关联关系" name="PaymentRelation">
<PaymentRelation ref="PaymentRelation" :clientCode="form.clientCode"/>
<PaymentRelation ref="PaymentRelation" :clientCode="form.clientCode" :clientId="form.clientId"/>
</el-tab-pane>
<el-tab-pane label="SAP特性" name="SapProperty">
<SapPropertyData ref="SapProperty"/>
......@@ -449,6 +449,7 @@ export default {
legalPerson: null,
licenseNo: null,
taxNo: null,
enableFlag: 'Y'
};
this.autoGenFlag = true;
this.resetForm("form");
......@@ -534,7 +535,7 @@ export default {
},
/** 导出按钮操作 */
handleExport() {
this.download('md/client/export', {
this.download('mes/md/client/export', {
...this.queryParams
}, `client_${new Date().getTime()}.xlsx`)
},
......
......@@ -208,7 +208,7 @@ export default {
// 表单重置
reset() {
this.form = {
factoryId: null, factoryCode: null, factoryName: null, enableFlag: null, remark: null, createBy: null, createTime: null, updateBy: null, updateTime: null };
factoryId: null, factoryCode: null, factoryName: null, enableFlag: 'Y', remark: null, createBy: null, createTime: null, updateBy: null, updateTime: null };
this.resetForm("form");
},
/** 搜索按钮操作 */
......
......@@ -166,7 +166,7 @@
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['mes:md:mditem:remove']"
>删除</el-button>
>删除</el-button>
</template>
</el-table-column>
</el-table>
......@@ -196,7 +196,7 @@
<el-switch v-model="autoGenFlag"
active-color="#13ce66"
active-text="自动生成"
@change="handleAutoGenChange(autoGenFlag)" v-if="optType != 'view'">
@change="handleAutoGenChange(autoGenFlag)" v-if="optType != 'view'">
</el-switch>
</el-form-item>
</el-col>
......@@ -217,7 +217,7 @@
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="单位" prop="unitOfMeasure">
<el-form-item label="单位" prop="unitOfMeasure">
<el-select v-model="form.unitOfMeasure" disabled v-if="optType=='view'">
<el-option
v-for="item in measureOptions"
......@@ -308,9 +308,9 @@
</el-col>
</el-row>
</el-form>
<el-tabs type="border-card" v-if="form.itemId != null">
<el-tabs type="border-card" v-if="form.itemId != null">
<el-tab-pane label="BOM组成">
<ItemBom :optType="optType" :itemId="form.itemId"></ItemBom>
<ItemBom :optType="optType" :itemId="form.itemId"></ItemBom>
</el-tab-pane>
<el-tab-pane label="供应商"></el-tab-pane>
<el-tab-pane label="替代品"></el-tab-pane>
......@@ -522,14 +522,13 @@ export default {
itemName: undefined,
specification: undefined,
unitOfMeasrue: undefined,
enableFlag: undefined,
itemOrProduct: undefined,
enableFlag: 'Y',
itemOrProduct: undefined,
safeStockFlag: 'N',
minStock: 0,
maxStock: 0,
optType: undefined,
remark: undefined
remark: undefined
};
this.autoGenFlag = false;
this.resetForm("form");
......@@ -661,4 +660,4 @@ export default {
}
}
};
</script>
\ No newline at end of file
</script>
......@@ -142,14 +142,19 @@
</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="form.regEx" placeholder="请输入正则" clearable/>
</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">
......
......@@ -205,7 +205,7 @@ export default {
// 表单重置
reset() {
this.form = {
id: null, code: null, name: null, enableFlag: null, remark: null };
id: null, code: null, name: null, enableFlag: 'Y', remark: null };
this.resetForm("form");
},
/** 搜索按钮操作 */
......
......@@ -204,7 +204,7 @@ export default {
// 表单重置
reset() {
this.form = {
id: null, code: null, name: null, enableFlag: null, remark: null };
id: null, code: null, name: null, enableFlag: 'Y', remark: null };
this.resetForm("form");
},
/** 搜索按钮操作 */
......
......@@ -205,7 +205,7 @@ export default {
// 表单重置
reset() {
this.form = {
id: null, code: null, name: null, enableFlag: null, remark: null };
id: null, code: null, name: null, enableFlag: 'Y', remark: null };
this.resetForm("form");
},
/** 搜索按钮操作 */
......
......@@ -205,7 +205,7 @@ export default {
// 表单重置
reset() {
this.form = {
id: null, code: null, name: null, enableFlag: null, remark: null };
id: null, code: null, name: null, enableFlag: 'Y', remark: null };
this.resetForm("form");
},
/** 搜索按钮操作 */
......
......@@ -205,7 +205,7 @@ export default {
// 表单重置
reset() {
this.form = {
id: null, code: null, name: null, enableFlag: null, remark: null };
id: null, code: null, name: null, enableFlag: 'Y', remark: null };
this.resetForm("form");
},
/** 搜索按钮操作 */
......
<template>
<el-form ref="form" class="sap-form" :label-width="labelWidth" size="mini">
<template v-for="item in sapFieldList">
<SapFormContext v-show="item.show" v-model="sapForm[item.sapField]" :item="item" :key="item.id" :label-width="labelWidth"/>
</template>
<div class="form-footer">
<el-button type="primary" @click="onConfirm">确认</el-button>
</div>
</el-form>
</template>
<script>
import SapFormContext from '@/views/mes/md/sapField/components/SapFormContext'
import { listViewVo } from '@/api/mes/md/sapField'
import { addData, updateData } from '@/api/mes/md/sapPropertyData'
export default {
components: {
SapFormContext
},
props: {
labelWidth: { type: String, default: '150px' },
},
data() {
return {
loading: false,
relationId: null,
sapForm: {},
sapFieldList: []
}
},
methods: {
onConfirm() {
this.$refs.form.validate(valid => {
if (valid) {
this.loading = true
let data = {}
data.sapData = JSON.stringify(this.sapForm)
console.log(this.form)
let handleEdit = this.form.id ? updateData : addData
handleEdit(this.form).then(() => this.$message.success('操作成功')).finally(() => this.loading = false)
}
})
},
init(type, relationId, data = { ITEM: [{ SIZE: [{}] }, { SIZE: [{}] }] }) {
console.log(type, relationId)
let params = { type, parentId: 0 }
listViewVo(params).then(res => {
this.sapFieldList = res.data
this.sapForm = this.initSapForm(res.data, data)
console.log(this.sapFieldList, this.sapForm)
})
},
initSapForm(sapFieldList, data = {}) {
let sapForm = {}
for (let i = 0; i < sapFieldList.length; i++) {
const item = sapFieldList[i]
let itemData = data[item.field]
if (item.dataType == 9) {
sapForm[item.sapField] = this.initSapForm(item.children, itemData || {})
} else if (item.dataType == 10) {
sapForm[item.sapField] = sapForm[item.sapField] || []
itemData = itemData || []
for (let j = 0; j < itemData.length; j++) {
const subItemData = itemData[j]
sapForm[item.sapField][j] = this.initSapForm(item.children, subItemData)
}
} else {
sapForm[item.sapField] = itemData || item.defaultValue
}
}
return sapForm
}
},
created() {
}
}
</script>
<style scoped>
.sap-form {
margin-bottom: 50px;
}
</style>
<template>
<div class="SapFormContent">
<el-col :span="colSpan" v-if="[1,2,3,4,5,6,7,8].some(i => i == item.dataType)">
<sap-form-item :item="item" :label-width="labelWidth">
<el-input-all v-model="value" :item="item"/>
</sap-form-item>
</el-col>
<template v-else>
<el-col class="obj-title">{{ item.name }}</el-col>
<!-- 对象 -->
<template v-if="item.dataType === 9">
<template v-for="child in item.children">
<sap-form-item v-show="child.show" :item="child" :label-width="labelWidth">
<el-input-all v-model="value[child.sapField]" :item="child"/>
</sap-form-item>
</template>
</template>
<!-- 数组 -->
<template v-if="item.dataType === 10">
<div style="width: 100%; overflow-x: auto">
<div>
<div class="item-head clearfix" style="width: max-content;">
<template v-for="child in item.children">
<div v-show="child.show" :key="child.id + 'head'" class="item-label">{{ child.name }}</div>
</template>
</div>
<template v-for="(sub, i) in value"><!-- ITEM -->
<div class="item-content" style="width: max-content;" :key="'sub' + '' + i">
<template v-for="(child, j) in item.children">
<div v-show="child.show" v-if="[1,2,3,4,5,6,7,8].some(dataType => dataType == child.dataType)" class="item-value" :key="child.id + j">
<sap-form-item :item="child" label-width="0px">
<el-input-all v-model="sub[child.sapField]" :item="child"/>
</sap-form-item>
</div>
<template v-else>
<div class="item-value">
<el-button type="text" size="mini" @click="onShowSize(sub)">查看</el-button>
</div>
<div class="item-sub clearfix" v-if="sub.showSize">
<div class="item-sub-head" style="width: max-content;">
<div v-for="son in child.children" :key="son.id + 'head'" class="item-sub-label">{{ son.name }}</div>
</div>
<!-- SIZE -->
<div v-for="leaf in sub[child.sapField]" class="item-child-content clearfix" style="width: max-content;">
<div v-for="(son, j) in child.children" class="item-value" :key="son.id + '' + j">
<sap-form-item :item="son" label-width="0px">
<el-input-all v-model="leaf[son.sapField]" :item="son"/>
</sap-form-item>
</div>
</div>
</div>
</template>
</template>
</div>
</template>
</div>
</div>
</template>
</template>
</div>
</template>
<script>
import SapFormItem from '@/views/mes/md/sapField/components/SapFormItem'
export default {
name: 'SapFormContext',
components: {
SapFormItem
},
model: {prop: 'val', event: 'update'},
props: {
val: { type: [Number, String, Date, Array, Object] },
item: { type: Object, required: true },
showLabel: { type: Boolean, default: true },
colSpan: { type: Number, default: 6 },
labelWidth: { type: String, default: '100px'},
},
computed: {
value: {
get() {
return this.val
},
set(val) {
this.$emit('update', val)
}
}
},
data() {
return {}
},
methods: {
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()
}
},
onShowSize(sub) {
sub.showSize = !sub.showSize
this.$forceUpdate()
}
},
created() {
}
}
</script>
<style scoped>
.obj-title {
line-height: 40px;
font-weight: bold;
margin: 20px;
}
.item-label, .item-value, .item-sub-label {
width: 150px;
height: 50px;
line-height: 28px;
float: left;
overflow: hidden;
text-wrap: nowrap;
margin-left: 10px;
}
.item-sub {
width: 100%;
}
</style>
<template>
<el-form-item
:label="labelWidth == '0px' ? '' : item.name"
:label-width="labelWidth"
:rules="item.required ? {required: item.required, validator: (rule, value, callback) => onValidate(rule, value, callback, item), trigger: ['change']} : null">
<slot></slot>
</el-form-item>
</template>
<script>
export default {
props: ['item', 'labelWidth'],
data() {
return {}
},
methods: {
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()
}
}
},
created() {
}
}
</script>
<style scoped>
</style>
<template>
<div class="property-edit">
<el-dialog :title="form.id ? '编辑SAP特性' : '新增SAP特性'" :visible.sync="visible" width="950px">
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-row :gutter="10">
<el-col :span="12">
<el-form-item label="特性类型" prop="type">
<el-select v-model="form.type" placeholder="请选择特性类型" clearable>
<el-option v-for="item in dict.type['sap_property_type']" :key="item.value" :label="item.label" :value="item.value"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="数据类型" prop="dataType">
<el-select v-model="form.dataType" placeholder="请选择数据类型">
<el-option v-for="item in dict.type['sys_data_type']" :key="item.value" :label="item.label" :value="item.value"/>
</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="请输入视图名称"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="特性属性" prop="field">
<el-input v-model.trim="form.field" placeholder="请输入视图属性"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="sap属性" prop="sapField">
<el-input v-model.trim="form.sapField" placeholder="请输入sap属性"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="是否必填" prop="required">
<el-select v-model="form.required" placeholder="请选择是否必填">
<el-option label="是" value="1"/>
<el-option label="否" value="0"/>
</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="请输入错误提示语"/>
</el-form-item>
</el-col>
<template v-if="form.dataType == '1'">
<el-col :span="12">
<el-form-item label="最大长度" prop="length">
<el-input v-model.trim="form.length" type="number" placeholder="请输入长度"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="正则" prop="regEx">
<el-input v-model.trim="form.regEx" placeholder="请输入正则"/>
</el-form-item>
</el-col>
</template>
<template v-if="['2', '3'].includes(form.dataType)">
<el-col :span="12">
<el-form-item label="最小值" prop="min">
<el-input v-model.trim="form.min" type="number" placeholder="请输入最小值"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="最大值" prop="max">
<el-input v-model.trim="form.max" type="number" placeholder="请输入最大值"/>
</el-form-item>
</el-col>
</template>
<template v-if="['7', '8'].includes(form.dataType)">
<el-col :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>
</template>
<template v-if="['9', '10'].includes(form.dataType)">
<el-col :span="12">
<el-form-item :label="form.dataType == '9' ? '对象属性' : '列表属性'" prop="ids">
<el-select v-model="form.ids" :placeholder="form.dataType == '9' ? '请选择对象属性' : '请选择列表属性'"
multiple disabled clearable @click.native="onShowSelector">
<el-option v-for="item in form.subList" :key="item.id" :value="item.id" :label="item.name"/>
</el-select>
</el-form-item>
</el-col>
</template>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="visible = false">取 消</el-button>
<el-button type="primary" :loading="loading" @click="onSubmit">确 定</el-button>
</div>
</el-dialog>
<property-selector ref="propertySelector" :id="form.id" @handleConfirm="onSelectProperty"/>
</div>
</template>
<script>
import { listPropertyDict } from '@/api/mes/md/propertydict'
import { addView, getView, updateView } from '@/api/mes/md/sapField'
import PropertySelector from '@/views/mes/md/sapField/selector'
const formData = {
type: null,
name: null,
field: null,
sapField: null,
dataType: null,
required: null,
errMsg: null,
length: null,
regEx: null,
min: null,
max: null,
dictId: null,
ids: [],
subList: [],
}
export default {
dicts: ['sap_property_type', 'sys_data_type'],
components: {
PropertySelector
},
data() {
return {
visible: false,
loading: false,
dictList: [],
propertyViews: [],
form: {},
rules: {
type: [{required: true, message: '请选择 特性类型', trigger: 'change'}],
name: [{required: true, message: '请输入 特性名称', trigger: 'change'}],
field: [{required: true, message: '请输入 特性属性', trigger: 'change'}],
sapField: [{required: true, message: '请输入 SAP属性', trigger: 'change'}],
dataType: [{required: true, message: '请选择 数据类型', trigger: 'change'}],
required: [{required: true, message: '请选择 是否必填', trigger: 'change'}],
errMsg: [{required: true, max: 20, message: '请输入 错误提示语,不能超过20字', trigger: 'change'}],
length: [{required: true, pattern: /^[0-9]+$/, message: '请输入 长度', trigger: 'change'}],
min: [{required: true, pattern: /^[0-9]+$/, message: '请输入 最小值', trigger: 'change'}],
max: [{required: true, pattern: /^[0-9]+$/, message: '请输入 最大值', trigger: 'change'}],
dictId: [{required: true, message: '请选择 字典', trigger: 'change'}],
subList: [{required: true, type: 'array', message: '请选择 属性', trigger: 'change'}],
}
}
},
methods: {
onSubmit() {
this.$refs['form'].validate(valid => {
if (valid) {
if (this.loading) return
this.loading = true
let editForm = this.form.id ? updateView : addView
editForm(this.form).then(() => {
this.$modal.msgSuccess('操作成功')
this.$emit("handleSubmit")
this.visible = false
}).finally(() => this.loading = false)
} else {
this.loading = false
}
})
},
onSearchDict(key) {
listPropertyDict({ name: key }).then(response => this.dictList = response.rows)
},
onSelectProperty(selectList) {
this.form.subList = selectList
this.form.ids = selectList.map(item => item.id)
},
onShowSelector() {
this.$refs.propertySelector.init(this.form)
},
init(id) {
this.visible = true
this.$refs.form && this.$refs.form.resetFields()
this.form = formData
if (id) {
getView({id}).then(resp => {
this.form = resp.data
this.form.ids = resp.data.subList.map(item => item.id)
})
}
},
},
created() {
}
}
</script>
<style scoped>
</style>
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="特性类型" prop="type">
<el-select v-model="queryParams.type" placeholder="请选择特性类型" clearable>
<el-option v-for="item in dict.type['sap_property_type']" :key="item.value" :label="item.label" :value="item.value"/>
</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="field">
<el-input v-model="queryParams.field" placeholder="请输入视图属性" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="sap属性" prop="sapField">
<el-input v-model="queryParams.sapField" placeholder="请输入sap属性" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button v-hasPermi="['md:sapField:add']" type="primary" plain icon="el-icon-plus" size="mini" @click="showEdit(null)">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button v-hasPermi="['md:sapField:edit']" type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="showEdit(ids)">修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button v-hasPermi="['md:sapField:remove']" type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete">删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button v-hasPermi="['md:sapField:export']" type="warning" plain icon="el-icon-download" size="mini" @click="handleExport">导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="page.records" row-key="id" lazy :load="onLoad" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55"/>
<el-table-column label="特性名称" prop="name">
<span slot-scope="{row}" :style="{marginLeft: (!row.hasChildren && row.parentId == 0) ? '25px' : '' }">
{{ row.name }}
</span>
</el-table-column>
<el-table-column label="特性类型" prop="type" width="120">
<template slot-scope="{row}">
{{ (dict.type['sap_property_type'].find(item => item.value == row.type) || {label: row.type}).label }}
</template>
</el-table-column>
<el-table-column label="数据类型" prop="dataType" width="90">
<template slot-scope="{row}">
{{ (dict.type['sys_data_type'].find(item => item.value == row.dataType) || {label: row.dataType}).label }}
</template>
</el-table-column>
<el-table-column label="关联属性" prop="field" width="120"/>
<el-table-column label="sap属性" prop="sapField" width="120"/>
<el-table-column label="是否必填" prop="required" width="85">
<template slot-scope="{row}">{{ row.required ? '是' : '否' }}</template>
</el-table-column>
<el-table-column label="是否显示" prop="show" width="85">
<template slot-scope="{row}">{{ row.show ? '是' : '否' }}</template>
</el-table-column>
<el-table-column label="错误提示语" prop="errMsg"/>
<el-table-column label="操作" class-name="small-padding fixed-width" width="150">
<template slot-scope="{row}">
<el-button v-hasPermi="['md:sapField:edit']" size="mini" type="text" icon="el-icon-edit" @click="showEdit(row.id)">修改</el-button>
<el-button v-hasPermi="['md:sapField:remove']" size="mini" type="text" icon="el-icon-delete" @click="handleDelete(row)">删除</el-button>
<el-button size="mini" type="text" @click="onShowPreview(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"/>
<edit-property ref="editProperty" @handleSubmit="getList"/>
<el-dialog :visible.sync="showPreview" width="100%">
<el-form>
<el-row :gutter="10">
<SapForm ref="sapForm"/>
</el-row>
</el-form>
</el-dialog>
</div>
</template>
<script>
import { delView, pageView, listView, listViewVo } from '@/api/mes/md/sapField'
import EditProperty from '@/views/mes/md/sapField/edit'
import SapForm from '@/views/mes/md/sapField/components/SapForm'
export default {
dicts: ['sap_property_type', 'sys_data_type'],
components: {
EditProperty,
SapForm,
},
data() {
return {
loading: false,
showPreview: false,
page: { records: [], total: 0 },
queryParams: { current: 1, size: 10, parentId: 0 },
dictList: [],
ids: [],
single: true,
multiple: true,
showSearch: true,
open: false,
}
},
methods: {
/** 新增按钮操作 */
showEdit(id) {
this.$refs.editProperty.init(id)
},
onShowPreview(row) {
this.showPreview = true
this.$nextTick(() => this.$refs.sapForm.init(row.type, row.id))
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids
this.$modal.confirm('是否确认删除Sap特性视图编号为"' + ids + '"的数据项?').then(() => {
return delView(ids)
}).then(() => {
this.getList()
this.$modal.msgSuccess('删除成功')
}).catch(() => {
})
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length !== 1
this.multiple = !selection.length
},
/** 导出按钮操作 */
handleExport() {
this.download('md/view/export', {
...this.queryParams
}, `view_${new Date().getTime()}.xlsx`)
},
onLoad(tree, treeNode, resolve) {
listView({parentId: tree.id}).then(res => resolve(res.data))
},
/** 查询Sap特性视图列表 */
getList() {
this.loading = true
pageView(this.queryParams).then(response => {
this.page.records = response.data.rows
this.page.total = response.data.total
}).finally(() => this.loading = false)
},
handleQuery() {
this.queryParams.current = 1
this.getList()
},
resetQuery() {
this.resetForm('queryForm')
this.handleQuery()
}
},
created() {
this.getList()
}
}
</script>
<template>
<el-dialog :visible.sync="visible" title="sap特性选择">
<el-table v-loading="loading" ref="multipleTable" :data="page.records" lazy row-key="id" @selection-change="onSelect">
<el-table-column type="selection" reserve-selection width="55"/>
<el-table-column label="特性类型" prop="type">
<template slot-scope="{row}">
{{ (dict.type['sap_property_type'].find(item => item.value == row.type) || {label: row.type}).label }}
</template>
</el-table-column>
<el-table-column label="数据类型" prop="dataType">
<template slot-scope="{row}">
{{ (dict.type['sys_data_type'].find(item => item.value == row.dataType) || {label: row.dataType}).label }}
</template>
</el-table-column>
<el-table-column label="特性名称" prop="name"/>
<el-table-column label="特性属性" prop="field"/>
<el-table-column label="sap属性" prop="sapField"/>
<el-table-column label="是否必填" prop="required">
<template slot-scope="{row}">{{ row.required == 1 ? '是' : '否' }}</template>
</el-table-column>
<el-table-column label="错误提示语" prop="errMsg"/>
</el-table>
<pagination v-show="page.total>0" :total="page.total" :page.sync="pageReq.current" :limit.sync="pageReq.size" @pagination="getList"/>
<div slot="footer">
<el-button @click="visible = false">取消</el-button>
<el-button type="primary" @click="onConfirm">确认</el-button>
</div>
</el-dialog>
</template>
<script>
import { pageView } from '@/api/mes/md/sapField'
export default {
dicts: ['sap_property_type', 'sys_data_type'],
props: ['id'],
data() {
return {
visible: false,
loading: false,
ids: [],
selectList: [],
page: {records: [], total: 0},
pageReq: {
current: 1,
size: 10,
},
}
},
methods: {
onConfirm() {
this.visible = false
this.$emit("handleConfirm", this.selectList)
},
onSelect(val) {
this.selectList = val
},
getList(fn) {
this.loading = true
this.pageReq.pId = this.id
pageView(this.pageReq).then(res => {
this.page.records = res.data.rows
this.page.total = res.data.total
fn && fn()
}).finally(() => this.loading = false)
},
init(form) {
this.visible = true
this.pageReq.pId = form.id
this.pageReq.type = form.type
this.getList(() => {
if (form.subList && form.subList.length) {
form.subList.forEach(sub => {
this.$refs.multipleTable.toggleRowSelection({id: sub.id})
})
} else {
this.$refs.multipleTable.clearSelection()
}
})
},
},
created() {
}
}
</script>
<style scoped>
</style>
......@@ -143,7 +143,16 @@
<el-row>
<el-col :span="10">
<el-form-item label="尺码组类型" label-width="100px" prop="sizeType">
<el-select v-model="form.sizeType" placeholder="请选择尺码组类型">
<el-select v-model="form.sizeType" disabled v-if="optType=='view'">
<el-option
v-for="dict in dict.type.size_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
<el-select v-model="form.sizeType" placeholder="请选择尺码组类型" v-else>
<el-option
v-for="dict in dict.type.size_type"
:key="dict.value"
......@@ -155,7 +164,14 @@
</el-col>
<el-col :span="10">
<el-form-item label="是否启用" label-width="100px" prop="enableFlag">
<el-radio-group v-model="form.enableFlag" >
<el-radio-group v-model="form.enableFlag" disabled v-if="optType=='view'">
<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-radio-group v-model="form.enableFlag" v-else>
<el-radio
v-for="dict in dict.type.sys_yes_no"
:key="dict.value"
......@@ -169,20 +185,23 @@
<el-row>
<el-col :span="10">
<el-form-item label="尺码组编码" label-width="100px" prop="sizeGroupCode">
<el-input v-model="form.sizeGroupCode" placeholder="请输入尺码组编码" />
<el-input v-model="form.sizeGroupCode" readonly="readonly" v-if="optType == 'view'"/>
<el-input v-model="form.sizeGroupCode" placeholder="请输入尺码组编码" v-else/>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="尺码组名称" label-width="100px" prop="sizeGroupName">
<el-input v-model="form.sizeGroupName" placeholder="请输入尺码组名称" />
<el-input v-model="form.sizeGroupName" readonly="readonly" v-if="optType=='view'"/>
<el-input v-model="form.sizeGroupName" placeholder="请输入尺码组名称" v-else/>
</el-form-item>
</el-col>
</el-row>
</el-form>
<SizeGroupItem v-if="form.sizeGroupId" :sizeGroupId="form.sizeGroupId"/>
<SizeGroupItem v-if="form.sizeGroupId" :sizeGroupId="form.sizeGroupId" :opt-type="optType"/>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">确 定</el-button>
<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>
......@@ -255,6 +274,8 @@ export default {
total: 0,
// 尺码组表格数据
groupList: [],
//弹框的操作类型 view add edit
optType: undefined,
// 弹出层标题
title: "",
// 是否显示弹出层
......@@ -311,7 +332,7 @@ export default {
// 表单重置
reset() {
this.form = {
sizeGroupId: null, sizeGroupCode: null, sizeGroupName: null, sizeType: null, enableFlag: null, createBy: null, createTime: null, updateBy: null, updateTime: null };
sizeGroupId: null, sizeGroupCode: null, sizeGroupName: null, sizeType: null, enableFlag: 'Y', createBy: null, createTime: null, updateBy: null, updateTime: null };
this.resetForm("form");
},
/** 搜索按钮操作 */
......@@ -334,6 +355,7 @@ export default {
handleAdd() {
this.reset();
this.open = true;
this.optType = "add";
this.title = "添加尺码组";
},
// 查询明细按钮操作
......@@ -354,6 +376,7 @@ export default {
getGroup(sizeGroupId).then(response => {
this.form = response.data;
this.open = true;
this.optType = "edit";
this.title = "修改尺码组";
});
},
......
......@@ -54,8 +54,9 @@
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-col :span="1.5" v-if="optType !== 'view'">
<el-button
type="primary"
plain
......@@ -65,7 +66,7 @@
>新增</el-button
>
</el-col>
<el-col :span="1.5">
<el-col :span="1.5" v-if="optType !== 'view'">
<el-button
type="success"
plain
......@@ -76,7 +77,7 @@
>修改</el-button
>
</el-col>
<el-col :span="1.5">
<el-col :span="1.5" v-if="optType !== 'view'">
<el-button
type="danger"
plain
......@@ -87,7 +88,7 @@
>删除</el-button
>
</el-col>
<el-col :span="1.5">
<el-col :span="1.5" v-if="optType !== 'view'">
<el-button
type="warning"
plain
......@@ -108,7 +109,7 @@
:data="itemList"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55" align="center" />
<el-table-column type="selection" width="55" align="center" v-if="optType !== 'view'"/>
<!-- <el-table-column label="尺码组明细ID" align="center" prop="sizeGroupItemId" />
<el-table-column label="尺码组ID" align="center" prop="sizeGroupId" /> -->
<el-table-column
......@@ -125,6 +126,7 @@
align="center"
width="120"
class-name="small-padding fixed-width"
v-if="optType !== 'view'"
>
<template slot-scope="scope">
<el-button
......
This diff is collapsed.
......@@ -2,29 +2,13 @@
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="订单编号" prop="orderNo">
<el-input
v-model.trim="queryParams.orderNo"
placeholder="请输入订单编号"
clearable
@keyup.enter.native="handleQuery"
/>
<el-input v-model.trim="queryParams.orderNo" placeholder="请输入订单编号" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="客户编号" prop="clientCode">
<el-input
v-model.trim="queryParams.clientCode"
placeholder="请输入客户编号"
clearable
@keyup.enter.native="handleQuery"
/>
<el-form-item label="客户名称" prop="clientName">
<el-input v-model.trim="queryParams.clientName" placeholder="请输入客户名称" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="交货期" prop="deliveryDate">
<el-date-picker
clearable
v-model="queryParams.deliveryDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择交货期"
>
<el-date-picker clearable v-model="queryParams.deliveryDate" type="date" value-format="yyyy-MM-dd" placeholder="请选择交货期" >
</el-date-picker>
</el-form-item>
<el-form-item label="跟单人" prop="merchandiser">
......@@ -45,49 +29,23 @@
<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="['od:salesOrder:add']"
>新增
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd" v-hasPermi="['od:salesOrder: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="['od:salesOrder:edit']"
>修改
<el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate" v-hasPermi="['od:salesOrder: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="['od:salesOrder:remove']"
>删除
<el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete" v-hasPermi="['od:salesOrder: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="['od:salesOrder:export']"
>导出
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" v-hasPermi="['od:salesOrder:export']" >
导出
</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
......@@ -97,6 +55,7 @@
<el-table-column type="selection" width="55"/>
<el-table-column label="订单编号" prop="orderNo"/>
<el-table-column label="客户编号" prop="clientNo"/>
<el-table-column label="客户名称" prop="clientName"/>
<el-table-column label="交货期" prop="deliveryDate" width="180"/>
<el-table-column label="总金额" prop="amount" :formatter="r => this.formatMoney(r.amount)"/>
<el-table-column label="跟单人" prop="merchandiser"/>
......@@ -106,7 +65,7 @@
{{ dict.type.sales_order_state.find(item => item.value == row.state).label }}
</template>
</el-table-column>
<el-table-column label="操作" class-name="small-padding fixed-width">
<el-table-column label="操作" class-name="small-padding fixed-width" width="160">
<template slot-scope="scope">
<el-button
size="mini"
......
This diff is collapsed.
......@@ -197,7 +197,7 @@ import {
getFactoryQuote,
listFactoryQuote,
updateFactoryQuote
} from '@/api/mes/qt/factoryQuote'
} from '@/api/mes/od/factoryQuote'
import { listClient } from '@/api/mes/md/client'
import { listMdItem } from '@/api/mes/md/mdItem'
import ItemSelect from '@/components/itemSelect/single.vue'
......
......@@ -77,7 +77,7 @@
v-hasPermi="['tm:tmToolMachines:edit']"
>修改</el-button>
</el-col> -->
<el-col :span="1.5">
<!-- <el-col :span="1.5">
<el-button
type="danger"
plain
......@@ -87,7 +87,7 @@
@click="handleDelete"
v-hasPermi="['tm:tmToolMachines:remove']"
>删除</el-button>
</el-col>
</el-col> -->
<el-col :span="1.5">
<el-button
type="warning"
......@@ -110,7 +110,7 @@
<el-table-column label="工作单元" align="center" prop="workunitName" />
<el-table-column label="生产工单" align="center" prop="workorderName" />
<el-table-column label="刀模板领用单号" align="center" prop="toolRequestUseCode" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<!-- <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
......@@ -127,7 +127,7 @@
v-hasPermi="['tm:tmToolMachines:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table-column> -->
</el-table>
<pagination
......
......@@ -35,8 +35,12 @@ module.exports = {
proxy: {
// detail: https://cli.vuejs.org/config/#devserver-proxy
[process.env.VUE_APP_BASE_API]: {
<<<<<<< HEAD
target: 'http://localhost:8080',
// target: `http://192.168.66.110:8080`,
=======
target: `http://localhost:8080`,
>>>>>>> 942458841bc29ffa1f2476ae9edc1d3cfea974e2
// target: `http://192.168.4.122:8080`,
changeOrigin: true,
pathRewrite: {
......
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