feat: 🚀 合并测试

This commit is contained in:
2025-07-15 10:47:50 +08:00
parent fcfc0c8768
commit a16c8c0fe4
29 changed files with 225 additions and 124 deletions

52
package-lock.json generated
View File

@@ -26,7 +26,7 @@
"lodash-es": "^4.17.21",
"mitt": "^3.0.0",
"nprogress": "^0.2.0",
"pinia": "^2.1.3",
"pinia": "^2.2.4",
"pinia-plugin-persistedstate": "^3.1.0",
"print-js": "^1.6.0",
"qs": "^6.11.2",
@@ -3526,9 +3526,9 @@
}
},
"node_modules/@vue/devtools-api": {
"version": "6.5.0",
"resolved": "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-6.5.0.tgz",
"integrity": "sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q=="
"version": "6.6.4",
"resolved": "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-6.6.4.tgz",
"integrity": "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g=="
},
"node_modules/@vue/reactivity": {
"version": "3.3.4",
@@ -9873,12 +9873,15 @@
}
},
"node_modules/pinia": {
"version": "2.1.3",
"resolved": "https://registry.npmmirror.com/pinia/-/pinia-2.1.3.tgz",
"integrity": "sha512-XNA/z/ye4P5rU1pieVmh0g/hSuDO98/a5UC8oSP0DNdvt6YtetJNHTrXwpwsQuflkGT34qKxAEcp7lSxXNjf/A==",
"version": "2.2.4",
"resolved": "https://registry.npmmirror.com/pinia/-/pinia-2.2.4.tgz",
"integrity": "sha512-K7ZhpMY9iJ9ShTC0cR2+PnxdQRuwVIsXDO/WIEV/RnMC/vmSoKDTKW/exNQYPI+4ij10UjXqdNiEHwn47McANQ==",
"dependencies": {
"@vue/devtools-api": "^6.5.0",
"vue-demi": ">=0.14.5"
"@vue/devtools-api": "^6.6.3",
"vue-demi": "^0.14.10"
},
"funding": {
"url": "https://github.com/sponsors/posva"
},
"peerDependencies": {
"@vue/composition-api": "^1.4.0",
@@ -9903,9 +9906,9 @@
}
},
"node_modules/pinia/node_modules/vue-demi": {
"version": "0.14.5",
"resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.14.5.tgz",
"integrity": "sha512-o9NUVpl/YlsGJ7t+xuqJKx8EBGf1quRhCiT6D/J0pfwmk9zUwYkC7yrF4SZCe6fETvSM3UNL2edcbYrSyc4QHA==",
"version": "0.14.10",
"resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.14.10.tgz",
"integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==",
"hasInstallScript": true,
"bin": {
"vue-demi-fix": "bin/vue-demi-fix.js",
@@ -9914,6 +9917,9 @@
"engines": {
"node": ">=12"
},
"funding": {
"url": "https://github.com/sponsors/antfu"
},
"peerDependencies": {
"@vue/composition-api": "^1.0.0-rc.1",
"vue": "^3.0.0-0 || ^2.6.0"
@@ -17213,9 +17219,9 @@
}
},
"@vue/devtools-api": {
"version": "6.5.0",
"resolved": "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-6.5.0.tgz",
"integrity": "sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q=="
"version": "6.6.4",
"resolved": "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-6.6.4.tgz",
"integrity": "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g=="
},
"@vue/reactivity": {
"version": "3.3.4",
@@ -22253,18 +22259,18 @@
"dev": true
},
"pinia": {
"version": "2.1.3",
"resolved": "https://registry.npmmirror.com/pinia/-/pinia-2.1.3.tgz",
"integrity": "sha512-XNA/z/ye4P5rU1pieVmh0g/hSuDO98/a5UC8oSP0DNdvt6YtetJNHTrXwpwsQuflkGT34qKxAEcp7lSxXNjf/A==",
"version": "2.2.4",
"resolved": "https://registry.npmmirror.com/pinia/-/pinia-2.2.4.tgz",
"integrity": "sha512-K7ZhpMY9iJ9ShTC0cR2+PnxdQRuwVIsXDO/WIEV/RnMC/vmSoKDTKW/exNQYPI+4ij10UjXqdNiEHwn47McANQ==",
"requires": {
"@vue/devtools-api": "^6.5.0",
"vue-demi": ">=0.14.5"
"@vue/devtools-api": "^6.6.3",
"vue-demi": "^0.14.10"
},
"dependencies": {
"vue-demi": {
"version": "0.14.5",
"resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.14.5.tgz",
"integrity": "sha512-o9NUVpl/YlsGJ7t+xuqJKx8EBGf1quRhCiT6D/J0pfwmk9zUwYkC7yrF4SZCe6fETvSM3UNL2edcbYrSyc4QHA==",
"version": "0.14.10",
"resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.14.10.tgz",
"integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==",
"requires": {}
}
}

View File

@@ -38,7 +38,7 @@
"lodash-es": "^4.17.21",
"mitt": "^3.0.0",
"nprogress": "^0.2.0",
"pinia": "^2.1.3",
"pinia": "^2.2.4",
"pinia-plugin-persistedstate": "^3.1.0",
"print-js": "^1.6.0",
"qs": "^6.11.2",

View File

@@ -19,7 +19,6 @@ export const getDetailsApi = (id: any) => {
export const getTaskDetailsApi = (params: any) => {
return http.post<any>(`OutStockTask/GetInfoByNo`, params);
};
//修改出库箱信息
export const getEditBoxInfoApi = (params: Record<string, any>) => {
return http.post<any>(`OutStock/EditBoxInfo`, params);

View File

@@ -18,3 +18,7 @@ export const getDetailsApi = (id: any) => {
export const getTaskDetailsApi = (id: any) => {
return http.get<any>(`InStockTask/GetInfo/${id}`);
};
//同步成功
export const getInStockSyncSuccessApi = (params: Record<string, any>) => {
return http.post<ResPage<any>>(`InStock/SyncSuccess`, params);
};

View File

@@ -0,0 +1,18 @@
import http from "@/api";
//发货通知单详情 SalOutStockOrder/GetInfo
export const getNoticerDetailsApi = (id: any) => {
return http.get<any>(`DeliveryNoticeOrder/GetInfo/${id}`);
};
//发货通知单列表
export const getNoticeListApi = (params: Record<string, any>) => {
return http.post<any>(`DeliveryNoticeOrder/GetList`, params);
};
//发货通知单自定义条件
export const getNoticeDictionaryApi = () => {
return http.get<any>(`Dictionary/deliverynotice`);
};
//getNoticeStatusApi
//发货通知单据类型
export const getNoticeStatusApi = () => {
return http.get<any>(`DeliveryNoticeOrder/GetStatus`);
};

29
src/components.d.ts vendored
View File

@@ -7,6 +7,14 @@ export {}
declare module 'vue' {
export interface GlobalComponents {
403: typeof import('./components/ErrorMessage/403.vue')['default']
404: typeof import('./components/ErrorMessage/404.vue')['default']
500: typeof import('./components/ErrorMessage/500.vue')['default']
Add: typeof import('./components/DetailsBtns/components/Add.vue')['default']
ColSetting: typeof import('./components/ProTable/components/ColSetting.vue')['default']
Del: typeof import('./components/ListBtns/components/Del.vue')['default']
DetailsBtns: typeof import('./components/DetailsBtns/index.vue')['default']
DetailsSearch: typeof import('./components/DetailsSearch/index.vue')['default']
ElAside: typeof import('element-plus/es')['ElAside']
ElAutocomplete: typeof import('element-plus/es')['ElAutocomplete']
ElBreadcrumb: typeof import('element-plus/es')['ElBreadcrumb']
@@ -39,6 +47,11 @@ declare module 'vue' {
ElTabs: typeof import('element-plus/es')['ElTabs']
ElTag: typeof import('element-plus/es')['ElTag']
ElTooltip: typeof import('element-plus/es')['ElTooltip']
Export: typeof import('./components/ListBtns/components/Export.vue')['default']
ExprotSelect: typeof import('./components/ListBtns/components/ExprotSelect.vue')['default']
Generate: typeof import('./components/DetailsBtns/components/Generate.vue')['default']
Grid: typeof import('./components/Grid/index.vue')['default']
GridItem: typeof import('./components/Grid/components/GridItem.vue')['default']
IEpArrowDown: typeof import('~icons/ep/arrow-down')['default']
IEpCircleClose: typeof import('~icons/ep/circle-close')['default']
IEpFolderDelete: typeof import('~icons/ep/folder-delete')['default']
@@ -47,8 +60,24 @@ declare module 'vue' {
IEpRemove: typeof import('~icons/ep/remove')['default']
IEpSearch: typeof import('~icons/ep/search')['default']
IEpSwitchButton: typeof import('~icons/ep/switch-button')['default']
ImportExcel: typeof import('./components/ImportExcel/index.vue')['default']
ListBtns: typeof import('./components/ListBtns/index.vue')['default']
ListResultDig: typeof import('./components/ListResultDig/index.vue')['default']
Loading: typeof import('./components/Loading/index.vue')['default']
Merge: typeof import('./components/ListBtns/components/Merge.vue')['default']
NoToVoid: typeof import('./components/ListBtns/components/noToVoid.vue')['default']
Pagination: typeof import('./components/ProTable/components/Pagination.vue')['default']
Print: typeof import('./components/DetailsBtns/components/Print.vue')['default']
ProTable: typeof import('./components/ProTable/index.vue')['default']
Refresh: typeof import('./components/ListBtns/components/Refresh.vue')['default']
Retransmission: typeof import('./components/ListBtns/components/Retransmission.vue')['default']
RouterLink: typeof import('vue-router')['RouterLink']
RouterView: typeof import('vue-router')['RouterView']
Search: typeof import('./components/Search/index.vue')['default']
Submit: typeof import('./components/DetailsBtns/components/Submit.vue')['default']
Switch: typeof import('./components/DetailsBtns/components/Switch.vue')['default']
Synchronous: typeof import('./components/ListBtns/components/Synchronous.vue')['default']
TableColumn: typeof import('./components/ProTable/components/TableColumn.vue')['default']
ToVoid: typeof import('./components/ListBtns/components/ToVoid.vue')['default']
}
}

View File

@@ -90,6 +90,7 @@
flex: 1;
flex-direction: column;
width: 100%;
min-width: 1280px;
height: 100%;
// table-search 表格搜索样式

View File

@@ -40,10 +40,6 @@
</template>
<script setup lang="ts" name="outboundOrderList">
import ListBtns from "@/components/ListBtns/index.vue";
import Search from "@/components/Search/index.vue";
import ProTable from "@/components/ProTable/index.vue";
import { cloneDeep } from "lodash-es";
import { RULEFORM, FORMDATA, COLUMNS } from "./constant/list/index";
import { getOutStockListApi } from "@/api/modules/deliveryAndOutbound";

View File

@@ -68,6 +68,13 @@ export const FORMDATA: any[] = [
type: "input",
disabled: false,
label: "序列号:"
},
{
prop: "inStock",
placeholder: "请输入调用仓库",
type: "input",
disabled: false,
label: "调入仓库:"
}
];
@@ -87,5 +94,6 @@ export const RULEFORM: any = {
ids: [],
serialNumbers: "",
boxBillNos: "",
orgId: null // 组织ID
orgId: null, // 组织ID
inStock: "" //调入仓库
};

View File

@@ -1,5 +1,5 @@
// import { STATUS } from "@/constant";
// import { RenderScope } from "@/components/ProTable/interface";
import { RenderScope } from "@/components/ProTable/interface";
// 销售订单 表格配置项
export const COLUMNS = [
@@ -89,6 +89,12 @@ export const COLUMNS = [
prop: "realityQty",
width: "120"
},
{
align: "left",
label: "调入仓库",
prop: "inStock",
width: "120"
},
{
align: "left",
label: "出库开始时间",
@@ -123,10 +129,10 @@ export const COLUMNS = [
align: "left",
label: "是否作废",
prop: "isRepeal",
width: "120"
// render: (scope: RenderScope<any>): VNode | string | any => {
// return scope.row.isRepeal ? "是" : "否";
// }
width: "120",
render: (scope: RenderScope<any>): VNode | string | any => {
return scope.row.isRepeal ? "是" : "否";
}
},
{
align: "left",

View File

@@ -100,7 +100,6 @@ import { useMsg } from "@/hooks/useMsg";
import { numberDecimalSeparatorRexg5 } from "@/utils/rexg/index";
import { useAuthStore } from "@/stores/modules/auth";
const authStore = useAuthStore();
console.log(authStore, "============authStore=============");
let labelWidth = "107px";
const tableRef = ref<any>(null);
@@ -125,7 +124,6 @@ const getDetails = async (billNo: any) => {
if (!billNo) {
return false;
}
console.log("12323");
const result = await getTaskDetailsApi({
billNo,
pageSize: datas.pageSize,

View File

@@ -30,10 +30,6 @@
</template>
<script setup lang="ts" name="outboundTaskList">
import ListBtns from "@/components/ListBtns/index.vue";
import Search from "@/components/Search/index.vue";
import ProTable from "@/components/ProTable/index.vue";
import { cloneDeep } from "lodash-es";
import { RULEFORM, FORMDATA, COLUMNS } from "./constant/list/index";
import { getOutStockTaskListApi } from "@/api/modules/deliveryAndOutbound";
@@ -59,7 +55,7 @@ initSearch(datas);
* @param type {string} 按钮类型
* @param result {Object} 操作结果
*/
//result?: Record<string, any>
const handleParentCallback = () => {
datas.ruleForm = cloneDeep(RULEFORM);
proTable!.value.getTableList(datas.initParam);

View File

@@ -42,9 +42,6 @@
</template>
<script setup lang="ts">
import Search from "@/components/Search/index.vue";
import ProTable from "@/components/ProTable/index.vue";
import { ref, reactive } from "vue";
import { getListApi, getStatusApi } from "@/api/modules/exportList";

View File

@@ -23,10 +23,6 @@
</template>
<script setup lang="ts" name="boxModificationsList">
import ListBtns from "@/components/ListBtns/index.vue";
import Search from "@/components/Search/index.vue";
import ProTable from "@/components/ProTable/index.vue";
import { cloneDeep } from "lodash-es";
import { RULEFORM, FORMDATA, COLUMNS } from "./constant/list/index";
import { getChangeBoxRecordListApi } from "@/api/modules/inOtherLibraries";

View File

@@ -33,12 +33,6 @@ export const FORMDATA: any[] = [
placeholder: "请选择操作人",
type: "input",
label: "操作人:"
},
{
prop: "materialNumber",
placeholder: "请输入物料名称/规格型号/编码",
type: "input",
label: "物料:"
}
];

View File

@@ -24,10 +24,6 @@
</template>
<script setup lang="ts" name="inboundOutboundRollbackList">
import ListBtns from "@/components/ListBtns/index.vue";
import Search from "@/components/Search/index.vue";
import ProTable from "@/components/ProTable/index.vue";
import { cloneDeep } from "lodash-es";
import { useSetSearchData, useSearchStockCodeInfoArray } from "@/hooks/useSearch";
import { RULEFORM, FORMDATA, COLUMNS } from "./constant/list/index";

View File

@@ -18,10 +18,6 @@
</template>
<script setup lang="ts" name="movingBoxesList">
import ListBtns from "@/components/ListBtns/index.vue";
import Search from "@/components/Search/index.vue";
import ProTable from "@/components/ProTable/index.vue";
import { cloneDeep } from "lodash-es";
import { RULEFORM, FORMDATA, COLUMNS } from "./constant/list/index";
import { getmovingBoxesListApi } from "@/api/modules/inOtherLibraries";

View File

@@ -23,10 +23,6 @@
</template>
<script setup lang="ts" name="inventoryList">
import ListBtns from "@/components/ListBtns/index.vue";
import Search from "@/components/Search/index.vue";
import ProTable from "@/components/ProTable/index.vue";
import { cloneDeep } from "lodash-es";
import { RULEFORM, FORMDATA, COLUMNS } from "./constant/list/index";
import { getTakeStockListApi } from "@/api/modules/inventory";

View File

@@ -1,5 +1,5 @@
// import { STATUS } from "@/constant";
// import { RenderScope } from "@/components/ProTable/interface";
import { RenderScope } from "@/components/ProTable/interface";
// 销售订单 表格配置项
export const COLUMNS = [
@@ -129,10 +129,10 @@ export const COLUMNS = [
align: "left",
label: "是否作废",
prop: "isRepeal",
width: "120"
// render: (scope: RenderScope<any>): VNode | string | any => {
// return scope.row.isRepeal ? "是" : "否";
// }
width: "120",
render: (scope: RenderScope<any>): VNode | string | any => {
return scope.row.isRepeal ? "是" : "否";
}
},
{
align: "left",

View File

@@ -70,7 +70,6 @@ const getDetails = async (id: any) => {
datas.ruleForm = data;
}
};
getDetails($route.query.id);
//动态计算表格高度
const handleResize = () => {

View File

@@ -29,9 +29,6 @@
</div>
</template>
<script setup lang="ts" name="ofInboundInstructionsList">
import ListBtns from "@/components/ListBtns/index.vue";
import Search from "@/components/Search/index.vue";
import ProTable from "@/components/ProTable/index.vue";
import { cloneDeep } from "lodash-es";
import { RULEFORM, FORMDATA, COLUMNS } from "./constant/list/index";
import { initSearch } from "./init/index";

View File

@@ -25,36 +25,65 @@
{{ scope.row.billNo }}
</a>
</template>
<!-- successSync -->
<!-- 只有采购入库单才显示同步状态 -->
<template #successSync="scope">
<a @click="handleSuccessSync(scope.row)" :class="scope.row.successSync == '失败' ? 'break-word to-detail1' : ''">
{{ scope.row.successSync }}
<a
@click="handleSuccessSync(scope.row)"
:class="scope.row.successSync == '失败' && scope.row.type == '采购入库' ? 'break-word to-detail1' : ''"
>
{{ scope.row.type == "采购入库" ? scope.row.successSync : "--" }}
</a>
</template>
</ProTable>
<!-- 同步成功操作弹窗 -->
<el-dialog v-model="datas.isSynchronous" title="修改同步状态" width="500" align-center @close="handleDiaLog">
<span style="font-size: 16px; color: red">确定入库数据已同步金蝶系统, 请输入金蝶入库单号</span>
<div>
<div style="display: flex; padding: 10px">
<div style="flex: 1; text-align: left">入库单号</div>
<div style="flex: 1; padding-left: 20px">来源单号</div>
<div style="flex: 1; padding-left: 20px; text-align: left">
<span style="padding-right: 3px; color: red">*</span>金蝶入库单号
</div>
</div>
<div style="max-height: 200px; overflow: auto">
<div v-for="item in datas.successSyncList" :key="item.id" style="display: flex; padding: 0 10px 10px">
<el-input v-model="item.billNo" disabled style="flex: 1; padding-right: 20px" />
<el-input v-model="item.sourceBillNo" disabled style="flex: 1; padding-right: 20px" />
<el-input v-model="item.erpBillNo" style="flex: 1" :maxlength="20" />
</div>
</div>
</div>
<template #footer>
<div class="dialog-footer">
<el-button @click="datas.isSynchronous = false">取消</el-button>
<el-button type="primary" @click="handleSynchronousCommit"> 确认 </el-button>
</div>
</template>
</el-dialog>
</div>
</template>
<script setup lang="ts" name="warehouseReceiptList">
import ListBtns from "@/components/ListBtns/index.vue";
import Search from "@/components/Search/index.vue";
import ProTable from "@/components/ProTable/index.vue";
import { cloneDeep } from "lodash-es";
import { RULEFORM, FORMDATA, COLUMNS } from "./constant/list/index";
import { getInStockListApi } from "@/api/modules/receiptAndWarehousing";
import { getInStockListApi, getInStockSyncSuccessApi } from "@/api/modules/receiptAndWarehousing";
import { useRouter } from "vue-router";
import { initSearch } from "./init/index";
import { useSearchInfoArray, useSetSearchData } from "@/hooks/useSearch";
import { ElMessageBox } from "element-plus";
import { useMsg } from "@/hooks/useMsg";
const proTable = ref<any>(null);
// 数据源
const datas = reactive({
const datas: any = reactive<any>({
exportList: cloneDeep(RULEFORM),
columns: COLUMNS, //列表配置项
initParam: cloneDeep(RULEFORM), // 初始化搜索条件|重置搜索条件
ruleForm: cloneDeep(RULEFORM), // 搜索条件
formData: FORMDATA //搜索配置项
formData: FORMDATA, //搜索配置项
isSynchronous: false, //用于控制同步成功弹窗
successSyncList: [] //同步成功弹窗表格数据
});
//选中表格的行
let selectionList = ref([]);
@@ -67,11 +96,24 @@ const $router = useRouter();
* @param type {string} 按钮类型
* @param result {Object} 操作结果
*/
//result?: Record<string, any>
//按钮回调
const handleParentCallback = () => {
const handleParentCallback = (params: Record<string, any>) => {
const { type } = params;
if (type === "Synchronous") {
selectionList.value.forEach((item: any) => {
datas.successSyncList.push({
id: item.id,
billNo: item.billNo,
sourceBillNo: item.sourceBillNo,
materialNumber: item.materialNumber,
erpBillNo: ""
});
});
datas.isSynchronous = true;
} else {
datas.ruleForm = cloneDeep(RULEFORM);
proTable!.value.getTableList(datas.initParam);
}
};
//搜索
const handleSearch = () => {
@@ -100,7 +142,44 @@ const handleSuccessSync = (row: any) => {
});
}
};
//同步成功按钮弹窗确认事件
const handleSynchronousCommit = async () => {
let isErpBillNo = datas.successSyncList.some((item: any) => {
return !item.erpBillNo;
});
if (isErpBillNo) {
useMsg("warning", "金蝶入库单号不能为空 ! ");
return;
}
let params: any = [];
datas.successSyncList.forEach((item: any) => {
params.push({
id: item.id,
sourceBillNo: item.sourceBillNo,
materialNumber: item.materialNumber,
erpBillNo: item.erpBillNo
});
});
const result = await getInStockSyncSuccessApi(params);
const { isSuccess, message } = result;
if (result.status === 200) {
// const { isSuccess, message } = result;
if (isSuccess) {
useMsg("success", "数据同步成功 !");
datas.isSynchronous = false;
datas.successSyncList = [];
proTable!.value.getTableList(datas.initParam);
} else {
useMsg("error", message);
}
} else {
useMsg("error", message);
}
};
//同步成功弹窗关闭(清空数据)
const handleDiaLog = () => {
datas.successSyncList = [];
};
//跳转到详情
const handleToDetail = (row: any) => {
$router.push({
@@ -134,4 +213,14 @@ const handleRemoteMehod = (params: any) => {
color: red;
cursor: pointer;
}
:deep(.el-dialog__body) {
padding: 10px;
font-size: 14px;
/* color: red; */
text-align: center;
}
:deep(.el-dialog__title) {
font-weight: bold;
}
</style>

View File

@@ -30,10 +30,6 @@
</template>
<script setup lang="ts" name="boxStorage">
import ListBtns from "@/components/ListBtns/index.vue";
import Search from "@/components/Search/index.vue";
import ProTable from "@/components/ProTable/index.vue";
import { cloneDeep } from "lodash-es";
import { RULEFORM, FORMDATA, COLUMNS } from "./constant/list/index";
import { getBoxListApi } from "@/api/modules/reportForm";

View File

@@ -57,31 +57,34 @@ export const COLUMNS = [
{
align: "left",
label: "库存量",
prop: "beforeQty",
width: "240"
prop: "beforeQty"
},
{
align: "left",
label: "1级分类",
prop: "fProductLines1FName",
width: "180"
prop: "beforeQty",
width: "120"
// fixed: true
},
{
align: "left",
label: "2级分类",
prop: "fProductCATs1FName",
width: "180"
prop: "beforeQty",
width: "120"
// fixed: true
},
{
align: "left",
label: "3级分类",
prop: "fMaterialGroupFName",
width: "180"
prop: "beforeQty",
width: "120"
// fixed: true
},
{
align: "left",
label: "SPU",
prop: "f_Product",
width: "240"
prop: "beforeQty",
width: "160"
// fixed: true
}
];

View File

@@ -18,10 +18,6 @@
</template>
<script setup lang="ts" name="finishedProductIndex">
import ListBtns from "@/components/ListBtns/index.vue";
import Search from "@/components/Search/index.vue";
import ProTable from "@/components/ProTable/index.vue";
import { cloneDeep } from "lodash-es";
import { RULEFORM, FORMDATA, COLUMNS } from "./constant/list/index";
import { getProductInventoryListApi } from "@/api/modules/finishedProduct";

View File

@@ -25,9 +25,6 @@
</template>
<script setup lang="ts" name="immediately">
import ListBtns from "@/components/ListBtns/index.vue";
import Search from "@/components/Search/index.vue";
import ProTable from "@/components/ProTable/index.vue";
import { useValidateInput } from "@/hooks/useValidateInput";
import { useSetSearchData, useSearchStockCodeInfoArray } from "@/hooks/useSearch";
import { cloneDeep } from "lodash-es";

View File

@@ -18,10 +18,6 @@
</template>
<script setup lang="ts" name="material">
import ListBtns from "@/components/ListBtns/index.vue";
import Search from "@/components/Search/index.vue";
import ProTable from "@/components/ProTable/index.vue";
import { cloneDeep } from "lodash-es";
import { RULEFORM, FORMDATA, COLUMNS } from "./constant/list/index";
import { getInOutistApi } from "@/api/modules/reportForm";

View File

@@ -30,10 +30,6 @@
</template>
<script setup lang="ts" name="boxMark">
import ListBtns from "@/components/ListBtns/index.vue";
import Search from "@/components/Search/index.vue";
import ProTable from "@/components/ProTable/index.vue";
import { cloneDeep } from "lodash-es";
import { RULEFORM, FORMDATA, COLUMNS } from "./constant/list/index";
import { getBoxMarkListApi } from "@/api/modules/boxMark";

View File

@@ -24,10 +24,6 @@
</template>
<script setup lang="ts" name="subscriptionIndex">
import ListBtns from "@/components/ListBtns/index.vue";
import Search from "@/components/Search/index.vue";
import ProTable from "@/components/ProTable/index.vue";
import { cloneDeep } from "lodash-es";
import { RULEFORM, FORMDATA, COLUMNS } from "./constant/list/index";
import { getSubscriptionListApi } from "@/api/modules/subscription";