| | |
| | | @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-form-item class="w3" label="出库仓库" prop="warehouseId"> |
| | | <el-select :disabled="param.id" v-model="param.warehouseId" placeholder="请选择"> |
| | | <el-option v-for="op in storeList" :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" |
| | | <el-form-item class="w3" label="出库日期" prop="doneDate"> |
| | | <el-date-picker type="date" v-model="param.doneDate" 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-form-item class="w3" label="出库类型" prop="type"> |
| | | <el-select :disabled="param.id" v-model="param.type" placeholder="请选择出库类型"> |
| | | <el-option v-for="op in StoreTypeOps" :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-input v-model="param.createUserName" :disabled="true" 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 class="w6" label="备注" prop="remark"> |
| | | <el-input v-model="param.remark" placeholder="请输入" v-trim /> |
| | | </el-form-item> |
| | | </div> |
| | | </el-form> |
| | |
| | | <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="name" label="物料名称" show-overflow-tooltip min-width="80px"></el-table-column> |
| | | <el-table-column prop="code" label="物料编码" show-overflow-tooltip min-width="90px"></el-table-column> |
| | | <el-table-column prop="qrcode" label="条形码" show-overflow-tooltip min-width="70px"></el-table-column> |
| | | <el-table-column prop="brand" label="品牌" show-overflow-tooltip min-width="70px"></el-table-column> |
| | | <el-table-column prop="unitName" 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 v-slot="{ row }"> |
| | | <el-input oninput="value=value.replace(/^(0+)|[^\d]+/g, '').slice(0, 11)" v-model="row.stock" |
| | | 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"> |
| | | <el-table-column prop="maxStock" label="库存数量" show-overflow-tooltip min-width="80px"></el-table-column> |
| | | <el-table-column label="操作" min-width="60px"> |
| | | <template v-slot="scope"> |
| | | <span @click="handleDel(scope)" class="red pointer">删除</span> |
| | | </template> |
| | |
| | | <script> |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | import AssetSel from './AssetSel' |
| | | import { create, fetchCateList, getInfoById } from '@/api/business/category.js' |
| | | import { fetchList as getStoreList } from '@/api/ywWarehouse' |
| | | import { ywOutinboundCreate } from '@/api/store/index' |
| | | import { StoreTypeOps, rules } from './config' |
| | | import { Message } from 'element-ui' |
| | | export default { |
| | | name: 'OperaCategoryWindow', |
| | | components: { GlobalWindow, AssetSel }, |
| | | data() { |
| | | return { |
| | | // 表单数据 |
| | | param: {}, |
| | | param: { |
| | | createUserName: this.$store.state.userInfo.username, |
| | | creator: this.$store.state.userInfo.id, |
| | | inOut: 1 |
| | | }, |
| | | activeName: 'first', |
| | | isShowModal: false, |
| | | isShowSel: false, |
| | | isLoading: false, |
| | | // 验证规则 |
| | | rules: { |
| | | name: [{ required: true, message: '请输入二级分类名称', trigger: 'blur' }], |
| | | }, |
| | | list: [{}], |
| | | rules, |
| | | storeList: [], |
| | | list: [], |
| | | StoreTypeOps: StoreTypeOps.filter(i => i.type == 1), |
| | | |
| | | dataList: [], |
| | | } |
| | | }, |
| | | created() { |
| | | |
| | | this.initData() |
| | | }, |
| | | methods: { |
| | | confirm() { |
| | | |
| | | }, |
| | | getList() { |
| | | fetchCateList({ type: 5 }).then(res => { |
| | | this.dataList = res || [] |
| | | |
| | | this.$refs['form'].validate((valid) => { |
| | | if (valid) { |
| | | const { param, list } = this |
| | | if(list.length == 0) return Message.warning('请先选择物料信息') |
| | | let count = 0 // 出库数量必填 |
| | | list.forEach(item => { |
| | | if(!item.stock) count ++ |
| | | }) |
| | | if(count > 0) return Message.warning('请输入正确的出库数量') |
| | | this.isLoading = true |
| | | ywOutinboundCreate({ |
| | | ...param, |
| | | recordList: list |
| | | }).then(res => { |
| | | this.isLoading = false |
| | | Message.success('提交成功') |
| | | this.$emit('success') |
| | | this.close() |
| | | }, () => { |
| | | this.isLoading = false |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | | changeSel() { |
| | | |
| | | initData() { |
| | | getStoreList({ capacity: 9999, page: 1, model: {} }).then(res => { |
| | | this.storeList = res.records || [] |
| | | }) |
| | | }, |
| | | changeSel(val) { |
| | | const list = val |
| | | list.forEach(item => { |
| | | if(this.list.indexOf(item.id) === -1){ |
| | | item.materialId = item.id |
| | | item.stock = null |
| | | this.list.push(item) |
| | | } |
| | | }) |
| | | }, |
| | | handleDel(val) { |
| | | const index = val.$index |
| | | this.list.splice(index, 1) |
| | | |
| | | |
| | | }, |
| | | handleOpenMaterial() { |
| | | this.isShowSel = true |
| | | this.$nextTick(() => { |
| | | this.$refs.AssetSelRef.isShowModal = true |
| | | this.$refs.AssetSelRef.isOut = true |
| | | this.$refs.AssetSelRef.getList() |
| | | console.log('-----'); |
| | | |
| | | }) |
| | | }, |
| | | close() { |