Byd_Dg_Web/src/views/business-data/gd/index.vue

175 lines
6.1 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 placeholder="工单编号" style="width: 185px;" class="filter-item"
@keyup.enter.native="crud.toQuery"/>
<label class="el-form-item-label">任务编号</label>
<el-input v-model="query.name" clearable placeholder="任务编号" style="width: 185px;" class="filter-item"
@keyup.enter.native="crud.toQuery"/>
<label class="el-form-item-label">工单状态</label>
<el-select v-model="query.status" filterable placeholder="请选择" class="filter-item" style="width: 185px;">
<el-option
v-for="item in dict.gd_status"
:key="item.id"
:label="item.label"
:value="item.value"/>
</el-select>
<label class="el-form-item-label">需求工位</label>
<el-input v-model="query.station" clearable placeholder="需求工位" 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="name">
<el-input v-model="form.name" style="width: 370px;"/>
</el-form-item>
<el-form-item label="工单编码" prop="code">
<el-input v-model="form.code" style="width: 370px;"/>
</el-form-item>
<el-form-item label="工单状态" prop="status">
<el-select v-model="form.status" filterable placeholder="请选择" style="width: 370px;">
<el-option
v-for="item in dict.gd_status"
v-if="item.value==='OPEN'"
:key="item.id"
:label="item.label"
:value="item.value"/>
</el-select>
</el-form-item>
<el-form-item label="需求工位" prop="station">
<el-input v-model="form.station" 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.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="name" label="任务编码"/>
<el-table-column prop="code" label="工单编码"/>
<el-table-column prop="status" label="工单状态">
<template slot-scope="scope">
{{ dict.label.gd_status[scope.row.status] }}
</template>
</el-table-column>
<el-table-column prop="station" label="需求工位"/>
<el-table-column prop="createTime" label="创建时间"/>
<el-table-column v-if="checkPer(['admin','gd:edit','gd:del'])" label="操作" align="center">
<template slot-scope="scope">
<udOperation
:data="scope.row"
:permission="permission"
:showDle="false"
/>
</template>
</el-table-column>
</el-table>
<!--分页组件-->
<pagination/>
</div>
</div>
</template>
<script>
import crudGd from '@/api/gd'
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'
const defaultForm = {
id: null,
createBy: null,
updateBy: null,
createTime: null,
updateTime: null,
code: null,
name: null,
status: null,
station: null
}
export default {
name: 'Gd',
components: {pagination, crudOperation, rrOperation, udOperation},
mixins: [presenter(), header(), form(defaultForm), crud()],
dicts: ['gd_status'],
cruds() {
return CRUD({
title: '备料工单',
url: 'api/gd',
idField: 'id',
sort: 'id,desc',
crudMethod: {...crudGd},
optShow: {
add: true,
edit: false,
del: false,
reset: true,
download: true
},
queryOnPresenterCreated: true
})
},
data() {
return {
permission: {
add: ['admin', 'gd:add'],
edit: ['admin', 'gd:edit'],
del: ['admin', 'gd:del']
},
rules: {
name: [
{required: true, message: '任务编号不能为空', trigger: 'blur'}
],
code: [
{required: true, message: '工单编号不能为空', trigger: 'blur'}
],
status: [
{required: true, message: '工单状态不能为空', trigger: 'blur'}
],
station: [
{required: true, message: '需求工位不能为空', trigger: 'blur'}
]
},
queryTypeOptions: [
{key: 'code', display_name: '工单编号'},
{key: 'name', display_name: '任务编号'},
{key: 'status', display_name: '工单状态'},
{key: 'station', display_name: '需求工位'}
]
}
},
methods: {
// 钩子在获取表格数据之前执行false 则代表不获取数据
[CRUD.HOOK.beforeRefresh]() {
return true
}
}
}
</script>
<style scoped>
</style>