Files
lanzhouhailiang_one/nladmin-ui/src/views/wms/sch/region/index.vue
2022-10-09 10:21:41 +08:00

191 lines
6.0 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<div class="app-container">
<!--工具栏-->
<div class="head-container">
<div v-if="crud.props.searchToggle">
<!-- 搜索 -->
<label class="el-form-item-label">模糊搜索</label>
<el-input
v-model="query.region_code"
clearable
placeholder="编码、名称"
style="width: 185px;"
class="filter-item"
@keyup.enter.native="crud.toQuery"
/>
<rrOperation :crud="crud" />
</div>
<!--如果想在工具栏加入更多按钮可以使用插槽方式 slot = 'left' or 'right'-->
<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="500px"
>
<el-form ref="form" :model="form" :rules="rules" size="mini" label-width="80px">
<el-form-item label="区域编码" prop="region_code">
<el-input v-model="form.region_code" style="width: 370px;" />
</el-form-item>
<el-form-item label="区域名称" prop="region_name">
<el-input v-model="form.region_name" style="width: 370px;" />
</el-form-item>
<el-form-item label="生产区域">
<el-select
v-model="form.product_area"
filterable
style="width: 370px"
class="filter-item"
>
<el-option
v-for="item in dict.product_area"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item label="备注">
<el-input v-model="form.remark" style="width: 370px;" />
</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>
</div>
</el-dialog>
<!--表格渲染-->
<el-table
ref="table"
v-loading="crud.loading"
:data="crud.data"
size="mini"
style="width: 100%;"
@selection-change="crud.selectionChangeHandler"
>
<el-table-column type="selection" width="55" />
<el-table-column v-if="false" prop="region_id" label="区域标识" />
<el-table-column prop="region_code" label="区域编码" />
<el-table-column prop="region_name" label="区域名称" />
<el-table-column prop="remark" label="备注" />
<el-table-column label="是否启用" align="center" prop="is_used">
<template slot-scope="scope">
<el-switch
:value="format_is_used(scope.row.is_used)"
active-color="#409EFF"
inactive-color="#F56C6C"
@change="changeEnabled(scope.row, scope.row.is_used)"
/>
</template>
</el-table-column>
<el-table-column prop="create_name" label="创建人" />
<el-table-column prop="create_time" label="创建时间" min-width="120" show-overflow-tooltip />
<el-table-column prop="update_optname" label="修改人" />
<el-table-column prop="update_time" label="修改时间" min-width="120" show-overflow-tooltip />
<el-table-column v-permission="[]" label="操作" width="120px" align="center" fixed="right">
<template slot-scope="scope">
<udOperation
:data="scope.row"
:permission="permission"
/>
</template>
</el-table-column>
</el-table>
<!--分页组件-->
<pagination />
</div>
</div>
</template>
<script>
import crudRegion, { changeActive } from '@/views/wms/sch/region/region'
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'
const defaultForm = {
region_id: null,
region_code: null,
region_name: null,
product_area: null,
remark: null,
is_used: null,
create_id: null,
create_name: null,
create_time: null,
update_optid: null,
update_optname: null,
update_time: null
}
export default {
name: 'Region',
components: { pagination, crudOperation, rrOperation, udOperation },
mixins: [presenter(), header(), form(defaultForm), crud()],
dicts: ['product_area'],
cruds() {
return CRUD({
title: '区域管理',
url: 'api/region',
idField: 'region_id',
sort: 'region_id,desc',
crudMethod: { ...crudRegion },
optShow: {
add: true,
edit: false,
del: false,
download: false,
reset: true
}
})
},
data() {
return {
permission: {},
rules: {
region_code: [
{ required: true, message: '区域编码不能为空', trigger: 'blur' }
],
region_name: [
{ required: true, message: '区域名称不能为空', trigger: 'blur' }
]
}
}
},
methods: {
// 钩子在获取表格数据之前执行false 则代表不获取数据
[CRUD.HOOK.beforeRefresh]() {
return true
},
format_is_used(is_used) {
return is_used === '1'
},
changeEnabled(data, val) {
let msg = '此操作将停用点位,是否继续!'
if (val !== '1') {
msg = '此操作将启用点位,是否继续!'
}
this.$confirm(msg, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
changeActive(data).then(res => {
this.crud.toQuery()
this.crud.notify('操作成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
}).catch(() => {
data.is_used = !data.is_used
})
}).catch(() => {
})
}
}
}
</script>
<style scoped>
</style>