<template>
|
<GlobalWindow
|
:title="title"
|
:visible.sync="visible"
|
:confirm-working="isWorking"
|
@confirm="confirm"
|
>
|
<el-form :model="form" ref="form" :rules="rules" v-loading="isWorking.search" >
|
<el-form-item label="仓库编码" prop="code">
|
<el-input v-model="form.code" :disabled="form.id" placeholder="可填写,忽略将自动生成" v-trim />
|
</el-form-item>
|
<el-form-item label="仓库名称" prop="name">
|
<el-input v-model="form.name" placeholder="请输入仓库名称" v-trim/>
|
</el-form-item>
|
<el-form-item label="仓库归属" prop="ascription">
|
<el-select v-model="form.ascription" clearable filterable placeholder="请选择">
|
<el-option
|
v-for="item in ascriptions"
|
:key="item.id"
|
:label="item.name"
|
:value="item.id">
|
</el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="仓库类型" prop="type">
|
<el-select v-model="form.type" clearable filterable placeholder="请选择">
|
<el-option
|
v-for="item in types"
|
:key="item.id"
|
:label="item.name"
|
:value="item.id">
|
</el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="仓库属性" prop="systemDicDataId">
|
<el-select v-model="form.systemDicDataId" clearable filterable placeholder="请选择">
|
<el-option
|
v-for="item in properties()"
|
:key="item.value"
|
:label="item.code"
|
:value="item.id">
|
</el-option>
|
</el-select>
|
</el-form-item>
|
<!-- <el-form-item label="所属组织" prop="departId">
|
<el-select v-model="form.departId" placeholder="请选择">
|
<el-option
|
v-for="item in departs"
|
:key="item.id"
|
:label="item.name"
|
:value="item.id">
|
</el-option>
|
</el-select>
|
</el-form-item> -->
|
<el-form-item label="仓库管理员" prop="managerId">
|
<el-select v-model="form.managerId" clearable @visible-change="visibleChange" :loading="loading" filterable placeholder="请选择">
|
<el-option
|
v-for="item in managerIds"
|
:key="item.id"
|
:label="item.name + '-' + item.dmodel.name + '-' + item.phone"
|
:value="item.userId">
|
</el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="仓库地址" prop="addr">
|
<el-input v-model="form.addr" placeholder="请输入仓库地址" maxlength="50" v-trim/>
|
</el-form-item>
|
<el-form-item label="是否可销售" prop="isSales">
|
<el-switch v-model="form.isSales" :inactive-value="'1'" :active-value="'0'">
|
</el-switch>
|
</el-form-item>
|
<el-form-item label="启用货位" prop="useLocation">
|
<el-switch v-model="form.useLocation" :inactive-value="0" :active-value="1">
|
</el-switch>
|
</el-form-item>
|
</el-form>
|
</GlobalWindow>
|
</template>
|
|
<script>
|
import BaseOpera from '@/components/base/BaseOpera'
|
import GlobalWindow from '@/components/common/GlobalWindow'
|
import ZuzhiSelect from './zuzhiSelect.vue'
|
import { getDepartmentListByConditon } from '@/api/ext/departmentExt'
|
import { departments } from '@/api/ext/warehouseExt'
|
// import { queryListByCode } from '@/api/system/dictData'
|
import { validateSpecialKey } from '@/assets/js/validate'
|
export default {
|
name: 'OperaWarehouseExtWindow',
|
extends: BaseOpera,
|
components: { GlobalWindow, ZuzhiSelect },
|
data () {
|
return {
|
types: [
|
{ name: '原材料库', id: '0' },
|
{ name: '半成品库', id: '1' },
|
{ name: '成品库', id: '2' },
|
{ name: '不良品库', id: '3' },
|
{ name: '线边库', id: '4' },
|
{ name: '客退库', id: '5' },
|
{ name: '客返库', id: '6' },
|
{ name: '让步库', id: '7' },
|
{ name: '废品库', id: '8' },
|
],
|
ascriptions: [
|
// 0公司库 1车间库 2外协库
|
{ name: '公司库', id: 0 },
|
{ name: '车间库', id: 1 },
|
{ name: '外协库', id: 2 },
|
],
|
managerIds: [],
|
departs: [],
|
loading: false,
|
// 表单数据
|
form: {
|
ascription: '',
|
addr: '',
|
code: '',
|
createTime: '',
|
// departId: null,
|
id: '',
|
managerId: '',
|
name: '',
|
remark: '',
|
type: null,
|
systemDicDataId: null,
|
isSales: '1',
|
useLocation: 1
|
},
|
// 验证规则
|
rules: {
|
// code: [
|
// { required: true, message: '请输仓库编码', trigger: 'blur' },
|
// { max: 20, message: '输入字数不超过20', trigger: 'blur' },
|
// { validator: validateSpecialKey, trigger: 'blur' }
|
// ],
|
name: [
|
{ required: true, message: '请输入仓库名称', trigger: 'blur' },
|
{ max: 20, message: '输入字数不超过20', trigger: 'blur' }
|
],
|
addr: [{ max: 50, message: '输入字数不超过50', trigger: 'blur' }],
|
managerId: [{ required: true, message: '请选择仓库管理员', trigger: 'blur' }],
|
type: [{ required: true, message: '请选择仓库类型', trigger: 'change' }],
|
ascription: [{ required: true, message: '请选择仓库归属', trigger: 'change' }],
|
systemDicDataId: [{ required: true, message: '请选择仓库属性', trigger: 'change' }]
|
}
|
}
|
},
|
inject: ['properties'],
|
created () {
|
this.config({
|
api: '/ext/warehouseExt',
|
'field.id': 'id'
|
})
|
// queryListByCode('?dicCode=SYSTEM_APPLIANCE_TYPE')
|
// .then(res => {
|
// // console.log(res)
|
// this.properties = res
|
// })
|
// .catch(err => {
|
// console.log(err)
|
// })
|
getDepartmentListByConditon({ companyId: this.$store.state.userInfo.curComDepartment.id})
|
.then(res => {
|
// console.log(res)
|
this.departs = res
|
})
|
.catch(() => {})
|
// this.getList()
|
},
|
methods: {
|
visibleChange(e) {
|
if (e) {
|
this.getList()
|
}
|
},
|
changeType (value) {
|
// console.log(value, 'value')
|
this.form.type = value
|
},
|
// 管理员
|
getList () {
|
this.loading = true
|
// this.form.managerId = null
|
departments({ departmentId: this.$store.state.userInfo.curComDepartment.id })
|
.then((res) => {
|
// console.log('res', res)
|
this.managerIds = res
|
this.loading = false
|
}).catch((err) => {
|
console.log(err)
|
this.loading = false
|
})
|
}
|
// handleNodeClick (data) {
|
// this.form.Id = data.Id
|
// this.form.label = data.label
|
// this.$refs.selectTree.blur()
|
// }
|
},
|
watch: {
|
'form.type': {
|
handler (news, old) {
|
this.form.type = news.toString()
|
}
|
},
|
visible(news, old) {
|
if (news) {
|
this.getList()
|
}
|
}
|
}
|
}
|
</script>
|