Commit e90405ab by zhuzhequan

Merge branch 'dev_ware_in' into 'release'

Dev ware in

See merge request !151
parents ef266d5b 6f560892
...@@ -439,6 +439,21 @@ export function getBySkuApi( ...@@ -439,6 +439,21 @@ export function getBySkuApi(
}, },
) )
} }
export function getBySkuAndUserMarkApi(
warehouseId: number | string | undefined,
sku: string | null,
userMark: string | null | undefined,
) {
return axios.post<never, BaseRespData<InterskuList[]>>(
'factory/warehouseInRecord/getProductBySku',
{
warehouseId,
userMark,
sku,
},
)
}
export function getByWareHouseIdAndCodeApi( export function getByWareHouseIdAndCodeApi(
wareHouseId: number | string | undefined, wareHouseId: number | string | undefined,
code: string | null, code: string | null,
...@@ -702,6 +717,14 @@ export function scanBoxCodeApi(boxCode: string) { ...@@ -702,6 +717,14 @@ export function scanBoxCodeApi(boxCode: string) {
}, },
) )
} }
// 备货计划 盘点
export function getLocalFactoryList() {
return axios.get<never, BaseRespData<never>>(
'dbDiyUser/getLocalFactoryList',
)
}
// 备货计划 打印箱贴 // 备货计划 打印箱贴
export function printBarcodeApi(data: { id: number, dataVersion: number }[]) { export function printBarcodeApi(data: { id: number, dataVersion: number }[]) {
return axios.post<never, BaseRespData<never[]>>( return axios.post<never, BaseRespData<never[]>>(
......
...@@ -61,6 +61,8 @@ export interface InterWarehouseBase { ...@@ -61,6 +61,8 @@ export interface InterWarehouseBase {
export interface InterWarehousePage extends InterWarehouseBase { } export interface InterWarehousePage extends InterWarehouseBase { }
// 子表列表ts // 子表列表ts
export interface InterWarehouseDetail extends InterWarehouseBase { export interface InterWarehouseDetail extends InterWarehouseBase {
currencyName?:string
currencyCode?:string
productList: InterProductList[] productList: InterProductList[]
} }
export interface ExportInWarehouseInfo extends warehouseSearchForm { export interface ExportInWarehouseInfo extends warehouseSearchForm {
...@@ -88,7 +90,7 @@ export interface InterProductList { ...@@ -88,7 +90,7 @@ export interface InterProductList {
remark?: string | null remark?: string | null
skuImage?: string skuImage?: string
skuName?: string skuName?: string
costPrice?: number | null costPrice?: number | null | undefined
totalPrice?: number | null totalPrice?: number | null
updateTime?: string updateTime?: string
warehouseSku?: string warehouseSku?: string
...@@ -102,7 +104,13 @@ export interface InterskuList { ...@@ -102,7 +104,13 @@ export interface InterskuList {
id?: number id?: number
productId?: number productId?: number
sku?: string sku?: string
userMark?: string
customerId?: string
customerName?: string
skuName?: string skuName?: string
productName?: string
skuImage?: string
costPrice?: undefined | null | number
image?: string image?: string
factoryPrice?: number | null factoryPrice?: number | null
productNo?: string | null //货号 productNo?: string | null //货号
......
...@@ -554,7 +554,7 @@ const renderItemBox = (bool: boolean) => { ...@@ -554,7 +554,7 @@ const renderItemBox = (bool: boolean) => {
parts.length > 3 && parts[3].startsWith('CNPSC') parts.length > 3 && parts[3].startsWith('CNPSC')
? parts[3] ? parts[3]
: parts.length > 1 : parts.length > 1
? parts[1] ? currentCode
: parts[0] : parts[0]
} }
......
...@@ -6226,7 +6226,7 @@ const onUpdateCustomsDeclarationInfo = () => { ...@@ -6226,7 +6226,7 @@ const onUpdateCustomsDeclarationInfo = () => {
.goods-item { .goods-item {
display: grid; display: grid;
// grid-template-columns: 100px 1fr minmax(150px, 1fr) 150px; // grid-template-columns: 100px 1fr minmax(150px, 1fr) 150px;
grid-template-columns: 100px 254px 1fr minmax(150px, 1fr) 150px 200px; grid-template-columns: 100px 254px 1fr minmax(150px, 1fr) 220px 200px;
gap: 15px; gap: 15px;
.goods-item-img { .goods-item-img {
......
...@@ -272,6 +272,7 @@ ...@@ -272,6 +272,7 @@
header-align="center" header-align="center"
align="center" align="center"
></ElTableColumn> ></ElTableColumn>
<ElTableColumn <ElTableColumn
v-if="nodeCode === 'PENDING_SUBMIT'" v-if="nodeCode === 'PENDING_SUBMIT'"
width="100" width="100"
...@@ -386,6 +387,13 @@ ...@@ -386,6 +387,13 @@
prop="remark" prop="remark"
/> />
<ElTableColumn <ElTableColumn
label="所属客户"
show-overflow-tooltip
prop="userMark"
header-align="center"
align="center"
></ElTableColumn>
<ElTableColumn
show-overflow-tooltip show-overflow-tooltip
align="center" align="center"
label="创建时间" label="创建时间"
...@@ -604,6 +612,12 @@ ...@@ -604,6 +612,12 @@
<ElTableColumn <ElTableColumn
show-overflow-tooltip show-overflow-tooltip
align="center" align="center"
label="所属客户"
prop="userMark"
/>
<ElTableColumn
show-overflow-tooltip
align="center"
width="240" width="240"
label="备注" label="备注"
prop="remark" prop="remark"
...@@ -624,7 +638,7 @@ ...@@ -624,7 +638,7 @@
clearable clearable
size="small" size="small"
></el-input> ></el-input>
<el-popover placement="top-start" width="1000" trigger="click"> <el-popover placement="top-start" width="1200" trigger="click">
<div v-if="skuData.length > 0" style="height: 50vh"> <div v-if="skuData.length > 0" style="height: 50vh">
<ElTable size="small" :data="skuData" height="100%" border> <ElTable size="small" :data="skuData" height="100%" border>
<ElTableColumn <ElTableColumn
...@@ -687,6 +701,12 @@ ...@@ -687,6 +701,12 @@
prop="locationCode" prop="locationCode"
/> />
<ElTableColumn <ElTableColumn
show-overflow-tooltip
align="center"
label="所属客户"
prop="userMark"
/>
<ElTableColumn
width="80" width="80"
align="center" align="center"
header-align="center" header-align="center"
...@@ -1266,6 +1286,11 @@ const handleLocalImport = async ({ ...@@ -1266,6 +1286,11 @@ const handleLocalImport = async ({
return { return {
skuImage: skuItem.image, skuImage: skuItem.image,
customerId: skuItem.customerId,
userMark: skuItem.userMark,
customerName: skuItem.customerName,
currencyName: skuItem.currencyName,
currencyCode: skuItem.currencyCode,
warehouseSku: skuItem.warehouseSku, warehouseSku: skuItem.warehouseSku,
skuName: skuItem.skuName, skuName: skuItem.skuName,
productNo: skuItem.productNumber, productNo: skuItem.productNumber,
...@@ -1386,8 +1411,11 @@ const skudblclick = (val: InterskuList) => { ...@@ -1386,8 +1411,11 @@ const skudblclick = (val: InterskuList) => {
// 使用可选链和空值合并运算符处理可能的null值 // 使用可选链和空值合并运算符处理可能的null值
const { const {
locationCode = '', locationCode = '',
customerId = '',
customerName = '',
price = null, price = null,
productNo = '', productNo = '',
userMark = '',
warehouseSku = '', warehouseSku = '',
skuName = '', skuName = '',
image = '', image = '',
...@@ -1413,8 +1441,11 @@ const skudblclick = (val: InterskuList) => { ...@@ -1413,8 +1441,11 @@ const skudblclick = (val: InterskuList) => {
{ {
skuImage: image, skuImage: image,
warehouseSku, warehouseSku,
customerId,
customerName,
skuName, skuName,
productNo, productNo,
userMark,
locationCode: locationCode ?? '', // 确保空值处理 locationCode: locationCode ?? '', // 确保空值处理
locationId: locationId ?? null, // 确保空值处理 locationId: locationId ?? null, // 确保空值处理
costPrice: price, costPrice: price,
...@@ -1750,6 +1781,11 @@ const submitPurchase = async () => { ...@@ -1750,6 +1781,11 @@ const submitPurchase = async () => {
const mergedProductList = filteredSkusList.map((skuItem) => { const mergedProductList = filteredSkusList.map((skuItem) => {
return { return {
skuImage: skuItem.image, skuImage: skuItem.image,
customerId: skuItem.customerId,
userMark: skuItem.userMark,
customerName: skuItem.customerName,
currencyName: skuItem.currencyName,
currencyCode: skuItem.currencyCode,
warehouseSku: skuItem.warehouseSku, warehouseSku: skuItem.warehouseSku,
skuName: skuItem.skuName, skuName: skuItem.skuName,
productNo: skuItem.productNumber, productNo: skuItem.productNumber,
......
...@@ -12,7 +12,7 @@ import { ...@@ -12,7 +12,7 @@ import {
WarehouseWarning, WarehouseWarning,
factoryWarehouseInventoryPrint, factoryWarehouseInventoryPrint,
exportWarehouseInfo, exportWarehouseInfo,
loactionData, loactionData, getLocalFactoryList,
} from '@/api/warehouse.ts' } from '@/api/warehouse.ts'
import { AnyObject } from '@/types/api/warehouse' import { AnyObject } from '@/types/api/warehouse'
import { ref, computed } from 'vue' import { ref, computed } from 'vue'
...@@ -20,12 +20,18 @@ import SplitDiv from '@/components/splitDiv/splitDiv.vue' ...@@ -20,12 +20,18 @@ import SplitDiv from '@/components/splitDiv/splitDiv.vue'
import { filePath } from '@/api/axios.ts' import { filePath } from '@/api/axios.ts'
import { useEnterKeyTrigger } from '@/utils/hooks/useEnterKeyTrigger.ts' import { useEnterKeyTrigger } from '@/utils/hooks/useEnterKeyTrigger.ts'
import { getInventoryLowerLimitApi } from '@/api/externalAuth' import { getInventoryLowerLimitApi } from '@/api/externalAuth'
interface UserMark{
userId: number | string
userMark: string
userName: string
}
import { LocationInfoGetAll } from '@/api/common' import { LocationInfoGetAll } from '@/api/common'
const searchForm = ref({ const searchForm = ref({
warehouseId: '', warehouseId: '',
inventoryStart: '', inventoryStart: '',
inventoryEnd: '', inventoryEnd: '',
userMark: '',
productNo: '', productNo: '',
skuName: '', skuName: '',
warehouseSku: '', warehouseSku: '',
...@@ -38,6 +44,7 @@ const searchForm = ref({ ...@@ -38,6 +44,7 @@ const searchForm = ref({
occupyInventoryStart: '', occupyInventoryStart: '',
}) })
const warehouseList = ref<warehouseInfo[]>([]) const warehouseList = ref<warehouseInfo[]>([])
const userMarkList = ref<UserMark[]>([])
const logList = ref<LogListData[]>([]) const logList = ref<LogListData[]>([])
const selections = ref<WarehouseWarning[]>([]) const selections = ref<WarehouseWarning[]>([])
const leftData = ref<WarehouseWarning[]>([]) const leftData = ref<WarehouseWarning[]>([])
...@@ -56,6 +63,13 @@ const isSameWarehouse = computed(() => { ...@@ -56,6 +63,13 @@ const isSameWarehouse = computed(() => {
const modifyLocationDialog = ref(false) const modifyLocationDialog = ref(false)
const modifyProductNoDialog = ref(false) const modifyProductNoDialog = ref(false)
const modifyCustomSkuDialog = ref(false) const modifyCustomSkuDialog = ref(false)
const getUserMark = async () => {
const {data} = await getLocalFactoryList()
userMarkList.value = [
...[{userMark:'九猫商品', userId: 'JMP',userName:''}],
...data
]
}
/** 修改库位 */ /** 修改库位 */
const locationForm = ref({ const locationForm = ref({
...@@ -351,6 +365,7 @@ const getInventoryLowerLimit = async () => { ...@@ -351,6 +365,7 @@ const getInventoryLowerLimit = async () => {
} }
onMounted(async () => { onMounted(async () => {
getData() getData()
getUserMark()
getWarehouse() getWarehouse()
getInventoryLowerLimit() getInventoryLowerLimit()
}) })
...@@ -387,6 +402,7 @@ onMounted(async () => { ...@@ -387,6 +402,7 @@ onMounted(async () => {
prop="productNo" prop="productNo"
label="款号 " label="款号 "
></el-table-column> ></el-table-column>
<el-table-column align="center" prop="number" label="打印数量"> <el-table-column align="center" prop="number" label="打印数量">
<template #default="{ row }"> <template #default="{ row }">
<el-input <el-input
...@@ -407,10 +423,11 @@ onMounted(async () => { ...@@ -407,10 +423,11 @@ onMounted(async () => {
</el-dialog> </el-dialog>
<el-card> <el-card>
<el-form <el-form
ref="searchFormRef"
class="search-form" class="search-form"
inline inline
label-width="80px"
:model="searchForm" :model="searchForm"
ref="searchFormRef"
> >
<el-form-item label="仓库"> <el-form-item label="仓库">
<el-select <el-select
...@@ -418,7 +435,7 @@ onMounted(async () => { ...@@ -418,7 +435,7 @@ onMounted(async () => {
clearable clearable
filterable filterable
placeholder="请输入仓库" placeholder="请输入仓库"
style="width: 140px" style="width: 175px"
> >
<el-option <el-option
v-for="item in warehouseList" v-for="item in warehouseList"
...@@ -497,8 +514,21 @@ onMounted(async () => { ...@@ -497,8 +514,21 @@ onMounted(async () => {
clearable clearable
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item label="所属客户">
<el-select
v-model="searchForm.userMark"
clearable
filterable
placeholder="请输入所属客户"
style="width: 140px"
>
<el-option
v-for="user in userMarkList" :key="user.userMark" :label="user.userMark" :value="user.userMark==='九猫商品'?'JMP':user.userMark"
></el-option>
</el-select>
</el-form-item>
<el-form-item style="margin-top: 5px"> <el-form-item style="margin-top: 5px">
<el-button type="primary" @click="getData" ref="searchBtnRef" <el-button ref="searchBtnRef" type="primary" @click="getData"
>查询</el-button >查询</el-button
> >
</el-form-item> </el-form-item>
...@@ -618,6 +648,11 @@ onMounted(async () => { ...@@ -618,6 +648,11 @@ onMounted(async () => {
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
align="center" align="center"
prop="userMark"
label="所属客户"
></el-table-column>
<el-table-column
align="center"
prop="unit" prop="unit"
label="单位" label="单位"
width="60" width="60"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment