10 changed files with 256 additions and 353 deletions
@ -1,35 +0,0 @@ |
|||||
import request from '@/utils/request' |
|
||||
|
|
||||
export function add(data) { |
|
||||
return request({ |
|
||||
url: 'api/deviceinfo', |
|
||||
method: 'post', |
|
||||
data |
|
||||
}) |
|
||||
} |
|
||||
|
|
||||
export function del(ids) { |
|
||||
return request({ |
|
||||
url: 'api/deviceinfo/', |
|
||||
method: 'delete', |
|
||||
data: ids |
|
||||
}) |
|
||||
} |
|
||||
|
|
||||
export function edit(data) { |
|
||||
return request({ |
|
||||
url: 'api/deviceinfo', |
|
||||
method: 'put', |
|
||||
data |
|
||||
}) |
|
||||
} |
|
||||
|
|
||||
export function changeActive(data) { |
|
||||
return request({ |
|
||||
url: 'api/deviceinfo/changeActive', |
|
||||
method: 'put', |
|
||||
data |
|
||||
}) |
|
||||
} |
|
||||
|
|
||||
export default { add, edit, del, changeActive } |
|
@ -1,304 +0,0 @@ |
|||||
<template> |
|
||||
<div class="app-container"> |
|
||||
<!--工具栏--> |
|
||||
<div class="head-container"> |
|
||||
<div v-if="crud.props.searchToggle"> |
|
||||
<!-- 搜索 --> |
|
||||
<el-form |
|
||||
:inline="true" |
|
||||
class="demo-form-inline" |
|
||||
label-position="right" |
|
||||
label-width="80px" |
|
||||
label-suffix=":" |
|
||||
> |
|
||||
<el-form-item label="模糊搜索"> |
|
||||
<el-input |
|
||||
v-model="query.search" |
|
||||
clearable |
|
||||
size="mini" |
|
||||
placeholder="请输入设备编码、名称" |
|
||||
@keyup.enter.native="crud.toQuery" |
|
||||
/> |
|
||||
</el-form-item> |
|
||||
<rrOperation /> |
|
||||
</el-form> |
|
||||
</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 || crud.status.view" :title="crud.status.title" width="700px"> |
|
||||
<el-form ref="form" :model="form" :rules="rules" size="mini" label-width="100px"> |
|
||||
<el-row> |
|
||||
<el-col :span="12"> |
|
||||
<el-form-item label="设备编码" prop="device_code"> |
|
||||
<el-input v-model.trim="form.device_code" :disabled="crud.status.edit > 0" style="width: 200px;" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="12"> |
|
||||
<el-form-item label="设备名称" prop="device_name"> |
|
||||
<el-input v-model.trim="form.device_name" style="width: 200px;" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
|
|
||||
<el-row> |
|
||||
<el-col :span="12"> |
|
||||
<el-form-item label="设备规格"> |
|
||||
<el-input v-model.trim="form.device_specification" style="width: 200px;" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="12"> |
|
||||
<el-form-item label="设备型号"> |
|
||||
<el-input v-model.trim="form.device_model" style="width: 200px;" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
|
|
||||
<el-row> |
|
||||
<el-col :span="12"> |
|
||||
<el-form-item label="供应商"> |
|
||||
<el-input v-model.trim="form.manufacturer" style="width: 200px;" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="12"> |
|
||||
<el-form-item label="外部编码"> |
|
||||
<el-input v-model.trim="form.extend_code" style="width: 200px;" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
|
|
||||
<el-row> |
|
||||
<el-col :span="12"> |
|
||||
<el-form-item label="是否启用" prop="is_active"> |
|
||||
<el-radio v-model="form.is_active" :disabled="crud.status.view > 0" label="0">否</el-radio> |
|
||||
<el-radio v-model="form.is_active" :disabled="crud.status.view > 0" label="1">是</el-radio> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
|
|
||||
<el-row> |
|
||||
<el-col :span="12"> |
|
||||
<el-form-item label="备注"> |
|
||||
<el-input v-model.trim="form.remark" type="textarea" style="width: 530px;" :disabled="crud.status.view > 0" /> |
|
||||
</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 :disabled="crud.status.view > 0" :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 show-overflow-tooltip prop="device_code" label="设备编码" /> |
|
||||
<el-table-column prop="device_name" label="设备名称" min-width="120" show-overflow-tooltip /> |
|
||||
<el-table-column prop="extend_code" label="外部编码" /> |
|
||||
<el-table-column prop="device_model" label="设备型号" /> |
|
||||
<el-table-column prop="device_specification" label="设备规格" /> |
|
||||
<el-table-column prop="is_active" label="是否启用"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-switch |
|
||||
v-model="scope.row.is_used" |
|
||||
active-color="#409EFF" |
|
||||
inactive-color="#F56C6C" |
|
||||
active-value="1" |
|
||||
inactive-value="0" |
|
||||
@change="changeEnabled(scope.row, scope.row.is_used)" |
|
||||
/> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
<el-table-column prop="manufacturer" label="供应商" /> |
|
||||
<el-table-column prop="create_name" label="创建人" /> |
|
||||
<el-table-column prop="create_time" label="创建时间" width="150px" /> |
|
||||
<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 crudDeviceinfo from '@/views/wms/basedata/deviceInfo/deviceinfo' |
|
||||
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 = { device_id: null, device_code: null, device_name: null, device_model: null, device_specification: null, device_attribute_scode: null, is_produceuse: null, manufacturer: null, remark: null, is_active: '1', extend_code: null, workprocedure_id: null, workprocedure_code: null, workprocedure_name: null, create_id: null, create_name: null, create_time: null, is_delete: null, devicebill_id: null, device_capacity_qty: null, honor_time: null } |
|
||||
export default { |
|
||||
name: 'Deviceinfo', |
|
||||
dicts: [], |
|
||||
components: { pagination, crudOperation, rrOperation, udOperation }, |
|
||||
mixins: [presenter(), header(), form(defaultForm), crud()], |
|
||||
cruds() { |
|
||||
return CRUD({ title: '设备信息维护', |
|
||||
url: 'api/deviceinfo', |
|
||||
idField: 'device_id', |
|
||||
sort: 'device_id,desc', |
|
||||
crudMethod: { ...crudDeviceinfo }, |
|
||||
optShow: { |
|
||||
add: true, |
|
||||
edit: false, |
|
||||
del: false, |
|
||||
download: false, |
|
||||
reset: true |
|
||||
} |
|
||||
}) |
|
||||
}, |
|
||||
data() { |
|
||||
return { |
|
||||
permission: { |
|
||||
}, |
|
||||
workProcedureList: [], |
|
||||
rules: { |
|
||||
device_name: [ |
|
||||
{ required: true, message: '设备名称不能为空', trigger: 'blur' } |
|
||||
], |
|
||||
is_used: [ |
|
||||
{ required: true, message: '是否启用不能为空', trigger: 'blur' } |
|
||||
], |
|
||||
device_code: [ |
|
||||
{ required: true, message: '设备编码不能为空', trigger: 'blur' } |
|
||||
] |
|
||||
}} |
|
||||
}, |
|
||||
methods: { |
|
||||
// 钩子:在获取表格数据之前执行,false 则代表不获取数据 |
|
||||
[CRUD.HOOK.beforeRefresh]() { |
|
||||
return true |
|
||||
}, |
|
||||
hand(value) { |
|
||||
this.crud.toQuery() |
|
||||
}, |
|
||||
changeEnabled(data, val) { |
|
||||
let msg = '此操作将停用设备,是否继续!' |
|
||||
if (val !== '1') { |
|
||||
msg = '此操作将启用设备,是否继续!' |
|
||||
} |
|
||||
this.$confirm(msg, '提示', { |
|
||||
confirmButtonText: '确定', |
|
||||
cancelButtonText: '取消', |
|
||||
type: 'warning' |
|
||||
}).then(() => { |
|
||||
crudDeviceinfo.edit(data).then(res => { |
|
||||
this.crud.toQuery() |
|
||||
this.crud.notify('操作成功', CRUD.NOTIFICATION_TYPE.SUCCESS) |
|
||||
}).catch(() => { |
|
||||
data.is_used = !data.is_used |
|
||||
}) |
|
||||
}).catch(() => { |
|
||||
}) |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
</script> |
|
||||
|
|
||||
<style rel="stylesheet/scss" lang="scss" scoped> |
|
||||
::v-deep { |
|
||||
|
|
||||
.vue-treeselect__menu { |
|
||||
|
|
||||
overflow-x: auto !important; |
|
||||
|
|
||||
width: 300px; |
|
||||
|
|
||||
max-height: 300px !important; |
|
||||
|
|
||||
} |
|
||||
|
|
||||
.vue-treeselect__label { |
|
||||
|
|
||||
overflow: unset; |
|
||||
|
|
||||
text-overflow: unset; |
|
||||
|
|
||||
} |
|
||||
|
|
||||
.vue-treeselect__control { |
|
||||
|
|
||||
height: 20px !important; |
|
||||
|
|
||||
} |
|
||||
|
|
||||
.vue-treeselect__multi-value-item-container, |
|
||||
|
|
||||
.vue-treeselect--has-value .vue-treeselect__multi-value { |
|
||||
|
|
||||
height: 30px; |
|
||||
|
|
||||
line-height: 24px; |
|
||||
|
|
||||
padding: 0; |
|
||||
|
|
||||
} |
|
||||
|
|
||||
.vue-treeselect__limit-tip, |
|
||||
|
|
||||
.vue-treeselect--searchable.vue-treeselect--multi.vue-treeselect--has-value |
|
||||
|
|
||||
.vue-treeselect__input-container { |
|
||||
|
|
||||
padding-top: 0; |
|
||||
|
|
||||
} |
|
||||
|
|
||||
.vue-treeselect--has-value .vue-treeselect__multi-value { |
|
||||
|
|
||||
// margin-bottom: 15px; |
|
||||
|
|
||||
} |
|
||||
|
|
||||
.vue-treeselect--has-value .vue-treeselect__input { |
|
||||
|
|
||||
height: 18px !important; |
|
||||
|
|
||||
line-height: 18px !important; |
|
||||
|
|
||||
} |
|
||||
|
|
||||
.vue-treeselect div, |
|
||||
|
|
||||
.vue-treeselect span { |
|
||||
|
|
||||
box-sizing: content-box; |
|
||||
|
|
||||
} |
|
||||
|
|
||||
// 选中后的溢出隐藏 |
|
||||
|
|
||||
.vue-treeselect__multi-value-label { |
|
||||
|
|
||||
display: block; |
|
||||
|
|
||||
width: 140px; |
|
||||
|
|
||||
overflow: hidden; |
|
||||
|
|
||||
white-space: nowrap; |
|
||||
|
|
||||
text-overflow: ellipsis; |
|
||||
|
|
||||
} |
|
||||
|
|
||||
.vue-treeselect__value-container { |
|
||||
|
|
||||
display: block; |
|
||||
|
|
||||
height: 32px; |
|
||||
|
|
||||
} |
|
||||
|
|
||||
} |
|
||||
</style> |
|
@ -0,0 +1,161 @@ |
|||||
|
<template> |
||||
|
<el-dialog |
||||
|
title="用料清单选择" |
||||
|
append-to-body |
||||
|
:visible.sync="dialogVisible" |
||||
|
destroy-on-close |
||||
|
width="1000px" |
||||
|
@close="close" |
||||
|
@open="open" |
||||
|
> |
||||
|
<!-- 搜索 --> |
||||
|
<el-form |
||||
|
:inline="true" |
||||
|
class="demo-form-inline" |
||||
|
label-position="right" |
||||
|
label-width="80px" |
||||
|
label-suffix=":" |
||||
|
> |
||||
|
<el-form-item label="仓库"> |
||||
|
<el-select |
||||
|
v-model="query.stor_id" |
||||
|
:disabled="true" |
||||
|
placeholder="仓库" |
||||
|
class="filter-item" |
||||
|
style="width: 210px" |
||||
|
> |
||||
|
<el-option |
||||
|
v-for="item in storlist" |
||||
|
:key="item.stor_id" |
||||
|
:label="item.stor_name" |
||||
|
:value="item.stor_id" |
||||
|
/> |
||||
|
</el-select> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="用料清单"> |
||||
|
<el-input |
||||
|
v-model="query.code" |
||||
|
clearable |
||||
|
size="mini" |
||||
|
placeholder="用料清单模糊查询" |
||||
|
style="width: 200px;" |
||||
|
class="filter-item" |
||||
|
@keyup.enter.native="crud.toQuery" |
||||
|
/> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="物料编码"> |
||||
|
<el-input |
||||
|
v-model="query.material_code" |
||||
|
clearable |
||||
|
size="mini" |
||||
|
placeholder="物料" |
||||
|
style="width: 200px;" |
||||
|
class="filter-item" |
||||
|
@keyup.enter.native="crud.toQuery" |
||||
|
/> |
||||
|
</el-form-item> |
||||
|
<rrOperation /> |
||||
|
</el-form> |
||||
|
<!--表格渲染--> |
||||
|
<el-table |
||||
|
ref="table" |
||||
|
v-loading="crud.loading" |
||||
|
:data="crud.data" |
||||
|
style="width: 100%;" |
||||
|
border |
||||
|
:header-cell-style="{background:'#f5f7fa',color:'#606266'}" |
||||
|
> |
||||
|
<el-table-column type="selection" width="55" /> |
||||
|
<el-table-column prop="source_form_date" label="日期" :min-width="flexWidth('source_form_date',crud.data,'日期')" /> |
||||
|
<el-table-column prop="source_bill_code" label="用料清单号" :min-width="flexWidth('source_bill_code',crud.data,'用料清单号')" /> |
||||
|
<el-table-column prop="material_code" label="物料编码" :min-width="flexWidth('material_code',crud.data,'物料编码')" /> |
||||
|
<el-table-column prop="material_name" label="物料名称" :min-width="flexWidth('material_name',crud.data,'物料名称')" /> |
||||
|
<el-table-column prop="qty" label="订单数量" :formatter="crud.formatNum3" :min-width="flexWidth('qty',crud.data,'订单数量')" /> |
||||
|
<el-table-column prop="qty_unit_name" label="单位" :min-width="flexWidth('qty_unit_name',crud.data,'单位')" /> |
||||
|
<el-table-column prop="stor_name" label="仓库" :min-width="flexWidth('stor_name',crud.data,'仓库')" /> |
||||
|
</el-table> |
||||
|
<!--分页组件--> |
||||
|
<pagination /> |
||||
|
<span slot="footer" class="dialog-footer"> |
||||
|
<el-button @click="dialogVisible = false">取 消</el-button> |
||||
|
<el-button type="primary" @click="submit">确 定</el-button> |
||||
|
</span> |
||||
|
</el-dialog> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
|
||||
|
import CRUD, { header, presenter } from '@crud/crud' |
||||
|
import rrOperation from '@crud/RR.operation' |
||||
|
import pagination from '@crud/Pagination' |
||||
|
import crudBsrealstorattr from '@/views/wms/basedata/bsrealstorattr/bsrealstorattr' |
||||
|
|
||||
|
export default { |
||||
|
name: 'AddOrderDtl', |
||||
|
components: { rrOperation, pagination }, |
||||
|
cruds() { |
||||
|
return CRUD({ |
||||
|
title: '库存物料', |
||||
|
optShow: { |
||||
|
add: false, |
||||
|
edit: false, |
||||
|
del: false, |
||||
|
reset: true, |
||||
|
download: false |
||||
|
}, |
||||
|
url: 'api/checkoutbill/getOrderDtl', |
||||
|
idField: 'storagevehicleext_id', |
||||
|
sort: 'storagevehicleext_id,desc' |
||||
|
}) |
||||
|
}, |
||||
|
mixins: [presenter(), header()], |
||||
|
dicts: [], |
||||
|
props: { |
||||
|
dialogShow: { |
||||
|
type: Boolean, |
||||
|
default: false |
||||
|
}, |
||||
|
storId: { |
||||
|
type: String |
||||
|
} |
||||
|
}, |
||||
|
data() { |
||||
|
return { |
||||
|
storlist: [], |
||||
|
dialogVisible: false, |
||||
|
sect: {}, |
||||
|
rows: [] |
||||
|
} |
||||
|
}, |
||||
|
watch: { |
||||
|
dialogShow: { |
||||
|
handler(newValue, oldValue) { |
||||
|
this.dialogVisible = newValue |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
methods: { |
||||
|
open() { |
||||
|
this.crud.resetQuery(false) |
||||
|
crudBsrealstorattr.getStor().then(res => { |
||||
|
this.storlist = res |
||||
|
}) |
||||
|
this.query.stor_id = this.storId |
||||
|
this.crud.toQuery() |
||||
|
}, |
||||
|
close() { |
||||
|
this.$emit('update:dialogShow', false) |
||||
|
}, |
||||
|
submit() { |
||||
|
this.rows = this.$refs.table.selection |
||||
|
if (this.rows.length <= 0) { |
||||
|
this.$message('请先勾选记录') |
||||
|
return |
||||
|
} |
||||
|
this.$emit('update:dialogShow', false) |
||||
|
this.$emit('tableChanged', this.rows) |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
|
Loading…
Reference in new issue