<template>
|
<GlobalWindow title="新建出库单" :visible.sync="isShowModal" :confirm-working="isLoading" width="900px" @close="close"
|
@confirm="confirm">
|
<el-form :model="param" ref="form" :rules="rules">
|
<div class="df_ac">
|
<el-form-item class="w3" label="出库仓库" prop="parentId">
|
<el-select :disabled="param.id" v-model="param.parentId" placeholder="不填为则一级分类">
|
<el-option v-for="op in dataList" :key="op.id" :label="op.name" :value="op.id"></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item class="w3" label="出库日期">
|
<el-date-picker type="date" v-model="param.getDate" format="yyyy-MM-dd" value-format="yyyy-MM-dd"
|
placeholder="请选择出库日期"></el-date-picker>
|
</el-form-item>
|
<el-form-item class="w3" label="出库类型" prop="parentId">
|
<el-select :disabled="param.id" v-model="param.parentId" placeholder="不填为则一级分类">
|
<el-option v-for="op in dataList" :key="op.id" :label="op.name" :value="op.id"></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item class="w3" label="处理人" prop="name">
|
<el-input v-model="param.name" v-trim />
|
</el-form-item>
|
<el-form-item class="w6" label="备注" prop="name">
|
<el-input v-model="param.name" placeholder="请输入" v-trim />
|
</el-form-item>
|
</div>
|
</el-form>
|
<!-- -->
|
<el-tabs v-model="activeName">
|
<el-tab-pane label="物料信息" name="first"></el-tab-pane>
|
</el-tabs>
|
<el-button type="primary" @click="handleOpenMaterial">选择物料</el-button>
|
<el-table :data="list" stripe>
|
<el-table-column align="center" label="序号" type="index" width="50" />
|
<el-table-column prop="creatorName" label="物料名称" show-overflow-tooltip min-width="80px"></el-table-column>
|
<el-table-column prop="categoryName" label="物料编码" show-overflow-tooltip min-width="90px"></el-table-column>
|
<el-table-column prop="createDate" label="条形码" show-overflow-tooltip min-width="70px"></el-table-column>
|
<el-table-column prop="dealUserName" label="品牌" show-overflow-tooltip min-width="70px"></el-table-column>
|
<el-table-column prop="dealUserName" label="单位" show-overflow-tooltip min-width="70px"></el-table-column>
|
<el-table-column prop="dealUserName" label="出库数量" min-width="90px">
|
<template v-slot="{row}">
|
<el-input oninput="value=value.replace(/^(0+)|[^\d]+/g, '').slice(0, 11)" v-model="row.aa" class="w100"></el-input>
|
</template>
|
</el-table-column>
|
<el-table-column prop="dealUserName" label="库存数量" show-overflow-tooltip min-width="80px"></el-table-column>
|
<el-table-column prop="dealUserName" label="操作" min-width="60px">
|
<template v-slot="scope">
|
<span @click="handleDel(scope)" class="red pointer">删除</span>
|
</template>
|
</el-table-column>
|
</el-table>
|
<!-- -->
|
<AssetSel v-if="isShowSel" ref="AssetSelRef" @change="changeSel" @close="isShowSel = false" />
|
</GlobalWindow>
|
</template>
|
|
<script>
|
import GlobalWindow from '@/components/common/GlobalWindow'
|
import AssetSel from './AssetSel'
|
import { create, fetchCateList, getInfoById } from '@/api/business/category.js'
|
export default {
|
name: 'OperaCategoryWindow',
|
components: { GlobalWindow, AssetSel },
|
data() {
|
return {
|
// 表单数据
|
param: {},
|
activeName: 'first',
|
isShowModal: false,
|
isShowSel: false,
|
isLoading: false,
|
// 验证规则
|
rules: {
|
name: [{ required: true, message: '请输入二级分类名称', trigger: 'blur' }],
|
},
|
list: [{}],
|
|
dataList: [],
|
}
|
},
|
created() {
|
|
},
|
methods: {
|
confirm() {
|
|
},
|
getList() {
|
fetchCateList({ type: 5 }).then(res => {
|
this.dataList = res || []
|
|
})
|
},
|
changeSel() {
|
|
},
|
handleDel(val) {
|
const index = val.$index
|
this.list.splice(index, 1)
|
|
},
|
handleOpenMaterial() {
|
this.isShowSel = true
|
this.$nextTick(() => {
|
this.$refs.AssetSelRef.isShowModal = true
|
})
|
},
|
close() {
|
this.isShowModal = false
|
this.$emit('close')
|
},
|
getDetail(id) {
|
getInfoById(id).then(res => {
|
this.param = res
|
})
|
},
|
}
|
}
|
</script>
|
<style lang="scss" scoped>
|
.df_ac {
|
display: flex;
|
align-items: center;
|
flex-wrap: wrap;
|
|
.w3 {
|
width: 33.3%;
|
padding: 0 10px;
|
box-sizing: border-box;
|
}
|
|
.w6 {
|
width: 66.6%;
|
padding: 0 10px;
|
box-sizing: border-box;
|
}
|
}
|
</style>
|