国际化改造

This commit is contained in:
zhang
2024-12-20 16:47:52 +08:00
parent b3133bd5c6
commit e2a8a64208
16 changed files with 536 additions and 212 deletions

View File

@@ -11,22 +11,23 @@
label-width="90px"
label-suffix=":"
>
<el-form-item label="分类名称">
<el-form-item :label="$t('classstandard.dialog.name')">
<el-select
v-model="query.class_code"
placeholder="请选择分类名称"
:placeholder="$t('classstandard.placeholder.select')"
clearable
filterable
size="mini"
class="filter-item"
style="width: 185px;"
@change="hand">
@change="hand"
>
<el-option
v-for="item in classNames"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
:value="item.value"
/>
</el-select>
</el-form-item>
<rrOperation :crud="crud" />
@@ -42,7 +43,7 @@
icon="el-icon-s-operation"
@click="ToExpandall"
>
全部展开
{{ $t('classstandard.placeholder.open') }}
</el-button>
<el-button
slot="right"
@@ -52,7 +53,7 @@
size="mini"
@click="uploadShow = true"
>
导入
{{ $t('classstandard.placeholder.import') }}
</el-button>
</crudOperation>
<!--表单组件-->
@@ -64,34 +65,34 @@
width="500px"
>
<el-form ref="form" :model="form" :rules="rules" size="mini" label-width="80px">
<el-form-item label="分类编码" prop="class_code">
<el-form-item :label="$t('classstandard.dialog.code')" prop="class_code">
<el-input v-model="form.class_code" style="width: 370px;" />
</el-form-item>
<el-form-item label="分类名称" prop="class_name">
<el-form-item :label="$t('classstandard.dialog.name')" prop="class_name">
<el-input v-model="form.class_name" style="width: 370px;" />
</el-form-item>
<el-form-item label="简要描述" prop="class_desc">
<el-form-item :label="$t('classstandard.dialog.desc')" prop="class_desc">
<el-input v-model="form.class_desc" style="width: 370px;" />
</el-form-item>
<el-form-item label="顶级类目">
<el-form-item :label="$t('classstandard.dialog.top_class')">
<el-radio-group v-model="form.isTop" style="width: 140px">
<el-radio label="1"></el-radio>
<el-radio label="0"></el-radio>
<el-radio label="1">{{ $t('classstandard.dialog.yes') }}</el-radio>
<el-radio label="0">{{ $t('classstandard.dialog.no') }}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item v-if="form.isTop === '0'" style="margin-bottom: 0;" label="上级类目" prop="pid">
<el-form-item v-if="form.isTop === '0'" style="margin-bottom: 0;" :label="$t('classstandard.dialog.superior_class')" prop="pid">
<treeselect
v-model="form.parent_class_id"
:load-options="loadClass"
:options="classes"
style="width: 370px;"
placeholder="选择上级类目"
:placeholder="$t('classstandard.placeholder.superior_class')"
/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="text" @click="crud.cancelCU">取消</el-button>
<el-button :loading="crud.cu === 2" type="primary" @click="crud.submitCU">确认</el-button>
<el-button type="text" @click="crud.cancelCU">{{ $t('classstandard.dialog.cancel') }}</el-button>
<el-button :loading="crud.cu === 2" type="primary" @click="crud.submitCU">{{ $t('classstandard.dialog.confirm') }}</el-button>
</div>
</el-dialog>
<!--表格渲染-->
@@ -107,15 +108,15 @@
@select-all="crud.selectAllChange"
@selection-change="crud.selectionChangeHandler"
>
<el-table-column prop="class_code" label="分类编码" />
<el-table-column prop="class_name" label="分类名称" />
<el-table-column prop="class_desc" label="分类简要描述" />
<el-table-column prop="update_optname" label="修改人" />
<el-table-column prop="update_time" label="修改时间" />
<el-table-column prop="is_modify" :formatter="modifyFormat" label="是否可修改" />
<el-table-column prop="class_code" :label="$t('classstandard.dialog.code')" />
<el-table-column prop="class_name" :label="$t('classstandard.dialog.name')" />
<el-table-column prop="class_desc" :label="$t('classstandard.dialog.desc')" />
<el-table-column prop="update_optname" :label="$t('classstandard.dialog.update_name')" />
<el-table-column prop="update_time" :label="$t('classstandard.dialog.update_time')" />
<el-table-column prop="is_modify" :formatter="modifyFormat" :label="$t('classstandard.dialog.is_update')" />
<el-table-column
v-permission="['admin','Classstandard:edit','Classstandard:del']"
label="操作"
:label="$t('classstandard.dialog.operate')"
width="250px"
align="center"
>
@@ -126,17 +127,17 @@
:permission="permission"
:disabled-edit="scope.row.is_modify === '0'"
:disabled-dle="scope.row.is_modify === '0'"
msg="确定删除吗,如果存在下级节点则一并删除此操作不能撤销"
:msg="$t('classstandard.msg.delete')"
/>
<el-button slot="right" size="mini" type="text" icon="el-icon-circle-plus-outline" @click="crud.toAddAndData(addSibling(scope.row))">新增同级</el-button>
<el-button slot="right" size="mini" type="text" icon="el-icon-circle-plus" @click="crud.toAddAndData(addChildren(scope.row))">新增子级</el-button>
<el-button slot="right" size="mini" type="text" icon="el-icon-circle-plus-outline" @click="crud.toAddAndData(addSibling(scope.row))">{{ $t('classstandard.other.addSibling') }}</el-button>
<el-button slot="right" size="mini" type="text" icon="el-icon-circle-plus" @click="crud.toAddAndData(addChildren(scope.row))">{{ $t('classstandard.other.addChildren') }}</el-button>
</template>
</el-table-column>
</el-table>
<!--分页组件-->
<pagination />
</div>
<UploadDialog :dialog-show.sync="uploadShow" @tableChanged3="crud.toQuery()"/>
<UploadDialog :dialog-show.sync="uploadShow" @tableChanged3="crud.toQuery()" />
</div>
</template>
@@ -150,6 +151,7 @@ import udOperation from '@crud/UD.operation'
import rrOperation from '@crud/RR.operation'
import pagination from '@crud/Pagination'
import UploadDialog from './UploadDialog'
import i18n from '@/i18n'
let defaultForm = {
class_id: null,
@@ -178,11 +180,11 @@ let defaultForm = {
export default {
name: 'Classstandard',
dicts: ['base_data'],
components: {UploadDialog, pagination, crudOperation, rrOperation, udOperation, Treeselect },
components: { UploadDialog, pagination, crudOperation, rrOperation, udOperation, Treeselect },
mixins: [presenter(), header(), form(defaultForm), crud()],
cruds() {
return CRUD({
title: '基础类别',
title: i18n.t('classstandard.title'),
url: 'api/bmClassStandard',
idField: 'class_id',
sort: 'class_id,desc',
@@ -201,34 +203,34 @@ export default {
permission: {},
rules: {
class_id: [
{ required: true, message: '不能为空', trigger: 'blur' }
{ required: true, message: this.$t('classstandard.msg.isNotEmpty'), trigger: 'blur' }
],
path_code: [
{ required: true, message: '不能为空', trigger: 'blur' }
{ required: true, message: this.$t('classstandard.msg.isNotEmpty'), trigger: 'blur' }
],
class_code: [
{ required: true, message: '不能为空', trigger: 'blur' }
{ required: true, message: this.$t('classstandard.msg.isNotEmpty'), trigger: 'blur' }
],
class_name: [
{ required: true, message: '不能为空', trigger: 'blur' }
{ required: true, message: this.$t('classstandard.msg.isNotEmpty'), trigger: 'blur' }
],
is_leaf: [
{ required: true, message: '不能为空', trigger: 'blur' }
{ required: true, message: this.$t('classstandard.msg.isNotEmpty'), trigger: 'blur' }
],
is_modify: [
{ required: true, message: '不能为空', trigger: 'blur' }
{ required: true, message: this.$t('classstandard.msg.isNotEmpty'), trigger: 'blur' }
],
is_delete: [
{ required: true, message: '不能为空', trigger: 'blur' }
{ required: true, message: this.$t('classstandard.msg.isNotEmpty'), trigger: 'blur' }
],
create_id: [
{ required: true, message: '不能为空', trigger: 'blur' }
{ required: true, message: this.$t('classstandard.msg.isNotEmpty'), trigger: 'blur' }
],
create_name: [
{ required: true, message: '不能为空', trigger: 'blur' }
{ required: true, message: this.$t('classstandard.msg.isNotEmpty'), trigger: 'blur' }
],
create_time: [
{ required: true, message: '不能为空', trigger: 'blur' }
{ required: true, message: this.$t('classstandard.msg.isNotEmpty'), trigger: 'blur' }
]
}
}
@@ -399,7 +401,6 @@ export default {
}
const dafult = this.$el.getElementsByClassName('dafult')
for (let a = 0; a < dafult.length; a++) {
dafult[a].click()
}
}

View File

@@ -9,18 +9,18 @@
label-width="80px"
label-suffix=":"
>
<el-form-item label="客户信息">
<el-form-item :label="$t('customer.placeholder.customer_info')">
<el-input
v-model="query.search"
clearable
style="width: 300px"
size="mini"
placeholder="输入客户编码或客户名称"
:placeholder="$t('customer.placeholder.input')"
prefix-icon="el-icon-search"
class="filter-item"
/>
</el-form-item>
<rrOperation/>
<rrOperation />
</el-form>
<!--如果想在工具栏加入更多按钮可以使用插槽方式 slot = 'left' or 'right'-->
<crudOperation :permission="permission">
@@ -32,7 +32,7 @@
size="mini"
@click="uploadShow = true"
>
导入
{{ $t('customer.placeholder.import') }}
</el-button>
</crudOperation>
<!--表单组件-->
@@ -46,93 +46,93 @@
<el-form ref="form" :model="form" :rules="rules" size="mini" label-width="110px">
<el-row :gutter="20">
<el-col :span="8">
<el-form-item label="客户编码" prop="cust_code">
<el-input v-model="form.cust_code" style="width: 200px;"/>
<el-form-item :label="$t('customer.dialog.code')" prop="cust_code">
<el-input v-model="form.cust_code" style="width: 200px;" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="客户名称 " prop="cust_name">
<el-input v-model="form.cust_name" style="width: 200px;"/>
<el-form-item :label="$t('customer.dialog.name')" prop="cust_name">
<el-input v-model="form.cust_name" style="width: 200px;" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="法人代表">
<el-input v-model="form.jurid_name" style="width: 200px;"/>
<el-form-item :label="$t('customer.dialog.name')">
<el-input v-model="form.jurid_name" 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.tax_no" style="width: 200px;"/>
<el-form-item :label="$t('customer.dialog.tax_no')">
<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 :label="$t('customer.dialog.register_no')">
<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 :label="$t('customer.dialog.manage_lice_no')">
<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 :label="$t('customer.dialog.busi_char_name')">
<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 :label="$t('customer.dialog.zip_code')">
<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 :label="$t('customer.dialog.telephone')">
<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="公司地址">
<el-input v-model="form.corp_address" style="width: 200px;"/>
<el-form-item :label="$t('customer.dialog.address')">
<el-input v-model="form.corp_address" style="width: 200px;" />
</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="$t('customer.dialog.ext_id')">
<el-input v-model="form.ext_id" style="width: 200px;" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="是否启用" prop="is_used">
<el-radio v-model="form.is_used" label="0"></el-radio>
<el-radio v-model="form.is_used" label="1"></el-radio>
<el-form-item :label="$t('customer.placeholder.is_enable')" prop="is_used">
<el-radio v-model="form.is_used" label="0">{{ $t('customer.placeholder.no') }}</el-radio>
<el-radio v-model="form.is_used" label="1">{{ $t('customer.placeholder.yes') }}</el-radio>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="基础分类" prop="class_id">
<el-form-item :label="$t('customer.dialog.class_basic')" prop="class_id">
<treeselect
v-model="form.class_id"
:load-options="loadClass"
:options="classes"
style="width: 200px;"
placeholder="请选择"
:placeholder="$t('customer.placeholder.please_select')"
/>
</el-form-item>
</el-col>
</el-row>
<el-form-item label="备注">
<el-input v-model="form.remark" style="width: 600px;" type="textarea"/>
<el-form-item :label="$t('customer.dialog.remark')">
<el-input v-model="form.remark" style="width: 600px;" type="textarea" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="text" @click="crud.cancelCU">取消</el-button>
<el-button :loading="crud.cu === 2" type="primary" @click="crud.submitCU">确认</el-button>
<el-button type="text" @click="crud.cancelCU">{{ $t('customer.dialog.cancel') }}</el-button>
<el-button :loading="crud.cu === 2" type="primary" @click="crud.submitCU">{{ $t('customer.dialog.confirm') }}</el-button>
</div>
</el-dialog>
<!--表格渲染-->
@@ -144,14 +144,14 @@
style="width: 100%;"
@selection-change="crud.selectionChangeHandler"
>
<el-table-column prop="cust_code" label="客户编码"/>
<el-table-column prop="cust_name" label="客户名称 "/>
<el-table-column prop="corp_tele_no" label="公司电话"/>
<el-table-column prop="corp_address" label="公司地址"/>
<el-table-column prop="jurid_name" label="法人代表"/>
<el-table-column prop="update_optname" label="修改者"/>
<el-table-column prop="update_time" label="修改时间" width="150"/>
<el-table-column label="启用" align="center" prop="is_used">
<el-table-column prop="cust_code" :label="$t('customer.dialog.code')" />
<el-table-column prop="cust_name" :label="$t('customer.dialog.name')" />
<el-table-column prop="corp_tele_no" :label="$t('customer.dialog.telephone')" />
<el-table-column prop="corp_address" :label="$t('customer.dialog.address')" />
<el-table-column prop="jurid_name" :label="$t('customer.dialog.jurid_name')" />
<el-table-column prop="update_optname" :label="$t('customer.dialog.update_name')" />
<el-table-column prop="update_time" :label="$t('customer.dialog.update_time')" width="150" />
<el-table-column :label="$t('customer.dialog.enable')" align="center" prop="is_used">
<template slot-scope="scope">
<el-switch
v-model="scope.row.is_used"
@@ -165,7 +165,7 @@
</el-table-column>
<el-table-column
v-permission="['admin','customerbase:edit','customerbase:del']"
label="操作"
:label="$t('customer.dialog.operate')"
width="150px"
align="center"
>
@@ -178,23 +178,24 @@
</el-table-column>
</el-table>
<!--分页组件-->
<pagination/>
<pagination />
</div>
<UploadDialog :dialog-show.sync="uploadShow" @tableChanged3="crud.toQuery()"/>
<UploadDialog :dialog-show.sync="uploadShow" @tableChanged3="crud.toQuery()" />
</div>
</template>
<script>
import crudCustomerbase from './customer'
import CRUD, {crud, form, header, presenter} from '@crud/crud'
import CRUD, { crud, form, header, presenter } from '@crud/crud'
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 Treeselect, { LOAD_CHILDREN_OPTIONS } from '@riophae/vue-treeselect'
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
import crudClassstandard from '../class_standard/classstandard'
import UploadDialog from './UploadDialog'
import i18n from '@/i18n'
const defaultForm = {
cust_id: null,
@@ -225,11 +226,11 @@ const defaultForm = {
export default {
name: 'Customerbase',
dicts: ['is_used'],
components: {UploadDialog, pagination, crudOperation, rrOperation, udOperation, Treeselect},
components: { UploadDialog, pagination, crudOperation, rrOperation, udOperation, Treeselect },
mixins: [presenter(), header(), form(defaultForm), crud()],
cruds() {
return CRUD({
title: '客户基础表',
title: i18n.t('customer.title'),
url: 'api/bmCustomer',
optShow: {
add: true,
@@ -237,7 +238,7 @@ export default {
},
idField: 'cust_id',
sort: 'cust_id,desc',
crudMethod: {...crudCustomerbase}
crudMethod: { ...crudCustomerbase }
})
},
data() {
@@ -247,31 +248,31 @@ export default {
classes: [],
rules: {
cust_id: [
{required: true, message: '客户标识不能为空', trigger: 'blur'}
{ required: true, message: this.$t('customer.msg.isNotEmpty'), trigger: 'blur' }
],
cust_code: [
{required: true, message: '客户编码不能为空', trigger: 'blur'}
{ required: true, message: this.$t('customer.msg.isNotEmpty'), trigger: 'blur' }
],
cust_name: [
{required: true, message: '客户名称 不能为空', trigger: 'blur'}
{ required: true, message: this.$t('customer.msg.isNotEmpty'), trigger: 'blur' }
],
create_id: [
{required: true, message: '创建人不能为空', trigger: 'blur'}
{ required: true, message: this.$t('customer.msg.isNotEmpty'), trigger: 'blur' }
],
create_name: [
{required: true, message: '创建人不能为空', trigger: 'blur'}
{ required: true, message: this.$t('customer.msg.isNotEmpty'), trigger: 'blur' }
],
create_time: [
{required: true, message: '创建时间不能为空', trigger: 'blur'}
{ required: true, message: this.$t('customer.msg.isNotEmpty'), trigger: 'blur' }
],
is_used: [
{required: true, message: '是否启用不能为空', trigger: 'blur'}
{ required: true, message: this.$t('customer.msg.isNotEmpty'), trigger: 'blur' }
],
is_delete: [
{required: true, message: '是否删除不能为空', trigger: 'blur'}
{ required: true, message: this.$t('customer.msg.isNotEmpty'), trigger: 'blur' }
],
class_id: [
{required: true, message: '基础分类不能为空', trigger: 'blur'}
{ required: true, message: this.$t('customer.msg.isNotEmpty'), trigger: 'blur' }
]
}
}
@@ -283,7 +284,7 @@ export default {
},
[CRUD.HOOK.afterToCU](crud, form) {
if (form.class_id != null) {
//this.getSubTypes({'id': form.class_id, 'parent_id': '1704039126057226240'})
// this.getSubTypes({'id': form.class_id, 'parent_id': '1704039126057226240'})
const param = {
parent_class_code: ''
}
@@ -323,8 +324,8 @@ export default {
},
getClass() {
// queryClassById?class_idStr=1528555443906023424
crudClassstandard.queryClassById({enabled: true, 'class_idStr': '1704039126057226240'}).then(res => {
this.classes = res.content.map(function (obj) {
crudClassstandard.queryClassById({ enabled: true, 'class_idStr': '1704039126057226240' }).then(res => {
this.classes = res.content.map(function(obj) {
if (obj.hasChildren) {
obj.children = null
}
@@ -333,10 +334,10 @@ export default {
})
},
// 获取弹窗内部门数据
loadClass({action, parentNode, callback}) {
loadClass({ action, parentNode, callback }) {
if (action === LOAD_CHILDREN_OPTIONS) {
crudClassstandard.getClass({pid: parentNode.id}).then(res => {
parentNode.children = res.content.map(function (obj) {
crudClassstandard.getClass({ pid: parentNode.id }).then(res => {
parentNode.children = res.content.map(function(obj) {
if (obj.hasChildren) {
obj.children = null
}

View File

@@ -11,29 +11,29 @@
label-width="80px"
label-suffix=":"
>
<el-form-item label="物料类别">
<el-form-item :label="$t('material.placeholder.material_type')">
<treeselect
v-model="query.material_type_id"
:load-options="loadChildNodes"
:options="classes1"
offset-height="30px;"
style="width: 200px; height: 30px;"
placeholder="请选择"
:placeholder="$t('material.placeholder.please_select')"
/>
</el-form-item>
<el-form-item label="模糊查询">
<el-form-item :label="$t('material.placeholder.select')">
<el-input
v-model="query.search"
clearable
style="width: 200px"
size="mini"
placeholder="输入物料编码或名称"
:placeholder="$t('material.placeholder.code')"
prefix-icon="el-icon-search"
class="filter-item"
/>
</el-form-item>
<rrOperation/>
<rrOperation />
</el-form>
</div>
@@ -61,82 +61,82 @@
<el-form ref="form" :model="form" :rules="rules" size="mini" label-width="110px">
<el-row>
<el-col :span="8">
<el-form-item label="物料编码" prop="material_code">
<el-input v-model="form.material_code" style="width: 200px;"/>
<el-form-item :label="$t('material.dialog.code')" prop="material_code">
<el-input v-model="form.material_code" style="width: 200px;" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="物料名称" prop="material_name">
<el-input v-model="form.material_name" style="width: 200px;"/>
<el-form-item :label="$t('material.dialog.name')" prop="material_name">
<el-input v-model="form.material_name" style="width: 200px;" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="规格" prop="material_spec">
<label slot="label">规&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;格</label>
<el-input v-model="form.material_spec" style="width: 200px;"/>
<el-form-item :label="$t('material.dialog.spec')" prop="material_spec">
<label slot="label">{{ $t('material.dialog.spec') }}}</label>
<el-input v-model="form.material_spec" style="width: 200px;" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="型号" prop="material_model">
<label slot="label">型&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;号</label>
<el-input v-model="form.material_model" style="width: 200px;"/>
<el-form-item :label="$t('material.dialog.material_model')" prop="material_model">
<label slot="label">{{ $t('material.dialog.material_model') }}</label>
<el-input v-model="form.material_model" style="width: 200px;" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="最近重量" prop="nearby_weight">
<label slot="label">最近重量</label>
<el-input v-model="form.nearby_weight" style="width: 200px;"/>
<el-form-item :label="$t('material.dialog.nearby_weight')" prop="nearby_weight">
<label slot="label">{{ $t('material.dialog.nearby_weight') }}</label>
<el-input v-model="form.nearby_weight" style="width: 200px;" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="单重" prop="single_weight">
<label slot="label">单&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;重</label>
<el-input v-model="form.single_weight" style="width: 200px;"/>
<el-form-item :label="$t('material.dialog.single_weight')" prop="single_weight">
<label slot="label">{{ $t('material.dialog.single_weight') }}</label>
<el-input v-model="form.single_weight" style="width: 200px;" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="毛重" prop="gross_weight">
<label slot="label">毛&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;重</label>
<el-input v-model="form.gross_weight" style="width: 200px;"/>
<el-form-item :label="$t('material.dialog.gross_weight')" prop="gross_weight">
<label slot="label">{{ $t('material.dialog.gross_weight') }}</label>
<el-input v-model="form.gross_weight" style="width: 200px;" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="外部标识" prop="ext_id">
<el-input v-model="form.ext_id" style="width: 200px;"/>
<el-form-item :label="$t('material.dialog.ext_id')" prop="ext_id">
<el-input v-model="form.ext_id" style="width: 200px;" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="物料分类" prop="material_type_id">
<el-form-item :label="$t('material.dialog.material_type')" prop="material_type_id">
<treeselect
v-model="form.material_type_id"
:load-options="loadChildNodes"
:options="classes2"
style="width: 200px;"
placeholder="请选择"
:placeholder="$t('material.placeholder.please_select')"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="产品系列">
<el-form-item :label="$t('material.dialog.product_series')">
<treeselect
v-model="form.product_series"
:options="classes3"
:auto-load-root-options="false"
:load-options="loadChildNodes"
style="width: 200px;"
placeholder="请选择"
:placeholder="$t('material.placeholder.please_select')"
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="是否启用" prop="is_used">
<el-form-item :label="$t('material.dialog.is_enable')" prop="is_used">
<el-switch
v-model="form.is_used"
active-color="#13ce66"
@@ -147,8 +147,8 @@
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="text" @click="crud.cancelCU">取消</el-button>
<el-button :loading="crud.cu === 2" type="primary" @click="crud.submitCU">确认</el-button>
<el-button type="text" @click="crud.cancelCU">{{ $t('material.dialog.cancel') }}</el-button>
<el-button :loading="crud.cu === 2" type="primary" @click="crud.submitCU">{{ $t('material.dialog.confirm') }}</el-button>
</div>
</el-dialog>
<!--表格渲染-->
@@ -160,15 +160,15 @@
style="width: 100%;"
@selection-change="crud.selectionChangeHandler"
>
<el-table-column prop="material_code" label="物料编码" width="160"/>
<el-table-column prop="material_name" label="物料名称" width="180" show-overflow-tooltip/>
<el-table-column prop="material_spec" label="物料规格" width="140"/>
<el-table-column prop="material_model" label="物料型号"/>
<el-table-column prop="class_name" label="物料分类" width="140"/>
<el-table-column prop="unit_name" label="计量单位"/>
<el-table-column prop="net_weight" label="单重(g)"/>
<el-table-column prop="product_series_name" label="系列"/>
<el-table-column label="启用" align="center" prop="is_used">
<el-table-column prop="material_code" :label="$t('material.dialog.code')" width="160" />
<el-table-column prop="material_name" :label="$t('material.dialog.name')" width="180" show-overflow-tooltip />
<el-table-column prop="material_spec" :label="$t('material.dialog.spec')" width="140" />
<el-table-column prop="material_model" :label="$t('material.dialog.material_model')" />
<el-table-column prop="class_name" :label="$t('material.dialog.material_type')" width="140" />
<el-table-column prop="unit_name" :label="$t('material.dialog.unit_name')" />
<el-table-column prop="net_weight" :label="$t('material.dialog.net_weight')" />
<el-table-column prop="product_series_name" :label="$t('material.dialog.product_series')" />
<el-table-column :label="$t('material.dialog.enable')" align="center" prop="is_used">
<template slot-scope="scope">
<el-switch
v-model="scope.row.is_used"
@@ -178,16 +178,16 @@
/>
</template>
</el-table-column>
<el-table-column prop="update_optname" label="修改人"/>
<el-table-column prop="update_optname" :label="$t('material.dialog.update_name')" />
<el-table-column
prop="update_time"
label="修改时间"
:label="$t('material.dialog.update_time')"
:min-width="flexWidth('update_time',crud.data,'修改时间')"
/>
<el-table-column
v-permission="['admin','Materialbase:edit','Materialbase:del']"
fixed="right"
label="操作"
:label="$t('material.dialog.operate')"
width="120px"
align="center"
>
@@ -200,24 +200,25 @@
</el-table-column>
</el-table>
<!--分页组件-->
<pagination/>
<pagination />
</div>
<UploadDialog :dialog-show.sync="uploadShow" @tableChanged3="crud.toQuery()"/>
<UploadDialog :dialog-show.sync="uploadShow" @tableChanged3="crud.toQuery()" />
</div>
</template>
<script>
import crudMaterialbase from './material'
import CRUD, {crud, form, header, presenter} from '@crud/crud'
import CRUD, { crud, form, header, presenter } from '@crud/crud'
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 Treeselect, { LOAD_CHILDREN_OPTIONS } from '@riophae/vue-treeselect'
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
import crudClassstandard from '@/views/wms/base_manage/class_standard/classstandard'
// import crudMdPbMeasureunit from '@/api/wms/basedata/master/mdPbMeasureunit'
import UploadDialog from './UploadDialog'
import i18n from '@/i18n'
const defaultForm = {
material_id: null,
@@ -259,16 +260,16 @@ export default {
name: 'Material',
// 数据字典
dicts: ['is_used'],
components: {pagination, crudOperation, rrOperation, udOperation, Treeselect, UploadDialog},
components: { pagination, crudOperation, rrOperation, udOperation, Treeselect, UploadDialog },
mixins: [presenter(), header(), form(defaultForm), crud()],
cruds() {
return CRUD({
title: '物料',
optShow: {add: true, reset: true},
title: i18n.t('material.title'),
optShow: { add: true, reset: true },
url: 'api/bmMaterial',
idField: 'material_id',
sort: 'material_id,desc',
crudMethod: {...crudMaterialbase}
crudMethod: { ...crudMaterialbase }
})
},
data() {
@@ -284,28 +285,28 @@ export default {
permission: {},
rules: {
material_id: [
{required: true, message: '不能为空', trigger: 'blur'}
{ required: true, message: this.$t('material.msg.isNotEmpty'), trigger: 'blur' }
],
material_code: [
{required: true, message: '物料编码不能为空', trigger: 'blur'}
{ required: true, message: this.$t('material.msg.isNotEmpty'), trigger: 'blur' }
],
material_name: [
{required: true, message: '物料名称不能为空', trigger: 'blur'}
{ required: true, message: this.$t('material.msg.isNotEmpty'), trigger: 'blur' }
],
material_type_id: [
{required: true, message: '物料分类不能为空', trigger: 'blur'}
{ required: true, message: this.$t('material.msg.isNotEmpty'), trigger: 'blur' }
],
create_id: [
{required: true, message: '不能为空', trigger: 'blur'}
{ required: true, message: this.$t('material.msg.isNotEmpty'), trigger: 'blur' }
],
create_time: [
{required: true, message: '不能为空', trigger: 'blur'}
{ required: true, message: this.$t('material.msg.isNotEmpty'), trigger: 'blur' }
],
is_used: [
{required: true, message: '是否启用不能为空', trigger: 'blur'}
{ required: true, message: this.$t('material.msg.isNotEmpty'), trigger: 'blur' }
],
material_height_type: [
{required: true, message: '不能为空', trigger: 'blur'}
{ required: true, message: this.$t('material.msg.isNotEmpty'), trigger: 'blur' }
]
}
}
@@ -360,10 +361,10 @@ export default {
crudClassstandard.getClassSuperior(id).then(res => {
const data = res.content
that.buildTree(data)
if (type == '02') {
if (type === '02') {
that.classes2 = data
}
if (type == '03') {
if (type === '03') {
that.classes3 = data
}
})
@@ -423,10 +424,10 @@ export default {
})
},
// 获取子节点数据
loadChildNodes({action, parentNode, callback}) {
loadChildNodes({ action, parentNode, callback }) {
if (action === LOAD_CHILDREN_OPTIONS) {
crudClassstandard.getClass({pid: parentNode.id}).then(res => {
parentNode.children = res.content.map(function (obj) {
crudClassstandard.getClass({ pid: parentNode.id }).then(res => {
parentNode.children = res.content.map(function(obj) {
if (obj.hasChildren) {
obj.children = null
}

View File

@@ -9,18 +9,18 @@
label-width="80px"
label-suffix=":"
>
<el-form-item label="单位信息">
<el-form-item :label="$t('measure.placeholder.info')">
<el-input
v-model="query.search"
clearable
style="width: 300px"
size="mini"
placeholder="输入单位编码或单位名称"
:placeholder="$t('measure.placeholder.input')"
prefix-icon="el-icon-search"
class="filter-item"
/>
</el-form-item>
<rrOperation/>
<rrOperation />
</el-form>
<!--如果想在工具栏加入更多按钮可以使用插槽方式 slot = 'left' or 'right'-->
<crudOperation :permission="permission" />
@@ -33,27 +33,27 @@
width="500px"
>
<el-form ref="form" :model="form" :rules="rules" size="mini" label-width="80px">
<el-form-item label="编码" prop="unit_code">
<el-form-item :label="$t('measure.dialog.unit_code')" prop="unit_code">
<el-input v-model="form.unit_code" style="width: 370px;" />
</el-form-item>
<el-form-item label="名称" prop="unit_name">
<el-form-item :label="$t('measure.dialog.unit_name')" prop="unit_name">
<el-input v-model="form.unit_name" style="width: 370px;" />
</el-form-item>
<el-form-item label="外部标识" prop="ext_id">
<el-form-item :label="$t('measure.dialog.ext_id')" prop="ext_id">
<el-input v-model="form.ext_id" style="width: 370px;" />
</el-form-item>
<el-form-item label="数据精度" prop="qty_precision">
<el-form-item :label="$t('measure.dialog.qty_precision')" prop="qty_precision">
<!-- <el-input v-model="form.qty_precision" style="width: 370px;" />-->
<el-input-number
v-model="form.qty_precision"
:min="1"
:max="6"
label="描述文字"
:label="$t('measure.dialog.desc')"
style="width: 150px;"
@change="handleChange"
/>
</el-form-item>
<el-form-item label="是否启用" prop="is_used">
<el-form-item :label="$t('measure.dialog.is_enable')" prop="is_used">
<el-switch
v-model="form.is_used"
active-color="#409EFF"
@@ -62,8 +62,8 @@
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="text" @click="crud.cancelCU">取消</el-button>
<el-button :loading="crud.cu === 2" type="primary" @click="crud.submitCU">确认</el-button>
<el-button type="text" @click="crud.cancelCU">{{ $t('measure.dialog.cancel') }}</el-button>
<el-button :loading="crud.cu === 2" type="primary" @click="crud.submitCU">{{ $t('measure.dialog.confirm') }}</el-button>
</div>
</el-dialog>
<!--表格渲染-->
@@ -75,12 +75,12 @@
style="width: 100%;"
@selection-change="crud.selectionChangeHandler"
>
<el-table-column prop="unit_code" label="编码" />
<el-table-column prop="unit_name" label="名称" />
<el-table-column prop="qty_precision" label="数据精度" />
<el-table-column prop="update_name" label="修改者" />
<el-table-column prop="update_time" label="修改时间" width="135" />
<el-table-column prop="is_used" label="启用 ">
<el-table-column prop="unit_code" :label="$t('measure.dialog.unit_code')" />
<el-table-column prop="unit_name" :label="$t('measure.dialog.unit_name')" />
<el-table-column prop="qty_precision" :label="$t('measure.dialog.qty_precision')" />
<el-table-column prop="update_name" :label="$t('measure.dialog.update_name')" />
<el-table-column prop="update_time" :label="$t('measure.dialog.update_time')" width="135" />
<el-table-column prop="is_used" :label="$t('measure.dialog.enable')">
<template slot-scope="scope">
<el-switch
v-model="scope.row.is_used"
@@ -93,7 +93,7 @@
<el-table-column
v-permission="['admin','mdPbMeasureunit:edit','mdPbMeasureunit:del']"
fixed="right"
label="操作"
:label="$t('measure.dialog.operate')"
width="150px"
align="center"
>
@@ -118,6 +118,7 @@ import rrOperation from '@crud/RR.operation'
import crudOperation from '@crud/CRUD.operation'
import udOperation from '@crud/UD.operation'
import pagination from '@crud/Pagination'
import i18n from '@/i18n'
const defaultForm = {
unit_id: null,
@@ -142,7 +143,7 @@ export default {
mixins: [presenter(), header(), form(defaultForm), crud()],
cruds() {
return CRUD({
title: '计量单位',
title: i18n.t('measure.title'),
url: 'api/bmMeasureUnit',
optShow: {
add: true,
@@ -158,31 +159,31 @@ export default {
permission: {},
rules: {
unit_id: [
{ required: true, message: '不能为空', trigger: 'blur' }
{ required: true, message: this.$t('customer.msg.isNotEmpty'), trigger: 'blur' }
],
unit_code: [
{ required: true, message: '不能为空', trigger: 'blur' }
{ required: true, message: this.$t('customer.msg.isNotEmpty'), trigger: 'blur' }
],
unit_name: [
{ required: true, message: '不能为空', trigger: 'blur' }
{ required: true, message: this.$t('customer.msg.isNotEmpty'), trigger: 'blur' }
],
qty_precision: [
{ required: true, message: '不能为空', trigger: 'blur' }
{ required: true, message: this.$t('customer.msg.isNotEmpty'), trigger: 'blur' }
],
is_used: [
{ required: true, message: '不能为空', trigger: 'blur' }
{ required: true, message: this.$t('customer.msg.isNotEmpty'), trigger: 'blur' }
],
create_id: [
{ required: true, message: '不能为空', trigger: 'blur' }
{ required: true, message: this.$t('customer.msg.isNotEmpty'), trigger: 'blur' }
],
create_name: [
{ required: true, message: '不能为空', trigger: 'blur' }
{ required: true, message: this.$t('customer.msg.isNotEmpty'), trigger: 'blur' }
],
create_time: [
{ required: true, message: '不能为空', trigger: 'blur' }
{ required: true, message: this.$t('customer.msg.isNotEmpty'), trigger: 'blur' }
],
is_delete: [
{ required: true, message: '不能为空', trigger: 'blur' }
{ required: true, message: this.$t('customer.msg.isNotEmpty'), trigger: 'blur' }
]
}
}