Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| a16c8c0fe4 |
52
package-lock.json
generated
52
package-lock.json
generated
@@ -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": {}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
};
|
||||
|
||||
18
src/api/modules/warehouseSaleNotice.ts
Normal file
18
src/api/modules/warehouseSaleNotice.ts
Normal 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
29
src/components.d.ts
vendored
@@ -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']
|
||||
}
|
||||
}
|
||||
|
||||
@@ -90,6 +90,7 @@
|
||||
flex: 1;
|
||||
flex-direction: column;
|
||||
width: 100%;
|
||||
min-width: 1280px;
|
||||
height: 100%;
|
||||
|
||||
// table-search 表格搜索样式
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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: "" //调入仓库
|
||||
};
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -33,12 +33,6 @@ export const FORMDATA: any[] = [
|
||||
placeholder: "请选择操作人",
|
||||
type: "input",
|
||||
label: "操作人:"
|
||||
},
|
||||
{
|
||||
prop: "materialNumber",
|
||||
placeholder: "请输入物料名称/规格型号/编码",
|
||||
type: "input",
|
||||
label: "物料:"
|
||||
}
|
||||
];
|
||||
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -70,7 +70,6 @@ const getDetails = async (id: any) => {
|
||||
datas.ruleForm = data;
|
||||
}
|
||||
};
|
||||
getDetails($route.query.id);
|
||||
|
||||
//动态计算表格高度
|
||||
const handleResize = () => {
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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 = () => {
|
||||
datas.ruleForm = cloneDeep(RULEFORM);
|
||||
proTable!.value.getTableList(datas.initParam);
|
||||
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>
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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
|
||||
}
|
||||
];
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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";
|
||||
|
||||
Reference in New Issue
Block a user