From 5243e9a144a7c2167efe9436592fb04c3f9f4e83 Mon Sep 17 00:00:00 2001
From: liukangdong <898885815@qq.com>
Date: 星期六, 08 二月 2025 17:49:47 +0800
Subject: [PATCH] ll
---
admin/src/views/stock/components/InEdit.vue | 119 ++++++++++++++++++++++++++++++++++++++++-------------------
1 files changed, 81 insertions(+), 38 deletions(-)
diff --git a/admin/src/views/stock/components/InEdit.vue b/admin/src/views/stock/components/InEdit.vue
index 3bc1a30..71441e5 100644
--- a/admin/src/views/stock/components/InEdit.vue
+++ b/admin/src/views/stock/components/InEdit.vue
@@ -1,27 +1,27 @@
<template>
- <GlobalWindow title="鏂板缓鍑哄簱鍗�" :visible.sync="isShowModal" :confirm-working="isLoading" width="900px" @close="close"
+ <GlobalWindow title="鏂板缓鍏ュ簱鍗�" :visible.sync="isShowModal" :confirm-working="isLoading" width="1000px" @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-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"
- placeholder="璇烽�夋嫨鍑哄簱鏃ユ湡"></el-date-picker>
+ <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>
@@ -32,18 +32,19 @@
<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>
+ <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="100px">
+ <template v-slot="{ row }">
+ <el-input oninput="value=value.replace(/[^\d.]/g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.').replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3').replace(/^\./g, '')" 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>
@@ -57,52 +58,94 @@
<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'
+import dayjs from 'dayjs'
export default {
name: 'OperaCategoryWindow',
components: { GlobalWindow, AssetSel },
data() {
return {
// 琛ㄥ崟鏁版嵁
- param: {},
+ param: {
+ createUserName: this.$store.state.userInfo.realname || this.$store.state.userInfo.username,
+ creator: this.$store.state.userInfo.id,
+ inOut: 0
+ },
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 == 0),
dataList: [],
}
},
created() {
+ this.initData()
+ console.log(this.$store.state.userInfo)
},
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() {
+ this.$set(this.param, 'doneDate', dayjs().format('YYYY-MM-DD'))
+ getStoreList({ capacity: 9999, page: 1, model: {status: 0} }).then(res => {
+ this.storeList = res.records || []
+ })
+ },
+ changeSel(val) {
+ const list = val
+ list.forEach(item => {
+ const index = this.list.findIndex(i => i.id == item.id)
+ if(index == -1){
+ item.materialId = item.id
+ item.multifile = null
+ item.createDate = 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.getList()
})
},
close() {
--
Gitblit v1.9.3