opt:客户功能wql改成mybatis plus

This commit is contained in:
zds
2024-10-15 10:30:13 +08:00
parent f60edffaf9
commit bd64696c00
23 changed files with 545 additions and 686 deletions

View File

@@ -2,16 +2,46 @@
<div class="app-container">
<!--工具栏-->
<div class="head-container">
<el-input
v-model="query.search"
clearable
style="width: 300px"
size="mini"
placeholder="输入客户编码或客户名称"
prefix-icon="el-icon-search"
class="filter-item"
/>
<rrOperation />
<div v-if="crud.props.searchToggle">
<!-- 搜索 -->
<el-form
:inline="true"
class="demo-form-inline"
label-position="right"
label-width="80px"
label-suffix=":"
>
<el-form-item label="模糊查询">
<el-input
v-model="query.search"
clearable
style="width: 300px"
size="mini"
placeholder="输入客户编码或客户名称"
prefix-icon="el-icon-search"
class="filter-item"
/>
</el-form-item>
<el-form-item label="是否启用">
<el-select
v-model="query.is_used"
clearable
size="mini"
placeholder="请选择"
class="filter-item"
@change="crud.toQuery"
>
<el-option
v-for="item in dict.IS_OR_NOT"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<rrOperation />
</el-form>
</div>
<!--如果想在工具栏加入更多按钮可以使用插槽方式 slot = 'left' or 'right'-->
<crudOperation :permission="permission" />
<!--表单组件-->
@@ -40,40 +70,6 @@
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="8">
<el-form-item label="税务登记号">
<el-input v-model="form.tax_no" style="width: 200px;" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="工商注册号">
<el-input v-model="form.register_no" style="width: 200px;" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="经营许可证号">
<el-input v-model="form.manage_lice_no" style="width: 200px;" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="8">
<el-form-item label="营业执照">
<el-input v-model="form.busi_char_name" style="width: 200px;" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="邮政编码">
<el-input v-model="form.zip_code" style="width: 200px;" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="公司电话">
<el-input v-model="form.corp_tele_no" style="width: 200px;" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="8">
<el-form-item label="公司地址">
@@ -81,8 +77,8 @@
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="外部标识">
<el-input v-model="form.ext_id" style="width: 200px;" />
<el-form-item label="公司电话">
<el-input v-model="form.corp_tele_no" style="width: 200px;" />
</el-form-item>
</el-col>
<el-col :span="8">
@@ -93,11 +89,6 @@
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="8">
<el-form-item label="法人代表">
<el-input v-model="form.jurid_name" style="width: 200px;" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="送货单打印模板路径">
<el-input v-model="form.shd_print_no" style="width: 200px;" />
@@ -105,7 +96,7 @@
</el-col>
<el-col :span="8">
<el-form-item label="送货单明细数">
<el-input-number v-model="form.shd_dtl_num" :min="1" :max="100" :precision="0" :controls="false" style="width: 200px;"/>
<el-input-number v-model="form.shd_dtl_num" :min="1" :max="100" :precision="0" :controls="true" style="width: 200px;"/>
</el-form-item>
</el-col>
</el-row>
@@ -184,20 +175,19 @@
style="width: 100%;"
@selection-change="crud.selectionChangeHandler"
>
<el-table-column prop="cust_code" label="客户编码" show-overflow-tooltip />
<el-table-column prop="cust_code" label="客户编码" :min-width="flexWidth('cust_code',crud.data,'客户编码')" />
<el-table-column prop="cust_name" label="客户名称 " show-overflow-tooltip width="150px" />
<el-table-column prop="cust_simple_name" label="客户简称 " show-overflow-tooltip />
<el-table-column prop="sales_owner" label="业务员 " show-overflow-tooltip />
<el-table-column prop="corp_tele_no" label="公司电话" show-overflow-tooltip />
<el-table-column prop="corp_address" label="公司地址" show-overflow-tooltip />
<el-table-column prop="jurid_name" label="法人代表" show-overflow-tooltip />
<el-table-column prop="bz_print_no" label="包装打印模板" width="150px" :formatter="printTemple" show-overflow-tooltip />
<el-table-column prop="bz_print_within" label="内标打印模板" width="150px" :formatter="printTemple2" show-overflow-tooltip />
<el-table-column prop="shd_print_no" label="送货单打印模板路径" width="180px" show-overflow-tooltip/>
<el-table-column prop="shd_dtl_num" label="送货单明细数" width="150px" show-overflow-tooltip />
<el-table-column prop="is_auto_table" label="是否自动贴标" width="150px" show-overflow-tooltip :formatter="autoTable"/>
<el-table-column prop="update_optname" label="修改" width="150px"/>
<el-table-column prop="update_time" label="修改时间" width="150" />
<el-table-column prop="cust_simple_name" label="客户简称 " :min-width="flexWidth('cust_simple_name',crud.data,'客户简称')" />
<el-table-column prop="sales_owner" label="业务员 " :min-width="flexWidth('sales_owner',crud.data,'业务员')" />
<el-table-column prop="corp_tele_no" label="公司电话" :min-width="flexWidth('corp_tele_no',crud.data,'公司电话')" />
<el-table-column prop="corp_address" label="公司地址" width="150px" show-overflow-tooltip />
<el-table-column prop="bz_print_no" label="包装打印模板" :formatter="printTemple" :min-width="flexWidth('bz_print_within',crud.data,'内标打印模板')" />
<el-table-column prop="bz_print_within" label="内标打印模板" :formatter="printTemple2" :min-width="flexWidth('bz_print_within',crud.data,'内标打印模板')" />
<el-table-column prop="shd_print_no" label="送货单打印模板路径" :min-width="flexWidth('shd_print_no',crud.data,'送货单打印模板路径')"/>
<el-table-column prop="shd_dtl_num" label="送货单明细数" :min-width="flexWidth('shd_dtl_num',crud.data,'送货单明细数')" />
<el-table-column prop="is_auto_table" label="是否自动贴标" :min-width="flexWidth('is_auto_table',crud.data,'是否自动贴标')" :formatter="autoTable"/>
<el-table-column prop="update_name" label="修改者" :min-width="flexWidth('update_name',crud.data,'修改者')"/>
<el-table-column prop="update_time" label="修改时间" :min-width="flexWidth('update_time',crud.data,'修改时间')" />
<el-table-column label="启用" align="center" prop="is_used">
<template slot-scope="scope">
<el-switch
@@ -237,27 +227,12 @@ import rrOperation from '@crud/RR.operation'
import crudOperation from '@crud/CRUD.operation'
import udOperation from '@crud/UD.operation'
import pagination from '@crud/Pagination'
import Treeselect, { LOAD_CHILDREN_OPTIONS } from '@riophae/vue-treeselect'
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
import crudClassstandard from '@/views/wms/basedata/master/customer/customerbase'
const defaultForm = {
cust_id: null,
cust_code: null,
cust_name: null,
cust_simple_name: null,
country: null,
state: null,
city: null,
faxnumber: null,
webSite: null,
jurid_name: null,
tax_no: null,
register_no: null,
manage_lice_no: null,
busi_char_name: null,
area_id: null,
zip_code: null,
corp_tele_no: null,
corp_address: null,
create_id: null,
@@ -266,14 +241,9 @@ const defaultForm = {
update_optid: null,
update_optname: null,
update_time: null,
is_used_time: null,
is_used: null,
is_delete: null,
ext_id: null,
remark: null,
class_id: null,
class_code: null,
class_name: null,
zj_print_no: null,
bz_print_no: null,
shd_print_no: null,
@@ -283,8 +253,8 @@ const defaultForm = {
}
export default {
name: 'Customerbase',
dicts: ['is_used', 'print_temple', 'two_print_temple'],
components: { pagination, crudOperation, rrOperation, udOperation, Treeselect },
dicts: ['is_used', 'print_temple', 'two_print_temple', 'IS_OR_NOT'],
components: { pagination, crudOperation, rrOperation, udOperation },
mixins: [presenter(), header(), form(defaultForm), crud()],
cruds() {
return CRUD({
@@ -295,14 +265,17 @@ export default {
reset: true
},
idField: 'cust_id',
sort: 'cust_id,desc',
sort: '',
crudMethod: { ...crudCustomerbase }
})
},
data() {
return {
permission: {},
classes: [],
permission: {
add: ['admin', 'customerbase:add'],
edit: ['admin', 'customerbase:edit'],
del: ['admin', 'customerbase:del']
},
rules: {
cust_id: [
{ required: true, message: '客户标识不能为空', trigger: 'blur' }
@@ -313,23 +286,8 @@ export default {
cust_name: [
{ required: true, message: '客户名称 不能为空', trigger: 'blur' }
],
create_id: [
{ required: true, message: '创建人不能为空', trigger: 'blur' }
],
create_name: [
{ required: true, message: '创建人不能为空', trigger: 'blur' }
],
create_time: [
{ required: true, message: '创建时间不能为空', trigger: 'blur' }
],
is_used: [
{ required: true, message: '是否启用不能为空', trigger: 'blur' }
],
is_delete: [
{ required: true, message: '是否删除不能为空', trigger: 'blur' }
],
class_id: [
{ required: true, message: '基础分类不能为空', trigger: 'blur' }
]
}
}
@@ -339,46 +297,6 @@ export default {
[CRUD.HOOK.beforeRefresh]() {
return true
},
[CRUD.HOOK.afterToCU](crud, form) {
if (form.material_type_id != null) {
this.getSubTypes(form.material_type_id)
} else {
this.getClass()
}
},
getSubTypes(id) {
crudClassstandard.getClassSuperior(id).then(res => {
const date = res.content
this.buildClass(date)
this.classes = date
})
},
getClass() {
crudClassstandard.getClass({ enabled: true, 'base_data_type': '05' }).then(res => {
this.classes = res.content.map(function(obj) {
if (obj.hasChildren) {
obj.children = null
}
return obj
})
})
},
// 获取弹窗内部门数据
loadClass({ action, parentNode, callback }) {
if (action === LOAD_CHILDREN_OPTIONS) {
crudClassstandard.getClass({ pid: parentNode.id }).then(res => {
parentNode.children = res.content.map(function(obj) {
if (obj.hasChildren) {
obj.children = null
}
return obj
})
setTimeout(() => {
callback()
}, 100)
})
}
},
// 改变状态
changeEnabled(data, val) {
this.$confirm('此操作将 "' + this.dict.label.is_used[val] + '" ' + data.cust_name + ', 是否继续', '提示', {