Browse Source

opt:前端代码冗余代码删除

master
zds 3 weeks ago
parent
commit
03d0c850fd
  1. 176
      lms/nladmin-ui/src/views/wms/basedata/product/userArea/index.vue
  2. 79
      lms/nladmin-ui/src/views/wms/basedata/st/boxInfo/index.vue
  3. 176
      lms/nladmin-ui/src/views/wms/basedata/st/userStor/index.vue

176
lms/nladmin-ui/src/views/wms/basedata/product/userArea/index.vue

@ -15,7 +15,6 @@
/> />
<rrOperation /> <rrOperation />
</div> </div>
<crudOperation :permission="permission" />
</div> </div>
<!-- 表单渲染 --> <!-- 表单渲染 -->
<el-row :gutter="15"> <el-row :gutter="15">
@ -23,7 +22,7 @@
<el-col :xs="24" :sm="24" :md="14" :lg="14" :xl="17" style="margin-bottom: 10px"> <el-col :xs="24" :sm="24" :md="14" :lg="14" :xl="17" style="margin-bottom: 10px">
<el-card class="box-card" shadow="never"> <el-card class="box-card" shadow="never">
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span class="role-span">角色列表</span> <span class="role-span">用户列表</span>
</div> </div>
<el-table <el-table
ref="table" ref="table"
@ -37,11 +36,6 @@
<el-table-column show-overflow-tooltip prop="username" label="用户名" /> <el-table-column show-overflow-tooltip prop="username" label="用户名" />
<el-table-column show-overflow-tooltip prop="person_name" label="姓名" /> <el-table-column show-overflow-tooltip prop="person_name" label="姓名" />
<el-table-column prop="name" label="部门" /> <el-table-column prop="name" label="部门" />
<!--<el-table-column show-overflow-tooltip prop="dept" label="部门">
<template slot-scope="scope">
<div>{{ scope.row.dept.name }}</div>
</template>
</el-table-column>-->
</el-table> </el-table>
<!--分页组件--> <!--分页组件-->
<pagination /> <pagination />
@ -71,7 +65,6 @@
:data="tableData" :data="tableData"
tooltip-effect="dark" tooltip-effect="dark"
style="width: 100%" style="width: 100%"
@selection-change="handleSelectionChange"
> >
<el-table-column <el-table-column
type="selection" type="selection"
@ -87,21 +80,14 @@
<script> <script>
import crudUserArea from '@/views/wms/basedata/product/userArea/userArea' import crudUserArea from '@/views/wms/basedata/product/userArea/userArea'
import { getDepts, getDeptSuperior } from '@/views/system/dept/dept' import CRUD, { crud, header, presenter } from '@crud/crud'
import { getChild, getMenusTree } from '@/views/system/menu/menu'
import CRUD, { crud, form, header, presenter } from '@crud/crud'
import rrOperation from '@crud/RR.operation' import rrOperation from '@crud/RR.operation'
import crudOperation from '@crud/CRUD.operation'
import udOperation from '@crud/UD.operation'
import pagination from '@crud/Pagination' import pagination from '@crud/Pagination'
import Treeselect, { LOAD_CHILDREN_OPTIONS } from '@riophae/vue-treeselect'
import '@riophae/vue-treeselect/dist/vue-treeselect.css' import '@riophae/vue-treeselect/dist/vue-treeselect.css'
import DateRangePicker from '@/components/DateRangePicker/index'
const defaultForm = { id: null, name: null, depts: [], description: null, dataScope: '全部', level: 3 }
export default { export default {
name: 'UserStor', name: 'UserArea',
components: { Treeselect, pagination, crudOperation, rrOperation, udOperation, DateRangePicker }, components: { pagination, rrOperation },
cruds() { cruds() {
return CRUD({ return CRUD({
title: '角色', title: '角色',
@ -110,75 +96,18 @@ export default {
optShow: { add: false, reset: false, edit: false, del: false } optShow: { add: false, reset: false, edit: false, del: false }
}) })
}, },
mixins: [presenter(), header(), form(defaultForm), crud()], mixins: [presenter(), header(), crud()],
data() { data() {
return { return {
level: 3, menuLoading: false,
currentId: 0, menuLoading: false, showButton: false, showButton: false,
menus: [], menuIds: [], depts: [], deptDatas: [], // 使
tableData: [{ 'product_area': 'A1' }, { 'product_area': 'A2' }, { 'product_area': 'A3' }, { 'product_area': 'A4' }, { 'product_area': 'LK' }, { 'product_area': 'B1' }, { 'product_area': 'B2' }, { 'product_area': 'B3' }, { 'product_area': 'B4' }, { 'product_area': 'BLK' }], tableData: [{ 'product_area': 'A1' }, { 'product_area': 'A2' }, { 'product_area': 'A3' }, { 'product_area': 'A4' }, { 'product_area': 'LK' }, { 'product_area': 'B1' }, { 'product_area': 'B2' }, { 'product_area': 'B3' }, { 'product_area': 'B4' }, { 'product_area': 'BLK' }],
currentRow: null, currentRow: null,
permission: { permission: {
add: ['admin', 'roles:add'],
edit: ['admin', 'roles:edit'],
del: ['admin', 'roles:del']
},
rules: {
name: [
{ required: true, message: '请输入名称', trigger: 'blur' }
],
permission: [
{ required: true, message: '请输入权限', trigger: 'blur' }
]
} }
} }
}, },
methods: { methods: {
getMenuDatas(node, resolve) {
setTimeout(() => {
getMenusTree(node.data.id ? node.data.id : 0).then(res => {
resolve(res)
})
}, 100)
},
[CRUD.HOOK.afterRefresh]() {
this.$refs.menu.setCheckedKeys([])
},
//
[CRUD.HOOK.beforeToAdd]() {
this.deptDatas = []
},
//
[CRUD.HOOK.beforeToEdit](crud, form) {
this.deptDatas = []
if (form.dataScope === '自定义') {
this.getSupDepts(form.depts)
}
const _this = this
form.depts.forEach(function(dept) {
_this.deptDatas.push(dept.id)
})
},
//
[CRUD.HOOK.afterValidateCU](crud) {
if (crud.form.dataScope === '自定义' && this.deptDatas.length === 0) {
this.$message({
message: '自定义数据权限不能为空',
type: 'warning'
})
return false
} else if (crud.form.dataScope === '自定义') {
const depts = []
this.deptDatas.forEach(function(data) {
const dept = { id: data }
depts.push(dept)
})
crud.form.depts = depts
} else {
crud.form.depts = []
}
return true
},
// //
handleCurrentChange(val) { handleCurrentChange(val) {
if (val) { if (val) {
@ -196,28 +125,6 @@ export default {
}) })
} }
}, },
menuChange(menu) {
// id
getChild(menu.id).then(childIds => {
// menuIds
if (this.menuIds.indexOf(menu.id) !== -1) {
for (let i = 0; i < childIds.length; i++) {
const index = this.menuIds.indexOf(childIds[i])
if (index !== -1) {
this.menuIds.splice(index, 1)
}
}
} else {
for (let i = 0; i < childIds.length; i++) {
const index = this.menuIds.indexOf(childIds[i])
if (index === -1) {
this.menuIds.push(childIds[i])
}
}
}
this.$refs.menu.setCheckedKeys(this.menuIds)
})
},
// //
saveMenu() { saveMenu() {
const row = {} const row = {}
@ -226,75 +133,6 @@ export default {
crudUserArea.save(row).then(res => { crudUserArea.save(row).then(res => {
this.crud.notify('保存成功', CRUD.NOTIFICATION_TYPE.SUCCESS) this.crud.notify('保存成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
}) })
},
//
update() {
//
crudRoles.get(this.currentId).then(res => {
for (let i = 0; i < this.crud.data.length; i++) {
if (res.id === this.crud.data[i].id) {
this.crud.data[i] = res
break
}
}
})
},
//
getDepts() {
getDepts({ enabled: true }).then(res => {
this.depts = res.content.map(function(obj) {
if (obj.hasChildren) {
obj.children = null
}
return obj
})
})
},
getSupDepts(depts) {
const ids = []
depts.forEach(dept => {
ids.push(dept.id)
})
getDeptSuperior(ids).then(res => {
const date = res.content
this.buildDepts(date)
this.depts = date
})
},
buildDepts(depts) {
depts.forEach(data => {
if (data.children) {
this.buildDepts(data.children)
}
if (data.hasChildren && !data.children) {
data.children = null
}
})
},
//
loadDepts({ action, parentNode, callback }) {
if (action === LOAD_CHILDREN_OPTIONS) {
getDepts({ enabled: true, pid: parentNode.id }).then(res => {
parentNode.children = res.content.map(function(obj) {
if (obj.hasChildren) {
obj.children = null
}
return obj
})
setTimeout(() => {
callback()
}, 200)
})
}
},
//
changeScope() {
if (this.form.dataScope === '自定义') {
this.getDepts()
}
},
checkboxT(row) {
return row.level >= this.level
} }
} }
} }

79
lms/nladmin-ui/src/views/wms/basedata/st/boxInfo/index.vue

@ -42,71 +42,6 @@
</div> </div>
<!--如果想在工具栏加入更多按钮可以使用插槽方式 slot = 'left' or 'right'--> <!--如果想在工具栏加入更多按钮可以使用插槽方式 slot = 'left' or 'right'-->
<crudOperation :permission="permission" /> <crudOperation :permission="permission" />
<!--表单组件-->
<!--<el-dialog
:close-on-click-modal="false"
:before-close="crud.cancelCU"
:visible.sync="crud.status.cu > 0"
:title="crud.status.title"
width="800px"
>
<el-form ref="form" :model="form" :rules="rules" size="mini" label-width="120px">
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="木箱类型:" prop="box_type">
<el-input v-model="form.box_type" style="width: 200px;" :disabled="crud.status.edit > 0" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="木箱描述:" prop="box_name">
<el-input v-model="form.box_name" style="width: 200px;" :disabled="crud.status.edit > 0" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="捆扎模版:" prop="lash_num">
<el-input v-model="form.lash_num" style="width: 200px;" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="叉车取货宽度:" prop="expend_width">
<el-input-number :precision="2" :step="0.1" :min="0" :max="100" v-model="form.expend_width" size="mini" :controls="false" style="width: 200px" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="一次捆扎次数:" prop="lash_num_one">
<el-input-number :precision="0" :step="1" :min="0" :max="9" v-model="form.lash_num_one" size="mini" :controls="false" style="width: 200px" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="二次捆扎次数:" prop="lash_num_tow">
<el-input-number :precision="0" :step="1" :min="0" :max="9" v-model="form.lash_num_tow" size="mini" :controls="false" style="width: 200px" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="是否一次捆扎:" prop="need_lash_one">
<el-radio v-model="form.need_lash_one" label="1" style="width: 79px;" border></el-radio>
<el-radio v-model="form.need_lash_one" label="0" style="width: 79px;" border></el-radio>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="是否二次捆扎:" prop="need_lash_two">
<el-radio v-model="form.need_lash_two" label="1" style="width: 79px;" border></el-radio>
<el-radio v-model="form.need_lash_two" label="0" style="width: 79px;" border></el-radio>
</el-form-item>
</el-col>
</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>
</div>
</el-dialog>-->
<!--表格渲染--> <!--表格渲染-->
<el-table <el-table
ref="table" ref="table"
@ -127,20 +62,6 @@
<el-table-column prop="is_packing" label="是否装箱" :min-width="flexWidth('is_packing',crud.data,'是否装箱')" :formatter="formatOne" /> <el-table-column prop="is_packing" label="是否装箱" :min-width="flexWidth('is_packing',crud.data,'是否装箱')" :formatter="formatOne" />
<el-table-column prop="box_weight" label="木箱重量" :min-width="flexWidth('box_weight',crud.data,'木箱重量')" /> <el-table-column prop="box_weight" label="木箱重量" :min-width="flexWidth('box_weight',crud.data,'木箱重量')" />
<el-table-column prop="insert_time" label="创建时间" :min-width="flexWidth('insert_time',crud.data,'创建时间')" /> <el-table-column prop="insert_time" label="创建时间" :min-width="flexWidth('insert_time',crud.data,'创建时间')" />
<!-- <el-table-column
v-permission="['admin','sectattr:edit','sectattr:del']"
label="操作"
width="120px"
fixed="right"
align="center"
>
<template slot-scope="scope">
<udOperation
:data="scope.row"
:permission="permission"
/>
</template>
</el-table-column>-->
</el-table> </el-table>
<!--分页组件--> <!--分页组件-->
<pagination /> <pagination />

176
lms/nladmin-ui/src/views/wms/basedata/st/userStor/index.vue

@ -15,7 +15,6 @@
/> />
<rrOperation/> <rrOperation/>
</div> </div>
<crudOperation :permission="permission"/>
</div> </div>
<!-- 表单渲染 --> <!-- 表单渲染 -->
<el-row :gutter="15"> <el-row :gutter="15">
@ -23,7 +22,7 @@
<el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="17" style="margin-bottom: 10px"> <el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="17" style="margin-bottom: 10px">
<el-card class="box-card" shadow="never"> <el-card class="box-card" shadow="never">
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span class="role-span">角色列表</span> <span class="role-span">用户列表</span>
</div> </div>
<el-table <el-table
ref="table" ref="table"
@ -37,11 +36,6 @@
<el-table-column show-overflow-tooltip prop="username" label="用户名"/> <el-table-column show-overflow-tooltip prop="username" label="用户名"/>
<el-table-column show-overflow-tooltip prop="person_name" label="姓名"/> <el-table-column show-overflow-tooltip prop="person_name" label="姓名"/>
<el-table-column prop="name" label="部门"/> <el-table-column prop="name" label="部门"/>
<!--<el-table-column show-overflow-tooltip prop="dept" label="部门">
<template slot-scope="scope">
<div>{{ scope.row.dept.name }}</div>
</template>
</el-table-column>-->
</el-table> </el-table>
<!--分页组件--> <!--分页组件-->
<pagination/> <pagination/>
@ -51,7 +45,7 @@
<el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="7"> <el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="7">
<el-card class="box-card" shadow="never"> <el-card class="box-card" shadow="never">
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<el-tooltip class="item" effect="dark" content="选择指定角色分配菜单" placement="top"> <el-tooltip class="item" effect="dark" content="选择指定用户分配菜单" placement="top">
<span class="role-span">仓库选择</span> <span class="role-span">仓库选择</span>
</el-tooltip> </el-tooltip>
<el-button <el-button
@ -70,8 +64,7 @@
ref="multipleTable" ref="multipleTable"
:data="tableData" :data="tableData"
tooltip-effect="dark" tooltip-effect="dark"
style="width: 100%" style="width: 100%">
@selection-change="handleSelectionChange">
<el-table-column <el-table-column
type="selection" type="selection"
width="55"> width="55">
@ -88,21 +81,14 @@
<script> <script>
import crudUserStor from '@/views/wms/basedata/st/userStor/userStor' import crudUserStor from '@/views/wms/basedata/st/userStor/userStor'
import { getDepts, getDeptSuperior } from '@/views/system/dept/dept' import CRUD, { crud, header, presenter } from '@crud/crud'
import { getChild, getMenusTree } from '@/views/system/menu/menu'
import CRUD, { crud, form, header, presenter } from '@crud/crud'
import rrOperation from '@crud/RR.operation' import rrOperation from '@crud/RR.operation'
import crudOperation from '@crud/CRUD.operation'
import udOperation from '@crud/UD.operation'
import pagination from '@crud/Pagination' import pagination from '@crud/Pagination'
import Treeselect, { LOAD_CHILDREN_OPTIONS } from '@riophae/vue-treeselect'
import '@riophae/vue-treeselect/dist/vue-treeselect.css' import '@riophae/vue-treeselect/dist/vue-treeselect.css'
import DateRangePicker from '@/components/DateRangePicker/index'
const defaultForm = { id: null, name: null, depts: [], description: null, dataScope: '全部', level: 3 }
export default { export default {
name: 'UserStor', name: 'UserStor',
components: { Treeselect, pagination, crudOperation, rrOperation, udOperation, DateRangePicker }, components: { pagination, rrOperation },
cruds() { cruds() {
return CRUD({ return CRUD({
title: '角色', title: '角色',
@ -111,26 +97,16 @@ export default {
optShow: { add: false, reset: false, edit: false, del: false } optShow: { add: false, reset: false, edit: false, del: false }
}) })
}, },
mixins: [presenter(), header(), form(defaultForm), crud()], mixins: [presenter(), header(), crud()],
data() { data() {
return { return {
level: 3, menuLoading: false,
currentId: 0, menuLoading: false, showButton: false, showButton: false,
menus: [], menuIds: [], depts: [], deptDatas: [], // 使
tableData: [], tableData: [],
currentRow: null, currentRow: null,
permission: { permission: {
add: ['admin', 'roles:add'],
edit: ['admin', 'roles:edit'],
del: ['admin', 'roles:del']
}, },
rules: { rules: {
name: [
{ required: true, message: '请输入名称', trigger: 'blur' }
],
permission: [
{ required: true, message: '请输入权限', trigger: 'blur' }
]
} }
} }
}, },
@ -140,51 +116,6 @@ export default {
}) })
}, },
methods: { methods: {
getMenuDatas(node, resolve) {
setTimeout(() => {
getMenusTree(node.data.id ? node.data.id : 0).then(res => {
resolve(res)
})
}, 100)
},
[CRUD.HOOK.afterRefresh]() {
this.$refs.menu.setCheckedKeys([])
},
//
[CRUD.HOOK.beforeToAdd]() {
this.deptDatas = []
},
//
[CRUD.HOOK.beforeToEdit](crud, form) {
this.deptDatas = []
if (form.dataScope === '自定义') {
this.getSupDepts(form.depts)
}
const _this = this
form.depts.forEach(function(dept) {
_this.deptDatas.push(dept.id)
})
},
//
[CRUD.HOOK.afterValidateCU](crud) {
if (crud.form.dataScope === '自定义' && this.deptDatas.length === 0) {
this.$message({
message: '自定义数据权限不能为空',
type: 'warning'
})
return false
} else if (crud.form.dataScope === '自定义') {
const depts = []
this.deptDatas.forEach(function(data) {
const dept = { id: data }
depts.push(dept)
})
crud.form.depts = depts
} else {
crud.form.depts = []
}
return true
},
// //
handleCurrentChange(val) { handleCurrentChange(val) {
if (val) { if (val) {
@ -202,28 +133,6 @@ export default {
}) })
} }
}, },
menuChange(menu) {
// id
getChild(menu.id).then(childIds => {
// menuIds
if (this.menuIds.indexOf(menu.id) !== -1) {
for (let i = 0; i < childIds.length; i++) {
const index = this.menuIds.indexOf(childIds[i])
if (index !== -1) {
this.menuIds.splice(index, 1)
}
}
} else {
for (let i = 0; i < childIds.length; i++) {
const index = this.menuIds.indexOf(childIds[i])
if (index === -1) {
this.menuIds.push(childIds[i])
}
}
}
this.$refs.menu.setCheckedKeys(this.menuIds)
})
},
// //
saveMenu() { saveMenu() {
const row = {} const row = {}
@ -232,75 +141,6 @@ export default {
crudUserStor.save(row).then(res => { crudUserStor.save(row).then(res => {
this.crud.notify('保存成功', CRUD.NOTIFICATION_TYPE.SUCCESS) this.crud.notify('保存成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
}) })
},
//
update() {
//
crudRoles.get(this.currentId).then(res => {
for (let i = 0; i < this.crud.data.length; i++) {
if (res.id === this.crud.data[i].id) {
this.crud.data[i] = res
break
}
}
})
},
//
getDepts() {
getDepts({ enabled: true }).then(res => {
this.depts = res.content.map(function(obj) {
if (obj.hasChildren) {
obj.children = null
}
return obj
})
})
},
getSupDepts(depts) {
const ids = []
depts.forEach(dept => {
ids.push(dept.id)
})
getDeptSuperior(ids).then(res => {
const date = res.content
this.buildDepts(date)
this.depts = date
})
},
buildDepts(depts) {
depts.forEach(data => {
if (data.children) {
this.buildDepts(data.children)
}
if (data.hasChildren && !data.children) {
data.children = null
}
})
},
//
loadDepts({ action, parentNode, callback }) {
if (action === LOAD_CHILDREN_OPTIONS) {
getDepts({ enabled: true, pid: parentNode.id }).then(res => {
parentNode.children = res.content.map(function(obj) {
if (obj.hasChildren) {
obj.children = null
}
return obj
})
setTimeout(() => {
callback()
}, 200)
})
}
},
//
changeScope() {
if (this.form.dataScope === '自定义') {
this.getDepts()
}
},
checkboxT(row) {
return row.level >= this.level
} }
} }
} }

Loading…
Cancel
Save