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 () => {
|
||||
state.loading = true;
|
||||
try {
|
||||
@@ -1645,12 +1668,7 @@ const InventoryView = {
|
||||
} else {
|
||||
state.form = {};
|
||||
if (type === 'stockIn' || type === 'stockOut') {
|
||||
if (!state.products.length) {
|
||||
await loadProducts();
|
||||
}
|
||||
if (!state.warehouses.length) {
|
||||
await loadWarehouses();
|
||||
}
|
||||
await ensureStockBaseData();
|
||||
state.form = {
|
||||
product_id: state.products[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">
|
||||
<label class="form-label">产品 *</label>
|
||||
<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">
|
||||
{{ product.sku }} - {{ product.name }}(ID: {{ product.id }})
|
||||
</option>
|
||||
@@ -2367,6 +2386,7 @@ const InventoryView = {
|
||||
<div class="form-group">
|
||||
<label class="form-label">仓库 *</label>
|
||||
<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">
|
||||
{{ warehouse.name }}{{ warehouse.code ? ' (' + warehouse.code + ')' : '' }}{{ warehouse.is_default ? ' [默认]' : '' }}(ID: {{ warehouse.id }})
|
||||
</option>
|
||||
@@ -2386,7 +2406,7 @@ const InventoryView = {
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<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>
|
||||
</form>
|
||||
|
||||
@@ -2395,6 +2415,7 @@ const InventoryView = {
|
||||
<div class="form-group">
|
||||
<label class="form-label">产品 *</label>
|
||||
<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">
|
||||
{{ product.sku }} - {{ product.name }}(ID: {{ product.id }})
|
||||
</option>
|
||||
@@ -2403,6 +2424,7 @@ const InventoryView = {
|
||||
<div class="form-group">
|
||||
<label class="form-label">仓库 *</label>
|
||||
<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">
|
||||
{{ warehouse.name }}{{ warehouse.code ? ' (' + warehouse.code + ')' : '' }}{{ warehouse.is_default ? ' [默认]' : '' }}(ID: {{ warehouse.id }})
|
||||
</option>
|
||||
@@ -2422,7 +2444,7 @@ const InventoryView = {
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<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>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user