5 Commits
main ... dev

Author SHA1 Message Date
3bc63f076b feat: 🚀 是否作废 2025-07-16 09:33:11 +08:00
7f660e72f7 feat: 🚀 修复lv1-3-sup 2025-07-15 15:58:51 +08:00
de7f71339b feat: 🚀 优化采购入库||生产入库同步金蝶文字显示判断条件 2025-07-15 14:00:39 +08:00
3ad540ed62 feat: 🚀 新旧代码合并 2025-07-15 11:11:52 +08:00
a16c8c0fe4 feat: 🚀 合并测试 2025-07-15 10:47:50 +08:00
25 changed files with 188 additions and 61 deletions

52
package-lock.json generated
View File

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

View File

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

View File

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

View File

@@ -18,3 +18,7 @@ export const getDetailsApi = (id: any) => {
export const getTaskDetailsApi = (id: any) => { export const getTaskDetailsApi = (id: any) => {
return http.get<any>(`InStockTask/GetInfo/${id}`); 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`);
};

1
src/components.d.ts vendored
View File

@@ -49,6 +49,5 @@ declare module 'vue' {
IEpSwitchButton: typeof import('~icons/ep/switch-button')['default'] IEpSwitchButton: typeof import('~icons/ep/switch-button')['default']
RouterLink: typeof import('vue-router')['RouterLink'] RouterLink: typeof import('vue-router')['RouterLink']
RouterView: typeof import('vue-router')['RouterView'] RouterView: typeof import('vue-router')['RouterView']
Synchronous: typeof import('./components/ListBtns/components/Synchronous.vue')['default']
} }
} }

View File

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

View File

@@ -43,7 +43,6 @@
import ListBtns from "@/components/ListBtns/index.vue"; import ListBtns from "@/components/ListBtns/index.vue";
import Search from "@/components/Search/index.vue"; import Search from "@/components/Search/index.vue";
import ProTable from "@/components/ProTable/index.vue"; import ProTable from "@/components/ProTable/index.vue";
import { cloneDeep } from "lodash-es"; import { cloneDeep } from "lodash-es";
import { RULEFORM, FORMDATA, COLUMNS } from "./constant/list/index"; import { RULEFORM, FORMDATA, COLUMNS } from "./constant/list/index";
import { getOutStockListApi } from "@/api/modules/deliveryAndOutbound"; import { getOutStockListApi } from "@/api/modules/deliveryAndOutbound";

View File

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

View File

@@ -1,4 +1,4 @@
// import { STATUS } from "@/constant"; // // import { STATUS } from "@/constant";
// import { RenderScope } from "@/components/ProTable/interface"; // import { RenderScope } from "@/components/ProTable/interface";
// 销售订单 表格配置项 // 销售订单 表格配置项
@@ -89,6 +89,12 @@ export const COLUMNS = [
prop: "realityQty", prop: "realityQty",
width: "120" width: "120"
}, },
{
align: "left",
label: "调入仓库",
prop: "inStock",
width: "120"
},
{ {
align: "left", align: "left",
label: "出库开始时间", label: "出库开始时间",

View File

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

View File

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

View File

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

View File

@@ -26,7 +26,6 @@
import ListBtns from "@/components/ListBtns/index.vue"; import ListBtns from "@/components/ListBtns/index.vue";
import Search from "@/components/Search/index.vue"; import Search from "@/components/Search/index.vue";
import ProTable from "@/components/ProTable/index.vue"; import ProTable from "@/components/ProTable/index.vue";
import { cloneDeep } from "lodash-es"; import { cloneDeep } from "lodash-es";
import { RULEFORM, FORMDATA, COLUMNS } from "./constant/list/index"; import { RULEFORM, FORMDATA, COLUMNS } from "./constant/list/index";
import { getChangeBoxRecordListApi } from "@/api/modules/inOtherLibraries"; import { getChangeBoxRecordListApi } from "@/api/modules/inOtherLibraries";

View File

@@ -49,5 +49,6 @@ export const RULEFORM: any = {
subStockCode: "", subStockCode: "",
type: "", type: "",
createBeginDate: "", createBeginDate: "",
createEndDate: "" createEndDate: "",
materialNumber: ""
}; };

View File

@@ -27,7 +27,6 @@
import ListBtns from "@/components/ListBtns/index.vue"; import ListBtns from "@/components/ListBtns/index.vue";
import Search from "@/components/Search/index.vue"; import Search from "@/components/Search/index.vue";
import ProTable from "@/components/ProTable/index.vue"; import ProTable from "@/components/ProTable/index.vue";
import { cloneDeep } from "lodash-es"; import { cloneDeep } from "lodash-es";
import { useSetSearchData, useSearchStockCodeInfoArray } from "@/hooks/useSearch"; import { useSetSearchData, useSearchStockCodeInfoArray } from "@/hooks/useSearch";
import { RULEFORM, FORMDATA, COLUMNS } from "./constant/list/index"; import { RULEFORM, FORMDATA, COLUMNS } from "./constant/list/index";

View File

@@ -21,7 +21,6 @@
import ListBtns from "@/components/ListBtns/index.vue"; import ListBtns from "@/components/ListBtns/index.vue";
import Search from "@/components/Search/index.vue"; import Search from "@/components/Search/index.vue";
import ProTable from "@/components/ProTable/index.vue"; import ProTable from "@/components/ProTable/index.vue";
import { cloneDeep } from "lodash-es"; import { cloneDeep } from "lodash-es";
import { RULEFORM, FORMDATA, COLUMNS } from "./constant/list/index"; import { RULEFORM, FORMDATA, COLUMNS } from "./constant/list/index";
import { getmovingBoxesListApi } from "@/api/modules/inOtherLibraries"; import { getmovingBoxesListApi } from "@/api/modules/inOtherLibraries";

View File

@@ -26,7 +26,6 @@
import ListBtns from "@/components/ListBtns/index.vue"; import ListBtns from "@/components/ListBtns/index.vue";
import Search from "@/components/Search/index.vue"; import Search from "@/components/Search/index.vue";
import ProTable from "@/components/ProTable/index.vue"; import ProTable from "@/components/ProTable/index.vue";
import { cloneDeep } from "lodash-es"; import { cloneDeep } from "lodash-es";
import { RULEFORM, FORMDATA, COLUMNS } from "./constant/list/index"; import { RULEFORM, FORMDATA, COLUMNS } from "./constant/list/index";
import { getTakeStockListApi } from "@/api/modules/inventory"; import { getTakeStockListApi } from "@/api/modules/inventory";

View File

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

View File

@@ -25,13 +25,47 @@
{{ scope.row.billNo }} {{ scope.row.billNo }}
</a> </a>
</template> </template>
<!-- successSync --> <!-- 只有采购入库单才显示同步状态 -->
<template #successSync="scope"> <template #successSync="scope">
<a @click="handleSuccessSync(scope.row)" :class="scope.row.successSync == '失败' ? 'break-word to-detail1' : ''"> <a
{{ scope.row.successSync }} @click="handleSuccessSync(scope.row)"
:class="
scope.row.successSync == '失败' && (scope.row.type == '采购入库' || scope.row.type == '生产入库')
? 'break-word to-detail1'
: ''
"
>
{{ scope.row.type == "采购入库" || scope.row.type == "生产入库" ? scope.row.successSync : "--" }}
</a> </a>
</template> </template>
</ProTable> </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> </div>
</template> </template>
@@ -39,22 +73,24 @@
import ListBtns from "@/components/ListBtns/index.vue"; import ListBtns from "@/components/ListBtns/index.vue";
import Search from "@/components/Search/index.vue"; import Search from "@/components/Search/index.vue";
import ProTable from "@/components/ProTable/index.vue"; import ProTable from "@/components/ProTable/index.vue";
import { cloneDeep } from "lodash-es"; import { cloneDeep } from "lodash-es";
import { RULEFORM, FORMDATA, COLUMNS } from "./constant/list/index"; 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 { useRouter } from "vue-router";
import { initSearch } from "./init/index"; import { initSearch } from "./init/index";
import { useSearchInfoArray, useSetSearchData } from "@/hooks/useSearch"; import { useSearchInfoArray, useSetSearchData } from "@/hooks/useSearch";
import { ElMessageBox } from "element-plus"; import { ElMessageBox } from "element-plus";
import { useMsg } from "@/hooks/useMsg";
const proTable = ref<any>(null); const proTable = ref<any>(null);
// 数据源 // 数据源
const datas = reactive({ const datas: any = reactive<any>({
exportList: cloneDeep(RULEFORM), exportList: cloneDeep(RULEFORM),
columns: COLUMNS, //列表配置项 columns: COLUMNS, //列表配置项
initParam: cloneDeep(RULEFORM), // 初始化搜索条件|重置搜索条件 initParam: cloneDeep(RULEFORM), // 初始化搜索条件|重置搜索条件
ruleForm: cloneDeep(RULEFORM), // 搜索条件 ruleForm: cloneDeep(RULEFORM), // 搜索条件
formData: FORMDATA //搜索配置项 formData: FORMDATA, //搜索配置项
isSynchronous: false, //用于控制同步成功弹窗
successSyncList: [] //同步成功弹窗表格数据
}); });
//选中表格的行 //选中表格的行
let selectionList = ref([]); let selectionList = ref([]);
@@ -67,11 +103,24 @@ const $router = useRouter();
* @param type {string} 按钮类型 * @param type {string} 按钮类型
* @param result {Object} 操作结果 * @param result {Object} 操作结果
*/ */
//result?: Record<string, any>
//按钮回调 //按钮回调
const handleParentCallback = () => { const handleParentCallback = (params: Record<string, any>) => {
datas.ruleForm = cloneDeep(RULEFORM); const { type } = params;
proTable!.value.getTableList(datas.initParam); 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 = () => { const handleSearch = () => {
@@ -100,7 +149,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) => { const handleToDetail = (row: any) => {
$router.push({ $router.push({
@@ -134,4 +220,14 @@ const handleRemoteMehod = (params: any) => {
color: red; color: red;
cursor: pointer; cursor: pointer;
} }
:deep(.el-dialog__body) {
padding: 10px;
font-size: 14px;
/* color: red; */
text-align: center;
}
:deep(.el-dialog__title) {
font-weight: bold;
}
</style> </style>

View File

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

View File

@@ -21,7 +21,6 @@
import ListBtns from "@/components/ListBtns/index.vue"; import ListBtns from "@/components/ListBtns/index.vue";
import Search from "@/components/Search/index.vue"; import Search from "@/components/Search/index.vue";
import ProTable from "@/components/ProTable/index.vue"; import ProTable from "@/components/ProTable/index.vue";
import { cloneDeep } from "lodash-es"; import { cloneDeep } from "lodash-es";
import { RULEFORM, FORMDATA, COLUMNS } from "./constant/list/index"; import { RULEFORM, FORMDATA, COLUMNS } from "./constant/list/index";
import { getProductInventoryListApi } from "@/api/modules/finishedProduct"; import { getProductInventoryListApi } from "@/api/modules/finishedProduct";

View File

@@ -21,7 +21,6 @@
import ListBtns from "@/components/ListBtns/index.vue"; import ListBtns from "@/components/ListBtns/index.vue";
import Search from "@/components/Search/index.vue"; import Search from "@/components/Search/index.vue";
import ProTable from "@/components/ProTable/index.vue"; import ProTable from "@/components/ProTable/index.vue";
import { cloneDeep } from "lodash-es"; import { cloneDeep } from "lodash-es";
import { RULEFORM, FORMDATA, COLUMNS } from "./constant/list/index"; import { RULEFORM, FORMDATA, COLUMNS } from "./constant/list/index";
import { getInOutistApi } from "@/api/modules/reportForm"; import { getInOutistApi } from "@/api/modules/reportForm";

View File

@@ -33,7 +33,6 @@
import ListBtns from "@/components/ListBtns/index.vue"; import ListBtns from "@/components/ListBtns/index.vue";
import Search from "@/components/Search/index.vue"; import Search from "@/components/Search/index.vue";
import ProTable from "@/components/ProTable/index.vue"; import ProTable from "@/components/ProTable/index.vue";
import { cloneDeep } from "lodash-es"; import { cloneDeep } from "lodash-es";
import { RULEFORM, FORMDATA, COLUMNS } from "./constant/list/index"; import { RULEFORM, FORMDATA, COLUMNS } from "./constant/list/index";
import { getBoxMarkListApi } from "@/api/modules/boxMark"; import { getBoxMarkListApi } from "@/api/modules/boxMark";

View File

@@ -27,7 +27,6 @@
import ListBtns from "@/components/ListBtns/index.vue"; import ListBtns from "@/components/ListBtns/index.vue";
import Search from "@/components/Search/index.vue"; import Search from "@/components/Search/index.vue";
import ProTable from "@/components/ProTable/index.vue"; import ProTable from "@/components/ProTable/index.vue";
import { cloneDeep } from "lodash-es"; import { cloneDeep } from "lodash-es";
import { RULEFORM, FORMDATA, COLUMNS } from "./constant/list/index"; import { RULEFORM, FORMDATA, COLUMNS } from "./constant/list/index";
import { getSubscriptionListApi } from "@/api/modules/subscription"; import { getSubscriptionListApi } from "@/api/modules/subscription";