Byd_Dg_Web/src/views/base-data/packageCheck/index.vue

161 lines
5.4 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<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.code" clearable style="width: 185px;" class="filter-item"
@keyup.enter.native="crud.toQuery"/>
<label class="el-form-item-label">物料编码</label>
<el-input v-model="query.itemCode" clearable style="width: 185px;" class="filter-item"
@keyup.enter.native="crud.toQuery"/>
<rrOperation :crud="crud"/>
</div>
<!--如果想在工具栏加入更多按钮,可以使用插槽方式, slot = 'left' or 'right'-->
<crudOperation :permission="permission" :tableKey="this.$options.name"/>
<!--表单组件-->
<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="small" label-width="80px">
<el-form-item label="成套代码" prop="code">
<el-input v-model="form.code" style="width: 370px;"/>
</el-form-item>
<el-form-item label="物料" prop="item">
<el-select v-model="form.item" @focus="getItem" filterable placeholder="请选择物料" value-key="id"
style="width: 370px;">
<el-option
v-for="item in items"
:key="item.id"
:label="item.code"
:value="item"
:disabled="!item.enabled"
>
<span style="float: left">{{ item.code }}</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.name }}</span>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="套数">
<el-input v-model="form.quantity" style="width: 370px;" :min="0" type="number"/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="text" @click="crud.cancelCU">取消</el-button>
<el-button :loading="crud.status.cu === 2" type="primary" @click="crud.submitCU">确认</el-button>
</div>
</el-dialog>
<!--表格渲染-->
<el-table ref="table" v-loading="crud.loading" :data="crud.data" size="small" style="width: 100%;"
@selection-change="crud.selectionChangeHandler">
<el-table-column type="selection" width="55"/>
<el-table-column prop="xh" label="序号" type="index" width="50"/>
<el-table-column prop="code" label="成套代码"/>
<el-table-column :show-overflow-tooltip="true" prop="itemCode" label="物料编码">
<template slot-scope="scope">
<div>{{ scope.row.item == null ? "" : scope.row.item.code }}</div>
</template>
</el-table-column>
<el-table-column prop="quantity" label="套数"/>
<el-table-column prop="createTime" label="创建时间"/>
<el-table-column prop="updateTime" label="修改时间"/>
<el-table-column v-if="checkPer(['admin','packageCheck:edit','packageCheck:del'])" label="操作"
align="center">
<template slot-scope="scope">
<udOperation
:data="scope.row"
:permission="permission"
:show-dle="false"
/>
</template>
</el-table-column>
</el-table>
<!--分页组件-->
<pagination/>
</div>
</div>
</template>
<script>
import crudPackageCheck from '@/api/packageCheck'
import CRUD, {presenter, header, form, crud} 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 {getItemsList} from "@/api/item";
const defaultForm = {
id: null,
code: null,
itemId: null,
quantity: null,
createBy: null,
updateBy: null,
createTime: null,
updateTime: null
}
export default {
name: 'PackageCheck',
components: {pagination, crudOperation, rrOperation, udOperation},
mixins: [presenter(), header(), form(defaultForm), crud()],
cruds() {
return CRUD({
title: '翻包标准套数',
url: 'api/packageCheck',
idField: 'id',
sort: 'id,desc',
crudMethod: {...crudPackageCheck},
optShow: {
add: true,
edit: false,
del: false,
reset: true,
download: true
}
})
},
data() {
return {
permission: {
add: ['admin', 'packageCheck:add'],
edit: ['admin', 'packageCheck:edit'],
del: ['admin', 'packageCheck:del']
},
rules: {
code: [
{required: true, message: '成套代码不能为空', trigger: 'blur'}
],
item: [
{required: true, message: '物料不能为空', trigger: 'blur'}
]
}
}
},
mounted() {
//编辑下拉出现内容
this.getItem();
},
methods: {
// 钩子在获取表格数据之前执行false 则代表不获取数据
[CRUD.HOOK.beforeRefresh]() {
return true
},
getItem() {
getItemsList({}).then(res => {
this.items = res;
})
},
}
}
</script>
<style scoped>
</style>