x
This commit is contained in:
+30
-8
@@ -1531,6 +1531,29 @@ const InventoryView = {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const ensureStockBaseData = async () => {
|
||||||
|
if (!state.products.length) {
|
||||||
|
await loadProducts();
|
||||||
|
}
|
||||||
|
if (!state.warehouses.length) {
|
||||||
|
await loadWarehouses();
|
||||||
|
}
|
||||||
|
if (!state.warehouses.length) {
|
||||||
|
try {
|
||||||
|
await apiRequest('/api/warehouses', {
|
||||||
|
method: 'POST',
|
||||||
|
body: JSON.stringify({
|
||||||
|
name: '默认仓库'
|
||||||
|
})
|
||||||
|
});
|
||||||
|
await loadWarehouses();
|
||||||
|
addNotification('已自动创建默认仓库', 'success');
|
||||||
|
} catch (e) {
|
||||||
|
handleApiError(e, '自动创建默认仓库');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
const loadSuppliers = async () => {
|
const loadSuppliers = async () => {
|
||||||
state.loading = true;
|
state.loading = true;
|
||||||
try {
|
try {
|
||||||
@@ -1645,12 +1668,7 @@ const InventoryView = {
|
|||||||
} else {
|
} else {
|
||||||
state.form = {};
|
state.form = {};
|
||||||
if (type === 'stockIn' || type === 'stockOut') {
|
if (type === 'stockIn' || type === 'stockOut') {
|
||||||
if (!state.products.length) {
|
await ensureStockBaseData();
|
||||||
await loadProducts();
|
|
||||||
}
|
|
||||||
if (!state.warehouses.length) {
|
|
||||||
await loadWarehouses();
|
|
||||||
}
|
|
||||||
state.form = {
|
state.form = {
|
||||||
product_id: state.products[0]?.id || null,
|
product_id: state.products[0]?.id || null,
|
||||||
warehouse_id: state.warehouses.find(w => w.is_default)?.id || state.warehouses[0]?.id || null,
|
warehouse_id: state.warehouses.find(w => w.is_default)?.id || state.warehouses[0]?.id || null,
|
||||||
@@ -2359,6 +2377,7 @@ const InventoryView = {
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="form-label">产品 *</label>
|
<label class="form-label">产品 *</label>
|
||||||
<select v-model.number="state.form.product_id" class="form-input" required>
|
<select v-model.number="state.form.product_id" class="form-input" required>
|
||||||
|
<option v-if="!state.products.length" :value="null" disabled>暂无产品,请先新增产品</option>
|
||||||
<option v-for="product in state.products" :key="'stockin-product-' + product.id" :value="product.id">
|
<option v-for="product in state.products" :key="'stockin-product-' + product.id" :value="product.id">
|
||||||
{{ product.sku }} - {{ product.name }}(ID: {{ product.id }})
|
{{ product.sku }} - {{ product.name }}(ID: {{ product.id }})
|
||||||
</option>
|
</option>
|
||||||
@@ -2367,6 +2386,7 @@ const InventoryView = {
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="form-label">仓库 *</label>
|
<label class="form-label">仓库 *</label>
|
||||||
<select v-model.number="state.form.warehouse_id" class="form-input" required>
|
<select v-model.number="state.form.warehouse_id" class="form-input" required>
|
||||||
|
<option v-if="!state.warehouses.length" :value="null" disabled>暂无仓库,系统将自动创建默认仓库</option>
|
||||||
<option v-for="warehouse in state.warehouses" :key="'stockin-warehouse-' + warehouse.id" :value="warehouse.id">
|
<option v-for="warehouse in state.warehouses" :key="'stockin-warehouse-' + warehouse.id" :value="warehouse.id">
|
||||||
{{ warehouse.name }}{{ warehouse.code ? ' (' + warehouse.code + ')' : '' }}{{ warehouse.is_default ? ' [默认]' : '' }}(ID: {{ warehouse.id }})
|
{{ warehouse.name }}{{ warehouse.code ? ' (' + warehouse.code + ')' : '' }}{{ warehouse.is_default ? ' [默认]' : '' }}(ID: {{ warehouse.id }})
|
||||||
</option>
|
</option>
|
||||||
@@ -2386,7 +2406,7 @@ const InventoryView = {
|
|||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button type="button" class="btn btn-secondary" @click="closeModal">取消</button>
|
<button type="button" class="btn btn-secondary" @click="closeModal">取消</button>
|
||||||
<button type="submit" class="btn btn-primary">确认入库</button>
|
<button type="submit" class="btn btn-primary" :disabled="!state.form.product_id || !state.form.warehouse_id">确认入库</button>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
@@ -2395,6 +2415,7 @@ const InventoryView = {
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="form-label">产品 *</label>
|
<label class="form-label">产品 *</label>
|
||||||
<select v-model.number="state.form.product_id" class="form-input" required>
|
<select v-model.number="state.form.product_id" class="form-input" required>
|
||||||
|
<option v-if="!state.products.length" :value="null" disabled>暂无产品,请先新增产品</option>
|
||||||
<option v-for="product in state.products" :key="'stockout-product-' + product.id" :value="product.id">
|
<option v-for="product in state.products" :key="'stockout-product-' + product.id" :value="product.id">
|
||||||
{{ product.sku }} - {{ product.name }}(ID: {{ product.id }})
|
{{ product.sku }} - {{ product.name }}(ID: {{ product.id }})
|
||||||
</option>
|
</option>
|
||||||
@@ -2403,6 +2424,7 @@ const InventoryView = {
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="form-label">仓库 *</label>
|
<label class="form-label">仓库 *</label>
|
||||||
<select v-model.number="state.form.warehouse_id" class="form-input" required>
|
<select v-model.number="state.form.warehouse_id" class="form-input" required>
|
||||||
|
<option v-if="!state.warehouses.length" :value="null" disabled>暂无仓库,系统将自动创建默认仓库</option>
|
||||||
<option v-for="warehouse in state.warehouses" :key="'stockout-warehouse-' + warehouse.id" :value="warehouse.id">
|
<option v-for="warehouse in state.warehouses" :key="'stockout-warehouse-' + warehouse.id" :value="warehouse.id">
|
||||||
{{ warehouse.name }}{{ warehouse.code ? ' (' + warehouse.code + ')' : '' }}{{ warehouse.is_default ? ' [默认]' : '' }}(ID: {{ warehouse.id }})
|
{{ warehouse.name }}{{ warehouse.code ? ' (' + warehouse.code + ')' : '' }}{{ warehouse.is_default ? ' [默认]' : '' }}(ID: {{ warehouse.id }})
|
||||||
</option>
|
</option>
|
||||||
@@ -2422,7 +2444,7 @@ const InventoryView = {
|
|||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button type="button" class="btn btn-secondary" @click="closeModal">取消</button>
|
<button type="button" class="btn btn-secondary" @click="closeModal">取消</button>
|
||||||
<button type="submit" class="btn btn-primary">确认出库</button>
|
<button type="submit" class="btn btn-primary" :disabled="!state.form.product_id || !state.form.warehouse_id">确认出库</button>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user